diff --git a/.eslintrc.json b/.eslintrc.json index 1cd20dac..e9e0092c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,40 +1,187 @@ { "root": true, "ignorePatterns": [ - "projects/**/*" + "projects/**/*", + "rtl.js", + "/routes/**/*.js", + "/controllers/**/*.js", + "/src/prebuild.js" ], "overrides": [ { "files": [ "*.ts" ], + "parser": "@typescript-eslint/parser", "parserOptions": { - "project": [ - "tsconfig.json", - "e2e/tsconfig.json" - ], + "ecmaVersion": 2020, + "sourceType": "module", + "project": "./tsconfig.json", "createDefaultProgram": true }, + "plugins": ["deprecation"], "extends": [ + "plugin:@angular-eslint/all", "plugin:@angular-eslint/recommended", + "plugin:@angular-eslint/recommended--extra", "plugin:@angular-eslint/template/process-inline-templates" ], "rules": { - "@angular-eslint/component-selector": [ - "error", - { - "prefix": "rtl", - "style": "kebab-case", - "type": "element" - } - ], - "@angular-eslint/directive-selector": [ - "error", - { - "style": "camelCase", - "type": "attribute" - } - ] + "deprecation/deprecation": "error", + "@angular-eslint/use-injectable-provided-in": "off", + "@angular-eslint/prefer-on-push-component-change-detection": "off", + "@angular-eslint/use-component-view-encapsulation": "off", + "@angular-eslint/sort-ngmodule-metadata-arrays": "off", + "@angular-eslint/arrow-body-style": "off", + "@angular-eslint/component-selector": ["error", { "prefix": "rtl", "style": "kebab-case", "type": "element" }], + "@angular-eslint/directive-selector": ["error", { "style": "camelCase", "type": "attribute" }], + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/member-delimiter-style": ["error", { "multiline": { "delimiter": "semi", "requireLast": true}, "singleline": { "delimiter": "comma", "requireLast": false }}], + "quotes": ["error", "single"], + "comma-dangle": ["error", "never"], + "comma-spacing": ["error", { "before": false, "after": true }], + "computed-property-spacing": ["error", "never", { "enforceForClassMembers": true }], + "array-bracket-spacing": ["error", "never", { "objectsInArrays": false }], + "space-in-parens": ["error", "never"], + "eol-last": ["error", "always"], + "array-bracket-newline": ["error", "consistent"], + "curly": "error", + "no-unused-expressions": "error", + "strict": "error", + "max-len": ["error", { "code": 430 }], + "new-parens": "error", + "no-multiple-empty-lines": "error", + "no-trailing-spaces": "error", + "quote-props": ["error", "as-needed"], + "space-before-function-paren": ["error", { "anonymous": "never", "asyncArrow": "always", "named": "never" }], + "semi": ["error", "always"], + "dot-location": "error", + "no-await-in-loop": "error", + "no-console": "error", + "no-loss-of-precision": "error", + "no-promise-executor-return": "error", + "no-template-curly-in-string": "error", + "no-unreachable-loop": "error", + "no-unsafe-optional-chaining": "error", + "no-useless-backreference": "error", + "require-atomic-updates": "error", + "array-callback-return": "error", + "block-scoped-var": "error", + "default-case": "error", + "default-case-last": "error", + "eqeqeq": "error", + "grouped-accessor-pairs": "error", + "guard-for-in": "error", + "no-alert": "error", + "no-caller": "error", + "no-constructor-return": "error", + "no-div-regex": "error", + "no-eq-null": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-floating-decimal": "error", + "no-implicit-globals": "error", + "no-implied-eval": "error", + "no-iterator": "error", + "no-labels": "error", + "no-lone-blocks": "error", + "no-loop-func": "error", + "no-multi-str": "error", + "no-new": "error", + "no-new-func": "error", + "no-multi-spaces": "error", + "no-new-wrappers": "error", + "no-nonoctal-decimal-escape": "error", + "no-octal-escape": "error", + "no-proto": "error", + "no-restricted-properties": "error", + "no-return-assign": "error", + "no-return-await": "error", + "no-script-url": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-throw-literal": "error", + "no-unmodified-loop-condition": "error", + "no-unused-labels": "error", + "no-useless-call": "error", + "no-useless-concat": "error", + "no-useless-return": "error", + "no-void": "error", + "no-warning-comments": "error", + "prefer-named-capture-group": "error", + "prefer-promise-reject-errors": "error", + "prefer-regex-literals": "error", + "vars-on-top": "error", + "wrap-iife": "error", + "yoda": "error", + "no-label-var": "error", + "no-restricted-globals": "error", + "no-undef-init": "error", + "no-undefined": "error", + "block-spacing": "error", + "brace-style": ["error", "1tbs", { "allowSingleLine": true }], + "comma-style": "error", + "func-call-spacing": "error", + "func-name-matching": "error", + "func-names": "error", + "id-match": "error", + "implicit-arrow-linebreak": "error", + "indent": ["error", 2, { "SwitchCase": 1, "MemberExpression": 1 }], + "keyword-spacing": ["error", { "before": true, "after": true, "overrides": { "this": { "before": false }}}], + "lines-around-comment": "error", + "max-depth": "error", + "max-nested-callbacks": "error", + "max-statements-per-line": ["error", { "max": 2 }], + "no-array-constructor": "error", + "no-bitwise": "error", + "no-continue": "error", + "no-mixed-operators": "error", + "no-multi-assign": "error", + "no-new-object": "error", + "no-restricted-syntax": "error", + "no-tabs": "error", + "no-unneeded-ternary": "error", + "no-whitespace-before-property": "error", + "nonblock-statement-body-position": "error", + "object-curly-newline": "error", + "object-curly-spacing": ["error", "always"], + "one-var-declaration-per-line": "error", + "operator-linebreak": ["error", "after"], + "padded-blocks": ["error", { "classes": "always", "blocks": "never", "switches": "never" }], + "padding-line-between-statements": "error", + "prefer-exponentiation-operator": "error", + "semi-spacing": "error", + "semi-style": "error", + "space-before-blocks": "error", + "space-infix-ops": "error", + "space-unary-ops": "error", + "spaced-comment": "error", + "switch-colon-spacing": "error", + "template-tag-spacing": "error", + "unicode-bom": "error", + "wrap-regex": "error", + "arrow-body-style": "error", + "arrow-parens": "error", + "arrow-spacing": "error", + "generator-star-spacing": "error", + "no-confusing-arrow": "error", + "no-duplicate-imports": "error", + "no-restricted-exports": "error", + "no-restricted-imports": "error", + "no-useless-computed-key": "error", + "no-useless-rename": "error", + "no-var": "error", + "prefer-arrow-callback": "error", + "prefer-const": "error", + "prefer-numeric-literals": "error", + "prefer-rest-params": "error", + "prefer-spread": "error", + "rest-spread-spacing": "error", + "symbol-description": "error", + "template-curly-spacing": "error", + "yield-star-spacing": "error" } }, { @@ -42,9 +189,21 @@ "*.html" ], "extends": [ + "plugin:@angular-eslint/template/all", "plugin:@angular-eslint/template/recommended" ], - "rules": {} + "rules": { + "@angular-eslint/template/accessibility-elements-content": "off", + "@angular-eslint/template/click-events-have-key-events": "off", + "@angular-eslint/template/conditional-complexity": "off", + "@angular-eslint/template/cyclomatic-complexity": "off", + "@angular-eslint/template/i18n": "off", + "@angular-eslint/template/no-autofocus": "off", + "@angular-eslint/template/no-call-expression": "off", + "@angular-eslint/template/no-positive-tabindex": "off", + "@angular-eslint/template/use-track-by-function": "off" + } } ] } +// https://eslint.org/docs/rules/ \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..41000baa --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "pwa-node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "env": { + "NODE_ENV": "development" + }, + "program": "${workspaceFolder}\\rtl.js" + } + ] +} \ No newline at end of file diff --git a/angular.json b/angular.json index 9b595d81..75db289f 100644 --- a/angular.json +++ b/angular.json @@ -116,18 +116,6 @@ "src/**/*.html" ] } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "RTLApp:serve" - }, - "configurations": { - "production": { - "devServerTarget": "RTLApp:serve:production" - } - } } } } diff --git a/angular/145.bd793f88eee8abcb2b20.js b/angular/145.bd793f88eee8abcb2b20.js new file mode 100644 index 00000000..5e6f9064 --- /dev/null +++ b/angular/145.bd793f88eee8abcb2b20.js @@ -0,0 +1 @@ +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[145],{2462:(t,e,n)=>{"use strict";n.r(e),n.d(e,{CLModule:()=>Id});var a=n(1511),s=n(6853),i=n(2865),o=n(1572),l=n(3722),r=n(5994);function c(t,e){1&t&&o._UZ(0,"mat-progress-bar",3)}let u=(()=>{class t{constructor(t){this.router=t,this.loading=!1,this.router.events.subscribe(t=>{switch(!0){case t instanceof s.OD:this.loading=!0;break;case t instanceof s.m2:case t instanceof s.gk:case t instanceof s.Q3:this.loading=!1}})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,c,1,0,"mat-progress-bar",1),o._UZ(2,"router-outlet",null,2),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",e.loading))},directives:[l.xw,l.yH,l.Wh,a.O5,s.lC,r.pW],styles:[""],data:{animation:[i.g]}}),t})();var d=n(9666),p=n(9568),h=n(8868),m=n(7810),g=n(5291),f=n(9421),x=n(9939),Z=n(3869),y=n(964),A=n(5573),T=n(1084),C=n(7592),w=n(7271),v=n(7439),S=n(8055),b=n(377),q=n(5980),_=n(3691);const F=function(t){return{backgroundColor:t}};function L(t,e){if(1&t&&o._UZ(0,"span",6),2&t){const t=o.oxw();o.Q6J("ngStyle",o.VKq(1,F,"#"+(null==t.information?null:t.information.color)))}}function U(t,e){if(1&t&&(o.TgZ(0,"div"),o.TgZ(1,"h4",1),o._uU(2,"Color"),o.qZA(),o.TgZ(3,"div",2),o._UZ(4,"span",7),o._uU(5),o.ALo(6,"uppercase"),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(4),o.Q6J("ngStyle",o.VKq(4,F,"#"+(null==t.information?null:t.information.color))),o.xp6(1),o.hij(" ",o.lcZ(6,2,null==t.information?null:t.information.color)," ")}}function R(t,e){if(1&t&&(o.TgZ(0,"span",2),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(t)}}let k=(()=>{class t{constructor(t){this.commonService=t,this.chains=[""]}ngOnChanges(){this.information&&this.information.chains&&this.information.chains.length>0&&(this.chains=[""],this.information.chains.forEach(t=>{this.chains.push(this.commonService.titleCase(t.chain)+" "+this.commonService.titleCase(t.network))}))}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[o.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div"),o.TgZ(2,"h4",1),o._uU(3,"Alias"),o.qZA(),o.TgZ(4,"div",2),o._uU(5),o.YNc(6,L,1,3,"span",3),o.qZA(),o.qZA(),o.YNc(7,U,7,6,"div",4),o.TgZ(8,"div"),o.TgZ(9,"h4",1),o._uU(10,"Implementation"),o.qZA(),o.TgZ(11,"div",2),o._uU(12),o.qZA(),o.qZA(),o.TgZ(13,"div"),o.TgZ(14,"h4",1),o._uU(15,"Chain"),o.qZA(),o.YNc(16,R,2,1,"span",5),o.qZA(),o.qZA()),2&t&&(o.xp6(5),o.hij(" ",null==e.information?null:e.information.alias," "),o.xp6(1),o.Q6J("ngIf",!e.showColorFieldSeparately),o.xp6(1),o.Q6J("ngIf",e.showColorFieldSeparately),o.xp6(5),o.Oqu(null!=e.information&&e.information.lnImplementation||null!=e.information&&e.information.version?(null==e.information?null:e.information.lnImplementation)+" "+(null==e.information?null:e.information.version):""),o.xp6(4),o.Q6J("ngForOf",e.chains))},directives:[l.xw,l.yH,l.Wh,a.O5,a.sg,a.PC,b.Zl],pipes:[a.gd],styles:[""]}),t})();function N(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div"),o.TgZ(2,"h4",3),o._uU(3,"Lightning"),o.qZA(),o.TgZ(4,"div",4),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",5),o.qZA(),o.TgZ(8,"div"),o.TgZ(9,"h4",3),o._uU(10,"On-chain"),o.qZA(),o.TgZ(11,"div",4),o._uU(12),o.ALo(13,"number"),o.qZA(),o._UZ(14,"mat-progress-bar",5),o.qZA(),o.TgZ(15,"div"),o.TgZ(16,"h4",3),o._uU(17,"Total"),o.qZA(),o.TgZ(18,"div",4),o._uU(19),o.ALo(20,"number"),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.hij("",o.lcZ(6,5,t.balances.lightning)," Sats"),o.xp6(2),o.s9C("value",t.balances.lightning/t.balances.total*100),o.xp6(5),o.hij("",o.lcZ(13,7,t.balances.onchain)," Sats"),o.xp6(2),o.s9C("value",t.balances.onchain/t.balances.total*100),o.xp6(5),o.hij("",o.lcZ(20,9,t.balances.total)," Sats")}}function I(t,e){if(1&t&&(o.TgZ(0,"div",6),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let O=(()=>{class t{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-balances-info"]],inputs:{balances:"balances",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,N,21,11,"div",0),o.YNc(1,I,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh,r.pW],pipes:[a.JJ],styles:[""]}),t})();var M=n(6283),E=n(6828),J=n(7679),D=n(7038);function Y(t,e){if(1&t&&(o.TgZ(0,"div",19),o.TgZ(1,"span",20),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",21),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",22),o._UZ(11,"fa-icon",23),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",24),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",25),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",t.alias||t.id),o.s9C("matTooltipDisabled",(t.alias||t.id).length<26),o.xp6(1),o.AsE("",o.Dn7(3,9,t.alias||t.id,0,24),"",(t.alias||t.id).length>25?"...":"",""),o.xp6(6),o.hij("",o.xi3(9,13,t.msatoshi_to_us/1e3||0,"1.0-0")," Sats"),o.xp6(3),o.Q6J("icon",n.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,16,t.balancedness||0),") "),o.xp6(5),o.hij("",o.xi3(18,18,t.msatoshi_to_them/1e3||0,"1.0-0")," Sats"),o.xp6(2),o.s9C("value",t.msatoshi_to_us&&t.msatoshi_to_us>0?+t.msatoshi_to_us/(+t.msatoshi_to_us+ +t.msatoshi_to_them)*100:0)}}function Q(t,e){if(1&t&&(o.TgZ(0,"div",17),o.YNc(1,Y,20,21,"div",18),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",t.allChannels)}}function P(t,e){if(1&t&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",7),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",9),o._UZ(11,"fa-icon",10),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",11),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",12),o.qZA(),o.TgZ(20,"div",13),o._UZ(21,"mat-divider",14),o.qZA(),o.TgZ(22,"div",15),o.YNc(23,Q,2,1,"div",16),o.qZA(),o.qZA()),2&t){const t=o.oxw(),e=o.MAs(2);o.xp6(8),o.hij("",o.xi3(9,7,(null==t.channelBalances?null:t.channelBalances.localBalance)||0,"1.0-0")," Sats"),o.xp6(3),o.Q6J("icon",t.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,10,(null==t.channelBalances?null:t.channelBalances.balancedness)||0),") "),o.xp6(5),o.hij("",o.xi3(18,12,(null==t.channelBalances?null:t.channelBalances.remoteBalance)||0,"1.0-0")," Sats"),o.xp6(2),o.s9C("value",null!=t.channelBalances&&t.channelBalances.localBalance&&(null==t.channelBalances?null:t.channelBalances.localBalance)>0?+(null==t.channelBalances?null:t.channelBalances.localBalance)/(+(null==t.channelBalances?null:t.channelBalances.localBalance)+ +(null==t.channelBalances?null:t.channelBalances.remoteBalance))*100:0),o.xp6(4),o.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}}function B(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",26),o._uU(1," No channels available. "),o.TgZ(2,"button",27),o.NdJ("click",function(){return o.CHM(t),o.oxw().goToChannels()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA()}}function H(t,e){if(1&t&&(o.TgZ(0,"div",28),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let z=(()=>{class t{constructor(t){this.router=t,this.faBalanceScale=g.DL8,this.faDumbbell=g.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/cl/connections")}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,P,24,15,"div",0),o.YNc(1,B,4,0,"ng-template",null,1,o.W1O),o.YNc(3,H,3,1,"ng-template",null,2,o.W1O)),2&t){const t=o.MAs(4);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,l.yH,M.bx,C.BN,E.gM,r.pW,J.d,D.$V,a.sg,q.lW],pipes:[a.JJ,a.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),t})();function G(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Total"),o.qZA(),o.TgZ(5,"div",5),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",3),o.TgZ(9,"div"),o.TgZ(10,"h4",4),o._uU(11,"Transactions"),o.qZA(),o.TgZ(12,"div",5),o._uU(13),o.ALo(14,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.hij("",o.lcZ(7,2,(null==t.fees?null:t.fees.feeCollected)/1e3)," Sats"),o.xp6(7),o.Oqu(o.lcZ(14,4,null==t.fees?null:t.fees.totalTxCount))}}function V(t,e){if(1&t&&(o.TgZ(0,"div",6),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let X=(()=>{class t{constructor(){this.totalFees=[{name:"Total",value:0}]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-fee-info"]],inputs:{fees:"fees",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,G,15,6,"div",0),o.YNc(1,V,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),t})();function W(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Active"),o.qZA(),o.TgZ(5,"div",5),o._UZ(6,"span",6),o._uU(7),o.ALo(8,"number"),o.qZA(),o.qZA(),o.TgZ(9,"div"),o.TgZ(10,"h4",4),o._uU(11,"Pending"),o.qZA(),o.TgZ(12,"div",5),o._UZ(13,"span",7),o._uU(14),o.ALo(15,"number"),o.qZA(),o.qZA(),o.TgZ(16,"div"),o.TgZ(17,"h4",4),o._uU(18,"Inactive"),o.qZA(),o.TgZ(19,"div",5),o._UZ(20,"span",8),o._uU(21),o.ALo(22,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(23,"div",3),o.TgZ(24,"div"),o.TgZ(25,"h4",4),o._uU(26,"Capacity"),o.qZA(),o.TgZ(27,"div",5),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.TgZ(30,"div"),o.TgZ(31,"h4",4),o._uU(32,"Capacity"),o.qZA(),o.TgZ(33,"div",5),o._uU(34),o.ALo(35,"number"),o.qZA(),o.qZA(),o.TgZ(36,"div"),o.TgZ(37,"h4",4),o._uU(38,"Capacity"),o.qZA(),o.TgZ(39,"div",5),o._uU(40),o.ALo(41,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(o.lcZ(8,6,(null==t.channelsStatus||null==t.channelsStatus.active?null:t.channelsStatus.active.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(15,8,(null==t.channelsStatus||null==t.channelsStatus.pending?null:t.channelsStatus.pending.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(22,10,(null==t.channelsStatus||null==t.channelsStatus.inactive?null:t.channelsStatus.inactive.channels)||0)),o.xp6(7),o.hij("",o.lcZ(29,12,(null==t.channelsStatus||null==t.channelsStatus.active?null:t.channelsStatus.active.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(35,14,(null==t.channelsStatus||null==t.channelsStatus.pending?null:t.channelsStatus.pending.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(41,16,(null==t.channelsStatus||null==t.channelsStatus.inactive?null:t.channelsStatus.inactive.capacity)||0)," Sats")}}function $(t,e){if(1&t&&(o.TgZ(0,"div",9),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let K=(()=>{class t{constructor(){this.channelsStatus={}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,W,42,18,"div",0),o.YNc(1,$,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),t})();function j(t,e){if(1&t&&(o.TgZ(0,"mat-hint",19),o.TgZ(1,"strong",20),o._uU(2,"Capacity: "),o.qZA(),o._uU(3),o.ALo(4,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(3),o.hij("",o.xi3(4,1,t.msatoshi_to_them/1e3||0,"1.0-0")," Sats")}}function tt(t,e){if(1&t&&(o.TgZ(0,"mat-hint",19),o.TgZ(1,"strong",20),o._uU(2,"Capacity: "),o.qZA(),o._uU(3),o.ALo(4,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(3),o.hij("",o.xi3(4,1,t.msatoshi_to_us/1e3||0,"1.0-0")," Sats")}}function et(t,e){if(1&t&&o._UZ(0,"mat-progress-bar",21),2&t){const t=o.oxw().$implicit,e=o.oxw(3);o.s9C("value",e.totalLiquidity>0?(+t.msatoshi_to_them/1e3||0)/e.totalLiquidity*100:0)}}function nt(t,e){if(1&t&&o._UZ(0,"mat-progress-bar",21),2&t){const t=o.oxw().$implicit,e=o.oxw(3);o.s9C("value",e.totalLiquidity>0?(+t.msatoshi_to_us/1e3||0)/e.totalLiquidity*100:0)}}function at(t,e){if(1&t&&(o.TgZ(0,"div",14),o.TgZ(1,"span",15),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",16),o.YNc(5,j,5,4,"mat-hint",17),o.YNc(6,tt,5,4,"mat-hint",17),o.qZA(),o.YNc(7,et,1,1,"mat-progress-bar",18),o.YNc(8,nt,1,1,"mat-progress-bar",18),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",t.alias||t.id),o.s9C("matTooltipDisabled",(t.alias||t.id).length<26),o.xp6(1),o.AsE("",o.Dn7(3,8,t.alias||t.id,0,24),"",(t.alias||t.id).length>25?"...":"",""),o.xp6(3),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction),o.xp6(1),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction)}}function st(t,e){if(1&t&&(o.TgZ(0,"div",12),o.YNc(1,at,9,12,"div",13),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",t.allChannels)}}const it=function(t,e,n){return{"mb-4":t,"mb-2":e,"mb-1":n}};function ot(t,e){if(1&t&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"mat-hint",6),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",7),o.qZA(),o.TgZ(8,"div",8),o._UZ(9,"mat-divider",9),o.qZA(),o.TgZ(10,"div",10),o.YNc(11,st,2,1,"div",11),o.qZA(),o.qZA()),2&t){const t=o.oxw(),e=o.MAs(2);o.Q6J("ngClass",o.kEZ(7,it,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM,t.screenSize===t.screenSizeEnum.MD,t.screenSize===t.screenSizeEnum.LG||t.screenSize===t.screenSizeEnum.XL)),o.xp6(5),o.hij("",o.xi3(6,4,t.totalLiquidity,"1.0-0")," Sats"),o.xp6(6),o.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}}function lt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",24),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).goToChannels()}),o._uU(1,"Open Channel"),o.qZA()}}function rt(t,e){if(1&t&&(o.TgZ(0,"div",22),o._uU(1," No channels available. "),o.YNc(2,lt,2,0,"button",23),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngIf","Out"===t.direction)}}function ct(t,e){if(1&t&&(o.TgZ(0,"div",25),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let ut=(()=>{class t{constructor(t,e){this.router=t,this.commonService=e,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}goToChannels(){this.router.navigateByUrl("/cl/connections")}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],["fxLayout","column","fxFlex.gt-sm","88","fxFlex","84","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","class","w-100",4,"ngIf","ngIfElse"],["fxLayout","column","fxFlex","100",1,"w-100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","100","fxLayoutAlign","start center","class","font-size-90 color-primary",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,ot,12,11,"div",0),o.YNc(1,rt,3,1,"ng-template",null,1,o.W1O),o.YNc(3,ct,3,1,"ng-template",null,2,o.W1O)),2&t){const t=o.MAs(4);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,l.yH,a.mk,b.oO,M.bx,r.pW,J.d,D.$V,a.sg,E.gM,q.lW],pipes:[a.JJ,a.OU],styles:[""]}),t})();var dt=n(5109),pt=n(3005),ht=n(2464),mt=n(7033),gt=n(4608),ft=n(6073),xt=n(6756),Zt=n(6880),yt=n(5095),At=n(4786),Tt=n(7521),Ct=n(1522);function wt(t,e){if(1&t&&(o.TgZ(0,"mat-option",26),o._uU(1),o.ALo(2,"titlecase"),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(o.lcZ(2,2,t))}}function vt(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.invoiceError)}}function St(t,e){if(1&t&&(o.TgZ(0,"div",27),o._UZ(1,"fa-icon",28),o.YNc(2,vt,2,1,"span",29),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.invoiceError)}}let bt=(()=>{class t{constructor(t,e,n,a,s,i){this.dialogRef=t,this.data=e,this.store=n,this.decimalPipe=a,this.commonService=s,this.actions=i,this.faExclamationTriangle=g.eHv,this.selNode={},this.description="",this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=f.IV,this.timeUnitEnum=f.Qk,this.timeUnits=f.LO,this.selTimeUnit=f.Qk.SECS,this.invoiceError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.information=t.information}),this.actions.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.qe||t.type===x.G0)).subscribe(t=>{t.type===x.G0&&this.dialogRef.close(),t.type===x.qe&&t.payload.status===f.Bn.ERROR&&"SaveNewInvoice"===t.payload.action&&(this.invoiceError=t.payload.message)})}onAddInvoice(t){this.invoiceError="",this.invoiceValue||(this.invoiceValue=0);let e=this.expiry?this.expiry:3600;this.selTimeUnit!==f.Qk.SECS&&(e=this.commonService.convertTime(this.expiry,this.selTimeUnit,f.Qk.SECS)),this.store.dispatch(new x.H1({label:"ulbl"+Math.random().toString(36).slice(2)+Date.now(),amount:1e3*this.invoiceValue,description:this.description,expiry:e,private:this.private}))}resetData(){this.description="",this.invoiceValue=null,this.private=!1,this.expiry=null,this.invoiceValueHint="",this.selTimeUnit=f.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe({next:t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,f.Xz.OTHER)+" "+t.unit},error:t=>{this.invoiceValueHint="Conversion Error: "+t}}))}onTimeUnitChange(t){this.expiry&&this.selTimeUnit!==t.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,t.value)),this.selTimeUnit=t.value}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(gt.WI),o.Y36(y.yh),o.Y36(a.JJ),o.Y36(T.v),o.Y36(A.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-create-invoices"]],decls:37,vars:17,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","start space-between","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","autoFocus","","placeholder","Description","tabindex","2","name","description",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","space-between start","fxFlex","100"],["fxFlex","40"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invoiceValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","30"],["matInput","","name","expiry","placeholder","Expiry","type","number","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fxFlex","26"],["tabindex","5","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","50","fxLayoutAlign","start center",1,"mt-2"],["tabindex","6","color","primary","matTooltip","Include routing hints for private channels","name","private",3,"ngModel","matTooltipPosition","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"]],template:function(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Create Invoice"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(t){return e.description=t}),o.qZA(),o.qZA(),o.TgZ(13,"div",11),o.TgZ(14,"mat-form-field",12),o.TgZ(15,"input",13),o.NdJ("ngModelChange",function(t){return e.invoiceValue=t})("keyup",function(){return e.onInvoiceValueChange()}),o.qZA(),o.TgZ(16,"span",14),o._uU(17," Sats "),o.qZA(),o.TgZ(18,"mat-hint"),o._uU(19),o.qZA(),o.qZA(),o.TgZ(20,"mat-form-field",15),o.TgZ(21,"input",16),o.NdJ("ngModelChange",function(t){return e.expiry=t}),o.qZA(),o.TgZ(22,"span",14),o._uU(23),o.ALo(24,"titlecase"),o.qZA(),o.qZA(),o.TgZ(25,"mat-form-field",17),o.TgZ(26,"mat-select",18),o.NdJ("selectionChange",function(t){return e.onTimeUnitChange(t)}),o.YNc(27,wt,3,4,"mat-option",19),o.qZA(),o.qZA(),o.qZA(),o.TgZ(28,"div",20),o.TgZ(29,"mat-slide-toggle",21),o.NdJ("ngModelChange",function(t){return e.private=t}),o._uU(30,"Private Routing Hints"),o.qZA(),o.qZA(),o.YNc(31,St,3,2,"div",22),o.TgZ(32,"div",23),o.TgZ(33,"button",24),o.NdJ("click",function(){return e.resetData()}),o._uU(34,"Clear Field"),o.qZA(),o.TgZ(35,"button",25),o.NdJ("click",function(){o.CHM(t);const n=o.MAs(10);return e.onAddInvoice(n)}),o._uU(36,"Create Invoice"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}2&t&&(o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",e.description),o.xp6(3),o.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),o.xp6(4),o.Oqu(e.invoiceValueHint),o.xp6(2),o.Q6J("ngModel",e.expiry)("step",e.selTimeUnit===e.timeUnitEnum.SECS?300:e.selTimeUnit===e.timeUnitEnum.MINS?10:e.selTimeUnit===e.timeUnitEnum.HOURS?2:1)("min",1),o.xp6(2),o.hij(" ",o.lcZ(24,15,e.selTimeUnit)," "),o.xp6(3),o.Q6J("value",e.selTimeUnit),o.xp6(1),o.Q6J("ngForOf",e.timeUnits),o.xp6(2),o.Q6J("ngModel",e.private)("matTooltipPosition","above"),o.xp6(2),o.Q6J("ngIf",""!==e.invoiceError))},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,gt.ZT,v.dn,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,Zt.h,ft.JJ,ft.On,ft.wV,ft.qQ,yt.q,M.R9,M.bx,At.gD,a.sg,Tt.Rr,E.gM,a.O5,Ct.ey,C.BN],pipes:[a.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var qt=n(3793),_t=n(4636),Ft=n(3929),Lt=n(8914);function Ut(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"input",7),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().description=e}),o.qZA(),o.qZA(),o.TgZ(4,"mat-form-field",8),o.TgZ(5,"input",9),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().invoiceValue=e})("keyup",function(){return o.CHM(t),o.oxw().onInvoiceValueChange()}),o.qZA(),o.TgZ(6,"span",10),o._uU(7," Sats "),o.qZA(),o.TgZ(8,"mat-hint"),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"div",11),o.TgZ(11,"button",12),o.NdJ("click",function(){return o.CHM(t),o.oxw().resetData()}),o._uU(12,"Clear Field"),o.qZA(),o.TgZ(13,"button",13),o.NdJ("click",function(){o.CHM(t);const e=o.MAs(1);return o.oxw().onAddInvoice(e)}),o._uU(14,"Create Invoice"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.description),o.xp6(2),o.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),o.xp6(4),o.Oqu(t.invoiceValueHint)}}function Rt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",14),o.TgZ(1,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDeleteExpiredInvoices()}),o._uU(2,"Delete Expired"),o.qZA(),o.TgZ(3,"button",16),o.NdJ("click",function(){return o.CHM(t),o.oxw().openCreateInvoiceModal()}),o._uU(4,"Create Invoice"),o.qZA(),o.qZA()}}function kt(t,e){1&t&&o._UZ(0,"mat-progress-bar",45)}function Nt(t,e){1&t&&(o.TgZ(0,"th",46),o._uU(1," Expiry Date "),o.qZA())}const It=function(t){return{"mr-0":t}};function Ot(t,e){if(1&t&&o._UZ(0,"span",50),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,It,t.screenSize===t.screenSizeEnum.XS))}}function Mt(t,e){if(1&t&&o._UZ(0,"span",51),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,It,t.screenSize===t.screenSizeEnum.XS))}}function Et(t,e){if(1&t&&(o.TgZ(0,"td",47),o.YNc(1,Ot,1,3,"span",48),o.YNc(2,Mt,1,3,"span",49),o._uU(3),o.ALo(4,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf","paid"===t.status),o.xp6(1),o.Q6J("ngIf","paid"!==t.status),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*t.expires_at,"dd/MMM/YYYY HH:mm")," ")}}function Jt(t,e){1&t&&(o.TgZ(0,"th",46),o._uU(1," Date Settled "),o.qZA())}function Dt(t,e){if(1&t&&(o.TgZ(0,"td",47),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*t.paid_at,"dd/MMM/YYYY HH:mm")||"-")}}function Yt(t,e){1&t&&(o.TgZ(0,"th",46),o._uU(1," Description "),o.qZA())}const Qt=function(t){return{"max-width":t}};function Pt(t,e){if(1&t&&(o.TgZ(0,"td",47),o.TgZ(1,"div",52),o.TgZ(2,"span",53),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Qt,n.screenSize===n.screenSizeEnum.XS?"10rem":"32rem")),o.xp6(2),o.Oqu(t.description)}}function Bt(t,e){1&t&&(o.TgZ(0,"th",54),o._uU(1," Amount (Sats) "),o.qZA())}function Ht(t,e){if(1&t&&(o.TgZ(0,"td",47),o.TgZ(1,"span",55),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,t.msatoshi/1e3,t.msatoshi<1e3?"1.0-4":"1.0-0"),"")}}function zt(t,e){1&t&&(o.TgZ(0,"th",54),o._uU(1," Amount Settled (Sats) "),o.qZA())}function Gt(t,e){if(1&t&&(o.TgZ(0,"td",47),o.TgZ(1,"span",55),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,t.msatoshi_received/1e3,t.msatoshi_received<1e3?"1.0-4":"1.0-0"),"")}}function Vt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",56),o.TgZ(1,"div",57),o.TgZ(2,"mat-select",58),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",59),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}const Xt=function(t){return{"px-3":t}};function Wt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",60),o.TgZ(1,"div",61),o.TgZ(2,"mat-select",62),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",59),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onInvoiceClick(e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",59),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onRefreshInvoice(e)}),o._uU(7,"Refresh"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Xt,t.screenSize!==t.screenSizeEnum.XS))}}function $t(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No invoice available."),o.qZA())}function Kt(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting invoices..."),o.qZA())}function jt(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function te(t,e){if(1&t&&(o.TgZ(0,"td",63),o.YNc(1,$t,2,0,"p",64),o.YNc(2,Kt,2,0,"p",64),o.YNc(3,jt,2,1,"p",64),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.ERROR)}}const ee=function(t){return{"display-none":t}};function ne(t,e){if(1&t&&o._UZ(0,"tr",65),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,ee,(null==t.invoices?null:t.invoices.data)&&(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)>0))}}function ae(t,e){1&t&&o._UZ(0,"tr",66)}function se(t,e){if(1&t&&o._UZ(0,"tr",67),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.label===n.newlyAddedInvoiceMemo&&t.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const ie=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},oe=function(){return["no_invoice"]};function le(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",17),o.TgZ(1,"div",18),o.TgZ(2,"div",19),o._UZ(3,"fa-icon",20),o.TgZ(4,"span",21),o._uU(5,"Invoices History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",22),o.TgZ(7,"input",23),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",24),o.YNc(9,kt,1,0,"mat-progress-bar",25),o.TgZ(10,"table",26,27),o.ynx(12,28),o.YNc(13,Nt,2,0,"th",29),o.YNc(14,Et,5,6,"td",30),o.BQk(),o.ynx(15,31),o.YNc(16,Jt,2,0,"th",29),o.YNc(17,Dt,3,4,"td",30),o.BQk(),o.ynx(18,32),o.YNc(19,Yt,2,0,"th",29),o.YNc(20,Pt,4,4,"td",30),o.BQk(),o.ynx(21,33),o.YNc(22,Bt,2,0,"th",34),o.YNc(23,Ht,4,4,"td",30),o.BQk(),o.ynx(24,35),o.YNc(25,zt,2,0,"th",34),o.YNc(26,Gt,4,4,"td",30),o.BQk(),o.ynx(27,36),o.YNc(28,Vt,6,0,"th",37),o.YNc(29,Wt,8,3,"td",38),o.BQk(),o.ynx(30,39),o.YNc(31,te,4,3,"td",40),o.BQk(),o.YNc(32,ne,1,3,"tr",41),o.YNc(33,ae,1,0,"tr",42),o.YNc(34,se,1,1,"tr",43),o.qZA(),o.qZA(),o._UZ(35,"mat-paginator",44),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("icon",t.faHistory),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.invoices)("ngClass",o.VKq(11,ie,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(13,oe)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let re=(()=>{class t{constructor(t,e,n,a,s,i,o){this.logger=t,this.store=e,this.decimalPipe=n,this.commonService=a,this.rtlEffects=s,this.datePipe=i,this.actions=o,this.calledFrom="transactions",this.faHistory=g.qO$,this.selNode={},this.newlyAddedInvoiceMemo="",this.newlyAddedInvoiceValue=0,this.flgAnimate=!0,this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoiceJSONArr=[],this.information={},this.flgSticky=!1,this.private=!1,this.expiryStep=100,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["expires_at","msatoshi","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["expires_at","description","msatoshi","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["expires_at","description","msatoshi","msatoshi_received","actions"]):(this.flgSticky=!0,this.displayedColumns=["expires_at","paid_at","description","msatoshi","msatoshi_received","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchInvoices.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchInvoices.message?JSON.stringify(this.apisCallStatus.FetchInvoices.message):this.apisCallStatus.FetchInvoices.message),this.selNode=t.nodeSettings,this.information=t.information,this.invoiceJSONArr=t.invoices.invoices&&t.invoices.invoices.length>0?t.invoices.invoices:[],this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr),setTimeout(()=>{this.flgAnimate=!1},5e3),this.logger.info(t)}),this.actions.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.CR||t.type===x.qe)).subscribe(t=>{t.type===x.CR&&this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&t.payload&&(this.updateInvoicesData(JSON.parse(JSON.stringify(t.payload))),this.loadInvoicesTable(this.invoiceJSONArr))})}ngAfterViewInit(){this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr)}openCreateInvoiceModal(){this.store.dispatch(new Ft.wu({data:{pageSize:this.pageSize,component:bt}}))}onAddInvoice(t){this.invoiceValue||(this.invoiceValue=0);const e=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo="ulbl"+Math.random().toString(36).slice(2)+Date.now(),this.newlyAddedInvoiceValue=this.invoiceValue,this.store.dispatch(new x.H1({label:this.newlyAddedInvoiceMemo,amount:1e3*this.invoiceValue,description:this.description,expiry:e,private:this.private})),this.resetData()}onDeleteExpiredInvoices(){this.store.dispatch(new Ft.b_({data:{type:"CONFIRM",titleMessage:"Delete Expired Invoices",noBtnText:"Cancel",yesBtnText:"Delete Invoices"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[2])).subscribe(t=>{t&&this.store.dispatch(new x.nB)})}onInvoiceClick(t){this.store.dispatch(new Ft.wu({data:{invoice:{msatoshi:t.msatoshi,label:t.label,expires_at:t.expires_at,paid_at:t.paid_at,bolt11:t.bolt11,payment_hash:t.payment_hash,description:t.description,status:t.status,msatoshi_received:t.msatoshi_received},newlyAdded:!1,component:qt.$}}))}resetData(){this.description="",this.invoiceValue=null,this.private=!1,this.expiry=null,this.invoiceValueHint=""}applyFilter(t){this.invoices.filter=t.value.trim().toLowerCase()}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[3])).subscribe({next:t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,f.Xz.OTHER)+" "+t.unit},error:t=>{this.invoiceValueHint="Conversion Error: "+t}}))}onRefreshInvoice(t){this.store.dispatch(new x.oP(t.label))}updateInvoicesData(t){this.invoiceJSONArr=this.invoiceJSONArr.map(e=>e.label===t.label?t:e)}loadInvoicesTable(t){this.invoices=new mt.by(t?[...t]:[]),this.invoices.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.invoices.sort=this.sort,this.invoices.filterPredicate=(t,e)=>((t.paid_at?this.datePipe.transform(new Date(1e3*t.paid_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(t.expires_at?this.datePipe.transform(new Date(1e3*t.expires_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.invoices.paginator=this.paginator}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(a.JJ),o.Y36(T.v),o.Y36(Lt.V),o.Y36(a.uU),o.Y36(A.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-lightning-invoices"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["matInput","","placeholder","Description","tabindex","2","name","description",3,"ngModel","ngModelChange"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","name","invoiceValue","type","number","tabindex","3",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","9","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["fxLayout","row"],["mat-stroked-button","","color","warn","tabindex","7","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","expires_at"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","paid_at"],["matColumnDef","description"],["matColumnDef","msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_received"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unsettled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unsettled","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","4",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Ut,15,5,"form",1),o.YNc(2,Rt,5,0,"div",2),o.YNc(3,le,36,14,"div",3),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf","home"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,ft.wV,ft.qQ,yt.q,M.R9,M.bx,q.lW,C.BN,D.$V,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,E.gM,a.PC,b.Zl,At.gD,At.$L,Ct.ey,mt.yh,mt.Q2,mt.XQ,mt.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-description[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-description[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[_t.Q]}}),t})();var ce=n(9056),ue=n(8640),de=n(4810);const pe=["paymentReq"];function he(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-radio-group",17),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().paymentType=e})("change",function(){return o.CHM(t),o.oxw().onPaymentTypeChange()}),o.TgZ(1,"mat-radio-button",18),o._uU(2,"Invoice Payment"),o.qZA(),o.TgZ(3,"mat-radio-button",19),o._uU(4,"Keysend Payment"),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("ngModel",t.paymentType)}}function me(t,e){1&t&&o.GkF(0)}function ge(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentError)}}function fe(t,e){if(1&t&&(o.TgZ(0,"div",20),o._UZ(1,"fa-icon",21),o.YNc(2,ge,2,1,"span",22),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.paymentError)}}function xe(t,e){if(1&t&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function Ze(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function ye(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function Ae(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment amount is required."),o.qZA())}function Te(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",26,27),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw(2).paymentAmount=e})("change",function(e){return o.CHM(t),o.oxw(2).onAmountChange(e)}),o.qZA(),o.TgZ(3,"mat-hint"),o._uU(4,"It is a zero amount invoice, enter amount to be paid."),o.qZA(),o.YNc(5,Ae,2,0,"mat-error",22),o.qZA()}if(2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngModel",t.paymentAmount),o.xp6(4),o.Q6J("ngIf",!t.paymentAmount)}}function Ce(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"textarea",23,24),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(3,xe,2,1,"mat-hint",22),o.YNc(4,Ze,2,0,"mat-error",22),o.YNc(5,ye,2,1,"mat-error",22),o.qZA(),o.YNc(6,Te,6,2,"mat-form-field",25)}if(2&t){const t=o.MAs(2),e=o.oxw();o.xp6(1),o.Q6J("ngModel",e.paymentRequest),o.xp6(2),o.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!e.paymentRequest),o.xp6(1),o.Q6J("ngIf",null==t.errors?null:t.errors.decodeError),o.xp6(1),o.Q6J("ngIf",e.zeroAmtInvoice)}}function we(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Pubkey is required."),o.qZA())}function ve(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Keysend amount is required."),o.qZA())}function Se(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",28),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().pubkey=e}),o.qZA(),o.YNc(2,we,2,0,"mat-error",22),o.qZA(),o.TgZ(3,"mat-form-field",1),o.TgZ(4,"input",29,30),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().keysendAmount=e}),o.qZA(),o.YNc(6,ve,2,0,"mat-error",22),o.qZA()}if(2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngModel",t.pubkey),o.xp6(1),o.Q6J("ngIf",!t.pubkey),o.xp6(2),o.Q6J("ngModel",t.keysendAmount),o.xp6(2),o.Q6J("ngIf",!t.keysendAmount)}}let be=(()=>{class t{constructor(t,e,n,a,s,i,o){this.dialogRef=t,this.store=e,this.clEffects=n,this.logger=a,this.commonService=s,this.decimalPipe=i,this.actions=o,this.faExclamationTriangle=g.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentType="invoice",this.pubkey="",this.keysendAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.selActiveChannel={},this.activeChannels={},this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.feeLimitTypes=f.Vc,this.paymentError="",this.isCompatibleVersion=!1,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}set payReq(t){t&&(this.paymentReq=t)}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.activeChannels=t.allChannels.filter(t=>"CHANNELD_NORMAL"===t.state&&t.connected),this.isCompatibleVersion=this.commonService.isVersionCompatible(t.information.version,"0.9.0")&&this.commonService.isVersionCompatible(t.information.api_version,"0.4.0"),this.logger.info(t)}),this.actions.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.qe||t.type===x.zm)).subscribe(t=>{t.type===x.zm&&this.dialogRef.close(),t.type===x.qe&&t.payload.status===f.Bn.ERROR&&("SendPayment"===t.payload.action&&(delete this.paymentDecoded.msatoshi,this.paymentError=t.payload.message),"DecodePayment"===t.payload.action&&(this.paymentDecodedHint="ERROR: "+t.payload.message,this.paymentReq.control.setErrors({decodeError:!0})))})}onSendPayment(){if("invoice"===this.paymentType&&!this.paymentRequest||"keysend"===this.paymentType&&(!this.pubkey||""===this.pubkey.trim()||!this.keysendAmount||this.keysendAmount<=0))return!0;"keysend"===this.paymentType?this.keysendPayment():this.paymentDecoded.created_at?this.sendPayment():(this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.paymentReq.control.setErrors(null),this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!0})),this.clEffects.setDecodedPaymentCL.pipe((0,ce.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.created_at&&!this.paymentDecoded.msatoshi?(this.paymentDecoded.msatoshi=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.selNode.fiatConversion?this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description)}))}keysendPayment(){this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_KEYSEND,pubkey:this.pubkey,amount:1e3*this.keysendAmount,fromDialog:!0}))}sendPayment(){this.store.dispatch(new x.Ar(this.zeroAmtInvoice?{uiMessage:f.m6.SEND_PAYMENT,invoice:this.paymentRequest,amount:1e3*this.paymentAmount,fromDialog:!0}:{uiMessage:f.m6.SEND_PAYMENT,invoice:this.paymentRequest,fromDialog:!0}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!0})),this.clEffects.setDecodedPaymentCL.subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.created_at&&!this.paymentDecoded.msatoshi?(this.paymentDecoded.msatoshi=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.selNode.fiatConversion?this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[3])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description)}))}onAmountChange(t){delete this.paymentDecoded.msatoshi,this.paymentDecoded.msatoshi=t}onPaymentTypeChange(){this.paymentError=""}resetData(){"keysend"===this.paymentType?(this.pubkey="",this.keysendAmount=null):(this.paymentDecoded={},this.paymentRequest="",this.selActiveChannel=null,this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.paymentReq.control.setErrors(null),this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentAmount=null),this.paymentError=""}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(y.yh),o.Y36(ue.s),o.Y36(Z.mQ),o.Y36(T.v),o.Y36(a.JJ),o.Y36(A.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-lightning-send-payments"]],viewQuery:function(t,e){if(1&t&&o.Gf(pe,5),2&t){let t;o.iGM(t=o.CRH())&&(e.payReq=t.first)}},decls:23,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","12","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["class","my-1","color","primary","name","paymentType","fxFlex","100","fxLayoutAlign","start stretch",3,"ngModel","ngModelChange","change",4,"ngIf"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],[4,"ngTemplateOutlet"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","7",3,"click"],["invoiceBlock",""],["keysendBlock",""],["color","primary","name","paymentType","fxFlex","100","fxLayoutAlign","start stretch",1,"my-1",3,"ngModel","ngModelChange","change"],["fxFlex","25","tabindex","1","value","invoice",1,"mr-2"],["fxFlex","25","tabindex","2","value","keysend"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","3","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],["fxFlex","100",4,"ngIf"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","4","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],["autoFocus","","matInput","","placeholder","Pubkey","name","pubkey","tabindex","5","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Amount (Sats)","name","keysendAmount","tabindex","6","required","",3,"ngModel","ngModelChange"],["keysendAmt","ngModel"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Send Payment"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.YNc(9,he,5,1,"mat-radio-group",7),o.TgZ(10,"form",8,9),o.YNc(12,me,1,0,"ng-container",10),o.YNc(13,fe,3,2,"div",11),o.TgZ(14,"div",12),o.TgZ(15,"button",13),o.NdJ("click",function(){return e.resetData()}),o._uU(16,"Clear Fields"),o.qZA(),o.TgZ(17,"button",14),o.NdJ("click",function(){return e.onSendPayment()}),o._uU(18,"Send Payment"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(19,Ce,7,5,"ng-template",null,15,o.W1O),o.YNc(21,Se,7,4,"ng-template",null,16,o.W1O)),2&t){const t=o.MAs(20),n=o.MAs(22);o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(3),o.Q6J("ngIf",e.isCompatibleVersion),o.xp6(3),o.Q6J("ngTemplateOutlet","keysend"===e.paymentType?n:t),o.xp6(1),o.Q6J("ngIf",""!==e.paymentError)}},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,gt.ZT,v.dn,a.O5,ft._Y,ft.JL,ft.F,a.tP,de.VQ,ft.JJ,ft.On,de.U0,C.BN,M.KE,xt.Nt,ft.Fj,xt.D7,Zt.h,ft.Q7,M.bx,M.TO],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();const qe=["sendPaymentForm"];function _e(t,e){if(1&t&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function Fe(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function Le(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"textarea",7,8),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(5,_e,2,1,"mat-hint",9),o.YNc(6,Fe,2,0,"mat-error",9),o.qZA(),o.TgZ(7,"div",10),o.TgZ(8,"button",11),o.NdJ("click",function(){return o.CHM(t),o.oxw().resetData()}),o._uU(9,"Clear Field"),o.qZA(),o.TgZ(10,"button",12),o.NdJ("click",function(){return o.CHM(t),o.oxw().onSendPayment()}),o._uU(11,"Send Payment"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.paymentRequest),o.xp6(2),o.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!t.paymentRequest)}}function Ue(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",13),o.TgZ(1,"button",12),o.NdJ("click",function(){return o.CHM(t),o.oxw().openSendPaymentModal()}),o._uU(2,"Send Payment"),o.qZA(),o.qZA()}}function Re(t,e){1&t&&o._UZ(0,"mat-progress-bar",47)}function ke(t,e){1&t&&(o.TgZ(0,"th",48),o._uU(1,"Created At"),o.qZA())}const Ne=function(t){return{"mr-0":t}};function Ie(t,e){if(1&t&&o._UZ(0,"span",52),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function Oe(t,e){if(1&t&&o._UZ(0,"span",53),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function Me(t,e){if(1&t&&(o.TgZ(0,"td",49),o.YNc(1,Ie,1,3,"span",50),o.YNc(2,Oe,1,3,"span",51),o._uU(3),o.ALo(4,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf","complete"===t.status),o.xp6(1),o.Q6J("ngIf","complete"!==t.status),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*(null==t?null:t.created_at),"dd/MMM/YYYY HH:mm")," ")}}function Ee(t,e){1&t&&(o.TgZ(0,"th",48),o._uU(1,"Payment Hash"),o.qZA())}function Je(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"div"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(null==t?null:t.payment_hash)}}function De(t,e){1&t&&(o.TgZ(0,"th",54),o._uU(1,"Sats Sent"),o.qZA())}function Ye(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",55),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,1,(null==t?null:t.msatoshi_sent)/1e3,(null==t?null:t.msatoshi_sent)<1e3?"1.0-4":"1.0-0"))}}function Qe(t,e){1&t&&(o.TgZ(0,"th",54),o._uU(1,"Sats Received"),o.qZA())}function Pe(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",55),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,1,(null==t?null:t.msatoshi)/1e3,(null==t?null:t.msatoshi)<1e3?"1.0-4":"1.0-0"))}}function Be(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",56),o.TgZ(1,"div",57),o.TgZ(2,"mat-select",58),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",59),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function He(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",60),o.TgZ(1,"button",61),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onPaymentClick(e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function ze(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No payment available."),o.qZA())}function Ge(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting payments..."),o.qZA())}function Ve(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function Xe(t,e){if(1&t&&(o.TgZ(0,"td",62),o.YNc(1,ze,2,0,"p",9),o.YNc(2,Ge,2,0,"p",9),o.YNc(3,Ve,2,1,"p",9),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.ERROR)}}function We(t,e){if(1&t&&o._UZ(0,"span",66),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function $e(t,e){if(1&t&&o._UZ(0,"span",67),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function Ke(t,e){if(1&t&&o._UZ(0,"span",66),2&t){const t=o.oxw(5);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function je(t,e){if(1&t&&o._UZ(0,"span",67),2&t){const t=o.oxw(5);o.Q6J("ngClass",o.VKq(1,Ne,t.screenSize===t.screenSizeEnum.XS))}}function tn(t,e){if(1&t&&(o.TgZ(0,"span",69),o.YNc(1,Ke,1,3,"span",64),o.YNc(2,je,1,3,"span",65),o._uU(3),o.ALo(4,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf","complete"===t.status),o.xp6(1),o.Q6J("ngIf","complete"!==t.status),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*t.created_at,"dd/MMM/YYYY HH:mm")," ")}}function en(t,e){if(1&t&&(o.ynx(0),o.YNc(1,tn,5,6,"span",68),o.BQk()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.mpps)}}function nn(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",63),o.YNc(2,We,1,3,"span",64),o.YNc(3,$e,1,3,"span",65),o._uU(4),o.qZA(),o.YNc(5,en,2,1,"ng-container",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Q6J("ngIf","complete"===t.status),o.xp6(1),o.Q6J("ngIf","complete"!==t.status),o.xp6(1),o.hij(" Total Attempts: ",null==t?null:t.total_parts," "),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function an(t,e){if(1&t&&(o.TgZ(0,"span",63),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" Part ID ",t.partid?t.partid:0," ")}}function sn(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,an,2,1,"span",70),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.mpps)}}function on(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",63),o._uU(2),o.qZA(),o.YNc(3,sn,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(null==t?null:t.payment_hash),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function ln(t,e){if(1&t&&(o.TgZ(0,"span",71),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,t.msatoshi_sent/1e3,t.msatoshi_sent<1e3?"1.0-4":"1.0-0")," ")}}function rn(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,ln,3,4,"span",72),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.mpps)}}function cn(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",71),o._uU(2),o.ALo(3,"number"),o.qZA(),o.YNc(4,rn,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,2,(null==t?null:t.msatoshi_sent)/1e3,(null==t?null:t.msatoshi_sent)<1e3?"1.0-4":"1.0-0")),o.xp6(2),o.Q6J("ngIf",t.is_expanded)}}function un(t,e){if(1&t&&(o.TgZ(0,"span",71),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,t.msatoshi/1e3,t.msatoshi<1e3?"1.0-4":"1.0-0")," ")}}function dn(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,un,3,4,"span",72),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.mpps)}}function pn(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"span",71),o._uU(2),o.ALo(3,"number"),o.qZA(),o.YNc(4,dn,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,2,(null==t?null:t.msatoshi)/1e3,(null==t?null:t.msatoshi)<1e3?"1.0-4":"1.0-0")),o.xp6(2),o.Q6J("ngIf",t.is_expanded)}}function hn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",55),o.TgZ(1,"button",76),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(4).onPaymentClick(e)}),o._uU(2),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit;o.xp6(2),o.hij("View ",t.partid?t.partid:0,"")}}function mn(t,e){if(1&t&&(o.TgZ(0,"div"),o.YNc(1,hn,3,1,"div",75),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.mpps)}}function gn(t,e){if(1&t&&(o.TgZ(0,"td",73),o.TgZ(1,"span",55),o.TgZ(2,"button",74),o.NdJ("click",function(){const t=e.$implicit;return t.is_expanded=!t.is_expanded}),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,mn,2,1,"div",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(3),o.Oqu(t.is_expanded?"Hide":"Show"),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function fn(t,e){if(1&t&&o._UZ(0,"tr",77),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const xn=function(t){return{"display-none":t}};function Zn(t,e){if(1&t&&o._UZ(0,"tr",78),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,xn,(null==t.payments?null:t.payments.data)&&(null==t.payments||null==t.payments.data?null:t.payments.data.length)>0))}}function yn(t,e){1&t&&o._UZ(0,"tr",79)}function An(t,e){if(1&t&&o._UZ(0,"tr",77),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const Tn=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Cn=function(){return["no_payment"]};function wn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",14),o.TgZ(1,"div",15),o.TgZ(2,"div",16),o._UZ(3,"fa-icon",17),o.TgZ(4,"span",18),o._uU(5,"Payments History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",19),o.TgZ(7,"input",20),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",21),o.YNc(9,Re,1,0,"mat-progress-bar",22),o.TgZ(10,"table",23,24),o.ynx(12,25),o.YNc(13,ke,2,0,"th",26),o.YNc(14,Me,5,6,"td",27),o.BQk(),o.ynx(15,28),o.YNc(16,Ee,2,0,"th",26),o.YNc(17,Je,3,1,"td",27),o.BQk(),o.ynx(18,29),o.YNc(19,De,2,0,"th",30),o.YNc(20,Ye,4,4,"td",27),o.BQk(),o.ynx(21,31),o.YNc(22,Qe,2,0,"th",30),o.YNc(23,Pe,4,4,"td",27),o.BQk(),o.ynx(24,32),o.YNc(25,Be,6,0,"th",33),o.YNc(26,He,3,0,"td",34),o.BQk(),o.ynx(27,35),o.YNc(28,Xe,4,3,"td",36),o.BQk(),o.ynx(29,37),o.YNc(30,nn,6,4,"td",27),o.BQk(),o.ynx(31,38),o.YNc(32,on,4,2,"td",27),o.BQk(),o.ynx(33,39),o.YNc(34,cn,5,5,"td",27),o.BQk(),o.ynx(35,40),o.YNc(36,pn,5,5,"td",27),o.BQk(),o.ynx(37,41),o.YNc(38,gn,5,2,"td",42),o.BQk(),o.YNc(39,fn,1,1,"tr",43),o.YNc(40,Zn,1,3,"tr",44),o.YNc(41,yn,1,0,"tr",45),o.YNc(42,An,1,1,"tr",43),o.qZA(),o.qZA(),o._UZ(43,"mat-paginator",46),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("icon",t.faHistory),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.payments)("ngClass",o.VKq(14,Tn,""!==t.errorMessage)),o.xp6(29),o.Q6J("matRowDefColumns",t.mppColumns)("matRowDefWhen",t.is_group),o.xp6(1),o.Q6J("matFooterRowDef",o.DdM(16,Cn)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)("matRowDefWhen",!t.is_group),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let vn=(()=>{class t{constructor(t,e,n,a,s,i,o,l){this.logger=t,this.commonService=e,this.store=n,this.rtlEffects=a,this.clEffects=s,this.decimalPipe=i,this.titleCasePipe=o,this.datePipe=l,this.calledFrom="transactions",this.faHistory=g.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.information={},this.paymentJSONArr=[],this.displayedColumns=[],this.mppColumns=[],this.paymentDecoded={},this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["created_at","actions"],this.mppColumns=["groupTotal","groupAction"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["created_at","msatoshi","actions"],this.mppColumns=["groupTotal","groupAmtRecv","groupAction"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["created_at","msatoshi_sent","msatoshi","actions"],this.mppColumns=["groupTotal","groupAmtSent","groupAmtRecv","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["created_at","payment_hash","msatoshi_sent","msatoshi","actions"],this.mppColumns=["groupTotal","groupHash","groupAmtSent","groupAmtRecv","groupAction"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPayments.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),this.information=t.information,this.selNode=t.nodeSettings,this.paymentJSONArr=t.payments&&t.payments.length>0?t.payments:[],this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr),setTimeout(()=>{this.flgAnimate=!1},3e3),this.logger.info(t)})}ngAfterViewInit(){this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr)}is_group(t,e){return e.is_group}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.created_at?this.sendPayment():(this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!1})),this.clEffects.setDecodedPaymentCL.pipe((0,ce.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.created_at?(this.paymentDecoded.msatoshi||(this.paymentDecoded.msatoshi=0),this.sendPayment()):this.resetData()}))}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.payment_hash,this.paymentDecoded.msatoshi&&0!==this.paymentDecoded.msatoshi?(this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"payee",value:this.paymentDecoded.payee,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"created_at",value:this.paymentDecoded.created_at,title:"Creation Date",width:50,type:f.Gi.DATE_TIME},{key:"num_satoshis",value:this.paymentDecoded.msatoshi/1e3,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:f.Gi.NUMBER},{key:"min_finaltv_expiry",value:this.paymentDecoded.min_final_cltv_expiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,ce.q)(1)).subscribe(t=>{t&&(this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,invoice:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"payee",value:this.paymentDecoded.payee,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"created_at",value:this.paymentDecoded.created_at,title:"Creation Date",width:40,type:f.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"min_finaltv_expiry",value:this.paymentDecoded.min_final_cltv_expiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",getInputs:[{placeholder:"Amount (Sats)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,ce.q)(1)).subscribe(t=>{t&&(this.paymentDecoded.msatoshi=t[0].inputValue,this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,invoice:this.paymentRequest,amount:1e3*t[0].inputValue,fromDialog:!1})),this.resetData())}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&(this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!1})),this.clEffects.setDecodedPaymentCL.subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.msatoshi?this.selNode.fiatConversion?this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[1])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description:this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description}))}openSendPaymentModal(){this.store.dispatch(new Ft.wu({data:{component:be}}))}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}onPaymentClick(t){const e=[[{key:"bolt11",value:t.bolt11,title:"Bolt 11",width:100,type:f.Gi.STRING}],[{key:"payment_preimage",value:t.payment_preimage,title:"Payment Preimage",width:100,type:f.Gi.STRING}],[{key:"id",value:t.id,title:"ID",width:20,type:f.Gi.STRING},{key:"destination",value:t.destination,title:"Destination",width:80,type:f.Gi.STRING}],[{key:"created_at",value:t.created_at,title:"Creation Date",width:50,type:f.Gi.DATE_TIME},{key:"status",value:this.titleCasePipe.transform(t.status),title:"Status",width:50,type:f.Gi.STRING}],[{key:"msatoshi",value:t.msatoshi,title:"Amount (mSats)",width:50,type:f.Gi.NUMBER},{key:"msatoshi_sent",value:t.msatoshi_sent,title:"Amount Sent (mSats)",width:50,type:f.Gi.NUMBER}]];t.memo&&""!==t.memo&&e.splice(2,0,[{key:"memo",value:t.memo,title:"Memo",width:100,type:f.Gi.STRING}]),t.hasOwnProperty("partid")?e.unshift([{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:80,type:f.Gi.STRING},{key:"partid",value:t.partid,title:"Part ID",width:20,type:f.Gi.STRING}]):e.unshift([{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}]),this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Payment Information",message:e}}))}applyFilter(t){this.payments.filter=t.value.trim().toLowerCase()}loadPaymentsTable(t){this.payments=new mt.by(t?[...t]:[]),this.payments.data=this.paymentJSONArr,this.payments.sort=this.sort,this.payments.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.payments.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.payments.filterPredicate=(t,e)=>((t.created_at?this.datePipe.transform(new Date(1e3*t.created_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.payments.paginator=this.paginator}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){const t=JSON.parse(JSON.stringify(this.payments.data)).reduce((t,e)=>e.mpps?t.concat(e.mpps):(delete e.is_group,delete e.is_expanded,delete e.total_parts,t.concat(e)),[]);this.commonService.downloadFile(t,"Payments")}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh),o.Y36(Lt.V),o.Y36(ue.s),o.Y36(a.JJ),o.Y36(a.rS),o.Y36(a.uU))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-lightning-payments"]],viewQuery:function(t,e){if(1&t&&(o.Gf(qe,5),o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first),o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","created_at"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","payment_hash"],["matColumnDef","msatoshi_sent"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupHash"],["matColumnDef","groupAmtSent"],["matColumnDef","groupAmtRecv"],["matColumnDef","groupAction"],["mat-cell","","class","px-3",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Completed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Completed","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Failed","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"mpp-row-span"],["class","dot green mt-0","matTooltip","Completed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow mt-0","matTooltip","Incomplete/Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Completed","matTooltipPosition","right",1,"dot","green","mt-0",3,"ngClass"],["matTooltip","Incomplete/Failed","matTooltipPosition","right",1,"dot","yellow","mt-0",3,"ngClass"],["fxLayoutAlign","start center","class","mpp-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"mpp-row-span","pl-3"],["fxLayoutAlign","start center","class","mpp-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"mpp-row-span"],["fxLayoutAlign","end center","class","mpp-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-3"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-mpp-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-mpp-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Le,12,3,"form",1),o.YNc(2,Ue,3,0,"div",2),o.YNc(3,wn,44,17,"div",3),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf","home"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,xt.D7,ft.Q7,D.$V,ft.JJ,ft.On,q.lW,M.bx,M.TO,C.BN,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.nj,mt.Ke,mt.as,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,E.gM,At.gD,At.$L,Ct.ey,mt.yh,a.sg,mt.Gk,mt.Q2,mt.XQ],pipes:[a.uU,a.JJ],styles:[".mat-column-bolt11[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%], .mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-mpp-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-mpp-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.mpp-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:17rem}"],data:{animation:[_t.Q]}}),t})();function Sn(t,e){if(1&t&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&t){o.oxw();const t=o.MAs(11);o.Q6J("matMenuTriggerFor",t)}}function bn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(3).onNavigateTo("/cl/reports")}),o._uU(1,"Fees Summary"),o.qZA()}}function qn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(3).onsortChannelsBy()}),o._uU(1),o.qZA()}if(2&t){const t=o.oxw(3);o.xp6(1),o.hij("Sort By ","Balance Score"===t.sortField?"Capacity":"Balance Score","")}}function _n(t,e){1&t&&o._UZ(0,"mat-progress-bar",27)}function Fn(t,e){if(1&t&&o._UZ(0,"rtl-cl-node-info",28),2&t){const t=o.oxw(3);o.Q6J("information",t.information)("showColorFieldSeparately",!1)}}function Ln(t,e){if(1&t&&o._UZ(0,"rtl-cl-balances-info",29),2&t){const t=o.oxw(3);o.Q6J("balances",t.balances)("errorMessage",t.errorMessages[2]+" "+t.errorMessages[3])}}function Un(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-capacity-info",30),2&t){const t=o.oxw(3);o.Q6J("sortBy",t.sortField)("channelBalances",t.channelBalances)("allChannels",t.allChannelsCapacity)("errorMessage",t.errorMessages[4]+" "+t.errorMessages[3])}}function Rn(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-info",31),2&t){const t=o.oxw(3);o.Q6J("fees",t.fees)("errorMessage",t.errorMessages[1]+" "+t.errorMessages[4]+" "+t.errorMessages[5])}}function kn(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-status-info",32),2&t){const t=o.oxw(3);o.Q6J("channelsStatus",t.channelsStatus)("errorMessage",t.errorMessages[0]+" "+t.errorMessages[3])}}function Nn(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const In=function(t){return{"dashboard-card-content":!0,"error-border":t}};function On(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",9),o.TgZ(2,"mat-card-header"),o.TgZ(3,"mat-card-title",10),o.TgZ(4,"div"),o._UZ(5,"fa-icon",11),o.TgZ(6,"span"),o._uU(7),o.qZA(),o.qZA(),o.TgZ(8,"div"),o.YNc(9,Sn,3,1,"button",12),o.TgZ(10,"mat-menu",13,14),o.TgZ(12,"button",15),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(13),o.qZA(),o.YNc(14,bn,2,0,"button",16),o.YNc(15,qn,2,1,"button",16),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(16,"mat-card-content",17),o.YNc(17,_n,1,0,"mat-progress-bar",18),o.TgZ(18,"div",19),o.YNc(19,Fn,1,2,"rtl-cl-node-info",20),o.YNc(20,Ln,1,2,"rtl-cl-balances-info",21),o.YNc(21,Un,1,4,"rtl-cl-channel-capacity-info",22),o.YNc(22,Rn,1,2,"rtl-cl-fee-info",23),o.YNc(23,kn,1,2,"rtl-cl-channel-status-info",24),o.YNc(24,Nn,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(5),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(2),o.Q6J("ngIf",t.link),o.xp6(4),o.hij("Go To ",t.goTo,""),o.xp6(1),o.Q6J("ngIf","fee"===t.id),o.xp6(1),o.Q6J("ngIf","capacity"===t.id),o.xp6(1),o.s9C("fxFlex","capacity"===t.id?90:70),o.Q6J("ngClass",o.VKq(17,In,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchBalance.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR)||"capacity"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.ERROR)||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR))),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchBalance.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)||"capacity"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.INITIATED)||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","capacity"),o.xp6(1),o.Q6J("ngSwitchCase","fee"),o.xp6(1),o.Q6J("ngSwitchCase","status")}}function Mn(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o._UZ(2,"fa-icon",4),o.TgZ(3,"span",5),o._uU(4),o.qZA(),o.qZA(),o.TgZ(5,"mat-grid-list",6),o.YNc(6,On,25,19,"mat-grid-tile",7),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("icon",(null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.ERROR?t.faFrown:t.faSmile),o.xp6(2),o.Oqu((null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.COMPLETED?"Welcome "+t.information.alias+"! Your node is up and running.":(null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.INITIATED?"Wait! Getting your node information...":"Error! Please check the server connection."),o.xp6(1),o.Q6J("rowHeight",t.operatorCardHeight),o.xp6(1),o.Q6J("ngForOf",t.operatorCards)}}function En(t,e){if(1&t&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&t){o.oxw();const t=o.MAs(9);o.Q6J("matMenuTriggerFor",t)}}function Jn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-card-header"),o.TgZ(1,"mat-card-title",10),o.TgZ(2,"div"),o._UZ(3,"fa-icon",11),o.TgZ(4,"span"),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"div"),o.YNc(7,En,3,1,"button",12),o.TgZ(8,"mat-menu",13,41),o.TgZ(10,"button",15),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(11),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw().$implicit;o.xp6(3),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(2),o.Q6J("ngIf",t.link),o.xp6(4),o.hij("Go To ",t.goTo,"")}}function Dn(t,e){1&t&&o._UZ(0,"mat-progress-bar",27)}function Yn(t,e){if(1&t&&o._UZ(0,"rtl-cl-node-info",42),2&t){const t=o.oxw(3);o.Q6J("information",t.information)}}function Qn(t,e){if(1&t&&o._UZ(0,"rtl-cl-balances-info",29),2&t){const t=o.oxw(3);o.Q6J("balances",t.balances)("errorMessage",t.errorMessages[2]+" "+t.errorMessages[3])}}function Pn(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-liquidity-info",43),2&t){const t=o.oxw(3);o.Q6J("direction","In")("totalLiquidity",t.totalInboundLiquidity)("allChannels",t.allInboundChannels)("errorMessage",t.errorMessages[4])}}function Bn(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-liquidity-info",43),2&t){const t=o.oxw(3);o.Q6J("direction","Out")("totalLiquidity",t.totalOutboundLiquidity)("allChannels",t.allOutboundChannels)("errorMessage",t.errorMessages[4])}}function Hn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",52),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA(),o.TgZ(3,"mat-menu",13,53),o.TgZ(5,"button",15),o.NdJ("click",function(){o.CHM(t);const e=o.oxw(2).$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(6),o.qZA(),o.TgZ(7,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(4).onNavigateTo("/cl/reports/transactions")}),o._uU(8,"Transactions Summary"),o.qZA(),o.qZA()}if(2&t){const t=o.MAs(4),e=o.oxw(2).$implicit;o.Q6J("matMenuTriggerFor",t),o.xp6(6),o.hij("Go To ",e.goTo,"")}}function zn(t,e){1&t&&(o.TgZ(0,"span",44),o.TgZ(1,"mat-tab-group",45),o.TgZ(2,"mat-tab",46),o._UZ(3,"rtl-cl-lightning-invoices",47),o.qZA(),o.TgZ(4,"mat-tab",48),o._UZ(5,"rtl-cl-lightning-payments",49),o.qZA(),o.TgZ(6,"mat-tab",50),o.YNc(7,Hn,9,2,"ng-template",51),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("calledFrom","home"),o.xp6(2),o.Q6J("calledFrom","home"),o.xp6(1),o.Q6J("disabled",!0))}function Gn(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const Vn=function(t){return{"p-0":t}};function Xn(t,e){if(1&t&&(o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",35),o.YNc(2,Jn,12,4,"mat-card-header",36),o.TgZ(3,"mat-card-content",37),o.YNc(4,Dn,1,0,"mat-progress-bar",18),o.TgZ(5,"div",19),o.YNc(6,Yn,1,1,"rtl-cl-node-info",38),o.YNc(7,Qn,1,2,"rtl-cl-balances-info",21),o.YNc(8,Pn,1,4,"rtl-cl-channel-liquidity-info",39),o.YNc(9,Bn,1,4,"rtl-cl-channel-liquidity-info",39),o.YNc(10,zn,8,3,"span",40),o.YNc(11,Gn,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(1),o.Q6J("ngClass",o.VKq(13,Vn,"transactions"===t.id)),o.xp6(1),o.Q6J("ngIf","transactions"!==t.id),o.xp6(1),o.s9C("fxFlex","transactions"===t.id?100:"balance"===t.id?70:90),o.Q6J("ngClass",o.VKq(15,In,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchBalance.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR)||("inboundLiq"===t.id||"outboundLiq"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchBalance.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)||("inboundLiq"===t.id||"outboundLiq"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","inboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","outboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","transactions")}}function Wn(t,e){if(1&t&&(o.TgZ(0,"div",33),o._UZ(1,"fa-icon",4),o.TgZ(2,"span",5),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"mat-grid-list",34),o.YNc(5,Xn,12,17,"mat-grid-tile",7),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faSmile),o.xp6(2),o.hij("Welcome ",t.information.alias,"! Your node is up and running."),o.xp6(1),o.Q6J("rowHeight",t.merchantCardHeight),o.xp6(1),o.Q6J("ngForOf",t.merchantCards)}}let $n=(()=>{class t{constructor(t,e,n,a,s){this.logger=t,this.store=e,this.actions=n,this.commonService=a,this.router=s,this.faSmile=m.I3,this.faFrown=m.Kf,this.faAngleDoubleDown=g.Sbq,this.faAngleDoubleUp=g.Vfw,this.faChartPie=g.OS1,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.flgChildInfoUpdated=!1,this.userPersonaEnum=f.ol,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.totalBalance={},this.balances={onchain:-1,lightning:-1,total:0},this.allChannels=[],this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.errorMessages=["","","","","",""],this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:6,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}]):(this.operatorCardHeight=.77*window.screen.height/2+"px",this.merchantCardHeight=.76*window.screen.height/10+"px",this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:2,rows:5}])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.errorMessages=["","","","","",""],this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchInfo.status===f.Bn.ERROR&&(this.errorMessages[0]="object"==typeof this.apisCallStatus.FetchInfo.message?JSON.stringify(this.apisCallStatus.FetchInfo.message):this.apisCallStatus.FetchInfo.message),t.apisCallStatus.FetchFees.status===f.Bn.ERROR&&(this.errorMessages[1]="object"==typeof this.apisCallStatus.FetchFees.message?JSON.stringify(this.apisCallStatus.FetchFees.message):this.apisCallStatus.FetchFees.message),t.apisCallStatus.FetchBalance.status===f.Bn.ERROR&&(this.errorMessages[2]="object"==typeof this.apisCallStatus.FetchBalance.message?JSON.stringify(this.apisCallStatus.FetchBalance.message):this.apisCallStatus.FetchBalance.message),t.apisCallStatus.FetchLocalRemoteBalance.status===f.Bn.ERROR&&(this.errorMessages[3]="object"==typeof this.apisCallStatus.FetchLocalRemoteBalance.message?JSON.stringify(this.apisCallStatus.FetchLocalRemoteBalance.message):this.apisCallStatus.FetchLocalRemoteBalance.message),t.apisCallStatus.FetchChannels.status===f.Bn.ERROR&&(this.errorMessages[4]="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),t.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessages[5]="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),this.selNode=t.nodeSettings,this.information=t.information,this.fees=t.fees,this.totalBalance=t.balance,this.balances.onchain=t.balance.totalBalance,this.balances.lightning=t.localRemoteBalance.localBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances);const e=t.localRemoteBalance.localBalance?+t.localRemoteBalance.localBalance:0,n=t.localRemoteBalance.remoteBalance?+t.localRemoteBalance.remoteBalance:0;this.channelBalances={localBalance:e,remoteBalance:n,balancedness:+(1-Math.abs((e-n)/(e+n))).toFixed(3)},this.channelsStatus={active:{channels:t.information.num_active_channels,capacity:t.localRemoteBalance.localBalance},pending:{channels:t.information.num_pending_channels,capacity:t.localRemoteBalance.pendingBalance||0},inactive:{channels:t.information.num_inactive_channels,capacity:t.localRemoteBalance.inactiveBalance||0}},this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannels=t.allChannels.filter(t=>"CHANNELD_NORMAL"===t.state&&t.connected),this.allChannelsCapacity=this.allChannels.length>0?JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels,"balancedness"))):[],this.allInboundChannels=this.allChannels.length>0?JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(t=>t.msatoshi_to_them>0),"msatoshi_to_them"))):[],this.allOutboundChannels=this.allChannels.length>0?JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(t=>t.msatoshi_to_us>0),"msatoshi_to_us"))):[],this.allChannels.forEach(t=>{this.totalInboundLiquidity=this.totalInboundLiquidity+Math.ceil(t.msatoshi_to_them/1e3),this.totalOutboundLiquidity=this.totalOutboundLiquidity+Math.floor(t.msatoshi_to_us/1e3)}),this.flgChildInfoUpdated=this.balances.lightning>=0&&this.balances.onchain>=0&&this.fees.feeCollected>=0,this.logger.info(t)}),this.actions.pipe((0,p.R)(this.unSubs[2]),(0,h.h)(t=>t.type===x.yA||t.type===x.iK)).subscribe(t=>{t.type===x.yA&&(this.flgChildInfoUpdated=!1),t.type===x.iK&&(this.flgChildInfoUpdated=!0)})}onNavigateTo(t){this.router.navigateByUrl(t)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.allChannels.sort((t,e)=>{const n=+t.msatoshi_to_us+ +t.msatoshi_to_them,a=+e.msatoshi_to_them+ +e.msatoshi_to_them;return n>a?-1:n0?JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels,"balancedness"))):[])}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(A.eX),o.Y36(T.v),o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",3,"fxFlex","ngClass"],["mode","indeterminate",4,"ngIf"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately",4,"ngSwitchCase"],["fxFlex","100",3,"balances","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"fees","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","errorMessage",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["mode","indeterminate"],["fxFlex","100",3,"information","showColorFieldSeparately"],["fxFlex","100",3,"balances","errorMessage"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage"],["fxFlex","100",3,"fees","errorMessage"],["fxFlex","100",3,"channelsStatus","errorMessage"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",3,"fxFlex","ngClass"],["fxFlex","100",3,"information",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","column",1,"w-100","dashboard-tabs-group"],["label","Receive"],[1,"h-100",3,"calledFrom"],["label","Pay"],[3,"calledFrom"],[3,"disabled"],["mat-tab-label",""],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",2,"max-width","20px",3,"matMenuTriggerFor"],["menuTransactions","matMenu"]],template:function(t,e){if(1&t&&(o.YNc(0,Mn,7,4,"div",0),o.YNc(1,Wn,6,4,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",e.selNode.userPersona===e.userPersonaEnum.OPERATOR)("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,C.BN,w.Il,a.sg,w.DX,v.a8,l.yH,v.dk,v.n5,S.VK,S.OP,v.dn,a.mk,b.oO,a.RF,a.n9,a.ED,q.lW,S.p6,_.Hw,r.pW,k,O,z,X,K,ut,dt.SP,dt.uX,re,vn,dt.uD],styles:[""]}),t})();var Kn=n(5868),jn=n(1339),ta=n(1403),ea=n(9236),na=n(5001),aa=n(7753);const sa=["form"],ia=["formSweepAll"],oa=["stepper"];function la(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Bitcoin address is required."),o.qZA())}function ra(t,e){1&t&&(o.TgZ(0,"mat-hint"),o._uU(1,"Amount replaced by UTXO balance"),o.qZA())}function ca(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.amountError)}}function ua(t,e){if(1&t&&(o.TgZ(0,"mat-option",36),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(t)}}function da(t,e){if(1&t&&(o.TgZ(0,"mat-option",36),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t.feeRateId),o.xp6(1),o.hij(" ",t.feeRateType," ")}}function pa(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Min Confirmation Blocks is required."),o.qZA())}function ha(t,e){if(1&t&&(o.TgZ(0,"mat-option",36),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.hij("",o.lcZ(2,2,t.value)," Sats")}}function ma(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",37),o.TgZ(1,"mat-expansion-panel",38),o.NdJ("closed",function(){return o.CHM(t),o.oxw(2).onAdvancedPanelToggle(!0)})("opened",function(){return o.CHM(t),o.oxw(2).onAdvancedPanelToggle(!1)}),o.TgZ(2,"mat-expansion-panel-header"),o.TgZ(3,"mat-panel-title"),o.TgZ(4,"span"),o._uU(5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(6,"div",31),o.TgZ(7,"div",39),o.TgZ(8,"mat-form-field",40),o.TgZ(9,"mat-select",41),o.NdJ("selectionChange",function(e){return o.CHM(t),o.oxw(2).onUTXOSelectionChange(e)})("valueChange",function(e){return o.CHM(t),o.oxw(2).selUTXOs=e}),o.TgZ(10,"mat-select-trigger"),o._uU(11),o.ALo(12,"number"),o.qZA(),o.YNc(13,ha,3,4,"mat-option",21),o.qZA(),o.qZA(),o.TgZ(14,"mat-slide-toggle",42),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw(2).flgUseAllBalance=e})("change",function(){return o.CHM(t),o.oxw(2).onUTXOAllBalanceChange()}),o._uU(15," Use selected UTXOs balance "),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.xp6(5),o.Oqu(t.advancedTitle),o.xp6(4),o.Q6J("value",t.selUTXOs),o.xp6(2),o.AsE("",o.lcZ(12,7,t.totalSelectedUTXOAmount)," Sats (",t.selUTXOs.length>1?t.selUTXOs.length+" UTXOs":"1 UTXO",")"),o.xp6(2),o.Q6J("ngForOf",t.utxos),o.xp6(1),o.Q6J("ngModel",t.flgUseAllBalance)("disabled",t.selUTXOs.length<1)}}function ga(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.sendFundError)}}function fa(t,e){if(1&t&&(o.TgZ(0,"div",43),o._UZ(1,"fa-icon",44),o.YNc(2,ga,2,1,"span",14),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.sendFundError)}}function xa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"form",9,10),o.NdJ("submit",function(){return o.CHM(t),o.oxw().onSendFunds()})("reset",function(){return o.CHM(t),o.oxw().resetData()}),o.TgZ(2,"mat-form-field",11),o.TgZ(3,"input",12,13),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().transaction.address=e}),o.qZA(),o.YNc(5,la,2,0,"mat-error",14),o.qZA(),o.TgZ(6,"mat-form-field",15),o.TgZ(7,"input",16,17),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().transaction.satoshis=e}),o.qZA(),o.YNc(9,ra,2,0,"mat-hint",14),o.TgZ(10,"span",18),o._uU(11),o.qZA(),o.YNc(12,ca,2,1,"mat-error",14),o.qZA(),o.TgZ(13,"mat-form-field",19),o.TgZ(14,"mat-select",20),o.NdJ("selectionChange",function(e){return o.CHM(t),o.oxw().onAmountUnitChange(e)}),o.YNc(15,ua,2,2,"mat-option",21),o.qZA(),o.qZA(),o.TgZ(16,"div",22),o.TgZ(17,"mat-form-field",23),o.TgZ(18,"mat-select",24),o.NdJ("valueChange",function(e){return o.CHM(t),o.oxw().transaction.feeRate=e}),o.YNc(19,da,2,2,"mat-option",21),o.qZA(),o.qZA(),o.TgZ(20,"div",25),o.TgZ(21,"mat-checkbox",26),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().flgMinConf=e})("change",function(){o.CHM(t);const e=o.oxw();return e.flgMinConf?e.transaction.feeRate=null:e.transaction.minconf=null}),o.qZA(),o.TgZ(22,"mat-form-field",27),o.TgZ(23,"input",28,29),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().transaction.minconf=e}),o.qZA(),o.YNc(25,pa,2,0,"mat-error",14),o.qZA(),o.qZA(),o.qZA(),o.YNc(26,ma,16,9,"div",30),o._UZ(27,"div",31),o.YNc(28,fa,3,2,"div",32),o.TgZ(29,"div",33),o.TgZ(30,"button",34),o._uU(31,"Clear Fields"),o.qZA(),o.TgZ(32,"button",35),o._uU(33,"Send Funds"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.transaction.address),o.xp6(2),o.Q6J("ngIf",!t.transaction.address),o.xp6(2),o.Q6J("ngModel",t.transaction.satoshis)("type",t.flgUseAllBalance?"text":"number")("step",100)("min",0)("disabled",t.flgUseAllBalance),o.xp6(2),o.Q6J("ngIf",t.flgUseAllBalance),o.xp6(2),o.hij(" ",t.selAmountUnit," "),o.xp6(1),o.Q6J("ngIf",!t.transaction.satoshis),o.xp6(2),o.Q6J("value",t.selAmountUnit)("disabled",t.flgUseAllBalance),o.xp6(1),o.Q6J("ngForOf",t.amountUnits),o.xp6(3),o.Q6J("value",t.transaction.feeRate)("disabled",t.flgMinConf),o.xp6(1),o.Q6J("ngForOf",t.feeRateTypes),o.xp6(2),o.Q6J("ngModel",t.flgMinConf),o.xp6(2),o.Q6J("ngModel",t.transaction.minconf)("step",1)("min",0)("required",t.flgMinConf)("disabled",!t.flgMinConf),o.xp6(2),o.Q6J("ngIf",t.flgMinConf&&!t.transaction.minconf),o.xp6(1),o.Q6J("ngIf",t.isCompatibleVersion),o.xp6(2),o.Q6J("ngIf",""!==t.sendFundError)}}function Za(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw(3);o.Oqu(t.passwordFormLabel)}}function ya(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Password is required."),o.qZA())}function Aa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-step",49),o.TgZ(1,"form",69),o.YNc(2,Za,1,1,"ng-template",63),o.TgZ(3,"div",0),o.TgZ(4,"mat-form-field",1),o._UZ(5,"input",70),o.YNc(6,ya,2,0,"mat-error",14),o.qZA(),o.qZA(),o.TgZ(7,"div",71),o.TgZ(8,"button",72),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onAuthenticate()}),o._uU(9,"Confirm"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.Q6J("stepControl",t.passwordFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.passwordFormGroup),o.xp6(5),o.Q6J("ngIf",null==t.passwordFormGroup.controls.password.errors?null:t.passwordFormGroup.controls.password.errors.required)}}function Ta(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw(2);o.Oqu(t.sendFundFormLabel)}}function Ca(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Bitcoin address is required."),o.qZA())}function wa(t,e){if(1&t&&(o.TgZ(0,"mat-option",36),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t.feeRateId),o.xp6(1),o.hij(" ",t.feeRateType," ")}}function va(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees Rate is required."),o.qZA())}function Sa(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Min confirmation blocks is required."),o.qZA())}function ba(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw(2);o.Oqu(t.confirmFormLabel)}}function qa(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.sendFundError)}}function _a(t,e){if(1&t&&(o.TgZ(0,"div",43),o._UZ(1,"fa-icon",44),o.YNc(2,qa,2,1,"span",14),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.sendFundError)}}function Fa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",45),o.TgZ(1,"mat-vertical-stepper",46,47),o.NdJ("selectionChange",function(e){return o.CHM(t),o.oxw().stepSelectionChanged(e)}),o.YNc(3,Aa,10,4,"mat-step",48),o.TgZ(4,"mat-step",49),o.TgZ(5,"form",50),o.YNc(6,Ta,1,1,"ng-template",51),o.TgZ(7,"div",31),o.TgZ(8,"mat-form-field",1),o._UZ(9,"input",52),o.YNc(10,Ca,2,0,"mat-error",14),o.qZA(),o.TgZ(11,"div",53),o.TgZ(12,"mat-form-field",54),o.TgZ(13,"mat-select",55),o.YNc(14,wa,2,2,"mat-option",21),o.qZA(),o.YNc(15,va,2,0,"mat-error",14),o.qZA(),o.TgZ(16,"div",56),o._UZ(17,"mat-checkbox",57),o.TgZ(18,"mat-form-field",27),o._UZ(19,"input",58),o.YNc(20,Sa,2,0,"mat-error",14),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(21,"div",59),o.TgZ(22,"button",60),o._uU(23,"Next"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(24,"mat-step",61),o.TgZ(25,"form",62),o.YNc(26,ba,1,1,"ng-template",63),o.TgZ(27,"div",45),o.TgZ(28,"div",64),o._UZ(29,"fa-icon",65),o.TgZ(30,"span"),o._uU(31,"You are about to sweep all funds from RTL. Are you sure?"),o.qZA(),o.qZA(),o.YNc(32,_a,3,2,"div",32),o.TgZ(33,"div",59),o.TgZ(34,"button",66),o.NdJ("click",function(){return o.CHM(t),o.oxw().onSendFunds()}),o._uU(35,"Sweep All Funds"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(36,"div",67),o.TgZ(37,"button",68),o._uU(38),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(1),o.Q6J("linear",!0),o.xp6(2),o.Q6J("ngIf",!t.appConfig.sso.rtlSSO),o.xp6(1),o.Q6J("stepControl",t.sendFundFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.sendFundFormGroup),o.xp6(5),o.Q6J("ngIf",null==t.sendFundFormGroup.controls.transactionAddress.errors?null:t.sendFundFormGroup.controls.transactionAddress.errors.required),o.xp6(4),o.Q6J("ngForOf",t.feeRateTypes),o.xp6(1),o.Q6J("ngIf",null==t.sendFundFormGroup.controls.transactionFeeRate.errors?null:t.sendFundFormGroup.controls.transactionFeeRate.errors.required),o.xp6(4),o.Q6J("step",1)("min",0),o.xp6(1),o.Q6J("ngIf",null==t.sendFundFormGroup.controls.transactionBlocks.errors?null:t.sendFundFormGroup.controls.transactionBlocks.errors.required),o.xp6(4),o.Q6J("stepControl",t.confirmFormGroup),o.xp6(1),o.Q6J("formGroup",t.confirmFormGroup),o.xp6(4),o.Q6J("icon",t.faExclamationTriangle),o.xp6(3),o.Q6J("ngIf",""!==t.sendFundError),o.xp6(5),o.Q6J("mat-dialog-close",!1),o.xp6(1),o.Oqu(t.flgValidated?"Close":"Cancel")}}let La=(()=>{class t{constructor(t,e,n,a,s,i,o,l,r,c){this.dialogRef=t,this.data=e,this.logger=n,this.store=a,this.commonService=s,this.decimalPipe=i,this.actions=o,this.formBuilder=l,this.rtlEffects=r,this.snackBar=c,this.faExclamationTriangle=g.eHv,this.sweepAll=!1,this.selNode={},this.addressTypes=[],this.utxos=[],this.selUTXOs=[],this.flgUseAllBalance=!1,this.totalSelectedUTXOAmount=null,this.selectedAddress=f._t[1],this.blockchainBalance={},this.information={},this.isCompatibleVersion=!1,this.newAddress="",this.transaction={},this.feeRateTypes=f.vn,this.flgMinConf=!1,this.sendFundError="",this.fiatConversion=!1,this.amountUnits=f.uA,this.selAmountUnit=f.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=f.Xz,this.advancedTitle="Advanced Options",this.flgValidated=!1,this.flgEditable=!0,this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds",this.confirmFormLabel="Confirm sweep",this.amountError="Amount is Required.",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.sweepAll=this.data.sweepAll,this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[ft.kI.required]],password:["",[ft.kI.required]]}),this.sendFundFormGroup=this.formBuilder.group({transactionAddress:["",ft.kI.required],transactionFeeRate:[null],flgMinConf:[!1],transactionBlocks:[{value:null,disabled:!0}]}),this.confirmFormGroup=this.formBuilder.group({}),this.sendFundFormGroup.controls.flgMinConf.valueChanges.pipe((0,p.R)(this.unSubs[4])).subscribe(t=>{t?(this.sendFundFormGroup.controls.transactionBlocks.enable(),this.sendFundFormGroup.controls.transactionBlocks.setValidators([ft.kI.required]),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFeeRate.disable(),this.sendFundFormGroup.controls.transactionFeeRate.setValue(null)):(this.sendFundFormGroup.controls.transactionBlocks.disable(),this.sendFundFormGroup.controls.transactionBlocks.setValidators(null),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionBlocks.setErrors(null),this.sendFundFormGroup.controls.transactionFeeRate.enable(),this.sendFundFormGroup.controls.transactionFeeRate.setValue(null))}),(0,Kn.a)([this.store.select("root"),this.store.select("cl")]).pipe((0,p.R)(this.unSubs[0])).subscribe(([t,e])=>{this.fiatConversion=t.selNode.settings.fiatConversion,this.amountUnits=t.selNode.settings.currencyUnits,this.appConfig=t.appConfig,this.nodeData=t.nodeData,this.information=e.information,this.isCompatibleVersion=this.commonService.isVersionCompatible(this.information.version,"0.9.0")&&this.commonService.isVersionCompatible(this.information.api_version,"0.4.0"),this.utxos=this.commonService.sortAscByKey(e.utxos.filter(t=>"confirmed"===t.status),"value"),this.logger.info(t),this.logger.info(e)}),this.actions.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.qe||t.type===x.ob)).subscribe(t=>{t.type===x.ob&&(this.store.dispatch(new Ft.Lw("Fund Sent Successfully!")),this.dialogRef.close()),t.type===x.qe&&t.payload.status===f.Bn.ERROR&&"SetChannelTransaction"===t.payload.action&&(this.sendFundError=t.payload.message)})}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new Ft.ZF(jn(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,ce.q)(1)).subscribe(t=>{"ERROR"!==t?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="",this.flgUseAllBalance&&(this.transaction.satoshis="all"),this.selUTXOs.length&&this.selUTXOs.length>0&&(this.transaction.utxos=[],this.selUTXOs.forEach(t=>this.transaction.utxos.push(t.txid+":"+t.output))),this.sweepAll?(this.transaction.satoshis="all",this.transaction.address=this.sendFundFormGroup.controls.transactionAddress.value,this.sendFundFormGroup.controls.flgMinConf.value?(delete this.transaction.feeRate,this.transaction.minconf=this.sendFundFormGroup.controls.transactionBlocks.value):(delete this.transaction.minconf,this.sendFundFormGroup.controls.transactionFeeRate.value?this.transaction.feeRate=this.sendFundFormGroup.controls.transactionFeeRate.value:delete this.transaction.feeRate),delete this.transaction.utxos,this.store.dispatch(new x.uj(this.transaction))):this.transaction.satoshis&&"all"!==this.transaction.satoshis&&this.selAmountUnit!==f.NT.SATS?this.commonService.convertCurrency(+this.transaction.satoshis,this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit,f.NT.SATS,this.amountUnits[2],this.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe({next:t=>{this.transaction.satoshis=t[f.NT.SATS],this.selAmountUnit=f.NT.SATS,this.store.dispatch(new x.uj(this.transaction))},error:t=>{this.transaction.satoshis=null,this.selAmountUnit=f.NT.SATS,this.amountError="Conversion Error: "+t}}):this.store.dispatch(new x.uj(this.transaction))}get invalidValues(){return this.sweepAll?!this.sendFundFormGroup.controls.transactionAddress.value||""===this.sendFundFormGroup.controls.transactionAddress.value||this.sendFundFormGroup.controls.flgMinConf.value&&(!this.sendFundFormGroup.controls.transactionBlocks.value||this.sendFundFormGroup.controls.transactionBlocks.value<=0):!this.transaction.address||""===this.transaction.address||!this.transaction.satoshis||+this.transaction.satoshis<=0||this.flgMinConf&&(!this.transaction.minconf||this.transaction.minconf<=0)}resetData(){this.sendFundError="",this.transaction={},this.flgMinConf=!1,this.totalSelectedUTXOAmount=null,this.selUTXOs=[],this.flgUseAllBalance=!1,this.selAmountUnit=f.uA[0]}stepSelectionChanged(t){switch(this.sendFundError="",t.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds";break;case 1:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds";break;case 2:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds | Address: "+this.sendFundFormGroup.controls.transactionAddress.value+(this.sendFundFormGroup.controls.flgMinConf.value?" | Min Confirmation Blocks: "+this.sendFundFormGroup.controls.transactionBlocks.value:this.sendFundFormGroup.controls.transactionFeeRate.value?" | Fee Rate: "+this.feeRateTypes.find(t=>t.feeRateId===this.sendFundFormGroup.controls.transactionFeeRate.value).feeRateType:"");break;default:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds"}t.selectedIndex0?(this.totalSelectedUTXOAmount=this.selUTXOs.reduce((t,n)=>(e.value=t.value+n.value,e)).value,this.flgUseAllBalance&&this.onUTXOAllBalanceChange()):(this.totalSelectedUTXOAmount=null,this.transaction.satoshis=null,this.flgUseAllBalance=!1)}onUTXOAllBalanceChange(){this.flgUseAllBalance?(this.transaction.satoshis=this.totalSelectedUTXOAmount,this.selAmountUnit=f.uA[0]):this.transaction.satoshis=null}onAmountUnitChange(t){const e=this,n=this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit;let a=t.value===this.amountUnits[2]?f.NT.OTHER:t.value;this.transaction.satoshis&&this.selAmountUnit!==t.value&&this.commonService.convertCurrency(+this.transaction.satoshis,n,a,this.amountUnits[2],this.fiatConversion).pipe((0,p.R)(this.unSubs[3])).subscribe({next:n=>{this.selAmountUnit=t.value,e.transaction.satoshis=e.decimalPipe.transform(n[a],e.currencyUnitFormats[a]).replace(/,/g,"")},error:t=>{e.transaction.satoshis=null,this.amountError="Conversion Error: "+t,this.selAmountUnit=n,a=n}})}onAdvancedPanelToggle(t){this.advancedTitle=t&&this.selUTXOs.length&&this.selUTXOs.length>0?"Advanced Options | Selected UTXOs: "+this.selUTXOs.length+" | Selected UTXO Amount: "+this.decimalPipe.transform(this.totalSelectedUTXOAmount)+" Sats":"Advanced Options"}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(gt.WI),o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(T.v),o.Y36(a.JJ),o.Y36(A.eX),o.Y36(ft.qu),o.Y36(Lt.V),o.Y36(ta.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-on-chain-send-modal"]],viewQuery:function(t,e){if(1&t&&(o.Gf(sa,7),o.Gf(ia,5),o.Gf(oa,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first),o.iGM(t=o.CRH())&&(e.formSweepAll=t.first),o.iGM(t=o.CRH())&&(e.stepper=t.first)}},decls:12,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100","class","overflow-x-hidden",3,"submit","reset",4,"ngIf","ngIfElse"],["sweepAllBlock",""],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex","55"],["matInput","","autoFocus","","placeholder","Bitcoin Address","tabindex","1","name","address","required","",3,"ngModel","ngModelChange"],["address","ngModel"],[4,"ngIf"],["fxFlex","30"],["matInput","","placeholder","Amount","name","amount","tabindex","2","required","",3,"ngModel","type","step","min","disabled","ngModelChange"],["amount","ngModel"],["matSuffix",""],["fxFlex","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","disabled","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","60","fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","6","placeholder","Fee Rate",3,"value","disabled","valueChange"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","7","color","primary","name","flgMinConf","fxLayoutAlign","stretch start",1,"mr-2",3,"ngModel","ngModelChange","change"],["fxFlex","98"],["matInput","","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"ngModel","step","min","required","disabled","ngModelChange"],["blocks","ngModel"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxFlex","100","expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","35","fxLayoutAlign","start end"],["tabindex","8","placeholder","Coin Selection","multiple","",3,"value","selectionChange","valueChange"],["fxFlex","60","tabindex","9","color","primary","name","flgUseAllBalance","matTooltip","Use selected UTXOs balance as the amount to be sent. Final amount sent will be less the mining fee.","matTooltipPosition","above",3,"ngModel","disabled","ngModelChange","change"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl","editable"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["matInput","","formControlName","transactionAddress","placeholder","Bitcoin Address","tabindex","4","name","address","required",""],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex.gt-sm","48","fxLayoutAlign","start end"],["tabindex","5","placeholder","Fee Rate","formControlName","transactionFeeRate"],["fxFlex.gt-sm","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","6","color","primary","formControlName","flgMinConf","name","flgMinCon",1,"mr-2"],["matInput","","formControlName","transactionBlocks","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","7","required","",3,"step","min"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","default","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["fxFlex","100",1,"w-100","alert","alert-warn"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["mat-stroked-button","","color","primary","tabindex","9","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","default",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.YNc(9,xa,34,25,"form",7),o.qZA(),o.qZA(),o.qZA(),o.YNc(10,Fa,39,17,"ng-template",null,8,o.W1O)),2&t){const t=o.MAs(11);o.xp6(5),o.Oqu(e.sweepAll?"Sweep All Funds":"Send Funds"),o.xp6(1),o.Q6J("mat-dialog-close",!1),o.xp6(3),o.Q6J("ngIf",!e.sweepAll)("ngIfElse",t)}},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,gt.ZT,v.dn,a.O5,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,Zt.h,ft.Q7,ft.JJ,ft.On,yt.q,M.R9,At.gD,a.sg,ea.oG,ft.wV,ft.qQ,M.TO,M.bx,Ct.ey,na.ib,na.yz,na.yK,At.$L,Tt.Rr,E.gM,C.BN,aa.Vq,aa.C0,ft.sg,aa.VY,ft.u,aa.Ic],pipes:[a.JJ],styles:[""]}),t})();var Ua=n(882);function Ra(t,e){1&t&&o._UZ(0,"mat-progress-bar",27)}function ka(t,e){1&t&&(o.TgZ(0,"th",28),o._uU(1," Transaction ID "),o.qZA())}function Na(t,e){1&t&&(o.TgZ(0,"span",36),o.TgZ(1,"mat-icon",37),o._uU(2,"warning"),o.qZA(),o.qZA())}function Ia(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,Na,3,0,"span",35),o.qZA()),2&t){const t=o.oxw().$implicit;o.oxw();const e=o.MAs(32);o.xp6(1),o.Q6J("ngIf",t.value<1e3)("ngIfElse",e)}}function Oa(t,e){1&t&&o._UZ(0,"span",38)}function Ma(t,e){if(1&t&&(o._UZ(0,"span",39),o.ALo(1,"titlecase")),2&t){const t=o.oxw().$implicit;o.s9C("matTooltip",o.lcZ(1,1,t.status))}}const Ea=function(t){return{"max-width":t}};function Ja(t,e){if(1&t&&(o.TgZ(0,"td",29),o.TgZ(1,"span",30),o.YNc(2,Ia,2,2,"span",31),o.YNc(3,Oa,1,0,"span",32),o.YNc(4,Ma,2,3,"span",33),o.TgZ(5,"span",34),o._uU(6),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(5,Ea,n.screenSize===n.screenSizeEnum.XS?"10rem":"50rem")),o.xp6(1),o.Q6J("ngIf",n.numDustUTXOs>0&&!n.isDustUTXO),o.xp6(1),o.Q6J("ngIf","confirmed"===t.status),o.xp6(1),o.Q6J("ngIf","confirmed"!==t.status),o.xp6(2),o.Oqu(t.txid)}}function Da(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Output "),o.qZA())}function Ya(t,e){if(1&t&&(o.TgZ(0,"td",29),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.output)," ")}}function Qa(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Value (Sats) "),o.qZA())}function Pa(t,e){if(1&t&&(o.TgZ(0,"span",41),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,t.value))}}function Ba(t,e){if(1&t&&(o.TgZ(0,"span",44),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.hij("(",o.lcZ(2,1,-1*t.value),")")}}function Ha(t,e){if(1&t&&(o.TgZ(0,"td",29),o.YNc(1,Pa,3,3,"span",42),o.YNc(2,Ba,3,3,"span",43),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf",t.value>0||0===t.value),o.xp6(1),o.Q6J("ngIf",t.value<0)}}function za(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Blockheight "),o.qZA())}function Ga(t,e){if(1&t&&(o.TgZ(0,"td",29),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.blockheight)," ")}}function Va(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",45),o.TgZ(1,"div",46),o.TgZ(2,"mat-select",47),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",48),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Xa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",49),o.TgZ(1,"button",50),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onUTXOClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Wa(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No utxos available."),o.qZA())}function $a(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting utxos..."),o.qZA())}function Ka(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function ja(t,e){if(1&t&&(o.TgZ(0,"td",51),o.YNc(1,Wa,2,0,"p",31),o.YNc(2,$a,2,0,"p",31),o.YNc(3,Ka,2,1,"p",31),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.listUTXOs&&t.listUTXOs.data)||(null==t.listUTXOs||null==t.listUTXOs.data?null:t.listUTXOs.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchUTXOs.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.listUTXOs&&t.listUTXOs.data)||(null==t.listUTXOs||null==t.listUTXOs.data?null:t.listUTXOs.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchUTXOs.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.listUTXOs&&t.listUTXOs.data)||(null==t.listUTXOs||null==t.listUTXOs.data?null:t.listUTXOs.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchUTXOs.status)===t.apiCallStatusEnum.ERROR)}}const ts=function(t){return{"display-none":t}};function es(t,e){if(1&t&&o._UZ(0,"tr",52),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,ts,(null==t.listUTXOs?null:t.listUTXOs.data)&&(null==t.listUTXOs||null==t.listUTXOs.data?null:t.listUTXOs.data.length)>0))}}function ns(t,e){1&t&&o._UZ(0,"tr",53)}function as(t,e){1&t&&o._UZ(0,"tr",54)}function ss(t,e){1&t&&o._UZ(0,"mat-icon",37)}const is=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},os=function(){return["no_utxo"]};let ls=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.numDustUTXOs=0,this.isDustUTXO=!1,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["txid","value","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["txid","output","value","blockheight","actions"]):(this.flgSticky=!0,this.displayedColumns=["txid","output","value","blockheight","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchUTXOs.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchUTXOs.message?JSON.stringify(this.apisCallStatus.FetchUTXOs.message):this.apisCallStatus.FetchUTXOs.message),this.logger.info(t)})}ngAfterViewInit(){this.utxos&&this.utxos.length>0&&this.sort&&this.paginator&&this.loadUTXOsTable(this.utxos)}ngOnChanges(){this.utxos&&this.utxos.length>0&&this.loadUTXOsTable(this.utxos)}applyFilter(t){this.listUTXOs.filter=t.value.trim().toLowerCase()}onUTXOClick(t,e){const n=[[{key:"txid",value:t.txid,title:"Transaction ID",width:100}],[{key:"output",value:t.output,title:"Output",width:50,type:f.Gi.NUMBER},{key:"value",value:t.value,title:"Value (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"status",value:this.commonService.titleCase(t.status),title:"Status",width:50,type:f.Gi.STRING},{key:"blockheight",value:t.blockheight,title:"Blockheight",width:50,type:f.Gi.NUMBER}],[{key:"address",value:t.address,title:"Address",width:100}]];this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"UTXO Information",message:n}}))}loadUTXOsTable(t){this.listUTXOs=new mt.by([...t]),this.listUTXOs.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listUTXOs.sort=this.sort,this.listUTXOs.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.listUTXOs.paginator=this.paginator,this.logger.info(this.listUTXOs)}onDownloadCSV(){this.listUTXOs.data&&this.listUTXOs.data.length>0&&this.commonService.downloadFile(this.listUTXOs.data,"UTXOs")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-on-chain-utxos"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{numDustUTXOs:"numDustUTXOs",isDustUTXO:"isDustUTXO",utxos:"utxos"},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("UTXOs")}]),o.TTD],decls:33,vars:13,consts:[["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","txid"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","output"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","value"],["matColumnDef","blockheight"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_utxo"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["emptySpace",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[4,"ngIf"],["class","dot green","matTooltip","Confirmed","matTooltipPosition","right",4,"ngIf"],["class","dot yellow","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Risk of dust attack","matTooltipPosition","right",4,"ngIf","ngIfElse"],["matTooltip","Risk of dust attack","matTooltipPosition","right"],["fxLayoutAlign","start center","color","warn",1,"mr-1"],["matTooltip","Confirmed","matTooltipPosition","right",1,"dot","green"],["matTooltipPosition","right",1,"dot","yellow",3,"matTooltip"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(t){return e.applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.TgZ(6,"div",6),o.YNc(7,Ra,1,0,"mat-progress-bar",7),o.TgZ(8,"table",8,9),o.ynx(10,10),o.YNc(11,ka,2,0,"th",11),o.YNc(12,Ja,7,7,"td",12),o.BQk(),o.ynx(13,13),o.YNc(14,Da,2,0,"th",14),o.YNc(15,Ya,4,3,"td",12),o.BQk(),o.ynx(16,15),o.YNc(17,Qa,2,0,"th",14),o.YNc(18,Ha,3,2,"td",12),o.BQk(),o.ynx(19,16),o.YNc(20,za,2,0,"th",14),o.YNc(21,Ga,4,3,"td",12),o.BQk(),o.ynx(22,17),o.YNc(23,Va,6,0,"th",18),o.YNc(24,Xa,3,0,"td",19),o.BQk(),o.ynx(25,20),o.YNc(26,ja,4,3,"td",21),o.BQk(),o.YNc(27,es,1,3,"tr",22),o.YNc(28,ns,1,0,"tr",23),o.YNc(29,as,1,0,"tr",24),o.qZA(),o._UZ(30,"mat-paginator",25),o.qZA(),o.qZA(),o.qZA(),o.YNc(31,ss,1,0,"ng-template",null,26,o.W1O)),2&t&&(o.xp6(7),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchUTXOs.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.listUTXOs)("ngClass",o.VKq(10,is,""!==e.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(12,os)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,M.KE,xt.Nt,D.$V,a.O5,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,a.PC,b.Zl,E.gM,_.Hw,At.gD,At.$L,Ct.ey,q.lW,mt.yh,mt.Q2,mt.XQ,mt.Gk],pipes:[a.rS,a.JJ],styles:[".mat-column-txid[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-txid[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var rs=n(1050);function cs(t,e){if(1&t&&(o.TgZ(0,"span",5),o._uU(1,"UTXOs"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.numUtxos)}}function us(t,e){if(1&t&&(o.TgZ(0,"span",5),o._uU(1,"Dust UTXOs"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.numDustUtxos)}}let ds=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.selectedTableIndex=0,this.selectedTableIndexChange=new o.vpe,this.utxos=[],this.numUtxos=0,this.dustUtxos=[],this.numDustUtxos=0,this.unSubs=[new d.x]}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{t.utxos&&t.utxos.length>0&&(this.utxos=t.utxos,this.numUtxos=this.utxos.length,this.dustUtxos=t.utxos.filter(t=>+t.value<1e3),this.numDustUtxos=this.dustUtxos.length),t.utxos&&t.utxos.length>0&&(this.utxos=t.utxos,this.numUtxos=this.utxos.length),this.logger.info(t)})}onSelectedIndexChanged(t){this.selectedTableIndexChange.emit(t)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-utxo-tables"]],inputs:{selectedTableIndex:"selectedTableIndex"},outputs:{selectedTableIndexChange:"selectedTableIndexChange"},decls:8,vars:7,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"bordered-box"],[3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],["xLayout","row","fxFlex","100",3,"utxos","numDustUTXOs","isDustUTXO"],["fxLayout","row","fxFlex","100",3,"utxos","numDustUTXOs","isDustUTXO"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"mat-tab-group",1),o.NdJ("selectedIndexChange",function(t){return e.onSelectedIndexChanged(t)}),o.TgZ(2,"mat-tab"),o.YNc(3,cs,2,1,"ng-template",2),o._UZ(4,"rtl-cl-on-chain-utxos",3),o.qZA(),o.TgZ(5,"mat-tab"),o.YNc(6,us,2,1,"ng-template",2),o._UZ(7,"rtl-cl-on-chain-utxos",4),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("selectedIndex",e.selectedTableIndex),o.xp6(3),o.Q6J("utxos",e.utxos)("numDustUTXOs",e.numDustUtxos)("isDustUTXO",!1),o.xp6(3),o.Q6J("utxos",e.dustUtxos)("numDustUTXOs",e.numDustUtxos)("isDustUTXO",!0))},directives:[l.xw,l.yH,l.Wh,dt.SP,dt.uX,dt.uD,ls,rs.k],styles:[""]}),t})();const ps=function(t,e){return[t,e]};function hs(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",12),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=null==e?null:e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.Q6J("active",n.activeLink===(null==t?null:t.link))("routerLink",o.WLB(3,ps,null==t?null:t.link,null==n.selectedTable?null:n.selectedTable.name)),o.xp6(1),o.Oqu(null==t?null:t.name)}}let ms=(()=>{class t{constructor(t,e,n){this.store=t,this.router=e,this.activatedRoute=n,this.selNode={},this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"},{link:"sweep",name:"Sweep All"}],this.activeLink=this.links[0].link,this.tables=[{id:0,name:"utxos"},{id:1,name:"dustUtxos"}],this.selectedTable=this.tables[0],this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.selectedTable=this.tables.find(t=>t.name===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.selectedTable=this.tables.find(e=>e.name===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.selNode=t.nodeSettings,this.balances=[{title:"Total Balance",dataValue:t.balance.totalBalance||0},{title:"Confirmed",dataValue:t.balance.confBalance},{title:"Unconfirmed",dataValue:t.balance.unconfBalance}]})}openSendFundsModal(t){this.store.dispatch(new Ft.wu({data:{sweepAll:t,component:La}}))}onSelectedTableIndexChanged(t){this.selectedTable=this.tables.find(e=>e.id===t),this.router.navigate(["./",this.activeLink,this.selectedTable.name],{relativeTo:this.activatedRoute})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh),o.Y36(s.F0),o.Y36(s.gz))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-on-chain"]],decls:21,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100",3,"selectedTableIndex","selectedTableIndexChange"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"On-chain Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",7),o.YNc(16,hs,2,6,"div",8),o.qZA(),o.TgZ(17,"div",9),o._UZ(18,"router-outlet"),o.qZA(),o.TgZ(19,"div",10),o.TgZ(20,"rtl-cl-utxo-tables",11),o.NdJ("selectedTableIndexChange",function(t){return e.onSelectedTableIndexChanged(t)}),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",e.links),o.xp6(4),o.Q6J("selectedTableIndex",null==e.selectedTable?null:e.selectedTable.id))},directives:[l.xw,l.Wh,C.BN,v.a8,v.dn,Ua.D,dt.BU,a.sg,l.yH,s.lC,ds,dt.Nj,s.rH],styles:[""]}),t})();function gs(t,e){if(1&t&&(o.TgZ(0,"span",10),o._uU(1,"Channels"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.activeChannels)}}function fs(t,e){if(1&t&&(o.TgZ(0,"span",10),o._uU(1,"Peers"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.activePeers)}}let xs=(()=>{class t{constructor(t,e,n){this.store=t,this.logger=e,this.router=n,this.activePeers=0,this.activeChannels=0,this.faUsers=g.FVb,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.activePeers=t.peers&&t.peers.length?t.peers.length:0,this.activeChannels=t.information.num_active_channels,this.balances=[{title:"Total Balance",dataValue:t.balance.totalBalance||0},{title:"Confirmed",dataValue:t.balance.confBalance},{title:"Unconfirmed",dataValue:t.balance.unconfBalance}],this.logger.info(t)})}onSelectedTabChange(t){this.router.navigateByUrl("/cl/connections/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh),o.Y36(Z.mQ),o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Connections"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"mat-tab-group",7),o.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),o.TgZ(16,"mat-tab"),o.YNc(17,gs,2,1,"ng-template",8),o.qZA(),o.TgZ(18,"mat-tab"),o.YNc(19,fs,2,1,"ng-template",8),o.qZA(),o.qZA(),o.TgZ(20,"div",9),o._UZ(21,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faUsers),o.xp6(6),o.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.Wh,C.BN,v.a8,v.dn,Ua.D,dt.SP,dt.uX,dt.uD,l.yH,s.lC,rs.k],styles:[""]}),t})();function Zs(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",11),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let ys=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.router=n,this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("cl").pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.currencyUnits=t.nodeSettings.currencyUnits,this.balances=t.nodeSettings.userPersona===f.ol.OPERATOR?[{title:"Local Capacity",dataValue:t.localRemoteBalance.localBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:t.localRemoteBalance.remoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:t.localRemoteBalance.localBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:t.localRemoteBalance.remoteBalance,tooltip:"Amount you can receive"}],this.logger.info(t)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Lightning Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",6),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Lightning Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",7),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",8),o.YNc(16,Zs,2,3,"div",9),o.qZA(),o.TgZ(17,"div",10),o._UZ(18,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,C.BN,v.a8,v.dn,Ua.D,dt.BU,a.sg,l.yH,s.lC,dt.Nj,s.rH],styles:[""]}),t})();function As(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",11),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let Ts=(()=>{class t{constructor(t){this.router=t,this.faMapSigns=g.SuH,this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"routingpeers",name:"Routing Peers"},{link:"failedtransactions",name:"Failed Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-routing"]],decls:13,vars:2,consts:[["fxLayout","column",1,"mb-2"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Routing"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"div",7),o.TgZ(9,"nav",8),o.YNc(10,As,2,3,"div",9),o.qZA(),o.qZA(),o.TgZ(11,"div",10),o._UZ(12,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(2),o.Q6J("icon",e.faMapSigns),o.xp6(8),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,C.BN,l.yH,v.a8,v.dn,dt.BU,a.sg,s.lC,dt.Nj,s.rH],styles:[""]}),t})();var Cs=n(2609);function ws(t,e){1&t&&(o.TgZ(0,"th",26),o._uU(1,"Type"),o.qZA())}function vs(t,e){if(1&t&&(o.TgZ(0,"td",27),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.type," ")}}function Ss(t,e){1&t&&(o.TgZ(0,"th",26),o._uU(1,"Address"),o.qZA())}function bs(t,e){if(1&t&&(o.TgZ(0,"td",27),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.address," ")}}function qs(t,e){1&t&&(o.TgZ(0,"th",26),o._uU(1,"Port"),o.qZA())}function _s(t,e){if(1&t&&(o.TgZ(0,"td",27),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.port," ")}}function Fs(t,e){1&t&&(o.TgZ(0,"th",28),o.TgZ(1,"span",29),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Ls(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",30),o.TgZ(1,"span",29),o.TgZ(2,"button",31),o.NdJ("copied",function(e){return o.CHM(t),o.oxw(2).onCopyNodeURI(e)}),o._uU(3,"Copy Node URI"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(2),o.Q6J("payload",(null==n.lookupResult?null:n.lookupResult.nodeid)+"@"+t.address+":"+t.port)}}function Us(t,e){1&t&&o._UZ(0,"tr",32)}function Rs(t,e){1&t&&o._UZ(0,"tr",33)}const ks=function(t){return{"background-color":t}};function Ns(t,e){if(1&t&&(o.TgZ(0,"div",1),o._UZ(1,"mat-divider",2),o.TgZ(2,"div",3),o.TgZ(3,"h4",4),o._uU(4,"Pub Key"),o.qZA(),o.TgZ(5,"span",5),o._uU(6),o.qZA(),o.qZA(),o._UZ(7,"mat-divider",6),o.TgZ(8,"div",7),o.TgZ(9,"div",3),o.TgZ(10,"h4",4),o._uU(11,"Alias"),o.qZA(),o.TgZ(12,"span",8),o._uU(13),o.TgZ(14,"span",9),o._uU(15),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o._UZ(16,"mat-divider",6),o.TgZ(17,"div",7),o.TgZ(18,"div",10),o.TgZ(19,"h4",4),o._uU(20,"Last Update"),o.qZA(),o.TgZ(21,"span",8),o._uU(22),o.ALo(23,"date"),o.qZA(),o.qZA(),o.TgZ(24,"div",10),o.TgZ(25,"h4",4),o._uU(26,"Features"),o.qZA(),o.TgZ(27,"span",8),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",6),o.TgZ(30,"div",11),o.TgZ(31,"h4",12),o._uU(32,"Addresses"),o.qZA(),o.TgZ(33,"div",13),o.TgZ(34,"table",14,15),o.ynx(36,16),o.YNc(37,ws,2,0,"th",17),o.YNc(38,vs,2,1,"td",18),o.BQk(),o.ynx(39,19),o.YNc(40,Ss,2,0,"th",17),o.YNc(41,bs,2,1,"td",18),o.BQk(),o.ynx(42,20),o.YNc(43,qs,2,0,"th",17),o.YNc(44,_s,2,1,"td",18),o.BQk(),o.ynx(45,21),o.YNc(46,Fs,3,0,"th",22),o.YNc(47,Ls,4,1,"td",23),o.BQk(),o.YNc(48,Us,1,0,"tr",24),o.YNc(49,Rs,1,0,"tr",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult?null:t.lookupResult.nodeid),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(null==t.lookupResult?null:t.lookupResult.alias),o.xp6(1),o.Q6J("ngStyle",o.VKq(16,ks,"#"+(null==t.lookupResult?null:t.lookupResult.color))),o.xp6(1),o.Oqu(null!=t.lookupResult&&t.lookupResult.color?"#"+(null==t.lookupResult?null:t.lookupResult.color):""),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.xi3(23,13,1e3*(null==t.lookupResult?null:t.lookupResult.last_timestamp),"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(null==t.lookupResult?null:t.lookupResult.features),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Q6J("dataSource",t.addresses),o.xp6(14),o.Q6J("matHeaderRowDef",t.displayedColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)}}let Is=(()=>{class t{constructor(t,e){this.logger=t,this.snackBar=e,this.displayedColumns=["type","address","port","actions"]}ngOnInit(){this.addresses=new mt.by(this.lookupResult&&this.lookupResult.addresses?[...this.lookupResult.addresses]:[]),this.addresses.data=this.lookupResult&&this.lookupResult.addresses?this.lookupResult.addresses:[],this.addresses.sort=this.sort,this.addresses.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}onCopyNodeURI(t){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(ta.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-node-lookup"]],viewQuery:function(t,e){if(1&t&&o.Gf(ht.YE,5),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first)}},inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],["fxLayout","row"],[1,"foreground-secondary-text"],[1,"ml-2",3,"ngStyle"],["fxLayout","column","fxFlex","50","fxLayoutAlign","end start",1,"my-1"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","type"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","port"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&o.YNc(0,Ns,50,18,"div",0),2&t&&o.Q6J("ngIf",e.lookupResult)},directives:[a.O5,l.xw,J.d,l.yH,l.Wh,a.PC,b.Zl,D.$V,mt.BZ,ht.YE,mt.w1,mt.fO,mt.Dz,mt.as,mt.nj,mt.ge,ht.nU,mt.ev,q.lW,Cs.y,mt.XQ,mt.Gk],pipes:[a.uU],styles:[""]}),t})();function Os(t,e){1&t&&(o.TgZ(0,"h3",11),o._uU(1,"Node 1"),o.qZA())}function Ms(t,e){1&t&&(o.TgZ(0,"h3",11),o._uU(1,"Node 1 (Your Node)"),o.qZA())}function Es(t,e){1&t&&(o.TgZ(0,"h3",11),o._uU(1,"Node 2"),o.qZA())}function Js(t,e){1&t&&(o.TgZ(0,"h3",11),o._uU(1,"Node 2 (Your Node)"),o.qZA())}function Ds(t,e){if(1&t&&(o.TgZ(0,"div",1),o._UZ(1,"mat-divider"),o.TgZ(2,"div",2),o.TgZ(3,"div",3),o.TgZ(4,"div",4),o.YNc(5,Os,2,0,"h3",5),o.YNc(6,Ms,2,0,"h3",5),o.qZA(),o._UZ(7,"mat-divider",6),o.TgZ(8,"div",7),o.TgZ(9,"h4",8),o._uU(10,"Short Channel Id"),o.qZA(),o.TgZ(11,"span",9),o._uU(12),o.qZA(),o.qZA(),o._UZ(13,"mat-divider",6),o.TgZ(14,"div",10),o.TgZ(15,"h4",8),o._uU(16,"Active"),o.qZA(),o.TgZ(17,"span",9),o._uU(18),o.qZA(),o.qZA(),o._UZ(19,"mat-divider",6),o.TgZ(20,"div",10),o.TgZ(21,"h4",8),o._uU(22,"Last Update"),o.qZA(),o.TgZ(23,"span",9),o._uU(24),o.qZA(),o.qZA(),o._UZ(25,"mat-divider",6),o.TgZ(26,"div",10),o.TgZ(27,"h4",8),o._uU(28,"Amount (mSats)"),o.qZA(),o.TgZ(29,"span",9),o._uU(30),o.qZA(),o.qZA(),o._UZ(31,"mat-divider",6),o.TgZ(32,"div",10),o.TgZ(33,"h4",8),o._uU(34,"Base Fee (mSats)"),o.qZA(),o.TgZ(35,"span",9),o._uU(36),o.ALo(37,"number"),o.qZA(),o.qZA(),o._UZ(38,"mat-divider",6),o.TgZ(39,"div",10),o.TgZ(40,"h4",8),o._uU(41,"Channel Flags"),o.qZA(),o.TgZ(42,"span",9),o._uU(43),o.ALo(44,"number"),o.qZA(),o.qZA(),o._UZ(45,"mat-divider",6),o.TgZ(46,"div",10),o.TgZ(47,"h4",8),o._uU(48,"Delay"),o.qZA(),o.TgZ(49,"span",9),o._uU(50),o.ALo(51,"number"),o.qZA(),o.qZA(),o._UZ(52,"mat-divider",6),o.TgZ(53,"div",10),o.TgZ(54,"h4",8),o._uU(55,"Destination"),o.qZA(),o.TgZ(56,"span",9),o._uU(57),o.qZA(),o.qZA(),o._UZ(58,"mat-divider",6),o.TgZ(59,"div",10),o.TgZ(60,"h4",8),o._uU(61,"Fee/Millionth"),o.qZA(),o.TgZ(62,"span",9),o._uU(63),o.ALo(64,"number"),o.qZA(),o.qZA(),o._UZ(65,"mat-divider",6),o.TgZ(66,"div",10),o.TgZ(67,"h4",8),o._uU(68,"Max Htlc (mSat)"),o.qZA(),o.TgZ(69,"span",9),o._uU(70),o.qZA(),o.qZA(),o._UZ(71,"mat-divider",6),o.TgZ(72,"div",10),o.TgZ(73,"h4",8),o._uU(74,"Min Htlc (mSat)"),o.qZA(),o.TgZ(75,"span",9),o._uU(76),o.qZA(),o.qZA(),o._UZ(77,"mat-divider",6),o.TgZ(78,"div",10),o.TgZ(79,"h4",8),o._uU(80,"Message Flags"),o.qZA(),o.TgZ(81,"span",9),o._uU(82),o.ALo(83,"number"),o.qZA(),o.qZA(),o._UZ(84,"mat-divider",6),o.TgZ(85,"div",10),o.TgZ(86,"h4",8),o._uU(87,"Public"),o.qZA(),o.TgZ(88,"span",9),o._uU(89),o.qZA(),o.qZA(),o._UZ(90,"mat-divider",6),o.TgZ(91,"div",10),o.TgZ(92,"h4",8),o._uU(93,"Satoshis"),o.qZA(),o.TgZ(94,"span",9),o._uU(95),o.ALo(96,"number"),o.qZA(),o.qZA(),o._UZ(97,"mat-divider",6),o.TgZ(98,"div",10),o.TgZ(99,"h4",8),o._uU(100,"Source"),o.qZA(),o.TgZ(101,"span",9),o._uU(102),o.qZA(),o.qZA(),o.qZA(),o.TgZ(103,"div",3),o.TgZ(104,"div"),o.YNc(105,Es,2,0,"h3",5),o.YNc(106,Js,2,0,"h3",5),o.qZA(),o._UZ(107,"mat-divider",6),o.TgZ(108,"div",7),o.TgZ(109,"h4",8),o._uU(110,"Short Channel Id"),o.qZA(),o.TgZ(111,"span",9),o._uU(112),o.qZA(),o.qZA(),o._UZ(113,"mat-divider",6),o.TgZ(114,"div",10),o.TgZ(115,"h4",8),o._uU(116,"Active"),o.qZA(),o.TgZ(117,"span",9),o._uU(118),o.qZA(),o.qZA(),o._UZ(119,"mat-divider",6),o.TgZ(120,"div",10),o.TgZ(121,"h4",8),o._uU(122,"Last Update"),o.qZA(),o.TgZ(123,"span",9),o._uU(124),o.ALo(125,"date"),o.qZA(),o.qZA(),o._UZ(126,"mat-divider",6),o.TgZ(127,"div",10),o.TgZ(128,"h4",8),o._uU(129,"Amount (mSats)"),o.qZA(),o.TgZ(130,"span",9),o._uU(131),o.qZA(),o.qZA(),o._UZ(132,"mat-divider",6),o.TgZ(133,"div",10),o.TgZ(134,"h4",8),o._uU(135,"Base Fee (mSats)"),o.qZA(),o.TgZ(136,"span",9),o._uU(137),o.ALo(138,"number"),o.qZA(),o.qZA(),o._UZ(139,"mat-divider",6),o.TgZ(140,"div",10),o.TgZ(141,"h4",8),o._uU(142,"Channel Flags"),o.qZA(),o.TgZ(143,"span",9),o._uU(144),o.ALo(145,"number"),o.qZA(),o.qZA(),o._UZ(146,"mat-divider",6),o.TgZ(147,"div",10),o.TgZ(148,"h4",8),o._uU(149,"Delay"),o.qZA(),o.TgZ(150,"span",9),o._uU(151),o.ALo(152,"number"),o.qZA(),o.qZA(),o._UZ(153,"mat-divider",6),o.TgZ(154,"div",10),o.TgZ(155,"h4",8),o._uU(156,"Destination"),o.qZA(),o.TgZ(157,"span",9),o._uU(158),o.qZA(),o.qZA(),o._UZ(159,"mat-divider",6),o.TgZ(160,"div",10),o.TgZ(161,"h4",8),o._uU(162,"Fee/Millionth"),o.qZA(),o.TgZ(163,"span",9),o._uU(164),o.ALo(165,"number"),o.qZA(),o.qZA(),o._UZ(166,"mat-divider",6),o.TgZ(167,"div",10),o.TgZ(168,"h4",8),o._uU(169,"Max Htlc (mSat)"),o.qZA(),o.TgZ(170,"span",9),o._uU(171),o.qZA(),o.qZA(),o._UZ(172,"mat-divider",6),o.TgZ(173,"div",10),o.TgZ(174,"h4",8),o._uU(175,"Min Htlc (mSat)"),o.qZA(),o.TgZ(176,"span",9),o._uU(177),o.qZA(),o.qZA(),o._UZ(178,"mat-divider",6),o.TgZ(179,"div",10),o.TgZ(180,"h4",8),o._uU(181,"Message Flags"),o.qZA(),o.TgZ(182,"span",9),o._uU(183),o.ALo(184,"number"),o.qZA(),o.qZA(),o._UZ(185,"mat-divider",6),o.TgZ(186,"div",10),o.TgZ(187,"h4",8),o._uU(188,"Public"),o.qZA(),o.TgZ(189,"span",9),o._uU(190),o.qZA(),o.qZA(),o._UZ(191,"mat-divider",6),o.TgZ(192,"div",10),o.TgZ(193,"h4",8),o._uU(194,"Satoshis"),o.qZA(),o.TgZ(195,"span",9),o._uU(196),o.ALo(197,"number"),o.qZA(),o.qZA(),o._UZ(198,"mat-divider",6),o.TgZ(199,"div",10),o.TgZ(200,"h4",8),o._uU(201,"Source"),o.qZA(),o.TgZ(202,"span",9),o._uU(203),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.Q6J("ngIf",!t.node1_match),o.xp6(1),o.Q6J("ngIf",t.node1_match),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].short_channel_id),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null!=t.lookupResult[0]&&t.lookupResult[0].active?"True":"False"),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].last_update),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].amount_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(37,64,null==t.lookupResult[0]?null:t.lookupResult[0].base_fee_millisatoshi)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(44,66,null==t.lookupResult[0]?null:t.lookupResult[0].channel_flags)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(51,68,null==t.lookupResult[0]?null:t.lookupResult[0].delay)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].destination),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(64,70,null==t.lookupResult[0]?null:t.lookupResult[0].fee_per_millionth)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].htlc_maximum_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].htlc_minimum_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(83,72,null==t.lookupResult[0]?null:t.lookupResult[0].message_flags)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null!=t.lookupResult[0]&&t.lookupResult[0].public?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(96,74,null==t.lookupResult[0]?null:t.lookupResult[0].satoshis)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[0]?null:t.lookupResult[0].source),o.xp6(3),o.Q6J("ngIf",!t.node2_match),o.xp6(1),o.Q6J("ngIf",t.node2_match),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].short_channel_id),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null!=t.lookupResult[1]&&t.lookupResult[1].active?"True":"False"),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.xi3(125,76,1e3*(null==t.lookupResult[1]?null:t.lookupResult[1].last_update),"dd/MMM/YYYY HH:mm")),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].amount_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(138,79,null==t.lookupResult[1]?null:t.lookupResult[1].base_fee_millisatoshi)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(145,81,null==t.lookupResult[1]?null:t.lookupResult[1].channel_flags)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(152,83,null==t.lookupResult[1]?null:t.lookupResult[1].delay)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].destination),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(165,85,null==t.lookupResult[1]?null:t.lookupResult[1].fee_per_millionth)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].htlc_maximum_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].htlc_minimum_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(184,87,null==t.lookupResult[1]?null:t.lookupResult[1].message_flags)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null!=t.lookupResult[1]&&t.lookupResult[1].public?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(o.lcZ(197,89,null==t.lookupResult[1]?null:t.lookupResult[1].satoshis)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==t.lookupResult[1]?null:t.lookupResult[1].source)}}let Ys=(()=>{class t{constructor(t){this.store=t,this.lookupResult=[],this.node1_match=!1,this.node2_match=!1,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.lookupResult.length>0&&this.lookupResult[0].source===t.information.id&&(this.node1_match=!0),this.lookupResult.length>1&&this.lookupResult[1].source===t.information.id&&(this.node2_match=!0)})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start",1,"mt-1","bordered-box","padding-gap-large"],["fxLayout","column"],["class","page-title font-bold-500",4,"ngIf"],[3,"inset"],["fxLayout","column","fxFlex","20",1,"my-1"],[1,"font-bold-500"],[1,"foreground-secondary-text"],["fxLayout","column","fxFlex","10",1,"my-1"],[1,"page-title","font-bold-500"]],template:function(t,e){1&t&&o.YNc(0,Ds,204,91,"div",0),2&t&&o.Q6J("ngIf",e.lookupResult)},directives:[a.O5,l.xw,J.d,l.Wh,l.yH],pipes:[a.JJ,a.uU],styles:[".mat-list-base[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%], .mat-list-base[_ngcontent-%COMP%] .mat-list-option[_ngcontent-%COMP%]{height:38px!important}"]}),t})();const Qs=["form"];function Ps(t,e){if(1&t&&(o.TgZ(0,"mat-radio-button",21),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("value",t.id)("checked",n.selectedFieldId===t.id),o.xp6(1),o.hij(" ",t.name," ")}}function Bs(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("",null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder," is required.")}}function Hs(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"rtl-cl-node-lookup",30),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Q6J("lookupResult",t.nodeLookupValue)}}function zs(t,e){if(1&t&&(o.TgZ(0,"span",28),o.YNc(1,Hs,2,1,"div",29),o.qZA()),2&t){const t=o.oxw(2),e=o.MAs(24);o.xp6(1),o.Q6J("ngIf",""!==t.nodeLookupValue.nodeid)("ngIfElse",e)}}function Gs(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"rtl-cl-channel-lookup",30),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Q6J("lookupResult",t.channelLookupValue)}}function Vs(t,e){if(1&t&&(o.TgZ(0,"span",28),o.YNc(1,Gs,2,1,"div",29),o.qZA()),2&t){const t=o.oxw(2),e=o.MAs(24);o.xp6(1),o.Q6J("ngIf",t.channelLookupValue.length>0)("ngIfElse",e)}}function Xs(t,e){1&t&&(o.TgZ(0,"span",28),o.TgZ(1,"h3"),o._uU(2,"Error! Unable to find details!"),o.qZA(),o.qZA())}function Ws(t,e){if(1&t&&(o.TgZ(0,"div",22),o.TgZ(1,"div",23),o.TgZ(2,"span",24),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"div",25),o.YNc(5,zs,2,2,"span",26),o.YNc(6,Vs,2,2,"span",26),o.YNc(7,Xs,3,0,"span",27),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(3),o.hij("",t.lookupFields[t.selectedFieldId].name," Details"),o.xp6(1),o.Q6J("ngSwitch",t.selectedFieldId),o.xp6(1),o.Q6J("ngSwitchCase",0),o.xp6(1),o.Q6J("ngSwitchCase",1)}}function $s(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find details!"),o.qZA())}const Ks=function(t){return{"mt-2":t}};let js=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.commonService=e,this.store=n,this.actions=a,this.lookupKey="",this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Pubkey"},{id:1,name:"Channel",placeholder:"Short Channel ID"}],this.flgLoading=[!0],this.faSearch=g.wn1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t.type===x.CR||t.type===x.qe)).subscribe(t=>{if(t.type===x.CR){switch(this.flgLoading[0]=!0,this.selectedFieldId){case 0:this.nodeLookupValue=t.payload[0]?JSON.parse(JSON.stringify(t.payload[0])):{nodeid:""};break;case 1:this.channelLookupValue=t.payload?JSON.parse(JSON.stringify(t.payload)):[]}this.flgSetLookupValue=!0,this.logger.info(this.nodeLookupValue),this.logger.info(this.channelLookupValue)}t.type===x.qe&&t.payload.status===f.Bn.ERROR&&"Lookup"===t.payload.action&&(this.flgLoading[0]="error")})}onLookup(){if(!this.lookupKey)return!0;switch(this.flgSetLookupValue=!1,this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.selectedFieldId){case 0:this.store.dispatch(new x.x$(this.lookupKey.trim()));break;case 1:this.store.dispatch(new x.IG({uiMessage:f.m6.SEARCHING_CHANNEL,shortChannelID:this.lookupKey.trim(),showError:!1}))}}onSelectChange(t){this.resetData(),this.selectedFieldId=t.value}resetData(){this.flgSetLookupValue=!1,this.selectedFieldId=0,this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.form.resetForm()}clearLookupValue(){this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh),o.Y36(A.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-lookups"]],viewQuery:function(t,e){if(1&t&&o.Gf(Qs,7),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:25,vars:10,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","35","fxFlex.gt-md","25","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField",3,"ngModel","ngModelChange","change"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],["fxFlex","65","fxFlex.gt-md","75","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"placeholder","ngModel","change","ngModelChange"],["key",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],["errorBlock",""],[1,"mr-4",3,"value","checked"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[4,"ngIf","ngIfElse"],[3,"lookupResult"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Graph Lookups"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"form",7,8),o.TgZ(10,"div",9),o.TgZ(11,"mat-radio-group",10),o.NdJ("ngModelChange",function(t){return e.selectedFieldId=t})("change",function(t){return e.onSelectChange(t)}),o.YNc(12,Ps,2,3,"mat-radio-button",11),o.qZA(),o.qZA(),o.TgZ(13,"mat-form-field",12),o.TgZ(14,"input",13,14),o.NdJ("change",function(){return e.clearLookupValue()})("ngModelChange",function(t){return e.lookupKey=t}),o.qZA(),o.YNc(16,Bs,2,1,"mat-error",15),o.qZA(),o.TgZ(17,"div",16),o.TgZ(18,"button",17),o.NdJ("click",function(){return e.resetData()}),o._uU(19,"Clear"),o.qZA(),o.TgZ(20,"button",18),o.NdJ("click",function(){return e.onLookup()}),o._uU(21,"Lookup"),o.qZA(),o.qZA(),o.qZA(),o.YNc(22,Ws,8,4,"div",19),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(23,$s,2,0,"ng-template",null,20,o.W1O)),2&t&&(o.xp6(2),o.Q6J("icon",e.faSearch),o.xp6(9),o.Q6J("ngModel",e.selectedFieldId),o.xp6(1),o.Q6J("ngForOf",e.lookupFields),o.xp6(1),o.Q6J("ngClass",o.VKq(8,Ks,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("placeholder",(null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder)||"Lookup Key")("ngModel",e.lookupKey),o.xp6(2),o.Q6J("ngIf",!e.lookupKey),o.xp6(6),o.Q6J("ngIf",e.flgSetLookupValue))},directives:[l.xw,l.Wh,C.BN,l.yH,v.a8,v.dn,ft._Y,ft.JL,ft.F,de.VQ,ft.JJ,ft.On,a.sg,M.KE,a.mk,b.oO,xt.Nt,ft.Fj,ft.Q7,a.O5,q.lW,de.U0,M.TO,a.RF,a.n9,a.ED,Is,Ys],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),t})();var ti=function(t){return t.KB="KB",t.KW="KW",t}({});function ei(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div",4),o.TgZ(3,"h4",5),o._uU(4,"Opening"),o.qZA(),o.TgZ(5,"div",6),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div",7),o.TgZ(9,"h4",5),o._uU(10,"Mutual Close"),o.qZA(),o.TgZ(11,"div",6),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.TgZ(14,"div",8),o.TgZ(15,"h4",5),o._uU(16,"Unilateral Close"),o.qZA(),o.TgZ(17,"div",6),o._uU(18),o.ALo(19,"number"),o.qZA(),o.qZA(),o.TgZ(20,"div",9),o.TgZ(21,"h4",5),o._uU(22,"Delayed To Us"),o.qZA(),o.TgZ(23,"div",6),o._uU(24),o.ALo(25,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(26,"div",3),o.TgZ(27,"div",10),o.TgZ(28,"h4",5),o._uU(29,"Minimum Acceptable"),o.qZA(),o.TgZ(30,"div",6),o._uU(31),o.ALo(32,"number"),o.qZA(),o.qZA(),o.TgZ(33,"div",11),o.TgZ(34,"h4",5),o._uU(35,"Maximum Acceptable"),o.qZA(),o.TgZ(36,"div",6),o._uU(37),o.ALo(38,"number"),o.qZA(),o.qZA(),o.TgZ(39,"div",12),o.TgZ(40,"h4",5),o._uU(41,"HTLC Resolution"),o.qZA(),o.TgZ(42,"div",6),o._uU(43),o.ALo(44,"number"),o.qZA(),o.qZA(),o.TgZ(45,"div",13),o.TgZ(46,"h4",5),o._uU(47,"Penalty"),o.qZA(),o.TgZ(48,"div",6),o._uU(49),o.ALo(50,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.Oqu(o.lcZ(7,8,null==t.perkbw?null:t.perkbw.opening)),o.xp6(6),o.Oqu(o.lcZ(13,10,null==t.perkbw?null:t.perkbw.mutual_close)),o.xp6(6),o.Oqu(o.lcZ(19,12,null==t.perkbw?null:t.perkbw.unilateral_close)),o.xp6(6),o.Oqu(o.lcZ(25,14,null==t.perkbw?null:t.perkbw.delayed_to_us)),o.xp6(7),o.Oqu(o.lcZ(32,16,null==t.perkbw?null:t.perkbw.min_acceptable)),o.xp6(6),o.Oqu(o.lcZ(38,18,null==t.perkbw?null:t.perkbw.max_acceptable)),o.xp6(6),o.Oqu(o.lcZ(44,20,null==t.perkbw?null:t.perkbw.htlc_resolution)),o.xp6(6),o.Oqu(o.lcZ(50,22,null==t.perkbw?null:t.perkbw.penalty))}}function ni(t,e){if(1&t&&(o.TgZ(0,"div",14),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let ai=(()=>{class t{constructor(){this.perkbw={}}ngAfterContentChecked(){this.feeRateStyle===ti.KB?this.perkbw=this.feeRates.perkb:this.feeRateStyle===ti.KW&&(this.perkbw=this.feeRates.perkw)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-fee-rates"]],inputs:{feeRateStyle:"feeRateStyle",feeRates:"feeRates",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","stretch","class","h-100",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","stretch",1,"h-100"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["matTooltip","Default feerate for fundchannel and withdraw","matTooltipPosition","below"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["matTooltip","Feerate to aim for in cooperative shutdown. Note that since mutual close is a negotiation, the actual feerate used in mutual close will be somewhere between this and the corresponding mutual close feerate of the peer","matTooltipPosition","below"],["matTooltip","Feerate for commitment_transaction in a live channel which we originally funded","matTooltipPosition","below"],["matTooltip","Feerate for returning unilateral close funds to our wallet","matTooltipPosition","below"],["matTooltip","The smallest feerate that you can use, usually the minimum relayed feerate of the backend","matTooltipPosition","below"],["matTooltip","The largest feerate we will accept from remote negotiations. If a peer attempts to set the feerate higher than this we will unilaterally close the channel (or simply forget it if it's not open yet)","matTooltipPosition","below"],["matTooltip","Feerate for returning unilateral close HTLC outputs to our wallet","matTooltipPosition","below"],["matTooltip","Feerate to start at when penalizing a cheat attempt","matTooltipPosition","below"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,ei,51,24,"div",0),o.YNc(1,ni,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh,E.gM],pipes:[a.JJ],styles:[".fee-rate-list[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%]{height:44px}"]}),t})();function si(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div",4),o.TgZ(3,"h4",5),o._uU(4,"Opening Channel"),o.qZA(),o.TgZ(5,"div",6),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div",7),o.TgZ(9,"h4",5),o._uU(10,"Mutual Close"),o.qZA(),o.TgZ(11,"div",6),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.TgZ(14,"div",8),o.TgZ(15,"h4",5),o._uU(16,"Unilateral Close"),o.qZA(),o.TgZ(17,"div",6),o._uU(18),o.ALo(19,"number"),o.qZA(),o.qZA(),o.TgZ(20,"div",9),o._UZ(21,"h4",5),o._UZ(22,"div",6),o.qZA(),o.qZA(),o.TgZ(23,"div",3),o.TgZ(24,"div",10),o.TgZ(25,"h4",5),o._uU(26,"HTLC Timeout"),o.qZA(),o.TgZ(27,"div",6),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.TgZ(30,"div",11),o.TgZ(31,"h4",5),o._uU(32,"HTLC Success"),o.qZA(),o.TgZ(33,"div",6),o._uU(34),o.ALo(35,"number"),o.qZA(),o.qZA(),o.TgZ(36,"div",9),o._UZ(37,"h4",5),o._UZ(38,"div",6),o.qZA(),o.TgZ(39,"div",9),o._UZ(40,"h4",5),o._UZ(41,"div",6),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.Oqu(o.lcZ(7,5,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.opening_channel_satoshis)),o.xp6(6),o.Oqu(o.lcZ(13,7,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.mutual_close_satoshis)),o.xp6(6),o.Oqu(o.lcZ(19,9,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.unilateral_close_satoshis)),o.xp6(10),o.Oqu(o.lcZ(29,11,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.htlc_timeout_satoshis)),o.xp6(6),o.Oqu(o.lcZ(35,13,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.htlc_success_satoshis))}}function ii(t,e){if(1&t&&(o.TgZ(0,"div",12),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let oi=(()=>{class t{constructor(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-onchain-fee-estimates"]],inputs:{feeRates:"feeRates",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","stretch","class","h-100",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","stretch",1,"h-100"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["matTooltip","Estimated cost of typical channel open","matTooltipPosition","below"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["matTooltip","Estimated cost of typical channel close","matTooltipPosition","below"],["matTooltip","Estimated cost of typical unilateral close (without HTLCs)","matTooltipPosition","below"],["fxFlex","12"],["matTooltip","Estimated cost of typical HTLC timeout transaction","matTooltipPosition","below"],["matTooltip","Estimated cost of typical HTLC fulfillment transaction","matTooltipPosition","below"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,si,42,15,"div",0),o.YNc(1,ii,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh,E.gM],pipes:[a.JJ],styles:[".fee-rate-list[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%]{height:44px}"]}),t})();function li(t,e){1&t&&o._UZ(0,"mat-progress-bar",19)}function ri(t,e){if(1&t&&o._UZ(0,"rtl-cl-node-info",20),2&t){const t=o.oxw(3);o.Q6J("information",t.information)("showColorFieldSeparately",!1)}}function ci(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-status-info",21),2&t){const t=o.oxw(3);o.Q6J("channelsStatus",t.channelsStatus)("errorMessage",t.errorMessages[0]+" "+t.errorMessages[2])}}function ui(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-info",22),2&t){const t=o.oxw(3);o.Q6J("fees",t.fees)("errorMessage",t.errorMessages[1]+" "+t.errorMessages[3]+" "+t.errorMessages[4])}}function di(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-rates",23),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKB)("feeRateStyle","KB")("errorMessage",t.errorMessages[5])}}function pi(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-rates",23),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKW)("feeRateStyle","KW")("errorMessage",t.errorMessages[6])}}function hi(t,e){if(1&t&&o._UZ(0,"rtl-cl-onchain-fee-estimates",24),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKW)("errorMessage",t.errorMessages[5])}}const mi=function(t){return{"dashboard-card-content":!0,"error-border":t}};function gi(t,e){if(1&t&&(o.TgZ(0,"mat-grid-tile",4),o.TgZ(1,"div",5),o.TgZ(2,"div",6),o.TgZ(3,"div",7),o._UZ(4,"fa-icon",8),o.TgZ(5,"span"),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",9),o.TgZ(8,"mat-card",10),o.TgZ(9,"mat-card-content",11),o.YNc(10,li,1,0,"mat-progress-bar",12),o.TgZ(11,"div",13),o.YNc(12,ri,1,2,"rtl-cl-node-info",14),o.YNc(13,ci,1,2,"rtl-cl-channel-status-info",15),o.YNc(14,ui,1,2,"rtl-cl-fee-info",16),o.YNc(15,di,1,3,"rtl-cl-fee-rates",17),o.YNc(16,pi,1,3,"rtl-cl-fee-rates",17),o.YNc(17,hi,1,2,"rtl-cl-onchain-fee-estimates",18),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(4),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(3),o.Q6J("ngClass",o.VKq(13,mi,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.ERROR)||"feeRatesKB"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkb.status)===n.apiCallStatusEnum.ERROR||"feeRatesKW"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.ERROR||"onChainFeeEstimates"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.INITIATED)||"feeRatesKB"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkb.status)===n.apiCallStatusEnum.INITIATED||"feeRatesKW"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.INITIATED||"onChainFeeEstimates"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","status"),o.xp6(1),o.Q6J("ngSwitchCase","fee"),o.xp6(1),o.Q6J("ngSwitchCase","feeRatesKB"),o.xp6(1),o.Q6J("ngSwitchCase","feeRatesKW"),o.xp6(1),o.Q6J("ngSwitchCase","onChainFeeEstimates")}}function fi(t,e){if(1&t&&(o.TgZ(0,"mat-grid-list",2),o.YNc(1,gi,18,15,"mat-grid-tile",3),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngForOf",t.nodeCardsOperator)}}function xi(t,e){1&t&&o._UZ(0,"mat-progress-bar",19)}function Zi(t,e){if(1&t&&o._UZ(0,"rtl-cl-node-info",20),2&t){const t=o.oxw(3);o.Q6J("information",t.information)("showColorFieldSeparately",!1)}}function yi(t,e){if(1&t&&o._UZ(0,"rtl-cl-channel-status-info",21),2&t){const t=o.oxw(3);o.Q6J("channelsStatus",t.channelsStatus)("errorMessage",t.errorMessages[0]+" "+t.errorMessages[2])}}function Ai(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-info",22),2&t){const t=o.oxw(3);o.Q6J("fees",t.fees)("errorMessage",t.errorMessages[1]+" "+t.errorMessages[3]+" "+t.errorMessages[4])}}function Ti(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-rates",23),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKB)("feeRateStyle","KB")("errorMessage",t.errorMessages[5])}}function Ci(t,e){if(1&t&&o._UZ(0,"rtl-cl-fee-rates",23),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKW)("feeRateStyle","KW")("errorMessage",t.errorMessages[5])}}function wi(t,e){if(1&t&&o._UZ(0,"rtl-cl-onchain-fee-estimates",24),2&t){const t=o.oxw(3);o.Q6J("feeRates",t.feeRatesPerKW)("errorMessage",t.errorMessages[5])}}function vi(t,e){if(1&t&&(o.TgZ(0,"mat-grid-tile",4),o.TgZ(1,"div",5),o.TgZ(2,"div",6),o.TgZ(3,"div",25),o._UZ(4,"fa-icon",8),o.TgZ(5,"span"),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",9),o.TgZ(8,"mat-card",10),o.TgZ(9,"mat-card-content",11),o.YNc(10,xi,1,0,"mat-progress-bar",12),o.TgZ(11,"div",13),o.YNc(12,Zi,1,2,"rtl-cl-node-info",14),o.YNc(13,yi,1,2,"rtl-cl-channel-status-info",15),o.YNc(14,Ai,1,2,"rtl-cl-fee-info",16),o.YNc(15,Ti,1,3,"rtl-cl-fee-rates",17),o.YNc(16,Ci,1,3,"rtl-cl-fee-rates",17),o.YNc(17,wi,1,2,"rtl-cl-onchain-fee-estimates",18),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(4),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(3),o.Q6J("ngClass",o.VKq(13,mi,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.ERROR)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.ERROR)||"feeRatesKB"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkb.status)===n.apiCallStatusEnum.ERROR||"feeRatesKW"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.ERROR||"onChainFeeEstimates"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"status"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchLocalRemoteBalance.status)===n.apiCallStatusEnum.INITIATED)||"fee"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.GetForwardingHistory.status)===n.apiCallStatusEnum.INITIATED)||"feeRatesKB"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkb.status)===n.apiCallStatusEnum.INITIATED||"feeRatesKW"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.INITIATED||"onChainFeeEstimates"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFeeRatesperkw.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","status"),o.xp6(1),o.Q6J("ngSwitchCase","fee"),o.xp6(1),o.Q6J("ngSwitchCase","feeRatesKB"),o.xp6(1),o.Q6J("ngSwitchCase","feeRatesKW"),o.xp6(1),o.Q6J("ngSwitchCase","onChainFeeEstimates")}}function Si(t,e){if(1&t&&(o.TgZ(0,"mat-grid-list",2),o.YNc(1,vi,18,15,"mat-grid-tile",3),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngForOf",t.nodeCardsMerchant)}}let bi=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.faLink=g.nNP,this.selNode={},this.information={},this.channelsStatus={},this.feeRatesPerKB={},this.feeRatesPerKW={},this.nodeCardsOperator=[],this.nodeCardsMerchant=[],this.screenSize="",this.screenSizeEnum=f.cu,this.userPersonaEnum=f.ol,this.errorMessages=["","","","","","",""],this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.nodeCardsMerchant=[{id:"node",icon:this.faServer,title:"Node Information",cols:6,rows:3},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:6,rows:3},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:6,rows:1},{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:4,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:4,rows:4},{id:"onChainFeeEstimates",icon:this.faLink,title:"Onchain Fee Estimates (Sats)",cols:4,rows:4}],this.nodeCardsOperator=[{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:4,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:4,rows:4},{id:"onChainFeeEstimates",icon:this.faLink,title:"Onchain Fee Estimates (Sats)",cols:4,rows:4}]):(this.nodeCardsMerchant=[{id:"node",icon:this.faServer,title:"Node Information",cols:2,rows:3},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:2,rows:3},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:2,rows:3},{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:2,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:2,rows:4},{id:"onChainFeeEstimates",icon:this.faLink,title:"Onchain Fee Estimates (Sats)",cols:2,rows:4}],this.nodeCardsOperator=[{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:2,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:2,rows:4},{id:"onChainFeeEstimates",icon:this.faLink,title:"Onchain Fee Estimates (Sats)",cols:2,rows:4}])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessages=["","","","","","",""],this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchInfo.status===f.Bn.ERROR&&(this.errorMessages[0]="object"==typeof this.apisCallStatus.FetchInfo.message?JSON.stringify(this.apisCallStatus.FetchInfo.message):this.apisCallStatus.FetchInfo.message),t.apisCallStatus.FetchFees.status===f.Bn.ERROR&&(this.errorMessages[1]="object"==typeof this.apisCallStatus.FetchFees.message?JSON.stringify(this.apisCallStatus.FetchFees.message):this.apisCallStatus.FetchFees.message),t.apisCallStatus.FetchLocalRemoteBalance.status===f.Bn.ERROR&&(this.errorMessages[2]="object"==typeof this.apisCallStatus.FetchLocalRemoteBalance.message?JSON.stringify(this.apisCallStatus.FetchLocalRemoteBalance.message):this.apisCallStatus.FetchLocalRemoteBalance.message),t.apisCallStatus.FetchChannels.status===f.Bn.ERROR&&(this.errorMessages[3]="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),t.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessages[4]="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),t.apisCallStatus.FetchFeeRatesperkb.status===f.Bn.ERROR&&(this.errorMessages[5]="object"==typeof this.apisCallStatus.FetchFeeRatesperkb.message?JSON.stringify(this.apisCallStatus.FetchFeeRatesperkb.message):this.apisCallStatus.FetchFeeRatesperkb.message),t.apisCallStatus.FetchFeeRatesperkw.status===f.Bn.ERROR&&(this.errorMessages[6]="object"==typeof this.apisCallStatus.FetchFeeRatesperkw.message?JSON.stringify(this.apisCallStatus.FetchFeeRatesperkw.message):this.apisCallStatus.FetchFeeRatesperkw.message),this.selNode=t.nodeSettings,this.information=t.information,this.fees=t.fees,this.fees.totalTxCount=0,t.forwardingHistory&&t.forwardingHistory.length&&(this.fees.totalTxCount=t.forwardingHistory.length),this.channelsStatus={active:{channels:t.information.num_active_channels,capacity:0},inactive:{channels:t.information.num_inactive_channels,capacity:0},pending:{channels:t.information.num_pending_channels,capacity:0}},this.feeRatesPerKB=t.feeRatesPerKB,this.feeRatesPerKW=t.feeRatesPerKW,this.logger.info(t)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-network-info"]],decls:3,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch",1,"mb-4"],["cols","6","rowHeight","100px",4,"ngIf"],["cols","6","rowHeight","100px"],["class","node-grid-tile",3,"colspan","rowspan",4,"ngFor","ngForOf"],[1,"node-grid-tile",3,"colspan","rowspan"],["fxLayout","column","fxLayoutAlign","stretch start","fxFlex","100",1,"h-100"],["fxLayout","row","fxLayoutAlign","start start",1,"w-100"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","pl-2"],[1,"mr-1",3,"icon"],["fxLayout","column","fxLayoutAlign","stretch center","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","center stretch",1,"w-100","h-93"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","w-96","h-93"],["fxLayout","column","fxFlex","100",3,"ngClass"],["mode","indeterminate",4,"ngIf"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"fees","errorMessage",4,"ngSwitchCase"],["class","h-100",3,"feeRates","feeRateStyle","errorMessage",4,"ngSwitchCase"],["class","h-100",3,"feeRates","errorMessage",4,"ngSwitchCase"],["mode","indeterminate"],["fxFlex","100",3,"information","showColorFieldSeparately"],["fxFlex","100",3,"channelsStatus","errorMessage"],["fxFlex","100",3,"fees","errorMessage"],[1,"h-100",3,"feeRates","feeRateStyle","errorMessage"],[1,"h-100",3,"feeRates","errorMessage"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","pl-15px"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,fi,2,1,"mat-grid-list",1),o.YNc(2,Si,2,1,"mat-grid-list",1),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",e.selNode.userPersona===e.userPersonaEnum.OPERATOR),o.xp6(1),o.Q6J("ngIf",e.selNode.userPersona===e.userPersonaEnum.MERCHANT))},directives:[l.xw,l.Wh,a.O5,w.Il,a.sg,w.DX,l.yH,C.BN,v.a8,v.dn,a.mk,b.oO,a.RF,a.n9,r.pW,k,K,X,ai,oi],styles:[""]}),t})();function qi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",8),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let _i=(()=>{class t{constructor(t){this.router=t,this.faUserCheck=g.hkK,this.links=[{link:"sign",name:"Sign"},{link:"verify",name:"Verify"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-sign-verify-message"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Sign/Verify Message"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,qi,2,3,"div",6),o.qZA(),o.TgZ(9,"div",7),o._UZ(10,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faUserCheck),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,C.BN,v.a8,v.dn,dt.BU,a.sg,l.yH,s.lC,dt.Nj,s.rH],styles:[""]}),t})();var Fi=n(7969);function Li(t,e){if(1&t&&(o.TgZ(0,"mat-option",7),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.hij(" ",t.addressTp," ")}}let Ui=(()=>{class t{constructor(t,e){this.store=t,this.clEffects=e,this.addressTypes=f._t,this.selectedAddressType=f._t[0],this.newAddress=""}onGenerateAddress(){this.store.dispatch(new x.ER(this.selectedAddressType)),this.clEffects.setNewAddressCL.pipe((0,ce.q)(1)).subscribe(t=>{this.newAddress=t,this.store.dispatch(new Ft.wu({width:"58%",data:{address:this.newAddress,addressType:this.selectedAddressType.addressTp,component:Fi.n}}))})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh),o.Y36(ue.s))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-on-chain-receive"]],decls:8,vars:2,consts:[["fxLayout","column",1,"padding-gap-x"],["fxLayout","row","fxLayoutAlign","space-between end","fxLayoutAlign.gt-sm","start end"],["fxFlex","48","fxFlex.gt-md","25","fxLayoutAlign","start end",1,"mr-2"],["placeholder","Address Type","name","address_type","tabindex","1",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[1,"mt-2"],["mat-flat-button","","color","primary","tabindex","2",1,"top-minus-15px",3,"click"],[3,"value"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-form-field",2),o.TgZ(3,"mat-select",3),o.NdJ("ngModelChange",function(t){return e.selectedAddressType=t}),o.YNc(4,Li,2,2,"mat-option",4),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.TgZ(6,"button",6),o.NdJ("click",function(){return e.onGenerateAddress()}),o._uU(7,"Generate Address"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("ngModel",e.selectedAddressType),o.xp6(1),o.Q6J("ngForOf",e.addressTypes))},directives:[l.xw,l.Wh,M.KE,l.yH,At.gD,ft.JJ,ft.On,a.sg,q.lW,Ct.ey],styles:[""]}),t})(),Ri=(()=>{class t{constructor(t,e){this.store=t,this.activatedRoute=e,this.sweepAll=!1,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activatedRoute.data.pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.sweepAll=t.sweepAll})}openSendFundsModal(){this.store.dispatch(new Ft.wu({data:{sweepAll:this.sweepAll,component:La}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh),o.Y36(s.gz))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return e.openSendFundsModal()}),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Oqu(e.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,q.lW],styles:[""]}),t})();var ki=n(1258),Ni=n(1681),Ii=n(3474),Oi=n(84);const Mi=["form"];function Ei(t,e){if(1&t&&(o.TgZ(0,"mat-option",42),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(t.alias?t.alias:t.id?t.id:"")}}function Ji(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer alias is required."),o.qZA())}function Di(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer not found in the list."),o.qZA())}function Yi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",39),o.NdJ("change",function(){return o.CHM(t),o.oxw().onSelectedPeerChanged()}),o.qZA(),o.TgZ(2,"mat-autocomplete",40,41),o.NdJ("optionSelected",function(){return o.CHM(t),o.oxw().onSelectedPeerChanged()}),o.YNc(4,Ei,2,2,"mat-option",26),o.ALo(5,"async"),o.qZA(),o.YNc(6,Ji,2,0,"mat-error",17),o.YNc(7,Di,2,0,"mat-error",17),o.qZA()}if(2&t){const t=o.MAs(3),e=o.oxw();o.xp6(1),o.Q6J("formControl",e.selectedPeer)("matAutocomplete",t),o.xp6(1),o.Q6J("displayWith",e.displayFn),o.xp6(2),o.Q6J("ngForOf",o.lcZ(5,6,e.filteredPeers)),o.xp6(2),o.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.notfound)}}function Qi(t,e){1&t&&o.GkF(0)}function Pi(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Bi(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function Hi(t,e){if(1&t&&(o.TgZ(0,"mat-option",42),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t.feeRateId),o.xp6(1),o.hij(" ",t.feeRateType," ")}}function zi(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Fee Rate is required."),o.qZA())}function Gi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",43),o.TgZ(1,"input",44,45),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().customFeeRate=e}),o.qZA(),o.YNc(3,zi,2,0,"mat-error",17),o.qZA()}if(2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngModel",t.customFeeRate)("step",.1)("min",0)("required","customperkb"===t.selFeeRate&&!t.flgMinConf),o.xp6(2),o.Q6J("ngIf","customperkb"===t.selFeeRate&&!t.flgMinConf&&!t.customFeeRate)}}function Vi(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Min Confirmation Blocks is required."),o.qZA())}function Xi(t,e){if(1&t&&(o.TgZ(0,"mat-option",42),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.hij("",o.lcZ(2,2,t.value)," Sats")}}function Wi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",22),o.TgZ(1,"mat-form-field",46),o.TgZ(2,"mat-select",47),o.NdJ("selectionChange",function(e){return o.CHM(t),o.oxw().onUTXOSelectionChange(e)})("valueChange",function(e){return o.CHM(t),o.oxw().selUTXOs=e}),o.TgZ(3,"mat-select-trigger"),o._uU(4),o.ALo(5,"number"),o.qZA(),o.YNc(6,Xi,3,4,"mat-option",26),o.qZA(),o.qZA(),o.TgZ(7,"mat-slide-toggle",48),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().flgUseAllBalance=e})("change",function(){return o.CHM(t),o.oxw().onUTXOAllBalanceChange()}),o._uU(8," Use selected UTXOs balance "),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(2),o.Q6J("value",t.selUTXOs),o.xp6(2),o.AsE("",o.lcZ(5,6,t.totalSelectedUTXOAmount)," Sats (",t.selUTXOs.length>1?t.selUTXOs.length+" UTXOs":"1 UTXO",")"),o.xp6(2),o.Q6J("ngForOf",t.utxos),o.xp6(1),o.Q6J("ngModel",t.flgUseAllBalance)("disabled",t.selUTXOs.length<1)}}function $i(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.channelConnectionError)}}function Ki(t,e){if(1&t&&(o.TgZ(0,"div",49),o._UZ(1,"fa-icon",50),o.YNc(2,$i,2,1,"span",17),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.channelConnectionError)}}function ji(t,e){if(1&t&&(o.TgZ(0,"mat-expansion-panel",52),o.TgZ(1,"mat-expansion-panel-header"),o.TgZ(2,"mat-panel-title"),o.TgZ(3,"span"),o._uU(4,"Peer: \xa0"),o.qZA(),o.TgZ(5,"strong",53),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",9),o.TgZ(8,"div",0),o.TgZ(9,"div",1),o.TgZ(10,"h4",54),o._uU(11,"Pubkey"),o.qZA(),o.TgZ(12,"span",55),o._uU(13),o.qZA(),o.qZA(),o.qZA(),o._UZ(14,"mat-divider",56),o.TgZ(15,"div",0),o.TgZ(16,"div",57),o.TgZ(17,"h4",54),o._uU(18,"Address"),o.qZA(),o.TgZ(19,"span",58),o._uU(20),o.qZA(),o.qZA(),o.TgZ(21,"div",57),o.TgZ(22,"h4",54),o._uU(23,"Connected"),o.qZA(),o.TgZ(24,"span",58),o._uU(25),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw(2);o.xp6(6),o.Oqu((null==t.peer?null:t.peer.alias)||(null==t.peer?null:t.peer.id)),o.xp6(7),o.Oqu(t.peer.id),o.xp6(7),o.Oqu(null==t.peer?null:t.peer.netaddr),o.xp6(5),o.Oqu(t.peer.connected?"True":"False")}}function to(t,e){if(1&t&&o.YNc(0,ji,26,4,"mat-expansion-panel",51),2&t){const t=o.oxw();o.Q6J("ngIf",t.peer)}}const eo=function(t,e){return{"mr-6":t,"mr-2":e}};let no=(()=>{class t{constructor(t,e,n,a,s,i){this.dialogRef=t,this.data=e,this.store=n,this.actions=a,this.decimalPipe=s,this.commonService=i,this.selectedPeer=new ft.NI,this.faExclamationTriangle=g.eHv,this.isCompatibleVersion=!1,this.utxos=[],this.selUTXOs=[],this.flgUseAllBalance=!1,this.totalSelectedUTXOAmount=0,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.fundingAmount=null,this.selectedPubkey="",this.isPrivate=!1,this.feeRateTypes=f.vn,this.selFeeRate="",this.customFeeRate=null,this.flgMinConf=!1,this.minConfValue=null,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.isCompatibleVersion=this.data.message.isCompatibleVersion,this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.utxos=this.data.message.utxos,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t.type===x.qe||t.type===x.GL)).subscribe(t=>{t.type===x.qe&&t.payload.status===f.Bn.ERROR&&"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message),t.type===x.GL&&this.dialogRef.close()});let t="",e="";this.sortedPeers=this.peers.sort((n,a)=>(t=n.alias?n.alias.toLowerCase():n.id?n.id.toLowerCase():"",e=a.alias?a.alias.toLowerCase():n.id.toLowerCase(),te?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,p.R)(this.unSubs[1]),(0,ki.O)(""),(0,Ni.U)(t=>"string"==typeof t?t:t.alias?t.alias:t.id),(0,Ni.U)(t=>t?this.filterPeers(t):this.sortedPeers.slice()))}filterPeers(t){return this.sortedPeers.filter(e=>0===e.alias.toLowerCase().indexOf(t?t.toLowerCase():""))}displayFn(t){return t&&t.alias?t.alias:t&&t.id?t.id:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.id?this.selectedPeer.value.id:null,"string"==typeof this.selectedPeer.value){const t=this.peers.filter(t=>t.alias.length===this.selectedPeer.value.length&&0===t.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===t.length&&t[0].id&&(this.selectedPubkey=t[0].id)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.flgMinConf=!1,this.selFeeRate="",this.minConfValue=null,this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onAdvancedPanelToggle(t){t&&(this.flgMinConf||this.selFeeRate||this.selUTXOs.length&&0!==this.selUTXOs.length)?(this.advancedTitle="Advanced Options",this.flgMinConf&&(this.advancedTitle=this.advancedTitle+" | Min Confirmation Blocks: "+this.minConfValue),this.selFeeRate&&(this.advancedTitle=this.advancedTitle+" | Fee Rate: "+(this.customFeeRate?this.customFeeRate+" (Sats/vB)":this.feeRateTypes.find(t=>t.feeRateId===this.selFeeRate).feeRateType)),this.selUTXOs.length&&this.selUTXOs.length>0&&(this.advancedTitle=this.advancedTitle+" | Total Selected: "+this.selUTXOs.length+" | Selected UTXOs: "+this.decimalPipe.transform(this.totalSelectedUTXOAmount)+" Sats")):this.advancedTitle="Advanced Options"}onUTXOSelectionChange(t){const e={value:0};this.selUTXOs.length&&this.selUTXOs.length>0?(this.totalSelectedUTXOAmount=this.selUTXOs.reduce((t,n)=>(e.value=t.value+n.value,e)).value,this.flgUseAllBalance&&this.onUTXOAllBalanceChange()):(this.totalSelectedUTXOAmount=0,this.fundingAmount=null,this.flgUseAllBalance=!1)}onUTXOAllBalanceChange(){this.fundingAmount=this.flgUseAllBalance?this.totalSelectedUTXOAmount:null}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0||this.flgMinConf&&!this.minConfValue||"customperkb"===this.selFeeRate&&!this.flgMinConf&&!this.customFeeRate)return!0;const t={peerId:this.peer&&this.peer.id?this.peer.id:this.selectedPubkey,satoshis:this.flgUseAllBalance?"all":this.fundingAmount.toString(),announce:!this.isPrivate,minconf:this.flgMinConf?this.minConfValue:null};t.feeRate="customperkb"===this.selFeeRate&&!this.flgMinConf&&this.customFeeRate?1e3*this.customFeeRate+"perkb":this.selFeeRate,this.selUTXOs.length&&this.selUTXOs.length>0&&(t.utxos=[],this.selUTXOs.forEach(e=>t.utxos.push(e.txid+":"+e.output))),this.store.dispatch(new x.nb(t))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(gt.WI),o.Y36(y.yh),o.Y36(A.eX),o.Y36(a.JJ),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-open-channel"]],viewQuery:function(t,e){if(1&t&&o.Gf(Mi,7),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:56,vars:34,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","70","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amount",3,"ngModel","step","min","max","disabled","ngModelChange"],["amount","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","25","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-sm","space-between center","fxLayout.gt-sm","row wrap"],["fxFlex","48","fxLayoutAlign","space-between end"],["fxLayoutAlign","start center",3,"fxFlex"],["tabindex","4","placeholder","Fee Rate",3,"value","disabled","valueChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","5","color","primary","name","flgMinConf","fxLayoutAlign","stretch start",3,"ngModel","ngClass","ngModelChange","change"],["fxFlex","98"],["matInput","","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"ngModel","step","min","required","disabled","ngModelChange"],["blocks","ngModel"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-sm","space-between center","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value"],["fxFlex","48","fxLayoutAlign","end center"],["matInput","","placeholder","Fee Rate (Sats/vB)","type","number","name","custFeeRate","tabindex","4",3,"ngModel","step","min","required","ngModelChange"],["custFeeRate","ngModel"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","6","placeholder","Coin Selection","multiple","",3,"value","selectionChange","valueChange"],["fxFlex","48","tabindex","7","color","primary","name","flgUseAllBalance","matTooltip","Use selected UTXOs balance as the amount to be sent. Final amount sent will be less the mining fee.","matTooltipPosition","above",3,"ngModel","disabled","ngModelChange","change"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.NdJ("submit",function(){return e.onOpenChannel()})("reset",function(){return e.resetData()}),o.TgZ(11,"div",9),o.YNc(12,Yi,8,8,"mat-form-field",10),o.qZA(),o.YNc(13,Qi,1,0,"ng-container",11),o.TgZ(14,"div",9),o.TgZ(15,"div",12),o.TgZ(16,"mat-form-field",13),o.TgZ(17,"input",14,15),o.NdJ("ngModelChange",function(t){return e.fundingAmount=t}),o.qZA(),o.TgZ(19,"mat-hint"),o._uU(20),o.ALo(21,"number"),o.qZA(),o.TgZ(22,"span",16),o._uU(23," Sats "),o.qZA(),o.YNc(24,Pi,2,0,"mat-error",17),o.YNc(25,Bi,2,1,"mat-error",17),o.qZA(),o.TgZ(26,"div",18),o.TgZ(27,"mat-slide-toggle",19),o.NdJ("ngModelChange",function(t){return e.isPrivate=t}),o._uU(28,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(29,"mat-expansion-panel",20),o.NdJ("closed",function(){return e.onAdvancedPanelToggle(!0)})("opened",function(){return e.onAdvancedPanelToggle(!1)}),o.TgZ(30,"mat-expansion-panel-header"),o.TgZ(31,"mat-panel-title"),o.TgZ(32,"span"),o._uU(33),o.qZA(),o.qZA(),o.qZA(),o.TgZ(34,"div",21),o.TgZ(35,"div",22),o.TgZ(36,"div",23),o.TgZ(37,"mat-form-field",24),o.TgZ(38,"mat-select",25),o.NdJ("valueChange",function(t){return e.selFeeRate=t})("selectionChange",function(){return e.customFeeRate=null}),o.YNc(39,Hi,2,2,"mat-option",26),o.qZA(),o.qZA(),o.YNc(40,Gi,4,5,"mat-form-field",27),o.qZA(),o.TgZ(41,"div",28),o.TgZ(42,"mat-checkbox",29),o.NdJ("ngModelChange",function(t){return e.flgMinConf=t})("change",function(){return e.flgMinConf?e.selFeeRate=null:e.minConfValue=null}),o.qZA(),o.TgZ(43,"mat-form-field",30),o.TgZ(44,"input",31,32),o.NdJ("ngModelChange",function(t){return e.minConfValue=t}),o.qZA(),o.YNc(46,Vi,2,0,"mat-error",17),o.qZA(),o.qZA(),o.qZA(),o.YNc(47,Wi,9,8,"div",33),o.qZA(),o.qZA(),o.qZA(),o.YNc(48,Ki,3,2,"div",34),o.TgZ(49,"div",35),o.TgZ(50,"button",36),o._uU(51,"Clear Fields"),o.qZA(),o.TgZ(52,"button",37),o._uU(53,"Open Channel"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(54,to,1,1,"ng-template",null,38,o.W1O)),2&t){const t=o.MAs(18),n=o.MAs(55);o.xp6(5),o.Oqu(e.alertTitle),o.xp6(7),o.Q6J("ngIf",!e.peer&&e.peers&&e.peers.length>0),o.xp6(1),o.Q6J("ngTemplateOutlet",n),o.xp6(4),o.Q6J("ngModel",e.fundingAmount)("step",1e3)("min",1)("max",e.totalBalance)("disabled",e.flgUseAllBalance),o.xp6(3),o.AsE("Remaining Bal: ",o.lcZ(21,29,e.totalBalance-(e.fundingAmount?e.fundingAmount:0)),"",e.flgUseAllBalance?". Amount replaced by UTXO balance":"",""),o.xp6(4),o.Q6J("ngIf",(null==t.errors?null:t.errors.required)||!e.fundingAmount),o.xp6(1),o.Q6J("ngIf",null==t.errors?null:t.errors.max),o.xp6(2),o.Q6J("ngModel",e.isPrivate),o.xp6(6),o.Oqu(e.advancedTitle),o.xp6(4),o.Q6J("fxFlex","customperkb"!==e.selFeeRate||e.flgMinConf?"100":"48"),o.xp6(1),o.Q6J("value",e.selFeeRate)("disabled",e.flgMinConf),o.xp6(1),o.Q6J("ngForOf",e.feeRateTypes),o.xp6(1),o.Q6J("ngIf","customperkb"===e.selFeeRate&&!e.flgMinConf),o.xp6(2),o.Q6J("ngModel",e.flgMinConf)("ngClass",o.WLB(31,eo,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM,e.screenSize===e.screenSizeEnum.MD||e.screenSize===e.screenSizeEnum.LG||e.screenSize===e.screenSizeEnum.XL)),o.xp6(2),o.Q6J("ngModel",e.minConfValue)("step",1)("min",0)("required",e.flgMinConf)("disabled",!e.flgMinConf),o.xp6(2),o.Q6J("ngIf",e.flgMinConf&&!e.minConfValue),o.xp6(1),o.Q6J("ngIf",e.isCompatibleVersion),o.xp6(1),o.Q6J("ngIf",""!==e.channelConnectionError)}},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,v.dn,ft._Y,ft.JL,ft.F,a.O5,a.tP,M.KE,xt.Nt,ft.wV,ft.qQ,ft.Fd,ft.Fj,yt.q,Ii.F,ft.Q7,ft.JJ,ft.On,M.bx,M.R9,Tt.Rr,na.ib,na.yz,na.yK,At.gD,a.sg,ea.oG,a.mk,b.oO,Zt.h,Oi.ZL,ft.oH,Oi.XC,Ct.ey,M.TO,At.$L,E.gM,C.BN,J.d],pipes:[a.JJ,a.Ov],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),t})();function ao(t,e){if(1&t&&(o.TgZ(0,"span",7),o._uU(1,"Open"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.openChannels)}}function so(t,e){if(1&t&&(o.TgZ(0,"span",7),o._uU(1,"Pending/Inactive"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.pendingChannels)}}let io=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.store=e,this.commonService=n,this.router=a,this.openChannels=0,this.pendingChannels=0,this.selNode={},this.information={},this.peers=[],this.utxos=[],this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending/Inactive"}],this.activeLink=0,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{t.allChannels&&t.allChannels.length?(this.openChannels=0,this.pendingChannels=0,t.allChannels.forEach(t=>{"CHANNELD_NORMAL"===t.state&&t.connected?this.openChannels++:this.pendingChannels++})):(this.openChannels=0,this.pendingChannels=0),this.selNode=t.nodeSettings,this.information=t.information,this.peers=t.peers,this.utxos=this.commonService.sortAscByKey(t.utxos.filter(t=>"confirmed"===t.status),"value"),this.totalBalance=t.balance.totalBalance,this.logger.info(t)})}onOpenChannel(){const t={peers:this.peers,information:this.information,balance:this.totalBalance,utxos:this.utxos,isCompatibleVersion:this.commonService.isVersionCompatible(this.information.version,"0.9.0")&&this.commonService.isVersionCompatible(this.information.api_version,"0.4.0")};this.store.dispatch(new Ft.wu({data:{alertTitle:"Open Channel",message:t,component:no}}))}onSelectedTabChange(t){this.router.navigateByUrl("/cl/connections/channels/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(T.v),o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channels-tables"]],decls:12,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return e.onOpenChannel()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-tab-group",4),o.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),o.TgZ(6,"mat-tab"),o.YNc(7,ao,2,1,"ng-template",5),o.qZA(),o.TgZ(8,"mat-tab"),o.YNc(9,so,2,1,"ng-template",5),o.qZA(),o.qZA(),o.TgZ(10,"div",6),o._UZ(11,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(5),o.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.yH,l.Wh,q.lW,dt.SP,dt.uX,dt.uD,s.lC,rs.k],styles:[""]}),t})();function oo(t,e){if(1&t&&(o.TgZ(0,"div"),o.TgZ(1,"div",9),o.TgZ(2,"div",1),o.TgZ(3,"h4",11),o._uU(4,"Funding Transaction Id"),o.qZA(),o.TgZ(5,"span",12),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o._UZ(7,"mat-divider",13),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.Oqu(t.channel.funding_txid),o.xp6(1),o.Q6J("inset",!0)}}function lo(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function ro(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function co(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",23),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyChanID(e)}),o._uU(1,"Copy Short Channel ID"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.channel.short_channel_id)}}function uo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",24),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const po=function(t){return{"xs-scroll-y":t}},ho=function(t,e){return{"mt-2":t,"mt-1":e}};let mo=(()=>{class t{constructor(t,e,n,a,s){this.dialogRef=t,this.data=e,this.logger=n,this.commonService=a,this.snackBar=s,this.faReceipt=g.dLy,this.showAdvanced=!1,this.showCopy=!0,this.showCopyField=null,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.channel=this.data.channel,this.showCopy=this.data.showCopy,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(t){this.snackBar.open("Short channel ID "+t+" copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(gt.WI),o.Y36(Z.mQ),o.Y36(T.v),o.Y36(ta.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-information"]],decls:94,vars:40,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxFlex","25"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span",5),o._uU(6,"Channel Information"),o.qZA(),o.qZA(),o.TgZ(7,"button",6),o.NdJ("click",function(){return e.onClose()}),o._uU(8,"X"),o.qZA(),o.qZA(),o.TgZ(9,"mat-card-content",7),o.TgZ(10,"div",8),o.TgZ(11,"div",9),o.TgZ(12,"div",10),o.TgZ(13,"h4",11),o._uU(14,"Short Channel ID"),o.qZA(),o.TgZ(15,"span",12),o._uU(16),o.qZA(),o.qZA(),o.TgZ(17,"div",10),o.TgZ(18,"h4",11),o._uU(19,"Peer Alias"),o.qZA(),o.TgZ(20,"span",12),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",13),o.TgZ(23,"div",9),o.TgZ(24,"div",1),o.TgZ(25,"h4",11),o._uU(26,"Channel ID"),o.qZA(),o.TgZ(27,"span",12),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",13),o.TgZ(30,"div",9),o.TgZ(31,"div",1),o.TgZ(32,"h4",11),o._uU(33,"Peer Public Key"),o.qZA(),o.TgZ(34,"span",12),o._uU(35),o.qZA(),o.qZA(),o.qZA(),o._UZ(36,"mat-divider",13),o.TgZ(37,"div",9),o.TgZ(38,"div",14),o.TgZ(39,"h4",11),o._uU(40,"mSatoshi to Us"),o.qZA(),o.TgZ(41,"span",15),o._uU(42),o.ALo(43,"number"),o.qZA(),o.qZA(),o.TgZ(44,"div",14),o.TgZ(45,"h4",11),o._uU(46,"Spendable (mSats)"),o.qZA(),o.TgZ(47,"span",15),o._uU(48),o.ALo(49,"number"),o.qZA(),o.qZA(),o.TgZ(50,"div",14),o.TgZ(51,"h4",11),o._uU(52,"Total (mSats)"),o.qZA(),o.TgZ(53,"span",15),o._uU(54),o.ALo(55,"number"),o.qZA(),o.qZA(),o.TgZ(56,"div",14),o.TgZ(57,"h4",11),o._uU(58,"State"),o.qZA(),o.TgZ(59,"span",15),o._uU(60),o.qZA(),o.qZA(),o.qZA(),o._UZ(61,"mat-divider",13),o.TgZ(62,"div",9),o.TgZ(63,"div",14),o.TgZ(64,"h4",11),o._uU(65,"Our Reserve (Sats)"),o.qZA(),o.TgZ(66,"span",15),o._uU(67),o.ALo(68,"number"),o.qZA(),o.qZA(),o.TgZ(69,"div",14),o.TgZ(70,"h4",11),o._uU(71,"Their Reserve (Sats)"),o.qZA(),o.TgZ(72,"span",15),o._uU(73),o.ALo(74,"number"),o.qZA(),o.qZA(),o.TgZ(75,"div",14),o.TgZ(76,"h4",11),o._uU(77,"Connected"),o.qZA(),o.TgZ(78,"span",15),o._uU(79),o.qZA(),o.qZA(),o.TgZ(80,"div",14),o.TgZ(81,"h4",11),o._uU(82,"Private"),o.qZA(),o.TgZ(83,"span",15),o._uU(84),o.qZA(),o.qZA(),o.qZA(),o._UZ(85,"mat-divider",13),o.YNc(86,oo,8,2,"div",16),o.TgZ(87,"div",17),o.TgZ(88,"button",18),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(89,lo,2,0,"p",19),o.YNc(90,ro,2,0,"ng-template",null,20,o.W1O),o.qZA(),o.YNc(92,co,2,1,"button",21),o.YNc(93,uo,2,0,"button",22),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(91);o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(5),o.Q6J("ngClass",o.VKq(35,po,e.screenSize===e.screenSizeEnum.XS)),o.xp6(7),o.Oqu(e.channel.short_channel_id),o.xp6(5),o.Oqu(e.channel.alias),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.channel.channel_id),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.channel.id),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(43,25,e.channel.msatoshi_to_us)),o.xp6(6),o.Oqu(o.lcZ(49,27,e.channel.spendable_msatoshi)),o.xp6(6),o.Oqu(o.lcZ(55,29,e.channel.msatoshi_total)),o.xp6(6),o.Oqu(e.channel.state),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(68,31,e.channel.our_channel_reserve_satoshis)),o.xp6(6),o.Oqu(o.lcZ(74,33,e.channel.their_channel_reserve_satoshis)),o.xp6(6),o.Oqu(e.channel.connected?"Yes":"No"),o.xp6(5),o.Oqu(e.channel.private?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngClass",o.WLB(37,ho,!e.showAdvanced,e.showAdvanced)),o.xp6(2),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.showCopy),o.xp6(1),o.Q6J("ngIf",!e.showCopy)}},directives:[l.xw,l.Wh,l.yH,v.dk,C.BN,q.lW,v.dn,a.mk,b.oO,J.d,a.O5,Zt.h,Cs.y],pipes:[a.JJ],styles:[""]}),t})();function go(t,e){1&t&&o._UZ(0,"mat-progress-bar",33)}function fo(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Short Channel ID "),o.qZA())}function xo(t,e){if(1&t&&(o.TgZ(0,"span",40),o._UZ(1,"fa-icon",41),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEyeSlash)}}function Zo(t,e){if(1&t&&(o.TgZ(0,"span",42),o._UZ(1,"fa-icon",41),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEye)}}const yo=function(t){return{"max-width":t}};function Ao(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"div",36),o.YNc(2,xo,2,1,"span",37),o.YNc(3,Zo,2,1,"span",38),o.TgZ(4,"span",39),o._uU(5),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(4,yo,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),o.xp6(1),o.Q6J("ngIf",t.private),o.xp6(1),o.Q6J("ngIf",!t.private),o.xp6(2),o.Oqu(null==t?null:t.short_channel_id)}}function To(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Alias "),o.qZA())}function Co(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"div",36),o.TgZ(2,"span",39),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(2,yo,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),o.xp6(2),o.Oqu(null==t?null:t.alias)}}function wo(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Connected "),o.qZA())}function vo(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null!=t&&t.connected?"Connected":"Disconnected"," ")}}function So(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Private "),o.qZA())}function bo(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null!=t&&t.private?"Private":"Public"," ")}}function qo(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," State "),o.qZA())}function _o(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.state,"")}}function Fo(t,e){1&t&&(o.TgZ(0,"th",43),o._uU(1," Local Balance (Sats) "),o.qZA())}function Lo(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",44),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,(null==t?null:t.msatoshi_to_us)/1e3,(null==t?null:t.msatoshi_to_us)<1e3?"1.0-4":"1.0-0")," ")}}function Uo(t,e){1&t&&(o.TgZ(0,"th",43),o._uU(1," Remote Balance (Sats) "),o.qZA())}function Ro(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",44),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,(null==t?null:t.msatoshi_to_them)/1e3,(null==t?null:t.msatoshi_to_them)<1e3?"1.0-4":"1.0-0")," ")}}function ko(t,e){1&t&&(o.TgZ(0,"th",43),o._uU(1," Total mSatoshis "),o.qZA())}function No(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",44),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.msatoshi_total)," ")}}function Io(t,e){1&t&&(o.TgZ(0,"th",43),o._uU(1," Spendable Satoshi "),o.qZA())}function Oo(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",44),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.spendable_msatoshi)," ")}}function Mo(t,e){1&t&&(o.TgZ(0,"th",45),o._uU(1,"Balance Score "),o.qZA())}function Eo(t,e){if(1&t&&(o.TgZ(0,"td",46),o.TgZ(1,"div",47),o.TgZ(2,"mat-hint",48),o._uU(3),o.ALo(4,"number"),o.qZA(),o.qZA(),o._UZ(5,"mat-progress-bar",49),o.qZA()),2&t){const t=e.$implicit;o.xp6(3),o.Oqu(o.lcZ(4,2,t.balancedness||0)),o.xp6(2),o.s9C("value",t.msatoshi_to_us&&t.msatoshi_to_us>0?+t.msatoshi_to_us/(+t.msatoshi_to_us+ +t.msatoshi_to_them)*100:0)}}function Jo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",50),o.TgZ(1,"div",51),o.TgZ(2,"mat-select",52),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",53),o.NdJ("click",function(){return o.CHM(t),o.oxw().onChannelUpdate("all")}),o._uU(5,"Update Fee Policy"),o.qZA(),o.TgZ(6,"mat-option",53),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(7,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Do(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",54),o.TgZ(1,"div",55),o.TgZ(2,"mat-select",56),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",53),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onChannelClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",53),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onViewRemotePolicy(e)}),o._uU(7,"View Remote Fee"),o.qZA(),o.TgZ(8,"mat-option",53),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelUpdate(e)}),o._uU(9,"Update Fee Policy"),o.qZA(),o.TgZ(10,"mat-option",53),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelClose(e)}),o._uU(11,"Close Channel"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Yo(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No peers connected. Add a peer in order to open a channel."),o.qZA())}function Qo(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No channel available."),o.qZA())}function Po(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting channels..."),o.qZA())}function Bo(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function Ho(t,e){if(1&t&&(o.TgZ(0,"td",57),o.YNc(1,Yo,2,0,"p",58),o.YNc(2,Qo,2,0,"p",58),o.YNc(3,Po,2,0,"p",58),o.YNc(4,Bo,2,1,"p",58),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",t.numPeers<1&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",t.numPeers>0&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.ERROR)}}const zo=function(t){return{"display-none":t}};function Go(t,e){if(1&t&&o._UZ(0,"tr",59),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,zo,t.numPeers>0&&(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function Vo(t,e){1&t&&o._UZ(0,"tr",60)}function Xo(t,e){1&t&&o._UZ(0,"tr",61)}const Wo=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},$o=function(){return["no_peer"]};let Ko=(()=>{class t{constructor(t,e,n,a,s){this.logger=t,this.store=e,this.rtlEffects=n,this.clEffects=a,this.commonService=s,this.faEye=g.Mdf,this.faEyeSlash=g.Aq,this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=f.vn,this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","msatoshi_to_us","msatoshi_to_them","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","actions"]):(this.flgSticky=!0,this.displayedColumns=["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","balancedness","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.balance.totalBalance,this.channelsData=t.allChannels.filter(t=>"CHANNELD_NORMAL"===t.state&&t.connected),this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),this.logger.info(t)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}onViewRemotePolicy(t){this.store.dispatch(new x.IG({uiMessage:f.m6.GET_REMOTE_POLICY,shortChannelID:t.short_channel_id,showError:!0})),this.clEffects.setLookupCL.pipe((0,ce.q)(1)).subscribe(t=>{if(0===t.length)return!1;let e={};e=t[0].source!==this.information.id?t[0]:t[1],this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Remote Channel Policy",message:[[{key:"base_fee_millisatoshi",value:e.base_fee_millisatoshi,title:"Base Fees (mSats)",width:34,type:f.Gi.NUMBER},{key:"fee_per_millionth",value:e.fee_per_millionth,title:"Fee/Millionth",width:33,type:f.Gi.NUMBER},{key:"delay",value:e.delay,title:"Delay",width:33,type:f.Gi.NUMBER}]]}}))})}onChannelUpdate(t){"all"!==t&&"ONCHAIN"===t.state||("all"===t?(this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update All",message:[],titleMessage:"Update fee policy for all channels",flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:1e3,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:1,min:1,width:48,hintFunction:this.percentHintFunction}]}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{t&&this.store.dispatch(new x.k({baseFeeMsat:t[0].inputValue,feeRate:t[1].inputValue,channelId:"all"}))})):(this.myChanPolicy={fee_base_msat:0,fee_rate_milli_msat:0},this.store.dispatch(new x.IG({uiMessage:f.m6.GET_CHAN_POLICY,shortChannelID:t.short_channel_id,showError:!1})),this.clEffects.setLookupCL.pipe((0,ce.q)(1)).subscribe(e=>{this.myChanPolicy=e.length>0&&e[0].source===this.information.id?{fee_base_msat:e[0].base_fee_millisatoshi,fee_rate_milli_msat:e[0].fee_per_millionth}:e.length>1&&e[1].source===this.information.id?{fee_base_msat:e[1].base_fee_millisatoshi,fee_rate_milli_msat:e[1].fee_per_millionth}:{fee_base_msat:0,fee_rate_milli_msat:0},this.logger.info(this.myChanPolicy),this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update",message:[],titleMessage:"Update fee policy for Channel: "+t.channel_id,flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:""===this.myChanPolicy.fee_base_msat?0:this.myChanPolicy.fee_base_msat,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:this.myChanPolicy.fee_rate_milli_msat,min:1,width:48,hintFunction:this.percentHintFunction}]}}))}),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[2])).subscribe(e=>{e&&this.store.dispatch(new x.k({baseFeeMsat:e[0].inputValue,feeRate:e[1].inputValue,channelId:t.channel_id}))})),this.applyFilter())}percentHintFunction(t){return(t/1e4).toString()+"%"}onChannelClose(t){this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Close Channel",titleMessage:"Closing channel: "+t.channel_id,noBtnText:"Cancel",yesBtnText:"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[3])).subscribe(e=>{e&&this.store.dispatch(new x.e8({channelId:t.channel_id,force:!1}))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(t,e){this.store.dispatch(new Ft.wu({data:{channel:t,showCopy:!0,component:mo}}))}loadChannelsTable(t){t.sort((t,e)=>t.active===e.active?0:e.active?1:-1),this.channels=new mt.by([...t]),this.channels.filterPredicate=(t,e)=>((t.connected?"connected":"disconnected")+(t.channel_id?t.channel_id.toLowerCase():"")+(t.short_channel_id?t.short_channel_id.toLowerCase():"")+(t.id?t.id.toLowerCase():"")+(t.alias?t.alias.toLowerCase():"")+(t.private?"private":"public")+(t.state?t.state.toLowerCase():"")+(t.funding_txid?t.funding_txid.toLowerCase():"")+(t.msatoshi_to_us?t.msatoshi_to_us:"")+(t.msatoshi_total?t.msatoshi_total:"")+(t.their_channel_reserve_satoshis?t.their_channel_reserve_satoshis:"")+(t.our_channel_reserve_satoshis?t.our_channel_reserve_satoshis:"")+(t.spendable_msatoshi?t.spendable_msatoshi:"")).includes(e),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Open-channels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(Lt.V),o.Y36(ue.s),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-open-table"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Channels")}])],decls:48,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["mode","indeterminate",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","short_channel_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","connected"],["matColumnDef","private"],["matColumnDef","state"],["matColumnDef","msatoshi_to_us"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_to_them"],["matColumnDef","msatoshi_total"],["matColumnDef","spendable_msatoshi"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),o.qZA(),o.qZA(),o.qZA(),o.YNc(5,go,1,0,"mat-progress-bar",5),o.TgZ(6,"div",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,fo,2,0,"th",10),o.YNc(11,Ao,6,6,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,To,2,0,"th",10),o.YNc(14,Co,4,4,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,wo,2,0,"th",10),o.YNc(17,vo,2,1,"td",11),o.BQk(),o.ynx(18,14),o.YNc(19,So,2,0,"th",10),o.YNc(20,bo,2,1,"td",11),o.BQk(),o.ynx(21,15),o.YNc(22,qo,2,0,"th",10),o.YNc(23,_o,2,1,"td",11),o.BQk(),o.ynx(24,16),o.YNc(25,Fo,2,0,"th",17),o.YNc(26,Lo,4,4,"td",11),o.BQk(),o.ynx(27,18),o.YNc(28,Uo,2,0,"th",17),o.YNc(29,Ro,4,4,"td",11),o.BQk(),o.ynx(30,19),o.YNc(31,ko,2,0,"th",17),o.YNc(32,No,4,3,"td",11),o.BQk(),o.ynx(33,20),o.YNc(34,Io,2,0,"th",17),o.YNc(35,Oo,4,3,"td",11),o.BQk(),o.ynx(36,21),o.YNc(37,Mo,2,0,"th",22),o.YNc(38,Eo,6,4,"td",23),o.BQk(),o.ynx(39,24),o.YNc(40,Jo,8,0,"th",25),o.YNc(41,Do,12,0,"td",26),o.BQk(),o.ynx(42,27),o.YNc(43,Ho,5,4,"td",28),o.BQk(),o.YNc(44,Go,1,3,"tr",29),o.YNc(45,Vo,1,0,"tr",30),o.YNc(46,Xo,1,0,"tr",31),o.qZA(),o.qZA(),o._UZ(47,"mat-paginator",32),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.selFilter),o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(2),o.Q6J("dataSource",e.channels)("ngClass",o.VKq(11,Wo,""!==e.errorMessage)),o.xp6(37),o.Q6J("matFooterRowDef",o.DdM(13,$o)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,M.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,a.O5,D.$V,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,a.PC,b.Zl,E.gM,C.BN,M.bx,At.gD,At.$L,Ct.ey,mt.yh,mt.Q2,mt.XQ,mt.Gk],pipes:[a.JJ],styles:[".mat-column-short_channel_id[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-short_channel_id[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{flex:0 0 20%;width:20%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:3rem;flex:0 0 22%;width:22%}.mat-column-msatoshi_to_them[_ngcontent-%COMP%], .mat-column-msatoshi_to_us[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%]{flex:1 1 15%;width:15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-msatoshi_to_them[_ngcontent-%COMP%], .mat-column-msatoshi_to_us[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),t})();const jo=["outputIdx"];function tl(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Output Index required."),o.qZA())}function el(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Invalid index value."),o.qZA())}function nl(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees is required."),o.qZA())}function al(t,e){if(1&t&&(o.TgZ(0,"div",27),o._UZ(1,"fa-icon",13),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.bumpFeeError)}}let sl=(()=>{class t{constructor(t,e,n,a,s,i){this.actions=t,this.dialogRef=e,this.data=n,this.store=a,this.logger=s,this.snackBar=i,this.newAddress="",this.fees=null,this.outputIndex=null,this.faCopy=g.kZ_,this.faInfoCircle=g.sqG,this.faExclamationTriangle=g.eHv,this.bumpFeeError="",this.unSubs=[new d.x,new d.x]}set payReq(t){t&&(this.outputIdx=t)}ngOnInit(){this.bumpFeeChannel=this.data.channel}onBumpFee(){if(!this.outputIndex&&0!==this.outputIndex||!this.fees)return!0;this.bumpFeeError="",this.store.dispatch(new x.ER(f._t[0])),this.actions.pipe((0,h.h)(t=>t.type===x.Un),(0,ce.q)(1)).subscribe(t=>{this.store.dispatch(new x.uj({address:t.payload,satoshis:"all",feeRate:this.fees,utxos:[this.bumpFeeChannel.funding_txid+":"+this.outputIndex.toString()]}))}),this.actions.pipe((0,h.h)(t=>t.type===x.ob),(0,ce.q)(1)).subscribe(t=>{this.store.dispatch(new Ft.Lw("Successfully bumped the fee. Use the block explorer to verify transaction.")),this.dialogRef.close()}),this.actions.pipe((0,h.h)(t=>t.type===x.qe),(0,p.R)(this.unSubs[0])).subscribe(t=>{t.payload.status!==f.Bn.ERROR||"SetChannelTransaction"!==t.payload.action&&"GenerateNewAddress"!==t.payload.action||(this.logger.error(t.payload.message),this.bumpFeeError=t.payload.message)})}onCopyID(t){this.snackBar.open("Transaction ID copied.")}resetData(){this.bumpFeeError="",this.fees=null,this.outputIndex=null,this.outputIdx.control.setErrors(null)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(A.eX),o.Y36(gt.so),o.Y36(gt.WI),o.Y36(y.yh),o.Y36(Z.mQ),o.Y36(ta.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-bump-fee"]],viewQuery:function(t,e){if(1&t&&o.Gf(jo,5),2&t){let t;o.iGM(t=o.CRH())&&(e.payReq=t.first)}},decls:47,vars:15,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column",1,"bordered-box","mb-1","p-2"],["fxLayoutAlign","start center",1,"pb-1","word-break"],["matSuffix","","rtlClipboard","","matTooltip","Copy transaction ID",1,"ml-1",3,"icon","payload","copied"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxFlex","100"],[1,"pl-1"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","49"],["autoFocus","","matInput","","placeholder","Output Index","type","number","tabindex","1","required","","name","outputIdx",3,"ngModel","step","min","ngModelChange"],["outputIdx","ngModel"],[4,"ngIf"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","fees","required","","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fee","ngModel"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","tabindex","5","default","",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","6",3,"click"],["fxFlex","100",1,"alert","alert-danger","mt-1"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Bump Fee"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7),o.TgZ(10,"div",8),o.TgZ(11,"p",9),o._uU(12),o.TgZ(13,"fa-icon",10),o.NdJ("copied",function(t){return e.onCopyID(t)}),o.qZA(),o.qZA(),o.TgZ(14,"div",11),o.TgZ(15,"div",12),o._UZ(16,"fa-icon",13),o.TgZ(17,"span",14),o._uU(18,"Bumping fee on pending open channels is an advanced feature, attempt it only if you are familiar with the functionality of Bitcoin transactions. "),o.TgZ(19,"div"),o._uU(20,"Before attempting fee bump ensure the following:"),o.qZA(),o.TgZ(21,"div",15),o._uU(22,"1: Use a Bitcoin block explorer to ensure that channel opening transaction is not confirmed."),o.qZA(),o.TgZ(23,"div",15),o._uU(24,"2: The channel opening transaction must have a sizable change output, which can be spent further. The fee cannot be bumped without the change output."),o.qZA(),o.TgZ(25,"div",15),o._uU(26,"3: Find the index value of the change output via a block explorer."),o.qZA(),o.TgZ(27,"div",15),o._uU(28,"4: Enter the index value of the change output in the form below and the desired fee rate."),o.qZA(),o.TgZ(29,"div",15),o._uU(30,"5: Upon successful fee bump, use your block explorer to track the child transaction in the mempool, which should be linked with the change output transaction."),o.qZA(),o.qZA(),o.qZA(),o.TgZ(31,"div",16),o.TgZ(32,"mat-form-field",17),o.TgZ(33,"input",18,19),o.NdJ("ngModelChange",function(t){return e.outputIndex=t}),o.qZA(),o.YNc(35,tl,2,0,"mat-error",20),o.YNc(36,el,2,0,"mat-error",20),o.qZA(),o.TgZ(37,"mat-form-field",17),o.TgZ(38,"input",21,22),o.NdJ("ngModelChange",function(t){return e.fees=t}),o.qZA(),o.YNc(40,nl,2,0,"mat-error",20),o.qZA(),o.qZA(),o.YNc(41,al,4,2,"div",23),o.qZA(),o.qZA(),o.TgZ(42,"div",24),o.TgZ(43,"button",25),o.NdJ("click",function(){return e.resetData()}),o._uU(44,"Clear"),o.qZA(),o.TgZ(45,"button",26),o.NdJ("click",function(){return e.onBumpFee()}),o._uU(46),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(34);o.xp6(12),o.hij("Bump fee for transaction id: ",null==e.bumpFeeChannel?null:e.bumpFeeChannel.funding_txid," "),o.xp6(1),o.Q6J("icon",e.faCopy)("payload",null==e.bumpFeeChannel?null:e.bumpFeeChannel.funding_txid),o.xp6(3),o.Q6J("icon",e.faInfoCircle),o.xp6(17),o.Q6J("ngModel",e.outputIndex)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",null==t.errors?null:t.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.errors?null:t.errors.pendingChannelOutputIndex),o.xp6(2),o.Q6J("ngModel",e.fees)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.fees),o.xp6(1),o.Q6J("ngIf",""!==e.bumpFeeError),o.xp6(5),o.Oqu(""!==e.bumpFeeError?"Retry Bump Fee":"Bump Fee")}},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,v.dn,ft._Y,ft.JL,ft.F,C.BN,M.R9,Cs.y,E.gM,M.KE,xt.Nt,ft.wV,ft.qQ,ft.Fj,yt.q,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,M.TO],styles:[""]}),t})();function il(t,e){1&t&&o._UZ(0,"mat-progress-bar",30)}function ol(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Short Channel ID "),o.qZA())}function ll(t,e){if(1&t&&(o.TgZ(0,"td",32),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.short_channel_id,"")}}function rl(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Alias "),o.qZA())}function cl(t,e){if(1&t&&(o.TgZ(0,"td",32),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.alias)}}function ul(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Connected "),o.qZA())}function dl(t,e){if(1&t&&(o.TgZ(0,"td",32),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null!=t&&t.connected?"Connected":"Disconnected"," ")}}function pl(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Private "),o.qZA())}function hl(t,e){if(1&t&&(o.TgZ(0,"td",32),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null!=t&&t.private?"Private":"Public"," ")}}function ml(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," State "),o.qZA())}const gl=function(t){return{"max-width":t}};function fl(t,e){if(1&t&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,gl,n.screenSize===n.screenSizeEnum.XS?"10rem":"")),o.xp6(1),o.hij(" ",n.CLChannelPendingState[null==t?null:t.state]," ")}}function xl(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," mSatoshi To Us "),o.qZA())}function Zl(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.msatoshi_to_us)," ")}}function yl(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Total (Sats) "),o.qZA())}function Al(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,(null==t?null:t.msatoshi_total)/1e3)," ")}}function Tl(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Spendable Satoshi "),o.qZA())}function Cl(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.spendable_msatoshi)," ")}}function wl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",36),o.TgZ(1,"div",37),o.TgZ(2,"mat-select",38),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",39),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function vl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",39),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onChannelClose(e)}),o._uU(1,"Close Channel"),o.qZA()}}function Sl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",39),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onBumpFee(e)}),o._uU(1,"Bump Fee"),o.qZA()}}function bl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",40),o.TgZ(1,"div",37),o.TgZ(2,"mat-select",41),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",39),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onChannelClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.YNc(6,vl,2,0,"mat-option",42),o.YNc(7,Sl,2,0,"mat-option",42),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.xp6(6),o.Q6J("ngIf",n.isCompatibleVersion&&!t.connected&&"CHANNELD_NORMAL"===t.state),o.xp6(1),o.Q6J("ngIf","CHANNELD_AWAITING_LOCKIN"===t.state)}}function ql(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No peers connected. Add a peer in order to open a channel."),o.qZA())}function _l(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No pending/inactive channel available."),o.qZA())}function Fl(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting pending/inactive channels..."),o.qZA())}function Ll(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function Ul(t,e){if(1&t&&(o.TgZ(0,"td",43),o.YNc(1,ql,2,0,"p",44),o.YNc(2,_l,2,0,"p",44),o.YNc(3,Fl,2,0,"p",44),o.YNc(4,Ll,2,1,"p",44),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",t.numPeers<1&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",t.numPeers>0&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.ERROR)}}const Rl=function(t){return{"display-none":t}};function kl(t,e){if(1&t&&o._UZ(0,"tr",45),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,Rl,t.numPeers>0&&(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function Nl(t,e){1&t&&o._UZ(0,"tr",46)}function Il(t,e){1&t&&o._UZ(0,"tr",47)}const Ol=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Ml=function(){return["no_peer"]};let El=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.store=e,this.rtlEffects=n,this.commonService=a,this.isCompatibleVersion=!1,this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=f.vn,this.selFilter="",this.flgSticky=!1,this.CLChannelPendingState=f.uX,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","state","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","connected","state","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","connected","state","msatoshi_total","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","connected","state","msatoshi_total","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),this.information=t.information,this.information.api_version&&(this.isCompatibleVersion=this.commonService.isVersionCompatible(this.information.api_version,"0.4.2")),this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.balance.totalBalance,this.channelsData=t.allChannels.filter(t=>!("CHANNELD_NORMAL"===t.state&&t.connected)),this.channelsData=this.channelsData.sort((t,e)=>this.CLChannelPendingState[t.state]>=this.CLChannelPendingState[e.state]?1:-1),this.channelsData&&this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),this.logger.info(t)})}ngAfterViewInit(){this.channelsData&&this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onBumpFee(t){this.store.dispatch(new Ft.wu({data:{channel:t,component:sl}}))}onChannelClick(t,e){this.store.dispatch(new Ft.wu({data:{channel:t,showCopy:!0,component:mo}}))}onChannelClose(t){this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Force Close Channel",titleMessage:"Force closing channel: "+t.channel_id,noBtnText:"Cancel",yesBtnText:"Force Close"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[3])).subscribe(e=>{e&&this.store.dispatch(new x.e8({channelId:t.channel_id,force:!0}))})}loadChannelsTable(t){t.sort((t,e)=>t.active===e.active?0:e.active?1:-1),this.channels=new mt.by([...t]),this.channels.filterPredicate=(t,e)=>((t.connected?"connected":"disconnected")+(t.channel_id?t.channel_id.toLowerCase():"")+(t.short_channel_id?t.short_channel_id.toLowerCase():"")+(t.id?t.id.toLowerCase():"")+(t.alias?t.alias.toLowerCase():"")+(t.private?"private":"public")+(t.state&&this.CLChannelPendingState[t.state]?this.CLChannelPendingState[t.state].toLowerCase():"")+(t.funding_txid?t.funding_txid.toLowerCase():"")+(t.msatoshi_to_us?t.msatoshi_to_us:"")+(t.msatoshi_total?t.msatoshi_total:"")+(t.their_channel_reserve_satoshis?t.their_channel_reserve_satoshis:"")+(t.our_channel_reserve_satoshis?t.our_channel_reserve_satoshis:"")+(t.spendable_msatoshi?t.spendable_msatoshi:"")).includes(e),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>{switch(e){case"state":return this.CLChannelPendingState[t.state];default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Pending-inactive-channels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(Lt.V),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-channel-pending-table"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Channels")}])],decls:42,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["mode","indeterminate",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","short_channel_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","connected"],["matColumnDef","private"],["matColumnDef","state"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","msatoshi_to_us"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_total"],["matColumnDef","spendable_msatoshi"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pr-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pr-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pr-3"],["placeholder","Actions","tabindex","4",1,"mr-0"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),o.qZA(),o.qZA(),o.qZA(),o.YNc(5,il,1,0,"mat-progress-bar",5),o.TgZ(6,"div",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,ol,2,0,"th",10),o.YNc(11,ll,2,1,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,rl,2,0,"th",10),o.YNc(14,cl,2,1,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,ul,2,0,"th",10),o.YNc(17,dl,2,1,"td",11),o.BQk(),o.ynx(18,14),o.YNc(19,pl,2,0,"th",10),o.YNc(20,hl,2,1,"td",11),o.BQk(),o.ynx(21,15),o.YNc(22,ml,2,0,"th",10),o.YNc(23,fl,2,4,"td",16),o.BQk(),o.ynx(24,17),o.YNc(25,xl,2,0,"th",18),o.YNc(26,Zl,4,3,"td",11),o.BQk(),o.ynx(27,19),o.YNc(28,yl,2,0,"th",18),o.YNc(29,Al,4,3,"td",11),o.BQk(),o.ynx(30,20),o.YNc(31,Tl,2,0,"th",18),o.YNc(32,Cl,4,3,"td",11),o.BQk(),o.ynx(33,21),o.YNc(34,wl,6,0,"th",22),o.YNc(35,bl,8,2,"td",23),o.BQk(),o.ynx(36,24),o.YNc(37,Ul,5,4,"td",25),o.BQk(),o.YNc(38,kl,1,3,"tr",26),o.YNc(39,Nl,1,0,"tr",27),o.YNc(40,Il,1,0,"tr",28),o.qZA(),o.qZA(),o._UZ(41,"mat-paginator",29),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.selFilter),o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(2),o.Q6J("dataSource",e.channels)("ngClass",o.VKq(11,Ol,""!==e.errorMessage)),o.xp6(31),o.Q6J("matFooterRowDef",o.DdM(13,Ml)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,M.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,a.O5,D.$V,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,a.PC,b.Zl,At.gD,At.$L,Ct.ey,mt.yh,mt.Q2,mt.XQ,mt.Gk],pipes:[a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-state[_ngcontent-%COMP%]{flex:1 1 15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();const Jl=["peersForm"],Dl=["stepper"];function Yl(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw();o.Oqu(t.peerFormLabel)}}function Ql(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Address is required."),o.qZA())}function Pl(t,e){if(1&t&&(o.TgZ(0,"div",40),o._UZ(1,"fa-icon",41),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.peerConnectionError)}}function Bl(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw();o.Oqu(t.channelFormLabel)}}function Hl(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function zl(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount must be a positive number."),o.qZA())}function Gl(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function Vl(t,e){if(1&t&&(o.TgZ(0,"mat-option",42),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t.feeRateId),o.xp6(1),o.hij(" ",t.feeRateType," ")}}function Xl(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Fee Rate is required."),o.qZA())}function Wl(t,e){if(1&t&&(o.TgZ(0,"mat-form-field",43),o._UZ(1,"input",44),o.YNc(2,Xl,2,0,"mat-error",14),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("step",.1)("min",0),o.xp6(1),o.Q6J("ngIf","customperkb"===t.channelFormGroup.controls.selFeeRate.value&&!t.channelFormGroup.controls.flgMinConf.value&&!t.channelFormGroup.controls.customFeeRate.value)}}function $l(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Min Confirmation Blocks is required."),o.qZA())}function Kl(t,e){if(1&t&&(o.TgZ(0,"div",40),o._UZ(1,"fa-icon",41),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.channelConnectionError)}}const jl=function(t,e){return{"mr-6":t,"mr-2":e}};let tr=(()=>{class t{constructor(t,e,n,a,s,i,o){this.dialogRef=t,this.data=e,this.store=n,this.formBuilder=a,this.actions=s,this.logger=i,this.commonService=o,this.faExclamationTriangle=g.eHv,this.peerAddress="",this.totalBalance=0,this.feeRateTypes=f.vn,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerAddress=this.data.message.peer&&this.data.message.peer.id&&this.data.message.peer.netaddr?this.data.message.peer.id+"@"+this.data.message.peer.netaddr:this.data.message.peer&&this.data.message.peer.id&&!this.data.message.peer.netaddr?this.data.message.peer.id:"",this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[ft.kI.required]],peerAddress:[this.peerAddress,[ft.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[ft.kI.required,ft.kI.min(1),ft.kI.max(this.totalBalance)]],isPrivate:[!1],selFeeRate:[null],customFeeRate:[null],flgMinConf:[!1],minConfValue:[{value:null,disabled:!0}],hiddenAmount:["",[ft.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.channelFormGroup.controls.flgMinConf.valueChanges.pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{t?(this.channelFormGroup.controls.selFeeRate.setValue(null),this.channelFormGroup.controls.selFeeRate.disable(),this.channelFormGroup.controls.customFeeRate.setValue(null),this.channelFormGroup.controls.minConfValue.reset(),this.channelFormGroup.controls.minConfValue.enable(),this.channelFormGroup.controls.minConfValue.setValidators([ft.kI.required])):(this.channelFormGroup.controls.selFeeRate.enable(),this.channelFormGroup.controls.minConfValue.setValue(null),this.channelFormGroup.controls.minConfValue.disable(),this.channelFormGroup.controls.minConfValue.setValidators(null))}),this.channelFormGroup.controls.selFeeRate.valueChanges.pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.channelFormGroup.controls.customFeeRate.setValue(null),this.channelFormGroup.controls.customFeeRate.reset(),this.channelFormGroup.controls.customFeeRate.setValidators("customperkb"!==t||this.channelFormGroup.controls.flgMinConf.value?null:[ft.kI.required])}),this.actions.pipe((0,p.R)(this.unSubs[2]),(0,h.h)(t=>t.type===x.ab||t.type===x.GL||t.type===x.qe)).subscribe(t=>{t.type===x.ab&&(this.logger.info(t.payload),this.flgEditable=!1,this.newlyAddedPeer=t.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),t.type===x.GL&&this.dialogRef.close(),t.type===x.qe&&t.payload.status===f.Bn.ERROR&&("SaveNewPeer"===t.payload.action?this.peerConnectionError=t.payload.message:"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="",this.store.dispatch(new x.rF({id:this.peerFormGroup.controls.peerAddress.value}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0||this.channelFormGroup.controls.flgMinConf.value&&!this.channelFormGroup.controls.minConfValue.value)return!0;this.channelConnectionError="",this.store.dispatch(new x.nb({peerId:this.newlyAddedPeer.id,satoshis:this.channelFormGroup.controls.fundingAmount.value,announce:!this.channelFormGroup.controls.isPrivate.value,feeRate:"customperkb"===this.channelFormGroup.controls.selFeeRate.value&&!this.channelFormGroup.controls.flgMinConf.value&&this.channelFormGroup.controls.customFeeRate.value?1e3*this.channelFormGroup.controls.customFeeRate.value+"perkb":this.channelFormGroup.controls.selFeeRate.value,minconf:this.channelFormGroup.controls.flgMinConf.value?this.channelFormGroup.controls.minConfValue.value:null}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.id):"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.id):"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(gt.so),o.Y36(gt.WI),o.Y36(y.yh),o.Y36(ft.qu),o.Y36(A.eX),o.Y36(Z.mQ),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-connect-peer"]],viewQuery:function(t,e){if(1&t&&(o.Gf(Jl,5),o.Gf(Dl,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first),o.iGM(t=o.CRH())&&(e.stepper=t.first)}},decls:57,vars:30,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup","ngSubmit"],["matStepLabel","","disabled","true"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign.gt-sm","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","autoFocus","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign.gt-sm","space-between center"],["fxFlex","48","fxLayoutAlign","space-between end"],["fxLayoutAlign","start center",3,"fxFlex"],["tabindex","4","placeholder","Fee Rate","formControlName","selFeeRate"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48","fxLayoutAlign","end center",4,"ngIf"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","5","color","primary","formControlName","flgMinConf","fxLayoutAlign","stretch start",3,"ngClass"],["fxFlex","98"],["matInput","","formControlName","minConfValue","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"step","min","required"],["mat-stroked-button","","color","primary","tabindex","8","type","submit"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"],["fxFlex","48","fxLayoutAlign","end center"],["matInput","","formControlName","customFeeRate","placeholder","Fee Rate (Sats/vB)","type","number","name","custFeeRate","tabindex","4",3,"step","min"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Connect to a new peer"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"div",7),o.TgZ(10,"mat-vertical-stepper",8,9),o.NdJ("selectionChange",function(t){return e.stepSelectionChanged(t)}),o.TgZ(12,"mat-step",10),o.TgZ(13,"form",11),o.YNc(14,Yl,1,1,"ng-template",12),o.TgZ(15,"mat-form-field",1),o._UZ(16,"input",13),o.YNc(17,Ql,2,0,"mat-error",14),o.qZA(),o.YNc(18,Pl,4,2,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"button",17),o.NdJ("click",function(){return e.onConnectPeer()}),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(22,"mat-step",10),o.TgZ(23,"form",18),o.NdJ("ngSubmit",function(){return e.onOpenChannel()}),o.YNc(24,Bl,1,1,"ng-template",19),o.TgZ(25,"div",20),o.TgZ(26,"div",21),o.TgZ(27,"mat-form-field",22),o._UZ(28,"input",23),o.TgZ(29,"mat-hint"),o._uU(30),o.qZA(),o.TgZ(31,"span",24),o._uU(32," Sats "),o.qZA(),o.YNc(33,Hl,2,0,"mat-error",14),o.YNc(34,zl,2,0,"mat-error",14),o.YNc(35,Gl,2,1,"mat-error",14),o.qZA(),o.TgZ(36,"div",25),o.TgZ(37,"mat-slide-toggle",26),o._uU(38,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(39,"div",27),o.TgZ(40,"div",28),o.TgZ(41,"mat-form-field",29),o.TgZ(42,"mat-select",30),o.YNc(43,Vl,2,2,"mat-option",31),o.qZA(),o.qZA(),o.YNc(44,Wl,3,3,"mat-form-field",32),o.qZA(),o.TgZ(45,"div",33),o._UZ(46,"mat-checkbox",34),o.TgZ(47,"mat-form-field",35),o._UZ(48,"input",36),o.YNc(49,$l,2,0,"mat-error",14),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(50,Kl,4,2,"div",15),o.TgZ(51,"div",16),o.TgZ(52,"button",37),o._uU(53),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(54,"div",38),o.TgZ(55,"button",39),o._uU(56),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(10),o.Q6J("linear",!0),o.xp6(2),o.Q6J("stepControl",e.peerFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.peerFormGroup),o.xp6(4),o.Q6J("ngIf",null==e.peerFormGroup.controls.peerAddress.errors?null:e.peerFormGroup.controls.peerAddress.errors.required),o.xp6(1),o.Q6J("ngIf",""!==e.peerConnectionError),o.xp6(3),o.Oqu(""!==e.peerConnectionError?"Retry":"Add Peer"),o.xp6(1),o.Q6J("stepControl",e.channelFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.channelFormGroup),o.xp6(5),o.Q6J("step",1e3),o.xp6(2),o.hij("Remaining Bal: ",e.totalBalance-(e.channelFormGroup.controls.fundingAmount.value?e.channelFormGroup.controls.fundingAmount.value:0),""),o.xp6(3),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.min),o.xp6(1),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.max),o.xp6(6),o.Q6J("fxFlex","customperkb"!==e.channelFormGroup.controls.selFeeRate.value||e.channelFormGroup.controls.flgMinConf.value?"100":"48"),o.xp6(2),o.Q6J("ngForOf",e.feeRateTypes),o.xp6(1),o.Q6J("ngIf","customperkb"===e.channelFormGroup.controls.selFeeRate.value&&!e.channelFormGroup.controls.flgMinConf.value),o.xp6(2),o.Q6J("ngClass",o.WLB(27,jl,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM,e.screenSize===e.screenSizeEnum.MD||e.screenSize===e.screenSizeEnum.LG||e.screenSize===e.screenSizeEnum.XL)),o.xp6(2),o.Q6J("step",1)("min",0)("required",e.channelFormGroup.controls.flgMinConf.value),o.xp6(1),o.Q6J("ngIf",e.channelFormGroup.controls.flgMinConf.value&&!e.channelFormGroup.controls.minConfValue.value),o.xp6(1),o.Q6J("ngIf",""!==e.channelConnectionError),o.xp6(3),o.Oqu(""!==e.channelConnectionError?"Retry":"Open Channel"),o.xp6(2),o.Q6J("mat-dialog-close",!1),o.xp6(1),o.Oqu(null!=e.newlyAddedPeer&&e.newlyAddedPeer.id?"Do It Later":"Close"))},directives:[l.xw,l.yH,v.dk,l.Wh,q.lW,v.dn,aa.Vq,aa.C0,ft._Y,ft.JL,ft.sg,aa.VY,M.KE,xt.Nt,ft.Fj,Zt.h,ft.JJ,ft.u,ft.Q7,a.O5,ft.wV,M.bx,M.R9,Tt.Rr,At.gD,a.sg,ea.oG,a.mk,b.oO,ft.qQ,yt.q,gt.ZT,M.TO,C.BN,Ct.ey],styles:[""]}),t})();function er(t,e){1&t&&o._UZ(0,"mat-progress-bar",32)}function nr(t,e){1&t&&(o.TgZ(0,"th",33),o._uU(1," Alias "),o.qZA())}const ar=function(t){return{"mr-0":t}};function sr(t,e){if(1&t&&o._UZ(0,"span",37),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,ar,t.screenSize===t.screenSizeEnum.XS))}}function ir(t,e){if(1&t&&o._UZ(0,"span",38),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,ar,t.screenSize===t.screenSizeEnum.XS))}}const or=function(t){return{"max-width":t}};function lr(t,e){if(1&t&&(o.TgZ(0,"td",34),o.YNc(1,sr,1,3,"span",35),o.YNc(2,ir,1,3,"span",36),o._uU(3),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(4,or,n.screenSize===n.screenSizeEnum.XS?"10rem":"40rem")),o.xp6(1),o.Q6J("ngIf",null==t?null:t.connected),o.xp6(1),o.Q6J("ngIf",!(null!=t&&t.connected)),o.xp6(1),o.hij(" ",null==t?null:t.alias," ")}}function rr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," ID "),o.qZA())}function cr(t,e){if(1&t&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,or,n.screenSize===n.screenSizeEnum.XS?"10rem":"40rem")),o.xp6(1),o.hij(" ",null==t?null:t.id," ")}}function ur(t,e){1&t&&(o.TgZ(0,"th",33),o._uU(1," Network Address "),o.qZA())}function dr(t,e){1&t&&(o.TgZ(0,"span"),o._uU(1,","),o._UZ(2,"br"),o.qZA())}function pr(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.YNc(2,dr,3,0,"span",42),o.qZA()),2&t){const t=e.$implicit,n=e.last;o.xp6(1),o.Oqu(t),o.xp6(1),o.Q6J("ngIf",!n)}}function hr(t,e){if(1&t&&(o.TgZ(0,"td",34),o.YNc(1,pr,3,2,"span",41),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,or,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(1),o.Q6J("ngForOf",null==t?null:t.netaddr)}}function mr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",43),o.TgZ(1,"div",44),o.TgZ(2,"mat-select",45),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",46),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function gr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",46),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onPeerDetach(e)}),o._uU(1,"Disconnect"),o.qZA()}}function fr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",46),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onConnectPeer(e)}),o._uU(1,"Reconnect"),o.qZA()}}function xr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",47),o.TgZ(1,"div",48),o.TgZ(2,"mat-select",45),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",46),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onPeerClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",46),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onOpenChannel(e)}),o._uU(7,"Open Channel"),o.qZA(),o.YNc(8,gr,2,0,"mat-option",49),o.YNc(9,fr,2,0,"mat-option",49),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit;o.xp6(8),o.Q6J("ngIf",t.connected),o.xp6(1),o.Q6J("ngIf",!t.connected)}}function Zr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No connected peer."),o.qZA())}function yr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting peers..."),o.qZA())}function Ar(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function Tr(t,e){if(1&t&&(o.TgZ(0,"td",50),o.YNc(1,Zr,2,0,"p",42),o.YNc(2,yr,2,0,"p",42),o.YNc(3,Ar,2,1,"p",42),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.ERROR)}}const Cr=function(t){return{"display-none":t}};function wr(t,e){if(1&t&&o._UZ(0,"tr",51),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,Cr,(null==t.peers?null:t.peers.data)&&(null==t.peers||null==t.peers.data?null:t.peers.data.length)>0))}}function vr(t,e){1&t&&o._UZ(0,"tr",52)}function Sr(t,e){if(1&t&&o._UZ(0,"tr",53),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("@newlyAddedRowAnimation",t.pub_key===n.newlyAddedPeer&&n.flgAnimate?"added":"notAdded")}}const br=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},qr=function(){return["no_peer"]};let _r=(()=>{class t{constructor(t,e,n,a,s){this.logger=t,this.store=e,this.rtlEffects=n,this.actions=a,this.commonService=s,this.faUsers=g.FVb,this.newlyAddedPeer="",this.flgAnimate=!0,this.displayedColumns=[],this.peerAddress="",this.peersData=[],this.information={},this.availableBalance=0,this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","id","netaddr","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","id","netaddr","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPeers.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPeers.message?JSON.stringify(this.apisCallStatus.FetchPeers.message):this.apisCallStatus.FetchPeers.message),this.information=t.information,this.availableBalance=t.balance.totalBalance||0,this.peersData=t.peers?t.peers:[],this.peersData.length>0&&this.loadPeersTable(this.peersData),this.logger.info(t)}),this.actions.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.sX)).subscribe(t=>{this.peerAddress=null,this.flgAnimate=!0})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(t,e){this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:t.id,message:[[{key:"id",value:t.id,title:"Public Key",width:100}],[{key:"netaddr",value:t.netaddr,title:"Address",width:100}],[{key:"alias",value:t.alias,title:"Alias",width:50},{key:"connected",value:t.connected?"True":"False",title:"Connected",width:50}]]}}))}onConnectPeer(t){this.store.dispatch(new Ft.wu({data:{message:{peer:t.id?t:null,information:this.information,balance:this.availableBalance},component:tr}}))}onOpenChannel(t){this.store.dispatch(new Ft.wu({data:{alertTitle:"Open Channel",message:{peer:t,information:this.information,balance:this.availableBalance},newlyAdded:!1,component:no}}))}onPeerDetach(t){this.store.dispatch(new Ft.b_({data:{type:f.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(t.alias?t.alias:t.id),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[3])).subscribe(e=>{e&&this.store.dispatch(new x.yw({id:t.id,force:!1}))})}applyFilter(t){this.peers.filter=t.value.trim().toLowerCase()}loadPeersTable(t){this.peers=new mt.by([...t]),this.peers.sortingDataAccessor=(t,e)=>{switch(e){case"netaddr":if(t.netaddr&&t.netaddr[0]){const e=t.netaddr[0].toString().split(".");return e[0]?+e[0]:t.netaddr[0]}return"";default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.peers.sort=this.sort,this.peers.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(Lt.V),o.Y36(A.eX),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-peers"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Peers")}])],decls:36,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["peersForm","ngForm"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","30","fxFlex.gt-xs","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["fxLayout","row","fxLayoutAlign","start start"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","id"],["mat-header-cell","","class","px-3","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","px-3",3,"ngStyle",4,"matCellDef"],["matColumnDef","netaddr"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["class","dot green","matTooltip","Connected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Disconnected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Connected","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Disconnected","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-header-cell","","mat-sort-header","",1,"px-3"],["mat-cell","",1,"px-3",3,"ngStyle"],[4,"ngFor","ngForOf"],[4,"ngIf"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["fxFlex","100","fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"button",3),o.NdJ("click",function(){return e.onConnectPeer({})}),o._uU(4,"Add Peer"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"div",5),o.TgZ(7,"div",6),o._UZ(8,"fa-icon",7),o.TgZ(9,"span",8),o._uU(10,"Connected Peers"),o.qZA(),o.qZA(),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"div",10),o.TgZ(13,"input",11),o.NdJ("keyup",function(t){return e.applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(14,"div",12),o.YNc(15,er,1,0,"mat-progress-bar",13),o.TgZ(16,"table",14,15),o.ynx(18,16),o.YNc(19,nr,2,0,"th",17),o.YNc(20,lr,4,6,"td",18),o.BQk(),o.ynx(21,19),o.YNc(22,rr,2,0,"th",20),o.YNc(23,cr,2,4,"td",21),o.BQk(),o.ynx(24,22),o.YNc(25,ur,2,0,"th",17),o.YNc(26,hr,2,4,"td",18),o.BQk(),o.ynx(27,23),o.YNc(28,mr,6,0,"th",24),o.YNc(29,xr,10,2,"td",25),o.BQk(),o.ynx(30,26),o.YNc(31,Tr,4,3,"td",27),o.BQk(),o.YNc(32,wr,1,3,"tr",28),o.YNc(33,vr,1,0,"tr",29),o.YNc(34,Sr,1,1,"tr",30),o.qZA(),o.qZA(),o._UZ(35,"mat-paginator",31),o.qZA(),o.qZA()),2&t&&(o.xp6(8),o.Q6J("icon",e.faUsers),o.xp6(7),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchPeers.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.peers)("ngClass",o.VKq(11,br,""!==e.errorMessage)),o.xp6(16),o.Q6J("matFooterRowDef",o.DdM(13,qr)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,ft._Y,ft.JL,ft.F,q.lW,C.BN,M.KE,xt.Nt,D.$V,a.O5,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,a.PC,b.Zl,E.gM,a.sg,At.gD,At.$L,Ct.ey,mt.yh,mt.Q2,mt.XQ,mt.Gk],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-id[_ngcontent-%COMP%]{padding-left:2rem}.mat-column-netaddr[_ngcontent-%COMP%]{flex:1 1 25%;width:25%}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[_t.Q]}}),t})();const Fr=["queryRoutesForm"];function Lr(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Destination pubkey is required."),o.qZA())}function Ur(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Rr(t,e){1&t&&o._UZ(0,"mat-progress-bar",38)}function kr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," ID "),o.qZA())}function Nr(t,e){if(1&t&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.id," ")}}function Ir(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Alias "),o.qZA())}function Or(t,e){if(1&t&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.alias," ")}}function Mr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Channel "),o.qZA())}function Er(t,e){if(1&t&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.channel," ")}}function Jr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Direction "),o.qZA())}function Dr(t,e){if(1&t&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.direction," ")}}function Yr(t,e){1&t&&(o.TgZ(0,"th",41),o._uU(1," Delay "),o.qZA())}function Qr(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.delay)," ")}}function Pr(t,e){1&t&&(o.TgZ(0,"th",41),o._uU(1," Amount (Sats) "),o.qZA())}function Br(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,(null==t?null:t.msatoshi)/1e3)," ")}}function Hr(t,e){1&t&&(o.TgZ(0,"th",43),o._uU(1," Amount mSat "),o.qZA())}function zr(t,e){if(1&t&&(o.TgZ(0,"td",44),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.amount_msat," ")}}function Gr(t,e){1&t&&(o.TgZ(0,"th",45),o.TgZ(1,"span",42),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Vr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",44),o.TgZ(1,"button",46),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onHopClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Xr(t,e){1&t&&o._UZ(0,"tr",47)}function Wr(t,e){1&t&&o._UZ(0,"tr",48)}const $r=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}};let Kr=(()=>{class t{constructor(t,e,n){this.store=t,this.clEffects=e,this.commonService=n,this.destinationPubkey="",this.amount=null,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=g.FpQ,this.faExclamationTriangle=g.eHv,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","msatoshi","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","direction","msatoshi","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","direction","delay","msatoshi","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","channel","direction","delay","msatoshi","actions"])}ngOnInit(){this.clEffects.setQueryRoutesCL.pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.qrHops=new mt.by([]),this.qrHops.data=[],t.routes?(this.flgLoading[0]=!1,this.qrHops=new mt.by([...t.routes]),this.qrHops.data=t.routes):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null})}onQueryRoutes(){if(!this.destinationPubkey||!this.amount)return!0;this.flgLoading[0]=!0,this.store.dispatch(new x.bm({destPubkey:this.destinationPubkey,amount:1e3*this.amount}))}resetData(){this.destinationPubkey="",this.amount=null,this.flgLoading[0]=!1,this.qrHops.data=[],this.form.resetForm()}onHopClick(t,e){this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"id",value:t.id,title:"ID",width:100,type:f.Gi.STRING}],[{key:"channel",value:t.channel,title:"Channel",width:50,type:f.Gi.STRING},{key:"alias",value:t.alias,title:"Peer Alias",width:50,type:f.Gi.STRING}],[{key:"msatoshi",value:t.msatoshi,title:"mSatoshi",width:50,type:f.Gi.NUMBER},{key:"amount_msat",value:t.amount_msat,title:"Amount mSat",width:50,type:f.Gi.STRING}],[{key:"direction",value:t.direction,title:"Direction",width:50,type:f.Gi.STRING},{key:"delay",value:t.delay,title:"Delay",width:50,type:f.Gi.NUMBER}]]}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.yh),o.Y36(ue.s),o.Y36(T.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-query-routes"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(Fr,7)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:54,vars:16,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Pubkey","name","destinationPubkey","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","mt-2","mb-1"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","channel"],["matColumnDef","direction"],["matColumnDef","delay"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi"],["matColumnDef","amount_msat"],["mat-header-cell","","class","pl-4","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],["mat-header-cell","",1,"pl-4","pr-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.NdJ("ngSubmit",function(){return o.CHM(t),o.MAs(2).form.valid&&e.onQueryRoutes()}),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span"),o._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),o.qZA(),o.qZA(),o.TgZ(7,"mat-form-field",5),o.TgZ(8,"input",6,7),o.NdJ("ngModelChange",function(t){return e.destinationPubkey=t}),o.qZA(),o.YNc(10,Lr,2,0,"mat-error",8),o.qZA(),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(t){return e.amount=t}),o.qZA(),o.YNc(13,Ur,2,0,"mat-error",8),o.qZA(),o.TgZ(14,"div",11),o.TgZ(15,"button",12),o.NdJ("click",function(){return e.resetData()}),o._uU(16,"Clear"),o.qZA(),o.TgZ(17,"button",13),o._uU(18,"Query Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(19,"div",14),o.TgZ(20,"div",15),o._UZ(21,"fa-icon",16),o.TgZ(22,"span",17),o._uU(23,"Transaction Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(24,"div",18),o.YNc(25,Rr,1,0,"mat-progress-bar",19),o.TgZ(26,"table",20,21),o.ynx(28,22),o.YNc(29,kr,2,0,"th",23),o.YNc(30,Nr,2,1,"td",24),o.BQk(),o.ynx(31,25),o.YNc(32,Ir,2,0,"th",23),o.YNc(33,Or,2,1,"td",24),o.BQk(),o.ynx(34,26),o.YNc(35,Mr,2,0,"th",23),o.YNc(36,Er,2,1,"td",24),o.BQk(),o.ynx(37,27),o.YNc(38,Jr,2,0,"th",23),o.YNc(39,Dr,2,1,"td",24),o.BQk(),o.ynx(40,28),o.YNc(41,Yr,2,0,"th",29),o.YNc(42,Qr,4,3,"td",24),o.BQk(),o.ynx(43,30),o.YNc(44,Pr,2,0,"th",29),o.YNc(45,Br,4,3,"td",24),o.BQk(),o.ynx(46,31),o.YNc(47,Hr,2,0,"th",32),o.YNc(48,zr,2,1,"td",33),o.BQk(),o.ynx(49,34),o.YNc(50,Gr,3,0,"th",35),o.YNc(51,Vr,3,0,"td",33),o.BQk(),o.YNc(52,Xr,1,0,"tr",36),o.YNc(53,Wr,1,0,"tr",37),o.qZA(),o.qZA(),o.qZA()}2&t&&(o.xp6(4),o.Q6J("icon",e.faExclamationTriangle),o.xp6(4),o.Q6J("ngModel",e.destinationPubkey),o.xp6(2),o.Q6J("ngIf",!e.destinationPubkey),o.xp6(2),o.Q6J("ngModel",e.amount)("step",1e3)("min",0),o.xp6(1),o.Q6J("ngIf",!e.amount),o.xp6(8),o.Q6J("icon",e.faRoute),o.xp6(4),o.Q6J("ngIf",!0===e.flgLoading[0]),o.xp6(1),o.Q6J("dataSource",e.qrHops)("ngClass",o.VKq(14,$r,"error"===e.flgLoading[0])),o.xp6(26),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns))},directives:[l.xw,l.yH,ft._Y,ft.JL,ft.F,l.Wh,C.BN,M.KE,xt.Nt,ft.Fj,ft.Q7,ft.JJ,ft.On,a.O5,ft.wV,ft.qQ,yt.q,q.lW,D.$V,mt.BZ,ht.YE,a.mk,b.oO,mt.w1,mt.fO,mt.Dz,mt.as,mt.nj,M.TO,r.pW,mt.ge,ht.nU,mt.ev,mt.XQ,mt.Gk],pipes:[a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();var jr=n(3556);function tc(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Message is required."),o.qZA())}let ec=(()=>{class t{constructor(t,e,n){this.dataService=t,this.snackBar=e,this.logger=n,this.message="",this.signedMessage="",this.signature="",this.unSubs=[new d.x,new d.x]}onSign(){if(!this.message||""===this.message)return!0;this.dataService.signMessage(this.message).pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.signedMessage=this.message,this.signature=t.zbase})}onMessageChange(){this.signedMessage!==this.message&&(this.signature="")}onCopyField(t){this.snackBar.open("Signature copied."),this.logger.info("Copied Text: "+t)}resetData(){this.message="",this.signature="",this.signedMessage=""}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(jr.D),o.Y36(ta.ux),o.Y36(Z.mQ))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-sign"]],decls:20,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to sign","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","4","rtlClipboard","","type","button",3,"payload","copied"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"textarea",4),o.NdJ("ngModelChange",function(t){return e.message=t})("keyup",function(){return e.onMessageChange()}),o.qZA(),o.YNc(5,tc,2,0,"mat-error",5),o.qZA(),o.TgZ(6,"div",6),o.TgZ(7,"button",7),o.NdJ("click",function(){return e.resetData()}),o._uU(8,"Clear Field"),o.qZA(),o.TgZ(9,"button",8),o.NdJ("click",function(){return e.onSign()}),o._uU(10,"Sign"),o.qZA(),o.qZA(),o._UZ(11,"mat-divider",9),o.TgZ(12,"div",10),o.TgZ(13,"p"),o._uU(14,"Generated Signature"),o.qZA(),o.qZA(),o.TgZ(15,"div",11),o._uU(16),o.qZA(),o.TgZ(17,"div",12),o.TgZ(18,"button",13),o.NdJ("copied",function(t){return e.onCopyField(t)}),o._uU(19,"Copy Signature"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.message),o.xp6(1),o.Q6J("ngIf",!e.message),o.xp6(6),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.signature),o.xp6(2),o.Q6J("payload",e.signature))},directives:[l.xw,l.yH,l.Wh,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,q.lW,J.d,Cs.y,M.TO],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function nc(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Message is required."),o.qZA())}function ac(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Signature is required."),o.qZA())}function sc(t,e){1&t&&(o.TgZ(0,"p",13),o.TgZ(1,"mat-icon",14),o._uU(2,"close"),o.qZA(),o._uU(3,"Verification failed, please double check message and signature"),o.qZA())}function ic(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Pubkey Used"),o.qZA())}function oc(t,e){if(1&t&&(o.TgZ(0,"div",20),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw(2);o.xp6(2),o.Oqu(null==t.verifyRes?null:t.verifyRes.pubkey)}}function lc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",21),o.TgZ(1,"button",22),o.NdJ("copied",function(e){return o.CHM(t),o.oxw(2).onCopyField(e)}),o._uU(2,"Copy Pubkey"),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("payload",null==t.verifyRes?null:t.verifyRes.pubkey)}}function rc(t,e){if(1&t&&(o.TgZ(0,"div",15),o._UZ(1,"mat-divider",16),o.TgZ(2,"div",17),o.YNc(3,ic,2,0,"p",5),o.qZA(),o.YNc(4,oc,3,1,"div",18),o.YNc(5,lc,3,1,"div",19),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(2),o.Q6J("ngIf",t.verifyRes.verified),o.xp6(1),o.Q6J("ngIf",t.verifyRes.verified),o.xp6(1),o.Q6J("ngIf",t.verifyRes.verified)}}let cc=(()=>{class t{constructor(t,e,n){this.dataService=t,this.snackBar=e,this.logger=n,this.message="",this.verifiedMessage="",this.signature="",this.verifiedSignature="",this.showVerifyStatus=!1,this.verifyRes={pubkey:"",verified:null},this.unSubs=[new d.x,new d.x]}onVerify(){if(!this.message||""===this.message||!this.signature||""===this.signature)return!0;this.dataService.verifyMessage(this.message,this.signature).pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.verifyRes=t,this.showVerifyStatus=!0,this.verifiedMessage=this.message,this.verifiedSignature=this.signature})}onChange(){this.verifiedMessage===this.message&&this.verifiedSignature===this.signature||(this.showVerifyStatus=!1,this.verifyRes={pubkey:"",verified:null})}resetData(){this.message="",this.signature="",this.verifyRes=null,this.showVerifyStatus=!1}onCopyField(t){this.snackBar.open("Pubkey copied."),this.logger.info("Copied Text: "+t)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(jr.D),o.Y36(ta.ux),o.Y36(Z.mQ))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-verify"]],decls:17,vars:6,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to verify","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["matInput","","placeholder","Signature provided","name","signature","tabindex","2","required","",3,"ngModel","ngModelChange","keyup"],["sign","ngModel"],["fxFlex","100","class","color-warn","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start","class","bordered-box read-only h-4 padding-gap",4,"ngIf"],["fxLayout","row","class","mt-2",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","rtlClipboard","","type","button",3,"payload","copied"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"textarea",4),o.NdJ("ngModelChange",function(t){return e.message=t})("keyup",function(){return e.onChange()}),o.qZA(),o.YNc(5,nc,2,0,"mat-error",5),o.qZA(),o.TgZ(6,"mat-form-field",3),o.TgZ(7,"input",6,7),o.NdJ("ngModelChange",function(t){return e.signature=t})("keyup",function(){return e.onChange()}),o.qZA(),o.YNc(9,ac,2,0,"mat-error",5),o.qZA(),o.YNc(10,sc,4,0,"p",8),o.TgZ(11,"div",9),o.TgZ(12,"button",10),o.NdJ("click",function(){return e.resetData()}),o._uU(13,"Clear Fields"),o.qZA(),o.TgZ(14,"button",11),o.NdJ("click",function(){return e.onVerify()}),o._uU(15,"Verify"),o.qZA(),o.qZA(),o.YNc(16,rc,6,4,"div",12),o.qZA(),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.message),o.xp6(1),o.Q6J("ngIf",!e.message),o.xp6(2),o.Q6J("ngModel",e.signature),o.xp6(2),o.Q6J("ngIf",!e.signature),o.xp6(1),o.Q6J("ngIf",e.showVerifyStatus&&!e.verifyRes.verified),o.xp6(6),o.Q6J("ngIf",e.showVerifyStatus&&e.verifyRes.verified))},directives:[l.xw,l.yH,l.Wh,ft._Y,ft.JL,ft.F,M.KE,xt.Nt,ft.Fj,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,q.lW,M.TO,_.Hw,J.d,Cs.y],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function uc(t,e){if(1&t&&(o.TgZ(0,"div",5),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function dc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",6),o._UZ(1,"div",7),o.TgZ(2,"mat-form-field",8),o.TgZ(3,"input",9),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().filterValue=e})("input",function(){return o.CHM(t),o.oxw().applyFilter()})("keyup",function(){return o.CHM(t),o.oxw().applyFilter()}),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.filterValue)}}function pc(t,e){1&t&&o._UZ(0,"mat-progress-bar",33)}function hc(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1,"Status"),o.qZA())}function mc(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.status)}}function gc(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1,"Received Time"),o.qZA())}function fc(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*(null==t?null:t.received_time),"dd/MMM/YYYY HH:mm"))}}function xc(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1,"Resolved Time"),o.qZA())}function Zc(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*(null==t?null:t.resolved_time),"dd/MMM/YYYY HH:mm"))}}function yc(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1,"In Channel"),o.qZA())}function Ac(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.in_channel_alias)}}function Tc(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1,"Out Channel"),o.qZA())}function Cc(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.out_channel_alias)}}function wc(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Amount In (Sats)"),o.qZA())}function vc(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,1,(null==t?null:t.in_msatoshi)/1e3,(null==t?null:t.in_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function Sc(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Amount Out (Sats)"),o.qZA())}function bc(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,1,(null==t?null:t.out_msatoshi)/1e3,(null==t?null:t.out_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function qc(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Fee (mSat)"),o.qZA())}function _c(t,e){if(1&t&&(o.TgZ(0,"td",35),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==t?null:t.fee))}}function Fc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",38),o.TgZ(1,"div",39),o.TgZ(2,"mat-select",40),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",41),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Lc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",42),o.TgZ(1,"button",43),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw(2).onForwardingEventClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Uc(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No forwarding history available."),o.qZA())}function Rc(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting forwarding history..."),o.qZA())}function kc(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function Nc(t,e){if(1&t&&(o.TgZ(0,"td",44),o.YNc(1,Uc,2,0,"p",45),o.YNc(2,Rc,2,0,"p",45),o.YNc(3,kc,2,1,"p",45),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.ERROR)}}const Ic=function(t){return{"display-none":t}};function Oc(t,e){if(1&t&&o._UZ(0,"tr",46),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Ic,(null==t.forwardingHistoryEvents?null:t.forwardingHistoryEvents.data)&&(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)>0))}}function Mc(t,e){1&t&&o._UZ(0,"tr",47)}function Ec(t,e){1&t&&o._UZ(0,"tr",48)}const Jc=function(){return["no_event"]};function Dc(t,e){if(1&t&&(o.TgZ(0,"div",10),o.YNc(1,pc,1,0,"mat-progress-bar",11),o.TgZ(2,"table",12,13),o.ynx(4,14),o.YNc(5,hc,2,0,"th",15),o.YNc(6,mc,2,1,"td",16),o.BQk(),o.ynx(7,17),o.YNc(8,gc,2,0,"th",15),o.YNc(9,fc,3,4,"td",16),o.BQk(),o.ynx(10,18),o.YNc(11,xc,2,0,"th",15),o.YNc(12,Zc,3,4,"td",16),o.BQk(),o.ynx(13,19),o.YNc(14,yc,2,0,"th",15),o.YNc(15,Ac,2,1,"td",16),o.BQk(),o.ynx(16,20),o.YNc(17,Tc,2,0,"th",15),o.YNc(18,Cc,2,1,"td",16),o.BQk(),o.ynx(19,21),o.YNc(20,wc,2,0,"th",22),o.YNc(21,vc,4,4,"td",16),o.BQk(),o.ynx(22,23),o.YNc(23,Sc,2,0,"th",22),o.YNc(24,bc,4,4,"td",16),o.BQk(),o.ynx(25,24),o.YNc(26,qc,2,0,"th",22),o.YNc(27,_c,4,3,"td",16),o.BQk(),o.ynx(28,25),o.YNc(29,Fc,6,0,"th",26),o.YNc(30,Lc,3,0,"td",27),o.BQk(),o.ynx(31,28),o.YNc(32,Nc,4,3,"td",29),o.BQk(),o.YNc(33,Oc,1,3,"tr",30),o.YNc(34,Mc,1,0,"tr",31),o.YNc(35,Ec,1,0,"tr",32),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.forwardingHistoryEvents),o.xp6(31),o.Q6J("matFooterRowDef",o.DdM(6,Jc)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)}}function Yc(t,e){if(1&t&&o._UZ(0,"mat-paginator",49),2&t){const t=o.oxw();o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let Qc=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.commonService=e,this.store=n,this.datePipe=a,this.eventsData=[],this.filterValue="",this.successfulEvents=[],this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["in_msatoshi","out_msatoshi","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["received_time","in_msatoshi","out_msatoshi","fee","actions"]):(this.flgSticky=!0,this.displayedColumns=["received_time","resolved_time","in_channel","out_channel","in_msatoshi","out_msatoshi","fee","actions"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.eventsData.length<=0&&(this.errorMessage="",this.apisCallStatus=t.apisCallStatus,this.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),this.successfulEvents=t.forwardingHistory?t.forwardingHistory:[],this.successfulEvents.length>0&&this.sort&&this.paginator&&this.loadForwardingEventsTable(this.successfulEvents),this.logger.info(t))})}ngAfterViewInit(){this.successfulEvents.length>0&&this.loadForwardingEventsTable(this.successfulEvents)}ngOnChanges(t){t.eventsData&&(this.eventsData=t.eventsData.currentValue,this.successfulEvents=this.eventsData,t.eventsData.firstChange||this.loadForwardingEventsTable(this.successfulEvents)),t.filterValue&&!t.filterValue.firstChange&&this.applyFilter()}onForwardingEventClick(t,e){this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Event Information",message:[[{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"status",value:"Settled",title:"Status",width:50,type:f.Gi.STRING},{key:"fee",value:t.fee,title:"Fee (mSats)",width:50,type:f.Gi.NUMBER}],[{key:"received_time",value:t.received_time,title:"Received Time",width:50,type:f.Gi.DATE_TIME},{key:"resolved_time",value:t.resolved_time,title:"Resolved Time",width:50,type:f.Gi.DATE_TIME}],[{key:"in_channel",value:t.in_channel_alias,title:"Inbound Channel",width:50,type:f.Gi.STRING},{key:"out_channel",value:t.out_channel_alias,title:"Outbound Channel",width:50,type:f.Gi.STRING}],[{key:"in_msatoshi",value:t.in_msatoshi,title:"In (mSats)",width:50,type:f.Gi.NUMBER},{key:"out_msatoshi",value:t.out_msatoshi,title:"Out (mSats)",width:50,type:f.Gi.NUMBER}]]}}))}loadForwardingEventsTable(t){this.forwardingHistoryEvents=new mt.by([...t]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.forwardingHistoryEvents.paginator=this.paginator,this.forwardingHistoryEvents.filterPredicate=(t,e)=>((t.received_time?this.datePipe.transform(new Date(1e3*t.received_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(t.resolved_time?this.datePipe.transform(new Date(1e3*t.resolved_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(t.in_channel?t.in_channel.toLowerCase():"")+(t.out_channel?t.out_channel.toLowerCase():"")+(t.in_msatoshi?t.in_msatoshi/1e3:"")+(t.out_msatoshi?t.out_msatoshi/1e3:"")+(t.fee?t.fee:"")).includes(e),this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh),o.Y36(a.uU))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-forwarding-history"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Events")}]),o.TTD],decls:5,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],["class","mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","received_time"],["matColumnDef","resolved_time"],["matColumnDef","in_channel"],["matColumnDef","out_channel"],["matColumnDef","in_msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","out_msatoshi"],["matColumnDef","fee"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,uc,2,1,"div",1),o.YNc(2,dc,4,1,"div",2),o.YNc(3,Dc,36,7,"div",3),o.YNc(4,Yc,1,3,"mat-paginator",4),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",""!==e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,M.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,D.$V,mt.BZ,ht.YE,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,r.pW,mt.ge,ht.nU,mt.ev,At.gD,At.$L,Ct.ey,q.lW,mt.yh,mt.Q2,a.mk,b.oO,mt.XQ,mt.Gk,pt.NW],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();function Pc(t,e){if(1&t&&(o.TgZ(0,"div",5),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function Bc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",6),o._UZ(1,"div",7),o.TgZ(2,"mat-form-field",8),o.TgZ(3,"input",9),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA()}}function Hc(t,e){1&t&&o._UZ(0,"mat-progress-bar",29)}function zc(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1,"Status"),o.qZA())}function Gc(t,e){if(1&t&&(o.TgZ(0,"td",31),o._uU(1),o.ALo(2,"titlecase"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,"local_failed"===(null==t?null:t.status)?"local failed":null==t?null:t.status))}}function Vc(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1,"Received Time"),o.qZA())}function Xc(t,e){if(1&t&&(o.TgZ(0,"td",31),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*(null==t?null:t.received_time),"dd/MMM/YYYY HH:mm"))}}function Wc(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1,"In Channel"),o.qZA())}function $c(t,e){if(1&t&&(o.TgZ(0,"td",31),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.in_channel_alias)}}function Kc(t,e){1&t&&(o.TgZ(0,"th",32),o._uU(1,"Amount In (Sats)"),o.qZA())}function jc(t,e){if(1&t&&(o.TgZ(0,"td",31),o.TgZ(1,"span",33),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,1,(null==t?null:t.in_msatoshi)/1e3,(null==t?null:t.in_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function tu(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",34),o.TgZ(1,"div",35),o.TgZ(2,"mat-select",36),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",37),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function eu(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",38),o.TgZ(1,"button",39),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onFailedEventClick(e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function nu(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No failed transaction available."),o.qZA())}function au(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting failed transactions..."),o.qZA())}function su(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function iu(t,e){if(1&t&&(o.TgZ(0,"td",40),o.YNc(1,nu,2,0,"p",41),o.YNc(2,au,2,0,"p",41),o.YNc(3,su,2,1,"p",41),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.failedForwardingEvents&&t.failedForwardingEvents.data)||(null==t.failedForwardingEvents||null==t.failedForwardingEvents.data?null:t.failedForwardingEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetFailedForwardingHistory.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.failedForwardingEvents&&t.failedForwardingEvents.data)||(null==t.failedForwardingEvents||null==t.failedForwardingEvents.data?null:t.failedForwardingEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetFailedForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.failedForwardingEvents&&t.failedForwardingEvents.data)||(null==t.failedForwardingEvents||null==t.failedForwardingEvents.data?null:t.failedForwardingEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetFailedForwardingHistory.status)===t.apiCallStatusEnum.ERROR)}}const ou=function(t){return{"display-none":t}};function lu(t,e){if(1&t&&o._UZ(0,"tr",42),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,ou,(null==t.failedForwardingEvents?null:t.failedForwardingEvents.data)&&(null==t.failedForwardingEvents||null==t.failedForwardingEvents.data?null:t.failedForwardingEvents.data.length)>0))}}function ru(t,e){1&t&&o._UZ(0,"tr",43)}function cu(t,e){1&t&&o._UZ(0,"tr",44)}const uu=function(){return["no_event"]};function du(t,e){if(1&t&&(o.TgZ(0,"div",10),o.YNc(1,Hc,1,0,"mat-progress-bar",11),o.TgZ(2,"table",12,13),o.ynx(4,14),o.YNc(5,zc,2,0,"th",15),o.YNc(6,Gc,3,3,"td",16),o.BQk(),o.ynx(7,17),o.YNc(8,Vc,2,0,"th",15),o.YNc(9,Xc,3,4,"td",16),o.BQk(),o.ynx(10,18),o.YNc(11,Wc,2,0,"th",15),o.YNc(12,$c,2,1,"td",16),o.BQk(),o.ynx(13,19),o.YNc(14,Kc,2,0,"th",20),o.YNc(15,jc,4,4,"td",16),o.BQk(),o.ynx(16,21),o.YNc(17,tu,6,0,"th",22),o.YNc(18,eu,3,0,"td",23),o.BQk(),o.ynx(19,24),o.YNc(20,iu,4,3,"td",25),o.BQk(),o.YNc(21,lu,1,3,"tr",26),o.YNc(22,ru,1,0,"tr",27),o.YNc(23,cu,1,0,"tr",28),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.GetFailedForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.failedForwardingEvents),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(6,uu)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)}}function pu(t,e){if(1&t&&o._UZ(0,"mat-paginator",45),2&t){const t=o.oxw();o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let hu=(()=>{class t{constructor(t,e,n,a,s){this.logger=t,this.commonService=e,this.store=n,this.datePipe=a,this.router=s,this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS||this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["status","received_time","in_msatoshi","actions"]):(this.flgSticky=!0,this.displayedColumns=["status","received_time","in_channel","in_msatoshi","actions"])}ngOnInit(){this.router.routeReuseStrategy.shouldReuseRoute=()=>!1,this.router.onSameUrlNavigation="reload",this.store.dispatch(new x.Is),this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,this.apisCallStatus.GetFailedForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.GetFailedForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetFailedForwardingHistory.message):this.apisCallStatus.GetFailedForwardingHistory.message),this.failedEvents=t.failedForwardingHistory?t.failedForwardingHistory:[],this.failedEvents.length>0&&this.sort&&this.paginator&&this.loadFailedEventsTable(this.failedEvents),this.logger.info(t)})}ngAfterViewInit(){this.failedEvents.length>0&&this.loadFailedEventsTable(this.failedEvents)}onFailedEventClick(t){const e=[[{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"status",value:"local_failed"===t.status?"Local Failed":this.commonService.titleCase(t.status),title:"Status",width:50,type:f.Gi.STRING},{key:"received_time",value:t.received_time,title:"Received Time",width:50,type:f.Gi.DATE_TIME}],[{key:"in_channel",value:t.in_channel_alias,title:"Inbound Channel",width:50,type:f.Gi.STRING},{key:"in_msatoshi",value:t.in_msatoshi,title:"In (mSats)",width:50,type:f.Gi.NUMBER}]];this.store.dispatch(new Ft.wu({data:{type:f.n_.INFORMATION,alertTitle:"Event Information",message:e}}))}loadFailedEventsTable(t){this.failedForwardingEvents=new mt.by([...t]),this.failedForwardingEvents.sort=this.sort,this.failedForwardingEvents.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.failedForwardingEvents.paginator=this.paginator,this.failedForwardingEvents.filterPredicate=(t,e)=>((t.status?"local_failed"===t.status?"local failed":t.status.toLowerCase():"")+(t.received_time?this.datePipe.transform(new Date(1e3*t.received_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(t.resolved_time?this.datePipe.transform(new Date(1e3*t.resolved_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(t.in_channel?t.in_channel.toLowerCase():"")+(t.out_channel?t.out_channel.toLowerCase():"")+(t.in_msatoshi?t.in_msatoshi/1e3:"")+(t.out_msatoshi?t.out_msatoshi/1e3:"")+(t.fee?t.fee:"")).includes(e),this.logger.info(this.failedForwardingEvents)}onDownloadCSV(){this.failedForwardingEvents&&this.failedForwardingEvents.data&&this.failedForwardingEvents.data.length>0&&this.commonService.downloadFile(this.failedForwardingEvents.data,"Failed-transactions")}applyFilter(t){this.failedForwardingEvents.filter=t.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh),o.Y36(a.uU),o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-failed-history"]],viewQuery:function(t,e){if(1&t&&(o.Gf(ht.YE,5),o.Gf(pt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Events")}])],decls:5,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],["class","mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","received_time"],["matColumnDef","in_channel"],["matColumnDef","in_msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Pc,2,1,"div",1),o.YNc(2,Bc,4,0,"div",2),o.YNc(3,du,24,7,"div",3),o.YNc(4,pu,1,3,"mat-paginator",4),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",""!==e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,M.KE,xt.Nt,D.$V,mt.BZ,ht.YE,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,r.pW,mt.ge,ht.nU,mt.ev,At.gD,At.$L,Ct.ey,q.lW,mt.yh,mt.Q2,a.mk,b.oO,mt.XQ,mt.Gk,pt.NW],pipes:[a.rS,a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const mu=["tableIn"],gu=["tableOut"],fu=["paginatorIn"],xu=["paginatorOut"];function Zu(t,e){if(1&t&&(o.TgZ(0,"div",3),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function yu(t,e){1&t&&o._UZ(0,"mat-progress-bar",37)}function Au(t,e){1&t&&(o.TgZ(0,"th",38),o._uU(1,"Channel ID"),o.qZA())}const Tu=function(t){return{"max-width":t}};function Cu(t,e){if(1&t&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,Tu,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.channel_id)}}function wu(t,e){1&t&&(o.TgZ(0,"th",38),o._uU(1,"Peer Alias"),o.qZA())}function vu(t,e){if(1&t&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,Tu,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.alias)}}function Su(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Events"),o.qZA())}function bu(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.events))}}function qu(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Amount (Sats)"),o.qZA())}function _u(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.total_amount))}}function Fu(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Fee (Sats)"),o.qZA())}function Lu(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.total_fee))}}function Uu(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No incoming routing peer available."),o.qZA())}function Ru(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting incoming routing peers..."),o.qZA())}function ku(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function Nu(t,e){if(1&t&&(o.TgZ(0,"td",43),o.YNc(1,Uu,2,0,"p",44),o.YNc(2,Ru,2,0,"p",44),o.YNc(3,ku,2,1,"p",44),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.ERROR)}}const Iu=function(t){return{"display-none":t}};function Ou(t,e){if(1&t&&o._UZ(0,"tr",45),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Iu,(null==t.RoutingPeersIncoming?null:t.RoutingPeersIncoming.data)&&(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)>0))}}function Mu(t,e){1&t&&o._UZ(0,"tr",46)}function Eu(t,e){1&t&&o._UZ(0,"tr",47)}function Ju(t,e){1&t&&o._UZ(0,"mat-progress-bar",37)}function Du(t,e){1&t&&(o.TgZ(0,"th",38),o._uU(1,"Channel ID"),o.qZA())}function Yu(t,e){if(1&t&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,Tu,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.channel_id)}}function Qu(t,e){1&t&&(o.TgZ(0,"th",38),o._uU(1,"Peer Alias"),o.qZA())}function Pu(t,e){if(1&t&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,Tu,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.alias)}}function Bu(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Events"),o.qZA())}function Hu(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.events))}}function zu(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Amount (Sats)"),o.qZA())}function Gu(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.total_amount))}}function Vu(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1,"Fee (Sats)"),o.qZA())}function Xu(t,e){if(1&t&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.total_fee))}}function Wu(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No outgoing routing peer available."),o.qZA())}function $u(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting outgoing routing peers..."),o.qZA())}function Ku(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function ju(t,e){if(1&t&&(o.TgZ(0,"td",43),o.YNc(1,Wu,2,0,"p",44),o.YNc(2,$u,2,0,"p",44),o.YNc(3,Ku,2,1,"p",44),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.ERROR)}}function td(t,e){if(1&t&&o._UZ(0,"tr",45),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Iu,(null==t.RoutingPeersOutgoing?null:t.RoutingPeersOutgoing.data)&&(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)>0))}}function ed(t,e){1&t&&o._UZ(0,"tr",46)}function nd(t,e){1&t&&o._UZ(0,"tr",47)}const ad=function(t,e){return{"mt-2":t,"mt-1":e}},sd=function(){return["no_incoming_event"]},id=function(t){return{"mt-2":t}},od=function(){return["no_outgoing_event"]};function ld(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",4),o.TgZ(1,"div",5),o.TgZ(2,"div",6),o.TgZ(3,"div",7),o._uU(4,"Incoming"),o.qZA(),o.TgZ(5,"mat-form-field",8),o.TgZ(6,"input",9),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyIncomingFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",10),o.YNc(8,yu,1,0,"mat-progress-bar",11),o.TgZ(9,"table",12,13),o.ynx(11,14),o.YNc(12,Au,2,0,"th",15),o.YNc(13,Cu,2,4,"td",16),o.BQk(),o.ynx(14,17),o.YNc(15,wu,2,0,"th",15),o.YNc(16,vu,2,4,"td",16),o.BQk(),o.ynx(17,18),o.YNc(18,Su,2,0,"th",19),o.YNc(19,bu,4,3,"td",20),o.BQk(),o.ynx(20,21),o.YNc(21,qu,2,0,"th",19),o.YNc(22,_u,4,3,"td",20),o.BQk(),o.ynx(23,22),o.YNc(24,Fu,2,0,"th",19),o.YNc(25,Lu,4,3,"td",20),o.BQk(),o.ynx(26,23),o.YNc(27,Nu,4,3,"td",24),o.BQk(),o.YNc(28,Ou,1,3,"tr",25),o.YNc(29,Mu,1,0,"tr",26),o.YNc(30,Eu,1,0,"tr",27),o.qZA(),o.qZA(),o._UZ(31,"mat-paginator",28,29),o.qZA(),o.TgZ(33,"div",30),o.TgZ(34,"div",6),o.TgZ(35,"div",7),o._uU(36,"Outgoing"),o.qZA(),o.TgZ(37,"mat-form-field",8),o.TgZ(38,"input",9,31),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyOutgoingFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(40,"div",32),o.YNc(41,Ju,1,0,"mat-progress-bar",11),o.TgZ(42,"table",33,34),o.ynx(44,14),o.YNc(45,Du,2,0,"th",15),o.YNc(46,Yu,2,4,"td",16),o.BQk(),o.ynx(47,17),o.YNc(48,Qu,2,0,"th",15),o.YNc(49,Pu,2,4,"td",16),o.BQk(),o.ynx(50,18),o.YNc(51,Bu,2,0,"th",19),o.YNc(52,Hu,4,3,"td",20),o.BQk(),o.ynx(53,21),o.YNc(54,zu,2,0,"th",19),o.YNc(55,Gu,4,3,"td",20),o.BQk(),o.ynx(56,22),o.YNc(57,Vu,2,0,"th",19),o.YNc(58,Xu,4,3,"td",20),o.BQk(),o.ynx(59,35),o.YNc(60,ju,4,3,"td",24),o.BQk(),o.YNc(61,td,1,3,"tr",25),o.YNc(62,ed,1,0,"tr",26),o.YNc(63,nd,1,0,"tr",27),o.qZA(),o._UZ(64,"mat-paginator",28,36),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngClass",o.WLB(20,ad,t.screenSize===t.screenSizeEnum.XS,t.screenSize===t.screenSizeEnum.SM)),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.RoutingPeersIncoming),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(23,sd)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS),o.xp6(3),o.Q6J("ngClass",o.VKq(24,id,t.screenSize!==t.screenSizeEnum.LG)),o.xp6(7),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.GetForwardingHistory.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.RoutingPeersOutgoing),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(26,od)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let rd=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.eventsData=[],this.filterValue="",this.successfulEvents=[],this.displayedColumns=[],this.RoutingPeersIncoming=[],this.RoutingPeersOutgoing=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","total_fee"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","events","total_fee"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","events","total_amount","total_fee"]):(this.flgSticky=!0,this.displayedColumns=["channel_id","alias","events","total_amount","total_fee"])}ngOnInit(){this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.eventsData.length<=0&&(this.errorMessage="",this.apisCallStatus=t.apisCallStatus,this.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),this.successfulEvents=t.forwardingHistory?t.forwardingHistory:[],this.successfulEvents.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.successfulEvents),this.logger.info(t))})}ngAfterViewInit(){this.successfulEvents.length>0&&this.loadRoutingPeersTable(this.successfulEvents)}ngOnChanges(t){t.eventsData&&(this.eventsData=t.eventsData.currentValue,this.successfulEvents=this.eventsData,t.eventsData.firstChange||this.loadRoutingPeersTable(this.successfulEvents))}loadRoutingPeersTable(t){if(t.length>0){const e=this.groupRoutingPeers(t);this.RoutingPeersIncoming=new mt.by(e[0]),this.RoutingPeersIncoming.sort=this.sortIn,this.RoutingPeersIncoming.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersIncoming.paginator=this.paginatorIn,this.logger.info(this.RoutingPeersIncoming),this.RoutingPeersOutgoing=new mt.by(e[1]),this.RoutingPeersOutgoing.sort=this.sortOut,this.RoutingPeersOutgoing.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersOutgoing.paginator=this.paginatorOut,this.logger.info(this.RoutingPeersOutgoing)}else this.RoutingPeersIncoming=new mt.by([]),this.RoutingPeersOutgoing=new mt.by([]);this.logger.info(this.RoutingPeersIncoming),this.logger.info(this.RoutingPeersOutgoing)}groupRoutingPeers(t){const e=[],n=[];return t.forEach(t=>{const a=e.find(e=>e.channel_id===t.in_channel),s=n.find(e=>e.channel_id===t.out_channel);a?(a.events++,a.total_amount=+a.total_amount+ +t.in_msatoshi,a.total_fee=t.in_msatoshi-t.out_msatoshi+ +a.total_fee):e.push({channel_id:t.in_channel,alias:t.in_channel_alias,events:1,total_amount:t.in_msatoshi,total_fee:t.in_msatoshi-t.out_msatoshi}),s?(s.events++,s.total_amount=+s.total_amount+ +t.out_msatoshi,s.total_fee=t.in_msatoshi-t.out_msatoshi+ +s.total_fee):n.push({channel_id:t.out_channel,alias:t.out_channel_alias,events:1,total_amount:t.out_msatoshi,total_fee:t.in_msatoshi-t.out_msatoshi})}),[this.commonService.sortDescByKey(e,"total_fee"),this.commonService.sortDescByKey(n,"total_fee")]}applyIncomingFilter(t){this.RoutingPeersIncoming.filter=t.value.trim().toLowerCase()}applyOutgoingFilter(t){this.RoutingPeersOutgoing.filter=t.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-routing-peers"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mu,5,ht.YE),o.Gf(gu,5,ht.YE),o.Gf(fu,5),o.Gf(xu,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sortIn=t.first),o.iGM(t=o.CRH())&&(e.sortOut=t.first),o.iGM(t=o.CRH())&&(e.paginatorIn=t.first),o.iGM(t=o.CRH())&&(e.paginatorOut=t.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[o._Bn([{provide:pt.ye,useValue:(0,f.pt)("Peers")}]),o.TTD],decls:3,vars:2,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch","class","page-sub-title-container",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch",1,"page-sub-title-container"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"page-sub-title-container","w-100",3,"ngClass"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",1,"overflow-auto","incoming-table",3,"dataSource"],["tableIn",""],["matColumnDef","channel_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","events"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","total_amount"],["matColumnDef","total_fee"],["matColumnDef","no_incoming_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["paginatorIn",""],["fxLayout","column","fxFlex","49","fxLayoutAlign","end stretch"],["filterOut",""],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto","outgoing-table",3,"dataSource"],["tableOut",""],["matColumnDef","no_outgoing_event"],["paginatorOut",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Zu,2,1,"div",1),o.YNc(2,ld,66,27,"div",2),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",""!==e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,a.mk,b.oO,M.KE,xt.Nt,D.$V,mt.BZ,ht.YE,mt.w1,mt.fO,mt.Dz,mt.mD,mt.Ke,mt.as,mt.nj,pt.NW,r.pW,mt.ge,ht.nU,mt.ev,a.PC,b.Zl,mt.yh,mt.Q2,mt.XQ,mt.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-channelId[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function cd(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",7),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let ud=(()=>{class t{constructor(t){this.router=t,this.faChartBar=g.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof s.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(s.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Reports"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,cd,2,3,"div",6),o.qZA(),o._UZ(9,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartBar),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,C.BN,v.a8,v.dn,dt.BU,a.sg,s.lC,dt.Nj,s.rH],styles:[""]}),t})();var dd=n(4833),pd=n(4018),hd=n(1905);function md(t,e){1&t&&(o.TgZ(0,"div",9),o._UZ(1,"mat-progress-bar",10),o.TgZ(2,"p"),o._uU(3,"Getting fee report..."),o.qZA(),o.qZA())}function gd(t,e){if(1&t&&(o.TgZ(0,"div",11),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function fd(t,e){if(1&t&&(o.TgZ(0,"div",12),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw();o.Q6J("@fadeIn",t.totalFeeMsat),o.xp6(1),o.AsE("",o.xi3(2,3,t.totalFeeMsat/1e3||0,"1.0-2")," Sats/",o.lcZ(3,6,t.filteredEventsBySelectedPeriod.length||0)," Events")}}function xd(t,e){1&t&&(o.TgZ(0,"div",9),o._uU(1,"No fee report for the selected period"),o.qZA())}function Zd(t,e){if(1&t&&(o.TgZ(0,"span"),o.TgZ(1,"span",15),o._uU(2),o.ALo(3,"number"),o.qZA(),o.TgZ(4,"span",15),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA()),2&t){const t=e.model;o.xp6(2),o.hij("Events: ",o.lcZ(3,2,t.extra.totalEvents||0),""),o.xp6(3),o.hij("Fee: ",o.xi3(6,4,t.value||0,"1.0-2"),"")}}function yd(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical",13),o.NdJ("select",function(e){return o.CHM(t),o.oxw().onChartBarSelected(e)})("mouseup",function(e){return o.CHM(t),o.oxw().onChartMouseUp(e)}),o.YNc(1,Zd,7,7,"ng-template",null,14,o.W1O),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("view",t.view)("results",t.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function Ad(t,e){if(1&t&&o._UZ(0,"rtl-cl-forwarding-history",16),2&t){const t=o.oxw();o.Q6J("eventsData",t.filteredEventsBySelectedPeriod)("filterValue",t.eventFilterValue)}}let Td=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.events=[],this.filteredEventsBySelectedPeriod=[],this.eventFilterValue="",this.totalFeeMsat=null,this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof t.apisCallStatus.GetForwardingHistory.message?JSON.stringify(t.apisCallStatus.GetForwardingHistory.message):t.apisCallStatus.GetForwardingHistory.message),this.events=t.forwardingHistory?t.forwardingHistory:[],this.filterForwardingEvents(this.startDate,this.endDate),this.logger.info(t)})}ngAfterContentInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=t.width/10;break;case f.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}filterForwardingEvents(t,e){const n=Math.round(t.getTime()/1e3),a=Math.round(e.getTime()/1e3);this.filteredEventsBySelectedPeriod=[],this.feeReportData=[],this.totalFeeMsat=null,this.events&&this.events.length>0&&(this.events.forEach(t=>{t.received_time>=n&&t.received_time0&&"ngx-charts"===t.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(t){this.eventFilterValue=this.reportPeriod===f.op[1]?t.name+"/"+this.startDate.getFullYear():t.name.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(t){const e=Math.round(t.getTime()/1e3),n=[];if(this.reportPeriod===f.op[1]){for(let t=0;t<12;t++)n.push({name:f.gg[t].name,value:1e-9,extra:{totalEvents:0}});this.filteredEventsBySelectedPeriod.map(t=>{const e=new Date(1e3*+t.received_time).getMonth();return n[e].value=n[e].value+ +t.fee/1e3,n[e].extra.totalEvents=n[e].extra.totalEvents+1,this.totalFeeMsat=(this.totalFeeMsat?this.totalFeeMsat:0)+ +t.fee,this.filteredEventsBySelectedPeriod})}else{for(let e=0;e{const a=Math.floor((+t.received_time-e)/this.secondsInADay);return n[a].value=n[a].value+ +t.fee/1e3,n[a].extra.totalEvents=n[a].extra.totalEvents+1,this.totalFeeMsat=(this.totalFeeMsat?this.totalFeeMsat:0)+ +t.fee,this.filteredEventsBySelectedPeriod})}return n}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.filterForwardingEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?f.gg[t].days+1:f.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(Z.mQ),o.Y36(T.v),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-fee-report"]],hostBindings:function(t,e){1&t&&o.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:11,vars:6,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1 error-border",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],["mode","indeterminate"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1","error-border"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"rtl-horizontal-scroller",1),o.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),o.qZA(),o.TgZ(2,"div",2),o.YNc(3,md,4,0,"div",3),o.YNc(4,gd,2,1,"div",4),o.YNc(5,fd,4,8,"div",5),o.YNc(6,xd,2,0,"div",3),o.TgZ(7,"div",6),o.YNc(8,yd,3,11,"ngx-charts-bar-vertical",7),o.qZA(),o.TgZ(9,"div",6),o.YNc(10,Ad,1,2,"rtl-cl-forwarding-history",8),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.ERROR),o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.COMPLETED&&e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.COMPLETED&&(e.feeReportData.length<=0||e.filteredEventsBySelectedPeriod.length<=0)),o.xp6(2),o.Q6J("ngIf",e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),o.xp6(2),o.Q6J("ngIf",e.filteredEventsBySelectedPeriod&&e.filteredEventsBySelectedPeriod.length>0))},directives:[l.xw,l.Wh,l.yH,pd.D,a.O5,r.pW,hd.K$,Qc],pipes:[a.JJ],styles:[""],data:{animation:[dd.J]}}),t})();var Cd=n(6590);function wd(t,e){if(1&t&&(o.TgZ(0,"div",10),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.AsE(" Paid ",o.xi3(2,2,t.transactionsReportSummary.amountPaidSelectedPeriod/1e3||0,"1.0-2")," Sats/",o.lcZ(3,5,t.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function vd(t,e){if(1&t&&(o.TgZ(0,"div",10),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.AsE(" Received ",o.xi3(2,2,t.transactionsReportSummary.amountReceivedSelectedPeriod/1e3||0,"1.0-2")," Sats/",o.lcZ(3,5,t.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function Sd(t,e){if(1&t&&(o.TgZ(0,"div",8),o.YNc(1,wd,4,7,"div",9),o.YNc(2,vd,4,7,"div",9),o.qZA()),2&t){const t=o.oxw();o.Q6J("@fadeIn",t.transactionsReportSummary),o.xp6(1),o.Q6J("ngIf",t.transactionsReportSummary.paymentsSelectedPeriod),o.xp6(1),o.Q6J("ngIf",t.transactionsReportSummary.invoicesSelectedPeriod)}}function bd(t,e){1&t&&(o.TgZ(0,"div",11),o._uU(1,"No transactions report for the selected period"),o.qZA())}function qd(t,e){if(1&t&&(o.TgZ(0,"span",14),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=e.model;o.xp6(1),o.HOy("",t.name,": ",o.xi3(2,4,t.value||0,"1.0-2"),"/# ","Paid"===t.name?"Payments":"Invoices",": ",o.lcZ(3,7,(null==t.extra?null:t.extra.total)||0),"")}}function _d(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical-2d",12),o.NdJ("select",function(e){return o.CHM(t),o.oxw().onChartBarSelected(e)})("mouseup",function(e){return o.CHM(t),o.oxw().onChartMouseUp(e)}),o.YNc(1,qd,4,9,"ng-template",null,13,o.W1O),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("view",t.view)("results",t.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",t.reportPeriod===t.scrollRanges[0]?2:4)}}function Fd(t,e){if(1&t&&o._UZ(0,"rtl-transactions-report-table",15),2&t){const t=o.oxw();o.Q6J("dataList",t.transactionsNonZeroReportData)("dataRange",t.reportPeriod)("filterValue",t.transactionFilterValue)}}let Ld=(()=>{class t{constructor(t,e){this.commonService=t,this.store=e,this.scrollRanges=f.op,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[],this.transactionsNonZeroReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("cl").pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.payments=t.payments,this.invoices=t.invoices.invoices,this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData()})}ngAfterContentInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=t.width/10;break;case f.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}onChartMouseUp(t){"svg"===t.srcElement.tagName&&t.srcElement.classList.length>0&&"ngx-charts"===t.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(t){this.transactionFilterValue=this.reportPeriod===f.op[1]?t.series+"/"+this.startDate.getFullYear():t.series.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(t,e){const n=Math.round(t.getTime()/1e3),a=Math.round(e.getTime()/1e3),s=[];this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};const i=this.payments.filter(t=>"complete"===t.status&&t.created_at>=n&&t.created_at"paid"===t.status&&t.paid_at>=n&&t.paid_at{const e=new Date(1e3*t.created_at).getMonth();return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.msatoshi_sent,s[e].series[0].value=s[e].series[0].value+t.msatoshi_sent/1e3,s[e].series[0].extra.total=s[e].series[0].extra.total+1,this.transactionsReportSummary}),o.map(t=>{const e=new Date(1e3*+t.paid_at).getMonth();return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.msatoshi_received,s[e].series[1].value=s[e].series[1].value+t.msatoshi_received/1e3,s[e].series[1].extra.total=s[e].series[1].extra.total+1,this.transactionsReportSummary})}else{for(let e=0;e{const e=Math.floor((+t.created_at-n)/this.secondsInADay);return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.msatoshi_sent,s[e].series[0].value=s[e].series[0].value+t.msatoshi_sent/1e3,s[e].series[0].extra.total=s[e].series[0].extra.total+1,this.transactionsReportSummary}),o.map(t=>{const e=Math.floor((+t.paid_at-n)/this.secondsInADay);return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.msatoshi_received,s[e].series[1].value=s[e].series[1].value+t.msatoshi_received/1e3,s[e].series[1].extra.total=s[e].series[1].extra.total+1,this.transactionsReportSummary})}return s}prepareTableData(){return this.transactionsReportData.reduce((t,e)=>e.series[0].extra.total>0||e.series[1].extra.total>0?t.concat({date:e.date,amount_paid:e.series[0].value,num_payments:e.series[0].extra.total,amount_received:e.series[1].value,num_invoices:e.series[1].extra.total}):t,[])}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?f.gg[t].days+1:f.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(T.v),o.Y36(y.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-transactions-report"]],hostBindings:function(t,e){1&t&&o.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[3,"dataList","dataRange","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"rtl-horizontal-scroller",1),o.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),o.qZA(),o.TgZ(2,"div",2),o.YNc(3,Sd,3,3,"div",3),o.YNc(4,bd,2,0,"div",4),o.TgZ(5,"div",5),o.YNc(6,_d,3,13,"ngx-charts-bar-vertical-2d",6),o.qZA(),o.TgZ(7,"div",5),o.YNc(8,Fd,1,3,"rtl-transactions-report-table",7),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),o.xp6(1),o.Q6J("ngIf",e.transactionsNonZeroReportData.length<=0),o.xp6(2),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),o.xp6(2),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0))},directives:[l.xw,l.Wh,l.yH,pd.D,a.O5,hd.H5,Cd.g],pipes:[a.JJ],styles:[""],data:{animation:[dd.J]}}),t})();var Ud=n(6013),Rd=n(8016);const kd=s.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:$n,canActivate:[Ud.lB]},{path:"onchain",component:ms,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"receive/utxos"},{path:"receive/:selTab",component:Ui,canActivate:[Ud.lB]},{path:"send/:selTab",component:Ri,data:{sweepAll:!1},canActivate:[Ud.lB]},{path:"sweep/:selTab",component:Ri,data:{sweepAll:!0},canActivate:[Ud.lB]}]},{path:"connections",component:xs,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:io,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:Ko,canActivate:[Ud.lB]},{path:"pending",component:El,canActivate:[Ud.lB]}]},{path:"peers",component:_r,data:{sweepAll:!1},canActivate:[Ud.lB]}]},{path:"transactions",component:ys,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:vn,canActivate:[Ud.lB]},{path:"invoices",component:re,canActivate:[Ud.lB]},{path:"queryroutes",component:Kr,canActivate:[Ud.lB]}]},{path:"messages",component:_i,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"sign"},{path:"sign",component:ec,canActivate:[Ud.lB]},{path:"verify",component:cc,canActivate:[Ud.lB]}]},{path:"routing",component:Ts,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:Qc,canActivate:[Ud.lB]},{path:"failedtransactions",component:hu,canActivate:[Ud.lB]},{path:"routingpeers",component:rd,canActivate:[Ud.lB]}]},{path:"reports",component:ud,canActivate:[Ud.lB],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:Td,canActivate:[Ud.lB]},{path:"transactions",component:Ld,canActivate:[Ud.lB]}]},{path:"lookups",component:js,canActivate:[Ud.lB]},{path:"rates",component:bi,canActivate:[Ud.lB]},{path:"**",component:Rd.w},{path:"network",redirectTo:"rates"},{path:"wallet",redirectTo:"home"},{path:"backup",redirectTo:"home"}]}]);var Nd=n(253);let Id=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t,bootstrap:[u]}),t.\u0275inj=o.cJS({providers:[Ud.lB],imports:[[a.ez,Nd.m,kd]]}),t})()}}]); \ No newline at end of file diff --git a/angular/432.635dd65c825f8e4ca25b.js b/angular/432.635dd65c825f8e4ca25b.js deleted file mode 100644 index 5b9821cc..00000000 --- a/angular/432.635dd65c825f8e4ca25b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[432],{1432:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ECLModule:()=>Ir});var i=n(1511),a=n(6853),o=n(2865),s=n(1572),l=n(3722),r=n(5994);function c(t,e){1&t&&s._UZ(0,"mat-progress-bar",3)}let u=(()=>{class t{constructor(t){this.router=t,this.loading=!1,this.router.events.subscribe(t=>{switch(!0){case t instanceof a.OD:this.loading=!0;break;case t instanceof a.m2:case t instanceof a.gk:case t instanceof a.Q3:this.loading=!1}})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.YNc(1,c,1,0,"mat-progress-bar",1),s._UZ(2,"router-outlet",null,2),s.qZA()),2&t&&(s.xp6(1),s.Q6J("ngIf",e.loading))},directives:[l.xw,l.yH,l.Wh,i.O5,a.lC,r.pW],styles:[""],data:{animation:[o.g]}}),t})();var d=n(9666),m=n(9568),h=n(8868),p=n(7810),g=n(5291),f=n(9421),x=n(6124),Z=n(3869),y=n(964),A=n(5573),w=n(1084),T=n(7592),v=n(7271),q=n(7439),C=n(8055),b=n(5980),S=n(3691),L=n(377);const F=function(t){return{backgroundColor:t}};function _(t,e){if(1&t&&s._UZ(0,"span",6),2&t){const t=s.oxw();s.Q6J("ngStyle",s.VKq(1,F,t.information.color))}}function k(t,e){if(1&t&&(s.TgZ(0,"div"),s.TgZ(1,"h4",1),s._uU(2,"Color"),s.qZA(),s.TgZ(3,"div",2),s._UZ(4,"span",7),s._uU(5),s.ALo(6,"uppercase"),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(4),s.Q6J("ngStyle",s.VKq(4,F,t.information.color)),s.xp6(1),s.hij(" ",s.lcZ(6,2,t.information.color)," ")}}function N(t,e){if(1&t&&(s.TgZ(0,"span",2),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(t)}}let U=(()=>{class t{constructor(t){this.commonService=t,this.chains=[""]}ngOnChanges(){this.chains=[],this.chains.push("Bitcoin "+(this.information.network?this.commonService.titleCase(this.information.network):"Testnet"))}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[s.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Alias"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.YNc(6,_,1,3,"span",3),s.qZA(),s.qZA(),s.YNc(7,k,7,6,"div",4),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Implementation"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",1),s._uU(15,"Chain"),s.qZA(),s.YNc(16,N,2,1,"span",5),s.qZA(),s.qZA()),2&t&&(s.xp6(5),s.hij(" ",e.information.alias," "),s.xp6(1),s.Q6J("ngIf",!e.showColorFieldSeparately),s.xp6(1),s.Q6J("ngIf",e.showColorFieldSeparately),s.xp6(5),s.Oqu(e.information.lnImplementation||e.information.version?e.information.lnImplementation+" "+e.information.version:""),s.xp6(4),s.Q6J("ngForOf",e.chains))},directives:[l.xw,l.yH,l.Wh,i.O5,i.sg,i.PC,L.Zl],pipes:[i.gd],styles:[""]}),t})(),D=(()=>{class t{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-balances-info"]],inputs:{balances:"balances"},decls:21,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Lightning"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",3),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"On-chain"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.ALo(13,"number"),s.qZA(),s._UZ(14,"mat-progress-bar",3),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Total"),s.qZA(),s.TgZ(18,"div",2),s._uU(19),s.ALo(20,"number"),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(5),s.hij("",s.lcZ(6,5,e.balances.lightning)," Sats"),s.xp6(2),s.s9C("value",e.balances.lightning/e.balances.total*100),s.xp6(5),s.hij("",s.lcZ(13,7,e.balances.onchain)," Sats"),s.xp6(2),s.s9C("value",e.balances.onchain/e.balances.total*100),s.xp6(5),s.hij("",s.lcZ(20,9,e.balances.total)," Sats"))},directives:[l.xw,l.yH,l.Wh,r.pW],pipes:[i.JJ],styles:[""]}),t})();var I=n(6283),O=n(6828),J=n(7679),Y=n(7038);function P(t,e){if(1&t&&(s.TgZ(0,"div",17),s.TgZ(1,"span",18),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",19),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",20),s._UZ(11,"fa-icon",21),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",22),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",23),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",t.alias||t.shortChannelId),s.s9C("matTooltipDisabled",(t.alias||t.shortChannelId).length<26),s.xp6(1),s.AsE("",s.Dn7(3,9,(null==t?null:t.alias)||(null==t?null:t.shortChannelId),0,24),"",((null==t?null:t.alias)||(null==t?null:t.shortChannelId)).length>25?"...":"",""),s.xp6(6),s.hij("",s.xi3(9,13,(null==t?null:t.toLocal)||0,"1.0-0")," Sats"),s.xp6(3),s.Q6J("icon",n.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,16,(null==t?null:t.balancedness)||0),") "),s.xp6(5),s.hij("",s.xi3(18,18,(null==t?null:t.toRemote)||0,"1.0-0")," Sats"),s.xp6(2),s.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function R(t,e){if(1&t&&(s.TgZ(0,"div",15),s.YNc(1,P,20,21,"div",16),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngForOf",t.allChannels)}}function M(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",24),s._uU(1," No channels available. "),s.TgZ(2,"button",25),s.NdJ("click",function(){return s.CHM(t),s.oxw().goToChannels()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA()}}let Q=(()=>{class t{constructor(t){this.router=t,this.faBalanceScale=g.DL8,this.faDumbbell=g.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/ecl/connections")}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy"},decls:26,vars:15,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(t,e){if(1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",4),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",6),s._UZ(11,"fa-icon",7),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",8),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",9),s.qZA(),s.TgZ(20,"div",10),s._UZ(21,"mat-divider",11),s.qZA(),s.TgZ(22,"div",12),s.YNc(23,R,2,1,"div",13),s.qZA(),s.qZA(),s.YNc(24,M,4,0,"ng-template",null,14,s.W1O)),2&t){const t=s.MAs(25);s.xp6(8),s.hij("",s.xi3(9,7,e.channelBalances.localBalance||0,"1.0-0")," Sats"),s.xp6(3),s.Q6J("icon",e.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,10,(null==e.channelBalances?null:e.channelBalances.balancedness)||0),") "),s.xp6(5),s.hij("",s.xi3(18,12,e.channelBalances.remoteBalance||0,"1.0-0")," Sats"),s.xp6(2),s.s9C("value",e.channelBalances.localBalance&&e.channelBalances.localBalance>0?+e.channelBalances.localBalance/(+e.channelBalances.localBalance+ +e.channelBalances.remoteBalance)*100:0),s.xp6(4),s.Q6J("ngIf",e.allChannels&&(null==e.allChannels?null:e.allChannels.length)>0)("ngIfElse",t)}},directives:[l.xw,l.Wh,l.yH,I.bx,T.BN,O.gM,r.pW,J.d,Y.$V,i.O5,i.sg,b.lW],pipes:[i.JJ,i.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),t})(),E=(()=>{class t{constructor(){this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100}ngOnChanges(){if(this.fees.monthly_fee){this.totalFees=[{name:"Monthly",value:this.fees.monthly_fee},{name:"Weekly",value:this.fees.weekly_fee},{name:"Daily ",value:this.fees.daily_fee}];let t=Math.ceil(Math.log(this.fees.monthly_fee+1)/Math.LN10),e=Math.pow(10,t-1);this.maxFeeValue=Math.ceil(this.fees.monthly_fee/e)*e/5||100,Object.assign(this,this.totalFees)}else this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100,Object.assign(this,this.totalFees)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-fee-info"]],inputs:{fees:"fees"},features:[s.TTD],decls:38,vars:18,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Daily"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.TgZ(7,"div"),s.TgZ(8,"h4",1),s._uU(9,"Weekly"),s.qZA(),s.TgZ(10,"div",2),s._uU(11),s.ALo(12,"number"),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",1),s._uU(15,"Monthly"),s.qZA(),s.TgZ(16,"div",2),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"div",0),s.TgZ(20,"div"),s.TgZ(21,"h4",1),s._uU(22,"Transactions"),s.qZA(),s.TgZ(23,"div",2),s._uU(24),s.ALo(25,"number"),s.qZA(),s.qZA(),s.TgZ(26,"div"),s.TgZ(27,"h4",1),s._uU(28,"Transactions"),s.qZA(),s.TgZ(29,"div",2),s._uU(30),s.ALo(31,"number"),s.qZA(),s.qZA(),s.TgZ(32,"div"),s.TgZ(33,"h4",1),s._uU(34,"Transactions"),s.qZA(),s.TgZ(35,"div",2),s._uU(36),s.ALo(37,"number"),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(5),s.hij("",s.lcZ(6,6,null==e.fees?null:e.fees.daily_fee)," Sats"),s.xp6(6),s.hij("",s.lcZ(12,8,null==e.fees?null:e.fees.weekly_fee)," Sats"),s.xp6(6),s.hij("",s.lcZ(18,10,null==e.fees?null:e.fees.monthly_fee)," Sats"),s.xp6(7),s.Oqu(s.lcZ(25,12,null==e.fees?null:e.fees.daily_txs)),s.xp6(6),s.Oqu(s.lcZ(31,14,null==e.fees?null:e.fees.weekly_txs)),s.xp6(6),s.Oqu(s.lcZ(37,16,null==e.fees?null:e.fees.monthly_txs)))},directives:[l.xw,l.yH,l.Wh],pipes:[i.JJ],styles:[""]}),t})(),B=(()=>{class t{constructor(){this.channelsStatus={}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus"},decls:41,vars:18,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Active"),s.qZA(),s.TgZ(4,"div",2),s._UZ(5,"span",3),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Pending"),s.qZA(),s.TgZ(11,"div",2),s._UZ(12,"span",4),s._uU(13),s.ALo(14,"number"),s.qZA(),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Inactive"),s.qZA(),s.TgZ(18,"div",2),s._UZ(19,"span",5),s._uU(20),s.ALo(21,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(22,"div",0),s.TgZ(23,"div"),s.TgZ(24,"h4",1),s._uU(25,"Capacity"),s.qZA(),s.TgZ(26,"div",2),s._uU(27),s.ALo(28,"number"),s.qZA(),s.qZA(),s.TgZ(29,"div"),s.TgZ(30,"h4",1),s._uU(31,"Capacity"),s.qZA(),s.TgZ(32,"div",2),s._uU(33),s.ALo(34,"number"),s.qZA(),s.qZA(),s.TgZ(35,"div"),s.TgZ(36,"h4",1),s._uU(37,"Capacity"),s.qZA(),s.TgZ(38,"div",2),s._uU(39),s.ALo(40,"number"),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(6),s.Oqu(s.lcZ(7,6,(null==e.channelsStatus.active?null:e.channelsStatus.active.channels)||0)),s.xp6(7),s.Oqu(s.lcZ(14,8,(null==e.channelsStatus.pending?null:e.channelsStatus.pending.channels)||0)),s.xp6(7),s.Oqu(s.lcZ(21,10,(null==e.channelsStatus.inactive?null:e.channelsStatus.inactive.channels)||0)),s.xp6(7),s.hij("",s.lcZ(28,12,(null==e.channelsStatus.active?null:e.channelsStatus.active.capacity)||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(34,14,(null==e.channelsStatus.pending?null:e.channelsStatus.pending.capacity)||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(40,16,(null==e.channelsStatus.inactive?null:e.channelsStatus.inactive.capacity)||0)," Sats"))},directives:[l.xw,l.yH,l.Wh],pipes:[i.JJ],styles:[""]}),t})();function H(t,e){if(1&t&&(s.TgZ(0,"mat-hint",17),s.TgZ(1,"strong",18),s._uU(2,"Capacity: "),s.qZA(),s._uU(3),s.ALo(4,"number"),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(3),s.hij("",s.xi3(4,1,t.toRemote||0,"1.0-0")," Sats")}}function z(t,e){if(1&t&&(s.TgZ(0,"mat-hint",17),s.TgZ(1,"strong",18),s._uU(2,"Capacity: "),s.qZA(),s._uU(3),s.ALo(4,"number"),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(3),s.hij("",s.xi3(4,1,t.toLocal||0,"1.0-0")," Sats")}}function V(t,e){if(1&t&&s._UZ(0,"mat-progress-bar",19),2&t){const t=s.oxw().$implicit,e=s.oxw(2);s.s9C("value",e.totalLiquidity>0?(+t.toRemote||0)/e.totalLiquidity*100:0)}}function G(t,e){if(1&t&&s._UZ(0,"mat-progress-bar",19),2&t){const t=s.oxw().$implicit,e=s.oxw(2);s.s9C("value",e.totalLiquidity>0?(+t.toLocal||0)/e.totalLiquidity*100:0)}}function $(t,e){if(1&t&&(s.TgZ(0,"div",12),s.TgZ(1,"span",13),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",14),s.YNc(5,H,5,4,"mat-hint",15),s.YNc(6,z,5,4,"mat-hint",15),s.qZA(),s.YNc(7,V,1,1,"mat-progress-bar",16),s.YNc(8,G,1,1,"mat-progress-bar",16),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",t.alias||t.shortChannelId),s.s9C("matTooltipDisabled",(t.alias||t.shortChannelId).length<26),s.xp6(1),s.AsE("",s.Dn7(3,8,t.alias||t.shortChannelId,0,24),"",(t.alias||t.shortChannelId).length>25?"...":"",""),s.xp6(3),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction),s.xp6(1),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction)}}function X(t,e){if(1&t&&(s.TgZ(0,"div",10),s.YNc(1,$,9,12,"div",11),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngForOf",t.allChannels)}}function W(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",22),s.NdJ("click",function(){return s.CHM(t),s.oxw(2).goToChannels()}),s._uU(1,"Open Channel"),s.qZA()}}function K(t,e){if(1&t&&(s.TgZ(0,"div",20),s._uU(1," No channels available. "),s.YNc(2,W,2,0,"button",21),s.qZA()),2&t){const t=s.oxw();s.xp6(2),s.Q6J("ngIf","Out"===t.direction)}}const j=function(t,e,n){return{"mb-4":t,"mb-2":e,"mb-1":n}};let tt=(()=>{class t{constructor(t,e){this.router=t,this.commonService=e,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}goToChannels(){this.router.navigateByUrl("/ecl/connections")}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(a.F0),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels"},decls:14,vars:11,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],["fxLayout","column","fxFlex.gt-sm","88","fxFlex","84","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","class","w-100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["fxLayout","column","fxFlex","100",1,"w-100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","100","fxLayoutAlign","start center","class","font-size-90 color-primary",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(t,e){if(1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"mat-hint",3),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",4),s.qZA(),s.TgZ(8,"div",5),s._UZ(9,"mat-divider",6),s.qZA(),s.TgZ(10,"div",7),s.YNc(11,X,2,1,"div",8),s.qZA(),s.qZA(),s.YNc(12,K,3,1,"ng-template",null,9,s.W1O)),2&t){const t=s.MAs(13);s.Q6J("ngClass",s.kEZ(7,j,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM,e.screenSize===e.screenSizeEnum.MD,e.screenSize===e.screenSizeEnum.LG||e.screenSize===e.screenSizeEnum.XL)),s.xp6(5),s.hij("",s.xi3(6,4,e.totalLiquidity,"1.0-0")," Sats"),s.xp6(6),s.Q6J("ngIf",e.allChannels&&e.allChannels.length>0)("ngIfElse",t)}},directives:[l.xw,l.Wh,l.yH,i.mk,L.oO,I.bx,r.pW,J.d,Y.$V,i.O5,i.sg,O.gM,b.lW],pipes:[i.JJ,i.OU],styles:[""]}),t})();var et=n(5109),nt=n(3005),it=n(2464),at=n(7033),ot=n(4608),st=n(3929),lt=n(6073),rt=n(6756),ct=n(6880),ut=n(5095),dt=n(4786),mt=n(1522);function ht(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Description is required."),s.qZA())}function pt(t,e){if(1&t&&(s.TgZ(0,"mat-option",25),s._uU(1),s.ALo(2,"titlecase"),s.qZA()),2&t){const t=e.$implicit;s.Q6J("value",t),s.xp6(1),s.Oqu(s.lcZ(2,2,t))}}function gt(t,e){if(1&t&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.invoiceError)}}function ft(t,e){if(1&t&&(s.TgZ(0,"div",26),s._UZ(1,"fa-icon",27),s.YNc(2,gt,2,1,"span",11),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==t.invoiceError)}}let xt=(()=>{class t{constructor(t,e,n,i,a,o){this.dialogRef=t,this.data=e,this.store=n,this.decimalPipe=i,this.commonService=a,this.actions$=o,this.faExclamationTriangle=g.eHv,this.selNode={},this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=f.IV,this.timeUnitEnum=f.Qk,this.timeUnits=f.LO,this.selTimeUnit=f.Qk.SECS,this.invoiceError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.information=t.information}),this.actions$.pipe((0,m.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.Wz||t.type===x.Wk)).subscribe(t=>{t.type===x.Wk&&this.dialogRef.close(),t.type===x.Wz&&"CreateInvoice"===t.payload.action&&(this.invoiceError=t.payload.message)})}onAddInvoice(t){if(this.invoiceError="",!this.description)return!0;let e=this.expiry?this.expiry:3600;this.selTimeUnit!==f.Qk.SECS&&(e=this.commonService.convertTime(this.expiry,this.selTimeUnit,f.Qk.SECS));let n=null;n=this.invoiceValue?{description:this.description,expireIn:e,amountMsat:1e3*this.invoiceValue}:{description:this.description,expireIn:e},this.store.dispatch(new st.Fk("Creating Invoice...")),this.store.dispatch(new x.Ks(n))}resetData(){this.description="",this.invoiceValue=null,this.private=!1,this.expiry=void 0,this.invoiceValueHint="",this.selTimeUnit=f.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe(t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,f.Xz.OTHER)+" "+t.unit}))}onTimeUnitChange(t){this.expiry&&this.selTimeUnit!==t.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,t.value)),this.selTimeUnit=t.value}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(ot.WI),s.Y36(y.yh),s.Y36(i.JJ),s.Y36(w.v),s.Y36(A.eX))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-create-invoices"]],decls:35,vars:17,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","start space-between","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","autoFocus","","placeholder","Description","tabindex","2","name","description","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","space-between start","fxFlex","100"],["fxFlex","40"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","30"],["matInput","","placeholder","Expiry","type","number","name","exp","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fxFlex","26"],["tabindex","5","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Create Invoice"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(t){return e.description=t}),s.qZA(),s.YNc(13,ht,2,0,"mat-error",11),s.qZA(),s.TgZ(14,"div",12),s.TgZ(15,"mat-form-field",13),s.TgZ(16,"input",14),s.NdJ("ngModelChange",function(t){return e.invoiceValue=t})("keyup",function(){return e.onInvoiceValueChange()}),s.qZA(),s.TgZ(17,"span",15),s._uU(18),s.qZA(),s.TgZ(19,"mat-hint"),s._uU(20),s.qZA(),s.qZA(),s.TgZ(21,"mat-form-field",16),s.TgZ(22,"input",17),s.NdJ("ngModelChange",function(t){return e.expiry=t}),s.qZA(),s.TgZ(23,"span",15),s._uU(24),s.ALo(25,"titlecase"),s.qZA(),s.qZA(),s.TgZ(26,"mat-form-field",18),s.TgZ(27,"mat-select",19),s.NdJ("selectionChange",function(t){return e.onTimeUnitChange(t)}),s.YNc(28,pt,3,4,"mat-option",20),s.qZA(),s.qZA(),s.qZA(),s.YNc(29,ft,3,2,"div",21),s.TgZ(30,"div",22),s.TgZ(31,"button",23),s.NdJ("click",function(){return e.resetData()}),s._uU(32,"Clear Field"),s.qZA(),s.TgZ(33,"button",24),s.NdJ("click",function(){s.CHM(t);const n=s.MAs(10);return e.onAddInvoice(n)}),s._uU(34,"Create Invoice"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}2&t&&(s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",e.description),s.xp6(1),s.Q6J("ngIf",!e.description),s.xp6(3),s.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),s.xp6(2),s.hij(" ",null==e.information?null:e.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(e.invoiceValueHint),s.xp6(2),s.Q6J("ngModel",e.expiry)("step",e.selTimeUnit===e.timeUnitEnum.SECS?300:e.selTimeUnit===e.timeUnitEnum.MINS?10:e.selTimeUnit===e.timeUnitEnum.HOURS?2:1)("min",1),s.xp6(2),s.hij(" ",s.lcZ(25,15,e.selTimeUnit)," "),s.xp6(3),s.Q6J("value",e.selTimeUnit),s.xp6(1),s.Q6J("ngForOf",e.timeUnits),s.xp6(1),s.Q6J("ngIf",""!==e.invoiceError))},directives:[l.xw,l.yH,q.dk,l.Wh,b.lW,ot.ZT,q.dn,lt._Y,lt.JL,lt.F,I.KE,rt.Nt,lt.Fj,ct.h,lt.Q7,lt.JJ,lt.On,i.O5,lt.wV,lt.qQ,ut.q,I.R9,I.bx,dt.gD,i.sg,I.TO,mt.ey,T.BN],pipes:[i.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var Zt=n(3921),yt=n(4636);function At(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Description is required."),s.qZA())}function wt(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"input",7),s.NdJ("ngModelChange",function(e){return s.CHM(t),s.oxw().description=e}),s.qZA(),s.YNc(4,At,2,0,"mat-error",8),s.qZA(),s.TgZ(5,"mat-form-field",9),s.TgZ(6,"input",10,11),s.NdJ("ngModelChange",function(e){return s.CHM(t),s.oxw().invoiceValue=e})("keyup",function(){return s.CHM(t),s.oxw().onInvoiceValueChange()}),s.qZA(),s.TgZ(8,"span",12),s._uU(9),s.qZA(),s.TgZ(10,"mat-hint"),s._uU(11),s.qZA(),s.qZA(),s.TgZ(12,"div",13),s.TgZ(13,"button",14),s.NdJ("click",function(){return s.CHM(t),s.oxw().resetData()}),s._uU(14,"Clear Field"),s.qZA(),s.TgZ(15,"button",15),s.NdJ("click",function(){s.CHM(t);const e=s.MAs(1);return s.oxw().onAddInvoice(e)}),s._uU(16,"Create Invoice"),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.xp6(3),s.Q6J("ngModel",t.description),s.xp6(1),s.Q6J("ngIf",!t.description),s.xp6(2),s.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),s.xp6(3),s.hij(" ",null==t.information?null:t.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(t.invoiceValueHint)}}function Tt(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",16),s.TgZ(1,"button",17),s.NdJ("click",function(){return s.CHM(t),s.oxw().openCreateInvoiceModal()}),s._uU(2,"Create Invoice"),s.qZA(),s.qZA()}}function vt(t,e){1&t&&s._UZ(0,"mat-progress-bar",47)}function qt(t,e){1&t&&(s.TgZ(0,"th",48),s._uU(1," Date Created "),s.qZA())}const Ct=function(t){return{"mr-0":t}};function bt(t,e){if(1&t&&s._UZ(0,"span",53),2&t){const t=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Ct,t.screenSize===t.screenSizeEnum.XS))}}function St(t,e){if(1&t&&s._UZ(0,"span",54),2&t){const t=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Ct,t.screenSize===t.screenSizeEnum.XS))}}function Lt(t,e){if(1&t&&s._UZ(0,"span",55),2&t){const t=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Ct,t.screenSize===t.screenSizeEnum.XS))}}function Ft(t,e){if(1&t&&(s.TgZ(0,"td",49),s.YNc(1,bt,1,3,"span",50),s.YNc(2,St,1,3,"span",51),s.YNc(3,Lt,1,3,"span",52),s._uU(4),s.ALo(5,"date"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Q6J("ngIf","received"===t.status),s.xp6(1),s.Q6J("ngIf","unpaid"===t.status),s.xp6(1),s.Q6J("ngIf","expired"===t.status||"unknown"===t.status),s.xp6(1),s.hij(" ",s.xi3(5,4,1e3*t.timestamp,"dd/MMM/YYYY HH:mm")," ")}}function _t(t,e){1&t&&(s.TgZ(0,"th",48),s._uU(1," Date Settled "),s.qZA())}function kt(t,e){if(1&t&&(s.TgZ(0,"td",49),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(t.receivedAtStr||"-")}}function Nt(t,e){1&t&&(s.TgZ(0,"th",48),s._uU(1," Description "),s.qZA())}const Ut=function(t){return{"max-width":t}};function Dt(t,e){if(1&t&&(s.TgZ(0,"td",49),s.TgZ(1,"div",56),s.TgZ(2,"span",57),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,Ut,n.screenSize===n.screenSizeEnum.XS?"10rem":"32rem")),s.xp6(2),s.Oqu(t.description)}}function It(t,e){1&t&&(s.TgZ(0,"th",58),s._uU(1," Amount (Sats) "),s.qZA())}function Ot(t,e){if(1&t&&(s.TgZ(0,"td",59),s.TgZ(1,"span",60),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",t.amount?s.xi3(3,1,t.amount,"1.0-0"):"-","")}}function Jt(t,e){1&t&&(s.TgZ(0,"th",58),s._uU(1," Amount Settled (Sats) "),s.qZA())}function Yt(t,e){if(1&t&&(s.TgZ(0,"td",59),s.TgZ(1,"span",60),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",t.amountSettled?s.xi3(3,1,t.amountSettled,"1.0-0"):"-","")}}function Pt(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",61),s.TgZ(1,"div",62),s.TgZ(2,"mat-select",63),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",64),s.NdJ("click",function(){return s.CHM(t),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}const Rt=function(t){return{"px-3":t}};function Mt(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",65),s.TgZ(1,"button",66),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw(2).onInvoiceClick(n,e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}if(2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Rt,t.screenSize!==t.screenSizeEnum.XS))}}function Qt(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No invoices available."),s.qZA())}function Et(t,e){if(1&t&&(s.TgZ(0,"td",67),s.YNc(1,Qt,2,0,"p",8),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)}}const Bt=function(t){return{"display-none":t}};function Ht(t,e){if(1&t&&s._UZ(0,"tr",68),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Bt,(null==t.invoices?null:t.invoices.data)&&(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)>0))}}function zt(t,e){1&t&&s._UZ(0,"tr",69)}function Vt(t,e){if(1&t&&s._UZ(0,"tr",70),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",t.label===n.newlyAddedInvoiceMemo&&t.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const Gt=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},$t=function(){return["no_invoice"]};function Xt(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",18),s.TgZ(1,"div",19),s.TgZ(2,"div",20),s._UZ(3,"fa-icon",21),s.TgZ(4,"span",22),s._uU(5,"Invoices History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",23),s.TgZ(7,"input",24),s.NdJ("keyup",function(e){return s.CHM(t),s.oxw().applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",25),s.YNc(9,vt,1,0,"mat-progress-bar",26),s.TgZ(10,"table",27,28),s.ynx(12,29),s.YNc(13,qt,2,0,"th",30),s.YNc(14,Ft,6,7,"td",31),s.BQk(),s.ynx(15,32),s.YNc(16,_t,2,0,"th",30),s.YNc(17,kt,2,1,"td",31),s.BQk(),s.ynx(18,33),s.YNc(19,Nt,2,0,"th",30),s.YNc(20,Dt,4,4,"td",31),s.BQk(),s.ynx(21,34),s.YNc(22,It,2,0,"th",35),s.YNc(23,Ot,4,4,"td",36),s.BQk(),s.ynx(24,37),s.YNc(25,Jt,2,0,"th",35),s.YNc(26,Yt,4,4,"td",36),s.BQk(),s.ynx(27,38),s.YNc(28,Pt,6,0,"th",39),s.YNc(29,Mt,3,3,"td",40),s.BQk(),s.ynx(30,41),s.YNc(31,Et,2,1,"td",42),s.BQk(),s.YNc(32,Ht,1,3,"tr",43),s.YNc(33,zt,1,0,"tr",44),s.YNc(34,Vt,1,1,"tr",45),s.qZA(),s.qZA(),s._UZ(35,"mat-paginator",46),s.qZA()}if(2&t){const t=s.oxw();s.xp6(3),s.Q6J("icon",t.faHistory),s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.invoices)("ngClass",s.VKq(11,Gt,"error"===t.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(13,$t)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let Wt=(()=>{class t{constructor(t,e,n,i,a){this.logger=t,this.store=e,this.decimalPipe=n,this.commonService=i,this.datePipe=a,this.calledFrom="transactions",this.faHistory=g.qO$,this.selNode={},this.newlyAddedInvoiceMemo="",this.newlyAddedInvoiceValue=0,this.flgAnimate=!0,this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoiceJSONArr=[],this.information={},this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","amountSettled","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","receivedAt","description","amount","amountSettled","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchInvoices"===t.action&&(this.flgLoading[0]="error")}),this.selNode=t.nodeSettings,this.information=t.information,this.invoiceJSONArr=t.invoices&&t.invoices.length>0?t.invoices:[],this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr),setTimeout(()=>{this.flgAnimate=!1},5e3),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!t.invoices),this.logger.info(t)})}ngAfterViewInit(){this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr)}openCreateInvoiceModal(){this.store.dispatch(new st.wu({data:{pageSize:this.pageSize,component:xt}}))}onAddInvoice(t){if(!this.description)return!0;let e=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo="ulbl"+Math.random().toString(36).slice(2)+Date.now(),this.newlyAddedInvoiceValue=this.invoiceValue;let n=null;n=this.invoiceValue?{description:this.description,expireIn:e,amountMsat:1e3*this.invoiceValue}:{description:this.description,expireIn:e},this.store.dispatch(new st.Fk("Creating Invoice...")),this.store.dispatch(new x.Ks(n)),this.resetData()}onInvoiceClick(t,e){this.store.dispatch(new st.wu({data:{invoice:t,newlyAdded:!1,component:Zt.R}}))}loadInvoicesTable(t){this.invoices=new at.by(t?[...t]:[]),this.invoices.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.invoices.sort=this.sort,this.invoices.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(1e3*t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.invoices.paginator=this.paginator}resetData(){this.description="",this.invoiceValue=null,this.expiry=null,this.invoiceValueHint=""}applyFilter(t){this.invoices.filter=t.value.trim().toLowerCase()}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,f.Xz.OTHER)+" "+t.unit}))}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(i.JJ),s.Y36(w.v),s.Y36(i.uU))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-lightning-invoices"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["matInput","","placeholder","Description","tabindex","2","name","description","required","true",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["invcVal","ngModel"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","9","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","receivedAt"],["matColumnDef","description"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pr-3",4,"matCellDef"],["matColumnDef","amountSettled"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Received","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unpaid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Expired","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Received","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unpaid","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Expired","matTooltipPosition","right",1,"dot","red",3,"ngClass"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pr-3"],["mat-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.YNc(1,wt,17,7,"form",1),s.YNc(2,Tt,3,0,"div",2),s.YNc(3,Xt,36,14,"div",3),s.qZA()),2&t&&(s.xp6(1),s.Q6J("ngIf","home"===e.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===e.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,i.O5,lt._Y,lt.JL,lt.F,I.KE,rt.Nt,lt.Fj,lt.Q7,lt.JJ,lt.On,lt.wV,lt.qQ,ut.q,I.R9,I.bx,b.lW,I.TO,T.BN,Y.$V,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,O.gM,i.PC,L.Zl,dt.gD,dt.$L,mt.ey,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.uU,i.JJ],styles:[".mat-column-description[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-description[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[yt.Q]}}),t})();var Kt=n(9056),jt=n(4147),te=n(3556);const ee=["paymentReq"];function ne(t,e){if(1&t&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.paymentDecodedHint)}}function ie(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function ae(t,e){if(1&t&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.paymentDecodedHint)}}function oe(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment amount is required."),s.qZA())}function se(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",17,18),s.NdJ("ngModelChange",function(e){return s.CHM(t),s.oxw().paymentAmount=e})("change",function(e){return s.CHM(t),s.oxw().onAmountChange(e)}),s.qZA(),s.TgZ(3,"mat-hint"),s._uU(4,"It is a zero amount invoice, enter amount to be paid."),s.qZA(),s.YNc(5,oe,2,0,"mat-error",11),s.qZA()}if(2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngModel",t.paymentAmount),s.xp6(4),s.Q6J("ngIf",!t.paymentAmount)}}function le(t,e){if(1&t&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.paymentError)}}function re(t,e){if(1&t&&(s.TgZ(0,"div",19),s._UZ(1,"fa-icon",20),s.YNc(2,le,2,1,"span",11),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==t.paymentError)}}let ce=(()=>{class t{constructor(t,e,n,i,a,o,s,l){this.dialogRef=t,this.store=e,this.eclEffects=n,this.logger=i,this.commonService=a,this.decimalPipe=o,this.actions$=s,this.dataService=l,this.faExclamationTriangle=g.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.selActiveChannel={},this.activeChannels={},this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.feeLimitTypes=f.Vc,this.paymentError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.activeChannels=t.activeChannels,this.logger.info(t)}),this.actions$.pipe((0,m.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.Wz||t.type===x.qC)).subscribe(t=>{t.type===x.qC&&this.dialogRef.close(),t.type===x.Wz&&"SendPayment"===t.payload.action&&(delete this.paymentDecoded.amount,this.paymentError=t.payload.message)})}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():(this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.paymentReq.control.setErrors(null),this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,Kt.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp&&!this.paymentDecoded.amount?(this.paymentDecoded.amount=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.commonService.convertCurrency(+this.paymentDecoded.amount,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe(t=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description}))},t=>{this.logger.error(t),this.paymentDecodedHint="ERROR: "+(t.message?t.message:"string"==typeof t?t:JSON.stringify(t)),this.paymentReq.control.setErrors({decodeError:!0})}))}sendPayment(){this.store.dispatch(new st.Fk("Sending Payment...")),this.store.dispatch(new x.Ar(this.zeroAmtInvoice?{invoice:this.paymentRequest,amountMsat:1e3*this.paymentAmount,fromDialog:!0}:{invoice:this.paymentRequest,fromDialog:!0}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,Kt.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp&&!this.paymentDecoded.amount?(this.paymentDecoded.amount=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.commonService.convertCurrency(+this.paymentDecoded.amount,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[3])).subscribe(t=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description}))},t=>{this.logger.error(t),this.paymentDecodedHint="ERROR: "+(t.message?t.message:"string"==typeof t?t:JSON.stringify(t)),this.paymentReq.control.setErrors({decodeError:!0})}))}onAmountChange(t){delete this.paymentDecoded.amount,this.paymentDecoded.amount=t}resetData(){this.paymentDecoded={},this.paymentRequest="",this.selActiveChannel=null,this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.paymentReq.control.setErrors(null),this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(y.yh),s.Y36(jt.o),s.Y36(Z.mQ),s.Y36(w.v),s.Y36(i.JJ),s.Y36(A.eX),s.Y36(te.D))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-lightning-send-payments"]],viewQuery:function(t,e){if(1&t&&s.Gf(ee,5),2&t){let t;s.iGM(t=s.CRH())&&(e.paymentReq=t.first)}},decls:24,vars:7,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){if(1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Send Payment"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.TgZ(11,"mat-form-field",1),s.TgZ(12,"textarea",9,10),s.NdJ("ngModelChange",function(t){return e.onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(14,ne,2,1,"mat-hint",11),s.YNc(15,ie,2,0,"mat-error",11),s.YNc(16,ae,2,1,"mat-error",11),s.qZA(),s.YNc(17,se,6,2,"mat-form-field",12),s.YNc(18,re,3,2,"div",13),s.TgZ(19,"div",14),s.TgZ(20,"button",15),s.NdJ("click",function(){return e.resetData()}),s._uU(21,"Clear Fields"),s.qZA(),s.TgZ(22,"button",16),s.NdJ("click",function(){return e.onSendPayment()}),s._uU(23,"Send Payment"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t){const t=s.MAs(13);s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",e.paymentRequest),s.xp6(2),s.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!e.paymentRequest),s.xp6(1),s.Q6J("ngIf",null==t.errors?null:t.errors.decodeError),s.xp6(1),s.Q6J("ngIf",e.zeroAmtInvoice),s.xp6(1),s.Q6J("ngIf",""!==e.paymentError)}},directives:[l.xw,l.yH,q.dk,l.Wh,b.lW,ot.ZT,q.dn,lt._Y,lt.JL,lt.F,I.KE,rt.Nt,lt.Fj,rt.D7,ct.h,lt.Q7,lt.JJ,lt.On,i.O5,I.bx,I.TO,T.BN],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();var ue=n(5001);const de=["scrollContainer"];function me(t,e){if(1&t&&(s.TgZ(0,"div",9),s.TgZ(1,"div",1),s.TgZ(2,"h4",11),s._uU(3,"Description"),s.qZA(),s.TgZ(4,"span",12),s._uU(5),s.qZA(),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(5),s.Oqu(t.description)}}function he(t,e){1&t&&s._UZ(0,"mat-divider",14)}function pe(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-expansion-panel",23),s.NdJ("opened",function(){return s.CHM(t),s.oxw().onExpansionOpen(!0)})("closed",function(){return s.CHM(t),s.oxw().onExpansionOpen(!1)}),s.TgZ(1,"mat-expansion-panel-header"),s.TgZ(2,"mat-panel-title"),s.TgZ(3,"h4",24),s._uU(4),s.qZA(),s.TgZ(5,"h4",25),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",8),s.TgZ(9,"div",9),s.TgZ(10,"div",26),s.TgZ(11,"h4",11),s._uU(12,"Fees (mSats)"),s.qZA(),s.TgZ(13,"span",12),s._uU(14),s.ALo(15,"number"),s.qZA(),s.qZA(),s.TgZ(16,"div",26),s.TgZ(17,"h4",11),s._uU(18,"Date/Time"),s.qZA(),s.TgZ(19,"span",12),s._uU(20),s.ALo(21,"date"),s.qZA(),s.qZA(),s.qZA(),s._UZ(22,"mat-divider",14),s.TgZ(23,"div",9),s.TgZ(24,"div",1),s.TgZ(25,"h4",11),s._uU(26,"ID"),s.qZA(),s.TgZ(27,"span",27),s._uU(28),s.qZA(),s.qZA(),s.qZA(),s._UZ(29,"mat-divider",14),s.TgZ(30,"div",9),s.TgZ(31,"div",1),s.TgZ(32,"h4",11),s._uU(33,"To Channel"),s.qZA(),s.TgZ(34,"span",27),s._uU(35),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=e.$implicit,n=e.index,i=s.oxw();s.Q6J("expanded",i.expansionOpen),s.xp6(4),s.hij("Part ",n+1,""),s.xp6(2),s.hij("",s.lcZ(7,7,t.amount)," (Sats)"),s.xp6(8),s.Oqu(s.lcZ(15,9,t.feesPaid)),s.xp6(6),s.Oqu(s.xi3(21,11,t.timestamp,"dd/MMM/YYYY HH:mm")),s.xp6(8),s.Oqu(t.id),s.xp6(7),s.Oqu(t.toChannelAlias)}}let ge=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.description=null,this.shouldScroll=!0,this.expansionOpen=!0}ngOnInit(){this.payment=this.data.payment,this.data.sentPaymentInfo.length>0&&this.data.sentPaymentInfo[0].paymentRequest&&this.data.sentPaymentInfo[0].paymentRequest.description&&""!==this.data.sentPaymentInfo[0].paymentRequest.description&&(this.description=this.data.sentPaymentInfo[0].paymentRequest.description)}ngAfterViewChecked(){this.shouldScroll=this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+62.6}onExpansionOpen(t){this.expansionOpen=t}onClose(){this.dialogRef.close(!1)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(ot.WI))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-payment-information"]],viewQuery:function(t,e){if(1&t&&s.Gf(de,5),2&t){let t;s.iGM(t=s.CRH())&&(e.scrollContainer=t.first)}},decls:66,vars:15,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"h-40","padding-gap-x-large",3,"perfectScrollbar"],["scrollContainer",""],["fxLayout","column"],["fxLayout","row"],["fxFlex","30"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],["fxFlex","70"],[1,"w-100","my-1"],["fxLayout","row",4,"ngIf"],["class","w-100 my-1",4,"ngIf"],["class","flat-expansion-panel my-1",3,"expanded","opened","closed",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],[1,"flat-expansion-panel","my-1",3,"expanded","opened","closed"],["fxFlex","30","fxLayoutAlign","start",1,"font-bold-500"],["fxFlex","70","fxLayoutAlign","start",1,"font-bold-500"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Payment Information"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return e.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6,7),s.TgZ(10,"div",8),s.TgZ(11,"div",9),s.TgZ(12,"div",10),s.TgZ(13,"h4",11),s._uU(14,"Amount (Sats)"),s.qZA(),s.TgZ(15,"span",12),s._uU(16),s.ALo(17,"number"),s.qZA(),s.qZA(),s.TgZ(18,"div",13),s.TgZ(19,"h4",11),s._uU(20,"Date/Time"),s.qZA(),s.TgZ(21,"span",12),s._uU(22),s.ALo(23,"date"),s.qZA(),s.qZA(),s.qZA(),s._UZ(24,"mat-divider",14),s.TgZ(25,"div",9),s.TgZ(26,"div",1),s.TgZ(27,"h4",11),s._uU(28,"ID"),s.qZA(),s.TgZ(29,"span",12),s._uU(30),s.qZA(),s.qZA(),s.qZA(),s._UZ(31,"mat-divider",14),s.TgZ(32,"div",9),s.TgZ(33,"div",1),s.TgZ(34,"h4",11),s._uU(35,"Payment Hash"),s.qZA(),s.TgZ(36,"span",12),s._uU(37),s.qZA(),s.qZA(),s.qZA(),s._UZ(38,"mat-divider",14),s.TgZ(39,"div",9),s.TgZ(40,"div",1),s.TgZ(41,"h4",11),s._uU(42,"Payment Preimage"),s.qZA(),s.TgZ(43,"span",12),s._uU(44),s.qZA(),s.qZA(),s.qZA(),s._UZ(45,"mat-divider",14),s.TgZ(46,"div",9),s.TgZ(47,"div",1),s.TgZ(48,"h4",11),s._uU(49,"Recipient Node"),s.qZA(),s.TgZ(50,"span",12),s._uU(51),s.qZA(),s.qZA(),s.qZA(),s._UZ(52,"mat-divider",14),s.YNc(53,me,6,1,"div",15),s.YNc(54,he,1,0,"mat-divider",16),s.TgZ(55,"div",9),s.TgZ(56,"div",1),s.TgZ(57,"mat-accordion"),s.YNc(58,pe,36,14,"mat-expansion-panel",17),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(59,"div",18),s.TgZ(60,"button",19),s.NdJ("click",function(){return e.onScrollDown()}),s.TgZ(61,"mat-icon",20),s._uU(62,"arrow_downward"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(63,"div",21),s.TgZ(64,"button",22),s._uU(65,"OK"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(16),s.Oqu(s.lcZ(17,10,e.payment.recipientAmount)),s.xp6(6),s.Oqu(s.xi3(23,12,e.payment.firstPartTimestamp,"dd/MMM/YYYY HH:mm")),s.xp6(8),s.Oqu(e.payment.id),s.xp6(7),s.Oqu(e.payment.paymentHash),s.xp6(7),s.Oqu(e.payment.paymentPreimage),s.xp6(7),s.Oqu(e.payment.recipientNodeAlias),s.xp6(2),s.Q6J("ngIf",e.description),s.xp6(1),s.Q6J("ngIf",e.description),s.xp6(4),s.Q6J("ngForOf",e.payment.parts),s.xp6(6),s.Q6J("mat-dialog-close",!1))},directives:[l.xw,l.Wh,l.yH,q.dk,b.lW,q.dn,Y.$V,J.d,i.O5,ue.pp,i.sg,S.Hw,ot.ZT,ue.ib,ue.yz,ue.yK],pipes:[i.JJ,i.uU],styles:[""]}),t})();var fe=n(8914);const xe=["sendPaymentForm"];function Ze(t,e){if(1&t&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.paymentDecodedHint)}}function ye(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function Ae(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"textarea",7,8),s.NdJ("ngModelChange",function(e){return s.CHM(t),s.oxw().onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(5,Ze,2,1,"mat-hint",9),s.YNc(6,ye,2,0,"mat-error",9),s.qZA(),s.TgZ(7,"div",10),s.TgZ(8,"button",11),s.NdJ("click",function(){return s.CHM(t),s.oxw().resetData()}),s._uU(9,"Clear Field"),s.qZA(),s.TgZ(10,"button",12),s.NdJ("click",function(){return s.CHM(t),s.oxw().onSendPayment()}),s._uU(11,"Send Payment"),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.xp6(3),s.Q6J("ngModel",t.paymentRequest),s.xp6(2),s.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!t.paymentRequest)}}function we(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",13),s.TgZ(1,"button",12),s.NdJ("click",function(){return s.CHM(t),s.oxw().openSendPaymentModal()}),s._uU(2,"Send Payment"),s.qZA(),s.qZA()}}function Te(t,e){1&t&&s._UZ(0,"mat-progress-bar",48)}function ve(t,e){1&t&&(s.TgZ(0,"th",49),s._uU(1,"Date/Time"),s.qZA())}function qe(t,e){if(1&t&&(s.TgZ(0,"td",50),s._uU(1),s.ALo(2,"date"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,null==t?null:t.firstPartTimestamp,"dd/MMM/YYYY HH:mm"))}}function Ce(t,e){1&t&&(s.TgZ(0,"th",49),s._uU(1,"ID"),s.qZA())}const be=function(t){return{"max-width":t}};function Se(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"div",51),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(t.id)}}function Le(t,e){1&t&&(s.TgZ(0,"th",49),s._uU(1,"Destination"),s.qZA())}function Fe(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"div",51),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(t.recipientNodeAlias)}}function _e(t,e){1&t&&(s.TgZ(0,"th",53),s._uU(1,"Amount (Sats)"),s.qZA())}function ke(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"span",54),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==t?null:t.recipientAmount))}}function Ne(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",55),s.TgZ(1,"div",56),s.TgZ(2,"mat-select",57),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",58),s.NdJ("click",function(){return s.CHM(t),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ue(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",59),s.TgZ(1,"button",60),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw(2).onPaymentClick(e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function De(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No payments available."),s.qZA())}function Ie(t,e){if(1&t&&(s.TgZ(0,"td",61),s.YNc(1,De,2,0,"p",9),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)}}function Oe(t,e){if(1&t&&(s.TgZ(0,"span",64),s._uU(1),s.ALo(2,"date"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,t.timestamp,"dd/MMM/YYYY HH:mm")," ")}}function Je(t,e){if(1&t&&(s.ynx(0),s.YNc(1,Oe,3,4,"span",63),s.BQk()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==t?null:t.parts)}}function Ye(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"span",62),s._uU(2),s.qZA(),s.YNc(3,Je,2,1,"ng-container",9),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" Total Attempts: ",null==t||null==t.parts?null:t.parts.length," "),s.xp6(1),s.Q6J("ngIf",t.is_expanded)}}function Pe(t,e){if(1&t&&(s.TgZ(0,"span",62),s.TgZ(1,"span",65),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(4);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(t.id)}}function Re(t,e){if(1&t&&(s.TgZ(0,"span"),s.YNc(1,Pe,4,4,"span",66),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==t?null:t.parts)}}function Me(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"div",65),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,Re,2,1,"span",9),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(3,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(t.id),s.xp6(1),s.Q6J("ngIf",t.is_expanded)}}function Qe(t,e){if(1&t&&(s.TgZ(0,"span",62),s.TgZ(1,"span",65),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(4);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(t.toChannelAlias)}}function Ee(t,e){if(1&t&&(s.TgZ(0,"span"),s.YNc(1,Qe,4,4,"span",66),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==t?null:t.parts)}}function Be(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"div",65),s.TgZ(2,"span",52),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,Ee,2,1,"span",9),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(3,be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(null==t?null:t.recipientNodeAlias),s.xp6(1),s.Q6J("ngIf",t.is_expanded)}}function He(t,e){if(1&t&&(s.TgZ(0,"span",67),s._uU(1),s.ALo(2,"number"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,t.amount,"1.0-0")," ")}}function ze(t,e){if(1&t&&(s.TgZ(0,"span"),s.YNc(1,He,3,4,"span",68),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==t?null:t.parts)}}function Ve(t,e){if(1&t&&(s.TgZ(0,"td",50),s.TgZ(1,"span",67),s._uU(2),s.ALo(3,"number"),s.qZA(),s.YNc(4,ze,2,1,"span",9),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.xi3(3,2,null==t?null:t.recipientAmount,"1.0-0")),s.xp6(2),s.Q6J("ngIf",t.is_expanded)}}function Ge(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",70),s.TgZ(1,"button",73),s.NdJ("click",function(){const e=s.CHM(t).$implicit,n=s.oxw(2).$implicit;return s.oxw(2).onPartClick(e,n)}),s._uU(2),s.qZA(),s.qZA()}if(2&t){const t=e.index;s.xp6(2),s.hij("View ",t+1,"")}}function $e(t,e){if(1&t&&(s.TgZ(0,"div"),s.YNc(1,Ge,3,1,"div",72),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==t?null:t.parts)}}function Xe(t,e){if(1&t&&(s.TgZ(0,"td",69),s.TgZ(1,"span",70),s.TgZ(2,"button",71),s.NdJ("click",function(){const t=e.$implicit;return t.is_expanded=!t.is_expanded}),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,$e,2,1,"div",9),s.qZA()),2&t){const t=e.$implicit;s.xp6(3),s.Oqu(t.is_expanded?"Hide":"Show"),s.xp6(1),s.Q6J("ngIf",t.is_expanded)}}function We(t,e){if(1&t&&s._UZ(0,"tr",74),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const Ke=function(t){return{"display-none":t}};function je(t,e){if(1&t&&s._UZ(0,"tr",75),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Ke,(null==t.payments?null:t.payments.data)&&(null==t.payments||null==t.payments.data?null:t.payments.data.length)>0))}}function tn(t,e){1&t&&s._UZ(0,"tr",76)}function en(t,e){if(1&t&&s._UZ(0,"tr",74),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const nn=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},an=function(){return["no_payment"]};function on(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",14),s.TgZ(1,"div",15),s.TgZ(2,"div",16),s._UZ(3,"fa-icon",17),s.TgZ(4,"span",18),s._uU(5,"Payments History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",19),s.TgZ(7,"input",20),s.NdJ("keyup",function(e){return s.CHM(t),s.oxw().applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",21),s.YNc(9,Te,1,0,"mat-progress-bar",22),s.TgZ(10,"table",23,24),s.ynx(12,25),s.YNc(13,ve,2,0,"th",26),s.YNc(14,qe,3,4,"td",27),s.BQk(),s.ynx(15,28),s.YNc(16,Ce,2,0,"th",26),s.YNc(17,Se,4,4,"td",27),s.BQk(),s.ynx(18,29),s.YNc(19,Le,2,0,"th",26),s.YNc(20,Fe,4,4,"td",27),s.BQk(),s.ynx(21,30),s.YNc(22,_e,2,0,"th",31),s.YNc(23,ke,4,3,"td",27),s.BQk(),s.ynx(24,32),s.YNc(25,Ne,6,0,"th",33),s.YNc(26,Ue,3,0,"td",34),s.BQk(),s.ynx(27,35),s.YNc(28,Ie,2,1,"td",36),s.BQk(),s.ynx(29,37),s.YNc(30,Ye,4,2,"td",27),s.BQk(),s.ynx(31,38),s.YNc(32,Me,5,5,"td",27),s.BQk(),s.ynx(33,39),s.YNc(34,Be,5,5,"td",27),s.BQk(),s.ynx(35,40),s.YNc(36,Ve,5,5,"td",27),s.BQk(),s.ynx(37,41),s.YNc(38,Xe,5,2,"td",42),s.BQk(),s.YNc(39,We,1,1,"tr",43),s.YNc(40,je,1,3,"tr",44),s.YNc(41,tn,1,0,"tr",45),s.YNc(42,en,1,1,"tr",46),s.qZA(),s.qZA(),s._UZ(43,"mat-paginator",47),s.qZA()}if(2&t){const t=s.oxw();s.xp6(3),s.Q6J("icon",t.faHistory),s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.payments)("ngClass",s.VKq(13,nn,"error"===t.flgLoading[0])),s.xp6(29),s.Q6J("matRowDefColumns",t.partColumns)("matRowDefWhen",t.is_group),s.xp6(1),s.Q6J("matFooterRowDef",s.DdM(15,an)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let sn=(()=>{class t{constructor(t,e,n,i,a,o,s){this.logger=t,this.commonService=e,this.store=n,this.rtlEffects=i,this.decimalPipe=a,this.dataService=o,this.datePipe=s,this.calledFrom="transactions",this.faHistory=g.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.flgLoading=[!0],this.information={},this.paymentJSONArr=[],this.paymentDecoded={},this.displayedColumns=[],this.partColumns=[],this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","actions"],this.partColumns=["groupTotal","groupAction"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","recipientAmount","actions"],this.partColumns=["groupTotal","groupAmount","groupAction"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","id","recipientAmount","actions"],this.partColumns=["groupTotal","groupId","groupAmount","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["firstPartTimestamp","id","recipientNodeAlias","recipientAmount","actions"],this.partColumns=["groupTotal","groupId","groupChannelAlias","groupAmount","groupAction"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchPayments"===t.action&&(this.flgLoading[0]="error")}),this.information=t.information,this.selNode=t.nodeSettings,t.payments.sent&&t.payments.sent.map(e=>{let n=t.peers.find(t=>t.nodeId===e.recipientNodeId);e.recipientNodeAlias=n?n.alias:e.recipientNodeId,e.parts&&e.parts.map(e=>{let n=t.activeChannels.find(t=>t.channelId===e.toChannelId);e.toChannelAlias=n?n.alias:e.toChannelId})}),this.paymentJSONArr=t.payments&&t.payments.sent&&t.payments.sent.length>0?t.payments.sent:[],this.loadPaymentsTable(this.paymentJSONArr),setTimeout(()=>{this.flgAnimate=!1},3e3),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.paymentJSONArr),this.logger.info(t)})}ngAfterViewInit(){this.loadPaymentsTable(this.paymentJSONArr)}loadPaymentsTable(t){this.payments=new at.by(t?[...t]:[]),this.payments.sort=this.sort,this.payments.sortingDataAccessor=(t,e)=>{switch(e){case"firstPartTimestamp":return this.commonService.sortByKey(t.parts,"timestamp","number",this.sort.direction),t.firstPartTimestamp;case"id":return this.commonService.sortByKey(t.parts,"id","string",this.sort.direction),t.id;case"recipientNodeAlias":return this.commonService.sortByKey(t.parts,"toChannelAlias","string",this.sort.direction),t.recipientNodeAlias;case"recipientAmount":return this.commonService.sortByKey(t.parts,"amount","number",this.sort.direction),t.recipientAmount;default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.payments.filterPredicate=(t,e)=>((t.firstPartTimestamp?this.datePipe.transform(new Date(t.firstPartTimestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.payments.paginator=this.paginator}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,Kt.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp?(this.paymentDecoded.amount||(this.paymentDecoded.amount=0),this.sendPayment()):this.resetData()})}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.paymentHash,this.paymentDecoded.amount&&0!==this.paymentDecoded.amount?(this.store.dispatch(new st.b_({data:{type:f.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"paymentHash",value:this.paymentDecoded.paymentHash,title:"Payment Hash",width:100}],[{key:"nodeId",value:this.paymentDecoded.nodeId,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:50,type:f.Gi.DATE_TIME},{key:"amount",value:this.paymentDecoded.amount,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:f.Gi.NUMBER},{key:"minFinalCltvExpiry",value:this.paymentDecoded.minFinalCltvExpiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,Kt.q)(1)).subscribe(t=>{t&&(this.store.dispatch(new st.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({invoice:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new st.b_({data:{type:f.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",message:[[{key:"paymentHash",value:this.paymentDecoded.paymentHash,title:"Payment Hash",width:100}],[{key:"nodeId",value:this.paymentDecoded.nodeId,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:40,type:f.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"minFinalCltvExpiry",value:this.paymentDecoded.minFinalCltvExpiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",getInputs:[{placeholder:"Amount (Sats)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,Kt.q)(1)).subscribe(t=>{t&&(this.paymentDecoded.amount=t[0].inputValue,this.store.dispatch(new st.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({invoice:this.paymentRequest,amountMsat:1e3*t[0].inputValue,fromDialog:!1})),this.resetData())}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,Kt.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.amount?this.commonService.convertCurrency(+this.paymentDecoded.amount,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description}):this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description})}openSendPaymentModal(){this.store.dispatch(new st.wu({data:{component:ce}}))}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}is_group(t,e){return e.parts&&e.parts.length>1}onPaymentClick(t){t.paymentHash&&""!==t.paymentHash.trim()?this.dataService.decodePayments(t.paymentHash).pipe((0,Kt.q)(1)).subscribe(e=>{this.showPaymentView(t,e.length&&e.length>0?e[0]:[])},e=>{this.showPaymentView(t,[])}):this.showPaymentView(t,[])}showPaymentView(t,e){this.store.dispatch(new st.wu({data:{sentPaymentInfo:e,payment:t,component:ge}}))}onPartClick(t,e){e.paymentHash&&""!==e.paymentHash.trim()?this.dataService.decodePayments(e.paymentHash).pipe((0,Kt.q)(1)).subscribe(n=>{this.showPartView(t,e,n)},n=>{this.showPartView(t,e,[])}):this.showPartView(t,e,[])}showPartView(t,e,n){const i=[[{key:"paymentHash",value:e.paymentHash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"paymentPreimage",value:e.paymentPreimage,title:"Payment Preimage",width:100,type:f.Gi.STRING}],[{key:"toChannelId",value:t.toChannelId,title:"Channel",width:100,type:f.Gi.STRING}],[{key:"id",value:t.id,title:"Part ID",width:50,type:f.Gi.STRING},{key:"timestamp",value:t.timestamp,title:"Time",width:50,type:f.Gi.DATE_TIME}],[{key:"amount",value:t.amount,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER},{key:"feesPaid",value:t.feesPaid,title:"Fee (Sats)",width:50,type:f.Gi.NUMBER}]];n.length>0&&n[0].paymentRequest&&n[0].paymentRequest.description&&""!==n[0].paymentRequest.description&&i.splice(3,0,[{key:"description",value:n[0].paymentRequest.description,title:"Description",width:100,type:f.Gi.STRING}]),this.store.dispatch(new st.wu({data:{type:f.n_.INFORMATION,alertTitle:"Payment Part Information",message:i}}))}applyFilter(t){this.payments.filter=t.value.trim().toLowerCase()}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){let t=JSON.parse(JSON.stringify(this.payments.data)),e=t.reduce((t,e)=>(e.paymentHash&&""!==e.paymentHash.trim()&&(t=""===t?e.paymentHash:t+","+e.paymentHash),t),"");this.dataService.decodePayments(e).pipe((0,m.R)(this.unSubs[2])).subscribe(e=>{e.forEach((e,n)=>{e.length>0&&e[0].paymentRequest&&e[0].paymentRequest.description&&""!==e[0].paymentRequest.description&&(t[n].description=e[0].paymentRequest.description)});let n=t.reduce((t,e)=>t.concat(e),[]);this.commonService.downloadFile(n,"Payments")})}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(fe.V),s.Y36(i.JJ),s.Y36(te.D),s.Y36(i.uU))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-lightning-payments"]],viewQuery:function(t,e){if(1&t&&(s.Gf(xe,5),s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.form=t.first),s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","firstPartTimestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","recipientNodeAlias"],["matColumnDef","recipientAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupId"],["matColumnDef","groupChannelAlias"],["matColumnDef","groupAmount"],["matColumnDef","groupAction"],["mat-cell","","class","px-3",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"part-row-span"],["fxLayoutAlign","start center","class","part-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"part-row-span","pl-3"],["fxLayoutAlign","start center",1,"ellipsis-parent","part-row-span",3,"ngStyle"],["fxLayoutAlign","start center","class","part-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"part-row-span"],["fxLayoutAlign","end center","class","part-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-3"],["fxLayoutAlign","end start"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-part-expand",3,"click"],["fxLayoutAlign","end start",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-part-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.YNc(1,Ae,12,3,"form",1),s.YNc(2,we,3,0,"div",2),s.YNc(3,on,44,16,"div",3),s.qZA()),2&t&&(s.xp6(1),s.Q6J("ngIf","home"===e.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===e.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,i.O5,lt._Y,lt.JL,lt.F,I.KE,rt.Nt,lt.Fj,rt.D7,lt.Q7,Y.$V,lt.JJ,lt.On,b.lW,I.bx,I.TO,T.BN,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.nj,at.Ke,at.as,nt.NW,r.pW,at.ge,it.nU,at.ev,i.PC,L.Zl,dt.gD,dt.$L,mt.ey,at.yh,i.sg,at.Gk,at.Q2,at.XQ],pipes:[i.uU,i.JJ],styles:[".mat-column-groupChannelAlias[_ngcontent-%COMP%], .mat-column-groupId[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%], .mat-column-recipientNodeAlias[_ngcontent-%COMP%]{padding:0 1rem;flex:0 0 25%;width:25%}.mat-column-groupChannelAlias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-groupId[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-recipientNodeAlias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%], .mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-part-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-part-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.part-row-span[_ngcontent-%COMP%]{min-height:4.2rem;place-content:center flex-start;align-items:center}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:15rem}"],data:{animation:[yt.Q]}}),t})();function ln(t,e){if(1&t&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&t){s.oxw();const t=s.MAs(11);s.Q6J("matMenuTriggerFor",t)}}function rn(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(t),s.oxw(3).onNavigateTo("/ecl/reports")}),s._uU(1,"Fees Summary"),s.qZA()}}function cn(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(t),s.oxw(3).onsortChannelsBy()}),s._uU(1),s.qZA()}if(2&t){const t=s.oxw(3);s.xp6(1),s.hij("Sort By ","Balance Score"===t.sortField?"Capacity":"Balance Score","")}}const un=function(t){return{"error-border":t}};function dn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-node-info",26),2&t){const t=s.oxw(3);s.Q6J("information",t.information)("showColorFieldSeparately",!1)("ngClass",s.VKq(3,un,"error"===t.flgLoading[0]))}}function mn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-balances-info",27),2&t){const t=s.oxw(3);s.Q6J("balances",t.balances)("ngClass",s.VKq(2,un,"error"===t.flgLoading[2]))}}function hn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-channel-capacity-info",28),2&t){const t=s.oxw(3);s.Q6J("sortBy",t.sortField)("channelBalances",t.channelBalances)("allChannels",t.allChannelsCapacity)("ngClass",s.VKq(4,un,"error"===t.flgLoading[5]))}}function pn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-fee-info",29),2&t){const t=s.oxw(3);s.Q6J("fees",t.fees)("ngClass",s.VKq(2,un,"error"===t.flgLoading[1]))}}function gn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-channel-status-info",30),2&t){const t=s.oxw(3);s.Q6J("channelsStatus",t.channelsStatus)("ngClass",s.VKq(2,un,"error"===t.flgLoading[0]))}}function fn(t,e){1&t&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}function xn(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",9),s.TgZ(2,"mat-card-header"),s.TgZ(3,"mat-card-title",10),s.TgZ(4,"div"),s._UZ(5,"fa-icon",11),s.TgZ(6,"span"),s._uU(7),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.YNc(9,ln,3,1,"button",12),s.TgZ(10,"mat-menu",13,14),s.TgZ(12,"button",15),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw(2).onNavigateTo(e.link)}),s._uU(13),s.qZA(),s.YNc(14,rn,2,0,"button",16),s.YNc(15,cn,2,1,"button",16),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(16,"mat-card-content",17),s.TgZ(17,"div",18),s.YNc(18,dn,1,5,"rtl-ecl-node-info",19),s.YNc(19,mn,1,4,"rtl-ecl-balances-info",20),s.YNc(20,hn,1,6,"rtl-ecl-channel-capacity-info",21),s.YNc(21,pn,1,4,"rtl-ecl-fee-info",22),s.YNc(22,gn,1,4,"rtl-ecl-channel-status-info",23),s.YNc(23,fn,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=e.$implicit;s.Q6J("colspan",t.cols)("rowspan",t.rows),s.xp6(5),s.Q6J("icon",t.icon),s.xp6(2),s.Oqu(t.title),s.xp6(2),s.Q6J("ngIf",t.link),s.xp6(4),s.hij("Go To ",t.goTo,""),s.xp6(1),s.Q6J("ngIf","fee"===t.id),s.xp6(1),s.Q6J("ngIf","capacity"===t.id),s.xp6(1),s.s9C("fxFlex","capacity"===t.id?90:70),s.xp6(1),s.Q6J("ngSwitch",t.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","capacity"),s.xp6(1),s.Q6J("ngSwitchCase","fee"),s.xp6(1),s.Q6J("ngSwitchCase","status")}}function Zn(t,e){if(1&t&&(s.TgZ(0,"div",2),s.TgZ(1,"div",3),s._UZ(2,"fa-icon",4),s.TgZ(3,"span",5),s._uU(4),s.qZA(),s.qZA(),s.TgZ(5,"mat-grid-list",6),s.YNc(6,xn,24,15,"mat-grid-tile",7),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(2),s.Q6J("icon",t.flgLoading[0]?t.faFrown:t.faSmile),s.xp6(2),s.Oqu(t.flgLoading[0]?"Error! Please check the server connection.":"Welcome "+t.information.alias+"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",t.operatorCardHeight),s.xp6(1),s.Q6J("ngForOf",t.operatorCards)}}function yn(t,e){if(1&t&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&t){s.oxw();const t=s.MAs(9);s.Q6J("matMenuTriggerFor",t)}}function An(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-card-header"),s.TgZ(1,"mat-card-title",10),s.TgZ(2,"div"),s._UZ(3,"fa-icon",11),s.TgZ(4,"span"),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"div"),s.YNc(7,yn,3,1,"button",12),s.TgZ(8,"mat-menu",13,39),s.TgZ(10,"button",15),s.NdJ("click",function(){s.CHM(t);const e=s.oxw().$implicit;return s.oxw(2).onNavigateTo(e.link)}),s._uU(11),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=s.oxw().$implicit;s.xp6(3),s.Q6J("icon",t.icon),s.xp6(2),s.Oqu(t.title),s.xp6(2),s.Q6J("ngIf",t.link),s.xp6(4),s.hij("Go To ",t.goTo,"")}}function wn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-node-info",40),2&t){const t=s.oxw(3);s.Q6J("information",t.information)("ngClass",s.VKq(2,un,"error"===t.flgLoading[0]))}}function Tn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-balances-info",27),2&t){const t=s.oxw(3);s.Q6J("balances",t.balances)("ngClass",s.VKq(2,un,"error"===t.flgLoading[2]))}}function vn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-channel-liquidity-info",41),2&t){const t=s.oxw(3);s.Q6J("direction","In")("totalLiquidity",t.totalInboundLiquidity)("allChannels",t.allInboundChannels)("ngClass",s.VKq(4,un,"error"===t.flgLoading[5]))}}function qn(t,e){if(1&t&&s._UZ(0,"rtl-ecl-channel-liquidity-info",41),2&t){const t=s.oxw(3);s.Q6J("direction","Out")("totalLiquidity",t.totalOutboundLiquidity)("allChannels",t.allOutboundChannels)("ngClass",s.VKq(4,un,"error"===t.flgLoading[5]))}}function Cn(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",50),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA(),s.TgZ(3,"mat-menu",13,51),s.TgZ(5,"button",15),s.NdJ("click",function(){s.CHM(t);const e=s.oxw(2).$implicit;return s.oxw(2).onNavigateTo(e.link)}),s._uU(6),s.qZA(),s.TgZ(7,"button",15),s.NdJ("click",function(){return s.CHM(t),s.oxw(4).onNavigateTo("/ecl/reports/transactions")}),s._uU(8,"Transactions Summary"),s.qZA(),s.qZA()}if(2&t){const t=s.MAs(4),e=s.oxw(2).$implicit;s.Q6J("matMenuTriggerFor",t),s.xp6(6),s.hij("Go To ",e.goTo,"")}}function bn(t,e){1&t&&(s.TgZ(0,"span",42),s.TgZ(1,"mat-tab-group",43),s.TgZ(2,"mat-tab",44),s._UZ(3,"rtl-ecl-lightning-invoices",45),s.qZA(),s.TgZ(4,"mat-tab",46),s._UZ(5,"rtl-ecl-lightning-payments",47),s.qZA(),s.TgZ(6,"mat-tab",48),s.YNc(7,Cn,9,2,"ng-template",49),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(3),s.Q6J("calledFrom","home"),s.xp6(2),s.Q6J("calledFrom","home"),s.xp6(1),s.Q6J("disabled",!0))}function Sn(t,e){1&t&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}const Ln=function(t){return{"p-0":t}};function Fn(t,e){if(1&t&&(s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",33),s.YNc(2,An,12,4,"mat-card-header",34),s.TgZ(3,"mat-card-content",35),s.TgZ(4,"div",18),s.YNc(5,wn,1,4,"rtl-ecl-node-info",36),s.YNc(6,Tn,1,4,"rtl-ecl-balances-info",20),s.YNc(7,vn,1,6,"rtl-ecl-channel-liquidity-info",37),s.YNc(8,qn,1,6,"rtl-ecl-channel-liquidity-info",37),s.YNc(9,bn,8,3,"span",38),s.YNc(10,Sn,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.Q6J("colspan",t.cols)("rowspan",t.rows),s.xp6(1),s.Q6J("ngClass",s.VKq(11,Ln,"transactions"===t.id)),s.xp6(1),s.Q6J("ngIf","transactions"!==t.id),s.xp6(1),s.s9C("fxFlex","transactions"===t.id?100:"balance"===t.id?70:90),s.xp6(1),s.Q6J("ngSwitch",t.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","inboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","outboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","transactions")}}function _n(t,e){if(1&t&&(s.TgZ(0,"div",31),s._UZ(1,"fa-icon",4),s.TgZ(2,"span",5),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"mat-grid-list",32),s.YNc(5,Fn,11,13,"mat-grid-tile",7),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faSmile),s.xp6(2),s.hij("Welcome ",t.information.alias,"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",t.merchantCardHeight),s.xp6(1),s.Q6J("ngForOf",t.merchantCards)}}let kn=(()=>{class t{constructor(t,e,n,i,a){this.logger=t,this.store=e,this.actions$=n,this.commonService=i,this.router=a,this.faSmile=p.I3,this.faFrown=p.Kf,this.faAngleDoubleDown=g.Sbq,this.faAngleDoubleUp=g.Vfw,this.faChartPie=g.OS1,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.flgChildInfoUpdated=!1,this.userPersonaEnum=f.ol,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.channels=[],this.onchainBalance={},this.balances={onchain:-1,lightning:-1,total:0},this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:6,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}]):(this.operatorCardHeight=(window.screen.height-200)/2+"px",this.merchantCardHeight=(window.screen.height-210)/10+"px",this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:2,rows:5}])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],t.effectErrors.forEach(t=>{"FetchInfo"===t.action&&(this.flgLoading[0]="error"),"FetchFees"===t.action&&(this.flgLoading[1]="error"),"FetchChannels"===t.action&&(this.flgLoading[2]="error")}),this.selNode=t.nodeSettings,this.information=t.information,"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.information.nodeId),this.fees=t.fees,"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!this.fees.daily_fee),this.channels=t.activeChannels,this.onchainBalance=t.onchainBalance,this.balances.onchain=this.onchainBalance.total,this.balances.lightning=t.lightningBalance.localBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances);let e=t.lightningBalance.localBalance?+t.lightningBalance.localBalance:0,n=t.lightningBalance.remoteBalance?+t.lightningBalance.remoteBalance:0;this.channelBalances={localBalance:e,remoteBalance:n,balancedness:+(1-Math.abs((e-n)/(e+n))).toFixed(3)},this.channelsStatus=t.channelsStatus,this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannelsCapacity=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels,"balancedness"))),this.allInboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(t=>t.toRemote>0),"toRemote"))),this.allOutboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(t=>t.toLocal>0),"toLocal"))),this.channels.forEach(t=>{this.totalInboundLiquidity=this.totalInboundLiquidity+Math.ceil(t.toRemote),this.totalOutboundLiquidity=this.totalOutboundLiquidity+Math.floor(t.toLocal)}),"error"!==this.flgLoading[2]&&(this.flgLoading[2]=!this.channels),this.flgChildInfoUpdated=this.balances.lightning>=0&&this.balances.onchain>=0&&this.fees.monthly_fee>=0,this.logger.info(t)}),this.actions$.pipe((0,m.R)(this.unSubs[2]),(0,h.h)(t=>t.type===x.iR||t.type===x.UA)).subscribe(t=>{t.type===x.iR&&(this.flgChildInfoUpdated=!1),t.type===x.UA&&(this.flgChildInfoUpdated=!0)})}onNavigateTo(t){this.router.navigateByUrl(t)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.channels.sort(function(t,e){const n=+t.toLocal+ +t.toRemote,i=+e.toLocal+ +e.toRemote;return n>i?-1:n{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(w.v),s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",1,"dashboard-card-content",3,"fxFlex"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"balances","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"fees","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass"],["fxFlex","100",3,"balances","ngClass"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass"],["fxFlex","100",3,"fees","ngClass"],["fxFlex","100",3,"channelsStatus","ngClass"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",1,"dashboard-card-content",3,"fxFlex"],["fxFlex","100",3,"information","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information","ngClass"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","column",1,"w-100","dashboard-tabs-group"],["label","Receive"],[1,"h-100",3,"calledFrom"],["label","Pay"],[3,"calledFrom"],[3,"disabled"],["mat-tab-label",""],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",2,"max-width","20px",3,"matMenuTriggerFor"],["menuTransactions","matMenu"]],template:function(t,e){if(1&t&&(s.YNc(0,Zn,7,4,"div",0),s.YNc(1,_n,6,4,"ng-template",null,1,s.W1O)),2&t){const t=s.MAs(2);s.Q6J("ngIf",e.selNode.userPersona===e.userPersonaEnum.OPERATOR)("ngIfElse",t)}},directives:[i.O5,l.xw,l.Wh,T.BN,v.Il,i.sg,v.DX,q.a8,l.yH,q.dk,q.n5,C.VK,C.OP,q.dn,i.RF,i.n9,i.ED,b.lW,C.p6,S.Hw,U,i.mk,L.oO,D,Q,E,B,tt,et.SP,et.uX,Wt,sn,et.uD],styles:[""]}),t})();const Nn=["form"];function Un(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Bitcoin address is required."),s.qZA())}function Dn(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function In(t,e){if(1&t&&(s.TgZ(0,"mat-option",29),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.Q6J("value",t),s.xp6(1),s.Oqu(t)}}function On(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Target Confirmation Blocks is required."),s.qZA())}function Jn(t,e){if(1&t&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.sendFundError)}}function Yn(t,e){if(1&t&&(s.TgZ(0,"div",30),s._UZ(1,"fa-icon",31),s.YNc(2,Jn,2,1,"span",12),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==t.sendFundError)}}let Pn=(()=>{class t{constructor(t,e,n,i,a,o){this.dialogRef=t,this.logger=e,this.store=n,this.commonService=i,this.decimalPipe=a,this.actions$=o,this.faExclamationTriangle=g.eHv,this.selNode={},this.addressTypes=[],this.flgLoadingWallet=!0,this.selectedAddress=f._t[1],this.blockchainBalance={},this.information={},this.newAddress="",this.transaction={},this.sendFundError="",this.fiatConversion=!1,this.amountUnits=f.uA,this.selAmountUnit=f.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=f.Xz,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("root").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.fiatConversion=t.selNode.settings.fiatConversion,this.amountUnits=t.selNode.settings.currencyUnits,this.appConfig=t.appConfig,this.nodeData=t.nodeData,this.logger.info(t)}),this.actions$.pipe((0,m.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.Wz||t.type===x.wL)).subscribe(t=>{t.type===x.wL&&(this.store.dispatch(new st.Lw("Fund Sent Successfully!")),this.dialogRef.close()),t.type===x.Wz&&"SendOnchainFunds"===t.payload.action&&(this.sendFundError=t.payload.message)})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="",this.store.dispatch(new st.Fk("Sending Funds...")),this.transaction.amount&&this.selAmountUnit!==f.NT.SATS?this.commonService.convertCurrency(this.transaction.amount,this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit,this.amountUnits[2],this.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe(t=>{this.transaction.amount=parseInt(t[f.NT.SATS]),this.selAmountUnit=f.NT.SATS,this.store.dispatch(new x.J6(this.transaction))}):this.store.dispatch(new x.J6(this.transaction))}get invalidValues(){return!this.transaction.address||""===this.transaction.address||!this.transaction.amount||this.transaction.amount<=0||!this.transaction.blocks||this.transaction.blocks<=0}resetData(){this.sendFundError="",this.transaction={}}onAmountUnitChange(t){let e=this,n=t.value===this.amountUnits[2]?f.NT.OTHER:t.value;this.transaction.amount&&this.selAmountUnit!==t.value&&this.commonService.convertCurrency(this.transaction.amount,this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit,this.amountUnits[2],this.fiatConversion).pipe((0,m.R)(this.unSubs[3])).subscribe(t=>{e.transaction.amount=+e.decimalPipe.transform(t[n],e.currencyUnitFormats[n]).replace(/,/g,"")}),this.selAmountUnit=t.value}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(w.v),s.Y36(i.JJ),s.Y36(A.eX))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-on-chain-send-modal"]],viewQuery:function(t,e){if(1&t&&s.Gf(Nn,7),2&t){let t;s.iGM(t=s.CRH())&&(e.form=t.first)}},decls:36,vars:15,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between start",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex","55"],["matInput","","autoFocus","","placeholder","Bitcoin Address","tabindex","1","name","addr","required","",3,"ngModel","ngModelChange"],["addrs","ngModel"],[4,"ngIf"],["fxFlex","30"],["matInput","","placeholder","Amount","name","amt","type","number","tabindex","2","required","",3,"ngModel","step","min","ngModelChange"],["amnt","ngModel"],["matSuffix",""],["fxFlex","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","60","fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","placeholder","Target Confirmation Blocks","type","number","name","blocks","tabindex","8","required","true",3,"ngModel","step","min","ngModelChange"],["blocks","ngModel"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Send Payment"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.NdJ("submit",function(){return e.onSendFunds()})("reset",function(){return e.resetData()}),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10,11),s.NdJ("ngModelChange",function(t){return e.transaction.address=t}),s.qZA(),s.YNc(14,Un,2,0,"mat-error",12),s.qZA(),s.TgZ(15,"mat-form-field",13),s.TgZ(16,"input",14,15),s.NdJ("ngModelChange",function(t){return e.transaction.amount=t}),s.qZA(),s.TgZ(18,"span",16),s._uU(19),s.qZA(),s.YNc(20,Dn,2,0,"mat-error",12),s.qZA(),s.TgZ(21,"mat-form-field",17),s.TgZ(22,"mat-select",18),s.NdJ("selectionChange",function(t){return e.onAmountUnitChange(t)}),s.YNc(23,In,2,2,"mat-option",19),s.qZA(),s.qZA(),s.TgZ(24,"div",20),s.TgZ(25,"mat-form-field",21),s.TgZ(26,"input",22,23),s.NdJ("ngModelChange",function(t){return e.transaction.blocks=t}),s.qZA(),s.YNc(28,On,2,0,"mat-error",12),s.qZA(),s.qZA(),s._UZ(29,"div",24),s.YNc(30,Yn,3,2,"div",25),s.TgZ(31,"div",26),s.TgZ(32,"button",27),s._uU(33,"Clear Fields"),s.qZA(),s.TgZ(34,"button",28),s._uU(35,"Send Funds"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",e.transaction.address),s.xp6(2),s.Q6J("ngIf",!e.transaction.address),s.xp6(2),s.Q6J("ngModel",e.transaction.amount)("step",100)("min",0),s.xp6(3),s.hij(" ",e.selAmountUnit," "),s.xp6(1),s.Q6J("ngIf",!e.transaction.amount),s.xp6(2),s.Q6J("value",e.selAmountUnit),s.xp6(1),s.Q6J("ngForOf",e.amountUnits),s.xp6(3),s.Q6J("ngModel",e.transaction.blocks)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.transaction.blocks),s.xp6(2),s.Q6J("ngIf",""!==e.sendFundError))},directives:[l.xw,l.yH,q.dk,l.Wh,b.lW,ot.ZT,q.dn,lt._Y,lt.JL,lt.F,I.KE,rt.Nt,lt.Fj,ct.h,lt.Q7,lt.JJ,lt.On,i.O5,lt.wV,lt.qQ,ut.q,I.R9,dt.gD,i.sg,I.TO,mt.ey,T.BN],styles:[""]}),t})();var Rn=n(882);function Mn(t,e){1&t&&s._UZ(0,"mat-progress-bar",31)}function Qn(t,e){1&t&&(s.TgZ(0,"th",32),s._uU(1," Date/Time "),s.qZA())}function En(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.ALo(2,"date"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*t.timestamp,"dd/MMM/YYYY HH:mm"))}}function Bn(t,e){1&t&&(s.TgZ(0,"th",34),s._uU(1," Amount (Sats) "),s.qZA())}function Hn(t,e){if(1&t&&(s.TgZ(0,"span",37),s._uU(1),s.ALo(2,"number"),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,t.amount))}}function zn(t,e){if(1&t&&(s.TgZ(0,"span",38),s._uU(1),s.ALo(2,"number"),s.qZA()),2&t){const t=s.oxw().$implicit;s.xp6(1),s.hij("(",s.lcZ(2,1,-1*t.amount),")")}}function Vn(t,e){if(1&t&&(s.TgZ(0,"td",33),s.YNc(1,Hn,3,3,"span",35),s.YNc(2,zn,3,3,"span",36),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Q6J("ngIf",t.amount>0||0===t.amount),s.xp6(1),s.Q6J("ngIf",t.amount<0)}}function Gn(t,e){1&t&&(s.TgZ(0,"th",34),s._uU(1," Fees (Sats) "),s.qZA())}function $n(t,e){if(1&t&&(s.TgZ(0,"td",33),s.TgZ(1,"span",37),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.fees))}}function Xn(t,e){1&t&&(s.TgZ(0,"th",39),s._uU(1," Confirmations "),s.qZA())}function Wn(t,e){if(1&t&&(s.TgZ(0,"td",40),s.TgZ(1,"span",37),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==t?null:t.confirmations)," ")}}function Kn(t,e){1&t&&(s.TgZ(0,"th",32),s._uU(1," Address "),s.qZA())}function jn(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(t.address)}}function ti(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",41),s.TgZ(1,"div",42),s.TgZ(2,"mat-select",43),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",44),s.NdJ("click",function(){return s.CHM(t),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function ei(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",45),s.TgZ(1,"button",46),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onTransactionClick(n,e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function ni(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No transactions available."),s.qZA())}function ii(t,e){if(1&t&&(s.TgZ(0,"td",47),s.YNc(1,ni,2,0,"p",48),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=t.listTransactions&&t.listTransactions.data)||(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)<1)}}const ai=function(t){return{"display-none":t}};function oi(t,e){if(1&t&&s._UZ(0,"tr",49),2&t){const t=s.oxw();s.Q6J("ngClass",s.VKq(1,ai,(null==t.listTransactions?null:t.listTransactions.data)&&(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)>0))}}function si(t,e){1&t&&s._UZ(0,"tr",50)}function li(t,e){1&t&&s._UZ(0,"tr",51)}const ri=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ci=function(){return["no_transaction"]};let ui=(()=>{class t{constructor(t,e,n,i){this.logger=t,this.commonService=e,this.store=n,this.datePipe=i,this.faHistory=g.qO$,this.displayedColumns=[],this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unsub=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","confirmations","fees","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","fees","confirmations","address","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","amount","fees","confirmations","address","actions"])}ngOnInit(){this.store.dispatch(new x.eL),this.store.select("ecl").pipe((0,m.R)(this.unsub[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchTransactions"===t.action&&(this.flgLoading[0]="error")}),t.transactions&&this.loadTransactionsTable(t.transactions),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!t.transactions),this.logger.info(t)})}applyFilter(t){this.listTransactions.filter=t.value.trim().toLowerCase()}onTransactionClick(t,e){this.store.dispatch(new st.wu({data:{type:f.n_.INFORMATION,alertTitle:"Transaction Information",message:[[{key:"blockHash",value:t.blockHash,title:"Block Hash",width:100}],[{key:"txid",value:t.txid,title:"Transaction ID",width:100}],[{key:"timestamp",value:t.timestamp,title:"Date/Time",width:50,type:f.Gi.DATE_TIME},{key:"confirmations",value:t.confirmations,title:"Number of Confirmations",width:50,type:f.Gi.NUMBER}],[{key:"fees",value:t.fees,title:"Fees (Sats)",width:50,type:f.Gi.NUMBER},{key:"amount",value:t.amount,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"address",value:t.address,title:"Address",width:100,type:f.Gi.STRING}]]}}))}loadTransactionsTable(t){this.listTransactions=new at.by([...t]),this.listTransactions.sort=this.sort,this.listTransactions.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listTransactions.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(1e3*t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.listTransactions.paginator=this.paginator,this.logger.info(this.listTransactions)}onDownloadCSV(){this.listTransactions.data&&this.listTransactions.data.length>0&&this.commonService.downloadFile(this.listTransactions.data,"Transactions")}ngOnDestroy(){this.unsub.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(i.uU))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-on-chain-transaction-history"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Transactions")}])],decls:37,vars:14,consts:[["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","start stretch"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","fees"],["matColumnDef","confirmations"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pr-2",4,"matHeaderCellDef"],["mat-cell","","class","pr-2",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pr-2"],["mat-cell","",1,"pr-2"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"div",2),s._UZ(3,"fa-icon",3),s.TgZ(4,"span",4),s._uU(5,"Transaction History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",5),s.TgZ(7,"input",6),s.NdJ("keyup",function(t){return e.applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",7),s.TgZ(9,"div",8),s.YNc(10,Mn,1,0,"mat-progress-bar",9),s.TgZ(11,"table",10,11),s.ynx(13,12),s.YNc(14,Qn,2,0,"th",13),s.YNc(15,En,3,4,"td",14),s.BQk(),s.ynx(16,15),s.YNc(17,Bn,2,0,"th",16),s.YNc(18,Vn,3,2,"td",14),s.BQk(),s.ynx(19,17),s.YNc(20,Gn,2,0,"th",16),s.YNc(21,$n,4,3,"td",14),s.BQk(),s.ynx(22,18),s.YNc(23,Xn,2,0,"th",19),s.YNc(24,Wn,4,3,"td",20),s.BQk(),s.ynx(25,21),s.YNc(26,Kn,2,0,"th",13),s.YNc(27,jn,2,1,"td",14),s.BQk(),s.ynx(28,22),s.YNc(29,ti,6,0,"th",23),s.YNc(30,ei,3,0,"td",24),s.BQk(),s.ynx(31,25),s.YNc(32,ii,2,1,"td",26),s.BQk(),s.YNc(33,oi,1,3,"tr",27),s.YNc(34,si,1,0,"tr",28),s.YNc(35,li,1,0,"tr",29),s.qZA(),s._UZ(36,"mat-paginator",30),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(3),s.Q6J("icon",e.faHistory),s.xp6(7),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.listTransactions)("ngClass",s.VKq(11,ri,"error"===e.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(13,ci)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,T.BN,I.KE,rt.Nt,Y.$V,i.O5,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,dt.gD,dt.$L,mt.ey,b.lW,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.uU,i.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();function di(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",12),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().activeLink=e.link}),s._uU(1),s.qZA()}if(2&t){const t=e.$implicit,n=s.oxw();s.s9C("routerLink",t.link),s.Q6J("active",n.activeLink===t.link),s.xp6(1),s.Oqu(t.name)}}let mi=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.selNode={},this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.selNode=t.nodeSettings,this.balances=[{title:"Total Balance",dataValue:t.onchainBalance.total||0},{title:"Confirmed",dataValue:t.onchainBalance.confirmed},{title:"Unconfirmed",dataValue:t.onchainBalance.unconfirmed}]})}openSendFundsModal(){this.store.dispatch(new st.wu({data:{component:Pn}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(y.yh),s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-on-chain"]],decls:21,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large","mt-2"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"On-chain Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",7),s.YNc(16,di,2,3,"div",8),s.qZA(),s.TgZ(17,"div",9),s._UZ(18,"router-outlet"),s.qZA(),s.TgZ(19,"div",10),s._UZ(20,"rtl-ecl-on-chain-transaction-history",11),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(1),s.Q6J("icon",e.faChartPie),s.xp6(6),s.Q6J("values",e.balances),s.xp6(2),s.Q6J("icon",e.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,T.BN,q.a8,q.dn,Rn.D,et.BU,i.sg,l.yH,a.lC,ui,et.Nj,a.rH],styles:[""]}),t})();var hi=n(1050);function pi(t,e){if(1&t&&(s.TgZ(0,"span",10),s._uU(1,"Channels"),s.qZA()),2&t){const t=s.oxw();s.s9C("matBadge",t.activeChannels)}}function gi(t,e){if(1&t&&(s.TgZ(0,"span",10),s._uU(1,"Peers"),s.qZA()),2&t){const t=s.oxw();s.s9C("matBadge",t.activePeers)}}let fi=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.activePeers=0,this.activeChannels=0,this.faUsers=g.FVb,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.activePeers=t.peers&&t.peers.length?t.peers.length:0,this.activeChannels=t.channelsStatus&&t.channelsStatus.active&&t.channelsStatus.active.channels?t.channelsStatus.active.channels:0,this.balances=[{title:"Total Balance",dataValue:t.onchainBalance.total||0},{title:"Confirmed",dataValue:t.onchainBalance.confirmed},{title:"Unconfirmed",dataValue:t.onchainBalance.unconfirmed}]})}onSelectedTabChange(t){this.router.navigateByUrl("/ecl/connections/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(y.yh),s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Connections"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"mat-tab-group",7),s.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),s.TgZ(16,"mat-tab"),s.YNc(17,pi,2,1,"ng-template",8),s.qZA(),s.TgZ(18,"mat-tab"),s.YNc(19,gi,2,1,"ng-template",8),s.qZA(),s.qZA(),s.TgZ(20,"div",9),s._UZ(21,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(1),s.Q6J("icon",e.faChartPie),s.xp6(6),s.Q6J("values",e.balances),s.xp6(2),s.Q6J("icon",e.faUsers),s.xp6(6),s.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.Wh,T.BN,q.a8,q.dn,Rn.D,et.SP,et.uX,et.uD,l.yH,a.lC,hi.k],styles:[""]}),t})();function xi(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",11),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().activeLink=e.link}),s._uU(1),s.qZA()}if(2&t){const t=e.$implicit,n=s.oxw();s.s9C("routerLink",t.link),s.Q6J("active",n.activeLink===t.link),s.xp6(1),s.Oqu(t.name)}}let Zi=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.router=n,this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.currencyUnits=t.nodeSettings.currencyUnits,this.balances=t.nodeSettings.userPersona===f.ol.OPERATOR?[{title:"Local Capacity",dataValue:t.lightningBalance.localBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:t.lightningBalance.remoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:t.lightningBalance.localBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:t.lightningBalance.remoteBalance,tooltip:"Amount you can receive"}],this.logger.info(t)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Lightning Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",6),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Lightning Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",7),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",8),s.YNc(16,xi,2,3,"div",9),s.qZA(),s.TgZ(17,"div",10),s._UZ(18,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(1),s.Q6J("icon",e.faChartPie),s.xp6(6),s.Q6J("values",e.balances),s.xp6(2),s.Q6J("icon",e.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,T.BN,q.a8,q.dn,Rn.D,et.BU,i.sg,l.yH,a.lC,et.Nj,a.rH],styles:[""]}),t})();function yi(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",11),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().activeLink=e.link}),s._uU(1),s.qZA()}if(2&t){const t=e.$implicit,n=s.oxw();s.s9C("routerLink",t.link),s.Q6J("active",n.activeLink===t.link),s.xp6(1),s.Oqu(t.name)}}let Ai=(()=>{class t{constructor(t){this.router=t,this.faMapSigns=g.SuH,this.events=[],this.flgLoading=[!0],this.errorMessage="",this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"peers",name:"Routing Peers"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-routing"]],decls:13,vars:2,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Routing"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"div",7),s.TgZ(9,"nav",8),s.YNc(10,yi,2,3,"div",9),s.qZA(),s.qZA(),s.TgZ(11,"div",10),s._UZ(12,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(2),s.Q6J("icon",e.faMapSigns),s.xp6(8),s.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,T.BN,l.yH,q.a8,q.dn,et.BU,i.sg,a.lC,et.Nj,a.rH],styles:[""]}),t})();var wi=n(4810),Ti=n(1403),vi=n(2609);function qi(t,e){1&t&&(s.TgZ(0,"th",24),s._uU(1,"Address"),s.qZA())}function Ci(t,e){if(1&t&&(s.TgZ(0,"td",25),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",t," ")}}function bi(t,e){1&t&&(s.TgZ(0,"th",26),s.TgZ(1,"span",27),s._uU(2,"Actions"),s.qZA(),s.qZA())}function Si(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",28),s.TgZ(1,"span",27),s.TgZ(2,"button",29),s.NdJ("copied",function(e){return s.CHM(t),s.oxw(2).onCopyNodeURI(e)}),s._uU(3,"Copy Node URI"),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=e.$implicit,n=s.oxw(2);s.xp6(2),s.Q6J("payload",n.lookupResult.nodeId+"@"+t)}}function Li(t,e){1&t&&s._UZ(0,"tr",30)}function Fi(t,e){1&t&&s._UZ(0,"tr",31)}const _i=function(t){return{"background-color":t}};function ki(t,e){if(1&t&&(s.TgZ(0,"div",1),s._UZ(1,"mat-divider",2),s.TgZ(2,"div",3),s.TgZ(3,"div",4),s.TgZ(4,"h4",5),s._uU(5,"Pub Key"),s.qZA(),s.TgZ(6,"span",6),s._uU(7),s.qZA(),s.qZA(),s.qZA(),s._UZ(8,"mat-divider",7),s.TgZ(9,"div",3),s.TgZ(10,"div",4),s.TgZ(11,"h4",5),s._uU(12,"Signature"),s.qZA(),s.TgZ(13,"span",8),s._uU(14),s.qZA(),s.qZA(),s.qZA(),s._UZ(15,"mat-divider",7),s.TgZ(16,"div",3),s.TgZ(17,"div",9),s.TgZ(18,"h4",5),s._uU(19,"Alias"),s.qZA(),s.TgZ(20,"span",8),s._uU(21),s.TgZ(22,"span",10),s._uU(23),s.qZA(),s.qZA(),s.qZA(),s.TgZ(24,"div",9),s.TgZ(25,"h4",5),s._uU(26,"Date/Time"),s.qZA(),s.TgZ(27,"span",8),s._uU(28),s.ALo(29,"date"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(30,"div",11),s.TgZ(31,"h4",12),s._uU(32,"Addresses"),s.qZA(),s.TgZ(33,"div",13),s.TgZ(34,"table",14,15),s.ynx(36,16),s.YNc(37,qi,2,0,"th",17),s.YNc(38,Ci,2,1,"td",18),s.BQk(),s.ynx(39,19),s.YNc(40,bi,3,0,"th",20),s.YNc(41,Si,4,1,"td",21),s.BQk(),s.YNc(42,Li,1,0,"tr",22),s.YNc(43,Fi,1,0,"tr",23),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.lookupResult.nodeId),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.lookupResult.signature),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.lookupResult.alias),s.xp6(1),s.Q6J("ngStyle",s.VKq(15,_i,t.lookupResult.rgbColor)),s.xp6(1),s.Oqu(t.lookupResult.rgbColor?t.lookupResult.rgbColor:""),s.xp6(5),s.Oqu(s.xi3(29,12,1e3*t.lookupResult.timestamp,"dd/MMM/YYYY HH:mm")),s.xp6(6),s.Q6J("dataSource",t.addresses),s.xp6(8),s.Q6J("matHeaderRowDef",t.displayedColumns),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns)}}let Ni=(()=>{class t{constructor(t,e){this.logger=t,this.snackBar=e,this.displayedColumns=["address","actions"]}ngOnInit(){this.addresses=new at.by(this.lookupResult.addresses?[...this.lookupResult.addresses]:[]),this.addresses.data=this.lookupResult.addresses?this.lookupResult.addresses:[],this.addresses.sort=this.sort,this.addresses.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}onCopyNodeURI(t){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(Ti.ux))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-node-lookup"]],viewQuery:function(t,e){if(1&t&&s.Gf(it.YE,5),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first)}},inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],[1,"foreground-secondary-text"],["fxFlex","50"],[1,"ml-2",3,"ngStyle"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","address"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&s.YNc(0,ki,44,17,"div",0),2&t&&s.Q6J("ngIf",e.lookupResult)},directives:[i.O5,l.xw,J.d,l.yH,l.Wh,i.PC,L.Zl,Y.$V,at.BZ,it.YE,at.w1,at.fO,at.Dz,at.as,at.nj,at.ge,it.nU,at.ev,b.lW,vi.y,at.XQ,at.Gk],pipes:[i.uU],styles:[""]}),t})();const Ui=["form"];function Di(t,e){if(1&t&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.hij("",null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder," is required.")}}function Ii(t,e){if(1&t&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.hij("Invalid ",null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder,".")}}function Oi(t,e){if(1&t&&(s.TgZ(0,"div"),s._UZ(1,"rtl-ecl-node-lookup",29),s.qZA()),2&t){const t=s.oxw(3);s.xp6(1),s.Q6J("lookupResult",t.nodeLookupValue)}}function Ji(t,e){if(1&t&&(s.TgZ(0,"span",27),s.YNc(1,Oi,2,1,"div",28),s.qZA()),2&t){const t=s.oxw(2),e=s.MAs(26);s.xp6(1),s.Q6J("ngIf",t.nodeLookupValue.nodeId)("ngIfElse",e)}}function Yi(t,e){1&t&&(s.TgZ(0,"span",27),s.TgZ(1,"h3"),s._uU(2,"Error! Unable to find details!"),s.qZA(),s.qZA())}function Pi(t,e){if(1&t&&(s.TgZ(0,"div",21),s.TgZ(1,"div",22),s.TgZ(2,"span",23),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"div",24),s.YNc(5,Ji,2,2,"span",25),s.YNc(6,Yi,3,0,"span",26),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(3),s.hij("",t.lookupFields[t.selectedFieldId].name," Details"),s.xp6(1),s.Q6J("ngSwitch",t.selectedFieldId),s.xp6(1),s.Q6J("ngSwitchCase",0)}}function Ri(t,e){1&t&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find details!"),s.qZA())}const Mi=function(t){return{"mt-2":t}};let Qi=(()=>{class t{constructor(t,e,n,i){this.logger=t,this.commonService=e,this.store=n,this.actions$=i,this.lookupKeyCtrl=new lt.NI,this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Node ID"},{id:1,name:"Channel",placeholder:"Short Channel ID"}],this.flgLoading=[!0],this.faSearch=g.wn1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions$.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t.type===x.ht||t.type===x.Wz)).subscribe(t=>{if(t.type===x.ht){switch(this.flgLoading[0]=!0,this.selectedFieldId){case 0:this.nodeLookupValue=t.payload[0]?JSON.parse(JSON.stringify(t.payload[0])):{nodeid:""};break;case 1:this.channelLookupValue=t.payload?JSON.parse(JSON.stringify(t.payload)):[]}this.flgSetLookupValue=!0,this.logger.info(this.nodeLookupValue),this.logger.info(this.channelLookupValue)}t.type===x.Wz&&"Lookup"===t.payload.action&&(this.flgLoading[0]="error")}),this.lookupKeyCtrl.valueChanges.pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1})}onLookup(){if(!this.lookupKeyCtrl.value)return this.lookupKeyCtrl.setErrors({required:!0}),!0;if(this.lookupKeyCtrl.value&&(this.lookupKeyCtrl.value.includes("@")||this.lookupKeyCtrl.value.includes(",")))return this.lookupKeyCtrl.setErrors({invalid:!0}),!0;switch(this.selectedFieldId||(this.selectedFieldId=0),this.flgSetLookupValue=!1,this.nodeLookupValue={},this.channelLookupValue=[],this.store.dispatch(new st.Fk("Searching "+this.lookupFields[this.selectedFieldId].name+"...")),this.selectedFieldId){case 0:this.store.dispatch(new x.x$(this.lookupKeyCtrl.value.trim()))}}onSelectChange(t){this.resetData(),this.selectedFieldId=t.value}resetData(){this.flgSetLookupValue=!1,this.nodeLookupValue={},this.channelLookupValue=[],this.lookupKeyCtrl.setValue(""),this.lookupKeyCtrl.setErrors(null),this.form.resetForm()}clearLookupValue(){this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(A.eX))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-lookups"]],viewQuery:function(t,e){if(1&t&&s.Gf(Ui,7),2&t){let t;s.iGM(t=s.CRH())&&(e.form=t.first)}},decls:27,vars:10,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","20","fxFlex.gt-md","15","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField"],["checked","",1,"mr-4",3,"value"],["fxFlex","80","fxFlex.gt-md","85","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"formControl","placeholder"],["key",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],["errorBlock",""],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[4,"ngIf","ngIfElse"],[3,"lookupResult"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Graph Lookups"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"form",7,8),s.TgZ(10,"div",9),s.TgZ(11,"mat-radio-group",10),s.TgZ(12,"mat-radio-button",11),s._uU(13,"Node"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(14,"mat-form-field",12),s._UZ(15,"input",13,14),s.YNc(17,Di,2,1,"mat-error",15),s.YNc(18,Ii,2,1,"mat-error",15),s.qZA(),s.TgZ(19,"div",16),s.TgZ(20,"button",17),s.NdJ("click",function(){return e.resetData()}),s._uU(21,"Clear"),s.qZA(),s.TgZ(22,"button",18),s.NdJ("click",function(){return e.onLookup()}),s._uU(23,"Lookup"),s.qZA(),s.qZA(),s.qZA(),s.YNc(24,Pi,7,3,"div",19),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(25,Ri,2,0,"ng-template",null,20,s.W1O)),2&t&&(s.xp6(2),s.Q6J("icon",e.faSearch),s.xp6(10),s.Q6J("value",0),s.xp6(2),s.Q6J("ngClass",s.VKq(8,Mi,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),s.xp6(1),s.Q6J("formControl",e.lookupKeyCtrl)("placeholder",(null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder)||"Lookup Key"),s.xp6(2),s.Q6J("ngIf",null==e.lookupKeyCtrl.errors?null:e.lookupKeyCtrl.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.lookupKeyCtrl.errors?null:e.lookupKeyCtrl.errors.invalid),s.xp6(6),s.Q6J("ngIf",e.flgSetLookupValue))},directives:[l.xw,l.Wh,T.BN,l.yH,q.a8,q.dn,lt._Y,lt.JL,lt.F,wi.VQ,wi.U0,I.KE,i.mk,L.oO,rt.Nt,lt.Fj,lt.Q7,lt.JJ,lt.oH,i.O5,b.lW,I.TO,i.RF,i.n9,i.ED,Ni],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),t})();var Ei=n(7969);let Bi=(()=>{class t{constructor(t,e){this.store=t,this.eclEffects=e,this.newAddress=""}onGenerateAddress(){this.store.dispatch(new st.Fk("Getting New Address...")),this.store.dispatch(new x.ER),this.eclEffects.setNewAddress.pipe((0,Kt.q)(1)).subscribe(t=>{this.newAddress=t,this.store.dispatch(new st.wu({width:"58%",data:{address:this.newAddress,addressType:"",component:Ei.n}}))})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(y.yh),s.Y36(jt.o))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-on-chain-receive"]],decls:4,vars:0,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","1",3,"click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return e.onGenerateAddress()}),s._uU(3,"Generate Address"),s.qZA(),s.qZA(),s.qZA())},directives:[l.xw,l.yH,l.Wh,b.lW],styles:[""]}),t})(),Hi=(()=>{class t{constructor(t,e){this.store=t,this.activatedRoute=e,this.sweepAll=!1,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activatedRoute.data.pipe((0,m.R)(this.unSubs[0])).subscribe(t=>this.sweepAll=t.sweepAll)}openSendFundsModal(){this.store.dispatch(new st.wu({data:{sweepAll:this.sweepAll,component:Pn}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(y.yh),s.Y36(a.gz))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return e.openSendFundsModal()}),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(3),s.Oqu(e.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,b.lW],styles:[""]}),t})();var zi=n(1258),Vi=n(1681),Gi=n(3474),$i=n(7521),Xi=n(84);const Wi=["form"];function Ki(t,e){if(1&t&&(s.TgZ(0,"mat-option",34),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.Q6J("value",t),s.xp6(1),s.Oqu(t.alias?t.alias:t.nodeId?t.nodeId:"")}}function ji(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer alias is required."),s.qZA())}function ta(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer not found in the list."),s.qZA())}function ea(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",30),s.NdJ("change",function(){return s.CHM(t),s.oxw().onSelectedPeerChanged()}),s.qZA(),s.TgZ(2,"mat-autocomplete",31,32),s.NdJ("optionSelected",function(){return s.CHM(t),s.oxw().onSelectedPeerChanged()}),s.YNc(4,Ki,2,2,"mat-option",33),s.ALo(5,"async"),s.qZA(),s.YNc(6,ji,2,0,"mat-error",17),s.YNc(7,ta,2,0,"mat-error",17),s.qZA()}if(2&t){const t=s.MAs(3),e=s.oxw();s.xp6(1),s.Q6J("formControl",e.selectedPeer)("matAutocomplete",t),s.xp6(1),s.Q6J("displayWith",e.displayFn),s.xp6(2),s.Q6J("ngForOf",s.lcZ(5,6,e.filteredPeers)),s.xp6(2),s.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.notfound)}}function na(t,e){1&t&&s.GkF(0)}function ia(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function aa(t,e){if(1&t&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function oa(t,e){if(1&t&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.channelConnectionError)}}function sa(t,e){if(1&t&&(s.TgZ(0,"div",35),s._UZ(1,"fa-icon",36),s.YNc(2,oa,2,1,"span",17),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==t.channelConnectionError)}}function la(t,e){if(1&t&&(s.TgZ(0,"mat-expansion-panel",38),s.TgZ(1,"mat-expansion-panel-header"),s.TgZ(2,"mat-panel-title"),s.TgZ(3,"span"),s._uU(4,"Peer: \xa0"),s.qZA(),s.TgZ(5,"strong",39),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",9),s.TgZ(8,"div",0),s.TgZ(9,"div",1),s.TgZ(10,"h4",40),s._uU(11,"Pubkey"),s.qZA(),s.TgZ(12,"span",41),s._uU(13),s.qZA(),s.qZA(),s.qZA(),s._UZ(14,"mat-divider",42),s.TgZ(15,"div",0),s.TgZ(16,"div",43),s.TgZ(17,"h4",40),s._uU(18,"Address"),s.qZA(),s.TgZ(19,"span",44),s._uU(20),s.qZA(),s.qZA(),s.TgZ(21,"div",43),s.TgZ(22,"h4",40),s._uU(23,"State"),s.qZA(),s.TgZ(24,"span",44),s._uU(25),s.ALo(26,"titlecase"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t){const t=s.oxw(2);s.xp6(6),s.Oqu((null==t.peer?null:t.peer.alias)||(null==t.peer?null:t.peer.nodeId)),s.xp6(7),s.Oqu(t.peer.nodeId),s.xp6(7),s.Oqu(null==t.peer?null:t.peer.address),s.xp6(5),s.Oqu(s.lcZ(26,4,null==t.peer?null:t.peer.state))}}function ra(t,e){if(1&t&&s.YNc(0,la,27,6,"mat-expansion-panel",37),2&t){const t=s.oxw();s.Q6J("ngIf",t.peer)}}let ca=(()=>{class t{constructor(t,e,n,i){this.dialogRef=t,this.data=e,this.store=n,this.actions$=i,this.selectedPeer=new lt.NI,this.faExclamationTriangle=g.eHv,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.selectedPubkey="",this.isPrivate=!1,this.feeRate=null,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions$.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t.type===x.Wz||t.type===x.M8)).subscribe(t=>{t.type===x.Wz&&"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message),t.type===x.M8&&this.dialogRef.close()});let t="",e="";this.sortedPeers=this.peers.sort((n,i)=>(t=n.alias?n.alias.toLowerCase():n.nodeId?n.nodeId.toLowerCase():"",e=i.alias?i.alias.toLowerCase():n.nodeId.toLowerCase(),te?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,m.R)(this.unSubs[1]),(0,zi.O)(""),(0,Vi.U)(t=>"string"==typeof t?t:t.alias?t.alias:t.nodeId),(0,Vi.U)(t=>t?this.filterPeers(t):this.sortedPeers.slice()))}filterPeers(t){return this.sortedPeers.filter(e=>0===e.alias.toLowerCase().indexOf(t?t.toLowerCase():""))}displayFn(t){return t&&t.alias?t.alias:t&&t.nodeId?t.nodeId:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.nodeId?this.selectedPeer.value.nodeId:void 0,"string"==typeof this.selectedPeer.value){let t=this.peers.filter(t=>t.alias.length===this.selectedPeer.value.length&&0===t.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===t.length&&t[0].nodeId&&(this.selectedPubkey=t[0].nodeId)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.feeRate=null,this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onAdvancedPanelToggle(t){this.advancedTitle=t&&this.feeRate&&this.feeRate>0?"Advanced Options | Fee (Sats/vByte): "+this.feeRate:"Advanced Options"}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0)return!0;this.store.dispatch(new st.Fk("Opening Channel...")),this.store.dispatch(new x.nb({nodeId:this.peer&&this.peer.nodeId?this.peer.nodeId:this.selectedPubkey,amount:this.fundingAmount,private:this.isPrivate,feeRate:this.feeRate}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(ot.WI),s.Y36(y.yh),s.Y36(A.eX))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-open-channel"]],viewQuery:function(t,e){if(1&t&&s.Gf(Wi,7),2&t){let t;s.iGM(t=s.CRH())&&(e.form=t.first)}},decls:48,vars:19,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","70","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amount",3,"ngModel","step","min","max","ngModelChange"],["amount","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","25","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","placeholder","Fee (Sats/vByte)","type","number","name","fee","tabindex","7",3,"ngModel","step","min","ngModelChange"],["fee","ngModel"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(t,e){if(1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return e.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.NdJ("submit",function(){return e.onOpenChannel()})("reset",function(){return e.resetData()}),s.TgZ(11,"div",9),s.YNc(12,ea,8,8,"mat-form-field",10),s.qZA(),s.YNc(13,na,1,0,"ng-container",11),s.TgZ(14,"div",9),s.TgZ(15,"div",12),s.TgZ(16,"mat-form-field",13),s.TgZ(17,"input",14,15),s.NdJ("ngModelChange",function(t){return e.fundingAmount=t}),s.qZA(),s.TgZ(19,"mat-hint"),s._uU(20),s.ALo(21,"number"),s.qZA(),s.TgZ(22,"span",16),s._uU(23),s.qZA(),s.YNc(24,ia,2,0,"mat-error",17),s.YNc(25,aa,2,1,"mat-error",17),s.qZA(),s.TgZ(26,"div",18),s.TgZ(27,"mat-slide-toggle",19),s.NdJ("ngModelChange",function(t){return e.isPrivate=t}),s._uU(28,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(29,"mat-expansion-panel",20),s.NdJ("closed",function(){return e.onAdvancedPanelToggle(!0)})("opened",function(){return e.onAdvancedPanelToggle(!1)}),s.TgZ(30,"mat-expansion-panel-header"),s.TgZ(31,"mat-panel-title"),s.TgZ(32,"span"),s._uU(33),s.qZA(),s.qZA(),s.qZA(),s.TgZ(34,"div",21),s.TgZ(35,"div",12),s.TgZ(36,"div",22),s.TgZ(37,"mat-form-field",1),s.TgZ(38,"input",23,24),s.NdJ("ngModelChange",function(t){return e.feeRate=t}),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(40,sa,3,2,"div",25),s.TgZ(41,"div",26),s.TgZ(42,"button",27),s._uU(43,"Clear Fields"),s.qZA(),s.TgZ(44,"button",28),s._uU(45,"Open Channel"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(46,ra,1,1,"ng-template",null,29,s.W1O)),2&t){const t=s.MAs(18),n=s.MAs(47);s.xp6(5),s.Oqu(e.alertTitle),s.xp6(7),s.Q6J("ngIf",!e.peer&&e.peers&&e.peers.length>0),s.xp6(1),s.Q6J("ngTemplateOutlet",n),s.xp6(4),s.Q6J("ngModel",e.fundingAmount)("step",1e3)("min",1)("max",e.totalBalance),s.xp6(3),s.hij("Remaining Bal: ",s.lcZ(21,17,e.totalBalance-(e.fundingAmount?e.fundingAmount:0)),""),s.xp6(3),s.hij(" ",null==e.information?null:e.information.smaller_currency_unit," "),s.xp6(1),s.Q6J("ngIf",null==t.errors?null:t.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.errors?null:t.errors.max),s.xp6(2),s.Q6J("ngModel",e.isPrivate),s.xp6(6),s.Oqu(e.advancedTitle),s.xp6(5),s.Q6J("ngModel",e.feeRate)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",""!==e.channelConnectionError)}},directives:[l.xw,l.yH,q.dk,l.Wh,b.lW,q.dn,lt._Y,lt.JL,lt.F,i.O5,i.tP,I.KE,rt.Nt,lt.wV,lt.qQ,lt.Fd,lt.Fj,ut.q,Gi.F,lt.Q7,lt.JJ,lt.On,I.bx,I.R9,$i.Rr,ue.ib,ue.yz,ue.yK,ct.h,Xi.ZL,lt.oH,Xi.XC,i.sg,mt.ey,I.TO,T.BN,J.d],pipes:[i.JJ,i.Ov,i.rS],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),t})();function ua(t,e){if(1&t&&(s.TgZ(0,"span",7),s._uU(1,"Open"),s.qZA()),2&t){const t=s.oxw();s.s9C("matBadge",t.numOfOpenChannels)}}function da(t,e){if(1&t&&(s.TgZ(0,"span",7),s._uU(1,"Pending"),s.qZA()),2&t){const t=s.oxw();s.s9C("matBadge",t.numOfPendingChannels)}}function ma(t,e){if(1&t&&(s.TgZ(0,"span",7),s._uU(1,"Inactive"),s.qZA()),2&t){const t=s.oxw();s.s9C("matBadge",t.numOfInactiveChannels)}}let ha=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.router=n,this.numOfOpenChannels=0,this.numOfPendingChannels=0,this.numOfInactiveChannels=0,this.selNode={},this.information={},this.peers=[],this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending"},{link:"inactive",name:"Inactive"}],this.activeLink=0,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.numOfOpenChannels=t.channelsStatus&&t.channelsStatus.active&&t.channelsStatus.active.channels?t.channelsStatus.active.channels:0,this.numOfPendingChannels=t.channelsStatus&&t.channelsStatus.pending&&t.channelsStatus.pending.channels?t.channelsStatus.pending.channels:0,this.numOfInactiveChannels=t.channelsStatus&&t.channelsStatus.inactive&&t.channelsStatus.inactive.channels?t.channelsStatus.inactive.channels:0,this.selNode=t.nodeSettings,this.information=t.information,this.peers=t.peers,this.totalBalance=t.onchainBalance.total,this.logger.info(t)})}onOpenChannel(){this.store.dispatch(new st.wu({data:{alertTitle:"Open Channel",message:{peers:this.peers,information:this.information,balance:this.totalBalance},component:ca}}))}onSelectedTabChange(t){this.router.navigateByUrl("/ecl/connections/channels/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channels-tables"]],decls:14,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return e.onOpenChannel()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-tab-group",4),s.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),s.TgZ(6,"mat-tab"),s.YNc(7,ua,2,1,"ng-template",5),s.qZA(),s.TgZ(8,"mat-tab"),s.YNc(9,da,2,1,"ng-template",5),s.qZA(),s.TgZ(10,"mat-tab"),s.YNc(11,ma,2,1,"ng-template",5),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s._UZ(13,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(5),s.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.yH,l.Wh,b.lW,et.SP,et.uX,et.uD,a.lC,hi.k],styles:[""]}),t})();function pa(t,e){if(1&t&&(s.TgZ(0,"div",11),s.TgZ(1,"h4",12),s._uU(2,"Short Channel ID"),s.qZA(),s.TgZ(3,"span",13),s._uU(4),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(4),s.Oqu(t.channel.shortChannelId)}}function ga(t,e){if(1&t&&(s.TgZ(0,"div",11),s.TgZ(1,"h4",12),s._uU(2,"State"),s.qZA(),s.TgZ(3,"span",15),s._uU(4),s.ALo(5,"titlecase"),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(4),s.Oqu(s.lcZ(5,1,t.channel.state))}}function fa(t,e){if(1&t&&(s.TgZ(0,"div"),s.TgZ(1,"div",9),s.TgZ(2,"div",11),s.TgZ(3,"h4",12),s._uU(4,"Local Balance (Sats)"),s.qZA(),s.TgZ(5,"span",15),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div",11),s.TgZ(9,"h4",12),s._uU(10,"Remote Balance (Sats)"),s.qZA(),s.TgZ(11,"span",15),s._uU(12),s.ALo(13,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(14,"mat-divider",14),s.TgZ(15,"div",9),s.TgZ(16,"div",11),s.TgZ(17,"h4",12),s._uU(18,"Base Fee (mSats)"),s.qZA(),s.TgZ(19,"span",15),s._uU(20),s.ALo(21,"number"),s.qZA(),s.qZA(),s.TgZ(22,"div",11),s.TgZ(23,"h4",12),s._uU(24,"Fee Rate (mili mSats)"),s.qZA(),s.TgZ(25,"span",15),s._uU(26),s.ALo(27,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(28,"mat-divider",14),s.qZA()),2&t){const t=s.oxw();s.xp6(6),s.Oqu(s.lcZ(7,6,t.channel.toLocal)),s.xp6(6),s.Oqu(s.lcZ(13,8,t.channel.toRemote)),s.xp6(2),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(21,10,t.channel.feeBaseMsat)),s.xp6(6),s.Oqu(s.lcZ(27,12,t.channel.feeProportionalMillionths)),s.xp6(2),s.Q6J("inset",!0)}}function xa(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"Show Advanced"),s.qZA())}function Za(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"Hide Advanced"),s.qZA())}function ya(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",21),s.NdJ("click",function(){return s.CHM(t),s.oxw().onShowAdvanced()}),s.YNc(1,xa,2,0,"p",22),s.YNc(2,Za,2,0,"ng-template",null,23,s.W1O),s.qZA()}if(2&t){const t=s.MAs(3),e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t)}}function Aa(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",24),s.NdJ("copied",function(e){return s.CHM(t),s.oxw().onCopyChanID(e)}),s._uU(1,"Copy Short Channel ID"),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("payload",t.channel.shortChannelId)}}function wa(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"button",25),s.NdJ("copied",function(e){return s.CHM(t),s.oxw().onCopyChanID(e)}),s._uU(1,"Copy Channel ID"),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("payload",t.channel.channelId)}}const Ta=function(t){return{"xs-scroll-y":t}},va=function(t,e){return{"mt-2":t,"mt-1":e}};let qa=(()=>{class t{constructor(t,e,n,i,a){this.dialogRef=t,this.data=e,this.logger=n,this.commonService=i,this.snackBar=a,this.faReceipt=g.dLy,this.showAdvanced=!1,this.channelsType="open",this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.channel=this.data.channel,this.channelsType=this.data.channelsType,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(t){this.snackBar.open("open"===this.channelsType?"Short channel ID "+t+" copied.":"Channel ID copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(ot.WI),s.Y36(Z.mQ),s.Y36(w.v),s.Y36(Ti.ux))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-information"]],decls:64,vars:28,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50",4,"ngIf"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1","class","mr-1",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","3","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","3","type","submit","rtlClipboard","",3,"payload","copied"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span",5),s._uU(6,"Channel Information"),s.qZA(),s.qZA(),s.TgZ(7,"button",6),s.NdJ("click",function(){return e.onClose()}),s._uU(8,"X"),s.qZA(),s.qZA(),s.TgZ(9,"mat-card-content",7),s.TgZ(10,"div",8),s.TgZ(11,"div",9),s.YNc(12,pa,5,1,"div",10),s.TgZ(13,"div",11),s.TgZ(14,"h4",12),s._uU(15,"Peer Alias"),s.qZA(),s.TgZ(16,"span",13),s._uU(17),s.qZA(),s.qZA(),s.YNc(18,ga,6,3,"div",10),s.qZA(),s._UZ(19,"mat-divider",14),s.TgZ(20,"div",9),s.TgZ(21,"div",1),s.TgZ(22,"h4",12),s._uU(23,"Channel ID"),s.qZA(),s.TgZ(24,"span",13),s._uU(25),s.qZA(),s.qZA(),s.qZA(),s._UZ(26,"mat-divider",14),s.TgZ(27,"div",9),s.TgZ(28,"div",1),s.TgZ(29,"h4",12),s._uU(30,"Peer Public Key"),s.qZA(),s.TgZ(31,"span",13),s._uU(32),s.qZA(),s.qZA(),s.qZA(),s._UZ(33,"mat-divider",14),s.TgZ(34,"div",9),s.TgZ(35,"div",11),s.TgZ(36,"h4",12),s._uU(37,"Private"),s.qZA(),s.TgZ(38,"span",15),s._uU(39),s.qZA(),s.qZA(),s.TgZ(40,"div",11),s.TgZ(41,"h4",12),s._uU(42,"Funder"),s.qZA(),s.TgZ(43,"span",15),s._uU(44),s.qZA(),s.qZA(),s.qZA(),s._UZ(45,"mat-divider",14),s.TgZ(46,"div",9),s.TgZ(47,"div",11),s.TgZ(48,"h4",12),s._uU(49,"State"),s.qZA(),s.TgZ(50,"span",15),s._uU(51),s.ALo(52,"titlecase"),s.qZA(),s.qZA(),s.TgZ(53,"div",11),s.TgZ(54,"h4",12),s._uU(55,"Buried"),s.qZA(),s.TgZ(56,"span",15),s._uU(57),s.qZA(),s.qZA(),s.qZA(),s._UZ(58,"mat-divider",14),s.YNc(59,fa,29,14,"div",16),s.TgZ(60,"div",17),s.YNc(61,ya,4,2,"button",18),s.YNc(62,Aa,2,1,"button",19),s.YNc(63,wa,2,1,"button",20),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(4),s.Q6J("icon",e.faReceipt),s.xp6(5),s.Q6J("ngClass",s.VKq(23,Ta,e.screenSize===e.screenSizeEnum.XS)),s.xp6(3),s.Q6J("ngIf","open"===e.channelsType),s.xp6(5),s.Oqu(e.channel.alias),s.xp6(1),s.Q6J("ngIf","open"!==e.channelsType),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(e.channel.channelId),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(e.channel.nodeId),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(0===e.channel.channelFlags?"Yes":"No"),s.xp6(5),s.Oqu(e.channel.isFunder?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(52,21,e.channel.state)),s.xp6(6),s.Oqu(e.channel.buried?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(1),s.Q6J("ngIf",e.showAdvanced&&"open"===e.channelsType),s.xp6(1),s.Q6J("ngClass",s.WLB(25,va,!e.showAdvanced,e.showAdvanced)),s.xp6(1),s.Q6J("ngIf","open"===e.channelsType),s.xp6(1),s.Q6J("ngIf","open"===e.channelsType),s.xp6(1),s.Q6J("ngIf","open"!==e.channelsType))},directives:[l.xw,l.Wh,l.yH,q.dk,T.BN,b.lW,q.dn,i.mk,L.oO,i.O5,J.d,ct.h,vi.y],pipes:[i.rS,i.JJ],styles:[""]}),t})();function Ca(t,e){1&t&&s._UZ(0,"mat-progress-bar",30)}function ba(t,e){1&t&&(s.TgZ(0,"th",31),s._uU(1," Short Channel ID "),s.qZA())}function Sa(t,e){if(1&t&&(s.TgZ(0,"span",37),s._UZ(1,"fa-icon",38),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("icon",t.faEyeSlash)}}function La(t,e){if(1&t&&(s.TgZ(0,"span",39),s._UZ(1,"fa-icon",38),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("icon",t.faEye)}}const Fa=function(t){return{"max-width":t}};function _a(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"div",33),s.YNc(2,Sa,2,1,"span",34),s.YNc(3,La,2,1,"span",35),s.TgZ(4,"span",36),s._uU(5),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(4,Fa,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),s.xp6(1),s.Q6J("ngIf",0===t.channelFlags),s.xp6(1),s.Q6J("ngIf",0!==t.channelFlags),s.xp6(2),s.Oqu(null==t?null:t.shortChannelId)}}function ka(t,e){1&t&&(s.TgZ(0,"th",31),s._uU(1," Alias "),s.qZA())}function Na(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"div",33),s.TgZ(2,"span",36),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(2,Fa,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),s.xp6(2),s.Oqu(t.alias)}}function Ua(t,e){1&t&&(s.TgZ(0,"th",40),s._uU(1," Base Fee (mSats) "),s.qZA())}function Da(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.feeBaseMsat,"1.0-0")," ")}}function Ia(t,e){1&t&&(s.TgZ(0,"th",40),s._uU(1," Fee Rate (mili mSats) "),s.qZA())}function Oa(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.feeProportionalMillionths,"1.0-0")," ")}}function Ja(t,e){1&t&&(s.TgZ(0,"th",40),s._uU(1," Local Balance (Sats) "),s.qZA())}function Ya(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function Pa(t,e){1&t&&(s.TgZ(0,"th",40),s._uU(1," Remote Balance (Sats) "),s.qZA())}function Ra(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function Ma(t,e){1&t&&(s.TgZ(0,"th",42),s._uU(1,"Balance Score "),s.qZA())}function Qa(t,e){if(1&t&&(s.TgZ(0,"td",43),s.TgZ(1,"div",44),s.TgZ(2,"mat-hint",45),s._uU(3),s.ALo(4,"number"),s.qZA(),s.qZA(),s._UZ(5,"mat-progress-bar",46),s.qZA()),2&t){const t=e.$implicit;s.xp6(3),s.Oqu(s.lcZ(4,2,(null==t?null:t.balancedness)||0)),s.xp6(2),s.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function Ea(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",47),s.TgZ(1,"div",48),s.TgZ(2,"mat-select",49),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",50),s.NdJ("click",function(){return s.CHM(t),s.oxw().onChannelUpdate("all")}),s._uU(5,"Update Fee Policy"),s.qZA(),s.TgZ(6,"mat-option",50),s.NdJ("click",function(){return s.CHM(t),s.oxw().onDownloadCSV()}),s._uU(7,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ba(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",51),s.TgZ(1,"div",52),s.TgZ(2,"mat-select",53),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",50),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onChannelClick(n,e)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",50),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().onChannelUpdate(e)}),s._uU(7,"Update Fee Policy"),s.qZA(),s.TgZ(8,"mat-option",50),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().onChannelClose(e,!1)}),s._uU(9,"Close Channel"),s.qZA(),s.TgZ(10,"mat-option",50),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().onChannelClose(e,!0)}),s._uU(11,"Force Close"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ha(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No peers connected. Add a peer in order to open a channel."),s.qZA())}function za(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No open channels available."),s.qZA())}function Va(t,e){if(1&t&&(s.TgZ(0,"td",54),s.YNc(1,Ha,2,0,"p",55),s.YNc(2,za,2,0,"p",55),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngIf",t.numPeers<1&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)),s.xp6(1),s.Q6J("ngIf",t.numPeers>0&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1))}}const Ga=function(t){return{"display-none":t}};function $a(t,e){if(1&t&&s._UZ(0,"tr",56),2&t){const t=s.oxw();s.Q6J("ngClass",s.VKq(1,Ga,t.numPeers>0&&(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function Xa(t,e){1&t&&s._UZ(0,"tr",57)}function Wa(t,e){1&t&&s._UZ(0,"tr",58)}const Ka=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ja=function(){return["no_peer"]};let to=(()=>{class t{constructor(t,e,n,i,a){this.logger=t,this.store=e,this.rtlEffects=n,this.eclEffects=i,this.commonService=a,this.faEye=g.Mdf,this.faEyeSlash=g.Aq,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=f.vn,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","toLocal","toRemote","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["shortChannelId","alias","toLocal","toRemote","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","balancedness","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchChannels"===t.action&&(this.flgLoading[0]="error")}),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.activeChannels=t.activeChannels,this.activeChannels.length>0&&this.sort&&this.paginator&&this.loadChannelsTable(),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!t.activeChannels),this.logger.info(t)})}ngAfterViewInit(){this.activeChannels.length>0&&this.sort&&this.paginator&&this.loadChannelsTable()}onChannelUpdate(t){"all"!==t&&"NORMAL"!==t.state||(this.store.dispatch(new st.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update",message:[],titleMessage:"all"===t?"Update fee policy for selected/all channels":"Update fee policy for Channel: "+t.channelId,flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:t&&t.feeBaseMsat?t.feeBaseMsat:1e3,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:t&&t.feeProportionalMillionths?t.feeProportionalMillionths:100,min:1,width:48,hintFunction:this.percentHintFunction}]}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[1])).subscribe(e=>{if(e){const n=e[0].inputValue,i=e[1].inputValue;let a=null,o="";"all"===t?(this.activeChannels.forEach(t=>{o=o+","+t.channelId}),o=o.substring(1),a={baseFeeMsat:n,feeRate:i,channelIds:o}):a={baseFeeMsat:n,feeRate:i,channelId:t.channelId},this.store.dispatch(new st.Fk("Updating Channel Policy...")),this.store.dispatch(new x.k(a))}}),this.applyFilter())}percentHintFunction(t){return(t/1e4).toString()+"%"}onChannelClose(t,e){this.store.dispatch(new st.b_({data:{type:f.n_.CONFIRM,alertTitle:e?"Force Close Channel":"Close Channel",titleMessage:e?"Force closing channel: "+t.channelId:"Closing channel: "+t.channelId,noBtnText:"Cancel",yesBtnText:e?"Force Close":"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[3])).subscribe(n=>{n&&(this.store.dispatch(new st.Fk(e?"Force Closing Channel...":"Closing Channel...")),this.store.dispatch(new x.e8({channelId:t.channelId,force:e})))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(t,e){this.store.dispatch(new st.wu({data:{channel:t,channelsType:"open",component:qa}}))}loadChannelsTable(){this.activeChannels.sort(function(t,e){return t.alias===e.alias?0:e.alias?1:-1}),this.channels=new at.by([...this.activeChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"ActiveChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(fe.V),s.Y36(jt.o),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-open-table"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Channels")}])],decls:39,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","shortChannelId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","feeBaseMsat"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","feeProportionalMillionths"],["matColumnDef","toLocal"],["matColumnDef","toRemote"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,Ca,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,ba,2,0,"th",10),s.YNc(11,_a,6,6,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,ka,2,0,"th",10),s.YNc(14,Na,4,4,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,Ua,2,0,"th",14),s.YNc(17,Da,4,4,"td",11),s.BQk(),s.ynx(18,15),s.YNc(19,Ia,2,0,"th",14),s.YNc(20,Oa,4,4,"td",11),s.BQk(),s.ynx(21,16),s.YNc(22,Ja,2,0,"th",14),s.YNc(23,Ya,4,4,"td",11),s.BQk(),s.ynx(24,17),s.YNc(25,Pa,2,0,"th",14),s.YNc(26,Ra,4,4,"td",11),s.BQk(),s.ynx(27,18),s.YNc(28,Ma,2,0,"th",19),s.YNc(29,Qa,6,4,"td",20),s.BQk(),s.ynx(30,21),s.YNc(31,Ea,8,0,"th",22),s.YNc(32,Ba,12,0,"td",23),s.BQk(),s.ynx(33,24),s.YNc(34,Va,3,2,"td",25),s.BQk(),s.YNc(35,$a,1,3,"tr",26),s.YNc(36,Xa,1,0,"tr",27),s.YNc(37,Wa,1,0,"tr",28),s.qZA(),s.qZA(),s._UZ(38,"mat-paginator",29),s.qZA()),2&t&&(s.xp6(4),s.Q6J("ngModel",e.selFilter),s.xp6(2),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.channels)("ngClass",s.VKq(11,Ka,"error"===e.flgLoading[0])),s.xp6(28),s.Q6J("matFooterRowDef",s.DdM(13,ja)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,I.KE,rt.Nt,lt.Fj,lt.JJ,lt.On,Y.$V,i.O5,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,i.PC,L.Zl,O.gM,T.BN,I.bx,dt.gD,dt.$L,mt.ey,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.JJ],styles:[".mat-column-shortChannelId[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-shortChannelId[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{padding-left:1rem;flex:0 0 20%;width:20%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:2rem;flex:0 0 17%;width:17%}.mat-column-feeBaseMsat[_ngcontent-%COMP%], .mat-column-feeProportionalMillionths[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{flex:1 1 10%;width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-feeBaseMsat[_ngcontent-%COMP%], .mat-column-feeProportionalMillionths[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:56.25em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 60%}}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),t})();function eo(t,e){1&t&&s._UZ(0,"mat-progress-bar",25)}function no(t,e){1&t&&(s.TgZ(0,"th",26),s._uU(1," State "),s.qZA())}function io(t,e){if(1&t&&(s.TgZ(0,"td",27),s._uU(1),s.ALo(2,"titlecase"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",s.lcZ(2,1,null==t?null:t.state),"")}}function ao(t,e){1&t&&(s.TgZ(0,"th",26),s._uU(1," Alias "),s.qZA())}function oo(t,e){if(1&t&&(s.TgZ(0,"td",27),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(null==t?null:t.alias)}}function so(t,e){1&t&&(s.TgZ(0,"th",28),s._uU(1," Local Balance (Sats) "),s.qZA())}function lo(t,e){if(1&t&&(s.TgZ(0,"td",27),s.TgZ(1,"span",29),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function ro(t,e){1&t&&(s.TgZ(0,"th",28),s._uU(1," Remote Balance (Sats) "),s.qZA())}function co(t,e){if(1&t&&(s.TgZ(0,"td",27),s.TgZ(1,"span",29),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function uo(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",30),s.TgZ(1,"div",31),s.TgZ(2,"mat-select",32),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",33),s.NdJ("click",function(){return s.CHM(t),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function mo(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",34),s.TgZ(1,"button",35),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onChannelClick(n,e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function ho(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No pending channels available."),s.qZA())}function po(t,e){if(1&t&&(s.TgZ(0,"td",36),s.YNc(1,ho,2,0,"p",37),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)}}const go=function(t){return{"display-none":t}};function fo(t,e){if(1&t&&s._UZ(0,"tr",38),2&t){const t=s.oxw();s.Q6J("ngClass",s.VKq(1,go,(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function xo(t,e){1&t&&s._UZ(0,"tr",39)}function Zo(t,e){1&t&&s._UZ(0,"tr",40)}const yo=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Ao=function(){return["no_channel"]};let wo=(()=>{class t{constructor(t,e,n,i,a){this.logger=t,this.store=e,this.rtlEffects=n,this.eclEffects=i,this.commonService=a,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=f.vn,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["state","alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","alias","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","alias","toLocal","toRemote","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchChannels"===t.action&&(this.flgLoading[0]="error")}),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.pendingChannels=t.pendingChannels,this.loadChannelsTable(),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!t.pendingChannels),this.logger.info(t)})}ngAfterViewInit(){this.pendingChannels.length>0&&this.loadChannelsTable()}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(t,e){this.store.dispatch(new st.wu({data:{channel:t,channelsType:"pending",component:qa}}))}loadChannelsTable(){this.pendingChannels.sort(function(t,e){return t.alias===e.alias?0:e.alias?1:-1}),this.channels=new at.by([...this.pendingChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"PendingChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(fe.V),s.Y36(jt.o),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-pending-table"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Channels")}])],decls:30,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","toLocal"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","toRemote"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,eo,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,no,2,0,"th",10),s.YNc(11,io,3,3,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,ao,2,0,"th",10),s.YNc(14,oo,2,1,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,so,2,0,"th",14),s.YNc(17,lo,4,4,"td",11),s.BQk(),s.ynx(18,15),s.YNc(19,ro,2,0,"th",14),s.YNc(20,co,4,4,"td",11),s.BQk(),s.ynx(21,16),s.YNc(22,uo,6,0,"th",17),s.YNc(23,mo,3,0,"td",18),s.BQk(),s.ynx(24,19),s.YNc(25,po,2,1,"td",20),s.BQk(),s.YNc(26,fo,1,3,"tr",21),s.YNc(27,xo,1,0,"tr",22),s.YNc(28,Zo,1,0,"tr",23),s.qZA(),s.qZA(),s._UZ(29,"mat-paginator",24),s.qZA()),2&t&&(s.xp6(4),s.Q6J("ngModel",e.selFilter),s.xp6(2),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.channels)("ngClass",s.VKq(11,yo,"error"===e.flgLoading[0])),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(13,Ao)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,I.KE,rt.Nt,lt.Fj,lt.JJ,lt.On,Y.$V,i.O5,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,dt.gD,dt.$L,mt.ey,b.lW,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.rS,i.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var To=n(7753);const vo=["peersForm"],qo=["stepper"];function Co(t,e){if(1&t&&s._uU(0),2&t){const t=s.oxw();s.Oqu(t.peerFormLabel)}}function bo(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Address is required."),s.qZA())}function So(t,e){if(1&t&&(s.TgZ(0,"div",33),s._UZ(1,"fa-icon",34),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(2),s.Oqu(t.peerConnectionError)}}function Lo(t,e){if(1&t&&s._uU(0),2&t){const t=s.oxw();s.Oqu(t.channelFormLabel)}}function Fo(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function _o(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount must be a positive number."),s.qZA())}function ko(t,e){if(1&t&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function No(t,e){if(1&t&&(s.TgZ(0,"div",33),s._UZ(1,"fa-icon",34),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("icon",t.faExclamationTriangle),s.xp6(2),s.Oqu(t.channelConnectionError)}}let Uo=(()=>{class t{constructor(t,e,n,i,a,o,s){this.dialogRef=t,this.data=e,this.store=n,this.eclEffects=i,this.formBuilder=a,this.actions$=o,this.logger=s,this.faExclamationTriangle=g.eHv,this.peerAddress="",this.totalBalance=0,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.unSubs=[new d.x,new d.x]}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerAddress=this.data.message.peer&&this.data.message.peer.nodeId&&this.data.message.peer.address?this.data.message.peer.nodeId+"@"+this.data.message.peer.address:this.data.message.peer&&this.data.message.peer.nodeId&&!this.data.message.peer.address?this.data.message.peer.nodeId:"",this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[lt.kI.required]],peerAddress:[this.peerAddress,[lt.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[lt.kI.required,lt.kI.min(1),lt.kI.max(this.totalBalance)]],isPrivate:[!1],feeRate:[null],hiddenAmount:["",[lt.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.actions$.pipe((0,m.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.Ae||t.type===x.M8||t.type===x.Wz)).subscribe(t=>{t.type===x.Ae&&(this.logger.info(t.payload),this.flgEditable=!1,this.newlyAddedPeer=t.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),t.type===x.M8&&this.dialogRef.close(),t.type===x.Wz&&("SaveNewPeer"===t.payload.action?this.peerConnectionError=t.payload.message:"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="",this.store.dispatch(new st.Fk("Adding Peer...")),this.store.dispatch(new x.rF({id:this.peerFormGroup.controls.peerAddress.value}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0)return!0;this.channelConnectionError="",this.store.dispatch(new st.Fk("Opening Channel...")),this.store.dispatch(new x.nb({nodeId:this.newlyAddedPeer.nodeId,amount:this.channelFormGroup.controls.fundingAmount.value,private:this.channelFormGroup.controls.isPrivate.value,feeRate:this.channelFormGroup.controls.feeRate.value}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.nodeId):"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.nodeId):"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(ot.so),s.Y36(ot.WI),s.Y36(y.yh),s.Y36(jt.o),s.Y36(lt.qu),s.Y36(A.eX),s.Y36(Z.mQ))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-connect-peer"]],viewQuery:function(t,e){if(1&t&&(s.Gf(vo,5),s.Gf(qo,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.form=t.first),s.iGM(t=s.CRH())&&(e.stepper=t.first)}},decls:50,vars:20,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","autoFocus","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","formControlName","feeRate","placeholder","Fee (Sats/vByte)","type","number","name","feeRate","tabindex","7",3,"step","min"],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"click"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Connect to a new peer"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return e.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"div",7),s.TgZ(10,"mat-vertical-stepper",8,9),s.NdJ("selectionChange",function(t){return e.stepSelectionChanged(t)}),s.TgZ(12,"mat-step",10),s.TgZ(13,"form",11),s.YNc(14,Co,1,1,"ng-template",12),s.TgZ(15,"mat-form-field",1),s._UZ(16,"input",13),s.YNc(17,bo,2,0,"mat-error",14),s.qZA(),s.YNc(18,So,4,2,"div",15),s.TgZ(19,"div",16),s.TgZ(20,"button",17),s.NdJ("click",function(){return e.onConnectPeer()}),s._uU(21),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(22,"mat-step",10),s.TgZ(23,"form",18),s.YNc(24,Lo,1,1,"ng-template",19),s.TgZ(25,"div",20),s.TgZ(26,"div",21),s.TgZ(27,"mat-form-field",22),s._UZ(28,"input",23),s.TgZ(29,"mat-hint"),s._uU(30),s.qZA(),s.TgZ(31,"span",24),s._uU(32," Sats "),s.qZA(),s.YNc(33,Fo,2,0,"mat-error",14),s.YNc(34,_o,2,0,"mat-error",14),s.YNc(35,ko,2,1,"mat-error",14),s.qZA(),s.TgZ(36,"div",25),s.TgZ(37,"mat-slide-toggle",26),s._uU(38,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(39,"div",27),s.TgZ(40,"div",28),s.TgZ(41,"mat-form-field",1),s._UZ(42,"input",29),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(43,No,4,2,"div",15),s.TgZ(44,"div",16),s.TgZ(45,"button",30),s.NdJ("click",function(){return e.onOpenChannel()}),s._uU(46),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(47,"div",31),s.TgZ(48,"button",32),s.NdJ("click",function(){return e.onClose()}),s._uU(49),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(10),s.Q6J("linear",!0),s.xp6(2),s.Q6J("stepControl",e.peerFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.peerFormGroup),s.xp6(4),s.Q6J("ngIf",null==e.peerFormGroup.controls.peerAddress.errors?null:e.peerFormGroup.controls.peerAddress.errors.required),s.xp6(1),s.Q6J("ngIf",""!==e.peerConnectionError),s.xp6(3),s.Oqu(""!==e.peerConnectionError?"Retry":"Add Peer"),s.xp6(1),s.Q6J("stepControl",e.channelFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.channelFormGroup),s.xp6(5),s.Q6J("step",1e3),s.xp6(2),s.hij("Remaining Bal: ",e.totalBalance-(e.channelFormGroup.controls.fundingAmount.value?e.channelFormGroup.controls.fundingAmount.value:0),""),s.xp6(3),s.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.min),s.xp6(1),s.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.max),s.xp6(7),s.Q6J("step",1)("min",0),s.xp6(1),s.Q6J("ngIf",""!==e.channelConnectionError),s.xp6(3),s.Oqu(""!==e.channelConnectionError?"Retry":"Open Channel"),s.xp6(3),s.Oqu(null!=e.newlyAddedPeer&&e.newlyAddedPeer.nodeId?"Do It Later":"Close"))},directives:[l.xw,l.yH,q.dk,l.Wh,b.lW,q.dn,To.Vq,To.C0,lt._Y,lt.JL,lt.sg,To.VY,I.KE,rt.Nt,lt.Fj,ct.h,lt.JJ,lt.u,lt.Q7,i.O5,lt.wV,I.bx,I.R9,$i.Rr,lt.qQ,ut.q,I.TO,T.BN],styles:[""]}),t})();function Do(t,e){1&t&&s._UZ(0,"mat-progress-bar",35)}function Io(t,e){1&t&&(s.TgZ(0,"th",36),s._uU(1," ID "),s.qZA())}const Oo=function(t){return{"max-width":t}};function Jo(t,e){if(1&t&&(s.TgZ(0,"td",37),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Oo,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),s.xp6(1),s.hij(" ",null==t?null:t.nodeId," ")}}function Yo(t,e){1&t&&(s.TgZ(0,"th",38),s._uU(1," Alias "),s.qZA())}const Po=function(t){return{"mr-0":t}};function Ro(t,e){if(1&t&&s._UZ(0,"span",42),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Po,t.screenSize===t.screenSizeEnum.XS))}}function Mo(t,e){if(1&t&&s._UZ(0,"span",43),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Po,t.screenSize===t.screenSizeEnum.XS))}}function Qo(t,e){if(1&t&&(s.TgZ(0,"td",39),s.YNc(1,Ro,1,3,"span",40),s.YNc(2,Mo,1,3,"span",41),s._uU(3),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(4,Oo,n.screenSize===n.screenSizeEnum.XS?"10rem":"25rem")),s.xp6(1),s.Q6J("ngIf","CONNECTED"===t.state),s.xp6(1),s.Q6J("ngIf","DISCONNECTED"===t.state),s.xp6(1),s.hij(" ",null==t?null:t.alias," ")}}function Eo(t,e){1&t&&(s.TgZ(0,"th",36),s._uU(1," State "),s.qZA())}function Bo(t,e){if(1&t&&(s.TgZ(0,"td",44),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",null==t?null:t.state," ")}}function Ho(t,e){1&t&&(s.TgZ(0,"th",36),s._uU(1," Network Address "),s.qZA())}function zo(t,e){if(1&t&&(s.TgZ(0,"td",44),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",null==t?null:t.address," ")}}function Vo(t,e){1&t&&(s.TgZ(0,"th",36),s._uU(1," Channels "),s.qZA())}function Go(t,e){if(1&t&&(s.TgZ(0,"td",44),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",null==t?null:t.channels," ")}}function $o(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",45),s.TgZ(1,"div",46),s.TgZ(2,"mat-select",47),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",48),s.NdJ("click",function(){return s.CHM(t),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Xo(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-option",48),s.NdJ("click",function(){s.CHM(t);const e=s.oxw().$implicit;return s.oxw().onPeerDetach(e)}),s._uU(1,"Disconnect"),s.qZA()}}function Wo(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"mat-option",48),s.NdJ("click",function(){s.CHM(t);const e=s.oxw().$implicit;return s.oxw().onConnectPeer(e)}),s._uU(1,"Reconnect"),s.qZA()}}function Ko(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",49),s.TgZ(1,"div",46),s.TgZ(2,"mat-select",47),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",48),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onPeerClick(n,e)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",48),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().onOpenChannel(e)}),s._uU(7,"Open Channel"),s.qZA(),s.YNc(8,Xo,2,0,"mat-option",50),s.YNc(9,Wo,2,0,"mat-option",50),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=e.$implicit;s.xp6(8),s.Q6J("ngIf","CONNECTED"===t.state),s.xp6(1),s.Q6J("ngIf","DISCONNECTED"===t.state)}}function jo(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No connected peers."),s.qZA())}function ts(t,e){if(1&t&&(s.TgZ(0,"td",51),s.YNc(1,jo,2,0,"p",52),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)}}const es=function(t){return{"display-none":t}};function ns(t,e){if(1&t&&s._UZ(0,"tr",53),2&t){const t=s.oxw();s.Q6J("ngClass",s.VKq(1,es,(null==t.peers?null:t.peers.data)&&(null==t.peers||null==t.peers.data?null:t.peers.data.length)>0))}}function is(t,e){1&t&&s._UZ(0,"tr",54)}function as(t,e){if(1&t&&s._UZ(0,"tr",55),2&t){const t=e.$implicit,n=s.oxw();s.Q6J("@newlyAddedRowAnimation",t.pub_key===n.newlyAddedPeer&&n.flgAnimate?"added":"notAdded")}}const os=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ss=function(){return["no_peer"]};let ls=(()=>{class t{constructor(t,e,n,i,a,o){this.logger=t,this.store=e,this.rtlEffects=n,this.eclEffects=i,this.actions$=a,this.commonService=o,this.faUsers=g.FVb,this.newlyAddedPeer="",this.flgAnimate=!0,this.displayedColumns=[],this.peerAddress="",this.peersData=[],this.information={},this.availableBalance=0,this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","address","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","address","channels","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","nodeId","address","channels","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchPeers"===t.action&&(this.flgLoading[0]="error")}),this.information=t.information,this.availableBalance=t.onchainBalance.total||0,this.peersData=t.peers,this.loadPeersTable(this.peersData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!1),setTimeout(()=>{this.flgAnimate=!1},3e3),this.logger.info(t)}),this.actions$.pipe((0,m.R)(this.unSubs[1]),(0,h.h)(t=>t.type===x.IH)).subscribe(t=>{this.peerAddress=void 0,this.flgAnimate=!0})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(t,e){const n=[[{key:"nodeId",value:t.nodeId,title:"Public Key",width:100}],[{key:"address",value:t.address,title:"Address",width:50},{key:"alias",value:t.alias,title:"Alias",width:50}],[{key:"state",value:this.commonService.titleCase(t.state),title:"State",width:50},{key:"channels",value:t.channels,title:"Channels",width:50}]];this.store.dispatch(new st.wu({data:{type:f.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:t.nodeId,message:n}}))}onConnectPeer(t){this.store.dispatch(new st.wu({data:{message:{peer:t.nodeId?t:null,information:this.information,balance:this.availableBalance},component:Uo}}))}onOpenChannel(t){this.store.dispatch(new st.wu({data:{alertTitle:"Open Channel",message:{peer:t,information:this.information,balance:this.availableBalance},newlyAdded:!1,component:ca}}))}onPeerDetach(t){this.store.dispatch(t.channels>0?new st.wu({data:{type:f.n_.ERROR,alertTitle:"Disconnect Not Allowed",titleMessage:"Channel active with this peer."}}):new st.b_({data:{type:f.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(t.alias?t.alias:t.nodeId),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[3])).subscribe(e=>{e&&(this.store.dispatch(new st.Fk("Disconnecting Peer...")),this.store.dispatch(new x.hF({nodeId:t.nodeId})))})}applyFilter(t){this.peers.filter=t.value.trim().toLowerCase()}loadPeersTable(t){this.peers=new at.by(t?[...t]:[]),this.peers.sort=this.sort,this.peers.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.peers.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(fe.V),s.Y36(jt.o),s.Y36(A.eX),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-peers"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Peers")}])],decls:42,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["peersForm","ngForm"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["fxLayout","row","fxLayoutAlign","start start"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","nodeId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3",3,"ngStyle",4,"matCellDef"],["matColumnDef","state"],["mat-cell","",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","channels"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","",1,"px-3"],["mat-cell","",1,"px-3",3,"ngStyle"],["class","dot green","matTooltip","Connected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Disconnected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Connected","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Disconnected","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-cell",""],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"button",3),s.NdJ("click",function(){return e.onConnectPeer({})}),s._uU(4,"Add Peer"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"div",5),s.TgZ(7,"div",6),s._UZ(8,"fa-icon",7),s.TgZ(9,"span",8),s._uU(10,"Peers"),s.qZA(),s.qZA(),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"div",10),s.TgZ(13,"input",11),s.NdJ("keyup",function(t){return e.applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(14,"div",12),s.YNc(15,Do,1,0,"mat-progress-bar",13),s.TgZ(16,"table",14,15),s.ynx(18,16),s.YNc(19,Io,2,0,"th",17),s.YNc(20,Jo,2,4,"td",18),s.BQk(),s.ynx(21,19),s.YNc(22,Yo,2,0,"th",20),s.YNc(23,Qo,4,6,"td",21),s.BQk(),s.ynx(24,22),s.YNc(25,Eo,2,0,"th",17),s.YNc(26,Bo,2,1,"td",23),s.BQk(),s.ynx(27,24),s.YNc(28,Ho,2,0,"th",17),s.YNc(29,zo,2,1,"td",23),s.BQk(),s.ynx(30,25),s.YNc(31,Vo,2,0,"th",17),s.YNc(32,Go,2,1,"td",23),s.BQk(),s.ynx(33,26),s.YNc(34,$o,6,0,"th",27),s.YNc(35,Ko,10,2,"td",28),s.BQk(),s.ynx(36,29),s.YNc(37,ts,2,1,"td",30),s.BQk(),s.YNc(38,ns,1,3,"tr",31),s.YNc(39,is,1,0,"tr",32),s.YNc(40,as,1,1,"tr",33),s.qZA(),s.qZA(),s._UZ(41,"mat-paginator",34),s.qZA(),s.qZA()),2&t&&(s.xp6(8),s.Q6J("icon",e.faUsers),s.xp6(7),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.peers)("ngClass",s.VKq(11,os,"error"===e.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(13,ss)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,lt._Y,lt.JL,lt.F,b.lW,T.BN,I.KE,rt.Nt,Y.$V,i.O5,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,i.PC,L.Zl,O.gM,dt.gD,dt.$L,mt.ey,at.yh,at.Q2,at.XQ,at.Gk],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-nodeId[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-nodeId[_ngcontent-%COMP%]{padding-right:2rem}.mat-column-address[_ngcontent-%COMP%]{flex:1 1 15%;width:15%}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[yt.Q]}}),t})();const rs=["queryRoutesForm"];function cs(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Destination Node ID is required."),s.qZA())}function us(t,e){1&t&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function ds(t,e){1&t&&s._UZ(0,"mat-progress-bar",31)}function ms(t,e){1&t&&(s.TgZ(0,"th",32),s._uU(1," Alias "),s.qZA())}function hs(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",null==t?null:t.alias," ")}}function ps(t,e){1&t&&(s.TgZ(0,"th",32),s._uU(1," ID "),s.qZA())}function gs(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.hij(" ",null==t?null:t.nodeId," ")}}function fs(t,e){1&t&&(s.TgZ(0,"th",34),s.TgZ(1,"span",35),s._uU(2,"Actions"),s.qZA(),s.qZA())}function xs(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",36),s.TgZ(1,"button",37),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onHopClick(n,e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Zs(t,e){1&t&&s._UZ(0,"tr",38)}function ys(t,e){1&t&&s._UZ(0,"tr",39)}const As=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}};let ws=(()=>{class t{constructor(t,e,n){this.store=t,this.eclEffects=e,this.commonService=n,this.nodeId="",this.amount=0,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=g.FpQ,this.faExclamationTriangle=g.eHv,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","nodeId","actions"])}ngOnInit(){this.qrHops=new at.by([]),this.eclEffects.setQueryRoutes.pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.qrHops.data=[],t?(this.flgLoading[0]=!1,this.qrHops=new at.by([...t]),this.qrHops.data=t):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null})}onQueryRoutes(){if(!this.nodeId||!this.amount)return!0;this.qrHops.data=[],this.flgLoading[0]=!0,this.store.dispatch(new x.bm({nodeId:this.nodeId,amount:1e3*this.amount}))}resetData(){this.nodeId="",this.amount=0,this.flgLoading[0]=!1,this.qrHops.data=[],this.form.resetForm()}onHopClick(t,e){this.store.dispatch(new st.wu({data:{type:f.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"alias",value:t.alias,title:"Alias",width:100,type:f.Gi.STRING}],[{key:"nodeId",value:t.nodeId,title:"Node ID",width:100,type:f.Gi.STRING}]]}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(y.yh),s.Y36(jt.o),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-query-routes"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(rs,7)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.form=t.first)}},decls:39,vars:16,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Node ID","name","nodeId","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","mt-2","mb-1"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","nodeId"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-4","pr-3"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.NdJ("ngSubmit",function(){return s.CHM(t),s.MAs(2).form.valid&&e.onQueryRoutes()}),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span"),s._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),s.qZA(),s.qZA(),s.TgZ(7,"mat-form-field",5),s.TgZ(8,"input",6,7),s.NdJ("ngModelChange",function(t){return e.nodeId=t}),s.qZA(),s.YNc(10,cs,2,0,"mat-error",8),s.qZA(),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(t){return e.amount=t}),s.qZA(),s.YNc(13,us,2,0,"mat-error",8),s.qZA(),s.TgZ(14,"div",11),s.TgZ(15,"button",12),s.NdJ("click",function(){return e.resetData()}),s._uU(16,"Clear"),s.qZA(),s.TgZ(17,"button",13),s._uU(18,"Query Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"div",14),s.TgZ(20,"div",15),s._UZ(21,"fa-icon",16),s.TgZ(22,"span",17),s._uU(23,"Transaction Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(24,"div",18),s.YNc(25,ds,1,0,"mat-progress-bar",19),s.TgZ(26,"table",20,21),s.ynx(28,22),s.YNc(29,ms,2,0,"th",23),s.YNc(30,hs,2,1,"td",24),s.BQk(),s.ynx(31,25),s.YNc(32,ps,2,0,"th",23),s.YNc(33,gs,2,1,"td",24),s.BQk(),s.ynx(34,26),s.YNc(35,fs,3,0,"th",27),s.YNc(36,xs,3,0,"td",28),s.BQk(),s.YNc(37,Zs,1,0,"tr",29),s.YNc(38,ys,1,0,"tr",30),s.qZA(),s.qZA(),s.qZA()}2&t&&(s.xp6(4),s.Q6J("icon",e.faExclamationTriangle),s.xp6(4),s.Q6J("ngModel",e.nodeId),s.xp6(2),s.Q6J("ngIf",!e.nodeId),s.xp6(2),s.Q6J("ngModel",e.amount)("step",1e3)("min",0),s.xp6(1),s.Q6J("ngIf",!e.amount),s.xp6(8),s.Q6J("icon",e.faRoute),s.xp6(4),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.qrHops)("ngClass",s.VKq(14,As,"error"===e.flgLoading[0])),s.xp6(11),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns))},directives:[l.xw,l.yH,lt._Y,lt.JL,lt.F,l.Wh,T.BN,I.KE,rt.Nt,lt.Fj,lt.Q7,lt.JJ,lt.On,i.O5,lt.wV,lt.qQ,ut.q,b.lW,Y.$V,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.as,at.nj,I.TO,r.pW,at.ge,it.nU,at.ev,at.XQ,at.Gk],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function Ts(t,e){1&t&&s._UZ(0,"mat-progress-bar",29)}function vs(t,e){1&t&&(s.TgZ(0,"th",30),s._uU(1," State "),s.qZA())}function qs(t,e){if(1&t&&(s.TgZ(0,"span",36),s._UZ(1,"fa-icon",37),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("icon",t.faEyeSlash)}}function Cs(t,e){if(1&t&&(s.TgZ(0,"span",38),s._UZ(1,"fa-icon",37),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("icon",t.faEye)}}const bs=function(t){return{"max-width":t}};function Ss(t,e){if(1&t&&(s.TgZ(0,"td",31),s.TgZ(1,"div",32),s.YNc(2,qs,2,1,"span",33),s.YNc(3,Cs,2,1,"span",34),s.TgZ(4,"span",35),s._uU(5),s.ALo(6,"titlecase"),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(6,bs,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(1),s.Q6J("ngIf",0===t.channelFlags),s.xp6(1),s.Q6J("ngIf",0!==t.channelFlags),s.xp6(2),s.Oqu(s.lcZ(6,4,null==t?null:t.state))}}function Ls(t,e){1&t&&(s.TgZ(0,"th",30),s._uU(1," Short Channel ID "),s.qZA())}function Fs(t,e){if(1&t&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(null==t?null:t.shortChannelId)}}function _s(t,e){1&t&&(s.TgZ(0,"th",30),s._uU(1," Alias "),s.qZA())}function ks(t,e){if(1&t&&(s.TgZ(0,"td",31),s.TgZ(1,"div",32),s.TgZ(2,"span",35),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&t){const t=e.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(2,bs,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(2),s.Oqu(t.alias)}}function Ns(t,e){1&t&&(s.TgZ(0,"th",39),s._uU(1," Local Balance (Sats) "),s.qZA())}function Us(t,e){if(1&t&&(s.TgZ(0,"td",31),s.TgZ(1,"span",40),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function Ds(t,e){1&t&&(s.TgZ(0,"th",39),s._uU(1," Remote Balance (Sats) "),s.qZA())}function Is(t,e){if(1&t&&(s.TgZ(0,"td",31),s.TgZ(1,"span",40),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function Os(t,e){1&t&&(s.TgZ(0,"th",41),s._uU(1,"Balance Score "),s.qZA())}function Js(t,e){if(1&t&&(s.TgZ(0,"td",42),s.TgZ(1,"div",43),s.TgZ(2,"mat-hint",44),s._uU(3),s.ALo(4,"number"),s.qZA(),s.qZA(),s._UZ(5,"mat-progress-bar",45),s.qZA()),2&t){const t=e.$implicit;s.xp6(3),s.Oqu(s.lcZ(4,2,(null==t?null:t.balancedness)||0)),s.xp6(2),s.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function Ys(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",46),s.TgZ(1,"div",47),s.TgZ(2,"mat-select",48),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",49),s.NdJ("click",function(){return s.CHM(t),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ps(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",50),s.TgZ(1,"div",51),s.TgZ(2,"mat-select",52),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",49),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw().onChannelClick(n,e)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",49),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().onChannelClose(e,!0)}),s._uU(7,"Force Close"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Rs(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No inactive channels available."),s.qZA())}function Ms(t,e){if(1&t&&(s.TgZ(0,"td",53),s.YNc(1,Rs,2,0,"p",54),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)}}const Qs=function(t){return{"display-none":t}};function Es(t,e){if(1&t&&s._UZ(0,"tr",55),2&t){const t=s.oxw();s.Q6J("ngClass",s.VKq(1,Qs,(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function Bs(t,e){1&t&&s._UZ(0,"tr",56)}function Hs(t,e){1&t&&s._UZ(0,"tr",57)}const zs=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Vs=function(){return["no_channel"]};let Gs=(()=>{class t{constructor(t,e,n,i,a){this.logger=t,this.store=e,this.rtlEffects=n,this.eclEffects=i,this.commonService=a,this.faEye=g.Mdf,this.faEyeSlash=g.Aq,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=f.vn,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS||this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["state","alias","toLocal","toRemote","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","shortChannelId","alias","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","shortChannelId","alias","toLocal","toRemote","balancedness","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{t.effectErrors.forEach(t=>{"FetchChannels"===t.action&&(this.flgLoading[0]="error")}),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.inactiveChannels=t.inactiveChannels,this.loadChannelsTable(),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!t.inactiveChannels),this.logger.info(t)})}ngAfterViewInit(){this.inactiveChannels.length>0&&this.loadChannelsTable()}onChannelClose(t,e){this.store.dispatch(new st.b_({data:{type:f.n_.CONFIRM,alertTitle:e?"Force Close Channel":"Close Channel",titleMessage:e?"Force closing channel: "+t.channelId:"Closing channel: "+t.channelId,noBtnText:"Cancel",yesBtnText:e?"Force Close":"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[1])).subscribe(n=>{n&&(this.store.dispatch(new st.Fk(e?"Force Closing Channel...":"Closing Channel...")),this.store.dispatch(new x.e8({channelId:t.channelId,force:e})))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLocaleLowerCase()}onChannelClick(t,e){this.store.dispatch(new st.wu({data:{channel:t,channelsType:"inactive",component:qa}}))}loadChannelsTable(){this.inactiveChannels.sort(function(t,e){return t.alias===e.alias?0:e.alias?1:-1}),this.channels=new at.by([...this.inactiveChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"InactiveChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(fe.V),s.Y36(jt.o),s.Y36(w.v))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-channel-inactive-table"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Channels")}])],decls:36,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","shortChannelId"],["matColumnDef","alias"],["matColumnDef","toLocal"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","toRemote"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,Ts,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,vs,2,0,"th",10),s.YNc(11,Ss,7,8,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,Ls,2,0,"th",10),s.YNc(14,Fs,2,1,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,_s,2,0,"th",10),s.YNc(17,ks,4,4,"td",11),s.BQk(),s.ynx(18,14),s.YNc(19,Ns,2,0,"th",15),s.YNc(20,Us,4,4,"td",11),s.BQk(),s.ynx(21,16),s.YNc(22,Ds,2,0,"th",15),s.YNc(23,Is,4,4,"td",11),s.BQk(),s.ynx(24,17),s.YNc(25,Os,2,0,"th",18),s.YNc(26,Js,6,4,"td",19),s.BQk(),s.ynx(27,20),s.YNc(28,Ys,6,0,"th",21),s.YNc(29,Ps,8,0,"td",22),s.BQk(),s.ynx(30,23),s.YNc(31,Ms,2,1,"td",24),s.BQk(),s.YNc(32,Es,1,3,"tr",25),s.YNc(33,Bs,1,0,"tr",26),s.YNc(34,Hs,1,0,"tr",27),s.qZA(),s.qZA(),s._UZ(35,"mat-paginator",28),s.qZA()),2&t&&(s.xp6(4),s.Q6J("ngModel",e.selFilter),s.xp6(2),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.channels)("ngClass",s.VKq(11,zs,"error"===e.flgLoading[0])),s.xp6(25),s.Q6J("matFooterRowDef",s.DdM(13,Vs)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,I.KE,rt.Nt,lt.Fj,lt.JJ,lt.On,Y.$V,i.O5,at.BZ,it.YE,i.mk,L.oO,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,r.pW,at.ge,it.nU,at.ev,i.PC,L.Zl,O.gM,T.BN,I.bx,dt.gD,dt.$L,mt.ey,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.rS,i.JJ],styles:[".mat-column-state[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-state[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:3rem;flex:0 0 20%;width:20%}.mat-column-shortChannelId[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{flex:1 1 15%;width:15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-shortChannelId[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),t})();function $s(t,e){if(1&t&&(s.TgZ(0,"div",5),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.errorMessage)}}function Xs(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",6),s._UZ(1,"div",7),s.TgZ(2,"mat-form-field",8),s.TgZ(3,"input",9),s.NdJ("ngModelChange",function(e){return s.CHM(t),s.oxw().filterValue=e})("input",function(){return s.CHM(t),s.oxw().applyFilter()})("keyup",function(){return s.CHM(t),s.oxw().applyFilter()}),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.xp6(3),s.Q6J("ngModel",t.filterValue)}}function Ws(t,e){1&t&&(s.TgZ(0,"th",31),s._uU(1,"Date/Time"),s.qZA())}function Ks(t,e){if(1&t&&(s.TgZ(0,"td",32),s._uU(1),s.ALo(2,"date"),s.qZA()),2&t){const t=e.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,null==t?null:t.timestamp,"dd/MMM/YYYY HH:mm"))}}function js(t,e){1&t&&(s.TgZ(0,"th",31),s._uU(1,"In Channel"),s.qZA())}const tl=function(t){return{"max-width":t}};function el(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,tl,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(1),s.Oqu(null==t?null:t.fromChannelAlias)}}function nl(t,e){1&t&&(s.TgZ(0,"th",31),s._uU(1,"Out Channel"),s.qZA())}function il(t,e){if(1&t&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,tl,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(1),s.Oqu(null==t?null:t.toChannelAlias)}}function al(t,e){1&t&&(s.TgZ(0,"th",34),s._uU(1,"Amount In (Sats)"),s.qZA())}function ol(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==t?null:t.amountIn))}}function sl(t,e){1&t&&(s.TgZ(0,"th",34),s._uU(1,"Amount Out (Sats)"),s.qZA())}function ll(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==t?null:t.amountOut))}}function rl(t,e){1&t&&(s.TgZ(0,"th",34),s._uU(1,"Fee Earned (Sats)"),s.qZA())}function cl(t,e){if(1&t&&(s.TgZ(0,"td",32),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,(null==t?null:t.amountIn)-(null==t?null:t.amountOut)))}}function ul(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"th",36),s.TgZ(1,"div",37),s.TgZ(2,"mat-select",38),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",39),s.NdJ("click",function(){return s.CHM(t),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function dl(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"td",40),s.TgZ(1,"button",41),s.NdJ("click",function(e){const n=s.CHM(t).$implicit;return s.oxw(2).onForwardingEventClick(n,e)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function ml(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No forwarding event available."),s.qZA())}function hl(t,e){if(1&t&&(s.TgZ(0,"td",42),s.YNc(1,ml,2,0,"p",43),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)}}const pl=function(t){return{"display-none":t}};function gl(t,e){if(1&t&&s._UZ(0,"tr",44),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,pl,(null==t.forwardingHistoryEvents?null:t.forwardingHistoryEvents.data)&&(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)>0))}}function fl(t,e){1&t&&s._UZ(0,"tr",45)}function xl(t,e){1&t&&s._UZ(0,"tr",46)}const Zl=function(){return["no_event"]};function yl(t,e){if(1&t&&(s.TgZ(0,"div",10),s.TgZ(1,"table",11,12),s.ynx(3,13),s.YNc(4,Ws,2,0,"th",14),s.YNc(5,Ks,3,4,"td",15),s.BQk(),s.ynx(6,16),s.YNc(7,js,2,0,"th",14),s.YNc(8,el,2,4,"td",17),s.BQk(),s.ynx(9,18),s.YNc(10,nl,2,0,"th",14),s.YNc(11,il,2,4,"td",17),s.BQk(),s.ynx(12,19),s.YNc(13,al,2,0,"th",20),s.YNc(14,ol,4,3,"td",15),s.BQk(),s.ynx(15,21),s.YNc(16,sl,2,0,"th",20),s.YNc(17,ll,4,3,"td",15),s.BQk(),s.ynx(18,22),s.YNc(19,rl,2,0,"th",20),s.YNc(20,cl,4,3,"td",15),s.BQk(),s.ynx(21,23),s.YNc(22,ul,6,0,"th",24),s.YNc(23,dl,3,0,"td",25),s.BQk(),s.ynx(24,26),s.YNc(25,hl,2,1,"td",27),s.BQk(),s.YNc(26,gl,1,3,"tr",28),s.YNc(27,fl,1,0,"tr",29),s.YNc(28,xl,1,0,"tr",30),s.qZA(),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Q6J("dataSource",t.forwardingHistoryEvents),s.xp6(25),s.Q6J("matFooterRowDef",s.DdM(5,Zl)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns)}}const Al=function(t){return{"error-border":t,"padding-gap-x":!0}};let wl=(()=>{class t{constructor(t,e,n,i){this.logger=t,this.commonService=e,this.store=n,this.datePipe=i,this.eventsData=[],this.filterValue="",this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","fee","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","amountOut","fee","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.eventsData.length<=0&&(this.errorMessage="",t.effectErrors.forEach(t=>{"FetchPayments"===t.action&&(this.errorMessage="object"==typeof t.message?JSON.stringify(t.message):t.message)}),this.eventsData=t.payments&&t.payments.relayed?t.payments.relayed:[],this.eventsData.length>0&&this.sort&&this.paginator&&this.loadForwardingEventsTable(this.eventsData),this.logger.info(this.eventsData))})}ngAfterViewInit(){this.eventsData.length>0&&this.loadForwardingEventsTable(this.eventsData)}ngOnChanges(t){t.eventsData&&(this.eventsData=t.eventsData.currentValue,t.eventsData.firstChange||this.loadForwardingEventsTable(this.eventsData)),t.filterValue&&!t.filterValue.firstChange&&this.applyFilter()}onForwardingEventClick(t,e){const n=[[{key:"paymentHash",value:t.paymentHash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"timestamp",value:Math.round(t.timestamp/1e3),title:"Date/Time",width:50,type:f.Gi.DATE_TIME},{key:"fee",value:t.amountIn-t.amountOut,title:"Fee Earned (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"amountIn",value:t.amountIn,title:"Amount In (Sats)",width:50,type:f.Gi.NUMBER},{key:"amountOut",value:t.amountOut,title:"Amount Out (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"fromChannelAlias",value:t.fromChannelAlias,title:"From Channel Alias",width:50,type:f.Gi.STRING},{key:"fromShortChannelId",value:t.fromShortChannelId,title:"From Short Channel ID",width:50,type:f.Gi.STRING}],[{key:"fromChannelId",value:t.fromChannelId,title:"From Channel Id",width:100,type:f.Gi.STRING}],[{key:"toChannelAlias",value:t.toChannelAlias,title:"To Channel Alias",width:50,type:f.Gi.STRING},{key:"toShortChannelId",value:t.toShortChannelId,title:"To Short Channel ID",width:50,type:f.Gi.STRING}],[{key:"toChannelId",value:t.toChannelId,title:"To Channel Id",width:100,type:f.Gi.STRING}]];this.store.dispatch(new st.wu({data:{type:f.n_.INFORMATION,alertTitle:"Event Information",message:n}}))}loadForwardingEventsTable(t){this.forwardingHistoryEvents=new at.by([...t]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(t,e)=>{switch(e){case"fee":return t.amountIn-t.amountOut;default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.forwardingHistoryEvents.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.forwardingHistoryEvents.paginator=this.paginator,this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(i.uU))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-forwarding-history"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(nt.NW,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sort=t.first),s.iGM(t=s.CRH())&&(e.paginator=t.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Events")}]),s.TTD],decls:5,vars:9,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[1,"p-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","fromChannelAlias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","toChannelAlias"],["matColumnDef","amountIn"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amountOut"],["matColumnDef","fee"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.YNc(1,$s,2,1,"div",1),s.YNc(2,Xs,4,1,"div",2),s.YNc(3,yl,29,6,"div",3),s._UZ(4,"mat-paginator",4),s.qZA()),2&t&&(s.Q6J("ngClass",s.VKq(7,Al,""!==e.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==e.errorMessage),s.xp6(1),s.Q6J("ngIf",""===e.errorMessage),s.xp6(1),s.Q6J("ngIf",""===e.errorMessage),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,i.mk,L.oO,i.O5,nt.NW,l.yH,I.KE,rt.Nt,lt.Fj,lt.JJ,lt.On,Y.$V,at.BZ,it.YE,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,at.ge,it.nU,at.ev,i.PC,L.Zl,dt.gD,dt.$L,mt.ey,b.lW,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.uU,i.JJ],styles:[".mat-column-fromAlias[_ngcontent-%COMP%]{padding-left:2rem}.mat-column-fromAlias[_ngcontent-%COMP%], .mat-column-toAlias[_ngcontent-%COMP%]{flex:1 1 20%;width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-toAlias[_ngcontent-%COMP%]{padding-left:1rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const Tl=["tableOut"],vl=["paginatorIn"],ql=["paginatorOut"];function Cl(t,e){if(1&t&&(s.TgZ(0,"div",3),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.errorMessage)}}function bl(t,e){1&t&&(s.TgZ(0,"th",35),s._uU(1,"Channel ID"),s.qZA())}const Sl=function(t){return{"max-width":t}};function Ll(t,e){if(1&t&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,Sl,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),s.xp6(1),s.Oqu(t.channelId)}}function Fl(t,e){1&t&&(s.TgZ(0,"th",35),s._uU(1,"Peer Alias"),s.qZA())}function _l(t,e){if(1&t&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,Sl,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),s.xp6(1),s.Oqu(t.alias)}}function kl(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Events"),s.qZA())}function Nl(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.events))}}function Ul(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Amount (Sats)"),s.qZA())}function Dl(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.totalAmount))}}function Il(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Fee (Sats)"),s.qZA())}function Ol(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.totalFee))}}function Jl(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No incoming routing peer available."),s.qZA())}function Yl(t,e){if(1&t&&(s.TgZ(0,"td",40),s.YNc(1,Jl,2,0,"p",41),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)}}const Pl=function(t){return{"display-none":t}};function Rl(t,e){if(1&t&&s._UZ(0,"tr",42),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Pl,(null==t.RoutingPeersIncoming?null:t.RoutingPeersIncoming.data)&&(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)>0))}}function Ml(t,e){1&t&&s._UZ(0,"tr",43)}function Ql(t,e){1&t&&s._UZ(0,"tr",44)}function El(t,e){1&t&&(s.TgZ(0,"th",35),s._uU(1,"Channel ID"),s.qZA())}function Bl(t,e){if(1&t&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,Sl,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),s.xp6(1),s.Oqu(t.channelId)}}function Hl(t,e){1&t&&(s.TgZ(0,"th",35),s._uU(1,"Peer Alias"),s.qZA())}function zl(t,e){if(1&t&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&t){const t=e.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,Sl,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),s.xp6(1),s.Oqu(t.alias)}}function Vl(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Events"),s.qZA())}function Gl(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.events))}}function $l(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Amount (Sats)"),s.qZA())}function Xl(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.totalAmount))}}function Wl(t,e){1&t&&(s.TgZ(0,"th",37),s._uU(1,"Fee (Sats)"),s.qZA())}function Kl(t,e){if(1&t&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&t){const t=e.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,t.totalFee))}}function jl(t,e){1&t&&(s.TgZ(0,"p"),s._uU(1,"No outgoing routing peer available."),s.qZA())}function tr(t,e){if(1&t&&(s.TgZ(0,"td",40),s.YNc(1,jl,2,0,"p",41),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)}}function er(t,e){if(1&t&&s._UZ(0,"tr",42),2&t){const t=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Pl,(null==t.RoutingPeersOutgoing?null:t.RoutingPeersOutgoing.data)&&(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)>0))}}function nr(t,e){1&t&&s._UZ(0,"tr",43)}function ir(t,e){1&t&&s._UZ(0,"tr",44)}const ar=function(t,e){return{"mt-2":t,"mt-1":e}},or=function(){return["no_incoming_event"]},sr=function(t){return{"mt-2":t}},lr=function(){return["no_outgoing_event"]};function rr(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",4),s.TgZ(1,"div",5),s.TgZ(2,"div",6),s.TgZ(3,"div",7),s._uU(4,"Incoming"),s.qZA(),s.TgZ(5,"mat-form-field",8),s.TgZ(6,"input",9),s.NdJ("keyup",function(e){return s.CHM(t),s.oxw().applyIncomingFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",10),s.TgZ(8,"table",11,12),s.ynx(10,13),s.YNc(11,bl,2,0,"th",14),s.YNc(12,Ll,2,4,"td",15),s.BQk(),s.ynx(13,16),s.YNc(14,Fl,2,0,"th",14),s.YNc(15,_l,2,4,"td",15),s.BQk(),s.ynx(16,17),s.YNc(17,kl,2,0,"th",18),s.YNc(18,Nl,4,3,"td",19),s.BQk(),s.ynx(19,20),s.YNc(20,Ul,2,0,"th",18),s.YNc(21,Dl,4,3,"td",19),s.BQk(),s.ynx(22,21),s.YNc(23,Il,2,0,"th",18),s.YNc(24,Ol,4,3,"td",19),s.BQk(),s.ynx(25,22),s.YNc(26,Yl,2,1,"td",23),s.BQk(),s.YNc(27,Rl,1,3,"tr",24),s.YNc(28,Ml,1,0,"tr",25),s.YNc(29,Ql,1,0,"tr",26),s.qZA(),s.qZA(),s._UZ(30,"mat-paginator",27,28),s.qZA(),s.TgZ(32,"div",29),s.TgZ(33,"div",6),s.TgZ(34,"div",7),s._uU(35,"Outgoing"),s.qZA(),s.TgZ(36,"mat-form-field",8),s.TgZ(37,"input",9),s.NdJ("keyup",function(e){return s.CHM(t),s.oxw().applyOutgoingFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(38,"div",30),s.TgZ(39,"table",31,32),s.ynx(41,13),s.YNc(42,El,2,0,"th",14),s.YNc(43,Bl,2,4,"td",15),s.BQk(),s.ynx(44,16),s.YNc(45,Hl,2,0,"th",14),s.YNc(46,zl,2,4,"td",15),s.BQk(),s.ynx(47,17),s.YNc(48,Vl,2,0,"th",18),s.YNc(49,Gl,4,3,"td",19),s.BQk(),s.ynx(50,20),s.YNc(51,$l,2,0,"th",18),s.YNc(52,Xl,4,3,"td",19),s.BQk(),s.ynx(53,21),s.YNc(54,Wl,2,0,"th",18),s.YNc(55,Kl,4,3,"td",19),s.BQk(),s.ynx(56,33),s.YNc(57,tr,2,1,"td",23),s.BQk(),s.YNc(58,er,1,3,"tr",24),s.YNc(59,nr,1,0,"tr",25),s.YNc(60,ir,1,0,"tr",26),s.qZA(),s._UZ(61,"mat-paginator",27,34),s.qZA(),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.xp6(2),s.Q6J("ngClass",s.WLB(18,ar,t.screenSize===t.screenSizeEnum.XS,t.screenSize===t.screenSizeEnum.SM)),s.xp6(6),s.Q6J("dataSource",t.RoutingPeersIncoming),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(21,or)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS),s.xp6(3),s.Q6J("ngClass",s.VKq(22,sr,t.screenSize!==t.screenSizeEnum.LG)),s.xp6(6),s.Q6J("dataSource",t.RoutingPeersOutgoing),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(24,lr)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}const cr=function(t){return{"error-border":t,"padding-gap":!0}};let ur=(()=>{class t{constructor(t,e,n,i){this.logger=t,this.commonService=e,this.store=n,this.actions$=i,this.routingPeersData=[],this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","totalFee"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","events","totalFee"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","events","totalAmount","totalFee"]):(this.flgSticky=!0,this.displayedColumns=["channelId","alias","events","totalAmount","totalFee"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",t.effectErrors.forEach(t=>{"FetchPayments"===t.action&&(this.errorMessage="object"==typeof t.message?JSON.stringify(t.message):t.message)}),this.routingPeersData=t.payments&&t.payments.relayed?t.payments.relayed:[],this.routingPeersData.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.routingPeersData),this.logger.info(t)})}ngAfterViewInit(){this.routingPeersData.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.routingPeersData)}loadRoutingPeersTable(t){if(t.length>0){const e=this.groupRoutingPeers(t);this.RoutingPeersIncoming=new at.by(e[0]),this.RoutingPeersIncoming.sort=this.sortIn,this.RoutingPeersIncoming.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersIncoming.paginator=this.paginatorIn,this.logger.info(this.RoutingPeersIncoming),this.RoutingPeersOutgoing=new at.by(e[1]),this.RoutingPeersOutgoing.sort=this.sortOut,this.RoutingPeersOutgoing.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersOutgoing.paginator=this.paginatorOut,this.logger.info(this.RoutingPeersOutgoing)}else this.RoutingPeersIncoming=new at.by([]),this.RoutingPeersOutgoing=new at.by([])}groupRoutingPeers(t){const e=[],n=[];return t.forEach(t=>{const i=e.find(e=>e.channelId===t.fromChannelId),a=n.find(e=>e.channelId===t.toChannelId);i?(i.events++,i.totalAmount=+i.totalAmount+ +t.amountIn,i.totalFee=t.amountIn-t.amountOut+ +i.totalFee):e.push({channelId:t.fromChannelId,alias:t.fromChannelAlias,events:1,totalAmount:+t.amountIn,totalFee:t.amountIn-t.amountOut}),a?(a.events++,a.totalAmount=+a.totalAmount+ +t.amountOut,a.totalFee=t.amountIn-t.amountOut+ +a.totalFee):n.push({channelId:t.toChannelId,alias:t.toChannelAlias,events:1,totalAmount:+t.amountOut,totalFee:t.amountIn-t.amountOut})}),[this.commonService.sortDescByKey(e,"totalFee"),this.commonService.sortDescByKey(n,"totalFee")]}applyIncomingFilter(t){this.RoutingPeersIncoming.filter=t.value.trim().toLowerCase()}applyOutgoingFilter(t){this.RoutingPeersOutgoing.filter=t.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(A.eX))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-routing-peers"]],viewQuery:function(t,e){if(1&t&&(s.Gf(it.YE,5),s.Gf(Tl,5,it.YE),s.Gf(vl,5),s.Gf(ql,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.sortIn=t.first),s.iGM(t=s.CRH())&&(e.sortOut=t.first),s.iGM(t=s.CRH())&&(e.paginatorIn=t.first),s.iGM(t=s.CRH())&&(e.paginatorOut=t.first)}},features:[s._Bn([{provide:nt.ye,useValue:(0,f.pt)("Peers")}])],decls:3,vars:5,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch","class","page-sub-title-container",4,"ngIf"],[1,"p-2"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch",1,"page-sub-title-container"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start end",1,"mb-6"],["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"page-sub-title-container","w-100",3,"ngClass"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mat-table","","matSort","","fxFlex","100",1,"overflow-auto","incoming-table",3,"dataSource"],["tableIn",""],["matColumnDef","channelId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","events"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","totalAmount"],["matColumnDef","totalFee"],["matColumnDef","no_incoming_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["paginatorIn",""],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start"],["fxLayout","row wrap","fxLayoutAlign","end start","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mat-table","","matSort","","fxFlex","100",1,"overflow-auto","outgoing-table",3,"dataSource"],["tableOut",""],["matColumnDef","no_outgoing_event"],["paginatorOut",""],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.YNc(1,Cl,2,1,"div",1),s.YNc(2,rr,63,25,"div",2),s.qZA()),2&t&&(s.Q6J("ngClass",s.VKq(3,cr,""!==e.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==e.errorMessage),s.xp6(1),s.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,i.mk,L.oO,i.O5,l.yH,I.KE,rt.Nt,Y.$V,at.BZ,it.YE,at.w1,at.fO,at.Dz,at.mD,at.Ke,at.as,at.nj,nt.NW,at.ge,it.nU,at.ev,i.PC,L.Zl,at.yh,at.Q2,at.XQ,at.Gk],pipes:[i.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-channelId[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function dr(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",7),s.NdJ("click",function(){const e=s.CHM(t).$implicit;return s.oxw().activeLink=e.link}),s._uU(1),s.qZA()}if(2&t){const t=e.$implicit,n=s.oxw();s.s9C("routerLink",t.link),s.Q6J("active",n.activeLink===t.link),s.xp6(1),s.Oqu(t.name)}}let mr=(()=>{class t{constructor(t){this.router=t,this.faChartBar=g.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,h.h)(t=>t instanceof a.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(a.F0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Reports"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,dr,2,3,"div",6),s.qZA(),s._UZ(9,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(1),s.Q6J("icon",e.faChartBar),s.xp6(7),s.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,T.BN,q.a8,q.dn,et.BU,i.sg,a.lC,et.Nj,a.rH],styles:[""]}),t})();var hr=n(4833),pr=n(4018),gr=n(1905);function fr(t,e){if(1&t&&(s.TgZ(0,"div",8),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&t){const t=s.oxw();s.Q6J("@fadeIn",t.totalFeeSat),s.xp6(1),s.AsE("",s.xi3(2,3,t.totalFeeSat||0,"1.0-2")," Sats/",s.lcZ(3,6,t.filteredEventsBySelectedPeriod.length||0)," Events")}}function xr(t,e){1&t&&(s.TgZ(0,"div",9),s._uU(1,"No fee report for the selected period"),s.qZA())}function Zr(t,e){if(1&t&&(s.TgZ(0,"span"),s.TgZ(1,"span",12),s._uU(2),s.ALo(3,"number"),s.qZA(),s.TgZ(4,"span",12),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA()),2&t){const t=e.model;s.xp6(2),s.hij("Events: ",s.lcZ(3,2,t.extra.totalEvents||0),""),s.xp6(3),s.hij("Fee: ",s.xi3(6,4,t.value||0,"1.0-2"),"")}}function yr(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical",10),s.NdJ("select",function(e){return s.CHM(t),s.oxw().onChartBarSelected(e)})("mouseup",function(e){return s.CHM(t),s.oxw().onChartMouseUp(e)}),s.YNc(1,Zr,7,7,"ng-template",null,11,s.W1O),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("view",t.view)("results",t.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function Ar(t,e){if(1&t&&s._UZ(0,"rtl-ecl-forwarding-history",13),2&t){const t=s.oxw();s.Q6J("eventsData",t.filteredEventsBySelectedPeriod)("filterValue",t.eventFilterValue)}}let wr=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.events=[],this.filteredEventsBySelectedPeriod=[],this.eventFilterValue="",this.totalFeeSat=null,this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.events=t.payments&&t.payments.relayed?t.payments.relayed:[],this.filterForwardingEvents(this.startDate,this.endDate),this.logger.info(t)})}ngAfterViewInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=t.width/10;break;case f.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}filterForwardingEvents(t,e){const n=Math.round(t.getTime()/1e3),i=Math.round(e.getTime()/1e3);this.logger.info("Filtering Forwarding Events Starting at "+new Date(Date.now()).toLocaleString()+" From "+t.toLocaleString()+" To "+e.toLocaleString()),this.filteredEventsBySelectedPeriod=[],this.feeReportData=[],this.totalFeeSat=null,this.events&&this.events.length>0&&(this.events.forEach(t=>{Math.floor(t.timestamp/1e3)>=n&&Math.floor(t.timestamp/1e3)0&&"ngx-charts"===t.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(t){this.eventFilterValue=this.reportPeriod===f.op[1]?t.name+"/"+this.startDate.getFullYear():t.name.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(t){const e=Math.round(t.getTime()/1e3);let n=[];if(this.logger.info("Fee Report Prepare Starting at "+new Date(Date.now()).toLocaleString()+" From "+t.toLocaleString()),this.reportPeriod===f.op[1]){for(let t=0;t<12;t++)n.push({name:f.gg[t].name,value:1e-9,extra:{totalEvents:0}});this.filteredEventsBySelectedPeriod.map(t=>{let e=new Date(t.timestamp).getMonth();n[e].value=n[e].value+(t.amountIn-t.amountOut),n[e].extra.totalEvents=n[e].extra.totalEvents+1,this.totalFeeSat=(this.totalFeeSat?this.totalFeeSat:0)+(t.amountIn-t.amountOut)})}else{for(let e=0;e{let i=Math.floor((Math.floor(t.timestamp/1e3)-e)/this.secondsInADay);n[i].value=n[i].value+(t.amountIn-t.amountOut),n[i].extra.totalEvents=n[i].extra.totalEvents+1,this.totalFeeSat=(this.totalFeeSat?this.totalFeeSat:0)+(t.amountIn-t.amountOut)})}return this.logger.info("Fee Report Prepare Finished at "+new Date(Date.now()).toLocaleString()),n}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.filterForwardingEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?f.gg[t].days+1:f.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-fee-report"]],hostBindings:function(t,e){1&t&&s.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,fr,4,8,"div",3),s.YNc(4,xr,2,0,"div",4),s.TgZ(5,"div",5),s.YNc(6,yr,3,11,"ngx-charts-bar-vertical",6),s.qZA(),s.TgZ(7,"div",5),s.YNc(8,Ar,1,2,"rtl-ecl-forwarding-history",7),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(3),s.Q6J("ngIf",e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),s.xp6(1),s.Q6J("ngIf",e.feeReportData.length<=0||e.filteredEventsBySelectedPeriod.length<=0),s.xp6(2),s.Q6J("ngIf",e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),s.xp6(2),s.Q6J("ngIf",e.filteredEventsBySelectedPeriod.length>0))},directives:[l.xw,l.Wh,l.yH,pr.D,i.O5,gr.K$,wl],pipes:[i.JJ],styles:[""],data:{animation:[hr.J]}}),t})();var Tr=n(6590);function vr(t,e){if(1&t&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.AsE(" Paid ",s.xi3(2,2,t.transactionsReportSummary.amountPaidSelectedPeriod||0,"1.0-2")," Sats/",s.lcZ(3,5,t.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function qr(t,e){if(1&t&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.AsE(" Received ",s.xi3(2,2,t.transactionsReportSummary.amountReceivedSelectedPeriod||0,"1.0-2")," Sats/",s.lcZ(3,5,t.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function Cr(t,e){if(1&t&&(s.TgZ(0,"div",8),s.YNc(1,vr,4,7,"div",9),s.YNc(2,qr,4,7,"div",9),s.qZA()),2&t){const t=s.oxw();s.Q6J("@fadeIn",t.transactionsReportSummary),s.xp6(1),s.Q6J("ngIf",t.transactionsReportSummary.paymentsSelectedPeriod),s.xp6(1),s.Q6J("ngIf",t.transactionsReportSummary.invoicesSelectedPeriod)}}function br(t,e){1&t&&(s.TgZ(0,"div",11),s._uU(1,"No transactions report for the selected period"),s.qZA())}function Sr(t,e){if(1&t&&(s.TgZ(0,"span",14),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&t){const t=e.model;s.xp6(1),s.HOy("",t.name,": ",s.xi3(2,4,t.value||0,"1.0-2"),"/# ","Paid"===t.name?"Payments":"Invoices",": ",s.lcZ(3,7,(null==t.extra?null:t.extra.total)||0),"")}}function Lr(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical-2d",12),s.NdJ("select",function(e){return s.CHM(t),s.oxw().onChartBarSelected(e)})("mouseup",function(e){return s.CHM(t),s.oxw().onChartMouseUp(e)}),s.YNc(1,Sr,4,9,"ng-template",null,13,s.W1O),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("view",t.view)("results",t.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",t.reportPeriod===t.scrollRanges[0]?2:8)}}function Fr(t,e){if(1&t&&s._UZ(0,"rtl-transactions-report-table",15),2&t){const t=s.oxw();s.Q6J("dataList",t.transactionsNonZeroReportData)("dataRange",t.reportPeriod)("filterValue",t.transactionFilterValue)}}let _r=(()=>{class t{constructor(t,e){this.commonService=t,this.store=e,this.scrollRanges=f.op,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[],this.transactionsNonZeroReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.payments=t.payments.sent?t.payments.sent:[],this.invoices=t.invoices?t.invoices:[],(this.payments.length>0||this.invoices.length>0)&&(this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData())})}ngAfterViewInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=t.width/10;break;case f.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}onChartMouseUp(t){"svg"===t.srcElement.tagName&&t.srcElement.classList.length>0&&"ngx-charts"===t.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(t){this.transactionFilterValue=this.reportPeriod===f.op[1]?t.series.toString()+"/"+this.startDate.getFullYear():t.series.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(t,e){const n=Math.round(t.getTime()/1e3),i=Math.round(e.getTime()/1e3);let a=[];this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};let o=this.payments.filter(t=>Math.floor(t.firstPartTimestamp/1e3)>=n&&Math.floor(t.firstPartTimestamp/1e3)"received"===t.status&&t.timestamp>=n&&t.timestamp{let e=new Date(t.firstPartTimestamp).getMonth();this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.recipientAmount,a[e].series[0].value=a[e].series[0].value+t.recipientAmount,a[e].series[0].extra.total=a[e].series[0].extra.total+1}),s.map(t=>{let e=new Date(1e3*t.timestamp).getMonth();this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.amountSettled,a[e].series[1].value=a[e].series[1].value+t.amountSettled,a[e].series[1].extra.total=a[e].series[1].extra.total+1})}else{for(let e=0;e{let e=Math.floor((Math.floor(t.firstPartTimestamp/1e3)-n)/this.secondsInADay);this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.recipientAmount,a[e].series[0].value=a[e].series[0].value+t.recipientAmount,a[e].series[0].extra.total=a[e].series[0].extra.total+1}),s.map(t=>{let e=Math.floor((t.timestamp-n)/this.secondsInADay);this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.amountSettled,a[e].series[1].value=a[e].series[1].value+t.amountSettled,a[e].series[1].extra.total=a[e].series[1].extra.total+1})}return a}prepareTableData(){return this.transactionsReportData.reduce((t,e)=>e.series[0].extra.total>0||e.series[1].extra.total>0?t.concat({date:e.date,amount_paid:e.series[0].value,num_payments:e.series[0].extra.total,amount_received:e.series[1].value,num_invoices:e.series[1].extra.total}):t,[])}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?f.gg[t].days+1:f.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(w.v),s.Y36(y.yh))},t.\u0275cmp=s.Xpm({type:t,selectors:[["rtl-ecl-transactions-report"]],hostBindings:function(t,e){1&t&&s.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[3,"dataList","dataRange","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(t,e){1&t&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,Cr,3,3,"div",3),s.YNc(4,br,2,0,"div",4),s.TgZ(5,"div",5),s.YNc(6,Lr,3,13,"ngx-charts-bar-vertical-2d",6),s.qZA(),s.TgZ(7,"div",5),s.YNc(8,Fr,1,3,"rtl-transactions-report-table",7),s.qZA(),s.qZA(),s.qZA()),2&t&&(s.xp6(3),s.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),s.xp6(1),s.Q6J("ngIf",e.transactionsNonZeroReportData.length<=0),s.xp6(2),s.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),s.xp6(2),s.Q6J("ngIf",e.transactionsNonZeroReportData.length>0))},directives:[l.xw,l.Wh,l.yH,pr.D,i.O5,gr.H5,Tr.g],pipes:[i.JJ],styles:[""],data:{animation:[hr.J]}}),t})();var kr=n(6013),Nr=n(8016);const Ur=a.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:kn,canActivate:[kr.fY]},{path:"onchain",component:mi,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"receive"},{path:"receive",component:Bi,canActivate:[kr.fY]},{path:"send",component:Hi,canActivate:[kr.fY]}]},{path:"connections",component:fi,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:ha,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:to,canActivate:[kr.fY]},{path:"pending",component:wo,canActivate:[kr.fY]},{path:"inactive",component:Gs,canActivate:[kr.fY]}]},{path:"peers",component:ls,data:{sweepAll:!1},canActivate:[kr.fY]}]},{path:"transactions",component:Zi,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:sn,canActivate:[kr.fY]},{path:"invoices",component:Wt,canActivate:[kr.fY]},{path:"queryroutes",component:ws,canActivate:[kr.fY]}]},{path:"routing",component:Ai,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:wl,canActivate:[kr.fY]},{path:"peers",component:ur,canActivate:[kr.fY]}]},{path:"reports",component:mr,canActivate:[kr.fY],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:wr,canActivate:[kr.fY]},{path:"transactions",component:_r,canActivate:[kr.fY]}]},{path:"lookups",component:Qi,canActivate:[kr.fY]},{path:"**",component:Nr.w}]}]);var Dr=n(253);let Ir=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t,bootstrap:[u]}),t.\u0275inj=s.cJS({providers:[kr.fY],imports:[[i.ez,Dr.m,Ur]]}),t})()}}]); \ No newline at end of file diff --git a/angular/432.cc664c98c4074918e24a.js b/angular/432.cc664c98c4074918e24a.js new file mode 100644 index 00000000..20a4e475 --- /dev/null +++ b/angular/432.cc664c98c4074918e24a.js @@ -0,0 +1 @@ +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[432],{1432:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ECLModule:()=>fc});var a=n(1511),i=n(6853),s=n(2865),o=n(1572),l=n(3722),r=n(5994);function c(t,e){1&t&&o._UZ(0,"mat-progress-bar",3)}let u=(()=>{class t{constructor(t){this.router=t,this.loading=!1,this.router.events.subscribe(t=>{switch(!0){case t instanceof i.OD:this.loading=!0;break;case t instanceof i.m2:case t instanceof i.gk:case t instanceof i.Q3:this.loading=!1}})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,c,1,0,"mat-progress-bar",1),o._UZ(2,"router-outlet",null,2),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",e.loading))},directives:[l.xw,l.yH,l.Wh,a.O5,i.lC,r.pW],styles:[""],data:{animation:[s.g]}}),t})();var d=n(9666),m=n(9568),p=n(7810),h=n(5291),g=n(9421),f=n(3869),x=n(964),Z=n(5573),y=n(1084),A=n(7592),C=n(7271),T=n(7439),w=n(8055),S=n(377),v=n(5980),q=n(3691);const b=function(t){return{backgroundColor:t}};function L(t,e){if(1&t&&o._UZ(0,"span",6),2&t){const t=o.oxw();o.Q6J("ngStyle",o.VKq(1,b,null==t.information?null:t.information.color))}}function F(t,e){if(1&t&&(o.TgZ(0,"div"),o.TgZ(1,"h4",1),o._uU(2,"Color"),o.qZA(),o.TgZ(3,"div",2),o._UZ(4,"span",7),o._uU(5),o.ALo(6,"uppercase"),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(4),o.Q6J("ngStyle",o.VKq(4,b,null==t.information?null:t.information.color)),o.xp6(1),o.hij(" ",o.lcZ(6,2,null==t.information?null:t.information.color)," ")}}function I(t,e){if(1&t&&(o.TgZ(0,"span",2),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(t)}}let N=(()=>{class t{constructor(t){this.commonService=t,this.chains=[""]}ngOnChanges(){this.chains=[],this.chains.push("Bitcoin "+(this.information.network?this.commonService.titleCase(this.information.network):"Testnet"))}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[o.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div"),o.TgZ(2,"h4",1),o._uU(3,"Alias"),o.qZA(),o.TgZ(4,"div",2),o._uU(5),o.YNc(6,L,1,3,"span",3),o.qZA(),o.qZA(),o.YNc(7,F,7,6,"div",4),o.TgZ(8,"div"),o.TgZ(9,"h4",1),o._uU(10,"Implementation"),o.qZA(),o.TgZ(11,"div",2),o._uU(12),o.qZA(),o.qZA(),o.TgZ(13,"div"),o.TgZ(14,"h4",1),o._uU(15,"Chain"),o.qZA(),o.YNc(16,I,2,1,"span",5),o.qZA(),o.qZA()),2&t&&(o.xp6(5),o.hij(" ",null==e.information?null:e.information.alias," "),o.xp6(1),o.Q6J("ngIf",!e.showColorFieldSeparately),o.xp6(1),o.Q6J("ngIf",e.showColorFieldSeparately),o.xp6(5),o.Oqu(null!=e.information&&e.information.lnImplementation||null!=e.information&&e.information.version?(null==e.information?null:e.information.lnImplementation)+" "+(null==e.information?null:e.information.version):""),o.xp6(4),o.Q6J("ngForOf",e.chains))},directives:[l.xw,l.yH,l.Wh,a.O5,a.sg,a.PC,S.Zl],pipes:[a.gd],styles:[""]}),t})();function _(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div"),o.TgZ(2,"h4",3),o._uU(3,"Lightning"),o.qZA(),o.TgZ(4,"div",4),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",5),o.qZA(),o.TgZ(8,"div"),o.TgZ(9,"h4",3),o._uU(10,"On-chain"),o.qZA(),o.TgZ(11,"div",4),o._uU(12),o.ALo(13,"number"),o.qZA(),o._UZ(14,"mat-progress-bar",5),o.qZA(),o.TgZ(15,"div"),o.TgZ(16,"h4",3),o._uU(17,"Total"),o.qZA(),o.TgZ(18,"div",4),o._uU(19),o.ALo(20,"number"),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.hij("",o.lcZ(6,5,t.balances.lightning)," Sats"),o.xp6(2),o.s9C("value",t.balances.lightning/t.balances.total*100),o.xp6(5),o.hij("",o.lcZ(13,7,t.balances.onchain)," Sats"),o.xp6(2),o.s9C("value",t.balances.onchain/t.balances.total*100),o.xp6(5),o.hij("",o.lcZ(20,9,t.balances.total)," Sats")}}function D(t,e){if(1&t&&(o.TgZ(0,"div",6),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let k=(()=>{class t{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-balances-info"]],inputs:{balances:"balances",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,_,21,11,"div",0),o.YNc(1,D,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh,r.pW],pipes:[a.JJ],styles:[""]}),t})();var O=n(6283),U=n(6828),R=n(7679),M=n(7038);function J(t,e){if(1&t&&(o.TgZ(0,"div",19),o.TgZ(1,"span",20),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",21),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",22),o._UZ(11,"fa-icon",23),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",24),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",25),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",t.alias||t.shortChannelId),o.s9C("matTooltipDisabled",(t.alias||t.shortChannelId).length<26),o.xp6(1),o.AsE("",o.Dn7(3,9,(null==t?null:t.alias)||(null==t?null:t.shortChannelId),0,24),"",((null==t?null:t.alias)||(null==t?null:t.shortChannelId)).length>25?"...":"",""),o.xp6(6),o.hij("",o.xi3(9,13,(null==t?null:t.toLocal)||0,"1.0-0")," Sats"),o.xp6(3),o.Q6J("icon",n.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,16,(null==t?null:t.balancedness)||0),") "),o.xp6(5),o.hij("",o.xi3(18,18,(null==t?null:t.toRemote)||0,"1.0-0")," Sats"),o.xp6(2),o.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function P(t,e){if(1&t&&(o.TgZ(0,"div",17),o.YNc(1,J,20,21,"div",18),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",t.allChannels)}}function E(t,e){if(1&t&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",7),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",9),o._UZ(11,"fa-icon",10),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",11),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",12),o.qZA(),o.TgZ(20,"div",13),o._UZ(21,"mat-divider",14),o.qZA(),o.TgZ(22,"div",15),o.YNc(23,P,2,1,"div",16),o.qZA(),o.qZA()),2&t){const t=o.oxw(),e=o.MAs(2);o.xp6(8),o.hij("",o.xi3(9,7,(null==t.channelBalances?null:t.channelBalances.localBalance)||0,"1.0-0")," Sats"),o.xp6(3),o.Q6J("icon",t.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,10,(null==t.channelBalances?null:t.channelBalances.balancedness)||0),") "),o.xp6(5),o.hij("",o.xi3(18,12,(null==t.channelBalances?null:t.channelBalances.remoteBalance)||0,"1.0-0")," Sats"),o.xp6(2),o.s9C("value",null!=t.channelBalances&&t.channelBalances.localBalance&&(null==t.channelBalances?null:t.channelBalances.localBalance)>0?+(null==t.channelBalances?null:t.channelBalances.localBalance)/(+(null==t.channelBalances?null:t.channelBalances.localBalance)+ +(null==t.channelBalances?null:t.channelBalances.remoteBalance))*100:0),o.xp6(4),o.Q6J("ngIf",t.allChannels&&(null==t.allChannels?null:t.allChannels.length)>0)("ngIfElse",e)}}function Y(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",26),o._uU(1," No channels available. "),o.TgZ(2,"button",27),o.NdJ("click",function(){return o.CHM(t),o.oxw().goToChannels()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA()}}function Q(t,e){if(1&t&&(o.TgZ(0,"div",28),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let B=(()=>{class t{constructor(t){this.router=t,this.faBalanceScale=h.DL8,this.faDumbbell=h.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/ecl/connections")}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,E,24,15,"div",0),o.YNc(1,Y,4,0,"ng-template",null,1,o.W1O),o.YNc(3,Q,3,1,"ng-template",null,2,o.W1O)),2&t){const t=o.MAs(4);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,l.yH,O.bx,A.BN,U.gM,r.pW,R.d,M.$V,a.sg,v.lW],pipes:[a.JJ,a.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),t})();function H(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Daily"),o.qZA(),o.TgZ(5,"div",5),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div"),o.TgZ(9,"h4",4),o._uU(10,"Weekly"),o.qZA(),o.TgZ(11,"div",5),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.TgZ(14,"div"),o.TgZ(15,"h4",4),o._uU(16,"Monthly"),o.qZA(),o.TgZ(17,"div",5),o._uU(18),o.ALo(19,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(20,"div",3),o.TgZ(21,"div"),o.TgZ(22,"h4",4),o._uU(23,"Transactions"),o.qZA(),o.TgZ(24,"div",5),o._uU(25),o.ALo(26,"number"),o.qZA(),o.qZA(),o.TgZ(27,"div"),o.TgZ(28,"h4",4),o._uU(29,"Transactions"),o.qZA(),o.TgZ(30,"div",5),o._uU(31),o.ALo(32,"number"),o.qZA(),o.qZA(),o.TgZ(33,"div"),o.TgZ(34,"h4",4),o._uU(35,"Transactions"),o.qZA(),o.TgZ(36,"div",5),o._uU(37),o.ALo(38,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.hij("",o.lcZ(7,6,null==t.fees?null:t.fees.daily_fee)," Sats"),o.xp6(6),o.hij("",o.lcZ(13,8,null==t.fees?null:t.fees.weekly_fee)," Sats"),o.xp6(6),o.hij("",o.lcZ(19,10,null==t.fees?null:t.fees.monthly_fee)," Sats"),o.xp6(7),o.Oqu(o.lcZ(26,12,null==t.fees?null:t.fees.daily_txs)),o.xp6(6),o.Oqu(o.lcZ(32,14,null==t.fees?null:t.fees.weekly_txs)),o.xp6(6),o.Oqu(o.lcZ(38,16,null==t.fees?null:t.fees.monthly_txs))}}function z(t,e){if(1&t&&(o.TgZ(0,"div",6),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let V=(()=>{class t{constructor(){this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100}ngOnChanges(){var t;if(null===(t=this.fees)||void 0===t?void 0:t.monthly_fee){this.totalFees=[{name:"Monthly",value:this.fees.monthly_fee},{name:"Weekly",value:this.fees.weekly_fee},{name:"Daily ",value:this.fees.daily_fee}];const t=Math.ceil(Math.log(this.fees.monthly_fee+1)/Math.LN10),e=Math.pow(10,t-1);this.maxFeeValue=Math.ceil(this.fees.monthly_fee/e)*e/5||100,Object.assign(this,this.totalFees)}else this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100,Object.assign(this,this.totalFees)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-fee-info"]],inputs:{fees:"fees",errorMessage:"errorMessage"},features:[o.TTD],decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,H,39,18,"div",0),o.YNc(1,z,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),t})();function G(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Active"),o.qZA(),o.TgZ(5,"div",5),o._UZ(6,"span",6),o._uU(7),o.ALo(8,"number"),o.qZA(),o.qZA(),o.TgZ(9,"div"),o.TgZ(10,"h4",4),o._uU(11,"Pending"),o.qZA(),o.TgZ(12,"div",5),o._UZ(13,"span",7),o._uU(14),o.ALo(15,"number"),o.qZA(),o.qZA(),o.TgZ(16,"div"),o.TgZ(17,"h4",4),o._uU(18,"Inactive"),o.qZA(),o.TgZ(19,"div",5),o._UZ(20,"span",8),o._uU(21),o.ALo(22,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(23,"div",3),o.TgZ(24,"div"),o.TgZ(25,"h4",4),o._uU(26,"Capacity"),o.qZA(),o.TgZ(27,"div",5),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.TgZ(30,"div"),o.TgZ(31,"h4",4),o._uU(32,"Capacity"),o.qZA(),o.TgZ(33,"div",5),o._uU(34),o.ALo(35,"number"),o.qZA(),o.qZA(),o.TgZ(36,"div"),o.TgZ(37,"h4",4),o._uU(38,"Capacity"),o.qZA(),o.TgZ(39,"div",5),o._uU(40),o.ALo(41,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(o.lcZ(8,6,(null==t.channelsStatus.active?null:t.channelsStatus.active.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(15,8,(null==t.channelsStatus.pending?null:t.channelsStatus.pending.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(22,10,(null==t.channelsStatus.inactive?null:t.channelsStatus.inactive.channels)||0)),o.xp6(7),o.hij("",o.lcZ(29,12,(null==t.channelsStatus.active?null:t.channelsStatus.active.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(35,14,(null==t.channelsStatus.pending?null:t.channelsStatus.pending.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(41,16,(null==t.channelsStatus.inactive?null:t.channelsStatus.inactive.capacity)||0)," Sats")}}function $(t,e){if(1&t&&(o.TgZ(0,"div",9),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let X=(()=>{class t{constructor(){this.channelsStatus={}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,G,42,18,"div",0),o.YNc(1,$,3,1,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),t})();function W(t,e){if(1&t&&(o.TgZ(0,"mat-hint",19),o.TgZ(1,"strong",20),o._uU(2,"Capacity: "),o.qZA(),o._uU(3),o.ALo(4,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(3),o.hij("",o.xi3(4,1,t.toRemote||0,"1.0-0")," Sats")}}function K(t,e){if(1&t&&(o.TgZ(0,"mat-hint",19),o.TgZ(1,"strong",20),o._uU(2,"Capacity: "),o.qZA(),o._uU(3),o.ALo(4,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(3),o.hij("",o.xi3(4,1,t.toLocal||0,"1.0-0")," Sats")}}function j(t,e){if(1&t&&o._UZ(0,"mat-progress-bar",21),2&t){const t=o.oxw().$implicit,e=o.oxw(3);o.s9C("value",e.totalLiquidity>0?(+t.toRemote||0)/e.totalLiquidity*100:0)}}function tt(t,e){if(1&t&&o._UZ(0,"mat-progress-bar",21),2&t){const t=o.oxw().$implicit,e=o.oxw(3);o.s9C("value",e.totalLiquidity>0?(+t.toLocal||0)/e.totalLiquidity*100:0)}}function et(t,e){if(1&t&&(o.TgZ(0,"div",14),o.TgZ(1,"span",15),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",16),o.YNc(5,W,5,4,"mat-hint",17),o.YNc(6,K,5,4,"mat-hint",17),o.qZA(),o.YNc(7,j,1,1,"mat-progress-bar",18),o.YNc(8,tt,1,1,"mat-progress-bar",18),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",t.alias||t.shortChannelId),o.s9C("matTooltipDisabled",(t.alias||t.shortChannelId).length<26),o.xp6(1),o.AsE("",o.Dn7(3,8,t.alias||t.shortChannelId,0,24),"",(t.alias||t.shortChannelId).length>25?"...":"",""),o.xp6(3),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction),o.xp6(1),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction)}}function nt(t,e){if(1&t&&(o.TgZ(0,"div",12),o.YNc(1,et,9,12,"div",13),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",t.allChannels)}}const at=function(t,e,n){return{"mb-4":t,"mb-2":e,"mb-1":n}};function it(t,e){if(1&t&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"mat-hint",6),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",7),o.qZA(),o.TgZ(8,"div",8),o._UZ(9,"mat-divider",9),o.qZA(),o.TgZ(10,"div",10),o.YNc(11,nt,2,1,"div",11),o.qZA(),o.qZA()),2&t){const t=o.oxw(),e=o.MAs(2);o.Q6J("ngClass",o.kEZ(7,at,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM,t.screenSize===t.screenSizeEnum.MD,t.screenSize===t.screenSizeEnum.LG||t.screenSize===t.screenSizeEnum.XL)),o.xp6(5),o.hij("",o.xi3(6,4,t.totalLiquidity,"1.0-0")," Sats"),o.xp6(6),o.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}}function st(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",24),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).goToChannels()}),o._uU(1,"Open Channel"),o.qZA()}}function ot(t,e){if(1&t&&(o.TgZ(0,"div",22),o._uU(1," No channels available. "),o.YNc(2,st,2,0,"button",23),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngIf","Out"===t.direction)}}function lt(t,e){if(1&t&&(o.TgZ(0,"div",25),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.errorMessage)}}let rt=(()=>{class t{constructor(t,e){this.router=t,this.commonService=e,this.screenSize="",this.screenSizeEnum=g.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}goToChannels(){this.router.navigateByUrl("/ecl/connections")}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(i.F0),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],["fxLayout","column","fxFlex.gt-sm","88","fxFlex","84","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","class","w-100",4,"ngIf","ngIfElse"],["fxLayout","column","fxFlex","100",1,"w-100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","100","fxLayoutAlign","start center","class","font-size-90 color-primary",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(t,e){if(1&t&&(o.YNc(0,it,12,11,"div",0),o.YNc(1,ot,3,1,"ng-template",null,1,o.W1O),o.YNc(3,lt,3,1,"ng-template",null,2,o.W1O)),2&t){const t=o.MAs(4);o.Q6J("ngIf",""===(null==e.errorMessage?null:e.errorMessage.trim()))("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,l.yH,a.mk,S.oO,O.bx,r.pW,R.d,M.$V,a.sg,U.gM,v.lW],pipes:[a.JJ,a.OU],styles:[""]}),t})();var ct=n(5109),ut=n(8868),dt=n(3005),mt=n(2464),pt=n(7033),ht=n(4608),gt=n(6124),ft=n(6073),xt=n(6756),Zt=n(6880),yt=n(5095),At=n(4786),Ct=n(1522);function Tt(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Description is required."),o.qZA())}function wt(t,e){if(1&t&&(o.TgZ(0,"mat-option",25),o._uU(1),o.ALo(2,"titlecase"),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(o.lcZ(2,2,t))}}function St(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.invoiceError)}}function vt(t,e){if(1&t&&(o.TgZ(0,"div",26),o._UZ(1,"fa-icon",27),o.YNc(2,St,2,1,"span",11),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.invoiceError)}}let qt=(()=>{class t{constructor(t,e,n,a,i,s){this.dialogRef=t,this.data=e,this.store=n,this.decimalPipe=a,this.commonService=i,this.actions=s,this.faExclamationTriangle=h.eHv,this.selNode={},this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=g.IV,this.timeUnitEnum=g.Qk,this.timeUnits=g.LO,this.selTimeUnit=g.Qk.SECS,this.invoiceError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.information=t.information}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.f||t.type===gt.Wk)).subscribe(t=>{t.type===gt.Wk&&this.dialogRef.close(),t.type===gt.f&&t.payload.status===g.Bn.ERROR&&"CreateInvoice"===t.payload.action&&(this.invoiceError=t.payload.message)})}onAddInvoice(t){if(this.invoiceError="",!this.description)return!0;let e=this.expiry?this.expiry:3600;this.selTimeUnit!==g.Qk.SECS&&(e=this.commonService.convertTime(this.expiry,this.selTimeUnit,g.Qk.SECS));let n=null;n=this.invoiceValue?{description:this.description,expireIn:e,amountMsat:1e3*this.invoiceValue}:{description:this.description,expireIn:e},this.store.dispatch(new gt.Ks(n))}resetData(){this.description="",this.invoiceValue=null,this.private=!1,this.expiry=null,this.invoiceValueHint="",this.selTimeUnit=g.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,g.NT.SATS,g.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe({next:t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,g.Xz.OTHER)+" "+t.unit},error:t=>{this.invoiceValueHint="Conversion Error: "+t}}))}onTimeUnitChange(t){this.expiry&&this.selTimeUnit!==t.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,t.value)),this.selTimeUnit=t.value}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(ht.WI),o.Y36(x.yh),o.Y36(a.JJ),o.Y36(y.v),o.Y36(Z.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-create-invoices"]],decls:35,vars:16,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","start space-between","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","autoFocus","","placeholder","Description","tabindex","2","name","description","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","space-between start","fxFlex","100"],["fxFlex","40"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","30"],["matInput","","placeholder","Expiry","type","number","name","exp","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fxFlex","26"],["tabindex","5","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Create Invoice"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(t){return e.description=t}),o.qZA(),o.YNc(13,Tt,2,0,"mat-error",11),o.qZA(),o.TgZ(14,"div",12),o.TgZ(15,"mat-form-field",13),o.TgZ(16,"input",14),o.NdJ("ngModelChange",function(t){return e.invoiceValue=t})("keyup",function(){return e.onInvoiceValueChange()}),o.qZA(),o.TgZ(17,"span",15),o._uU(18," Sats "),o.qZA(),o.TgZ(19,"mat-hint"),o._uU(20),o.qZA(),o.qZA(),o.TgZ(21,"mat-form-field",16),o.TgZ(22,"input",17),o.NdJ("ngModelChange",function(t){return e.expiry=t}),o.qZA(),o.TgZ(23,"span",15),o._uU(24),o.ALo(25,"titlecase"),o.qZA(),o.qZA(),o.TgZ(26,"mat-form-field",18),o.TgZ(27,"mat-select",19),o.NdJ("selectionChange",function(t){return e.onTimeUnitChange(t)}),o.YNc(28,wt,3,4,"mat-option",20),o.qZA(),o.qZA(),o.qZA(),o.YNc(29,vt,3,2,"div",21),o.TgZ(30,"div",22),o.TgZ(31,"button",23),o.NdJ("click",function(){return e.resetData()}),o._uU(32,"Clear Field"),o.qZA(),o.TgZ(33,"button",24),o.NdJ("click",function(){o.CHM(t);const n=o.MAs(10);return e.onAddInvoice(n)}),o._uU(34,"Create Invoice"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}2&t&&(o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",e.description),o.xp6(1),o.Q6J("ngIf",!e.description),o.xp6(3),o.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),o.xp6(4),o.Oqu(e.invoiceValueHint),o.xp6(2),o.Q6J("ngModel",e.expiry)("step",e.selTimeUnit===e.timeUnitEnum.SECS?300:e.selTimeUnit===e.timeUnitEnum.MINS?10:e.selTimeUnit===e.timeUnitEnum.HOURS?2:1)("min",1),o.xp6(2),o.hij(" ",o.lcZ(25,14,e.selTimeUnit)," "),o.xp6(3),o.Q6J("value",e.selTimeUnit),o.xp6(1),o.Q6J("ngForOf",e.timeUnits),o.xp6(1),o.Q6J("ngIf",""!==e.invoiceError))},directives:[l.xw,l.yH,T.dk,l.Wh,v.lW,ht.ZT,T.dn,ft._Y,ft.JL,ft.F,O.KE,xt.Nt,ft.Fj,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,ft.wV,ft.qQ,yt.q,O.R9,O.bx,At.gD,a.sg,O.TO,Ct.ey,A.BN],pipes:[a.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var bt=n(3921),Lt=n(4636),Ft=n(3929);function It(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Description is required."),o.qZA())}function Nt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"input",7),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().description=e}),o.qZA(),o.YNc(4,It,2,0,"mat-error",8),o.qZA(),o.TgZ(5,"mat-form-field",9),o.TgZ(6,"input",10,11),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().invoiceValue=e})("keyup",function(){return o.CHM(t),o.oxw().onInvoiceValueChange()}),o.qZA(),o.TgZ(8,"span",12),o._uU(9," Sats "),o.qZA(),o.TgZ(10,"mat-hint"),o._uU(11),o.qZA(),o.qZA(),o.TgZ(12,"div",13),o.TgZ(13,"button",14),o.NdJ("click",function(){return o.CHM(t),o.oxw().resetData()}),o._uU(14,"Clear Field"),o.qZA(),o.TgZ(15,"button",15),o.NdJ("click",function(){o.CHM(t);const e=o.MAs(1);return o.oxw().onAddInvoice(e)}),o._uU(16,"Create Invoice"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.description),o.xp6(1),o.Q6J("ngIf",!t.description),o.xp6(2),o.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),o.xp6(5),o.Oqu(t.invoiceValueHint)}}function _t(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",16),o.TgZ(1,"button",17),o.NdJ("click",function(){return o.CHM(t),o.oxw().openCreateInvoiceModal()}),o._uU(2,"Create Invoice"),o.qZA(),o.qZA()}}function Dt(t,e){1&t&&o._UZ(0,"mat-progress-bar",47)}function kt(t,e){1&t&&(o.TgZ(0,"th",48),o._uU(1," Date Created "),o.qZA())}const Ot=function(t){return{"mr-0":t}};function Ut(t,e){if(1&t&&o._UZ(0,"span",53),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ot,t.screenSize===t.screenSizeEnum.XS))}}function Rt(t,e){if(1&t&&o._UZ(0,"span",54),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ot,t.screenSize===t.screenSizeEnum.XS))}}function Mt(t,e){if(1&t&&o._UZ(0,"span",55),2&t){const t=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Ot,t.screenSize===t.screenSizeEnum.XS))}}function Jt(t,e){if(1&t&&(o.TgZ(0,"td",49),o.YNc(1,Ut,1,3,"span",50),o.YNc(2,Rt,1,3,"span",51),o.YNc(3,Mt,1,3,"span",52),o._uU(4),o.ALo(5,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf","received"===t.status),o.xp6(1),o.Q6J("ngIf","unpaid"===t.status),o.xp6(1),o.Q6J("ngIf",!t.status||"expired"===t.status||"unknown"===t.status),o.xp6(1),o.hij(" ",o.xi3(5,4,1e3*t.timestamp,"dd/MMM/YYYY HH:mm")," ")}}function Pt(t,e){1&t&&(o.TgZ(0,"th",48),o._uU(1," Date Settled "),o.qZA())}function Et(t,e){if(1&t&&(o.TgZ(0,"td",49),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(t.receivedAtStr||"-")}}function Yt(t,e){1&t&&(o.TgZ(0,"th",48),o._uU(1," Description "),o.qZA())}const Qt=function(t){return{"max-width":t}};function Bt(t,e){if(1&t&&(o.TgZ(0,"td",49),o.TgZ(1,"div",56),o.TgZ(2,"span",57),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Qt,n.screenSize===n.screenSizeEnum.XS?"10rem":"32rem")),o.xp6(2),o.Oqu(t.description)}}function Ht(t,e){1&t&&(o.TgZ(0,"th",58),o._uU(1," Amount (Sats) "),o.qZA())}function zt(t,e){if(1&t&&(o.TgZ(0,"td",59),o.TgZ(1,"span",60),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",t.amount?o.xi3(3,1,t.amount,"1.0-0"):"-","")}}function Vt(t,e){1&t&&(o.TgZ(0,"th",58),o._uU(1," Amount Settled (Sats) "),o.qZA())}function Gt(t,e){if(1&t&&(o.TgZ(0,"td",59),o.TgZ(1,"span",60),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",t.amountSettled?o.xi3(3,1,t.amountSettled,"1.0-0"):"-","")}}function $t(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",61),o.TgZ(1,"div",62),o.TgZ(2,"mat-select",63),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",64),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}const Xt=function(t){return{"px-3":t}};function Wt(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",65),o.TgZ(1,"div",66),o.TgZ(2,"mat-select",67),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",64),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onInvoiceClick(e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",64),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onRefreshInvoice(e)}),o._uU(7,"Refresh"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Xt,t.screenSize!==t.screenSizeEnum.XS))}}function Kt(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No invoice available."),o.qZA())}function jt(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting invoices..."),o.qZA())}function te(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function ee(t,e){if(1&t&&(o.TgZ(0,"td",68),o.YNc(1,Kt,2,0,"p",8),o.YNc(2,jt,2,0,"p",8),o.YNc(3,te,2,1,"p",8),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.invoices&&t.invoices.data)||(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.ERROR)}}const ne=function(t){return{"display-none":t}};function ae(t,e){if(1&t&&o._UZ(0,"tr",69),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,ne,(null==t.invoices?null:t.invoices.data)&&(null==t.invoices||null==t.invoices.data?null:t.invoices.data.length)>0))}}function ie(t,e){1&t&&o._UZ(0,"tr",70)}function se(t,e){if(1&t&&o._UZ(0,"tr",71),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.label===n.newlyAddedInvoiceMemo&&t.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const oe=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},le=function(){return["no_invoice"]};function re(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",18),o.TgZ(1,"div",19),o.TgZ(2,"div",20),o._UZ(3,"fa-icon",21),o.TgZ(4,"span",22),o._uU(5,"Invoices History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",23),o.TgZ(7,"input",24),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",25),o.YNc(9,Dt,1,0,"mat-progress-bar",26),o.TgZ(10,"table",27,28),o.ynx(12,29),o.YNc(13,kt,2,0,"th",30),o.YNc(14,Jt,6,7,"td",31),o.BQk(),o.ynx(15,32),o.YNc(16,Pt,2,0,"th",30),o.YNc(17,Et,2,1,"td",31),o.BQk(),o.ynx(18,33),o.YNc(19,Yt,2,0,"th",30),o.YNc(20,Bt,4,4,"td",31),o.BQk(),o.ynx(21,34),o.YNc(22,Ht,2,0,"th",35),o.YNc(23,zt,4,4,"td",36),o.BQk(),o.ynx(24,37),o.YNc(25,Vt,2,0,"th",35),o.YNc(26,Gt,4,4,"td",36),o.BQk(),o.ynx(27,38),o.YNc(28,$t,6,0,"th",39),o.YNc(29,Wt,8,3,"td",40),o.BQk(),o.ynx(30,41),o.YNc(31,ee,4,3,"td",42),o.BQk(),o.YNc(32,ae,1,3,"tr",43),o.YNc(33,ie,1,0,"tr",44),o.YNc(34,se,1,1,"tr",45),o.qZA(),o.qZA(),o._UZ(35,"mat-paginator",46),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("icon",t.faHistory),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchInvoices.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.invoices)("ngClass",o.VKq(11,oe,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(13,le)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let ce=(()=>{class t{constructor(t,e,n,a,i,s){this.logger=t,this.store=e,this.decimalPipe=n,this.commonService=a,this.datePipe=i,this.actions=s,this.calledFrom="transactions",this.faHistory=h.qO$,this.selNode={},this.newlyAddedInvoiceMemo="",this.newlyAddedInvoiceValue=0,this.flgAnimate=!0,this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoiceJSONArr=[],this.information={},this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","amountSettled","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","receivedAt","description","amount","amountSettled","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchInvoices.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchInvoices.message?JSON.stringify(this.apisCallStatus.FetchInvoices.message):this.apisCallStatus.FetchInvoices.message),this.selNode=t.nodeSettings,this.information=t.information,this.invoiceJSONArr=t.invoices&&t.invoices.length>0?t.invoices:[],this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr),setTimeout(()=>{this.flgAnimate=!1},5e3),this.logger.info(t)}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.ht||t.type===gt.f)).subscribe(t=>{t.type===gt.ht&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&t.payload&&(this.updateInvoicesData(JSON.parse(JSON.stringify(t.payload))),this.loadInvoicesTable(this.invoiceJSONArr))})}ngAfterViewInit(){this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr)}openCreateInvoiceModal(){this.store.dispatch(new Ft.wu({data:{pageSize:this.pageSize,component:qt}}))}onAddInvoice(t){if(!this.description)return!0;const e=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo="ulbl"+Math.random().toString(36).slice(2)+Date.now(),this.newlyAddedInvoiceValue=this.invoiceValue;let n=null;n=this.invoiceValue?{description:this.description,expireIn:e,amountMsat:1e3*this.invoiceValue}:{description:this.description,expireIn:e},this.store.dispatch(new gt.Ks(n)),this.resetData()}onInvoiceClick(t){this.store.dispatch(new Ft.wu({data:{invoice:t,newlyAdded:!1,component:bt.R}}))}onRefreshInvoice(t){this.store.dispatch(new gt.oP(t.paymentHash))}updateInvoicesData(t){this.invoiceJSONArr=this.invoiceJSONArr.map(e=>e.paymentHash===t.paymentHash?t:e)}loadInvoicesTable(t){this.invoices=new pt.by(t?[...t]:[]),this.invoices.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.invoices.sort=this.sort,this.invoices.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(1e3*t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.invoices.paginator=this.paginator}resetData(){this.description="",this.invoiceValue=null,this.expiry=null,this.invoiceValueHint=""}applyFilter(t){this.invoices.filter=t.value.trim().toLowerCase()}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,g.NT.SATS,g.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe({next:t=>{this.invoiceValueHint="= "+t.symbol+this.decimalPipe.transform(t.OTHER,g.Xz.OTHER)+" "+t.unit},error:t=>{this.invoiceValueHint="Conversion Error: "+t}}))}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(a.JJ),o.Y36(y.v),o.Y36(a.uU),o.Y36(Z.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-lightning-invoices"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["matInput","","placeholder","Description","tabindex","2","name","description","required","true",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["invcVal","ngModel"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","9","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","receivedAt"],["matColumnDef","description"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pr-3",4,"matCellDef"],["matColumnDef","amountSettled"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Received","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unpaid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Expired/Unknown","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Received","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unpaid","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Expired/Unknown","matTooltipPosition","right",1,"dot","red",3,"ngClass"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pr-3"],["mat-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","4",1,"mr-0"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Nt,17,6,"form",1),o.YNc(2,_t,3,0,"div",2),o.YNc(3,re,36,14,"div",3),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf","home"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ft._Y,ft.JL,ft.F,O.KE,xt.Nt,ft.Fj,ft.Q7,ft.JJ,ft.On,ft.wV,ft.qQ,yt.q,O.R9,O.bx,v.lW,O.TO,A.BN,M.$V,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,U.gM,a.PC,S.Zl,At.gD,At.$L,Ct.ey,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-description[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-description[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[Lt.Q]}}),t})();var ue=n(9056),de=n(4147),me=n(3556);const pe=["paymentReq"];function he(t,e){if(1&t&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function ge(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function fe(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function xe(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment amount is required."),o.qZA())}function Ze(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",17,18),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().paymentAmount=e})("change",function(e){return o.CHM(t),o.oxw().onAmountChange(e)}),o.qZA(),o.TgZ(3,"mat-hint"),o._uU(4,"It is a zero amount invoice, enter amount to be paid."),o.qZA(),o.YNc(5,xe,2,0,"mat-error",11),o.qZA()}if(2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngModel",t.paymentAmount),o.xp6(4),o.Q6J("ngIf",!t.paymentAmount)}}function ye(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentError)}}function Ae(t,e){if(1&t&&(o.TgZ(0,"div",19),o._UZ(1,"fa-icon",20),o.YNc(2,ye,2,1,"span",11),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.paymentError)}}let Ce=(()=>{class t{constructor(t,e,n,a,i,s,o,l){this.dialogRef=t,this.store=e,this.eclEffects=n,this.logger=a,this.commonService=i,this.decimalPipe=s,this.actions=o,this.dataService=l,this.faExclamationTriangle=h.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.selActiveChannel={},this.activeChannels={},this.feeLimit=null,this.selFeeLimitType=g.Vc[0],this.feeLimitTypes=g.Vc,this.paymentError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.selNode=t.nodeSettings,this.activeChannels=t.activeChannels,this.logger.info(t)}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.f||t.type===gt.qC)).subscribe(t=>{t.type===gt.qC&&this.dialogRef.close(),t.type===gt.f&&t.payload.status===g.Bn.ERROR&&"SendPayment"===t.payload.action&&(delete this.paymentDecoded.amount,this.paymentError=t.payload.message)})}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():(this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.paymentReq.control.setErrors(null),this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,ue.q)(1)).subscribe({next:t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp&&!this.paymentDecoded.amount?(this.paymentDecoded.amount=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.amount,g.NT.SATS,g.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description)},error:t=>{this.logger.error(t),this.paymentDecodedHint="ERROR: "+(t.message?t.message:"string"==typeof t?t:JSON.stringify(t)),this.paymentReq.control.setErrors({decodeError:!0})}}))}sendPayment(){this.store.dispatch(new gt.Ar(this.zeroAmtInvoice?{invoice:this.paymentRequest,amountMsat:1e3*this.paymentAmount,fromDialog:!0}:{invoice:this.paymentRequest,fromDialog:!0}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,ue.q)(1)).subscribe({next:t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp&&!this.paymentDecoded.amount?(this.paymentDecoded.amount=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.amount,g.NT.SATS,g.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[3])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description)},error:t=>{this.logger.error(t),this.paymentDecodedHint="ERROR: "+(t.message?t.message:"string"==typeof t?t:JSON.stringify(t)),this.paymentReq.control.setErrors({decodeError:!0})}}))}onAmountChange(t){delete this.paymentDecoded.amount,this.paymentDecoded.amount=t}resetData(){this.paymentDecoded={},this.paymentRequest="",this.selActiveChannel=null,this.feeLimit=null,this.selFeeLimitType=g.Vc[0],this.paymentReq.control.setErrors(null),this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(x.yh),o.Y36(de.o),o.Y36(f.mQ),o.Y36(y.v),o.Y36(a.JJ),o.Y36(Z.eX),o.Y36(me.D))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-lightning-send-payments"]],viewQuery:function(t,e){if(1&t&&o.Gf(pe,5),2&t){let t;o.iGM(t=o.CRH())&&(e.paymentReq=t.first)}},decls:24,vars:7,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Send Payment"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.TgZ(11,"mat-form-field",1),o.TgZ(12,"textarea",9,10),o.NdJ("ngModelChange",function(t){return e.onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(14,he,2,1,"mat-hint",11),o.YNc(15,ge,2,0,"mat-error",11),o.YNc(16,fe,2,1,"mat-error",11),o.qZA(),o.YNc(17,Ze,6,2,"mat-form-field",12),o.YNc(18,Ae,3,2,"div",13),o.TgZ(19,"div",14),o.TgZ(20,"button",15),o.NdJ("click",function(){return e.resetData()}),o._uU(21,"Clear Fields"),o.qZA(),o.TgZ(22,"button",16),o.NdJ("click",function(){return e.onSendPayment()}),o._uU(23,"Send Payment"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(13);o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",e.paymentRequest),o.xp6(2),o.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!e.paymentRequest),o.xp6(1),o.Q6J("ngIf",null==t.errors?null:t.errors.decodeError),o.xp6(1),o.Q6J("ngIf",e.zeroAmtInvoice),o.xp6(1),o.Q6J("ngIf",""!==e.paymentError)}},directives:[l.xw,l.yH,T.dk,l.Wh,v.lW,ht.ZT,T.dn,ft._Y,ft.JL,ft.F,O.KE,xt.Nt,ft.Fj,xt.D7,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,O.bx,O.TO,A.BN],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();var Te=n(5001);const we=["scrollContainer"];function Se(t,e){if(1&t&&(o.TgZ(0,"div",9),o.TgZ(1,"div",1),o.TgZ(2,"h4",11),o._uU(3,"Description"),o.qZA(),o.TgZ(4,"span",12),o._uU(5),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.Oqu(t.description)}}function ve(t,e){1&t&&o._UZ(0,"mat-divider",14)}function qe(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-expansion-panel",23),o.NdJ("opened",function(){return o.CHM(t),o.oxw().onExpansionOpen(!0)})("closed",function(){return o.CHM(t),o.oxw().onExpansionOpen(!1)}),o.TgZ(1,"mat-expansion-panel-header"),o.TgZ(2,"mat-panel-title"),o.TgZ(3,"h4",24),o._uU(4),o.qZA(),o.TgZ(5,"h4",25),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",8),o.TgZ(9,"div",9),o.TgZ(10,"div",26),o.TgZ(11,"h4",11),o._uU(12,"Fees (mSats)"),o.qZA(),o.TgZ(13,"span",12),o._uU(14),o.ALo(15,"number"),o.qZA(),o.qZA(),o.TgZ(16,"div",26),o.TgZ(17,"h4",11),o._uU(18,"Date/Time"),o.qZA(),o.TgZ(19,"span",12),o._uU(20),o.ALo(21,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",14),o.TgZ(23,"div",9),o.TgZ(24,"div",1),o.TgZ(25,"h4",11),o._uU(26,"ID"),o.qZA(),o.TgZ(27,"span",27),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",14),o.TgZ(30,"div",9),o.TgZ(31,"div",1),o.TgZ(32,"h4",11),o._uU(33,"To Channel"),o.qZA(),o.TgZ(34,"span",27),o._uU(35),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=e.index,a=o.oxw();o.Q6J("expanded",a.expansionOpen),o.xp6(4),o.hij("Part ",n+1,""),o.xp6(2),o.hij("",o.lcZ(7,7,t.amount)," (Sats)"),o.xp6(8),o.Oqu(o.lcZ(15,9,t.feesPaid)),o.xp6(6),o.Oqu(o.xi3(21,11,t.timestamp,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(t.id),o.xp6(7),o.Oqu(t.toChannelAlias)}}let be=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e,this.description=null,this.shouldScroll=!0,this.expansionOpen=!0}ngOnInit(){this.payment=this.data.payment,this.data.sentPaymentInfo.length>0&&this.data.sentPaymentInfo[0].paymentRequest&&this.data.sentPaymentInfo[0].paymentRequest.description&&""!==this.data.sentPaymentInfo[0].paymentRequest.description&&(this.description=this.data.sentPaymentInfo[0].paymentRequest.description)}ngAfterViewChecked(){this.shouldScroll=this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+62.6}onExpansionOpen(t){this.expansionOpen=t}onClose(){this.dialogRef.close(!1)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(ht.WI))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-payment-information"]],viewQuery:function(t,e){if(1&t&&o.Gf(we,5),2&t){let t;o.iGM(t=o.CRH())&&(e.scrollContainer=t.first)}},decls:66,vars:15,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"h-40","padding-gap-x-large",3,"perfectScrollbar"],["scrollContainer",""],["fxLayout","column"],["fxLayout","row"],["fxFlex","30"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],["fxFlex","70"],[1,"w-100","my-1"],["fxLayout","row",4,"ngIf"],["class","w-100 my-1",4,"ngIf"],["class","flat-expansion-panel my-1",3,"expanded","opened","closed",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],[1,"flat-expansion-panel","my-1",3,"expanded","opened","closed"],["fxFlex","30","fxLayoutAlign","start",1,"font-bold-500"],["fxFlex","70","fxLayoutAlign","start",1,"font-bold-500"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Payment Information"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6,7),o.TgZ(10,"div",8),o.TgZ(11,"div",9),o.TgZ(12,"div",10),o.TgZ(13,"h4",11),o._uU(14,"Amount (Sats)"),o.qZA(),o.TgZ(15,"span",12),o._uU(16),o.ALo(17,"number"),o.qZA(),o.qZA(),o.TgZ(18,"div",13),o.TgZ(19,"h4",11),o._uU(20,"Date/Time"),o.qZA(),o.TgZ(21,"span",12),o._uU(22),o.ALo(23,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(24,"mat-divider",14),o.TgZ(25,"div",9),o.TgZ(26,"div",1),o.TgZ(27,"h4",11),o._uU(28,"ID"),o.qZA(),o.TgZ(29,"span",12),o._uU(30),o.qZA(),o.qZA(),o.qZA(),o._UZ(31,"mat-divider",14),o.TgZ(32,"div",9),o.TgZ(33,"div",1),o.TgZ(34,"h4",11),o._uU(35,"Payment Hash"),o.qZA(),o.TgZ(36,"span",12),o._uU(37),o.qZA(),o.qZA(),o.qZA(),o._UZ(38,"mat-divider",14),o.TgZ(39,"div",9),o.TgZ(40,"div",1),o.TgZ(41,"h4",11),o._uU(42,"Payment Preimage"),o.qZA(),o.TgZ(43,"span",12),o._uU(44),o.qZA(),o.qZA(),o.qZA(),o._UZ(45,"mat-divider",14),o.TgZ(46,"div",9),o.TgZ(47,"div",1),o.TgZ(48,"h4",11),o._uU(49,"Recipient Node"),o.qZA(),o.TgZ(50,"span",12),o._uU(51),o.qZA(),o.qZA(),o.qZA(),o._UZ(52,"mat-divider",14),o.YNc(53,Se,6,1,"div",15),o.YNc(54,ve,1,0,"mat-divider",16),o.TgZ(55,"div",9),o.TgZ(56,"div",1),o.TgZ(57,"mat-accordion"),o.YNc(58,qe,36,14,"mat-expansion-panel",17),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(59,"div",18),o.TgZ(60,"button",19),o.NdJ("click",function(){return e.onScrollDown()}),o.TgZ(61,"mat-icon",20),o._uU(62,"arrow_downward"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(63,"div",21),o.TgZ(64,"button",22),o._uU(65,"OK"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(16),o.Oqu(o.lcZ(17,10,e.payment.recipientAmount)),o.xp6(6),o.Oqu(o.xi3(23,12,e.payment.firstPartTimestamp,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(e.payment.id),o.xp6(7),o.Oqu(e.payment.paymentHash),o.xp6(7),o.Oqu(e.payment.paymentPreimage),o.xp6(7),o.Oqu(e.payment.recipientNodeAlias),o.xp6(2),o.Q6J("ngIf",e.description),o.xp6(1),o.Q6J("ngIf",e.description),o.xp6(4),o.Q6J("ngForOf",e.payment.parts),o.xp6(6),o.Q6J("mat-dialog-close",!1))},directives:[l.xw,l.Wh,l.yH,T.dk,v.lW,T.dn,M.$V,R.d,a.O5,Te.pp,a.sg,q.Hw,ht.ZT,Te.ib,Te.yz,Te.yK],pipes:[a.JJ,a.uU],styles:[""]}),t})();var Le=n(8914);const Fe=["sendPaymentForm"];function Ie(t,e){if(1&t&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.paymentDecodedHint)}}function Ne(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function _e(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"textarea",7,8),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(5,Ie,2,1,"mat-hint",9),o.YNc(6,Ne,2,0,"mat-error",9),o.qZA(),o.TgZ(7,"div",10),o.TgZ(8,"button",11),o.NdJ("click",function(){return o.CHM(t),o.oxw().resetData()}),o._uU(9,"Clear Field"),o.qZA(),o.TgZ(10,"button",12),o.NdJ("click",function(){return o.CHM(t),o.oxw().onSendPayment()}),o._uU(11,"Send Payment"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.paymentRequest),o.xp6(2),o.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!t.paymentRequest)}}function De(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",13),o.TgZ(1,"button",12),o.NdJ("click",function(){return o.CHM(t),o.oxw().openSendPaymentModal()}),o._uU(2,"Send Payment"),o.qZA(),o.qZA()}}function ke(t,e){1&t&&o._UZ(0,"mat-progress-bar",48)}function Oe(t,e){1&t&&(o.TgZ(0,"th",49),o._uU(1,"Date/Time"),o.qZA())}function Ue(t,e){if(1&t&&(o.TgZ(0,"td",50),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,null==t?null:t.firstPartTimestamp,"dd/MMM/YYYY HH:mm"))}}function Re(t,e){1&t&&(o.TgZ(0,"th",49),o._uU(1,"ID"),o.qZA())}const Me=function(t){return{"max-width":t}};function Je(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"div",51),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(t.id)}}function Pe(t,e){1&t&&(o.TgZ(0,"th",49),o._uU(1,"Destination"),o.qZA())}function Ee(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"div",51),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(t.recipientNodeAlias)}}function Ye(t,e){1&t&&(o.TgZ(0,"th",53),o._uU(1,"Amount (Sats)"),o.qZA())}function Qe(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"span",54),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==t?null:t.recipientAmount))}}function Be(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",55),o.TgZ(1,"div",56),o.TgZ(2,"mat-select",57),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",58),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function He(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",59),o.TgZ(1,"button",60),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onPaymentClick(e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function ze(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No payment available."),o.qZA())}function Ve(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting payments..."),o.qZA())}function Ge(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function $e(t,e){if(1&t&&(o.TgZ(0,"td",61),o.YNc(1,ze,2,0,"p",9),o.YNc(2,Ve,2,0,"p",9),o.YNc(3,Ge,2,1,"p",9),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.payments&&t.payments.data)||(null==t.payments||null==t.payments.data?null:t.payments.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.ERROR)}}function Xe(t,e){if(1&t&&(o.TgZ(0,"span",64),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,t.timestamp,"dd/MMM/YYYY HH:mm")," ")}}function We(t,e){if(1&t&&(o.ynx(0),o.YNc(1,Xe,3,4,"span",63),o.BQk()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.parts)}}function Ke(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"span",62),o._uU(2),o.qZA(),o.YNc(3,We,2,1,"ng-container",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" Total Attempts: ",null==t||null==t.parts?null:t.parts.length," "),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function je(t,e){if(1&t&&(o.TgZ(0,"span",62),o.TgZ(1,"span",65),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(4);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(t.id)}}function tn(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,je,4,4,"span",66),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.parts)}}function en(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"div",65),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,tn,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(3,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(t.id),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function nn(t,e){if(1&t&&(o.TgZ(0,"span",62),o.TgZ(1,"span",65),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(4);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(t.toChannelAlias)}}function an(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,nn,4,4,"span",66),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.parts)}}function sn(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"div",65),o.TgZ(2,"span",52),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,an,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(3,Me,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(null==t?null:t.recipientNodeAlias),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function on(t,e){if(1&t&&(o.TgZ(0,"span",67),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,t.amount,"1.0-0")," ")}}function ln(t,e){if(1&t&&(o.TgZ(0,"span"),o.YNc(1,on,3,4,"span",68),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.parts)}}function rn(t,e){if(1&t&&(o.TgZ(0,"td",50),o.TgZ(1,"span",67),o._uU(2),o.ALo(3,"number"),o.qZA(),o.YNc(4,ln,2,1,"span",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.xi3(3,2,null==t?null:t.recipientAmount,"1.0-0")),o.xp6(2),o.Q6J("ngIf",t.is_expanded)}}function cn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",70),o.TgZ(1,"button",73),o.NdJ("click",function(){const e=o.CHM(t).$implicit,n=o.oxw(2).$implicit;return o.oxw(2).onPartClick(e,n)}),o._uU(2),o.qZA(),o.qZA()}if(2&t){const t=e.index;o.xp6(2),o.hij("View ",t+1,"")}}function un(t,e){if(1&t&&(o.TgZ(0,"div"),o.YNc(1,cn,3,1,"div",72),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==t?null:t.parts)}}function dn(t,e){if(1&t&&(o.TgZ(0,"td",69),o.TgZ(1,"span",70),o.TgZ(2,"button",71),o.NdJ("click",function(){const t=e.$implicit;return t.is_expanded=!t.is_expanded}),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,un,2,1,"div",9),o.qZA()),2&t){const t=e.$implicit;o.xp6(3),o.Oqu(t.is_expanded?"Hide":"Show"),o.xp6(1),o.Q6J("ngIf",t.is_expanded)}}function mn(t,e){if(1&t&&o._UZ(0,"tr",74),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const pn=function(t){return{"display-none":t}};function hn(t,e){if(1&t&&o._UZ(0,"tr",75),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,pn,(null==t.payments?null:t.payments.data)&&(null==t.payments||null==t.payments.data?null:t.payments.data.length)>0))}}function gn(t,e){1&t&&o._UZ(0,"tr",76)}function fn(t,e){if(1&t&&o._UZ(0,"tr",74),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",t.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const xn=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Zn=function(){return["no_payment"]};function yn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",14),o.TgZ(1,"div",15),o.TgZ(2,"div",16),o._UZ(3,"fa-icon",17),o.TgZ(4,"span",18),o._uU(5,"Payments History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",19),o.TgZ(7,"input",20),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",21),o.YNc(9,ke,1,0,"mat-progress-bar",22),o.TgZ(10,"table",23,24),o.ynx(12,25),o.YNc(13,Oe,2,0,"th",26),o.YNc(14,Ue,3,4,"td",27),o.BQk(),o.ynx(15,28),o.YNc(16,Re,2,0,"th",26),o.YNc(17,Je,4,4,"td",27),o.BQk(),o.ynx(18,29),o.YNc(19,Pe,2,0,"th",26),o.YNc(20,Ee,4,4,"td",27),o.BQk(),o.ynx(21,30),o.YNc(22,Ye,2,0,"th",31),o.YNc(23,Qe,4,3,"td",27),o.BQk(),o.ynx(24,32),o.YNc(25,Be,6,0,"th",33),o.YNc(26,He,3,0,"td",34),o.BQk(),o.ynx(27,35),o.YNc(28,$e,4,3,"td",36),o.BQk(),o.ynx(29,37),o.YNc(30,Ke,4,2,"td",27),o.BQk(),o.ynx(31,38),o.YNc(32,en,5,5,"td",27),o.BQk(),o.ynx(33,39),o.YNc(34,sn,5,5,"td",27),o.BQk(),o.ynx(35,40),o.YNc(36,rn,5,5,"td",27),o.BQk(),o.ynx(37,41),o.YNc(38,dn,5,2,"td",42),o.BQk(),o.YNc(39,mn,1,1,"tr",43),o.YNc(40,hn,1,3,"tr",44),o.YNc(41,gn,1,0,"tr",45),o.YNc(42,fn,1,1,"tr",46),o.qZA(),o.qZA(),o._UZ(43,"mat-paginator",47),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("icon",t.faHistory),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.payments)("ngClass",o.VKq(13,xn,""!==t.errorMessage)),o.xp6(29),o.Q6J("matRowDefColumns",t.partColumns)("matRowDefWhen",t.is_group),o.xp6(1),o.Q6J("matFooterRowDef",o.DdM(15,Zn)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let An=(()=>{class t{constructor(t,e,n,a,i,s,o){this.logger=t,this.commonService=e,this.store=n,this.rtlEffects=a,this.decimalPipe=i,this.dataService=s,this.datePipe=o,this.calledFrom="transactions",this.faHistory=h.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.information={},this.paymentJSONArr=[],this.paymentDecoded={},this.displayedColumns=[],this.partColumns=[],this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","actions"],this.partColumns=["groupTotal","groupAction"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","recipientAmount","actions"],this.partColumns=["groupTotal","groupAmount","groupAction"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["firstPartTimestamp","id","recipientAmount","actions"],this.partColumns=["groupTotal","groupId","groupAmount","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["firstPartTimestamp","id","recipientNodeAlias","recipientAmount","actions"],this.partColumns=["groupTotal","groupId","groupChannelAlias","groupAmount","groupAction"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPayments.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),this.information=t.information,this.selNode=t.nodeSettings,t.payments.sent&&t.payments.sent.map(e=>{const n=t.peers.find(t=>t.nodeId===e.recipientNodeId);return e.recipientNodeAlias=n?n.alias:e.recipientNodeId,e.parts&&e.parts.map(n=>{const a=t.activeChannels.find(t=>t.channelId===n.toChannelId);return n.toChannelAlias=a?a.alias:n.toChannelId,e.parts}),t.payments.sent}),this.paymentJSONArr=t.payments&&t.payments.sent&&t.payments.sent.length>0?t.payments.sent:[],this.loadPaymentsTable(this.paymentJSONArr),setTimeout(()=>{this.flgAnimate=!1},3e3),this.logger.info(t)})}ngAfterViewInit(){this.loadPaymentsTable(this.paymentJSONArr)}loadPaymentsTable(t){this.payments=new pt.by(t?[...t]:[]),this.payments.sort=this.sort,this.payments.sortingDataAccessor=(t,e)=>{switch(e){case"firstPartTimestamp":return this.commonService.sortByKey(t.parts,"timestamp","number",this.sort.direction),t.firstPartTimestamp;case"id":return this.commonService.sortByKey(t.parts,"id","string",this.sort.direction),t.id;case"recipientNodeAlias":return this.commonService.sortByKey(t.parts,"toChannelAlias","string",this.sort.direction),t.recipientNodeAlias;case"recipientAmount":return this.commonService.sortByKey(t.parts,"amount","number",this.sort.direction),t.recipientAmount;default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.payments.filterPredicate=(t,e)=>((t.firstPartTimestamp?this.datePipe.transform(new Date(t.firstPartTimestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.payments.paginator=this.paginator}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,ue.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.timestamp?(this.paymentDecoded.amount||(this.paymentDecoded.amount=0),this.sendPayment()):this.resetData()})}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.paymentHash,this.paymentDecoded.amount&&0!==this.paymentDecoded.amount?(this.store.dispatch(new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"paymentHash",value:this.paymentDecoded.paymentHash,title:"Payment Hash",width:100}],[{key:"nodeId",value:this.paymentDecoded.nodeId,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:50,type:g.Gi.DATE_TIME},{key:"amount",value:this.paymentDecoded.amount,title:"Amount (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:g.Gi.NUMBER},{key:"minFinalCltvExpiry",value:this.paymentDecoded.minFinalCltvExpiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,ue.q)(1)).subscribe(t=>{t&&(this.store.dispatch(new gt.Ar({invoice:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",message:[[{key:"paymentHash",value:this.paymentDecoded.paymentHash,title:"Payment Hash",width:100}],[{key:"nodeId",value:this.paymentDecoded.nodeId,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:40,type:g.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:g.Gi.NUMBER},{key:"minFinalCltvExpiry",value:this.paymentDecoded.minFinalCltvExpiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",getInputs:[{placeholder:"Amount (Sats)",inputType:g.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,ue.q)(1)).subscribe(t=>{t&&(this.paymentDecoded.amount=t[0].inputValue,this.store.dispatch(new gt.Ar({invoice:this.paymentRequest,amountMsat:1e3*t[0].inputValue,fromDialog:!1})),this.resetData())}))}onPaymentRequestEntry(t){this.paymentRequest=t,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,ue.q)(1)).subscribe(t=>{this.paymentDecoded=t,this.paymentDecoded.amount?this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.amount,g.NT.SATS,g.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,m.R)(this.unSubs[1])).subscribe({next:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats ("+t.symbol+this.decimalPipe.transform(t.OTHER?t.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:t=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.amount?this.paymentDecoded.amount:0)+" Sats | Memo: "+this.paymentDecoded.description:this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description})}openSendPaymentModal(){this.store.dispatch(new Ft.wu({data:{component:Ce}}))}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}is_group(t,e){return e.parts&&e.parts.length>1}onPaymentClick(t){t.paymentHash&&""!==t.paymentHash.trim()?this.dataService.decodePayments(t.paymentHash).pipe((0,ue.q)(1)).subscribe({next:e=>{this.showPaymentView(t,e.length&&e.length>0?e[0]:[])},error:e=>{this.showPaymentView(t,[])}}):this.showPaymentView(t,[])}showPaymentView(t,e){this.store.dispatch(new Ft.wu({data:{sentPaymentInfo:e,payment:t,component:be}}))}onPartClick(t,e){e.paymentHash&&""!==e.paymentHash.trim()?this.dataService.decodePayments(e.paymentHash).pipe((0,ue.q)(1)).subscribe({next:n=>{this.showPartView(t,e,n)},error:n=>{this.showPartView(t,e,[])}}):this.showPartView(t,e,[])}showPartView(t,e,n){const a=[[{key:"paymentHash",value:e.paymentHash,title:"Payment Hash",width:100,type:g.Gi.STRING}],[{key:"paymentPreimage",value:e.paymentPreimage,title:"Payment Preimage",width:100,type:g.Gi.STRING}],[{key:"toChannelId",value:t.toChannelId,title:"Channel",width:100,type:g.Gi.STRING}],[{key:"id",value:t.id,title:"Part ID",width:50,type:g.Gi.STRING},{key:"timestamp",value:t.timestamp,title:"Time",width:50,type:g.Gi.DATE_TIME}],[{key:"amount",value:t.amount,title:"Amount (Sats)",width:50,type:g.Gi.NUMBER},{key:"feesPaid",value:t.feesPaid,title:"Fee (Sats)",width:50,type:g.Gi.NUMBER}]];n.length>0&&n[0].paymentRequest&&n[0].paymentRequest.description&&""!==n[0].paymentRequest.description&&a.splice(3,0,[{key:"description",value:n[0].paymentRequest.description,title:"Description",width:100,type:g.Gi.STRING}]),this.store.dispatch(new Ft.wu({data:{type:g.n_.INFORMATION,alertTitle:"Payment Part Information",message:a}}))}applyFilter(t){this.payments.filter=t.value.trim().toLowerCase()}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){const t=JSON.parse(JSON.stringify(this.payments.data)),e=t.reduce((t,e)=>(e.paymentHash&&""!==e.paymentHash.trim()&&(t=""===t?e.paymentHash:t+","+e.paymentHash),t),"");this.dataService.decodePayments(e).pipe((0,m.R)(this.unSubs[2])).subscribe(e=>{e.forEach((e,n)=>{e.length>0&&e[0].paymentRequest&&e[0].paymentRequest.description&&""!==e[0].paymentRequest.description&&(t[n].description=e[0].paymentRequest.description)});const n=t.reduce((t,e)=>t.concat(e),[]);this.commonService.downloadFile(n,"Payments")})}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh),o.Y36(Le.V),o.Y36(a.JJ),o.Y36(me.D),o.Y36(a.uU))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-lightning-payments"]],viewQuery:function(t,e){if(1&t&&(o.Gf(Fe,5),o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first),o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","firstPartTimestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","recipientNodeAlias"],["matColumnDef","recipientAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupId"],["matColumnDef","groupChannelAlias"],["matColumnDef","groupAmount"],["matColumnDef","groupAction"],["mat-cell","","class","px-3",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"part-row-span"],["fxLayoutAlign","start center","class","part-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"part-row-span","pl-3"],["fxLayoutAlign","start center",1,"ellipsis-parent","part-row-span",3,"ngStyle"],["fxLayoutAlign","start center","class","part-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"part-row-span"],["fxLayoutAlign","end center","class","part-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-3"],["fxLayoutAlign","end start"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-part-expand",3,"click"],["fxLayoutAlign","end start",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-part-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,_e,12,3,"form",1),o.YNc(2,De,3,0,"div",2),o.YNc(3,yn,44,16,"div",3),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf","home"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===e.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ft._Y,ft.JL,ft.F,O.KE,xt.Nt,ft.Fj,xt.D7,ft.Q7,M.$V,ft.JJ,ft.On,v.lW,O.bx,O.TO,A.BN,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.nj,pt.Ke,pt.as,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,At.gD,At.$L,Ct.ey,pt.yh,a.sg,pt.Gk,pt.Q2,pt.XQ],pipes:[a.uU,a.JJ],styles:[".mat-column-groupChannelAlias[_ngcontent-%COMP%], .mat-column-groupId[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%], .mat-column-recipientNodeAlias[_ngcontent-%COMP%]{padding:0 1rem;flex:0 0 25%;width:25%}.mat-column-groupChannelAlias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-groupId[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%], .mat-column-recipientNodeAlias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%], .mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-part-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-part-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.part-row-span[_ngcontent-%COMP%]{min-height:4.2rem;place-content:center flex-start;align-items:center}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:15rem}"],data:{animation:[Lt.Q]}}),t})();function Cn(t,e){if(1&t&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&t){o.oxw();const t=o.MAs(11);o.Q6J("matMenuTriggerFor",t)}}function Tn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(3).onNavigateTo("/ecl/reports")}),o._uU(1,"Fees Summary"),o.qZA()}}function wn(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(3).onsortChannelsBy()}),o._uU(1),o.qZA()}if(2&t){const t=o.oxw(3);o.xp6(1),o.hij("Sort By ","Balance Score"===t.sortField?"Capacity":"Balance Score","")}}function Sn(t,e){1&t&&o._UZ(0,"mat-progress-bar",27)}function vn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-node-info",28),2&t){const t=o.oxw(3);o.Q6J("information",t.information)("showColorFieldSeparately",!1)}}function qn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-balances-info",29),2&t){const t=o.oxw(3);o.Q6J("balances",t.balances)("errorMessage",t.errorMessages[2]+" "+t.errorMessages[3])}}function bn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-channel-capacity-info",30),2&t){const t=o.oxw(3);o.Q6J("sortBy",t.sortField)("channelBalances",t.channelBalances)("allChannels",t.allChannelsCapacity)("errorMessage",t.errorMessages[2])}}function Ln(t,e){if(1&t&&o._UZ(0,"rtl-ecl-fee-info",31),2&t){const t=o.oxw(3);o.Q6J("fees",t.fees)("errorMessage",t.errorMessages[1])}}function Fn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-channel-status-info",32),2&t){const t=o.oxw(3);o.Q6J("channelsStatus",t.channelsStatus)("errorMessage",t.errorMessages[2])}}function In(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const Nn=function(t){return{"dashboard-card-content":!0,"error-border":t}};function _n(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",9),o.TgZ(2,"mat-card-header"),o.TgZ(3,"mat-card-title",10),o.TgZ(4,"div"),o._UZ(5,"fa-icon",11),o.TgZ(6,"span"),o._uU(7),o.qZA(),o.qZA(),o.TgZ(8,"div"),o.YNc(9,Cn,3,1,"button",12),o.TgZ(10,"mat-menu",13,14),o.TgZ(12,"button",15),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(13),o.qZA(),o.YNc(14,Tn,2,0,"button",16),o.YNc(15,wn,2,1,"button",16),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(16,"mat-card-content",17),o.YNc(17,Sn,1,0,"mat-progress-bar",18),o.TgZ(18,"div",19),o.YNc(19,vn,1,2,"rtl-ecl-node-info",20),o.YNc(20,qn,1,2,"rtl-ecl-balances-info",21),o.YNc(21,bn,1,4,"rtl-ecl-channel-capacity-info",22),o.YNc(22,Ln,1,2,"rtl-ecl-fee-info",23),o.YNc(23,Fn,1,2,"rtl-ecl-channel-status-info",24),o.YNc(24,In,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(5),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(2),o.Q6J("ngIf",t.link),o.xp6(4),o.hij("Go To ",t.goTo,""),o.xp6(1),o.Q6J("ngIf","fee"===t.id),o.xp6(1),o.Q6J("ngIf","capacity"===t.id),o.xp6(1),o.s9C("fxFlex","capacity"===t.id?90:70),o.Q6J("ngClass",o.VKq(17,Nn,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchOnchainBalance.status)===n.apiCallStatusEnum.ERROR)||("capacity"===t.id||"status"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||"fee"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchOnchainBalance.status)===n.apiCallStatusEnum.INITIATED)||("capacity"===t.id||"status"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||"fee"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","capacity"),o.xp6(1),o.Q6J("ngSwitchCase","fee"),o.xp6(1),o.Q6J("ngSwitchCase","status")}}function Dn(t,e){if(1&t&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o._UZ(2,"fa-icon",4),o.TgZ(3,"span",5),o._uU(4),o.qZA(),o.qZA(),o.TgZ(5,"mat-grid-list",6),o.YNc(6,_n,25,19,"mat-grid-tile",7),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("icon",(null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.ERROR?t.faFrown:t.faSmile),o.xp6(2),o.Oqu((null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.COMPLETED?"Welcome "+t.information.alias+"! Your node is up and running.":(null==t.apisCallStatus?null:t.apisCallStatus.FetchInfo.status)===t.apiCallStatusEnum.INITIATED?"Wait! Getting your node information...":"Error! Please check the server connection."),o.xp6(1),o.Q6J("rowHeight",t.operatorCardHeight),o.xp6(1),o.Q6J("ngForOf",t.operatorCards)}}function kn(t,e){if(1&t&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&t){o.oxw();const t=o.MAs(9);o.Q6J("matMenuTriggerFor",t)}}function On(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-card-header"),o.TgZ(1,"mat-card-title",10),o.TgZ(2,"div"),o._UZ(3,"fa-icon",11),o.TgZ(4,"span"),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"div"),o.YNc(7,kn,3,1,"button",12),o.TgZ(8,"mat-menu",13,41),o.TgZ(10,"button",15),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(11),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw().$implicit;o.xp6(3),o.Q6J("icon",t.icon),o.xp6(2),o.Oqu(t.title),o.xp6(2),o.Q6J("ngIf",t.link),o.xp6(4),o.hij("Go To ",t.goTo,"")}}function Un(t,e){1&t&&o._UZ(0,"mat-progress-bar",27)}function Rn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-node-info",42),2&t){const t=o.oxw(3);o.Q6J("information",t.information)}}function Mn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-balances-info",29),2&t){const t=o.oxw(3);o.Q6J("balances",t.balances)("errorMessage",t.errorMessages[2]+" "+t.errorMessages[3])}}function Jn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-channel-liquidity-info",43),2&t){const t=o.oxw(3);o.Q6J("direction","In")("totalLiquidity",t.totalInboundLiquidity)("allChannels",t.allInboundChannels)("errorMessage",t.errorMessages[2])}}function Pn(t,e){if(1&t&&o._UZ(0,"rtl-ecl-channel-liquidity-info",43),2&t){const t=o.oxw(3);o.Q6J("direction","Out")("totalLiquidity",t.totalOutboundLiquidity)("allChannels",t.allOutboundChannels)("errorMessage",t.errorMessages[2])}}function En(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",52),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA(),o.TgZ(3,"mat-menu",13,53),o.TgZ(5,"button",15),o.NdJ("click",function(){o.CHM(t);const e=o.oxw(2).$implicit;return o.oxw(2).onNavigateTo(e.link)}),o._uU(6),o.qZA(),o.TgZ(7,"button",15),o.NdJ("click",function(){return o.CHM(t),o.oxw(4).onNavigateTo("/ecl/reports/transactions")}),o._uU(8,"Transactions Summary"),o.qZA(),o.qZA()}if(2&t){const t=o.MAs(4),e=o.oxw(2).$implicit;o.Q6J("matMenuTriggerFor",t),o.xp6(6),o.hij("Go To ",e.goTo,"")}}function Yn(t,e){1&t&&(o.TgZ(0,"span",44),o.TgZ(1,"mat-tab-group",45),o.TgZ(2,"mat-tab",46),o._UZ(3,"rtl-ecl-lightning-invoices",47),o.qZA(),o.TgZ(4,"mat-tab",48),o._UZ(5,"rtl-ecl-lightning-payments",49),o.qZA(),o.TgZ(6,"mat-tab",50),o.YNc(7,En,9,2,"ng-template",51),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("calledFrom","home"),o.xp6(2),o.Q6J("calledFrom","home"),o.xp6(1),o.Q6J("disabled",!0))}function Qn(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const Bn=function(t){return{"p-0":t}};function Hn(t,e){if(1&t&&(o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",35),o.YNc(2,On,12,4,"mat-card-header",36),o.TgZ(3,"mat-card-content",37),o.YNc(4,Un,1,0,"mat-progress-bar",18),o.TgZ(5,"div",19),o.YNc(6,Rn,1,1,"rtl-ecl-node-info",38),o.YNc(7,Mn,1,2,"rtl-ecl-balances-info",21),o.YNc(8,Jn,1,4,"rtl-ecl-channel-liquidity-info",39),o.YNc(9,Pn,1,4,"rtl-ecl-channel-liquidity-info",39),o.YNc(10,Yn,8,3,"span",40),o.YNc(11,Qn,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("colspan",t.cols)("rowspan",t.rows),o.xp6(1),o.Q6J("ngClass",o.VKq(13,Bn,"transactions"===t.id)),o.xp6(1),o.Q6J("ngIf","transactions"!==t.id),o.xp6(1),o.s9C("fxFlex","transactions"===t.id?100:"balance"===t.id?70:90),o.Q6J("ngClass",o.VKq(15,Nn,"node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchOnchainBalance.status)===n.apiCallStatusEnum.ERROR)||("inboundLiq"===t.id||"outboundLiq"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===t.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===t.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchOnchainBalance.status)===n.apiCallStatusEnum.INITIATED)||("inboundLiq"===t.id||"outboundLiq"===t.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchChannels.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",t.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","inboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","outboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","transactions")}}function zn(t,e){if(1&t&&(o.TgZ(0,"div",33),o._UZ(1,"fa-icon",4),o.TgZ(2,"span",5),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"mat-grid-list",34),o.YNc(5,Hn,12,17,"mat-grid-tile",7),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faSmile),o.xp6(2),o.hij("Welcome ",t.information.alias,"! Your node is up and running."),o.xp6(1),o.Q6J("rowHeight",t.merchantCardHeight),o.xp6(1),o.Q6J("ngForOf",t.merchantCards)}}let Vn=(()=>{class t{constructor(t,e,n,a,i){this.logger=t,this.store=e,this.actions=n,this.commonService=a,this.router=i,this.faSmile=p.I3,this.faFrown=p.Kf,this.faAngleDoubleDown=h.Sbq,this.faAngleDoubleUp=h.Vfw,this.faChartPie=h.OS1,this.faBolt=h.BDt,this.faServer=h.xf3,this.faNetworkWired=h.kXW,this.userPersonaEnum=g.ol,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.channels=[],this.onchainBalance={},this.balances={onchain:-1,lightning:-1,total:0},this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.errorMessages=["","","",""],this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:6,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}]):(this.operatorCardHeight=(window.screen.height-200)/2+"px",this.merchantCardHeight=(window.screen.height-210)/10+"px",this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/ecl/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/ecl/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/ecl/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/ecl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/ecl/transactions",title:"",cols:2,rows:5}])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.errorMessages=["","","",""],this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchInfo.status===g.Bn.ERROR&&(this.errorMessages[0]="object"==typeof this.apisCallStatus.FetchInfo.message?JSON.stringify(this.apisCallStatus.FetchInfo.message):this.apisCallStatus.FetchInfo.message),t.apisCallStatus.FetchFees.status===g.Bn.ERROR&&(this.errorMessages[1]="object"==typeof this.apisCallStatus.FetchFees.message?JSON.stringify(this.apisCallStatus.FetchFees.message):this.apisCallStatus.FetchFees.message),t.apisCallStatus.FetchChannels.status===g.Bn.ERROR&&(this.errorMessages[2]="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),t.apisCallStatus.FetchOnchainBalance.status===g.Bn.ERROR&&(this.errorMessages[3]="object"==typeof this.apisCallStatus.FetchOnchainBalance.message?JSON.stringify(this.apisCallStatus.FetchOnchainBalance.message):this.apisCallStatus.FetchOnchainBalance.message),this.selNode=t.nodeSettings,this.information=t.information,this.fees=t.fees,this.channels=t.activeChannels,this.onchainBalance=t.onchainBalance,this.balances.onchain=this.onchainBalance.total,this.balances.lightning=t.lightningBalance.localBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances);const e=t.lightningBalance.localBalance?+t.lightningBalance.localBalance:0,n=t.lightningBalance.remoteBalance?+t.lightningBalance.remoteBalance:0;this.channelBalances={localBalance:e,remoteBalance:n,balancedness:+(1-Math.abs((e-n)/(e+n))).toFixed(3)},this.channelsStatus=t.channelsStatus,this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannelsCapacity=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels,"balancedness"))),this.allInboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(t=>t.toRemote>0),"toRemote"))),this.allOutboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(t=>t.toLocal>0),"toLocal"))),this.channels.forEach(t=>{this.totalInboundLiquidity=this.totalInboundLiquidity+Math.ceil(t.toRemote),this.totalOutboundLiquidity=this.totalOutboundLiquidity+Math.floor(t.toLocal)}),this.logger.info(t)})}onNavigateTo(t){this.router.navigateByUrl(t)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.channels.sort((t,e)=>{const n=+t.toLocal+ +t.toRemote,a=+e.toLocal+ +e.toRemote;return n>a?-1:n{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(Z.eX),o.Y36(y.v),o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",3,"fxFlex","ngClass"],["mode","indeterminate",4,"ngIf"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately",4,"ngSwitchCase"],["fxFlex","100",3,"balances","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"fees","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","errorMessage",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["mode","indeterminate"],["fxFlex","100",3,"information","showColorFieldSeparately"],["fxFlex","100",3,"balances","errorMessage"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage"],["fxFlex","100",3,"fees","errorMessage"],["fxFlex","100",3,"channelsStatus","errorMessage"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",3,"fxFlex","ngClass"],["fxFlex","100",3,"information",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","column",1,"w-100","dashboard-tabs-group"],["label","Receive"],[1,"h-100",3,"calledFrom"],["label","Pay"],[3,"calledFrom"],[3,"disabled"],["mat-tab-label",""],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",2,"max-width","20px",3,"matMenuTriggerFor"],["menuTransactions","matMenu"]],template:function(t,e){if(1&t&&(o.YNc(0,Dn,7,4,"div",0),o.YNc(1,zn,6,4,"ng-template",null,1,o.W1O)),2&t){const t=o.MAs(2);o.Q6J("ngIf",e.selNode.userPersona===e.userPersonaEnum.OPERATOR)("ngIfElse",t)}},directives:[a.O5,l.xw,l.Wh,A.BN,C.Il,a.sg,C.DX,T.a8,l.yH,T.dk,T.n5,w.VK,w.OP,T.dn,a.mk,S.oO,a.RF,a.n9,a.ED,v.lW,w.p6,q.Hw,r.pW,N,k,B,V,X,rt,ct.SP,ct.uX,ce,An,ct.uD],styles:[""]}),t})();const Gn=["form"];function $n(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Bitcoin address is required."),o.qZA())}function Xn(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.amountError)}}function Wn(t,e){if(1&t&&(o.TgZ(0,"mat-option",29),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(t)}}function Kn(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Target Confirmation Blocks is required."),o.qZA())}function jn(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.sendFundError)}}function ta(t,e){if(1&t&&(o.TgZ(0,"div",30),o._UZ(1,"fa-icon",31),o.YNc(2,jn,2,1,"span",12),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.sendFundError)}}let ea=(()=>{class t{constructor(t,e,n,a,i,s){this.dialogRef=t,this.logger=e,this.store=n,this.commonService=a,this.decimalPipe=i,this.actions=s,this.faExclamationTriangle=h.eHv,this.selNode={},this.addressTypes=[],this.selectedAddress=g._t[1],this.blockchainBalance={},this.information={},this.newAddress="",this.transaction={},this.sendFundError="",this.fiatConversion=!1,this.amountUnits=g.uA,this.selAmountUnit=g.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=g.Xz,this.amountError="Amount is Required.",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("root").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.fiatConversion=t.selNode.settings.fiatConversion,this.amountUnits=t.selNode.settings.currencyUnits,this.appConfig=t.appConfig,this.nodeData=t.nodeData,this.logger.info(t)}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.f||t.type===gt.wL)).subscribe(t=>{t.type===gt.wL&&(this.store.dispatch(new Ft.Lw("Fund Sent Successfully!")),this.dialogRef.close()),t.type===gt.f&&t.payload.status===g.Bn.ERROR&&"SendOnchainFunds"===t.payload.action&&(this.sendFundError=t.payload.message)})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="",this.transaction.amount&&this.selAmountUnit!==g.NT.SATS?this.commonService.convertCurrency(this.transaction.amount,this.selAmountUnit===this.amountUnits[2]?g.NT.OTHER:this.selAmountUnit,g.NT.SATS,this.amountUnits[2],this.fiatConversion).pipe((0,m.R)(this.unSubs[2])).subscribe({next:t=>{this.transaction.amount=parseInt(t[g.NT.SATS]),this.selAmountUnit=g.NT.SATS,this.store.dispatch(new gt.J6(this.transaction))},error:t=>{this.transaction.amount=null,this.selAmountUnit=g.NT.SATS,this.amountError="Conversion Error: "+t}}):this.store.dispatch(new gt.J6(this.transaction))}get invalidValues(){return!this.transaction.address||""===this.transaction.address||!this.transaction.amount||this.transaction.amount<=0||!this.transaction.blocks||this.transaction.blocks<=0}resetData(){this.sendFundError="",this.transaction={}}onAmountUnitChange(t){const e=this,n=this.selAmountUnit===this.amountUnits[2]?g.NT.OTHER:this.selAmountUnit;let a=t.value===this.amountUnits[2]?g.NT.OTHER:t.value;this.transaction.amount&&this.selAmountUnit!==t.value&&this.commonService.convertCurrency(this.transaction.amount,n,a,this.amountUnits[2],this.fiatConversion).pipe((0,m.R)(this.unSubs[3])).subscribe({next:n=>{this.selAmountUnit=t.value,e.transaction.amount=+e.decimalPipe.transform(n[a],e.currencyUnitFormats[a]).replace(/,/g,"")},error:t=>{e.transaction.amount=null,this.amountError="Conversion Error: "+t,this.selAmountUnit=n,a=n}})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(f.mQ),o.Y36(x.yh),o.Y36(y.v),o.Y36(a.JJ),o.Y36(Z.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-on-chain-send-modal"]],viewQuery:function(t,e){if(1&t&&o.Gf(Gn,7),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:36,vars:15,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between start",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex","55"],["matInput","","autoFocus","","placeholder","Bitcoin Address","tabindex","1","name","addr","required","",3,"ngModel","ngModelChange"],["addrs","ngModel"],[4,"ngIf"],["fxFlex","30"],["matInput","","placeholder","Amount","name","amt","type","number","tabindex","2","required","",3,"ngModel","step","min","ngModelChange"],["amnt","ngModel"],["matSuffix",""],["fxFlex","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","60","fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","placeholder","Target Confirmation Blocks","type","number","name","blocks","tabindex","8","required","true",3,"ngModel","step","min","ngModelChange"],["blocks","ngModel"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Send Payment"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.NdJ("submit",function(){return e.onSendFunds()})("reset",function(){return e.resetData()}),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10,11),o.NdJ("ngModelChange",function(t){return e.transaction.address=t}),o.qZA(),o.YNc(14,$n,2,0,"mat-error",12),o.qZA(),o.TgZ(15,"mat-form-field",13),o.TgZ(16,"input",14,15),o.NdJ("ngModelChange",function(t){return e.transaction.amount=t}),o.qZA(),o.TgZ(18,"span",16),o._uU(19),o.qZA(),o.YNc(20,Xn,2,1,"mat-error",12),o.qZA(),o.TgZ(21,"mat-form-field",17),o.TgZ(22,"mat-select",18),o.NdJ("selectionChange",function(t){return e.onAmountUnitChange(t)}),o.YNc(23,Wn,2,2,"mat-option",19),o.qZA(),o.qZA(),o.TgZ(24,"div",20),o.TgZ(25,"mat-form-field",21),o.TgZ(26,"input",22,23),o.NdJ("ngModelChange",function(t){return e.transaction.blocks=t}),o.qZA(),o.YNc(28,Kn,2,0,"mat-error",12),o.qZA(),o.qZA(),o._UZ(29,"div",24),o.YNc(30,ta,3,2,"div",25),o.TgZ(31,"div",26),o.TgZ(32,"button",27),o._uU(33,"Clear Fields"),o.qZA(),o.TgZ(34,"button",28),o._uU(35,"Send Funds"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",e.transaction.address),o.xp6(2),o.Q6J("ngIf",!e.transaction.address),o.xp6(2),o.Q6J("ngModel",e.transaction.amount)("step",100)("min",0),o.xp6(3),o.hij(" ",e.selAmountUnit," "),o.xp6(1),o.Q6J("ngIf",!e.transaction.amount),o.xp6(2),o.Q6J("value",e.selAmountUnit),o.xp6(1),o.Q6J("ngForOf",e.amountUnits),o.xp6(3),o.Q6J("ngModel",e.transaction.blocks)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.transaction.blocks),o.xp6(2),o.Q6J("ngIf",""!==e.sendFundError))},directives:[l.xw,l.yH,T.dk,l.Wh,v.lW,ht.ZT,T.dn,ft._Y,ft.JL,ft.F,O.KE,xt.Nt,ft.Fj,Zt.h,ft.Q7,ft.JJ,ft.On,a.O5,ft.wV,ft.qQ,yt.q,O.R9,At.gD,a.sg,O.TO,Ct.ey,A.BN],styles:[""]}),t})();var na=n(882);function aa(t,e){1&t&&o._UZ(0,"mat-progress-bar",31)}function ia(t,e){1&t&&(o.TgZ(0,"th",32),o._uU(1," Date/Time "),o.qZA())}function sa(t,e){if(1&t&&(o.TgZ(0,"td",33),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*t.timestamp,"dd/MMM/YYYY HH:mm"))}}function oa(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Amount (Sats) "),o.qZA())}function la(t,e){if(1&t&&(o.TgZ(0,"span",37),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,t.amount))}}function ra(t,e){if(1&t&&(o.TgZ(0,"span",38),o._uU(1),o.ALo(2,"number"),o.qZA()),2&t){const t=o.oxw().$implicit;o.xp6(1),o.hij("(",o.lcZ(2,1,-1*t.amount),")")}}function ca(t,e){if(1&t&&(o.TgZ(0,"td",33),o.YNc(1,la,3,3,"span",35),o.YNc(2,ra,3,3,"span",36),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Q6J("ngIf",t.amount>0||0===t.amount),o.xp6(1),o.Q6J("ngIf",t.amount<0)}}function ua(t,e){1&t&&(o.TgZ(0,"th",34),o._uU(1," Fees (Sats) "),o.qZA())}function da(t,e){if(1&t&&(o.TgZ(0,"td",33),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.fees))}}function ma(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Confirmations "),o.qZA())}function pa(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==t?null:t.confirmations)," ")}}function ha(t,e){1&t&&(o.TgZ(0,"th",32),o._uU(1," Address "),o.qZA())}function ga(t,e){if(1&t&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(t.address)}}function fa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",41),o.TgZ(1,"div",42),o.TgZ(2,"mat-select",43),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",44),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function xa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",45),o.TgZ(1,"button",46),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onTransactionClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Za(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No transaction available."),o.qZA())}function ya(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting transactions..."),o.qZA())}function Aa(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function Ca(t,e){if(1&t&&(o.TgZ(0,"td",47),o.YNc(1,Za,2,0,"p",48),o.YNc(2,ya,2,0,"p",48),o.YNc(3,Aa,2,1,"p",48),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.listTransactions&&t.listTransactions.data)||(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchTransactions.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.listTransactions&&t.listTransactions.data)||(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchTransactions.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.listTransactions&&t.listTransactions.data)||(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchTransactions.status)===t.apiCallStatusEnum.ERROR)}}const Ta=function(t){return{"display-none":t}};function wa(t,e){if(1&t&&o._UZ(0,"tr",49),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,Ta,(null==t.listTransactions?null:t.listTransactions.data)&&(null==t.listTransactions||null==t.listTransactions.data?null:t.listTransactions.data.length)>0))}}function Sa(t,e){1&t&&o._UZ(0,"tr",50)}function va(t,e){1&t&&o._UZ(0,"tr",51)}const qa=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ba=function(){return["no_transaction"]};let La=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.commonService=e,this.store=n,this.datePipe=a,this.faHistory=h.qO$,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unsub=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","confirmations","fees","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amount","fees","confirmations","address","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","amount","fees","confirmations","address","actions"])}ngOnInit(){this.store.dispatch(new gt.eL),this.store.select("ecl").pipe((0,m.R)(this.unsub[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchTransactions.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),t.transactions&&this.loadTransactionsTable(t.transactions),this.logger.info(t)})}applyFilter(t){this.listTransactions.filter=t.value.trim().toLowerCase()}onTransactionClick(t,e){this.store.dispatch(new Ft.wu({data:{type:g.n_.INFORMATION,alertTitle:"Transaction Information",message:[[{key:"blockHash",value:t.blockHash,title:"Block Hash",width:100}],[{key:"txid",value:t.txid,title:"Transaction ID",width:100}],[{key:"timestamp",value:t.timestamp,title:"Date/Time",width:50,type:g.Gi.DATE_TIME},{key:"confirmations",value:t.confirmations,title:"Number of Confirmations",width:50,type:g.Gi.NUMBER}],[{key:"fees",value:t.fees,title:"Fees (Sats)",width:50,type:g.Gi.NUMBER},{key:"amount",value:t.amount,title:"Amount (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"address",value:t.address,title:"Address",width:100,type:g.Gi.STRING}]]}}))}loadTransactionsTable(t){this.listTransactions=new pt.by([...t]),this.listTransactions.sort=this.sort,this.listTransactions.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listTransactions.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(1e3*t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.listTransactions.paginator=this.paginator,this.logger.info(this.listTransactions)}onDownloadCSV(){this.listTransactions.data&&this.listTransactions.data.length>0&&this.commonService.downloadFile(this.listTransactions.data,"Transactions")}ngOnDestroy(){this.unsub.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh),o.Y36(a.uU))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-on-chain-transaction-history"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Transactions")}])],decls:37,vars:14,consts:[["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","start stretch"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","fees"],["matColumnDef","confirmations"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pr-2",4,"matHeaderCellDef"],["mat-cell","","class","pr-2",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pr-2"],["mat-cell","",1,"pr-2"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"div",2),o._UZ(3,"fa-icon",3),o.TgZ(4,"span",4),o._uU(5,"Transaction History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",5),o.TgZ(7,"input",6),o.NdJ("keyup",function(t){return e.applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",7),o.TgZ(9,"div",8),o.YNc(10,aa,1,0,"mat-progress-bar",9),o.TgZ(11,"table",10,11),o.ynx(13,12),o.YNc(14,ia,2,0,"th",13),o.YNc(15,sa,3,4,"td",14),o.BQk(),o.ynx(16,15),o.YNc(17,oa,2,0,"th",16),o.YNc(18,ca,3,2,"td",14),o.BQk(),o.ynx(19,17),o.YNc(20,ua,2,0,"th",16),o.YNc(21,da,4,3,"td",14),o.BQk(),o.ynx(22,18),o.YNc(23,ma,2,0,"th",19),o.YNc(24,pa,4,3,"td",20),o.BQk(),o.ynx(25,21),o.YNc(26,ha,2,0,"th",13),o.YNc(27,ga,2,1,"td",14),o.BQk(),o.ynx(28,22),o.YNc(29,fa,6,0,"th",23),o.YNc(30,xa,3,0,"td",24),o.BQk(),o.ynx(31,25),o.YNc(32,Ca,4,3,"td",26),o.BQk(),o.YNc(33,wa,1,3,"tr",27),o.YNc(34,Sa,1,0,"tr",28),o.YNc(35,va,1,0,"tr",29),o.qZA(),o._UZ(36,"mat-paginator",30),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("icon",e.faHistory),o.xp6(7),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchTransactions.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.listTransactions)("ngClass",o.VKq(11,qa,""!==e.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(13,ba)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,A.BN,O.KE,xt.Nt,M.$V,a.O5,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,At.gD,At.$L,Ct.ey,v.lW,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();function Fa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",12),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let Ia=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.selNode={},this.faExchangeAlt=h.Ssp,this.faChartPie=h.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.selNode=t.nodeSettings,this.balances=[{title:"Total Balance",dataValue:t.onchainBalance.total||0},{title:"Confirmed",dataValue:t.onchainBalance.confirmed},{title:"Unconfirmed",dataValue:t.onchainBalance.unconfirmed}]})}openSendFundsModal(){this.store.dispatch(new Ft.wu({data:{component:ea}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.yh),o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-on-chain"]],decls:21,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large","mt-2"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"On-chain Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",7),o.YNc(16,Fa,2,3,"div",8),o.qZA(),o.TgZ(17,"div",9),o._UZ(18,"router-outlet"),o.qZA(),o.TgZ(19,"div",10),o._UZ(20,"rtl-ecl-on-chain-transaction-history",11),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,A.BN,T.a8,T.dn,na.D,ct.BU,a.sg,l.yH,i.lC,La,ct.Nj,i.rH],styles:[""]}),t})();var Na=n(1050);function _a(t,e){if(1&t&&(o.TgZ(0,"span",10),o._uU(1,"Channels"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.activeChannels)}}function Da(t,e){if(1&t&&(o.TgZ(0,"span",10),o._uU(1,"Peers"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.activePeers)}}let ka=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.activePeers=0,this.activeChannels=0,this.faUsers=h.FVb,this.faChartPie=h.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.activePeers=t.peers&&t.peers.length?t.peers.length:0,this.activeChannels=t.channelsStatus&&t.channelsStatus.active&&t.channelsStatus.active.channels?t.channelsStatus.active.channels:0,this.balances=[{title:"Total Balance",dataValue:t.onchainBalance.total||0},{title:"Confirmed",dataValue:t.onchainBalance.confirmed},{title:"Unconfirmed",dataValue:t.onchainBalance.unconfirmed}]})}onSelectedTabChange(t){this.router.navigateByUrl("/ecl/connections/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.yh),o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Connections"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"mat-tab-group",7),o.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),o.TgZ(16,"mat-tab"),o.YNc(17,_a,2,1,"ng-template",8),o.qZA(),o.TgZ(18,"mat-tab"),o.YNc(19,Da,2,1,"ng-template",8),o.qZA(),o.qZA(),o.TgZ(20,"div",9),o._UZ(21,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faUsers),o.xp6(6),o.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.Wh,A.BN,T.a8,T.dn,na.D,ct.SP,ct.uX,ct.uD,l.yH,i.lC,Na.k],styles:[""]}),t})();function Oa(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",11),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let Ua=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.router=n,this.faExchangeAlt=h.Ssp,this.faChartPie=h.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.currencyUnits=t.nodeSettings.currencyUnits,this.balances=t.nodeSettings.userPersona===g.ol.OPERATOR?[{title:"Local Capacity",dataValue:t.lightningBalance.localBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:t.lightningBalance.remoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:t.lightningBalance.localBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:t.lightningBalance.remoteBalance,tooltip:"Amount you can receive"}],this.logger.info(t)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Lightning Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",6),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Lightning Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",7),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",8),o.YNc(16,Oa,2,3,"div",9),o.qZA(),o.TgZ(17,"div",10),o._UZ(18,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartPie),o.xp6(6),o.Q6J("values",e.balances),o.xp6(2),o.Q6J("icon",e.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,A.BN,T.a8,T.dn,na.D,ct.BU,a.sg,l.yH,i.lC,ct.Nj,i.rH],styles:[""]}),t})();function Ra(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",11),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let Ma=(()=>{class t{constructor(t){this.router=t,this.faMapSigns=h.SuH,this.events=[],this.flgLoading=[!0],this.errorMessage="",this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"peers",name:"Routing Peers"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-routing"]],decls:13,vars:2,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Routing"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"div",7),o.TgZ(9,"nav",8),o.YNc(10,Ra,2,3,"div",9),o.qZA(),o.qZA(),o.TgZ(11,"div",10),o._UZ(12,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(2),o.Q6J("icon",e.faMapSigns),o.xp6(8),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,A.BN,l.yH,T.a8,T.dn,ct.BU,a.sg,i.lC,ct.Nj,i.rH],styles:[""]}),t})();var Ja=n(4810),Pa=n(1403),Ea=n(2609);function Ya(t,e){1&t&&(o.TgZ(0,"th",24),o._uU(1,"Address"),o.qZA())}function Qa(t,e){if(1&t&&(o.TgZ(0,"td",25),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",t," ")}}function Ba(t,e){1&t&&(o.TgZ(0,"th",26),o.TgZ(1,"span",27),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Ha(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",28),o.TgZ(1,"span",27),o.TgZ(2,"button",29),o.NdJ("copied",function(e){return o.CHM(t),o.oxw(2).onCopyNodeURI(e)}),o._uU(3,"Copy Node URI"),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw(2);o.xp6(2),o.Q6J("payload",(null==n.lookupResult?null:n.lookupResult.nodeId)+"@"+t)}}function za(t,e){1&t&&o._UZ(0,"tr",30)}function Va(t,e){1&t&&o._UZ(0,"tr",31)}const Ga=function(t){return{"background-color":t}};function $a(t,e){if(1&t&&(o.TgZ(0,"div",1),o._UZ(1,"mat-divider",2),o.TgZ(2,"div",3),o.TgZ(3,"div",4),o.TgZ(4,"h4",5),o._uU(5,"Pub Key"),o.qZA(),o.TgZ(6,"span",6),o._uU(7),o.qZA(),o.qZA(),o.qZA(),o._UZ(8,"mat-divider",7),o.TgZ(9,"div",3),o.TgZ(10,"div",4),o.TgZ(11,"h4",5),o._uU(12,"Signature"),o.qZA(),o.TgZ(13,"span",8),o._uU(14),o.qZA(),o.qZA(),o.qZA(),o._UZ(15,"mat-divider",7),o.TgZ(16,"div",3),o.TgZ(17,"div",9),o.TgZ(18,"h4",5),o._uU(19,"Alias"),o.qZA(),o.TgZ(20,"span",8),o._uU(21),o.TgZ(22,"span",10),o._uU(23),o.qZA(),o.qZA(),o.qZA(),o.TgZ(24,"div",9),o.TgZ(25,"h4",5),o._uU(26,"Date/Time"),o.qZA(),o.TgZ(27,"span",8),o._uU(28),o.ALo(29,"date"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(30,"div",11),o.TgZ(31,"h4",12),o._uU(32,"Addresses"),o.qZA(),o.TgZ(33,"div",13),o.TgZ(34,"table",14,15),o.ynx(36,16),o.YNc(37,Ya,2,0,"th",17),o.YNc(38,Qa,2,1,"td",18),o.BQk(),o.ynx(39,19),o.YNc(40,Ba,3,0,"th",20),o.YNc(41,Ha,4,1,"td",21),o.BQk(),o.YNc(42,za,1,0,"tr",22),o.YNc(43,Va,1,0,"tr",23),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(null==t.lookupResult?null:t.lookupResult.nodeId),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(null==t.lookupResult?null:t.lookupResult.signature),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(null==t.lookupResult?null:t.lookupResult.alias),o.xp6(1),o.Q6J("ngStyle",o.VKq(15,Ga,null==t.lookupResult?null:t.lookupResult.rgbColor)),o.xp6(1),o.Oqu(null!=t.lookupResult&&t.lookupResult.rgbColor?null==t.lookupResult?null:t.lookupResult.rgbColor:""),o.xp6(5),o.Oqu(o.xi3(29,12,1e3*(null==t.lookupResult?null:t.lookupResult.timestamp),"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Q6J("dataSource",t.addresses),o.xp6(8),o.Q6J("matHeaderRowDef",t.displayedColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)}}let Xa=(()=>{class t{constructor(t,e){this.logger=t,this.snackBar=e,this.lookupResult={},this.displayedColumns=["address","actions"]}ngOnInit(){this.addresses=new pt.by(this.lookupResult.addresses?[...this.lookupResult.addresses]:[]),this.addresses.data=this.lookupResult.addresses?this.lookupResult.addresses:[],this.addresses.sort=this.sort,this.addresses.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}onCopyNodeURI(t){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(Pa.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-node-lookup"]],viewQuery:function(t,e){if(1&t&&o.Gf(mt.YE,5),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first)}},inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],[1,"foreground-secondary-text"],["fxFlex","50"],[1,"ml-2",3,"ngStyle"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","address"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&o.YNc(0,$a,44,17,"div",0),2&t&&o.Q6J("ngIf",e.lookupResult)},directives:[a.O5,l.xw,R.d,l.yH,l.Wh,a.PC,S.Zl,M.$V,pt.BZ,mt.YE,pt.w1,pt.fO,pt.Dz,pt.as,pt.nj,pt.ge,mt.nU,pt.ev,v.lW,Ea.y,pt.XQ,pt.Gk],pipes:[a.uU],styles:[""]}),t})();const Wa=["form"];function Ka(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("",null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder," is required.")}}function ja(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("Invalid ",null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder,".")}}function ti(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"rtl-ecl-node-lookup",29),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Q6J("lookupResult",t.nodeLookupValue)}}function ei(t,e){if(1&t&&(o.TgZ(0,"span",27),o.YNc(1,ti,2,1,"div",28),o.qZA()),2&t){const t=o.oxw(2),e=o.MAs(26);o.xp6(1),o.Q6J("ngIf",t.nodeLookupValue.nodeId)("ngIfElse",e)}}function ni(t,e){1&t&&(o.TgZ(0,"span",27),o.TgZ(1,"h3"),o._uU(2,"Error! Unable to find details!"),o.qZA(),o.qZA())}function ai(t,e){if(1&t&&(o.TgZ(0,"div",21),o.TgZ(1,"div",22),o.TgZ(2,"span",23),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"div",24),o.YNc(5,ei,2,2,"span",25),o.YNc(6,ni,3,0,"span",26),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(3),o.hij("",t.lookupFields[t.selectedFieldId].name," Details"),o.xp6(1),o.Q6J("ngSwitch",t.selectedFieldId),o.xp6(1),o.Q6J("ngSwitchCase",0)}}function ii(t,e){1&t&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find details!"),o.qZA())}const si=function(t){return{"mt-2":t}};let oi=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.commonService=e,this.store=n,this.actions=a,this.lookupKeyCtrl=new ft.NI,this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Node ID"},{id:1,name:"Channel",placeholder:"Short Channel ID"}],this.flgLoading=[!0],this.faSearch=h.wn1,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t.type===gt.ht||t.type===gt.f)).subscribe(t=>{if(t.type===gt.ht){switch(this.flgLoading[0]=!0,this.selectedFieldId){case 0:this.nodeLookupValue=t.payload[0]?JSON.parse(JSON.stringify(t.payload[0])):{nodeid:""};break;case 1:this.channelLookupValue=t.payload?JSON.parse(JSON.stringify(t.payload)):[]}this.flgSetLookupValue=!0,this.logger.info(this.nodeLookupValue),this.logger.info(this.channelLookupValue)}t.type===gt.f&&t.payload.status===g.Bn.ERROR&&"Lookup"===t.payload.action&&(this.flgLoading[0]="error")}),this.lookupKeyCtrl.valueChanges.pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1})}onLookup(){if(!this.lookupKeyCtrl.value)return this.lookupKeyCtrl.setErrors({required:!0}),!0;if(this.lookupKeyCtrl.value&&(this.lookupKeyCtrl.value.includes("@")||this.lookupKeyCtrl.value.includes(",")))return this.lookupKeyCtrl.setErrors({invalid:!0}),!0;switch(this.selectedFieldId||(this.selectedFieldId=0),this.flgSetLookupValue=!1,this.nodeLookupValue={},this.channelLookupValue=[],this.selectedFieldId){case 0:this.store.dispatch(new gt.x$(this.lookupKeyCtrl.value.trim()))}}onSelectChange(t){this.resetData(),this.selectedFieldId=t.value}resetData(){this.flgSetLookupValue=!1,this.nodeLookupValue={},this.channelLookupValue=[],this.lookupKeyCtrl.setValue(""),this.lookupKeyCtrl.setErrors(null),this.form.resetForm()}clearLookupValue(){this.nodeLookupValue={},this.channelLookupValue=[],this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh),o.Y36(Z.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-lookups"]],viewQuery:function(t,e){if(1&t&&o.Gf(Wa,7),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:27,vars:10,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","20","fxFlex.gt-md","15","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField"],["checked","",1,"mr-4",3,"value"],["fxFlex","80","fxFlex.gt-md","85","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"formControl","placeholder"],["key",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],["errorBlock",""],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[4,"ngIf","ngIfElse"],[3,"lookupResult"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Graph Lookups"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"form",7,8),o.TgZ(10,"div",9),o.TgZ(11,"mat-radio-group",10),o.TgZ(12,"mat-radio-button",11),o._uU(13,"Node"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(14,"mat-form-field",12),o._UZ(15,"input",13,14),o.YNc(17,Ka,2,1,"mat-error",15),o.YNc(18,ja,2,1,"mat-error",15),o.qZA(),o.TgZ(19,"div",16),o.TgZ(20,"button",17),o.NdJ("click",function(){return e.resetData()}),o._uU(21,"Clear"),o.qZA(),o.TgZ(22,"button",18),o.NdJ("click",function(){return e.onLookup()}),o._uU(23,"Lookup"),o.qZA(),o.qZA(),o.qZA(),o.YNc(24,ai,7,3,"div",19),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(25,ii,2,0,"ng-template",null,20,o.W1O)),2&t&&(o.xp6(2),o.Q6J("icon",e.faSearch),o.xp6(10),o.Q6J("value",0),o.xp6(2),o.Q6J("ngClass",o.VKq(8,si,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("formControl",e.lookupKeyCtrl)("placeholder",(null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder)||"Lookup Key"),o.xp6(2),o.Q6J("ngIf",null==e.lookupKeyCtrl.errors?null:e.lookupKeyCtrl.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.lookupKeyCtrl.errors?null:e.lookupKeyCtrl.errors.invalid),o.xp6(6),o.Q6J("ngIf",e.flgSetLookupValue))},directives:[l.xw,l.Wh,A.BN,l.yH,T.a8,T.dn,ft._Y,ft.JL,ft.F,Ja.VQ,Ja.U0,O.KE,a.mk,S.oO,xt.Nt,ft.Fj,ft.Q7,ft.JJ,ft.oH,a.O5,v.lW,O.TO,a.RF,a.n9,a.ED,Xa],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),t})();var li=n(7969);let ri=(()=>{class t{constructor(t,e){this.store=t,this.eclEffects=e,this.newAddress=""}onGenerateAddress(){this.store.dispatch(new gt.ER),this.eclEffects.setNewAddress.pipe((0,ue.q)(1)).subscribe(t=>{this.newAddress=t,this.store.dispatch(new Ft.wu({width:"58%",data:{address:this.newAddress,addressType:"",component:li.n}}))})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.yh),o.Y36(de.o))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-on-chain-receive"]],decls:4,vars:0,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","1",3,"click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return e.onGenerateAddress()}),o._uU(3,"Generate Address"),o.qZA(),o.qZA(),o.qZA())},directives:[l.xw,l.yH,l.Wh,v.lW],styles:[""]}),t})(),ci=(()=>{class t{constructor(t,e){this.store=t,this.activatedRoute=e,this.sweepAll=!1,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activatedRoute.data.pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.sweepAll=t.sweepAll})}openSendFundsModal(){this.store.dispatch(new Ft.wu({data:{sweepAll:this.sweepAll,component:ea}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.yh),o.Y36(i.gz))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return e.openSendFundsModal()}),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Oqu(e.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,v.lW],styles:[""]}),t})();var ui=n(1258),di=n(1681),mi=n(3474),pi=n(7521),hi=n(84);const gi=["form"];function fi(t,e){if(1&t&&(o.TgZ(0,"mat-option",34),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.Q6J("value",t),o.xp6(1),o.Oqu(t.alias?t.alias:t.nodeId?t.nodeId:"")}}function xi(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer alias is required."),o.qZA())}function Zi(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer not found in the list."),o.qZA())}function yi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",30),o.NdJ("change",function(){return o.CHM(t),o.oxw().onSelectedPeerChanged()}),o.qZA(),o.TgZ(2,"mat-autocomplete",31,32),o.NdJ("optionSelected",function(){return o.CHM(t),o.oxw().onSelectedPeerChanged()}),o.YNc(4,fi,2,2,"mat-option",33),o.ALo(5,"async"),o.qZA(),o.YNc(6,xi,2,0,"mat-error",17),o.YNc(7,Zi,2,0,"mat-error",17),o.qZA()}if(2&t){const t=o.MAs(3),e=o.oxw();o.xp6(1),o.Q6J("formControl",e.selectedPeer)("matAutocomplete",t),o.xp6(1),o.Q6J("displayWith",e.displayFn),o.xp6(2),o.Q6J("ngForOf",o.lcZ(5,6,e.filteredPeers)),o.xp6(2),o.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.selectedPeer.errors?null:e.selectedPeer.errors.notfound)}}function Ai(t,e){1&t&&o.GkF(0)}function Ci(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Ti(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function wi(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.channelConnectionError)}}function Si(t,e){if(1&t&&(o.TgZ(0,"div",35),o._UZ(1,"fa-icon",36),o.YNc(2,wi,2,1,"span",17),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==t.channelConnectionError)}}function vi(t,e){if(1&t&&(o.TgZ(0,"mat-expansion-panel",38),o.TgZ(1,"mat-expansion-panel-header"),o.TgZ(2,"mat-panel-title"),o.TgZ(3,"span"),o._uU(4,"Peer: \xa0"),o.qZA(),o.TgZ(5,"strong",39),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",9),o.TgZ(8,"div",0),o.TgZ(9,"div",1),o.TgZ(10,"h4",40),o._uU(11,"Pubkey"),o.qZA(),o.TgZ(12,"span",41),o._uU(13),o.qZA(),o.qZA(),o.qZA(),o._UZ(14,"mat-divider",42),o.TgZ(15,"div",0),o.TgZ(16,"div",43),o.TgZ(17,"h4",40),o._uU(18,"Address"),o.qZA(),o.TgZ(19,"span",44),o._uU(20),o.qZA(),o.qZA(),o.TgZ(21,"div",43),o.TgZ(22,"h4",40),o._uU(23,"State"),o.qZA(),o.TgZ(24,"span",44),o._uU(25),o.ALo(26,"titlecase"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw(2);o.xp6(6),o.Oqu((null==t.peer?null:t.peer.alias)||(null==t.peer?null:t.peer.nodeId)),o.xp6(7),o.Oqu(t.peer.nodeId),o.xp6(7),o.Oqu(null==t.peer?null:t.peer.address),o.xp6(5),o.Oqu(o.lcZ(26,4,null==t.peer?null:t.peer.state))}}function qi(t,e){if(1&t&&o.YNc(0,vi,27,6,"mat-expansion-panel",37),2&t){const t=o.oxw();o.Q6J("ngIf",t.peer)}}let bi=(()=>{class t{constructor(t,e,n,a){this.dialogRef=t,this.data=e,this.store=n,this.actions=a,this.selectedPeer=new ft.NI,this.faExclamationTriangle=h.eHv,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.selectedPubkey="",this.isPrivate=!1,this.feeRate=null,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t.type===gt.f||t.type===gt.M8)).subscribe(t=>{t.type===gt.f&&t.payload.status===g.Bn.ERROR&&"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message),t.type===gt.M8&&this.dialogRef.close()});let t="",e="";this.sortedPeers=this.peers.sort((n,a)=>(t=n.alias?n.alias.toLowerCase():n.nodeId?n.nodeId.toLowerCase():"",e=a.alias?a.alias.toLowerCase():n.nodeId.toLowerCase(),te?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,m.R)(this.unSubs[1]),(0,ui.O)(""),(0,di.U)(t=>"string"==typeof t?t:t.alias?t.alias:t.nodeId),(0,di.U)(t=>t?this.filterPeers(t):this.sortedPeers.slice()))}filterPeers(t){return this.sortedPeers.filter(e=>0===e.alias.toLowerCase().indexOf(t?t.toLowerCase():""))}displayFn(t){return t&&t.alias?t.alias:t&&t.nodeId?t.nodeId:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.nodeId?this.selectedPeer.value.nodeId:null,"string"==typeof this.selectedPeer.value){const t=this.peers.filter(t=>t.alias.length===this.selectedPeer.value.length&&0===t.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===t.length&&t[0].nodeId&&(this.selectedPubkey=t[0].nodeId)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.feeRate=null,this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onAdvancedPanelToggle(t){this.advancedTitle=t&&this.feeRate&&this.feeRate>0?"Advanced Options | Fee (Sats/vByte): "+this.feeRate:"Advanced Options"}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0)return!0;this.store.dispatch(new gt.nb({nodeId:this.peer&&this.peer.nodeId?this.peer.nodeId:this.selectedPubkey,amount:this.fundingAmount,private:this.isPrivate,feeRate:this.feeRate}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(ht.WI),o.Y36(x.yh),o.Y36(Z.eX))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-open-channel"]],viewQuery:function(t,e){if(1&t&&o.Gf(gi,7),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:48,vars:18,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","70","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amount",3,"ngModel","step","min","max","ngModelChange"],["amount","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","25","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","placeholder","Fee (Sats/vByte)","type","number","name","fee","tabindex","7",3,"ngModel","step","min","ngModelChange"],["fee","ngModel"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.NdJ("submit",function(){return e.onOpenChannel()})("reset",function(){return e.resetData()}),o.TgZ(11,"div",9),o.YNc(12,yi,8,8,"mat-form-field",10),o.qZA(),o.YNc(13,Ai,1,0,"ng-container",11),o.TgZ(14,"div",9),o.TgZ(15,"div",12),o.TgZ(16,"mat-form-field",13),o.TgZ(17,"input",14,15),o.NdJ("ngModelChange",function(t){return e.fundingAmount=t}),o.qZA(),o.TgZ(19,"mat-hint"),o._uU(20),o.ALo(21,"number"),o.qZA(),o.TgZ(22,"span",16),o._uU(23," Sats "),o.qZA(),o.YNc(24,Ci,2,0,"mat-error",17),o.YNc(25,Ti,2,1,"mat-error",17),o.qZA(),o.TgZ(26,"div",18),o.TgZ(27,"mat-slide-toggle",19),o.NdJ("ngModelChange",function(t){return e.isPrivate=t}),o._uU(28,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(29,"mat-expansion-panel",20),o.NdJ("closed",function(){return e.onAdvancedPanelToggle(!0)})("opened",function(){return e.onAdvancedPanelToggle(!1)}),o.TgZ(30,"mat-expansion-panel-header"),o.TgZ(31,"mat-panel-title"),o.TgZ(32,"span"),o._uU(33),o.qZA(),o.qZA(),o.qZA(),o.TgZ(34,"div",21),o.TgZ(35,"div",12),o.TgZ(36,"div",22),o.TgZ(37,"mat-form-field",1),o.TgZ(38,"input",23,24),o.NdJ("ngModelChange",function(t){return e.feeRate=t}),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(40,Si,3,2,"div",25),o.TgZ(41,"div",26),o.TgZ(42,"button",27),o._uU(43,"Clear Fields"),o.qZA(),o.TgZ(44,"button",28),o._uU(45,"Open Channel"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(46,qi,1,1,"ng-template",null,29,o.W1O)),2&t){const t=o.MAs(18),n=o.MAs(47);o.xp6(5),o.Oqu(e.alertTitle),o.xp6(7),o.Q6J("ngIf",!e.peer&&e.peers&&e.peers.length>0),o.xp6(1),o.Q6J("ngTemplateOutlet",n),o.xp6(4),o.Q6J("ngModel",e.fundingAmount)("step",1e3)("min",1)("max",e.totalBalance),o.xp6(3),o.hij("Remaining Bal: ",o.lcZ(21,16,e.totalBalance-(e.fundingAmount?e.fundingAmount:0)),""),o.xp6(4),o.Q6J("ngIf",null==t.errors?null:t.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.errors?null:t.errors.max),o.xp6(2),o.Q6J("ngModel",e.isPrivate),o.xp6(6),o.Oqu(e.advancedTitle),o.xp6(5),o.Q6J("ngModel",e.feeRate)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",""!==e.channelConnectionError)}},directives:[l.xw,l.yH,T.dk,l.Wh,v.lW,T.dn,ft._Y,ft.JL,ft.F,a.O5,a.tP,O.KE,xt.Nt,ft.wV,ft.qQ,ft.Fd,ft.Fj,yt.q,mi.F,ft.Q7,ft.JJ,ft.On,O.bx,O.R9,pi.Rr,Te.ib,Te.yz,Te.yK,Zt.h,hi.ZL,ft.oH,hi.XC,a.sg,Ct.ey,O.TO,A.BN,R.d],pipes:[a.JJ,a.Ov,a.rS],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),t})();function Li(t,e){if(1&t&&(o.TgZ(0,"span",7),o._uU(1,"Open"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.numOfOpenChannels)}}function Fi(t,e){if(1&t&&(o.TgZ(0,"span",7),o._uU(1,"Pending"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.numOfPendingChannels)}}function Ii(t,e){if(1&t&&(o.TgZ(0,"span",7),o._uU(1,"Inactive"),o.qZA()),2&t){const t=o.oxw();o.s9C("matBadge",t.numOfInactiveChannels)}}let Ni=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.router=n,this.numOfOpenChannels=0,this.numOfPendingChannels=0,this.numOfInactiveChannels=0,this.selNode={},this.information={},this.peers=[],this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending"},{link:"inactive",name:"Inactive"}],this.activeLink=0,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(t=>t.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{this.activeLink=this.links.findIndex(e=>e.link===t.urlAfterRedirects.substring(t.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("ecl").pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.numOfOpenChannels=t.channelsStatus&&t.channelsStatus.active&&t.channelsStatus.active.channels?t.channelsStatus.active.channels:0,this.numOfPendingChannels=t.channelsStatus&&t.channelsStatus.pending&&t.channelsStatus.pending.channels?t.channelsStatus.pending.channels:0,this.numOfInactiveChannels=t.channelsStatus&&t.channelsStatus.inactive&&t.channelsStatus.inactive.channels?t.channelsStatus.inactive.channels:0,this.selNode=t.nodeSettings,this.information=t.information,this.peers=t.peers,this.totalBalance=t.onchainBalance.total,this.logger.info(t)})}onOpenChannel(){this.store.dispatch(new Ft.wu({data:{alertTitle:"Open Channel",message:{peers:this.peers,information:this.information,balance:this.totalBalance},component:bi}}))}onSelectedTabChange(t){this.router.navigateByUrl("/ecl/connections/channels/"+this.links[t.index].link)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channels-tables"]],decls:14,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return e.onOpenChannel()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-tab-group",4),o.NdJ("selectedIndexChange",function(t){return e.activeLink=t})("selectedTabChange",function(t){return e.onSelectedTabChange(t)}),o.TgZ(6,"mat-tab"),o.YNc(7,Li,2,1,"ng-template",5),o.qZA(),o.TgZ(8,"mat-tab"),o.YNc(9,Fi,2,1,"ng-template",5),o.qZA(),o.TgZ(10,"mat-tab"),o.YNc(11,Ii,2,1,"ng-template",5),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o._UZ(13,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(5),o.Q6J("selectedIndex",e.activeLink))},directives:[l.xw,l.yH,l.Wh,v.lW,ct.SP,ct.uX,ct.uD,i.lC,Na.k],styles:[""]}),t})();function _i(t,e){if(1&t&&(o.TgZ(0,"div",11),o.TgZ(1,"h4",12),o._uU(2,"Short Channel ID"),o.qZA(),o.TgZ(3,"span",13),o._uU(4),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(4),o.Oqu(t.channel.shortChannelId)}}function Di(t,e){if(1&t&&(o.TgZ(0,"div",11),o.TgZ(1,"h4",12),o._uU(2,"State"),o.qZA(),o.TgZ(3,"span",15),o._uU(4),o.ALo(5,"titlecase"),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(4),o.Oqu(o.lcZ(5,1,t.channel.state))}}function ki(t,e){if(1&t&&(o.TgZ(0,"div"),o.TgZ(1,"div",9),o.TgZ(2,"div",11),o.TgZ(3,"h4",12),o._uU(4,"Local Balance (Sats)"),o.qZA(),o.TgZ(5,"span",15),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div",11),o.TgZ(9,"h4",12),o._uU(10,"Remote Balance (Sats)"),o.qZA(),o.TgZ(11,"span",15),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(14,"mat-divider",14),o.TgZ(15,"div",9),o.TgZ(16,"div",11),o.TgZ(17,"h4",12),o._uU(18,"Base Fee (mSats)"),o.qZA(),o.TgZ(19,"span",15),o._uU(20),o.ALo(21,"number"),o.qZA(),o.qZA(),o.TgZ(22,"div",11),o.TgZ(23,"h4",12),o._uU(24,"Fee Rate (mili mSats)"),o.qZA(),o.TgZ(25,"span",15),o._uU(26),o.ALo(27,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(28,"mat-divider",14),o.qZA()),2&t){const t=o.oxw();o.xp6(6),o.Oqu(o.lcZ(7,6,t.channel.toLocal)),o.xp6(6),o.Oqu(o.lcZ(13,8,t.channel.toRemote)),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(21,10,t.channel.feeBaseMsat)),o.xp6(6),o.Oqu(o.lcZ(27,12,t.channel.feeProportionalMillionths)),o.xp6(2),o.Q6J("inset",!0)}}function Oi(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function Ui(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function Ri(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",21),o.NdJ("click",function(){return o.CHM(t),o.oxw().onShowAdvanced()}),o.YNc(1,Oi,2,0,"p",22),o.YNc(2,Ui,2,0,"ng-template",null,23,o.W1O),o.qZA()}if(2&t){const t=o.MAs(3),e=o.oxw();o.xp6(1),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t)}}function Mi(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",24),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyChanID(e)}),o._uU(1,"Copy Short Channel ID"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.channel.shortChannelId)}}function Ji(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",25),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyChanID(e)}),o._uU(1,"Copy Channel ID"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.channel.channelId)}}const Pi=function(t){return{"xs-scroll-y":t}},Ei=function(t,e){return{"mt-2":t,"mt-1":e}};let Yi=(()=>{class t{constructor(t,e,n,a,i){this.dialogRef=t,this.data=e,this.logger=n,this.commonService=a,this.snackBar=i,this.faReceipt=h.dLy,this.showAdvanced=!1,this.channelsType="open",this.screenSize="",this.screenSizeEnum=g.cu}ngOnInit(){this.channel=this.data.channel,this.channelsType=this.data.channelsType,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(t){this.snackBar.open("open"===this.channelsType?"Short channel ID "+t+" copied.":"Channel ID copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(ht.WI),o.Y36(f.mQ),o.Y36(y.v),o.Y36(Pa.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-information"]],decls:64,vars:28,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50",4,"ngIf"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1","class","mr-1",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","3","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","3","type","submit","rtlClipboard","",3,"payload","copied"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span",5),o._uU(6,"Channel Information"),o.qZA(),o.qZA(),o.TgZ(7,"button",6),o.NdJ("click",function(){return e.onClose()}),o._uU(8,"X"),o.qZA(),o.qZA(),o.TgZ(9,"mat-card-content",7),o.TgZ(10,"div",8),o.TgZ(11,"div",9),o.YNc(12,_i,5,1,"div",10),o.TgZ(13,"div",11),o.TgZ(14,"h4",12),o._uU(15,"Peer Alias"),o.qZA(),o.TgZ(16,"span",13),o._uU(17),o.qZA(),o.qZA(),o.YNc(18,Di,6,3,"div",10),o.qZA(),o._UZ(19,"mat-divider",14),o.TgZ(20,"div",9),o.TgZ(21,"div",1),o.TgZ(22,"h4",12),o._uU(23,"Channel ID"),o.qZA(),o.TgZ(24,"span",13),o._uU(25),o.qZA(),o.qZA(),o.qZA(),o._UZ(26,"mat-divider",14),o.TgZ(27,"div",9),o.TgZ(28,"div",1),o.TgZ(29,"h4",12),o._uU(30,"Peer Public Key"),o.qZA(),o.TgZ(31,"span",13),o._uU(32),o.qZA(),o.qZA(),o.qZA(),o._UZ(33,"mat-divider",14),o.TgZ(34,"div",9),o.TgZ(35,"div",11),o.TgZ(36,"h4",12),o._uU(37,"Private"),o.qZA(),o.TgZ(38,"span",15),o._uU(39),o.qZA(),o.qZA(),o.TgZ(40,"div",11),o.TgZ(41,"h4",12),o._uU(42,"Funder"),o.qZA(),o.TgZ(43,"span",15),o._uU(44),o.qZA(),o.qZA(),o.qZA(),o._UZ(45,"mat-divider",14),o.TgZ(46,"div",9),o.TgZ(47,"div",11),o.TgZ(48,"h4",12),o._uU(49,"State"),o.qZA(),o.TgZ(50,"span",15),o._uU(51),o.ALo(52,"titlecase"),o.qZA(),o.qZA(),o.TgZ(53,"div",11),o.TgZ(54,"h4",12),o._uU(55,"Buried"),o.qZA(),o.TgZ(56,"span",15),o._uU(57),o.qZA(),o.qZA(),o.qZA(),o._UZ(58,"mat-divider",14),o.YNc(59,ki,29,14,"div",16),o.TgZ(60,"div",17),o.YNc(61,Ri,4,2,"button",18),o.YNc(62,Mi,2,1,"button",19),o.YNc(63,Ji,2,1,"button",20),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(5),o.Q6J("ngClass",o.VKq(23,Pi,e.screenSize===e.screenSizeEnum.XS)),o.xp6(3),o.Q6J("ngIf","open"===e.channelsType),o.xp6(5),o.Oqu(e.channel.alias),o.xp6(1),o.Q6J("ngIf","open"!==e.channelsType),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.channel.channelId),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.channel.nodeId),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(0===e.channel.channelFlags?"Yes":"No"),o.xp6(5),o.Oqu(e.channel.isFunder?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(52,21,e.channel.state)),o.xp6(6),o.Oqu(e.channel.buried?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngIf",e.showAdvanced&&"open"===e.channelsType),o.xp6(1),o.Q6J("ngClass",o.WLB(25,Ei,!e.showAdvanced,e.showAdvanced)),o.xp6(1),o.Q6J("ngIf","open"===e.channelsType),o.xp6(1),o.Q6J("ngIf","open"===e.channelsType),o.xp6(1),o.Q6J("ngIf","open"!==e.channelsType))},directives:[l.xw,l.Wh,l.yH,T.dk,A.BN,v.lW,T.dn,a.mk,S.oO,a.O5,R.d,Zt.h,Ea.y],pipes:[a.rS,a.JJ],styles:[""]}),t})();function Qi(t,e){1&t&&o._UZ(0,"mat-progress-bar",30)}function Bi(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Short Channel ID "),o.qZA())}function Hi(t,e){if(1&t&&(o.TgZ(0,"span",37),o._UZ(1,"fa-icon",38),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEyeSlash)}}function zi(t,e){if(1&t&&(o.TgZ(0,"span",39),o._UZ(1,"fa-icon",38),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEye)}}const Vi=function(t){return{"max-width":t}};function Gi(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"div",33),o.YNc(2,Hi,2,1,"span",34),o.YNc(3,zi,2,1,"span",35),o.TgZ(4,"span",36),o._uU(5),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(4,Vi,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),o.xp6(1),o.Q6J("ngIf",0===t.channelFlags),o.xp6(1),o.Q6J("ngIf",0!==t.channelFlags),o.xp6(2),o.Oqu(null==t?null:t.shortChannelId)}}function $i(t,e){1&t&&(o.TgZ(0,"th",31),o._uU(1," Alias "),o.qZA())}function Xi(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"div",33),o.TgZ(2,"span",36),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Vi,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),o.xp6(2),o.Oqu(t.alias)}}function Wi(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Base Fee (mSats) "),o.qZA())}function Ki(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.feeBaseMsat,"1.0-0")," ")}}function ji(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Fee Rate (mili mSats) "),o.qZA())}function ts(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.feeProportionalMillionths,"1.0-0")," ")}}function es(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Local Balance (Sats) "),o.qZA())}function ns(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function as(t,e){1&t&&(o.TgZ(0,"th",40),o._uU(1," Remote Balance (Sats) "),o.qZA())}function is(t,e){if(1&t&&(o.TgZ(0,"td",32),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function ss(t,e){1&t&&(o.TgZ(0,"th",42),o._uU(1,"Balance Score "),o.qZA())}function os(t,e){if(1&t&&(o.TgZ(0,"td",43),o.TgZ(1,"div",44),o.TgZ(2,"mat-hint",45),o._uU(3),o.ALo(4,"number"),o.qZA(),o.qZA(),o._UZ(5,"mat-progress-bar",46),o.qZA()),2&t){const t=e.$implicit;o.xp6(3),o.Oqu(o.lcZ(4,2,(null==t?null:t.balancedness)||0)),o.xp6(2),o.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function ls(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",47),o.TgZ(1,"div",48),o.TgZ(2,"mat-select",49),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",50),o.NdJ("click",function(){return o.CHM(t),o.oxw().onChannelUpdate("all")}),o._uU(5,"Update Fee Policy"),o.qZA(),o.TgZ(6,"mat-option",50),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(7,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function rs(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",51),o.TgZ(1,"div",52),o.TgZ(2,"mat-select",53),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",50),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onChannelClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",50),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelUpdate(e)}),o._uU(7,"Update Fee Policy"),o.qZA(),o.TgZ(8,"mat-option",50),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelClose(e,!1)}),o._uU(9,"Close Channel"),o.qZA(),o.TgZ(10,"mat-option",50),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelClose(e,!0)}),o._uU(11,"Force Close"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function cs(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No peers connected. Add a peer in order to open a channel."),o.qZA())}function us(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No channel available."),o.qZA())}function ds(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting channels..."),o.qZA())}function ms(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function ps(t,e){if(1&t&&(o.TgZ(0,"td",54),o.YNc(1,cs,2,0,"p",55),o.YNc(2,us,2,0,"p",55),o.YNc(3,ds,2,0,"p",55),o.YNc(4,ms,2,1,"p",55),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",t.numPeers<1&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",t.numPeers>0&&(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.ERROR)}}const hs=function(t){return{"display-none":t}};function gs(t,e){if(1&t&&o._UZ(0,"tr",56),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,hs,t.numPeers>0&&(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function fs(t,e){1&t&&o._UZ(0,"tr",57)}function xs(t,e){1&t&&o._UZ(0,"tr",58)}const Zs=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ys=function(){return["no_peer"]};let As=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.store=e,this.rtlEffects=n,this.commonService=a,this.faEye=h.Mdf,this.faEyeSlash=h.Aq,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=g.vn,this.selFilter="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","toLocal","toRemote","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["shortChannelId","alias","toLocal","toRemote","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","balancedness","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchChannels.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.activeChannels=t.activeChannels,this.activeChannels.length>0&&this.sort&&this.paginator&&this.loadChannelsTable(),this.logger.info(t)})}ngAfterViewInit(){this.activeChannels.length>0&&this.sort&&this.paginator&&this.loadChannelsTable()}onChannelUpdate(t){"all"!==t&&"NORMAL"!==t.state||(this.store.dispatch(new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update",message:[],titleMessage:"all"===t?"Update fee policy for selected/all channels":"Update fee policy for Channel: "+t.channelId,flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:t&&t.feeBaseMsat?t.feeBaseMsat:1e3,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:t&&t.feeProportionalMillionths?t.feeProportionalMillionths:100,min:1,width:48,hintFunction:this.percentHintFunction}]}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[1])).subscribe(e=>{if(e){const n=e[0].inputValue,a=e[1].inputValue;let i=null,s="";"all"===t?(this.activeChannels.forEach(t=>{s=s+","+t.channelId}),s=s.substring(1),i={baseFeeMsat:n,feeRate:a,channelIds:s}):i={baseFeeMsat:n,feeRate:a,channelId:t.channelId},this.store.dispatch(new gt.k(i))}}),this.applyFilter())}percentHintFunction(t){return(t/1e4).toString()+"%"}onChannelClose(t,e){this.store.dispatch(new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:e?"Force Close Channel":"Close Channel",titleMessage:e?"Force closing channel: "+t.channelId:"Closing channel: "+t.channelId,noBtnText:"Cancel",yesBtnText:e?"Force Close":"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[3])).subscribe(n=>{n&&this.store.dispatch(new gt.e8({channelId:t.channelId,force:e}))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(t,e){this.store.dispatch(new Ft.wu({data:{channel:t,channelsType:"open",component:Yi}}))}loadChannelsTable(){this.activeChannels.sort((t,e)=>t.alias===e.alias?0:e.alias?1:-1),this.channels=new pt.by([...this.activeChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"ActiveChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(Le.V),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-open-table"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Channels")}])],decls:39,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","shortChannelId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","feeBaseMsat"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","feeProportionalMillionths"],["matColumnDef","toLocal"],["matColumnDef","toRemote"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,Qi,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,Bi,2,0,"th",10),o.YNc(11,Gi,6,6,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,$i,2,0,"th",10),o.YNc(14,Xi,4,4,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,Wi,2,0,"th",14),o.YNc(17,Ki,4,4,"td",11),o.BQk(),o.ynx(18,15),o.YNc(19,ji,2,0,"th",14),o.YNc(20,ts,4,4,"td",11),o.BQk(),o.ynx(21,16),o.YNc(22,es,2,0,"th",14),o.YNc(23,ns,4,4,"td",11),o.BQk(),o.ynx(24,17),o.YNc(25,as,2,0,"th",14),o.YNc(26,is,4,4,"td",11),o.BQk(),o.ynx(27,18),o.YNc(28,ss,2,0,"th",19),o.YNc(29,os,6,4,"td",20),o.BQk(),o.ynx(30,21),o.YNc(31,ls,8,0,"th",22),o.YNc(32,rs,12,0,"td",23),o.BQk(),o.ynx(33,24),o.YNc(34,ps,5,4,"td",25),o.BQk(),o.YNc(35,gs,1,3,"tr",26),o.YNc(36,fs,1,0,"tr",27),o.YNc(37,xs,1,0,"tr",28),o.qZA(),o.qZA(),o._UZ(38,"mat-paginator",29),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.selFilter),o.xp6(2),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.channels)("ngClass",o.VKq(11,Zs,""!==e.errorMessage)),o.xp6(28),o.Q6J("matFooterRowDef",o.DdM(13,ys)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,O.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,M.$V,a.O5,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,U.gM,A.BN,O.bx,At.gD,At.$L,Ct.ey,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.JJ],styles:[".mat-column-shortChannelId[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-shortChannelId[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{padding-left:1rem;flex:0 0 15%;width:15%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:2rem;flex:0 0 17%;width:17%}.mat-column-feeBaseMsat[_ngcontent-%COMP%], .mat-column-feeProportionalMillionths[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{flex:1 1 10%;width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:56.25em){.mat-column-feeBaseMsat[_ngcontent-%COMP%], .mat-column-feeProportionalMillionths[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{white-space:unset;flex:1 1 20%;width:20%}}@media only screen and (max-width:37.5em){.mat-column-feeBaseMsat[_ngcontent-%COMP%], .mat-column-feeProportionalMillionths[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:56.25em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 90%}}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),t})();function Cs(t,e){1&t&&o._UZ(0,"mat-progress-bar",25)}function Ts(t,e){1&t&&(o.TgZ(0,"th",26),o._uU(1," State "),o.qZA())}function ws(t,e){if(1&t&&(o.TgZ(0,"td",27),o._uU(1),o.ALo(2,"titlecase"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",o.lcZ(2,1,null==t?null:t.state),"")}}function Ss(t,e){1&t&&(o.TgZ(0,"th",26),o._uU(1," Alias "),o.qZA())}function vs(t,e){if(1&t&&(o.TgZ(0,"td",27),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.alias)}}function qs(t,e){1&t&&(o.TgZ(0,"th",28),o._uU(1," Local Balance (Sats) "),o.qZA())}function bs(t,e){if(1&t&&(o.TgZ(0,"td",27),o.TgZ(1,"span",29),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function Ls(t,e){1&t&&(o.TgZ(0,"th",28),o._uU(1," Remote Balance (Sats) "),o.qZA())}function Fs(t,e){if(1&t&&(o.TgZ(0,"td",27),o.TgZ(1,"span",29),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function Is(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",30),o.TgZ(1,"div",31),o.TgZ(2,"mat-select",32),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",33),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Ns(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",34),o.TgZ(1,"button",35),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onChannelClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function _s(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No pending channel available."),o.qZA())}function Ds(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting pending channels..."),o.qZA())}function ks(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function Os(t,e){if(1&t&&(o.TgZ(0,"td",36),o.YNc(1,_s,2,0,"p",37),o.YNc(2,Ds,2,0,"p",37),o.YNc(3,ks,2,1,"p",37),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.ERROR)}}const Us=function(t){return{"display-none":t}};function Rs(t,e){if(1&t&&o._UZ(0,"tr",38),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,Us,(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function Ms(t,e){1&t&&o._UZ(0,"tr",39)}function Js(t,e){1&t&&o._UZ(0,"tr",40)}const Ps=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Es=function(){return["no_channel"]};let Ys=(()=>{class t{constructor(t,e,n){this.logger=t,this.store=e,this.commonService=n,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=g.vn,this.selFilter="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["state","alias","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","alias","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","alias","toLocal","toRemote","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchChannels.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.pendingChannels=t.pendingChannels,this.loadChannelsTable(),this.logger.info(t)})}ngAfterViewInit(){this.pendingChannels.length>0&&this.loadChannelsTable()}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(t,e){this.store.dispatch(new Ft.wu({data:{channel:t,channelsType:"pending",component:Yi}}))}loadChannelsTable(){this.pendingChannels.sort((t,e)=>t.alias===e.alias?0:e.alias?1:-1),this.channels=new pt.by([...this.pendingChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"PendingChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-pending-table"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Channels")}])],decls:30,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","toLocal"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","toRemote"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,Cs,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,Ts,2,0,"th",10),o.YNc(11,ws,3,3,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,Ss,2,0,"th",10),o.YNc(14,vs,2,1,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,qs,2,0,"th",14),o.YNc(17,bs,4,4,"td",11),o.BQk(),o.ynx(18,15),o.YNc(19,Ls,2,0,"th",14),o.YNc(20,Fs,4,4,"td",11),o.BQk(),o.ynx(21,16),o.YNc(22,Is,6,0,"th",17),o.YNc(23,Ns,3,0,"td",18),o.BQk(),o.ynx(24,19),o.YNc(25,Os,4,3,"td",20),o.BQk(),o.YNc(26,Rs,1,3,"tr",21),o.YNc(27,Ms,1,0,"tr",22),o.YNc(28,Js,1,0,"tr",23),o.qZA(),o.qZA(),o._UZ(29,"mat-paginator",24),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.selFilter),o.xp6(2),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.channels)("ngClass",o.VKq(11,Ps,""!==e.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(13,Es)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,O.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,M.$V,a.O5,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,At.gD,At.$L,Ct.ey,v.lW,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.rS,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();var Qs=n(7753);const Bs=["peersForm"],Hs=["stepper"];function zs(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw();o.Oqu(t.peerFormLabel)}}function Vs(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Address is required."),o.qZA())}function Gs(t,e){if(1&t&&(o.TgZ(0,"div",33),o._UZ(1,"fa-icon",34),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.peerConnectionError)}}function $s(t,e){if(1&t&&o._uU(0),2&t){const t=o.oxw();o.Oqu(t.channelFormLabel)}}function Xs(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Ws(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount must be a positive number."),o.qZA())}function Ks(t,e){if(1&t&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",t.totalBalance,".")}}function js(t,e){if(1&t&&(o.TgZ(0,"div",33),o._UZ(1,"fa-icon",34),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.channelConnectionError)}}let to=(()=>{class t{constructor(t,e,n,a,i,s){this.dialogRef=t,this.data=e,this.store=n,this.formBuilder=a,this.actions=i,this.logger=s,this.faExclamationTriangle=h.eHv,this.peerAddress="",this.totalBalance=0,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.unSubs=[new d.x,new d.x]}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerAddress=this.data.message.peer&&this.data.message.peer.nodeId&&this.data.message.peer.address?this.data.message.peer.nodeId+"@"+this.data.message.peer.address:this.data.message.peer&&this.data.message.peer.nodeId&&!this.data.message.peer.address?this.data.message.peer.nodeId:"",this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[ft.kI.required]],peerAddress:[this.peerAddress,[ft.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[ft.kI.required,ft.kI.min(1),ft.kI.max(this.totalBalance)]],isPrivate:[!1],feeRate:[null],hiddenAmount:["",[ft.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.Ae||t.type===gt.M8||t.type===gt.f)).subscribe(t=>{t.type===gt.Ae&&(this.logger.info(t.payload),this.flgEditable=!1,this.newlyAddedPeer=t.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),t.type===gt.M8&&this.dialogRef.close(),t.type===gt.f&&t.payload.status===g.Bn.ERROR&&("SaveNewPeer"===t.payload.action?this.peerConnectionError=t.payload.message:"SaveNewChannel"===t.payload.action&&(this.channelConnectionError=t.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="",this.store.dispatch(new gt.rF({id:this.peerFormGroup.controls.peerAddress.value}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0)return!0;this.channelConnectionError="",this.store.dispatch(new gt.nb({nodeId:this.newlyAddedPeer.nodeId,amount:this.channelFormGroup.controls.fundingAmount.value,private:this.channelFormGroup.controls.isPrivate.value,feeRate:this.channelFormGroup.controls.feeRate.value}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.nodeId):"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.nodeId):"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(ht.so),o.Y36(ht.WI),o.Y36(x.yh),o.Y36(ft.qu),o.Y36(Z.eX),o.Y36(f.mQ))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-connect-peer"]],viewQuery:function(t,e){if(1&t&&(o.Gf(Bs,5),o.Gf(Hs,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.form=t.first),o.iGM(t=o.CRH())&&(e.stepper=t.first)}},decls:50,vars:20,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","autoFocus","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["matInput","","formControlName","feeRate","placeholder","Fee (Sats/vByte)","type","number","name","feeRate","tabindex","7",3,"step","min"],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"click"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Connect to a new peer"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return e.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"div",7),o.TgZ(10,"mat-vertical-stepper",8,9),o.NdJ("selectionChange",function(t){return e.stepSelectionChanged(t)}),o.TgZ(12,"mat-step",10),o.TgZ(13,"form",11),o.YNc(14,zs,1,1,"ng-template",12),o.TgZ(15,"mat-form-field",1),o._UZ(16,"input",13),o.YNc(17,Vs,2,0,"mat-error",14),o.qZA(),o.YNc(18,Gs,4,2,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"button",17),o.NdJ("click",function(){return e.onConnectPeer()}),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(22,"mat-step",10),o.TgZ(23,"form",18),o.YNc(24,$s,1,1,"ng-template",19),o.TgZ(25,"div",20),o.TgZ(26,"div",21),o.TgZ(27,"mat-form-field",22),o._UZ(28,"input",23),o.TgZ(29,"mat-hint"),o._uU(30),o.qZA(),o.TgZ(31,"span",24),o._uU(32," Sats "),o.qZA(),o.YNc(33,Xs,2,0,"mat-error",14),o.YNc(34,Ws,2,0,"mat-error",14),o.YNc(35,Ks,2,1,"mat-error",14),o.qZA(),o.TgZ(36,"div",25),o.TgZ(37,"mat-slide-toggle",26),o._uU(38,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(39,"div",27),o.TgZ(40,"div",28),o.TgZ(41,"mat-form-field",1),o._UZ(42,"input",29),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(43,js,4,2,"div",15),o.TgZ(44,"div",16),o.TgZ(45,"button",30),o.NdJ("click",function(){return e.onOpenChannel()}),o._uU(46),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(47,"div",31),o.TgZ(48,"button",32),o.NdJ("click",function(){return e.onClose()}),o._uU(49),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(10),o.Q6J("linear",!0),o.xp6(2),o.Q6J("stepControl",e.peerFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.peerFormGroup),o.xp6(4),o.Q6J("ngIf",null==e.peerFormGroup.controls.peerAddress.errors?null:e.peerFormGroup.controls.peerAddress.errors.required),o.xp6(1),o.Q6J("ngIf",""!==e.peerConnectionError),o.xp6(3),o.Oqu(""!==e.peerConnectionError?"Retry":"Add Peer"),o.xp6(1),o.Q6J("stepControl",e.channelFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.channelFormGroup),o.xp6(5),o.Q6J("step",1e3),o.xp6(2),o.hij("Remaining Bal: ",e.totalBalance-(e.channelFormGroup.controls.fundingAmount.value?e.channelFormGroup.controls.fundingAmount.value:0),""),o.xp6(3),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.min),o.xp6(1),o.Q6J("ngIf",null==e.channelFormGroup.controls.fundingAmount.errors?null:e.channelFormGroup.controls.fundingAmount.errors.max),o.xp6(7),o.Q6J("step",1)("min",0),o.xp6(1),o.Q6J("ngIf",""!==e.channelConnectionError),o.xp6(3),o.Oqu(""!==e.channelConnectionError?"Retry":"Open Channel"),o.xp6(3),o.Oqu(null!=e.newlyAddedPeer&&e.newlyAddedPeer.nodeId?"Do It Later":"Close"))},directives:[l.xw,l.yH,T.dk,l.Wh,v.lW,T.dn,Qs.Vq,Qs.C0,ft._Y,ft.JL,ft.sg,Qs.VY,O.KE,xt.Nt,ft.Fj,Zt.h,ft.JJ,ft.u,ft.Q7,a.O5,ft.wV,O.bx,O.R9,pi.Rr,ft.qQ,yt.q,O.TO,A.BN],styles:[""]}),t})();function eo(t,e){1&t&&o._UZ(0,"mat-progress-bar",35)}function no(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1," ID "),o.qZA())}const ao=function(t){return{"max-width":t}};function io(t,e){if(1&t&&(o.TgZ(0,"td",37),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,ao,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),o.xp6(1),o.hij(" ",null==t?null:t.nodeId," ")}}function so(t,e){1&t&&(o.TgZ(0,"th",38),o._uU(1," Alias "),o.qZA())}const oo=function(t){return{"mr-0":t}};function lo(t,e){if(1&t&&o._UZ(0,"span",42),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,oo,t.screenSize===t.screenSizeEnum.XS))}}function ro(t,e){if(1&t&&o._UZ(0,"span",43),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,oo,t.screenSize===t.screenSizeEnum.XS))}}function co(t,e){if(1&t&&(o.TgZ(0,"td",39),o.YNc(1,lo,1,3,"span",40),o.YNc(2,ro,1,3,"span",41),o._uU(3),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(4,ao,n.screenSize===n.screenSizeEnum.XS?"10rem":"25rem")),o.xp6(1),o.Q6J("ngIf","CONNECTED"===t.state),o.xp6(1),o.Q6J("ngIf","DISCONNECTED"===t.state),o.xp6(1),o.hij(" ",null==t?null:t.alias," ")}}function uo(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1," State "),o.qZA())}function mo(t,e){if(1&t&&(o.TgZ(0,"td",44),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.state," ")}}function po(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1," Network Address "),o.qZA())}function ho(t,e){if(1&t&&(o.TgZ(0,"td",44),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.address," ")}}function go(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1," Channels "),o.qZA())}function fo(t,e){if(1&t&&(o.TgZ(0,"td",44),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.channels," ")}}function xo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",45),o.TgZ(1,"div",46),o.TgZ(2,"mat-select",47),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",48),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Zo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",48),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onPeerDetach(e)}),o._uU(1,"Disconnect"),o.qZA()}}function yo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-option",48),o.NdJ("click",function(){o.CHM(t);const e=o.oxw().$implicit;return o.oxw().onConnectPeer(e)}),o._uU(1,"Reconnect"),o.qZA()}}function Ao(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",49),o.TgZ(1,"div",46),o.TgZ(2,"mat-select",47),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",48),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onPeerClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",48),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onOpenChannel(e)}),o._uU(7,"Open Channel"),o.qZA(),o.YNc(8,Zo,2,0,"mat-option",50),o.YNc(9,yo,2,0,"mat-option",50),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit;o.xp6(8),o.Q6J("ngIf","CONNECTED"===t.state),o.xp6(1),o.Q6J("ngIf","DISCONNECTED"===t.state)}}function Co(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No connected peer."),o.qZA())}function To(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting peers..."),o.qZA())}function wo(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function So(t,e){if(1&t&&(o.TgZ(0,"td",51),o.YNc(1,Co,2,0,"p",52),o.YNc(2,To,2,0,"p",52),o.YNc(3,wo,2,1,"p",52),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.peers&&t.peers.data)||(null==t.peers||null==t.peers.data?null:t.peers.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.ERROR)}}const vo=function(t){return{"display-none":t}};function qo(t,e){if(1&t&&o._UZ(0,"tr",53),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,vo,(null==t.peers?null:t.peers.data)&&(null==t.peers||null==t.peers.data?null:t.peers.data.length)>0))}}function bo(t,e){1&t&&o._UZ(0,"tr",54)}function Lo(t,e){if(1&t&&o._UZ(0,"tr",55),2&t){const t=e.$implicit,n=o.oxw();o.Q6J("@newlyAddedRowAnimation",t.pub_key===n.newlyAddedPeer&&n.flgAnimate?"added":"notAdded")}}const Fo=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},Io=function(){return["no_peer"]};let No=(()=>{class t{constructor(t,e,n,a,i){this.logger=t,this.store=e,this.rtlEffects=n,this.actions=a,this.commonService=i,this.faUsers=h.FVb,this.newlyAddedPeer="",this.flgAnimate=!0,this.displayedColumns=[],this.peerAddress="",this.peersData=[],this.information={},this.availableBalance=0,this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","address","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","address","channels","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","nodeId","address","channels","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPeers.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPeers.message?JSON.stringify(this.apisCallStatus.FetchPeers.message):this.apisCallStatus.FetchPeers.message),this.information=t.information,this.availableBalance=t.onchainBalance.total||0,this.peersData=t.peers,this.loadPeersTable(this.peersData),setTimeout(()=>{this.flgAnimate=!1},3e3),this.logger.info(t)}),this.actions.pipe((0,m.R)(this.unSubs[1]),(0,ut.h)(t=>t.type===gt.IH)).subscribe(t=>{this.peerAddress=null,this.flgAnimate=!0})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(t,e){const n=[[{key:"nodeId",value:t.nodeId,title:"Public Key",width:100}],[{key:"address",value:t.address,title:"Address",width:50},{key:"alias",value:t.alias,title:"Alias",width:50}],[{key:"state",value:this.commonService.titleCase(t.state),title:"State",width:50},{key:"channels",value:t.channels,title:"Channels",width:50}]];this.store.dispatch(new Ft.wu({data:{type:g.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:t.nodeId,message:n}}))}onConnectPeer(t){this.store.dispatch(new Ft.wu({data:{message:{peer:t.nodeId?t:null,information:this.information,balance:this.availableBalance},component:to}}))}onOpenChannel(t){this.store.dispatch(new Ft.wu({data:{alertTitle:"Open Channel",message:{peer:t,information:this.information,balance:this.availableBalance},newlyAdded:!1,component:bi}}))}onPeerDetach(t){this.store.dispatch(t.channels>0?new Ft.wu({data:{type:g.n_.ERROR,alertTitle:"Disconnect Not Allowed",titleMessage:"Channel active with this peer."}}):new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(t.alias?t.alias:t.nodeId),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[3])).subscribe(e=>{e&&this.store.dispatch(new gt.hF({nodeId:t.nodeId}))})}applyFilter(t){this.peers.filter=t.value.trim().toLowerCase()}loadPeersTable(t){this.peers=new pt.by(t?[...t]:[]),this.peers.sort=this.sort,this.peers.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.peers.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(Le.V),o.Y36(Z.eX),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-peers"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Peers")}])],decls:42,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["peersForm","ngForm"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["fxLayout","row","fxLayoutAlign","start start"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","nodeId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3",3,"ngStyle",4,"matCellDef"],["matColumnDef","state"],["mat-cell","",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","channels"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","",1,"px-3"],["mat-cell","",1,"px-3",3,"ngStyle"],["class","dot green","matTooltip","Connected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Disconnected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Connected","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Disconnected","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-cell",""],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"button",3),o.NdJ("click",function(){return e.onConnectPeer({})}),o._uU(4,"Add Peer"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"div",5),o.TgZ(7,"div",6),o._UZ(8,"fa-icon",7),o.TgZ(9,"span",8),o._uU(10,"Peers"),o.qZA(),o.qZA(),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"div",10),o.TgZ(13,"input",11),o.NdJ("keyup",function(t){return e.applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(14,"div",12),o.YNc(15,eo,1,0,"mat-progress-bar",13),o.TgZ(16,"table",14,15),o.ynx(18,16),o.YNc(19,no,2,0,"th",17),o.YNc(20,io,2,4,"td",18),o.BQk(),o.ynx(21,19),o.YNc(22,so,2,0,"th",20),o.YNc(23,co,4,6,"td",21),o.BQk(),o.ynx(24,22),o.YNc(25,uo,2,0,"th",17),o.YNc(26,mo,2,1,"td",23),o.BQk(),o.ynx(27,24),o.YNc(28,po,2,0,"th",17),o.YNc(29,ho,2,1,"td",23),o.BQk(),o.ynx(30,25),o.YNc(31,go,2,0,"th",17),o.YNc(32,fo,2,1,"td",23),o.BQk(),o.ynx(33,26),o.YNc(34,xo,6,0,"th",27),o.YNc(35,Ao,10,2,"td",28),o.BQk(),o.ynx(36,29),o.YNc(37,So,4,3,"td",30),o.BQk(),o.YNc(38,qo,1,3,"tr",31),o.YNc(39,bo,1,0,"tr",32),o.YNc(40,Lo,1,1,"tr",33),o.qZA(),o.qZA(),o._UZ(41,"mat-paginator",34),o.qZA(),o.qZA()),2&t&&(o.xp6(8),o.Q6J("icon",e.faUsers),o.xp6(7),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchPeers.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.peers)("ngClass",o.VKq(11,Fo,""!==e.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(13,Io)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,ft._Y,ft.JL,ft.F,v.lW,A.BN,O.KE,xt.Nt,M.$V,a.O5,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,U.gM,At.gD,At.$L,Ct.ey,pt.yh,pt.Q2,pt.XQ,pt.Gk],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-nodeId[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-nodeId[_ngcontent-%COMP%]{padding-right:2rem}.mat-column-address[_ngcontent-%COMP%]{flex:1 1 15%;width:15%}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[Lt.Q]}}),t})();const _o=["queryRoutesForm"];function Do(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Destination Node ID is required."),o.qZA())}function ko(t,e){1&t&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Oo(t,e){1&t&&o._UZ(0,"mat-progress-bar",31)}function Uo(t,e){1&t&&(o.TgZ(0,"th",32),o._uU(1," Alias "),o.qZA())}function Ro(t,e){if(1&t&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.alias," ")}}function Mo(t,e){1&t&&(o.TgZ(0,"th",32),o._uU(1," ID "),o.qZA())}function Jo(t,e){if(1&t&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.hij(" ",null==t?null:t.nodeId," ")}}function Po(t,e){1&t&&(o.TgZ(0,"th",34),o.TgZ(1,"span",35),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Eo(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",36),o.TgZ(1,"button",37),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onHopClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Yo(t,e){1&t&&o._UZ(0,"tr",38)}function Qo(t,e){1&t&&o._UZ(0,"tr",39)}const Bo=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}};let Ho=(()=>{class t{constructor(t,e,n){this.store=t,this.eclEffects=e,this.commonService=n,this.nodeId="",this.amount=0,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=h.FpQ,this.faExclamationTriangle=h.eHv,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","nodeId","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","nodeId","actions"])}ngOnInit(){this.qrHops=new pt.by([]),this.eclEffects.setQueryRoutes.pipe((0,m.R)(this.unSubs[1])).subscribe(t=>{this.qrHops.data=[],t?(this.flgLoading[0]=!1,this.qrHops=new pt.by([...t]),this.qrHops.data=t):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null})}onQueryRoutes(){if(!this.nodeId||!this.amount)return!0;this.qrHops.data=[],this.flgLoading[0]=!0,this.store.dispatch(new gt.bm({nodeId:this.nodeId,amount:1e3*this.amount}))}resetData(){this.nodeId="",this.amount=0,this.flgLoading[0]=!1,this.qrHops.data=[],this.form.resetForm()}onHopClick(t,e){this.store.dispatch(new Ft.wu({data:{type:g.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"alias",value:t.alias,title:"Alias",width:100,type:g.Gi.STRING}],[{key:"nodeId",value:t.nodeId,title:"Node ID",width:100,type:g.Gi.STRING}]]}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.yh),o.Y36(de.o),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-query-routes"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(_o,7)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.form=t.first)}},decls:39,vars:16,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Node ID","name","nodeId","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","mt-2","mb-1"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","nodeId"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-4","pr-3"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.NdJ("ngSubmit",function(){return o.CHM(t),o.MAs(2).form.valid&&e.onQueryRoutes()}),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span"),o._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),o.qZA(),o.qZA(),o.TgZ(7,"mat-form-field",5),o.TgZ(8,"input",6,7),o.NdJ("ngModelChange",function(t){return e.nodeId=t}),o.qZA(),o.YNc(10,Do,2,0,"mat-error",8),o.qZA(),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(t){return e.amount=t}),o.qZA(),o.YNc(13,ko,2,0,"mat-error",8),o.qZA(),o.TgZ(14,"div",11),o.TgZ(15,"button",12),o.NdJ("click",function(){return e.resetData()}),o._uU(16,"Clear"),o.qZA(),o.TgZ(17,"button",13),o._uU(18,"Query Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(19,"div",14),o.TgZ(20,"div",15),o._UZ(21,"fa-icon",16),o.TgZ(22,"span",17),o._uU(23,"Transaction Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(24,"div",18),o.YNc(25,Oo,1,0,"mat-progress-bar",19),o.TgZ(26,"table",20,21),o.ynx(28,22),o.YNc(29,Uo,2,0,"th",23),o.YNc(30,Ro,2,1,"td",24),o.BQk(),o.ynx(31,25),o.YNc(32,Mo,2,0,"th",23),o.YNc(33,Jo,2,1,"td",24),o.BQk(),o.ynx(34,26),o.YNc(35,Po,3,0,"th",27),o.YNc(36,Eo,3,0,"td",28),o.BQk(),o.YNc(37,Yo,1,0,"tr",29),o.YNc(38,Qo,1,0,"tr",30),o.qZA(),o.qZA(),o.qZA()}2&t&&(o.xp6(4),o.Q6J("icon",e.faExclamationTriangle),o.xp6(4),o.Q6J("ngModel",e.nodeId),o.xp6(2),o.Q6J("ngIf",!e.nodeId),o.xp6(2),o.Q6J("ngModel",e.amount)("step",1e3)("min",0),o.xp6(1),o.Q6J("ngIf",!e.amount),o.xp6(8),o.Q6J("icon",e.faRoute),o.xp6(4),o.Q6J("ngIf",!0===e.flgLoading[0]),o.xp6(1),o.Q6J("dataSource",e.qrHops)("ngClass",o.VKq(14,Bo,"error"===e.flgLoading[0])),o.xp6(11),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns))},directives:[l.xw,l.yH,ft._Y,ft.JL,ft.F,l.Wh,A.BN,O.KE,xt.Nt,ft.Fj,ft.Q7,ft.JJ,ft.On,a.O5,ft.wV,ft.qQ,yt.q,v.lW,M.$V,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.as,pt.nj,O.TO,r.pW,pt.ge,mt.nU,pt.ev,pt.XQ,pt.Gk],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function zo(t,e){1&t&&o._UZ(0,"mat-progress-bar",29)}function Vo(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1," State "),o.qZA())}function Go(t,e){if(1&t&&(o.TgZ(0,"span",36),o._UZ(1,"fa-icon",37),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEyeSlash)}}function $o(t,e){if(1&t&&(o.TgZ(0,"span",38),o._UZ(1,"fa-icon",37),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("icon",t.faEye)}}const Xo=function(t){return{"max-width":t}};function Wo(t,e){if(1&t&&(o.TgZ(0,"td",31),o.TgZ(1,"div",32),o.YNc(2,Go,2,1,"span",33),o.YNc(3,$o,2,1,"span",34),o.TgZ(4,"span",35),o._uU(5),o.ALo(6,"titlecase"),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(6,Xo,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(1),o.Q6J("ngIf",0===t.channelFlags),o.xp6(1),o.Q6J("ngIf",0!==t.channelFlags),o.xp6(2),o.Oqu(o.lcZ(6,4,null==t?null:t.state))}}function Ko(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1," Short Channel ID "),o.qZA())}function jo(t,e){if(1&t&&(o.TgZ(0,"td",31),o._uU(1),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(null==t?null:t.shortChannelId)}}function tl(t,e){1&t&&(o.TgZ(0,"th",30),o._uU(1," Alias "),o.qZA())}function el(t,e){if(1&t&&(o.TgZ(0,"td",31),o.TgZ(1,"div",32),o.TgZ(2,"span",35),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&t){const t=e.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Xo,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(2),o.Oqu(t.alias)}}function nl(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Local Balance (Sats) "),o.qZA())}function al(t,e){if(1&t&&(o.TgZ(0,"td",31),o.TgZ(1,"span",40),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toLocal,"1.0-0")," ")}}function il(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1," Remote Balance (Sats) "),o.qZA())}function sl(t,e){if(1&t&&(o.TgZ(0,"td",31),o.TgZ(1,"span",40),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.hij(" ",o.xi3(3,1,null==t?null:t.toRemote,"1.0-0")," ")}}function ol(t,e){1&t&&(o.TgZ(0,"th",41),o._uU(1,"Balance Score "),o.qZA())}function ll(t,e){if(1&t&&(o.TgZ(0,"td",42),o.TgZ(1,"div",43),o.TgZ(2,"mat-hint",44),o._uU(3),o.ALo(4,"number"),o.qZA(),o.qZA(),o._UZ(5,"mat-progress-bar",45),o.qZA()),2&t){const t=e.$implicit;o.xp6(3),o.Oqu(o.lcZ(4,2,(null==t?null:t.balancedness)||0)),o.xp6(2),o.s9C("value",t.toLocal&&t.toLocal>0?+t.toLocal/(+t.toLocal+ +t.toRemote)*100:0)}}function rl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",46),o.TgZ(1,"div",47),o.TgZ(2,"mat-select",48),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",49),o.NdJ("click",function(){return o.CHM(t),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function cl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",50),o.TgZ(1,"div",51),o.TgZ(2,"mat-select",52),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",49),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw().onChannelClick(n,e)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",49),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().onChannelClose(e,!0)}),o._uU(7,"Force Close"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function ul(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No inactive channel available."),o.qZA())}function dl(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting inactive channels..."),o.qZA())}function ml(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t.errorMessage)}}function pl(t,e){if(1&t&&(o.TgZ(0,"td",53),o.YNc(1,ul,2,0,"p",54),o.YNc(2,dl,2,0,"p",54),o.YNc(3,ml,2,1,"p",54),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.channels&&t.channels.data)||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchChannels.status)===t.apiCallStatusEnum.ERROR)}}const hl=function(t){return{"display-none":t}};function gl(t,e){if(1&t&&o._UZ(0,"tr",55),2&t){const t=o.oxw();o.Q6J("ngClass",o.VKq(1,hl,(null==t.channels?null:t.channels.data)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0))}}function fl(t,e){1&t&&o._UZ(0,"tr",56)}function xl(t,e){1&t&&o._UZ(0,"tr",57)}const Zl=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},yl=function(){return["no_channel"]};let Al=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.store=e,this.rtlEffects=n,this.commonService=a,this.faEye=h.Mdf,this.faEyeSlash=h.Aq,this.totalBalance=0,this.displayedColumns=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=g.vn,this.selFilter="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS||this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["state","alias","toLocal","toRemote","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","shortChannelId","alias","toLocal","toRemote","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","shortChannelId","alias","toLocal","toRemote","balancedness","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchChannels.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchChannels.message?JSON.stringify(this.apisCallStatus.FetchChannels.message):this.apisCallStatus.FetchChannels.message),this.information=t.information,this.numPeers=t.peers&&t.peers.length?t.peers.length:0,this.totalBalance=t.onchainBalance.total,this.inactiveChannels=t.inactiveChannels,this.loadChannelsTable(),this.logger.info(t)})}ngAfterViewInit(){this.inactiveChannels.length>0&&this.loadChannelsTable()}onChannelClose(t,e){this.store.dispatch(new Ft.b_({data:{type:g.n_.CONFIRM,alertTitle:e?"Force Close Channel":"Close Channel",titleMessage:e?"Force closing channel: "+t.channelId:"Closing channel: "+t.channelId,noBtnText:"Cancel",yesBtnText:e?"Force Close":"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,m.R)(this.unSubs[1])).subscribe(n=>{n&&this.store.dispatch(new gt.e8({channelId:t.channelId,force:e}))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLocaleLowerCase()}onChannelClick(t,e){this.store.dispatch(new Ft.wu({data:{channel:t,channelsType:"inactive",component:Yi}}))}loadChannelsTable(){this.inactiveChannels.sort((t,e)=>t.alias===e.alias?0:e.alias?1:-1),this.channels=new pt.by([...this.inactiveChannels]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.channels.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"InactiveChannels")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(x.yh),o.Y36(Le.V),o.Y36(y.v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-channel-inactive-table"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Channels")}])],decls:36,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","shortChannelId"],["matColumnDef","alias"],["matColumnDef","toLocal"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","toRemote"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return e.applyFilter()})("ngModelChange",function(t){return e.selFilter=t}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,zo,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,Vo,2,0,"th",10),o.YNc(11,Wo,7,8,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,Ko,2,0,"th",10),o.YNc(14,jo,2,1,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,tl,2,0,"th",10),o.YNc(17,el,4,4,"td",11),o.BQk(),o.ynx(18,14),o.YNc(19,nl,2,0,"th",15),o.YNc(20,al,4,4,"td",11),o.BQk(),o.ynx(21,16),o.YNc(22,il,2,0,"th",15),o.YNc(23,sl,4,4,"td",11),o.BQk(),o.ynx(24,17),o.YNc(25,ol,2,0,"th",18),o.YNc(26,ll,6,4,"td",19),o.BQk(),o.ynx(27,20),o.YNc(28,rl,6,0,"th",21),o.YNc(29,cl,8,0,"td",22),o.BQk(),o.ynx(30,23),o.YNc(31,pl,4,3,"td",24),o.BQk(),o.YNc(32,gl,1,3,"tr",25),o.YNc(33,fl,1,0,"tr",26),o.YNc(34,xl,1,0,"tr",27),o.qZA(),o.qZA(),o._UZ(35,"mat-paginator",28),o.qZA()),2&t&&(o.xp6(4),o.Q6J("ngModel",e.selFilter),o.xp6(2),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.channels)("ngClass",o.VKq(11,Zl,""!==e.errorMessage)),o.xp6(25),o.Q6J("matFooterRowDef",o.DdM(13,yl)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,O.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,M.$V,a.O5,pt.BZ,mt.YE,a.mk,S.oO,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,U.gM,A.BN,O.bx,At.gD,At.$L,Ct.ey,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.rS,a.JJ],styles:[".mat-column-state[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-state[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:3rem;flex:0 0 20%;width:20%}.mat-column-shortChannelId[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{flex:1 1 15%;width:15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-shortChannelId[_ngcontent-%COMP%], .mat-column-toLocal[_ngcontent-%COMP%], .mat-column-toRemote[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),t})();function Cl(t,e){if(1&t&&(o.TgZ(0,"div",5),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function Tl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",6),o._UZ(1,"div",7),o.TgZ(2,"mat-form-field",8),o.TgZ(3,"input",9),o.NdJ("ngModelChange",function(e){return o.CHM(t),o.oxw().filterValue=e})("input",function(){return o.CHM(t),o.oxw().applyFilter()})("keyup",function(){return o.CHM(t),o.oxw().applyFilter()}),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(3),o.Q6J("ngModel",t.filterValue)}}function wl(t,e){1&t&&o._UZ(0,"mat-progress-bar",32)}function Sl(t,e){1&t&&(o.TgZ(0,"th",33),o._uU(1,"Date/Time"),o.qZA())}function vl(t,e){if(1&t&&(o.TgZ(0,"td",34),o._uU(1),o.ALo(2,"date"),o.qZA()),2&t){const t=e.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,null==t?null:t.timestamp,"dd/MMM/YYYY HH:mm"))}}function ql(t,e){1&t&&(o.TgZ(0,"th",33),o._uU(1,"In Channel"),o.qZA())}const bl=function(t){return{"max-width":t}};function Ll(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,bl,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(1),o.Oqu(null==t?null:t.fromChannelAlias)}}function Fl(t,e){1&t&&(o.TgZ(0,"th",33),o._uU(1,"Out Channel"),o.qZA())}function Il(t,e){if(1&t&&(o.TgZ(0,"td",35),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,bl,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(1),o.Oqu(null==t?null:t.toChannelAlias)}}function Nl(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Amount In (Sats)"),o.qZA())}function _l(t,e){if(1&t&&(o.TgZ(0,"td",34),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==t?null:t.amountIn))}}function Dl(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Amount Out (Sats)"),o.qZA())}function kl(t,e){if(1&t&&(o.TgZ(0,"td",34),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==t?null:t.amountOut))}}function Ol(t,e){1&t&&(o.TgZ(0,"th",36),o._uU(1,"Fee Earned (Sats)"),o.qZA())}function Ul(t,e){if(1&t&&(o.TgZ(0,"td",34),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,(null==t?null:t.amountIn)-(null==t?null:t.amountOut)))}}function Rl(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"th",38),o.TgZ(1,"div",39),o.TgZ(2,"mat-select",40),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",41),o.NdJ("click",function(){return o.CHM(t),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Ml(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"td",42),o.TgZ(1,"button",43),o.NdJ("click",function(e){const n=o.CHM(t).$implicit;return o.oxw(2).onForwardingEventClick(n,e)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Jl(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No forwarding history available."),o.qZA())}function Pl(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting forwarding history..."),o.qZA())}function El(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function Yl(t,e){if(1&t&&(o.TgZ(0,"td",44),o.YNc(1,Jl,2,0,"p",45),o.YNc(2,Pl,2,0,"p",45),o.YNc(3,El,2,1,"p",45),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.forwardingHistoryEvents&&t.forwardingHistoryEvents.data)||(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.ERROR)}}const Ql=function(t){return{"display-none":t}};function Bl(t,e){if(1&t&&o._UZ(0,"tr",46),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Ql,(null==t.forwardingHistoryEvents?null:t.forwardingHistoryEvents.data)&&(null==t.forwardingHistoryEvents||null==t.forwardingHistoryEvents.data?null:t.forwardingHistoryEvents.data.length)>0))}}function Hl(t,e){1&t&&o._UZ(0,"tr",47)}function zl(t,e){1&t&&o._UZ(0,"tr",48)}const Vl=function(){return["no_event"]};function Gl(t,e){if(1&t&&(o.TgZ(0,"div",10),o.YNc(1,wl,1,0,"mat-progress-bar",11),o.TgZ(2,"table",12,13),o.ynx(4,14),o.YNc(5,Sl,2,0,"th",15),o.YNc(6,vl,3,4,"td",16),o.BQk(),o.ynx(7,17),o.YNc(8,ql,2,0,"th",15),o.YNc(9,Ll,2,4,"td",18),o.BQk(),o.ynx(10,19),o.YNc(11,Fl,2,0,"th",15),o.YNc(12,Il,2,4,"td",18),o.BQk(),o.ynx(13,20),o.YNc(14,Nl,2,0,"th",21),o.YNc(15,_l,4,3,"td",16),o.BQk(),o.ynx(16,22),o.YNc(17,Dl,2,0,"th",21),o.YNc(18,kl,4,3,"td",16),o.BQk(),o.ynx(19,23),o.YNc(20,Ol,2,0,"th",21),o.YNc(21,Ul,4,3,"td",16),o.BQk(),o.ynx(22,24),o.YNc(23,Rl,6,0,"th",25),o.YNc(24,Ml,3,0,"td",26),o.BQk(),o.ynx(25,27),o.YNc(26,Yl,4,3,"td",28),o.BQk(),o.YNc(27,Bl,1,3,"tr",29),o.YNc(28,Hl,1,0,"tr",30),o.YNc(29,zl,1,0,"tr",31),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.forwardingHistoryEvents),o.xp6(25),o.Q6J("matFooterRowDef",o.DdM(6,Vl)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns)}}function $l(t,e){if(1&t&&o._UZ(0,"mat-paginator",49),2&t){const t=o.oxw();o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let Xl=(()=>{class t{constructor(t,e,n,a){this.logger=t,this.commonService=e,this.store=n,this.datePipe=a,this.eventsData=[],this.filterValue="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","fee","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amountIn","amountOut","fee","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee","actions"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.eventsData.length<=0&&(this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPayments.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),this.eventsData=t.payments&&t.payments.relayed?t.payments.relayed:[],this.eventsData.length>0&&this.sort&&this.paginator&&this.loadForwardingEventsTable(this.eventsData),this.logger.info(this.eventsData))})}ngAfterViewInit(){this.eventsData.length>0&&this.loadForwardingEventsTable(this.eventsData)}ngOnChanges(t){t.eventsData&&(this.eventsData=t.eventsData.currentValue,t.eventsData.firstChange||this.loadForwardingEventsTable(this.eventsData)),t.filterValue&&!t.filterValue.firstChange&&this.applyFilter()}onForwardingEventClick(t,e){const n=[[{key:"paymentHash",value:t.paymentHash,title:"Payment Hash",width:100,type:g.Gi.STRING}],[{key:"timestamp",value:Math.round(t.timestamp/1e3),title:"Date/Time",width:50,type:g.Gi.DATE_TIME},{key:"fee",value:t.amountIn-t.amountOut,title:"Fee Earned (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"amountIn",value:t.amountIn,title:"Amount In (Sats)",width:50,type:g.Gi.NUMBER},{key:"amountOut",value:t.amountOut,title:"Amount Out (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"fromChannelAlias",value:t.fromChannelAlias,title:"From Channel Alias",width:50,type:g.Gi.STRING},{key:"fromShortChannelId",value:t.fromShortChannelId,title:"From Short Channel ID",width:50,type:g.Gi.STRING}],[{key:"fromChannelId",value:t.fromChannelId,title:"From Channel Id",width:100,type:g.Gi.STRING}],[{key:"toChannelAlias",value:t.toChannelAlias,title:"To Channel Alias",width:50,type:g.Gi.STRING},{key:"toShortChannelId",value:t.toShortChannelId,title:"To Short Channel ID",width:50,type:g.Gi.STRING}],[{key:"toChannelId",value:t.toChannelId,title:"To Channel Id",width:100,type:g.Gi.STRING}]];this.store.dispatch(new Ft.wu({data:{type:g.n_.INFORMATION,alertTitle:"Event Information",message:n}}))}loadForwardingEventsTable(t){this.forwardingHistoryEvents=new pt.by([...t]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(t,e)=>{switch(e){case"fee":return t.amountIn-t.amountOut;default:return t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null}},this.forwardingHistoryEvents.filterPredicate=(t,e)=>((t.timestamp?this.datePipe.transform(new Date(t.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.forwardingHistoryEvents.paginator=this.paginator,this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh),o.Y36(a.uU))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-forwarding-history"]],viewQuery:function(t,e){if(1&t&&(o.Gf(mt.YE,5),o.Gf(dt.NW,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sort=t.first),o.iGM(t=o.CRH())&&(e.paginator=t.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Events")}]),o.TTD],decls:5,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],["class","mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","fromChannelAlias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","toChannelAlias"],["matColumnDef","amountIn"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amountOut"],["matColumnDef","fee"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,Cl,2,1,"div",1),o.YNc(2,Tl,4,1,"div",2),o.YNc(3,Gl,30,7,"div",3),o.YNc(4,$l,1,3,"mat-paginator",4),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",""!==e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,O.KE,xt.Nt,ft.Fj,ft.JJ,ft.On,M.$V,pt.BZ,mt.YE,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,At.gD,At.$L,Ct.ey,v.lW,pt.yh,pt.Q2,a.mk,S.oO,pt.XQ,pt.Gk,dt.NW],pipes:[a.uU,a.JJ],styles:[".mat-column-fromAlias[_ngcontent-%COMP%]{padding-left:2rem}.mat-column-fromAlias[_ngcontent-%COMP%], .mat-column-toAlias[_ngcontent-%COMP%]{flex:1 1 20%;width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-toAlias[_ngcontent-%COMP%]{padding-left:1rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const Wl=["tableIn"],Kl=["tableOut"],jl=["paginatorIn"],tr=["paginatorOut"];function er(t,e){if(1&t&&(o.TgZ(0,"div",3),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function nr(t,e){1&t&&o._UZ(0,"mat-progress-bar",36)}function ar(t,e){1&t&&(o.TgZ(0,"th",37),o._uU(1,"Channel ID"),o.qZA())}const ir=function(t){return{"max-width":t}};function sr(t,e){if(1&t&&(o.TgZ(0,"td",38),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,ir,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.channelId)}}function or(t,e){1&t&&(o.TgZ(0,"th",37),o._uU(1,"Peer Alias"),o.qZA())}function lr(t,e){if(1&t&&(o.TgZ(0,"td",38),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,ir,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.alias)}}function rr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Events"),o.qZA())}function cr(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.events))}}function ur(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Amount (Sats)"),o.qZA())}function dr(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.totalAmount))}}function mr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Fee (Sats)"),o.qZA())}function pr(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.totalFee))}}function hr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No incoming routing peer available."),o.qZA())}function gr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting incoming routing peers..."),o.qZA())}function fr(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function xr(t,e){if(1&t&&(o.TgZ(0,"td",42),o.YNc(1,hr,2,0,"p",43),o.YNc(2,gr,2,0,"p",43),o.YNc(3,fr,2,1,"p",43),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersIncoming&&t.RoutingPeersIncoming.data)||(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.ERROR)}}const Zr=function(t){return{"display-none":t}};function yr(t,e){if(1&t&&o._UZ(0,"tr",44),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Zr,(null==t.RoutingPeersIncoming?null:t.RoutingPeersIncoming.data)&&(null==t.RoutingPeersIncoming||null==t.RoutingPeersIncoming.data?null:t.RoutingPeersIncoming.data.length)>0))}}function Ar(t,e){1&t&&o._UZ(0,"tr",45)}function Cr(t,e){1&t&&o._UZ(0,"tr",46)}function Tr(t,e){1&t&&o._UZ(0,"mat-progress-bar",36)}function wr(t,e){1&t&&(o.TgZ(0,"th",37),o._uU(1,"Channel ID"),o.qZA())}function Sr(t,e){if(1&t&&(o.TgZ(0,"td",38),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,ir,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.channelId)}}function vr(t,e){1&t&&(o.TgZ(0,"th",37),o._uU(1,"Peer Alias"),o.qZA())}function qr(t,e){if(1&t&&(o.TgZ(0,"td",38),o._uU(1),o.qZA()),2&t){const t=e.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,ir,n.screenSize===n.screenSizeEnum.XS?"5rem":"10rem")),o.xp6(1),o.Oqu(t.alias)}}function br(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Events"),o.qZA())}function Lr(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.events))}}function Fr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Amount (Sats)"),o.qZA())}function Ir(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.totalAmount))}}function Nr(t,e){1&t&&(o.TgZ(0,"th",39),o._uU(1,"Fee (Sats)"),o.qZA())}function _r(t,e){if(1&t&&(o.TgZ(0,"td",40),o.TgZ(1,"span",41),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&t){const t=e.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,t.totalFee))}}function Dr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"No outgoing routing peer available."),o.qZA())}function kr(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Getting outgoing routing peers..."),o.qZA())}function Or(t,e){if(1&t&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&t){const t=o.oxw(3);o.xp6(1),o.Oqu(t.errorMessage)}}function Ur(t,e){if(1&t&&(o.TgZ(0,"td",42),o.YNc(1,Dr,2,0,"p",43),o.YNc(2,kr,2,0,"p",43),o.YNc(3,Or,2,1,"p",43),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=t.RoutingPeersOutgoing&&t.RoutingPeersOutgoing.data)||(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)<1)&&(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.ERROR)}}function Rr(t,e){if(1&t&&o._UZ(0,"tr",44),2&t){const t=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Zr,(null==t.RoutingPeersOutgoing?null:t.RoutingPeersOutgoing.data)&&(null==t.RoutingPeersOutgoing||null==t.RoutingPeersOutgoing.data?null:t.RoutingPeersOutgoing.data.length)>0))}}function Mr(t,e){1&t&&o._UZ(0,"tr",45)}function Jr(t,e){1&t&&o._UZ(0,"tr",46)}const Pr=function(t,e){return{"mt-2":t,"mt-1":e}},Er=function(){return["no_incoming_event"]},Yr=function(t){return{"mt-2":t}},Qr=function(){return["no_outgoing_event"]};function Br(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",4),o.TgZ(1,"div",5),o.TgZ(2,"div",6),o.TgZ(3,"div",7),o._uU(4,"Incoming"),o.qZA(),o.TgZ(5,"mat-form-field",8),o.TgZ(6,"input",9),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyIncomingFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",10),o.YNc(8,nr,1,0,"mat-progress-bar",11),o.TgZ(9,"table",12,13),o.ynx(11,14),o.YNc(12,ar,2,0,"th",15),o.YNc(13,sr,2,4,"td",16),o.BQk(),o.ynx(14,17),o.YNc(15,or,2,0,"th",15),o.YNc(16,lr,2,4,"td",16),o.BQk(),o.ynx(17,18),o.YNc(18,rr,2,0,"th",19),o.YNc(19,cr,4,3,"td",20),o.BQk(),o.ynx(20,21),o.YNc(21,ur,2,0,"th",19),o.YNc(22,dr,4,3,"td",20),o.BQk(),o.ynx(23,22),o.YNc(24,mr,2,0,"th",19),o.YNc(25,pr,4,3,"td",20),o.BQk(),o.ynx(26,23),o.YNc(27,xr,4,3,"td",24),o.BQk(),o.YNc(28,yr,1,3,"tr",25),o.YNc(29,Ar,1,0,"tr",26),o.YNc(30,Cr,1,0,"tr",27),o.qZA(),o.qZA(),o._UZ(31,"mat-paginator",28,29),o.qZA(),o.TgZ(33,"div",30),o.TgZ(34,"div",6),o.TgZ(35,"div",7),o._uU(36,"Outgoing"),o.qZA(),o.TgZ(37,"mat-form-field",8),o.TgZ(38,"input",9),o.NdJ("keyup",function(e){return o.CHM(t),o.oxw().applyOutgoingFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(39,"div",31),o.YNc(40,Tr,1,0,"mat-progress-bar",11),o.TgZ(41,"table",32,33),o.ynx(43,14),o.YNc(44,wr,2,0,"th",15),o.YNc(45,Sr,2,4,"td",16),o.BQk(),o.ynx(46,17),o.YNc(47,vr,2,0,"th",15),o.YNc(48,qr,2,4,"td",16),o.BQk(),o.ynx(49,18),o.YNc(50,br,2,0,"th",19),o.YNc(51,Lr,4,3,"td",20),o.BQk(),o.ynx(52,21),o.YNc(53,Fr,2,0,"th",19),o.YNc(54,Ir,4,3,"td",20),o.BQk(),o.ynx(55,22),o.YNc(56,Nr,2,0,"th",19),o.YNc(57,_r,4,3,"td",20),o.BQk(),o.ynx(58,34),o.YNc(59,Ur,4,3,"td",24),o.BQk(),o.YNc(60,Rr,1,3,"tr",25),o.YNc(61,Mr,1,0,"tr",26),o.YNc(62,Jr,1,0,"tr",27),o.qZA(),o._UZ(63,"mat-paginator",28,35),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngClass",o.WLB(20,Pr,t.screenSize===t.screenSizeEnum.XS,t.screenSize===t.screenSizeEnum.SM)),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.RoutingPeersIncoming),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(23,Er)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS),o.xp6(3),o.Q6J("ngClass",o.VKq(24,Yr,t.screenSize!==t.screenSizeEnum.LG)),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPayments.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.RoutingPeersOutgoing),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(26,Qr)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS)}}let Hr=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.routingPeersData=[],this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=g.Bn,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","totalFee"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","events","totalFee"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","events","totalAmount","totalFee"]):(this.flgSticky=!0,this.displayedColumns=["channelId","alias","events","totalAmount","totalFee"])}ngOnInit(){this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.errorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.FetchPayments.status===g.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),this.routingPeersData=t.payments&&t.payments.relayed?t.payments.relayed:[],this.routingPeersData.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.routingPeersData),this.logger.info(t)})}ngAfterViewInit(){this.routingPeersData.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.routingPeersData)}loadRoutingPeersTable(t){if(t.length>0){const e=this.groupRoutingPeers(t);this.RoutingPeersIncoming=new pt.by(e[0]),this.RoutingPeersIncoming.sort=this.sortIn,this.RoutingPeersIncoming.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersIncoming.paginator=this.paginatorIn,this.logger.info(this.RoutingPeersIncoming),this.RoutingPeersOutgoing=new pt.by(e[1]),this.RoutingPeersOutgoing.sort=this.sortOut,this.RoutingPeersOutgoing.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.RoutingPeersOutgoing.paginator=this.paginatorOut,this.logger.info(this.RoutingPeersOutgoing)}else this.RoutingPeersIncoming=new pt.by([]),this.RoutingPeersOutgoing=new pt.by([])}groupRoutingPeers(t){const e=[],n=[];return t.forEach(t=>{const a=e.find(e=>e.channelId===t.fromChannelId),i=n.find(e=>e.channelId===t.toChannelId);a?(a.events++,a.totalAmount=+a.totalAmount+ +t.amountIn,a.totalFee=t.amountIn-t.amountOut+ +a.totalFee):e.push({channelId:t.fromChannelId,alias:t.fromChannelAlias,events:1,totalAmount:+t.amountIn,totalFee:t.amountIn-t.amountOut}),i?(i.events++,i.totalAmount=+i.totalAmount+ +t.amountOut,i.totalFee=t.amountIn-t.amountOut+ +i.totalFee):n.push({channelId:t.toChannelId,alias:t.toChannelAlias,events:1,totalAmount:+t.amountOut,totalFee:t.amountIn-t.amountOut})}),[this.commonService.sortDescByKey(e,"totalFee"),this.commonService.sortDescByKey(n,"totalFee")]}applyIncomingFilter(t){this.RoutingPeersIncoming.filter=t.value.trim().toLowerCase()}applyOutgoingFilter(t){this.RoutingPeersOutgoing.filter=t.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-routing-peers"]],viewQuery:function(t,e){if(1&t&&(o.Gf(Wl,5,mt.YE),o.Gf(Kl,5,mt.YE),o.Gf(jl,5),o.Gf(tr,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.sortIn=t.first),o.iGM(t=o.CRH())&&(e.sortOut=t.first),o.iGM(t=o.CRH())&&(e.paginatorIn=t.first),o.iGM(t=o.CRH())&&(e.paginatorOut=t.first)}},features:[o._Bn([{provide:dt.ye,useValue:(0,g.pt)("Peers")}])],decls:3,vars:2,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch","class","page-sub-title-container",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch",1,"page-sub-title-container"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start stretch",1,"mb-4"],["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"page-sub-title-container","w-100",3,"ngClass"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",1,"overflow-auto","incoming-table",3,"dataSource"],["tableIn",""],["matColumnDef","channelId"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","events"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","totalAmount"],["matColumnDef","totalFee"],["matColumnDef","no_incoming_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["paginatorIn",""],["fxLayout","column","fxFlex","49","fxLayoutAlign","end stretch",1,"mb-4"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto","outgoing-table",3,"dataSource"],["tableOut",""],["matColumnDef","no_outgoing_event"],["paginatorOut",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,er,2,1,"div",1),o.YNc(2,Br,65,27,"div",2),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngIf",""!==e.errorMessage),o.xp6(1),o.Q6J("ngIf",""===e.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,a.mk,S.oO,O.KE,xt.Nt,M.$V,pt.BZ,mt.YE,pt.w1,pt.fO,pt.Dz,pt.mD,pt.Ke,pt.as,pt.nj,dt.NW,r.pW,pt.ge,mt.nU,pt.ev,a.PC,S.Zl,pt.yh,pt.Q2,pt.XQ,pt.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-channelId[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),t})();function zr(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",7),o.NdJ("click",function(){const e=o.CHM(t).$implicit;return o.oxw().activeLink=e.link}),o._uU(1),o.qZA()}if(2&t){const t=e.$implicit,n=o.oxw();o.s9C("routerLink",t.link),o.Q6J("active",n.activeLink===t.link),o.xp6(1),o.Oqu(t.name)}}let Vr=(()=>{class t{constructor(t){this.router=t,this.faChartBar=h.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,m.R)(this.unSubs[0]),(0,ut.h)(t=>t instanceof i.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(i.F0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Reports"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,zr,2,3,"div",6),o.qZA(),o._UZ(9,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("icon",e.faChartBar),o.xp6(7),o.Q6J("ngForOf",e.links))},directives:[l.xw,l.Wh,A.BN,T.a8,T.dn,ct.BU,a.sg,i.lC,ct.Nj,i.rH],styles:[""]}),t})();var Gr=n(4833),$r=n(4018),Xr=n(1905);function Wr(t,e){if(1&t&&(o.TgZ(0,"div",8),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw();o.Q6J("@fadeIn",t.totalFeeSat),o.xp6(1),o.AsE("",o.xi3(2,3,t.totalFeeSat||0,"1.0-2")," Sats/",o.lcZ(3,6,t.filteredEventsBySelectedPeriod.length||0)," Events")}}function Kr(t,e){1&t&&(o.TgZ(0,"div",9),o._uU(1,"No fee report for the selected period"),o.qZA())}function jr(t,e){if(1&t&&(o.TgZ(0,"span"),o.TgZ(1,"span",12),o._uU(2),o.ALo(3,"number"),o.qZA(),o.TgZ(4,"span",12),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA()),2&t){const t=e.model;o.xp6(2),o.hij("Events: ",o.lcZ(3,2,t.extra.totalEvents||0),""),o.xp6(3),o.hij("Fee: ",o.xi3(6,4,t.value||0,"1.0-2"),"")}}function tc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical",10),o.NdJ("select",function(e){return o.CHM(t),o.oxw().onChartBarSelected(e)})("mouseup",function(e){return o.CHM(t),o.oxw().onChartMouseUp(e)}),o.YNc(1,jr,7,7,"ng-template",null,11,o.W1O),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("view",t.view)("results",t.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function ec(t,e){if(1&t&&o._UZ(0,"rtl-ecl-forwarding-history",13),2&t){const t=o.oxw();o.Q6J("eventsData",t.filteredEventsBySelectedPeriod)("filterValue",t.eventFilterValue)}}let nc=(()=>{class t{constructor(t,e,n){this.logger=t,this.commonService=e,this.store=n,this.reportPeriod=g.op[0],this.secondsInADay=86400,this.events=[],this.filteredEventsBySelectedPeriod=[],this.eventFilterValue="",this.totalFeeSat=null,this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===g.cu.XS||this.screenSize===g.cu.SM),this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.events=t.payments&&t.payments.relayed?t.payments.relayed:[],this.filterForwardingEvents(this.startDate,this.endDate),this.logger.info(t)})}ngAfterContentInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case g.cu.MD:this.screenPaddingX=t.width/10;break;case g.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}filterForwardingEvents(t,e){const n=Math.round(t.getTime()/1e3),a=Math.round(e.getTime()/1e3);this.logger.info("Filtering Forwarding Events Starting at "+new Date(Date.now()).toLocaleString()+" From "+t.toLocaleString()+" To "+e.toLocaleString()),this.filteredEventsBySelectedPeriod=[],this.feeReportData=[],this.totalFeeSat=null,this.events&&this.events.length>0&&(this.events.forEach(t=>{Math.floor(t.timestamp/1e3)>=n&&Math.floor(t.timestamp/1e3)0&&"ngx-charts"===t.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(t){this.eventFilterValue=this.reportPeriod===g.op[1]?t.name+"/"+this.startDate.getFullYear():t.name.toString().padStart(2,"0")+"/"+g.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(t){const e=Math.round(t.getTime()/1e3),n=[];if(this.logger.info("Fee Report Prepare Starting at "+new Date(Date.now()).toLocaleString()+" From "+t.toLocaleString()),this.reportPeriod===g.op[1]){for(let t=0;t<12;t++)n.push({name:g.gg[t].name,value:1e-9,extra:{totalEvents:0}});this.filteredEventsBySelectedPeriod.map(t=>{const e=new Date(t.timestamp).getMonth();return n[e].value=n[e].value+(t.amountIn-t.amountOut),n[e].extra.totalEvents=n[e].extra.totalEvents+1,this.totalFeeSat=(this.totalFeeSat?this.totalFeeSat:0)+(t.amountIn-t.amountOut),this.filteredEventsBySelectedPeriod})}else{for(let e=0;e{const a=Math.floor((Math.floor(t.timestamp/1e3)-e)/this.secondsInADay);return n[a].value=n[a].value+(t.amountIn-t.amountOut),n[a].extra.totalEvents=n[a].extra.totalEvents+1,this.totalFeeSat=(this.totalFeeSat?this.totalFeeSat:0)+(t.amountIn-t.amountOut),this.filteredEventsBySelectedPeriod})}return this.logger.info("Fee Report Prepare Finished at "+new Date(Date.now()).toLocaleString()),n}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===g.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.filterForwardingEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?g.gg[t].days+1:g.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(f.mQ),o.Y36(y.v),o.Y36(x.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-fee-report"]],hostBindings:function(t,e){1&t&&o.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"rtl-horizontal-scroller",1),o.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),o.qZA(),o.TgZ(2,"div",2),o.YNc(3,Wr,4,8,"div",3),o.YNc(4,Kr,2,0,"div",4),o.TgZ(5,"div",5),o.YNc(6,tc,3,11,"ngx-charts-bar-vertical",6),o.qZA(),o.TgZ(7,"div",5),o.YNc(8,ec,1,2,"rtl-ecl-forwarding-history",7),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("ngIf",e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),o.xp6(1),o.Q6J("ngIf",e.feeReportData.length<=0||e.filteredEventsBySelectedPeriod.length<=0),o.xp6(2),o.Q6J("ngIf",e.feeReportData.length>0&&e.filteredEventsBySelectedPeriod.length>0),o.xp6(2),o.Q6J("ngIf",e.filteredEventsBySelectedPeriod.length>0))},directives:[l.xw,l.Wh,l.yH,$r.D,a.O5,Xr.K$,Xl],pipes:[a.JJ],styles:[""],data:{animation:[Gr.J]}}),t})();var ac=n(6590);function ic(t,e){if(1&t&&(o.TgZ(0,"div",10),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.AsE(" Paid ",o.xi3(2,2,t.transactionsReportSummary.amountPaidSelectedPeriod||0,"1.0-2")," Sats/",o.lcZ(3,5,t.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function sc(t,e){if(1&t&&(o.TgZ(0,"div",10),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.AsE(" Received ",o.xi3(2,2,t.transactionsReportSummary.amountReceivedSelectedPeriod||0,"1.0-2")," Sats/",o.lcZ(3,5,t.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function oc(t,e){if(1&t&&(o.TgZ(0,"div",8),o.YNc(1,ic,4,7,"div",9),o.YNc(2,sc,4,7,"div",9),o.qZA()),2&t){const t=o.oxw();o.Q6J("@fadeIn",t.transactionsReportSummary),o.xp6(1),o.Q6J("ngIf",t.transactionsReportSummary.paymentsSelectedPeriod),o.xp6(1),o.Q6J("ngIf",t.transactionsReportSummary.invoicesSelectedPeriod)}}function lc(t,e){1&t&&(o.TgZ(0,"div",11),o._uU(1,"No transactions report for the selected period"),o.qZA())}function rc(t,e){if(1&t&&(o.TgZ(0,"span",14),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&t){const t=e.model;o.xp6(1),o.HOy("",t.name,": ",o.xi3(2,4,t.value||0,"1.0-2"),"/# ","Paid"===t.name?"Payments":"Invoices",": ",o.lcZ(3,7,(null==t.extra?null:t.extra.total)||0),"")}}function cc(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical-2d",12),o.NdJ("select",function(e){return o.CHM(t),o.oxw().onChartBarSelected(e)})("mouseup",function(e){return o.CHM(t),o.oxw().onChartMouseUp(e)}),o.YNc(1,rc,4,9,"ng-template",null,13,o.W1O),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("view",t.view)("results",t.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",t.showYAxisLabel)("xAxisLabel",t.xAxisLabel)("yAxisLabel",t.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",t.reportPeriod===t.scrollRanges[0]?2:8)}}function uc(t,e){if(1&t&&o._UZ(0,"rtl-transactions-report-table",15),2&t){const t=o.oxw();o.Q6J("dataList",t.transactionsNonZeroReportData)("dataRange",t.reportPeriod)("filterValue",t.transactionFilterValue)}}let dc=(()=>{class t{constructor(t,e){this.commonService=t,this.store=e,this.scrollRanges=g.op,this.reportPeriod=g.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[],this.transactionsNonZeroReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===g.cu.XS||this.screenSize===g.cu.SM),this.store.select("ecl").pipe((0,m.R)(this.unSubs[0])).subscribe(t=>{this.payments=t.payments.sent?t.payments.sent:[],this.invoices=t.invoices?t.invoices:[],(this.payments.length>0||this.invoices.length>0)&&(this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData())})}ngAfterContentInit(){const t=this.commonService.getContainerSize();switch(this.screenSize){case g.cu.MD:this.screenPaddingX=t.width/10;break;case g.cu.LG:this.screenPaddingX=t.width/16;break;default:this.screenPaddingX=t.width/20}this.view=[t.width-this.screenPaddingX,t.height/2.2]}onChartMouseUp(t){"svg"===t.srcElement.tagName&&t.srcElement.classList.length>0&&"ngx-charts"===t.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(t){this.transactionFilterValue=this.reportPeriod===g.op[1]?t.series.toString()+"/"+this.startDate.getFullYear():t.series.toString().padStart(2,"0")+"/"+g.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(t,e){const n=Math.round(t.getTime()/1e3),a=Math.round(e.getTime()/1e3),i=[];this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};const s=this.payments.filter(t=>Math.floor(t.firstPartTimestamp/1e3)>=n&&Math.floor(t.firstPartTimestamp/1e3)"received"===t.status&&t.timestamp>=n&&t.timestamp{const e=new Date(t.firstPartTimestamp).getMonth();return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.recipientAmount,i[e].series[0].value=i[e].series[0].value+t.recipientAmount,i[e].series[0].extra.total=i[e].series[0].extra.total+1,this.transactionsReportSummary}),o.map(t=>{const e=new Date(1e3*t.timestamp).getMonth();return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.amountSettled,i[e].series[1].value=i[e].series[1].value+t.amountSettled,i[e].series[1].extra.total=i[e].series[1].extra.total+1,this.transactionsReportSummary})}else{for(let e=0;e{const e=Math.floor((Math.floor(t.firstPartTimestamp/1e3)-n)/this.secondsInADay);return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+t.recipientAmount,i[e].series[0].value=i[e].series[0].value+t.recipientAmount,i[e].series[0].extra.total=i[e].series[0].extra.total+1,this.transactionsReportSummary}),o.map(t=>{const e=Math.floor((t.timestamp-n)/this.secondsInADay);return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+t.amountSettled,i[e].series[1].value=i[e].series[1].value+t.amountSettled,i[e].series[1].extra.total=i[e].series[1].extra.total+1,this.transactionsReportSummary})}return i}prepareTableData(){return this.transactionsReportData.reduce((t,e)=>e.series[0].extra.total>0||e.series[1].extra.total>0?t.concat({date:e.date,amount_paid:e.series[0].value,num_payments:e.series[0].extra.total,amount_received:e.series[1].value,num_invoices:e.series[1].extra.total}):t,[])}onSelectionChange(t){const e=t.selDate.getMonth(),n=t.selDate.getFullYear();this.reportPeriod=t.selScrollRange,this.reportPeriod===g.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,e,1,0,0,0),this.endDate=new Date(n,e,this.getMonthDays(e,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(t,e){return 1===t&&e%4==0?g.gg[t].days+1:g.gg[t].days}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(y.v),o.Y36(x.yh))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-transactions-report"]],hostBindings:function(t,e){1&t&&o.NdJ("mouseup",function(t){return e.onChartMouseUp(t)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[3,"dataList","dataRange","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"rtl-horizontal-scroller",1),o.NdJ("stepChanged",function(t){return e.onSelectionChange(t)}),o.qZA(),o.TgZ(2,"div",2),o.YNc(3,oc,3,3,"div",3),o.YNc(4,lc,2,0,"div",4),o.TgZ(5,"div",5),o.YNc(6,cc,3,13,"ngx-charts-bar-vertical-2d",6),o.qZA(),o.TgZ(7,"div",5),o.YNc(8,uc,1,3,"rtl-transactions-report-table",7),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(3),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),o.xp6(1),o.Q6J("ngIf",e.transactionsNonZeroReportData.length<=0),o.xp6(2),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0),o.xp6(2),o.Q6J("ngIf",e.transactionsNonZeroReportData.length>0))},directives:[l.xw,l.Wh,l.yH,$r.D,a.O5,Xr.H5,ac.g],pipes:[a.JJ],styles:[""],data:{animation:[Gr.J]}}),t})();var mc=n(6013),pc=n(8016);const hc=i.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:Vn,canActivate:[mc.fY]},{path:"onchain",component:Ia,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"receive"},{path:"receive",component:ri,canActivate:[mc.fY]},{path:"send",component:ci,canActivate:[mc.fY]}]},{path:"connections",component:ka,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:Ni,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:As,canActivate:[mc.fY]},{path:"pending",component:Ys,canActivate:[mc.fY]},{path:"inactive",component:Al,canActivate:[mc.fY]}]},{path:"peers",component:No,data:{sweepAll:!1},canActivate:[mc.fY]}]},{path:"transactions",component:Ua,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:An,canActivate:[mc.fY]},{path:"invoices",component:ce,canActivate:[mc.fY]},{path:"queryroutes",component:Ho,canActivate:[mc.fY]}]},{path:"routing",component:Ma,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:Xl,canActivate:[mc.fY]},{path:"peers",component:Hr,canActivate:[mc.fY]}]},{path:"reports",component:Vr,canActivate:[mc.fY],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:nc,canActivate:[mc.fY]},{path:"transactions",component:dc,canActivate:[mc.fY]}]},{path:"lookups",component:oi,canActivate:[mc.fY]},{path:"**",component:pc.w}]}]);var gc=n(253);let fc=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t,bootstrap:[u]}),t.\u0275inj=o.cJS({providers:[mc.fY],imports:[[a.ez,gc.m,hc]]}),t})()}}]); \ No newline at end of file diff --git a/angular/646.4d1e1dc02d21b483a9c9.js b/angular/646.4d1e1dc02d21b483a9c9.js deleted file mode 100644 index 6ebdd62a..00000000 --- a/angular/646.4d1e1dc02d21b483a9c9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[646],{5646:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CLModule:()=>Kc});var i=n(1511),a=n(6853),o=n(2865),s=n(1572),l=n(3722),r=n(5994);function c(e,t){1&e&&s._UZ(0,"mat-progress-bar",3)}let u=(()=>{class e{constructor(e){this.router=e,this.loading=!1,this.router.events.subscribe(e=>{switch(!0){case e instanceof a.OD:this.loading=!0;break;case e instanceof a.m2:case e instanceof a.gk:case e instanceof a.Q3:this.loading=!1}})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,c,1,0,"mat-progress-bar",1),s._UZ(2,"router-outlet",null,2),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf",t.loading))},directives:[l.xw,l.yH,l.Wh,i.O5,a.lC,r.pW],styles:[""],data:{animation:[o.g]}}),e})();var d=n(9666),h=n(9568),m=n(8868),p=n(7810),f=n(5291),g=n(9421),x=n(9939),Z=n(3869),y=n(964),A=n(5573),w=n(1084),T=n(7592),v=n(7271),b=n(7439),q=n(8055),C=n(5980),_=n(3691),S=n(377);const L=function(e){return{backgroundColor:e}};function U(e,t){if(1&e&&s._UZ(0,"span",6),2&e){const e=s.oxw();s.Q6J("ngStyle",s.VKq(1,L,"#"+e.information.color))}}function F(e,t){if(1&e&&(s.TgZ(0,"div"),s.TgZ(1,"h4",1),s._uU(2,"Color"),s.qZA(),s.TgZ(3,"div",2),s._UZ(4,"span",7),s._uU(5),s.ALo(6,"uppercase"),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(4),s.Q6J("ngStyle",s.VKq(4,L,"#"+e.information.color)),s.xp6(1),s.hij(" ",s.lcZ(6,2,e.information.color)," ")}}function k(e,t){if(1&e&&(s.TgZ(0,"span",2),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(e)}}let N=(()=>{class e{constructor(e){this.commonService=e,this.chains=[""]}ngOnChanges(){this.information&&this.information.chains&&this.information.chains.length>0&&(this.chains=[""],this.information.chains.forEach(e=>{this.chains.push(this.commonService.titleCase(e.chain)+" "+this.commonService.titleCase(e.network))}))}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[s.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Alias"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.YNc(6,U,1,3,"span",3),s.qZA(),s.qZA(),s.YNc(7,F,7,6,"div",4),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Implementation"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",1),s._uU(15,"Chain"),s.qZA(),s.YNc(16,k,2,1,"span",5),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij(" ",t.information.alias," "),s.xp6(1),s.Q6J("ngIf",!t.showColorFieldSeparately),s.xp6(1),s.Q6J("ngIf",t.showColorFieldSeparately),s.xp6(5),s.Oqu(t.information.lnImplementation||t.information.version?t.information.lnImplementation+" "+t.information.version:""),s.xp6(4),s.Q6J("ngForOf",t.chains))},directives:[l.xw,l.yH,l.Wh,i.O5,i.sg,i.PC,S.Zl],pipes:[i.gd],styles:[""]}),e})(),J=(()=>{class e{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-balances-info"]],inputs:{balances:"balances"},decls:21,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Lightning"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",3),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"On-chain"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.ALo(13,"number"),s.qZA(),s._UZ(14,"mat-progress-bar",3),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Total"),s.qZA(),s.TgZ(18,"div",2),s._uU(19),s.ALo(20,"number"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij("",s.lcZ(6,5,t.balances.lightning)," Sats"),s.xp6(2),s.s9C("value",t.balances.lightning/t.balances.total*100),s.xp6(5),s.hij("",s.lcZ(13,7,t.balances.onchain)," Sats"),s.xp6(2),s.s9C("value",t.balances.onchain/t.balances.total*100),s.xp6(5),s.hij("",s.lcZ(20,9,t.balances.total)," Sats"))},directives:[l.xw,l.yH,l.Wh,r.pW],pipes:[i.JJ],styles:[""]}),e})();var D=n(6283),O=n(6828),R=n(7679),M=n(7038);function Y(e,t){if(1&e&&(s.TgZ(0,"div",17),s.TgZ(1,"span",18),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",19),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",20),s._UZ(11,"fa-icon",21),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",22),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",23),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",e.alias||e.id),s.s9C("matTooltipDisabled",(e.alias||e.id).length<26),s.xp6(1),s.AsE("",s.Dn7(3,9,e.alias||e.id,0,24),"",(e.alias||e.id).length>25?"...":"",""),s.xp6(6),s.hij("",s.xi3(9,13,e.msatoshi_to_us/1e3||0,"1.0-0")," Sats"),s.xp6(3),s.Q6J("icon",n.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,16,e.balancedness||0),") "),s.xp6(5),s.hij("",s.xi3(18,18,e.msatoshi_to_them/1e3||0,"1.0-0")," Sats"),s.xp6(2),s.s9C("value",e.msatoshi_to_us&&e.msatoshi_to_us>0?+e.msatoshi_to_us/(+e.msatoshi_to_us+ +e.msatoshi_to_them)*100:0)}}function Q(e,t){if(1&e&&(s.TgZ(0,"div",15),s.YNc(1,Y,20,21,"div",16),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.allChannels)}}function I(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",24),s._uU(1," No channels available. "),s.TgZ(2,"button",25),s.NdJ("click",function(){return s.CHM(e),s.oxw().goToChannels()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA()}}let P=(()=>{class e{constructor(e){this.router=e,this.faBalanceScale=f.DL8,this.faDumbbell=f.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/cl/connections")}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy"},decls:26,vars:15,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",4),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",6),s._UZ(11,"fa-icon",7),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",8),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",9),s.qZA(),s.TgZ(20,"div",10),s._UZ(21,"mat-divider",11),s.qZA(),s.TgZ(22,"div",12),s.YNc(23,Q,2,1,"div",13),s.qZA(),s.qZA(),s.YNc(24,I,4,0,"ng-template",null,14,s.W1O)),2&e){const e=s.MAs(25);s.xp6(8),s.hij("",s.xi3(9,7,t.channelBalances.localBalance||0,"1.0-0")," Sats"),s.xp6(3),s.Q6J("icon",t.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,10,(null==t.channelBalances?null:t.channelBalances.balancedness)||0),") "),s.xp6(5),s.hij("",s.xi3(18,12,t.channelBalances.remoteBalance||0,"1.0-0")," Sats"),s.xp6(2),s.s9C("value",t.channelBalances.localBalance&&t.channelBalances.localBalance>0?+t.channelBalances.localBalance/(+t.channelBalances.localBalance+ +t.channelBalances.remoteBalance)*100:0),s.xp6(4),s.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}},directives:[l.xw,l.Wh,l.yH,D.bx,T.BN,O.gM,r.pW,R.d,M.$V,i.O5,i.sg,C.lW],pipes:[i.JJ,i.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),e})(),E=(()=>{class e{constructor(){this.totalFees=[{name:"Total",value:0}]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-fee-info"]],inputs:{fees:"fees"},decls:14,vars:6,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Total"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",0),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Transactions"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.ALo(13,"number"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij("",s.lcZ(6,2,(null==t.fees?null:t.fees.feeCollected)/1e3)," Sats"),s.xp6(7),s.Oqu(s.lcZ(13,4,null==t.fees?null:t.fees.totalTxCount)))},directives:[l.xw,l.yH,l.Wh],pipes:[i.JJ],styles:[""]}),e})(),B=(()=>{class e{constructor(){this.channelsStatus={}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus"},decls:41,vars:18,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Active"),s.qZA(),s.TgZ(4,"div",2),s._UZ(5,"span",3),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Pending"),s.qZA(),s.TgZ(11,"div",2),s._UZ(12,"span",4),s._uU(13),s.ALo(14,"number"),s.qZA(),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Inactive"),s.qZA(),s.TgZ(18,"div",2),s._UZ(19,"span",5),s._uU(20),s.ALo(21,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(22,"div",0),s.TgZ(23,"div"),s.TgZ(24,"h4",1),s._uU(25,"Capacity"),s.qZA(),s.TgZ(26,"div",2),s._uU(27),s.ALo(28,"number"),s.qZA(),s.qZA(),s.TgZ(29,"div"),s.TgZ(30,"h4",1),s._uU(31,"Capacity"),s.qZA(),s.TgZ(32,"div",2),s._uU(33),s.ALo(34,"number"),s.qZA(),s.qZA(),s.TgZ(35,"div"),s.TgZ(36,"h4",1),s._uU(37,"Capacity"),s.qZA(),s.TgZ(38,"div",2),s._uU(39),s.ALo(40,"number"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(6),s.Oqu(s.lcZ(7,6,t.channelsStatus.active.channels||0)),s.xp6(7),s.Oqu(s.lcZ(14,8,t.channelsStatus.pending.channels||0)),s.xp6(7),s.Oqu(s.lcZ(21,10,t.channelsStatus.inactive.channels||0)),s.xp6(7),s.hij("",s.lcZ(28,12,t.channelsStatus.active.capacity||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(34,14,t.channelsStatus.pending.capacity||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(40,16,t.channelsStatus.inactive.capacity||0)," Sats"))},directives:[l.xw,l.yH,l.Wh],pipes:[i.JJ],styles:[""]}),e})();function H(e,t){if(1&e&&(s.TgZ(0,"mat-hint",17),s.TgZ(1,"strong",18),s._uU(2,"Capacity: "),s.qZA(),s._uU(3),s.ALo(4,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(3),s.hij("",s.xi3(4,1,e.msatoshi_to_them/1e3||0,"1.0-0")," Sats")}}function V(e,t){if(1&e&&(s.TgZ(0,"mat-hint",17),s.TgZ(1,"strong",18),s._uU(2,"Capacity: "),s.qZA(),s._uU(3),s.ALo(4,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(3),s.hij("",s.xi3(4,1,e.msatoshi_to_us/1e3||0,"1.0-0")," Sats")}}function z(e,t){if(1&e&&s._UZ(0,"mat-progress-bar",19),2&e){const e=s.oxw().$implicit,t=s.oxw(2);s.s9C("value",t.totalLiquidity>0?(+e.msatoshi_to_them/1e3||0)/t.totalLiquidity*100:0)}}function G(e,t){if(1&e&&s._UZ(0,"mat-progress-bar",19),2&e){const e=s.oxw().$implicit,t=s.oxw(2);s.s9C("value",t.totalLiquidity>0?(+e.msatoshi_to_us/1e3||0)/t.totalLiquidity*100:0)}}function X(e,t){if(1&e&&(s.TgZ(0,"div",12),s.TgZ(1,"span",13),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",14),s.YNc(5,H,5,4,"mat-hint",15),s.YNc(6,V,5,4,"mat-hint",15),s.qZA(),s.YNc(7,z,1,1,"mat-progress-bar",16),s.YNc(8,G,1,1,"mat-progress-bar",16),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",e.alias||e.id),s.s9C("matTooltipDisabled",(e.alias||e.id).length<26),s.xp6(1),s.AsE("",s.Dn7(3,8,e.alias||e.id,0,24),"",(e.alias||e.id).length>25?"...":"",""),s.xp6(3),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction),s.xp6(1),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction)}}function $(e,t){if(1&e&&(s.TgZ(0,"div",10),s.YNc(1,X,9,12,"div",11),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.allChannels)}}function K(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",22),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).goToChannels()}),s._uU(1,"Open Channel"),s.qZA()}}function W(e,t){if(1&e&&(s.TgZ(0,"div",20),s._uU(1," No channels available. "),s.YNc(2,K,2,0,"button",21),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.Q6J("ngIf","Out"===e.direction)}}const j=function(e,t,n){return{"mb-4":e,"mb-2":t,"mb-1":n}};let ee=(()=>{class e{constructor(e,t){this.router=e,this.commonService=t,this.screenSize="",this.screenSizeEnum=g.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}goToChannels(){this.router.navigateByUrl("/cl/connections")}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(a.F0),s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels"},decls:14,vars:11,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],["fxLayout","column","fxFlex.gt-sm","88","fxFlex","84","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","class","w-100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["fxLayout","column","fxFlex","100",1,"w-100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","100","fxLayoutAlign","start center","class","font-size-90 color-primary",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"mat-hint",3),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",4),s.qZA(),s.TgZ(8,"div",5),s._UZ(9,"mat-divider",6),s.qZA(),s.TgZ(10,"div",7),s.YNc(11,$,2,1,"div",8),s.qZA(),s.qZA(),s.YNc(12,W,3,1,"ng-template",null,9,s.W1O)),2&e){const e=s.MAs(13);s.Q6J("ngClass",s.kEZ(7,j,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM,t.screenSize===t.screenSizeEnum.MD,t.screenSize===t.screenSizeEnum.LG||t.screenSize===t.screenSizeEnum.XL)),s.xp6(5),s.hij("",s.xi3(6,4,t.totalLiquidity,"1.0-0")," Sats"),s.xp6(6),s.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}},directives:[l.xw,l.Wh,l.yH,i.mk,S.oO,D.bx,r.pW,R.d,M.$V,i.O5,i.sg,O.gM,C.lW],pipes:[i.JJ,i.OU],styles:[""]}),e})();var te=n(5109),ne=n(3005),ie=n(2464),ae=n(7033),oe=n(4608),se=n(3929),le=n(6073),re=n(6756),ce=n(6880),ue=n(5095),de=n(4786),he=n(7521),me=n(1522);function pe(e,t){if(1&e&&(s.TgZ(0,"mat-option",26),s._uU(1),s.ALo(2,"titlecase"),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(s.lcZ(2,2,e))}}function fe(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.invoiceError)}}function ge(e,t){if(1&e&&(s.TgZ(0,"div",27),s._UZ(1,"fa-icon",28),s.YNc(2,fe,2,1,"span",29),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.invoiceError)}}let xe=(()=>{class e{constructor(e,t,n,i,a,o){this.dialogRef=e,this.data=t,this.store=n,this.decimalPipe=i,this.commonService=a,this.actions$=o,this.faExclamationTriangle=f.eHv,this.selNode={},this.description="",this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=g.IV,this.timeUnitEnum=g.Qk,this.timeUnits=g.LO,this.selTimeUnit=g.Qk.SECS,this.invoiceError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.information=e.information}),this.actions$.pipe((0,h.R)(this.unSubs[1]),(0,m.h)(e=>e.type===x.at||e.type===x.G0)).subscribe(e=>{e.type===x.G0&&this.dialogRef.close(),e.type===x.at&&"SaveNewInvoice"===e.payload.action&&(this.invoiceError=e.payload.message)})}onAddInvoice(e){this.invoiceError="",this.invoiceValue||(this.invoiceValue=0);let t=this.expiry?this.expiry:3600;this.selTimeUnit!==g.Qk.SECS&&(t=this.commonService.convertTime(this.expiry,this.selTimeUnit,g.Qk.SECS)),this.store.dispatch(new se.Fk("Adding Invoice...")),this.store.dispatch(new x.H1({label:"ulbl"+Math.random().toString(36).slice(2)+Date.now(),amount:1e3*this.invoiceValue,description:this.description,expiry:t,private:this.private}))}resetData(){this.description="",this.invoiceValue=void 0,this.private=!1,this.expiry=void 0,this.invoiceValueHint="",this.selTimeUnit=g.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,g.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,h.R)(this.unSubs[2])).subscribe(e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,g.Xz.OTHER)+" "+e.unit}))}onTimeUnitChange(e){this.expiry&&this.selTimeUnit!==e.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,e.value)),this.selTimeUnit=e.value}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(oe.WI),s.Y36(y.yh),s.Y36(i.JJ),s.Y36(w.v),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-create-invoices"]],decls:37,vars:18,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","start space-between","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","autoFocus","","placeholder","Description","tabindex","2","name","description",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","space-between start","fxFlex","100"],["fxFlex","40"],["matInput","","placeholder","Amount","type","number","tabindex","3","name","invoiceValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","30"],["matInput","","name","expiry","placeholder","Expiry","type","number","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fxFlex","26"],["tabindex","5","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","50","fxLayoutAlign","start center",1,"mt-2"],["tabindex","6","color","primary","matTooltip","Include routing hints for private channels","name","private",3,"ngModel","matTooltipPosition","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"]],template:function(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Create Invoice"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(e){return t.description=e}),s.qZA(),s.qZA(),s.TgZ(13,"div",11),s.TgZ(14,"mat-form-field",12),s.TgZ(15,"input",13),s.NdJ("ngModelChange",function(e){return t.invoiceValue=e})("keyup",function(){return t.onInvoiceValueChange()}),s.qZA(),s.TgZ(16,"span",14),s._uU(17),s.qZA(),s.TgZ(18,"mat-hint"),s._uU(19),s.qZA(),s.qZA(),s.TgZ(20,"mat-form-field",15),s.TgZ(21,"input",16),s.NdJ("ngModelChange",function(e){return t.expiry=e}),s.qZA(),s.TgZ(22,"span",14),s._uU(23),s.ALo(24,"titlecase"),s.qZA(),s.qZA(),s.TgZ(25,"mat-form-field",17),s.TgZ(26,"mat-select",18),s.NdJ("selectionChange",function(e){return t.onTimeUnitChange(e)}),s.YNc(27,pe,3,4,"mat-option",19),s.qZA(),s.qZA(),s.qZA(),s.TgZ(28,"div",20),s.TgZ(29,"mat-slide-toggle",21),s.NdJ("ngModelChange",function(e){return t.private=e}),s._uU(30,"Private Routing Hints"),s.qZA(),s.qZA(),s.YNc(31,ge,3,2,"div",22),s.TgZ(32,"div",23),s.TgZ(33,"button",24),s.NdJ("click",function(){return t.resetData()}),s._uU(34,"Clear Field"),s.qZA(),s.TgZ(35,"button",25),s.NdJ("click",function(){s.CHM(e);const n=s.MAs(10);return t.onAddInvoice(n)}),s._uU(36,"Create Invoice"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}2&e&&(s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",t.description),s.xp6(3),s.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),s.xp6(2),s.hij(" ",null==t.information?null:t.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(t.invoiceValueHint),s.xp6(2),s.Q6J("ngModel",t.expiry)("step",t.selTimeUnit===t.timeUnitEnum.SECS?300:t.selTimeUnit===t.timeUnitEnum.MINS?10:t.selTimeUnit===t.timeUnitEnum.HOURS?2:1)("min",1),s.xp6(2),s.hij(" ",s.lcZ(24,16,t.selTimeUnit)," "),s.xp6(3),s.Q6J("value",t.selTimeUnit),s.xp6(1),s.Q6J("ngForOf",t.timeUnits),s.xp6(2),s.Q6J("ngModel",t.private)("matTooltipPosition","above"),s.xp6(2),s.Q6J("ngIf",""!==t.invoiceError))},directives:[l.xw,l.yH,b.dk,l.Wh,C.lW,oe.ZT,b.dn,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,ce.h,le.JJ,le.On,le.wV,le.qQ,ue.q,D.R9,D.bx,de.gD,i.sg,he.Rr,O.gM,i.O5,me.ey,T.BN],pipes:[i.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();var Ze=n(3793),ye=n(4636),Ae=n(8914);function we(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"input",7),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().description=t}),s.qZA(),s.qZA(),s.TgZ(4,"mat-form-field",8),s.TgZ(5,"input",9),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().invoiceValue=t})("keyup",function(){return s.CHM(e),s.oxw().onInvoiceValueChange()}),s.qZA(),s.TgZ(6,"span",10),s._uU(7),s.qZA(),s.TgZ(8,"mat-hint"),s._uU(9),s.qZA(),s.qZA(),s.TgZ(10,"div",11),s.TgZ(11,"button",12),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(12,"Clear Field"),s.qZA(),s.TgZ(13,"button",13),s.NdJ("click",function(){s.CHM(e);const t=s.MAs(1);return s.oxw().onAddInvoice(t)}),s._uU(14,"Create Invoice"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.description),s.xp6(2),s.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),s.xp6(2),s.hij(" ",null==e.information?null:e.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(e.invoiceValueHint)}}function Te(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",14),s.TgZ(1,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDeleteExpiredInvoices()}),s._uU(2,"Delete Expired"),s.qZA(),s.TgZ(3,"button",16),s.NdJ("click",function(){return s.CHM(e),s.oxw().openCreateInvoiceModal()}),s._uU(4,"Create Invoice"),s.qZA(),s.qZA()}}function ve(e,t){1&e&&s._UZ(0,"mat-progress-bar",45)}function be(e,t){1&e&&(s.TgZ(0,"th",46),s._uU(1," Expiry Date "),s.qZA())}const qe=function(e){return{"mr-0":e}};function Ce(e,t){if(1&e&&s._UZ(0,"span",50),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,qe,e.screenSize===e.screenSizeEnum.XS))}}function _e(e,t){if(1&e&&s._UZ(0,"span",51),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,qe,e.screenSize===e.screenSizeEnum.XS))}}function Se(e,t){if(1&e&&(s.TgZ(0,"td",47),s.YNc(1,Ce,1,3,"span",48),s.YNc(2,_e,1,3,"span",49),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf","paid"===e.status),s.xp6(1),s.Q6J("ngIf","paid"!==e.status),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*e.expires_at,"dd/MMM/YYYY HH:mm")," ")}}function Le(e,t){1&e&&(s.TgZ(0,"th",46),s._uU(1," Date Settled "),s.qZA())}function Ue(e,t){if(1&e&&(s.TgZ(0,"td",47),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*e.paid_at,"dd/MMM/YYYY HH:mm")||"-")}}function Fe(e,t){1&e&&(s.TgZ(0,"th",46),s._uU(1," Description "),s.qZA())}const ke=function(e){return{"max-width":e}};function Ne(e,t){if(1&e&&(s.TgZ(0,"td",47),s.TgZ(1,"div",52),s.TgZ(2,"span",53),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,ke,n.screenSize===n.screenSizeEnum.XS?"10rem":"32rem")),s.xp6(2),s.Oqu(e.description)}}function Je(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1," Amount (Sats) "),s.qZA())}function De(e,t){if(1&e&&(s.TgZ(0,"td",47),s.TgZ(1,"span",55),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,e.msatoshi/1e3,e.msatoshi<1e3?"1.0-4":"1.0-0"),"")}}function Oe(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1," Amount Settled (Sats) "),s.qZA())}function Re(e,t){if(1&e&&(s.TgZ(0,"td",47),s.TgZ(1,"span",55),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,e.msatoshi_received/1e3,e.msatoshi_received<1e3?"1.0-4":"1.0-0"),"")}}function Me(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",56),s.TgZ(1,"div",57),s.TgZ(2,"mat-select",58),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",59),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}const Ye=function(e){return{"px-3":e}};function Qe(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",60),s.TgZ(1,"button",61),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onInvoiceClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Ye,e.screenSize!==e.screenSizeEnum.XS))}}function Ie(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No invoices available."),s.qZA())}function Pe(e,t){if(1&e&&(s.TgZ(0,"td",62),s.YNc(1,Ie,2,0,"p",63),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.invoices&&e.invoices.data)||(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)<1)}}const Ee=function(e){return{"display-none":e}};function Be(e,t){if(1&e&&s._UZ(0,"tr",64),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Ee,(null==e.invoices?null:e.invoices.data)&&(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)>0))}}function He(e,t){1&e&&s._UZ(0,"tr",65)}function Ve(e,t){if(1&e&&s._UZ(0,"tr",66),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.label===n.newlyAddedInvoiceMemo&&e.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const ze=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Ge=function(){return["no_invoice"]};function Xe(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",17),s.TgZ(1,"div",18),s.TgZ(2,"div",19),s._UZ(3,"fa-icon",20),s.TgZ(4,"span",21),s._uU(5,"Invoices History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",22),s.TgZ(7,"input",23),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",24),s.YNc(9,ve,1,0,"mat-progress-bar",25),s.TgZ(10,"table",26,27),s.ynx(12,28),s.YNc(13,be,2,0,"th",29),s.YNc(14,Se,5,6,"td",30),s.BQk(),s.ynx(15,31),s.YNc(16,Le,2,0,"th",29),s.YNc(17,Ue,3,4,"td",30),s.BQk(),s.ynx(18,32),s.YNc(19,Fe,2,0,"th",29),s.YNc(20,Ne,4,4,"td",30),s.BQk(),s.ynx(21,33),s.YNc(22,Je,2,0,"th",34),s.YNc(23,De,4,4,"td",30),s.BQk(),s.ynx(24,35),s.YNc(25,Oe,2,0,"th",34),s.YNc(26,Re,4,4,"td",30),s.BQk(),s.ynx(27,36),s.YNc(28,Me,6,0,"th",37),s.YNc(29,Qe,3,3,"td",38),s.BQk(),s.ynx(30,39),s.YNc(31,Pe,2,1,"td",40),s.BQk(),s.YNc(32,Be,1,3,"tr",41),s.YNc(33,He,1,0,"tr",42),s.YNc(34,Ve,1,1,"tr",43),s.qZA(),s.qZA(),s._UZ(35,"mat-paginator",44),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("icon",e.faHistory),s.xp6(6),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.invoices)("ngClass",s.VKq(11,ze,"error"===e.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(13,Ge)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let $e=(()=>{class e{constructor(e,t,n,i,a,o){this.logger=e,this.store=t,this.decimalPipe=n,this.commonService=i,this.rtlEffects=a,this.datePipe=o,this.calledFrom="transactions",this.faHistory=f.qO$,this.selNode={},this.newlyAddedInvoiceMemo="",this.newlyAddedInvoiceValue=0,this.flgAnimate=!0,this.description="",this.invoiceValue=null,this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoiceJSONArr=[],this.information={},this.flgLoading=[!0],this.flgSticky=!1,this.private=!1,this.expiryStep=100,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["expires_at","msatoshi","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["expires_at","description","msatoshi","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["expires_at","description","msatoshi","msatoshi_received","actions"]):(this.flgSticky=!0,this.displayedColumns=["expires_at","paid_at","description","msatoshi","msatoshi_received","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchInvoices"===e.action&&(this.flgLoading[0]="error")}),this.selNode=e.nodeSettings,this.information=e.information,this.invoiceJSONArr=e.invoices.invoices&&e.invoices.invoices.length>0?e.invoices.invoices:[],this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr),setTimeout(()=>{this.flgAnimate=!1},5e3),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.invoices),this.logger.info(e)})}ngAfterViewInit(){this.invoiceJSONArr&&this.invoiceJSONArr.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoiceJSONArr)}openCreateInvoiceModal(){this.store.dispatch(new se.wu({data:{pageSize:this.pageSize,component:xe}}))}onAddInvoice(e){this.invoiceValue||(this.invoiceValue=0);let t=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo="ulbl"+Math.random().toString(36).slice(2)+Date.now(),this.newlyAddedInvoiceValue=this.invoiceValue,this.store.dispatch(new se.Fk("Adding Invoice...")),this.store.dispatch(new x.H1({label:this.newlyAddedInvoiceMemo,amount:1e3*this.invoiceValue,description:this.description,expiry:t,private:this.private})),this.resetData()}onDeleteExpiredInvoices(){this.store.dispatch(new se.b_({data:{type:"CONFIRM",titleMessage:"Delete Expired Invoices",noBtnText:"Cancel",yesBtnText:"Delete Invoices"}})),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{e&&(this.store.dispatch(new se.Fk("Deleting Invoices...")),this.store.dispatch(new x.nB))})}onInvoiceClick(e,t){this.store.dispatch(new se.wu({data:{invoice:{msatoshi:e.msatoshi,label:e.label,expires_at:e.expires_at,paid_at:e.paid_at,bolt11:e.bolt11,payment_hash:e.payment_hash,description:e.description,status:e.status,msatoshi_received:e.msatoshi_received},newlyAdded:!1,component:Ze.$}}))}resetData(){this.description="",this.invoiceValue=void 0,this.private=!1,this.expiry=void 0,this.invoiceValueHint=""}applyFilter(e){this.invoices.filter=e.value.trim().toLowerCase()}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,g.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,g.Xz.OTHER)+" "+e.unit}))}loadInvoicesTable(e){this.invoices=new ae.by(e?[...e]:[]),this.invoices.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.invoices.sort=this.sort,this.invoices.filterPredicate=(e,t)=>((e.paid_at?this.datePipe.transform(new Date(1e3*e.paid_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.expires_at?this.datePipe.transform(new Date(1e3*e.expires_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.invoices.paginator=this.paginator}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(i.JJ),s.Y36(w.v),s.Y36(Ae.V),s.Y36(i.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-lightning-invoices"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["matInput","","placeholder","Description","tabindex","2","name","description",3,"ngModel","ngModelChange"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","name","invoiceValue","type","number","tabindex","3",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","9","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["fxLayout","row"],["mat-stroked-button","","color","warn","tabindex","7","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","expires_at"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","paid_at"],["matColumnDef","description"],["matColumnDef","msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_received"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unsettled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unsettled","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,we,15,6,"form",1),s.YNc(2,Te,5,0,"div",2),s.YNc(3,Xe,36,14,"div",3),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf","home"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,i.O5,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,le.JJ,le.On,le.wV,le.qQ,ue.q,D.R9,D.bx,C.lW,T.BN,M.$V,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,O.gM,i.PC,S.Zl,de.gD,de.$L,me.ey,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.uU,i.JJ],styles:[".mat-column-description[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-description[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[ye.Q]}}),e})();var Ke=n(9056),We=n(8640),je=n(4810);const et=["paymentReq"];function tt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-radio-group",17),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().paymentType=t})("change",function(){return s.CHM(e),s.oxw().onPaymentTypeChange()}),s.TgZ(1,"mat-radio-button",18),s._uU(2,"Invoice Payment"),s.qZA(),s.TgZ(3,"mat-radio-button",19),s._uU(4,"Keysend Payment"),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("ngModel",e.paymentType)}}function nt(e,t){1&e&&s.GkF(0)}function it(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentError)}}function at(e,t){if(1&e&&(s.TgZ(0,"div",20),s._UZ(1,"fa-icon",21),s.YNc(2,it,2,1,"span",22),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.paymentError)}}function ot(e,t){if(1&e&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function st(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function lt(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function rt(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment amount is required."),s.qZA())}function ct(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",26,27),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).paymentAmount=t})("change",function(t){return s.CHM(e),s.oxw(2).onAmountChange(t)}),s.qZA(),s.TgZ(3,"mat-hint"),s._uU(4,"It is a zero amount invoice, enter amount to be paid."),s.qZA(),s.YNc(5,rt,2,0,"mat-error",22),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngModel",e.paymentAmount),s.xp6(4),s.Q6J("ngIf",!e.paymentAmount)}}function ut(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"textarea",23,24),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(3,ot,2,1,"mat-hint",22),s.YNc(4,st,2,0,"mat-error",22),s.YNc(5,lt,2,1,"mat-error",22),s.qZA(),s.YNc(6,ct,6,2,"mat-form-field",25)}if(2&e){const e=s.MAs(2),t=s.oxw();s.xp6(1),s.Q6J("ngModel",t.paymentRequest),s.xp6(2),s.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!t.paymentRequest),s.xp6(1),s.Q6J("ngIf",null==e.errors?null:e.errors.decodeError),s.xp6(1),s.Q6J("ngIf",t.zeroAmtInvoice)}}function dt(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Pubkey is required."),s.qZA())}function ht(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Keysend amount is required."),s.qZA())}function mt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",28),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().pubkey=t}),s.qZA(),s.YNc(2,dt,2,0,"mat-error",22),s.qZA(),s.TgZ(3,"mat-form-field",1),s.TgZ(4,"input",29,30),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().keysendAmount=t}),s.qZA(),s.YNc(6,ht,2,0,"mat-error",22),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngModel",e.pubkey),s.xp6(1),s.Q6J("ngIf",!e.pubkey),s.xp6(2),s.Q6J("ngModel",e.keysendAmount),s.xp6(2),s.Q6J("ngIf",!e.keysendAmount)}}let pt=(()=>{class e{constructor(e,t,n,i,a,o,s,l){this.dialogRef=e,this.store=t,this.clEffects=n,this.logger=i,this.commonService=a,this.decimalPipe=o,this.actions$=s,this.rtlEffects=l,this.faExclamationTriangle=f.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentType="invoice",this.pubkey="",this.keysendAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.selActiveChannel={},this.activeChannels={},this.feeLimit=null,this.selFeeLimitType=g.Vc[0],this.feeLimitTypes=g.Vc,this.paymentError="",this.isCompatibleVersion=!1,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}set payReq(e){e&&(this.paymentReq=e)}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.activeChannels=e.allChannels.filter(e=>"CHANNELD_NORMAL"===e.state&&e.connected),this.isCompatibleVersion=this.commonService.isVersionCompatible(e.information.version,"0.9.0")&&this.commonService.isVersionCompatible(e.information.api_version,"0.4.0"),this.logger.info(e)}),this.actions$.pipe((0,h.R)(this.unSubs[1]),(0,m.h)(e=>e.type===x.at||e.type===x.zm)).subscribe(e=>{e.type===x.zm&&this.dialogRef.close(),e.type===x.at&&("SendPayment"===e.payload.action&&(delete this.paymentDecoded.msatoshi,this.paymentError=e.payload.message),"DecodePayment"===e.payload.action&&(this.paymentDecodedHint="ERROR: "+e.payload.message,this.paymentReq.control.setErrors({decodeError:!0})))})}onSendPayment(){if("invoice"===this.paymentType&&!this.paymentRequest||"keysend"===this.paymentType&&(!this.pubkey||""===this.pubkey.trim()||!this.keysendAmount||this.keysendAmount<=0))return!0;"keysend"===this.paymentType?this.keysendPayment():this.paymentDecoded.created_at?this.sendPayment():(this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.paymentReq.control.setErrors(null),this.store.dispatch(new se.Fk("Decoding Payment...")),this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!0})),this.clEffects.setDecodedPaymentCL.pipe((0,Ke.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.created_at&&!this.paymentDecoded.msatoshi?(this.paymentDecoded.msatoshi=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,g.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,h.R)(this.unSubs[2])).subscribe(e=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description}))}))}keysendPayment(){this.store.dispatch(new se.Fk("Sending Keysend Payment...")),this.store.dispatch(new x.Ar({pubkey:this.pubkey,amount:1e3*this.keysendAmount,fromDialog:!0}))}sendPayment(){this.store.dispatch(new se.Fk("Sending Payment...")),this.store.dispatch(new x.Ar(this.zeroAmtInvoice?{invoice:this.paymentRequest,amount:1e3*this.paymentAmount,fromDialog:!0}:{invoice:this.paymentRequest,fromDialog:!0}))}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.store.dispatch(new se.Fk("Decoding Payment...")),this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!0})),this.clEffects.setDecodedPaymentCL.subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.created_at&&!this.paymentDecoded.msatoshi?(this.paymentDecoded.msatoshi=0,this.zeroAmtInvoice=!0,this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description):(this.zeroAmtInvoice=!1,this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,g.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,h.R)(this.unSubs[3])).subscribe(e=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description}))}))}onAmountChange(e){delete this.paymentDecoded.msatoshi,this.paymentDecoded.msatoshi=e}onPaymentTypeChange(){this.paymentError=""}resetData(){"keysend"===this.paymentType?(this.pubkey="",this.keysendAmount=null):(this.paymentDecoded={},this.paymentRequest="",this.selActiveChannel=null,this.feeLimit=null,this.selFeeLimitType=g.Vc[0],this.paymentReq.control.setErrors(null),this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentAmount=null),this.paymentError=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(y.yh),s.Y36(We.s),s.Y36(Z.mQ),s.Y36(w.v),s.Y36(i.JJ),s.Y36(A.eX),s.Y36(Ae.V))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-lightning-send-payments"]],viewQuery:function(e,t){if(1&e&&s.Gf(et,5),2&e){let e;s.iGM(e=s.CRH())&&(t.payReq=e.first)}},decls:23,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","12","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["class","my-1","color","primary","name","paymentType","fxFlex","100","fxLayoutAlign","start stretch",3,"ngModel","ngModelChange","change",4,"ngIf"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],[4,"ngTemplateOutlet"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","7",3,"click"],["invoiceBlock",""],["keysendBlock",""],["color","primary","name","paymentType","fxFlex","100","fxLayoutAlign","start stretch",1,"my-1",3,"ngModel","ngModelChange","change"],["fxFlex","25","tabindex","1","value","invoice",1,"mr-2"],["fxFlex","25","tabindex","2","value","keysend"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","3","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],["fxFlex","100",4,"ngIf"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","4","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],["autoFocus","","matInput","","placeholder","Pubkey","name","pubkey","tabindex","5","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Amount (Sats)","name","keysendAmount","tabindex","6","required","",3,"ngModel","ngModelChange"],["keysendAmt","ngModel"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Send Payment"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.YNc(9,tt,5,1,"mat-radio-group",7),s.TgZ(10,"form",8,9),s.YNc(12,nt,1,0,"ng-container",10),s.YNc(13,at,3,2,"div",11),s.TgZ(14,"div",12),s.TgZ(15,"button",13),s.NdJ("click",function(){return t.resetData()}),s._uU(16,"Clear Fields"),s.qZA(),s.TgZ(17,"button",14),s.NdJ("click",function(){return t.onSendPayment()}),s._uU(18,"Send Payment"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(19,ut,7,5,"ng-template",null,15,s.W1O),s.YNc(21,mt,7,4,"ng-template",null,16,s.W1O)),2&e){const e=s.MAs(20),n=s.MAs(22);s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(3),s.Q6J("ngIf",t.isCompatibleVersion),s.xp6(3),s.Q6J("ngTemplateOutlet","keysend"===t.paymentType?n:e),s.xp6(1),s.Q6J("ngIf",""!==t.paymentError)}},directives:[l.xw,l.yH,b.dk,l.Wh,C.lW,oe.ZT,b.dn,i.O5,le._Y,le.JL,le.F,i.tP,je.VQ,le.JJ,le.On,je.U0,T.BN,D.KE,re.Nt,le.Fj,re.D7,ce.h,le.Q7,D.bx,D.TO],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();const ft=["sendPaymentForm"];function gt(e,t){if(1&e&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function xt(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function Zt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"textarea",7,8),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(5,gt,2,1,"mat-hint",9),s.YNc(6,xt,2,0,"mat-error",9),s.qZA(),s.TgZ(7,"div",10),s.TgZ(8,"button",11),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(9,"Clear Field"),s.qZA(),s.TgZ(10,"button",12),s.NdJ("click",function(){return s.CHM(e),s.oxw().onSendPayment()}),s._uU(11,"Send Payment"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.paymentRequest),s.xp6(2),s.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!e.paymentRequest)}}function yt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",13),s.TgZ(1,"button",12),s.NdJ("click",function(){return s.CHM(e),s.oxw().openSendPaymentModal()}),s._uU(2,"Send Payment"),s.qZA(),s.qZA()}}function At(e,t){1&e&&s._UZ(0,"mat-progress-bar",47)}function wt(e,t){1&e&&(s.TgZ(0,"th",48),s._uU(1,"Created At"),s.qZA())}const Tt=function(e){return{"mr-0":e}};function vt(e,t){if(1&e&&s._UZ(0,"span",52),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function bt(e,t){if(1&e&&s._UZ(0,"span",53),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function qt(e,t){if(1&e&&(s.TgZ(0,"td",49),s.YNc(1,vt,1,3,"span",50),s.YNc(2,bt,1,3,"span",51),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf","complete"===e.status),s.xp6(1),s.Q6J("ngIf","complete"!==e.status),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*(null==e?null:e.created_at),"dd/MMM/YYYY HH:mm")," ")}}function Ct(e,t){1&e&&(s.TgZ(0,"th",48),s._uU(1,"Payment Hash"),s.qZA())}function _t(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"div"),s._uU(2),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(null==e?null:e.payment_hash)}}function St(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1,"Sats Sent"),s.qZA())}function Lt(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",55),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.msatoshi_sent)/1e3,(null==e?null:e.msatoshi_sent)<1e3?"1.0-4":"1.0-0"))}}function Ut(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1,"Sats Received"),s.qZA())}function Ft(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",55),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.msatoshi)/1e3,(null==e?null:e.msatoshi)<1e3?"1.0-4":"1.0-0"))}}function kt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",56),s.TgZ(1,"div",57),s.TgZ(2,"mat-select",58),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",59),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Nt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",60),s.TgZ(1,"button",61),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw(2).onPaymentClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Jt(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No payments available."),s.qZA())}function Dt(e,t){if(1&e&&(s.TgZ(0,"td",62),s.YNc(1,Jt,2,0,"p",9),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.payments&&e.payments.data)||(null==e.payments||null==e.payments.data?null:e.payments.data.length)<1)}}function Ot(e,t){if(1&e&&s._UZ(0,"span",66),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function Rt(e,t){if(1&e&&s._UZ(0,"span",67),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function Mt(e,t){if(1&e&&s._UZ(0,"span",66),2&e){const e=s.oxw(5);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function Yt(e,t){if(1&e&&s._UZ(0,"span",67),2&e){const e=s.oxw(5);s.Q6J("ngClass",s.VKq(1,Tt,e.screenSize===e.screenSizeEnum.XS))}}function Qt(e,t){if(1&e&&(s.TgZ(0,"span",69),s.YNc(1,Mt,1,3,"span",64),s.YNc(2,Yt,1,3,"span",65),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf","complete"===e.status),s.xp6(1),s.Q6J("ngIf","complete"!==e.status),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*e.created_at,"dd/MMM/YYYY HH:mm")," ")}}function It(e,t){if(1&e&&(s.ynx(0),s.YNc(1,Qt,5,6,"span",68),s.BQk()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.mpps)}}function Pt(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",63),s.YNc(2,Ot,1,3,"span",64),s.YNc(3,Rt,1,3,"span",65),s._uU(4),s.qZA(),s.YNc(5,It,2,1,"ng-container",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Q6J("ngIf","complete"===e.status),s.xp6(1),s.Q6J("ngIf","complete"!==e.status),s.xp6(1),s.hij(" Total Attempts: ",null==e?null:e.total_parts," "),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Et(e,t){if(1&e&&(s.TgZ(0,"span",63),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" Part ID ",e.partid?e.partid:0," ")}}function Bt(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Et,2,1,"span",70),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.mpps)}}function Ht(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",63),s._uU(2),s.qZA(),s.YNc(3,Bt,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(null==e?null:e.payment_hash),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Vt(e,t){if(1&e&&(s.TgZ(0,"span",71),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,e.msatoshi_sent/1e3,e.msatoshi_sent<1e3?"1.0-4":"1.0-0")," ")}}function zt(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Vt,3,4,"span",72),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.mpps)}}function Gt(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",71),s._uU(2),s.ALo(3,"number"),s.qZA(),s.YNc(4,zt,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,2,(null==e?null:e.msatoshi_sent)/1e3,(null==e?null:e.msatoshi_sent)<1e3?"1.0-4":"1.0-0")),s.xp6(2),s.Q6J("ngIf",e.is_expanded)}}function Xt(e,t){if(1&e&&(s.TgZ(0,"span",71),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,e.msatoshi/1e3,e.msatoshi<1e3?"1.0-4":"1.0-0")," ")}}function $t(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Xt,3,4,"span",72),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.mpps)}}function Kt(e,t){if(1&e&&(s.TgZ(0,"td",49),s.TgZ(1,"span",71),s._uU(2),s.ALo(3,"number"),s.qZA(),s.YNc(4,$t,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,2,(null==e?null:e.msatoshi)/1e3,(null==e?null:e.msatoshi)<1e3?"1.0-4":"1.0-0")),s.xp6(2),s.Q6J("ngIf",e.is_expanded)}}function Wt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",55),s.TgZ(1,"button",76),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw(4).onPaymentClick(t)}),s._uU(2),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit;s.xp6(2),s.hij("View ",e.partid?e.partid:0,"")}}function jt(e,t){if(1&e&&(s.TgZ(0,"div"),s.YNc(1,Wt,3,1,"div",75),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.mpps)}}function en(e,t){if(1&e&&(s.TgZ(0,"td",73),s.TgZ(1,"span",55),s.TgZ(2,"button",74),s.NdJ("click",function(){const e=t.$implicit;return e.is_expanded=!e.is_expanded}),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,jt,2,1,"div",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Oqu(e.is_expanded?"Hide":"Show"),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function tn(e,t){if(1&e&&s._UZ(0,"tr",77),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const nn=function(e){return{"display-none":e}};function an(e,t){if(1&e&&s._UZ(0,"tr",78),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,nn,(null==e.payments?null:e.payments.data)&&(null==e.payments||null==e.payments.data?null:e.payments.data.length)>0))}}function on(e,t){1&e&&s._UZ(0,"tr",79)}function sn(e,t){if(1&e&&s._UZ(0,"tr",77),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const ln=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},rn=function(){return["no_payment"]};function cn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",14),s.TgZ(1,"div",15),s.TgZ(2,"div",16),s._UZ(3,"fa-icon",17),s.TgZ(4,"span",18),s._uU(5,"Payments History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",19),s.TgZ(7,"input",20),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",21),s.YNc(9,At,1,0,"mat-progress-bar",22),s.TgZ(10,"table",23,24),s.ynx(12,25),s.YNc(13,wt,2,0,"th",26),s.YNc(14,qt,5,6,"td",27),s.BQk(),s.ynx(15,28),s.YNc(16,Ct,2,0,"th",26),s.YNc(17,_t,3,1,"td",27),s.BQk(),s.ynx(18,29),s.YNc(19,St,2,0,"th",30),s.YNc(20,Lt,4,4,"td",27),s.BQk(),s.ynx(21,31),s.YNc(22,Ut,2,0,"th",30),s.YNc(23,Ft,4,4,"td",27),s.BQk(),s.ynx(24,32),s.YNc(25,kt,6,0,"th",33),s.YNc(26,Nt,3,0,"td",34),s.BQk(),s.ynx(27,35),s.YNc(28,Dt,2,1,"td",36),s.BQk(),s.ynx(29,37),s.YNc(30,Pt,6,4,"td",27),s.BQk(),s.ynx(31,38),s.YNc(32,Ht,4,2,"td",27),s.BQk(),s.ynx(33,39),s.YNc(34,Gt,5,5,"td",27),s.BQk(),s.ynx(35,40),s.YNc(36,Kt,5,5,"td",27),s.BQk(),s.ynx(37,41),s.YNc(38,en,5,2,"td",42),s.BQk(),s.YNc(39,tn,1,1,"tr",43),s.YNc(40,an,1,3,"tr",44),s.YNc(41,on,1,0,"tr",45),s.YNc(42,sn,1,1,"tr",43),s.qZA(),s.qZA(),s._UZ(43,"mat-paginator",46),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("icon",e.faHistory),s.xp6(6),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.payments)("ngClass",s.VKq(14,ln,"error"===e.flgLoading[0])),s.xp6(29),s.Q6J("matRowDefColumns",e.mppColumns)("matRowDefWhen",e.is_group),s.xp6(1),s.Q6J("matFooterRowDef",s.DdM(16,rn)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)("matRowDefWhen",!e.is_group),s.xp6(1),s.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let un=(()=>{class e{constructor(e,t,n,i,a,o,s,l){this.logger=e,this.commonService=t,this.store=n,this.rtlEffects=i,this.clEffects=a,this.decimalPipe=o,this.titleCasePipe=s,this.datePipe=l,this.calledFrom="transactions",this.faHistory=f.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.flgLoading=[!0],this.information={},this.paymentJSONArr=[],this.displayedColumns=[],this.mppColumns=[],this.paymentDecoded={},this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["created_at","actions"],this.mppColumns=["groupTotal","groupAction"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["created_at","msatoshi","actions"],this.mppColumns=["groupTotal","groupAmtRecv","groupAction"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["created_at","msatoshi_sent","msatoshi","actions"],this.mppColumns=["groupTotal","groupAmtSent","groupAmtRecv","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["created_at","payment_hash","msatoshi_sent","msatoshi","actions"],this.mppColumns=["groupTotal","groupHash","groupAmtSent","groupAmtRecv","groupAction"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchPayments"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.selNode=e.nodeSettings,this.paymentJSONArr=e.payments&&e.payments.length>0?e.payments:[],this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr),setTimeout(()=>{this.flgAnimate=!1},3e3),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.paymentJSONArr),this.logger.info(e)})}ngAfterViewInit(){this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr)}is_group(e,t){return t.is_group}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.created_at?this.sendPayment():(this.store.dispatch(new se.Fk("Decoding Payment...")),this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!1})),this.clEffects.setDecodedPaymentCL.pipe((0,Ke.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.created_at?(this.paymentDecoded.msatoshi||(this.paymentDecoded.msatoshi=0),this.sendPayment()):this.resetData()}))}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.payment_hash,this.paymentDecoded.msatoshi&&0!==this.paymentDecoded.msatoshi?(this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"payee",value:this.paymentDecoded.payee,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"created_at",value:this.paymentDecoded.created_at,title:"Creation Date",width:50,type:g.Gi.DATE_TIME},{key:"num_satoshis",value:this.paymentDecoded.msatoshi/1e3,title:"Amount (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:g.Gi.NUMBER},{key:"min_finaltv_expiry",value:this.paymentDecoded.min_final_cltv_expiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,Ke.q)(1)).subscribe(e=>{e&&(this.store.dispatch(new se.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({invoice:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"payee",value:this.paymentDecoded.payee,title:"Payee",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"created_at",value:this.paymentDecoded.created_at,title:"Creation Date",width:40,type:g.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:g.Gi.NUMBER},{key:"min_finaltv_expiry",value:this.paymentDecoded.min_final_cltv_expiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",getInputs:[{placeholder:"Amount (Sats)",inputType:g.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,Ke.q)(1)).subscribe(e=>{e&&(this.paymentDecoded.msatoshi=e[0].inputValue,this.store.dispatch(new se.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({invoice:this.paymentRequest,amount:1e3*e[0].inputValue,fromDialog:!1})),this.resetData())}))}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&(this.store.dispatch(new se.Fk("Decoding Payment...")),this.store.dispatch(new x.pu({routeParam:this.paymentRequest,fromDialog:!1})),this.clEffects.setDecodedPaymentCL.subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.msatoshi?this.commonService.convertCurrency(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0,g.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,g.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.msatoshi?this.paymentDecoded.msatoshi/1e3:0)+" Sats | Memo: "+this.paymentDecoded.description}):this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description}))}openSendPaymentModal(){this.store.dispatch(new se.wu({data:{component:pt}}))}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}onPaymentClick(e){const t=[[{key:"bolt11",value:e.bolt11,title:"Bolt 11",width:100,type:g.Gi.STRING}],[{key:"payment_preimage",value:e.payment_preimage,title:"Payment Preimage",width:100,type:g.Gi.STRING}],[{key:"id",value:e.id,title:"ID",width:20,type:g.Gi.STRING},{key:"destination",value:e.destination,title:"Destination",width:80,type:g.Gi.STRING}],[{key:"created_at",value:e.created_at,title:"Creation Date",width:50,type:g.Gi.DATE_TIME},{key:"status",value:this.titleCasePipe.transform(e.status),title:"Status",width:50,type:g.Gi.STRING}],[{key:"msatoshi",value:e.msatoshi,title:"Amount (mSats)",width:50,type:g.Gi.NUMBER},{key:"msatoshi_sent",value:e.msatoshi_sent,title:"Amount Sent (mSats)",width:50,type:g.Gi.NUMBER}]];e.memo&&""!==e.memo&&t.splice(2,0,[{key:"memo",value:e.memo,title:"Memo",width:100,type:g.Gi.STRING}]),e.hasOwnProperty("partid")?t.unshift([{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:80,type:g.Gi.STRING},{key:"partid",value:e.partid,title:"Part ID",width:20,type:g.Gi.STRING}]):t.unshift([{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:100,type:g.Gi.STRING}]),this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Payment Information",message:t}}))}applyFilter(e){this.payments.filter=e.value.trim().toLowerCase()}loadPaymentsTable(e){this.payments=new ae.by(e?[...e]:[]),this.payments.data=this.paymentJSONArr,this.payments.sort=this.sort,this.payments.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.payments.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.payments.filterPredicate=(e,t)=>((e.created_at?this.datePipe.transform(new Date(1e3*e.created_at),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.payments.paginator=this.paginator}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){let e=JSON.parse(JSON.stringify(this.payments.data)).reduce((e,t)=>t.mpps?e.concat(t.mpps):(delete t.is_group,delete t.is_expanded,delete t.total_parts,e.concat(t)),[]);this.commonService.downloadFile(e,"Payments")}}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(Ae.V),s.Y36(We.s),s.Y36(i.JJ),s.Y36(i.rS),s.Y36(i.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-lightning-payments"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ft,5),s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","created_at"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","payment_hash"],["matColumnDef","msatoshi_sent"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupHash"],["matColumnDef","groupAmtSent"],["matColumnDef","groupAmtRecv"],["matColumnDef","groupAction"],["mat-cell","","class","px-3",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Completed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Completed","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Failed","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"mpp-row-span"],["class","dot green mt-0","matTooltip","Completed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow mt-0","matTooltip","Incomplete/Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Completed","matTooltipPosition","right",1,"dot","green","mt-0",3,"ngClass"],["matTooltip","Incomplete/Failed","matTooltipPosition","right",1,"dot","yellow","mt-0",3,"ngClass"],["fxLayoutAlign","start center","class","mpp-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"mpp-row-span","pl-3"],["fxLayoutAlign","start center","class","mpp-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"mpp-row-span"],["fxLayoutAlign","end center","class","mpp-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-3"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-mpp-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-mpp-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,Zt,12,3,"form",1),s.YNc(2,yt,3,0,"div",2),s.YNc(3,cn,44,17,"div",3),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf","home"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,i.O5,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,re.D7,le.Q7,M.$V,le.JJ,le.On,C.lW,D.bx,D.TO,T.BN,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.nj,ae.Ke,ae.as,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,O.gM,de.gD,de.$L,me.ey,ae.yh,i.sg,ae.Gk,ae.Q2,ae.XQ],pipes:[i.uU,i.JJ],styles:[".mat-column-bolt11[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%], .mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-mpp-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-mpp-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.mpp-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:17rem}"],data:{animation:[ye.Q]}}),e})();function dn(e,t){if(1&e&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&e){s.oxw();const e=s.MAs(11);s.Q6J("matMenuTriggerFor",e)}}function hn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(3).onNavigateTo("/cl/reports")}),s._uU(1,"Fees Summary"),s.qZA()}}function mn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(3).onsortChannelsBy()}),s._uU(1),s.qZA()}if(2&e){const e=s.oxw(3);s.xp6(1),s.hij("Sort By ","Balance Score"===e.sortField?"Capacity":"Balance Score","")}}const pn=function(e){return{"error-border":e}};function fn(e,t){if(1&e&&s._UZ(0,"rtl-cl-node-info",26),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("showColorFieldSeparately",!1)("ngClass",s.VKq(3,pn,"error"===e.flgLoading[0]))}}function gn(e,t){if(1&e&&s._UZ(0,"rtl-cl-balances-info",27),2&e){const e=s.oxw(3);s.Q6J("balances",e.balances)("ngClass",s.VKq(2,pn,"error"===e.flgLoading[2]))}}function xn(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-capacity-info",28),2&e){const e=s.oxw(3);s.Q6J("sortBy",e.sortField)("channelBalances",e.channelBalances)("allChannels",e.allChannelsCapacity)("ngClass",s.VKq(4,pn,"error"===e.flgLoading[5]))}}function Zn(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-info",29),2&e){const e=s.oxw(3);s.Q6J("fees",e.fees)("ngClass",s.VKq(2,pn,"error"===e.flgLoading[1]))}}function yn(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-status-info",30),2&e){const e=s.oxw(3);s.Q6J("channelsStatus",e.channelsStatus)("ngClass",s.VKq(2,pn,"error"===e.flgLoading[0]))}}function An(e,t){1&e&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}function wn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",9),s.TgZ(2,"mat-card-header"),s.TgZ(3,"mat-card-title",10),s.TgZ(4,"div"),s._UZ(5,"fa-icon",11),s.TgZ(6,"span"),s._uU(7),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.YNc(9,dn,3,1,"button",12),s.TgZ(10,"mat-menu",13,14),s.TgZ(12,"button",15),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(13),s.qZA(),s.YNc(14,hn,2,0,"button",16),s.YNc(15,mn,2,1,"button",16),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(16,"mat-card-content",17),s.TgZ(17,"div",18),s.YNc(18,fn,1,5,"rtl-cl-node-info",19),s.YNc(19,gn,1,4,"rtl-cl-balances-info",20),s.YNc(20,xn,1,6,"rtl-cl-channel-capacity-info",21),s.YNc(21,Zn,1,4,"rtl-cl-fee-info",22),s.YNc(22,yn,1,4,"rtl-cl-channel-status-info",23),s.YNc(23,An,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(5),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(2),s.Q6J("ngIf",e.link),s.xp6(4),s.hij("Go To ",e.goTo,""),s.xp6(1),s.Q6J("ngIf","fee"===e.id),s.xp6(1),s.Q6J("ngIf","capacity"===e.id),s.xp6(1),s.s9C("fxFlex","capacity"===e.id?90:70),s.xp6(1),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","capacity"),s.xp6(1),s.Q6J("ngSwitchCase","fee"),s.xp6(1),s.Q6J("ngSwitchCase","status")}}function Tn(e,t){if(1&e&&(s.TgZ(0,"div",2),s.TgZ(1,"div",3),s._UZ(2,"fa-icon",4),s.TgZ(3,"span",5),s._uU(4),s.qZA(),s.qZA(),s.TgZ(5,"mat-grid-list",6),s.YNc(6,wn,24,15,"mat-grid-tile",7),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.Q6J("icon",e.flgLoading[0]?e.faFrown:e.faSmile),s.xp6(2),s.Oqu(e.flgLoading[0]?"Error! Please check the server connection.":"Welcome "+e.information.alias+"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",e.operatorCardHeight),s.xp6(1),s.Q6J("ngForOf",e.operatorCards)}}function vn(e,t){if(1&e&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&e){s.oxw();const e=s.MAs(9);s.Q6J("matMenuTriggerFor",e)}}function bn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-card-header"),s.TgZ(1,"mat-card-title",10),s.TgZ(2,"div"),s._UZ(3,"fa-icon",11),s.TgZ(4,"span"),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"div"),s.YNc(7,vn,3,1,"button",12),s.TgZ(8,"mat-menu",13,39),s.TgZ(10,"button",15),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(11),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw().$implicit;s.xp6(3),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(2),s.Q6J("ngIf",e.link),s.xp6(4),s.hij("Go To ",e.goTo,"")}}function qn(e,t){if(1&e&&s._UZ(0,"rtl-cl-node-info",40),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("ngClass",s.VKq(2,pn,"error"===e.flgLoading[0]))}}function Cn(e,t){if(1&e&&s._UZ(0,"rtl-cl-balances-info",27),2&e){const e=s.oxw(3);s.Q6J("balances",e.balances)("ngClass",s.VKq(2,pn,"error"===e.flgLoading[2]))}}function _n(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-liquidity-info",41),2&e){const e=s.oxw(3);s.Q6J("direction","In")("totalLiquidity",e.totalInboundLiquidity)("allChannels",e.allInboundChannels)("ngClass",s.VKq(4,pn,"error"===e.flgLoading[5]))}}function Sn(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-liquidity-info",41),2&e){const e=s.oxw(3);s.Q6J("direction","Out")("totalLiquidity",e.totalOutboundLiquidity)("allChannels",e.allOutboundChannels)("ngClass",s.VKq(4,pn,"error"===e.flgLoading[5]))}}function Ln(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",50),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA(),s.TgZ(3,"mat-menu",13,51),s.TgZ(5,"button",15),s.NdJ("click",function(){s.CHM(e);const t=s.oxw(2).$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(6),s.qZA(),s.TgZ(7,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(4).onNavigateTo("/cl/reports/transactions")}),s._uU(8,"Transactions Summary"),s.qZA(),s.qZA()}if(2&e){const e=s.MAs(4),t=s.oxw(2).$implicit;s.Q6J("matMenuTriggerFor",e),s.xp6(6),s.hij("Go To ",t.goTo,"")}}function Un(e,t){1&e&&(s.TgZ(0,"span",42),s.TgZ(1,"mat-tab-group",43),s.TgZ(2,"mat-tab",44),s._UZ(3,"rtl-cl-lightning-invoices",45),s.qZA(),s.TgZ(4,"mat-tab",46),s._UZ(5,"rtl-cl-lightning-payments",47),s.qZA(),s.TgZ(6,"mat-tab",48),s.YNc(7,Ln,9,2,"ng-template",49),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("calledFrom","home"),s.xp6(2),s.Q6J("calledFrom","home"),s.xp6(1),s.Q6J("disabled",!0))}function Fn(e,t){1&e&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}const kn=function(e){return{"p-0":e}};function Nn(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",33),s.YNc(2,bn,12,4,"mat-card-header",34),s.TgZ(3,"mat-card-content",35),s.TgZ(4,"div",18),s.YNc(5,qn,1,4,"rtl-cl-node-info",36),s.YNc(6,Cn,1,4,"rtl-cl-balances-info",20),s.YNc(7,_n,1,6,"rtl-cl-channel-liquidity-info",37),s.YNc(8,Sn,1,6,"rtl-cl-channel-liquidity-info",37),s.YNc(9,Un,8,3,"span",38),s.YNc(10,Fn,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(1),s.Q6J("ngClass",s.VKq(11,kn,"transactions"===e.id)),s.xp6(1),s.Q6J("ngIf","transactions"!==e.id),s.xp6(1),s.s9C("fxFlex","transactions"===e.id?100:"balance"===e.id?70:90),s.xp6(1),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","inboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","outboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","transactions")}}function Jn(e,t){if(1&e&&(s.TgZ(0,"div",31),s._UZ(1,"fa-icon",4),s.TgZ(2,"span",5),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"mat-grid-list",32),s.YNc(5,Nn,11,13,"mat-grid-tile",7),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faSmile),s.xp6(2),s.hij("Welcome ",e.information.alias,"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",e.merchantCardHeight),s.xp6(1),s.Q6J("ngForOf",e.merchantCards)}}let Dn=(()=>{class e{constructor(e,t,n,i,a){this.logger=e,this.store=t,this.actions$=n,this.commonService=i,this.router=a,this.faSmile=p.I3,this.faFrown=p.Kf,this.faAngleDoubleDown=f.Sbq,this.faAngleDoubleUp=f.Vfw,this.faChartPie=f.OS1,this.faBolt=f.BDt,this.faServer=f.xf3,this.faNetworkWired=f.kXW,this.flgChildInfoUpdated=!1,this.userPersonaEnum=g.ol,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.totalBalance={},this.balances={onchain:-1,lightning:-1,total:0},this.allChannels=[],this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.feeRatesPerKB={},this.feeRatesPerKW={},this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:6,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}]):(this.operatorCardHeight=.77*window.screen.height/2+"px",this.merchantCardHeight=.76*window.screen.height/10+"px",this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/cl/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/cl/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/cl/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/cl/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/cl/transactions",title:"",cols:2,rows:5}])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],e.effectErrors.forEach(e=>{"FetchInfo"===e.action&&(this.flgLoading[0]="error"),"FetchFees"===e.action&&(this.flgLoading[1]="error"),"FetchBalance"===e.action&&(this.flgLoading[2]="error"),"FetchLocalRemoteBalance"===e.action&&(this.flgLoading[3]="error"),"FetchFeeRates"===e.action&&(this.flgLoading[4]="error"),"FetchChannels"===e.action&&(this.flgLoading[5]="error")}),this.selNode=e.nodeSettings,this.information=e.information,"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.information.id),this.fees=e.fees,"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!this.fees.feeCollected),this.totalBalance=e.balance,this.balances.onchain=e.balance.totalBalance,this.balances.lightning=e.localRemoteBalance.localBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances),"error"!==this.flgLoading[2]&&(this.flgLoading[2]=""===this.totalBalance);let t=e.localRemoteBalance.localBalance?+e.localRemoteBalance.localBalance:0,n=e.localRemoteBalance.remoteBalance?+e.localRemoteBalance.remoteBalance:0;this.channelBalances={localBalance:t,remoteBalance:n,balancedness:+(1-Math.abs((t-n)/(t+n))).toFixed(3)},"error"!==this.flgLoading[3]&&(this.flgLoading[3]=!e.localRemoteBalance.localBalance),this.feeRatesPerKB=e.feeRatesPerKB,this.feeRatesPerKW=e.feeRatesPerKW,"error"!==this.flgLoading[4]&&(this.flgLoading[4]=!this.feeRatesPerKB||!this.feeRatesPerKW),this.channelsStatus={active:{channels:e.information.num_active_channels,capacity:e.localRemoteBalance.localBalance},pending:{channels:e.information.num_pending_channels,capacity:0|e.localRemoteBalance.pendingBalance},inactive:{channels:e.information.num_inactive_channels,capacity:0|e.localRemoteBalance.inactiveBalance}},this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannels=e.allChannels.filter(e=>"CHANNELD_NORMAL"===e.state&&e.connected),this.allChannelsCapacity=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels,"balancedness"))),this.allInboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.msatoshi_to_them>0),"msatoshi_to_them"))),this.allOutboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.msatoshi_to_us>0),"msatoshi_to_us"))),this.allChannels.forEach(e=>{this.totalInboundLiquidity=this.totalInboundLiquidity+Math.ceil(e.msatoshi_to_them/1e3),this.totalOutboundLiquidity=this.totalOutboundLiquidity+Math.floor(e.msatoshi_to_us/1e3)}),"error"!==this.flgLoading[5]&&(this.flgLoading[5]=!this.allChannels||!this.allChannels.length),this.flgChildInfoUpdated=this.balances.lightning>=0&&this.balances.onchain>=0&&this.fees.feeCollected>=0,this.logger.info(e)}),this.actions$.pipe((0,h.R)(this.unSubs[2]),(0,m.h)(e=>e.type===x.yA||e.type===x.iK)).subscribe(e=>{e.type===x.yA&&(this.flgChildInfoUpdated=!1),e.type===x.iK&&(this.flgChildInfoUpdated=!0)})}onNavigateTo(e){this.router.navigateByUrl(e)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.allChannels.sort(function(e,t){const n=+e.msatoshi_to_us+ +e.msatoshi_to_them,i=+t.msatoshi_to_them+ +t.msatoshi_to_them;return n>i?-1:n{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(w.v),s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",1,"dashboard-card-content",3,"fxFlex"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"balances","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"fees","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass"],["fxFlex","100",3,"balances","ngClass"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass"],["fxFlex","100",3,"fees","ngClass"],["fxFlex","100",3,"channelsStatus","ngClass"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",1,"dashboard-card-content",3,"fxFlex"],["fxFlex","100",3,"information","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information","ngClass"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","column",1,"w-100","dashboard-tabs-group"],["label","Receive"],[1,"h-100",3,"calledFrom"],["label","Pay"],[3,"calledFrom"],[3,"disabled"],["mat-tab-label",""],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",2,"max-width","20px",3,"matMenuTriggerFor"],["menuTransactions","matMenu"]],template:function(e,t){if(1&e&&(s.YNc(0,Tn,7,4,"div",0),s.YNc(1,Jn,6,4,"ng-template",null,1,s.W1O)),2&e){const e=s.MAs(2);s.Q6J("ngIf",t.selNode.userPersona===t.userPersonaEnum.OPERATOR)("ngIfElse",e)}},directives:[i.O5,l.xw,l.Wh,T.BN,v.Il,i.sg,v.DX,b.a8,l.yH,b.dk,b.n5,q.VK,q.OP,b.dn,i.RF,i.n9,i.ED,C.lW,q.p6,_.Hw,N,i.mk,S.oO,J,P,E,B,ee,te.SP,te.uX,$e,un,te.uD],styles:[""]}),e})();var On=n(5868),Rn=n(1339),Mn=n(1403),Yn=n(9236),Qn=n(5001),In=n(7753);const Pn=["form"],En=["formSweepAll"],Bn=["stepper"];function Hn(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Bitcoin address is required."),s.qZA())}function Vn(e,t){1&e&&(s.TgZ(0,"mat-hint"),s._uU(1,"Amount replaced by UTXO balance"),s.qZA())}function zn(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function Gn(e,t){if(1&e&&(s.TgZ(0,"mat-option",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(e)}}function Xn(e,t){if(1&e&&(s.TgZ(0,"mat-option",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.feeRateId),s.xp6(1),s.hij(" ",e.feeRateType," ")}}function $n(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Min Confirmation Blocks is required."),s.qZA())}function Kn(e,t){if(1&e&&(s.TgZ(0,"mat-option",36),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij("",s.lcZ(2,2,e.value)," Sats")}}function Wn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",37),s.TgZ(1,"mat-expansion-panel",38),s.NdJ("closed",function(){return s.CHM(e),s.oxw(2).onAdvancedPanelToggle(!0)})("opened",function(){return s.CHM(e),s.oxw(2).onAdvancedPanelToggle(!1)}),s.TgZ(2,"mat-expansion-panel-header"),s.TgZ(3,"mat-panel-title"),s.TgZ(4,"span"),s._uU(5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(6,"div",31),s.TgZ(7,"div",39),s.TgZ(8,"mat-form-field",40),s.TgZ(9,"mat-select",41),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw(2).onUTXOSelectionChange(t)})("valueChange",function(t){return s.CHM(e),s.oxw(2).selUTXOs=t}),s.TgZ(10,"mat-select-trigger"),s._uU(11),s.ALo(12,"number"),s.qZA(),s.YNc(13,Kn,3,4,"mat-option",21),s.qZA(),s.qZA(),s.TgZ(14,"mat-slide-toggle",42),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).flgUseAllBalance=t})("change",function(){return s.CHM(e),s.oxw(2).onUTXOAllBalanceChange()}),s._uU(15," Use selected UTXOs balance "),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(5),s.Oqu(e.advancedTitle),s.xp6(4),s.Q6J("value",e.selUTXOs),s.xp6(2),s.AsE("",s.lcZ(12,7,e.totalSelectedUTXOAmount)," Sats (",e.selUTXOs.length>1?e.selUTXOs.length+" UTXOs":"1 UTXO",")"),s.xp6(2),s.Q6J("ngForOf",e.utxos),s.xp6(1),s.Q6J("ngModel",e.flgUseAllBalance)("disabled",e.selUTXOs.length<1)}}function jn(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Oqu(e.sendFundError)}}function ei(e,t){if(1&e&&(s.TgZ(0,"div",43),s._UZ(1,"fa-icon",44),s.YNc(2,jn,2,1,"span",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.sendFundError)}}function ti(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",9,10),s.NdJ("submit",function(){return s.CHM(e),s.oxw().onSendFunds()})("reset",function(){return s.CHM(e),s.oxw().resetData()}),s.TgZ(2,"mat-form-field",11),s.TgZ(3,"input",12,13),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().transaction.address=t}),s.qZA(),s.YNc(5,Hn,2,0,"mat-error",14),s.qZA(),s.TgZ(6,"mat-form-field",15),s.TgZ(7,"input",16,17),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().transaction.satoshis=t}),s.qZA(),s.YNc(9,Vn,2,0,"mat-hint",14),s.TgZ(10,"span",18),s._uU(11),s.qZA(),s.YNc(12,zn,2,0,"mat-error",14),s.qZA(),s.TgZ(13,"mat-form-field",19),s.TgZ(14,"mat-select",20),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw().onAmountUnitChange(t)}),s.YNc(15,Gn,2,2,"mat-option",21),s.qZA(),s.qZA(),s.TgZ(16,"div",22),s.TgZ(17,"mat-form-field",23),s.TgZ(18,"mat-select",24),s.NdJ("valueChange",function(t){return s.CHM(e),s.oxw().transaction.feeRate=t}),s.YNc(19,Xn,2,2,"mat-option",21),s.qZA(),s.qZA(),s.TgZ(20,"div",25),s.TgZ(21,"mat-checkbox",26),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().flgMinConf=t})("change",function(){s.CHM(e);const t=s.oxw();return t.flgMinConf?t.transaction.feeRate=null:t.transaction.minconf=null}),s.qZA(),s.TgZ(22,"mat-form-field",27),s.TgZ(23,"input",28,29),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().transaction.minconf=t}),s.qZA(),s.YNc(25,$n,2,0,"mat-error",14),s.qZA(),s.qZA(),s.qZA(),s.YNc(26,Wn,16,9,"div",30),s._UZ(27,"div",31),s.YNc(28,ei,3,2,"div",32),s.TgZ(29,"div",33),s.TgZ(30,"button",34),s._uU(31,"Clear Fields"),s.qZA(),s.TgZ(32,"button",35),s._uU(33,"Send Funds"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.transaction.address),s.xp6(2),s.Q6J("ngIf",!e.transaction.address),s.xp6(2),s.Q6J("ngModel",e.transaction.satoshis)("type",e.flgUseAllBalance?"text":"number")("step",100)("min",0)("disabled",e.flgUseAllBalance),s.xp6(2),s.Q6J("ngIf",e.flgUseAllBalance),s.xp6(2),s.hij(" ",e.selAmountUnit," "),s.xp6(1),s.Q6J("ngIf",!e.transaction.satoshis),s.xp6(2),s.Q6J("value",e.selAmountUnit)("disabled",e.flgUseAllBalance),s.xp6(1),s.Q6J("ngForOf",e.amountUnits),s.xp6(3),s.Q6J("value",e.transaction.feeRate)("disabled",e.flgMinConf),s.xp6(1),s.Q6J("ngForOf",e.feeRateTypes),s.xp6(2),s.Q6J("ngModel",e.flgMinConf),s.xp6(2),s.Q6J("ngModel",e.transaction.minconf)("step",1)("min",0)("required",e.flgMinConf)("disabled",!e.flgMinConf),s.xp6(2),s.Q6J("ngIf",e.flgMinConf&&!e.transaction.minconf),s.xp6(1),s.Q6J("ngIf",e.isCompatibleVersion),s.xp6(2),s.Q6J("ngIf",""!==e.sendFundError)}}function ni(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(3);s.Oqu(e.passwordFormLabel)}}function ii(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Password is required."),s.qZA())}function ai(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-step",49),s.TgZ(1,"form",69),s.YNc(2,ni,1,1,"ng-template",63),s.TgZ(3,"div",0),s.TgZ(4,"mat-form-field",1),s._UZ(5,"input",70),s.YNc(6,ii,2,0,"mat-error",14),s.qZA(),s.qZA(),s.TgZ(7,"div",71),s.TgZ(8,"button",72),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onAuthenticate()}),s._uU(9,"Confirm"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.Q6J("stepControl",e.passwordFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.passwordFormGroup),s.xp6(5),s.Q6J("ngIf",null==e.passwordFormGroup.controls.password.errors?null:e.passwordFormGroup.controls.password.errors.required)}}function oi(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(2);s.Oqu(e.sendFundFormLabel)}}function si(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Bitcoin address is required."),s.qZA())}function li(e,t){if(1&e&&(s.TgZ(0,"mat-option",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.feeRateId),s.xp6(1),s.hij(" ",e.feeRateType," ")}}function ri(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Fees Rate is required."),s.qZA())}function ci(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Min confirmation blocks is required."),s.qZA())}function ui(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(2);s.Oqu(e.confirmFormLabel)}}function di(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Oqu(e.sendFundError)}}function hi(e,t){if(1&e&&(s.TgZ(0,"div",43),s._UZ(1,"fa-icon",44),s.YNc(2,di,2,1,"span",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.sendFundError)}}function mi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",45),s.TgZ(1,"mat-vertical-stepper",46,47),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw().stepSelectionChanged(t)}),s.YNc(3,ai,10,4,"mat-step",48),s.TgZ(4,"mat-step",49),s.TgZ(5,"form",50),s.YNc(6,oi,1,1,"ng-template",51),s.TgZ(7,"div",31),s.TgZ(8,"mat-form-field",1),s._UZ(9,"input",52),s.YNc(10,si,2,0,"mat-error",14),s.qZA(),s.TgZ(11,"div",53),s.TgZ(12,"mat-form-field",54),s.TgZ(13,"mat-select",55),s.YNc(14,li,2,2,"mat-option",21),s.qZA(),s.YNc(15,ri,2,0,"mat-error",14),s.qZA(),s.TgZ(16,"div",56),s._UZ(17,"mat-checkbox",57),s.TgZ(18,"mat-form-field",27),s._UZ(19,"input",58),s.YNc(20,ci,2,0,"mat-error",14),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(21,"div",59),s.TgZ(22,"button",60),s._uU(23,"Next"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(24,"mat-step",61),s.TgZ(25,"form",62),s.YNc(26,ui,1,1,"ng-template",63),s.TgZ(27,"div",45),s.TgZ(28,"div",64),s._UZ(29,"fa-icon",65),s.TgZ(30,"span"),s._uU(31,"You are about to sweep all funds from RTL. Are you sure?"),s.qZA(),s.qZA(),s.YNc(32,hi,3,2,"div",32),s.TgZ(33,"div",59),s.TgZ(34,"button",66),s.NdJ("click",function(){return s.CHM(e),s.oxw().onSendFunds()}),s._uU(35,"Sweep All Funds"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(36,"div",67),s.TgZ(37,"button",68),s._uU(38),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("linear",!0),s.xp6(2),s.Q6J("ngIf",!e.appConfig.sso.rtlSSO),s.xp6(1),s.Q6J("stepControl",e.sendFundFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.sendFundFormGroup),s.xp6(5),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionAddress.errors?null:e.sendFundFormGroup.controls.transactionAddress.errors.required),s.xp6(4),s.Q6J("ngForOf",e.feeRateTypes),s.xp6(1),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionFeeRate.errors?null:e.sendFundFormGroup.controls.transactionFeeRate.errors.required),s.xp6(4),s.Q6J("step",1)("min",0),s.xp6(1),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionBlocks.errors?null:e.sendFundFormGroup.controls.transactionBlocks.errors.required),s.xp6(4),s.Q6J("stepControl",e.confirmFormGroup),s.xp6(1),s.Q6J("formGroup",e.confirmFormGroup),s.xp6(4),s.Q6J("icon",e.faExclamationTriangle),s.xp6(3),s.Q6J("ngIf",""!==e.sendFundError),s.xp6(5),s.Q6J("mat-dialog-close",!1),s.xp6(1),s.Oqu(e.flgValidated?"Close":"Cancel")}}let pi=(()=>{class e{constructor(e,t,n,i,a,o,s,l,r,c){this.dialogRef=e,this.data=t,this.logger=n,this.store=i,this.commonService=a,this.decimalPipe=o,this.actions$=s,this.formBuilder=l,this.rtlEffects=r,this.snackBar=c,this.faExclamationTriangle=f.eHv,this.sweepAll=!1,this.selNode={},this.addressTypes=[],this.utxos=[],this.selUTXOs=[],this.flgUseAllBalance=!1,this.totalSelectedUTXOAmount=null,this.flgLoadingWallet=!0,this.selectedAddress=g._t[1],this.blockchainBalance={},this.information={},this.isCompatibleVersion=!1,this.newAddress="",this.transaction={},this.feeRateTypes=g.vn,this.flgMinConf=!1,this.sendFundError="",this.fiatConversion=!1,this.amountUnits=g.uA,this.selAmountUnit=g.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=g.Xz,this.advancedTitle="Advanced Options",this.flgValidated=!1,this.flgEditable=!0,this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds",this.confirmFormLabel="Confirm sweep",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.sweepAll=this.data.sweepAll,this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[le.kI.required]],password:["",[le.kI.required]]}),this.sendFundFormGroup=this.formBuilder.group({transactionAddress:["",le.kI.required],transactionFeeRate:[null],flgMinConf:[!1],transactionBlocks:[{value:null,disabled:!0}]}),this.confirmFormGroup=this.formBuilder.group({}),this.sendFundFormGroup.controls.flgMinConf.valueChanges.pipe((0,h.R)(this.unSubs[4])).subscribe(e=>{e?(this.sendFundFormGroup.controls.transactionBlocks.enable(),this.sendFundFormGroup.controls.transactionBlocks.setValidators([le.kI.required]),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFeeRate.disable(),this.sendFundFormGroup.controls.transactionFeeRate.setValue(null)):(this.sendFundFormGroup.controls.transactionBlocks.disable(),this.sendFundFormGroup.controls.transactionBlocks.setValidators(null),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionBlocks.setErrors(null),this.sendFundFormGroup.controls.transactionFeeRate.enable(),this.sendFundFormGroup.controls.transactionFeeRate.setValue(null))}),(0,On.a)(this.store.select("root"),this.store.select("cl")).pipe((0,h.R)(this.unSubs[0])).subscribe(([e,t])=>{this.fiatConversion=e.selNode.settings.fiatConversion,this.amountUnits=e.selNode.settings.currencyUnits,this.appConfig=e.appConfig,this.nodeData=e.nodeData,this.information=t.information,this.isCompatibleVersion=this.commonService.isVersionCompatible(this.information.version,"0.9.0")&&this.commonService.isVersionCompatible(this.information.api_version,"0.4.0"),this.utxos=this.commonService.sortAscByKey(t.utxos.filter(e=>"confirmed"===e.status),"value"),this.logger.info(e),this.logger.info(t)}),this.actions$.pipe((0,h.R)(this.unSubs[1]),(0,m.h)(e=>e.type===x.at||e.type===x.ob)).subscribe(e=>{e.type===x.ob&&(this.store.dispatch(new se.Lw("Fund Sent Successfully!")),this.dialogRef.close()),e.type===x.at&&"SetChannelTransaction"===e.payload.action&&(this.sendFundError=e.payload.message)})}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new se.ZF(Rn(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,Ke.q)(1)).subscribe(e=>{"ERROR"!==e?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="",this.flgUseAllBalance&&(this.transaction.satoshis="all"),this.selUTXOs.length&&this.selUTXOs.length>0&&(this.transaction.utxos=[],this.selUTXOs.forEach(e=>this.transaction.utxos.push(e.txid+":"+e.output))),this.store.dispatch(new se.Fk("Sending Funds...")),this.sweepAll?(this.transaction.satoshis="all",this.transaction.address=this.sendFundFormGroup.controls.transactionAddress.value,this.sendFundFormGroup.controls.flgMinConf.value?(delete this.transaction.feeRate,this.transaction.minconf=this.sendFundFormGroup.controls.transactionBlocks.value):(delete this.transaction.minconf,this.sendFundFormGroup.controls.transactionFeeRate.value?this.transaction.feeRate=this.sendFundFormGroup.controls.transactionFeeRate.value:delete this.transaction.feeRate),delete this.transaction.utxos,this.store.dispatch(new x.uj(this.transaction))):this.transaction.satoshis&&"all"!==this.transaction.satoshis&&this.selAmountUnit!==g.NT.SATS?this.commonService.convertCurrency(+this.transaction.satoshis,this.selAmountUnit===this.amountUnits[2]?g.NT.OTHER:this.selAmountUnit,this.amountUnits[2],this.fiatConversion).pipe((0,h.R)(this.unSubs[2])).subscribe(e=>{this.transaction.satoshis=e[g.NT.SATS],this.selAmountUnit=g.NT.SATS,this.store.dispatch(new x.uj(this.transaction))}):this.store.dispatch(new x.uj(this.transaction))}get invalidValues(){return this.sweepAll?!this.sendFundFormGroup.controls.transactionAddress.value||""===this.sendFundFormGroup.controls.transactionAddress.value||this.sendFundFormGroup.controls.flgMinConf.value&&(!this.sendFundFormGroup.controls.transactionBlocks.value||this.sendFundFormGroup.controls.transactionBlocks.value<=0):!this.transaction.address||""===this.transaction.address||!this.transaction.satoshis||+this.transaction.satoshis<=0||this.flgMinConf&&(!this.transaction.minconf||this.transaction.minconf<=0)}resetData(){this.sendFundError="",this.transaction={},this.flgMinConf=!1,this.totalSelectedUTXOAmount=null,this.selUTXOs=[],this.flgUseAllBalance=!1,this.selAmountUnit=g.uA[0]}stepSelectionChanged(e){switch(this.sendFundError="",e.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds";break;case 1:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds";break;case 2:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds | Address: "+this.sendFundFormGroup.controls.transactionAddress.value+(this.sendFundFormGroup.controls.flgMinConf.value?" | Min Confirmation Blocks: "+this.sendFundFormGroup.controls.transactionBlocks.value:this.sendFundFormGroup.controls.transactionFeeRate.value?" | Fee Rate: "+this.feeRateTypes.find(e=>e.feeRateId===this.sendFundFormGroup.controls.transactionFeeRate.value).feeRateType:"");break;default:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds"}e.selectedIndex0?(this.totalSelectedUTXOAmount=this.selUTXOs.reduce((e,n)=>(t.value=e.value+n.value,t)).value,this.flgUseAllBalance&&this.onUTXOAllBalanceChange()):(this.totalSelectedUTXOAmount=null,this.transaction.satoshis=null,this.flgUseAllBalance=!1)}onUTXOAllBalanceChange(){this.flgUseAllBalance?(this.transaction.satoshis=this.totalSelectedUTXOAmount,this.selAmountUnit=g.uA[0]):this.transaction.satoshis=null}onAmountUnitChange(e){let t=this,n=e.value===this.amountUnits[2]?g.NT.OTHER:e.value;this.transaction.satoshis&&this.selAmountUnit!==e.value&&this.commonService.convertCurrency(+this.transaction.satoshis,this.selAmountUnit===this.amountUnits[2]?g.NT.OTHER:this.selAmountUnit,this.amountUnits[2],this.fiatConversion).pipe((0,h.R)(this.unSubs[3])).subscribe(e=>{t.transaction.satoshis=t.decimalPipe.transform(e[n],t.currencyUnitFormats[n]).replace(/,/g,"")}),this.selAmountUnit=e.value}onAdvancedPanelToggle(e){this.advancedTitle=e&&this.selUTXOs.length&&this.selUTXOs.length>0?"Advanced Options | Selected UTXOs: "+this.selUTXOs.length+" | Selected UTXO Amount: "+this.decimalPipe.transform(this.totalSelectedUTXOAmount)+" Sats":"Advanced Options"}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(oe.WI),s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(w.v),s.Y36(i.JJ),s.Y36(A.eX),s.Y36(le.qu),s.Y36(Ae.V),s.Y36(Mn.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-on-chain-send-modal"]],viewQuery:function(e,t){if(1&e&&(s.Gf(Pn,7),s.Gf(En,5),s.Gf(Bn,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.formSweepAll=e.first),s.iGM(e=s.CRH())&&(t.stepper=e.first)}},decls:12,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100","class","overflow-x-hidden",3,"submit","reset",4,"ngIf","ngIfElse"],["sweepAllBlock",""],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex","55"],["matInput","","autoFocus","","placeholder","Bitcoin Address","tabindex","1","name","address","required","",3,"ngModel","ngModelChange"],["address","ngModel"],[4,"ngIf"],["fxFlex","30"],["matInput","","placeholder","Amount","name","amount","tabindex","2","required","",3,"ngModel","type","step","min","disabled","ngModelChange"],["amount","ngModel"],["matSuffix",""],["fxFlex","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","disabled","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","60","fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","6","placeholder","Fee Rate",3,"value","disabled","valueChange"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","7","color","primary","name","flgMinConf","fxLayoutAlign","stretch start",1,"mr-2",3,"ngModel","ngModelChange","change"],["fxFlex","98"],["matInput","","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"ngModel","step","min","required","disabled","ngModelChange"],["blocks","ngModel"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxFlex","100","expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","35","fxLayoutAlign","start end"],["tabindex","8","placeholder","Coin Selection","multiple","",3,"value","selectionChange","valueChange"],["fxFlex","60","tabindex","9","color","primary","name","flgUseAllBalance","matTooltip","Use selected UTXOs balance as the amount to be sent. Final amount sent will be less the mining fee.","matTooltipPosition","above",3,"ngModel","disabled","ngModelChange","change"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl","editable"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["matInput","","formControlName","transactionAddress","placeholder","Bitcoin Address","tabindex","4","name","address","required",""],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex.gt-sm","48","fxLayoutAlign","start end"],["tabindex","5","placeholder","Fee Rate","formControlName","transactionFeeRate"],["fxFlex.gt-sm","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","6","color","primary","formControlName","flgMinConf","name","flgMinCon",1,"mr-2"],["matInput","","formControlName","transactionBlocks","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","7","required","",3,"step","min"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","default","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["fxFlex","100",1,"w-100","alert","alert-warn"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["mat-stroked-button","","color","primary","tabindex","9","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","default",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.YNc(9,ti,34,25,"form",7),s.qZA(),s.qZA(),s.qZA(),s.YNc(10,mi,39,17,"ng-template",null,8,s.W1O)),2&e){const e=s.MAs(11);s.xp6(5),s.Oqu(t.sweepAll?"Sweep All Funds":"Send Funds"),s.xp6(1),s.Q6J("mat-dialog-close",!1),s.xp6(3),s.Q6J("ngIf",!t.sweepAll)("ngIfElse",e)}},directives:[l.xw,l.yH,b.dk,l.Wh,C.lW,oe.ZT,b.dn,i.O5,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,ce.h,le.Q7,le.JJ,le.On,ue.q,D.R9,de.gD,i.sg,Yn.oG,le.wV,le.qQ,D.TO,D.bx,me.ey,Qn.ib,Qn.yz,Qn.yK,de.$L,he.Rr,O.gM,T.BN,In.Vq,In.C0,le.sg,In.VY,le.u,In.Ic],pipes:[i.JJ],styles:[""]}),e})();var fi=n(882);function gi(e,t){1&e&&s._UZ(0,"mat-progress-bar",27)}function xi(e,t){1&e&&(s.TgZ(0,"th",28),s._uU(1," Transaction ID "),s.qZA())}function Zi(e,t){1&e&&(s.TgZ(0,"span",36),s.TgZ(1,"mat-icon",37),s._uU(2,"warning"),s.qZA(),s.qZA())}function yi(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Zi,3,0,"span",35),s.qZA()),2&e){const e=s.oxw().$implicit;s.oxw();const t=s.MAs(32);s.xp6(1),s.Q6J("ngIf",e.value<1e3)("ngIfElse",t)}}function Ai(e,t){1&e&&s._UZ(0,"span",38)}function wi(e,t){if(1&e&&(s._UZ(0,"span",39),s.ALo(1,"titlecase")),2&e){const e=s.oxw().$implicit;s.s9C("matTooltip",s.lcZ(1,1,e.status))}}const Ti=function(e){return{"max-width":e}};function vi(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",30),s.YNc(2,yi,2,2,"span",31),s.YNc(3,Ai,1,0,"span",32),s.YNc(4,wi,2,3,"span",33),s.TgZ(5,"span",34),s._uU(6),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(5,Ti,n.screenSize===n.screenSizeEnum.XS?"10rem":"50rem")),s.xp6(1),s.Q6J("ngIf",n.numDustUTXOs>0&&!n.isDustUTXO),s.xp6(1),s.Q6J("ngIf","confirmed"===e.status),s.xp6(1),s.Q6J("ngIf","confirmed"!==e.status),s.xp6(2),s.Oqu(e.txid)}}function bi(e,t){1&e&&(s.TgZ(0,"th",40),s._uU(1," Output "),s.qZA())}function qi(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.output)," ")}}function Ci(e,t){1&e&&(s.TgZ(0,"th",40),s._uU(1," Value (Sats) "),s.qZA())}function _i(e,t){if(1&e&&(s.TgZ(0,"span",41),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.value))}}function Si(e,t){if(1&e&&(s.TgZ(0,"span",44),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.hij("(",s.lcZ(2,1,-1*e.value),")")}}function Li(e,t){if(1&e&&(s.TgZ(0,"td",29),s.YNc(1,_i,3,3,"span",42),s.YNc(2,Si,3,3,"span",43),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf",e.value>0||0===e.value),s.xp6(1),s.Q6J("ngIf",e.value<0)}}function Ui(e,t){1&e&&(s.TgZ(0,"th",40),s._uU(1," Blockheight "),s.qZA())}function Fi(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",41),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.blockheight)," ")}}function ki(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",45),s.TgZ(1,"div",46),s.TgZ(2,"mat-select",47),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",48),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ni(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",49),s.TgZ(1,"button",50),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onUTXOClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Ji(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No utxos available."),s.qZA())}function Di(e,t){if(1&e&&(s.TgZ(0,"td",51),s.YNc(1,Ji,2,0,"p",31),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.listUTXOs&&e.listUTXOs.data)||(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)<1)}}const Oi=function(e){return{"display-none":e}};function Ri(e,t){if(1&e&&s._UZ(0,"tr",52),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Oi,(null==e.listUTXOs?null:e.listUTXOs.data)&&(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)>0))}}function Mi(e,t){1&e&&s._UZ(0,"tr",53)}function Yi(e,t){1&e&&s._UZ(0,"tr",54)}function Qi(e,t){1&e&&s._UZ(0,"mat-icon",37)}const Ii=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Pi=function(){return["no_utxo"]};let Ei=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.commonService=t,this.store=n,this.actions$=i,this.numDustUTXOs=0,this.isDustUTXO=!1,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["txid","value","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["txid","output","value","blockheight","actions"]):(this.flgSticky=!0,this.displayedColumns=["txid","output","value","blockheight","actions"])}ngAfterViewInit(){this.utxos&&this.utxos.length>0&&this.sort&&this.paginator&&this.loadUTXOsTable(this.utxos)}ngOnChanges(){this.utxos&&this.utxos.length>0&&this.loadUTXOsTable(this.utxos)}applyFilter(e){this.listUTXOs.filter=e.value.trim().toLowerCase()}onUTXOClick(e,t){const n=[[{key:"txid",value:e.txid,title:"Transaction ID",width:100}],[{key:"output",value:e.output,title:"Output",width:50,type:g.Gi.NUMBER},{key:"value",value:e.value,title:"Value (Sats)",width:50,type:g.Gi.NUMBER}],[{key:"status",value:this.commonService.titleCase(e.status),title:"Status",width:50,type:g.Gi.STRING},{key:"blockheight",value:e.blockheight,title:"Blockheight",width:50,type:g.Gi.NUMBER}],[{key:"address",value:e.address,title:"Address",width:100}]];this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"UTXO Information",message:n}}))}loadUTXOsTable(e){this.listUTXOs=new ae.by([...e]),this.listUTXOs.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.listUTXOs.sort=this.sort,this.listUTXOs.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.listUTXOs.paginator=this.paginator,this.logger.info(this.listUTXOs)}onDownloadCSV(){this.listUTXOs.data&&this.listUTXOs.data.length>0&&this.commonService.downloadFile(this.listUTXOs.data,"UTXOs")}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-on-chain-utxos"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{numDustUTXOs:"numDustUTXOs",isDustUTXO:"isDustUTXO",utxos:"utxos",errorLoading:"errorLoading"},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("UTXOs")}]),s.TTD],decls:33,vars:13,consts:[["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","txid"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","output"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","value"],["matColumnDef","blockheight"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_utxo"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["emptySpace",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[4,"ngIf"],["class","dot green","matTooltip","Confirmed","matTooltipPosition","right",4,"ngIf"],["class","dot yellow","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Risk of dust attack","matTooltipPosition","right",4,"ngIf","ngIfElse"],["matTooltip","Risk of dust attack","matTooltipPosition","right"],["fxLayoutAlign","start center","color","warn",1,"mr-1"],["matTooltip","Confirmed","matTooltipPosition","right",1,"dot","green"],["matTooltipPosition","right",1,"dot","yellow",3,"matTooltip"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.TgZ(6,"div",6),s.YNc(7,gi,1,0,"mat-progress-bar",7),s.TgZ(8,"table",8,9),s.ynx(10,10),s.YNc(11,xi,2,0,"th",11),s.YNc(12,vi,7,7,"td",12),s.BQk(),s.ynx(13,13),s.YNc(14,bi,2,0,"th",14),s.YNc(15,qi,4,3,"td",12),s.BQk(),s.ynx(16,15),s.YNc(17,Ci,2,0,"th",14),s.YNc(18,Li,3,2,"td",12),s.BQk(),s.ynx(19,16),s.YNc(20,Ui,2,0,"th",14),s.YNc(21,Fi,4,3,"td",12),s.BQk(),s.ynx(22,17),s.YNc(23,ki,6,0,"th",18),s.YNc(24,Ni,3,0,"td",19),s.BQk(),s.ynx(25,20),s.YNc(26,Di,2,1,"td",21),s.BQk(),s.YNc(27,Ri,1,3,"tr",22),s.YNc(28,Mi,1,0,"tr",23),s.YNc(29,Yi,1,0,"tr",24),s.qZA(),s._UZ(30,"mat-paginator",25),s.qZA(),s.qZA(),s.qZA(),s.YNc(31,Qi,1,0,"ng-template",null,26,s.W1O)),2&e&&(s.xp6(7),s.Q6J("ngIf",!0===t.errorLoading),s.xp6(1),s.Q6J("dataSource",t.listUTXOs)("ngClass",s.VKq(10,Ii,"error"===t.errorLoading)),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(12,Pi)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,re.Nt,M.$V,i.O5,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,i.PC,S.Zl,O.gM,_.Hw,de.gD,de.$L,me.ey,C.lW,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.rS,i.JJ],styles:[".mat-column-txid[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-txid[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();var Bi=n(1050);function Hi(e,t){if(1&e&&(s.TgZ(0,"span",5),s._uU(1,"UTXOs"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numUtxos)}}function Vi(e,t){if(1&e&&(s.TgZ(0,"span",5),s._uU(1,"Dust UTXOs"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numDustUtxos)}}let zi=(()=>{class e{constructor(e,t){this.logger=e,this.store=t,this.selectedTableIndex=0,this.selectedTableIndexChange=new s.vpe,this.utxos=[],this.numUtxos=0,this.dustUtxos=[],this.numDustUtxos=0,this.flgLoading=[!0,!0],this.unSubs=[new d.x]}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchUTXOs"===e.action&&(this.flgLoading[1]="error")}),e.utxos&&e.utxos.length>0&&(this.utxos=e.utxos,this.numUtxos=this.utxos.length,this.dustUtxos=e.utxos.filter(e=>+e.value<1e3),this.numDustUtxos=this.dustUtxos.length),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.utxos),e.utxos&&e.utxos.length>0&&(this.utxos=e.utxos,this.numUtxos=this.utxos.length),"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!e.utxos),this.logger.info(e)})}onSelectedIndexChanged(e){this.selectedTableIndexChange.emit(e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-utxo-tables"]],inputs:{selectedTableIndex:"selectedTableIndex"},outputs:{selectedTableIndexChange:"selectedTableIndexChange"},decls:8,vars:9,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"bordered-box"],[3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],["xLayout","row","fxFlex","100",3,"utxos","errorLoading","numDustUTXOs","isDustUTXO"],["fxLayout","row","fxFlex","100",3,"utxos","errorLoading","numDustUTXOs","isDustUTXO"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"mat-tab-group",1),s.NdJ("selectedIndexChange",function(e){return t.onSelectedIndexChanged(e)}),s.TgZ(2,"mat-tab"),s.YNc(3,Hi,2,1,"ng-template",2),s._UZ(4,"rtl-cl-on-chain-utxos",3),s.qZA(),s.TgZ(5,"mat-tab"),s.YNc(6,Vi,2,1,"ng-template",2),s._UZ(7,"rtl-cl-on-chain-utxos",4),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("selectedIndex",t.selectedTableIndex),s.xp6(3),s.Q6J("utxos",t.utxos)("errorLoading",t.flgLoading[0])("numDustUTXOs",t.numDustUtxos)("isDustUTXO",!1),s.xp6(3),s.Q6J("utxos",t.dustUtxos)("errorLoading",t.flgLoading[0])("numDustUTXOs",t.numDustUtxos)("isDustUTXO",!0))},directives:[l.xw,l.yH,l.Wh,te.SP,te.uX,te.uD,Ei,Bi.k],styles:[""]}),e})();const Gi=function(e,t){return[e,t]};function Xi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",12),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.Q6J("active",n.activeLink===e.link)("routerLink",s.WLB(3,Gi,e.link,n.selectedTable.name)),s.xp6(1),s.Oqu(e.name)}}let $i=(()=>{class e{constructor(e,t,n){this.store=e,this.router=t,this.activatedRoute=n,this.selNode={},this.faExchangeAlt=f.Ssp,this.faChartPie=f.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"},{link:"sweep",name:"Sweep All"}],this.activeLink=this.links[0].link,this.tables=[{id:0,name:"utxos"},{id:1,name:"dustUtxos"}],this.selectedTable=this.tables[0],this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.selectedTable=this.tables.find(e=>e.name===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.selectedTable=this.tables.find(t=>t.name===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.selNode=e.nodeSettings,this.balances=[{title:"Total Balance",dataValue:e.balance.totalBalance||0},{title:"Confirmed",dataValue:e.balance.confBalance},{title:"Unconfirmed",dataValue:e.balance.unconfBalance}]})}openSendFundsModal(e){this.store.dispatch(new se.wu({data:{sweepAll:e,component:pi}}))}onSelectedTableIndexChanged(e){this.selectedTable=this.tables.find(t=>t.id===e),this.router.navigate(["./",this.activeLink,this.selectedTable.name],{relativeTo:this.activatedRoute})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(a.F0),s.Y36(a.gz))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-on-chain"]],decls:21,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100",3,"selectedTableIndex","selectedTableIndexChange"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"On-chain Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",7),s.YNc(16,Xi,2,6,"div",8),s.qZA(),s.TgZ(17,"div",9),s._UZ(18,"router-outlet"),s.qZA(),s.TgZ(19,"div",10),s.TgZ(20,"rtl-cl-utxo-tables",11),s.NdJ("selectedTableIndexChange",function(e){return t.onSelectedTableIndexChanged(e)}),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",t.links),s.xp6(4),s.Q6J("selectedTableIndex",t.selectedTable.id))},directives:[l.xw,l.Wh,T.BN,b.a8,b.dn,fi.D,te.BU,i.sg,l.yH,a.lC,zi,te.Nj,a.rH],styles:[""]}),e})();function Ki(e,t){if(1&e&&(s.TgZ(0,"span",10),s._uU(1,"Channels"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.activeChannels)}}function Wi(e,t){if(1&e&&(s.TgZ(0,"span",10),s._uU(1,"Peers"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.activePeers)}}let ji=(()=>{class e{constructor(e,t,n,i){this.store=e,this.logger=t,this.commonService=n,this.router=i,this.activePeers=0,this.activeChannels=0,this.faUsers=f.FVb,this.faChartPie=f.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.activePeers=e.peers&&e.peers.length?e.peers.length:0,this.activeChannels=e.information.num_active_channels,this.balances=[{title:"Total Balance",dataValue:e.balance.totalBalance||0},{title:"Confirmed",dataValue:e.balance.confBalance},{title:"Unconfirmed",dataValue:e.balance.unconfBalance}],this.logger.info(e)})}onSelectedTabChange(e){this.router.navigateByUrl("/cl/connections/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(Z.mQ),s.Y36(w.v),s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Connections"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"mat-tab-group",7),s.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),s.TgZ(16,"mat-tab"),s.YNc(17,Ki,2,1,"ng-template",8),s.qZA(),s.TgZ(18,"mat-tab"),s.YNc(19,Wi,2,1,"ng-template",8),s.qZA(),s.qZA(),s.TgZ(20,"div",9),s._UZ(21,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faUsers),s.xp6(6),s.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.Wh,T.BN,b.a8,b.dn,fi.D,te.SP,te.uX,te.uD,l.yH,a.lC,Bi.k],styles:[""]}),e})();function ea(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",11),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let ta=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.router=n,this.faExchangeAlt=f.Ssp,this.faChartPie=f.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link}),this.store.select("cl").pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.currencyUnits=e.nodeSettings.currencyUnits,this.balances=e.nodeSettings.userPersona===g.ol.OPERATOR?[{title:"Local Capacity",dataValue:e.localRemoteBalance.localBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:e.localRemoteBalance.remoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:e.localRemoteBalance.localBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:e.localRemoteBalance.remoteBalance,tooltip:"Amount you can receive"}],this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Lightning Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",6),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Lightning Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",7),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",8),s.YNc(16,ea,2,3,"div",9),s.qZA(),s.TgZ(17,"div",10),s._UZ(18,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,b.a8,b.dn,fi.D,te.BU,i.sg,l.yH,a.lC,te.Nj,a.rH],styles:[""]}),e})();function na(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",11),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let ia=(()=>{class e{constructor(e,t){this.store=e,this.router=t,this.faMapSigns=f.SuH,this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"failedtransactions",name:"Failed Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-routing"]],decls:13,vars:2,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Routing"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"div",7),s.TgZ(9,"nav",8),s.YNc(10,na,2,3,"div",9),s.qZA(),s.qZA(),s.TgZ(11,"div",10),s._UZ(12,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(2),s.Q6J("icon",t.faMapSigns),s.xp6(8),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,l.yH,b.a8,b.dn,te.BU,i.sg,a.lC,te.Nj,a.rH],styles:[""]}),e})();var aa=n(2609);function oa(e,t){1&e&&(s.TgZ(0,"th",26),s._uU(1,"Type"),s.qZA())}function sa(e,t){if(1&e&&(s.TgZ(0,"td",27),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.type," ")}}function la(e,t){1&e&&(s.TgZ(0,"th",26),s._uU(1,"Address"),s.qZA())}function ra(e,t){if(1&e&&(s.TgZ(0,"td",27),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.address," ")}}function ca(e,t){1&e&&(s.TgZ(0,"th",26),s._uU(1,"Port"),s.qZA())}function ua(e,t){if(1&e&&(s.TgZ(0,"td",27),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.port," ")}}function da(e,t){1&e&&(s.TgZ(0,"th",28),s.TgZ(1,"span",29),s._uU(2,"Actions"),s.qZA(),s.qZA())}function ha(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",30),s.TgZ(1,"span",29),s.TgZ(2,"button",31),s.NdJ("copied",function(t){return s.CHM(e),s.oxw(2).onCopyNodeURI(t)}),s._uU(3,"Copy Node URI"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(2),s.Q6J("payload",n.lookupResult.nodeid+"@"+e.address+":"+e.port)}}function ma(e,t){1&e&&s._UZ(0,"tr",32)}function pa(e,t){1&e&&s._UZ(0,"tr",33)}const fa=function(e){return{"background-color":e}};function ga(e,t){if(1&e&&(s.TgZ(0,"div",1),s._UZ(1,"mat-divider",2),s.TgZ(2,"div",3),s.TgZ(3,"h4",4),s._uU(4,"Pub Key"),s.qZA(),s.TgZ(5,"span",5),s._uU(6),s.qZA(),s.qZA(),s._UZ(7,"mat-divider",6),s.TgZ(8,"div",7),s.TgZ(9,"div",3),s.TgZ(10,"h4",4),s._uU(11,"Alias"),s.qZA(),s.TgZ(12,"span",8),s._uU(13),s.TgZ(14,"span",9),s._uU(15),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s._UZ(16,"mat-divider",6),s.TgZ(17,"div",7),s.TgZ(18,"div",10),s.TgZ(19,"h4",4),s._uU(20,"Last Update"),s.qZA(),s.TgZ(21,"span",8),s._uU(22),s.ALo(23,"date"),s.qZA(),s.qZA(),s.TgZ(24,"div",10),s.TgZ(25,"h4",4),s._uU(26,"Features"),s.qZA(),s.TgZ(27,"span",8),s._uU(28),s.qZA(),s.qZA(),s.qZA(),s._UZ(29,"mat-divider",6),s.TgZ(30,"div",11),s.TgZ(31,"h4",12),s._uU(32,"Addresses"),s.qZA(),s.TgZ(33,"div",13),s.TgZ(34,"table",14,15),s.ynx(36,16),s.YNc(37,oa,2,0,"th",17),s.YNc(38,sa,2,1,"td",18),s.BQk(),s.ynx(39,19),s.YNc(40,la,2,0,"th",17),s.YNc(41,ra,2,1,"td",18),s.BQk(),s.ynx(42,20),s.YNc(43,ca,2,0,"th",17),s.YNc(44,ua,2,1,"td",18),s.BQk(),s.ynx(45,21),s.YNc(46,da,3,0,"th",22),s.YNc(47,ha,4,1,"td",23),s.BQk(),s.YNc(48,ma,1,0,"tr",24),s.YNc(49,pa,1,0,"tr",25),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.nodeid),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(e.lookupResult.alias),s.xp6(1),s.Q6J("ngStyle",s.VKq(16,fa,"#"+e.lookupResult.color)),s.xp6(1),s.Oqu(e.lookupResult.color?"#"+e.lookupResult.color:""),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.xi3(23,13,1e3*e.lookupResult.last_timestamp,"dd/MMM/YYYY HH:mm")),s.xp6(6),s.Oqu(e.lookupResult.features),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Q6J("dataSource",e.addresses),s.xp6(14),s.Q6J("matHeaderRowDef",e.displayedColumns),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}let xa=(()=>{class e{constructor(e,t){this.logger=e,this.snackBar=t,this.displayedColumns=["type","address","port","actions"]}ngOnInit(){this.addresses=new ae.by(this.lookupResult.addresses?[...this.lookupResult.addresses]:[]),this.addresses.data=this.lookupResult.addresses?this.lookupResult.addresses:[],this.addresses.sort=this.sort,this.addresses.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}onCopyNodeURI(e){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(Mn.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-node-lookup"]],viewQuery:function(e,t){if(1&e&&s.Gf(ie.YE,5),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first)}},inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],["fxLayout","row"],[1,"foreground-secondary-text"],[1,"ml-2",3,"ngStyle"],["fxLayout","column","fxFlex","50","fxLayoutAlign","end start",1,"my-1"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","type"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","address"],["matColumnDef","port"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&s.YNc(0,ga,50,18,"div",0),2&e&&s.Q6J("ngIf",t.lookupResult)},directives:[i.O5,l.xw,R.d,l.yH,l.Wh,i.PC,S.Zl,M.$V,ae.BZ,ie.YE,ae.w1,ae.fO,ae.Dz,ae.as,ae.nj,ae.ge,ie.nU,ae.ev,C.lW,aa.y,ae.XQ,ae.Gk],pipes:[i.uU],styles:[""]}),e})();function Za(e,t){1&e&&(s.TgZ(0,"h3",11),s._uU(1,"Node 1"),s.qZA())}function ya(e,t){1&e&&(s.TgZ(0,"h3",11),s._uU(1,"Node 1 (Your Node)"),s.qZA())}function Aa(e,t){1&e&&(s.TgZ(0,"h3",11),s._uU(1,"Node 2"),s.qZA())}function wa(e,t){1&e&&(s.TgZ(0,"h3",11),s._uU(1,"Node 2 (Your Node)"),s.qZA())}function Ta(e,t){if(1&e&&(s.TgZ(0,"div",1),s._UZ(1,"mat-divider"),s.TgZ(2,"div",2),s.TgZ(3,"div",3),s.TgZ(4,"div",4),s.YNc(5,Za,2,0,"h3",5),s.YNc(6,ya,2,0,"h3",5),s.qZA(),s._UZ(7,"mat-divider",6),s.TgZ(8,"div",7),s.TgZ(9,"h4",8),s._uU(10,"Short Channel Id"),s.qZA(),s.TgZ(11,"span",9),s._uU(12),s.qZA(),s.qZA(),s._UZ(13,"mat-divider",6),s.TgZ(14,"div",10),s.TgZ(15,"h4",8),s._uU(16,"Active"),s.qZA(),s.TgZ(17,"span",9),s._uU(18),s.qZA(),s.qZA(),s._UZ(19,"mat-divider",6),s.TgZ(20,"div",10),s.TgZ(21,"h4",8),s._uU(22,"Last Update"),s.qZA(),s.TgZ(23,"span",9),s._uU(24),s.qZA(),s.qZA(),s._UZ(25,"mat-divider",6),s.TgZ(26,"div",10),s.TgZ(27,"h4",8),s._uU(28,"Amount (mSats)"),s.qZA(),s.TgZ(29,"span",9),s._uU(30),s.qZA(),s.qZA(),s._UZ(31,"mat-divider",6),s.TgZ(32,"div",10),s.TgZ(33,"h4",8),s._uU(34,"Base Fee (mSats)"),s.qZA(),s.TgZ(35,"span",9),s._uU(36),s.ALo(37,"number"),s.qZA(),s.qZA(),s._UZ(38,"mat-divider",6),s.TgZ(39,"div",10),s.TgZ(40,"h4",8),s._uU(41,"Channel Flags"),s.qZA(),s.TgZ(42,"span",9),s._uU(43),s.ALo(44,"number"),s.qZA(),s.qZA(),s._UZ(45,"mat-divider",6),s.TgZ(46,"div",10),s.TgZ(47,"h4",8),s._uU(48,"Delay"),s.qZA(),s.TgZ(49,"span",9),s._uU(50),s.ALo(51,"number"),s.qZA(),s.qZA(),s._UZ(52,"mat-divider",6),s.TgZ(53,"div",10),s.TgZ(54,"h4",8),s._uU(55,"Destination"),s.qZA(),s.TgZ(56,"span",9),s._uU(57),s.qZA(),s.qZA(),s._UZ(58,"mat-divider",6),s.TgZ(59,"div",10),s.TgZ(60,"h4",8),s._uU(61,"Fee/Millionth"),s.qZA(),s.TgZ(62,"span",9),s._uU(63),s.ALo(64,"number"),s.qZA(),s.qZA(),s._UZ(65,"mat-divider",6),s.TgZ(66,"div",10),s.TgZ(67,"h4",8),s._uU(68,"Max Htlc (mSat)"),s.qZA(),s.TgZ(69,"span",9),s._uU(70),s.qZA(),s.qZA(),s._UZ(71,"mat-divider",6),s.TgZ(72,"div",10),s.TgZ(73,"h4",8),s._uU(74,"Min Htlc (mSat)"),s.qZA(),s.TgZ(75,"span",9),s._uU(76),s.qZA(),s.qZA(),s._UZ(77,"mat-divider",6),s.TgZ(78,"div",10),s.TgZ(79,"h4",8),s._uU(80,"Message Flags"),s.qZA(),s.TgZ(81,"span",9),s._uU(82),s.ALo(83,"number"),s.qZA(),s.qZA(),s._UZ(84,"mat-divider",6),s.TgZ(85,"div",10),s.TgZ(86,"h4",8),s._uU(87,"Public"),s.qZA(),s.TgZ(88,"span",9),s._uU(89),s.qZA(),s.qZA(),s._UZ(90,"mat-divider",6),s.TgZ(91,"div",10),s.TgZ(92,"h4",8),s._uU(93,"Satoshis"),s.qZA(),s.TgZ(94,"span",9),s._uU(95),s.ALo(96,"number"),s.qZA(),s.qZA(),s._UZ(97,"mat-divider",6),s.TgZ(98,"div",10),s.TgZ(99,"h4",8),s._uU(100,"Source"),s.qZA(),s.TgZ(101,"span",9),s._uU(102),s.qZA(),s.qZA(),s.qZA(),s.TgZ(103,"div",3),s.TgZ(104,"div"),s.YNc(105,Aa,2,0,"h3",5),s.YNc(106,wa,2,0,"h3",5),s.qZA(),s._UZ(107,"mat-divider",6),s.TgZ(108,"div",7),s.TgZ(109,"h4",8),s._uU(110,"Short Channel Id"),s.qZA(),s.TgZ(111,"span",9),s._uU(112),s.qZA(),s.qZA(),s._UZ(113,"mat-divider",6),s.TgZ(114,"div",10),s.TgZ(115,"h4",8),s._uU(116,"Active"),s.qZA(),s.TgZ(117,"span",9),s._uU(118),s.qZA(),s.qZA(),s._UZ(119,"mat-divider",6),s.TgZ(120,"div",10),s.TgZ(121,"h4",8),s._uU(122,"Last Update"),s.qZA(),s.TgZ(123,"span",9),s._uU(124),s.ALo(125,"date"),s.qZA(),s.qZA(),s._UZ(126,"mat-divider",6),s.TgZ(127,"div",10),s.TgZ(128,"h4",8),s._uU(129,"Amount (mSats)"),s.qZA(),s.TgZ(130,"span",9),s._uU(131),s.qZA(),s.qZA(),s._UZ(132,"mat-divider",6),s.TgZ(133,"div",10),s.TgZ(134,"h4",8),s._uU(135,"Base Fee (mSats)"),s.qZA(),s.TgZ(136,"span",9),s._uU(137),s.ALo(138,"number"),s.qZA(),s.qZA(),s._UZ(139,"mat-divider",6),s.TgZ(140,"div",10),s.TgZ(141,"h4",8),s._uU(142,"Channel Flags"),s.qZA(),s.TgZ(143,"span",9),s._uU(144),s.ALo(145,"number"),s.qZA(),s.qZA(),s._UZ(146,"mat-divider",6),s.TgZ(147,"div",10),s.TgZ(148,"h4",8),s._uU(149,"Delay"),s.qZA(),s.TgZ(150,"span",9),s._uU(151),s.ALo(152,"number"),s.qZA(),s.qZA(),s._UZ(153,"mat-divider",6),s.TgZ(154,"div",10),s.TgZ(155,"h4",8),s._uU(156,"Destination"),s.qZA(),s.TgZ(157,"span",9),s._uU(158),s.qZA(),s.qZA(),s._UZ(159,"mat-divider",6),s.TgZ(160,"div",10),s.TgZ(161,"h4",8),s._uU(162,"Fee/Millionth"),s.qZA(),s.TgZ(163,"span",9),s._uU(164),s.ALo(165,"number"),s.qZA(),s.qZA(),s._UZ(166,"mat-divider",6),s.TgZ(167,"div",10),s.TgZ(168,"h4",8),s._uU(169,"Max Htlc (mSat)"),s.qZA(),s.TgZ(170,"span",9),s._uU(171),s.qZA(),s.qZA(),s._UZ(172,"mat-divider",6),s.TgZ(173,"div",10),s.TgZ(174,"h4",8),s._uU(175,"Min Htlc (mSat)"),s.qZA(),s.TgZ(176,"span",9),s._uU(177),s.qZA(),s.qZA(),s._UZ(178,"mat-divider",6),s.TgZ(179,"div",10),s.TgZ(180,"h4",8),s._uU(181,"Message Flags"),s.qZA(),s.TgZ(182,"span",9),s._uU(183),s.ALo(184,"number"),s.qZA(),s.qZA(),s._UZ(185,"mat-divider",6),s.TgZ(186,"div",10),s.TgZ(187,"h4",8),s._uU(188,"Public"),s.qZA(),s.TgZ(189,"span",9),s._uU(190),s.qZA(),s.qZA(),s._UZ(191,"mat-divider",6),s.TgZ(192,"div",10),s.TgZ(193,"h4",8),s._uU(194,"Satoshis"),s.qZA(),s.TgZ(195,"span",9),s._uU(196),s.ALo(197,"number"),s.qZA(),s.qZA(),s._UZ(198,"mat-divider",6),s.TgZ(199,"div",10),s.TgZ(200,"h4",8),s._uU(201,"Source"),s.qZA(),s.TgZ(202,"span",9),s._uU(203),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(5),s.Q6J("ngIf",!e.node1_match),s.xp6(1),s.Q6J("ngIf",e.node1_match),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].short_channel_id),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].active?"True":"False"),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].last_update),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].amount_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(37,64,e.lookupResult[0].base_fee_millisatoshi)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(44,66,e.lookupResult[0].channel_flags)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(51,68,e.lookupResult[0].delay)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].destination),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(64,70,e.lookupResult[0].fee_per_millionth)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].htlc_maximum_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].htlc_minimum_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(83,72,e.lookupResult[0].message_flags)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].public?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(96,74,e.lookupResult[0].satoshis)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[0].source),s.xp6(3),s.Q6J("ngIf",!e.node2_match),s.xp6(1),s.Q6J("ngIf",e.node2_match),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].short_channel_id),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].active?"True":"False"),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.xi3(125,76,1e3*e.lookupResult[1].last_update,"dd/MMM/YYYY HH:mm")),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].amount_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(138,79,e.lookupResult[1].base_fee_millisatoshi)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(145,81,e.lookupResult[1].channel_flags)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(152,83,e.lookupResult[1].delay)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].destination),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(165,85,e.lookupResult[1].fee_per_millionth)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].htlc_maximum_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].htlc_minimum_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(184,87,e.lookupResult[1].message_flags)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].public?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(s.lcZ(197,89,e.lookupResult[1].satoshis)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult[1].source)}}let va=(()=>{class e{constructor(e){this.store=e,this.node1_match=!1,this.node2_match=!1,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.lookupResult.length>0&&this.lookupResult[0].source===e.information.id&&(this.node1_match=!0),this.lookupResult.length>1&&this.lookupResult[1].source===e.information.id&&(this.node2_match=!0)})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start",1,"mt-1","bordered-box","padding-gap-large"],["fxLayout","column"],["class","page-title font-bold-500",4,"ngIf"],[3,"inset"],["fxLayout","column","fxFlex","20",1,"my-1"],[1,"font-bold-500"],[1,"foreground-secondary-text"],["fxLayout","column","fxFlex","10",1,"my-1"],[1,"page-title","font-bold-500"]],template:function(e,t){1&e&&s.YNc(0,Ta,204,91,"div",0),2&e&&s.Q6J("ngIf",t.lookupResult)},directives:[i.O5,l.xw,R.d,l.Wh,l.yH],pipes:[i.JJ,i.uU],styles:[".mat-list-base[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%], .mat-list-base[_ngcontent-%COMP%] .mat-list-option[_ngcontent-%COMP%]{height:38px!important}"]}),e})();const ba=["form"];function qa(e,t){if(1&e&&(s.TgZ(0,"mat-radio-button",21),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("value",e.id)("checked",n.selectedFieldId===e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Ca(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("",null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder," is required.")}}function _a(e,t){if(1&e&&(s.TgZ(0,"div"),s._UZ(1,"rtl-cl-node-lookup",30),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Q6J("lookupResult",e.nodeLookupValue)}}function Sa(e,t){if(1&e&&(s.TgZ(0,"span",28),s.YNc(1,_a,2,1,"div",29),s.qZA()),2&e){const e=s.oxw(2),t=s.MAs(24);s.xp6(1),s.Q6J("ngIf",""!==e.nodeLookupValue.nodeid)("ngIfElse",t)}}function La(e,t){if(1&e&&(s.TgZ(0,"div"),s._UZ(1,"rtl-cl-channel-lookup",30),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Q6J("lookupResult",e.channelLookupValue)}}function Ua(e,t){if(1&e&&(s.TgZ(0,"span",28),s.YNc(1,La,2,1,"div",29),s.qZA()),2&e){const e=s.oxw(2),t=s.MAs(24);s.xp6(1),s.Q6J("ngIf",e.channelLookupValue.length>0)("ngIfElse",t)}}function Fa(e,t){1&e&&(s.TgZ(0,"span",28),s.TgZ(1,"h3"),s._uU(2,"Error! Unable to find details!"),s.qZA(),s.qZA())}function ka(e,t){if(1&e&&(s.TgZ(0,"div",22),s.TgZ(1,"div",23),s.TgZ(2,"span",24),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"div",25),s.YNc(5,Sa,2,2,"span",26),s.YNc(6,Ua,2,2,"span",26),s.YNc(7,Fa,3,0,"span",27),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(3),s.hij("",e.lookupFields[e.selectedFieldId].name," Details"),s.xp6(1),s.Q6J("ngSwitch",e.selectedFieldId),s.xp6(1),s.Q6J("ngSwitchCase",0),s.xp6(1),s.Q6J("ngSwitchCase",1)}}function Na(e,t){1&e&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find details!"),s.qZA())}const Ja=function(e){return{"mt-2":e}};let Da=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.commonService=t,this.store=n,this.actions$=i,this.lookupKey="",this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Pubkey"},{id:1,name:"Channel",placeholder:"Short Channel ID"}],this.flgLoading=[!0],this.faSearch=f.wn1,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions$.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e.type===x.CR||e.type===x.at)).subscribe(e=>{if(e.type===x.CR){switch(this.flgLoading[0]=!0,this.selectedFieldId){case 0:this.nodeLookupValue=e.payload[0]?JSON.parse(JSON.stringify(e.payload[0])):{nodeid:""};break;case 1:this.channelLookupValue=e.payload?JSON.parse(JSON.stringify(e.payload)):[]}this.flgSetLookupValue=!0,this.logger.info(this.nodeLookupValue),this.logger.info(this.channelLookupValue)}e.type===x.at&&"Lookup"===e.payload.action&&(this.flgLoading[0]="error")})}onLookup(){if(!this.lookupKey)return!0;switch(this.flgSetLookupValue=!1,this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.store.dispatch(new se.Fk("Searching "+this.lookupFields[this.selectedFieldId].name+"...")),this.selectedFieldId){case 0:this.store.dispatch(new x.x$(this.lookupKey.trim()));break;case 1:this.store.dispatch(new x.IG({shortChannelID:this.lookupKey.trim(),showError:!1}))}}onSelectChange(e){this.resetData(),this.selectedFieldId=e.value}resetData(){this.flgSetLookupValue=!1,this.selectedFieldId=0,this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.form.resetForm()}clearLookupValue(){this.nodeLookupValue={nodeid:""},this.channelLookupValue=[],this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-lookups"]],viewQuery:function(e,t){if(1&e&&s.Gf(ba,7),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:25,vars:10,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","35","fxFlex.gt-md","25","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField",3,"ngModel","ngModelChange","change"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],["fxFlex","65","fxFlex.gt-md","75","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"placeholder","ngModel","change","ngModelChange"],["key",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],["errorBlock",""],[1,"mr-4",3,"value","checked"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[4,"ngIf","ngIfElse"],[3,"lookupResult"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Graph Lookups"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"form",7,8),s.TgZ(10,"div",9),s.TgZ(11,"mat-radio-group",10),s.NdJ("ngModelChange",function(e){return t.selectedFieldId=e})("change",function(e){return t.onSelectChange(e)}),s.YNc(12,qa,2,3,"mat-radio-button",11),s.qZA(),s.qZA(),s.TgZ(13,"mat-form-field",12),s.TgZ(14,"input",13,14),s.NdJ("change",function(){return t.clearLookupValue()})("ngModelChange",function(e){return t.lookupKey=e}),s.qZA(),s.YNc(16,Ca,2,1,"mat-error",15),s.qZA(),s.TgZ(17,"div",16),s.TgZ(18,"button",17),s.NdJ("click",function(){return t.resetData()}),s._uU(19,"Clear"),s.qZA(),s.TgZ(20,"button",18),s.NdJ("click",function(){return t.onLookup()}),s._uU(21,"Lookup"),s.qZA(),s.qZA(),s.qZA(),s.YNc(22,ka,8,4,"div",19),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(23,Na,2,0,"ng-template",null,20,s.W1O)),2&e&&(s.xp6(2),s.Q6J("icon",t.faSearch),s.xp6(9),s.Q6J("ngModel",t.selectedFieldId),s.xp6(1),s.Q6J("ngForOf",t.lookupFields),s.xp6(1),s.Q6J("ngClass",s.VKq(8,Ja,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM)),s.xp6(1),s.Q6J("placeholder",(null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder)||"Lookup Key")("ngModel",t.lookupKey),s.xp6(2),s.Q6J("ngIf",!t.lookupKey),s.xp6(6),s.Q6J("ngIf",t.flgSetLookupValue))},directives:[l.xw,l.Wh,T.BN,l.yH,b.a8,b.dn,le._Y,le.JL,le.F,je.VQ,le.JJ,le.On,i.sg,D.KE,i.mk,S.oO,re.Nt,le.Fj,le.Q7,i.O5,C.lW,je.U0,D.TO,i.RF,i.n9,i.ED,xa,va],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),e})();var Oa=function(e){return e.KB="KB",e.KW="KW",e}({});let Ra=(()=>{class e{constructor(){this.perkbw={}}ngAfterContentChecked(){this.feeRateStyle===Oa.KB?this.perkbw=this.feeRates.perkb:this.feeRateStyle===Oa.KW&&(this.perkbw=this.feeRates.perkw)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-fee-rates"]],inputs:{feeRateStyle:"feeRateStyle",feeRates:"feeRates",flgLoading:"flgLoading"},decls:51,vars:24,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","stretch",1,"h-100"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"div"),s.TgZ(3,"h4",2),s._uU(4,"Urgent"),s.qZA(),s.TgZ(5,"div",3),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",2),s._uU(10,"Normal"),s.qZA(),s.TgZ(11,"div",3),s._uU(12),s.ALo(13,"number"),s.qZA(),s.qZA(),s.TgZ(14,"div"),s.TgZ(15,"h4",2),s._uU(16,"Slow"),s.qZA(),s.TgZ(17,"div",3),s._uU(18),s.ALo(19,"number"),s.qZA(),s.qZA(),s.TgZ(20,"div"),s.TgZ(21,"h4",2),s._uU(22,"Opening Channel"),s.qZA(),s.TgZ(23,"div",3),s._uU(24),s.ALo(25,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(26,"div",1),s.TgZ(27,"div"),s.TgZ(28,"h4",2),s._uU(29,"Min Acceptable"),s.qZA(),s.TgZ(30,"div",3),s._uU(31),s.ALo(32,"number"),s.qZA(),s.qZA(),s.TgZ(33,"div"),s.TgZ(34,"h4",2),s._uU(35,"Max Acceptable"),s.qZA(),s.TgZ(36,"div",3),s._uU(37),s.ALo(38,"number"),s.qZA(),s.qZA(),s.TgZ(39,"div"),s.TgZ(40,"h4",2),s._uU(41,"Mutual Close"),s.qZA(),s.TgZ(42,"div",3),s._uU(43),s.ALo(44,"number"),s.qZA(),s.qZA(),s.TgZ(45,"div"),s.TgZ(46,"h4",2),s._uU(47,"Unilateral Close"),s.qZA(),s.TgZ(48,"div",3),s._uU(49),s.ALo(50,"number"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(6),s.Oqu(s.lcZ(7,8,null==t.perkbw?null:t.perkbw.urgent)),s.xp6(6),s.Oqu(s.lcZ(13,10,null==t.perkbw?null:t.perkbw.normal)),s.xp6(6),s.Oqu(s.lcZ(19,12,null==t.perkbw?null:t.perkbw.slow)),s.xp6(6),s.Oqu(s.lcZ(25,14,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.opening_channel_satoshis)),s.xp6(7),s.Oqu(s.lcZ(32,16,null==t.perkbw?null:t.perkbw.min_acceptable)),s.xp6(6),s.Oqu(s.lcZ(38,18,null==t.perkbw?null:t.perkbw.max_acceptable)),s.xp6(6),s.Oqu(s.lcZ(44,20,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.mutual_close_satoshis)),s.xp6(6),s.Oqu(s.lcZ(50,22,null==t.feeRates||null==t.feeRates.onchain_fee_estimates?null:t.feeRates.onchain_fee_estimates.unilateral_close_satoshis)))},directives:[l.xw,l.yH,l.Wh],pipes:[i.JJ],styles:[".fee-rate-list[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%]{height:44px}"]}),e})();const Ma=function(e){return{"error-border":e}};function Ya(e,t){if(1&e&&s._UZ(0,"rtl-cl-node-info",17),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("showColorFieldSeparately",!1)("ngClass",s.VKq(3,Ma,"error"===e.flgLoading[0]))}}function Qa(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-status-info",18),2&e){const e=s.oxw(3);s.Q6J("channelsStatus",e.channelsStatus)("ngClass",s.VKq(2,Ma,"error"===e.flgLoading[0]))}}function Ia(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-info",19),2&e){const e=s.oxw(3);s.Q6J("fees",e.fees)("ngClass",s.VKq(2,Ma,"error"===e.flgLoading[1]))}}function Pa(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-rates",20),2&e){const e=s.oxw(3);s.Q6J("flgLoading",e.flgLoading[2])("feeRates",e.feeRatesPerKB)("feeRateStyle","KB")}}function Ea(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-rates",20),2&e){const e=s.oxw(3);s.Q6J("flgLoading",e.flgLoading[2])("feeRates",e.feeRatesPerKW)("feeRateStyle","KW")}}function Ba(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",4),s.TgZ(1,"div",5),s.TgZ(2,"div",6),s.TgZ(3,"div",7),s._UZ(4,"fa-icon",8),s.TgZ(5,"span"),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",9),s.TgZ(8,"mat-card",10),s.TgZ(9,"mat-card-content",11),s.TgZ(10,"div",12),s.YNc(11,Ya,1,5,"rtl-cl-node-info",13),s.YNc(12,Qa,1,4,"rtl-cl-channel-status-info",14),s.YNc(13,Ia,1,4,"rtl-cl-fee-info",15),s.YNc(14,Pa,1,3,"rtl-cl-fee-rates",16),s.YNc(15,Ea,1,3,"rtl-cl-fee-rates",16),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(4),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(4),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","status"),s.xp6(1),s.Q6J("ngSwitchCase","fee"),s.xp6(1),s.Q6J("ngSwitchCase","feeRatesKB"),s.xp6(1),s.Q6J("ngSwitchCase","feeRatesKW")}}function Ha(e,t){if(1&e&&(s.TgZ(0,"mat-grid-list",2),s.YNc(1,Ba,16,10,"mat-grid-tile",3),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.nodeCardsOperator)}}function Va(e,t){if(1&e&&s._UZ(0,"rtl-cl-node-info",17),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("showColorFieldSeparately",!1)("ngClass",s.VKq(3,Ma,"error"===e.flgLoading[0]))}}function za(e,t){if(1&e&&s._UZ(0,"rtl-cl-channel-status-info",18),2&e){const e=s.oxw(3);s.Q6J("channelsStatus",e.channelsStatus)("ngClass",s.VKq(2,Ma,"error"===e.flgLoading[0]))}}function Ga(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-info",19),2&e){const e=s.oxw(3);s.Q6J("fees",e.fees)("ngClass",s.VKq(2,Ma,"error"===e.flgLoading[1]))}}function Xa(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-rates",20),2&e){const e=s.oxw(3);s.Q6J("flgLoading",e.flgLoading[2])("feeRates",e.feeRatesPerKB)("feeRateStyle","KB")}}function $a(e,t){if(1&e&&s._UZ(0,"rtl-cl-fee-rates",20),2&e){const e=s.oxw(3);s.Q6J("flgLoading",e.flgLoading[2])("feeRates",e.feeRatesPerKW)("feeRateStyle","KW")}}function Ka(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",4),s.TgZ(1,"div",5),s.TgZ(2,"div",6),s.TgZ(3,"div",21),s._UZ(4,"fa-icon",8),s.TgZ(5,"span"),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",9),s.TgZ(8,"mat-card",10),s.TgZ(9,"mat-card-content",11),s.TgZ(10,"div",12),s.YNc(11,Va,1,5,"rtl-cl-node-info",13),s.YNc(12,za,1,4,"rtl-cl-channel-status-info",14),s.YNc(13,Ga,1,4,"rtl-cl-fee-info",15),s.YNc(14,Xa,1,3,"rtl-cl-fee-rates",16),s.YNc(15,$a,1,3,"rtl-cl-fee-rates",16),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(4),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(4),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","status"),s.xp6(1),s.Q6J("ngSwitchCase","fee"),s.xp6(1),s.Q6J("ngSwitchCase","feeRatesKB"),s.xp6(1),s.Q6J("ngSwitchCase","feeRatesKW")}}function Wa(e,t){if(1&e&&(s.TgZ(0,"mat-grid-list",2),s.YNc(1,Ka,16,10,"mat-grid-tile",3),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.nodeCardsMerchant)}}let ja=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.faBolt=f.BDt,this.faServer=f.xf3,this.faNetworkWired=f.kXW,this.selNode={},this.information={},this.channelsStatus={},this.feeRatesPerKB={},this.feeRatesPerKW={},this.nodeCardsOperator=[],this.nodeCardsMerchant=[],this.screenSize="",this.screenSizeEnum=g.cu,this.userPersonaEnum=g.ol,this.flgLoading=[!0,!0,!0],this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.nodeCardsMerchant=[{id:"node",icon:this.faServer,title:"Node Information",cols:6,rows:3},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:6,rows:3},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:6,rows:1},{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:6,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:6,rows:4}],this.nodeCardsOperator=[{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:6,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:6,rows:4}]):(this.nodeCardsMerchant=[{id:"node",icon:this.faServer,title:"Node Information",cols:2,rows:3},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:2,rows:3},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:2,rows:3},{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:3,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:3,rows:4}],this.nodeCardsOperator=[{id:"feeRatesKB",icon:this.faServer,title:"Fee Rate Per KB",cols:3,rows:4},{id:"feeRatesKW",icon:this.faNetworkWired,title:"Fee Rate Per KW",cols:3,rows:4}])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchInfo"===e.action&&(this.flgLoading[0]="error"),"FetchFees"===e.action&&(this.flgLoading[1]="error"),"FetchFeeRates"===e.action&&(this.flgLoading[2]="error")}),this.selNode=e.nodeSettings,this.information=e.information,"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.information.id),this.fees=e.fees,this.fees.totalTxCount=0,e.forwardingHistory&&e.forwardingHistory.forwarding_events&&e.forwardingHistory.forwarding_events.length&&(this.fees.totalTxCount=e.forwardingHistory.forwarding_events.filter(e=>"settled"===e.status).length),"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!this.fees.feeCollected),this.channelsStatus={active:{channels:e.information.num_active_channels,capacity:0},inactive:{channels:e.information.num_inactive_channels,capacity:0},pending:{channels:e.information.num_pending_channels,capacity:0}},this.feeRatesPerKB=e.feeRatesPerKB,this.feeRatesPerKW=e.feeRatesPerKW,"error"!==this.flgLoading[2]&&(this.flgLoading[2]=!this.feeRatesPerKB||!this.feeRatesPerKW),this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-network-info"]],decls:3,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch",1,"mb-4"],["cols","6","rowHeight","110px",4,"ngIf"],["cols","6","rowHeight","110px"],["class","node-grid-tile",3,"colspan","rowspan",4,"ngFor","ngForOf"],[1,"node-grid-tile",3,"colspan","rowspan"],["fxLayout","column","fxLayoutAlign","stretch start","fxFlex","100",1,"h-100"],["fxLayout","row","fxLayoutAlign","start start",1,"w-100"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","pl-2"],[1,"mr-1",3,"icon"],["fxLayout","column","fxLayoutAlign","stretch center","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","center stretch",1,"w-100","h-93"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","w-96","h-93"],["fxFlex","100",1,"dashboard-card-content"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"fees","ngClass",4,"ngSwitchCase"],["class","h-100",3,"flgLoading","feeRates","feeRateStyle",4,"ngSwitchCase"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass"],["fxFlex","100",3,"channelsStatus","ngClass"],["fxFlex","100",3,"fees","ngClass"],[1,"h-100",3,"flgLoading","feeRates","feeRateStyle"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","pl-15px"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,Ha,2,1,"mat-grid-list",1),s.YNc(2,Wa,2,1,"mat-grid-list",1),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf",t.selNode.userPersona===t.userPersonaEnum.OPERATOR),s.xp6(1),s.Q6J("ngIf",t.selNode.userPersona===t.userPersonaEnum.MERCHANT))},directives:[l.xw,l.Wh,i.O5,v.Il,i.sg,v.DX,l.yH,T.BN,b.a8,b.dn,i.RF,i.n9,N,i.mk,S.oO,B,E,Ra],styles:[""]}),e})();function eo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",8),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let to=(()=>{class e{constructor(e){this.router=e,this.faUserCheck=f.hkK,this.links=[{link:"sign",name:"Sign"},{link:"verify",name:"Verify"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-sign-verify-message"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Sign/Verify Message"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,eo,2,3,"div",6),s.qZA(),s.TgZ(9,"div",7),s._UZ(10,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faUserCheck),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,b.a8,b.dn,te.BU,i.sg,l.yH,a.lC,te.Nj,a.rH],styles:[""]}),e})();var no=n(7969);function io(e,t){if(1&e&&(s.TgZ(0,"mat-option",7),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.addressTp," ")}}let ao=(()=>{class e{constructor(e,t){this.store=e,this.clEffects=t,this.addressTypes=g._t,this.selectedAddressType=g._t[0],this.newAddress=""}onGenerateAddress(){this.store.dispatch(new se.Fk("Getting New Address...")),this.store.dispatch(new x.ER(this.selectedAddressType)),this.clEffects.setNewAddressCL.pipe((0,Ke.q)(1)).subscribe(e=>{this.newAddress=e,this.store.dispatch(new se.wu({width:"58%",data:{address:this.newAddress,addressType:this.selectedAddressType.addressTp,component:no.n}}))})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(We.s))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-on-chain-receive"]],decls:8,vars:2,consts:[["fxLayout","column",1,"padding-gap-x"],["fxLayout","row","fxLayoutAlign","space-between end","fxLayoutAlign.gt-sm","start end"],["fxFlex","48","fxFlex.gt-md","25","fxLayoutAlign","start end",1,"mr-2"],["placeholder","Address Type","name","address_type","tabindex","1",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[1,"mt-2"],["mat-flat-button","","color","primary","tabindex","2",1,"top-minus-15px",3,"click"],[3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-form-field",2),s.TgZ(3,"mat-select",3),s.NdJ("ngModelChange",function(e){return t.selectedAddressType=e}),s.YNc(4,io,2,2,"mat-option",4),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.TgZ(6,"button",6),s.NdJ("click",function(){return t.onGenerateAddress()}),s._uU(7,"Generate Address"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngModel",t.selectedAddressType),s.xp6(1),s.Q6J("ngForOf",t.addressTypes))},directives:[l.xw,l.Wh,D.KE,l.yH,de.gD,le.JJ,le.On,i.sg,C.lW,me.ey],styles:[""]}),e})(),oo=(()=>{class e{constructor(e,t){this.store=e,this.activatedRoute=t,this.sweepAll=!1,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activatedRoute.data.pipe((0,h.R)(this.unSubs[0])).subscribe(e=>this.sweepAll=e.sweepAll)}openSendFundsModal(){this.store.dispatch(new se.wu({data:{sweepAll:this.sweepAll,component:pi}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(a.gz))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return t.openSendFundsModal()}),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Oqu(t.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,C.lW],styles:[""]}),e})();var so=n(1258),lo=n(1681),ro=n(3474),co=n(84);const uo=["form"];function ho(e,t){if(1&e&&(s.TgZ(0,"mat-option",39),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(e.alias?e.alias:e.id?e.id:"")}}function mo(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer alias is required."),s.qZA())}function po(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer not found in the list."),s.qZA())}function fo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",36),s.NdJ("change",function(){return s.CHM(e),s.oxw().onSelectedPeerChanged()}),s.qZA(),s.TgZ(2,"mat-autocomplete",37,38),s.NdJ("optionSelected",function(){return s.CHM(e),s.oxw().onSelectedPeerChanged()}),s.YNc(4,ho,2,2,"mat-option",24),s.ALo(5,"async"),s.qZA(),s.YNc(6,mo,2,0,"mat-error",17),s.YNc(7,po,2,0,"mat-error",17),s.qZA()}if(2&e){const e=s.MAs(3),t=s.oxw();s.xp6(1),s.Q6J("formControl",t.selectedPeer)("matAutocomplete",e),s.xp6(1),s.Q6J("displayWith",t.displayFn),s.xp6(2),s.Q6J("ngForOf",s.lcZ(5,6,t.filteredPeers)),s.xp6(2),s.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.notfound)}}function go(e,t){1&e&&s.GkF(0)}function xo(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function Zo(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function yo(e,t){if(1&e&&(s.TgZ(0,"mat-option",39),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.feeRateId),s.xp6(1),s.hij(" ",e.feeRateType," ")}}function Ao(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Min Confirmation Blocks is required."),s.qZA())}function wo(e,t){if(1&e&&(s.TgZ(0,"mat-option",39),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij("",s.lcZ(2,2,e.value)," Sats")}}function To(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",12),s.TgZ(1,"mat-form-field",22),s.TgZ(2,"mat-select",40),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw().onUTXOSelectionChange(t)})("valueChange",function(t){return s.CHM(e),s.oxw().selUTXOs=t}),s.TgZ(3,"mat-select-trigger"),s._uU(4),s.ALo(5,"number"),s.qZA(),s.YNc(6,wo,3,4,"mat-option",24),s.qZA(),s.qZA(),s.TgZ(7,"mat-slide-toggle",41),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().flgUseAllBalance=t})("change",function(){return s.CHM(e),s.oxw().onUTXOAllBalanceChange()}),s._uU(8," Use selected UTXOs balance "),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(2),s.Q6J("value",e.selUTXOs),s.xp6(2),s.AsE("",s.lcZ(5,6,e.totalSelectedUTXOAmount)," Sats (",e.selUTXOs.length>1?e.selUTXOs.length+" UTXOs":"1 UTXO",")"),s.xp6(2),s.Q6J("ngForOf",e.utxos),s.xp6(1),s.Q6J("ngModel",e.flgUseAllBalance)("disabled",e.selUTXOs.length<1)}}function vo(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.channelConnectionError)}}function bo(e,t){if(1&e&&(s.TgZ(0,"div",42),s._UZ(1,"fa-icon",43),s.YNc(2,vo,2,1,"span",17),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.channelConnectionError)}}function qo(e,t){if(1&e&&(s.TgZ(0,"mat-expansion-panel",45),s.TgZ(1,"mat-expansion-panel-header"),s.TgZ(2,"mat-panel-title"),s.TgZ(3,"span"),s._uU(4,"Peer: \xa0"),s.qZA(),s.TgZ(5,"strong",46),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",9),s.TgZ(8,"div",0),s.TgZ(9,"div",1),s.TgZ(10,"h4",47),s._uU(11,"Pubkey"),s.qZA(),s.TgZ(12,"span",48),s._uU(13),s.qZA(),s.qZA(),s.qZA(),s._UZ(14,"mat-divider",49),s.TgZ(15,"div",0),s.TgZ(16,"div",50),s.TgZ(17,"h4",47),s._uU(18,"Address"),s.qZA(),s.TgZ(19,"span",51),s._uU(20),s.qZA(),s.qZA(),s.TgZ(21,"div",50),s.TgZ(22,"h4",47),s._uU(23,"Connected"),s.qZA(),s.TgZ(24,"span",51),s._uU(25),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw(2);s.xp6(6),s.Oqu((null==e.peer?null:e.peer.alias)||(null==e.peer?null:e.peer.id)),s.xp6(7),s.Oqu(e.peer.id),s.xp6(7),s.Oqu(null==e.peer?null:e.peer.netaddr),s.xp6(5),s.Oqu(e.peer.connected?"True":"False")}}function Co(e,t){if(1&e&&s.YNc(0,qo,26,4,"mat-expansion-panel",44),2&e){const e=s.oxw();s.Q6J("ngIf",e.peer)}}let _o=(()=>{class e{constructor(e,t,n,i,a){this.dialogRef=e,this.data=t,this.store=n,this.actions$=i,this.decimalPipe=a,this.selectedPeer=new le.NI,this.faExclamationTriangle=f.eHv,this.isCompatibleVersion=!1,this.utxos=[],this.selUTXOs=[],this.flgUseAllBalance=!1,this.totalSelectedUTXOAmount=0,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.fundingAmount=null,this.selectedPubkey="",this.isPrivate=!1,this.feeRateTypes=g.vn,this.selFeeRate="",this.flgMinConf=!1,this.minConfValue=null,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.isCompatibleVersion=this.data.message.isCompatibleVersion,this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.utxos=this.data.message.utxos,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions$.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e.type===x.at||e.type===x.GL)).subscribe(e=>{e.type===x.at&&"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message),e.type===x.GL&&this.dialogRef.close()});let e="",t="";this.sortedPeers=this.peers.sort((n,i)=>(e=n.alias?n.alias.toLowerCase():n.id?n.id.toLowerCase():"",t=i.alias?i.alias.toLowerCase():n.id.toLowerCase(),et?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,h.R)(this.unSubs[1]),(0,so.O)(""),(0,lo.U)(e=>"string"==typeof e?e:e.alias?e.alias:e.id),(0,lo.U)(e=>e?this.filterPeers(e):this.sortedPeers.slice()))}filterPeers(e){return this.sortedPeers.filter(t=>0===t.alias.toLowerCase().indexOf(e?e.toLowerCase():""))}displayFn(e){return e&&e.alias?e.alias:e&&e.id?e.id:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.id?this.selectedPeer.value.id:void 0,"string"==typeof this.selectedPeer.value){let e=this.peers.filter(e=>e.alias.length===this.selectedPeer.value.length&&0===e.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===e.length&&e[0].id&&(this.selectedPubkey=e[0].id)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.flgMinConf=!1,this.selFeeRate="",this.minConfValue=null,this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onAdvancedPanelToggle(e){e&&(this.flgMinConf||this.selFeeRate||this.selUTXOs.length&&0!==this.selUTXOs.length)?(this.advancedTitle="Advanced Options",this.flgMinConf&&(this.advancedTitle=this.advancedTitle+" | Min Confirmation Blocks: "+this.minConfValue),this.selFeeRate&&(this.advancedTitle=this.advancedTitle+" | Fee Rate: "+this.feeRateTypes.find(e=>e.feeRateId===this.selFeeRate).feeRateType),this.selUTXOs.length&&this.selUTXOs.length>0&&(this.advancedTitle=this.advancedTitle+" | Total Selected: "+this.selUTXOs.length+" | Selected UTXOs: "+this.decimalPipe.transform(this.totalSelectedUTXOAmount)+" Sats")):this.advancedTitle="Advanced Options"}onUTXOSelectionChange(e){let t={value:0};this.selUTXOs.length&&this.selUTXOs.length>0?(this.totalSelectedUTXOAmount=this.selUTXOs.reduce((e,n)=>(t.value=e.value+n.value,t)).value,this.flgUseAllBalance&&this.onUTXOAllBalanceChange()):(this.totalSelectedUTXOAmount=0,this.fundingAmount=null,this.flgUseAllBalance=!1)}onUTXOAllBalanceChange(){this.fundingAmount=this.flgUseAllBalance?this.totalSelectedUTXOAmount:null}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0||this.flgMinConf&&!this.minConfValue)return!0;let e={peerId:this.peer&&this.peer.id?this.peer.id:this.selectedPubkey,satoshis:this.flgUseAllBalance?"all":this.fundingAmount.toString(),announce:!this.isPrivate,feeRate:this.selFeeRate,minconf:this.flgMinConf?this.minConfValue:null};this.selUTXOs.length&&this.selUTXOs.length>0&&(e.utxos=[],this.selUTXOs.forEach(t=>e.utxos.push(t.txid+":"+t.output))),this.store.dispatch(new se.Fk("Opening Channel...")),this.store.dispatch(new x.nb(e))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(oe.WI),s.Y36(y.yh),s.Y36(A.eX),s.Y36(i.JJ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-open-channel"]],viewQuery:function(e,t){if(1&e&&s.Gf(uo,7),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:54,vars:29,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","70","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amount",3,"ngModel","step","min","max","disabled","ngModelChange"],["amount","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","25","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","4","placeholder","Fee Rate",3,"value","disabled","valueChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","5","color","primary","name","flgMinConf","fxLayoutAlign","stretch start",1,"mr-2",3,"ngModel","ngModelChange","change"],["fxFlex","98"],["matInput","","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"ngModel","step","min","required","disabled","ngModelChange"],["blocks","ngModel"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value"],["tabindex","6","placeholder","Coin Selection","multiple","",3,"value","selectionChange","valueChange"],["fxFlex","48","tabindex","7","color","primary","name","flgUseAllBalance","matTooltip","Use selected UTXOs balance as the amount to be sent. Final amount sent will be less the mining fee.","matTooltipPosition","above",3,"ngModel","disabled","ngModelChange","change"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.NdJ("submit",function(){return t.onOpenChannel()})("reset",function(){return t.resetData()}),s.TgZ(11,"div",9),s.YNc(12,fo,8,8,"mat-form-field",10),s.qZA(),s.YNc(13,go,1,0,"ng-container",11),s.TgZ(14,"div",9),s.TgZ(15,"div",12),s.TgZ(16,"mat-form-field",13),s.TgZ(17,"input",14,15),s.NdJ("ngModelChange",function(e){return t.fundingAmount=e}),s.qZA(),s.TgZ(19,"mat-hint"),s._uU(20),s.ALo(21,"number"),s.qZA(),s.TgZ(22,"span",16),s._uU(23),s.qZA(),s.YNc(24,xo,2,0,"mat-error",17),s.YNc(25,Zo,2,1,"mat-error",17),s.qZA(),s.TgZ(26,"div",18),s.TgZ(27,"mat-slide-toggle",19),s.NdJ("ngModelChange",function(e){return t.isPrivate=e}),s._uU(28,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(29,"mat-expansion-panel",20),s.NdJ("closed",function(){return t.onAdvancedPanelToggle(!0)})("opened",function(){return t.onAdvancedPanelToggle(!1)}),s.TgZ(30,"mat-expansion-panel-header"),s.TgZ(31,"mat-panel-title"),s.TgZ(32,"span"),s._uU(33),s.qZA(),s.qZA(),s.qZA(),s.TgZ(34,"div",21),s.TgZ(35,"div",12),s.TgZ(36,"mat-form-field",22),s.TgZ(37,"mat-select",23),s.NdJ("valueChange",function(e){return t.selFeeRate=e}),s.YNc(38,yo,2,2,"mat-option",24),s.qZA(),s.qZA(),s.TgZ(39,"div",25),s.TgZ(40,"mat-checkbox",26),s.NdJ("ngModelChange",function(e){return t.flgMinConf=e})("change",function(){return t.flgMinConf?t.selFeeRate=null:t.minConfValue=null}),s.qZA(),s.TgZ(41,"mat-form-field",27),s.TgZ(42,"input",28,29),s.NdJ("ngModelChange",function(e){return t.minConfValue=e}),s.qZA(),s.YNc(44,Ao,2,0,"mat-error",17),s.qZA(),s.qZA(),s.qZA(),s.YNc(45,To,9,8,"div",30),s.qZA(),s.qZA(),s.qZA(),s.YNc(46,bo,3,2,"div",31),s.TgZ(47,"div",32),s.TgZ(48,"button",33),s._uU(49,"Clear Fields"),s.qZA(),s.TgZ(50,"button",34),s._uU(51,"Open Channel"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(52,Co,1,1,"ng-template",null,35,s.W1O)),2&e){const e=s.MAs(18),n=s.MAs(53);s.xp6(5),s.Oqu(t.alertTitle),s.xp6(7),s.Q6J("ngIf",!t.peer&&t.peers&&t.peers.length>0),s.xp6(1),s.Q6J("ngTemplateOutlet",n),s.xp6(4),s.Q6J("ngModel",t.fundingAmount)("step",1e3)("min",1)("max",t.totalBalance)("disabled",t.flgUseAllBalance),s.xp6(3),s.AsE("Remaining Bal: ",s.lcZ(21,27,t.totalBalance-(t.fundingAmount?t.fundingAmount:0)),"",t.flgUseAllBalance?". Amount replaced by UTXO balance":"",""),s.xp6(3),s.hij(" ",null==t.information?null:t.information.smaller_currency_unit," "),s.xp6(1),s.Q6J("ngIf",(null==e.errors?null:e.errors.required)||!t.fundingAmount),s.xp6(1),s.Q6J("ngIf",null==e.errors?null:e.errors.max),s.xp6(2),s.Q6J("ngModel",t.isPrivate),s.xp6(6),s.Oqu(t.advancedTitle),s.xp6(4),s.Q6J("value",t.selFeeRate)("disabled",t.flgMinConf),s.xp6(1),s.Q6J("ngForOf",t.feeRateTypes),s.xp6(2),s.Q6J("ngModel",t.flgMinConf),s.xp6(2),s.Q6J("ngModel",t.minConfValue)("step",1)("min",0)("required",t.flgMinConf)("disabled",!t.flgMinConf),s.xp6(2),s.Q6J("ngIf",t.flgMinConf&&!t.minConfValue),s.xp6(1),s.Q6J("ngIf",t.isCompatibleVersion),s.xp6(1),s.Q6J("ngIf",""!==t.channelConnectionError)}},directives:[l.xw,l.yH,b.dk,l.Wh,C.lW,b.dn,le._Y,le.JL,le.F,i.O5,i.tP,D.KE,re.Nt,le.wV,le.qQ,le.Fd,le.Fj,ue.q,ro.F,le.Q7,le.JJ,le.On,D.bx,D.R9,he.Rr,Qn.ib,Qn.yz,Qn.yK,de.gD,i.sg,Yn.oG,ce.h,co.ZL,le.oH,co.XC,me.ey,D.TO,de.$L,O.gM,T.BN,R.d],pipes:[i.JJ,i.Ov],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),e})();function So(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Open"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.openChannels)}}function Lo(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Pending/Inactive"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.pendingChannels)}}let Uo=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.store=t,this.commonService=n,this.router=i,this.openChannels=0,this.pendingChannels=0,this.selNode={},this.information={},this.peers=[],this.utxos=[],this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending/Inactive"}],this.activeLink=0,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("cl").pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{e.allChannels&&e.allChannels.length?(this.openChannels=0,this.pendingChannels=0,e.allChannels.forEach(e=>{"CHANNELD_NORMAL"===e.state&&e.connected?this.openChannels++:this.pendingChannels++})):(this.openChannels=0,this.pendingChannels=0),this.selNode=e.nodeSettings,this.information=e.information,this.peers=e.peers,this.utxos=this.commonService.sortAscByKey(e.utxos.filter(e=>"confirmed"===e.status),"value"),this.totalBalance=e.balance.totalBalance,this.logger.info(e)})}onOpenChannel(){const e={peers:this.peers,information:this.information,balance:this.totalBalance,utxos:this.utxos,isCompatibleVersion:this.commonService.isVersionCompatible(this.information.version,"0.9.0")&&this.commonService.isVersionCompatible(this.information.api_version,"0.4.0")};this.store.dispatch(new se.wu({data:{alertTitle:"Open Channel",message:e,component:_o}}))}onSelectedTabChange(e){this.router.navigateByUrl("/cl/connections/channels/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(w.v),s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channels-tables"]],decls:12,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return t.onOpenChannel()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-tab-group",4),s.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),s.TgZ(6,"mat-tab"),s.YNc(7,So,2,1,"ng-template",5),s.qZA(),s.TgZ(8,"mat-tab"),s.YNc(9,Lo,2,1,"ng-template",5),s.qZA(),s.qZA(),s.TgZ(10,"div",6),s._UZ(11,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.yH,l.Wh,C.lW,te.SP,te.uX,te.uD,a.lC,Bi.k],styles:[""]}),e})();function Fo(e,t){if(1&e&&(s.TgZ(0,"div"),s.TgZ(1,"div",9),s.TgZ(2,"div",1),s.TgZ(3,"h4",11),s._uU(4,"Funding Transaction Id"),s.qZA(),s.TgZ(5,"span",12),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s._UZ(7,"mat-divider",13),s.qZA()),2&e){const e=s.oxw();s.xp6(6),s.Oqu(e.channel.funding_txid),s.xp6(1),s.Q6J("inset",!0)}}function ko(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Show Advanced"),s.qZA())}function No(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Hide Advanced"),s.qZA())}function Jo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",23),s.NdJ("copied",function(t){return s.CHM(e),s.oxw().onCopyChanID(t)}),s._uU(1,"Copy Short Channel ID"),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("payload",e.channel.short_channel_id)}}function Do(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",24),s.NdJ("click",function(){return s.CHM(e),s.oxw().onClose()}),s._uU(1,"OK"),s.qZA()}}const Oo=function(e){return{"xs-scroll-y":e}},Ro=function(e,t){return{"mt-2":e,"mt-1":t}};let Mo=(()=>{class e{constructor(e,t,n,i,a){this.dialogRef=e,this.data=t,this.logger=n,this.commonService=i,this.snackBar=a,this.faReceipt=f.dLy,this.showAdvanced=!1,this.showCopy=!0,this.showCopyField=null,this.screenSize="",this.screenSizeEnum=g.cu}ngOnInit(){this.channel=this.data.channel,this.showCopy=this.data.showCopy,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(e){this.snackBar.open("Short channel ID "+e+" copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(oe.WI),s.Y36(Z.mQ),s.Y36(w.v),s.Y36(Mn.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-information"]],decls:94,vars:40,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxFlex","25"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span",5),s._uU(6,"Channel Information"),s.qZA(),s.qZA(),s.TgZ(7,"button",6),s.NdJ("click",function(){return t.onClose()}),s._uU(8,"X"),s.qZA(),s.qZA(),s.TgZ(9,"mat-card-content",7),s.TgZ(10,"div",8),s.TgZ(11,"div",9),s.TgZ(12,"div",10),s.TgZ(13,"h4",11),s._uU(14,"Short Channel ID"),s.qZA(),s.TgZ(15,"span",12),s._uU(16),s.qZA(),s.qZA(),s.TgZ(17,"div",10),s.TgZ(18,"h4",11),s._uU(19,"Peer Alias"),s.qZA(),s.TgZ(20,"span",12),s._uU(21),s.qZA(),s.qZA(),s.qZA(),s._UZ(22,"mat-divider",13),s.TgZ(23,"div",9),s.TgZ(24,"div",1),s.TgZ(25,"h4",11),s._uU(26,"Channel ID"),s.qZA(),s.TgZ(27,"span",12),s._uU(28),s.qZA(),s.qZA(),s.qZA(),s._UZ(29,"mat-divider",13),s.TgZ(30,"div",9),s.TgZ(31,"div",1),s.TgZ(32,"h4",11),s._uU(33,"Peer Public Key"),s.qZA(),s.TgZ(34,"span",12),s._uU(35),s.qZA(),s.qZA(),s.qZA(),s._UZ(36,"mat-divider",13),s.TgZ(37,"div",9),s.TgZ(38,"div",14),s.TgZ(39,"h4",11),s._uU(40,"mSatoshi to Us"),s.qZA(),s.TgZ(41,"span",15),s._uU(42),s.ALo(43,"number"),s.qZA(),s.qZA(),s.TgZ(44,"div",14),s.TgZ(45,"h4",11),s._uU(46,"Spendable (mSats)"),s.qZA(),s.TgZ(47,"span",15),s._uU(48),s.ALo(49,"number"),s.qZA(),s.qZA(),s.TgZ(50,"div",14),s.TgZ(51,"h4",11),s._uU(52,"Total (mSats)"),s.qZA(),s.TgZ(53,"span",15),s._uU(54),s.ALo(55,"number"),s.qZA(),s.qZA(),s.TgZ(56,"div",14),s.TgZ(57,"h4",11),s._uU(58,"State"),s.qZA(),s.TgZ(59,"span",15),s._uU(60),s.qZA(),s.qZA(),s.qZA(),s._UZ(61,"mat-divider",13),s.TgZ(62,"div",9),s.TgZ(63,"div",14),s.TgZ(64,"h4",11),s._uU(65,"Our Reserve (Sats)"),s.qZA(),s.TgZ(66,"span",15),s._uU(67),s.ALo(68,"number"),s.qZA(),s.qZA(),s.TgZ(69,"div",14),s.TgZ(70,"h4",11),s._uU(71,"Their Reserve (Sats)"),s.qZA(),s.TgZ(72,"span",15),s._uU(73),s.ALo(74,"number"),s.qZA(),s.qZA(),s.TgZ(75,"div",14),s.TgZ(76,"h4",11),s._uU(77,"Connected"),s.qZA(),s.TgZ(78,"span",15),s._uU(79),s.qZA(),s.qZA(),s.TgZ(80,"div",14),s.TgZ(81,"h4",11),s._uU(82,"Private"),s.qZA(),s.TgZ(83,"span",15),s._uU(84),s.qZA(),s.qZA(),s.qZA(),s._UZ(85,"mat-divider",13),s.YNc(86,Fo,8,2,"div",16),s.TgZ(87,"div",17),s.TgZ(88,"button",18),s.NdJ("click",function(){return t.onShowAdvanced()}),s.YNc(89,ko,2,0,"p",19),s.YNc(90,No,2,0,"ng-template",null,20,s.W1O),s.qZA(),s.YNc(92,Jo,2,1,"button",21),s.YNc(93,Do,2,0,"button",22),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.MAs(91);s.xp6(4),s.Q6J("icon",t.faReceipt),s.xp6(5),s.Q6J("ngClass",s.VKq(35,Oo,t.screenSize===t.screenSizeEnum.XS)),s.xp6(7),s.Oqu(t.channel.short_channel_id),s.xp6(5),s.Oqu(t.channel.alias),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.channel.channel_id),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.channel.id),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(43,25,t.channel.msatoshi_to_us)),s.xp6(6),s.Oqu(s.lcZ(49,27,t.channel.spendable_msatoshi)),s.xp6(6),s.Oqu(s.lcZ(55,29,t.channel.msatoshi_total)),s.xp6(6),s.Oqu(t.channel.state),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(68,31,t.channel.our_channel_reserve_satoshis)),s.xp6(6),s.Oqu(s.lcZ(74,33,t.channel.their_channel_reserve_satoshis)),s.xp6(6),s.Oqu(t.channel.connected?"Yes":"No"),s.xp6(5),s.Oqu(t.channel.private?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(1),s.Q6J("ngIf",t.showAdvanced),s.xp6(1),s.Q6J("ngClass",s.WLB(37,Ro,!t.showAdvanced,t.showAdvanced)),s.xp6(2),s.Q6J("ngIf",!t.showAdvanced)("ngIfElse",e),s.xp6(3),s.Q6J("ngIf",t.showCopy),s.xp6(1),s.Q6J("ngIf",!t.showCopy)}},directives:[l.xw,l.Wh,l.yH,b.dk,T.BN,C.lW,b.dn,i.mk,S.oO,R.d,i.O5,ce.h,aa.y],pipes:[i.JJ],styles:[""]}),e})();function Yo(e,t){1&e&&s._UZ(0,"mat-progress-bar",33)}function Qo(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1," Short Channel ID "),s.qZA())}function Io(e,t){if(1&e&&(s.TgZ(0,"span",40),s._UZ(1,"fa-icon",41),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faEyeSlash)}}function Po(e,t){if(1&e&&(s.TgZ(0,"span",42),s._UZ(1,"fa-icon",41),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faEye)}}const Eo=function(e){return{"max-width":e}};function Bo(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"div",36),s.YNc(2,Io,2,1,"span",37),s.YNc(3,Po,2,1,"span",38),s.TgZ(4,"span",39),s._uU(5),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(4,Eo,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),s.xp6(1),s.Q6J("ngIf",e.private),s.xp6(1),s.Q6J("ngIf",!e.private),s.xp6(2),s.Oqu(null==e?null:e.short_channel_id)}}function Ho(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1," Alias "),s.qZA())}function Vo(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"div",36),s.TgZ(2,"span",39),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(2,Eo,n.screenSize===n.screenSizeEnum.XS?"12rem":"22rem")),s.xp6(2),s.Oqu(null==e?null:e.alias)}}function zo(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1," Connected "),s.qZA())}function Go(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null!=e&&e.connected?"Connected":"Disconnected"," ")}}function Xo(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1," Private "),s.qZA())}function $o(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null!=e&&e.private?"Private":"Public"," ")}}function Ko(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1," State "),s.qZA())}function Wo(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.state,"")}}function jo(e,t){1&e&&(s.TgZ(0,"th",43),s._uU(1," Local Balance (Sats) "),s.qZA())}function es(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"span",44),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,(null==e?null:e.msatoshi_to_us)/1e3,(null==e?null:e.msatoshi_to_us)<1e3?"1.0-4":"1.0-0")," ")}}function ts(e,t){1&e&&(s.TgZ(0,"th",43),s._uU(1," Remote Balance (Sats) "),s.qZA())}function ns(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"span",44),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.xi3(3,1,(null==e?null:e.msatoshi_to_them)/1e3,(null==e?null:e.msatoshi_to_them)<1e3?"1.0-4":"1.0-0")," ")}}function is(e,t){1&e&&(s.TgZ(0,"th",43),s._uU(1," Total mSatoshis "),s.qZA())}function as(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"span",44),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.msatoshi_total)," ")}}function os(e,t){1&e&&(s.TgZ(0,"th",43),s._uU(1," Spendable Satoshi "),s.qZA())}function ss(e,t){if(1&e&&(s.TgZ(0,"td",35),s.TgZ(1,"span",44),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.spendable_msatoshi)," ")}}function ls(e,t){1&e&&(s.TgZ(0,"th",45),s._uU(1,"Balance Score "),s.qZA())}function rs(e,t){if(1&e&&(s.TgZ(0,"td",46),s.TgZ(1,"div",47),s.TgZ(2,"mat-hint",48),s._uU(3),s.ALo(4,"number"),s.qZA(),s.qZA(),s._UZ(5,"mat-progress-bar",49),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Oqu(s.lcZ(4,2,e.balancedness||0)),s.xp6(2),s.s9C("value",e.msatoshi_to_us&&e.msatoshi_to_us>0?+e.msatoshi_to_us/(+e.msatoshi_to_us+ +e.msatoshi_to_them)*100:0)}}function cs(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",50),s.TgZ(1,"div",51),s.TgZ(2,"mat-select",52),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",53),s.NdJ("click",function(){return s.CHM(e),s.oxw().onChannelUpdate("all")}),s._uU(5,"Update Fee Policy"),s.qZA(),s.TgZ(6,"mat-option",53),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(7,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function us(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",54),s.TgZ(1,"div",55),s.TgZ(2,"mat-select",56),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",53),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onChannelClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",53),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onViewRemotePolicy(t)}),s._uU(7,"View Remote Fee"),s.qZA(),s.TgZ(8,"mat-option",53),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onChannelUpdate(t)}),s._uU(9,"Update Fee Policy"),s.qZA(),s.TgZ(10,"mat-option",53),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onChannelClose(t)}),s._uU(11,"Close Channel"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function ds(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No peers connected. Add a peer in order to open a channel."),s.qZA())}function hs(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No channels available."),s.qZA())}function ms(e,t){if(1&e&&(s.TgZ(0,"td",57),s.YNc(1,ds,2,0,"p",58),s.YNc(2,hs,2,0,"p",58),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",e.numPeers<1&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)),s.xp6(1),s.Q6J("ngIf",e.numPeers>0&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1))}}const ps=function(e){return{"display-none":e}};function fs(e,t){if(1&e&&s._UZ(0,"tr",59),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,ps,e.numPeers>0&&(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function gs(e,t){1&e&&s._UZ(0,"tr",60)}function xs(e,t){1&e&&s._UZ(0,"tr",61)}const Zs=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},ys=function(){return["no_peer"]};let As=(()=>{class e{constructor(e,t,n,i,a){this.logger=e,this.store=t,this.rtlEffects=n,this.clEffects=i,this.commonService=a,this.faEye=f.Mdf,this.faEyeSlash=f.Aq,this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=g.vn,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","msatoshi_to_us","msatoshi_to_them","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","actions"]):(this.flgSticky=!0,this.displayedColumns=["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","balancedness","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.numPeers=e.peers&&e.peers.length?e.peers.length:0,this.totalBalance=e.balance.totalBalance,this.channelsData=e.allChannels.filter(e=>"CHANNELD_NORMAL"===e.state&&e.connected),this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.allChannels),this.logger.info(e)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}onViewRemotePolicy(e){this.store.dispatch(new x.IG({shortChannelID:e.short_channel_id,showError:!0})),this.clEffects.setLookupCL.pipe((0,Ke.q)(1)).subscribe(e=>{if(0===e.length)return!1;let t={};t=e[0].source!==this.information.id?e[0]:e[1],this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Remote Channel Policy",message:[[{key:"base_fee_millisatoshi",value:t.base_fee_millisatoshi,title:"Base Fees (mSats)",width:34,type:g.Gi.NUMBER},{key:"fee_per_millionth",value:t.fee_per_millionth,title:"Fee/Millionth",width:33,type:g.Gi.NUMBER},{key:"delay",value:t.delay,title:"Delay",width:33,type:g.Gi.NUMBER}]]}}))})}onChannelUpdate(e){"all"!==e&&"ONCHAIN"===e.state||("all"===e?(this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update All",message:[],titleMessage:"Update fee policy for all channels",flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:1e3,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:1,min:1,width:48,hintFunction:this.percentHintFunction}]}})),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{if(e){const t=e[0].inputValue,n=e[1].inputValue;this.store.dispatch(new se.Fk("Updating Channel Policy...")),this.store.dispatch(new x.k({baseFeeMsat:t,feeRate:n,channelId:"all"}))}})):(this.myChanPolicy={fee_base_msat:0,fee_rate_milli_msat:0},this.store.dispatch(new se.Fk("Fetching Channel Policy...")),this.store.dispatch(new x.IG({shortChannelID:e.short_channel_id,showError:!1})),this.clEffects.setLookupCL.pipe((0,Ke.q)(1)).subscribe(t=>{this.myChanPolicy=t.length>0&&t[0].source===this.information.id?{fee_base_msat:t[0].base_fee_millisatoshi,fee_rate_milli_msat:t[0].fee_per_millionth}:t.length>1&&t[1].source===this.information.id?{fee_base_msat:t[1].base_fee_millisatoshi,fee_rate_milli_msat:t[1].fee_per_millionth}:{fee_base_msat:0,fee_rate_milli_msat:0},this.logger.info(this.myChanPolicy),this.store.dispatch(new se.Iv),this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update",message:[],titleMessage:"Update fee policy for Channel: "+e.channel_id,flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSats)",inputType:"number",inputValue:""===this.myChanPolicy.fee_base_msat?0:this.myChanPolicy.fee_base_msat,width:48},{placeholder:"Fee Rate (mili mSats)",inputType:"number",inputValue:this.myChanPolicy.fee_rate_milli_msat,min:1,width:48,hintFunction:this.percentHintFunction}]}}))}),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[2])).subscribe(t=>{if(t){const n=t[0].inputValue,i=t[1].inputValue;this.store.dispatch(new se.Fk("Updating Channel Policy...")),this.store.dispatch(new x.k({baseFeeMsat:n,feeRate:i,channelId:e.channel_id}))}})),this.applyFilter())}percentHintFunction(e){return(e/1e4).toString()+"%"}onChannelClose(e){this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Close Channel",titleMessage:"Closing channel: "+e.channel_id,noBtnText:"Cancel",yesBtnText:"Close Channel"}})),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[3])).subscribe(t=>{t&&(this.store.dispatch(new se.Fk("Closing Channel...")),this.store.dispatch(new x.e8({channelId:e.channel_id,force:!1})))})}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(e,t){this.store.dispatch(new se.wu({data:{channel:e,showCopy:!0,component:Mo}}))}loadChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?1:-1}),this.channels=new ae.by([...e]),this.channels.filterPredicate=(e,t)=>((e.connected?"connected":"disconnected")+(e.channel_id?e.channel_id.toLowerCase():"")+(e.short_channel_id?e.short_channel_id.toLowerCase():"")+(e.id?e.id.toLowerCase():"")+(e.alias?e.alias.toLowerCase():"")+(e.private?"private":"public")+(e.state?e.state.toLowerCase():"")+(e.funding_txid?e.funding_txid.toLowerCase():"")+(e.msatoshi_to_us?e.msatoshi_to_us:"")+(e.msatoshi_total?e.msatoshi_total:"")+(e.their_channel_reserve_satoshis?e.their_channel_reserve_satoshis:"")+(e.our_channel_reserve_satoshis?e.our_channel_reserve_satoshis:"")+(e.spendable_msatoshi?e.spendable_msatoshi:"")).includes(t),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Open-channels")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(Ae.V),s.Y36(We.s),s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-open-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Channels")}])],decls:48,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","short_channel_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","connected"],["matColumnDef","private"],["matColumnDef","state"],["matColumnDef","msatoshi_to_us"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_to_them"],["matColumnDef","msatoshi_total"],["matColumnDef","spendable_msatoshi"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-3"],["mat-cell","",1,"pl-3"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return t.applyFilter()})("ngModelChange",function(e){return t.selFilter=e}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,Yo,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,Qo,2,0,"th",10),s.YNc(11,Bo,6,6,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,Ho,2,0,"th",10),s.YNc(14,Vo,4,4,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,zo,2,0,"th",10),s.YNc(17,Go,2,1,"td",11),s.BQk(),s.ynx(18,14),s.YNc(19,Xo,2,0,"th",10),s.YNc(20,$o,2,1,"td",11),s.BQk(),s.ynx(21,15),s.YNc(22,Ko,2,0,"th",10),s.YNc(23,Wo,2,1,"td",11),s.BQk(),s.ynx(24,16),s.YNc(25,jo,2,0,"th",17),s.YNc(26,es,4,4,"td",11),s.BQk(),s.ynx(27,18),s.YNc(28,ts,2,0,"th",17),s.YNc(29,ns,4,4,"td",11),s.BQk(),s.ynx(30,19),s.YNc(31,is,2,0,"th",17),s.YNc(32,as,4,3,"td",11),s.BQk(),s.ynx(33,20),s.YNc(34,os,2,0,"th",17),s.YNc(35,ss,4,3,"td",11),s.BQk(),s.ynx(36,21),s.YNc(37,ls,2,0,"th",22),s.YNc(38,rs,6,4,"td",23),s.BQk(),s.ynx(39,24),s.YNc(40,cs,8,0,"th",25),s.YNc(41,us,12,0,"td",26),s.BQk(),s.ynx(42,27),s.YNc(43,ms,3,2,"td",28),s.BQk(),s.YNc(44,fs,1,3,"tr",29),s.YNc(45,gs,1,0,"tr",30),s.YNc(46,xs,1,0,"tr",31),s.qZA(),s.qZA(),s._UZ(47,"mat-paginator",32),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.selFilter),s.xp6(2),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(11,Zs,"error"===t.flgLoading[0])),s.xp6(37),s.Q6J("matFooterRowDef",s.DdM(13,ys)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,re.Nt,le.Fj,le.JJ,le.On,M.$V,i.O5,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,i.PC,S.Zl,O.gM,T.BN,D.bx,de.gD,de.$L,me.ey,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.JJ],styles:[".mat-column-short_channel_id[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-short_channel_id[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-alias[_ngcontent-%COMP%]{flex:0 0 20%;width:20%}.mat-column-alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:3rem;flex:0 0 22%;width:22%}.mat-column-msatoshi_to_them[_ngcontent-%COMP%], .mat-column-msatoshi_to_us[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%]{flex:1 1 15%;width:15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-msatoshi_to_them[_ngcontent-%COMP%], .mat-column-msatoshi_to_us[_ngcontent-%COMP%], .mat-column-state[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),e})();function ws(e,t){1&e&&s._UZ(0,"mat-progress-bar",29)}function Ts(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," Short Channel ID "),s.qZA())}function vs(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.short_channel_id,"")}}function bs(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," Alias "),s.qZA())}function qs(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(null==e?null:e.alias)}}function Cs(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," Connected "),s.qZA())}function _s(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null!=e&&e.connected?"Connected":"Disconnected"," ")}}function Ss(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," Private "),s.qZA())}function Ls(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null!=e&&e.private?"Private":"Public"," ")}}function Us(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," State "),s.qZA())}function Fs(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.state,"")}}function ks(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," mSatoshi To Us "),s.qZA())}function Ns(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.msatoshi_to_us)," ")}}function Js(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Total (Sats) "),s.qZA())}function Ds(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,(null==e?null:e.msatoshi_total)/1e3)," ")}}function Os(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Spendable Satoshi "),s.qZA())}function Rs(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.spendable_msatoshi)," ")}}function Ms(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",34),s.TgZ(1,"div",35),s.TgZ(2,"mat-select",36),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",37),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ys(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-option",37),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw().onChannelClose(t)}),s._uU(1,"Close Channel"),s.qZA()}}function Qs(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",38),s.TgZ(1,"div",35),s.TgZ(2,"mat-select",39),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",37),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onChannelClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.YNc(6,Ys,2,0,"mat-option",40),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.xp6(6),s.Q6J("ngIf",n.isCompatibleVersion&&!e.connected&&"CHANNELD_NORMAL"===e.state)}}function Is(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No peers connected. Add a peer in order to open a channel."),s.qZA())}function Ps(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No channels available."),s.qZA())}function Es(e,t){if(1&e&&(s.TgZ(0,"td",41),s.YNc(1,Is,2,0,"p",42),s.YNc(2,Ps,2,0,"p",42),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",e.numPeers<1&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)),s.xp6(1),s.Q6J("ngIf",e.numPeers>0&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1))}}const Bs=function(e){return{"display-none":e}};function Hs(e,t){if(1&e&&s._UZ(0,"tr",43),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Bs,e.numPeers>0&&(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Vs(e,t){1&e&&s._UZ(0,"tr",44)}function zs(e,t){1&e&&s._UZ(0,"tr",45)}const Gs=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Xs=function(){return["no_peer"]};let $s=(()=>{class e{constructor(e,t,n,i,a){this.logger=e,this.store=t,this.rtlEffects=n,this.clEffects=i,this.commonService=a,this.isCompatibleVersion=!1,this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.feeRateTypes=g.vn,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","state","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","connected","state","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","connected","state","msatoshi_total","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","connected","state","msatoshi_total","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.information.api_version&&(this.isCompatibleVersion=this.commonService.isVersionCompatible(this.information.api_version,"0.4.2")),this.numPeers=e.peers&&e.peers.length?e.peers.length:0,this.totalBalance=e.balance.totalBalance,this.channelsData=this.commonService.sortByKey(e.allChannels.filter(e=>!("CHANNELD_NORMAL"===e.state&&e.connected)),"state","string"),this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.allChannels),this.logger.info(e)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(e,t){this.store.dispatch(new se.wu({data:{channel:e,showCopy:!0,component:Mo}}))}onChannelClose(e){this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Force Close Channel",titleMessage:"Force closing channel: "+e.channel_id,noBtnText:"Cancel",yesBtnText:"Force Close"}})),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[3])).subscribe(t=>{t&&(this.store.dispatch(new se.Fk("Force Closing Channel...")),this.store.dispatch(new x.e8({channelId:e.channel_id,force:!0})))})}loadChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?1:-1}),this.channels=new ae.by([...e]),this.channels.filterPredicate=(e,t)=>((e.connected?"connected":"disconnected")+(e.channel_id?e.channel_id.toLowerCase():"")+(e.short_channel_id?e.short_channel_id.toLowerCase():"")+(e.id?e.id.toLowerCase():"")+(e.alias?e.alias.toLowerCase():"")+(e.private?"private":"public")+(e.state?e.state.toLowerCase():"")+(e.funding_txid?e.funding_txid.toLowerCase():"")+(e.msatoshi_to_us?e.msatoshi_to_us:"")+(e.msatoshi_total?e.msatoshi_total:"")+(e.their_channel_reserve_satoshis?e.their_channel_reserve_satoshis:"")+(e.our_channel_reserve_satoshis?e.our_channel_reserve_satoshis:"")+(e.spendable_msatoshi?e.spendable_msatoshi:"")).includes(t),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.logger.info(this.channels)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Pending-inactive-channels")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(Ae.V),s.Y36(We.s),s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-channel-pending-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Channels")}])],decls:42,vars:14,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","short_channel_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","connected"],["matColumnDef","private"],["matColumnDef","state"],["matColumnDef","msatoshi_to_us"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi_total"],["matColumnDef","spendable_msatoshi"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pr-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pr-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pr-3"],["placeholder","Actions","tabindex","4",1,"mr-0"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return t.applyFilter()})("ngModelChange",function(e){return t.selFilter=e}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,ws,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,Ts,2,0,"th",10),s.YNc(11,vs,2,1,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,bs,2,0,"th",10),s.YNc(14,qs,2,1,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,Cs,2,0,"th",10),s.YNc(17,_s,2,1,"td",11),s.BQk(),s.ynx(18,14),s.YNc(19,Ss,2,0,"th",10),s.YNc(20,Ls,2,1,"td",11),s.BQk(),s.ynx(21,15),s.YNc(22,Us,2,0,"th",10),s.YNc(23,Fs,2,1,"td",11),s.BQk(),s.ynx(24,16),s.YNc(25,ks,2,0,"th",17),s.YNc(26,Ns,4,3,"td",11),s.BQk(),s.ynx(27,18),s.YNc(28,Js,2,0,"th",17),s.YNc(29,Ds,4,3,"td",11),s.BQk(),s.ynx(30,19),s.YNc(31,Os,2,0,"th",17),s.YNc(32,Rs,4,3,"td",11),s.BQk(),s.ynx(33,20),s.YNc(34,Ms,6,0,"th",21),s.YNc(35,Qs,7,1,"td",22),s.BQk(),s.ynx(36,23),s.YNc(37,Es,3,2,"td",24),s.BQk(),s.YNc(38,Hs,1,3,"tr",25),s.YNc(39,Vs,1,0,"tr",26),s.YNc(40,zs,1,0,"tr",27),s.qZA(),s.qZA(),s._UZ(41,"mat-paginator",28),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.selFilter),s.xp6(2),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(11,Gs,"error"===t.flgLoading[0])),s.xp6(31),s.Q6J("matFooterRowDef",s.DdM(13,Xs)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,re.Nt,le.Fj,le.JJ,le.On,M.$V,i.O5,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,de.gD,de.$L,me.ey,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();const Ks=["peersForm"],Ws=["stepper"];function js(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.peerFormLabel)}}function el(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Address is required."),s.qZA())}function tl(e,t){if(1&e&&(s.TgZ(0,"div",38),s._UZ(1,"fa-icon",39),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(2),s.Oqu(e.peerConnectionError)}}function nl(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.channelFormLabel)}}function il(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function al(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount must be a positive number."),s.qZA())}function ol(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function sl(e,t){if(1&e&&(s.TgZ(0,"mat-option",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.feeRateId),s.xp6(1),s.hij(" ",e.feeRateType," ")}}function ll(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Min Confirmation Blocks is required."),s.qZA())}function rl(e,t){if(1&e&&(s.TgZ(0,"div",38),s._UZ(1,"fa-icon",39),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(2),s.Oqu(e.channelConnectionError)}}let cl=(()=>{class e{constructor(e,t,n,i,a,o,s){this.dialogRef=e,this.data=t,this.store=n,this.clEffects=i,this.formBuilder=a,this.actions$=o,this.logger=s,this.faExclamationTriangle=f.eHv,this.peerAddress="",this.totalBalance=0,this.feeRateTypes=g.vn,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.unSubs=[new d.x,new d.x]}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerAddress=this.data.message.peer&&this.data.message.peer.id&&this.data.message.peer.netaddr?this.data.message.peer.id+"@"+this.data.message.peer.netaddr:this.data.message.peer&&this.data.message.peer.id&&!this.data.message.peer.netaddr?this.data.message.peer.id:"",this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[le.kI.required]],peerAddress:[this.peerAddress,[le.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[le.kI.required,le.kI.min(1),le.kI.max(this.totalBalance)]],isPrivate:[!1],selFeeRate:[null],flgMinConf:[!1],minConfValue:[null],hiddenAmount:["",[le.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.channelFormGroup.controls.flgMinConf.valueChanges.pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e?(this.channelFormGroup.controls.selFeeRate.setValue(null),this.channelFormGroup.controls.selFeeRate.disable(),this.channelFormGroup.controls.minConfValue.enable(),this.channelFormGroup.controls.minConfValue.setValidators([le.kI.required])):(this.channelFormGroup.controls.selFeeRate.enable(),this.channelFormGroup.controls.minConfValue.disable(),this.channelFormGroup.controls.minConfValue.setValidators(null))}),this.actions$.pipe((0,h.R)(this.unSubs[1]),(0,m.h)(e=>e.type===x.ab||e.type===x.GL||e.type===x.at)).subscribe(e=>{e.type===x.ab&&(this.logger.info(e.payload),this.flgEditable=!1,this.newlyAddedPeer=e.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),e.type===x.GL&&this.dialogRef.close(),e.type===x.at&&("SaveNewPeer"===e.payload.action?this.peerConnectionError=e.payload.message:"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="",this.store.dispatch(new se.Fk("Adding Peer...")),this.store.dispatch(new x.rF({id:this.peerFormGroup.controls.peerAddress.value}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0||this.channelFormGroup.controls.flgMinConf.value&&!this.channelFormGroup.controls.minConfValue.value)return!0;this.channelConnectionError="",this.store.dispatch(new se.Fk("Opening Channel...")),this.store.dispatch(new x.nb({peerId:this.newlyAddedPeer.id,satoshis:this.channelFormGroup.controls.fundingAmount.value,announce:!this.channelFormGroup.controls.isPrivate.value,feeRate:this.channelFormGroup.controls.selFeeRate.value,minconf:this.channelFormGroup.controls.flgMinConf.value?this.channelFormGroup.controls.minConfValue.value:null}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(e){switch(e.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.id):"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+(this.newlyAddedPeer.alias?this.newlyAddedPeer.alias:this.newlyAddedPeer.id):"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}e.selectedIndex{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(oe.so),s.Y36(oe.WI),s.Y36(y.yh),s.Y36(We.s),s.Y36(le.qu),s.Y36(A.eX),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-connect-peer"]],viewQuery:function(e,t){if(1&e&&(s.Gf(Ks,5),s.Gf(Ws,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.stepper=e.first)}},decls:55,vars:24,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","autoFocus","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","4","placeholder","Fee Rate","formControlName","selFeeRate"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48","fxLayout","row","fxLayoutAlign","start center"],["fxFlex","2","tabindex","5","color","primary","formControlName","flgMinConf","name","flgMinConf","fxLayoutAlign","stretch start",1,"mr-2"],["fxFlex","98"],["matInput","","formControlName","minConfValue","placeholder","Min Confirmation Blocks","type","number","name","blocks","tabindex","8",3,"step","min","required"],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Connect to a new peer"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"div",7),s.TgZ(10,"mat-vertical-stepper",8,9),s.NdJ("selectionChange",function(e){return t.stepSelectionChanged(e)}),s.TgZ(12,"mat-step",10),s.TgZ(13,"form",11),s.YNc(14,js,1,1,"ng-template",12),s.TgZ(15,"mat-form-field",1),s._UZ(16,"input",13),s.YNc(17,el,2,0,"mat-error",14),s.qZA(),s.YNc(18,tl,4,2,"div",15),s.TgZ(19,"div",16),s.TgZ(20,"button",17),s.NdJ("click",function(){return t.onConnectPeer()}),s._uU(21),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(22,"mat-step",10),s.TgZ(23,"form",18),s.YNc(24,nl,1,1,"ng-template",19),s.TgZ(25,"div",20),s.TgZ(26,"div",21),s.TgZ(27,"mat-form-field",22),s._UZ(28,"input",23),s.TgZ(29,"mat-hint"),s._uU(30),s.qZA(),s.TgZ(31,"span",24),s._uU(32," Sats "),s.qZA(),s.YNc(33,il,2,0,"mat-error",14),s.YNc(34,al,2,0,"mat-error",14),s.YNc(35,ol,2,1,"mat-error",14),s.qZA(),s.TgZ(36,"div",25),s.TgZ(37,"mat-slide-toggle",26),s._uU(38,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(39,"div",27),s.TgZ(40,"mat-form-field",28),s.TgZ(41,"mat-select",29),s.YNc(42,sl,2,2,"mat-option",30),s.qZA(),s.qZA(),s.TgZ(43,"div",31),s._UZ(44,"mat-checkbox",32),s.TgZ(45,"mat-form-field",33),s._UZ(46,"input",34),s.YNc(47,ll,2,0,"mat-error",14),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(48,rl,4,2,"div",15),s.TgZ(49,"div",16),s.TgZ(50,"button",35),s.NdJ("click",function(){return t.onOpenChannel()}),s._uU(51),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(52,"div",36),s.TgZ(53,"button",37),s._uU(54),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(10),s.Q6J("linear",!0),s.xp6(2),s.Q6J("stepControl",t.peerFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.peerFormGroup),s.xp6(4),s.Q6J("ngIf",null==t.peerFormGroup.controls.peerAddress.errors?null:t.peerFormGroup.controls.peerAddress.errors.required),s.xp6(1),s.Q6J("ngIf",""!==t.peerConnectionError),s.xp6(3),s.Oqu(""!==t.peerConnectionError?"Retry":"Add Peer"),s.xp6(1),s.Q6J("stepControl",t.channelFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.channelFormGroup),s.xp6(5),s.Q6J("step",1e3),s.xp6(2),s.hij("Remaining Bal: ",t.totalBalance-(t.channelFormGroup.controls.fundingAmount.value?t.channelFormGroup.controls.fundingAmount.value:0),""),s.xp6(3),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.min),s.xp6(1),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.max),s.xp6(7),s.Q6J("ngForOf",t.feeRateTypes),s.xp6(4),s.Q6J("step",1)("min",0)("required",t.channelFormGroup.controls.flgMinConf.value),s.xp6(1),s.Q6J("ngIf",t.channelFormGroup.controls.flgMinConf.value&&!t.channelFormGroup.controls.minConfValue.value),s.xp6(1),s.Q6J("ngIf",""!==t.channelConnectionError),s.xp6(3),s.Oqu(""!==t.channelConnectionError?"Retry":"Open Channel"),s.xp6(2),s.Q6J("mat-dialog-close",!1),s.xp6(1),s.Oqu(null!=t.newlyAddedPeer&&t.newlyAddedPeer.id?"Do It Later":"Close"))},directives:[l.xw,l.yH,b.dk,l.Wh,C.lW,b.dn,In.Vq,In.C0,le._Y,le.JL,le.sg,In.VY,D.KE,re.Nt,le.Fj,ce.h,le.JJ,le.u,le.Q7,i.O5,le.wV,D.bx,D.R9,he.Rr,de.gD,i.sg,Yn.oG,le.qQ,ue.q,oe.ZT,D.TO,T.BN,me.ey],styles:[""]}),e})();function ul(e,t){1&e&&s._UZ(0,"mat-progress-bar",32)}function dl(e,t){1&e&&(s.TgZ(0,"th",33),s._uU(1," Alias "),s.qZA())}const hl=function(e){return{"mr-0":e}};function ml(e,t){if(1&e&&s._UZ(0,"span",37),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,hl,e.screenSize===e.screenSizeEnum.XS))}}function pl(e,t){if(1&e&&s._UZ(0,"span",38),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,hl,e.screenSize===e.screenSizeEnum.XS))}}const fl=function(e){return{"max-width":e}};function gl(e,t){if(1&e&&(s.TgZ(0,"td",34),s.YNc(1,ml,1,3,"span",35),s.YNc(2,pl,1,3,"span",36),s._uU(3),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(4,fl,n.screenSize===n.screenSizeEnum.XS?"10rem":"40rem")),s.xp6(1),s.Q6J("ngIf",null==e?null:e.connected),s.xp6(1),s.Q6J("ngIf",!(null!=e&&e.connected)),s.xp6(1),s.hij(" ",null==e?null:e.alias," ")}}function xl(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1," ID "),s.qZA())}function Zl(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,fl,n.screenSize===n.screenSizeEnum.XS?"10rem":"40rem")),s.xp6(1),s.hij(" ",null==e?null:e.id," ")}}function yl(e,t){1&e&&(s.TgZ(0,"th",33),s._uU(1," Network Address "),s.qZA())}function Al(e,t){1&e&&(s.TgZ(0,"span"),s._uU(1,","),s._UZ(2,"br"),s.qZA())}function wl(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.YNc(2,Al,3,0,"span",42),s.qZA()),2&e){const e=t.$implicit,n=t.last;s.xp6(1),s.Oqu(e),s.xp6(1),s.Q6J("ngIf",!n)}}function Tl(e,t){if(1&e&&(s.TgZ(0,"td",34),s.YNc(1,wl,3,2,"span",41),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,fl,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(1),s.Q6J("ngForOf",null==e?null:e.netaddr)}}function vl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",43),s.TgZ(1,"div",44),s.TgZ(2,"mat-select",45),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",46),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function bl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-option",46),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw().onPeerDetach(t)}),s._uU(1,"Disconnect"),s.qZA()}}function ql(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-option",46),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw().onConnectPeer(t)}),s._uU(1,"Reconnect"),s.qZA()}}function Cl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",47),s.TgZ(1,"div",48),s.TgZ(2,"mat-select",45),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",46),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onPeerClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",46),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onOpenChannel(t)}),s._uU(7,"Open Channel"),s.qZA(),s.YNc(8,bl,2,0,"mat-option",49),s.YNc(9,ql,2,0,"mat-option",49),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit;s.xp6(8),s.Q6J("ngIf",e.connected),s.xp6(1),s.Q6J("ngIf",!e.connected)}}function _l(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No connected peers."),s.qZA())}function Sl(e,t){if(1&e&&(s.TgZ(0,"td",50),s.YNc(1,_l,2,0,"p",42),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.peers&&e.peers.data)||(null==e.peers||null==e.peers.data?null:e.peers.data.length)<1)}}const Ll=function(e){return{"display-none":e}};function Ul(e,t){if(1&e&&s._UZ(0,"tr",51),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Ll,(null==e.peers?null:e.peers.data)&&(null==e.peers||null==e.peers.data?null:e.peers.data.length)>0))}}function Fl(e,t){1&e&&s._UZ(0,"tr",52)}function kl(e,t){if(1&e&&s._UZ(0,"tr",53),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("@newlyAddedRowAnimation",e.pub_key===n.newlyAddedPeer&&n.flgAnimate?"added":"notAdded")}}const Nl=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Jl=function(){return["no_peer"]};let Dl=(()=>{class e{constructor(e,t,n,i,a,o){this.logger=e,this.store=t,this.rtlEffects=n,this.clEffects=i,this.actions$=a,this.commonService=o,this.faUsers=f.FVb,this.newlyAddedPeer="",this.flgAnimate=!0,this.displayedColumns=[],this.peerAddress="",this.peersData=[],this.information={},this.availableBalance=0,this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","id","netaddr","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","id","netaddr","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchPeers"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.availableBalance=e.balance.totalBalance||0,this.peersData=e.peers?e.peers:[],this.peersData.length>0&&this.loadPeersTable(this.peersData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!1),this.logger.info(e)}),this.actions$.pipe((0,h.R)(this.unSubs[1]),(0,m.h)(e=>e.type===x.sX)).subscribe(e=>{this.peerAddress=void 0,this.flgAnimate=!0})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(e,t){this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:e.id,message:[[{key:"id",value:e.id,title:"Public Key",width:100}],[{key:"netaddr",value:e.netaddr,title:"Address",width:100}],[{key:"alias",value:e.alias,title:"Alias",width:50},{key:"connected",value:e.connected?"True":"False",title:"Connected",width:50}]]}}))}onConnectPeer(e){this.store.dispatch(new se.wu({data:{message:{peer:e.id?e:null,information:this.information,balance:this.availableBalance},component:cl}}))}onOpenChannel(e){this.store.dispatch(new se.wu({data:{alertTitle:"Open Channel",message:{peer:e,information:this.information,balance:this.availableBalance},newlyAdded:!1,component:_o}}))}onPeerDetach(e){this.store.dispatch(new se.b_({data:{type:g.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(e.alias?e.alias:e.id),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,h.R)(this.unSubs[3])).subscribe(t=>{t&&(this.store.dispatch(new se.Fk("Disconnecting Peer...")),this.store.dispatch(new x.yw({id:e.id,force:!1})))})}applyFilter(e){this.peers.filter=e.value.trim().toLowerCase()}loadPeersTable(e){this.peers=new ae.by([...e]),this.peers.sortingDataAccessor=(e,t)=>{switch(t){case"netaddr":if(e.netaddr&&e.netaddr[0]){let t=e.netaddr[0].toString().split(".");return t[0]?+t[0]:e.netaddr[0]}return"";default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.peers.sort=this.sort,this.peers.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(Ae.V),s.Y36(We.s),s.Y36(A.eX),s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-peers"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Peers")}])],decls:36,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["peersForm","ngForm"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["fxLayout","row","fxLayoutAlign","start start"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","id"],["mat-header-cell","","class","px-3","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","px-3",3,"ngStyle",4,"matCellDef"],["matColumnDef","netaddr"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["class","dot green","matTooltip","Connected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Disconnected","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Connected","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Disconnected","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-header-cell","","mat-sort-header","",1,"px-3"],["mat-cell","",1,"px-3",3,"ngStyle"],[4,"ngFor","ngForOf"],[4,"ngIf"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["fxFlex","100","fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"button",3),s.NdJ("click",function(){return t.onConnectPeer({})}),s._uU(4,"Add Peer"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"div",5),s.TgZ(7,"div",6),s._UZ(8,"fa-icon",7),s.TgZ(9,"span",8),s._uU(10,"Connected Peers"),s.qZA(),s.qZA(),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"div",10),s.TgZ(13,"input",11),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(14,"div",12),s.YNc(15,ul,1,0,"mat-progress-bar",13),s.TgZ(16,"table",14,15),s.ynx(18,16),s.YNc(19,dl,2,0,"th",17),s.YNc(20,gl,4,6,"td",18),s.BQk(),s.ynx(21,19),s.YNc(22,xl,2,0,"th",20),s.YNc(23,Zl,2,4,"td",21),s.BQk(),s.ynx(24,22),s.YNc(25,yl,2,0,"th",17),s.YNc(26,Tl,2,4,"td",18),s.BQk(),s.ynx(27,23),s.YNc(28,vl,6,0,"th",24),s.YNc(29,Cl,10,2,"td",25),s.BQk(),s.ynx(30,26),s.YNc(31,Sl,2,1,"td",27),s.BQk(),s.YNc(32,Ul,1,3,"tr",28),s.YNc(33,Fl,1,0,"tr",29),s.YNc(34,kl,1,1,"tr",30),s.qZA(),s.qZA(),s._UZ(35,"mat-paginator",31),s.qZA(),s.qZA()),2&e&&(s.xp6(8),s.Q6J("icon",t.faUsers),s.xp6(7),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.peers)("ngClass",s.VKq(11,Nl,"error"===t.flgLoading[0])),s.xp6(16),s.Q6J("matFooterRowDef",s.DdM(13,Jl)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,le._Y,le.JL,le.F,C.lW,T.BN,D.KE,re.Nt,M.$V,i.O5,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ne.NW,r.pW,ae.ge,ie.nU,ae.ev,i.PC,S.Zl,O.gM,i.sg,de.gD,de.$L,me.ey,ae.yh,ae.Q2,ae.XQ,ae.Gk],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-id[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-id[_ngcontent-%COMP%]{padding-left:2rem}.mat-column-netaddr[_ngcontent-%COMP%]{flex:1 1 25%;width:25%}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[ye.Q]}}),e})();const Ol=["queryRoutesForm"];function Rl(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Destination pubkey is required."),s.qZA())}function Ml(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function Yl(e,t){1&e&&s._UZ(0,"mat-progress-bar",38)}function Ql(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1," ID "),s.qZA())}function Il(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.id," ")}}function Pl(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1," Alias "),s.qZA())}function El(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.alias," ")}}function Bl(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1," Channel "),s.qZA())}function Hl(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.channel," ")}}function Vl(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1," Direction "),s.qZA())}function zl(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.direction," ")}}function Gl(e,t){1&e&&(s.TgZ(0,"th",41),s._uU(1," Delay "),s.qZA())}function Xl(e,t){if(1&e&&(s.TgZ(0,"td",40),s.TgZ(1,"span",42),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.delay)," ")}}function $l(e,t){1&e&&(s.TgZ(0,"th",41),s._uU(1," Amount (Sats) "),s.qZA())}function Kl(e,t){if(1&e&&(s.TgZ(0,"td",40),s.TgZ(1,"span",42),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,(null==e?null:e.msatoshi)/1e3)," ")}}function Wl(e,t){1&e&&(s.TgZ(0,"th",43),s._uU(1," Amount mSat "),s.qZA())}function jl(e,t){if(1&e&&(s.TgZ(0,"td",44),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.amount_msat," ")}}function er(e,t){1&e&&(s.TgZ(0,"th",45),s.TgZ(1,"span",42),s._uU(2,"Actions"),s.qZA(),s.qZA())}function tr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",44),s.TgZ(1,"button",46),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onHopClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function nr(e,t){1&e&&s._UZ(0,"tr",47)}function ir(e,t){1&e&&s._UZ(0,"tr",48)}const ar=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}};let or=(()=>{class e{constructor(e,t,n){this.store=e,this.clEffects=t,this.commonService=n,this.destinationPubkey="",this.amount=null,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=f.FpQ,this.faExclamationTriangle=f.eHv,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","msatoshi","actions"]):this.screenSize===g.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","direction","msatoshi","actions"]):this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","direction","delay","msatoshi","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","channel","direction","delay","msatoshi","actions"])}ngOnInit(){this.clEffects.setQueryRoutesCL.pipe((0,h.R)(this.unSubs[1])).subscribe(e=>{this.qrHops=new ae.by([]),this.qrHops.data=[],e.routes?(this.flgLoading[0]=!1,this.qrHops=new ae.by([...e.routes]),this.qrHops.data=e.routes):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null})}onQueryRoutes(){if(!this.destinationPubkey||!this.amount)return!0;this.flgLoading[0]=!0,this.store.dispatch(new x.bm({destPubkey:this.destinationPubkey,amount:1e3*this.amount}))}resetData(){this.destinationPubkey="",this.amount=null,this.flgLoading[0]=!1,this.qrHops.data=[],this.form.resetForm()}onHopClick(e,t){this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"id",value:e.id,title:"ID",width:100,type:g.Gi.STRING}],[{key:"channel",value:e.channel,title:"Channel",width:50,type:g.Gi.STRING},{key:"alias",value:e.alias,title:"Peer Alias",width:50,type:g.Gi.STRING}],[{key:"msatoshi",value:e.msatoshi,title:"mSatoshi",width:50,type:g.Gi.NUMBER},{key:"amount_msat",value:e.amount_msat,title:"Amount mSat",width:50,type:g.Gi.STRING}],[{key:"direction",value:e.direction,title:"Direction",width:50,type:g.Gi.STRING},{key:"delay",value:e.delay,title:"Delay",width:50,type:g.Gi.NUMBER}]]}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(We.s),s.Y36(w.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-query-routes"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(Ol,7)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:54,vars:16,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Pubkey","name","destinationPubkey","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","mt-2","mb-1"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","channel"],["matColumnDef","direction"],["matColumnDef","delay"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","msatoshi"],["matColumnDef","amount_msat"],["mat-header-cell","","class","pl-4","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],["mat-header-cell","",1,"pl-4","pr-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.NdJ("ngSubmit",function(){return s.CHM(e),s.MAs(2).form.valid&&t.onQueryRoutes()}),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span"),s._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),s.qZA(),s.qZA(),s.TgZ(7,"mat-form-field",5),s.TgZ(8,"input",6,7),s.NdJ("ngModelChange",function(e){return t.destinationPubkey=e}),s.qZA(),s.YNc(10,Rl,2,0,"mat-error",8),s.qZA(),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(e){return t.amount=e}),s.qZA(),s.YNc(13,Ml,2,0,"mat-error",8),s.qZA(),s.TgZ(14,"div",11),s.TgZ(15,"button",12),s.NdJ("click",function(){return t.resetData()}),s._uU(16,"Clear"),s.qZA(),s.TgZ(17,"button",13),s._uU(18,"Query Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"div",14),s.TgZ(20,"div",15),s._UZ(21,"fa-icon",16),s.TgZ(22,"span",17),s._uU(23,"Transaction Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(24,"div",18),s.YNc(25,Yl,1,0,"mat-progress-bar",19),s.TgZ(26,"table",20,21),s.ynx(28,22),s.YNc(29,Ql,2,0,"th",23),s.YNc(30,Il,2,1,"td",24),s.BQk(),s.ynx(31,25),s.YNc(32,Pl,2,0,"th",23),s.YNc(33,El,2,1,"td",24),s.BQk(),s.ynx(34,26),s.YNc(35,Bl,2,0,"th",23),s.YNc(36,Hl,2,1,"td",24),s.BQk(),s.ynx(37,27),s.YNc(38,Vl,2,0,"th",23),s.YNc(39,zl,2,1,"td",24),s.BQk(),s.ynx(40,28),s.YNc(41,Gl,2,0,"th",29),s.YNc(42,Xl,4,3,"td",24),s.BQk(),s.ynx(43,30),s.YNc(44,$l,2,0,"th",29),s.YNc(45,Kl,4,3,"td",24),s.BQk(),s.ynx(46,31),s.YNc(47,Wl,2,0,"th",32),s.YNc(48,jl,2,1,"td",33),s.BQk(),s.ynx(49,34),s.YNc(50,er,3,0,"th",35),s.YNc(51,tr,3,0,"td",33),s.BQk(),s.YNc(52,nr,1,0,"tr",36),s.YNc(53,ir,1,0,"tr",37),s.qZA(),s.qZA(),s.qZA()}2&e&&(s.xp6(4),s.Q6J("icon",t.faExclamationTriangle),s.xp6(4),s.Q6J("ngModel",t.destinationPubkey),s.xp6(2),s.Q6J("ngIf",!t.destinationPubkey),s.xp6(2),s.Q6J("ngModel",t.amount)("step",1e3)("min",0),s.xp6(1),s.Q6J("ngIf",!t.amount),s.xp6(8),s.Q6J("icon",t.faRoute),s.xp6(4),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.qrHops)("ngClass",s.VKq(14,ar,"error"===t.flgLoading[0])),s.xp6(26),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns))},directives:[l.xw,l.yH,le._Y,le.JL,le.F,l.Wh,T.BN,D.KE,re.Nt,le.Fj,le.Q7,le.JJ,le.On,i.O5,le.wV,le.qQ,ue.q,C.lW,M.$V,ae.BZ,ie.YE,i.mk,S.oO,ae.w1,ae.fO,ae.Dz,ae.as,ae.nj,D.TO,r.pW,ae.ge,ie.nU,ae.ev,ae.XQ,ae.Gk],pipes:[i.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var sr=n(3556);function lr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Message is required."),s.qZA())}let rr=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.signedMessage="",this.signature="",this.unSubs=[new d.x,new d.x]}onSign(){if(!this.message||""===this.message)return!0;this.dataService.signMessage(this.message).pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.signedMessage=this.message,this.signature=e.zbase})}onMessageChange(){this.signedMessage!==this.message&&(this.signature="")}onCopyField(e){this.snackBar.open("Signature copied."),this.logger.info("Copied Text: "+e)}resetData(){this.message="",this.signature="",this.signedMessage=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(sr.D),s.Y36(Mn.ux),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-sign"]],decls:20,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to sign","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","4","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"textarea",4),s.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onMessageChange()}),s.qZA(),s.YNc(5,lr,2,0,"mat-error",5),s.qZA(),s.TgZ(6,"div",6),s.TgZ(7,"button",7),s.NdJ("click",function(){return t.resetData()}),s._uU(8,"Clear Field"),s.qZA(),s.TgZ(9,"button",8),s.NdJ("click",function(){return t.onSign()}),s._uU(10,"Sign"),s.qZA(),s.qZA(),s._UZ(11,"mat-divider",9),s.TgZ(12,"div",10),s.TgZ(13,"p"),s._uU(14,"Generated Signature"),s.qZA(),s.qZA(),s.TgZ(15,"div",11),s._uU(16),s.qZA(),s.TgZ(17,"div",12),s.TgZ(18,"button",13),s.NdJ("copied",function(e){return t.onCopyField(e)}),s._uU(19,"Copy Signature"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.message),s.xp6(1),s.Q6J("ngIf",!t.message),s.xp6(6),s.Q6J("inset",!0),s.xp6(5),s.Oqu(t.signature),s.xp6(2),s.Q6J("payload",t.signature))},directives:[l.xw,l.yH,l.Wh,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,ce.h,le.Q7,le.JJ,le.On,i.O5,C.lW,R.d,aa.y,D.TO],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function cr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Message is required."),s.qZA())}function ur(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Signature is required."),s.qZA())}function dr(e,t){1&e&&(s.TgZ(0,"p",13),s.TgZ(1,"mat-icon",14),s._uU(2,"close"),s.qZA(),s._uU(3,"Verification failed, please double check message and signature"),s.qZA())}function hr(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Pubkey Used"),s.qZA())}function mr(e,t){if(1&e&&(s.TgZ(0,"div",20),s.TgZ(1,"p"),s._uU(2),s.qZA(),s.qZA()),2&e){const e=s.oxw(2);s.xp6(2),s.Oqu(null==e.verifyRes?null:e.verifyRes.pubkey)}}function pr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",21),s.TgZ(1,"button",22),s.NdJ("copied",function(t){return s.CHM(e),s.oxw(2).onCopyField(t)}),s._uU(2,"Copy Pubkey"),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("payload",null==e.verifyRes?null:e.verifyRes.pubkey)}}function fr(e,t){if(1&e&&(s.TgZ(0,"div",15),s._UZ(1,"mat-divider",16),s.TgZ(2,"div",17),s.YNc(3,hr,2,0,"p",5),s.qZA(),s.YNc(4,mr,3,1,"div",18),s.YNc(5,pr,3,1,"div",19),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(2),s.Q6J("ngIf",e.verifyRes.verified),s.xp6(1),s.Q6J("ngIf",e.verifyRes.verified),s.xp6(1),s.Q6J("ngIf",e.verifyRes.verified)}}let gr=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.verifiedMessage="",this.signature="",this.verifiedSignature="",this.showVerifyStatus=!1,this.verifyRes={pubkey:"",verified:null},this.unSubs=[new d.x,new d.x]}onVerify(){if(!this.message||""===this.message||!this.signature||""===this.signature)return!0;this.dataService.verifyMessage(this.message,this.signature).pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.verifyRes=e,this.showVerifyStatus=!0,this.verifiedMessage=this.message,this.verifiedSignature=this.signature})}onChange(){this.verifiedMessage===this.message&&this.verifiedSignature===this.signature||(this.showVerifyStatus=!1,this.verifyRes={pubkey:"",verified:null})}resetData(){this.message="",this.signature="",this.verifyRes=null,this.showVerifyStatus=!1}onCopyField(e){this.snackBar.open("Pubkey copied."),this.logger.info("Copied Text: "+e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(sr.D),s.Y36(Mn.ux),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-verify"]],decls:17,vars:6,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to verify","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["matInput","","placeholder","Signature provided","name","signature","tabindex","2","required","",3,"ngModel","ngModelChange","keyup"],["sign","ngModel"],["fxFlex","100","class","color-warn","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start","class","bordered-box read-only h-4 padding-gap",4,"ngIf"],["fxLayout","row","class","mt-2",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"textarea",4),s.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onChange()}),s.qZA(),s.YNc(5,cr,2,0,"mat-error",5),s.qZA(),s.TgZ(6,"mat-form-field",3),s.TgZ(7,"input",6,7),s.NdJ("ngModelChange",function(e){return t.signature=e})("keyup",function(){return t.onChange()}),s.qZA(),s.YNc(9,ur,2,0,"mat-error",5),s.qZA(),s.YNc(10,dr,4,0,"p",8),s.TgZ(11,"div",9),s.TgZ(12,"button",10),s.NdJ("click",function(){return t.resetData()}),s._uU(13,"Clear Fields"),s.qZA(),s.TgZ(14,"button",11),s.NdJ("click",function(){return t.onVerify()}),s._uU(15,"Verify"),s.qZA(),s.qZA(),s.YNc(16,fr,6,4,"div",12),s.qZA(),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.message),s.xp6(1),s.Q6J("ngIf",!t.message),s.xp6(2),s.Q6J("ngModel",t.signature),s.xp6(2),s.Q6J("ngIf",!t.signature),s.xp6(1),s.Q6J("ngIf",t.showVerifyStatus&&!t.verifyRes.verified),s.xp6(6),s.Q6J("ngIf",t.showVerifyStatus&&t.verifyRes.verified))},directives:[l.xw,l.yH,l.Wh,le._Y,le.JL,le.F,D.KE,re.Nt,le.Fj,ce.h,le.Q7,le.JJ,le.On,i.O5,C.lW,D.TO,_.Hw,R.d,aa.y],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function xr(e,t){if(1&e&&(s.TgZ(0,"div",5),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.errorMessage)}}function Zr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",6),s._UZ(1,"div",7),s.TgZ(2,"mat-form-field",8),s.TgZ(3,"input",9),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().filterValue=t})("input",function(){return s.CHM(e),s.oxw().applyFilter()})("keyup",function(){return s.CHM(e),s.oxw().applyFilter()}),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.filterValue)}}function yr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Status"),s.qZA())}function Ar(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(null==e?null:e.status)}}function wr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Received Time"),s.qZA())}function Tr(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*(null==e?null:e.received_time),"dd/MMM/YYYY HH:mm"))}}function vr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Resolved Time"),s.qZA())}function br(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*(null==e?null:e.resolved_time),"dd/MMM/YYYY HH:mm"))}}function qr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"In Channel"),s.qZA())}function Cr(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu((null==e?null:e.in_channel_alias)||(null==e?null:e.in_channel))}}function _r(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Out Channel"),s.qZA())}function Sr(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu((null==e?null:e.out_channel_alias)||(null==e?null:e.out_channel))}}function Lr(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Amount In (Sats)"),s.qZA())}function Ur(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.in_msatoshi)/1e3,(null==e?null:e.in_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function Fr(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Amount Out (Sats)"),s.qZA())}function kr(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.out_msatoshi)/1e3,(null==e?null:e.out_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function Nr(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Fee (mSat)"),s.qZA())}function Jr(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==e?null:e.fee))}}function Dr(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1,"Payment Hash"),s.qZA())}function Or(e,t){if(1&e&&(s.TgZ(0,"td",40),s.TgZ(1,"div"),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.Dn7(3,1,null==e?null:e.payment_hash,0,10),"...")}}function Rr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",41),s.TgZ(1,"div",42),s.TgZ(2,"mat-select",43),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",44),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Mr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",45),s.TgZ(1,"button",46),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onForwardingEventClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Yr(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No forwarding event available."),s.qZA())}function Qr(e,t){if(1&e&&(s.TgZ(0,"td",47),s.YNc(1,Yr,2,0,"p",48),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)}}const Ir=function(e){return{"display-none":e}};function Pr(e,t){if(1&e&&s._UZ(0,"tr",49),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Ir,(null==e.forwardingHistoryEvents?null:e.forwardingHistoryEvents.data)&&(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)>0))}}function Er(e,t){1&e&&s._UZ(0,"tr",50)}function Br(e,t){1&e&&s._UZ(0,"tr",51)}const Hr=function(){return["no_event"]};function Vr(e,t){if(1&e&&(s.TgZ(0,"div",10),s.TgZ(1,"table",11,12),s.ynx(3,13),s.YNc(4,yr,2,0,"th",14),s.YNc(5,Ar,2,1,"td",15),s.BQk(),s.ynx(6,16),s.YNc(7,wr,2,0,"th",14),s.YNc(8,Tr,3,4,"td",15),s.BQk(),s.ynx(9,17),s.YNc(10,vr,2,0,"th",14),s.YNc(11,br,3,4,"td",15),s.BQk(),s.ynx(12,18),s.YNc(13,qr,2,0,"th",14),s.YNc(14,Cr,2,1,"td",15),s.BQk(),s.ynx(15,19),s.YNc(16,_r,2,0,"th",14),s.YNc(17,Sr,2,1,"td",15),s.BQk(),s.ynx(18,20),s.YNc(19,Lr,2,0,"th",21),s.YNc(20,Ur,4,4,"td",15),s.BQk(),s.ynx(21,22),s.YNc(22,Fr,2,0,"th",21),s.YNc(23,kr,4,4,"td",15),s.BQk(),s.ynx(24,23),s.YNc(25,Nr,2,0,"th",21),s.YNc(26,Jr,4,3,"td",15),s.BQk(),s.ynx(27,24),s.YNc(28,Dr,2,0,"th",25),s.YNc(29,Or,4,5,"td",26),s.BQk(),s.ynx(30,27),s.YNc(31,Rr,6,0,"th",28),s.YNc(32,Mr,3,0,"td",29),s.BQk(),s.ynx(33,30),s.YNc(34,Qr,2,1,"td",31),s.BQk(),s.YNc(35,Pr,1,3,"tr",32),s.YNc(36,Er,1,0,"tr",33),s.YNc(37,Br,1,0,"tr",34),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("dataSource",e.forwardingHistoryEvents),s.xp6(34),s.Q6J("matFooterRowDef",s.DdM(5,Hr)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}const zr=function(e){return{"error-border":e,"padding-gap-x":!0}};let Gr=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.commonService=t,this.store=n,this.datePipe=i,this.eventsData=[],this.filterValue="",this.successfulEvents=[],this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["in_msatoshi","out_msatoshi","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["received_time","in_msatoshi","out_msatoshi","fee","actions"]):(this.flgSticky=!0,this.displayedColumns=["received_time","resolved_time","in_channel","out_channel","in_msatoshi","out_msatoshi","fee","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.eventsData.length<=0&&(this.errorMessage="",e.effectErrors.forEach(e=>{"GetForwardingHistory"===e.action&&(this.errorMessage="object"==typeof e.message?JSON.stringify(e.message):e.message)}),this.successfulEvents=e.forwardingHistory&&e.forwardingHistory.forwarding_events&&e.forwardingHistory.forwarding_events.length>0?this.filterSuccessfulEvents(e.forwardingHistory.forwarding_events):[],this.loadForwardingEventsTable(this.successfulEvents),this.logger.info(e))})}ngAfterViewInit(){this.successfulEvents.length>0&&this.loadForwardingEventsTable(this.successfulEvents)}ngOnChanges(e){e.eventsData&&(this.eventsData=e.eventsData.currentValue,this.successfulEvents=this.eventsData,e.eventsData.firstChange||this.loadForwardingEventsTable(this.successfulEvents)),e.filterValue&&!e.filterValue.firstChange&&this.applyFilter()}filterSuccessfulEvents(e){return e.filter(e=>"settled"===e.status)}onForwardingEventClick(e,t){this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Event Information",message:[[{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:100,type:g.Gi.STRING}],[{key:"received_time",value:e.received_time,title:"Received Time",width:50,type:g.Gi.DATE_TIME},{key:"resolved_time",value:e.resolved_time,title:"Resolved Time",width:50,type:g.Gi.DATE_TIME}],[{key:"in_channel",value:e.in_channel_alias?e.in_channel_alias:e.in_channel,title:"Inbound Channel",width:50,type:g.Gi.STRING},{key:"out_channel",value:e.out_channel_alias?e.out_channel_alias:e.out_channel,title:"Outbound Channel",width:50,type:g.Gi.STRING}],[{key:"status",value:"settled"===e.status?"Settled":"Failed",title:"Status",width:50,type:g.Gi.STRING},{key:"fee",value:e.fee,title:"Fee (mSats)",width:50,type:g.Gi.NUMBER}],[{key:"in_msatoshi",value:e.in_msatoshi,title:"In (mSats)",width:50,type:g.Gi.NUMBER},{key:"out_msatoshi",value:e.out_msatoshi,title:"Out (mSats)",width:50,type:g.Gi.NUMBER}]]}}))}loadForwardingEventsTable(e){this.forwardingHistoryEvents=new ae.by([...e]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.forwardingHistoryEvents.paginator=this.paginator,this.forwardingHistoryEvents.filterPredicate=(e,t)=>((e.received_time?this.datePipe.transform(new Date(1e3*e.received_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.resolved_time?this.datePipe.transform(new Date(1e3*e.resolved_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.in_channel?e.in_channel.toLowerCase():"")+(e.out_channel?e.out_channel.toLowerCase():"")+(e.in_msatoshi?e.in_msatoshi/1e3:"")+(e.out_msatoshi?e.out_msatoshi/1e3:"")+(e.fee?e.fee:"")).includes(t),this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(i.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-forwarding-history"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Events")}]),s.TTD],decls:5,vars:9,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[1,"p-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","received_time"],["matColumnDef","resolved_time"],["matColumnDef","in_channel"],["matColumnDef","out_channel"],["matColumnDef","in_msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","out_msatoshi"],["matColumnDef","fee"],["matColumnDef","payment_hash"],["mat-header-cell","","class","pl-4","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,xr,2,1,"div",1),s.YNc(2,Zr,4,1,"div",2),s.YNc(3,Vr,38,6,"div",3),s._UZ(4,"mat-paginator",4),s.qZA()),2&e&&(s.Q6J("ngClass",s.VKq(7,zr,""!==t.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,i.mk,S.oO,i.O5,ne.NW,l.yH,D.KE,re.Nt,le.Fj,le.JJ,le.On,M.$V,ae.BZ,ie.YE,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ae.ge,ie.nU,ae.ev,de.gD,de.$L,me.ey,C.lW,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.uU,i.JJ,i.OU],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function Xr(e,t){if(1&e&&(s.TgZ(0,"div",5),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.errorMessage)}}function $r(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",6),s._UZ(1,"div",7),s.TgZ(2,"mat-form-field",8),s.TgZ(3,"input",9),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA()}}function Kr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Status"),s.qZA())}function Wr(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.ALo(2,"titlecase"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,null==e?null:e.status))}}function jr(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Received Time"),s.qZA())}function ec(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*(null==e?null:e.received_time),"dd/MMM/YYYY HH:mm"))}}function tc(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Resolved Time"),s.qZA())}function nc(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*(null==e?null:e.resolved_time),"dd/MMM/YYYY HH:mm"))}}function ic(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"In Channel"),s.qZA())}function ac(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu((null==e?null:e.in_channel_alias)||(null==e?null:e.in_channel))}}function oc(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1,"Out Channel"),s.qZA())}function sc(e,t){if(1&e&&(s.TgZ(0,"td",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu((null==e?null:e.out_channel_alias)||(null==e?null:e.out_channel))}}function lc(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Amount In (Sats)"),s.qZA())}function rc(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.in_msatoshi)/1e3,(null==e?null:e.in_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function cc(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Amount Out (Sats)"),s.qZA())}function uc(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,1,(null==e?null:e.out_msatoshi)/1e3,(null==e?null:e.out_msatoshi)<1e3?"1.0-4":"1.0-0"))}}function dc(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1,"Fee mSat"),s.qZA())}function hc(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==e?null:e.fee))}}function mc(e,t){1&e&&(s.TgZ(0,"th",39),s._uU(1,"Payment Hash"),s.qZA())}function pc(e,t){if(1&e&&(s.TgZ(0,"td",40),s.TgZ(1,"div"),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.Dn7(3,1,null==e?null:e.payment_hash,0,10),"...")}}function fc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",41),s.TgZ(1,"div",42),s.TgZ(2,"mat-select",43),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",44),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function gc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",45),s.TgZ(1,"button",46),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onForwardingEventClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function xc(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No forwarding event available."),s.qZA())}function Zc(e,t){if(1&e&&(s.TgZ(0,"td",47),s.YNc(1,xc,2,0,"p",48),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)}}const yc=function(e){return{"display-none":e}};function Ac(e,t){if(1&e&&s._UZ(0,"tr",49),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,yc,(null==e.forwardingHistoryEvents?null:e.forwardingHistoryEvents.data)&&(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)>0))}}function wc(e,t){1&e&&s._UZ(0,"tr",50)}function Tc(e,t){1&e&&s._UZ(0,"tr",51)}const vc=function(){return["no_event"]};function bc(e,t){if(1&e&&(s.TgZ(0,"div",10),s.TgZ(1,"table",11,12),s.ynx(3,13),s.YNc(4,Kr,2,0,"th",14),s.YNc(5,Wr,3,3,"td",15),s.BQk(),s.ynx(6,16),s.YNc(7,jr,2,0,"th",14),s.YNc(8,ec,3,4,"td",15),s.BQk(),s.ynx(9,17),s.YNc(10,tc,2,0,"th",14),s.YNc(11,nc,3,4,"td",15),s.BQk(),s.ynx(12,18),s.YNc(13,ic,2,0,"th",14),s.YNc(14,ac,2,1,"td",15),s.BQk(),s.ynx(15,19),s.YNc(16,oc,2,0,"th",14),s.YNc(17,sc,2,1,"td",15),s.BQk(),s.ynx(18,20),s.YNc(19,lc,2,0,"th",21),s.YNc(20,rc,4,4,"td",15),s.BQk(),s.ynx(21,22),s.YNc(22,cc,2,0,"th",21),s.YNc(23,uc,4,4,"td",15),s.BQk(),s.ynx(24,23),s.YNc(25,dc,2,0,"th",21),s.YNc(26,hc,4,3,"td",15),s.BQk(),s.ynx(27,24),s.YNc(28,mc,2,0,"th",25),s.YNc(29,pc,4,5,"td",26),s.BQk(),s.ynx(30,27),s.YNc(31,fc,6,0,"th",28),s.YNc(32,gc,3,0,"td",29),s.BQk(),s.ynx(33,30),s.YNc(34,Zc,2,1,"td",31),s.BQk(),s.YNc(35,Ac,1,3,"tr",32),s.YNc(36,wc,1,0,"tr",33),s.YNc(37,Tc,1,0,"tr",34),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("dataSource",e.forwardingHistoryEvents),s.xp6(34),s.Q6J("matFooterRowDef",s.DdM(5,vc)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}const qc=function(e){return{"error-border":e,"padding-gap-x":!0}};let Cc=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.commonService=t,this.store=n,this.datePipe=i,this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=g.IV,this.pageSizeOptions=g.TJ,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===g.cu.XS?(this.flgSticky=!1,this.displayedColumns=["status","in_msatoshi","out_msatoshi","actions"]):this.screenSize===g.cu.SM||this.screenSize===g.cu.MD?(this.flgSticky=!1,this.displayedColumns=["status","in_msatoshi","out_msatoshi","fee","actions"]):(this.flgSticky=!0,this.displayedColumns=["status","received_time","resolved_time","in_channel","out_channel","in_msatoshi","out_msatoshi","fee","actions"])}ngOnInit(){this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",e.effectErrors.forEach(e=>{"GetForwardingHistory"===e.action&&(this.errorMessage="object"==typeof e.message?JSON.stringify(e.message):e.message)}),this.failedEvents=e.forwardingHistory&&e.forwardingHistory.forwarding_events&&e.forwardingHistory.forwarding_events.length>0?this.filterFailedEvents(e.forwardingHistory.forwarding_events):[],this.loadForwardingEventsTable(this.failedEvents),this.logger.info(e)})}ngAfterViewInit(){this.failedEvents.length>0&&this.loadForwardingEventsTable(this.failedEvents)}filterFailedEvents(e){return e.filter(e=>"settled"!==e.status)}onForwardingEventClick(e,t){this.store.dispatch(new se.wu({data:{type:g.n_.INFORMATION,alertTitle:"Event Information",message:[[{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:100,type:g.Gi.STRING}],[{key:"received_time",value:e.received_time,title:"Received Time",width:50,type:g.Gi.DATE_TIME},{key:"resolved_time",value:e.resolved_time,title:"Resolved Time",width:50,type:g.Gi.DATE_TIME}],[{key:"in_channel",value:e.in_channel_alias?e.in_channel_alias:e.in_channel,title:"Inbound Channel",width:50,type:g.Gi.STRING},{key:"out_channel",value:e.out_channel_alias?e.out_channel_alias:e.out_channel,title:"Outbound Channel",width:50,type:g.Gi.STRING}],[{key:"status",value:"settled"===e.status?"Settled":"Unsettled",title:"Status",width:50,type:g.Gi.STRING},{key:"fee",value:e.fee,title:"Fee (mSats)",width:50,type:g.Gi.NUMBER}],[{key:"in_msatoshi",value:e.in_msatoshi,title:"In (mSats)",width:50,type:g.Gi.NUMBER},{key:"out_msatoshi",value:e.out_msatoshi,title:"Out (mSats)",width:50,type:g.Gi.NUMBER}]]}}))}loadForwardingEventsTable(e){this.forwardingHistoryEvents=new ae.by([...e]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.forwardingHistoryEvents.paginator=this.paginator,this.forwardingHistoryEvents.filterPredicate=(e,t)=>((e.status?e.status.toLowerCase():"")+(e.received_time?this.datePipe.transform(new Date(1e3*e.received_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.resolved_time?this.datePipe.transform(new Date(1e3*e.resolved_time),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.in_channel?e.in_channel.toLowerCase():"")+(e.out_channel?e.out_channel.toLowerCase():"")+(e.in_msatoshi?e.in_msatoshi/1e3:"")+(e.out_msatoshi?e.out_msatoshi/1e3:"")+(e.fee?e.fee:"")).includes(t),this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Failed-transactions")}applyFilter(e){this.forwardingHistoryEvents.filter=e.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(w.v),s.Y36(y.yh),s.Y36(i.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-failed-history"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ie.YE,5),s.Gf(ne.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:ne.ye,useValue:(0,g.pt)("Events")}])],decls:5,vars:9,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[1,"p-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","received_time"],["matColumnDef","resolved_time"],["matColumnDef","in_channel"],["matColumnDef","out_channel"],["matColumnDef","in_msatoshi"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","out_msatoshi"],["matColumnDef","fee"],["matColumnDef","payment_hash"],["mat-header-cell","","class","pl-4","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,Xr,2,1,"div",1),s.YNc(2,$r,4,0,"div",2),s.YNc(3,bc,38,6,"div",3),s._UZ(4,"mat-paginator",4),s.qZA()),2&e&&(s.Q6J("ngClass",s.VKq(7,qc,""!==t.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,i.mk,S.oO,i.O5,ne.NW,l.yH,D.KE,re.Nt,M.$V,ae.BZ,ie.YE,ae.w1,ae.fO,ae.Dz,ae.mD,ae.Ke,ae.as,ae.nj,ae.ge,ie.nU,ae.ev,de.gD,de.$L,me.ey,C.lW,ae.yh,ae.Q2,ae.XQ,ae.Gk],pipes:[i.rS,i.uU,i.JJ,i.OU],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function _c(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",7),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let Sc=(()=>{class e{constructor(e){this.router=e,this.faChartBar=f.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,h.R)(this.unSubs[0]),(0,m.h)(e=>e instanceof a.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(a.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Reports"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,_c,2,3,"div",6),s.qZA(),s._UZ(9,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartBar),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,b.a8,b.dn,te.BU,i.sg,a.lC,te.Nj,a.rH],styles:[""]}),e})();var Lc=n(4833),Uc=n(4018),Fc=n(1905);function kc(e,t){if(1&e&&(s.TgZ(0,"div",8),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw();s.Q6J("@fadeIn",e.totalFeeMsat),s.xp6(1),s.AsE("",s.xi3(2,3,e.totalFeeMsat/1e3||0,"1.0-2")," Sats/",s.lcZ(3,6,e.filteredEventsBySelectedPeriod.length||0)," Events")}}function Nc(e,t){1&e&&(s.TgZ(0,"div",9),s._uU(1,"No fee report for the selected period"),s.qZA())}function Jc(e,t){if(1&e&&(s.TgZ(0,"span"),s.TgZ(1,"span",12),s._uU(2),s.ALo(3,"number"),s.qZA(),s.TgZ(4,"span",12),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA()),2&e){const e=t.model;s.xp6(2),s.hij("Events: ",s.lcZ(3,2,e.extra.totalEvents||0),""),s.xp6(3),s.hij("Fee: ",s.xi3(6,4,e.value||0,"1.0-2"),"")}}function Dc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical",10),s.NdJ("select",function(t){return s.CHM(e),s.oxw().onChartBarSelected(t)})("mouseup",function(t){return s.CHM(e),s.oxw().onChartMouseUp(t)}),s.YNc(1,Jc,7,7,"ng-template",null,11,s.W1O),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("view",e.view)("results",e.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function Oc(e,t){if(1&e&&s._UZ(0,"rtl-cl-forwarding-history",13),2&e){const e=s.oxw();s.Q6J("eventsData",e.filteredEventsBySelectedPeriod)("filterValue",e.eventFilterValue)}}let Rc=(()=>{class e{constructor(e,t,n,i){this.logger=e,this.dataService=t,this.commonService=n,this.store=i,this.reportPeriod=g.op[0],this.secondsInADay=86400,this.events={},this.filteredEventsBySelectedPeriod=[],this.eventFilterValue="",this.errorMessage="",this.totalFeeMsat=null,this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===g.cu.XS||this.screenSize===g.cu.SM),this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",e.effectErrors.forEach(e=>{"GetForwardingHistory"===e.action&&(this.errorMessage="object"==typeof e.message?JSON.stringify(e.message):e.message)}),this.events=e.forwardingHistory&&e.forwardingHistory.forwarding_events?e.forwardingHistory:{},this.filterForwardingEvents(this.startDate,this.endDate),this.logger.info(e)})}ngAfterViewInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case g.cu.MD:this.screenPaddingX=e.width/10;break;case g.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}filterForwardingEvents(e,t){const n=Math.round(e.getTime()/1e3),i=Math.round(t.getTime()/1e3);this.filteredEventsBySelectedPeriod=[],this.feeReportData=[],this.totalFeeMsat=null,this.events&&this.events.forwarding_events&&this.events.forwarding_events.length>0&&(this.events.forwarding_events.forEach(e=>{"settled"===e.status&&e.received_time>=n&&e.received_time0&&"ngx-charts"===e.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(e){this.eventFilterValue=this.reportPeriod===g.op[1]?e.name+"/"+this.startDate.getFullYear():e.name.toString().padStart(2,"0")+"/"+g.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(e){const t=Math.round(e.getTime()/1e3);let n=[];if(this.reportPeriod===g.op[1]){for(let e=0;e<12;e++)n.push({name:g.gg[e].name,value:1e-9,extra:{totalEvents:0}});this.filteredEventsBySelectedPeriod.map(e=>{let t=new Date(1e3*+e.received_time).getMonth();n[t].value=n[t].value+ +e.fee/1e3,n[t].extra.totalEvents=n[t].extra.totalEvents+1,this.totalFeeMsat=(this.totalFeeMsat?this.totalFeeMsat:0)+ +e.fee})}else{for(let t=0;t{let i=Math.floor((+e.received_time-t)/this.secondsInADay);n[i].value=n[i].value+ +e.fee/1e3,n[i].extra.totalEvents=n[i].extra.totalEvents+1,this.totalFeeMsat=(this.totalFeeMsat?this.totalFeeMsat:0)+ +e.fee})}return n}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===g.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.filterForwardingEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?g.gg[e].days+1:g.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(sr.D),s.Y36(w.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-fee-report"]],hostBindings:function(e,t){1&e&&s.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,kc,4,8,"div",3),s.YNc(4,Nc,2,0,"div",4),s.TgZ(5,"div",5),s.YNc(6,Dc,3,11,"ngx-charts-bar-vertical",6),s.qZA(),s.TgZ(7,"div",5),s.YNc(8,Oc,1,2,"rtl-cl-forwarding-history",7),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngIf",t.feeReportData.length>0&&t.filteredEventsBySelectedPeriod.length>0),s.xp6(1),s.Q6J("ngIf",t.feeReportData.length<=0||t.filteredEventsBySelectedPeriod.length<=0),s.xp6(2),s.Q6J("ngIf",t.feeReportData.length>0&&t.filteredEventsBySelectedPeriod.length>0),s.xp6(2),s.Q6J("ngIf",t.filteredEventsBySelectedPeriod&&t.filteredEventsBySelectedPeriod.length>0))},directives:[l.xw,l.Wh,l.yH,Uc.D,i.O5,Fc.K$,Gr],pipes:[i.JJ],styles:[""],data:{animation:[Lc.J]}}),e})();var Mc=n(6590);function Yc(e,t){if(1&e&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.AsE(" Paid ",s.xi3(2,2,e.transactionsReportSummary.amountPaidSelectedPeriod/1e3||0,"1.0-2")," Sats/",s.lcZ(3,5,e.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function Qc(e,t){if(1&e&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.AsE(" Received ",s.xi3(2,2,e.transactionsReportSummary.amountReceivedSelectedPeriod/1e3||0,"1.0-2")," Sats/",s.lcZ(3,5,e.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function Ic(e,t){if(1&e&&(s.TgZ(0,"div",8),s.YNc(1,Yc,4,7,"div",9),s.YNc(2,Qc,4,7,"div",9),s.qZA()),2&e){const e=s.oxw();s.Q6J("@fadeIn",e.transactionsReportSummary),s.xp6(1),s.Q6J("ngIf",e.transactionsReportSummary.paymentsSelectedPeriod),s.xp6(1),s.Q6J("ngIf",e.transactionsReportSummary.invoicesSelectedPeriod)}}function Pc(e,t){1&e&&(s.TgZ(0,"div",11),s._uU(1,"No transactions report for the selected period"),s.qZA())}function Ec(e,t){if(1&e&&(s.TgZ(0,"span",14),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=t.model;s.xp6(1),s.HOy("",e.name,": ",s.xi3(2,4,e.value||0,"1.0-2"),"/# ","Paid"===e.name?"Payments":"Invoices",": ",s.lcZ(3,7,(null==e.extra?null:e.extra.total)||0),"")}}function Bc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical-2d",12),s.NdJ("select",function(t){return s.CHM(e),s.oxw().onChartBarSelected(t)})("mouseup",function(t){return s.CHM(e),s.oxw().onChartMouseUp(t)}),s.YNc(1,Ec,4,9,"ng-template",null,13,s.W1O),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("view",e.view)("results",e.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",e.reportPeriod===e.scrollRanges[0]?2:4)}}function Hc(e,t){if(1&e&&s._UZ(0,"rtl-transactions-report-table",15),2&e){const e=s.oxw();s.Q6J("dataList",e.transactionsNonZeroReportData)("dataRange",e.reportPeriod)("filterValue",e.transactionFilterValue)}}let Vc=(()=>{class e{constructor(e,t){this.commonService=e,this.store=t,this.scrollRanges=g.op,this.reportPeriod=g.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[],this.transactionsNonZeroReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=g.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===g.cu.XS||this.screenSize===g.cu.SM),this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(e=>{this.payments=e.payments,this.invoices=e.invoices.invoices,this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData()})}ngAfterViewInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case g.cu.MD:this.screenPaddingX=e.width/10;break;case g.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}onChartMouseUp(e){"svg"===e.srcElement.tagName&&e.srcElement.classList.length>0&&"ngx-charts"===e.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(e){this.transactionFilterValue=this.reportPeriod===g.op[1]?e.series+"/"+this.startDate.getFullYear():e.series.toString().padStart(2,"0")+"/"+g.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(e,t){const n=Math.round(e.getTime()/1e3),i=Math.round(t.getTime()/1e3);let a=[];this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};let o=this.payments.filter(e=>"complete"===e.status&&e.created_at>=n&&e.created_at"paid"===e.status&&e.paid_at>=n&&e.paid_at{let t=new Date(1e3*e.created_at).getMonth();this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+e.msatoshi_sent,a[t].series[0].value=a[t].series[0].value+e.msatoshi_sent/1e3,a[t].series[0].extra.total=a[t].series[0].extra.total+1}),s.map(e=>{let t=new Date(1e3*+e.paid_at).getMonth();this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+e.msatoshi_received,a[t].series[1].value=a[t].series[1].value+e.msatoshi_received/1e3,a[t].series[1].extra.total=a[t].series[1].extra.total+1})}else{for(let t=0;t{let t=Math.floor((+e.created_at-n)/this.secondsInADay);this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+e.msatoshi_sent,a[t].series[0].value=a[t].series[0].value+e.msatoshi_sent/1e3,a[t].series[0].extra.total=a[t].series[0].extra.total+1}),s.map(e=>{let t=Math.floor((+e.paid_at-n)/this.secondsInADay);this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+e.msatoshi_received,a[t].series[1].value=a[t].series[1].value+e.msatoshi_received/1e3,a[t].series[1].extra.total=a[t].series[1].extra.total+1})}return a}prepareTableData(){return this.transactionsReportData.reduce((e,t)=>t.series[0].extra.total>0||t.series[1].extra.total>0?e.concat({date:t.date,amount_paid:t.series[0].value,num_payments:t.series[0].extra.total,amount_received:t.series[1].value,num_invoices:t.series[1].extra.total}):e,[])}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===g.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?g.gg[e].days+1:g.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(w.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-cl-transactions-report"]],hostBindings:function(e,t){1&e&&s.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[3,"dataList","dataRange","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,Ic,3,3,"div",3),s.YNc(4,Pc,2,0,"div",4),s.TgZ(5,"div",5),s.YNc(6,Bc,3,13,"ngx-charts-bar-vertical-2d",6),s.qZA(),s.TgZ(7,"div",5),s.YNc(8,Hc,1,3,"rtl-transactions-report-table",7),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0),s.xp6(1),s.Q6J("ngIf",t.transactionsNonZeroReportData.length<=0),s.xp6(2),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0),s.xp6(2),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0))},directives:[l.xw,l.Wh,l.yH,Uc.D,i.O5,Fc.H5,Mc.g],pipes:[i.JJ],styles:[""],data:{animation:[Lc.J]}}),e})();var zc=n(6013),Gc=n(8016);const Xc=a.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:Dn,canActivate:[zc.lB]},{path:"onchain",component:$i,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"receive/utxos"},{path:"receive/:selTab",component:ao,canActivate:[zc.lB]},{path:"send/:selTab",component:oo,data:{sweepAll:!1},canActivate:[zc.lB]},{path:"sweep/:selTab",component:oo,data:{sweepAll:!0},canActivate:[zc.lB]}]},{path:"connections",component:ji,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:Uo,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:As,canActivate:[zc.lB]},{path:"pending",component:$s,canActivate:[zc.lB]}]},{path:"peers",component:Dl,data:{sweepAll:!1},canActivate:[zc.lB]}]},{path:"transactions",component:ta,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:un,canActivate:[zc.lB]},{path:"invoices",component:$e,canActivate:[zc.lB]},{path:"queryroutes",component:or,canActivate:[zc.lB]}]},{path:"messages",component:to,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"sign"},{path:"sign",component:rr,canActivate:[zc.lB]},{path:"verify",component:gr,canActivate:[zc.lB]}]},{path:"routing",component:ia,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:Gr,canActivate:[zc.lB]},{path:"failedtransactions",component:Cc,canActivate:[zc.lB]}]},{path:"reports",component:Sc,canActivate:[zc.lB],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:Rc,canActivate:[zc.lB]},{path:"transactions",component:Vc,canActivate:[zc.lB]}]},{path:"lookups",component:Da,canActivate:[zc.lB]},{path:"rates",component:ja,canActivate:[zc.lB]},{path:"**",component:Gc.w},{path:"network",redirectTo:"rates"},{path:"wallet",redirectTo:"home"},{path:"backup",redirectTo:"home"}]}]);var $c=n(253);let Kc=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=s.oAB({type:e,bootstrap:[u]}),e.\u0275inj=s.cJS({providers:[zc.lB],imports:[[i.ez,$c.m,Xc]]}),e})()}}]); \ No newline at end of file diff --git a/angular/891.4fbbfe370fa877de7f39.js b/angular/891.4fbbfe370fa877de7f39.js new file mode 100644 index 00000000..ada4b110 --- /dev/null +++ b/angular/891.4fbbfe370fa877de7f39.js @@ -0,0 +1 @@ +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[891],{7891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LNDModule:()=>vg});var a=n(1511),i=n(6853),s=n(2865),o=n(1572),l=n(3722),r=n(5994);function c(e,t){1&e&&o._UZ(0,"mat-progress-bar",3)}let u=(()=>{class e{constructor(e){this.router=e,this.loading=!1,this.router.events.subscribe(e=>{switch(!0){case e instanceof i.OD:this.loading=!0;break;case e instanceof i.m2:case e instanceof i.gk:case e instanceof i.Q3:this.loading=!1}})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-lnd-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,c,1,0,"mat-progress-bar",1),o._UZ(2,"router-outlet",null,2),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf",t.loading))},directives:[l.xw,l.yH,l.Wh,a.O5,i.lC,r.pW],styles:[""],data:{animation:[s.g]}}),e})();var p=n(9666),d=n(9568),h=n(8868),m=n(7810),g=n(5291),f=n(9421),x=n(5678),Z=n(3869),y=n(964),A=n(5573),C=n(1084),T=n(7592),b=n(7271),w=n(7439),_=n(8055),v=n(377),q=n(5980),S=n(3691);const F=function(e){return{backgroundColor:e}};function L(e,t){if(1&e&&o._UZ(0,"span",6),2&e){const e=o.oxw();o.Q6J("ngStyle",o.VKq(1,F,null==e.information?null:e.information.color))}}function k(e,t){if(1&e&&(o.TgZ(0,"div"),o.TgZ(1,"h4",1),o._uU(2,"Color"),o.qZA(),o.TgZ(3,"div",2),o._UZ(4,"span",7),o._uU(5),o.ALo(6,"uppercase"),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(4),o.Q6J("ngStyle",o.VKq(4,F,null==e.information?null:e.information.color)),o.xp6(1),o.hij(" ",o.lcZ(6,2,null==e.information?null:e.information.color)," ")}}function N(e,t){if(1&e&&(o.TgZ(0,"span",2),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(e)}}let U=(()=>{class e{constructor(e){this.commonService=e,this.chains=[""]}ngOnChanges(){this.information&&this.information.chains&&this.information.chains.length>0&&(this.chains=[""],this.information.chains.forEach(e=>{this.chains.push(this.commonService.titleCase(e.chain)+" "+this.commonService.titleCase(e.network))}))}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[o.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div"),o.TgZ(2,"h4",1),o._uU(3,"Alias"),o.qZA(),o.TgZ(4,"div",2),o._uU(5),o.YNc(6,L,1,3,"span",3),o.qZA(),o.qZA(),o.YNc(7,k,7,6,"div",4),o.TgZ(8,"div"),o.TgZ(9,"h4",1),o._uU(10,"Implementation"),o.qZA(),o.TgZ(11,"div",2),o._uU(12),o.qZA(),o.qZA(),o.TgZ(13,"div"),o.TgZ(14,"h4",1),o._uU(15,"Chain"),o.qZA(),o.YNc(16,N,2,1,"span",5),o.qZA(),o.qZA()),2&e&&(o.xp6(5),o.hij(" ",null==t.information?null:t.information.alias," "),o.xp6(1),o.Q6J("ngIf",!t.showColorFieldSeparately),o.xp6(1),o.Q6J("ngIf",t.showColorFieldSeparately),o.xp6(5),o.Oqu(null!=t.information&&t.information.lnImplementation||null!=t.information&&t.information.version?(null==t.information?null:t.information.lnImplementation)+" "+(null==t.information?null:t.information.version):""),o.xp6(4),o.Q6J("ngForOf",t.chains))},directives:[l.xw,l.yH,l.Wh,a.O5,a.sg,a.PC,v.Zl],pipes:[a.gd],styles:[""]}),e})();function I(e,t){if(1&e&&(o.TgZ(0,"div",2),o.TgZ(1,"div"),o.TgZ(2,"h4",3),o._uU(3,"Lightning"),o.qZA(),o.TgZ(4,"div",4),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",5),o.qZA(),o.TgZ(8,"div"),o.TgZ(9,"h4",3),o._uU(10,"On-chain"),o.qZA(),o.TgZ(11,"div",4),o._uU(12),o.ALo(13,"number"),o.qZA(),o._UZ(14,"mat-progress-bar",5),o.qZA(),o.TgZ(15,"div"),o.TgZ(16,"h4",3),o._uU(17,"Total"),o.qZA(),o.TgZ(18,"div",4),o._uU(19),o.ALo(20,"number"),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(5),o.hij("",o.lcZ(6,5,null==e.balances?null:e.balances.lightning)," Sats"),o.xp6(2),o.s9C("value",(null==e.balances?null:e.balances.lightning)/(null==e.balances?null:e.balances.total)*100),o.xp6(5),o.hij("",o.lcZ(13,7,null==e.balances?null:e.balances.onchain)," Sats"),o.xp6(2),o.s9C("value",(null==e.balances?null:e.balances.onchain)/(null==e.balances?null:e.balances.total)*100),o.xp6(5),o.hij("",o.lcZ(20,9,null==e.balances?null:e.balances.total)," Sats")}}function O(e,t){if(1&e&&(o.TgZ(0,"div",6),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessage)}}let J=(()=>{class e{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-balances-info"]],inputs:{balances:"balances",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(e,t){if(1&e&&(o.YNc(0,I,21,11,"div",0),o.YNc(1,O,3,1,"ng-template",null,1,o.W1O)),2&e){const e=o.MAs(2);o.Q6J("ngIf"," "===t.errorMessage)("ngIfElse",e)}},directives:[a.O5,l.xw,l.yH,l.Wh,r.pW],pipes:[a.JJ],styles:[""]}),e})();var D=n(6283),R=n(6828),M=n(7679),E=n(7038);function Q(e,t){if(1&e&&(o.TgZ(0,"div",19),o.TgZ(1,"span",20),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",21),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",22),o._UZ(11,"fa-icon",23),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",24),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",25),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",e.remote_alias||e.remote_pubkey),o.s9C("matTooltipDisabled",(e.remote_alias||e.remote_pubkey).length<26),o.xp6(1),o.AsE("",o.Dn7(3,9,e.remote_alias||e.remote_pubkey,0,24),"",(e.remote_alias||e.remote_pubkey).length>25?"...":"",""),o.xp6(6),o.hij("",o.lcZ(9,13,e.local_balance||0)," Sats"),o.xp6(3),o.Q6J("icon",n.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,15,e.balancedness||0),") "),o.xp6(5),o.hij("",o.lcZ(18,17,e.remote_balance||0)," Sats"),o.xp6(2),o.s9C("value",e.local_balance&&e.local_balance>0?+e.local_balance/(+e.local_balance+ +e.remote_balance)*100:0)}}function Y(e,t){if(1&e&&(o.TgZ(0,"div",17),o.YNc(1,Q,20,19,"div",18),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",e.allChannels)}}function P(e,t){if(1&e&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"mat-hint",7),o.TgZ(6,"strong",8),o._uU(7,"Local:"),o.qZA(),o._uU(8),o.ALo(9,"number"),o.qZA(),o.TgZ(10,"mat-hint",9),o._UZ(11,"fa-icon",10),o._uU(12),o.ALo(13,"number"),o.qZA(),o.TgZ(14,"mat-hint",11),o.TgZ(15,"strong",8),o._uU(16,"Remote:"),o.qZA(),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o._UZ(19,"mat-progress-bar",12),o.qZA(),o.TgZ(20,"div",13),o._UZ(21,"mat-divider",14),o.qZA(),o.TgZ(22,"div",15),o.YNc(23,Y,2,1,"div",16),o.qZA(),o.qZA()),2&e){const e=o.oxw(),t=o.MAs(2);o.xp6(8),o.hij("",o.lcZ(9,7,(null==e.channelBalances?null:e.channelBalances.localBalance)||0)," Sats"),o.xp6(3),o.Q6J("icon",e.faBalanceScale),o.xp6(1),o.hij(" (",o.lcZ(13,9,(null==e.channelBalances?null:e.channelBalances.balancedness)||0),") "),o.xp6(5),o.hij("",o.lcZ(18,11,(null==e.channelBalances?null:e.channelBalances.remoteBalance)||0)," Sats"),o.xp6(2),o.s9C("value",null!=e.channelBalances&&e.channelBalances.localBalance&&(null==e.channelBalances?null:e.channelBalances.localBalance)>0?+(null==e.channelBalances?null:e.channelBalances.localBalance)/(+(null==e.channelBalances?null:e.channelBalances.localBalance)+ +(null==e.channelBalances?null:e.channelBalances.remoteBalance))*100:0),o.xp6(4),o.Q6J("ngIf",e.allChannels&&e.allChannels.length>0)("ngIfElse",t)}}function B(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",26),o._uU(1," No channels available. "),o.TgZ(2,"button",27),o.NdJ("click",function(){return o.CHM(e),o.oxw().goToChannels()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA()}}function G(e,t){if(1&e&&(o.TgZ(0,"div",28),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessage)}}let H=(()=>{class e{constructor(e){this.router=e,this.faBalanceScale=g.DL8,this.faDumbbell=g.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/lnd/connections")}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(e,t){if(1&e&&(o.YNc(0,P,24,13,"div",0),o.YNc(1,B,4,0,"ng-template",null,1,o.W1O),o.YNc(3,G,3,1,"ng-template",null,2,o.W1O)),2&e){const e=o.MAs(4);o.Q6J("ngIf",""===(null==t.errorMessage?null:t.errorMessage.trim()))("ngIfElse",e)}},directives:[a.O5,l.xw,l.Wh,l.yH,D.bx,T.BN,R.gM,r.pW,M.d,E.$V,a.sg,q.lW],pipes:[a.JJ,a.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),e})();function z(e,t){if(1&e&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Daily"),o.qZA(),o.TgZ(5,"div",5),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div"),o.TgZ(9,"h4",4),o._uU(10,"Weekly"),o.qZA(),o.TgZ(11,"div",5),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.TgZ(14,"div"),o.TgZ(15,"h4",4),o._uU(16,"Monthly"),o.qZA(),o.TgZ(17,"div",5),o._uU(18),o.ALo(19,"number"),o.qZA(),o.qZA(),o.TgZ(20,"div",6),o._UZ(21,"h4",7),o._UZ(22,"span",5),o.qZA(),o.qZA(),o.TgZ(23,"div",3),o.TgZ(24,"div"),o.TgZ(25,"h4",4),o._uU(26,"Transactions"),o.qZA(),o.TgZ(27,"div",5),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.TgZ(30,"div"),o.TgZ(31,"h4",4),o._uU(32,"Transactions"),o.qZA(),o.TgZ(33,"div",5),o._uU(34),o.ALo(35,"number"),o.qZA(),o.qZA(),o.TgZ(36,"div"),o.TgZ(37,"h4",4),o._uU(38,"Transactions"),o.qZA(),o.TgZ(39,"div",5),o._uU(40),o.ALo(41,"number"),o.qZA(),o.qZA(),o.TgZ(42,"div",6),o._UZ(43,"h4",7),o._UZ(44,"span",5),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(6),o.hij("",o.lcZ(7,6,null==e.fees?null:e.fees.day_fee_sum)," Sats"),o.xp6(6),o.hij("",o.lcZ(13,8,null==e.fees?null:e.fees.week_fee_sum)," Sats"),o.xp6(6),o.hij("",o.lcZ(19,10,null==e.fees?null:e.fees.month_fee_sum)," Sats"),o.xp6(10),o.Oqu(o.lcZ(29,12,null==e.fees?null:e.fees.daily_tx_count)),o.xp6(6),o.Oqu(o.lcZ(35,14,null==e.fees?null:e.fees.weekly_tx_count)),o.xp6(6),o.Oqu(o.lcZ(41,16,null==e.fees?null:e.fees.monthly_tx_count))}}function V(e,t){if(1&e&&(o.TgZ(0,"div",8),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessage)}}let W=(()=>{class e{constructor(){this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100}ngOnChanges(){if(this.fees.month_fee_sum){this.totalFees=[{name:"Monthly",value:this.fees.month_fee_sum},{name:"Weekly",value:this.fees.week_fee_sum},{name:"Daily ",value:this.fees.day_fee_sum}];const e=Math.ceil(Math.log(this.fees.month_fee_sum+1)/Math.LN10),t=Math.pow(10,e-1);this.maxFeeValue=Math.ceil(this.fees.month_fee_sum/t)*t/5||100,Object.assign(this,this.totalFees)}else this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100,Object.assign(this,this.totalFees)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-fee-info"]],inputs:{fees:"fees",errorMessage:"errorMessage"},features:[o.TTD],decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxFlex","20"],[1,"dashboard-info-title"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(e,t){if(1&e&&(o.YNc(0,z,45,18,"div",0),o.YNc(1,V,3,1,"ng-template",null,1,o.W1O)),2&e){const e=o.MAs(2);o.Q6J("ngIf",""===(null==t.errorMessage?null:t.errorMessage.trim()))("ngIfElse",e)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),e})();function X(e,t){if(1&e&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o.TgZ(2,"div"),o.TgZ(3,"h4",4),o._uU(4,"Active"),o.qZA(),o.TgZ(5,"div",5),o._UZ(6,"span",6),o._uU(7),o.ALo(8,"number"),o.qZA(),o.qZA(),o.TgZ(9,"div"),o.TgZ(10,"h4",4),o._uU(11,"Pending"),o.qZA(),o.TgZ(12,"div",5),o._UZ(13,"span",7),o._uU(14),o.ALo(15,"number"),o.qZA(),o.qZA(),o.TgZ(16,"div"),o.TgZ(17,"h4",4),o._uU(18,"Inactive"),o.qZA(),o.TgZ(19,"div",5),o._UZ(20,"span",8),o._uU(21),o.ALo(22,"number"),o.qZA(),o.qZA(),o.TgZ(23,"div"),o.TgZ(24,"h4",4),o._uU(25,"Closing"),o.qZA(),o.TgZ(26,"div",5),o._UZ(27,"span",9),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(30,"div",3),o.TgZ(31,"div"),o.TgZ(32,"h4",4),o._uU(33,"Capacity"),o.qZA(),o.TgZ(34,"div",5),o._uU(35),o.ALo(36,"number"),o.qZA(),o.qZA(),o.TgZ(37,"div"),o.TgZ(38,"h4",4),o._uU(39,"Capacity"),o.qZA(),o.TgZ(40,"div",5),o._uU(41),o.ALo(42,"number"),o.qZA(),o.qZA(),o.TgZ(43,"div"),o.TgZ(44,"h4",4),o._uU(45,"Capacity"),o.qZA(),o.TgZ(46,"div",5),o._uU(47),o.ALo(48,"number"),o.qZA(),o.qZA(),o.TgZ(49,"div"),o.TgZ(50,"h4",4),o._uU(51,"Capacity"),o.qZA(),o.TgZ(52,"div",5),o._uU(53),o.ALo(54,"number"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(7),o.Oqu(o.lcZ(8,8,(null==e.channelsStatus||null==e.channelsStatus.active?null:e.channelsStatus.active.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(15,10,(null==e.channelsStatus||null==e.channelsStatus.pending?null:e.channelsStatus.pending.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(22,12,(null==e.channelsStatus||null==e.channelsStatus.inactive?null:e.channelsStatus.inactive.channels)||0)),o.xp6(7),o.Oqu(o.lcZ(29,14,(null==e.channelsStatus||null==e.channelsStatus.closing?null:e.channelsStatus.closing.channels)||0)),o.xp6(7),o.hij("",o.lcZ(36,16,(null==e.channelsStatus||null==e.channelsStatus.active?null:e.channelsStatus.active.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(42,18,(null==e.channelsStatus||null==e.channelsStatus.pending?null:e.channelsStatus.pending.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(48,20,(null==e.channelsStatus||null==e.channelsStatus.inactive?null:e.channelsStatus.inactive.capacity)||0)," Sats"),o.xp6(6),o.hij("",o.lcZ(54,22,(null==e.channelsStatus||null==e.channelsStatus.closing?null:e.channelsStatus.closing.capacity)||0)," Sats")}}function $(e,t){if(1&e&&(o.TgZ(0,"div",10),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessage)}}let j=(()=>{class e{constructor(){this.channelsStatus={}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus",errorMessage:"errorMessage"},decls:3,vars:2,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf","ngIfElse"],["errorBlock",""],["fxLayout","row","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"],[1,"dot","tiny-dot","red"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(e,t){if(1&e&&(o.YNc(0,X,55,24,"div",0),o.YNc(1,$,3,1,"ng-template",null,1,o.W1O)),2&e){const e=o.MAs(2);o.Q6J("ngIf"," "===t.errorMessage)("ngIfElse",e)}},directives:[a.O5,l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),e})();var K=n(5028),ee=n(3929),te=n(2969);function ne(e,t){if(1&e&&(o.TgZ(0,"mat-hint",19),o.TgZ(1,"strong",20),o._uU(2,"Capacity: "),o.qZA(),o._uU(3),o.ALo(4,"number"),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(3),o.hij("",o.lcZ(4,1,e.remote_balance||0)," Sats")}}function ae(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",24),o.NdJ("click",function(){o.CHM(e);const t=o.oxw(2).$implicit;return o.oxw(3).onLoopOut(t)}),o._uU(1,"Loop Out"),o.qZA()}}function ie(e,t){if(1&e&&(o.TgZ(0,"div",21),o.TgZ(1,"mat-hint",22),o.TgZ(2,"strong",20),o._uU(3,"Capacity: "),o.qZA(),o._uU(4),o.ALo(5,"number"),o.qZA(),o.YNc(6,ae,2,0,"button",23),o.qZA()),2&e){const e=o.oxw().$implicit,t=o.oxw(3);o.xp6(4),o.hij("",o.lcZ(5,2,e.local_balance||0)," Sats"),o.xp6(2),o.Q6J("ngIf",t.showLoop)}}function se(e,t){if(1&e&&o._UZ(0,"mat-progress-bar",25),2&e){const e=o.oxw().$implicit,t=o.oxw(3);o.s9C("value",t.totalLiquidity>0?(+e.remote_balance||0)/t.totalLiquidity*100:0)}}function oe(e,t){if(1&e&&o._UZ(0,"mat-progress-bar",25),2&e){const e=o.oxw().$implicit,t=o.oxw(3);o.s9C("value",t.totalLiquidity>0?(+e.local_balance||0)/t.totalLiquidity*100:0)}}function le(e,t){if(1&e&&(o.TgZ(0,"div",13),o.TgZ(1,"span",14),o._uU(2),o.ALo(3,"slice"),o.qZA(),o.TgZ(4,"div",15),o.YNc(5,ne,5,3,"mat-hint",16),o.YNc(6,ie,7,4,"div",17),o.qZA(),o.YNc(7,se,1,1,"mat-progress-bar",18),o.YNc(8,oe,1,1,"mat-progress-bar",18),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(3);o.xp6(1),o.s9C("matTooltip",e.remote_alias||e.remote_pubkey),o.s9C("matTooltipDisabled",(e.remote_alias||e.remote_pubkey).length<26),o.xp6(1),o.AsE("",o.Dn7(3,8,e.remote_alias||e.remote_pubkey,0,24),"",(e.remote_alias||e.remote_pubkey).length>25?"...":"",""),o.xp6(3),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction),o.xp6(1),o.Q6J("ngIf","In"===n.direction),o.xp6(1),o.Q6J("ngIf","Out"===n.direction)}}function re(e,t){if(1&e&&(o.TgZ(0,"div",11),o.YNc(1,le,9,12,"div",12),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngForOf",e.allChannels)}}const ce=function(e,t,n){return{"mb-4":e,"mb-2":t,"mb-1":n}};function ue(e,t){if(1&e&&(o.TgZ(0,"div",3),o.TgZ(1,"div",4),o.TgZ(2,"span",5),o._uU(3,"Total Capacity"),o.qZA(),o.TgZ(4,"mat-hint",6),o._uU(5),o.ALo(6,"number"),o.qZA(),o._UZ(7,"mat-progress-bar",7),o.qZA(),o.TgZ(8,"div",8),o._UZ(9,"mat-divider",9),o.qZA(),o.YNc(10,re,2,1,"div",10),o.qZA()),2&e){const e=o.oxw(),t=o.MAs(2);o.Q6J("ngClass",o.kEZ(6,ce,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM,e.screenSize===e.screenSizeEnum.MD,e.screenSize===e.screenSizeEnum.LG||e.screenSize===e.screenSizeEnum.XL)),o.xp6(5),o.hij("",o.lcZ(6,4,e.totalLiquidity)," Sats"),o.xp6(5),o.Q6J("ngIf",e.allChannels&&e.allChannels.length>0)("ngIfElse",t)}}function pe(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",28),o.NdJ("click",function(){return o.CHM(e),o.oxw(2).goToChannels()}),o._uU(1,"Open Channel"),o.qZA()}}function de(e,t){if(1&e&&(o.TgZ(0,"div",26),o._uU(1," No channels available. "),o.YNc(2,pe,2,0,"button",27),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Q6J("ngIf","Out"===e.direction)}}function he(e,t){if(1&e&&(o.TgZ(0,"div",29),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessage)}}let me=(()=>{class e{constructor(e,t,n,a){this.router=e,this.loopService=t,this.commonService=n,this.store=a,this.targetConf=6,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new p.x,new p.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.showLoop=!(!e.nodeSettings.swapServerUrl||""===e.nodeSettings.swapServerUrl.trim())})}goToChannels(){this.router.navigateByUrl("/lnd/connections")}onLoopOut(e){this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,d.R)(this.unSubs[1])).subscribe(t=>{this.store.dispatch(new ee.wu({minHeight:"56rem",data:{channel:e,minQuote:t[0],maxQuote:t[1],direction:f.$I.LOOP_OUT,component:K.a}}))})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0),o.Y36(te.W),o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels",errorMessage:"errorMessage"},decls:5,vars:2,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",3,"ngClass",4,"ngIf","ngIfElse"],["noChannelBlock",""],["errorBlock",""],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[3,"perfectScrollbar",4,"ngIf","ngIfElse"],[3,"perfectScrollbar"],["fxLayout","column",4,"ngFor","ngForOf"],["fxLayout","column"],[1,"dashboard-capacity-header","mt-2",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["class","font-size-90 color-primary",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],[1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxFlex","85","fxLayoutAlign","start start",1,"font-size-90","color-primary"],["fxFlex","15","fxLayoutAlign","end start","class","button-link-dashboard","color","primary","mat-button","","aria-label","Loop Out",3,"click",4,"ngIf"],["fxFlex","15","fxLayoutAlign","end start","color","primary","mat-button","","aria-label","Loop Out",1,"button-link-dashboard",3,"click"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"]],template:function(e,t){if(1&e&&(o.YNc(0,ue,11,10,"div",0),o.YNc(1,de,3,1,"ng-template",null,1,o.W1O),o.YNc(3,he,3,1,"ng-template",null,2,o.W1O)),2&e){const e=o.MAs(4);o.Q6J("ngIf",""===(null==t.errorMessage?null:t.errorMessage.trim()))("ngIfElse",e)}},directives:[a.O5,l.xw,l.Wh,l.yH,a.mk,v.oO,D.bx,r.pW,M.d,E.$V,a.sg,R.gM,q.lW],pipes:[a.JJ,a.OU],styles:[""]}),e})();var ge=n(5109),fe=n(3005),xe=n(2464),Ze=n(7033),ye=n(4608),Ae=n(6073),Ce=n(6756),Te=n(6880),be=n(5095),we=n(4786),_e=n(7521),ve=n(1522);function qe(e,t){if(1&e&&(o.TgZ(0,"mat-option",24),o._uU(1),o.ALo(2,"titlecase"),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.Oqu(o.lcZ(2,2,e))}}function Se(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.invoiceError)}}function Fe(e,t){if(1&e&&(o.TgZ(0,"div",25),o._UZ(1,"fa-icon",26),o.YNc(2,Se,2,1,"span",27),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.invoiceError)}}let Le=(()=>{class e{constructor(e,t,n,a,i,s){this.dialogRef=e,this.data=t,this.store=n,this.decimalPipe=a,this.commonService=i,this.actions=s,this.faExclamationTriangle=g.eHv,this.selNode={},this.memo="",this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=f.IV,this.timeUnitEnum=f.Qk,this.timeUnits=f.LO,this.selTimeUnit=f.Qk.SECS,this.invoiceError="",this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.information=e.information}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.JE||e.type===x.Ov)).subscribe(e=>{e.type===x.Ov&&this.dialogRef.close(),e.type===x.JE&&e.payload.status===f.Bn.ERROR&&"SaveNewInvoice"===e.payload.action&&(this.invoiceError=e.payload.message)})}onAddInvoice(e){this.invoiceError="";let t=this.expiry?this.expiry:3600;this.selTimeUnit!==f.Qk.SECS&&(t=this.commonService.convertTime(this.expiry,this.selTimeUnit,f.Qk.SECS)),this.store.dispatch(new x.H1({uiMessage:f.m6.ADD_INVOICE,memo:this.memo,invoiceValue:this.invoiceValue,private:this.private,expiry:t,pageSize:this.pageSize,openModal:!0}))}resetData(){this.memo="",this.invoiceValue=null,this.private=!1,this.expiry=null,this.invoiceValueHint="",this.selTimeUnit=f.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,d.R)(this.unSubs[2])).subscribe({next:e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,f.Xz.OTHER)+" "+e.unit},error:e=>{this.invoiceValueHint="Conversion Error: "+e}}))}onTimeUnitChange(e){this.expiry&&this.selTimeUnit!==e.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,e.value)),this.selTimeUnit=e.value}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(y.yh),o.Y36(a.JJ),o.Y36(C.v),o.Y36(A.eX))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-create-invoices"]],decls:36,vars:17,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","end start"],["matInput","","autoFocus","","placeholder","Memo","tabindex","1","name","memo",3,"ngModel","ngModelChange"],["fxFlex","50","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","2","name","invoiceValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","24","fxLayoutAlign","start end"],["matInput","","placeholder","Expiry","type","number","tabindex","3","name","expiry",3,"ngModel","step","min","ngModelChange"],["tabindex","4","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"mt-1"],["tabindex","4","color","primary","matTooltip","Include routing hints for private channels","name","private",3,"ngModel","matTooltipPosition","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","5","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","6",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"]],template:function(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Create Invoice"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(e){return t.memo=e}),o.qZA(),o.qZA(),o.TgZ(13,"mat-form-field",11),o.TgZ(14,"input",12),o.NdJ("ngModelChange",function(e){return t.invoiceValue=e})("keyup",function(){return t.onInvoiceValueChange()}),o.qZA(),o.TgZ(15,"span",13),o._uU(16," Sats "),o.qZA(),o.TgZ(17,"mat-hint"),o._uU(18),o.qZA(),o.qZA(),o.TgZ(19,"mat-form-field",14),o.TgZ(20,"input",15),o.NdJ("ngModelChange",function(e){return t.expiry=e}),o.qZA(),o.TgZ(21,"span",13),o._uU(22),o.ALo(23,"titlecase"),o.qZA(),o.qZA(),o.TgZ(24,"mat-form-field",14),o.TgZ(25,"mat-select",16),o.NdJ("selectionChange",function(e){return t.onTimeUnitChange(e)}),o.YNc(26,qe,3,4,"mat-option",17),o.qZA(),o.qZA(),o.TgZ(27,"div",18),o.TgZ(28,"mat-slide-toggle",19),o.NdJ("ngModelChange",function(e){return t.private=e}),o._uU(29,"Private Routing Hints"),o.qZA(),o.qZA(),o.YNc(30,Fe,3,2,"div",20),o.TgZ(31,"div",21),o.TgZ(32,"button",22),o.NdJ("click",function(){return t.resetData()}),o._uU(33,"Clear Field"),o.qZA(),o.TgZ(34,"button",23),o.NdJ("click",function(){o.CHM(e);const n=o.MAs(10);return t.onAddInvoice(n)}),o._uU(35,"Create Invoice"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}2&e&&(o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",t.memo),o.xp6(2),o.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),o.xp6(4),o.Oqu(t.invoiceValueHint),o.xp6(2),o.Q6J("ngModel",t.expiry)("step",t.selTimeUnit===t.timeUnitEnum.SECS?300:t.selTimeUnit===t.timeUnitEnum.MINS?10:t.selTimeUnit===t.timeUnitEnum.HOURS?2:1)("min",1),o.xp6(2),o.hij(" ",o.lcZ(23,15,t.selTimeUnit)," "),o.xp6(3),o.Q6J("value",t.selTimeUnit),o.xp6(1),o.Q6J("ngForOf",t.timeUnits),o.xp6(2),o.Q6J("ngModel",t.private)("matTooltipPosition","above"),o.xp6(2),o.Q6J("ngIf",""!==t.invoiceError))},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,ye.ZT,w.dn,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.JJ,Ae.On,Ae.wV,Ae.qQ,be.q,D.R9,D.bx,we.gD,a.sg,_e.Rr,R.gM,a.O5,ve.ey,T.BN],pipes:[a.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();var ke=n(1827),Ne=n(4636);function Ue(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"input",7),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().memo=t}),o.qZA(),o.qZA(),o.TgZ(4,"mat-form-field",8),o.TgZ(5,"input",9),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().invoiceValue=t})("keyup",function(){return o.CHM(e),o.oxw().onInvoiceValueChange()}),o.qZA(),o.TgZ(6,"span",10),o._uU(7," Sats "),o.qZA(),o.TgZ(8,"mat-hint"),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"div",11),o.TgZ(11,"button",12),o.NdJ("click",function(){return o.CHM(e),o.oxw().resetData()}),o._uU(12,"Clear Field"),o.qZA(),o.TgZ(13,"button",13),o.NdJ("click",function(){o.CHM(e);const t=o.MAs(1);return o.oxw().onAddInvoice(t)}),o._uU(14,"Create Invoice"),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("ngModel",e.memo),o.xp6(2),o.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),o.xp6(4),o.Oqu(e.invoiceValueHint)}}function Ie(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",14),o.TgZ(1,"button",15),o.NdJ("click",function(){return o.CHM(e),o.oxw().openCreateInvoiceModal()}),o._uU(2,"Create Invoice"),o.qZA(),o.qZA()}}function Oe(e,t){1&e&&o._UZ(0,"mat-progress-bar",46)}function Je(e,t){1&e&&(o.TgZ(0,"th",47),o._uU(1," Date Created "),o.qZA())}const De=function(e){return{"mr-0":e}};function Re(e,t){if(1&e&&o._UZ(0,"span",51),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,De,e.screenSize===e.screenSizeEnum.XS))}}function Me(e,t){if(1&e&&o._UZ(0,"span",52),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,De,e.screenSize===e.screenSizeEnum.XS))}}function Ee(e,t){if(1&e&&(o.TgZ(0,"td",48),o.YNc(1,Re,1,3,"span",49),o.YNc(2,Me,1,3,"span",50),o._uU(3),o.ALo(4,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Q6J("ngIf",e.settled),o.xp6(1),o.Q6J("ngIf",!e.settled),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*e.creation_date,"dd/MMM/YYYY HH:mm"),"")}}function Qe(e,t){1&e&&(o.TgZ(0,"th",53),o._uU(1," Date Settled "),o.qZA())}function Ye(e,t){if(1&e&&(o.TgZ(0,"td",54),o._uU(1),o.ALo(2,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(0!=+e.settle_date?o.xi3(2,1,1e3*+e.settle_date,"dd/MMM/YYYY HH:mm"):"-")}}function Pe(e,t){1&e&&(o.TgZ(0,"th",47),o._uU(1," Memo "),o.qZA())}const Be=function(e){return{"max-width":e}};function Ge(e,t){if(1&e&&(o.TgZ(0,"td",48),o.TgZ(1,"div",55),o.TgZ(2,"span",56),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.xp6(1),o.Q6J("ngStyle",o.VKq(2,Be,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),o.xp6(2),o.Oqu(e.memo)}}function He(e,t){1&e&&(o.TgZ(0,"th",57),o._uU(1," Amount (Sats) "),o.qZA())}function ze(e,t){if(1&e&&(o.TgZ(0,"td",48),o.TgZ(1,"span",58),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.value)," ")}}function Ve(e,t){1&e&&(o.TgZ(0,"th",57),o._uU(1," Amount Settled (Sats) "),o.qZA())}function We(e,t){if(1&e&&(o.TgZ(0,"td",48),o.TgZ(1,"span",58),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.amt_paid_sat)," ")}}function Xe(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",59),o.TgZ(1,"div",60),o.TgZ(2,"mat-select",61),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",62),o.NdJ("click",function(){return o.CHM(e),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}const $e=function(e){return{"pl-3":e}};function je(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",63),o.TgZ(1,"div",64),o.TgZ(2,"mat-select",65),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",62),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw(2).onInvoiceClick(t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",62),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw(2).onRefreshInvoice(t)}),o._uU(7,"Refresh"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,$e,e.screenSize!==e.screenSizeEnum.XS))}}function Ke(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No invoice available."),o.qZA())}function et(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting invoices..."),o.qZA())}function tt(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.errorMessage)}}function nt(e,t){if(1&e&&(o.TgZ(0,"td",66),o.YNc(1,Ke,2,0,"p",67),o.YNc(2,et,2,0,"p",67),o.YNc(3,tt,2,1,"p",67),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=e.invoices&&e.invoices.data)||(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchInvoices.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.invoices&&e.invoices.data)||(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchInvoices.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.invoices&&e.invoices.data)||(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchInvoices.status)===e.apiCallStatusEnum.ERROR)}}const at=function(e){return{"display-none":e}};function it(e,t){if(1&e&&o._UZ(0,"tr",68),2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,at,(null==e.invoices?null:e.invoices.data)&&(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)>0))}}function st(e,t){1&e&&o._UZ(0,"tr",69)}function ot(e,t){if(1&e&&o._UZ(0,"tr",70),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",e.memo===n.newlyAddedInvoiceMemo&&e.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const lt=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},rt=function(){return["no_invoice"]};function ct(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",16),o.TgZ(1,"div",17),o.TgZ(2,"div",18),o._UZ(3,"fa-icon",19),o.TgZ(4,"span",20),o._uU(5,"Invoices History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",21),o.TgZ(7,"input",22),o.NdJ("keyup",function(t){return o.CHM(e),o.oxw().applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",23),o.YNc(9,Oe,1,0,"mat-progress-bar",24),o.TgZ(10,"table",25,26),o.ynx(12,27),o.YNc(13,Je,2,0,"th",28),o.YNc(14,Ee,5,6,"td",29),o.BQk(),o.ynx(15,30),o.YNc(16,Qe,2,0,"th",31),o.YNc(17,Ye,3,4,"td",32),o.BQk(),o.ynx(18,33),o.YNc(19,Pe,2,0,"th",28),o.YNc(20,Ge,4,4,"td",29),o.BQk(),o.ynx(21,34),o.YNc(22,He,2,0,"th",35),o.YNc(23,ze,4,3,"td",29),o.BQk(),o.ynx(24,36),o.YNc(25,Ve,2,0,"th",35),o.YNc(26,We,4,3,"td",29),o.BQk(),o.ynx(27,37),o.YNc(28,Xe,6,0,"th",38),o.YNc(29,je,8,3,"td",39),o.BQk(),o.ynx(30,40),o.YNc(31,nt,4,3,"td",41),o.BQk(),o.YNc(32,it,1,3,"tr",42),o.YNc(33,st,1,0,"tr",43),o.YNc(34,ot,1,1,"tr",44),o.qZA(),o.TgZ(35,"mat-paginator",45),o.NdJ("page",function(t){return o.CHM(e),o.oxw().onPageChange(t)}),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("icon",e.faHistory),o.xp6(6),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchInvoices.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.invoices)("ngClass",o.VKq(12,lt,""!==e.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(14,rt)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("length",e.totalInvoices)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let ut=(()=>{class e{constructor(e,t,n,a,i,s){this.logger=e,this.store=t,this.decimalPipe=n,this.commonService=a,this.datePipe=i,this.actions=s,this.calledFrom="transactions",this.faHistory=g.qO$,this.selNode={},this.newlyAddedInvoiceMemo=null,this.newlyAddedInvoiceValue=null,this.flgAnimate=!0,this.memo="",this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoicesData=[],this.information={},this.flgSticky=!1,this.private=!1,this.expiryStep=100,this.totalInvoices=100,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.firstOffset=-1,this.lastOffset=-1,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["creation_date","value","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["creation_date","settle_date","value","amt_paid_sat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["creation_date","settle_date","memo","value","actions"]):(this.flgSticky=!0,this.displayedColumns=["creation_date","settle_date","memo","value","amt_paid_sat","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchInvoices.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchInvoices.message?JSON.stringify(this.apisCallStatus.FetchInvoices.message):this.apisCallStatus.FetchInvoices.message),this.selNode=e.nodeSettings,this.information=e.information,this.totalInvoices=e.totalInvoices,this.firstOffset=+e.invoices.first_index_offset,this.lastOffset=+e.invoices.last_index_offset,this.invoicesData=e.invoices.invoices?e.invoices.invoices:[],this.invoicesData.length>0&&this.sort&&this.paginator&&this.loadInvoicesTable(this.invoicesData),this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.RP||e.type===x.JE)).subscribe(e=>{e.type===x.RP&&this.invoicesData.length>0&&this.sort&&this.paginator&&e.payload&&(this.updateInvoicesData(JSON.parse(JSON.stringify(e.payload))),this.loadInvoicesTable(this.invoicesData))})}ngAfterViewInit(){this.invoicesData.length>0&&this.loadInvoicesTable(this.invoicesData)}onAddInvoice(e){const t=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo=this.memo,this.newlyAddedInvoiceValue=this.invoiceValue,this.store.dispatch(new x.H1({uiMessage:f.m6.ADD_INVOICE,memo:this.memo,invoiceValue:this.invoiceValue,private:this.private,expiry:t,pageSize:this.pageSize,openModal:!0})),this.resetData()}onInvoiceClick(e){this.store.dispatch(new ee.wu({data:{invoice:e,newlyAdded:!1,component:ke.v}}))}onRefreshInvoice(e){this.store.dispatch(new x.oP(e.r_hash))}updateInvoicesData(e){this.invoicesData=this.invoicesData.map(t=>t.r_hash===e.r_hash?e:t)}loadInvoicesTable(e){this.invoices=new Ze.by(e?[...e]:[]),this.invoices.sort=this.sort,this.invoices.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.invoices.filterPredicate=(e,t)=>((e.creation_date?this.datePipe.transform(new Date(1e3*e.creation_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.settle_date?this.datePipe.transform(new Date(1e3*e.settle_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),setTimeout(()=>{this.flgAnimate=!1},5e3),this.logger.info(this.invoices)}resetData(){this.memo="",this.invoiceValue=null,this.private=!1,this.expiry=null,this.invoiceValueHint=""}applyFilter(e){this.invoices.filter=e.value.trim().toLowerCase()}onPageChange(e){let t=!0,n=this.lastOffset,a=e.pageSize;0===e.pageIndex?(t=!0,n=0):e.pageIndexe.previousPageIndex&&e.length>(e.pageIndex+1)*e.pageSize?(t=!0,n=this.firstOffset):e.length<=(e.pageIndex+1)*e.pageSize&&(t=!1,n=0,a=e.length-e.pageIndex*e.pageSize),this.store.dispatch(new x._O({num_max_invoices:e.pageSize,index_offset:n,reversed:t}))}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,d.R)(this.unSubs[2])).subscribe({next:e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,f.Xz.OTHER)+" "+e.unit},error:e=>{this.invoiceValueHint="Conversion Error: "+e}}))}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}openCreateInvoiceModal(){this.store.dispatch(new ee.wu({data:{pageSize:this.pageSize,component:Le}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(a.JJ),o.Y36(C.v),o.Y36(a.uU),o.Y36(A.eX))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-lightning-invoices"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","end start"],["matInput","","placeholder","Memo","tabindex","1","name","memo",3,"ngModel","ngModelChange"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","2","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","5",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","tabindex","6","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","creation_date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","settle_date"],["mat-header-cell","","mat-sort-header","","class","pl-4",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","memo"],["matColumnDef","value"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_paid_sat"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","","class","row-invoices",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"length","pageSize","pageSizeOptions","showFirstLastButtons","page"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unsettled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unsettled","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","4",1,"mr-0"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row","",1,"row-invoices"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,Ue,15,5,"form",1),o.YNc(2,Ie,3,0,"div",2),o.YNc(3,ct,36,15,"div",3),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf","home"===t.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===t.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Ae.JJ,Ae.On,Ae.wV,Ae.qQ,be.q,D.R9,D.bx,q.lW,T.BN,E.$V,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,R.gM,a.PC,v.Zl,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-memo[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-memo[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[Ne.Q]}}),e})();var pt=n(9056),dt=n(3556),ht=n(5001),mt=n(84);const gt=["paymentReq"];function ft(e,t){if(1&e&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.paymentDecodedHint)}}function xt(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function Zt(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.paymentDecodedHint)}}function yt(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment amount is required."),o.qZA())}function At(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",1),o.TgZ(1,"input",29,30),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().paymentAmount=t})("change",function(t){return o.CHM(e),o.oxw().onAmountChange(t)}),o.qZA(),o.TgZ(3,"mat-hint"),o._uU(4,"It is a zero amount invoice, enter amount to be paid."),o.qZA(),o.YNc(5,yt,2,0,"mat-error",11),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngModel",e.paymentAmount),o.xp6(4),o.Q6J("ngIf",!e.paymentAmount)}}function Ct(e,t){if(1&e&&(o.TgZ(0,"mat-option",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.hij(" ",e.name," ")}}function Tt(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("",e.selFeeLimitType.placeholder," is required.")}}function bt(e,t){if(1&e&&(o.TgZ(0,"mat-option",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.Oqu(e.remote_alias||e.chan_id)}}function wt(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Channel not found in the list."),o.qZA())}function _t(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.paymentError)}}function vt(e,t){if(1&e&&(o.TgZ(0,"div",32),o._UZ(1,"fa-icon",33),o.YNc(2,_t,2,1,"span",11),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.paymentError)}}let qt=(()=>{class e{constructor(e,t,n,a,i,s,o){this.dialogRef=e,this.store=t,this.logger=n,this.commonService=a,this.decimalPipe=i,this.actions=s,this.dataService=o,this.faExclamationTriangle=g.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.showAdvanced=!1,this.activeChannels=[],this.filteredMinAmtActvChannels=[],this.selectedChannelCtrl=new Ae.NI,this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.feeLimitTypes=f.Vc,this.advancedTitle="Advanced Options",this.paymentError="",this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.activeChannels=e.allChannels.filter(e=>e.active),this.filteredMinAmtActvChannels=this.activeChannels,this.filteredMinAmtActvChannels.length&&this.filteredMinAmtActvChannels.length>0?this.selectedChannelCtrl.enable():this.selectedChannelCtrl.disable(),this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.JE||e.type===x.ug)).subscribe(e=>{e.type===x.ug&&this.dialogRef.close(),e.type===x.JE&&e.payload.status===f.Bn.ERROR&&"SendPayment"===e.payload.action&&(delete this.paymentDecoded.num_satoshis,this.paymentError=e.payload.message)});let e="",t="";this.activeChannels=this.activeChannels.sort((n,a)=>(e=n.remote_alias?n.remote_alias.toLowerCase():n.chan_id?n.chan_id.toLowerCase():"",t=a.remote_alias?a.remote_alias.toLowerCase():a.chan_id?a.chan_id.toLowerCase():"",et?1:0)),this.selectedChannelCtrl.valueChanges.pipe((0,d.R)(this.unSubs[2])).subscribe(e=>{"string"==typeof e&&(this.filteredMinAmtActvChannels=this.filterChannels())})}filterChannels(){return this.activeChannels.filter(e=>0===(e.remote_alias?e.remote_alias.toLowerCase():e.chan_id?e.chan_id.toLowerCase():"").indexOf(this.selectedChannelCtrl.value?this.selectedChannelCtrl.value.toLowerCase():"")&&e.local_balance>=+(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0))}displayFn(e){return e&&e.remote_alias?e.remote_alias:e&&e.chan_id?e.chan_id:""}onSelectedChannelChanged(){if(this.selectedChannelCtrl.value&&this.selectedChannelCtrl.value.length>0&&"string"==typeof this.selectedChannelCtrl.value){const e=this.activeChannels.filter(e=>{const t=e.remote_alias?e.remote_alias.toLowerCase():e.chan_id?e.chan_id.toLowerCase():"";return t.length===this.selectedChannelCtrl.value.length&&0===t.indexOf(this.selectedChannelCtrl.value?this.selectedChannelCtrl.value.toLowerCase():"")});e&&e.length>0?(this.selectedChannelCtrl.setValue(e[0]),this.selectedChannelCtrl.setErrors(null)):this.selectedChannelCtrl.setErrors({notfound:!0})}}onSendPayment(){if(this.selectedChannelCtrl.value&&"string"==typeof this.selectedChannelCtrl.value&&this.onSelectedChannelChanged(),!this.paymentRequest||this.zeroAmtInvoice&&(!this.paymentAmount||this.paymentAmount<=0)||"string"==typeof this.selectedChannelCtrl.value)return!0;this.paymentDecoded.timestamp?this.sendPayment():this.onPaymentRequestEntry(this.paymentRequest)}sendPayment(){this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.zeroAmtInvoice=!1,this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,paymentReq:this.paymentRequest,outgoingChannel:this.selectedChannelCtrl.value,feeLimitType:{id:this.selFeeLimitType.id,name:this.selFeeLimitType.name},feeLimit:this.feeLimit,fromDialog:!0}))):(this.zeroAmtInvoice=!0,this.paymentDecoded.num_satoshis=this.paymentAmount,this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,paymentReq:this.paymentRequest,paymentAmount:this.paymentAmount,outgoingChannel:this.selectedChannelCtrl.value,feeLimitType:{id:this.selFeeLimitType.id,name:this.selFeeLimitType.name},feeLimit:this.feeLimit,fromDialog:!0})))}onAmountChange(e){delete this.paymentDecoded.num_satoshis}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,pt.q)(1)).subscribe({next:e=>{this.paymentDecoded=e,this.selectedChannelCtrl.setValue(null),this.onAdvancedPanelToggle(!0,!0),this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.filteredMinAmtActvChannels=this.filterChannels(),this.filteredMinAmtActvChannels.length&&this.filteredMinAmtActvChannels.length>0?this.selectedChannelCtrl.enable():this.selectedChannelCtrl.disable(),this.zeroAmtInvoice=!1,this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,d.R)(this.unSubs[4])).subscribe({next:e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats ("+e.symbol+" "+this.decimalPipe.transform(e.OTHER?e.OTHER:0,f.Xz.OTHER)+") | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")},error:e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")):(this.zeroAmtInvoice=!0,this.filteredMinAmtActvChannels=this.activeChannels,this.filteredMinAmtActvChannels.length&&this.filteredMinAmtActvChannels.length>0?this.selectedChannelCtrl.enable():this.selectedChannelCtrl.disable(),this.paymentDecodedHint="Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None"))},error:e=>{this.logger.error(e),this.paymentDecodedHint="ERROR: "+e.message,this.paymentReq.control.setErrors({decodeError:!0})}}))}onAdvancedPanelToggle(e,t){if(e&&!t){const e=this.selectedChannelCtrl.value&&this.selectedChannelCtrl.value.remote_alias?this.selectedChannelCtrl.value.remote_alias:this.selectedChannelCtrl.value&&this.selectedChannelCtrl.value.chan_id?this.selectedChannelCtrl.value.chan_id:"";this.advancedTitle="Advanced Options | "+this.selFeeLimitType.name+("none"===this.selFeeLimitType.id?"":": "+this.feeLimit)+(""!==e?" | First Outgoing Channel: "+e:"")}else this.advancedTitle="Advanced Options"}resetData(){this.paymentDecoded={},this.paymentRequest="",this.selectedChannelCtrl.setValue(null),this.filteredMinAmtActvChannels=this.activeChannels,this.filteredMinAmtActvChannels.length&&this.filteredMinAmtActvChannels.length>0?this.selectedChannelCtrl.enable():this.selectedChannelCtrl.disable(),this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.advancedTitle="Advanced Options",this.zeroAmtInvoice=!1,this.paymentReq.control.setErrors(null),this.paymentError="",this.paymentDecodedHint=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(y.yh),o.Y36(Z.mQ),o.Y36(C.v),o.Y36(a.JJ),o.Y36(A.eX),o.Y36(dt.D))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-lightning-send-payments"]],viewQuery:function(e,t){if(1&e&&o.Gf(gt,5),2&e){let e;o.iGM(e=o.CRH())&&(t.paymentReq=e.first)}},decls:43,vars:21,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100","expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxFlex","100","fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","30","fxLayoutAlign","start end"],["tabindex","5","Placeholder","Fee Limits",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","26"],["matInput","","type","number","name","feeLmt","required","","tabindex","6",3,"ngModel","placeholder","step","min","disabled","ngModelChange"],["fLmt","ngModel"],["fxFlex","40","fxLayoutAlign","start end"],["type","text","placeholder","First Outgoing Channel","aria-label","First Outgoing Channel","matInput","","tabindex","7",3,"formControl","matAutocomplete"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Send Payment"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.TgZ(11,"mat-form-field",1),o.TgZ(12,"textarea",9,10),o.NdJ("ngModelChange",function(e){return t.onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(14,ft,2,1,"mat-hint",11),o.YNc(15,xt,2,0,"mat-error",11),o.YNc(16,Zt,2,1,"mat-error",11),o.qZA(),o.YNc(17,At,6,2,"mat-form-field",12),o.TgZ(18,"mat-expansion-panel",13),o.NdJ("closed",function(){return t.onAdvancedPanelToggle(!0,!1)})("opened",function(){return t.onAdvancedPanelToggle(!1,!1)}),o.TgZ(19,"mat-expansion-panel-header"),o.TgZ(20,"mat-panel-title"),o.TgZ(21,"span"),o._uU(22),o.qZA(),o.qZA(),o.qZA(),o.TgZ(23,"div",14),o.TgZ(24,"mat-form-field",15),o.TgZ(25,"mat-select",16),o.NdJ("valueChange",function(e){return t.selFeeLimitType=e}),o.YNc(26,Ct,2,2,"mat-option",17),o.qZA(),o.qZA(),o.TgZ(27,"mat-form-field",18),o.TgZ(28,"input",19,20),o.NdJ("ngModelChange",function(e){return t.feeLimit=e}),o.qZA(),o.YNc(30,Tt,2,1,"mat-error",11),o.qZA(),o.TgZ(31,"mat-form-field",21),o._UZ(32,"input",22),o.TgZ(33,"mat-autocomplete",23,24),o.NdJ("optionSelected",function(){return t.onSelectedChannelChanged()}),o.YNc(35,bt,2,2,"mat-option",17),o.qZA(),o.YNc(36,wt,2,0,"mat-error",11),o.qZA(),o.qZA(),o.qZA(),o.YNc(37,vt,3,2,"div",25),o.TgZ(38,"div",26),o.TgZ(39,"button",27),o.NdJ("click",function(){return t.resetData()}),o._uU(40,"Clear Fields"),o.qZA(),o.TgZ(41,"button",28),o.NdJ("click",function(){return t.onSendPayment()}),o._uU(42,"Send Payment"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.MAs(13),n=o.MAs(34);o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",t.paymentRequest),o.xp6(2),o.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!t.paymentRequest),o.xp6(1),o.Q6J("ngIf",null==e.errors?null:e.errors.decodeError),o.xp6(1),o.Q6J("ngIf",t.zeroAmtInvoice),o.xp6(5),o.Oqu(t.advancedTitle),o.xp6(3),o.Q6J("value",t.selFeeLimitType),o.xp6(1),o.Q6J("ngForOf",t.feeLimitTypes),o.xp6(2),o.Q6J("ngModel",t.feeLimit)("placeholder",t.selFeeLimitType.placeholder)("step",1)("min",0)("disabled",t.selFeeLimitType===t.feeLimitTypes[0]),o.xp6(2),o.Q6J("ngIf",t.selFeeLimitType!==t.feeLimitTypes[0]&&!t.feeLimit),o.xp6(2),o.Q6J("formControl",t.selectedChannelCtrl)("matAutocomplete",n),o.xp6(1),o.Q6J("displayWith",t.displayFn),o.xp6(2),o.Q6J("ngForOf",t.filteredMinAmtActvChannels),o.xp6(1),o.Q6J("ngIf",null==t.selectedChannelCtrl.errors?null:t.selectedChannelCtrl.errors.notfound),o.xp6(1),o.Q6J("ngIf",""!==t.paymentError)}},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,ye.ZT,w.dn,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Ce.D7,Te.h,Ae.Q7,Ae.JJ,Ae.On,a.O5,ht.ib,ht.yz,ht.yK,we.gD,a.sg,Ae.wV,Ae.qQ,be.q,mt.ZL,Ae.oH,mt.XC,D.bx,D.TO,ve.ey,T.BN],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var St=n(8914),Ft=n(8248);const Lt=["sendPaymentForm"];function kt(e,t){if(1&e&&(o.TgZ(0,"mat-hint"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.paymentDecodedHint)}}function Nt(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Payment request is required."),o.qZA())}function Ut(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"form",4,5),o.TgZ(2,"mat-form-field",6),o.TgZ(3,"textarea",7,8),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),o.qZA(),o.YNc(5,kt,2,1,"mat-hint",9),o.YNc(6,Nt,2,0,"mat-error",9),o.qZA(),o.TgZ(7,"div",10),o.TgZ(8,"button",11),o.NdJ("click",function(){return o.CHM(e),o.oxw().resetData()}),o._uU(9,"Clear Field"),o.qZA(),o.TgZ(10,"button",12),o.NdJ("click",function(){return o.CHM(e),o.oxw().onSendPayment()}),o._uU(11,"Send Payment"),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("ngModel",e.paymentRequest),o.xp6(2),o.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),o.xp6(1),o.Q6J("ngIf",!e.paymentRequest)}}function It(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",13),o.TgZ(1,"button",14),o.NdJ("click",function(){return o.CHM(e),o.oxw().openSendPaymentModal()}),o._uU(2,"Send Payment"),o.qZA(),o.qZA()}}function Ot(e,t){1&e&&o._UZ(0,"mat-progress-bar",53)}function Jt(e,t){1&e&&(o.TgZ(0,"th",54),o._uU(1,"Creation Date"),o.qZA())}const Dt=function(e){return{"mr-0":e}};function Rt(e,t){if(1&e&&o._UZ(0,"span",58),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function Mt(e,t){if(1&e&&o._UZ(0,"span",59),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function Et(e,t){if(1&e&&(o.TgZ(0,"td",55),o.YNc(1,Rt,1,3,"span",56),o.YNc(2,Mt,1,3,"span",57),o._uU(3),o.ALo(4,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Q6J("ngIf","SUCCEEDED"===e.status),o.xp6(1),o.Q6J("ngIf","SUCCEEDED"!==e.status),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*(null==e?null:e.creation_date),"dd/MMM/YYYY HH:mm")," ")}}function Qt(e,t){1&e&&(o.TgZ(0,"th",54),o._uU(1,"Payment Hash"),o.qZA())}const Yt=function(e){return{"max-width":e}};function Pt(e,t){if(1&e&&(o.TgZ(0,"td",60),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,Yt,n.screenSize===n.screenSizeEnum.XS?"10rem":"35rem")),o.xp6(1),o.Oqu(null==e?null:e.payment_hash)}}function Bt(e,t){1&e&&(o.TgZ(0,"th",61),o._uU(1,"Fee (Sats)"),o.qZA())}function Gt(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",62),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==e?null:e.fee))}}function Ht(e,t){1&e&&(o.TgZ(0,"th",61),o._uU(1,"Value (Sats)"),o.qZA())}function zt(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",62),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,null==e?null:e.value))}}function Vt(e,t){1&e&&(o.TgZ(0,"th",61),o._uU(1,"#Hops"),o.qZA())}function Wt(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",62),o._uU(2),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu((null==e||null==e.htlcs[0]||null==e.htlcs[0].route||null==e.htlcs[0].route.hops?null:e.htlcs[0].route.hops.length)||0)}}function Xt(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",63),o.TgZ(1,"div",64),o.TgZ(2,"mat-select",65),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",66),o.NdJ("click",function(){return o.CHM(e),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function $t(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",67),o.TgZ(1,"button",68),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw(2).onPaymentClick(t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function jt(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No payment available."),o.qZA())}function Kt(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting payments..."),o.qZA())}function en(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.errorMessage)}}function tn(e,t){if(1&e&&(o.TgZ(0,"td",69),o.YNc(1,jt,2,0,"p",9),o.YNc(2,Kt,2,0,"p",9),o.YNc(3,en,2,1,"p",9),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=e.payments&&e.payments.data)||(null==e.payments||null==e.payments.data?null:e.payments.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPayments.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.payments&&e.payments.data)||(null==e.payments||null==e.payments.data?null:e.payments.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPayments.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.payments&&e.payments.data)||(null==e.payments||null==e.payments.data?null:e.payments.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPayments.status)===e.apiCallStatusEnum.ERROR)}}function nn(e,t){if(1&e&&o._UZ(0,"span",58),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function an(e,t){if(1&e&&o._UZ(0,"span",59),2&e){const e=o.oxw(3);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function sn(e,t){if(1&e&&o._UZ(0,"span",58),2&e){const e=o.oxw(5);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function on(e,t){if(1&e&&o._UZ(0,"span",59),2&e){const e=o.oxw(5);o.Q6J("ngClass",o.VKq(1,Dt,e.screenSize===e.screenSizeEnum.XS))}}function ln(e,t){if(1&e&&(o.TgZ(0,"span",72),o.YNc(1,sn,1,3,"span",56),o.YNc(2,on,1,3,"span",57),o._uU(3),o.ALo(4,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Q6J("ngIf","SUCCEEDED"===e.status),o.xp6(1),o.Q6J("ngIf","SUCCEEDED"!==e.status),o.xp6(1),o.hij(" ",o.xi3(4,3,1e3*e.attempt_time,"dd/MMM/YYYY HH:mm")," ")}}function rn(e,t){if(1&e&&(o.ynx(0),o.YNc(1,ln,5,6,"span",71),o.BQk()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function cn(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",70),o.YNc(2,nn,1,3,"span",56),o.YNc(3,an,1,3,"span",57),o._uU(4),o.qZA(),o.YNc(5,rn,2,1,"ng-container",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Q6J("ngIf","SUCCEEDED"===e.status),o.xp6(1),o.Q6J("ngIf","SUCCEEDED"!==e.status),o.xp6(1),o.hij(" Total Attempts: ",null==e||null==e.htlcs?null:e.htlcs.length," "),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function un(e,t){if(1&e&&(o.TgZ(0,"span",70),o._uU(1),o.qZA()),2&e){const e=t.index;o.xp6(1),o.hij(" HTLC ",e+1," ")}}function pn(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,un,2,1,"span",73),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function dn(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",70),o._uU(2),o.qZA(),o.YNc(3,pn,2,1,"span",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(null==e?null:e.payment_hash),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function hn(e,t){if(1&e&&(o.TgZ(0,"span",74),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,null==e.route?null:e.route.total_fees,"1.0-0")," ")}}function mn(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,hn,3,4,"span",75),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function gn(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",74),o._uU(2),o.ALo(3,"number"),o.qZA(),o.YNc(4,mn,2,1,"span",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.xi3(3,2,null==e?null:e.fee,"1.0-0")),o.xp6(2),o.Q6J("ngIf",e.is_expanded)}}function fn(e,t){if(1&e&&(o.TgZ(0,"span",74),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,null==e.route?null:e.route.total_amt,"1.0-0")," ")}}function xn(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,fn,3,4,"span",75),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function Zn(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",74),o._uU(2),o.ALo(3,"number"),o.qZA(),o.YNc(4,xn,2,1,"span",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.xi3(3,2,null==e?null:e.value,"1.0-0")),o.xp6(2),o.Q6J("ngIf",e.is_expanded)}}function yn(e,t){if(1&e&&(o.TgZ(0,"span",74),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,(null==e.route||null==e.route.hops?null:e.route.hops.length)||0,"1.0-0")," ")}}function An(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,yn,3,4,"span",75),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function Cn(e,t){if(1&e&&(o.TgZ(0,"td",55),o.TgZ(1,"span",74),o._uU(2,"-"),o.qZA(),o.YNc(3,An,2,1,"span",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(3),o.Q6J("ngIf",e.is_expanded)}}function Tn(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",62),o.TgZ(1,"button",79),o.NdJ("click",function(){const t=o.CHM(e).$implicit,n=o.oxw(2).$implicit;return o.oxw(2).onHTLCClick(t,n)}),o._uU(2),o.qZA(),o.qZA()}if(2&e){const e=t.index;o.xp6(2),o.hij("View ",e+1,"")}}function bn(e,t){if(1&e&&(o.TgZ(0,"div"),o.YNc(1,Tn,3,1,"div",78),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.htlcs)}}function wn(e,t){if(1&e&&(o.TgZ(0,"td",76),o.TgZ(1,"span",62),o.TgZ(2,"button",77),o.NdJ("click",function(){const e=t.$implicit;return e.is_expanded=!e.is_expanded}),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,bn,2,1,"div",9),o.qZA()),2&e){const e=t.$implicit;o.xp6(3),o.Oqu(e.is_expanded?"Hide":"Show"),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function _n(e,t){if(1&e&&o._UZ(0,"tr",80),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const vn=function(e){return{"display-none":e}};function qn(e,t){if(1&e&&o._UZ(0,"tr",81),2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,vn,(null==e.payments?null:e.payments.data)&&(null==e.payments||null==e.payments.data?null:e.payments.data.length)>0))}}function Sn(e,t){1&e&&o._UZ(0,"tr",82)}function Fn(e,t){if(1&e&&o._UZ(0,"tr",80),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const Ln=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},kn=function(){return["no_payment"]};function Nn(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",15),o.TgZ(1,"div",16),o.TgZ(2,"div",17),o._UZ(3,"fa-icon",18),o.TgZ(4,"span",19),o._uU(5,"Payments History"),o.qZA(),o.qZA(),o.TgZ(6,"mat-form-field",20),o.TgZ(7,"input",21),o.NdJ("keyup",function(t){return o.CHM(e),o.oxw().applyFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",22),o.TgZ(9,"div",23),o.YNc(10,Ot,1,0,"mat-progress-bar",24),o.TgZ(11,"table",25,26),o.ynx(13,27),o.YNc(14,Jt,2,0,"th",28),o.YNc(15,Et,5,6,"td",29),o.BQk(),o.ynx(16,30),o.YNc(17,Qt,2,0,"th",28),o.YNc(18,Pt,2,4,"td",31),o.BQk(),o.ynx(19,32),o.YNc(20,Bt,2,0,"th",33),o.YNc(21,Gt,4,3,"td",29),o.BQk(),o.ynx(22,34),o.YNc(23,Ht,2,0,"th",33),o.YNc(24,zt,4,3,"td",29),o.BQk(),o.ynx(25,35),o.YNc(26,Vt,2,0,"th",33),o.YNc(27,Wt,3,1,"td",29),o.BQk(),o.ynx(28,36),o.YNc(29,Xt,6,0,"th",37),o.YNc(30,$t,3,0,"td",38),o.BQk(),o.ynx(31,39),o.YNc(32,tn,4,3,"td",40),o.BQk(),o.ynx(33,41),o.YNc(34,cn,6,4,"td",29),o.BQk(),o.ynx(35,42),o.YNc(36,dn,4,2,"td",29),o.BQk(),o.ynx(37,43),o.YNc(38,gn,5,5,"td",29),o.BQk(),o.ynx(39,44),o.YNc(40,Zn,5,5,"td",29),o.BQk(),o.ynx(41,45),o.YNc(42,Cn,4,1,"td",29),o.BQk(),o.ynx(43,46),o.YNc(44,wn,5,2,"td",47),o.BQk(),o.YNc(45,_n,1,1,"tr",48),o.YNc(46,qn,1,3,"tr",49),o.YNc(47,Sn,1,0,"tr",50),o.YNc(48,Fn,1,1,"tr",51),o.qZA(),o.TgZ(49,"mat-paginator",52),o.NdJ("page",function(t){return o.CHM(e),o.oxw().onPageChange(t)}),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("icon",e.faHistory),o.xp6(7),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.FetchPayments.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.payments)("ngClass",o.VKq(14,Ln,""!==e.errorMessage)),o.xp6(34),o.Q6J("matRowDefColumns",e.htlcColumns)("matRowDefWhen",e.is_group),o.xp6(1),o.Q6J("matFooterRowDef",o.DdM(16,kn)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("length",e.totalPayments)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let Un=(()=>{class e{constructor(e,t,n,a,i,s,o,l){this.logger=e,this.commonService=t,this.dataService=n,this.store=a,this.rtlEffects=i,this.lndEffects=s,this.decimalPipe=o,this.datePipe=l,this.calledFrom="transactions",this.faHistory=g.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.information={},this.peers=[],this.totalPayments=100,this.paymentJSONArr=[],this.displayedColumns=[],this.htlcColumns=[],this.paymentDecoded={},this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.firstOffset=-1,this.lastOffset=-1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["creation_date","fee","actions"],this.htlcColumns=["groupTotal","groupFee","groupAction"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["creation_date","fee","value","hops","actions"],this.htlcColumns=["groupTotal","groupFee","groupValue","groupHops","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["creation_date","payment_hash","fee","value","hops","actions"],this.htlcColumns=["groupTotal","groupHash","groupFee","groupValue","groupHops","groupAction"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchPayments.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPayments.message?JSON.stringify(this.apisCallStatus.FetchPayments.message):this.apisCallStatus.FetchPayments.message),this.information=e.information,this.selNode=e.nodeSettings,this.peers=e.peers,this.paymentJSONArr=e.payments&&e.payments.payments&&e.payments.payments.length>0?e.payments.payments:[],this.totalPayments=e.allLightningTransactions.paymentsAll&&e.allLightningTransactions.paymentsAll.payments&&e.allLightningTransactions.paymentsAll.payments.length?e.allLightningTransactions.paymentsAll.payments.length:0,this.firstOffset=+e.payments.first_index_offset,this.lastOffset=+e.payments.last_index_offset,this.paymentJSONArr&&this.paymentJSONArr.length>0&&this.sort&&this.paginator?this.loadPaymentsTable(this.paymentJSONArr):this.paymentJSONArr&&0===this.paymentJSONArr.length&&(this.payments=new Ze.by([])),setTimeout(()=>{this.flgAnimate=!1},3e3),this.logger.info(e)})}ngAfterViewInit(){this.paymentJSONArr&&this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr)}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,pt.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.timestamp?(this.paymentDecoded.num_satoshis=this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis?(+this.paymentDecoded.num_msat/1e3).toString():"0",this.sendPayment()):this.resetData()})}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.payment_hash,this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"destination",value:this.paymentDecoded.destination,title:"Destination",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:50,type:f.Gi.DATE_TIME},{key:"num_satoshis",value:this.paymentDecoded.num_satoshis,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:f.Gi.NUMBER},{key:"cltv_expiry",value:this.paymentDecoded.cltv_expiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,pt.q)(1)).subscribe(e=>{e&&(this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,paymentReq:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"destination",value:this.paymentDecoded.destination,title:"Destination",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:40,type:f.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"cltv_expiry",value:this.paymentDecoded.cltv_expiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,getInputs:[{placeholder:"Amount (Sats)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,pt.q)(1)).subscribe(e=>{e&&(this.paymentDecoded.num_satoshis=e[0].inputValue,this.store.dispatch(new x.Ar({uiMessage:f.m6.SEND_PAYMENT,paymentReq:this.paymentRequest,paymentAmount:e[0].inputValue,fromDialog:!1})),this.resetData())}))}openSendPaymentModal(){this.store.dispatch(new ee.wu({data:{component:qt}}))}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,pt.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis?this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis,f.NT.SATS,f.NT.OTHER,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,d.R)(this.unSubs[2])).subscribe({next:e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description},error:e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0)+" Sats | Memo: "+this.paymentDecoded.description+". Unable to convert currency."}}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0)+" Sats | Memo: "+this.paymentDecoded.description:this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description})}onPageChange(e){let t=!0,n=this.lastOffset,a=e.pageSize;0===e.pageIndex?(t=!0,n=0):e.pageIndexe.previousPageIndex&&e.length>(e.pageIndex+1)*e.pageSize?(t=!0,n=this.firstOffset):e.length<=(e.pageIndex+1)*e.pageSize&&(t=!1,n=0,a=e.length-e.pageIndex*e.pageSize),this.store.dispatch(new x.xt({max_payments:a,index_offset:n,reversed:t}))}is_group(e,t){return t.htlcs&&t.htlcs.length>1}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}getHopDetails(e){const t=this;return e.reduce((e,n)=>{const a=t.peers.find(e=>e.pub_key===n.pub_key);return a&&a.alias?e.push("
Channel: "+a.alias.padEnd(20)+"			Amount (Sats): "+t.decimalPipe.transform(n.amt_to_forward)+"
"):t.dataService.getAliasesFromPubkeys(n.pub_key,!1).pipe((0,d.R)(t.unSubs[1])).subscribe(a=>{e.push("
Channel: "+(a.node&&a.node.alias?a.node.alias.padEnd(20):n.pub_key.substring(0,17)+"...")+"			Amount (Sats): "+t.decimalPipe.transform(n.amt_to_forward)+"
")}),e},[])}onHTLCClick(e,t){t.payment_request&&""!==t.payment_request.trim()?this.dataService.decodePayment(t.payment_request,!1).pipe((0,pt.q)(1)).subscribe({next:n=>{this.showHTLCView(e,t,n)},error:n=>{this.showHTLCView(e,t,null)}}):this.showHTLCView(e,t,null)}showHTLCView(e,t,n){const a=[[{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"preimage",value:e.preimage,title:"Preimage",width:100,type:f.Gi.STRING}],[{key:"payment_request",value:t.payment_request,title:"Payment Request",width:100,type:f.Gi.STRING}],[{key:"status",value:e.status,title:"Status",width:33,type:f.Gi.STRING},{key:"attempt_time_ns",value:+e.attempt_time_ns/1e9,title:"Attempt Time",width:33,type:f.Gi.DATE_TIME},{key:"resolve_time_ns",value:+e.resolve_time_ns/1e9,title:"Resolve Time",width:34,type:f.Gi.DATE_TIME}],[{key:"total_amt",value:e.route.total_amt,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER},{key:"total_fees",value:e.route.total_fees,title:"Fee (Sats)",width:33,type:f.Gi.NUMBER},{key:"total_time_lock",value:e.route.total_time_lock,title:"Total Time Lock",width:34,type:f.Gi.NUMBER}],[{key:"hops",value:this.getHopDetails(e.route.hops),title:"Hops",width:100,type:f.Gi.ARRAY}]];n&&n.description&&""!==n.description&&a.splice(3,0,[{key:"description",value:n.description,title:"Description",width:100,type:f.Gi.STRING}]),this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"HTLC Information",message:a,scrollable:e.route&&e.route.hops&&e.route.hops.length>1}}))}onPaymentClick(e){if(e.htlcs&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length>0){const t=e.htlcs[0].route.hops.reduce((e,t)=>""===e?t.pub_key:e+","+t.pub_key,"");this.dataService.getAliasesFromPubkeys(t,!0).pipe((0,d.R)(this.unSubs[3])).subscribe(t=>{this.showPaymentView(e,t.reduce((e,t)=>""===e?t:e+"\n"+t,""))})}else this.showPaymentView(e,"")}showPaymentView(e,t){const n=[[{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"payment_preimage",value:e.payment_preimage,title:"Payment Preimage",width:100,type:f.Gi.STRING}],[{key:"payment_request",value:e.payment_request,title:"Payment Request",width:100,type:f.Gi.STRING}],[{key:"status",value:e.status,title:"Status",width:50,type:f.Gi.STRING},{key:"creation_date",value:e.creation_date,title:"Creation Date",width:50,type:f.Gi.DATE_TIME}],[{key:"value_msat",value:e.value_msat,title:"Value (mSats)",width:50,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:50,type:f.Gi.NUMBER}],[{key:"path",value:t,title:"Path",width:100,type:f.Gi.STRING}]];e.payment_request&&""!==e.payment_request.trim()?this.dataService.decodePayment(e.payment_request,!1).pipe((0,pt.q)(1)).subscribe(t=>{t&&t.description&&""!==t.description&&n.splice(3,0,[{key:"description",value:t.description,title:"Description",width:100,type:f.Gi.STRING}]),this.openPaymentAlert(n,e.htlcs&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length>1)}):this.openPaymentAlert(n,!1)}openPaymentAlert(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Payment Information",message:e,scrollable:t}}))}applyFilter(e){this.payments.filter=e.value.trim().toLowerCase()}loadPaymentsTable(e){this.payments=new Ze.by(e?[...e]:[]),this.payments.sortingDataAccessor=(e,t)=>{switch(t){case"hops":return e.htlcs.length&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length?e.htlcs[0].route.hops.length:0;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.payments.sort=this.sort,this.payments.filterPredicate=(e,t)=>((e.creation_date?this.datePipe.transform(new Date(1e3*e.creation_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t)}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){const e=JSON.parse(JSON.stringify(this.payments.data)),t=e.reduce((e,t)=>(t.payment_request&&""!==t.payment_request.trim()&&(e=""===e?t.payment_request:e+","+t.payment_request),e),"");this.dataService.decodePayments(t).pipe((0,d.R)(this.unSubs[4])).subscribe(t=>{let n=0;t.forEach((t,a)=>{for(;e[a+n].payment_hash!==t.payment_hash;)n+=1;e[a+n].description=t.description});const a=e.reduce((e,t)=>e.concat(t),[]);this.commonService.downloadFile(a,"Payments")})}}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(dt.D),o.Y36(y.yh),o.Y36(St.V),o.Y36(Ft.l),o.Y36(a.JJ),o.Y36(a.uU))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-lightning-payments"]],viewQuery:function(e,t){if(1&e&&(o.Gf(Lt,5),o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.form=e.first),o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},inputs:{calledFrom:"calledFrom"},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayoutAlign","space-between stretch","fxLayout","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","4",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","creation_date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","payment_hash"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","fee"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","value"],["matColumnDef","hops"],["matColumnDef","actions"],["mat-header-cell","","class","px-2",4,"matHeaderCellDef"],["mat-cell","","class","px-2","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupHash"],["matColumnDef","groupFee"],["matColumnDef","groupValue"],["matColumnDef","groupHops"],["matColumnDef","groupAction"],["mat-cell","","class","px-2",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"length","pageSize","pageSizeOptions","showFirstLastButtons","page"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Succeeded","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Succeeded","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Failed","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-2"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-2"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"htlc-row-span"],["fxLayoutAlign","start center","class","htlc-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"htlc-row-span","pl-3"],["fxLayoutAlign","start center","class","htlc-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"htlc-row-span"],["fxLayoutAlign","end center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-2"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-htlc-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-htlc-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,Ut,12,3,"form",1),o.YNc(2,It,3,0,"div",2),o.YNc(3,Nn,50,17,"div",3),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf","home"===t.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===t.calledFrom),o.xp6(1),o.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Ce.D7,Ae.Q7,E.$V,Ae.JJ,Ae.On,q.lW,D.bx,D.TO,T.BN,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.nj,Ze.Ke,Ze.as,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,R.gM,a.PC,v.Zl,we.gD,we.$L,ve.ey,Ze.yh,a.sg,Ze.Gk,Ze.Q2,Ze.XQ],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-htlc-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-htlc-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.htlc-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:17rem}"],data:{animation:[Ne.Q]}}),e})();function In(e,t){if(1&e&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&e){o.oxw();const e=o.MAs(11);o.Q6J("matMenuTriggerFor",e)}}function On(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(e),o.oxw(3).onNavigateTo("/lnd/reports")}),o._uU(1,"Fees Summary"),o.qZA()}}function Jn(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",15),o.NdJ("click",function(){return o.CHM(e),o.oxw(3).onsortChannelsBy()}),o._uU(1),o.qZA()}if(2&e){const e=o.oxw(3);o.xp6(1),o.hij("Sort By ","Balance Score"===e.sortField?"Capacity":"Balance Score","")}}function Dn(e,t){1&e&&o._UZ(0,"mat-progress-bar",27)}function Rn(e,t){if(1&e&&o._UZ(0,"rtl-node-info",28),2&e){const e=o.oxw(3);o.Q6J("information",e.information)("showColorFieldSeparately",!1)}}function Mn(e,t){if(1&e&&o._UZ(0,"rtl-balances-info",29),2&e){const e=o.oxw(3);o.Q6J("balances",e.balances)("errorMessage",e.errorMessages[3]+" "+e.errorMessages[2])}}function En(e,t){if(1&e&&o._UZ(0,"rtl-channel-capacity-info",30),2&e){const e=o.oxw(3);o.Q6J("sortBy",e.sortField)("channelBalances",e.channelBalances)("allChannels",e.allChannelsCapacity)("errorMessage",e.errorMessages[3])}}function Qn(e,t){if(1&e&&o._UZ(0,"rtl-fee-info",31),2&e){const e=o.oxw(3);o.Q6J("fees",e.fees)("errorMessage",e.errorMessages[1])}}function Yn(e,t){if(1&e&&o._UZ(0,"rtl-channel-status-info",32),2&e){const e=o.oxw(3);o.Q6J("channelsStatus",e.channelsStatus)("errorMessage",e.errorMessages[3]+" "+e.errorMessages[4])}}function Pn(e,t){1&e&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const Bn=function(e){return{"dashboard-card-content":!0,"error-border":e}};function Gn(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",9),o.TgZ(2,"mat-card-header"),o.TgZ(3,"mat-card-title",10),o.TgZ(4,"div"),o._UZ(5,"fa-icon",11),o.TgZ(6,"span"),o._uU(7),o.qZA(),o.qZA(),o.TgZ(8,"div"),o.YNc(9,In,3,1,"button",12),o.TgZ(10,"mat-menu",13,14),o.TgZ(12,"button",15),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw(2).onNavigateTo(t.link)}),o._uU(13),o.qZA(),o.YNc(14,On,2,0,"button",16),o.YNc(15,Jn,2,1,"button",16),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(16,"mat-card-content",17),o.YNc(17,Dn,1,0,"mat-progress-bar",18),o.TgZ(18,"div",19),o.YNc(19,Rn,1,2,"rtl-node-info",20),o.YNc(20,Mn,1,2,"rtl-balances-info",21),o.YNc(21,En,1,4,"rtl-channel-capacity-info",22),o.YNc(22,Qn,1,2,"rtl-fee-info",23),o.YNc(23,Yn,1,2,"rtl-channel-status-info",24),o.YNc(24,Pn,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("colspan",e.cols)("rowspan",e.rows),o.xp6(5),o.Q6J("icon",e.icon),o.xp6(2),o.Oqu(e.title),o.xp6(2),o.Q6J("ngIf",e.link),o.xp6(4),o.hij("Go To ",e.goTo,""),o.xp6(1),o.Q6J("ngIf","fee"===e.id),o.xp6(1),o.Q6J("ngIf","capacity"===e.id),o.xp6(1),o.s9C("fxFlex","node"===e.id||"balance"===e.id?70:"fee"===e.id||"status"===e.id?78:90),o.Q6J("ngClass",o.VKq(17,Bn,"node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR||n.apisCallStatus.FetchBalanceBlockchain.status===n.apiCallStatusEnum.ERROR)||"capacity"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR||"fee"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR||"status"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR||(null==n.apisCallStatus?null:n.apisCallStatus.FetchPendingChannels.status)===n.apiCallStatusEnum.ERROR))),o.xp6(1),o.Q6J("ngIf","node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED||n.apisCallStatus.FetchBalanceBlockchain.status===n.apiCallStatusEnum.INITIATED)||"capacity"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED||"fee"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED||"status"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED||(null==n.apisCallStatus?null:n.apisCallStatus.FetchPendingChannels.status)===n.apiCallStatusEnum.INITIATED)),o.xp6(1),o.Q6J("ngSwitch",e.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","capacity"),o.xp6(1),o.Q6J("ngSwitchCase","fee"),o.xp6(1),o.Q6J("ngSwitchCase","status")}}function Hn(e,t){if(1&e&&(o.TgZ(0,"div",2),o.TgZ(1,"div",3),o._UZ(2,"fa-icon",4),o.TgZ(3,"span",5),o._uU(4),o.qZA(),o.qZA(),o.TgZ(5,"mat-grid-list",6),o.YNc(6,Gn,25,19,"mat-grid-tile",7),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Q6J("icon",(null==e.apisCallStatus?null:e.apisCallStatus.FetchInfo.status)===e.apiCallStatusEnum.ERROR?e.faFrown:e.faSmile),o.xp6(2),o.Oqu((null==e.apisCallStatus?null:e.apisCallStatus.FetchInfo.status)===e.apiCallStatusEnum.COMPLETED?"Welcome "+e.information.alias+"! Your node is up and running.":(null==e.apisCallStatus?null:e.apisCallStatus.FetchInfo.status)===e.apiCallStatusEnum.INITIATED?"Wait! Getting your node information...":"Error! Please check the server connection."),o.xp6(1),o.Q6J("rowHeight",e.operatorCardHeight),o.xp6(1),o.Q6J("ngForOf",e.operatorCards)}}function zn(e,t){if(1&e&&(o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA()),2&e){o.oxw();const e=o.MAs(9);o.Q6J("matMenuTriggerFor",e)}}function Vn(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-card-header"),o.TgZ(1,"mat-card-title",10),o.TgZ(2,"div"),o._UZ(3,"fa-icon",11),o.TgZ(4,"span"),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"div"),o.YNc(7,zn,3,1,"button",12),o.TgZ(8,"mat-menu",13,42),o.TgZ(10,"button",15),o.NdJ("click",function(){o.CHM(e);const t=o.oxw().$implicit;return o.oxw(2).onNavigateTo(t.link)}),o._uU(11),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw().$implicit;o.xp6(3),o.Q6J("icon",e.icon),o.xp6(2),o.Oqu(e.title),o.xp6(2),o.Q6J("ngIf",e.link),o.xp6(4),o.hij("Go To ",e.goTo,"")}}function Wn(e,t){1&e&&o._UZ(0,"mat-progress-bar",27)}function Xn(e,t){if(1&e&&o._UZ(0,"rtl-node-info",43),2&e){const e=o.oxw(3);o.Q6J("information",e.information)}}function $n(e,t){if(1&e&&o._UZ(0,"rtl-balances-info",29),2&e){const e=o.oxw(3);o.Q6J("balances",e.balances)("errorMessage",e.errorMessages[3]+" "+e.errorMessages[2])}}function jn(e,t){if(1&e&&o._UZ(0,"rtl-channel-liquidity-info",44),2&e){const e=o.oxw(3);o.Q6J("direction","In")("totalLiquidity",e.totalInboundLiquidity)("allChannels",e.allInboundChannels)("errorMessage",e.errorMessages[3])}}function Kn(e,t){if(1&e&&o._UZ(0,"rtl-channel-liquidity-info",44),2&e){const e=o.oxw(3);o.Q6J("direction","Out")("totalLiquidity",e.totalOutboundLiquidity)("allChannels",e.allOutboundChannels)("errorMessage",e.errorMessages[3])}}function ea(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",26),o.TgZ(1,"mat-icon"),o._uU(2,"more_vert"),o.qZA(),o.qZA(),o.TgZ(3,"mat-menu",13,52),o.TgZ(5,"button",15),o.NdJ("click",function(){o.CHM(e);const t=o.oxw(2).$implicit;return o.oxw(2).onNavigateTo(t.link)}),o._uU(6),o.qZA(),o.TgZ(7,"button",15),o.NdJ("click",function(){return o.CHM(e),o.oxw(4).onNavigateTo("/lnd/reports/transactions")}),o._uU(8,"Transactions Summary"),o.qZA(),o.qZA()}if(2&e){const e=o.MAs(4),t=o.oxw(2).$implicit;o.Q6J("matMenuTriggerFor",e),o.xp6(6),o.hij("Go To ",t.goTo,"")}}function ta(e,t){1&e&&(o.TgZ(0,"span",45),o.TgZ(1,"mat-tab-group",46),o.TgZ(2,"mat-tab",47),o._UZ(3,"rtl-lightning-invoices",48),o.qZA(),o.TgZ(4,"mat-tab",49),o._UZ(5,"rtl-lightning-payments",48),o.qZA(),o.TgZ(6,"mat-tab",50),o.YNc(7,ea,9,2,"ng-template",51),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(3),o.Q6J("calledFrom","home"),o.xp6(2),o.Q6J("calledFrom","home"),o.xp6(1),o.Q6J("disabled",!0))}function na(e,t){1&e&&(o.TgZ(0,"h3"),o._uU(1,"Error! Unable to find information!"),o.qZA())}const aa=function(e){return{"p-0":e}};function ia(e,t){if(1&e&&(o.TgZ(0,"mat-grid-tile",8),o.TgZ(1,"mat-card",35),o.YNc(2,Vn,12,4,"mat-card-header",36),o.TgZ(3,"mat-card-content",37),o.YNc(4,Wn,1,0,"mat-progress-bar",18),o.TgZ(5,"div",38),o.YNc(6,Xn,1,1,"rtl-node-info",39),o.YNc(7,$n,1,2,"rtl-balances-info",21),o.YNc(8,jn,1,4,"rtl-channel-liquidity-info",40),o.YNc(9,Kn,1,4,"rtl-channel-liquidity-info",40),o.YNc(10,ta,8,3,"span",41),o.YNc(11,na,2,0,"h3",25),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("colspan",e.cols)("rowspan",e.rows),o.xp6(1),o.Q6J("ngClass",o.VKq(13,aa,"transactions"===e.id)),o.xp6(1),o.Q6J("ngIf","transactions"!==e.id),o.xp6(1),o.s9C("fxFlex","transactions"===e.id?100:"balance"===e.id?70:90),o.Q6J("ngClass",o.VKq(15,Bn,"node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"balance"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR||n.apisCallStatus.FetchBalanceBlockchain.status===n.apiCallStatusEnum.ERROR)||("inboundLiq"===e.id||"outboundLiq"===e.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"balance"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED||n.apisCallStatus.FetchBalanceBlockchain.status===n.apiCallStatusEnum.INITIATED)||("inboundLiq"===e.id||"outboundLiq"===e.id)&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",e.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","balance"),o.xp6(1),o.Q6J("ngSwitchCase","inboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","outboundLiq"),o.xp6(1),o.Q6J("ngSwitchCase","transactions")}}function sa(e,t){if(1&e&&(o.TgZ(0,"div",33),o._UZ(1,"fa-icon",4),o.TgZ(2,"span",5),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"mat-grid-list",34),o.YNc(5,ia,12,17,"mat-grid-tile",7),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faSmile),o.xp6(2),o.hij("Welcome ",e.information.alias,"! Your node is up and running."),o.xp6(1),o.Q6J("rowHeight",e.merchantCardHeight),o.xp6(1),o.Q6J("ngForOf",e.merchantCards)}}let oa=(()=>{class e{constructor(e,t,n,a,i){switch(this.logger=e,this.store=t,this.actions=n,this.commonService=a,this.router=i,this.faSmile=m.I3,this.faFrown=m.Kf,this.faAngleDoubleDown=g.Sbq,this.faAngleDoubleUp=g.Vfw,this.faChartPie=g.OS1,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.flgChildInfoUpdated=!1,this.userPersonaEnum=f.ol,this.activeChannels=0,this.inactiveChannels=0,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.balances={onchain:-1,lightning:-1,total:0},this.allChannels=[],this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.screenSizeEnum=f.cu,this.errorMessages=["","","","",""],this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize){case f.cu.XS:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:6,rows:6},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}];break;case f.cu.SM:case f.cu.MD:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}];break;default:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:2,rows:5}]}}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.errorMessages=["","","","",""],this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchInfo.status===f.Bn.ERROR&&(this.errorMessages[0]="object"==typeof this.apisCallStatus.FetchInfo.message?JSON.stringify(this.apisCallStatus.FetchInfo.message):this.apisCallStatus.FetchInfo.message),e.apisCallStatus.FetchFees.status===f.Bn.ERROR&&(this.errorMessages[1]="object"==typeof this.apisCallStatus.FetchFees.message?JSON.stringify(this.apisCallStatus.FetchFees.message):this.apisCallStatus.FetchFees.message),e.apisCallStatus.FetchBalanceBlockchain.status===f.Bn.ERROR&&(this.errorMessages[2]="object"==typeof this.apisCallStatus.FetchBalanceBlockchain.message?JSON.stringify(this.apisCallStatus.FetchBalanceBlockchain.message):this.apisCallStatus.FetchBalanceBlockchain.message),e.apisCallStatus.FetchAllChannels.status===f.Bn.ERROR&&(this.errorMessages[3]="object"==typeof this.apisCallStatus.FetchAllChannels.message?JSON.stringify(this.apisCallStatus.FetchAllChannels.message):this.apisCallStatus.FetchAllChannels.message),e.apisCallStatus.FetchPendingChannels.status===f.Bn.ERROR&&(this.errorMessages[4]="object"==typeof this.apisCallStatus.FetchPendingChannels.message?JSON.stringify(this.apisCallStatus.FetchPendingChannels.message):this.apisCallStatus.FetchPendingChannels.message),this.selNode=e.nodeSettings,this.information=e.information,this.fees=e.fees,this.balances.onchain=+e.blockchainBalance.total_balance>=0?+e.blockchainBalance.total_balance:0;const t=e.totalLocalBalance?+e.totalLocalBalance:0,n=e.totalRemoteBalance?+e.totalRemoteBalance:0;this.channelBalances={localBalance:t,remoteBalance:n,balancedness:+(1-Math.abs((t-n)/(t+n))).toFixed(3)},this.balances.lightning=e.totalLocalBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances),this.activeChannels=e.numberOfActiveChannels,this.inactiveChannels=e.numberOfInactiveChannels,this.channelsStatus={active:{channels:e.numberOfActiveChannels,capacity:e.totalCapacityActive},inactive:{channels:e.numberOfInactiveChannels,capacity:e.totalCapacityInactive},pending:{channels:e.numberOfPendingChannels.open.num_channels,capacity:e.numberOfPendingChannels.open.limbo_balance},closing:{channels:e.numberOfPendingChannels.closing.num_channels+e.numberOfPendingChannels.force_closing.num_channels+e.numberOfPendingChannels.waiting_close.num_channels,capacity:e.numberOfPendingChannels.total_limbo_balance}},this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannels=e.allChannels.filter(e=>!0===e.active),this.allChannelsCapacity=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels,"balancedness"))),this.allInboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.remote_balance>0),"remote_balance"))),this.allOutboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.local_balance>0),"local_balance"))),this.allChannels.forEach(e=>{this.totalInboundLiquidity=this.totalInboundLiquidity+ +e.remote_balance,this.totalOutboundLiquidity=this.totalOutboundLiquidity+ +e.local_balance}),this.flgChildInfoUpdated=this.balances.lightning>=0&&this.balances.onchain>=0&&this.fees.month_fee_sum>=0,this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[2]),(0,h.h)(e=>e.type===x.VS||e.type===x.HS)).subscribe(e=>{e.type===x.VS&&(this.flgChildInfoUpdated=!1),e.type===x.HS&&(this.flgChildInfoUpdated=!0)})}onNavigateTo(e){this.router.navigateByUrl(e)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.allChannels.sort((e,t)=>{const n=+e.local_balance+ +e.remote_balance,a=+t.local_balance+ +t.remote_balance;return n>a?-1:n{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(A.eX),o.Y36(C.v),o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",3,"fxFlex","ngClass"],["mode","indeterminate",4,"ngIf"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately",4,"ngSwitchCase"],["fxFlex","100",3,"balances","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"fees","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","errorMessage",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["mode","indeterminate"],["fxFlex","100",3,"information","showColorFieldSeparately"],["fxFlex","100",3,"balances","errorMessage"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","errorMessage"],["fxFlex","100",3,"fees","errorMessage"],["fxFlex","100",3,"channelsStatus","errorMessage"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",3,"fxFlex","ngClass"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",3,"ngSwitch"],["fxFlex","100",3,"information",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",3,"perfectScrollbar",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","errorMessage"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",1,"w-100","dashboard-tabs-group"],["label","Receive"],[3,"calledFrom"],["label","Pay"],[3,"disabled"],["mat-tab-label",""],["menuTransactions","matMenu"]],template:function(e,t){if(1&e&&(o.YNc(0,Hn,7,4,"div",0),o.YNc(1,sa,6,4,"ng-template",null,1,o.W1O)),2&e){const e=o.MAs(2);o.Q6J("ngIf",t.selNode.userPersona===t.userPersonaEnum.OPERATOR)("ngIfElse",e)}},directives:[a.O5,l.xw,l.Wh,T.BN,b.Il,a.sg,b.DX,w.a8,l.yH,w.dk,w.n5,_.VK,_.OP,w.dn,a.mk,v.oO,a.RF,a.n9,a.ED,q.lW,_.p6,S.Hw,r.pW,U,J,H,W,j,me,E.$V,ge.SP,ge.uX,ut,Un,ge.uD],styles:[""]}),e})();var la=n(882),ra=n(1050);function ca(e,t){if(1&e&&(o.TgZ(0,"span",10),o._uU(1,"Channels"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.activeChannels)}}function ua(e,t){if(1&e&&(o.TgZ(0,"span",10),o._uU(1,"Peers"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.activePeers)}}let pa=(()=>{class e{constructor(e,t,n){this.store=e,this.logger=t,this.router=n,this.selNode={},this.activePeers=0,this.activeChannels=0,this.faUsers=g.FVb,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.selNode=e.nodeSettings,this.activePeers=e.peers&&e.peers.length?e.peers.length:0,this.activeChannels=e.numberOfActiveChannels,this.balances=[{title:"Total Balance",dataValue:e.blockchainBalance.total_balance||0},{title:"Confirmed",dataValue:e.blockchainBalance.confirmed_balance},{title:"Unconfirmed",dataValue:e.blockchainBalance.unconfirmed_balance}],this.logger.info(e)})}onSelectedTabChange(e){this.router.navigateByUrl("/lnd/connections/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(Z.mQ),o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Connections"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"mat-tab-group",7),o.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),o.TgZ(16,"mat-tab"),o.YNc(17,ca,2,1,"ng-template",8),o.qZA(),o.TgZ(18,"mat-tab"),o.YNc(19,ua,2,1,"ng-template",8),o.qZA(),o.qZA(),o.TgZ(20,"div",9),o._UZ(21,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faChartPie),o.xp6(6),o.Q6J("values",t.balances),o.xp6(2),o.Q6J("icon",t.faUsers),o.xp6(6),o.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,la.D,ge.SP,ge.uX,ge.uD,l.yH,i.lC,ra.k],styles:[""]}),e})();var da=n(1258),ha=n(1681),ma=n(3474);const ga=["form"];function fa(e,t){if(1&e&&(o.TgZ(0,"mat-option",37),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.Oqu(e.alias?e.alias:e.pub_key?e.pub_key:"")}}function xa(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer alias is required."),o.qZA())}function Za(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer not found in the list."),o.qZA())}function ya(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",1),o._UZ(1,"input",34),o.TgZ(2,"mat-autocomplete",35,36),o.NdJ("optionSelected",function(){return o.CHM(e),o.oxw().onSelectedPeerChanged()}),o.YNc(4,fa,2,2,"mat-option",24),o.ALo(5,"async"),o.qZA(),o.YNc(6,xa,2,0,"mat-error",17),o.YNc(7,Za,2,0,"mat-error",17),o.qZA()}if(2&e){const e=o.MAs(3),t=o.oxw();o.xp6(1),o.Q6J("formControl",t.selectedPeer)("matAutocomplete",e),o.xp6(1),o.Q6J("displayWith",t.displayFn),o.xp6(2),o.Q6J("ngForOf",o.lcZ(5,6,t.filteredPeers)),o.xp6(2),o.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.notfound)}}function Aa(e,t){1&e&&o.GkF(0)}function Ca(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Ta(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function ba(e,t){if(1&e&&(o.TgZ(0,"mat-option",37),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function wa(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("","1"===e.selTransType?"Target Confirmation Blocks":"Fee"," is required.")}}function _a(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.channelConnectionError)}}function va(e,t){if(1&e&&(o.TgZ(0,"div",38),o._UZ(1,"fa-icon",39),o.YNc(2,_a,2,1,"span",17),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.channelConnectionError)}}function qa(e,t){if(1&e&&(o.TgZ(0,"mat-expansion-panel",41),o.TgZ(1,"mat-expansion-panel-header"),o.TgZ(2,"mat-panel-title"),o.TgZ(3,"span"),o._uU(4,"Peer: \xa0"),o.qZA(),o.TgZ(5,"strong",42),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",9),o.TgZ(8,"div",0),o.TgZ(9,"div",1),o.TgZ(10,"h4",43),o._uU(11,"Pubkey"),o.qZA(),o.TgZ(12,"span",44),o._uU(13),o.qZA(),o.qZA(),o.qZA(),o._UZ(14,"mat-divider",45),o.TgZ(15,"div",0),o.TgZ(16,"div",46),o.TgZ(17,"h4",43),o._uU(18,"Address"),o.qZA(),o.TgZ(19,"span",47),o._uU(20),o.qZA(),o.qZA(),o.TgZ(21,"div",46),o.TgZ(22,"h4",43),o._uU(23,"Inbound"),o.qZA(),o.TgZ(24,"span",47),o._uU(25),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw(2);o.xp6(6),o.Oqu((null==e.peer?null:e.peer.alias)||(null==e.peer?null:e.peer.address)),o.xp6(7),o.Oqu(e.peer.pub_key),o.xp6(7),o.Oqu(null==e.peer?null:e.peer.address),o.xp6(5),o.Oqu(null!=e.peer&&e.peer.inbound?"True":"False")}}function Sa(e,t){if(1&e&&o.YNc(0,qa,26,4,"mat-expansion-panel",40),2&e){const e=o.oxw();o.Q6J("ngIf",e.peer)}}let Fa=(()=>{class e{constructor(e,t,n,a){this.dialogRef=e,this.data=t,this.store=n,this.actions=a,this.selectedPeer=new Ae.NI,this.amount=new Ae.NI,this.faExclamationTriangle=g.eHv,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.selectedPubkey="",this.isPrivate=!1,this.selTransType="0",this.spendUnconfirmed=!1,this.transTypeValue="",this.transTypes=f.Dr,this.unSubs=[new p.x,new p.x]}ngOnInit(){this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.JE||e.type===x.Mx)).subscribe(e=>{e.type===x.JE&&e.payload.status===f.Bn.ERROR&&"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message),e.type===x.Mx&&this.dialogRef.close()});let e="",t="";this.sortedPeers=this.peers.sort((n,a)=>(e=n.alias?n.alias.toLowerCase():n.pub_key?n.pub_key.toLowerCase():"",t=a.alias?a.alias.toLowerCase():n.pub_key.toLowerCase(),et?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,d.R)(this.unSubs[1]),(0,da.O)(""),(0,ha.U)(e=>"string"==typeof e?e:e.alias?e.alias:e.pub_key),(0,ha.U)(e=>e?this.filterPeers(e):this.sortedPeers.slice()))}filterPeers(e){return this.sortedPeers.filter(t=>0===t.alias.toLowerCase().indexOf(e?e.toLowerCase():""))}displayFn(e){return e&&e.alias?e.alias:e&&e.pub_key?e.pub_key:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.pub_key?this.selectedPeer.value.pub_key:null,"string"==typeof this.selectedPeer.value){const e=this.peers.filter(e=>e.alias.length===this.selectedPeer.value.length&&0===e.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===e.length&&e[0].pub_key&&(this.selectedPubkey=e[0].pub_key)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.spendUnconfirmed=!1,this.selTransType="0",this.transTypeValue="",this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0||("1"===this.selTransType||"2"===this.selTransType)&&!this.transTypeValue)return!0;this.store.dispatch(new x.nb({selectedPeerPubkey:this.peer&&this.peer.pub_key?this.peer.pub_key:this.selectedPubkey,fundingAmount:this.fundingAmount,private:this.isPrivate,transType:this.selTransType,transTypeValue:this.transTypeValue,spendUnconfirmed:this.spendUnconfirmed}))}onAdvancedPanelToggle(e){this.advancedTitle=e?"Advanced Options | "+("1"===this.selTransType?"Target Confirmation Blocks: ":"2"===this.selTransType?"Fee (Sats/vByte): ":"Default")+("1"===this.selTransType||"2"===this.selTransType?this.transTypeValue:"")+" | Spend Unconfirmed Output: "+(this.spendUnconfirmed?"Yes":"No"):"Advanced Options"}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(y.yh),o.Y36(A.eX))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-open-channel"]],viewQuery:function(e,t){if(1&e&&o.Gf(ga,7),2&e){let e;o.iGM(e=o.CRH())&&(t.form=e.first)}},decls:55,vars:25,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amnt",3,"ngModel","step","min","max","ngModelChange"],["amt","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","49"],["tabindex","3",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","type","number","tabindex","4","name","transTpValue",3,"ngModel","required","disabled","placeholder","step","min","ngModelChange"],["transTypeVal","ngModel"],["fxFlex","50","fxLayoutAlign","start center"],["tabindex","6","color","primary","name","spendUnconfirmed",3,"ngModel","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return t.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.NdJ("submit",function(){return t.onOpenChannel()})("reset",function(){return t.resetData()}),o.TgZ(11,"div",9),o.YNc(12,ya,8,8,"mat-form-field",10),o.qZA(),o.YNc(13,Aa,1,0,"ng-container",11),o.TgZ(14,"div",9),o.TgZ(15,"div",12),o.TgZ(16,"mat-form-field",13),o.TgZ(17,"input",14,15),o.NdJ("ngModelChange",function(e){return t.fundingAmount=e}),o.qZA(),o.TgZ(19,"mat-hint"),o._uU(20),o.ALo(21,"number"),o.qZA(),o.TgZ(22,"span",16),o._uU(23," Sats "),o.qZA(),o.YNc(24,Ca,2,0,"mat-error",17),o.YNc(25,Ta,2,1,"mat-error",17),o.qZA(),o.TgZ(26,"div",18),o.TgZ(27,"mat-slide-toggle",19),o.NdJ("ngModelChange",function(e){return t.isPrivate=e}),o._uU(28,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(29,"mat-expansion-panel",20),o.NdJ("closed",function(){return t.onAdvancedPanelToggle(!0)})("opened",function(){return t.onAdvancedPanelToggle(!1)}),o.TgZ(30,"mat-expansion-panel-header"),o.TgZ(31,"mat-panel-title"),o.TgZ(32,"span"),o._uU(33),o.qZA(),o.qZA(),o.qZA(),o.TgZ(34,"div",21),o.TgZ(35,"div",12),o.TgZ(36,"mat-form-field",22),o.TgZ(37,"mat-select",23),o.NdJ("valueChange",function(e){return t.selTransType=e}),o.YNc(38,ba,2,2,"mat-option",24),o.qZA(),o.qZA(),o.TgZ(39,"mat-form-field",22),o.TgZ(40,"input",25,26),o.NdJ("ngModelChange",function(e){return t.transTypeValue=e}),o.qZA(),o.YNc(42,wa,2,1,"mat-error",17),o.qZA(),o.qZA(),o.TgZ(43,"div",12),o.TgZ(44,"div",27),o.TgZ(45,"mat-slide-toggle",28),o.NdJ("ngModelChange",function(e){return t.spendUnconfirmed=e}),o._uU(46,"Spend Unconfirmed Output"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(47,va,3,2,"div",29),o.TgZ(48,"div",30),o.TgZ(49,"button",31),o._uU(50,"Clear Fields"),o.qZA(),o.TgZ(51,"button",32),o._uU(52,"Open Channel"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(53,Sa,1,1,"ng-template",null,33,o.W1O)),2&e){const e=o.MAs(54);o.xp6(5),o.Oqu(t.alertTitle),o.xp6(7),o.Q6J("ngIf",!t.peer&&t.peers&&t.peers.length>0),o.xp6(1),o.Q6J("ngTemplateOutlet",e),o.xp6(4),o.Q6J("ngModel",t.fundingAmount)("step",1e3)("min",1)("max",t.totalBalance),o.xp6(3),o.hij("(Remaining Bal: ",o.lcZ(21,23,t.totalBalance-(t.fundingAmount?t.fundingAmount:0)),")"),o.xp6(4),o.Q6J("ngIf",null==t.amount.errors?null:t.amount.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.amount.errors?null:t.amount.errors.max),o.xp6(2),o.Q6J("ngModel",t.isPrivate),o.xp6(6),o.Oqu(t.advancedTitle),o.xp6(4),o.Q6J("value",t.selTransType),o.xp6(1),o.Q6J("ngForOf",t.transTypes),o.xp6(2),o.Q6J("ngModel",t.transTypeValue)("required","0"!==t.selTransType)("disabled","0"===t.selTransType)("placeholder","0"===t.selTransType?"Default":"1"===t.selTransType?"Target Confirmation Blocks":"Fee (Sats/vByte)")("step",1)("min",0),o.xp6(2),o.Q6J("ngIf","0"!==t.selTransType&&!t.transTypeValue),o.xp6(3),o.Q6J("ngModel",t.spendUnconfirmed),o.xp6(2),o.Q6J("ngIf",""!==t.channelConnectionError)}},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,w.dn,Ae._Y,Ae.JL,Ae.F,a.O5,a.tP,D.KE,Ce.Nt,Ae.wV,Ae.qQ,Ae.Fd,Ae.Fj,be.q,ma.F,Ae.Q7,Ae.JJ,Ae.On,D.bx,D.R9,_e.Rr,ht.ib,ht.yz,ht.yK,we.gD,a.sg,Te.h,mt.ZL,Ae.oH,mt.XC,ve.ey,D.TO,T.BN,M.d],pipes:[a.JJ,a.Ov],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),e})();var La=n(7753);const ka=["peersForm"],Na=["stepper"];function Ua(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw();o.Oqu(e.peerFormLabel)}}function Ia(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Address is required."),o.qZA())}function Oa(e,t){if(1&e&&(o.TgZ(0,"div",37),o._UZ(1,"fa-icon",38),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(2),o.Oqu(e.peerConnectionError)}}function Ja(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw();o.Oqu(e.channelFormLabel)}}function Da(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Ra(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount must be a positive number."),o.qZA())}function Ma(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function Ea(e,t){if(1&e&&(o.TgZ(0,"mat-option",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function Qa(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("","0"===e.channelFormGroup.controls.selTransType.value?"Default":"1"===e.channelFormGroup.controls.selTransType.value?"Target Confirmation Blocks":"Fee (Sats/vByte)"," is required.")}}function Ya(e,t){if(1&e&&(o.TgZ(0,"div",37),o._UZ(1,"fa-icon",38),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(2),o.Oqu(e.channelConnectionError)}}let Pa=(()=>{class e{constructor(e,t,n,a,i,s,o){this.dialogRef=e,this.data=t,this.store=n,this.lndEffects=a,this.formBuilder=i,this.actions=s,this.logger=o,this.faExclamationTriangle=g.eHv,this.peerAddress="",this.totalBalance=0,this.transTypes=f.Dr,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.unSubs=[new p.x,new p.x]}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[Ae.kI.required]],peerAddress:["",[Ae.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[Ae.kI.required,Ae.kI.min(1),Ae.kI.max(this.totalBalance)]],isPrivate:[!1],selTransType:[f.Dr[0].id],transTypeValue:[{value:"",disabled:!0}],spendUnconfirmed:[!1],hiddenAmount:["",[Ae.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.channelFormGroup.controls.selTransType.valueChanges.pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{e===f.Dr[0].id?(this.channelFormGroup.controls.transTypeValue.setValue(""),this.channelFormGroup.controls.transTypeValue.disable(),this.channelFormGroup.controls.transTypeValue.setValidators(null),this.channelFormGroup.controls.transTypeValue.setErrors(null)):(this.channelFormGroup.controls.transTypeValue.setValue(""),this.channelFormGroup.controls.transTypeValue.enable(),this.channelFormGroup.controls.transTypeValue.setValidators([Ae.kI.required]))}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.X_||e.type===x.W8||e.type===x.JE)).subscribe(e=>{e.type===x.X_&&(this.logger.info(e.payload),this.flgEditable=!1,this.newlyAddedPeer=e.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),e.type===x.W8&&this.dialogRef.close(),e.type===x.JE&&e.payload.status===f.Bn.ERROR&&("SaveNewPeer"===e.payload.action||"FetchGraphNode"===e.payload.action?this.peerConnectionError=e.payload.message:"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="";const e=this.peerFormGroup.controls.peerAddress.value.search("@");let t="",n="";e>-1?(t=this.peerFormGroup.controls.peerAddress.value.substring(0,e),n=this.peerFormGroup.controls.peerAddress.value.substring(e+1),this.connectPeerWithParams(t,n)):(this.store.dispatch(new x.RR({pubkey:this.peerFormGroup.controls.peerAddress.value})),this.lndEffects.setGraphNode.pipe((0,pt.q)(1)).subscribe(e=>{n=e.node.addresses&&e.node.addresses.length&&e.node.addresses.length>0&&e.node.addresses[0].addr?e.node.addresses[0].addr:"",this.connectPeerWithParams(this.peerFormGroup.controls.peerAddress.value,n)}))}connectPeerWithParams(e,t){this.store.dispatch(new x.rF({pubkey:e,host:t,perm:!1}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0||"1"===this.channelFormGroup.controls.selTransType.value&&!this.channelFormGroup.controls.transTypeValue.value||"2"===this.channelFormGroup.controls.selTransType.value&&!this.channelFormGroup.controls.transTypeValue.value)return!0;this.channelConnectionError="",this.store.dispatch(new x.nb({selectedPeerPubkey:this.newlyAddedPeer.pub_key,fundingAmount:this.channelFormGroup.controls.fundingAmount.value,private:this.channelFormGroup.controls.isPrivate.value,transType:this.channelFormGroup.controls.selTransType.value,transTypeValue:this.channelFormGroup.controls.transTypeValue.value,spendUnconfirmed:this.channelFormGroup.controls.spendUnconfirmed.value}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(e){switch(e.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+this.newlyAddedPeer.alias:"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+this.newlyAddedPeer.alias:"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}e.selectedIndex{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(y.yh),o.Y36(Ft.l),o.Y36(Ae.qu),o.Y36(A.eX),o.Y36(Z.mQ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-connect-peer"]],viewQuery:function(e,t){if(1&e&&(o.Gf(ka,5),o.Gf(Na,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.form=e.first),o.iGM(e=o.CRH())&&(t.stepper=e.first)}},decls:56,vars:24,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","30","fxLayoutAlign","start end"],["tabindex","3","formControlName","selTransType","placeholder","Transaction Type"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","30"],["matInput","","formControlName","transTypeValue","type","number","name","transTypeValue","tabindex","4",3,"placeholder","step","required"],["tabindex","6","color","primary","formControlName","spendUnconfirmed","name","spendUnconfirmed"],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Connect to a new peer"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return t.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"div",7),o.TgZ(10,"mat-vertical-stepper",8,9),o.NdJ("selectionChange",function(e){return t.stepSelectionChanged(e)}),o.TgZ(12,"mat-step",10),o.TgZ(13,"form",11),o.YNc(14,Ua,1,1,"ng-template",12),o.TgZ(15,"mat-form-field",1),o._UZ(16,"input",13),o.YNc(17,Ia,2,0,"mat-error",14),o.qZA(),o.YNc(18,Oa,4,2,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"button",17),o.NdJ("click",function(){return t.onConnectPeer()}),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(22,"mat-step",10),o.TgZ(23,"form",18),o.YNc(24,Ja,1,1,"ng-template",19),o.TgZ(25,"div",20),o.TgZ(26,"div",21),o.TgZ(27,"mat-form-field",22),o._UZ(28,"input",23),o.TgZ(29,"mat-hint"),o._uU(30),o.qZA(),o.TgZ(31,"span",24),o._uU(32," Sats "),o.qZA(),o.YNc(33,Da,2,0,"mat-error",14),o.YNc(34,Ra,2,0,"mat-error",14),o.YNc(35,Ma,2,1,"mat-error",14),o.qZA(),o.TgZ(36,"div",25),o.TgZ(37,"mat-slide-toggle",26),o._uU(38,"Private Channel"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(39,"div",27),o.TgZ(40,"mat-form-field",28),o.TgZ(41,"mat-select",29),o.YNc(42,Ea,2,2,"mat-option",30),o.qZA(),o.qZA(),o.TgZ(43,"mat-form-field",31),o._UZ(44,"input",32),o.YNc(45,Qa,2,1,"mat-error",14),o.qZA(),o.TgZ(46,"div",25),o.TgZ(47,"mat-slide-toggle",33),o._uU(48,"Spend Unconfirmed Output"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(49,Ya,4,2,"div",15),o.TgZ(50,"div",16),o.TgZ(51,"button",34),o.NdJ("click",function(){return t.onOpenChannel()}),o._uU(52),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(53,"div",35),o.TgZ(54,"button",36),o._uU(55),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(10),o.Q6J("linear",!0),o.xp6(2),o.Q6J("stepControl",t.peerFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.peerFormGroup),o.xp6(4),o.Q6J("ngIf",null==t.peerFormGroup.controls.peerAddress.errors?null:t.peerFormGroup.controls.peerAddress.errors.required),o.xp6(1),o.Q6J("ngIf",""!==t.peerConnectionError),o.xp6(3),o.Oqu(""!==t.peerConnectionError?"Retry":"Add Peer"),o.xp6(1),o.Q6J("stepControl",t.channelFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.channelFormGroup),o.xp6(5),o.Q6J("step",1e3),o.xp6(2),o.hij("Remaining Bal: ",t.totalBalance-(t.channelFormGroup.controls.fundingAmount.value?t.channelFormGroup.controls.fundingAmount.value:0),""),o.xp6(3),o.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.min),o.xp6(1),o.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.max),o.xp6(7),o.Q6J("ngForOf",t.transTypes),o.xp6(2),o.Q6J("placeholder","0"===t.channelFormGroup.controls.selTransType.value?"Default":"1"===t.channelFormGroup.controls.selTransType.value?"Target Confirmation Blocks":"Fee (Sats/vByte)")("step",1)("required","0"!==t.channelFormGroup.controls.selTransType.value),o.xp6(1),o.Q6J("ngIf",null==t.channelFormGroup.controls.transTypeValue.errors?null:t.channelFormGroup.controls.transTypeValue.errors.required),o.xp6(4),o.Q6J("ngIf",""!==t.channelConnectionError),o.xp6(3),o.Oqu(""!==t.channelConnectionError?"Retry":"Open Channel"),o.xp6(2),o.Q6J("mat-dialog-close",!1),o.xp6(1),o.Oqu(null!=t.newlyAddedPeer&&t.newlyAddedPeer.pub_key?"Do It Later":"Close"))},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,w.dn,La.Vq,La.C0,Ae._Y,Ae.JL,Ae.sg,La.VY,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.JJ,Ae.u,Ae.Q7,a.O5,Ae.wV,D.bx,D.R9,_e.Rr,we.gD,a.sg,ye.ZT,D.TO,T.BN,ve.ey],styles:[""]}),e})();function Ba(e,t){1&e&&o._UZ(0,"mat-progress-bar",32)}function Ga(e,t){1&e&&(o.TgZ(0,"th",33),o._uU(1," Alias "),o.qZA())}const Ha=function(e){return{"max-width":e}};function za(e,t){if(1&e&&(o.TgZ(0,"td",34),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Ha,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),o.xp6(1),o.hij(" ",null==e?null:e.alias," ")}}function Va(e,t){1&e&&(o.TgZ(0,"th",33),o._uU(1," Public Key "),o.qZA())}function Wa(e,t){if(1&e&&(o.TgZ(0,"td",34),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Ha,n.screenSize===n.screenSizeEnum.XS?"5rem":"35rem")),o.xp6(1),o.hij(" ",null==e?null:e.pub_key," ")}}function Xa(e,t){1&e&&(o.TgZ(0,"th",35),o._uU(1," Sats Sent "),o.qZA())}function $a(e,t){if(1&e&&(o.TgZ(0,"td",36),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.sat_sent)," ")}}function ja(e,t){1&e&&(o.TgZ(0,"th",35),o._uU(1," Sats Received "),o.qZA())}function Ka(e,t){if(1&e&&(o.TgZ(0,"td",36),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.sat_recv)," ")}}function ei(e,t){1&e&&(o.TgZ(0,"th",35),o._uU(1," Ping "),o.qZA())}function ti(e,t){if(1&e&&(o.TgZ(0,"td",36),o.TgZ(1,"span",37),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.ping_time)," ")}}function ni(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",38),o.TgZ(1,"div",39),o.TgZ(2,"mat-select",40),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",41),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function ai(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",42),o.TgZ(1,"div",39),o.TgZ(2,"mat-select",40),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",41),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw().onPeerClick(n,t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",41),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onOpenChannel(t)}),o._uU(7,"Open Channel"),o.qZA(),o.TgZ(8,"mat-option",41),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onPeerDetach(t)}),o._uU(9,"Disconnect"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function ii(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No connected peer."),o.qZA())}function si(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting peers..."),o.qZA())}function oi(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function li(e,t){if(1&e&&(o.TgZ(0,"td",43),o.YNc(1,ii,2,0,"p",44),o.YNc(2,si,2,0,"p",44),o.YNc(3,oi,2,1,"p",44),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.peers&&e.peers.data)||(null==e.peers.data?null:e.peers.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPeers.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.peers&&e.peers.data)||(null==e.peers.data?null:e.peers.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPeers.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.peers&&e.peers.data)||(null==e.peers.data?null:e.peers.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPeers.status)===e.apiCallStatusEnum.ERROR)}}const ri=function(e){return{"display-none":e}};function ci(e,t){if(1&e&&o._UZ(0,"tr",45),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,ri,(null==e.peers?null:e.peers.data)&&(null==e.peers||null==e.peers.data?null:e.peers.data.length)>0))}}function ui(e,t){1&e&&o._UZ(0,"tr",46)}function pi(e,t){1&e&&o._UZ(0,"tr",47)}const di=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},hi=function(){return["no_peer"]};let mi=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.store=t,this.rtlEffects=n,this.commonService=a,this.availableBalance=0,this.faUsers=g.FVb,this.displayedColumns=[],this.peersData=[],this.information={},this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","sat_sent","sat_recv","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","sat_sent","sat_recv","ping_time","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","pub_key","sat_sent","sat_recv","ping_time","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchPeers.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPeers.message?JSON.stringify(this.apisCallStatus.FetchPeers.message):this.apisCallStatus.FetchPeers.message),this.information=e.information,this.availableBalance=e.blockchainBalance.total_balance||0,this.peersData=e.peers,this.peersData.length>0&&this.loadPeersTable(this.peersData),this.logger.info(e)})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:e.pub_key,message:[[{key:"pub_key",value:e.pub_key,title:"Public Key",width:100}],[{key:"address",value:e.address,title:"Address",width:100}],[{key:"alias",value:e.alias,title:"Alias",width:40},{key:"inbound",value:e.inbound?"True":"False",title:"Inbound",width:30},{key:"ping_time",value:e.ping_time,title:"Ping Time",width:30,type:f.Gi.NUMBER}],[{key:"sat_sent",value:e.sat_sent,title:"Satoshis Sent",width:50,type:f.Gi.NUMBER},{key:"sat_recv",value:e.sat_recv,title:"Satoshis Received",width:50,type:f.Gi.NUMBER}],[{key:"bytes_sent",value:e.bytes_sent,title:"Bytes Sent",width:50,type:f.Gi.NUMBER},{key:"bytes_recv",value:e.bytes_recv,title:"Bytes Received",width:50,type:f.Gi.NUMBER}]]}}))}onConnectPeer(){this.store.dispatch(new ee.wu({data:{message:{peer:null,information:this.information,balance:this.availableBalance},component:Pa}}))}onOpenChannel(e){this.store.dispatch(new ee.wu({data:{alertTitle:"Open Channel",message:{peer:e,information:this.information,balance:this.availableBalance},component:Fa}}))}onPeerDetach(e){this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(e.alias?e.alias:e.pub_key),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,d.R)(this.unSubs[3])).subscribe(t=>{t&&this.store.dispatch(new x.yw({pubkey:e.pub_key}))})}applyFilter(e){this.peers.filter=e.value.trim().toLowerCase()}loadPeersTable(e){this.peers=new Ze.by(e?[...e]:[]),this.peers.sort=this.sort,this.peers.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.peers.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(St.V),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-peers"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Peers")}])],decls:40,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","pub_key"],["matColumnDef","sat_sent"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","sat_recv"],["matColumnDef","ping_time"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return t.onConnectPeer()}),o._uU(3,"Add Peer"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"div",4),o.TgZ(6,"div",5),o._UZ(7,"fa-icon",6),o.TgZ(8,"span",7),o._uU(9,"Connected Peers"),o.qZA(),o.qZA(),o.TgZ(10,"mat-form-field",8),o.TgZ(11,"input",9),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(12,"div",10),o.YNc(13,Ba,1,0,"mat-progress-bar",11),o.TgZ(14,"table",12,13),o.ynx(16,14),o.YNc(17,Ga,2,0,"th",15),o.YNc(18,za,2,4,"td",16),o.BQk(),o.ynx(19,17),o.YNc(20,Va,2,0,"th",15),o.YNc(21,Wa,2,4,"td",16),o.BQk(),o.ynx(22,18),o.YNc(23,Xa,2,0,"th",19),o.YNc(24,$a,4,3,"td",20),o.BQk(),o.ynx(25,21),o.YNc(26,ja,2,0,"th",19),o.YNc(27,Ka,4,3,"td",20),o.BQk(),o.ynx(28,22),o.YNc(29,ei,2,0,"th",19),o.YNc(30,ti,4,3,"td",20),o.BQk(),o.ynx(31,23),o.YNc(32,ni,6,0,"th",24),o.YNc(33,ai,10,0,"td",25),o.BQk(),o.ynx(34,26),o.YNc(35,li,4,3,"td",27),o.BQk(),o.YNc(36,ci,1,3,"tr",28),o.YNc(37,ui,1,0,"tr",29),o.YNc(38,pi,1,0,"tr",30),o.qZA(),o.qZA(),o._UZ(39,"mat-paginator",31),o.qZA(),o.qZA()),2&e&&(o.xp6(7),o.Q6J("icon",t.faUsers),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPeers.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.peers)("ngClass",o.VKq(11,di,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(13,hi)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,q.lW,T.BN,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%]{flex:1 1 25%}.mat-column-alias[_ngcontent-%COMP%], .mat-column-pub_key[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-pub_key[_ngcontent-%COMP%]{flex:1 1 35%;padding-left:2rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem;flex:1 1 10%}.mat-column-ping_time[_ngcontent-%COMP%], .mat-column-sat_recv[_ngcontent-%COMP%], .mat-column-sat_sent[_ngcontent-%COMP%]{flex:1 1 13%;width:13%}"]}),e})();function gi(e,t){if(1&e&&(o.TgZ(0,"span",7),o._uU(1,"Open"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numOpenChannels)}}function fi(e,t){if(1&e&&(o.TgZ(0,"span",7),o._uU(1,"Pending"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numPendingChannels)}}function xi(e,t){if(1&e&&(o.TgZ(0,"span",7),o._uU(1,"Closed"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numClosedChannels)}}function Zi(e,t){if(1&e&&(o.TgZ(0,"span",7),o._uU(1,"Active HTLCs"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numActiveHTLCs)}}let yi=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.router=n,this.numOpenChannels=0,this.numPendingChannels=0,this.numClosedChannels=0,this.numActiveHTLCs=0,this.peers=[],this.information={},this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending"},{link:"closed",name:"Closed"},{link:"activehtlcs",name:"Active HTLCs"}],this.activeLink=0,this.unSubs=[new p.x,new p.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.numOpenChannels=e.allChannels&&e.allChannels.length?e.allChannels.length:0,this.numPendingChannels=e.numberOfPendingChannels.total_channels?e.numberOfPendingChannels.total_channels:0,this.numClosedChannels=e.closedChannels&&e.closedChannels.length?e.closedChannels.length:0,this.numActiveHTLCs=e.allChannels.reduce((e,t)=>e+(t.pending_htlcs&&t.pending_htlcs.length>0?t.pending_htlcs.length:0),0),this.information=e.information,this.totalBalance=+e.blockchainBalance.total_balance,this.peers=e.peers,this.peers.forEach(e=>{e.alias&&""!==e.alias||(e.alias=e.pub_key.substring(0,15)+"...")}),this.logger.info(e)})}onOpenChannel(){this.store.dispatch(new ee.wu({data:{alertTitle:"Open Channel",message:{peers:this.peers,information:this.information,balance:this.totalBalance},component:Fa}}))}onSelectedTabChange(e){this.router.navigateByUrl("/lnd/connections/channels/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channels-tables"]],decls:16,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return t.onOpenChannel()}),o._uU(3,"Open Channel"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-tab-group",4),o.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),o.TgZ(6,"mat-tab"),o.YNc(7,gi,2,1,"ng-template",5),o.qZA(),o.TgZ(8,"mat-tab"),o.YNc(9,fi,2,1,"ng-template",5),o.qZA(),o.TgZ(10,"mat-tab"),o.YNc(11,xi,2,1,"ng-template",5),o.qZA(),o.TgZ(12,"mat-tab"),o.YNc(13,Zi,2,1,"ng-template",5),o.qZA(),o.qZA(),o.TgZ(14,"div",6),o._UZ(15,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(5),o.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.yH,l.Wh,q.lW,ge.SP,ge.uX,ge.uD,i.lC,ra.k],styles:[""]}),e})();var Ai=n(1403),Ci=n(2609);function Ti(e,t){if(1&e&&(o.TgZ(0,"div"),o.TgZ(1,"div",9),o.TgZ(2,"div",14),o.TgZ(3,"h4",11),o._uU(4,"Commit Fee"),o.qZA(),o.TgZ(5,"span",15),o._uU(6),o.ALo(7,"number"),o.qZA(),o.qZA(),o.TgZ(8,"div",14),o.TgZ(9,"h4",11),o._uU(10,"Commit Weight"),o.qZA(),o.TgZ(11,"span",15),o._uU(12),o.ALo(13,"number"),o.qZA(),o.qZA(),o.TgZ(14,"div",14),o.TgZ(15,"h4",11),o._uU(16,"Fee/KW"),o.qZA(),o.TgZ(17,"span",15),o._uU(18),o.ALo(19,"number"),o.qZA(),o.qZA(),o.TgZ(20,"div",14),o.TgZ(21,"h4",11),o._uU(22,"Static Remote Key"),o.qZA(),o.TgZ(23,"span",15),o._uU(24),o.qZA(),o.qZA(),o.qZA(),o._UZ(25,"mat-divider",13),o.TgZ(26,"div",9),o.TgZ(27,"div",14),o.TgZ(28,"h4",11),o._uU(29),o.qZA(),o.TgZ(30,"span",15),o._uU(31),o.ALo(32,"number"),o.qZA(),o.qZA(),o.TgZ(33,"div",14),o.TgZ(34,"h4",11),o._uU(35),o.qZA(),o.TgZ(36,"span",15),o._uU(37),o.ALo(38,"number"),o.qZA(),o.qZA(),o.TgZ(39,"div",14),o.TgZ(40,"h4",11),o._uU(41,"Unsettled Balance"),o.qZA(),o.TgZ(42,"span",15),o._uU(43),o.ALo(44,"number"),o.qZA(),o.qZA(),o.TgZ(45,"div",14),o.TgZ(46,"h4",11),o._uU(47,"CSV Delay"),o.qZA(),o.TgZ(48,"span",15),o._uU(49),o.ALo(50,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(51,"mat-divider",13),o.TgZ(52,"div",9),o.TgZ(53,"div",14),o.TgZ(54,"h4",11),o._uU(55,"Local Reserve (Sats)"),o.qZA(),o.TgZ(56,"span",15),o._uU(57),o.ALo(58,"number"),o.qZA(),o.qZA(),o.TgZ(59,"div",14),o.TgZ(60,"h4",11),o._uU(61,"Remote Reserve (Sats)"),o.qZA(),o.TgZ(62,"span",15),o._uU(63),o.ALo(64,"number"),o.qZA(),o.qZA(),o.TgZ(65,"div",14),o.TgZ(66,"h4",11),o._uU(67,"Lifetime (Seconds)"),o.qZA(),o.TgZ(68,"span",15),o._uU(69),o.ALo(70,"number"),o.qZA(),o.qZA(),o.TgZ(71,"div",14),o.TgZ(72,"h4",11),o._uU(73,"Pending HTLCs"),o.qZA(),o.TgZ(74,"span",15),o._uU(75),o.ALo(76,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(77,"mat-divider",13),o.qZA()),2&e){const e=o.oxw();o.xp6(6),o.Oqu(o.lcZ(7,17,e.channel.commit_fee)),o.xp6(6),o.Oqu(o.lcZ(13,19,e.channel.commit_weight)),o.xp6(6),o.Oqu(o.lcZ(19,21,e.channel.fee_per_kw)),o.xp6(6),o.Oqu(e.channel.static_remote_key?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(4),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Total Sats Sent":"Total Satoshis Sent"),o.xp6(2),o.Oqu(o.lcZ(32,23,e.channel.total_satoshis_sent)),o.xp6(4),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Total Sats Recv":"Total Satoshis Received"),o.xp6(2),o.Oqu(o.lcZ(38,25,e.channel.total_satoshis_received)),o.xp6(6),o.Oqu(o.lcZ(44,27,e.channel.unsettled_balance)),o.xp6(6),o.Oqu(o.lcZ(50,29,e.channel.csv_delay)),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(58,31,e.channel.local_chan_reserve_sat)),o.xp6(6),o.Oqu(o.lcZ(64,33,e.channel.remote_chan_reserve_sat)),o.xp6(6),o.Oqu(o.lcZ(70,35,e.channel.lifetime)),o.xp6(6),o.Oqu(o.lcZ(76,37,null==e.channel||null==e.channel.pending_htlcs?null:e.channel.pending_htlcs.length)),o.xp6(2),o.Q6J("inset",!0)}}function bi(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function wi(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function _i(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",23),o.NdJ("copied",function(t){return o.CHM(e),o.oxw().onCopyChanID(t)}),o._uU(1,"Copy Channel ID"),o.qZA()}if(2&e){const e=o.oxw();o.Q6J("payload",e.channel.chan_id)}}function vi(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",24),o.NdJ("click",function(){return o.CHM(e),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const qi=function(e){return{"xs-scroll-y":e}};let Si=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.logger=n,this.commonService=a,this.snackBar=i,this.faReceipt=g.dLy,this.showAdvanced=!1,this.showCopy=!0,this.showCopyField=null,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.channel=this.data.channel,this.showCopy=this.data.showCopy,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(e){this.snackBar.open("Channel ID "+e+" copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(Z.mQ),o.Y36(C.v),o.Y36(Ai.ux))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-information"]],decls:94,vars:36,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxFlex","25"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span",5),o._uU(6,"Channel Information"),o.qZA(),o.qZA(),o.TgZ(7,"button",6),o.NdJ("click",function(){return t.onClose()}),o._uU(8,"X"),o.qZA(),o.qZA(),o.TgZ(9,"mat-card-content",7),o.TgZ(10,"div",8),o.TgZ(11,"div",9),o.TgZ(12,"div",10),o.TgZ(13,"h4",11),o._uU(14,"Channel ID"),o.qZA(),o.TgZ(15,"span",12),o._uU(16),o.qZA(),o.qZA(),o.TgZ(17,"div",10),o.TgZ(18,"h4",11),o._uU(19,"Peer Alias"),o.qZA(),o.TgZ(20,"span",12),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",13),o.TgZ(23,"div",9),o.TgZ(24,"div",1),o.TgZ(25,"h4",11),o._uU(26,"Channel Point"),o.qZA(),o.TgZ(27,"span",12),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",13),o.TgZ(30,"div",9),o.TgZ(31,"div",1),o.TgZ(32,"h4",11),o._uU(33,"Peer Public Key"),o.qZA(),o.TgZ(34,"span",12),o._uU(35),o.qZA(),o.qZA(),o.qZA(),o._UZ(36,"mat-divider",13),o.TgZ(37,"div",9),o.TgZ(38,"div",14),o.TgZ(39,"h4",11),o._uU(40,"Local Balance"),o.qZA(),o.TgZ(41,"span",15),o._uU(42),o.ALo(43,"number"),o.qZA(),o.qZA(),o.TgZ(44,"div",14),o.TgZ(45,"h4",11),o._uU(46,"Remote Balance"),o.qZA(),o.TgZ(47,"span",15),o._uU(48),o.ALo(49,"number"),o.qZA(),o.qZA(),o.TgZ(50,"div",14),o.TgZ(51,"h4",11),o._uU(52,"Capacity"),o.qZA(),o.TgZ(53,"span",15),o._uU(54),o.ALo(55,"number"),o.qZA(),o.qZA(),o.TgZ(56,"div",14),o.TgZ(57,"h4",11),o._uU(58,"Uptime (Seconds)"),o.qZA(),o.TgZ(59,"span",15),o._uU(60),o.ALo(61,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(62,"mat-divider",13),o.TgZ(63,"div",9),o.TgZ(64,"div",14),o.TgZ(65,"h4",11),o._uU(66,"Active"),o.qZA(),o.TgZ(67,"span",15),o._uU(68),o.qZA(),o.qZA(),o.TgZ(69,"div",14),o.TgZ(70,"h4",11),o._uU(71,"Private"),o.qZA(),o.TgZ(72,"span",15),o._uU(73),o.qZA(),o.qZA(),o.TgZ(74,"div",14),o.TgZ(75,"h4",11),o._uU(76,"Initiator"),o.qZA(),o.TgZ(77,"span",15),o._uU(78),o.qZA(),o.qZA(),o.TgZ(79,"div",14),o.TgZ(80,"h4",11),o._uU(81,"Number of Updates"),o.qZA(),o.TgZ(82,"span",15),o._uU(83),o.ALo(84,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(85,"mat-divider",13),o.YNc(86,Ti,78,39,"div",16),o.TgZ(87,"div",17),o.TgZ(88,"button",18),o.NdJ("click",function(){return t.onShowAdvanced()}),o.YNc(89,bi,2,0,"p",19),o.YNc(90,wi,2,0,"ng-template",null,20,o.W1O),o.qZA(),o.YNc(92,_i,2,1,"button",21),o.YNc(93,vi,2,0,"button",22),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.MAs(91);o.xp6(4),o.Q6J("icon",t.faReceipt),o.xp6(5),o.Q6J("ngClass",o.VKq(34,qi,t.screenSize===t.screenSizeEnum.XS)),o.xp6(7),o.Oqu(t.channel.chan_id),o.xp6(5),o.Oqu(t.channel.remote_alias),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.channel.channel_point),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.channel.remote_pubkey),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(43,24,t.channel.local_balance)),o.xp6(6),o.Oqu(o.lcZ(49,26,t.channel.remote_balance)),o.xp6(6),o.Oqu(o.lcZ(55,28,t.channel.capacity)),o.xp6(6),o.Oqu(o.lcZ(61,30,t.channel.uptime)),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.channel.active?"Yes":"No"),o.xp6(5),o.Oqu(t.channel.private?"Yes":"No"),o.xp6(5),o.Oqu(t.channel.initiator?"Yes":"No"),o.xp6(5),o.Oqu(o.lcZ(84,32,t.channel.num_updates)),o.xp6(2),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngIf",t.showAdvanced),o.xp6(3),o.Q6J("ngIf",!t.showAdvanced)("ngIfElse",e),o.xp6(3),o.Q6J("ngIf",t.showCopy),o.xp6(1),o.Q6J("ngIf",!t.showCopy)}},directives:[l.xw,l.Wh,l.yH,w.dk,T.BN,q.lW,w.dn,a.mk,v.oO,M.d,a.O5,Te.h,Ci.y],pipes:[a.JJ],styles:[""]}),e})();var Fi=n(2041);const Li=["stepper"];function ki(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw();o.Oqu(e.inputFormLabel)}}function Ni(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function Ui(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount must be a positive number."),o.qZA())}function Ii(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("Amount must be less than or equal to ",null==e.selChannel?null:e.selChannel.local_balance,".")}}function Oi(e,t){if(1&e&&(o.TgZ(0,"mat-option",52),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.Oqu(e.remote_alias||e.chan_id)}}function Ji(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer is required."),o.qZA())}function Di(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Peer not found in the list."),o.qZA())}function Ri(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw();o.Oqu(e.feeFormLabel)}}function Mi(e,t){if(1&e&&(o.TgZ(0,"mat-option",52),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.hij(" ",e.name," ")}}function Ei(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("",e.feeFormGroup.controls.selFeeLimitType.value?e.feeFormGroup.controls.selFeeLimitType.value.placeholder:e.feeLimitTypes[0].placeholder," is required.")}}function Qi(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("",e.feeFormGroup.controls.selFeeLimitType.value?e.feeFormGroup.controls.selFeeLimitType.value.placeholder:e.feeLimitTypes[0].placeholder," must be a positive number.")}}function Yi(e,t){1&e&&o._uU(0,"Invoice/Payment")}function Pi(e,t){1&e&&(o.TgZ(0,"mat-icon",53),o._uU(1,"check"),o.qZA())}function Bi(e,t){1&e&&o._UZ(0,"mat-progress-bar",54)}function Gi(e,t){if(1&e&&(o.TgZ(0,"mat-icon",53),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(null!=e.paymentStatus&&e.paymentStatus.error?"close":"check")}}function Hi(e,t){1&e&&o._UZ(0,"div",7)}function zi(e,t){1&e&&o._UZ(0,"mat-progress-bar",54)}function Vi(e,t){if(1&e&&(o.TgZ(0,"h4",55),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.paymentStatus&&e.paymentStatus.payment_hash?"Rebalance Successful.":"Rebalance Failed.")}}function Wi(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",56),o.NdJ("click",function(){return o.CHM(e),o.oxw().onRestart()}),o._uU(1,"Start Again"),o.qZA()}}function Xi(e,t){1&e&&o.GkF(0)}function $i(e,t){if(1&e&&o.YNc(0,Xi,1,0,"ng-container",57),2&e){const e=o.oxw(),t=o.MAs(98),n=o.MAs(100);o.Q6J("ngTemplateOutlet",e.paymentStatus.error?t:n)}}function ji(e,t){if(1&e&&(o.TgZ(0,"div",7),o.TgZ(1,"span",40),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.hij("Error: ",e.paymentStatus.error,"")}}function Ki(e,t){if(1&e&&(o.TgZ(0,"div",7),o.TgZ(1,"div",0),o.TgZ(2,"div",1),o.TgZ(3,"h4",58),o._uU(4,"Payment Hash"),o.qZA(),o.TgZ(5,"span",40),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o._UZ(7,"mat-divider",59),o.TgZ(8,"div",0),o.TgZ(9,"div",60),o.TgZ(10,"h4",58),o._uU(11),o.qZA(),o.TgZ(12,"span",40),o._uU(13),o.qZA(),o.qZA(),o.TgZ(14,"div",60),o.TgZ(15,"h4",58),o._uU(16,"Number of Hops"),o.qZA(),o.TgZ(17,"span",40),o._uU(18),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(6),o.Oqu(e.paymentStatus.payment_hash),o.xp6(5),o.hij("Total Fees (",e.paymentStatus.payment_route.total_fees_msat?"mSats":"Sats",")"),o.xp6(2),o.Oqu(e.paymentStatus.payment_route.total_fees_msat?e.paymentStatus.payment_route.total_fees_msat:e.paymentStatus.payment_route.total_fees?e.paymentStatus.payment_route.total_fees:0),o.xp6(5),o.Oqu(e.paymentStatus&&e.paymentStatus.payment_route&&e.paymentStatus.payment_route.hops&&e.paymentStatus.payment_route.hops.length?e.paymentStatus.payment_route.hops.length:0)}}let es=(()=>{class e{constructor(e,t,n,a,i,s,o){this.dialogRef=e,this.data=t,this.logger=n,this.store=a,this.actions=i,this.formBuilder=s,this.decimalPipe=o,this.faInfoCircle=g.sqG,this.invoices={},this.selChannel={},this.activeChannels=[],this.feeLimitTypes=[],this.queryRoute={},this.paymentRequest="",this.paymentStatus=null,this.flgReusingInvoice=!1,this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1,this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee",this.flgEditable=!0,this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){let e="",t="";this.selChannel=this.data.message.selChannel,this.activeChannels=this.data.message.channels.filter(e=>e.active&&e.chan_id!==this.selChannel.chan_id&&e.remote_balance>0),this.activeChannels=this.activeChannels.sort((n,a)=>(e=n.remote_alias?n.remote_alias.toLowerCase():n.chan_id?n.chan_id.toLowerCase():"",t=a.remote_alias?a.remote_alias.toLowerCase():n.chan_id.toLowerCase(),et?1:0)),f.Vc.forEach((e,t)=>{t>0&&this.feeLimitTypes.push(e)}),this.inputFormGroup=this.formBuilder.group({hiddenAmount:["",[Ae.kI.required]],rebalanceAmount:["",[Ae.kI.required,Ae.kI.min(1),Ae.kI.max(this.selChannel.local_balance)]],selRebalancePeer:[null,Ae.kI.required]}),this.feeFormGroup=this.formBuilder.group({selFeeLimitType:[this.feeLimitTypes[0],Ae.kI.required],feeLimit:["",[Ae.kI.required,Ae.kI.min(0)]],hiddenFeeLimit:["",[Ae.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.invoices=e.invoices,this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.qs||e.type===x.ug||e.type===x.mZ)).subscribe(e=>{e.type===x.qs&&(this.queryRoute=e.payload),e.type===x.ug&&(this.logger.info(e.payload),this.flgPaymentSent=!0,this.paymentStatus=e.payload,this.flgEditable=!0),e.type===x.mZ&&(this.logger.info(e.payload),this.flgInvoiceGenerated=!0,this.sendPayment(e.payload.paymentRequest))}),this.inputFormGroup.get("rebalanceAmount").valueChanges.pipe((0,d.R)(this.unSubs[2]),(0,da.O)(0)).subscribe(e=>{this.inputFormGroup.controls.selRebalancePeer.setValue(""),this.inputFormGroup.controls.selRebalancePeer.setErrors(null),this.filteredActiveChannels=(0,Fi.of)(e?this.filterActiveChannels():this.activeChannels.slice())}),this.inputFormGroup.get("selRebalancePeer").valueChanges.pipe((0,d.R)(this.unSubs[3]),(0,da.O)("")).subscribe(e=>{"string"==typeof e&&(this.filteredActiveChannels=(0,Fi.of)(this.filterActiveChannels()))})}onSelectFee(){if(this.inputFormGroup.controls.selRebalancePeer.value&&"string"==typeof this.inputFormGroup.controls.selRebalancePeer.value&&this.onSelectedPeerChanged(),!this.inputFormGroup.controls.selRebalancePeer.value||"string"==typeof this.inputFormGroup.controls.selRebalancePeer.value||!this.inputFormGroup.controls.rebalanceAmount.value)return!0;0===this.stepper.selectedIndex&&(this.inputFormGroup.controls.hiddenAmount.setValue(this.inputFormGroup.controls.rebalanceAmount.value),this.stepper.next()),this.queryRoute=null,this.feeFormGroup.reset(),this.feeFormGroup.controls.selFeeLimitType.setValue(this.feeLimitTypes[0]),this.feeFormGroup.controls.feeLimit.setValue(""),this.feeFormGroup.controls.feeLimit.setErrors(null),this.feeFormGroup.controls.hiddenFeeLimit.setValue(""),this.feeFormGroup.controls.hiddenFeeLimit.setErrors(null)}stepSelectionChanged(e){switch(e.selectedIndex){case 0:this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.rebalanceAmount.value||this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?"Rebalancing Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value?this.inputFormGroup.controls.rebalanceAmount.value:0)+" Sats | Peer: "+(this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?this.inputFormGroup.controls.selRebalancePeer.value.remote_alias:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0,15)+"..."):"Amount to rebalance",this.feeFormLabel="Select rebalance fee";break;case 2:this.inputFormLabel=this.inputFormGroup.controls.rebalanceAmount.value||this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?"Rebalancing Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value?this.inputFormGroup.controls.rebalanceAmount.value:0)+" Sats | Peer: "+(this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?this.inputFormGroup.controls.selRebalancePeer.value.remote_alias:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0,15)+"..."):"Amount to rebalance",this.feeFormLabel=this.queryRoute&&this.queryRoute.routes&&this.queryRoute.routes.length>0&&(this.queryRoute.routes[0].total_fees_msat||this.queryRoute.routes[0].hops&&this.queryRoute.routes[0].hops.length)?this.feeFormGroup.controls.selFeeLimitType.value.placeholder+": "+this.decimalPipe.transform(this.feeFormGroup.controls.feeLimit.value?this.feeFormGroup.controls.feeLimit.value:0)+" | Hops: "+this.queryRoute.routes[0].hops.length:"Select rebalance fee";break;default:this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee"}e.selectedIndex+this.selChannel.local_balance||!this.feeFormGroup.controls.feeLimit.value||this.feeFormGroup.controls.feeLimit.value<0||!this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey)return!0;this.feeFormGroup.controls.hiddenFeeLimit.setValue(this.feeFormGroup.controls.feeLimit.value),this.stepper.next(),this.flgEditable=!1,this.paymentRequest="",this.paymentStatus=null,this.flgReusingInvoice=!1,this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1;const e=this.findUnsettledInvoice();e?(this.flgReusingInvoice=!0,this.sendPayment(e.payment_request)):this.store.dispatch(new x.H1({uiMessage:f.m6.NO_SPINNER,memo:"Local-Rebalance-"+this.inputFormGroup.controls.rebalanceAmount.value+"-Sats",invoiceValue:this.inputFormGroup.controls.rebalanceAmount.value,private:!1,expiry:3600,pageSize:f.IV,openModal:!1}))}findUnsettledInvoice(){return this.invoices.invoices.find(e=>(0==+e.settle_date||!e.settle_date)&&e.memo==="Local-Rebalance-"+this.inputFormGroup.controls.rebalanceAmount.value+"-Sats"&&"CANCELED"!==e.state)}sendPayment(e){this.flgInvoiceGenerated=!0,this.paymentRequest=e,this.store.dispatch(new x.Ar({uiMessage:f.m6.NO_SPINNER,paymentReq:e,outgoingChannel:this.selChannel,feeLimitType:this.feeFormGroup.controls.selFeeLimitType.value,feeLimit:this.feeFormGroup.controls.feeLimit.value,allowSelfPayment:!0,lastHopPubkey:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey,fromDialog:!0}))}filterActiveChannels(){return this.activeChannels.filter(e=>e.remote_balance>=this.inputFormGroup.controls.rebalanceAmount.value&&e.chan_id!==this.selChannel.chan_id&&(0===e.remote_alias.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value?this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase():"")||0===e.chan_id.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value?this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase():"")))}onSelectedPeerChanged(){if(this.inputFormGroup.controls.selRebalancePeer.value&&this.inputFormGroup.controls.selRebalancePeer.value.length>0&&"string"==typeof this.inputFormGroup.controls.selRebalancePeer.value){const e=this.activeChannels.filter(e=>e.remote_alias.length===this.inputFormGroup.controls.selRebalancePeer.value.length&&0===e.remote_alias.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value?this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase():""));e&&e.length>0?(this.inputFormGroup.controls.selRebalancePeer.setValue(e[0]),this.inputFormGroup.controls.selRebalancePeer.setErrors(null)):this.inputFormGroup.controls.selRebalancePeer.setErrors({notfound:!0})}}displayFn(e){return e&&e.remote_alias?e.remote_alias:e&&e.chan_id?e.chan_id:""}onClose(){this.dialogRef.close(!1)}onRestart(){this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1,this.flgEditable=!0,this.stepper.reset(),this.inputFormGroup.reset(),this.feeFormGroup.reset(),this.statusFormGroup.reset(),this.inputFormGroup.controls.hiddenAmount.setValue(""),this.inputFormGroup.controls.hiddenAmount.setErrors(null),this.inputFormGroup.controls.rebalanceAmount.setValue(""),this.inputFormGroup.controls.rebalanceAmount.setErrors(null),this.inputFormGroup.controls.selRebalancePeer.setValue(""),this.inputFormGroup.controls.selRebalancePeer.setErrors(null),this.filteredActiveChannels=(0,Fi.of)(this.activeChannels)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(A.eX),o.Y36(Ae.qu),o.Y36(a.JJ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-rebalance"]],viewQuery:function(e,t){if(1&e&&o.Gf(Li,5),2&e){let e;o.iGM(e=o.CRH())&&(t.stepper=e.first)}},decls:101,vars:45,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","rebalanceAmount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["fxFlex","48","fxLayoutAlign","start end"],["type","text","placeholder","Receive from Peer","aria-label","Receive from Peer","matInput","","formControlName","selRebalancePeer","tabindex","2","required","",3,"matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","submit",3,"click"],["matStepLabel","","disabled","true"],["tabindex","6","formControlName","selFeeLimitType","Placeholder","Fee Limits","required",""],["matInput","","formControlName","feeLimit","type","number","tabindex","7","required","",3,"placeholder","step"],["mat-stroked-button","","color","primary","tabindex","8","type","submit",3,"click"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel","mb-2"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[1,"foreground-secondary-text"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayout","column",4,"ngIf","ngIfElse"],["fxLayoutAlign","start","class","font-bold-500 mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["paymentStatusBlock",""],["paymentFailedBlock",""],["paymentSuccessfulBlock",""],[3,"value"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","button",3,"click"],[4,"ngTemplateOutlet"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","50"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Channel Rebalance"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return t.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"div",7),o.TgZ(10,"div",8),o.TgZ(11,"div",9),o._UZ(12,"fa-icon",10),o.TgZ(13,"span"),o._uU(14,"Circular Rebalance is a payment you make to *yourselves* to affect a relative change in the balances of two channels. This is accomplished by sending payment out from the selected channel and receiving it back on the channel with the selected peer. Please note, you will be paying routing fee to balance the channels in this manner."),o.qZA(),o.qZA(),o.qZA(),o.TgZ(15,"div",11),o.TgZ(16,"p",12),o.TgZ(17,"strong"),o._uU(18,"Channel Peer:\xa0"),o.qZA(),o._uU(19),o.ALo(20,"titlecase"),o.qZA(),o.TgZ(21,"p",13),o.TgZ(22,"strong"),o._uU(23,"Channel ID:\xa0"),o.qZA(),o._uU(24),o.qZA(),o._UZ(25,"p",13),o.qZA(),o.TgZ(26,"mat-vertical-stepper",14,15),o.NdJ("selectionChange",function(e){return t.stepSelectionChanged(e)}),o.TgZ(28,"mat-step",16),o.TgZ(29,"form",17),o.YNc(30,ki,1,1,"ng-template",18),o.TgZ(31,"div",19),o.TgZ(32,"mat-form-field",20),o._UZ(33,"input",21),o.TgZ(34,"mat-hint"),o._uU(35),o.qZA(),o.TgZ(36,"span",22),o._uU(37,"Sats"),o.qZA(),o.YNc(38,Ni,2,0,"mat-error",23),o.YNc(39,Ui,2,0,"mat-error",23),o.YNc(40,Ii,2,1,"mat-error",23),o.qZA(),o.TgZ(41,"mat-form-field",24),o.TgZ(42,"input",25),o.NdJ("change",function(){return t.onSelectedPeerChanged()}),o.qZA(),o.TgZ(43,"mat-autocomplete",26,27),o.NdJ("optionSelected",function(){return t.onSelectedPeerChanged()}),o.YNc(45,Oi,2,2,"mat-option",28),o.ALo(46,"async"),o.qZA(),o.YNc(47,Ji,2,0,"mat-error",23),o.YNc(48,Di,2,0,"mat-error",23),o.qZA(),o.qZA(),o.TgZ(49,"div",29),o.TgZ(50,"button",30),o.NdJ("click",function(){return t.onSelectFee()}),o._uU(51,"Select Fee"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(52,"mat-step",16),o.TgZ(53,"form",17),o.YNc(54,Ri,1,1,"ng-template",31),o.TgZ(55,"div",19),o.TgZ(56,"div",19),o.TgZ(57,"mat-form-field",24),o.TgZ(58,"mat-select",32),o.YNc(59,Mi,2,2,"mat-option",28),o.qZA(),o.qZA(),o.TgZ(60,"mat-form-field",20),o._UZ(61,"input",33),o.YNc(62,Ei,2,1,"mat-error",23),o.YNc(63,Qi,2,1,"mat-error",23),o.qZA(),o.qZA(),o.qZA(),o.TgZ(64,"div",29),o.TgZ(65,"button",34),o.NdJ("click",function(){return t.onRebalance()}),o._uU(66,"Rebalance"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(67,"mat-step",35),o.TgZ(68,"form",17),o.YNc(69,Yi,1,0,"ng-template",18),o.TgZ(70,"div",36),o.TgZ(71,"mat-expansion-panel",37),o.TgZ(72,"mat-expansion-panel-header"),o.TgZ(73,"mat-panel-title"),o.TgZ(74,"span",38),o._uU(75),o.YNc(76,Pi,2,0,"mat-icon",39),o.qZA(),o.qZA(),o.qZA(),o.TgZ(77,"div",7),o.TgZ(78,"span",40),o._uU(79),o.qZA(),o.qZA(),o.qZA(),o.YNc(80,Bi,1,0,"mat-progress-bar",41),o.TgZ(81,"mat-expansion-panel",42),o.TgZ(82,"mat-expansion-panel-header"),o.TgZ(83,"mat-panel-title"),o.TgZ(84,"span",38),o._uU(85),o.YNc(86,Gi,2,1,"mat-icon",39),o.qZA(),o.qZA(),o.qZA(),o.YNc(87,Hi,1,0,"div",43),o.qZA(),o.YNc(88,zi,1,0,"mat-progress-bar",41),o.qZA(),o.YNc(89,Vi,2,1,"h4",44),o.TgZ(90,"div",45),o.YNc(91,Wi,2,0,"button",46),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(92,"div",47),o.TgZ(93,"button",48),o._uU(94,"Close"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(95,$i,1,1,"ng-template",null,49,o.W1O),o.YNc(97,ji,3,1,"ng-template",null,50,o.W1O),o.YNc(99,Ki,19,4,"ng-template",null,51,o.W1O)),2&e){const e=o.MAs(44),n=o.MAs(96);o.xp6(12),o.Q6J("icon",t.faInfoCircle),o.xp6(7),o.Oqu(o.lcZ(20,41,t.selChannel.remote_alias)),o.xp6(5),o.Oqu(t.selChannel.chan_id),o.xp6(2),o.Q6J("linear",!0),o.xp6(2),o.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.inputFormGroup),o.xp6(4),o.Q6J("step",100),o.xp6(2),o.AsE("(Local Bal: ",null==t.selChannel?null:t.selChannel.local_balance,", Remaining: ",(null==t.selChannel?null:t.selChannel.local_balance)-(t.inputFormGroup.controls.rebalanceAmount.value?t.inputFormGroup.controls.rebalanceAmount.value:0),")"),o.xp6(3),o.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.min),o.xp6(1),o.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.max),o.xp6(2),o.Q6J("matAutocomplete",e),o.xp6(1),o.Q6J("displayWith",t.displayFn),o.xp6(2),o.Q6J("ngForOf",o.lcZ(46,43,t.filteredActiveChannels)),o.xp6(2),o.Q6J("ngIf",null==t.inputFormGroup.controls.selRebalancePeer.errors?null:t.inputFormGroup.controls.selRebalancePeer.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.inputFormGroup.controls.selRebalancePeer.errors?null:t.inputFormGroup.controls.selRebalancePeer.errors.notfound),o.xp6(4),o.Q6J("stepControl",t.feeFormGroup)("editable",t.flgEditable),o.xp6(1),o.Q6J("formGroup",t.feeFormGroup),o.xp6(6),o.Q6J("ngForOf",t.feeLimitTypes),o.xp6(2),o.s9C("placeholder",t.feeFormGroup.controls.selFeeLimitType.value?t.feeFormGroup.controls.selFeeLimitType.value.placeholder:t.feeLimitTypes[0].placeholder),o.Q6J("step",1),o.xp6(1),o.Q6J("ngIf",null==t.feeFormGroup.controls.feeLimit.errors?null:t.feeFormGroup.controls.feeLimit.errors.required),o.xp6(1),o.Q6J("ngIf",null==t.feeFormGroup.controls.feeLimit.errors?null:t.feeFormGroup.controls.feeLimit.errors.min),o.xp6(4),o.Q6J("stepControl",t.statusFormGroup),o.xp6(1),o.Q6J("formGroup",t.statusFormGroup),o.xp6(7),o.Oqu(t.flgInvoiceGenerated?t.flgReusingInvoice?"Invoice re-used":"Invoice generated":"Generating invoice..."),o.xp6(1),o.Q6J("ngIf",t.flgInvoiceGenerated),o.xp6(3),o.Oqu(t.paymentRequest),o.xp6(1),o.Q6J("ngIf",!t.flgInvoiceGenerated),o.xp6(1),o.Q6J("expanded",(t.flgInvoiceGenerated||t.flgReusingInvoice)&&t.flgPaymentSent),o.xp6(4),o.Oqu(t.flgInvoiceGenerated||t.flgPaymentSent?t.flgPaymentSent?null!=t.paymentStatus&&t.paymentStatus.error?"Payment failed":"Payment successful":"Processing payment...":"Payment waiting for Invoice"),o.xp6(1),o.Q6J("ngIf",t.flgPaymentSent),o.xp6(1),o.Q6J("ngIf",!t.paymentStatus)("ngIfElse",n),o.xp6(1),o.Q6J("ngIf",t.flgInvoiceGenerated&&!t.flgPaymentSent),o.xp6(1),o.Q6J("ngIf",t.flgInvoiceGenerated&&t.flgPaymentSent),o.xp6(2),o.Q6J("ngIf",t.paymentStatus&&t.paymentStatus.error),o.xp6(2),o.Q6J("mat-dialog-close",!1)}},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,w.dn,T.BN,La.Vq,La.C0,Ae._Y,Ae.JL,Ae.sg,La.VY,D.KE,Ce.Nt,Ae.wV,Ae.Fj,Te.h,Ae.JJ,Ae.u,Ae.Q7,D.bx,D.R9,a.O5,mt.ZL,mt.XC,a.sg,we.gD,ht.ib,ht.yz,ht.yK,ye.ZT,D.TO,ve.ey,S.Hw,r.pW,a.tP,M.d],pipes:[a.rS,a.Ov],styles:[""]}),e})();function ts(e,t){if(1&e&&(o.TgZ(0,"div",16),o.TgZ(1,"p",17),o.TgZ(2,"mat-icon",18),o._uU(3,"close"),o.qZA(),o._uU(4),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(4),o.Oqu(e.errorMsg)}}function ns(e,t){if(1&e&&(o.TgZ(0,"div",27),o._UZ(1,"fa-icon",28),o.TgZ(2,"span"),o._uU(3,"Priority/Fee for force closing inactive channels cannot be modified."),o.qZA(),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("icon",e.faInfoCircle)}}function as(e,t){if(1&e&&(o.TgZ(0,"mat-option",29),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function is(e,t){1&e&&(o.TgZ(0,"mat-form-field",30),o._UZ(1,"input",31),o.qZA())}function ss(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Number of blocks is required."),o.qZA())}function os(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",32),o.TgZ(1,"input",33,34),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw(2).blocks=t}),o.qZA(),o.YNc(3,ss,2,0,"mat-error",35),o.qZA()}if(2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngModel",e.blocks)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.blocks)}}function ls(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees is required."),o.qZA())}function rs(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",32),o.TgZ(1,"input",36,37),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw(2).fees=t}),o.qZA(),o.YNc(3,ls,2,0,"mat-error",35),o.qZA()}if(2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngModel",e.fees)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.fees)}}function cs(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",19),o.YNc(1,ns,4,1,"div",20),o.TgZ(2,"div",21),o.TgZ(3,"mat-form-field",22),o.TgZ(4,"mat-select",23),o.NdJ("valueChange",function(t){return o.CHM(e),o.oxw().selTransType=t}),o.YNc(5,as,2,2,"mat-option",24),o.qZA(),o.qZA(),o.YNc(6,is,2,0,"mat-form-field",25),o.YNc(7,os,4,4,"mat-form-field",26),o.YNc(8,rs,4,4,"mat-form-field",26),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",!e.channelToClose.active),o.xp6(3),o.Q6J("value",e.selTransType)("disabled",!e.channelToClose.active),o.xp6(1),o.Q6J("ngForOf",e.transTypes),o.xp6(1),o.Q6J("ngIf","0"===e.selTransType),o.xp6(1),o.Q6J("ngIf","1"===e.selTransType),o.xp6(1),o.Q6J("ngIf","2"===e.selTransType)}}function us(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",38),o.NdJ("click",function(){return o.CHM(e),o.oxw().resetData()}),o._uU(1,"Clear"),o.qZA()}}function ps(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",39),o.NdJ("click",function(){return o.CHM(e),o.oxw().onCloseChannel()}),o._uU(1),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.channelToClose.active?"Close Channel":"Force Close")}}function ds(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"button",40),o.NdJ("click",function(){return o.CHM(e),o.oxw().onClose()}),o._uU(1,"Ok"),o.qZA()}}let hs=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.store=n,this.actions=a,this.logger=i,this.transTypes=f.Dr,this.selTransType="0",this.blocks=null,this.fees=null,this.faExclamationTriangle=g.eHv,this.faInfoCircle=g.sqG,this.flgPendingHtlcs=!1,this.errorMsg="Please wait for pending HTLCs to settle before attempting channel closure.",this.unSubs=[new p.x,new p.x]}ngOnInit(){this.channelToClose=this.data.channel,this.actions.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.JE||e.type===x.P2)).subscribe(e=>{if(e.type===x.P2){const t=e.payload.find(e=>e.chan_id===this.data.channel.chan_id);t.pending_htlcs&&t.pending_htlcs.length&&t.pending_htlcs.length>0&&(this.flgPendingHtlcs=!0)}e.type===x.JE&&e.payload.status===f.Bn.ERROR&&"FetchAllChannels"===e.payload.action&&this.logger.error("Fetching latest channel information failed!\n"+e.payload.message)})}onCloseChannel(){if("1"===this.selTransType&&(!this.blocks||0===this.blocks)||"2"===this.selTransType&&(!this.fees||0===this.fees))return!0;const e={channelPoint:this.channelToClose.channel_point,forcibly:!this.channelToClose.active};this.blocks&&(e.targetConf=this.blocks),this.fees&&(e.satPerByte=this.fees),this.store.dispatch(new x.e8(e)),this.dialogRef.close(!1)}resetData(){this.selTransType="0",this.blocks=null,this.fees=null}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(y.yh),o.Y36(A.eX),o.Y36(Z.mQ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-close-channel"]],decls:19,vars:7,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column",1,"bordered-box","mb-1","p-2"],["fxLayoutAlign","start center",1,"pb-1","word-break"],["fxLayoutAlign","start center",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","class","mr-1","tabindex","3","default","",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","type","submit","tabindex","4",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click",4,"ngIf"],["fxLayoutAlign","start center"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex.gt-sm","48"],["tabindex","1",3,"value","disabled","valueChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48",4,"ngIf"],["fxFlex.gt-sm","48","fxLayoutAlign","start end",4,"ngIf"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"],["fxFlex","48"],["matInput","","placeholder","Default","disabled",""],["fxFlex.gt-sm","48","fxLayoutAlign","start end"],["matInput","","placeholder","Number of Blocks","type","number","name","blocks","required","","tabindex","2",3,"ngModel","step","min","ngModelChange"],["blcks","ngModel"],[4,"ngIf"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","ccfees","required","","tabindex","3",3,"ngModel","step","min","ngModelChange"],["clchfee","ngModel"],["mat-stroked-button","","color","primary","type","reset","tabindex","3","default","",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return t.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7),o.TgZ(10,"div",8),o.TgZ(11,"p",9),o._uU(12),o.qZA(),o.YNc(13,ts,5,1,"div",10),o.YNc(14,cs,9,7,"div",11),o.qZA(),o.TgZ(15,"div",12),o.YNc(16,us,2,0,"button",13),o.YNc(17,ps,2,1,"button",14),o.YNc(18,ds,2,0,"button",15),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(5),o.Oqu(t.channelToClose.active?"Close Channel":"Force Close Channel"),o.xp6(7),o.Oqu(t.channelToClose.active?"Closing channel: "+t.channelToClose.channel_point:"Force closing channel: "+t.channelToClose.channel_point),o.xp6(1),o.Q6J("ngIf",t.flgPendingHtlcs),o.xp6(1),o.Q6J("ngIf",!t.flgPendingHtlcs),o.xp6(2),o.Q6J("ngIf",t.channelToClose.active&&!t.flgPendingHtlcs),o.xp6(1),o.Q6J("ngIf",!t.flgPendingHtlcs),o.xp6(1),o.Q6J("ngIf",t.flgPendingHtlcs))},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,w.dn,Ae._Y,Ae.JL,Ae.F,a.O5,S.Hw,D.KE,we.gD,a.sg,T.BN,ve.ey,Ce.Nt,Ae.wV,Ae.qQ,Ae.Fj,be.q,Ae.Q7,Ae.JJ,Ae.On,D.TO],styles:[""]}),e})();function ms(e,t){1&e&&o._UZ(0,"mat-progress-bar",30)}function gs(e,t){1&e&&(o.TgZ(0,"th",31),o._uU(1," Peer "),o.qZA())}function fs(e,t){1&e&&o._UZ(0,"span",39)}function xs(e,t){1&e&&o._UZ(0,"span",40)}function Zs(e,t){if(1&e&&(o.TgZ(0,"span",41),o._UZ(1,"fa-icon",42),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("icon",e.faEyeSlash)}}function ys(e,t){if(1&e&&(o.TgZ(0,"span",43),o._UZ(1,"fa-icon",42),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("icon",e.faEye)}}const As=function(e){return{"max-width":e}};function Cs(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"div",33),o.YNc(2,fs,1,0,"span",34),o.YNc(3,xs,1,0,"span",35),o.YNc(4,Zs,2,1,"span",36),o.YNc(5,ys,2,1,"span",37),o.TgZ(6,"span",38),o._uU(7),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.xp6(1),o.Q6J("ngStyle",o.VKq(6,As,n.screenSize===n.screenSizeEnum.XS?"10rem":n.screenSize===n.screenSizeEnum.MD?"15rem":"22rem")),o.xp6(1),o.Q6J("ngIf",e.active),o.xp6(1),o.Q6J("ngIf",!e.active),o.xp6(1),o.Q6J("ngIf",e.private),o.xp6(1),o.Q6J("ngIf",!e.private),o.xp6(2),o.Oqu(e.remote_alias||e.remote_pubkey)}}function Ts(e,t){if(1&e&&(o.TgZ(0,"th",44),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("Uptime (",e.timeUnit,")")}}function bs(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"span",45),o._uU(2),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij("",e.uptime_str," ")}}function ws(e,t){1&e&&(o.TgZ(0,"th",44),o._uU(1,"Sats Sent "),o.qZA())}function _s(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"span",45),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij("",o.lcZ(3,1,e.total_satoshis_sent)," ")}}function vs(e,t){1&e&&(o.TgZ(0,"th",44),o._uU(1,"Sats Received "),o.qZA())}function qs(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"span",45),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij("",o.lcZ(3,1,e.total_satoshis_received)," ")}}function Ss(e,t){1&e&&(o.TgZ(0,"th",44),o._uU(1,"Local Balance (Sats) "),o.qZA())}function Fs(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"span",45),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij("",o.lcZ(3,1,e.local_balance)," ")}}function Ls(e,t){1&e&&(o.TgZ(0,"th",44),o._uU(1,"Remote Balance (Sats) "),o.qZA())}function ks(e,t){if(1&e&&(o.TgZ(0,"td",32),o.TgZ(1,"span",45),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij("",o.lcZ(3,1,e.remote_balance)," ")}}function Ns(e,t){1&e&&(o.TgZ(0,"th",46),o._uU(1,"Balance Score "),o.qZA())}function Us(e,t){if(1&e&&(o.TgZ(0,"td",47),o.TgZ(1,"div",48),o.TgZ(2,"mat-hint",49),o._uU(3),o.ALo(4,"number"),o.qZA(),o.qZA(),o._UZ(5,"mat-progress-bar",50),o.qZA()),2&e){const e=t.$implicit;o.xp6(3),o.Oqu(o.lcZ(4,2,e.balancedness||0)),o.xp6(2),o.s9C("value",e.local_balance&&e.local_balance>0?+e.local_balance/(+e.local_balance+ +e.remote_balance)*100:0)}}function Is(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",51),o.TgZ(1,"div",52),o.TgZ(2,"mat-select",53),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",54),o.NdJ("click",function(){return o.CHM(e),o.oxw().onChannelUpdate("all")}),o._uU(5,"Update Fee Policy"),o.qZA(),o.TgZ(6,"mat-option",54),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(7,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Os(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-option",54),o.NdJ("click",function(){o.CHM(e);const t=o.oxw().$implicit;return o.oxw().onCircularRebalance(t)}),o._uU(1,"Circular Rebalance"),o.qZA()}}function Js(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-option",54),o.NdJ("click",function(){o.CHM(e);const t=o.oxw().$implicit;return o.oxw().onLoopOut(t)}),o._uU(1,"Loop Out"),o.qZA()}}function Ds(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",55),o.TgZ(1,"div",52),o.TgZ(2,"mat-select",56),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",54),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw().onChannelClick(n,t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",54),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onViewRemotePolicy(t)}),o._uU(7,"View Remote Fee "),o.qZA(),o.TgZ(8,"mat-option",54),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onChannelUpdate(t)}),o._uU(9,"Update Fee Policy"),o.qZA(),o.YNc(10,Os,2,0,"mat-option",57),o.YNc(11,Js,2,0,"mat-option",57),o.TgZ(12,"mat-option",54),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onChannelClose(t)}),o._uU(13,"Close Channel"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(10),o.Q6J("ngIf",+e.versionsArr[0]>0||+e.versionsArr[1]>=9),o.xp6(1),o.Q6J("ngIf",e.selNode.swapServerUrl)}}function Rs(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No peers connected. Add a peer in order to open a channel."),o.qZA())}function Ms(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No channel available."),o.qZA())}function Es(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting channels..."),o.qZA())}function Qs(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function Ys(e,t){if(1&e&&(o.TgZ(0,"td",58),o.YNc(1,Rs,2,0,"p",59),o.YNc(2,Ms,2,0,"p",59),o.YNc(3,Es,2,0,"p",59),o.YNc(4,Qs,2,1,"p",59),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",e.numPeers<1&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",e.numPeers>0&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.ERROR)}}const Ps=function(e){return{"display-none":e}};function Bs(e,t){if(1&e&&o._UZ(0,"tr",60),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,Ps,e.numPeers>0&&(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Gs(e,t){1&e&&o._UZ(0,"tr",61)}function Hs(e,t){1&e&&o._UZ(0,"tr",62)}const zs=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Vs=function(){return["no_peer"]};let Ws=(()=>{class e{constructor(e,t,n,a,i,s,o){this.logger=e,this.store=t,this.rtlEffects=n,this.lndEffects=a,this.commonService=i,this.loopService=s,this.decimalPipe=o,this.timeUnit="mins:secs",this.userPersonaEnum=f.ol,this.selNode={},this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.versionsArr=[],this.faEye=g.Mdf,this.faEyeSlash=g.Aq,this.targetConf=6,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["remote_alias","local_balance","remote_balance","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["remote_alias","local_balance","remote_balance","balancedness","actions"]):(this.flgSticky=!0,this.displayedColumns=["remote_alias","uptime","total_satoshis_sent","total_satoshis_received","local_balance","remote_balance","balancedness","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchAllChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchAllChannels.message?JSON.stringify(this.apisCallStatus.FetchAllChannels.message):this.apisCallStatus.FetchAllChannels.message),this.selNode=e.nodeSettings,this.information=e.information,this.information&&this.information.version&&(this.versionsArr=this.information.version.split(".")),this.numPeers=e.peers&&e.peers.length?e.peers.length:0,this.totalBalance=+e.blockchainBalance.total_balance,this.channelsData=this.calculateUptime(e.allChannels),this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),this.logger.info(e)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}onViewRemotePolicy(e){this.store.dispatch(new x.IG({uiMessage:f.m6.GET_REMOTE_POLICY,channelID:e.chan_id.toString()+"/"+this.information.identity_pubkey})),this.lndEffects.setLookup.pipe((0,pt.q)(1)).subscribe(e=>{if(!e.fee_base_msat&&!e.fee_rate_milli_msat&&!e.time_lock_delta)return!1;this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Remote Channel Policy",message:[[{key:"fee_base_msat",value:e.fee_base_msat,title:"Base Fees (mSats)",width:25,type:f.Gi.NUMBER},{key:"fee_rate_milli_msat",value:e.fee_rate_milli_msat,title:"Fee Rate (milli mSats)",width:25,type:f.Gi.NUMBER},{key:"fee_rate_milli_msat",value:e.fee_rate_milli_msat/1e4,title:"Fee Rate (%)",width:25,type:f.Gi.NUMBER,digitsInfo:"1.0-8"},{key:"time_lock_delta",value:e.time_lock_delta,title:"Time Lock Delta",width:25,type:f.Gi.NUMBER}]]}}))})}onCircularRebalance(e){this.store.dispatch(new ee.wu({data:{message:{channels:this.channelsData,selChannel:e},component:es}}))}onChannelUpdate(e){"all"===e?(this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update All Channels",message:[],titleMessage:"Update fee policy for all channels",flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:1e3,width:32},{placeholder:"Fee Rate (mili mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:1,min:1,width:32,hintFunction:this.percentHintFunction},{placeholder:"Time Lock Delta",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:40,width:32}]}})),this.rtlEffects.closeConfirm.pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{e&&this.store.dispatch(new x.k({baseFeeMsat:e[0].inputValue,feeRate:e[1].inputValue,timeLockDelta:e[2].inputValue,chanPoint:"all"}))})):(this.myChanPolicy={fee_base_msat:0,fee_rate_milli_msat:0,time_lock_delta:0},this.store.dispatch(new x.IG({uiMessage:f.m6.GET_CHAN_POLICY,channelID:e.chan_id.toString()})),this.lndEffects.setLookup.pipe((0,pt.q)(1)).subscribe(t=>{this.myChanPolicy=t.node1_pub===this.information.identity_pubkey?t.node1_policy:t.node2_pub===this.information.identity_pubkey?t.node2_policy:{fee_base_msat:0,fee_rate_milli_msat:0,time_lock_delta:0},this.logger.info(this.myChanPolicy),this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",titleMessage:"Update fee policy for channel point: "+e.channel_point,noBtnText:"Cancel",yesBtnText:"Update Channel",message:[],flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:""===this.myChanPolicy.fee_base_msat?0:this.myChanPolicy.fee_base_msat,width:32},{placeholder:"Fee Rate (mili mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:this.myChanPolicy.fee_rate_milli_msat,min:1,width:32,hintFunction:this.percentHintFunction},{placeholder:"Time Lock Delta",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:this.myChanPolicy.time_lock_delta,width:32}]}}))}),this.rtlEffects.closeConfirm.pipe((0,d.R)(this.unSubs[2])).subscribe(t=>{t&&this.store.dispatch(new x.k({baseFeeMsat:t[0].inputValue,feeRate:t[1].inputValue,timeLockDelta:t[2].inputValue,chanPoint:e.channel_point}))})),this.applyFilter()}onChannelClose(e){e.active&&this.store.dispatch(new x.jh),this.store.dispatch(new ee.wu({width:"70%",data:{channel:e,component:hs}}))}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(e,t){this.store.dispatch(new ee.wu({data:{channel:e,showCopy:!0,component:Si}}))}loadChannelsTable(e){e.sort((e,t)=>e.active===t.active?0:t.active?1:-1),this.channels=new Ze.by([...e]),this.channels.filterPredicate=(e,t)=>((e.active?"active":"inactive")+(e.chan_id?e.chan_id.toLowerCase():"")+(e.remote_pubkey?e.remote_pubkey.toLowerCase():"")+(e.remote_alias?e.remote_alias.toLowerCase():"")+(e.capacity?e.capacity:"")+(e.local_balance?e.local_balance:"")+(e.remote_balance?e.remote_balance:"")+(e.total_satoshis_sent?e.total_satoshis_sent:"")+(e.total_satoshis_received?e.total_satoshis_received:"")+(e.commit_fee?e.commit_fee:"")+(e.private?"private":"public")).includes(t),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.logger.info(this.channels)}calculateUptime(e){const t=3600,n=86400,a=31536e3;let i=60,s=1,o=0;switch(e.forEach(e=>{e.uptime&&+e.uptime>o&&(o=+e.uptime)}),!0){case o=t&&o=n&&oa:this.timeUnit="Yrs:Days",i=a,s=n;break;default:this.timeUnit="Mins:Secs",i=60,s=1}return e.forEach(e=>{e.uptime_str=e.uptime?this.decimalPipe.transform(Math.floor(+e.uptime/i),"2.0-0")+":"+this.decimalPipe.transform(Math.round(+e.uptime%i/s),"2.0-0"):"---"}),e}onLoopOut(e){this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,d.R)(this.unSubs[0])).subscribe(t=>{this.store.dispatch(new ee.wu({minHeight:"56rem",data:{channel:e,minQuote:t[0],maxQuote:t[1],direction:f.$I.LOOP_OUT,component:K.a}}))})}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Open-channels")}percentHintFunction(e){return(e/1e4).toString()+"%"}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(St.V),o.Y36(Ft.l),o.Y36(C.v),o.Y36(te.W),o.Y36(a.JJ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-open-table"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Channels")}])],decls:39,vars:14,consts:[["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","remote_alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","uptime"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","total_satoshis_sent"],["matColumnDef","total_satoshis_received"],["matColumnDef","local_balance"],["matColumnDef","remote_balance"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-2",4,"matHeaderCellDef"],["mat-cell","","class","pl-2",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","dot green","matTooltip","Active","matTooltipPosition","right",4,"ngIf"],["class","dot yellow","matTooltip","Inactive","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Active","matTooltipPosition","right",1,"dot","green"],["matTooltip","Inactive","matTooltipPosition","right",1,"dot","yellow"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-2"],["mat-cell","",1,"pl-2"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["placeholder","Actions","tabindex","2",1,"mr-0"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(){return t.applyFilter()})("ngModelChange",function(e){return t.selFilter=e}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,ms,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,gs,2,0,"th",10),o.YNc(11,Cs,8,8,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,Ts,2,1,"th",13),o.YNc(14,bs,3,1,"td",11),o.BQk(),o.ynx(15,14),o.YNc(16,ws,2,0,"th",13),o.YNc(17,_s,4,3,"td",11),o.BQk(),o.ynx(18,15),o.YNc(19,vs,2,0,"th",13),o.YNc(20,qs,4,3,"td",11),o.BQk(),o.ynx(21,16),o.YNc(22,Ss,2,0,"th",13),o.YNc(23,Fs,4,3,"td",11),o.BQk(),o.ynx(24,17),o.YNc(25,Ls,2,0,"th",13),o.YNc(26,ks,4,3,"td",11),o.BQk(),o.ynx(27,18),o.YNc(28,Ns,2,0,"th",19),o.YNc(29,Us,6,4,"td",20),o.BQk(),o.ynx(30,21),o.YNc(31,Is,8,0,"th",22),o.YNc(32,Ds,14,2,"td",23),o.BQk(),o.ynx(33,24),o.YNc(34,Ys,5,4,"td",25),o.BQk(),o.YNc(35,Bs,1,3,"tr",26),o.YNc(36,Gs,1,0,"tr",27),o.YNc(37,Hs,1,0,"tr",28),o.qZA(),o.qZA(),o._UZ(38,"mat-paginator",29),o.qZA()),2&e&&(o.xp6(4),o.Q6J("ngModel",t.selFilter),o.xp6(2),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchAllChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.channels)("ngClass",o.VKq(11,zs,""!==t.errorMessage)),o.xp6(28),o.Q6J("matFooterRowDef",o.DdM(13,Vs)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,Ce.Nt,Ae.Fj,Ae.JJ,Ae.On,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,R.gM,T.BN,D.bx,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-remote_alias[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-remote_alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{flex:0 0 20%;width:20%}@media only screen and (max-width:75em){.mat-column-balancedness[_ngcontent-%COMP%]{flex:0 0 35%;width:35%}}@media only screen and (max-width:56.25em){.mat-column-balancedness[_ngcontent-%COMP%]{flex:0 0 25%;width:25%}}.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{flex:1 1 10%;width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:75em){.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{white-space:unset;flex:1 1 25%;width:25%}}@media only screen and (max-width:56.25em){.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}}@media only screen and (max-width:37.5em){.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:56.25em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 90%}}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),e})();const Xs=["outputIdx"];function $s(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Index for change output is required."),o.qZA())}function js(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Invalid index value."),o.qZA())}function Ks(e,t){if(1&e&&(o.TgZ(0,"mat-option",29),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function eo(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Number of blocks is required."),o.qZA())}function to(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",17),o.TgZ(1,"input",30,31),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().blocks=t}),o.qZA(),o.YNc(3,eo,2,0,"mat-error",20),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngModel",e.blocks)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.blocks)}}function no(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees is required."),o.qZA())}function ao(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",17),o.TgZ(1,"input",32,33),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().fees=t}),o.qZA(),o.YNc(3,no,2,0,"mat-error",20),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngModel",e.fees)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.fees)}}function io(e,t){if(1&e&&(o.TgZ(0,"div",34),o._UZ(1,"fa-icon",13),o.TgZ(2,"span"),o._uU(3),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(2),o.Oqu(e.bumpFeeError)}}let so=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.logger=n,this.dataService=a,this.snackBar=i,this.transTypes=[...f.Dr],this.selTransType="2",this.blocks=null,this.fees=null,this.outputIndex=null,this.faCopy=g.kZ_,this.faInfoCircle=g.sqG,this.faExclamationTriangle=g.eHv,this.bumpFeeError="",this.unSubs=[new p.x,new p.x]}set payReq(e){e&&(this.outputIdx=e)}ngOnInit(){this.transTypes=this.transTypes.splice(1),this.bumpFeeChannel=this.data.pendingChannel;const e=this.bumpFeeChannel.channel&&this.bumpFeeChannel.channel.channel_point?this.bumpFeeChannel.channel.channel_point.split(":"):[];this.bumpFeeChannel.channel.txid_str=e[0]?e[0]:this.bumpFeeChannel.channel&&this.bumpFeeChannel.channel.channel_point?this.bumpFeeChannel.channel.channel_point:"",this.bumpFeeChannel.channel.output_index=e[1]?+e[1]:null}onBumpFee(){return this.outputIndex===this.bumpFeeChannel.channel.output_index?(this.outputIdx.control.setErrors({pendingChannelOutputIndex:!0}),!0):!this.outputIndex&&0!==this.outputIndex||!("1"!==this.selTransType||this.blocks&&0!==this.blocks)||!("2"!==this.selTransType||this.fees&&0!==this.fees)||void this.dataService.bumpFee(this.bumpFeeChannel.channel.txid_str,this.outputIndex,this.blocks,this.fees).pipe((0,d.R)(this.unSubs[0])).subscribe({next:e=>{this.dialogRef.close(!1)},error:e=>{this.logger.error(e),this.bumpFeeError=e.message?e.message:e}})}onCopyID(e){this.snackBar.open("Transaction ID copied.")}resetData(){this.bumpFeeError="",this.selTransType="2",this.blocks=null,this.fees=null,this.outputIdx.control.setErrors(null)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(Z.mQ),o.Y36(dt.D),o.Y36(Ai.ux))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-bump-fee"]],viewQuery:function(e,t){if(1&e&&o.Gf(Xs,5),2&e){let e;o.iGM(e=o.CRH())&&(t.payReq=e.first)}},decls:48,vars:15,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column",1,"bordered-box","mb-1","p-2"],["fxLayoutAlign","start center",1,"pb-1","word-break"],["matSuffix","","rtlClipboard","","matTooltip","Copy transaction ID",1,"ml-1",3,"icon","payload","copied"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxFlex","100"],[1,"pl-1"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex.gt-sm","32","fxLayoutAlign","start end"],["matInput","","placeholder","Index for Change Output","type","number","tabindex","1","required","","name","outputIdx",3,"ngModel","step","min","ngModelChange"],["outputIdx","ngModel"],[4,"ngIf"],["fxFlex.gt-sm","32"],["tabindex","2",3,"value","valueChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex.gt-sm","32","fxLayoutAlign","start end",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","tabindex","5","default","",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","6",3,"click"],[3,"value"],["matInput","","placeholder","Number of Blocks","type","number","name","blocks","required","","tabindex","3",3,"ngModel","step","min","ngModelChange"],["blcks","ngModel"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","fees","required","","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fee","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Bump Fee"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o.NdJ("click",function(){return t.onClose()}),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7),o.TgZ(10,"div",8),o.TgZ(11,"p",9),o._uU(12),o.TgZ(13,"fa-icon",10),o.NdJ("copied",function(e){return t.onCopyID(e)}),o.qZA(),o.qZA(),o.TgZ(14,"div",11),o.TgZ(15,"div",12),o._UZ(16,"fa-icon",13),o.TgZ(17,"span",14),o._uU(18,"Bumping fee on pending open channels is an advanced feature, attempt it only if you are familiar with the functionality of Bitcoin transactions. "),o.TgZ(19,"div"),o._uU(20,"Before attempting fee bump ensure the following:"),o.qZA(),o.TgZ(21,"div",15),o._uU(22,"1: Use a Bitcoin block explorer to ensure that channel opening transaction is not confirmed."),o.qZA(),o.TgZ(23,"div",15),o._uU(24,"2: The channel opening transaction must have a sizable change output, which can be spent further. The fee cannot be bumped without the change output."),o.qZA(),o.TgZ(25,"div",15),o._uU(26,"3: Find the index value of the change output via a block explorer."),o.qZA(),o.TgZ(27,"div",15),o._uU(28,"4: Enter the index value of the change output in the form below and the desired fee rate."),o.qZA(),o.TgZ(29,"div",15),o._uU(30,"5: Upon successful fee bump, use your block explorer to track the child transaction in the mempool, which should be linked with the change output transaction."),o.qZA(),o.qZA(),o.qZA(),o.TgZ(31,"div",16),o.TgZ(32,"mat-form-field",17),o.TgZ(33,"input",18,19),o.NdJ("ngModelChange",function(e){return t.outputIndex=e}),o.qZA(),o.YNc(35,$s,2,0,"mat-error",20),o.YNc(36,js,2,0,"mat-error",20),o.qZA(),o.TgZ(37,"mat-form-field",21),o.TgZ(38,"mat-select",22),o.NdJ("valueChange",function(e){return t.selTransType=e})("selectionChange",function(){return t.blocks=null,t.fees=null}),o.YNc(39,Ks,2,2,"mat-option",23),o.qZA(),o.qZA(),o.YNc(40,to,4,4,"mat-form-field",24),o.YNc(41,ao,4,4,"mat-form-field",24),o.qZA(),o.YNc(42,io,4,2,"div",25),o.qZA(),o.qZA(),o.TgZ(43,"div",26),o.TgZ(44,"button",27),o.NdJ("click",function(){return t.resetData()}),o._uU(45,"Clear"),o.qZA(),o.TgZ(46,"button",28),o.NdJ("click",function(){return t.onBumpFee()}),o._uU(47),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.MAs(34);o.xp6(12),o.hij("Bump fee for channel point: ",null==t.bumpFeeChannel||null==t.bumpFeeChannel.channel?null:t.bumpFeeChannel.channel.channel_point," "),o.xp6(1),o.Q6J("icon",t.faCopy)("payload",null==t.bumpFeeChannel||null==t.bumpFeeChannel.channel?null:t.bumpFeeChannel.channel.txid_str),o.xp6(3),o.Q6J("icon",t.faInfoCircle),o.xp6(17),o.Q6J("ngModel",t.outputIndex)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",null==e.errors?null:e.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.errors?null:e.errors.pendingChannelOutputIndex),o.xp6(2),o.Q6J("value",t.selTransType),o.xp6(1),o.Q6J("ngForOf",t.transTypes),o.xp6(1),o.Q6J("ngIf","1"===t.selTransType),o.xp6(1),o.Q6J("ngIf","2"===t.selTransType),o.xp6(1),o.Q6J("ngIf",""!==t.bumpFeeError),o.xp6(5),o.Oqu(""!==t.bumpFeeError?"Retry Bump Fee":"Bump Fee")}},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,w.dn,Ae._Y,Ae.JL,Ae.F,T.BN,D.R9,Ci.y,R.gM,D.KE,Ce.Nt,Ae.wV,Ae.qQ,Ae.Fj,be.q,Ae.Q7,Ae.JJ,Ae.On,a.O5,we.gD,a.sg,D.TO,ve.ey],styles:[""]}),e})();function oo(e,t){1&e&&o._UZ(0,"mat-progress-bar",36)}function lo(e,t){1&e&&o._UZ(0,"mat-progress-bar",36)}function ro(e,t){1&e&&(o.TgZ(0,"mat-header-cell",37),o._uU(1," Peer "),o.qZA())}const co=function(e){return{"max-width":e}};function uo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",38),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,co,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),o.xp6(1),o.Oqu(e.channel.remote_alias)}}function po(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Commit Fee (Sats) "),o.qZA())}function ho(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.commit_fee))}}function mo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Commit Weight "),o.qZA())}function go(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.commit_weight))}}function fo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Capacity (Sats)"),o.qZA())}function xo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.capacity))}}function Zo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",41),o._uU(1,"Actions"),o.qZA())}function yo(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-cell",42),o.TgZ(1,"div",43),o.TgZ(2,"mat-select",44),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",45),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onOpenClick(t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",45),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onBumpFee(t)}),o._uU(7,"Bump Fee"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Ao(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No pending channel."),o.qZA())}function Co(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting pending channels..."),o.qZA())}function To(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function bo(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,Ao,2,0,"p",47),o.YNc(2,Co,2,0,"p",47),o.YNc(3,To,2,1,"p",47),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!e.pendingOpenChannels||!(null!=e.pendingOpenChannels&&e.pendingOpenChannels.data)||(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!e.pendingOpenChannels||!(null!=e.pendingOpenChannels&&e.pendingOpenChannels.data)||(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!e.pendingOpenChannels||!(null!=e.pendingOpenChannels&&e.pendingOpenChannels.data)||(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.ERROR)}}const wo=function(e){return{"display-none":e}};function _o(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,wo,e.pendingOpenChannels&&(null==e.pendingOpenChannels?null:e.pendingOpenChannels.data)&&(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)>0))}}function vo(e,t){1&e&&o._UZ(0,"mat-header-row")}function qo(e,t){1&e&&o._UZ(0,"mat-row",49)}function So(e,t){1&e&&o._UZ(0,"mat-progress-bar",36)}function Fo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",37),o._uU(1," Peer "),o.qZA())}function Lo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",38),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,co,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),o.xp6(1),o.Oqu(e.channel.remote_alias)}}function ko(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Recovered Balance (Sats) "),o.qZA())}function No(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.recovered_balance))}}function Uo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Limbo Balance (Sats) "),o.qZA())}function Io(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.limbo_balance))}}function Oo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1,"Capacity (Sats) "),o.qZA())}function Jo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.capacity))}}function Do(e,t){1&e&&(o.TgZ(0,"mat-header-cell",50),o._uU(1,"Actions"),o.qZA())}function Ro(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-cell",51),o.TgZ(1,"button",52),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onForceClosingClick(t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Mo(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No pending channel."),o.qZA())}function Eo(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting pending channels..."),o.qZA())}function Qo(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function Yo(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,Mo,2,0,"p",47),o.YNc(2,Eo,2,0,"p",47),o.YNc(3,Qo,2,1,"p",47),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!e.pendingForceClosingChannels||!(null!=e.pendingForceClosingChannels&&e.pendingForceClosingChannels.data)||(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!e.pendingForceClosingChannels||!(null!=e.pendingForceClosingChannels&&e.pendingForceClosingChannels.data)||(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!e.pendingForceClosingChannels||!(null!=e.pendingForceClosingChannels&&e.pendingForceClosingChannels.data)||(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.ERROR)}}function Po(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,wo,e.pendingForceClosingChannels&&(null==e.pendingForceClosingChannels?null:e.pendingForceClosingChannels.data)&&(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)>0))}}function Bo(e,t){1&e&&o._UZ(0,"mat-header-row")}function Go(e,t){1&e&&o._UZ(0,"mat-row",49)}function Ho(e,t){1&e&&o._UZ(0,"mat-progress-bar",36)}function zo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",53),o._uU(1," Peer "),o.qZA())}function Vo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",54),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,co,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),o.xp6(1),o.Oqu(e.channel.remote_alias)}}function Wo(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Local Balance (Sats) "),o.qZA())}function Xo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.local_balance))}}function $o(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Remote Balance (Sats) "),o.qZA())}function jo(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.remote_balance))}}function Ko(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Capacity (Sats) "),o.qZA())}function el(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.capacity))}}function tl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",50),o._uU(1,"Actions"),o.qZA())}function nl(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-cell",51),o.TgZ(1,"button",55),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onClosingClick(t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function al(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No pending channel."),o.qZA())}function il(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting pending channels..."),o.qZA())}function sl(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function ol(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,al,2,0,"p",47),o.YNc(2,il,2,0,"p",47),o.YNc(3,sl,2,1,"p",47),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!e.pendingClosingChannels||!(null!=e.pendingClosingChannels&&e.pendingClosingChannels.data)||(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!e.pendingClosingChannels||!(null!=e.pendingClosingChannels&&e.pendingClosingChannels.data)||(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!e.pendingClosingChannels||!(null!=e.pendingClosingChannels&&e.pendingClosingChannels.data)||(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.ERROR)}}function ll(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,wo,e.pendingClosingChannels&&(null==e.pendingClosingChannels?null:e.pendingClosingChannels.data)&&(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)>0))}}function rl(e,t){1&e&&o._UZ(0,"mat-header-row")}function cl(e,t){1&e&&o._UZ(0,"mat-row",49)}function ul(e,t){1&e&&o._UZ(0,"mat-progress-bar",36)}function pl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",53),o._uU(1," Peer "),o.qZA())}function dl(e,t){if(1&e&&(o.TgZ(0,"mat-cell",54),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,co,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),o.xp6(1),o.Oqu(e.channel.remote_alias)}}function hl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Limbo Balance (Sats) "),o.qZA())}function ml(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij("",o.lcZ(2,1,e.limbo_balance)," ")}}function gl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Local Balance (Sats) "),o.qZA())}function fl(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.local_balance))}}function xl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Remote Balance (Sats) "),o.qZA())}function Zl(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.remote_balance))}}function yl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",39),o._uU(1," Capacity (Sats) "),o.qZA())}function Al(e,t){if(1&e&&(o.TgZ(0,"mat-cell",40),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.channel.capacity))}}function Cl(e,t){1&e&&(o.TgZ(0,"mat-header-cell",50),o._uU(1,"Actions"),o.qZA())}function Tl(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-cell",51),o.TgZ(1,"button",56),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onWaitClosingClick(t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function bl(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No pending channel."),o.qZA())}function wl(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting pending channels..."),o.qZA())}function _l(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function vl(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,bl,2,0,"p",47),o.YNc(2,wl,2,0,"p",47),o.YNc(3,_l,2,1,"p",47),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!e.pendingWaitClosingChannels||!(null!=e.pendingWaitClosingChannels&&e.pendingWaitClosingChannels.data)||(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!e.pendingWaitClosingChannels||!(null!=e.pendingWaitClosingChannels&&e.pendingWaitClosingChannels.data)||(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!e.pendingWaitClosingChannels||!(null!=e.pendingWaitClosingChannels&&e.pendingWaitClosingChannels.data)||(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchPendingChannels.status)===e.apiCallStatusEnum.ERROR)}}const ql=function(e){return{"py-0":!0,"display-none":e}};function Sl(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,ql,e.pendingWaitClosingChannels&&(null==e.pendingWaitClosingChannels?null:e.pendingWaitClosingChannels.data)&&(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)>0))}}function Fl(e,t){1&e&&o._UZ(0,"mat-header-row")}function Ll(e,t){1&e&&o._UZ(0,"mat-row",49)}const kl=function(e){return{"error-border bordered-box":e,"bordered-box":!0}},Nl=function(){return["no_pending_open"]},Ul=function(){return["no_pending_force_closing"]},Il=function(){return["no_pending_closing"]},Ol=function(){return["no_pending_wait_closing"]};let Jl=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.commonService=n,this.selNode={},this.selectedFilter="",this.information={},this.pendingChannels={},this.displayedOpenColumns=["remote_alias","commit_fee","commit_weight","capacity","actions"],this.pendingOpenChannelsLength=0,this.displayedForceClosingColumns=["remote_alias","recovered_balance","limbo_balance","capacity","actions"],this.pendingForceClosingChannelsLength=0,this.displayedClosingColumns=["remote_alias","local_balance","remote_balance","capacity","actions"],this.pendingClosingChannelsLength=0,this.displayedWaitClosingColumns=["remote_alias","limbo_balance","local_balance","remote_balance","actions"],this.pendingWaitClosingChannelsLength=0,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.displayedOpenColumns=["remote_alias","actions"],this.displayedForceClosingColumns=["remote_alias","actions"],this.displayedClosingColumns=["remote_alias","actions"],this.displayedWaitClosingColumns=["remote_alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.displayedOpenColumns=["remote_alias","commit_fee","actions"],this.displayedForceClosingColumns=["remote_alias","limbo_balance","actions"],this.displayedClosingColumns=["remote_alias","remote_balance","actions"],this.displayedWaitClosingColumns=["remote_alias","limbo_balance","actions"]):(this.displayedOpenColumns=["remote_alias","commit_fee","commit_weight","capacity","actions"],this.displayedForceClosingColumns=["remote_alias","recovered_balance","limbo_balance","capacity","actions"],this.displayedClosingColumns=["remote_alias","local_balance","remote_balance","capacity","actions"],this.displayedWaitClosingColumns=["remote_alias","limbo_balance","local_balance","remote_balance","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchPendingChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchPendingChannels.message?JSON.stringify(this.apisCallStatus.FetchPendingChannels.message):this.apisCallStatus.FetchPendingChannels.message),this.selNode=e.nodeSettings,this.information=e.information,this.pendingChannels=e.pendingChannels,this.pendingChannels.pending_open_channels&&this.pendingChannels.pending_open_channels.length&&this.pendingChannels.pending_open_channels.length>0&&this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels),this.pendingChannels.pending_force_closing_channels&&this.pendingChannels.pending_force_closing_channels.length&&this.pendingChannels.pending_force_closing_channels.length>0&&this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels),this.pendingChannels.pending_closing_channels&&this.pendingChannels.pending_closing_channels.length&&this.pendingChannels.pending_closing_channels.length>0&&this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels),this.pendingChannels.waiting_close_channels&&this.pendingChannels.waiting_close_channels.length&&this.pendingChannels.waiting_close_channels.length>0&&this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels),this.logger.info(e)})}ngAfterViewInit(){this.pendingChannels.pending_open_channels&&this.pendingChannels.pending_open_channels.length&&this.pendingChannels.pending_open_channels.length>0&&this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels),this.pendingChannels.pending_force_closing_channels&&this.pendingChannels.pending_force_closing_channels.length&&this.pendingChannels.pending_force_closing_channels.length>0&&this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels),this.pendingChannels.pending_closing_channels&&this.pendingChannels.pending_closing_channels.length&&this.pendingChannels.pending_closing_channels.length>0&&this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels),this.pendingChannels.waiting_close_channels&&this.pendingChannels.waiting_close_channels.length&&this.pendingChannels.waiting_close_channels.length>0&&this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels)}onOpenClick(e){const t=JSON.parse(JSON.stringify(e,["commit_weight","confirmation_height","fee_per_kw","commit_fee"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Opening Channel Information",message:[[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"confirmation_height",value:a.confirmation_height,title:"Confirmation Height",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}],[{key:"fee_per_kw",value:a.fee_per_kw,title:"Fee/KW",width:25,type:f.Gi.NUMBER},{key:"commit_weight",value:a.commit_weight,title:"Commit Weight",width:25,type:f.Gi.NUMBER},{key:"commit_fee",value:a.commit_fee,title:"Commit Fee",width:50,type:f.Gi.NUMBER}]]}}))}onBumpFee(e){this.store.dispatch(new ee.wu({data:{pendingChannel:e,component:so}}))}onForceClosingClick(e){const t=JSON.parse(JSON.stringify(e,["closing_txid","limbo_balance","maturity_height","blocks_til_maturity","recovered_balance"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Force Closing Channel Information",message:[[{key:"closing_txid",value:a.closing_txid,title:"Closing Transaction ID",width:100,type:f.Gi.STRING}],[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"limbo_balance",value:a.limbo_balance,title:"Limbo Balance",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}],[{key:"maturity_height",value:a.maturity_height,title:"Maturity Height",width:25,type:f.Gi.NUMBER},{key:"blocks_til_maturity",value:a.blocks_til_maturity,title:"Blocks Till Maturity",width:25,type:f.Gi.NUMBER},{key:"recovered_balance",value:a.recovered_balance,title:"Recovered Balance",width:50,type:f.Gi.NUMBER}]]}}))}onClosingClick(e){const t=JSON.parse(JSON.stringify(e,["closing_txid"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Closing Channel Information",message:[[{key:"closing_txid",value:a.closing_txid,title:"Closing Transaction ID",width:50,type:f.Gi.STRING}],[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:50,type:f.Gi.NUMBER}]]}}))}onWaitClosingClick(e){const t=JSON.parse(JSON.stringify(e,["limbo_balance"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a=JSON.parse(JSON.stringify(e.commitments,["local_txid"],2)),i={};Object.assign(i,t,n,a),this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Wait Closing Channel Information",message:[[{key:"local_txid",value:i.local_txid,title:"Transaction ID",width:100,type:f.Gi.STRING}],[{key:"channel_point",value:i.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:i.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:i.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:i.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"limbo_balance",value:i.limbo_balance,title:"Limbo Balance",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:i.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:i.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}]]}}))}loadOpenChannelsTable(e){e.sort((e,t)=>e.active===t.active?0:t.active?-1:1),this.pendingOpenChannelsLength=e.length?e.length:0,this.pendingOpenChannels=new Ze.by([...e]),this.pendingOpenChannels.sort=this.sort,this.pendingOpenChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingOpenChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingOpenChannels)}loadForceClosingChannelsTable(e){e.sort((e,t)=>e.active===t.active?0:t.active?-1:1),this.pendingForceClosingChannelsLength=e.length?e.length:0,this.pendingForceClosingChannels=new Ze.by([...e]),this.pendingForceClosingChannels.sort=this.sort,this.pendingForceClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingForceClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingForceClosingChannels)}loadClosingChannelsTable(e){e.sort((e,t)=>e.active===t.active?0:t.active?-1:1),this.pendingClosingChannelsLength=e.length?e.length:0,this.pendingClosingChannels=new Ze.by([...e]),this.pendingClosingChannels.sort=this.sort,this.pendingClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingClosingChannels)}loadWaitClosingChannelsTable(e){e.sort((e,t)=>e.active===t.active?0:t.active?-1:1),this.pendingWaitClosingChannelsLength=e.length?e.length:0,this.pendingWaitClosingChannels=new Ze.by([...e]),this.pendingWaitClosingChannels.sort=this.sort,this.pendingWaitClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingWaitClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingWaitClosingChannels)}applyFilter(e){this.selectedFilter=e.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-pending-table"]],viewQuery:function(e,t){if(1&e&&o.Gf(xe.YE,5),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first)}},decls:121,vars:44,consts:[["fxLayout","column",1,"mb-2"],[1,"page-title"],["displayMode","flat",1,"mt-1"],["mode","indeterminate",4,"ngIf"],["fxLayout","column",1,"flat-expansion-panel"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","remote_alias"],["mat-sort-header","",4,"matHeaderCellDef"],[3,"ngStyle",4,"matCellDef"],["matColumnDef","commit_fee"],["fxLayoutAlign","end center","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","commit_weight"],["matColumnDef","capacity"],["matColumnDef","actions"],["fxLayoutAlign","end center","class","pl-3 pr-4",4,"matHeaderCellDef"],["fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_pending_open"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","","fxLayoutAlign","start center",3,"ngClass",4,"matFooterRowDef"],[4,"matHeaderRowDef"],["fxLayoutAlign","stretch stretch",4,"matRowDef","matRowDefColumns"],["mat-table","","matSort","",3,"dataSource","ngClass"],["matColumnDef","recovered_balance"],["matColumnDef","limbo_balance"],["fxLayoutAlign","end center","class","pl-4 pr-3",4,"matHeaderCellDef"],["fxLayoutAlign","end center","class","pl-4",4,"matCellDef"],["matColumnDef","no_pending_force_closing"],["class","pl-2","mat-sort-header","",4,"matHeaderCellDef"],["class","pl-2",3,"ngStyle",4,"matCellDef"],["matColumnDef","local_balance"],["matColumnDef","remote_balance"],["matColumnDef","no_pending_closing"],["matColumnDef","no_pending_wait_closing"],["mode","indeterminate"],["mat-sort-header",""],[3,"ngStyle"],["fxLayoutAlign","end center","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"pl-3","pr-4"],["fxLayoutAlign","end center",1,"px-3"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","","fxLayoutAlign","start center",3,"ngClass"],["fxLayoutAlign","stretch stretch"],["fxLayoutAlign","end center",1,"pl-4","pr-3"],["fxLayoutAlign","end center",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","2",3,"click"],["mat-sort-header","",1,"pl-2"],[1,"pl-2",3,"ngStyle"],["mat-stroked-button","","color","primary","type","button","tabindex","3",3,"click"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"span",1),o._uU(2),o.ALo(3,"number"),o.qZA(),o.TgZ(4,"mat-accordion",2),o.YNc(5,oo,1,0,"mat-progress-bar",3),o.TgZ(6,"mat-expansion-panel",4),o.TgZ(7,"mat-expansion-panel-header"),o.TgZ(8,"mat-panel-title"),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"div",5),o.YNc(11,lo,1,0,"mat-progress-bar",3),o.TgZ(12,"table",6,7),o.ynx(14,8),o.YNc(15,ro,2,0,"mat-header-cell",9),o.YNc(16,uo,2,4,"mat-cell",10),o.BQk(),o.ynx(17,11),o.YNc(18,po,2,0,"mat-header-cell",12),o.YNc(19,ho,3,3,"mat-cell",13),o.BQk(),o.ynx(20,14),o.YNc(21,mo,2,0,"mat-header-cell",12),o.YNc(22,go,3,3,"mat-cell",13),o.BQk(),o.ynx(23,15),o.YNc(24,fo,2,0,"mat-header-cell",12),o.YNc(25,xo,3,3,"mat-cell",13),o.BQk(),o.ynx(26,16),o.YNc(27,Zo,2,0,"mat-header-cell",17),o.YNc(28,yo,8,0,"mat-cell",18),o.BQk(),o.ynx(29,19),o.YNc(30,bo,4,3,"td",20),o.BQk(),o.YNc(31,_o,1,3,"tr",21),o.YNc(32,vo,1,0,"mat-header-row",22),o.YNc(33,qo,1,0,"mat-row",23),o.qZA(),o.qZA(),o.qZA(),o.YNc(34,So,1,0,"mat-progress-bar",3),o.TgZ(35,"mat-expansion-panel",4),o.TgZ(36,"mat-expansion-panel-header"),o.TgZ(37,"mat-panel-title"),o._uU(38),o.qZA(),o.qZA(),o.TgZ(39,"div",5),o.TgZ(40,"table",24,7),o.ynx(42,8),o.YNc(43,Fo,2,0,"mat-header-cell",9),o.YNc(44,Lo,2,4,"mat-cell",10),o.BQk(),o.ynx(45,25),o.YNc(46,ko,2,0,"mat-header-cell",12),o.YNc(47,No,3,3,"mat-cell",13),o.BQk(),o.ynx(48,26),o.YNc(49,Uo,2,0,"mat-header-cell",12),o.YNc(50,Io,3,3,"mat-cell",13),o.BQk(),o.ynx(51,15),o.YNc(52,Oo,2,0,"mat-header-cell",12),o.YNc(53,Jo,3,3,"mat-cell",13),o.BQk(),o.ynx(54,16),o.YNc(55,Do,2,0,"mat-header-cell",27),o.YNc(56,Ro,3,0,"mat-cell",28),o.BQk(),o.ynx(57,29),o.YNc(58,Yo,4,3,"td",20),o.BQk(),o.YNc(59,Po,1,3,"tr",21),o.YNc(60,Bo,1,0,"mat-header-row",22),o.YNc(61,Go,1,0,"mat-row",23),o.qZA(),o.qZA(),o.qZA(),o.YNc(62,Ho,1,0,"mat-progress-bar",3),o.TgZ(63,"mat-expansion-panel",4),o.TgZ(64,"mat-expansion-panel-header"),o.TgZ(65,"mat-panel-title"),o._uU(66),o.qZA(),o.qZA(),o.TgZ(67,"div",5),o.TgZ(68,"table",24,7),o.ynx(70,8),o.YNc(71,zo,2,0,"mat-header-cell",30),o.YNc(72,Vo,2,4,"mat-cell",31),o.BQk(),o.ynx(73,32),o.YNc(74,Wo,2,0,"mat-header-cell",12),o.YNc(75,Xo,3,3,"mat-cell",13),o.BQk(),o.ynx(76,33),o.YNc(77,$o,2,0,"mat-header-cell",12),o.YNc(78,jo,3,3,"mat-cell",13),o.BQk(),o.ynx(79,15),o.YNc(80,Ko,2,0,"mat-header-cell",12),o.YNc(81,el,3,3,"mat-cell",13),o.BQk(),o.ynx(82,16),o.YNc(83,tl,2,0,"mat-header-cell",27),o.YNc(84,nl,3,0,"mat-cell",28),o.BQk(),o.ynx(85,34),o.YNc(86,ol,4,3,"td",20),o.BQk(),o.YNc(87,ll,1,3,"tr",21),o.YNc(88,rl,1,0,"mat-header-row",22),o.YNc(89,cl,1,0,"mat-row",23),o.qZA(),o.qZA(),o.qZA(),o.YNc(90,ul,1,0,"mat-progress-bar",3),o.TgZ(91,"mat-expansion-panel",4),o.TgZ(92,"mat-expansion-panel-header"),o.TgZ(93,"mat-panel-title"),o._uU(94),o.qZA(),o.qZA(),o.TgZ(95,"div",5),o.TgZ(96,"table",24,7),o.ynx(98,8),o.YNc(99,pl,2,0,"mat-header-cell",30),o.YNc(100,dl,2,4,"mat-cell",31),o.BQk(),o.ynx(101,26),o.YNc(102,hl,2,0,"mat-header-cell",12),o.YNc(103,ml,3,3,"mat-cell",13),o.BQk(),o.ynx(104,32),o.YNc(105,gl,2,0,"mat-header-cell",12),o.YNc(106,fl,3,3,"mat-cell",13),o.BQk(),o.ynx(107,33),o.YNc(108,xl,2,0,"mat-header-cell",12),o.YNc(109,Zl,3,3,"mat-cell",13),o.BQk(),o.ynx(110,15),o.YNc(111,yl,2,0,"mat-header-cell",12),o.YNc(112,Al,3,3,"mat-cell",13),o.BQk(),o.ynx(113,16),o.YNc(114,Cl,2,0,"mat-header-cell",27),o.YNc(115,Tl,3,0,"mat-cell",28),o.BQk(),o.ynx(116,35),o.YNc(117,vl,4,3,"td",20),o.BQk(),o.YNc(118,Sl,1,3,"tr",21),o.YNc(119,Fl,1,0,"mat-header-row",22),o.YNc(120,Ll,1,0,"mat-row",23),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(2),o.hij("Total Limbo Balance: ",o.lcZ(3,30,t.pendingChannels.total_limbo_balance)," Sats"),o.xp6(3),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPendingChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(4),o.hij("Pending Open (",t.pendingOpenChannelsLength,")"),o.xp6(2),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPendingChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.pendingOpenChannels)("ngClass",o.VKq(32,kl,""!==t.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(34,Nl)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedOpenColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedOpenColumns),o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPendingChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(4),o.hij("Pending Force Closing (",t.pendingForceClosingChannelsLength,")"),o.xp6(2),o.Q6J("dataSource",t.pendingForceClosingChannels)("ngClass",o.VKq(35,kl,""!==t.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(37,Ul)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedForceClosingColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedForceClosingColumns),o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPendingChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(4),o.hij("Pending Closing (",t.pendingClosingChannelsLength,")"),o.xp6(2),o.Q6J("dataSource",t.pendingClosingChannels)("ngClass",o.VKq(38,kl,""!==t.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(40,Il)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedClosingColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedClosingColumns),o.xp6(1),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchPendingChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(4),o.hij("Waiting Close (",t.pendingWaitClosingChannelsLength,")"),o.xp6(2),o.Q6J("dataSource",t.pendingWaitClosingChannels)("ngClass",o.VKq(41,kl,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(43,Ol)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedWaitClosingColumns),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedWaitClosingColumns))},directives:[l.xw,ht.pp,a.O5,ht.ib,ht.yz,ht.yK,l.Wh,l.yH,E.$V,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk,q.lW],pipes:[a.JJ],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr.mat-footer-row[_ngcontent-%COMP%] td.mat-footer-cell[_ngcontent-%COMP%]{border-bottom:none}"]}),e})();function Dl(e,t){1&e&&o._UZ(0,"mat-progress-bar",28)}function Rl(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Close Type "),o.qZA())}function Ml(e,t){if(1&e&&(o.TgZ(0,"td",30),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("matTooltip",n.channelClosureType[e.close_type].tooltip),o.xp6(1),o.hij("",n.channelClosureType[e.close_type].name," ")}}function El(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Peer "),o.qZA())}const Ql=function(e){return{"max-width":e}};function Yl(e,t){if(1&e&&(o.TgZ(0,"td",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Ql,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),o.xp6(1),o.hij(" ",e.remote_alias," ")}}function Pl(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Capacity "),o.qZA())}function Bl(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",34),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,e.capacity)," ")}}function Gl(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Close Height "),o.qZA())}function Hl(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",34),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,e.close_height)," ")}}function zl(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Settled Balance "),o.qZA())}function Vl(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",34),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,e.settled_balance)," ")}}function Wl(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",35),o.TgZ(1,"div",36),o.TgZ(2,"mat-select",37),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",38),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Xl(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",39),o.TgZ(1,"span",34),o.TgZ(2,"button",40),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw().onClosedChannelClick(n,t)}),o._uU(3,"View Info"),o.qZA(),o.qZA(),o.qZA()}}function $l(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No closed channel available."),o.qZA())}function jl(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting closed channels..."),o.qZA())}function Kl(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function er(e,t){if(1&e&&(o.TgZ(0,"td",41),o.YNc(1,$l,2,0,"p",42),o.YNc(2,jl,2,0,"p",42),o.YNc(3,Kl,2,1,"p",42),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.closedChannels&&e.closedChannels.data)||(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchClosedChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.closedChannels&&e.closedChannels.data)||(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchClosedChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.closedChannels&&e.closedChannels.data)||(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchClosedChannels.status)===e.apiCallStatusEnum.ERROR)}}const tr=function(e){return{"display-none":e}};function nr(e,t){if(1&e&&o._UZ(0,"tr",43),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,tr,(null==e.closedChannels?null:e.closedChannels.data)&&(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)>0))}}function ar(e,t){1&e&&o._UZ(0,"tr",44)}function ir(e,t){1&e&&o._UZ(0,"tr",45)}const sr=function(e){return{"error-border":e,"overflow-auto":!0}},or=function(){return["no_closed_channel"]};let lr=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.commonService=n,this.channelClosureType=f.HW,this.faHistory=g.qO$,this.displayedColumns=[],this.closedChannelsData=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unsub=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["remote_alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["close_type","remote_alias","settled_balance","actions"]):(this.flgSticky=!0,this.displayedColumns=["close_type","remote_alias","capacity","close_height","settled_balance","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unsub[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchClosedChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchClosedChannels.message?JSON.stringify(this.apisCallStatus.FetchClosedChannels.message):this.apisCallStatus.FetchClosedChannels.message),this.closedChannelsData=e.closedChannels,this.closedChannelsData.length>0&&this.loadClosedChannelsTable(this.closedChannelsData),this.logger.info(e)})}ngAfterViewInit(){this.closedChannelsData.length>0&&this.loadClosedChannelsTable(this.closedChannelsData)}applyFilter(e){this.closedChannels.filter=e.value.trim().toLowerCase()}onClosedChannelClick(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Closed Channel Information",message:[[{key:"close_type",value:this.channelClosureType[e.close_type].name,title:"Close Type",width:30,type:f.Gi.STRING},{key:"settled_balance",value:e.settled_balance,title:"Settled Balance",width:30,type:f.Gi.NUMBER},{key:"time_locked_balance",value:e.time_locked_balance,title:"Time Locked Balance",width:40,type:f.Gi.NUMBER}],[{key:"chan_id",value:e.chan_id,title:"Channel ID",width:30},{key:"capacity",value:e.capacity,title:"Capacity",width:30,type:f.Gi.NUMBER},{key:"close_height",value:e.close_height,title:"Close Height",width:40,type:f.Gi.NUMBER}],[{key:"remote_alias",value:e.remote_alias,title:"Peer Alias",width:30},{key:"remote_pubkey",value:e.remote_pubkey,title:"Peer Public Key",width:70}],[{key:"channel_point",value:e.channel_point,title:"Channel Point",width:100}],[{key:"closing_tx_hash",value:e.closing_tx_hash,title:"Closing Transaction Hash",width:100,type:f.Gi.STRING}]]}}))}loadClosedChannelsTable(e){this.closedChannels=new Ze.by([...e]),this.closedChannels.sort=this.sort,this.closedChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.closedChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.closedChannels.paginator=this.paginator,this.logger.info(this.closedChannels)}onDownloadCSV(){this.closedChannels.data&&this.closedChannels.data.length>0&&this.commonService.downloadFile(this.closedChannels.data,"Closed-channels")}ngOnDestroy(){this.unsub.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-closed-table"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Channels")}])],decls:33,vars:13,consts:[["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","close_type"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"matTooltip",4,"matCellDef"],["matColumnDef","remote_alias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","capacity"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","close_height"],["matColumnDef","settled_balance"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["matColumnDef","no_closed_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"matTooltip"],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,Dl,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,Rl,2,0,"th",10),o.YNc(11,Ml,2,2,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,El,2,0,"th",10),o.YNc(14,Yl,2,4,"td",13),o.BQk(),o.ynx(15,14),o.YNc(16,Pl,2,0,"th",15),o.YNc(17,Bl,4,3,"td",16),o.BQk(),o.ynx(18,17),o.YNc(19,Gl,2,0,"th",15),o.YNc(20,Hl,4,3,"td",16),o.BQk(),o.ynx(21,18),o.YNc(22,zl,2,0,"th",15),o.YNc(23,Vl,4,3,"td",16),o.BQk(),o.ynx(24,19),o.YNc(25,Wl,6,0,"th",20),o.YNc(26,Xl,4,0,"td",21),o.BQk(),o.ynx(27,22),o.YNc(28,er,4,3,"td",23),o.BQk(),o.YNc(29,nr,1,3,"tr",24),o.YNc(30,ar,1,0,"tr",25),o.YNc(31,ir,1,0,"tr",26),o.qZA(),o.qZA(),o._UZ(32,"mat-paginator",27),o.qZA()),2&e&&(o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchClosedChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.closedChannels)("ngClass",o.VKq(10,sr,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(12,or)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,R.gM,a.PC,v.Zl,we.gD,we.$L,ve.ey,q.lW,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-close_type[_ngcontent-%COMP%]{flex:0 0 16%;min-width:5rem}.mat-column-remote_alias[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function rr(e,t){1&e&&o._UZ(0,"mat-progress-bar",27)}function cr(e,t){1&e&&(o.TgZ(0,"th",28),o._uU(1,"Amount (Sats)"),o.qZA())}function ur(e,t){if(1&e&&(o.TgZ(0,"span",33),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",o.lcZ(2,1,null==e?null:e.amount)," ")}}function pr(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,ur,3,3,"span",32),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function dr(e,t){if(1&e&&(o.TgZ(0,"td",29),o.TgZ(1,"span",30),o._uU(2),o.qZA(),o.YNc(3,pr,2,1,"span",31),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" Active HTLCs: ",null==e||null==e.pending_htlcs?null:e.pending_htlcs.length," "),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function hr(e,t){1&e&&(o.TgZ(0,"th",28),o._uU(1,"Alias/Incoming"),o.qZA())}function mr(e,t){if(1&e&&(o.TgZ(0,"span",30),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null!=e&&e.incoming?"Yes":"No"," ")}}function gr(e,t){if(1&e&&(o.ynx(0),o.YNc(1,mr,2,1,"span",34),o.BQk()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function fr(e,t){if(1&e&&(o.TgZ(0,"td",29),o.TgZ(1,"span",30),o._uU(2),o.qZA(),o.YNc(3,gr,2,1,"ng-container",31),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(null==e?null:e.remote_alias),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function xr(e,t){1&e&&(o.TgZ(0,"th",35),o.TgZ(1,"span",36),o._uU(2,"Expiration Height"),o.qZA(),o.qZA())}function Zr(e,t){if(1&e&&(o.TgZ(0,"span",36),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",o.xi3(2,1,null==e?null:e.expiration_height,"1.0-0")," ")}}function yr(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,Zr,3,4,"span",37),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Ar(e,t){if(1&e&&(o.TgZ(0,"td",29),o.TgZ(1,"span",36),o._uU(2),o.qZA(),o.YNc(3,yr,2,1,"span",31),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(" "),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function Cr(e,t){1&e&&(o.TgZ(0,"th",38),o.TgZ(1,"span",36),o._uU(2,"Hash Lock"),o.qZA(),o.qZA())}function Tr(e,t){if(1&e&&(o.TgZ(0,"span",36),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null==e?null:e.hash_lock," ")}}function br(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,Tr,2,1,"span",37),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function wr(e,t){if(1&e&&(o.TgZ(0,"td",39),o.TgZ(1,"span",36),o._uU(2),o.qZA(),o.YNc(3,br,2,1,"span",31),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(" "),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function _r(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",40),o.TgZ(1,"div",41),o.TgZ(2,"mat-select",42),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",43),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function vr(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",45),o.TgZ(1,"button",48),o.NdJ("click",function(){const t=o.CHM(e).$implicit,n=o.oxw(2).$implicit;return o.oxw().onHTLCClick(t,n)}),o._uU(2),o.qZA(),o.qZA()}if(2&e){const e=t.index;o.xp6(2),o.hij("View ",e+1,"")}}function qr(e,t){if(1&e&&(o.TgZ(0,"div"),o.YNc(1,vr,3,1,"div",47),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Sr(e,t){if(1&e&&(o.TgZ(0,"td",44),o.TgZ(1,"span",45),o.TgZ(2,"button",46),o.NdJ("click",function(){const e=t.$implicit;return e.is_expanded=!e.is_expanded}),o._uU(3),o.qZA(),o.qZA(),o.YNc(4,qr,2,1,"div",31),o.qZA()),2&e){const e=t.$implicit;o.xp6(3),o.Oqu(e.is_expanded?"Hide":"Show"),o.xp6(1),o.Q6J("ngIf",e.is_expanded)}}function Fr(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No active htlc available."),o.qZA())}function Lr(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting active htlcs..."),o.qZA())}function kr(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function Nr(e,t){if(1&e&&(o.TgZ(0,"td",49),o.YNc(1,Fr,2,0,"p",31),o.YNc(2,Lr,2,0,"p",31),o.YNc(3,kr,2,1,"p",31),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.ERROR)}}const Ur=function(e){return{"display-none":e}};function Ir(e,t){if(1&e&&o._UZ(0,"tr",50),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,Ur,(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Or(e,t){1&e&&o._UZ(0,"tr",51)}function Jr(e,t){1&e&&o._UZ(0,"tr",52)}const Dr=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Rr=function(){return["no_channel"]};let Mr=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.channelsJSONArr=[],this.displayedColumns=[],this.htlcColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["amount","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["amount","incoming","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["amount","incoming","expiration_height","actions"]):(this.flgSticky=!0,this.displayedColumns=["amount","incoming","expiration_height","hash_lock","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchAllChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchAllChannels.message?JSON.stringify(this.apisCallStatus.FetchAllChannels.message):this.apisCallStatus.FetchAllChannels.message),this.channelsJSONArr=e.allChannels&&e.allChannels.length>0?e.allChannels.filter(e=>e.pending_htlcs&&e.pending_htlcs.length>0):[],this.loadHTLCsTable(this.channelsJSONArr),this.logger.info(e)})}ngAfterViewInit(){this.loadHTLCsTable(this.channelsJSONArr)}onHTLCClick(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"HTLC Information",message:[[{key:"remote_alias",value:t.remote_alias,title:"Alias",width:100,type:f.Gi.STRING}],[{key:"amount",value:e.amount,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER},{key:"incoming",value:e.incoming?"Yes":"No",title:"Incoming",width:50,type:f.Gi.STRING}],[{key:"expiration_height",value:e.expiration_height,title:"Expiration Height",width:50,type:f.Gi.NUMBER},{key:"hash_lock",value:e.hash_lock,title:"Hash Lock",width:50,type:f.Gi.STRING}]]}}))}onChannelClick(e,t){this.store.dispatch(new ee.wu({data:{channel:e,showCopy:!0,component:Si}}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadHTLCsTable(e){this.channels=new Ze.by(e?[...e]:[]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>{switch(t){case"amount":return this.commonService.sortByKey(e.pending_htlcs,t,"number",this.sort.direction),e.pending_htlcs&&e.pending_htlcs.length?e.pending_htlcs.length:null;case"incoming":return this.commonService.sortByKey(e.pending_htlcs,t,"boolean",this.sort.direction),e.remote_alias?e.remote_alias:e.remote_pubkey?e.remote_pubkey:null;case"expiration_height":case"hash_lock":return this.commonService.sortByKey(e.pending_htlcs,t,"number",this.sort.direction),e;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.channels.paginator=this.paginator,this.channels.filterPredicate=(e,t)=>((e.remote_alias?e.remote_alias.toLowerCase():"")+e.pending_htlcs.map(e=>JSON.stringify(e)+(e.incoming?"yes":"no"))).includes(t)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.flattenHTLCs(),"ActiveHTLCs")}flattenHTLCs(){return JSON.parse(JSON.stringify(this.channels.data)).reduce((e,t)=>e.concat(t.pending_htlcs?t.pending_htlcs:t),[])}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-active-htlcs-table"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("HTLCs")}])],decls:30,vars:13,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","incoming"],["matColumnDef","expiration_height"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","hash_lock"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pl-3 htlc-row-span",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-2",4,"matHeaderCellDef"],["mat-cell","","class","px-2",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayoutAlign","start center",1,"htlc-row-span"],[4,"ngIf"],["fxLayoutAlign","start center","class","htlc-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"htlc-row-span","pl-3"],["fxLayoutAlign","start center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",1,"htlc-row-span"],["fxLayoutAlign","end center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pl-3","htlc-row-span"],["mat-cell","",1,"pl-3"],["mat-header-cell","",1,"px-2"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","",1,"px-2"],["fxLayoutAlign","end center"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-htlc-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-htlc-info",3,"click"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"div",2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"input",4),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.YNc(6,rr,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,cr,2,0,"th",10),o.YNc(11,dr,4,2,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,hr,2,0,"th",10),o.YNc(14,fr,4,2,"td",11),o.BQk(),o.ynx(15,13),o.YNc(16,xr,3,0,"th",14),o.YNc(17,Ar,4,2,"td",11),o.BQk(),o.ynx(18,15),o.YNc(19,Cr,3,0,"th",16),o.YNc(20,wr,4,2,"td",17),o.BQk(),o.ynx(21,18),o.YNc(22,_r,6,0,"th",19),o.YNc(23,Sr,5,2,"td",20),o.BQk(),o.ynx(24,21),o.YNc(25,Nr,4,3,"td",22),o.BQk(),o.YNc(26,Ir,1,3,"tr",23),o.YNc(27,Or,1,0,"tr",24),o.YNc(28,Jr,1,0,"tr",25),o.qZA(),o.qZA(),o._UZ(29,"mat-paginator",26),o.qZA()),2&e&&(o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchAllChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.channels)("ngClass",o.VKq(10,Dr,""!==t.errorMessage)),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(12,Rr)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.sg,we.gD,we.$L,ve.ey,q.lW,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-amount[_ngcontent-%COMP%], .mat-column-expiration_height[_ngcontent-%COMP%]{flex:0 0 30%;width:30%}.mat-column-hash_lock[_ngcontent-%COMP%], .mat-column-incoming[_ngcontent-%COMP%]{flex:0 0 25%;width:25%;text-overflow:ellipsis}.htlc-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .btn-htlc-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-actions[_ngcontent-%COMP%] .btn-htlc-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}"]}),e})();function Er(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Wallet password is required."),o.qZA())}let Qr=(()=>{class e{constructor(e){this.store=e,this.walletPassword=""}ngOnInit(){this.walletPassword=""}onUnlockWallet(){if(!this.walletPassword)return!0;this.store.dispatch(new x.l8({pwd:window.btoa(this.walletPassword)}))}resetData(){this.walletPassword=""}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-unlock-wallet"]],decls:12,vars:2,consts:[["fxLayout","column",1,"padding-gap","mb-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","type","password","placeholder","Password","name","walletPassword","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","3",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1),o.TgZ(2,"mat-form-field",2),o.TgZ(3,"input",3),o.NdJ("ngModelChange",function(e){return t.walletPassword=e}),o.qZA(),o.TgZ(4,"mat-hint"),o._uU(5,"Enter Wallet Password"),o.qZA(),o.YNc(6,Er,2,0,"mat-error",4),o.qZA(),o.TgZ(7,"div",5),o.TgZ(8,"button",6),o.NdJ("click",function(){return t.resetData()}),o._uU(9,"Clear Field"),o.qZA(),o.TgZ(10,"button",7),o.NdJ("click",function(){return t.onUnlockWallet()}),o._uU(11,"Unlock Wallet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(3),o.Q6J("ngModel",t.walletPassword),o.xp6(3),o.Q6J("ngIf",!t.walletPassword))},directives:[l.xw,Ae._Y,Ae.JL,Ae.F,l.Wh,D.KE,l.yH,Ce.Nt,Ae.Fj,Te.h,Ae.Q7,Ae.JJ,Ae.On,D.bx,a.O5,q.lW,D.TO],styles:[""]}),e})();var Yr=n(8544);function Pr(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div"),o.TgZ(1,"form",4),o.TgZ(2,"div",5),o._uU(3,"Warning: Your connection is unsecure, it's not safe to generate private keys over this connection.Are you sure you want to proceed?"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"button",7),o.NdJ("click",function(){o.CHM(e);const t=o.oxw();return t.proceed=!1,t.warnRes=!0}),o._uU(6,"Do Not Proceed"),o.qZA(),o.TgZ(7,"button",8),o.NdJ("click",function(){o.CHM(e);const t=o.oxw();return t.proceed=!0,t.warnRes=!0}),o._uU(8,"Proceed"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Br(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",9),o.TgZ(1,"div",10),o._uU(2,"Please re-configure & re-start RTL after securing your LND connction. You can close this window now."),o.qZA(),o.TgZ(3,"div",6),o.TgZ(4,"button",11),o.NdJ("click",function(){return o.CHM(e),o.oxw().warnRes=!1}),o._uU(5,"Go Back"),o.qZA(),o.qZA(),o.qZA()}}function Gr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Password is required."),o.qZA())}function Hr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Password must be at least 8 characters in length."),o.qZA())}function zr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Confirm password is required."),o.qZA())}function Vr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Confirm password must be at least 8 characters in length."),o.qZA())}function Wr(e,t){1&e&&(o.TgZ(0,"div",41),o.TgZ(1,"mat-icon",42),o._uU(2,"cancel"),o.qZA(),o._uU(3,"Passwords do not match. "),o.qZA())}function Xr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Cipher seed is required."),o.qZA())}function $r(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Invalid Cipher. Enter comma separated 24 words cipher seed."),o.qZA())}function jr(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Passphrase is required."),o.qZA())}function Kr(e,t){1&e&&(o.TgZ(0,"mat-icon"),o._uU(1,"vpn_key"),o.qZA())}function ec(e,t){1&e&&(o.TgZ(0,"mat-icon"),o._uU(1,"swap_calls"),o.qZA())}function tc(e,t){1&e&&(o.TgZ(0,"mat-icon"),o._uU(1,"fingerprint"),o.qZA())}function nc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-vertical-stepper",12,13),o.TgZ(2,"mat-step",14),o.TgZ(3,"form",15),o.TgZ(4,"mat-form-field",16),o._UZ(5,"input",17),o.TgZ(6,"mat-hint"),o._uU(7,"Enter Wallet Password"),o.qZA(),o.YNc(8,Gr,2,0,"mat-error",1),o.YNc(9,Hr,2,0,"mat-error",1),o.qZA(),o.TgZ(10,"mat-form-field",16),o._UZ(11,"input",18),o.TgZ(12,"mat-hint"),o._uU(13,"Confirm Wallet Password"),o.qZA(),o.YNc(14,zr,2,0,"mat-error",1),o.YNc(15,Vr,2,0,"mat-error",1),o.qZA(),o.YNc(16,Wr,4,0,"div",19),o.TgZ(17,"div",20),o.TgZ(18,"button",21),o._uU(19,"Next"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(20,"mat-step",22),o.TgZ(21,"form",23),o.TgZ(22,"div",24),o.TgZ(23,"mat-slide-toggle",25),o._uU(24,"Existing Cipher"),o.qZA(),o.TgZ(25,"mat-form-field",26),o._UZ(26,"input",27),o.TgZ(27,"mat-hint"),o._uU(28,"Cipher Seed"),o.qZA(),o.YNc(29,Xr,2,0,"mat-error",1),o.YNc(30,$r,2,0,"mat-error",1),o.qZA(),o.qZA(),o.TgZ(31,"div",28),o.TgZ(32,"button",29),o._uU(33,"Back"),o.qZA(),o.TgZ(34,"button",30),o._uU(35,"Next"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(36,"mat-step",31),o.TgZ(37,"form",23),o.TgZ(38,"div",24),o.TgZ(39,"mat-slide-toggle",32),o._uU(40,"Existing Passphrase"),o.qZA(),o.TgZ(41,"mat-form-field",33),o._UZ(42,"input",34),o.TgZ(43,"mat-hint"),o._uU(44,"Enter Passphrase"),o.qZA(),o.YNc(45,jr,2,0,"mat-error",1),o.qZA(),o.qZA(),o.TgZ(46,"div",28),o.TgZ(47,"button",35),o.NdJ("click",function(){return o.CHM(e),o.oxw().resetData()}),o._uU(48,"Clear"),o.qZA(),o.TgZ(49,"button",36),o._uU(50,"Back"),o.qZA(),o.TgZ(51,"button",37),o.NdJ("click",function(){return o.CHM(e),o.oxw().onInitWallet()}),o._uU(52,"Initialize Wallet"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.YNc(53,Kr,2,0,"ng-template",38),o.YNc(54,ec,2,0,"ng-template",39),o.YNc(55,tc,2,0,"ng-template",40),o.qZA()}if(2&e){const e=o.oxw();o.Q6J("linear",!0),o.xp6(2),o.Q6J("stepControl",e.passwordFormGroup),o.xp6(1),o.Q6J("formGroup",e.passwordFormGroup),o.xp6(5),o.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletPassword.errors?null:e.passwordFormGroup.controls.initWalletPassword.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletPassword.errors?null:e.passwordFormGroup.controls.initWalletPassword.errors.minlength),o.xp6(5),o.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletConfirmPassword.errors?null:e.passwordFormGroup.controls.initWalletConfirmPassword.errors.required),o.xp6(1),o.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletConfirmPassword.errors?null:e.passwordFormGroup.controls.initWalletConfirmPassword.errors.minlength),o.xp6(1),o.Q6J("ngIf",(null==e.passwordFormGroup.errors?null:e.passwordFormGroup.errors.unmatchedPasswords)&&(e.passwordFormGroup.controls.initWalletPassword.touched||e.passwordFormGroup.controls.initWalletPassword.dirty)&&(e.passwordFormGroup.controls.initWalletConfirmPassword.touched||e.passwordFormGroup.controls.initWalletConfirmPassword.dirty)),o.xp6(4),o.Q6J("stepControl",e.cipherFormGroup),o.xp6(1),o.Q6J("formGroup",e.cipherFormGroup),o.xp6(2),o.Q6J("labelPosition","before"),o.xp6(6),o.Q6J("ngIf",null==e.cipherFormGroup.controls.cipherSeed.errors?null:e.cipherFormGroup.controls.cipherSeed.errors.required),o.xp6(1),o.Q6J("ngIf",!(null!=e.cipherFormGroup.controls.cipherSeed.errors&&e.cipherFormGroup.controls.cipherSeed.errors.required)&&(null==e.cipherFormGroup.controls.cipherSeed.errors?null:e.cipherFormGroup.controls.cipherSeed.errors.invalidCipher)),o.xp6(6),o.Q6J("stepControl",e.passphraseFormGroup),o.xp6(1),o.Q6J("formGroup",e.passphraseFormGroup),o.xp6(2),o.Q6J("labelPosition","before"),o.xp6(6),o.Q6J("ngIf",null==e.passphraseFormGroup.controls.passphrase.errors?null:e.passphraseFormGroup.controls.passphrase.errors.required)}}function ac(e,t){if(1&e&&(o.TgZ(0,"span",48),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(e)}}function ic(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div"),o.TgZ(1,"form",4),o.TgZ(2,"div",43),o._uU(3,"YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!"),o.qZA(),o.TgZ(4,"div",44),o.YNc(5,ac,2,1,"span",45),o.qZA(),o.TgZ(6,"div",46),o._uU(7,"Wallet initialization is done."),o.qZA(),o.TgZ(8,"div",46),o._uU(9,"The node will be usable only after LND has synced completely with the network."),o.qZA(),o.TgZ(10,"div",46),o._uU(11,"Click continue only after writing down the seed."),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"button",47),o.NdJ("click",function(){return o.CHM(e),o.oxw().onGoToHome()}),o._uU(14,"Go To Home"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(5),o.Q6J("ngForOf",e.genSeedResponse)}}function sc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div"),o.TgZ(1,"form",4),o.TgZ(2,"div",46),o._uU(3,"Something went wrong! Unable to initialize wallet!"),o.qZA(),o.TgZ(4,"div",6),o.TgZ(5,"button",49),o.NdJ("click",function(){return o.CHM(e),o.oxw().resetData()}),o._uU(6,"Restart"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function oc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div"),o.TgZ(1,"form",4),o.TgZ(2,"div",46),o._uU(3,"Wallet recovery is done."),o.qZA(),o.TgZ(4,"div",46),o._uU(5,"The node will be usable only after LND has synced completely with the network."),o.qZA(),o.TgZ(6,"div",6),o.TgZ(7,"button",50),o.NdJ("click",function(){return o.CHM(e),o.oxw().onGoToHome()}),o._uU(8,"Go To Home"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}const lc=e=>{const t=e.get("initWalletPassword"),n=e.get("initWalletConfirmPassword");return t&&n&&t.value!==n.value?{unmatchedPasswords:!0}:null},rc=e=>{const t=e.value?e.value.toString().trim().split(","):[];return t&&24!==t.length?{invalidCipher:!0}:null};let cc=(()=>{class e{constructor(e,t,n){this.store=e,this.formBuilder=t,this.lndEffects=n,this.insecureLND=!1,this.genSeedResponse=[],this.initWalletResponse="",this.proceed=!0,this.warnRes=!1,this.unsubs=[new p.x,new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.passwordFormGroup=this.formBuilder.group({initWalletPassword:["",[Ae.kI.required,Ae.kI.minLength(8)]],initWalletConfirmPassword:["",[Ae.kI.required,Ae.kI.minLength(8)]]},{validators:lc}),this.cipherFormGroup=this.formBuilder.group({existingCipher:[!1],cipherSeed:[{value:"",disabled:!0},[rc]]}),this.passphraseFormGroup=this.formBuilder.group({enterPassphrase:[!1],passphrase:[{value:"",disabled:!0}]}),this.cipherFormGroup.controls.existingCipher.valueChanges.pipe((0,d.R)(this.unsubs[0])).subscribe(e=>{e?(this.cipherFormGroup.controls.cipherSeed.setValue(""),this.cipherFormGroup.controls.cipherSeed.enable()):(this.cipherFormGroup.controls.cipherSeed.setValue(""),this.cipherFormGroup.controls.cipherSeed.disable())}),this.passphraseFormGroup.controls.enterPassphrase.valueChanges.pipe((0,d.R)(this.unsubs[1])).subscribe(e=>{e?(this.passphraseFormGroup.controls.passphrase.setValue(""),this.passphraseFormGroup.controls.passphrase.enable()):(this.passphraseFormGroup.controls.passphrase.setValue(""),this.passphraseFormGroup.controls.passphrase.disable())}),this.insecureLND=!window.location.protocol.includes("https:"),this.lndEffects.initWalletRes.pipe((0,d.R)(this.unsubs[2])).subscribe(e=>{this.initWalletResponse=e}),this.lndEffects.genSeedResponse.pipe((0,d.R)(this.unsubs[3])).subscribe(e=>{this.genSeedResponse=e,this.store.dispatch(new x.My(this.passphraseFormGroup.controls.enterPassphrase.value?{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:this.genSeedResponse,passphrase:window.btoa(this.passphraseFormGroup.controls.passphrase.value)}:{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:this.genSeedResponse}))})}onInitWallet(){if(this.passwordFormGroup.invalid||this.cipherFormGroup.invalid||this.passphraseFormGroup.invalid)return!0;if(this.cipherFormGroup.controls.existingCipher.value){const e=this.cipherFormGroup.controls.cipherSeed.value.toString().trim().split(",");this.store.dispatch(new x.My(this.passphraseFormGroup.controls.enterPassphrase.value?{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:e,passphrase:window.btoa(this.passphraseFormGroup.controls.passphrase.value)}:{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:e}))}else this.store.dispatch(new x.$b(this.passphraseFormGroup.controls.enterPassphrase.value?window.btoa(this.passphraseFormGroup.controls.passphrase.value):""))}onGoToHome(){setTimeout(()=>{this.store.dispatch(new ee.uQ),this.store.dispatch(new x.z6({loadPage:"HOME"}))},1e3)}resetData(){this.genSeedResponse=[],this.initWalletResponse=""}ngOnDestroy(){this.unsubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(Ae.qu),o.Y36(Ft.l))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-initialize-wallet"]],viewQuery:function(e,t){if(1&e&&o.Gf(La.Vq,5),2&e){let e;o.iGM(e=o.CRH())&&(t.stepper=e.first)}},features:[o._Bn([{provide:Yr.gx,useValue:{displayDefaultIndicatorType:!1}}])],decls:7,vars:6,consts:[["fxLayout","column",1,"padding-gap","mb-4"],[4,"ngIf"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","stretch stretch",4,"ngIf"],[3,"linear",4,"ngIf"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","1","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","2",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","stretch stretch"],["fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",3,"click"],[3,"linear"],["stepper",""],["label","Wallet Password","state","password",3,"stepControl"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mt-1",3,"formGroup"],["fxFlex","49","fxLayoutAlign","start"],["matInput","","type","password","placeholder","Password","name","initWalletPassword","formControlName","initWalletPassword","tabindex","5","required",""],["matInput","","type","password","placeholder","Confirm Password","name","initWalletConfirmPassword","formControlName","initWalletConfirmPassword","tabindex","6","required",""],["class","validation-error-message",4,"ngIf"],["fxLayout","row",1,"my-2"],["mat-flat-button","","color","primary","tabindex","7","type","submit","matStepperNext",""],["label","Cipher","state","cipher",3,"stepControl"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start",1,"mt-1",3,"formGroup"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch"],["fxFlex","20","tabindex","8","color","primary","formControlName","existingCipher","name","existingCipher",1,"chkbox-wallet",3,"labelPosition"],["fxFlex","75","fxLayoutAlign","start",1,"my-1"],["autofocus","","matInput","","type","input","placeholder","Comma separated array of 24 words cipher seed","name","cipherSeed","formControlName","cipherSeed","tabindex","9","required",""],["fxLayout","row",1,"mb-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","10","matStepperPrevious","",1,"mr-1","mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","submit","matStepperNext","",1,"mt-1"],["label","Passphrase","state","passphrase",3,"stepControl"],["fxFlex","20","tabindex","10","color","primary","formControlName","enterPassphrase","name","enterPassphrase",1,"chkbox-wallet",3,"labelPosition"],["fxFlex","75","fxLayoutAlign","start"],["matInput","","type","password","placeholder","Passphrase","name","passphrase","formControlName","passphrase","tabindex","12","required",""],["mat-stroked-button","","color","warn","tabindex","13","type","reset",1,"mr-1","mt-1",3,"click"],["mat-stroked-button","","tabindex","14","color","primary","type","button","matStepperPrevious","",1,"mr-1","mt-1"],["mat-flat-button","","color","primary","tabindex","15","type","submit",1,"mt-1",3,"click"],["matStepperIcon","password"],["matStepperIcon","cipher"],["matStepperIcon","passphrase"],[1,"validation-error-message"],[1,"validation-error-icon","red"],["fxFlex","100","fxLayoutAlign","start",1,"blinker"],["fxFlex","40","fxLayout","row wrap",1,"mt-2"],["fxFlex","25","fxLayoutAlign","start","class","genseed-message",4,"ngFor","ngForOf"],["fxFlex","100","fxLayoutAlign","start",1,"mt-2"],["mat-flat-button","","color","primary","type","submit","tabindex","16",3,"click"],["fxFlex","25","fxLayoutAlign","start",1,"genseed-message"],["mat-stroked-button","","color","primary","tabindex","17","type","reset",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","18",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,Pr,9,0,"div",1),o.YNc(2,Br,6,0,"div",2),o.YNc(3,nc,56,17,"mat-vertical-stepper",3),o.YNc(4,ic,15,1,"div",1),o.YNc(5,sc,7,0,"div",1),o.YNc(6,oc,9,0,"div",1),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf",t.insecureLND&&!t.warnRes),o.xp6(1),o.Q6J("ngIf",t.warnRes&&!t.proceed),o.xp6(1),o.Q6J("ngIf",(!t.insecureLND||t.warnRes&&t.proceed)&&t.genSeedResponse.length<=0&&""===t.initWalletResponse),o.xp6(1),o.Q6J("ngIf",t.genSeedResponse.length>0&&""!==t.initWalletResponse),o.xp6(1),o.Q6J("ngIf",t.genSeedResponse.length>0&&""===t.initWalletResponse),o.xp6(1),o.Q6J("ngIf",t.genSeedResponse.length<=0&&""!==t.initWalletResponse))},directives:[l.xw,a.O5,Ae._Y,Ae.JL,Ae.F,l.Wh,l.yH,q.lW,La.Vq,La.C0,Ae.sg,D.KE,Ce.Nt,Ae.Fj,Ae.JJ,Ae.u,Ae.Q7,D.bx,La.Ic,_e.Rr,La.fd,La.z9,D.TO,S.Hw,a.sg],styles:[""]}),e})(),uc=(()=>{class e{constructor(){this.faWallet=g.X5K}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-wallet"]],decls:12,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["label","Unlock"],["label","Initialize"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Wallet"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"mat-tab-group"),o.TgZ(8,"mat-tab",5),o._UZ(9,"rtl-unlock-wallet"),o.qZA(),o.TgZ(10,"mat-tab",6),o._UZ(11,"rtl-initialize-wallet"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faWallet))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,ge.SP,ge.uX,Qr,cc],styles:[""]}),e})();function pc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",11),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.s9C("routerLink",e.link),o.Q6J("active",n.activeLink===e.link),o.xp6(1),o.Oqu(e.name)}}let dc=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.router=n,this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link}),this.store.select("lnd").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.currencyUnits=e.nodeSettings.currencyUnits,this.balances=e.nodeSettings.userPersona===f.ol.OPERATOR?[{title:"Local Capacity",dataValue:e.totalLocalBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:e.totalRemoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:e.totalLocalBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:e.totalRemoteBalance,tooltip:"Amount you can receive"}],this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Lightning Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",6),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"Lightning Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",7),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",8),o.YNc(16,pc,2,3,"div",9),o.qZA(),o.TgZ(17,"div",10),o._UZ(18,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faChartPie),o.xp6(6),o.Q6J("values",t.balances),o.xp6(2),o.Q6J("icon",t.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,la.D,ge.BU,a.sg,l.yH,i.lC,ge.Nj,i.rH],styles:[""]}),e})();function hc(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Destination pubkey is required."),o.qZA())}function mc(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Amount is required."),o.qZA())}function gc(e,t){1&e&&o._UZ(0,"mat-progress-bar",37)}function fc(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1," Hop "),o.qZA())}function xc(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null==e?null:e.hop_sequence," ")}}function Zc(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1," Peer "),o.qZA())}const yc=function(e){return{"max-width":e}};function Ac(e,t){if(1&e&&(o.TgZ(0,"td",40),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,yc,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.hij(" ",null==e?null:e.pubkey_alias," ")}}function Cc(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1," Channel "),o.qZA())}function Tc(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null==e?null:e.chan_id," ")}}function bc(e,t){1&e&&(o.TgZ(0,"th",41),o._uU(1," Capacity (Sats) "),o.qZA())}function wc(e,t){if(1&e&&(o.TgZ(0,"td",39),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.chan_capacity),"")}}function _c(e,t){1&e&&(o.TgZ(0,"th",41),o._uU(1," Amount To Fwd (Sats) "),o.qZA())}function vc(e,t){if(1&e&&(o.TgZ(0,"td",39),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.amt_to_forward)," ")}}function qc(e,t){1&e&&(o.TgZ(0,"th",41),o._uU(1," Fee (mSats) "),o.qZA())}function Sc(e,t){if(1&e&&(o.TgZ(0,"td",39),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.fee_msat)," ")}}function Fc(e,t){1&e&&(o.TgZ(0,"th",43),o.TgZ(1,"span",42),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Lc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",44),o.TgZ(1,"button",45),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw().onHopClick(n,t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function kc(e,t){1&e&&o._UZ(0,"tr",46)}function Nc(e,t){1&e&&o._UZ(0,"tr",47)}const Uc=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}};let Ic=(()=>{class e{constructor(e,t,n){this.store=e,this.lndEffects=t,this.commonService=n,this.destinationPubkey="",this.amount=null,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=g.FpQ,this.faExclamationTriangle=g.eHv,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["pubkey_alias","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["hop_sequence","pubkey_alias","fee_msat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat","actions"]):(this.flgSticky=!0,this.displayedColumns=["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat","actions"])}ngOnInit(){this.lndEffects.setQueryRoutes.pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.qrHops=new Ze.by([]),e.routes&&e.routes[0].hops?(this.flgLoading[0]=!1,this.qrHops=new Ze.by([...e.routes[0].hops]),this.qrHops.data=e.routes[0].hops):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null})}onQueryRoutes(){if(!this.destinationPubkey||!this.amount)return!0;this.qrHops=new Ze.by([]),this.flgLoading[0]=!0,this.store.dispatch(new x.bm({destPubkey:this.destinationPubkey,amount:this.amount}))}resetData(){this.destinationPubkey="",this.amount=null,this.flgLoading[0]=!1}onHopClick(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"hop_sequence",value:e.hop_sequence,title:"Sequence",width:30,type:f.Gi.NUMBER},{key:"amt_to_forward",value:e.amt_to_forward,title:"Amount To Forward (Sats)",width:30,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:40,type:f.Gi.NUMBER}],[{key:"pubkey_alias",value:e.pubkey_alias,title:"Peer Alias",width:30,type:f.Gi.STRING},{key:"pub_key",value:e.pub_key,title:"Peer Pubkey",width:70,type:f.Gi.STRING}],[{key:"expiry",value:e.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"chan_id",value:e.chan_id,title:"Channel ID",width:30,type:f.Gi.STRING},{key:"chan_capacity",value:e.chan_capacity,title:"Channel Capacity",width:40,type:f.Gi.NUMBER}]]}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(Ft.l),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-query-routes"]],viewQuery:function(e,t){if(1&e&&o.Gf(xe.YE,5),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first)}},decls:51,vars:16,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Pubkey","name","destinationPubkey","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-3","mb-1"],["fxFlex","70","fxLayoutAlign","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","hop_sequence"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","pubkey_alias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","chan_id"],["matColumnDef","chan_capacity"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_to_forward_msat"],["matColumnDef","fee_msat"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-4","pr-3"],["mat-cell","",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.NdJ("ngSubmit",function(){return o.CHM(e),o.MAs(2).form.valid&&t.onQueryRoutes()}),o.TgZ(3,"div",3),o._UZ(4,"fa-icon",4),o.TgZ(5,"span"),o._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),o.qZA(),o.qZA(),o.TgZ(7,"mat-form-field",5),o.TgZ(8,"input",6,7),o.NdJ("ngModelChange",function(e){return t.destinationPubkey=e}),o.qZA(),o.YNc(10,hc,2,0,"mat-error",8),o.qZA(),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(e){return t.amount=e}),o.qZA(),o.YNc(13,mc,2,0,"mat-error",8),o.qZA(),o.TgZ(14,"div",11),o.TgZ(15,"button",12),o.NdJ("click",function(){return t.resetData()}),o._uU(16,"Clear"),o.qZA(),o.TgZ(17,"button",13),o._uU(18,"Query Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(19,"div",14),o.TgZ(20,"div",15),o._UZ(21,"fa-icon",16),o.TgZ(22,"span",17),o._uU(23,"Transaction Route"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(24,"div",18),o.YNc(25,gc,1,0,"mat-progress-bar",19),o.TgZ(26,"table",20,21),o.ynx(28,22),o.YNc(29,fc,2,0,"th",23),o.YNc(30,xc,2,1,"td",24),o.BQk(),o.ynx(31,25),o.YNc(32,Zc,2,0,"th",23),o.YNc(33,Ac,2,4,"td",26),o.BQk(),o.ynx(34,27),o.YNc(35,Cc,2,0,"th",23),o.YNc(36,Tc,2,1,"td",24),o.BQk(),o.ynx(37,28),o.YNc(38,bc,2,0,"th",29),o.YNc(39,wc,4,3,"td",24),o.BQk(),o.ynx(40,30),o.YNc(41,_c,2,0,"th",29),o.YNc(42,vc,4,3,"td",24),o.BQk(),o.ynx(43,31),o.YNc(44,qc,2,0,"th",29),o.YNc(45,Sc,4,3,"td",24),o.BQk(),o.ynx(46,32),o.YNc(47,Fc,3,0,"th",33),o.YNc(48,Lc,3,0,"td",34),o.BQk(),o.YNc(49,kc,1,0,"tr",35),o.YNc(50,Nc,1,0,"tr",36),o.qZA(),o.qZA(),o.qZA()}2&e&&(o.xp6(4),o.Q6J("icon",t.faExclamationTriangle),o.xp6(4),o.Q6J("ngModel",t.destinationPubkey),o.xp6(2),o.Q6J("ngIf",!t.destinationPubkey),o.xp6(2),o.Q6J("ngModel",t.amount)("step",1e3)("min",0),o.xp6(1),o.Q6J("ngIf",!t.amount),o.xp6(8),o.Q6J("icon",t.faRoute),o.xp6(4),o.Q6J("ngIf",!0===t.flgLoading[0]),o.xp6(1),o.Q6J("dataSource",t.qrHops)("ngClass",o.VKq(14,Uc,"error"===t.flgLoading[0])),o.xp6(23),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns))},directives:[l.xw,l.yH,Ae._Y,Ae.JL,Ae.F,l.Wh,T.BN,D.KE,Ce.Nt,Ae.Fj,Ae.Q7,Ae.JJ,Ae.On,a.O5,Ae.wV,Ae.qQ,be.q,q.lW,E.$V,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.as,Ze.nj,D.TO,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var Oc=n(4810);function Jc(e,t){1&e&&(o.TgZ(0,"th",25),o._uU(1,"Network"),o.qZA())}function Dc(e,t){if(1&e&&(o.TgZ(0,"td",26),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null==e?null:e.network," ")}}function Rc(e,t){1&e&&(o.TgZ(0,"th",25),o._uU(1,"Address"),o.qZA())}function Mc(e,t){if(1&e&&(o.TgZ(0,"td",26),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.hij(" ",null==e?null:e.addr," ")}}function Ec(e,t){1&e&&(o.TgZ(0,"th",27),o.TgZ(1,"span",28),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Qc(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",29),o.TgZ(1,"span",28),o.TgZ(2,"button",30),o.NdJ("copied",function(t){return o.CHM(e),o.oxw(2).onCopyNodeURI(t)}),o._uU(3,"Copy Node URI"),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw(2);o.xp6(2),o.Q6J("payload",n.lookupResult.node.pub_key+"@"+e.addr)}}function Yc(e,t){1&e&&o._UZ(0,"tr",31)}function Pc(e,t){1&e&&o._UZ(0,"tr",32)}const Bc=function(e){return{"background-color":e}};function Gc(e,t){if(1&e&&(o.TgZ(0,"div",1),o._UZ(1,"mat-divider",2),o.TgZ(2,"div",3),o.TgZ(3,"h4",4),o._uU(4,"Pub Key"),o.qZA(),o.TgZ(5,"span",5),o._uU(6),o.qZA(),o.qZA(),o._UZ(7,"mat-divider",6),o.TgZ(8,"div",7),o.TgZ(9,"div",8),o.TgZ(10,"h4",4),o._uU(11,"Alias"),o.qZA(),o.TgZ(12,"span",9),o._uU(13),o.TgZ(14,"span",10),o._uU(15),o.qZA(),o.qZA(),o.qZA(),o.TgZ(16,"div",8),o.TgZ(17,"h4",4),o._uU(18,"Last Update"),o.qZA(),o.TgZ(19,"span",9),o._uU(20),o.ALo(21,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",6),o.TgZ(23,"div",7),o.TgZ(24,"div",8),o.TgZ(25,"h4",4),o._uU(26,"Total Capacity (Sats)"),o.qZA(),o.TgZ(27,"span",9),o._uU(28),o.ALo(29,"number"),o.qZA(),o.qZA(),o.TgZ(30,"div",8),o.TgZ(31,"h4",4),o._uU(32,"Number of Channels"),o.qZA(),o.TgZ(33,"span",9),o._uU(34),o.ALo(35,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(36,"mat-divider",6),o.TgZ(37,"div",11),o.TgZ(38,"h4",12),o._uU(39,"Addresses"),o.qZA(),o.TgZ(40,"div",13),o.TgZ(41,"table",14,15),o.ynx(43,16),o.YNc(44,Jc,2,0,"th",17),o.YNc(45,Dc,2,1,"td",18),o.BQk(),o.ynx(46,19),o.YNc(47,Rc,2,0,"th",17),o.YNc(48,Mc,2,1,"td",18),o.BQk(),o.ynx(49,20),o.YNc(50,Ec,3,0,"th",21),o.YNc(51,Qc,4,1,"td",22),o.BQk(),o.YNc(52,Yc,1,0,"tr",23),o.YNc(53,Pc,1,0,"tr",24),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.lookupResult.node.pub_key),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.lookupResult.node.alias),o.xp6(1),o.Q6J("ngStyle",o.VKq(21,Bc,null==e.lookupResult.node?null:e.lookupResult.node.color)),o.xp6(1),o.Oqu(null==e.lookupResult.node?null:e.lookupResult.node.color),o.xp6(5),o.Oqu(o.xi3(21,14,1e3*e.lookupResult.node.last_update,"dd/MMM/YYYY HH:mm")),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.lcZ(29,17,e.lookupResult.total_capacity)),o.xp6(6),o.Oqu(o.lcZ(35,19,e.lookupResult.num_channels)),o.xp6(2),o.Q6J("inset",!0),o.xp6(5),o.Q6J("dataSource",e.lookupResult.node.addresses),o.xp6(11),o.Q6J("matHeaderRowDef",e.displayedColumns),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns)}}let Hc=(()=>{class e{constructor(e,t){this.logger=e,this.snackBar=t,this.displayedColumns=["network","addr","actions"]}onCopyNodeURI(e){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(Ai.ux))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-node-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],["fxLayout","row"],["fxLayout","column","fxFlex","50","fxLayoutAlign","end start",1,"my-1"],[1,"foreground-secondary-text"],[1,"ml-2",3,"ngStyle"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",3,"dataSource"],["table",""],["matColumnDef","network"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","addr"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&o.YNc(0,Gc,54,23,"div",0),2&e&&o.Q6J("ngIf",t.lookupResult)},directives:[a.O5,l.xw,M.d,l.yH,l.Wh,a.PC,v.Zl,E.$V,Ze.BZ,xe.YE,Ze.w1,Ze.fO,Ze.Dz,Ze.as,Ze.nj,Ze.ge,xe.nU,Ze.ev,q.lW,Ci.y,Ze.XQ,Ze.Gk],pipes:[a.uU,a.JJ],styles:[""]}),e})();function zc(e,t){1&e&&(o.TgZ(0,"h3",16),o._uU(1,"Node 1"),o.qZA())}function Vc(e,t){1&e&&(o.TgZ(0,"h3",16),o._uU(1,"Node 1 (Your Node)"),o.qZA())}function Wc(e,t){1&e&&(o.TgZ(0,"h3",16),o._uU(1,"Node 2"),o.qZA())}function Xc(e,t){1&e&&(o.TgZ(0,"h3",16),o._uU(1,"Node 2 (Your Node)"),o.qZA())}function $c(e,t){if(1&e&&(o.TgZ(0,"div",1),o._UZ(1,"mat-divider",2),o.TgZ(2,"div",3),o.TgZ(3,"h4",4),o._uU(4,"Channel Id"),o.qZA(),o.TgZ(5,"span",5),o._uU(6),o.qZA(),o.qZA(),o._UZ(7,"mat-divider",6),o.TgZ(8,"div",3),o.TgZ(9,"h4",4),o._uU(10,"Channel Point"),o.qZA(),o.TgZ(11,"span",5),o._uU(12),o.qZA(),o.qZA(),o._UZ(13,"mat-divider",6),o.TgZ(14,"div",7),o.TgZ(15,"div",8),o.TgZ(16,"h4",4),o._uU(17,"Last Update"),o.qZA(),o.TgZ(18,"span",5),o._uU(19),o.ALo(20,"date"),o.qZA(),o.qZA(),o.TgZ(21,"div",8),o.TgZ(22,"h4",4),o._uU(23,"Capacity (Sats)"),o.qZA(),o.TgZ(24,"span",5),o._uU(25),o.ALo(26,"number"),o.qZA(),o.qZA(),o.qZA(),o._UZ(27,"mat-divider",6),o.TgZ(28,"div",9),o.TgZ(29,"div",10),o.TgZ(30,"div",11),o.YNc(31,zc,2,0,"h3",12),o.YNc(32,Vc,2,0,"h3",12),o.qZA(),o._UZ(33,"mat-divider",13),o.TgZ(34,"div",14),o.TgZ(35,"h4",4),o._uU(36,"Pubkey"),o.qZA(),o.TgZ(37,"span",5),o._uU(38),o.qZA(),o.qZA(),o._UZ(39,"mat-divider",13),o.TgZ(40,"div",15),o.TgZ(41,"h4",4),o._uU(42,"Time Lock Delta"),o.qZA(),o.TgZ(43,"span",5),o._uU(44),o.qZA(),o.qZA(),o._UZ(45,"mat-divider",13),o.TgZ(46,"div",15),o.TgZ(47,"h4",4),o._uU(48,"Min HTLC"),o.qZA(),o.TgZ(49,"span",5),o._uU(50),o.qZA(),o.qZA(),o._UZ(51,"mat-divider",13),o.TgZ(52,"div",15),o.TgZ(53,"h4",4),o._uU(54,"Fee Base Msat"),o.qZA(),o.TgZ(55,"span",5),o._uU(56),o.qZA(),o.qZA(),o._UZ(57,"mat-divider",13),o.TgZ(58,"div",15),o.TgZ(59,"h4",4),o._uU(60,"Fee Rate Milli Msat"),o.qZA(),o.TgZ(61,"span",5),o._uU(62),o.qZA(),o.qZA(),o._UZ(63,"mat-divider",13),o.TgZ(64,"div",15),o.TgZ(65,"h4",4),o._uU(66,"Disabled"),o.qZA(),o.TgZ(67,"span",5),o._uU(68),o.qZA(),o.qZA(),o.qZA(),o.TgZ(69,"div",10),o.TgZ(70,"div"),o.YNc(71,Wc,2,0,"h3",12),o.YNc(72,Xc,2,0,"h3",12),o.qZA(),o._UZ(73,"mat-divider",13),o.TgZ(74,"div",14),o.TgZ(75,"h4",4),o._uU(76,"Pubkey"),o.qZA(),o.TgZ(77,"span",5),o._uU(78),o.qZA(),o.qZA(),o._UZ(79,"mat-divider",13),o.TgZ(80,"div",15),o.TgZ(81,"h4",4),o._uU(82,"Time Lock Delta"),o.qZA(),o.TgZ(83,"span",5),o._uU(84),o.qZA(),o.qZA(),o._UZ(85,"mat-divider",13),o.TgZ(86,"div",15),o.TgZ(87,"h4",4),o._uU(88,"Min HTLC"),o.qZA(),o.TgZ(89,"span",5),o._uU(90),o.qZA(),o.qZA(),o._UZ(91,"mat-divider",13),o.TgZ(92,"div",15),o.TgZ(93,"h4",4),o._uU(94,"Fee Base Msat"),o.qZA(),o.TgZ(95,"span",5),o._uU(96),o.qZA(),o.qZA(),o._UZ(97,"mat-divider",13),o.TgZ(98,"div",15),o.TgZ(99,"h4",4),o._uU(100,"Fee Rate Milli Msat"),o.qZA(),o.TgZ(101,"span",5),o._uU(102),o.qZA(),o.qZA(),o._UZ(103,"mat-divider",13),o.TgZ(104,"div",15),o.TgZ(105,"h4",4),o._uU(106,"Disabled"),o.qZA(),o.TgZ(107,"span",5),o._uU(108),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.lookupResult.channel_id),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.lookupResult.chan_point),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.xi3(20,36,1e3*e.lookupResult.last_update,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.lcZ(26,39,e.lookupResult.capacity)),o.xp6(2),o.Q6J("inset",!0),o.xp6(4),o.Q6J("ngIf",!e.node1_match),o.xp6(1),o.Q6J("ngIf",e.node1_match),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.lookupResult.node1_pub),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.time_lock_delta),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.min_htlc),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.fee_base_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.fee_rate_milli_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.disabled),o.xp6(3),o.Q6J("ngIf",!e.node2_match),o.xp6(1),o.Q6J("ngIf",e.node2_match),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(e.lookupResult.node2_pub),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.time_lock_delta),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.min_htlc),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.fee_base_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.fee_rate_milli_msat),o.xp6(1),o.Q6J("inset",!0),o.xp6(5),o.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.disabled)}}let jc=(()=>{class e{constructor(e){this.store=e,this.node1_match=!1,this.node2_match=!1,this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.lookupResult.node1_pub===e.information.identity_pubkey&&(this.node1_match=!0),this.lookupResult.node2_pub===e.information.identity_pubkey&&(this.node2_match=!0)})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],[1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxLayout","row"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","50","fxLayoutAlign","end start",1,"my-1"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start",1,"mt-1","bordered-box","padding-gap-large"],["fxLayout","column"],["class","page-title font-bold-500",4,"ngIf"],[3,"inset"],["fxLayout","column","fxFlex","20",1,"my-1"],["fxLayout","column","fxFlex","10",1,"my-1"],[1,"page-title","font-bold-500"]],template:function(e,t){1&e&&o.YNc(0,$c,109,41,"div",0),2&e&&o.Q6J("ngIf",t.lookupResult)},directives:[a.O5,l.xw,M.d,l.yH,l.Wh],pipes:[a.uU,a.JJ],styles:[".mat-list-base[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%], .mat-list-base[_ngcontent-%COMP%] .mat-list-option[_ngcontent-%COMP%]{height:38px!important}"]}),e})();function Kc(e,t){if(1&e&&(o.TgZ(0,"mat-radio-button",21),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("value",e.id)("checked",n.selectedFieldId===e.id),o.xp6(1),o.hij(" ",e.name," ")}}function eu(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.hij("",null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder," is required.")}}function tu(e,t){1&e&&o._UZ(0,"mat-progress-bar",24)}const nu=function(e){return{"w-100 mt-2 p-2 error-border":e,"w-100 my-2 p-2":!0}};function au(e,t){if(1&e&&(o.TgZ(0,"div",22),o.YNc(1,tu,1,0,"mat-progress-bar",23),o._uU(2),o.qZA()),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(3,nu,""!==e.errorMessage&&"Getting lookup details..."!==e.errorMessage)),o.xp6(1),o.Q6J("ngIf","Getting lookup details..."===e.errorMessage),o.xp6(1),o.hij(" ",e.errorMessage," ")}}function iu(e,t){if(1&e&&(o.TgZ(0,"span",31),o._UZ(1,"rtl-node-lookup",32),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("lookupResult",e.lookupValue)}}function su(e,t){if(1&e&&(o.TgZ(0,"span",31),o._UZ(1,"rtl-channel-lookup",32),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("lookupResult",e.lookupValue)}}function ou(e,t){1&e&&(o.TgZ(0,"span",31),o.TgZ(1,"h3"),o._uU(2,"Error! Unable to find details!"),o.qZA(),o.qZA())}function lu(e,t){if(1&e&&(o.TgZ(0,"div",25),o.TgZ(1,"div",26),o.TgZ(2,"span",27),o._uU(3),o.qZA(),o.qZA(),o.TgZ(4,"div",28),o.YNc(5,iu,2,1,"span",29),o.YNc(6,su,2,1,"span",29),o.YNc(7,ou,3,0,"span",30),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(3),o.hij("",e.lookupFields[e.selectedFieldId].name," Details"),o.xp6(1),o.Q6J("ngSwitch",e.selectedFieldId),o.xp6(1),o.Q6J("ngSwitchCase",0),o.xp6(1),o.Q6J("ngSwitchCase",1)}}const ru=function(e){return{"mt-2":e}};let cu=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.actions=a,this.lookupKey="",this.lookupValue={},this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Pubkey"},{id:1,name:"Channel",placeholder:"Channel ID"}],this.faSearch=g.wn1,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.RP||e.type===x.JE)).subscribe(e=>{e.type===x.RP&&(this.errorMessage=0===this.selectedFieldId&&e.payload.hasOwnProperty("node")||1===this.selectedFieldId&&e.payload.hasOwnProperty("channel_id")?"":this.errorMessage,this.lookupValue=JSON.parse(JSON.stringify(e.payload)),this.flgSetLookupValue=!(0!==this.selectedFieldId||!e.payload.hasOwnProperty("node"))||!(1!==this.selectedFieldId||!e.payload.hasOwnProperty("channel_id")),this.logger.info(this.lookupValue)),e.type===x.JE&&"Lookup"===e.payload.action&&(this.errorMessage="",e.payload.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof e.payload.message?JSON.stringify(e.payload.message):e.payload.message),e.payload.status===f.Bn.INITIATED&&(this.errorMessage=f.m6.GET_LOOKUP_DETAILS))})}onLookup(){if(!this.lookupKey)return!0;switch(this.flgSetLookupValue=!1,this.lookupValue={},this.selectedFieldId){case 0:this.store.dispatch(new x.x$(this.lookupKey.trim()));break;case 1:this.store.dispatch(new x.IG({uiMessage:f.m6.SEARCHING_CHANNEL,channelID:this.lookupKey.trim()}))}}onSelectChange(e){this.resetData(),this.selectedFieldId=e.value}resetData(){this.flgSetLookupValue=!1,this.selectedFieldId=0,this.lookupKey="",this.lookupValue={},this.errorMessage=""}clearLookupValue(){this.lookupValue={},this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh),o.Y36(A.eX))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-lookups"]],decls:24,vars:11,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","35","fxFlex.gt-md","25","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField",3,"ngModel","ngModelChange","change"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],["fxFlex","65","fxFlex.gt-md","75","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"placeholder","ngModel","change","ngModelChange"],["key",""],[4,"ngIf"],[1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","row wrap","fxLayoutAlign","space-between center",3,"ngClass",4,"ngIf"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],[1,"mr-4",3,"value","checked"],["fxFlex","100","fxLayout","row wrap","fxLayoutAlign","space-between center",3,"ngClass"],["mode","indeterminate",4,"ngIf"],["mode","indeterminate"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[3,"lookupResult"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Graph Lookups"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"form",7,8),o.TgZ(10,"div",9),o.TgZ(11,"mat-radio-group",10),o.NdJ("ngModelChange",function(e){return t.selectedFieldId=e})("change",function(e){return t.onSelectChange(e)}),o.YNc(12,Kc,2,3,"mat-radio-button",11),o.qZA(),o.qZA(),o.TgZ(13,"mat-form-field",12),o.TgZ(14,"input",13,14),o.NdJ("change",function(){return t.clearLookupValue()})("ngModelChange",function(e){return t.lookupKey=e}),o.qZA(),o.YNc(16,eu,2,1,"mat-error",15),o.qZA(),o.TgZ(17,"div",16),o.TgZ(18,"button",17),o.NdJ("click",function(){return t.resetData()}),o._uU(19,"Clear"),o.qZA(),o.TgZ(20,"button",18),o.NdJ("click",function(){return t.onLookup()}),o._uU(21,"Lookup"),o.qZA(),o.qZA(),o.qZA(),o.YNc(22,au,3,5,"div",19),o.YNc(23,lu,8,4,"div",20),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(2),o.Q6J("icon",t.faSearch),o.xp6(9),o.Q6J("ngModel",t.selectedFieldId),o.xp6(1),o.Q6J("ngForOf",t.lookupFields),o.xp6(1),o.Q6J("ngClass",o.VKq(9,ru,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM)),o.xp6(1),o.Q6J("placeholder",(null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder)||"Lookup Key")("ngModel",t.lookupKey),o.xp6(2),o.Q6J("ngIf",!t.lookupKey),o.xp6(6),o.Q6J("ngIf",""!==t.errorMessage),o.xp6(1),o.Q6J("ngIf",""===t.errorMessage&&t.lookupValue&&t.flgSetLookupValue))},directives:[l.xw,l.Wh,T.BN,l.yH,w.a8,w.dn,Ae._Y,Ae.JL,Ae.F,Oc.VQ,Ae.JJ,Ae.On,a.sg,D.KE,a.mk,v.oO,Ce.Nt,Ae.Fj,Ae.Q7,a.O5,q.lW,Oc.U0,D.TO,r.pW,a.RF,a.n9,a.ED,Hc,jc],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),e})();var uu=n(5812);function pu(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Invalid date format."),o.qZA())}function du(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Invalid date format."),o.qZA())}function hu(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",27),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.s9C("routerLink",e.link),o.Q6J("active",n.activeLink===e.link),o.xp6(1),o.Oqu(e.name)}}let mu=(()=>{class e{constructor(e,t){this.store=e,this.router=t,this.faMapSigns=g.SuH,this.today=new Date(Date.now()),this.lastMonthDay=new Date(this.today.getFullYear(),this.today.getMonth()-1,this.today.getDate()+1,0,0,0),this.yesterday=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate()-1,0,0,0),this.endDate=this.today,this.startDate=this.lastMonthDay,this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"peers",name:"Routing Peers"}],this.activeLink=this.links[0].link,this.unSubs=[new p.x,new p.x,new p.x]}ngOnInit(){this.onEventsFetch();const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}onEventsFetch(){this.store.dispatch(new x.Fn({})),this.endDate||(this.endDate=this.today),this.startDate||(this.startDate=new Date(this.endDate.getFullYear(),this.endDate.getMonth()-1,this.endDate.getDate()+1,0,0,0)),this.store.dispatch(new x.KK({end_time:Math.round(this.endDate.getTime()/1e3).toString(),start_time:Math.round(this.startDate.getTime()/1e3).toString()}))}resetData(){this.endDate=this.today,this.startDate=this.lastMonthDay}ngOnDestroy(){this.resetData(),this.store.dispatch(new x.Fn({})),this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-routing"]],decls:35,vars:15,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mb-1",3,"ngSubmit"],["routingForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","49","fxLayoutAlign","start"],["matInput","","placeholder","Start Date","name","startDate","tabindex","1",3,"matDatepicker","max","ngModel","ngModelChange"],["strtDate","ngModel"],["matSuffix","",3,"for"],[3,"startAt"],["startDatepicker",""],[4,"ngIf"],["matInput","","placeholder","End Date","name","endDate","tabindex","2",3,"matDatepicker","min","max","ngModel","ngModelChange"],["enDate","ngModel"],["endDatepicker",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"fa-icon",2),o.TgZ(3,"span",3),o._uU(4,"Routing"),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.TgZ(6,"mat-card",5),o.TgZ(7,"mat-card-content",6),o.TgZ(8,"form",7,8),o.NdJ("ngSubmit",function(){return t.onEventsFetch()}),o.TgZ(10,"div",9),o.TgZ(11,"mat-form-field",10),o.TgZ(12,"input",11,12),o.NdJ("ngModelChange",function(e){return t.startDate=e}),o.qZA(),o._UZ(14,"mat-datepicker-toggle",13),o._UZ(15,"mat-datepicker",14,15),o.YNc(17,pu,2,0,"mat-error",16),o.qZA(),o.TgZ(18,"mat-form-field",10),o.TgZ(19,"input",17,18),o.NdJ("ngModelChange",function(e){return t.endDate=e}),o.qZA(),o._UZ(21,"mat-datepicker-toggle",13),o._UZ(22,"mat-datepicker",14,19),o.YNc(24,du,2,0,"mat-error",16),o.qZA(),o.qZA(),o.TgZ(25,"div",20),o.TgZ(26,"button",21),o.NdJ("click",function(){return t.resetData()}),o._uU(27,"Clear"),o.qZA(),o.TgZ(28,"button",22),o._uU(29,"Fetch Events"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(30,"div",23),o.TgZ(31,"nav",24),o.YNc(32,hu,2,3,"div",25),o.qZA(),o.qZA(),o.TgZ(33,"div",26),o._UZ(34,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.MAs(13),n=o.MAs(16),a=o.MAs(20),i=o.MAs(23);o.xp6(2),o.Q6J("icon",t.faMapSigns),o.xp6(10),o.Q6J("matDatepicker",n)("max",t.today)("ngModel",t.startDate),o.xp6(2),o.Q6J("for",n),o.xp6(1),o.Q6J("startAt",t.startDate),o.xp6(2),o.Q6J("ngIf",e.errors),o.xp6(2),o.Q6J("matDatepicker",i)("min",t.startDate)("max",t.today)("ngModel",t.endDate),o.xp6(2),o.Q6J("for",i),o.xp6(1),o.Q6J("startAt",t.endDate),o.xp6(2),o.Q6J("ngIf",a.errors),o.xp6(8),o.Q6J("ngForOf",t.links)}},directives:[l.xw,l.Wh,T.BN,l.yH,w.a8,w.dn,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,uu.hl,ma.F,Ae.Fj,Ae.JJ,Ae.On,uu.nW,D.R9,uu.Mq,a.O5,be.q,q.lW,ge.BU,a.sg,i.lC,D.TO,ge.Nj,i.rH],styles:[""]}),e})();function gu(e,t){if(1&e&&(o.TgZ(0,"div",5),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.errorMessage)}}function fu(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",6),o._UZ(1,"div",7),o.TgZ(2,"mat-form-field",8),o.TgZ(3,"input",9),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().filterValue=t})("input",function(){return o.CHM(e),o.oxw().applyFilter()})("keyup",function(){return o.CHM(e),o.oxw().applyFilter()}),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("ngModel",e.filterValue)}}function xu(e,t){1&e&&o._UZ(0,"mat-progress-bar",31)}function Zu(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1,"Timestamp"),o.qZA())}function yu(e,t){if(1&e&&(o.TgZ(0,"td",33),o._uU(1),o.ALo(2,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*e.timestamp,"dd/MMM/YYYY HH:mm"))}}function Au(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1,"Inbound Channel"),o.qZA())}function Cu(e,t){if(1&e&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(e.alias_in)}}function Tu(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1,"Outbound Channel"),o.qZA())}function bu(e,t){if(1&e&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(e.alias_out)}}function wu(e,t){1&e&&(o.TgZ(0,"th",34),o._uU(1,"Inbound Amount (Sats)"),o.qZA())}function _u(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.amt_in))}}function vu(e,t){1&e&&(o.TgZ(0,"th",34),o._uU(1,"Outbound Amount (Sats)"),o.qZA())}function qu(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.amt_out))}}function Su(e,t){1&e&&(o.TgZ(0,"th",34),o._uU(1,"Fee (mSats)"),o.qZA())}function Fu(e,t){if(1&e&&(o.TgZ(0,"td",33),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.fee_msat))}}function Lu(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",36),o.TgZ(1,"div",37),o.TgZ(2,"mat-select",38),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",39),o.NdJ("click",function(){return o.CHM(e),o.oxw(2).onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function ku(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",40),o.TgZ(1,"button",41),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw(2).onForwardingEventClick(n,t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function Nu(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No forwarding history available."),o.qZA())}function Uu(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting forwarding history..."),o.qZA())}function Iu(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.errorMessage)}}function Ou(e,t){if(1&e&&(o.TgZ(0,"td",42),o.YNc(1,Nu,2,0,"p",43),o.YNc(2,Uu,2,0,"p",43),o.YNc(3,Iu,2,1,"p",43),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.ERROR)}}const Ju=function(e){return{"display-none":e}};function Du(e,t){if(1&e&&o._UZ(0,"tr",44),2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,Ju,(null==e.forwardingHistoryEvents?null:e.forwardingHistoryEvents.data)&&(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)>0))}}function Ru(e,t){1&e&&o._UZ(0,"tr",45)}function Mu(e,t){1&e&&o._UZ(0,"tr",46)}const Eu=function(){return["no_event"]};function Qu(e,t){if(1&e&&(o.TgZ(0,"div",10),o.YNc(1,xu,1,0,"mat-progress-bar",11),o.TgZ(2,"table",12,13),o.ynx(4,14),o.YNc(5,Zu,2,0,"th",15),o.YNc(6,yu,3,4,"td",16),o.BQk(),o.ynx(7,17),o.YNc(8,Au,2,0,"th",15),o.YNc(9,Cu,2,1,"td",16),o.BQk(),o.ynx(10,18),o.YNc(11,Tu,2,0,"th",15),o.YNc(12,bu,2,1,"td",16),o.BQk(),o.ynx(13,19),o.YNc(14,wu,2,0,"th",20),o.YNc(15,_u,4,3,"td",16),o.BQk(),o.ynx(16,21),o.YNc(17,vu,2,0,"th",20),o.YNc(18,qu,4,3,"td",16),o.BQk(),o.ynx(19,22),o.YNc(20,Su,2,0,"th",20),o.YNc(21,Fu,4,3,"td",16),o.BQk(),o.ynx(22,23),o.YNc(23,Lu,6,0,"th",24),o.YNc(24,ku,3,0,"td",25),o.BQk(),o.ynx(25,26),o.YNc(26,Ou,4,3,"td",27),o.BQk(),o.YNc(27,Du,1,3,"tr",28),o.YNc(28,Ru,1,0,"tr",29),o.YNc(29,Mu,1,0,"tr",30),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.forwardingHistoryEvents),o.xp6(25),o.Q6J("matFooterRowDef",o.DdM(6,Eu)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns)}}function Yu(e,t){if(1&e&&o._UZ(0,"mat-paginator",47),2&e){const e=o.oxw();o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let Pu=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.datePipe=a,this.eventsData=[],this.filterValue="",this.forwardingHistoryData=[],this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","fee_msat","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amt_in","amt_out","fee_msat","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.eventsData.length<=0&&(this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),this.forwardingHistoryData=e.forwardingHistory&&e.forwardingHistory.forwarding_events?e.forwardingHistory.forwarding_events:[],this.loadForwardingEventsTable(this.forwardingHistoryData),this.logger.info(e))})}ngAfterViewInit(){this.forwardingHistoryData.length>0&&this.loadForwardingEventsTable(this.forwardingHistoryData)}ngOnChanges(e){e.eventsData&&(this.eventsData=e.eventsData.currentValue,this.forwardingHistoryData=this.eventsData,e.eventsData.firstChange||this.loadForwardingEventsTable(this.forwardingHistoryData)),e.filterValue&&!e.filterValue.firstChange&&this.applyFilter()}onForwardingEventClick(e,t){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Event Information",message:[[{key:"timestamp",value:e.timestamp,title:"Timestamp",width:25,type:f.Gi.DATE_TIME},{key:"amt_in",value:e.amt_in,title:"Inbound Amount (Sats)",width:25,type:f.Gi.NUMBER},{key:"amt_out",value:e.amt_out,title:"Outbound Amount (Sats)",width:25,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:25,type:f.Gi.NUMBER}],[{key:"alias_in",value:e.alias_in,title:"Inbound Peer Alias",width:25,type:f.Gi.STRING},{key:"chan_id_in",value:e.chan_id_in,title:"Inbound Channel ID",width:25,type:f.Gi.STRING},{key:"alias_out",value:e.alias_out,title:"Outbound Peer Alias",width:25,type:f.Gi.STRING},{key:"chan_id_out",value:e.chan_id_out,title:"Outbound Channel ID",width:25,type:f.Gi.STRING}]]}}))}loadForwardingEventsTable(e){this.forwardingHistoryEvents=new Ze.by(e?[...e]:[]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.forwardingHistoryEvents.filterPredicate=(e,t)=>((e.timestamp?this.datePipe.transform(new Date(1e3*e.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.forwardingHistoryEvents.paginator=this.paginator,this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh),o.Y36(a.uU))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-forwarding-history"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Events")}]),o.TTD],decls:5,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border mb-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],["class","mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons",4,"ngIf"],[1,"p-2","error-border","mb-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias_in"],["matColumnDef","alias_out"],["matColumnDef","amt_in"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_out"],["matColumnDef","fee_msat"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,gu,2,1,"div",1),o.YNc(2,fu,4,1,"div",2),o.YNc(3,Qu,30,7,"div",3),o.YNc(4,Yu,1,3,"mat-paginator",4),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf",""!==t.errorMessage),o.xp6(1),o.Q6J("ngIf",""===t.errorMessage),o.xp6(1),o.Q6J("ngIf",""===t.errorMessage),o.xp6(1),o.Q6J("ngIf",""===t.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,D.KE,Ce.Nt,Ae.Fj,Ae.JJ,Ae.On,E.$V,Ze.BZ,xe.YE,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,r.pW,Ze.ge,xe.nU,Ze.ev,we.gD,we.$L,ve.ey,q.lW,Ze.yh,Ze.Q2,a.mk,v.oO,Ze.XQ,Ze.Gk,fe.NW],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();const Bu=["tableIn"],Gu=["tableOut"],Hu=["paginatorIn"],zu=["paginatorOut"];function Vu(e,t){if(1&e&&(o.TgZ(0,"div",3),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.errorMessage)}}function Wu(e,t){1&e&&o._UZ(0,"mat-progress-bar",37)}function Xu(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1,"Channel ID"),o.qZA())}const $u=function(e){return{"max-width":e}};function ju(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,$u,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.Oqu(e.chan_id)}}function Ku(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1,"Peer Alias"),o.qZA())}function ep(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,$u,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.Oqu(e.alias)}}function tp(e,t){1&e&&(o.TgZ(0,"th",40),o._uU(1,"Events"),o.qZA())}function np(e,t){if(1&e&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.events))}}function ap(e,t){1&e&&(o.TgZ(0,"th",40),o._uU(1,"Total Amount (Sats)"),o.qZA())}function ip(e,t){if(1&e&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.total_amount))}}function sp(e,t){1&e&&(o.TgZ(0,"th",43),o.TgZ(1,"span",42),o._uU(2,"Actions"),o.qZA(),o.qZA())}function op(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",44),o.TgZ(1,"button",45),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw(2).onRoutingPeerClick(n,t,"in")}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function lp(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No incoming routing peer available."),o.qZA())}function rp(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting incoming routing peers..."),o.qZA())}function cp(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.errorMessage)}}function up(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,lp,2,0,"p",47),o.YNc(2,rp,2,0,"p",47),o.YNc(3,cp,2,1,"p",47),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersIncoming&&e.RoutingPeersIncoming.data)||(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersIncoming&&e.RoutingPeersIncoming.data)||(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersIncoming&&e.RoutingPeersIncoming.data)||(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.ERROR)}}const pp=function(e){return{"display-none":e}};function dp(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,pp,(null==e.RoutingPeersIncoming?null:e.RoutingPeersIncoming.data)&&(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)>0))}}function hp(e,t){1&e&&o._UZ(0,"tr",49)}function mp(e,t){1&e&&o._UZ(0,"tr",50)}function gp(e,t){1&e&&o._UZ(0,"mat-progress-bar",37)}function fp(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1,"Channel ID"),o.qZA())}function xp(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,$u,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.Oqu(e.chan_id)}}function Zp(e,t){1&e&&(o.TgZ(0,"th",38),o._uU(1,"Peer Alias"),o.qZA())}function yp(e,t){if(1&e&&(o.TgZ(0,"td",39),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("ngStyle",o.VKq(2,$u,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.Oqu(e.alias)}}function Ap(e,t){1&e&&(o.TgZ(0,"th",40),o._uU(1,"Events"),o.qZA())}function Cp(e,t){if(1&e&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.events))}}function Tp(e,t){1&e&&(o.TgZ(0,"th",40),o._uU(1,"Total Amount (Sats)"),o.qZA())}function bp(e,t){if(1&e&&(o.TgZ(0,"td",41),o.TgZ(1,"span",42),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.total_amount))}}function wp(e,t){1&e&&(o.TgZ(0,"th",43),o.TgZ(1,"span",42),o._uU(2,"Actions"),o.qZA(),o.qZA())}function _p(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",51),o.TgZ(1,"button",52),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw(2).onRoutingPeerClick(n,t,"out")}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function vp(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No outgoing routing peer available."),o.qZA())}function qp(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting outgoing routing peers..."),o.qZA())}function Sp(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.errorMessage)}}function Fp(e,t){if(1&e&&(o.TgZ(0,"td",46),o.YNc(1,vp,2,0,"p",47),o.YNc(2,qp,2,0,"p",47),o.YNc(3,Sp,2,1,"p",47),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersOutgoing&&e.RoutingPeersOutgoing.data)||(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersOutgoing&&e.RoutingPeersOutgoing.data)||(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.RoutingPeersOutgoing&&e.RoutingPeersOutgoing.data)||(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.ERROR)}}function Lp(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw(2);o.Q6J("ngClass",o.VKq(1,pp,(null==e.RoutingPeersOutgoing?null:e.RoutingPeersOutgoing.data)&&(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)>0))}}function kp(e,t){1&e&&o._UZ(0,"tr",49)}function Np(e,t){1&e&&o._UZ(0,"tr",50)}const Up=function(e,t){return{"mt-2":e,"mt-1":t}},Ip=function(){return["no_incoming_event"]},Op=function(e){return{"mt-2":e}},Jp=function(){return["no_outgoing_event"]};function Dp(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",4),o.TgZ(1,"div",5),o.TgZ(2,"div",6),o.TgZ(3,"div",7),o._uU(4,"Incoming"),o.qZA(),o.TgZ(5,"mat-form-field",8),o.TgZ(6,"input",9),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().filterIn=t})("keyup",function(t){return o.CHM(e),o.oxw().applyIncomingFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",10),o.YNc(8,Wu,1,0,"mat-progress-bar",11),o.TgZ(9,"table",12,13),o.ynx(11,14),o.YNc(12,Xu,2,0,"th",15),o.YNc(13,ju,2,4,"td",16),o.BQk(),o.ynx(14,17),o.YNc(15,Ku,2,0,"th",15),o.YNc(16,ep,2,4,"td",16),o.BQk(),o.ynx(17,18),o.YNc(18,tp,2,0,"th",19),o.YNc(19,np,4,3,"td",20),o.BQk(),o.ynx(20,21),o.YNc(21,ap,2,0,"th",19),o.YNc(22,ip,4,3,"td",20),o.BQk(),o.ynx(23,22),o.YNc(24,sp,3,0,"th",23),o.YNc(25,op,3,0,"td",24),o.BQk(),o.ynx(26,25),o.YNc(27,up,4,3,"td",26),o.BQk(),o.YNc(28,dp,1,3,"tr",27),o.YNc(29,hp,1,0,"tr",28),o.YNc(30,mp,1,0,"tr",29),o.qZA(),o.qZA(),o._UZ(31,"mat-paginator",30,31),o.qZA(),o.TgZ(33,"div",5),o.TgZ(34,"div",6),o.TgZ(35,"div",7),o._uU(36,"Outgoing"),o.qZA(),o.TgZ(37,"mat-form-field",8),o.TgZ(38,"input",9),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().filterOut=t})("keyup",function(t){return o.CHM(e),o.oxw().applyOutgoingFilter(t.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(39,"div",10),o.YNc(40,gp,1,0,"mat-progress-bar",11),o.TgZ(41,"table",32,33),o.ynx(43,14),o.YNc(44,fp,2,0,"th",15),o.YNc(45,xp,2,4,"td",16),o.BQk(),o.ynx(46,17),o.YNc(47,Zp,2,0,"th",15),o.YNc(48,yp,2,4,"td",16),o.BQk(),o.ynx(49,18),o.YNc(50,Ap,2,0,"th",19),o.YNc(51,Cp,4,3,"td",20),o.BQk(),o.ynx(52,21),o.YNc(53,Tp,2,0,"th",19),o.YNc(54,bp,4,3,"td",20),o.BQk(),o.ynx(55,22),o.YNc(56,wp,3,0,"th",23),o.YNc(57,_p,3,0,"td",34),o.BQk(),o.ynx(58,35),o.YNc(59,Fp,4,3,"td",26),o.BQk(),o.YNc(60,Lp,1,3,"tr",27),o.YNc(61,kp,1,0,"tr",28),o.YNc(62,Np,1,0,"tr",29),o.qZA(),o.qZA(),o._UZ(63,"mat-paginator",30,36),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(2),o.Q6J("ngClass",o.WLB(22,Up,e.screenSize===e.screenSizeEnum.XS,e.screenSize===e.screenSizeEnum.SM)),o.xp6(4),o.Q6J("ngModel",e.filterIn),o.xp6(2),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.RoutingPeersIncoming),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(25,Ip)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS),o.xp6(3),o.Q6J("ngClass",o.VKq(26,Op,e.screenSize!==e.screenSizeEnum.LG)),o.xp6(4),o.Q6J("ngModel",e.filterOut),o.xp6(2),o.Q6J("ngIf",(null==e.apisCallStatus?null:e.apisCallStatus.GetForwardingHistory.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",e.RoutingPeersOutgoing),o.xp6(19),o.Q6J("matFooterRowDef",o.DdM(28,Jp)),o.xp6(1),o.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",e.displayedColumns),o.xp6(1),o.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let Rp=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.routingPeersData=[],this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.filterIn="",this.filterOut="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["chan_id","events","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["chan_id","alias","events","total_amount"]):(this.flgSticky=!0,this.displayedColumns=["chan_id","alias","events","total_amount"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.GetForwardingHistory.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.GetForwardingHistory.message?JSON.stringify(this.apisCallStatus.GetForwardingHistory.message):this.apisCallStatus.GetForwardingHistory.message),this.routingPeersData=e.forwardingHistory&&e.forwardingHistory.forwarding_events?e.forwardingHistory.forwarding_events:[],this.routingPeersData.length>0&&this.sortIn&&this.paginatorIn&&this.sortOut&&this.paginatorOut&&this.loadRoutingPeersTable(this.routingPeersData),this.logger.info(e)})}onRoutingPeerClick(e,t,n){let a=" Routing Information";a="in"===n?"Incoming"+a:"Outgoing"+a,this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:a,message:[[{key:"chan_id",value:e.chan_id,title:"Channel ID",width:50,type:f.Gi.STRING},{key:"alias",value:e.alias,title:"Peer Alias",width:50,type:f.Gi.STRING}],[{key:"events",value:e.events,title:"Events",width:50,type:f.Gi.NUMBER},{key:"total_amount",value:e.total_amount,title:"Total Amount (Sats)",width:50,type:f.Gi.NUMBER}]]}}))}loadRoutingPeersTable(e){if(this.filterIn="",this.filterOut="",e.length>0){const t=this.groupRoutingPeers(e);this.RoutingPeersIncoming=new Ze.by(t[0]),this.RoutingPeersIncoming.sort=this.sortIn,this.RoutingPeersIncoming.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.RoutingPeersIncoming.paginator=this.paginatorIn,this.logger.info(this.RoutingPeersIncoming),this.RoutingPeersOutgoing=new Ze.by(t[1]),this.RoutingPeersOutgoing.sort=this.sortOut,this.RoutingPeersOutgoing.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.RoutingPeersOutgoing.paginator=this.paginatorOut,this.logger.info(this.RoutingPeersOutgoing)}else this.RoutingPeersIncoming=new Ze.by([]),this.RoutingPeersOutgoing=new Ze.by([])}groupRoutingPeers(e){const t=[],n=[];return e.forEach(e=>{const a=t.find(t=>t.chan_id===e.chan_id_in),i=n.find(t=>t.chan_id===e.chan_id_out);a?(a.events++,a.total_amount=+a.total_amount+ +e.amt_in):t.push({chan_id:e.chan_id_in,alias:e.alias_in,events:1,total_amount:+e.amt_in}),i?(i.events++,i.total_amount=+i.total_amount+ +e.amt_out):n.push({chan_id:e.chan_id_out,alias:e.alias_out,events:1,total_amount:+e.amt_out})}),[this.commonService.sortDescByKey(t,"total_amount"),this.commonService.sortDescByKey(n,"total_amount")]}applyIncomingFilter(e){this.RoutingPeersIncoming.filter=e.value.trim().toLowerCase()}applyOutgoingFilter(e){this.RoutingPeersOutgoing.filter=e.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-routing-peers"]],viewQuery:function(e,t){if(1&e&&(o.Gf(Bu,5,xe.YE),o.Gf(Gu,5,xe.YE),o.Gf(Hu,5),o.Gf(zu,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sortIn=e.first),o.iGM(e=o.CRH())&&(t.sortOut=e.first),o.iGM(e=o.CRH())&&(t.paginatorIn=e.first),o.iGM(e=o.CRH())&&(t.paginatorOut=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Peers")}])],decls:3,vars:2,consts:[["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between start","class","page-sub-title-container",4,"ngIf"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between start",1,"page-sub-title-container"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start stretch",1,"mb-4"],["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"page-sub-title-container","w-100",3,"ngClass"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"ngModel","ngModelChange","keyup"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",1,"overflow-auto","incoming-table",3,"dataSource"],["tableIn",""],["matColumnDef","chan_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","events"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","total_amount"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-2","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_incoming_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["paginatorIn",""],["mat-table","","matSort","",1,"overflow-auto","outgoing-table",3,"dataSource"],["tableOut",""],["mat-cell","","class","pl-2",4,"matCellDef"],["matColumnDef","no_outgoing_event"],["paginatorOut",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pr-3"],["mat-cell","","fxLayoutAlign","end center",1,"pl-2"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],["mat-cell","",1,"pl-2"],["mat-stroked-button","","color","primary","type","button","tabindex","5",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,Vu,2,1,"div",1),o.YNc(2,Dp,65,29,"div",2),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf",""!==t.errorMessage),o.xp6(1),o.Q6J("ngIf",""===t.errorMessage))},directives:[l.xw,l.Wh,a.O5,l.yH,a.mk,v.oO,D.KE,Ce.Nt,Ae.Fj,Ae.JJ,Ae.On,E.$V,Ze.BZ,xe.YE,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,q.lW,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-chan_id[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function Mp(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",7),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.s9C("routerLink",e.link),o.Q6J("active",n.activeLink===e.link),o.xp6(1),o.Oqu(e.name)}}let Ep=(()=>{class e{constructor(e){this.router=e,this.faChartBar=g.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Reports"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,Mp,2,3,"div",6),o.qZA(),o._UZ(9,"router-outlet"),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faChartBar),o.xp6(7),o.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,ge.BU,a.sg,i.lC,ge.Nj,i.rH],styles:[""]}),e})();var Qp=n(4833),Yp=n(4018),Pp=n(1905);function Bp(e,t){1&e&&o._UZ(0,"mat-progress-bar",10)}function Gp(e,t){if(1&e&&(o.TgZ(0,"div",11),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&e){const e=o.oxw();o.Q6J("@fadeIn",e.events.total_fee_msat),o.xp6(1),o.AsE("",o.xi3(2,3,e.events.total_fee_msat/1e3||0,"1.0-2")," Sats/",o.lcZ(3,6,(null==e.events||null==e.events.forwarding_events?null:e.events.forwarding_events.length)||0)," Events")}}function Hp(e,t){1&e&&(o.TgZ(0,"div",12),o._uU(1,"No fee report for the selected period"),o.qZA())}const zp=function(e){return{"error-border":e}};function Vp(e,t){if(1&e&&(o.TgZ(0,"div",13),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(2,zp,"Getting fee report..."!==e.errorMessage&&""!==e.errorMessage)),o.xp6(1),o.Oqu(e.errorMessage)}}function Wp(e,t){if(1&e&&(o.TgZ(0,"span"),o.TgZ(1,"span",16),o._uU(2),o.ALo(3,"number"),o.qZA(),o.TgZ(4,"span",16),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA()),2&e){const e=t.model;o.xp6(2),o.hij("Events: ",o.lcZ(3,2,e.extra.totalEvents||0),""),o.xp6(3),o.hij("Fee: ",o.xi3(6,4,e.value||0,"1.0-2"),"")}}function Xp(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical",14),o.NdJ("select",function(t){return o.CHM(e),o.oxw().onChartBarSelected(t)})("mouseup",function(t){return o.CHM(e),o.oxw().onChartMouseUp(t)}),o.YNc(1,Wp,7,7,"ng-template",null,15,o.W1O),o.qZA()}if(2&e){const e=o.oxw();o.Q6J("view",e.view)("results",e.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function $p(e,t){if(1&e&&o._UZ(0,"rtl-forwarding-history",17),2&e){const e=o.oxw();o.Q6J("eventsData",null==e.events?null:e.events.forwarding_events)("filterValue",e.eventFilterValue)}}let jp=(()=>{class e{constructor(e,t,n){this.dataService=e,this.commonService=t,this.store=n,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.events={},this.eventFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.unSubs=[new p.x,new p.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.fetchEvents(this.startDate,this.endDate)}ngAfterContentInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=e.width/10;break;case f.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}fetchEvents(e,t){this.errorMessage=f.m6.GET_FEE_REPORT;const n=Math.round(e.getTime()/1e3).toString(),a=Math.round(t.getTime()/1e3).toString();this.dataService.getForwardingHistory(n,a).pipe((0,d.R)(this.unSubs[1])).subscribe({next:t=>{this.errorMessage="",t.forwarding_events&&t.forwarding_events.length?(t.forwarding_events=t.forwarding_events.reverse(),this.events=t,this.feeReportData=this.prepareFeeReport(e)):(this.events={},this.feeReportData=[])},error:e=>{this.errorMessage=e}})}onChartMouseUp(e){"svg"===e.srcElement.tagName&&e.srcElement.classList.length>0&&"ngx-charts"===e.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(e){this.eventFilterValue=this.reportPeriod===f.op[1]?e.name+"/"+this.startDate.getFullYear():e.name.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(e){const t=Math.round(e.getTime()/1e3),n=[];if(this.reportPeriod===f.op[1]){for(let e=0;e<12;e++)n.push({name:f.gg[e].name,value:1e-9,extra:{totalEvents:0}});this.events.forwarding_events.map(e=>{const t=new Date(1e3*+e.timestamp).getMonth();return n[t].value=n[t].value+ +e.fee_msat/1e3,n[t].extra.totalEvents=n[t].extra.totalEvents+1,this.events.total_fee_msat=(this.events.total_fee_msat?this.events.total_fee_msat:0)+ +e.fee_msat,this.events})}else{for(let t=0;t{const a=Math.floor((+e.timestamp-t)/this.secondsInADay);return n[a].value=n[a].value+ +e.fee_msat/1e3,n[a].extra.totalEvents=n[a].extra.totalEvents+1,this.events.total_fee_msat=(this.events.total_fee_msat?this.events.total_fee_msat:0)+ +e.fee_msat,this.events})}return n}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.fetchEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?f.gg[e].days+1:f.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(dt.D),o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-fee-report"]],hostBindings:function(e,t){1&e&&o.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:11,vars:6,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["mode","indeterminate","class","mt-2",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",3,"ngClass",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["mode","indeterminate",1,"mt-2"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1",3,"ngClass"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"rtl-horizontal-scroller",1),o.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),o.qZA(),o.YNc(2,Bp,1,0,"mat-progress-bar",2),o.TgZ(3,"div",3),o.YNc(4,Gp,4,8,"div",4),o.YNc(5,Hp,2,0,"div",5),o.YNc(6,Vp,2,4,"div",6),o.TgZ(7,"div",7),o.YNc(8,Xp,3,11,"ngx-charts-bar-vertical",8),o.qZA(),o.TgZ(9,"div",7),o.YNc(10,$p,1,2,"rtl-forwarding-history",9),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(2),o.Q6J("ngIf","Getting fee report..."===t.errorMessage),o.xp6(2),o.Q6J("ngIf",t.feeReportData.length>0&&t.events.forwarding_events),o.xp6(1),o.Q6J("ngIf",(t.feeReportData.length<=0||!t.events.forwarding_events)&&""===t.errorMessage),o.xp6(1),o.Q6J("ngIf",""!==t.errorMessage),o.xp6(2),o.Q6J("ngIf",t.feeReportData.length>0&&t.events.forwarding_events),o.xp6(2),o.Q6J("ngIf",t.events&&(null==t.events?null:t.events.forwarding_events)))},directives:[l.xw,l.Wh,l.yH,Yp.D,a.O5,r.pW,a.mk,v.oO,Pp.K$,Pu],pipes:[a.JJ],styles:[""],data:{animation:[Qp.J]}}),e})();var Kp=n(6590);function ed(e,t){1&e&&(o.TgZ(0,"div",11),o._UZ(1,"mat-progress-bar",12),o.TgZ(2,"span"),o._uU(3,"Getting transactions data..."),o.qZA(),o.qZA())}function td(e,t){if(1&e&&(o.TgZ(0,"div",13),o._uU(1),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Oqu(e.errorMessage)}}function nd(e,t){if(1&e&&(o.TgZ(0,"div",16),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.AsE(" Paid ",o.xi3(2,2,e.transactionsReportSummary.amountPaidSelectedPeriod/1e3||0,"1.0-2")," Sats/",o.lcZ(3,5,e.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function ad(e,t){if(1&e&&(o.TgZ(0,"div",16),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.AsE(" Received ",o.xi3(2,2,e.transactionsReportSummary.amountReceivedSelectedPeriod/1e3||0,"1.0-2")," Sats/",o.lcZ(3,5,e.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function id(e,t){if(1&e&&(o.TgZ(0,"div",14),o.YNc(1,nd,4,7,"div",15),o.YNc(2,ad,4,7,"div",15),o.qZA()),2&e){const e=o.oxw();o.Q6J("@fadeIn",e.transactionsReportSummary),o.xp6(1),o.Q6J("ngIf",e.transactionsReportSummary.paymentsSelectedPeriod>0),o.xp6(1),o.Q6J("ngIf",e.transactionsReportSummary.invoicesSelectedPeriod)}}function sd(e,t){1&e&&(o.TgZ(0,"div",17),o._uU(1,"No transactions report for the selected period"),o.qZA())}function od(e,t){if(1&e&&(o.TgZ(0,"span",21),o._uU(1),o.ALo(2,"number"),o.ALo(3,"number"),o.qZA()),2&e){const e=t.model;o.xp6(1),o.HOy("",e.name,": ",o.xi3(2,4,e.value||0,"1.0-2"),"/# ","Paid"===e.name?"Payments":"Invoices",": ",o.lcZ(3,7,(null==e.extra?null:e.extra.total)||0),"")}}function ld(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"ngx-charts-bar-vertical-2d",19),o.NdJ("select",function(t){return o.CHM(e),o.oxw(2).onChartBarSelected(t)})("mouseup",function(t){return o.CHM(e),o.oxw(2).onChartMouseUp(t)}),o.YNc(1,od,4,9,"ng-template",null,20,o.W1O),o.qZA()}if(2&e){const e=o.oxw(2);o.Q6J("view",e.view)("results",e.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",e.reportPeriod===e.scrollRanges[0]?2:8)}}function rd(e,t){if(1&e&&(o.TgZ(0,"div",9),o.YNc(1,ld,3,13,"ngx-charts-bar-vertical-2d",18),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",e.transactionsReportData.length>0&&e.transactionsNonZeroReportData.length>0)}}function cd(e,t){if(1&e&&o._UZ(0,"rtl-transactions-report-table",22),2&e){const e=o.oxw();o.Q6J("dataList",e.transactionsNonZeroReportData)("dataRange",e.reportPeriod)("filterValue",e.transactionFilterValue)}}let ud=(()=>{class e{constructor(e,t){this.commonService=e,this.store=t,this.scrollRanges=f.op,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[{date:"",name:"1",series:[{extra:{total:0},name:"Paid",value:0},{extra:{total:0},name:"Received",value:0}]}],this.transactionsNonZeroReportData=[{amount_paid:0,amount_received:0,date:"",num_invoices:0,num_payments:0}],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchLightningTransactions.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchLightningTransactions.message?JSON.stringify(this.apisCallStatus.FetchLightningTransactions.message):this.apisCallStatus.FetchLightningTransactions.message),this.payments=e.allLightningTransactions.paymentsAll?e.allLightningTransactions.paymentsAll.payments:[],this.invoices=e.allLightningTransactions.invoicesAll?e.allLightningTransactions.invoicesAll.invoices:[],(this.payments.length>0||this.invoices.length>0)&&(this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData())})}ngAfterContentInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=e.width/10;break;case f.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}onChartMouseUp(e){"svg"===e.srcElement.tagName&&e.srcElement.classList.length>0&&"ngx-charts"===e.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(e){this.transactionFilterValue=this.reportPeriod===f.op[1]?e.series+"/"+this.startDate.getFullYear():e.series.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(e,t){const n=Math.round(e.getTime()/1e3),a=Math.round(t.getTime()/1e3),i=[];this.transactionsNonZeroReportData=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};const s=this.payments.filter(e=>"SUCCEEDED"===e.status&&e.creation_date>=n&&e.creation_datee.settled&&+e.creation_date>=n&&+e.creation_date{const t=new Date(1e3*+e.creation_date).getMonth();return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+ +e.value_msat+ +e.fee_msat,i[t].series[0].value=i[t].series[0].value+(+e.value_msat+ +e.fee_msat)/1e3,i[t].series[0].extra.total=i[t].series[0].extra.total+1,this.transactionsReportSummary}),o.map(e=>{const t=new Date(1e3*+e.creation_date).getMonth();return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+ +e.amt_paid_msat,i[t].series[1].value=i[t].series[1].value+ +e.amt_paid_msat/1e3,i[t].series[1].extra.total=i[t].series[1].extra.total+1,this.transactionsReportSummary})}else{for(let t=0;t{const t=Math.floor((+e.creation_date-n)/this.secondsInADay);return this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+ +e.value_msat+ +e.fee_msat,i[t].series[0].value=i[t].series[0].value+(+e.value_msat+ +e.fee_msat)/1e3,i[t].series[0].extra.total=i[t].series[0].extra.total+1,this.transactionsReportSummary}),o.map(e=>{const t=Math.floor((+e.creation_date-n)/this.secondsInADay);return this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+ +e.amt_paid_msat,i[t].series[1].value=i[t].series[1].value+ +e.amt_paid_msat/1e3,i[t].series[1].extra.total=i[t].series[1].extra.total+1,this.transactionsReportSummary})}return i}prepareTableData(){return this.transactionsReportData.reduce((e,t)=>t.series[0].extra.total>0||t.series[1].extra.total>0?e.concat({date:t.date,amount_paid:t.series[0].value,num_payments:t.series[0].extra.total,amount_received:t.series[1].value,num_invoices:t.series[1].extra.total}):e,[])}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?f.gg[e].days+1:f.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-transactions-report"]],hostBindings:function(e,t){1&e&&o.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:11,vars:6,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],[3,"stepChanged"],["class","p-2",4,"ngIf"],["class","p-2 error-border my-2",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],["class","mt-1",4,"ngIf"],[1,"mt-1"],[3,"dataList","dataRange","filterValue",4,"ngIf"],[1,"p-2"],["mode","indeterminate"],[1,"p-2","error-border","my-2"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"div",2),o.TgZ(3,"rtl-horizontal-scroller",3),o.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),o.qZA(),o.YNc(4,ed,4,0,"div",4),o.YNc(5,td,2,1,"div",5),o.YNc(6,id,3,3,"div",6),o.YNc(7,sd,2,0,"div",7),o.YNc(8,rd,2,1,"div",8),o.TgZ(9,"div",9),o.YNc(10,cd,1,3,"rtl-transactions-report-table",10),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(4),o.Q6J("ngIf",t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.ERROR),o.xp6(1),o.Q6J("ngIf",t.transactionsNonZeroReportData.length>0&&t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",t.transactionsNonZeroReportData.length<=0&&t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",t.transactionsNonZeroReportData.length>0&&t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.COMPLETED),o.xp6(2),o.Q6J("ngIf",t.transactionsNonZeroReportData.length>0&&t.apisCallStatus.FetchLightningTransactions.status===t.apiCallStatusEnum.COMPLETED))},directives:[l.xw,l.Wh,l.yH,Yp.D,a.O5,r.pW,Pp.H5,Kp.g],pipes:[a.JJ],styles:[""],data:{animation:[Qp.J]}}),e})();const pd=["form"];function dd(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"UTXO Label is required."),o.qZA())}function hd(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.labelError)}}function md(e,t){if(1&e&&(o.TgZ(0,"div",16),o._UZ(1,"fa-icon",17),o.YNc(2,hd,2,1,"span",11),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.labelError)}}let gd=(()=>{class e{constructor(e,t,n,a,i,s){this.dialogRef=e,this.data=t,this.dataService=n,this.store=a,this.snackBar=i,this.commonService=s,this.faExclamationTriangle=g.eHv,this.utxo=null,this.label="",this.labelError="",this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.utxo=this.data.utxo,this.label=this.utxo.label}onLabelUTXO(){if(!this.label||""===this.label)return!0;this.labelError="",this.dataService.labelUTXO(this.utxo.outpoint.txid_bytes,this.label,!0).pipe((0,d.R)(this.unSubs[0])).subscribe({next:e=>{this.store.dispatch(new x.eL),this.store.dispatch(new x.Zt),this.snackBar.open("Successfully labelled the UTXO."),this.dialogRef.close()},error:e=>{this.labelError=e}})}resetData(){this.labelError="",this.label=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(dt.D),o.Y36(y.yh),o.Y36(Ai.ux),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-lebel-modal"]],viewQuery:function(e,t){if(1&e&&o.Gf(pd,7),2&e){let e;o.iGM(e=o.CRH())&&(t.form=e.first)}},decls:20,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex.gt-sm","100"],["autoFocus","","matInput","","placeholder","UTXO Label","name","label","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5,"Label UTXO"),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.TgZ(9,"form",7,8),o.NdJ("submit",function(){return t.onLabelUTXO()})("reset",function(){return t.resetData()}),o.TgZ(11,"mat-form-field",9),o.TgZ(12,"input",10),o.NdJ("ngModelChange",function(e){return t.label=e}),o.qZA(),o.YNc(13,dd,2,0,"mat-error",11),o.qZA(),o.YNc(14,md,3,2,"div",12),o.TgZ(15,"div",13),o.TgZ(16,"button",14),o._uU(17,"Clear"),o.qZA(),o.TgZ(18,"button",15),o._uU(19,"Label UTXO"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(6),o.Q6J("mat-dialog-close",!1),o.xp6(6),o.Q6J("ngModel",t.label),o.xp6(1),o.Q6J("ngIf",!t.label),o.xp6(1),o.Q6J("ngIf",""!==t.labelError))},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,ye.ZT,w.dn,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.Q7,Ae.JJ,Ae.On,a.O5,D.TO,T.BN],styles:[""]}),e})();function fd(e,t){1&e&&o._UZ(0,"mat-progress-bar",28)}function xd(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Transaction ID "),o.qZA())}function Zd(e,t){1&e&&(o.TgZ(0,"span",35),o.TgZ(1,"mat-icon",36),o._uU(2,"warning"),o.qZA(),o.qZA())}function yd(e,t){if(1&e&&(o.TgZ(0,"span"),o.YNc(1,Zd,3,0,"span",34),o.qZA()),2&e){const e=o.oxw().$implicit;o.oxw();const t=o.MAs(34);o.xp6(1),o.Q6J("ngIf",e.amount_sat<1e3)("ngIfElse",t)}}const Ad=function(e){return{"max-width":e}};function Cd(e,t){if(1&e&&(o.TgZ(0,"td",30),o.TgZ(1,"span",31),o.YNc(2,yd,2,2,"span",32),o.TgZ(3,"span",33),o._uU(4),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(3,Ad,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),o.xp6(2),o.Q6J("ngIf",n.utxos.length>0&&!n.isDustUTXO),o.xp6(2),o.Oqu(e.outpoint.txid_str)}}function Td(e,t){1&e&&(o.TgZ(0,"th",37),o._uU(1," Output "),o.qZA())}function bd(e,t){if(1&e&&(o.TgZ(0,"td",38),o.TgZ(1,"span",39),o._uU(2),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(e.outpoint.output_index)}}function wd(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Label "),o.qZA())}function _d(e,t){if(1&e&&(o.TgZ(0,"td",30),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Ad,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),o.xp6(1),o.hij(" ",null==e?null:e.label," ")}}function vd(e,t){1&e&&(o.TgZ(0,"th",37),o._uU(1," Amount (Sats) "),o.qZA())}function qd(e,t){if(1&e&&(o.TgZ(0,"td",38),o.TgZ(1,"span",39),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.amount_sat||0))}}function Sd(e,t){1&e&&(o.TgZ(0,"th",37),o._uU(1," Confirmations "),o.qZA())}function Fd(e,t){if(1&e&&(o.TgZ(0,"td",38),o.TgZ(1,"span",39),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.confirmations||0))}}function Ld(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",40),o.TgZ(1,"div",41),o.TgZ(2,"mat-select",42),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",43),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function kd(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",44),o.TgZ(1,"div",45),o.TgZ(2,"mat-select",46),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",43),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onUTXOClick(t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",43),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onLabelUTXO(t)}),o._uU(7,"Label"),o.qZA(),o.TgZ(8,"mat-option",43),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onLeaseUTXO(t)}),o._uU(9,"Lease"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Nd(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No UTXO available."),o.qZA())}function Ud(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting UTXOs..."),o.qZA())}function Id(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function Od(e,t){if(1&e&&(o.TgZ(0,"td",47),o.YNc(1,Nd,2,0,"p",32),o.YNc(2,Ud,2,0,"p",32),o.YNc(3,Id,2,1,"p",32),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.listUTXOs&&e.listUTXOs.data)||(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchUTXOs.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.listUTXOs&&e.listUTXOs.data)||(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchUTXOs.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.listUTXOs&&e.listUTXOs.data)||(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchUTXOs.status)===e.apiCallStatusEnum.ERROR)}}const Jd=function(e){return{"display-none":e}};function Dd(e,t){if(1&e&&o._UZ(0,"tr",48),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,Jd,(null==e.listUTXOs?null:e.listUTXOs.data)&&(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)>0))}}function Rd(e,t){1&e&&o._UZ(0,"tr",49)}function Md(e,t){1&e&&o._UZ(0,"tr",50)}function Ed(e,t){1&e&&o._UZ(0,"mat-icon",36)}const Qd=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Yd=function(){return["no_utxo"]};let Pd=(()=>{class e{constructor(e,t,n,a,i,s){this.logger=e,this.commonService=t,this.dataService=n,this.store=a,this.rtlEffects=i,this.decimalPipe=s,this.isDustUTXO=!1,this.addressType=f.x$,this.faMoneyBillWave=g.aj4,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["amount_sat","confirmations","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["tx_id","output","amount_sat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["tx_id","output","label","amount_sat","confirmations","actions"]):(this.flgSticky=!0,this.displayedColumns=["tx_id","output","label","amount_sat","confirmations","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchUTXOs.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchUTXOs.message?JSON.stringify(this.apisCallStatus.FetchUTXOs.message):this.apisCallStatus.FetchUTXOs.message),e.utxos&&e.utxos.length>0&&(this.utxos=this.isDustUTXO?e.utxos.filter(e=>+e.amount_sat<1e3):e.utxos,this.loadUTXOsTable(this.utxos)),this.logger.info(e)})}ngOnChanges(){this.utxos&&this.utxos.length>0&&this.loadUTXOsTable(this.utxos)}applyFilter(e){this.listUTXOs.filter=e.value.trim().toLowerCase()}onUTXOClick(e){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"UTXO Information",message:[[{key:"txid",value:e.outpoint.txid_str,title:"Transaction ID",width:100,type:f.Gi.STRING}],[{key:"label",value:e.label,title:"Label",width:100,type:f.Gi.STRING}],[{key:"output_index",value:e.outpoint.output_index,title:"Output Index",width:34,type:f.Gi.NUMBER},{key:"amount_sat",value:e.amount_sat,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER},{key:"confirmations",value:e.confirmations,title:"Confirmations",width:33,type:f.Gi.NUMBER}],[{key:"address_type",value:this.addressType[e.address_type].name,title:"Address Type",width:34},{key:"address",value:e.address,title:"Address",width:66}],[{key:"pk_script",value:e.pk_script,title:"PK Script",width:100,type:f.Gi.STRING}]]}}))}loadUTXOsTable(e){this.listUTXOs=new Ze.by([...e]),this.listUTXOs.filterPredicate=(e,t)=>((e.label?e.label.toLowerCase():"")+(e.outpoint.txid_str?e.outpoint.txid_str.toLowerCase():"")+(e.outpoint.output_index?e.outpoint.output_index:"")+(e.outpoint.txid_bytes?e.outpoint.txid_bytes.toLowerCase():"")+(e.address?e.address.toLowerCase():"")+(e.address_type?e.address_type.toLowerCase():"")+(e.amount_sat?e.amount_sat:"")+(e.confirmations?e.confirmations:"")+(e.pk_script?e.pk_script.toLowerCase():"")).includes(t),this.listUTXOs.sortingDataAccessor=(e,t)=>{switch(t){case"tx_id":return e.outpoint.txid_str.toLocaleLowerCase();case"output":return+e.outpoint.output_index;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.listUTXOs.sort=this.sort,this.listUTXOs.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.listUTXOs.paginator=this.paginator,this.logger.info(this.listUTXOs)}onLabelUTXO(e){this.store.dispatch(new ee.wu({data:{utxo:e,component:gd}}))}onLeaseUTXO(e){const t=[[{key:"txid_str",value:e.outpoint.txid_str,title:"Transaction ID",width:100}],[{key:"amount_sat",value:this.decimalPipe.transform(e.amount_sat),title:"Amount (Sats)",width:100}]];e.label&&t.splice(1,0,[{key:"label",value:e.label,title:"Label",width:100}]),this.store.dispatch(new ee.b_({data:{type:f.n_.CONFIRM,alertTitle:"Lease UTXO",informationMessage:"The UTXO will be leased for 10 minutes.",message:t,noBtnText:"Cancel",yesBtnText:"Lease UTXO"}})),this.rtlEffects.closeConfirm.pipe((0,d.R)(this.unSubs[0])).subscribe(t=>{t&&this.dataService.leaseUTXO(e.outpoint.txid_bytes,e.outpoint.output_index)})}onDownloadCSV(){this.listUTXOs.data&&this.listUTXOs.data.length>0&&this.commonService.downloadFile(this.listUTXOs.data,"UTXOs")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(dt.D),o.Y36(y.yh),o.Y36(St.V),o.Y36(a.JJ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-utxos"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},inputs:{isDustUTXO:"isDustUTXO"},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("UTXOs")}]),o.TTD],decls:35,vars:13,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","end stretch","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","tx_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","output"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","label"],["matColumnDef","amount_sat"],["matColumnDef","confirmations"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-3",4,"matCellDef"],["matColumnDef","no_utxo"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["emptySpace",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["fxLayout","row"],[4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Risk of dust attack","matTooltipPosition","right",4,"ngIf","ngIfElse"],["matTooltip","Risk of dust attack","matTooltipPosition","right"],["fxLayoutAlign","start center","color","warn",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-form-field",2),o.TgZ(3,"input",3),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"div",5),o.YNc(6,fd,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,xd,2,0,"th",10),o.YNc(11,Cd,5,5,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,Td,2,0,"th",13),o.YNc(14,bd,3,1,"td",14),o.BQk(),o.ynx(15,15),o.YNc(16,wd,2,0,"th",10),o.YNc(17,_d,2,4,"td",11),o.BQk(),o.ynx(18,16),o.YNc(19,vd,2,0,"th",13),o.YNc(20,qd,4,3,"td",14),o.BQk(),o.ynx(21,17),o.YNc(22,Sd,2,0,"th",13),o.YNc(23,Fd,4,3,"td",14),o.BQk(),o.ynx(24,18),o.YNc(25,Ld,6,0,"th",19),o.YNc(26,kd,10,0,"td",20),o.BQk(),o.ynx(27,21),o.YNc(28,Od,4,3,"td",22),o.BQk(),o.YNc(29,Dd,1,3,"tr",23),o.YNc(30,Rd,1,0,"tr",24),o.YNc(31,Md,1,0,"tr",25),o.qZA(),o._UZ(32,"mat-paginator",26),o.qZA(),o.qZA(),o.qZA(),o.YNc(33,Ed,1,0,"ng-template",null,27,o.W1O)),2&e&&(o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchUTXOs.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.listUTXOs)("ngClass",o.VKq(10,Qd,""!==t.errorMessage)),o.xp6(22),o.Q6J("matFooterRowDef",o.DdM(12,Yd)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,R.gM,S.Hw,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.JJ],styles:[".mat-column-label[_ngcontent-%COMP%]{padding-left:1rem;flex:1 1 15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-tx_id[_ngcontent-%COMP%]{flex:1 1 15%}.mat-column-tx_id[_ngcontent-%COMP%] .ellipsis-child[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function Bd(e,t){1&e&&o._UZ(0,"mat-progress-bar",28)}function Gd(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Date/Time "),o.qZA())}function Hd(e,t){if(1&e&&(o.TgZ(0,"td",30),o._uU(1),o.ALo(2,"date"),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Oqu(o.xi3(2,1,1e3*e.time_stamp,"dd/MMM/YYYY HH:mm"))}}function zd(e,t){1&e&&(o.TgZ(0,"th",29),o._uU(1," Label "),o.qZA())}const Vd=function(e){return{"max-width":e}};function Wd(e,t){if(1&e&&(o.TgZ(0,"td",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Vd,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),o.xp6(1),o.hij(" ",null==e?null:e.label," ")}}function Xd(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Amount (Sats) "),o.qZA())}function $d(e,t){if(1&e&&(o.TgZ(0,"span",35),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.Oqu(o.lcZ(2,1,e.amount))}}function jd(e,t){if(1&e&&(o.TgZ(0,"span",36),o._uU(1),o.ALo(2,"number"),o.qZA()),2&e){const e=o.oxw().$implicit;o.xp6(1),o.hij("(",o.lcZ(2,1,-1*e.amount),")")}}function Kd(e,t){if(1&e&&(o.TgZ(0,"td",30),o.YNc(1,$d,3,3,"span",33),o.YNc(2,jd,3,3,"span",34),o.qZA()),2&e){const e=t.$implicit;o.xp6(1),o.Q6J("ngIf",e.amount>0||0===e.amount),o.xp6(1),o.Q6J("ngIf",e.amount<0)}}function eh(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Fees (Sats) "),o.qZA())}function th(e,t){if(1&e&&(o.TgZ(0,"td",30),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.total_fees))}}function nh(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Block Height "),o.qZA())}function ah(e,t){if(1&e&&(o.TgZ(0,"td",30),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.Oqu(o.lcZ(3,1,e.block_height))}}function ih(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Confirmations "),o.qZA())}function sh(e,t){if(1&e&&(o.TgZ(0,"td",30),o.TgZ(1,"span",35),o._uU(2),o.ALo(3,"number"),o.qZA(),o.qZA()),2&e){const e=t.$implicit;o.xp6(2),o.hij(" ",o.lcZ(3,1,null==e?null:e.num_confirmations)," ")}}function oh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"th",37),o.TgZ(1,"div",38),o.TgZ(2,"mat-select",39),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",40),o.NdJ("click",function(){return o.CHM(e),o.oxw().onDownloadCSV()}),o._uU(5,"Download CSV"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function lh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",41),o.TgZ(1,"button",42),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onTransactionClick(t)}),o._uU(2,"View Info"),o.qZA(),o.qZA()}}function rh(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No transaction available."),o.qZA())}function ch(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting transactions..."),o.qZA())}function uh(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function ph(e,t){if(1&e&&(o.TgZ(0,"td",43),o.YNc(1,rh,2,0,"p",44),o.YNc(2,ch,2,0,"p",44),o.YNc(3,uh,2,1,"p",44),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.listTransactions&&e.listTransactions.data)||(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchTransactions.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.listTransactions&&e.listTransactions.data)||(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchTransactions.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.listTransactions&&e.listTransactions.data)||(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchTransactions.status)===e.apiCallStatusEnum.ERROR)}}const dh=function(e){return{"display-none":e}};function hh(e,t){if(1&e&&o._UZ(0,"tr",45),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,dh,(null==e.listTransactions?null:e.listTransactions.data)&&(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)>0))}}function mh(e,t){1&e&&o._UZ(0,"tr",46)}function gh(e,t){1&e&&o._UZ(0,"tr",47)}const fh=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},xh=function(){return["no_transaction"]};let Zh=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.datePipe=a,this.faHistory=g.qO$,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["time_stamp","amount","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["time_stamp","amount","num_confirmations","total_fees","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["time_stamp","label","amount","total_fees","num_confirmations","actions"]):(this.flgSticky=!0,this.displayedColumns=["time_stamp","label","amount","total_fees","block_height","num_confirmations","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchTransactions.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchTransactions.message?JSON.stringify(this.apisCallStatus.FetchTransactions.message):this.apisCallStatus.FetchTransactions.message),e.transactions&&e.transactions.length>0&&(this.transactions=e.transactions,this.loadTransactionsTable(this.transactions)),this.logger.info(e)})}ngOnChanges(){this.transactions&&this.transactions.length>0&&this.loadTransactionsTable(this.transactions)}applyFilter(e){this.listTransactions.filter=e.value.trim().toLowerCase()}onTransactionClick(e){this.store.dispatch(new ee.wu({data:{type:f.n_.INFORMATION,alertTitle:"Transaction Information",message:[[{key:"block_hash",value:e.block_hash,title:"Block Hash",width:100}],[{key:"tx_hash",value:e.tx_hash,title:"Transaction Hash",width:100}],[{key:"label",value:e.label,title:"Label",width:100,type:f.Gi.STRING}],[{key:"time_stamp",value:e.time_stamp,title:"Date/Time",width:50,type:f.Gi.DATE_TIME},{key:"block_height",value:e.block_height,title:"Block Height",width:50,type:f.Gi.NUMBER}],[{key:"num_confirmations",value:e.num_confirmations,title:"Number of Confirmations",width:34,type:f.Gi.NUMBER},{key:"total_fees",value:e.total_fees,title:"Total Fees (Sats)",width:33,type:f.Gi.NUMBER},{key:"amount",value:e.amount,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER}],[{key:"dest_addresses",value:e.dest_addresses,title:"Destination Addresses",width:100,type:f.Gi.ARRAY}]],scrollable:e.dest_addresses&&e.dest_addresses.length>5}}))}loadTransactionsTable(e){this.listTransactions=new Ze.by([...e]),this.listTransactions.sort=this.sort,this.listTransactions.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.listTransactions.filterPredicate=(e,t)=>((e.time_stamp?this.datePipe.transform(new Date(1e3*e.time_stamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.listTransactions.paginator=this.paginator,this.logger.info(this.listTransactions)}onDownloadCSV(){this.listTransactions.data&&this.listTransactions.data.length>0&&this.commonService.downloadFile(this.listTransactions.data,"Transactions")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh),o.Y36(a.uU))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-transaction-history"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Transactions")}]),o.TTD],decls:36,vars:13,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","end stretch","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxLayoutAlign","start end","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","time_stamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","label"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","total_fees"],["matColumnDef","block_height"],["matColumnDef","num_confirmations"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-form-field",2),o.TgZ(3,"input",3),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"div",5),o.YNc(6,Bd,1,0,"mat-progress-bar",6),o.TgZ(7,"table",7,8),o.ynx(9,9),o.YNc(10,Gd,2,0,"th",10),o.YNc(11,Hd,3,4,"td",11),o.BQk(),o.ynx(12,12),o.YNc(13,zd,2,0,"th",10),o.YNc(14,Wd,2,4,"td",13),o.BQk(),o.ynx(15,14),o.YNc(16,Xd,2,0,"th",15),o.YNc(17,Kd,3,2,"td",11),o.BQk(),o.ynx(18,16),o.YNc(19,eh,2,0,"th",15),o.YNc(20,th,4,3,"td",11),o.BQk(),o.ynx(21,17),o.YNc(22,nh,2,0,"th",15),o.YNc(23,ah,4,3,"td",11),o.BQk(),o.ynx(24,18),o.YNc(25,ih,2,0,"th",15),o.YNc(26,sh,4,3,"td",11),o.BQk(),o.ynx(27,19),o.YNc(28,oh,6,0,"th",20),o.YNc(29,lh,3,0,"td",21),o.BQk(),o.ynx(30,22),o.YNc(31,ph,4,3,"td",23),o.BQk(),o.YNc(32,hh,1,3,"tr",24),o.YNc(33,mh,1,0,"tr",25),o.YNc(34,gh,1,0,"tr",26),o.qZA(),o._UZ(35,"mat-paginator",27),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchTransactions.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.listTransactions)("ngClass",o.VKq(10,fh,""!==t.errorMessage)),o.xp6(25),o.Q6J("matFooterRowDef",o.DdM(12,xh)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,we.gD,we.$L,ve.ey,q.lW,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-label[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function yh(e,t){if(1&e&&(o.TgZ(0,"span",5),o._uU(1,"UTXOs"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numUtxos)}}function Ah(e,t){if(1&e&&(o.TgZ(0,"span",5),o._uU(1,"Transactions"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numTransactions)}}function Ch(e,t){if(1&e&&(o.TgZ(0,"span",5),o._uU(1,"Dust UTXOs"),o.qZA()),2&e){const e=o.oxw();o.s9C("matBadge",e.numDustUtxos)}}let Th=(()=>{class e{constructor(e,t){this.logger=e,this.store=t,this.selectedTableIndex=0,this.selectedTableIndexChange=new o.vpe,this.numTransactions=0,this.numUtxos=0,this.numDustUtxos=0,this.unSubs=[new p.x]}ngOnInit(){this.store.dispatch(new x.eL),this.store.dispatch(new x.Zt),this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{e.utxos&&e.utxos.length>0&&(this.numUtxos=e.utxos.length,this.numDustUtxos=e.utxos.filter(e=>+e.amount_sat<1e3).length),e.transactions&&e.transactions.length>0&&(this.numTransactions=e.transactions.length),this.logger.info(e)})}onSelectedIndexChanged(e){this.selectedTableIndexChange.emit(e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-utxo-tables"]],inputs:{selectedTableIndex:"selectedTableIndex"},outputs:{selectedTableIndexChange:"selectedTableIndexChange"},decls:11,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"bordered-box"],[3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],["fxLayout","row","fxFlex","100",3,"isDustUTXO"],["fxLayout","row","fxFlex","100"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"mat-tab-group",1),o.NdJ("selectedIndexChange",function(e){return t.onSelectedIndexChanged(e)}),o.TgZ(2,"mat-tab"),o.YNc(3,yh,2,1,"ng-template",2),o._UZ(4,"rtl-on-chain-utxos",3),o.qZA(),o.TgZ(5,"mat-tab"),o.YNc(6,Ah,2,1,"ng-template",2),o._UZ(7,"rtl-on-chain-transaction-history",4),o.qZA(),o.TgZ(8,"mat-tab"),o.YNc(9,Ch,2,1,"ng-template",2),o._UZ(10,"rtl-on-chain-utxos",3),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("selectedIndex",t.selectedTableIndex),o.xp6(3),o.Q6J("isDustUTXO",!1),o.xp6(6),o.Q6J("isDustUTXO",!0))},directives:[l.xw,l.yH,l.Wh,ge.SP,ge.uX,ge.uD,Pd,Zh,ra.k],styles:[""]}),e})();const bh=function(e,t){return[e,t]};function wh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",12),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=null==t?null:t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.Q6J("active",n.activeLink===(null==e?null:e.link))("routerLink",o.WLB(3,bh,null==e?null:e.link,null==n.selectedTable?null:n.selectedTable.name)),o.xp6(1),o.Oqu(null==e?null:e.name)}}let _h=(()=>{class e{constructor(e,t,n){this.store=e,this.router=t,this.activatedRoute=n,this.selNode={},this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"},{link:"sweep",name:"Sweep All"}],this.activeLink=this.links[0].link,this.tables=[{id:0,name:"utxos"},{id:1,name:"trans"},{id:2,name:"dustUtxos"}],this.selectedTable=this.tables[0],this.unSubs=[new p.x,new p.x,new p.x,new p.x]}ngOnInit(){const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.selectedTable=this.tables.find(e=>e.name===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.selectedTable=this.tables.find(t=>t.name===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.selNode=e.nodeSettings,this.balances=[{title:"Total Balance",dataValue:e.blockchainBalance.total_balance||0},{title:"Confirmed",dataValue:e.blockchainBalance.confirmed_balance},{title:"Unconfirmed",dataValue:e.blockchainBalance.unconfirmed_balance}]})}onSelectedTableIndexChanged(e){this.selectedTable=this.tables.find(t=>t.id===e),this.router.navigate(["./",this.activeLink,this.selectedTable.name],{relativeTo:this.activatedRoute})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(i.F0),o.Y36(i.gz))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain"]],decls:21,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100",3,"selectedTableIndex","selectedTableIndexChange"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"On-chain Balance"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o._UZ(7,"rtl-currency-unit-converter",5),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",0),o._UZ(9,"fa-icon",1),o.TgZ(10,"span",2),o._uU(11,"On-chain Transactions"),o.qZA(),o.qZA(),o.TgZ(12,"div",6),o.TgZ(13,"mat-card"),o.TgZ(14,"mat-card-content",4),o.TgZ(15,"nav",7),o.YNc(16,wh,2,6,"div",8),o.qZA(),o.TgZ(17,"div",9),o._UZ(18,"router-outlet"),o.qZA(),o.TgZ(19,"div",10),o.TgZ(20,"rtl-utxo-tables",11),o.NdJ("selectedTableIndexChange",function(e){return t.onSelectedTableIndexChanged(e)}),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faChartPie),o.xp6(6),o.Q6J("values",t.balances),o.xp6(2),o.Q6J("icon",t.faExchangeAlt),o.xp6(7),o.Q6J("ngForOf",t.links),o.xp6(4),o.Q6J("selectedTableIndex",null==t.selectedTable?null:t.selectedTable.id))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,la.D,ge.BU,a.sg,l.yH,i.lC,Th,ge.Nj,i.rH],styles:[""]}),e})();var vh=n(7969);function qh(e,t){if(1&e&&(o.TgZ(0,"mat-option",7),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.hij(" ",e.addressTp," ")}}let Sh=(()=>{class e{constructor(e,t){this.store=e,this.lndEffects=t,this.addressTypes=f._t,this.selectedAddressType=f._t[0],this.newAddress=""}onGenerateAddress(){this.store.dispatch(new x.ER(this.selectedAddressType)),this.lndEffects.setNewAddress.pipe((0,pt.q)(1)).subscribe(e=>{this.newAddress=e,this.store.dispatch(new ee.wu({width:"58%",data:{address:this.newAddress,addressType:this.selectedAddressType.addressTp,component:vh.n}}))})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(Ft.l))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-receive"]],decls:8,vars:2,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end"],["fxFlex","48","fxFlex.gt-md","25","fxLayoutAlign","start end",1,"mr-2"],["placeholder","Address Type","name","address_type","tabindex","1",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[1,"mt-2"],["mat-flat-button","","color","primary","tabindex","2",1,"top-minus-15px",3,"click"],[3,"value"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-form-field",2),o.TgZ(3,"mat-select",3),o.NdJ("ngModelChange",function(e){return t.selectedAddressType=e}),o.YNc(4,qh,2,2,"mat-option",4),o.qZA(),o.qZA(),o.TgZ(5,"div",5),o.TgZ(6,"button",6),o.NdJ("click",function(){return t.onGenerateAddress()}),o._uU(7,"Generate Address"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(3),o.Q6J("ngModel",t.selectedAddressType),o.xp6(1),o.Q6J("ngForOf",t.addressTypes))},directives:[l.xw,l.Wh,D.KE,l.yH,we.gD,Ae.JJ,Ae.On,a.sg,q.lW,ve.ey],styles:[""]}),e})();var Fh=n(1339);const Lh=["form"],kh=["formSweepAll"],Nh=["stepper"];function Uh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Bitcoin address is required."),o.qZA())}function Ih(e,t){if(1&e&&(o.TgZ(0,"mat-error"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.amountError)}}function Oh(e,t){if(1&e&&(o.TgZ(0,"mat-option",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e),o.xp6(1),o.Oqu(e)}}function Jh(e,t){if(1&e&&(o.TgZ(0,"mat-option",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function Dh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Number of blocks is required."),o.qZA())}function Rh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",23),o.TgZ(1,"input",32,33),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw(2).transactionBlocks=t}),o.qZA(),o.YNc(3,Dh,2,0,"mat-error",14),o.qZA()}if(2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngModel",e.transactionBlocks)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.transactionBlocks)}}function Mh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees is required."),o.qZA())}function Eh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-form-field",23),o.TgZ(1,"input",34,35),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw(2).transactionFees=t}),o.qZA(),o.YNc(3,Mh,2,0,"mat-error",14),o.qZA()}if(2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("ngModel",e.transactionFees)("step",1)("min",0),o.xp6(2),o.Q6J("ngIf",!e.transactionFees)}}function Qh(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.sendFundError)}}function Yh(e,t){if(1&e&&(o.TgZ(0,"div",36),o._UZ(1,"fa-icon",37),o.YNc(2,Qh,2,1,"span",14),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.sendFundError)}}function Ph(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"form",9,10),o.NdJ("submit",function(){return o.CHM(e),o.oxw().onSendFunds()})("reset",function(){return o.CHM(e),o.oxw().resetData()}),o.TgZ(2,"mat-form-field",11),o.TgZ(3,"input",12,13),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().transactionAddress=t}),o.qZA(),o.YNc(5,Uh,2,0,"mat-error",14),o.qZA(),o.TgZ(6,"mat-form-field",15),o.TgZ(7,"input",16,17),o.NdJ("ngModelChange",function(t){return o.CHM(e),o.oxw().transactionAmount=t}),o.qZA(),o.TgZ(9,"span",18),o._uU(10),o.qZA(),o.YNc(11,Ih,2,1,"mat-error",14),o.qZA(),o.TgZ(12,"mat-form-field",19),o.TgZ(13,"mat-select",20),o.NdJ("selectionChange",function(t){return o.CHM(e),o.oxw().onAmountUnitChange(t)}),o.YNc(14,Oh,2,2,"mat-option",21),o.qZA(),o.qZA(),o.TgZ(15,"div",22),o.TgZ(16,"mat-form-field",23),o.TgZ(17,"mat-select",24),o.NdJ("valueChange",function(t){return o.CHM(e),o.oxw().selTransType=t}),o.YNc(18,Jh,2,2,"mat-option",21),o.qZA(),o.qZA(),o.YNc(19,Rh,4,4,"mat-form-field",25),o.YNc(20,Eh,4,4,"mat-form-field",25),o.qZA(),o._UZ(21,"div",26),o.YNc(22,Yh,3,2,"div",27),o.TgZ(23,"div",28),o.TgZ(24,"button",29),o._uU(25,"Clear Fields"),o.qZA(),o.TgZ(26,"button",30),o._uU(27,"Send Funds"),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(3),o.Q6J("ngModel",e.transactionAddress),o.xp6(2),o.Q6J("ngIf",!e.transactionAddress),o.xp6(2),o.Q6J("ngModel",e.transactionAmount)("step",100)("min",0),o.xp6(3),o.hij(" ",e.selAmountUnit," "),o.xp6(1),o.Q6J("ngIf",!e.transactionAmount),o.xp6(2),o.Q6J("value",e.selAmountUnit),o.xp6(1),o.Q6J("ngForOf",e.amountUnits),o.xp6(3),o.Q6J("value",e.selTransType),o.xp6(1),o.Q6J("ngForOf",e.transTypes),o.xp6(1),o.Q6J("ngIf","1"===e.selTransType),o.xp6(1),o.Q6J("ngIf","2"===e.selTransType),o.xp6(2),o.Q6J("ngIf",""!==e.sendFundError)}}function Bh(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw(3);o.Oqu(e.passwordFormLabel)}}function Gh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Password is required."),o.qZA())}function Hh(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"mat-step",42),o.TgZ(1,"form",61),o.YNc(2,Bh,1,1,"ng-template",55),o.TgZ(3,"div",0),o.TgZ(4,"mat-form-field",1),o._UZ(5,"input",62),o.YNc(6,Gh,2,0,"mat-error",14),o.qZA(),o.qZA(),o.TgZ(7,"div",63),o.TgZ(8,"button",64),o.NdJ("click",function(){return o.CHM(e),o.oxw(2).onAuthenticate()}),o._uU(9,"Confirm"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw(2);o.Q6J("stepControl",e.passwordFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.passwordFormGroup),o.xp6(5),o.Q6J("ngIf",null==e.passwordFormGroup.controls.password.errors?null:e.passwordFormGroup.controls.password.errors.required)}}function zh(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw(2);o.Oqu(e.sendFundFormLabel)}}function Vh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Bitcoin address is required."),o.qZA())}function Wh(e,t){if(1&e&&(o.TgZ(0,"mat-option",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit;o.Q6J("value",e.id),o.xp6(1),o.hij(" ",e.name," ")}}function Xh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Number of blocks is required."),o.qZA())}function $h(e,t){if(1&e&&(o.TgZ(0,"mat-form-field",65),o._UZ(1,"input",66),o.YNc(2,Xh,2,0,"mat-error",14),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("step",1)("min",0),o.xp6(1),o.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionBlocks.errors?null:e.sendFundFormGroup.controls.transactionBlocks.errors.required)}}function jh(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Fees is required."),o.qZA())}function Kh(e,t){if(1&e&&(o.TgZ(0,"mat-form-field",65),o._UZ(1,"input",67),o.YNc(2,jh,2,0,"mat-error",14),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("step",1)("min",0),o.xp6(1),o.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionFees.errors?null:e.sendFundFormGroup.controls.transactionFees.errors.required)}}function em(e,t){if(1&e&&o._uU(0),2&e){const e=o.oxw(2);o.Oqu(e.confirmFormLabel)}}function tm(e,t){if(1&e&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&e){const e=o.oxw(3);o.xp6(1),o.Oqu(e.sendFundError)}}function nm(e,t){if(1&e&&(o.TgZ(0,"div",36),o._UZ(1,"fa-icon",37),o.YNc(2,tm,2,1,"span",14),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("icon",e.faExclamationTriangle),o.xp6(1),o.Q6J("ngIf",""!==e.sendFundError)}}function am(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",38),o.TgZ(1,"mat-vertical-stepper",39,40),o.NdJ("selectionChange",function(t){return o.CHM(e),o.oxw().stepSelectionChanged(t)}),o.YNc(3,Hh,10,4,"mat-step",41),o.TgZ(4,"mat-step",42),o.TgZ(5,"form",43),o.YNc(6,zh,1,1,"ng-template",44),o.TgZ(7,"div",45),o.TgZ(8,"mat-form-field",46),o._UZ(9,"input",47),o.YNc(10,Vh,2,0,"mat-error",14),o.qZA(),o.TgZ(11,"mat-form-field",48),o.TgZ(12,"mat-select",49),o.YNc(13,Wh,2,2,"mat-option",21),o.qZA(),o.qZA(),o.YNc(14,$h,3,3,"mat-form-field",50),o.YNc(15,Kh,3,3,"mat-form-field",50),o.qZA(),o.TgZ(16,"div",51),o.TgZ(17,"button",52),o._uU(18,"Next"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(19,"mat-step",53),o.TgZ(20,"form",54),o.YNc(21,em,1,1,"ng-template",55),o.TgZ(22,"div",38),o.TgZ(23,"div",56),o._UZ(24,"fa-icon",57),o.TgZ(25,"span"),o._uU(26,"You are about to sweep all funds from RTL. Are you sure?"),o.qZA(),o.qZA(),o.YNc(27,nm,3,2,"div",27),o.TgZ(28,"div",51),o.TgZ(29,"button",58),o.NdJ("click",function(){return o.CHM(e),o.oxw().onSendFunds()}),o._uU(30,"Sweep All Funds"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.TgZ(31,"div",59),o.TgZ(32,"button",60),o._uU(33),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(1),o.Q6J("linear",!0),o.xp6(2),o.Q6J("ngIf",!e.appConfig.sso.rtlSSO),o.xp6(1),o.Q6J("stepControl",e.sendFundFormGroup)("editable",e.flgEditable),o.xp6(1),o.Q6J("formGroup",e.sendFundFormGroup),o.xp6(5),o.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionAddress.errors?null:e.sendFundFormGroup.controls.transactionAddress.errors.required),o.xp6(3),o.Q6J("ngForOf",e.transTypes),o.xp6(1),o.Q6J("ngIf","1"===e.sendFundFormGroup.controls.selTransType.value),o.xp6(1),o.Q6J("ngIf","2"===e.sendFundFormGroup.controls.selTransType.value),o.xp6(4),o.Q6J("stepControl",e.confirmFormGroup),o.xp6(1),o.Q6J("formGroup",e.confirmFormGroup),o.xp6(4),o.Q6J("icon",e.faExclamationTriangle),o.xp6(3),o.Q6J("ngIf",""!==e.sendFundError),o.xp6(5),o.Q6J("mat-dialog-close",!1),o.xp6(1),o.Oqu(e.flgValidated?"Close":"Cancel")}}let im=(()=>{class e{constructor(e,t,n,a,i,s,o,l,r,c){this.dialogRef=e,this.data=t,this.logger=n,this.store=a,this.rtlEffects=i,this.commonService=s,this.decimalPipe=o,this.snackBar=l,this.actions=r,this.formBuilder=c,this.faExclamationTriangle=g.eHv,this.sweepAll=!1,this.selNode={},this.addressTypes=[],this.selectedAddress={},this.blockchainBalance={},this.information={},this.newAddress="",this.transactionAddress="",this.transactionAmount=null,this.transactionFees=null,this.transactionBlocks=null,this.transTypes=[{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],this.selTransType="1",this.fiatConversion=!1,this.amountUnits=f.uA,this.selAmountUnit=f.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=f.Xz,this.sendFundError="",this.flgValidated=!1,this.flgEditable=!0,this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds",this.confirmFormLabel="Confirm sweep",this.amountError="Amount is Required.",this.unSubs=[new p.x,new p.x,new p.x,new p.x,new p.x]}ngOnInit(){this.sweepAll=this.data.sweepAll,this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[Ae.kI.required]],password:["",[Ae.kI.required]]}),this.sendFundFormGroup=this.formBuilder.group({transactionAddress:["",Ae.kI.required],transactionBlocks:[null],transactionFees:[null],selTransType:["1",Ae.kI.required]}),this.confirmFormGroup=this.formBuilder.group({}),this.sendFundFormGroup.controls.selTransType.valueChanges.pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{"1"===e?(this.sendFundFormGroup.controls.transactionBlocks.setValidators([Ae.kI.required]),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFees.setValidators(null),this.sendFundFormGroup.controls.transactionFees.setValue(null)):(this.sendFundFormGroup.controls.transactionBlocks.setValidators(null),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFees.setValidators([Ae.kI.required]),this.sendFundFormGroup.controls.transactionFees.setValue(null))}),this.store.select("root").pipe((0,d.R)(this.unSubs[1])).subscribe(e=>{this.fiatConversion=e.selNode.settings.fiatConversion,this.amountUnits=e.selNode.settings.currencyUnits,this.appConfig=e.appConfig,this.nodeData=e.nodeData,this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[2]),(0,h.h)(e=>e.type===x.JE||e.type===x.__)).subscribe(e=>{e.type===x.__&&(this.store.dispatch(new ee.Lw(this.sweepAll?"All Funds Sent Successfully!":"Fund Sent Successfully!")),this.dialogRef.close()),e.type===x.JE&&e.payload.status===f.Bn.ERROR&&"SetChannelTransaction"===e.payload.action&&(this.sendFundError=e.payload.message)})}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new ee.ZF(Fh(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,pt.q)(1)).subscribe(e=>{"ERROR"!==e?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="";const e={amount:this.transactionAmount?this.transactionAmount:0,sendAll:this.sweepAll};this.sweepAll?(e.address=this.sendFundFormGroup.controls.transactionAddress.value,"1"===this.sendFundFormGroup.controls.selTransType.value&&(e.blocks=this.sendFundFormGroup.controls.transactionBlocks.value),"2"===this.sendFundFormGroup.controls.selTransType.value&&(e.fees=this.sendFundFormGroup.controls.transactionFees.value)):(e.address=this.transactionAddress,"1"===this.selTransType&&(e.blocks=this.transactionBlocks),"2"===this.selTransType&&(e.fees=this.transactionFees)),this.transactionAmount&&this.selAmountUnit!==f.NT.SATS?this.commonService.convertCurrency(this.transactionAmount,this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit,f.NT.SATS,this.amountUnits[2],this.fiatConversion).pipe((0,d.R)(this.unSubs[3])).subscribe({next:t=>{this.selAmountUnit=f.NT.SATS,e.amount=+this.decimalPipe.transform(t[this.amountUnits[0]],this.currencyUnitFormats[this.amountUnits[0]]).replace(/,/g,""),this.store.dispatch(new x.uj(e))},error:e=>{this.transactionAmount=null,this.selAmountUnit=f.NT.SATS,this.amountError="Conversion Error: "+e}}):this.store.dispatch(new x.uj(e))}get invalidValues(){return this.sweepAll?!this.sendFundFormGroup.controls.transactionAddress.value||""===this.sendFundFormGroup.controls.transactionAddress.value||"1"===this.sendFundFormGroup.controls.selTransType.value&&(!this.sendFundFormGroup.controls.transactionBlocks.value||this.sendFundFormGroup.controls.transactionBlocks.value<=0)||"2"===this.sendFundFormGroup.controls.selTransType.value&&(!this.sendFundFormGroup.controls.transactionFees.value||this.sendFundFormGroup.controls.transactionFees.value<=0):!this.transactionAddress||""===this.transactionAddress||!this.transactionAmount||this.transactionAmount<=0||"1"===this.selTransType&&(!this.transactionBlocks||this.transactionBlocks<=0)||"2"===this.selTransType&&(!this.transactionFees||this.transactionFees<=0)}resetData(){this.sendFundError="",this.selTransType="1",this.transactionAddress="",this.transactionBlocks=null,this.transactionFees=null,this.sweepAll||(this.transactionAmount=null)}stepSelectionChanged(e){switch(this.sendFundError="",e.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds";break;case 1:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds";break;case 2:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds | Address: "+this.sendFundFormGroup.controls.transactionAddress.value+" | "+this.transTypes[this.sendFundFormGroup.controls.selTransType.value-1].name+("2"===this.sendFundFormGroup.controls.selTransType.value?" (Sats/vByte)":"")+": "+("1"===this.sendFundFormGroup.controls.selTransType.value?this.sendFundFormGroup.controls.transactionBlocks.value:this.sendFundFormGroup.controls.transactionFees.value);break;default:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds"}e.selectedIndex{this.selAmountUnit=e.value,t.transactionAmount=+t.decimalPipe.transform(n[a],t.currencyUnitFormats[a]).replace(/,/g,"")},error:e=>{t.transactionAmount=null,this.amountError="Conversion Error: "+e,this.selAmountUnit=n,a=n}})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(ye.so),o.Y36(ye.WI),o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(St.V),o.Y36(C.v),o.Y36(a.JJ),o.Y36(Ai.ux),o.Y36(A.eX),o.Y36(Ae.qu))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-send-modal"]],viewQuery:function(e,t){if(1&e&&(o.Gf(Lh,7),o.Gf(kh,5),o.Gf(Nh,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.form=e.first),o.iGM(e=o.CRH())&&(t.formSweepAll=e.first),o.iGM(e=o.CRH())&&(t.stepper=e.first)}},decls:12,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100","class","overflow-x-hidden",3,"submit","reset",4,"ngIf","ngIfElse"],["sweepAllBlock",""],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex.gt-sm","55"],["autoFocus","","matInput","","placeholder","Bitcoin Address","tabindex","1","name","address","required","",3,"ngModel","ngModelChange"],["address","ngModel"],[4,"ngIf"],["fxFlex.gt-sm","30"],["matInput","","placeholder","Amount","name","amt","type","number","tabindex","2","required","",3,"ngModel","step","min","ngModelChange"],["amnt","ngModel"],["matSuffix",""],["fxFlex.gt-sm","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","60","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex","48"],["tabindex","4",3,"value","valueChange"],["fxFlex","48",4,"ngIf"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","40","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["matInput","","placeholder","Number of Blocks","type","number","name","blcks","required","","tabindex","5",3,"ngModel","step","min","ngModelChange"],["blocks","ngModel"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","chainFees","required","","tabindex","6",3,"ngModel","step","min","ngModelChange"],["fees","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl","editable"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxFlex","98","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex.gt-sm","45"],["matInput","","formControlName","transactionAddress","placeholder","Bitcoin Address","tabindex","4","name","address","required",""],["fxFlex.gt-sm","25"],["formControlName","selTransType","tabindex","5"],["fxFlex.gt-sm","25","fxLayoutAlign","start end",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","button","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["fxFlex","100",1,"w-100","alert","alert-warn"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["mat-stroked-button","","color","primary","tabindex","9","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxFlex.gt-sm","25","fxLayoutAlign","start end"],["matInput","","formControlName","transactionBlocks","placeholder","Number of Blocks","type","number","name","blcks","required","","tabindex","6",3,"step","min"],["matInput","","formControlName","transactionFees","placeholder","Fees (Sats/vByte)","type","number","name","chainFees","required","","tabindex","7",3,"step","min"]],template:function(e,t){if(1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"mat-card-header",2),o.TgZ(3,"div",3),o.TgZ(4,"span",4),o._uU(5),o.qZA(),o.qZA(),o.TgZ(6,"button",5),o._uU(7,"X"),o.qZA(),o.qZA(),o.TgZ(8,"mat-card-content",6),o.YNc(9,Ph,28,14,"form",7),o.qZA(),o.qZA(),o.qZA(),o.YNc(10,am,34,15,"ng-template",null,8,o.W1O)),2&e){const e=o.MAs(11);o.xp6(5),o.Oqu(t.sweepAll?"Sweep All Funds":"Send Funds"),o.xp6(1),o.Q6J("mat-dialog-close",!1),o.xp6(3),o.Q6J("ngIf",!t.sweepAll)("ngIfElse",e)}},directives:[l.xw,l.yH,w.dk,l.Wh,q.lW,ye.ZT,w.dn,a.O5,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.Q7,Ae.JJ,Ae.On,Ae.wV,Ae.qQ,be.q,D.R9,we.gD,a.sg,D.TO,ve.ey,T.BN,La.Vq,La.C0,Ae.sg,La.VY,Ae.u,La.Ic],styles:[""]}),e})(),sm=(()=>{class e{constructor(e,t){this.store=e,this.activatedRoute=t,this.sweepAll=!1,this.unSubs=[new p.x,new p.x]}ngOnInit(){this.activatedRoute.data.pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.sweepAll=e.sweepAll})}openSendFundsModal(){this.store.dispatch(new ee.wu({data:{sweepAll:this.sweepAll,component:im}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(y.yh),o.Y36(i.gz))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"button",2),o.NdJ("click",function(){return t.openSendFundsModal()}),o._uU(3),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(3),o.Oqu(t.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,q.lW],styles:[""]}),e})();function om(e,t){1&e&&o._UZ(0,"mat-progress-bar",26)}function lm(e,t){if(1&e&&o._UZ(0,"rtl-node-info",27),2&e){const e=o.oxw(3);o.Q6J("information",e.information)("showColorFieldSeparately",!0)}}function rm(e,t){if(1&e&&o._UZ(0,"rtl-channel-status-info",28),2&e){const e=o.oxw(3);o.Q6J("channelsStatus",e.channelsStatus)("errorMessage",e.errorMessages[3]+" "+e.errorMessages[4])}}function cm(e,t){if(1&e&&o._UZ(0,"rtl-fee-info",29),2&e){const e=o.oxw(3);o.Q6J("fees",e.fees)("errorMessage",e.errorMessages[2])}}const um=function(e){return{"dashboard-card-content":!0,"error-border":e}};function pm(e,t){if(1&e&&(o.TgZ(0,"mat-grid-tile",13),o.TgZ(1,"div",14),o.TgZ(2,"div",15),o.TgZ(3,"div",16),o._UZ(4,"fa-icon",17),o.TgZ(5,"span"),o._uU(6),o.qZA(),o.qZA(),o.qZA(),o.TgZ(7,"div",18),o.TgZ(8,"mat-card",19),o.TgZ(9,"mat-card-content",20),o.YNc(10,om,1,0,"mat-progress-bar",21),o.TgZ(11,"div",22),o.YNc(12,lm,1,2,"rtl-node-info",23),o.YNc(13,rm,1,2,"rtl-channel-status-info",24),o.YNc(14,cm,1,2,"rtl-fee-info",25),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw(2);o.Q6J("colspan",e.cols)("rowspan",e.rows),o.xp6(4),o.Q6J("icon",e.icon),o.xp6(2),o.Oqu(e.title),o.xp6(3),o.Q6J("ngClass",o.VKq(10,um,"node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.ERROR||"status"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.ERROR||n.apisCallStatus.FetchPendingChannels.status===n.apiCallStatusEnum.ERROR)||"fee"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf","node"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchInfo.status)===n.apiCallStatusEnum.INITIATED||"status"===e.id&&((null==n.apisCallStatus?null:n.apisCallStatus.FetchAllChannels.status)===n.apiCallStatusEnum.INITIATED||n.apisCallStatus.FetchPendingChannels.status===n.apiCallStatusEnum.INITIATED)||"fee"===e.id&&(null==n.apisCallStatus?null:n.apisCallStatus.FetchFees.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",e.id),o.xp6(1),o.Q6J("ngSwitchCase","node"),o.xp6(1),o.Q6J("ngSwitchCase","status"),o.xp6(1),o.Q6J("ngSwitchCase","fee")}}function dm(e,t){if(1&e&&(o.TgZ(0,"mat-grid-list",11),o.YNc(1,pm,15,12,"mat-grid-tile",12),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngForOf",e.nodeCards)}}function hm(e,t){1&e&&o._UZ(0,"mat-progress-bar",26)}function mm(e,t){1&e&&o.GkF(0)}function gm(e,t){if(1&e&&(o.TgZ(0,"div",33),o.YNc(1,mm,1,0,"ng-container",34),o.qZA()),2&e){const e=o.oxw(2),t=o.MAs(9),n=o.MAs(11);o.xp6(1),o.Q6J("ngTemplateOutlet",(null==e.apisCallStatus?null:e.apisCallStatus.FetchNetwork.status)===e.apiCallStatusEnum.ERROR?t:n)}}function fm(e,t){1&e&&o.GkF(0)}function xm(e,t){if(1&e&&(o.TgZ(0,"div",33),o.YNc(1,fm,1,0,"ng-container",34),o.qZA()),2&e){const e=o.oxw(2),t=o.MAs(9),n=o.MAs(13);o.xp6(1),o.Q6J("ngTemplateOutlet",(null==e.apisCallStatus?null:e.apisCallStatus.FetchNetwork.status)===e.apiCallStatusEnum.ERROR?t:n)}}function Zm(e,t){1&e&&o.GkF(0)}function ym(e,t){if(1&e&&(o.TgZ(0,"div",33),o.YNc(1,Zm,1,0,"ng-container",34),o.qZA()),2&e){const e=o.oxw(2),t=o.MAs(9),n=o.MAs(15);o.xp6(1),o.Q6J("ngTemplateOutlet",(null==e.apisCallStatus?null:e.apisCallStatus.FetchNetwork.status)===e.apiCallStatusEnum.ERROR?t:n)}}function Am(e,t){if(1&e&&(o.TgZ(0,"mat-grid-tile",30),o.TgZ(1,"mat-card",31),o.TgZ(2,"mat-card-content",20),o.YNc(3,hm,1,0,"mat-progress-bar",21),o.TgZ(4,"div",22),o.YNc(5,gm,2,1,"div",32),o.YNc(6,xm,2,1,"div",32),o.YNc(7,ym,2,1,"div",32),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("colspan",e.cols)("rowspan",e.rows),o.xp6(2),o.Q6J("ngClass",o.VKq(8,um,(null==n.apisCallStatus?null:n.apisCallStatus.FetchNetwork.status)===n.apiCallStatusEnum.ERROR)),o.xp6(1),o.Q6J("ngIf",(null==n.apisCallStatus?null:n.apisCallStatus.FetchNetwork.status)===n.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngSwitch",e.id),o.xp6(1),o.Q6J("ngSwitchCase","general"),o.xp6(1),o.Q6J("ngSwitchCase","channels"),o.xp6(1),o.Q6J("ngSwitchCase","degrees")}}function Cm(e,t){if(1&e&&(o.TgZ(0,"div",35),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.Oqu(e.errorMessages[1])}}function Tm(e,t){if(1&e&&(o.TgZ(0,"div",36),o.TgZ(1,"div"),o.TgZ(2,"h4",37),o._uU(3,"Network Capacity"),o.qZA(),o.TgZ(4,"div",38),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA(),o.TgZ(7,"div"),o.TgZ(8,"h4",37),o._uU(9,"Number of Nodes"),o.qZA(),o.TgZ(10,"div",38),o._uU(11),o.ALo(12,"number"),o.qZA(),o.qZA(),o.TgZ(13,"div"),o.TgZ(14,"h4",37),o._uU(15,"Number of Channels"),o.qZA(),o.TgZ(16,"span",38),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(5),o.hij("",o.lcZ(6,3,e.networkInfo.total_network_capacity)," Sats"),o.xp6(6),o.Oqu(o.lcZ(12,5,e.networkInfo.num_nodes)),o.xp6(6),o.Oqu(o.lcZ(18,7,e.networkInfo.num_channels))}}function bm(e,t){if(1&e&&(o.TgZ(0,"div",36),o.TgZ(1,"div"),o.TgZ(2,"h4",37),o._uU(3,"Max Channel Size"),o.qZA(),o.TgZ(4,"div",38),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA(),o.TgZ(7,"div"),o.TgZ(8,"h4",37),o._uU(9,"Avg Channel Size"),o.qZA(),o.TgZ(10,"div",38),o._uU(11),o.ALo(12,"number"),o.qZA(),o.qZA(),o.TgZ(13,"div"),o.TgZ(14,"h4",37),o._uU(15,"Min Channel Size"),o.qZA(),o.TgZ(16,"span",38),o._uU(17),o.ALo(18,"number"),o.qZA(),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(5),o.Oqu(o.lcZ(6,3,e.networkInfo.max_channel_size)),o.xp6(6),o.Oqu(o.lcZ(12,5,e.networkInfo.avg_channel_size)),o.xp6(6),o.Oqu(o.lcZ(18,7,e.networkInfo.min_channel_size))}}function wm(e,t){if(1&e&&(o.TgZ(0,"div",36),o.TgZ(1,"div"),o.TgZ(2,"h4",37),o._uU(3,"Max Out Degree"),o.qZA(),o.TgZ(4,"div",38),o._uU(5),o.ALo(6,"number"),o.qZA(),o.qZA(),o.TgZ(7,"div"),o.TgZ(8,"h4",37),o._uU(9,"Avg Out Degree"),o.qZA(),o.TgZ(10,"div",38),o._uU(11),o.ALo(12,"number"),o.qZA(),o.qZA(),o.TgZ(13,"div",39),o._UZ(14,"h4",37),o._UZ(15,"span",38),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(5),o.Oqu(o.lcZ(6,2,e.networkInfo.max_out_degree)),o.xp6(6),o.Oqu(o.xi3(12,4,e.networkInfo.avg_out_degree,"1.0-2"))}}const _m=function(e){return{"mt-1":e}};let vm=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.faProjectDiagram=g.o4t,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.selNode={},this.information={},this.channelsStatus={},this.networkInfo={},this.networkCards=[],this.nodeCards=[],this.screenSize="",this.screenSizeEnum=f.cu,this.userPersonaEnum=f.ol,this.errorMessages=["","","","",""],this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.networkCards=[{id:"general",cols:3,rows:1},{id:"channels",cols:3,rows:1},{id:"degrees",cols:3,rows:1}],this.nodeCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1}]):(this.networkCards=[{id:"general",cols:1,rows:1},{id:"channels",cols:1,rows:1},{id:"degrees",cols:1,rows:1}],this.nodeCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:1,rows:1},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:1,rows:1},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:1,rows:1}])}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessages=["","","","",""],this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchInfo.status===f.Bn.ERROR&&(this.errorMessages[0]="object"==typeof this.apisCallStatus.FetchInfo.message?JSON.stringify(this.apisCallStatus.FetchInfo.message):this.apisCallStatus.FetchInfo.message),e.apisCallStatus.FetchNetwork.status===f.Bn.ERROR&&(this.errorMessages[1]="object"==typeof this.apisCallStatus.FetchNetwork.message?JSON.stringify(this.apisCallStatus.FetchNetwork.message):this.apisCallStatus.FetchNetwork.message),e.apisCallStatus.FetchFees.status===f.Bn.ERROR&&(this.errorMessages[2]="object"==typeof this.apisCallStatus.FetchFees.message?JSON.stringify(this.apisCallStatus.FetchFees.message):this.apisCallStatus.FetchFees.message),e.apisCallStatus.FetchAllChannels.status===f.Bn.ERROR&&(this.errorMessages[3]="object"==typeof this.apisCallStatus.FetchAllChannels.message?JSON.stringify(this.apisCallStatus.FetchAllChannels.message):this.apisCallStatus.FetchAllChannels.message),e.apisCallStatus.FetchPendingChannels.status===f.Bn.ERROR&&(this.errorMessages[4]="object"==typeof this.apisCallStatus.FetchPendingChannels.message?JSON.stringify(this.apisCallStatus.FetchPendingChannels.message):this.apisCallStatus.FetchPendingChannels.message),this.selNode=e.nodeSettings,this.information=e.information,this.networkInfo=e.networkInfo,this.fees=e.fees,this.channelsStatus={active:{channels:e.numberOfActiveChannels,capacity:e.totalCapacityActive},inactive:{channels:e.numberOfInactiveChannels,capacity:e.totalCapacityInactive},pending:{channels:e.numberOfPendingChannels.open.num_channels,capacity:e.numberOfPendingChannels.open.limbo_balance},closing:{channels:e.numberOfPendingChannels.closing.num_channels+e.numberOfPendingChannels.force_closing.num_channels+e.numberOfPendingChannels.waiting_close.num_channels,capacity:e.numberOfPendingChannels.total_limbo_balance}},this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(C.v),o.Y36(y.yh))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-network-info"]],decls:16,vars:6,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch",1,"mb-4"],["cols","3","rowHeight","330px",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container",3,"ngClass"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","3","rowHeight","250px"],["fxLayout","row",3,"colspan","rowspan",4,"ngFor","ngForOf"],["errorBlock",""],["generalBlock",""],["channelsBlock",""],["degreesBlock",""],["cols","3","rowHeight","330px"],["class","node-grid-tile",3,"colspan","rowspan",4,"ngFor","ngForOf"],[1,"node-grid-tile",3,"colspan","rowspan"],["fxLayout","column","fxLayoutAlign","stretch start","fxFlex","100",1,"h-100"],["fxLayout","row","fxLayoutAlign","start start",1,"w-100"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container"],[1,"mr-1",3,"icon"],["fxLayout","column","fxLayoutAlign","stretch center","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","center stretch",1,"w-100","h-93"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","w-96","h-93"],["fxLayout","column","fxFlex","100",3,"ngClass"],["mode","indeterminate",4,"ngIf"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","errorMessage",4,"ngSwitchCase"],["fxFlex","100",3,"fees","errorMessage",4,"ngSwitchCase"],["mode","indeterminate"],["fxFlex","100",3,"information","showColorFieldSeparately"],["fxFlex","100",3,"channelsStatus","errorMessage"],["fxFlex","100",3,"fees","errorMessage"],["fxLayout","row",3,"colspan","rowspan"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","h-93"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100"],[4,"ngTemplateOutlet"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between",1,"p-2"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxFlex","20"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,dm,2,1,"mat-grid-list",1),o.TgZ(2,"div",2),o._UZ(3,"fa-icon",3),o.TgZ(4,"span",4),o._uU(5,"Network"),o.qZA(),o.qZA(),o.TgZ(6,"mat-grid-list",5),o.YNc(7,Am,8,10,"mat-grid-tile",6),o.qZA(),o.qZA(),o.YNc(8,Cm,3,1,"ng-template",null,7,o.W1O),o.YNc(10,Tm,19,9,"ng-template",null,8,o.W1O),o.YNc(12,bm,19,9,"ng-template",null,9,o.W1O),o.YNc(14,wm,16,7,"ng-template",null,10,o.W1O)),2&e&&(o.xp6(1),o.Q6J("ngIf",t.selNode.userPersona!==t.userPersonaEnum.OPERATOR),o.xp6(1),o.Q6J("ngClass",o.VKq(4,_m,t.screenSize!==t.screenSizeEnum.XS)),o.xp6(1),o.Q6J("icon",t.faProjectDiagram),o.xp6(4),o.Q6J("ngForOf",t.networkCards))},directives:[l.xw,l.Wh,a.O5,a.mk,v.oO,T.BN,b.Il,a.sg,b.DX,l.yH,w.a8,w.dn,a.RF,a.n9,r.pW,U,j,W,a.tP],pipes:[a.JJ],styles:[""]}),e})();function qm(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",8),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.s9C("routerLink",e.link),o.Q6J("active",n.activeLink===e.link),o.xp6(1),o.Oqu(e.name)}}let Sm=(()=>{class e{constructor(e){this.router=e,this.faDownload=g.q7m,this.links=[{link:"bckup",name:"Backup"},{link:"restore",name:"Restore"}],this.activeLink=this.links[0].link,this.unSubs=[new p.x,new p.x]}ngOnInit(){const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-backup"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Channels Backup"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,qm,2,3,"div",6),o.qZA(),o.TgZ(9,"div",7),o._UZ(10,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faDownload),o.xp6(7),o.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,ge.BU,a.sg,l.yH,i.lC,ge.Nj,i.rH],styles:[""]}),e})();function Fm(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",23),o.TgZ(1,"h4",24),o._uU(2),o.qZA(),o.TgZ(3,"div",25),o.TgZ(4,"button",26),o.NdJ("click",function(){return o.CHM(e),o.oxw().onRestoreChannels({})}),o._uU(5,"Restore All"),o.qZA(),o.qZA(),o.qZA()}if(2&e){const e=o.oxw();o.xp6(2),o.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function Lm(e,t){if(1&e&&(o.TgZ(0,"div",27),o.TgZ(1,"h4",24),o._uU(2),o.qZA(),o.TgZ(3,"h4",28),o._uU(4,"All channel backup file not found! To perform channel restoration, channel backup file/s must be placed at the above location."),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function km(e,t){if(1&e&&(o.TgZ(0,"div",27),o.TgZ(1,"h4",24),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw();o.xp6(2),o.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function Nm(e,t){1&e&&o._UZ(0,"mat-progress-bar",29)}function Um(e,t){1&e&&(o.TgZ(0,"th",30),o._uU(1," Channel Point "),o.qZA())}const Im=function(e){return{"max-width":e}};function Om(e,t){if(1&e&&(o.TgZ(0,"td",31),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Im,n.screenSize===n.screenSizeEnum.XS?"10rem":"45rem")),o.xp6(1),o.Oqu(null==e?null:e.channel_point)}}function Jm(e,t){1&e&&(o.TgZ(0,"th",32),o.TgZ(1,"span",33),o._uU(2,"Actions"),o.qZA(),o.qZA())}function Dm(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",34),o.TgZ(1,"span",33),o.TgZ(2,"button",35),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onRestoreChannels(t)}),o._uU(3,"Restore"),o.qZA(),o.qZA(),o.qZA()}}function Rm(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No singular channel backups available."),o.qZA())}function Mm(e,t){if(1&e&&(o.TgZ(0,"td",36),o.YNc(1,Rm,2,0,"p",37),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",!e.channels||!e.channels.data||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)}}const Em=function(e){return{"display-none":e}};function Qm(e,t){if(1&e&&o._UZ(0,"tr",38),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,Em,e.channels&&e.channels.data&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Ym(e,t){1&e&&o._UZ(0,"tr",39)}function Pm(e,t){1&e&&o._UZ(0,"tr",40)}const Bm=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Gm=function(){return["no_channel"]};let Hm=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.store=t,this.lndEffects=n,this.commonService=a,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.selNode={},this.displayedColumns=["channel_point","actions"],this.channelsData=[],this.allRestoreExists=!1,this.flgLoading=[!0],this.flgSticky=!1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.dispatch(new x.gL),this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.logger.info(e)}),this.lndEffects.setRestoreChannelList.pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.allRestoreExists=e.all_restore_exists,this.channelsData=e.files,this.channelsData.length>0&&this.loadRestoreTable(this.channelsData),("error"!==this.flgLoading[0]||e&&e.files)&&(this.flgLoading[0]=!1),this.logger.info(e)})}ngAfterViewInit(){this.channelsData&&this.channelsData.length>0&&this.loadRestoreTable(this.channelsData)}onRestoreChannels(e){this.store.dispatch(new x.Cd({channelPoint:e.channel_point?e.channel_point:"ALL"}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadRestoreTable(e){this.channels=new Ze.by([...e]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.channels.paginator=this.paginator}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(Ft.l),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-restore-table"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Channels")}])],decls:24,vars:16,consts:[["fxLayout","column",1,"mt-2"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between start","fxLayout.gt-md","row wrap",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-2"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","channel_point"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","100"],["fxLayout","row",1,"mt-2"],["mat-flat-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxLayoutAlign","space-between start","fxLayout.gt-md","row wrap"],["fxFlex","100",1,"mt-1"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-cell",""],["mat-stroked-button","","color","primary","type","button","tabindex","1",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.YNc(1,Fm,6,1,"div",1),o.YNc(2,Lm,5,1,"div",2),o.YNc(3,km,3,1,"div",2),o.TgZ(4,"div",3),o._UZ(5,"div",4),o.TgZ(6,"mat-form-field",5),o.TgZ(7,"input",6),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(8,"div",7),o.YNc(9,Nm,1,0,"mat-progress-bar",8),o.TgZ(10,"table",9,10),o.ynx(12,11),o.YNc(13,Um,2,0,"th",12),o.YNc(14,Om,2,4,"td",13),o.BQk(),o.ynx(15,14),o.YNc(16,Jm,3,0,"th",15),o.YNc(17,Dm,4,0,"td",16),o.BQk(),o.ynx(18,17),o.YNc(19,Mm,2,1,"td",18),o.BQk(),o.YNc(20,Qm,1,3,"tr",19),o.YNc(21,Ym,1,0,"tr",20),o.YNc(22,Pm,1,0,"tr",21),o.qZA(),o.qZA(),o._UZ(23,"mat-paginator",22),o.qZA()),2&e&&(o.xp6(1),o.Q6J("ngIf",t.allRestoreExists),o.xp6(1),o.Q6J("ngIf",!t.allRestoreExists&&(!t.channels||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<=0)),o.xp6(1),o.Q6J("ngIf",!t.allRestoreExists&&t.channels&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0),o.xp6(6),o.Q6J("ngIf",!0===t.flgLoading[0]),o.xp6(1),o.Q6J("dataSource",t.channels)("ngClass",o.VKq(13,Bm,"error"===t.flgLoading[0])),o.xp6(10),o.Q6J("matFooterRowDef",o.DdM(15,Gm)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,a.O5,l.Wh,l.yH,D.KE,Ce.Nt,E.$V,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,q.lW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function zm(e,t){1&e&&o._UZ(0,"mat-progress-bar",31)}function Vm(e,t){1&e&&(o.TgZ(0,"th",32),o._uU(1," Channel Point "),o.qZA())}const Wm=function(e){return{"max-width":e}};function Xm(e,t){if(1&e&&(o.TgZ(0,"td",33),o._uU(1),o.qZA()),2&e){const e=t.$implicit,n=o.oxw();o.Q6J("ngStyle",o.VKq(2,Wm,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),o.xp6(1),o.Oqu(null==e?null:e.channel_point)}}function $m(e,t){1&e&&(o.TgZ(0,"th",34),o.TgZ(1,"span",35),o._uU(2,"Actions"),o.qZA(),o.qZA())}function jm(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"td",36),o.TgZ(1,"div",37),o.TgZ(2,"mat-select",38),o._UZ(3,"mat-select-trigger"),o.TgZ(4,"mat-option",39),o.NdJ("click",function(t){const n=o.CHM(e).$implicit;return o.oxw().onChannelClick(n,t)}),o._uU(5,"View Info"),o.qZA(),o.TgZ(6,"mat-option",39),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onBackupChannels(t)}),o._uU(7,"Backup"),o.qZA(),o.TgZ(8,"mat-option",39),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onDownloadBackup(t)}),o._uU(9,"Download Backup"),o.qZA(),o.TgZ(10,"mat-option",39),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().onVerifyChannels(t)}),o._uU(11,"Verify"),o.qZA(),o.qZA(),o.qZA(),o.qZA()}}function Km(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"No channel available."),o.qZA())}function eg(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Getting channels..."),o.qZA())}function tg(e,t){if(1&e&&(o.TgZ(0,"p"),o._uU(1),o.qZA()),2&e){const e=o.oxw(2);o.xp6(1),o.Oqu(e.errorMessage)}}function ng(e,t){if(1&e&&(o.TgZ(0,"td",40),o.YNc(1,Km,2,0,"p",41),o.YNc(2,eg,2,0,"p",41),o.YNc(3,tg,2,1,"p",41),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.COMPLETED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("ngIf",(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)&&(null==e.apisCallStatus?null:e.apisCallStatus.FetchAllChannels.status)===e.apiCallStatusEnum.ERROR)}}const ag=function(e){return{"display-none":e}};function ig(e,t){if(1&e&&o._UZ(0,"tr",42),2&e){const e=o.oxw();o.Q6J("ngClass",o.VKq(1,ag,(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function sg(e,t){1&e&&o._UZ(0,"tr",43)}function og(e,t){1&e&&o._UZ(0,"tr",44)}const lg=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},rg=function(){return["no_channel"]};let cg=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.store=t,this.actions=n,this.commonService=a,this.faInfoCircle=g.sqG,this.faExclamationTriangle=g.eHv,this.faArchive=g.N2j,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.selNode={},this.displayedColumns=["channel_point","actions"],this.channelsData=[],this.flgSticky=!1,this.screenSize="",this.screenSizeEnum=f.cu,this.errorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=f.Bn,this.unSubs=[new p.x,new p.x,new p.x,new p.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select("lnd").pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",this.apisCallStatus=e.apisCallStatus,e.apisCallStatus.FetchAllChannels.status===f.Bn.ERROR&&(this.errorMessage="object"==typeof this.apisCallStatus.FetchAllChannels.message?JSON.stringify(this.apisCallStatus.FetchAllChannels.message):this.apisCallStatus.FetchAllChannels.message),this.selNode=e.nodeSettings,this.channelsData=e.allChannels,this.channelsData.length>0&&this.loadBackupTable(this.channelsData),this.logger.info(e)}),this.actions.pipe((0,d.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.P2||e.type===ee.BQ)).subscribe(e=>{e.type===x.P2&&(this.selectedChannel=null),e.type===ee.BQ&&(this.commonService.downloadFile(e.payload,"channel-"+(this.selectedChannel.channel_point?this.selectedChannel.channel_point:"all"),".bak",".bak"),this.selectedChannel=null)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadBackupTable(this.channelsData)}onBackupChannels(e){this.store.dispatch(new x.FN({uiMessage:f.m6.BACKUP_CHANNEL,channelPoint:e.channel_point?e.channel_point:"ALL",showMessage:""}))}onVerifyChannels(e){this.store.dispatch(new x.gf({channelPoint:e.channel_point?e.channel_point:"ALL"}))}onDownloadBackup(e){this.selectedChannel=e,this.store.dispatch(new ee.nw({channelPoint:e.channel_point?e.channel_point:"all"}))}onChannelClick(e,t){this.store.dispatch(new ee.wu({data:{channel:e,showCopy:!1,component:Si}}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadBackupTable(e){this.channels=new Ze.by(e?[...e]:[]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.channels.filterPredicate=(e,t)=>((e.active?"active":"inactive")+(e.channel_point?e.channel_point.toLowerCase():"")+(e.chan_id?e.chan_id.toLowerCase():"")+(e.remote_pubkey?e.remote_pubkey.toLowerCase():"")+(e.remote_alias?e.remote_alias.toLowerCase():"")+(e.capacity?e.capacity:"")+(e.local_balance?e.local_balance:"")+(e.remote_balance?e.remote_balance:"")+(e.total_satoshis_sent?e.total_satoshis_sent:"")+(e.total_satoshis_received?e.total_satoshis_received:"")+(e.commit_fee?e.commit_fee:"")+(e.private?"private":"public")).includes(t)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(Z.mQ),o.Y36(y.yh),o.Y36(A.eX),o.Y36(C.v))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-channel-backup-table"]],viewQuery:function(e,t){if(1&e&&(o.Gf(xe.YE,5),o.Gf(fe.NW,5)),2&e){let e;o.iGM(e=o.CRH())&&(t.sort=e.first),o.iGM(e=o.CRH())&&(t.paginator=e.first)}},features:[o._Bn([{provide:fe.ye,useValue:(0,f.pt)("Channels")}])],decls:42,vars:17,consts:[["fxLayout","column"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","1",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-2"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","channel_point"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-cell","","fxLayoutAlign","end center"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.TgZ(2,"div",2),o._UZ(3,"fa-icon",3),o.TgZ(4,"span"),o._uU(5,"Save your backup files in a redundant location."),o.qZA(),o.qZA(),o.TgZ(6,"div",4),o._UZ(7,"fa-icon",3),o.TgZ(8,"span"),o.TgZ(9,"strong"),o._uU(10,"Backup Folder Location: "),o.qZA(),o._uU(11),o.qZA(),o.qZA(),o.TgZ(12,"div",5),o.TgZ(13,"button",6),o.NdJ("click",function(){return t.onVerifyChannels({})}),o._uU(14,"Verify All"),o.qZA(),o.TgZ(15,"button",7),o.NdJ("click",function(){return t.onBackupChannels({})}),o._uU(16,"Backup All"),o.qZA(),o.TgZ(17,"button",8),o.NdJ("click",function(){return t.onDownloadBackup({})}),o._uU(18,"Download Backup"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(19,"div",9),o.TgZ(20,"div",10),o._UZ(21,"fa-icon",11),o.TgZ(22,"span",12),o._uU(23,"Backups"),o.qZA(),o.qZA(),o.TgZ(24,"mat-form-field",13),o.TgZ(25,"input",14),o.NdJ("keyup",function(e){return t.applyFilter(e.target)}),o.qZA(),o.qZA(),o.qZA(),o.TgZ(26,"div",15),o.YNc(27,zm,1,0,"mat-progress-bar",16),o.TgZ(28,"table",17,18),o.ynx(30,19),o.YNc(31,Vm,2,0,"th",20),o.YNc(32,Xm,2,4,"td",21),o.BQk(),o.ynx(33,22),o.YNc(34,$m,3,0,"th",23),o.YNc(35,jm,12,0,"td",24),o.BQk(),o.ynx(36,25),o.YNc(37,ng,4,3,"td",26),o.BQk(),o.YNc(38,ig,1,3,"tr",27),o.YNc(39,sg,1,0,"tr",28),o.YNc(40,og,1,0,"tr",29),o.qZA(),o.qZA(),o._UZ(41,"mat-paginator",30),o.qZA()),2&e&&(o.xp6(3),o.Q6J("icon",t.faExclamationTriangle),o.xp6(4),o.Q6J("icon",t.faInfoCircle),o.xp6(4),o.hij("",t.selNode.channelBackupPath,"."),o.xp6(10),o.Q6J("icon",t.faArchive),o.xp6(6),o.Q6J("ngIf",(null==t.apisCallStatus?null:t.apisCallStatus.FetchAllChannels.status)===t.apiCallStatusEnum.INITIATED),o.xp6(1),o.Q6J("dataSource",t.channels)("ngClass",o.VKq(14,lg,""!==t.errorMessage)),o.xp6(10),o.Q6J("matFooterRowDef",o.DdM(16,rg)),o.xp6(1),o.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),o.xp6(1),o.Q6J("matRowDefColumns",t.displayedColumns),o.xp6(1),o.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,T.BN,q.lW,D.KE,Ce.Nt,E.$V,a.O5,Ze.BZ,xe.YE,a.mk,v.oO,Ze.w1,Ze.fO,Ze.Dz,Ze.mD,Ze.Ke,Ze.as,Ze.nj,fe.NW,r.pW,Ze.ge,xe.nU,Ze.ev,a.PC,v.Zl,we.gD,we.$L,ve.ey,Ze.yh,Ze.Q2,Ze.XQ,Ze.Gk],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function ug(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",8),o.NdJ("click",function(){const t=o.CHM(e).$implicit;return o.oxw().activeLink=t.link}),o._uU(1),o.qZA()}if(2&e){const e=t.$implicit,n=o.oxw();o.s9C("routerLink",e.link),o.Q6J("active",n.activeLink===e.link),o.xp6(1),o.Oqu(e.name)}}let pg=(()=>{class e{constructor(e){this.router=e,this.faUserCheck=g.hkK,this.links=[{link:"sign",name:"Sign"},{link:"verify",name:"Verify"}],this.activeLink=this.links[0].link,this.unSubs=[new p.x,new p.x]}ngOnInit(){const e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,d.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{const t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(i.F0))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-sign-verify-message"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o._UZ(1,"fa-icon",1),o.TgZ(2,"span",2),o._uU(3,"Sign/Verify Message"),o.qZA(),o.qZA(),o.TgZ(4,"div",3),o.TgZ(5,"mat-card"),o.TgZ(6,"mat-card-content",4),o.TgZ(7,"nav",5),o.YNc(8,ug,2,3,"div",6),o.qZA(),o.TgZ(9,"div",7),o._UZ(10,"router-outlet"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(1),o.Q6J("icon",t.faUserCheck),o.xp6(7),o.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,w.a8,w.dn,ge.BU,a.sg,l.yH,i.lC,ge.Nj,i.rH],styles:[""]}),e})();function dg(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Message is required."),o.qZA())}let hg=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.signedMessage="",this.signature="",this.unSubs=[new p.x,new p.x]}onSign(){if(!this.message||""===this.message)return!0;this.dataService.signMessage(this.message).pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.signedMessage=this.message,this.signature=e.signature})}onMessageChange(){this.signedMessage!==this.message&&(this.signature="")}onCopyField(e){this.snackBar.open("Signature copied."),this.logger.info("Copied Text: "+e)}resetData(){this.message="",this.signature="",this.signedMessage=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(dt.D),o.Y36(Ai.ux),o.Y36(Z.mQ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-sign"]],decls:20,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to sign","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","4","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"textarea",4),o.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onMessageChange()}),o.qZA(),o.YNc(5,dg,2,0,"mat-error",5),o.qZA(),o.TgZ(6,"div",6),o.TgZ(7,"button",7),o.NdJ("click",function(){return t.resetData()}),o._uU(8,"Clear Field"),o.qZA(),o.TgZ(9,"button",8),o.NdJ("click",function(){return t.onSign()}),o._uU(10,"Sign"),o.qZA(),o.qZA(),o._UZ(11,"mat-divider",9),o.TgZ(12,"div",10),o.TgZ(13,"p"),o._uU(14,"Generated Signature"),o.qZA(),o.qZA(),o.TgZ(15,"div",11),o._uU(16),o.qZA(),o.TgZ(17,"div",12),o.TgZ(18,"button",13),o.NdJ("copied",function(e){return t.onCopyField(e)}),o._uU(19,"Copy Signature"),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&e&&(o.xp6(4),o.Q6J("ngModel",t.message),o.xp6(1),o.Q6J("ngIf",!t.message),o.xp6(6),o.Q6J("inset",!0),o.xp6(5),o.Oqu(t.signature),o.xp6(2),o.Q6J("payload",t.signature))},directives:[l.xw,l.yH,l.Wh,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.Q7,Ae.JJ,Ae.On,a.O5,q.lW,M.d,Ci.y,D.TO],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function mg(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Message is required."),o.qZA())}function gg(e,t){1&e&&(o.TgZ(0,"mat-error"),o._uU(1,"Signature is required."),o.qZA())}function fg(e,t){1&e&&(o.TgZ(0,"p",13),o.TgZ(1,"mat-icon",14),o._uU(2,"close"),o.qZA(),o._uU(3,"Verification failed, please double check message and signature"),o.qZA())}function xg(e,t){1&e&&(o.TgZ(0,"p"),o._uU(1,"Pubkey Used"),o.qZA())}function Zg(e,t){if(1&e&&(o.TgZ(0,"div",20),o.TgZ(1,"p"),o._uU(2),o.qZA(),o.qZA()),2&e){const e=o.oxw(2);o.xp6(2),o.Oqu(null==e.verifyRes?null:e.verifyRes.pubkey)}}function yg(e,t){if(1&e){const e=o.EpF();o.TgZ(0,"div",21),o.TgZ(1,"button",22),o.NdJ("copied",function(t){return o.CHM(e),o.oxw(2).onCopyField(t)}),o._uU(2,"Copy Pubkey"),o.qZA(),o.qZA()}if(2&e){const e=o.oxw(2);o.xp6(1),o.Q6J("payload",null==e.verifyRes?null:e.verifyRes.pubkey)}}function Ag(e,t){if(1&e&&(o.TgZ(0,"div",15),o._UZ(1,"mat-divider",16),o.TgZ(2,"div",17),o.YNc(3,xg,2,0,"p",5),o.qZA(),o.YNc(4,Zg,3,1,"div",18),o.YNc(5,yg,3,1,"div",19),o.qZA()),2&e){const e=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(2),o.Q6J("ngIf",e.verifyRes.valid),o.xp6(1),o.Q6J("ngIf",e.verifyRes.valid),o.xp6(1),o.Q6J("ngIf",e.verifyRes.valid)}}let Cg=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.verifiedMessage="",this.signature="",this.verifiedSignature="",this.showVerifyStatus=!1,this.verifyRes={pubkey:"",valid:null},this.unSubs=[new p.x,new p.x]}onVerify(){if(!this.message||""===this.message||!this.signature||""===this.signature)return!0;this.dataService.verifyMessage(this.message,this.signature).pipe((0,d.R)(this.unSubs[0])).subscribe(e=>{this.verifyRes=e,this.showVerifyStatus=!0,this.verifiedMessage=this.message,this.verifiedSignature=this.signature})}onChange(){this.verifiedMessage===this.message&&this.verifiedSignature===this.signature||(this.showVerifyStatus=!1,this.verifyRes={pubkey:"",valid:null})}resetData(){this.message="",this.signature="",this.verifyRes=null,this.showVerifyStatus=!1}onCopyField(e){this.snackBar.open("Pubkey copied."),this.logger.info("Copied Text: "+e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(o.Y36(dt.D),o.Y36(Ai.ux),o.Y36(Z.mQ))},e.\u0275cmp=o.Xpm({type:e,selectors:[["rtl-verify"]],decls:17,vars:6,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to verify","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["matInput","","placeholder","Signature provided","name","signature","tabindex","2","required","",3,"ngModel","ngModelChange","keyup"],["sign","ngModel"],["fxFlex","100","class","color-warn","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start","class","bordered-box read-only h-4 padding-gap",4,"ngIf"],["fxLayout","row","class","mt-2",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(o.TgZ(0,"div",0),o.TgZ(1,"form",1,2),o.TgZ(3,"mat-form-field",3),o.TgZ(4,"textarea",4),o.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onChange()}),o.qZA(),o.YNc(5,mg,2,0,"mat-error",5),o.qZA(),o.TgZ(6,"mat-form-field",3),o.TgZ(7,"input",6,7),o.NdJ("ngModelChange",function(e){return t.signature=e})("keyup",function(){return t.onChange()}),o.qZA(),o.YNc(9,gg,2,0,"mat-error",5),o.qZA(),o.YNc(10,fg,4,0,"p",8),o.TgZ(11,"div",9),o.TgZ(12,"button",10),o.NdJ("click",function(){return t.resetData()}),o._uU(13,"Clear Fields"),o.qZA(),o.TgZ(14,"button",11),o.NdJ("click",function(){return t.onVerify()}),o._uU(15,"Verify"),o.qZA(),o.qZA(),o.YNc(16,Ag,6,4,"div",12),o.qZA(),o.qZA()),2&e&&(o.xp6(4),o.Q6J("ngModel",t.message),o.xp6(1),o.Q6J("ngIf",!t.message),o.xp6(2),o.Q6J("ngModel",t.signature),o.xp6(2),o.Q6J("ngIf",!t.signature),o.xp6(1),o.Q6J("ngIf",t.showVerifyStatus&&!t.verifyRes.valid),o.xp6(6),o.Q6J("ngIf",t.showVerifyStatus&&t.verifyRes.valid))},directives:[l.xw,l.yH,l.Wh,Ae._Y,Ae.JL,Ae.F,D.KE,Ce.Nt,Ae.Fj,Te.h,Ae.Q7,Ae.JJ,Ae.On,a.O5,q.lW,D.TO,S.Hw,M.d,Ci.y],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var Tg=n(8016),bg=n(6013);const wg=i.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:oa,canActivate:[bg.QM]},{path:"wallet",component:uc,canActivate:[bg.a1]},{path:"onchain",component:_h,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"receive/utxos"},{path:"receive/:selTab",component:Sh,canActivate:[bg.QM]},{path:"send/:selTab",component:sm,data:{sweepAll:!1},canActivate:[bg.QM]},{path:"sweep/:selTab",component:sm,data:{sweepAll:!0},canActivate:[bg.QM]}]},{path:"connections",component:pa,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:yi,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:Ws,canActivate:[bg.QM]},{path:"pending",component:Jl,canActivate:[bg.QM]},{path:"closed",component:lr,canActivate:[bg.QM]},{path:"activehtlcs",component:Mr,canActivate:[bg.QM]}]},{path:"peers",component:mi,data:{sweepAll:!1},canActivate:[bg.QM]}]},{path:"transactions",component:dc,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:Un,canActivate:[bg.QM]},{path:"invoices",component:ut,canActivate:[bg.QM]},{path:"queryroutes",component:Ic,canActivate:[bg.QM]}]},{path:"messages",component:pg,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"sign"},{path:"sign",component:hg,canActivate:[bg.QM]},{path:"verify",component:Cg,canActivate:[bg.QM]}]},{path:"channelbackup",component:Sm,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"bckup"},{path:"bckup",component:cg,canActivate:[bg.QM]},{path:"restore",component:Hm,canActivate:[bg.QM]}]},{path:"routing",component:mu,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:Pu,canActivate:[bg.QM]},{path:"peers",component:Rp,canActivate:[bg.QM]}]},{path:"reports",component:Ep,canActivate:[bg.QM],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:jp,canActivate:[bg.QM]},{path:"transactions",component:ud,canActivate:[bg.QM]}]},{path:"lookups",component:cu,canActivate:[bg.QM]},{path:"network",component:vm,canActivate:[bg.QM]},{path:"**",component:Tg.w},{path:"rates",redirectTo:"network"}]}]);var _g=n(253);let vg=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=o.oAB({type:e,bootstrap:[u]}),e.\u0275inj=o.cJS({providers:[bg.QM],imports:[[a.ez,_g.m,wg]]}),e})()}}]); \ No newline at end of file diff --git a/angular/891.65e70a7da1bfef9d82e4.js b/angular/891.65e70a7da1bfef9d82e4.js deleted file mode 100644 index 052215d9..00000000 --- a/angular/891.65e70a7da1bfef9d82e4.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[891],{7891:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LNDModule:()=>Zm});var a=n(1511),i=n(6853),o=n(2865),s=n(1572),l=n(3722),r=n(5994);function c(e,t){1&e&&s._UZ(0,"mat-progress-bar",3)}let u=(()=>{class e{constructor(e){this.router=e,this.loading=!1,this.router.events.subscribe(e=>{switch(!0){case e instanceof i.OD:this.loading=!0;break;case e instanceof i.m2:case e instanceof i.gk:case e instanceof i.Q3:this.loading=!1}})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-lnd-root"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["color","primary","mode","indeterminate",4,"ngIf"],["outlet","outlet"],["color","primary","mode","indeterminate"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,c,1,0,"mat-progress-bar",1),s._UZ(2,"router-outlet",null,2),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf",t.loading))},directives:[l.xw,l.yH,l.Wh,a.O5,i.lC,r.pW],styles:[""],data:{animation:[o.g]}}),e})();var d=n(9666),p=n(9568),h=n(8868),m=n(7810),g=n(5291),f=n(9421),x=n(5678),Z=n(3869),y=n(964),A=n(5573),b=n(1084),T=n(7592),w=n(7271),_=n(7439),v=n(8055),q=n(5980),C=n(3691),L=n(377);const S=function(e){return{backgroundColor:e}};function k(e,t){if(1&e&&s._UZ(0,"span",6),2&e){const e=s.oxw();s.Q6J("ngStyle",s.VKq(1,S,e.information.color))}}function F(e,t){if(1&e&&(s.TgZ(0,"div"),s.TgZ(1,"h4",1),s._uU(2,"Color"),s.qZA(),s.TgZ(3,"div",2),s._UZ(4,"span",7),s._uU(5),s.ALo(6,"uppercase"),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(4),s.Q6J("ngStyle",s.VKq(4,S,e.information.color)),s.xp6(1),s.hij(" ",s.lcZ(6,2,e.information.color)," ")}}function U(e,t){if(1&e&&(s.TgZ(0,"span",2),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(e)}}let N=(()=>{class e{constructor(e){this.commonService=e,this.chains=[""]}ngOnChanges(){this.information&&this.information.chains&&this.information.chains.length>0&&(this.chains=[""],this.information.chains.forEach(e=>{this.chains.push(this.commonService.titleCase(e.chain)+" "+this.commonService.titleCase(e.network))}))}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-node-info"]],inputs:{information:"information",showColorFieldSeparately:"showColorFieldSeparately"},features:[s.TTD],decls:17,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["class","dashboard-node-dot dot",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","overflow-wrap dashboard-info-value",4,"ngFor","ngForOf"],[1,"dashboard-node-dot","dot",3,"ngStyle"],[1,"dashboard-node-square",3,"ngStyle"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Alias"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.YNc(6,k,1,3,"span",3),s.qZA(),s.qZA(),s.YNc(7,F,7,6,"div",4),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Implementation"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",1),s._uU(15,"Chain"),s.qZA(),s.YNc(16,U,2,1,"span",5),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij(" ",t.information.alias," "),s.xp6(1),s.Q6J("ngIf",!t.showColorFieldSeparately),s.xp6(1),s.Q6J("ngIf",t.showColorFieldSeparately),s.xp6(5),s.Oqu(t.information.lnImplementation||t.information.version?t.information.lnImplementation+" "+t.information.version:""),s.xp6(4),s.Q6J("ngForOf",t.chains))},directives:[l.xw,l.yH,l.Wh,a.O5,a.sg,a.PC,L.Zl],pipes:[a.gd],styles:[""]}),e})(),D=(()=>{class e{constructor(){this.balances={onchain:0,lightning:0,total:0}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-balances-info"]],inputs:{balances:"balances"},decls:21,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["mode","determinate",1,"dashboard-progress-bar",3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Lightning"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",3),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"On-chain"),s.qZA(),s.TgZ(11,"div",2),s._uU(12),s.ALo(13,"number"),s.qZA(),s._UZ(14,"mat-progress-bar",3),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Total"),s.qZA(),s.TgZ(18,"div",2),s._uU(19),s.ALo(20,"number"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij("",s.lcZ(6,5,t.balances.lightning)," Sats"),s.xp6(2),s.s9C("value",t.balances.lightning/t.balances.total*100),s.xp6(5),s.hij("",s.lcZ(13,7,t.balances.onchain)," Sats"),s.xp6(2),s.s9C("value",t.balances.onchain/t.balances.total*100),s.xp6(5),s.hij("",s.lcZ(20,9,t.balances.total)," Sats"))},directives:[l.xw,l.yH,l.Wh,r.pW],pipes:[a.JJ],styles:[""]}),e})();var J=n(6283),O=n(6828),I=n(7679),Q=n(7038);function Y(e,t){if(1&e&&(s.TgZ(0,"div",17),s.TgZ(1,"span",18),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",19),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",20),s._UZ(11,"fa-icon",21),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",22),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",23),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",e.remote_alias||e.remote_pubkey),s.s9C("matTooltipDisabled",(e.remote_alias||e.remote_pubkey).length<26),s.xp6(1),s.AsE("",s.Dn7(3,9,e.remote_alias||e.remote_pubkey,0,24),"",(e.remote_alias||e.remote_pubkey).length>25?"...":"",""),s.xp6(6),s.hij("",s.lcZ(9,13,e.local_balance||0)," Sats"),s.xp6(3),s.Q6J("icon",n.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,15,e.balancedness||0),") "),s.xp6(5),s.hij("",s.lcZ(18,17,e.remote_balance||0)," Sats"),s.xp6(2),s.s9C("value",e.local_balance&&e.local_balance>0?+e.local_balance/(+e.local_balance+ +e.remote_balance)*100:0)}}function R(e,t){if(1&e&&(s.TgZ(0,"div",15),s.YNc(1,Y,20,19,"div",16),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.allChannels)}}function M(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",24),s._uU(1," No channels available. "),s.TgZ(2,"button",25),s.NdJ("click",function(){return s.CHM(e),s.oxw().goToChannels()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA()}}let P=(()=>{class e{constructor(e){this.router=e,this.faBalanceScale=g.DL8,this.faDumbbell=g.FlN,this.sortBy="Balance Score"}goToChannels(){this.router.navigateByUrl("/lnd/connections")}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-capacity-info"]],inputs:{channelBalances:"channelBalances",allChannels:"allChannels",sortBy:"sortBy"},decls:26,vars:13,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch","fxFlex","100"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],["fxLayout","row","fxLayoutAlign","space-between start",1,"w-100"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90"],[1,"font-weight-900","mr-5px"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90"],["matTooltip","Balance Score",1,"mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90"],["mode","determinate","color","accent",1,"dashboard-progress-bar","this-channel-bar",3,"value"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[1,"channels-capacity-scroll",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",4,"ngIf","ngIfElse"],["noChannelBlock",""],["fxLayout","column","fxFlex","100"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"dashboard-capacity-header",3,"matTooltip","matTooltipDisabled"],["fxFlex","40","fxLayoutAlign","start center",1,"font-size-90","color-primary"],["fxFlex","20","fxLayoutAlign","center center",1,"font-size-90","color-primary"],["matTooltip","Balance Score",1,"color-primary","mr-3px",3,"icon"],["fxFlex","40","fxLayoutAlign","end center",1,"font-size-90","color-primary"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1","w-100"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-hint",4),s.TgZ(6,"strong",5),s._uU(7,"Local:"),s.qZA(),s._uU(8),s.ALo(9,"number"),s.qZA(),s.TgZ(10,"mat-hint",6),s._UZ(11,"fa-icon",7),s._uU(12),s.ALo(13,"number"),s.qZA(),s.TgZ(14,"mat-hint",8),s.TgZ(15,"strong",5),s._uU(16,"Remote:"),s.qZA(),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s._UZ(19,"mat-progress-bar",9),s.qZA(),s.TgZ(20,"div",10),s._UZ(21,"mat-divider",11),s.qZA(),s.TgZ(22,"div",12),s.YNc(23,R,2,1,"div",13),s.qZA(),s.qZA(),s.YNc(24,M,4,0,"ng-template",null,14,s.W1O)),2&e){const e=s.MAs(25);s.xp6(8),s.hij("",s.lcZ(9,7,t.channelBalances.localBalance||0)," Sats"),s.xp6(3),s.Q6J("icon",t.faBalanceScale),s.xp6(1),s.hij(" (",s.lcZ(13,9,(null==t.channelBalances?null:t.channelBalances.balancedness)||0),") "),s.xp6(5),s.hij("",s.lcZ(18,11,t.channelBalances.remoteBalance||0)," Sats"),s.xp6(2),s.s9C("value",t.channelBalances.localBalance&&t.channelBalances.localBalance>0?+t.channelBalances.localBalance/(+t.channelBalances.localBalance+ +t.channelBalances.remoteBalance)*100:0),s.xp6(4),s.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}},directives:[l.xw,l.Wh,l.yH,J.bx,T.BN,O.gM,r.pW,I.d,Q.$V,a.O5,a.sg,q.lW],pipes:[a.JJ,a.OU],styles:[".channels-capacity-scroll[_ngcontent-%COMP%]{width:100%;height:100%;overflow-y:hidden}"]}),e})(),E=(()=>{class e{constructor(){this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100}ngOnChanges(){if(this.fees.month_fee_sum){this.totalFees=[{name:"Monthly",value:this.fees.month_fee_sum},{name:"Weekly",value:this.fees.week_fee_sum},{name:"Daily ",value:this.fees.day_fee_sum}];let e=Math.ceil(Math.log(this.fees.month_fee_sum+1)/Math.LN10),t=Math.pow(10,e-1);this.maxFeeValue=Math.ceil(this.fees.month_fee_sum/t)*t/5||100,Object.assign(this,this.totalFees)}else this.totalFees=[{name:"Monthly",value:0},{name:"Weekly",value:0},{name:"Daily",value:0}],this.maxFeeValue=100,Object.assign(this,this.totalFees)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-fee-info"]],inputs:{fees:"fees"},features:[s.TTD],decls:44,vars:18,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxFlex","20"],[1,"dashboard-info-title"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Daily"),s.qZA(),s.TgZ(4,"div",2),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.TgZ(7,"div"),s.TgZ(8,"h4",1),s._uU(9,"Weekly"),s.qZA(),s.TgZ(10,"div",2),s._uU(11),s.ALo(12,"number"),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",1),s._uU(15,"Monthly"),s.qZA(),s.TgZ(16,"div",2),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s.TgZ(19,"div",3),s._UZ(20,"h4",4),s._UZ(21,"span",2),s.qZA(),s.qZA(),s.TgZ(22,"div",0),s.TgZ(23,"div"),s.TgZ(24,"h4",1),s._uU(25,"Transactions"),s.qZA(),s.TgZ(26,"div",2),s._uU(27),s.ALo(28,"number"),s.qZA(),s.qZA(),s.TgZ(29,"div"),s.TgZ(30,"h4",1),s._uU(31,"Transactions"),s.qZA(),s.TgZ(32,"div",2),s._uU(33),s.ALo(34,"number"),s.qZA(),s.qZA(),s.TgZ(35,"div"),s.TgZ(36,"h4",1),s._uU(37,"Transactions"),s.qZA(),s.TgZ(38,"div",2),s._uU(39),s.ALo(40,"number"),s.qZA(),s.qZA(),s.TgZ(41,"div",3),s._UZ(42,"h4",4),s._UZ(43,"span",2),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.hij("",s.lcZ(6,6,null==t.fees?null:t.fees.day_fee_sum)," Sats"),s.xp6(6),s.hij("",s.lcZ(12,8,null==t.fees?null:t.fees.week_fee_sum)," Sats"),s.xp6(6),s.hij("",s.lcZ(18,10,null==t.fees?null:t.fees.month_fee_sum)," Sats"),s.xp6(10),s.Oqu(s.lcZ(28,12,null==t.fees?null:t.fees.daily_tx_count)),s.xp6(6),s.Oqu(s.lcZ(34,14,null==t.fees?null:t.fees.weekly_tx_count)),s.xp6(6),s.Oqu(s.lcZ(40,16,null==t.fees?null:t.fees.monthly_tx_count)))},directives:[l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),e})(),B=(()=>{class e{constructor(){this.channelsStatus={}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-status-info"]],inputs:{channelsStatus:"channelsStatus"},decls:54,vars:24,consts:[["fxLayout","column","fxFlex","50","fxLayoutAlign","space-between stretch"],["fxLayoutAlign","start",1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],[1,"dot","tiny-dot","green"],[1,"dot","tiny-dot","yellow"],[1,"dot","tiny-dot","grey"],[1,"dot","tiny-dot","red"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div"),s.TgZ(2,"h4",1),s._uU(3,"Active"),s.qZA(),s.TgZ(4,"div",2),s._UZ(5,"span",3),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.TgZ(9,"h4",1),s._uU(10,"Pending"),s.qZA(),s.TgZ(11,"div",2),s._UZ(12,"span",4),s._uU(13),s.ALo(14,"number"),s.qZA(),s.qZA(),s.TgZ(15,"div"),s.TgZ(16,"h4",1),s._uU(17,"Inactive"),s.qZA(),s.TgZ(18,"div",2),s._UZ(19,"span",5),s._uU(20),s.ALo(21,"number"),s.qZA(),s.qZA(),s.TgZ(22,"div"),s.TgZ(23,"h4",1),s._uU(24,"Closing"),s.qZA(),s.TgZ(25,"div",2),s._UZ(26,"span",6),s._uU(27),s.ALo(28,"number"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(29,"div",0),s.TgZ(30,"div"),s.TgZ(31,"h4",1),s._uU(32,"Capacity"),s.qZA(),s.TgZ(33,"div",2),s._uU(34),s.ALo(35,"number"),s.qZA(),s.qZA(),s.TgZ(36,"div"),s.TgZ(37,"h4",1),s._uU(38,"Capacity"),s.qZA(),s.TgZ(39,"div",2),s._uU(40),s.ALo(41,"number"),s.qZA(),s.qZA(),s.TgZ(42,"div"),s.TgZ(43,"h4",1),s._uU(44,"Capacity"),s.qZA(),s.TgZ(45,"div",2),s._uU(46),s.ALo(47,"number"),s.qZA(),s.qZA(),s.TgZ(48,"div"),s.TgZ(49,"h4",1),s._uU(50,"Capacity"),s.qZA(),s.TgZ(51,"div",2),s._uU(52),s.ALo(53,"number"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(6),s.Oqu(s.lcZ(7,8,t.channelsStatus.active.channels||0)),s.xp6(7),s.Oqu(s.lcZ(14,10,t.channelsStatus.pending.channels||0)),s.xp6(7),s.Oqu(s.lcZ(21,12,t.channelsStatus.inactive.channels||0)),s.xp6(7),s.Oqu(s.lcZ(28,14,t.channelsStatus.closing.channels||0)),s.xp6(7),s.hij("",s.lcZ(35,16,t.channelsStatus.active.capacity||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(41,18,t.channelsStatus.pending.capacity||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(47,20,t.channelsStatus.inactive.capacity||0)," Sats"),s.xp6(6),s.hij("",s.lcZ(53,22,t.channelsStatus.closing.capacity||0)," Sats"))},directives:[l.xw,l.yH,l.Wh],pipes:[a.JJ],styles:[""]}),e})();var H=n(5028),G=n(3929),V=n(2969);function z(e,t){if(1&e&&(s.TgZ(0,"mat-hint",17),s.TgZ(1,"strong",18),s._uU(2,"Capacity: "),s.qZA(),s._uU(3),s.ALo(4,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(3),s.hij("",s.lcZ(4,1,e.remote_balance||0)," Sats")}}function W(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",22),s.NdJ("click",function(){s.CHM(e);const t=s.oxw(2).$implicit;return s.oxw(2).onLoopOut(t)}),s._uU(1,"Loop Out"),s.qZA()}}function $(e,t){if(1&e&&(s.TgZ(0,"div",19),s.TgZ(1,"mat-hint",20),s.TgZ(2,"strong",18),s._uU(3,"Capacity: "),s.qZA(),s._uU(4),s.ALo(5,"number"),s.qZA(),s.YNc(6,W,2,0,"button",21),s.qZA()),2&e){const e=s.oxw().$implicit,t=s.oxw(2);s.xp6(4),s.hij("",s.lcZ(5,2,e.local_balance||0)," Sats"),s.xp6(2),s.Q6J("ngIf",t.showLoop)}}function X(e,t){if(1&e&&s._UZ(0,"mat-progress-bar",23),2&e){const e=s.oxw().$implicit,t=s.oxw(2);s.s9C("value",t.totalLiquidity>0?(+e.remote_balance||0)/t.totalLiquidity*100:0)}}function j(e,t){if(1&e&&s._UZ(0,"mat-progress-bar",23),2&e){const e=s.oxw().$implicit,t=s.oxw(2);s.s9C("value",t.totalLiquidity>0?(+e.local_balance||0)/t.totalLiquidity*100:0)}}function K(e,t){if(1&e&&(s.TgZ(0,"div",11),s.TgZ(1,"span",12),s._uU(2),s.ALo(3,"slice"),s.qZA(),s.TgZ(4,"div",13),s.YNc(5,z,5,3,"mat-hint",14),s.YNc(6,$,7,4,"div",15),s.qZA(),s.YNc(7,X,1,1,"mat-progress-bar",16),s.YNc(8,j,1,1,"mat-progress-bar",16),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.s9C("matTooltip",e.remote_alias||e.remote_pubkey),s.s9C("matTooltipDisabled",(e.remote_alias||e.remote_pubkey).length<26),s.xp6(1),s.AsE("",s.Dn7(3,8,e.remote_alias||e.remote_pubkey,0,24),"",(e.remote_alias||e.remote_pubkey).length>25?"...":"",""),s.xp6(3),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction),s.xp6(1),s.Q6J("ngIf","In"===n.direction),s.xp6(1),s.Q6J("ngIf","Out"===n.direction)}}function ee(e,t){if(1&e&&(s.TgZ(0,"div",9),s.YNc(1,K,9,12,"div",10),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.allChannels)}}function te(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",26),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).goToChannels()}),s._uU(1,"Open Channel"),s.qZA()}}function ne(e,t){if(1&e&&(s.TgZ(0,"div",24),s._uU(1," No channels available. "),s.YNc(2,te,2,0,"button",25),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.Q6J("ngIf","Out"===e.direction)}}const ae=function(e,t,n){return{"mb-4":e,"mb-2":t,"mb-1":n}};let ie=(()=>{class e{constructor(e,t,n,a){this.router=e,this.loopService=t,this.commonService=n,this.store=a,this.targetConf=6,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.showLoop=!(!e.nodeSettings.swapServerUrl||""===e.nodeSettings.swapServerUrl.trim())})}goToChannels(){this.router.navigateByUrl("/lnd/connections")}onLoopOut(e){this.store.dispatch(new G.Fk("Getting Terms and Quotes...")),this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{this.store.dispatch(new G.Iv),this.store.dispatch(new G.wu({minHeight:"56rem",data:{channel:e,minQuote:t[0],maxQuote:t[1],direction:f.$I.LOOP_OUT,component:H.a}}))})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0),s.Y36(V.W),s.Y36(b.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-liquidity-info"]],inputs:{direction:"direction",totalLiquidity:"totalLiquidity",allChannels:"allChannels"},decls:13,vars:10,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",3,"ngClass"],["fxLayout","column","fxFlex","9","fxLayoutAlign","end start"],[1,"dashboard-capacity-header","this-channel-capacity"],[1,"font-size-90"],["mode","determinate","color","accent","value","100",1,"dashboard-progress-bar","this-channel-bar"],["fxLayout","column","fxFlex","3","fxLayoutAlign","end stretch"],[1,"dashboard-divider"],[3,"perfectScrollbar",4,"ngIf","ngIfElse"],["noChannelBlock",""],[3,"perfectScrollbar"],["fxLayout","column",4,"ngFor","ngForOf"],["fxLayout","column"],[1,"dashboard-capacity-header","mt-2",3,"matTooltip","matTooltipDisabled"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["class","font-size-90 color-primary",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",4,"ngIf"],["class","dashboard-progress-bar","mode","determinate",3,"value",4,"ngIf"],[1,"font-size-90","color-primary"],[1,"font-weight-900","mr-5px"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxFlex","85","fxLayoutAlign","start start",1,"font-size-90","color-primary"],["fxFlex","15","fxLayoutAlign","end start","class","button-link-dashboard","color","primary","mat-button","","aria-label","Loop Out",3,"click",4,"ngIf"],["fxFlex","15","fxLayoutAlign","end start","color","primary","mat-button","","aria-label","Loop Out",1,"button-link-dashboard",3,"click"],["mode","determinate",1,"dashboard-progress-bar",3,"value"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","1",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","1",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"span",2),s._uU(3,"Total Capacity"),s.qZA(),s.TgZ(4,"mat-hint",3),s._uU(5),s.ALo(6,"number"),s.qZA(),s._UZ(7,"mat-progress-bar",4),s.qZA(),s.TgZ(8,"div",5),s._UZ(9,"mat-divider",6),s.qZA(),s.YNc(10,ee,2,1,"div",7),s.qZA(),s.YNc(11,ne,3,1,"ng-template",null,8,s.W1O)),2&e){const e=s.MAs(12);s.Q6J("ngClass",s.kEZ(6,ae,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM,t.screenSize===t.screenSizeEnum.MD,t.screenSize===t.screenSizeEnum.LG||t.screenSize===t.screenSizeEnum.XL)),s.xp6(5),s.hij("",s.lcZ(6,4,t.totalLiquidity)," Sats"),s.xp6(5),s.Q6J("ngIf",t.allChannels&&t.allChannels.length>0)("ngIfElse",e)}},directives:[l.xw,l.Wh,l.yH,a.mk,L.oO,J.bx,r.pW,I.d,a.O5,Q.$V,a.sg,O.gM,q.lW],pipes:[a.JJ,a.OU],styles:[""]}),e})();var oe=n(5109),se=n(3005),le=n(2464),re=n(7033),ce=n(4608),ue=n(6073),de=n(6756),pe=n(6880),he=n(5095),me=n(4786),ge=n(7521),fe=n(1522);function xe(e,t){if(1&e&&(s.TgZ(0,"mat-option",24),s._uU(1),s.ALo(2,"titlecase"),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(s.lcZ(2,2,e))}}function Ze(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.invoiceError)}}function ye(e,t){if(1&e&&(s.TgZ(0,"div",25),s._UZ(1,"fa-icon",26),s.YNc(2,Ze,2,1,"span",27),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.invoiceError)}}let Ae=(()=>{class e{constructor(e,t,n,a,i,o){this.dialogRef=e,this.data=t,this.store=n,this.decimalPipe=a,this.commonService=i,this.actions$=o,this.faExclamationTriangle=g.eHv,this.selNode={},this.memo="",this.invoiceValueHint="",this.invoicePaymentReq="",this.information={},this.private=!1,this.expiryStep=100,this.pageSize=f.IV,this.timeUnitEnum=f.Qk,this.timeUnits=f.LO,this.selTimeUnit=f.Qk.SECS,this.invoiceError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.pageSize=this.data.pageSize,this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.information=e.information}),this.actions$.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.hL||e.type===x.Ov)).subscribe(e=>{e.type===x.Ov&&this.dialogRef.close(),e.type===x.hL&&"SaveNewInvoice"===e.payload.action&&(this.invoiceError=e.payload.message)})}onAddInvoice(e){this.invoiceError="";let t=this.expiry?this.expiry:3600;this.selTimeUnit!==f.Qk.SECS&&(t=this.commonService.convertTime(this.expiry,this.selTimeUnit,f.Qk.SECS)),this.store.dispatch(new G.Fk("Adding Invoice...")),this.store.dispatch(new x.H1({memo:this.memo,invoiceValue:this.invoiceValue,private:this.private,expiry:t,pageSize:this.pageSize,openModal:!0}))}resetData(){this.memo="",this.invoiceValue=void 0,this.private=!1,this.expiry=void 0,this.invoiceValueHint="",this.selTimeUnit=f.Qk.SECS,this.invoiceError=""}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe(e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,f.Xz.OTHER)+" "+e.unit}))}onTimeUnitChange(e){this.expiry&&this.selTimeUnit!==e.value&&(this.expiry=this.commonService.convertTime(this.expiry,this.selTimeUnit,e.value)),this.selTimeUnit=e.value}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(y.yh),s.Y36(a.JJ),s.Y36(b.v),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-create-invoices"]],decls:36,vars:18,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","end start"],["matInput","","autoFocus","","placeholder","Memo","tabindex","1","name","memo",3,"ngModel","ngModelChange"],["fxFlex","50","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","2","name","invoiceValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxFlex","24","fxLayoutAlign","start end"],["matInput","","placeholder","Expiry","type","number","tabindex","3","name","expiry",3,"ngModel","step","min","ngModelChange"],["tabindex","4","name","timeUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"mt-1"],["tabindex","4","color","primary","matTooltip","Include routing hints for private channels","name","private",3,"ngModel","matTooltipPosition","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","5","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","6",3,"click"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[4,"ngIf"]],template:function(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Create Invoice"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(e){return t.memo=e}),s.qZA(),s.qZA(),s.TgZ(13,"mat-form-field",11),s.TgZ(14,"input",12),s.NdJ("ngModelChange",function(e){return t.invoiceValue=e})("keyup",function(){return t.onInvoiceValueChange()}),s.qZA(),s.TgZ(15,"span",13),s._uU(16),s.qZA(),s.TgZ(17,"mat-hint"),s._uU(18),s.qZA(),s.qZA(),s.TgZ(19,"mat-form-field",14),s.TgZ(20,"input",15),s.NdJ("ngModelChange",function(e){return t.expiry=e}),s.qZA(),s.TgZ(21,"span",13),s._uU(22),s.ALo(23,"titlecase"),s.qZA(),s.qZA(),s.TgZ(24,"mat-form-field",14),s.TgZ(25,"mat-select",16),s.NdJ("selectionChange",function(e){return t.onTimeUnitChange(e)}),s.YNc(26,xe,3,4,"mat-option",17),s.qZA(),s.qZA(),s.TgZ(27,"div",18),s.TgZ(28,"mat-slide-toggle",19),s.NdJ("ngModelChange",function(e){return t.private=e}),s._uU(29,"Private Routing Hints"),s.qZA(),s.qZA(),s.YNc(30,ye,3,2,"div",20),s.TgZ(31,"div",21),s.TgZ(32,"button",22),s.NdJ("click",function(){return t.resetData()}),s._uU(33,"Clear Field"),s.qZA(),s.TgZ(34,"button",23),s.NdJ("click",function(){s.CHM(e);const n=s.MAs(10);return t.onAddInvoice(n)}),s._uU(35,"Create Invoice"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}2&e&&(s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",t.memo),s.xp6(2),s.Q6J("ngModel",t.invoiceValue)("step",100)("min",1),s.xp6(2),s.hij(" ",null==t.information?null:t.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(t.invoiceValueHint),s.xp6(2),s.Q6J("ngModel",t.expiry)("step",t.selTimeUnit===t.timeUnitEnum.SECS?300:t.selTimeUnit===t.timeUnitEnum.MINS?10:t.selTimeUnit===t.timeUnitEnum.HOURS?2:1)("min",1),s.xp6(2),s.hij(" ",s.lcZ(23,16,t.selTimeUnit)," "),s.xp6(3),s.Q6J("value",t.selTimeUnit),s.xp6(1),s.Q6J("ngForOf",t.timeUnits),s.xp6(2),s.Q6J("ngModel",t.private)("matTooltipPosition","above"),s.xp6(2),s.Q6J("ngIf",""!==t.invoiceError))},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,ce.ZT,_.dn,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,pe.h,ue.JJ,ue.On,ue.wV,ue.qQ,he.q,J.R9,J.bx,me.gD,a.sg,ge.Rr,O.gM,a.O5,fe.ey,T.BN],pipes:[a.rS],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();var be=n(1827),Te=n(4636);function we(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"input",7),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().memo=t}),s.qZA(),s.qZA(),s.TgZ(4,"mat-form-field",8),s.TgZ(5,"input",9),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().invoiceValue=t})("keyup",function(){return s.CHM(e),s.oxw().onInvoiceValueChange()}),s.qZA(),s.TgZ(6,"span",10),s._uU(7),s.qZA(),s.TgZ(8,"mat-hint"),s._uU(9),s.qZA(),s.qZA(),s.TgZ(10,"div",11),s.TgZ(11,"button",12),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(12,"Clear Field"),s.qZA(),s.TgZ(13,"button",13),s.NdJ("click",function(){s.CHM(e);const t=s.MAs(1);return s.oxw().onAddInvoice(t)}),s._uU(14,"Create Invoice"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.memo),s.xp6(2),s.Q6J("ngModel",e.invoiceValue)("step",100)("min",1),s.xp6(2),s.hij(" ",null==e.information?null:e.information.smaller_currency_unit," "),s.xp6(2),s.Oqu(e.invoiceValueHint)}}function _e(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",14),s.TgZ(1,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw().openCreateInvoiceModal()}),s._uU(2,"Create Invoice"),s.qZA(),s.qZA()}}function ve(e,t){1&e&&s._UZ(0,"mat-progress-bar",46)}function qe(e,t){1&e&&(s.TgZ(0,"th",47),s._uU(1," Date Created "),s.qZA())}const Ce=function(e){return{"mr-0":e}};function Le(e,t){if(1&e&&s._UZ(0,"span",51),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Ce,e.screenSize===e.screenSizeEnum.XS))}}function Se(e,t){if(1&e&&s._UZ(0,"span",52),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,Ce,e.screenSize===e.screenSizeEnum.XS))}}function ke(e,t){if(1&e&&(s.TgZ(0,"td",48),s.YNc(1,Le,1,3,"span",49),s.YNc(2,Se,1,3,"span",50),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf",e.settled),s.xp6(1),s.Q6J("ngIf",!e.settled),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*e.creation_date,"dd/MMM/YYYY HH:mm"),"")}}function Fe(e,t){1&e&&(s.TgZ(0,"th",53),s._uU(1," Date Settled "),s.qZA())}function Ue(e,t){if(1&e&&(s.TgZ(0,"td",54),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*e.settle_date,"dd/MMM/YYYY HH:mm")||"-")}}function Ne(e,t){1&e&&(s.TgZ(0,"th",47),s._uU(1," Memo "),s.qZA())}const De=function(e){return{"max-width":e}};function Je(e,t){if(1&e&&(s.TgZ(0,"td",48),s.TgZ(1,"div",55),s.TgZ(2,"span",56),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(1),s.Q6J("ngStyle",s.VKq(2,De,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(2),s.Oqu(e.memo)}}function Oe(e,t){1&e&&(s.TgZ(0,"th",57),s._uU(1," Amount (Sats) "),s.qZA())}function Ie(e,t){if(1&e&&(s.TgZ(0,"td",48),s.TgZ(1,"span",58),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.value)," ")}}function Qe(e,t){1&e&&(s.TgZ(0,"th",57),s._uU(1," Amount Settled (Sats) "),s.qZA())}function Ye(e,t){if(1&e&&(s.TgZ(0,"td",48),s.TgZ(1,"span",58),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.amt_paid_sat)," ")}}function Re(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",59),s.TgZ(1,"div",60),s.TgZ(2,"mat-select",61),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",62),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}const Me=function(e){return{"pl-3":e}};function Pe(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",63),s.TgZ(1,"button",64),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onInvoiceClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,Me,e.screenSize!==e.screenSizeEnum.XS))}}function Ee(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No invoices available."),s.qZA())}function Be(e,t){if(1&e&&(s.TgZ(0,"td",65),s.YNc(1,Ee,2,0,"p",66),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.invoices&&e.invoices.data)||(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)<1)}}const He=function(e){return{"display-none":e}};function Ge(e,t){if(1&e&&s._UZ(0,"tr",67),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,He,(null==e.invoices?null:e.invoices.data)&&(null==e.invoices||null==e.invoices.data?null:e.invoices.data.length)>0))}}function Ve(e,t){1&e&&s._UZ(0,"tr",68)}function ze(e,t){if(1&e&&s._UZ(0,"tr",69),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.memo===n.newlyAddedInvoiceMemo&&e.value===n.newlyAddedInvoiceValue&&n.flgAnimate?"added":"notAdded")}}const We=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},$e=function(){return["no_invoice"]};function Xe(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",16),s.TgZ(1,"div",17),s.TgZ(2,"div",18),s._UZ(3,"fa-icon",19),s.TgZ(4,"span",20),s._uU(5,"Invoices History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",21),s.TgZ(7,"input",22),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",23),s.YNc(9,ve,1,0,"mat-progress-bar",24),s.TgZ(10,"table",25,26),s.ynx(12,27),s.YNc(13,qe,2,0,"th",28),s.YNc(14,ke,5,6,"td",29),s.BQk(),s.ynx(15,30),s.YNc(16,Fe,2,0,"th",31),s.YNc(17,Ue,3,4,"td",32),s.BQk(),s.ynx(18,33),s.YNc(19,Ne,2,0,"th",28),s.YNc(20,Je,4,4,"td",29),s.BQk(),s.ynx(21,34),s.YNc(22,Oe,2,0,"th",35),s.YNc(23,Ie,4,3,"td",29),s.BQk(),s.ynx(24,36),s.YNc(25,Qe,2,0,"th",35),s.YNc(26,Ye,4,3,"td",29),s.BQk(),s.ynx(27,37),s.YNc(28,Re,6,0,"th",38),s.YNc(29,Pe,3,3,"td",39),s.BQk(),s.ynx(30,40),s.YNc(31,Be,2,1,"td",41),s.BQk(),s.YNc(32,Ge,1,3,"tr",42),s.YNc(33,Ve,1,0,"tr",43),s.YNc(34,ze,1,1,"tr",44),s.qZA(),s.TgZ(35,"mat-paginator",45),s.NdJ("page",function(t){return s.CHM(e),s.oxw().onPageChange(t)}),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("icon",e.faHistory),s.xp6(6),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.invoices)("ngClass",s.VKq(12,We,"error"===e.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(14,$e)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("length",e.totalInvoices)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let je=(()=>{class e{constructor(e,t,n,a,i){this.logger=e,this.store=t,this.decimalPipe=n,this.commonService=a,this.datePipe=i,this.calledFrom="transactions",this.faHistory=g.qO$,this.selNode={},this.newlyAddedInvoiceMemo=null,this.newlyAddedInvoiceValue=null,this.flgAnimate=!0,this.memo="",this.invoiceValueHint="",this.displayedColumns=[],this.invoicePaymentReq="",this.invoicesData=[],this.information={},this.flgLoading=[!0],this.flgSticky=!1,this.private=!1,this.expiryStep=100,this.totalInvoices=100,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.firstOffset=-1,this.lastOffset=-1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["creation_date","value","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["creation_date","settle_date","value","amt_paid_sat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["creation_date","settle_date","memo","value","actions"]):(this.flgSticky=!0,this.displayedColumns=["creation_date","settle_date","memo","value","amt_paid_sat","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchInvoices"===e.action&&(this.flgLoading[0]="error")}),this.selNode=e.nodeSettings,this.information=e.information,this.totalInvoices=e.totalInvoices,this.firstOffset=+e.invoices.first_index_offset,this.lastOffset=+e.invoices.last_index_offset,this.invoicesData=e.invoices.invoices?e.invoices.invoices:[],this.invoicesData.length>0&&this.loadInvoicesTable(this.invoicesData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.invoices),this.logger.info(e)})}ngAfterViewInit(){this.invoicesData.length>0&&this.loadInvoicesTable(this.invoicesData)}onAddInvoice(e){let t=this.expiry?this.expiry:3600;this.flgAnimate=!0,this.newlyAddedInvoiceMemo=this.memo,this.newlyAddedInvoiceValue=this.invoiceValue,this.store.dispatch(new G.Fk("Adding Invoice...")),this.store.dispatch(new x.H1({memo:this.memo,invoiceValue:this.invoiceValue,private:this.private,expiry:t,pageSize:this.pageSize,openModal:!0})),this.resetData()}onInvoiceClick(e,t){this.store.dispatch(new G.wu({data:{invoice:e,newlyAdded:!1,component:be.v}}))}loadInvoicesTable(e){this.invoices=new re.by(e?[...e]:[]),this.invoices.sort=this.sort,this.invoices.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.invoices.filterPredicate=(e,t)=>((e.creation_date?this.datePipe.transform(new Date(1e3*e.creation_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+(e.settle_date?this.datePipe.transform(new Date(1e3*e.settle_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),setTimeout(()=>{this.flgAnimate=!1},5e3),this.logger.info(this.invoices)}resetData(){this.memo="",this.invoiceValue=void 0,this.private=!1,this.expiry=void 0,this.invoiceValueHint=""}applyFilter(e){this.invoices.filter=e.value.trim().toLowerCase()}onPageChange(e){let t=!0,n=this.lastOffset;0===e.pageIndex?(t=!0,n=0):e.pageIndexe.previousPageIndex&&e.length>(e.pageIndex+1)*e.pageSize?(t=!0,n=this.firstOffset):e.length<=(e.pageIndex+1)*e.pageSize&&(t=!1,n=e.length-e.pageIndex*e.pageSize+1),this.store.dispatch(new x._O({num_max_invoices:e.pageSize,index_offset:n,reversed:t}))}onInvoiceValueChange(){this.selNode.fiatConversion&&this.invoiceValue>99&&(this.invoiceValueHint="",this.commonService.convertCurrency(this.invoiceValue,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.invoiceValueHint="= "+e.symbol+this.decimalPipe.transform(e.OTHER,f.Xz.OTHER)+" "+e.unit}))}onDownloadCSV(){this.invoices.data&&this.invoices.data.length>0&&this.commonService.downloadFile(this.invoices.data,"Invoices")}openCreateInvoiceModal(){this.store.dispatch(new G.wu({data:{pageSize:this.pageSize,component:Ae}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(a.JJ),s.Y36(b.v),s.Y36(a.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-lightning-invoices"]],viewQuery:function(e,t){if(1&e&&s.Gf(le.YE,5),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Invoices")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayout","row wrap","fxLayoutAlign","stretch start","fxFlex","100"],["addInvoiceForm","ngForm"],["fxFlex","100","fxLayoutAlign","end start"],["matInput","","placeholder","Memo","tabindex","1","name","memo",3,"ngModel","ngModelChange"],["fxFlex","100","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","2","name","invValue",3,"ngModel","step","min","ngModelChange","keyup"],["matSuffix",""],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","5",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","tabindex","6","placeholder","Filter",3,"keyup"],[1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","creation_date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","settle_date"],["mat-header-cell","","mat-sort-header","","class","pl-4",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["matColumnDef","memo"],["matColumnDef","value"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_paid_sat"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass",4,"matCellDef"],["matColumnDef","no_invoice"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","","class","row-invoices",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"length","pageSize","pageSizeOptions","showFirstLastButtons","page"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Unsettled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Unsettled","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["mat-header-cell","","mat-sort-header","",1,"pl-4"],["mat-cell","",1,"pl-4"],[1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row","",1,"row-invoices"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,we,15,6,"form",1),s.YNc(2,_e,3,0,"div",2),s.YNc(3,Xe,36,15,"div",3),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf","home"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,ue.JJ,ue.On,ue.wV,ue.qQ,he.q,J.R9,J.bx,q.lW,T.BN,Q.$V,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,O.gM,a.PC,L.Zl,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-memo[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-memo[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"],data:{animation:[Te.Q]}}),e})();var Ke=n(9056),et=n(3556),tt=n(5001);const nt=["paymentReq"];function at(e,t){if(1&e&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function it(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function ot(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function st(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment amount is required."),s.qZA())}function lt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",27,28),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().paymentAmount=t})("change",function(t){return s.CHM(e),s.oxw().onAmountChange(t)}),s.qZA(),s.TgZ(3,"mat-hint"),s._uU(4,"It is a zero amount invoice, enter amount to be paid."),s.qZA(),s.YNc(5,st,2,0,"mat-error",11),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngModel",e.paymentAmount),s.xp6(4),s.Q6J("ngIf",!e.paymentAmount)}}function rt(e,t){if(1&e&&(s.TgZ(0,"mat-option",29),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.name," ")}}function ct(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("",e.selFeeLimitType.placeholder," is required.")}}function ut(e,t){if(1&e&&(s.TgZ(0,"mat-option",29),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.remote_alias||e.chan_id," ")}}function dt(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentError)}}function pt(e,t){if(1&e&&(s.TgZ(0,"div",30),s._UZ(1,"fa-icon",31),s.YNc(2,dt,2,1,"span",11),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.paymentError)}}let ht=(()=>{class e{constructor(e,t,n,a,i,o,s){this.dialogRef=e,this.store=t,this.logger=n,this.commonService=a,this.decimalPipe=i,this.actions$=o,this.dataService=s,this.faExclamationTriangle=g.eHv,this.selNode={},this.paymentDecoded={},this.zeroAmtInvoice=!1,this.paymentAmount=null,this.paymentRequest="",this.paymentDecodedHint="",this.showAdvanced=!1,this.selActiveChannel={},this.activeChannels=[],this.filteredMinAmtActvChannels=[],this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.feeLimitTypes=f.Vc,this.advancedTitle="Advanced Options",this.paymentError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.activeChannels=e.allChannels.filter(e=>e.active),this.filteredMinAmtActvChannels=this.activeChannels,this.logger.info(e)}),this.actions$.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.hL||e.type===x.ug)).subscribe(e=>{e.type===x.ug&&this.dialogRef.close(),e.type===x.hL&&"SendPayment"===e.payload.action&&(delete this.paymentDecoded.num_satoshis,this.paymentError=e.payload.message)})}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():(this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.paymentReq.control.setErrors(null),this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,Ke.q)(1)).subscribe(e=>{this.selActiveChannel={},this.paymentDecoded=e,this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.zeroAmtInvoice=!1,this.filteredMinAmtActvChannels=this.activeChannels.filter(e=>e.local_balance>=this.paymentDecoded.num_satoshis),this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe(e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,f.Xz.OTHER)+") | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")):(this.zeroAmtInvoice=!0,this.filteredMinAmtActvChannels=this.activeChannels,this.paymentDecodedHint="Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None"))},e=>{this.logger.error(e),this.paymentDecodedHint="ERROR: "+e.message,this.paymentReq.control.setErrors({decodeError:!0})}))}sendPayment(){this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.store.dispatch(new G.Fk("Sending Payment...")),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.zeroAmtInvoice=!1,this.store.dispatch(new x.Ar({paymentReq:this.paymentRequest,outgoingChannel:this.selActiveChannel,feeLimitType:this.selFeeLimitType,feeLimit:this.feeLimit,fromDialog:!0}))):(this.zeroAmtInvoice=!0,this.paymentDecoded.num_satoshis=this.paymentAmount,this.store.dispatch(new x.Ar({paymentReq:this.paymentRequest,paymentAmount:this.paymentAmount,outgoingChannel:this.selActiveChannel,feeLimitType:this.selFeeLimitType,feeLimit:this.feeLimit,fromDialog:!0})))}onAmountChange(e){delete this.paymentDecoded.num_satoshis}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentAmount=null,this.paymentError="",this.paymentDecodedHint="",this.zeroAmtInvoice=!1,this.paymentRequest&&this.paymentRequest.length>100&&(this.paymentReq.control.setErrors(null),this.zeroAmtInvoice=!1,this.dataService.decodePayment(this.paymentRequest,!0).pipe((0,Ke.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.selActiveChannel={},this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.zeroAmtInvoice=!1,this.filteredMinAmtActvChannels=this.activeChannels.filter(e=>e.local_balance>=this.paymentDecoded.num_satoshis),this.selNode.fiatConversion?this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe(e=>{this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,f.Xz.OTHER)+") | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")}):this.paymentDecodedHint="Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis)+" Sats | Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None")):(this.zeroAmtInvoice=!0,this.filteredMinAmtActvChannels=this.activeChannels,this.paymentDecodedHint="Memo: "+(this.paymentDecoded.description?this.paymentDecoded.description:"None"))},e=>{this.logger.error(e),this.paymentDecodedHint="ERROR: "+e.message,this.paymentReq.control.setErrors({decodeError:!0})}))}onAdvancedPanelToggle(e){this.advancedTitle=e?"Advanced Options | "+this.selFeeLimitType.name+("none"===this.selFeeLimitType.id?"":": "+this.feeLimit)+(this.selActiveChannel.remote_alias||this.selActiveChannel.chan_id?" | First Outgoing Channel: "+(this.selActiveChannel.remote_alias?this.selActiveChannel.remote_alias:this.selActiveChannel.chan_id):""):"Advanced Options"}resetData(){this.paymentDecoded={},this.paymentRequest="",this.selActiveChannel=null,this.filteredMinAmtActvChannels=this.activeChannels,this.feeLimit=null,this.selFeeLimitType=f.Vc[0],this.advancedTitle="Advanced Options",this.zeroAmtInvoice=!1,this.paymentReq.control.setErrors(null),this.paymentError="",this.paymentDecodedHint=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(y.yh),s.Y36(Z.mQ),s.Y36(b.v),s.Y36(a.JJ),s.Y36(A.eX),s.Y36(et.D))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-lightning-send-payments"]],viewQuery:function(e,t){if(1&e&&s.Gf(nt,5),2&e){let e;s.iGM(e=s.CRH())&&(t.paymentReq=e.first)}},decls:40,vars:19,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayoutAlign","space-between stretch","fxLayout","column"],["sendPaymentForm","ngForm"],["autoFocus","","matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100","expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxFlex","100","fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","30","fxLayoutAlign","start end"],["tabindex","5","Placeholder","Fee Limits",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","26"],["matInput","","type","number","name","feeLmt","required","","tabindex","6",3,"ngModel","placeholder","step","min","disabled","ngModelChange"],["fLmt","ngModel"],["fxFlex","40","fxLayoutAlign","start end"],["tabindex","7","placeholder","First Outgoing Channel",3,"value","disabled","valueChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","required","",3,"ngModel","ngModelChange","change"],["paymentAmt","ngModel"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Send Payment"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.TgZ(11,"mat-form-field",1),s.TgZ(12,"textarea",9,10),s.NdJ("ngModelChange",function(e){return t.onPaymentRequestEntry(e)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(14,at,2,1,"mat-hint",11),s.YNc(15,it,2,0,"mat-error",11),s.YNc(16,ot,2,1,"mat-error",11),s.qZA(),s.YNc(17,lt,6,2,"mat-form-field",12),s.TgZ(18,"mat-expansion-panel",13),s.NdJ("closed",function(){return t.onAdvancedPanelToggle(!0)})("opened",function(){return t.onAdvancedPanelToggle(!1)}),s.TgZ(19,"mat-expansion-panel-header"),s.TgZ(20,"mat-panel-title"),s.TgZ(21,"span"),s._uU(22),s.qZA(),s.qZA(),s.qZA(),s.TgZ(23,"div",14),s.TgZ(24,"mat-form-field",15),s.TgZ(25,"mat-select",16),s.NdJ("valueChange",function(e){return t.selFeeLimitType=e}),s.YNc(26,rt,2,2,"mat-option",17),s.qZA(),s.qZA(),s.TgZ(27,"mat-form-field",18),s.TgZ(28,"input",19,20),s.NdJ("ngModelChange",function(e){return t.feeLimit=e}),s.qZA(),s.YNc(30,ct,2,1,"mat-error",11),s.qZA(),s.TgZ(31,"mat-form-field",21),s.TgZ(32,"mat-select",22),s.NdJ("valueChange",function(e){return t.selActiveChannel=e}),s.YNc(33,ut,2,2,"mat-option",17),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(34,pt,3,2,"div",23),s.TgZ(35,"div",24),s.TgZ(36,"button",25),s.NdJ("click",function(){return t.resetData()}),s._uU(37,"Clear Fields"),s.qZA(),s.TgZ(38,"button",26),s.NdJ("click",function(){return t.onSendPayment()}),s._uU(39,"Send Payment"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.MAs(13);s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",t.paymentRequest),s.xp6(2),s.Q6J("ngIf",t.paymentRequest&&""!==t.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!t.paymentRequest),s.xp6(1),s.Q6J("ngIf",null==e.errors?null:e.errors.decodeError),s.xp6(1),s.Q6J("ngIf",t.zeroAmtInvoice),s.xp6(5),s.Oqu(t.advancedTitle),s.xp6(3),s.Q6J("value",t.selFeeLimitType),s.xp6(1),s.Q6J("ngForOf",t.feeLimitTypes),s.xp6(2),s.Q6J("ngModel",t.feeLimit)("placeholder",t.selFeeLimitType.placeholder)("step",1)("min",0)("disabled",t.selFeeLimitType===t.feeLimitTypes[0]),s.xp6(2),s.Q6J("ngIf",t.selFeeLimitType!==t.feeLimitTypes[0]&&!t.feeLimit),s.xp6(2),s.Q6J("value",t.selActiveChannel)("disabled",t.filteredMinAmtActvChannels&&t.filteredMinAmtActvChannels.length<1),s.xp6(1),s.Q6J("ngForOf",t.filteredMinAmtActvChannels),s.xp6(1),s.Q6J("ngIf",""!==t.paymentError)}},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,ce.ZT,_.dn,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,de.D7,pe.h,ue.Q7,ue.JJ,ue.On,a.O5,tt.ib,tt.yz,tt.yK,me.gD,a.sg,ue.wV,ue.qQ,he.q,J.bx,J.TO,fe.ey,T.BN],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var mt=n(8914),gt=n(8248);const ft=["sendPaymentForm"];function xt(e,t){if(1&e&&(s.TgZ(0,"mat-hint"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.paymentDecodedHint)}}function Zt(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Payment request is required."),s.qZA())}function yt(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",4,5),s.TgZ(2,"mat-form-field",6),s.TgZ(3,"textarea",7,8),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().onPaymentRequestEntry(t)})("matTextareaAutosize",function(){return!0}),s.qZA(),s.YNc(5,xt,2,1,"mat-hint",9),s.YNc(6,Zt,2,0,"mat-error",9),s.qZA(),s.TgZ(7,"div",10),s.TgZ(8,"button",11),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(9,"Clear Field"),s.qZA(),s.TgZ(10,"button",12),s.NdJ("click",function(){return s.CHM(e),s.oxw().onSendPayment()}),s._uU(11,"Send Payment"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.paymentRequest),s.xp6(2),s.Q6J("ngIf",e.paymentRequest&&""!==e.paymentDecodedHint),s.xp6(1),s.Q6J("ngIf",!e.paymentRequest)}}function At(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",13),s.TgZ(1,"button",14),s.NdJ("click",function(){return s.CHM(e),s.oxw().openSendPaymentModal()}),s._uU(2,"Send Payment"),s.qZA(),s.qZA()}}function bt(e,t){1&e&&s._UZ(0,"mat-progress-bar",53)}function Tt(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1,"Creation Date"),s.qZA())}const wt=function(e){return{"mr-0":e}};function _t(e,t){if(1&e&&s._UZ(0,"span",58),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function vt(e,t){if(1&e&&s._UZ(0,"span",59),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function qt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.YNc(1,_t,1,3,"span",56),s.YNc(2,vt,1,3,"span",57),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf","SUCCEEDED"===e.status),s.xp6(1),s.Q6J("ngIf","SUCCEEDED"!==e.status),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*(null==e?null:e.creation_date),"dd/MMM/YYYY HH:mm")," ")}}function Ct(e,t){1&e&&(s.TgZ(0,"th",54),s._uU(1,"Payment Hash"),s.qZA())}const Lt=function(e){return{"max-width":e}};function St(e,t){if(1&e&&(s.TgZ(0,"td",60),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,Lt,n.screenSize===n.screenSizeEnum.XS?"10rem":"35rem")),s.xp6(1),s.Oqu(null==e?null:e.payment_hash)}}function kt(e,t){1&e&&(s.TgZ(0,"th",61),s._uU(1,"Fee (Sats)"),s.qZA())}function Ft(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",62),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==e?null:e.fee))}}function Ut(e,t){1&e&&(s.TgZ(0,"th",61),s._uU(1,"Value (Sats)"),s.qZA())}function Nt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",62),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,null==e?null:e.value))}}function Dt(e,t){1&e&&(s.TgZ(0,"th",61),s._uU(1,"#Hops"),s.qZA())}function Jt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",62),s._uU(2),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu((null==e||null==e.htlcs[0]||null==e.htlcs[0].route||null==e.htlcs[0].route.hops?null:e.htlcs[0].route.hops.length)||0)}}function Ot(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",63),s.TgZ(1,"div",64),s.TgZ(2,"mat-select",65),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",66),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function It(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",67),s.TgZ(1,"button",68),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw(2).onPaymentClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Qt(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No payments available."),s.qZA())}function Yt(e,t){if(1&e&&(s.TgZ(0,"td",69),s.YNc(1,Qt,2,0,"p",9),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.payments&&e.payments.data)||(null==e.payments||null==e.payments.data?null:e.payments.data.length)<1)}}function Rt(e,t){if(1&e&&s._UZ(0,"span",58),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function Mt(e,t){if(1&e&&s._UZ(0,"span",59),2&e){const e=s.oxw(3);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function Pt(e,t){if(1&e&&s._UZ(0,"span",58),2&e){const e=s.oxw(5);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function Et(e,t){if(1&e&&s._UZ(0,"span",59),2&e){const e=s.oxw(5);s.Q6J("ngClass",s.VKq(1,wt,e.screenSize===e.screenSizeEnum.XS))}}function Bt(e,t){if(1&e&&(s.TgZ(0,"span",72),s.YNc(1,Pt,1,3,"span",56),s.YNc(2,Et,1,3,"span",57),s._uU(3),s.ALo(4,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf","SUCCEEDED"===e.status),s.xp6(1),s.Q6J("ngIf","SUCCEEDED"!==e.status),s.xp6(1),s.hij(" ",s.xi3(4,3,1e3*e.attempt_time,"dd/MMM/YYYY HH:mm")," ")}}function Ht(e,t){if(1&e&&(s.ynx(0),s.YNc(1,Bt,5,6,"span",71),s.BQk()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function Gt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",70),s.YNc(2,Rt,1,3,"span",56),s.YNc(3,Mt,1,3,"span",57),s._uU(4),s.qZA(),s.YNc(5,Ht,2,1,"ng-container",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Q6J("ngIf","SUCCEEDED"===e.status),s.xp6(1),s.Q6J("ngIf","SUCCEEDED"!==e.status),s.xp6(1),s.hij(" Total Attempts: ",null==e||null==e.htlcs?null:e.htlcs.length," "),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Vt(e,t){if(1&e&&(s.TgZ(0,"span",70),s._uU(1),s.qZA()),2&e){const e=t.index;s.xp6(1),s.hij(" HTLC ",e+1," ")}}function zt(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Vt,2,1,"span",73),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function Wt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",70),s._uU(2),s.qZA(),s.YNc(3,zt,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(null==e?null:e.payment_hash),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function $t(e,t){if(1&e&&(s.TgZ(0,"span",74),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,null==e.route?null:e.route.total_fees,"1.0-0")," ")}}function Xt(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,$t,3,4,"span",75),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function jt(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",74),s._uU(2),s.ALo(3,"number"),s.qZA(),s.YNc(4,Xt,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,2,null==e?null:e.fee,"1.0-0")),s.xp6(2),s.Q6J("ngIf",e.is_expanded)}}function Kt(e,t){if(1&e&&(s.TgZ(0,"span",74),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,null==e.route?null:e.route.total_amt,"1.0-0")," ")}}function en(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Kt,3,4,"span",75),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function tn(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",74),s._uU(2),s.ALo(3,"number"),s.qZA(),s.YNc(4,en,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.xi3(3,2,null==e?null:e.value,"1.0-0")),s.xp6(2),s.Q6J("ngIf",e.is_expanded)}}function nn(e,t){if(1&e&&(s.TgZ(0,"span",74),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,(null==e.route||null==e.route.hops?null:e.route.hops.length)||0,"1.0-0")," ")}}function an(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,nn,3,4,"span",75),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function on(e,t){if(1&e&&(s.TgZ(0,"td",55),s.TgZ(1,"span",74),s._uU(2,"-"),s.qZA(),s.YNc(3,an,2,1,"span",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Q6J("ngIf",e.is_expanded)}}function sn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",62),s.TgZ(1,"button",79),s.NdJ("click",function(){const t=s.CHM(e).$implicit,n=s.oxw(2).$implicit;return s.oxw(2).onHTLCClick(t,n)}),s._uU(2),s.qZA(),s.qZA()}if(2&e){const e=t.index;s.xp6(2),s.hij("View ",e+1,"")}}function ln(e,t){if(1&e&&(s.TgZ(0,"div"),s.YNc(1,sn,3,1,"div",78),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.htlcs)}}function rn(e,t){if(1&e&&(s.TgZ(0,"td",76),s.TgZ(1,"span",62),s.TgZ(2,"button",77),s.NdJ("click",function(){const e=t.$implicit;return e.is_expanded=!e.is_expanded}),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,ln,2,1,"div",9),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Oqu(e.is_expanded?"Hide":"Show"),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function cn(e,t){if(1&e&&s._UZ(0,"tr",80),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const un=function(e){return{"display-none":e}};function dn(e,t){if(1&e&&s._UZ(0,"tr",81),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,un,(null==e.payments?null:e.payments.data)&&(null==e.payments||null==e.payments.data?null:e.payments.data.length)>0))}}function pn(e,t){1&e&&s._UZ(0,"tr",82)}function hn(e,t){if(1&e&&s._UZ(0,"tr",80),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("@newlyAddedRowAnimation",e.payment_hash===n.newlyAddedPayment&&n.flgAnimate?"added":"notAdded")}}const mn=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},gn=function(){return["no_payment"]};function fn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",15),s.TgZ(1,"div",16),s.TgZ(2,"div",17),s._UZ(3,"fa-icon",18),s.TgZ(4,"span",19),s._uU(5,"Payments History"),s.qZA(),s.qZA(),s.TgZ(6,"mat-form-field",20),s.TgZ(7,"input",21),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",22),s.TgZ(9,"div",23),s.YNc(10,bt,1,0,"mat-progress-bar",24),s.TgZ(11,"table",25,26),s.ynx(13,27),s.YNc(14,Tt,2,0,"th",28),s.YNc(15,qt,5,6,"td",29),s.BQk(),s.ynx(16,30),s.YNc(17,Ct,2,0,"th",28),s.YNc(18,St,2,4,"td",31),s.BQk(),s.ynx(19,32),s.YNc(20,kt,2,0,"th",33),s.YNc(21,Ft,4,3,"td",29),s.BQk(),s.ynx(22,34),s.YNc(23,Ut,2,0,"th",33),s.YNc(24,Nt,4,3,"td",29),s.BQk(),s.ynx(25,35),s.YNc(26,Dt,2,0,"th",33),s.YNc(27,Jt,3,1,"td",29),s.BQk(),s.ynx(28,36),s.YNc(29,Ot,6,0,"th",37),s.YNc(30,It,3,0,"td",38),s.BQk(),s.ynx(31,39),s.YNc(32,Yt,2,1,"td",40),s.BQk(),s.ynx(33,41),s.YNc(34,Gt,6,4,"td",29),s.BQk(),s.ynx(35,42),s.YNc(36,Wt,4,2,"td",29),s.BQk(),s.ynx(37,43),s.YNc(38,jt,5,5,"td",29),s.BQk(),s.ynx(39,44),s.YNc(40,tn,5,5,"td",29),s.BQk(),s.ynx(41,45),s.YNc(42,on,4,1,"td",29),s.BQk(),s.ynx(43,46),s.YNc(44,rn,5,2,"td",47),s.BQk(),s.YNc(45,cn,1,1,"tr",48),s.YNc(46,dn,1,3,"tr",49),s.YNc(47,pn,1,0,"tr",50),s.YNc(48,hn,1,1,"tr",51),s.qZA(),s.TgZ(49,"mat-paginator",52),s.NdJ("page",function(t){return s.CHM(e),s.oxw().onPageChange(t)}),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("icon",e.faHistory),s.xp6(7),s.Q6J("ngIf",!0===e.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",e.payments)("ngClass",s.VKq(14,mn,"error"===e.flgLoading[0])),s.xp6(34),s.Q6J("matRowDefColumns",e.htlcColumns)("matRowDefWhen",e.is_group),s.xp6(1),s.Q6J("matFooterRowDef",s.DdM(16,gn)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(1),s.Q6J("length",e.totalPayments)("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS)}}let xn=(()=>{class e{constructor(e,t,n,a,i,o,s,l){this.logger=e,this.commonService=t,this.dataService=n,this.store=a,this.rtlEffects=i,this.lndEffects=o,this.decimalPipe=s,this.datePipe=l,this.calledFrom="transactions",this.faHistory=g.qO$,this.newlyAddedPayment="",this.flgAnimate=!0,this.selNode={},this.flgLoading=[!0],this.information={},this.peers=[],this.totalPayments=100,this.paymentJSONArr=[],this.displayedColumns=[],this.htlcColumns=[],this.paymentDecoded={},this.paymentRequest="",this.paymentDecodedHint="",this.flgSticky=!1,this.firstOffset=-1,this.lastOffset=-1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["creation_date","fee","actions"],this.htlcColumns=["groupTotal","groupFee","groupAction"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["creation_date","fee","value","hops","actions"],this.htlcColumns=["groupTotal","groupFee","groupValue","groupHops","groupAction"]):(this.flgSticky=!0,this.displayedColumns=["creation_date","payment_hash","fee","value","hops","actions"],this.htlcColumns=["groupTotal","groupHash","groupFee","groupValue","groupHops","groupAction"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchPayments"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.selNode=e.nodeSettings,this.peers=e.peers,this.paymentJSONArr=e.payments&&e.payments.payments&&e.payments.payments.length>0?e.payments.payments:[],this.totalPayments=e.allLightningTransactions.paymentsAll&&e.allLightningTransactions.paymentsAll.payments&&e.allLightningTransactions.paymentsAll.payments.length?e.allLightningTransactions.paymentsAll.payments.length:0,this.firstOffset=+e.payments.first_index_offset,this.lastOffset=+e.payments.last_index_offset,this.paymentJSONArr&&this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr),setTimeout(()=>{this.flgAnimate=!1},3e3),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.paymentJSONArr),this.logger.info(e)})}ngAfterViewInit(){this.paymentJSONArr&&this.paymentJSONArr.length>0&&this.loadPaymentsTable(this.paymentJSONArr)}onSendPayment(){if(!this.paymentRequest)return!0;this.paymentDecoded.timestamp?this.sendPayment():this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,Ke.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.timestamp?(this.paymentDecoded.num_satoshis=this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis?(+this.paymentDecoded.num_msat/1e3).toString():"0",this.sendPayment()):this.resetData()})}sendPayment(){this.flgAnimate=!0,this.newlyAddedPayment=this.paymentDecoded.payment_hash,this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis&&""!==this.paymentDecoded.num_satoshis&&"0"!==this.paymentDecoded.num_satoshis?(this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Confirm Send Payment",noBtnText:"Cancel",yesBtnText:"Send Payment",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"destination",value:this.paymentDecoded.destination,title:"Destination",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:50,type:f.Gi.DATE_TIME},{key:"num_satoshis",value:this.paymentDecoded.num_satoshis,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER}],[{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:50,type:f.Gi.NUMBER},{key:"cltv_expiry",value:this.paymentDecoded.cltv_expiry,title:"CLTV Expiry",width:50}]]}})),this.rtlEffects.closeConfirm.pipe((0,Ke.q)(1)).subscribe(e=>{e&&(this.store.dispatch(new G.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({paymentReq:this.paymentRequest,fromDialog:!1})),this.resetData())})):(this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Enter Amount and Confirm Send Payment",titleMessage:"It is a zero amount invoice. Enter the amount (Sats) to pay.",message:[[{key:"payment_hash",value:this.paymentDecoded.payment_hash,title:"Payment Hash",width:100}],[{key:"destination",value:this.paymentDecoded.destination,title:"Destination",width:100}],[{key:"description",value:this.paymentDecoded.description,title:"Description",width:100}],[{key:"timestamp",value:this.paymentDecoded.timestamp,title:"Creation Date",width:40,type:f.Gi.DATE_TIME},{key:"expiry",value:this.paymentDecoded.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"cltv_expiry",value:this.paymentDecoded.cltv_expiry,title:"CLTV Expiry",width:30}]],noBtnText:"Cancel",yesBtnText:"Send Payment",flgShowInput:!0,getInputs:[{placeholder:"Amount (Sats)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:"",width:30}]}})),this.rtlEffects.closeConfirm.pipe((0,Ke.q)(1)).subscribe(e=>{e&&(this.paymentDecoded.num_satoshis=e[0].inputValue,this.store.dispatch(new G.Fk("Sending Payment...")),this.store.dispatch(new x.Ar({paymentReq:this.paymentRequest,paymentAmount:e[0].inputValue,fromDialog:!1})),this.resetData())}))}openSendPaymentModal(){this.store.dispatch(new G.wu({data:{component:ht}}))}onPaymentRequestEntry(e){this.paymentRequest=e,this.paymentDecodedHint="",this.paymentRequest&&this.paymentRequest.length>100&&this.dataService.decodePayment(this.paymentRequest,!1).pipe((0,Ke.q)(1)).subscribe(e=>{this.paymentDecoded=e,this.paymentDecoded.num_msat&&!this.paymentDecoded.num_satoshis&&(this.paymentDecoded.num_satoshis=(+this.paymentDecoded.num_msat/1e3).toString()),this.paymentDecoded.num_satoshis?this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis,f.NT.SATS,this.selNode.currencyUnits[2],this.selNode.fiatConversion).pipe((0,p.R)(this.unSubs[2])).subscribe(e=>{this.paymentDecodedHint=this.selNode.fiatConversion?"Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0)+" Sats ("+e.symbol+this.decimalPipe.transform(e.OTHER?e.OTHER:0,f.Xz.OTHER)+") | Memo: "+this.paymentDecoded.description:"Sending: "+this.decimalPipe.transform(this.paymentDecoded.num_satoshis?this.paymentDecoded.num_satoshis:0)+" Sats | Memo: "+this.paymentDecoded.description}):this.paymentDecodedHint="Zero Amount Invoice | Memo: "+this.paymentDecoded.description})}onPageChange(e){let t=!0,n=this.lastOffset,a=e.pageSize;0===e.pageIndex?(t=!0,n=0):e.pageIndexe.previousPageIndex&&e.length>(e.pageIndex+1)*e.pageSize?(t=!0,n=this.firstOffset):e.length<=(e.pageIndex+1)*e.pageSize&&(t=!1,n=0,a=e.length-e.pageIndex*e.pageSize),this.store.dispatch(new x.xt({max_payments:a,index_offset:n,reversed:t}))}is_group(e,t){return t.htlcs&&t.htlcs.length>1}resetData(){this.paymentDecoded={},this.paymentRequest="",this.form.resetForm()}getHopDetails(e){let t=this;return e.reduce(function(e,n){let a=t.peers.find(e=>e.pub_key===n.pub_key);return a&&a.alias?e.push("
Channel: "+a.alias.padEnd(20)+"			Amount (Sats): "+t.decimalPipe.transform(n.amt_to_forward)+"
"):t.dataService.getAliasesFromPubkeys(n.pub_key,!1).pipe((0,p.R)(t.unSubs[1])).subscribe(a=>{e.push("
Channel: "+(a.node&&a.node.alias?a.node.alias.padEnd(20):n.pub_key.substring(0,17)+"...")+"			Amount (Sats): "+t.decimalPipe.transform(n.amt_to_forward)+"
")}),e},[])}onHTLCClick(e,t){t.payment_request&&""!==t.payment_request.trim()?this.dataService.decodePayment(t.payment_request,!1).pipe((0,Ke.q)(1)).subscribe(n=>{this.showHTLCView(e,t,n)},n=>{this.showHTLCView(e,t,null)}):this.showHTLCView(e,t,null)}showHTLCView(e,t,n){const a=[[{key:"payment_hash",value:t.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"preimage",value:e.preimage,title:"Preimage",width:100,type:f.Gi.STRING}],[{key:"payment_request",value:t.payment_request,title:"Payment Request",width:100,type:f.Gi.STRING}],[{key:"status",value:e.status,title:"Status",width:33,type:f.Gi.STRING},{key:"attempt_time_ns",value:+e.attempt_time_ns/1e9,title:"Attempt Time",width:33,type:f.Gi.DATE_TIME},{key:"resolve_time_ns",value:+e.resolve_time_ns/1e9,title:"Resolve Time",width:34,type:f.Gi.DATE_TIME}],[{key:"total_amt",value:e.route.total_amt,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER},{key:"total_fees",value:e.route.total_fees,title:"Fee (Sats)",width:33,type:f.Gi.NUMBER},{key:"total_time_lock",value:e.route.total_time_lock,title:"Total Time Lock",width:34,type:f.Gi.NUMBER}],[{key:"hops",value:this.getHopDetails(e.route.hops),title:"Hops",width:100,type:f.Gi.ARRAY}]];n&&n.description&&""!==n.description&&a.splice(3,0,[{key:"description",value:n.description,title:"Description",width:100,type:f.Gi.STRING}]),this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"HTLC Information",message:a,scrollable:e.route&&e.route.hops&&e.route.hops.length>1}}))}onPaymentClick(e){if(e.htlcs&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length>0){let t=e.htlcs[0].route.hops.reduce((e,t)=>""===e?t.pub_key:e+","+t.pub_key,"");this.dataService.getAliasesFromPubkeys(t,!0).pipe((0,p.R)(this.unSubs[3])).subscribe(t=>{this.showPaymentView(e,t.reduce((e,t)=>""===e?t:e+"\n"+t,""))})}else this.showPaymentView(e,"")}showPaymentView(e,t){const n=[[{key:"payment_hash",value:e.payment_hash,title:"Payment Hash",width:100,type:f.Gi.STRING}],[{key:"payment_preimage",value:e.payment_preimage,title:"Payment Preimage",width:100,type:f.Gi.STRING}],[{key:"payment_request",value:e.payment_request,title:"Payment Request",width:100,type:f.Gi.STRING}],[{key:"status",value:e.status,title:"Status",width:50,type:f.Gi.STRING},{key:"creation_date",value:e.creation_date,title:"Creation Date",width:50,type:f.Gi.DATE_TIME}],[{key:"value_msat",value:e.value_msat,title:"Value (mSats)",width:50,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:50,type:f.Gi.NUMBER}],[{key:"path",value:t,title:"Path",width:100,type:f.Gi.STRING}]];e.payment_request&&""!==e.payment_request.trim()?this.dataService.decodePayment(e.payment_request,!1).pipe((0,Ke.q)(1)).subscribe(t=>{t&&t.description&&""!==t.description&&n.splice(3,0,[{key:"description",value:t.description,title:"Description",width:100,type:f.Gi.STRING}]),this.openPaymentAlert(n,e.htlcs&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length>1)}):this.openPaymentAlert(n,!1)}openPaymentAlert(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Payment Information",message:e,scrollable:t}}))}applyFilter(e){this.payments.filter=e.value.trim().toLowerCase()}loadPaymentsTable(e){this.payments=new re.by(e?[...e]:[]),this.payments.sortingDataAccessor=(e,t)=>{switch(t){case"hops":return e.htlcs.length&&e.htlcs[0]&&e.htlcs[0].route&&e.htlcs[0].route.hops&&e.htlcs[0].route.hops.length?e.htlcs[0].route.hops.length:0;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.payments.sort=this.sort,this.payments.filterPredicate=(e,t)=>((e.creation_date?this.datePipe.transform(new Date(1e3*e.creation_date),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t)}onDownloadCSV(){if(this.payments.data&&this.payments.data.length>0){let e=JSON.parse(JSON.stringify(this.payments.data)),t=e.reduce((e,t)=>(t.payment_request&&""!==t.payment_request.trim()&&(e=""===e?t.payment_request:e+","+t.payment_request),e),"");this.dataService.decodePayments(t).pipe((0,p.R)(this.unSubs[4])).subscribe(t=>{let n=0;t.forEach((t,a)=>{for(;e[a+n].payment_hash!==t.payment_hash;)n+=1;e[a+n].description=t.description});let a=e.reduce((e,t)=>e.concat(t),[]);this.commonService.downloadFile(a,"Payments")})}}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(et.D),s.Y36(y.yh),s.Y36(mt.V),s.Y36(gt.l),s.Y36(a.JJ),s.Y36(a.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-lightning-payments"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ft,5),s.Gf(le.YE,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.sort=e.first)}},inputs:{calledFrom:"calledFrom"},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Payments")}])],decls:4,vars:3,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayoutAlign","space-between stretch","fxLayout","row wrap",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",4,"ngIf"],["fxLayoutAlign","space-between stretch","fxLayout","row wrap"],["sendPaymentForm","ngForm"],["fxFlex","100"],["matInput","","placeholder","Payment Request","name","paymentRequest","tabindex","1","required","",3,"perfectScrollbar","ngModel","ngModelChange","matTextareaAutosize"],["paymentReq","ngModel"],[4,"ngIf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","row"],["mat-flat-button","","color","primary","tabindex","4",3,"click"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","creation_date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","payment_hash"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","fee"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","value"],["matColumnDef","hops"],["matColumnDef","actions"],["mat-header-cell","","class","px-2",4,"matHeaderCellDef"],["mat-cell","","class","px-2","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_payment"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["matColumnDef","groupTotal"],["matColumnDef","groupHash"],["matColumnDef","groupFee"],["matColumnDef","groupValue"],["matColumnDef","groupHops"],["matColumnDef","groupAction"],["mat-cell","","class","px-2",4,"matCellDef"],["mat-row","",4,"matRowDef","matRowDefColumns","matRowDefWhen"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"length","pageSize","pageSizeOptions","showFirstLastButtons","page"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["class","dot green","matTooltip","Succeeded","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Failed","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["matTooltip","Succeeded","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Failed","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-2"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-2"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],["fxLayoutAlign","start center",1,"htlc-row-span"],["fxLayoutAlign","start center","class","htlc-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"htlc-row-span","pl-3"],["fxLayoutAlign","start center","class","htlc-row-span",4,"ngFor","ngForOf"],["fxLayoutAlign","end center",1,"htlc-row-span"],["fxLayoutAlign","end center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-cell","",1,"px-2"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-htlc-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-htlc-info",3,"click"],["mat-row",""],["mat-footer-row","",3,"ngClass"],["mat-header-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,yt,12,3,"form",1),s.YNc(2,At,3,0,"div",2),s.YNc(3,fn,50,17,"div",3),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf","home"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom),s.xp6(1),s.Q6J("ngIf","transactions"===t.calledFrom))},directives:[l.xw,l.yH,l.Wh,a.O5,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,de.D7,ue.Q7,Q.$V,ue.JJ,ue.On,q.lW,J.bx,J.TO,T.BN,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.nj,re.Ke,re.as,se.NW,r.pW,re.ge,le.nU,re.ev,O.gM,a.PC,L.Zl,me.gD,me.$L,fe.ey,re.yh,a.sg,re.Gk,re.Q2,re.XQ],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-payment_hash[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-groupAction[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-htlc-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-groupAction[_ngcontent-%COMP%] .btn-htlc-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}.htlc-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-groupTotal[_ngcontent-%COMP%]{min-width:17rem}"],data:{animation:[Te.Q]}}),e})();function Zn(e,t){if(1&e&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&e){s.oxw();const e=s.MAs(11);s.Q6J("matMenuTriggerFor",e)}}function yn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(3).onNavigateTo("/lnd/reports")}),s._uU(1,"Fees Summary"),s.qZA()}}function An(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(3).onsortChannelsBy()}),s._uU(1),s.qZA()}if(2&e){const e=s.oxw(3);s.xp6(1),s.hij("Sort By ","Balance Score"===e.sortField?"Capacity":"Balance Score","")}}const bn=function(e){return{"error-border":e}};function Tn(e,t){if(1&e&&s._UZ(0,"rtl-node-info",26),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("showColorFieldSeparately",!1)("ngClass",s.VKq(3,bn,"error"===e.flgLoading[0]))}}function wn(e,t){if(1&e&&s._UZ(0,"rtl-balances-info",27),2&e){const e=s.oxw(3);s.Q6J("balances",e.balances)("ngClass",s.VKq(2,bn,"error"===e.flgLoading[2]||"error"===e.flgLoading[3]))}}function _n(e,t){if(1&e&&s._UZ(0,"rtl-channel-capacity-info",28),2&e){const e=s.oxw(3);s.Q6J("sortBy",e.sortField)("channelBalances",e.channelBalances)("allChannels",e.allChannelsCapacity)("ngClass",s.VKq(4,bn,"error"===e.flgLoading[3]))}}function vn(e,t){if(1&e&&s._UZ(0,"rtl-fee-info",29),2&e){const e=s.oxw(3);s.Q6J("fees",e.fees)("ngClass",s.VKq(2,bn,"error"===e.flgLoading[1]))}}function qn(e,t){if(1&e&&s._UZ(0,"rtl-channel-status-info",30),2&e){const e=s.oxw(3);s.Q6J("channelsStatus",e.channelsStatus)("ngClass",s.VKq(2,bn,"error"===e.flgLoading[3]||"error"===e.flgLoading[4]))}}function Cn(e,t){1&e&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}function Ln(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",9),s.TgZ(2,"mat-card-header"),s.TgZ(3,"mat-card-title",10),s.TgZ(4,"div"),s._UZ(5,"fa-icon",11),s.TgZ(6,"span"),s._uU(7),s.qZA(),s.qZA(),s.TgZ(8,"div"),s.YNc(9,Zn,3,1,"button",12),s.TgZ(10,"mat-menu",13,14),s.TgZ(12,"button",15),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(13),s.qZA(),s.YNc(14,yn,2,0,"button",16),s.YNc(15,An,2,1,"button",16),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(16,"mat-card-content",17),s.TgZ(17,"div",18),s.YNc(18,Tn,1,5,"rtl-node-info",19),s.YNc(19,wn,1,4,"rtl-balances-info",20),s.YNc(20,_n,1,6,"rtl-channel-capacity-info",21),s.YNc(21,vn,1,4,"rtl-fee-info",22),s.YNc(22,qn,1,4,"rtl-channel-status-info",23),s.YNc(23,Cn,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(5),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(2),s.Q6J("ngIf",e.link),s.xp6(4),s.hij("Go To ",e.goTo,""),s.xp6(1),s.Q6J("ngIf","fee"===e.id),s.xp6(1),s.Q6J("ngIf","capacity"===e.id),s.xp6(1),s.s9C("fxFlex","node"===e.id||"balance"===e.id?70:"fee"===e.id||"status"===e.id?78:90),s.xp6(1),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","capacity"),s.xp6(1),s.Q6J("ngSwitchCase","fee"),s.xp6(1),s.Q6J("ngSwitchCase","status")}}function Sn(e,t){if(1&e&&(s.TgZ(0,"div",2),s.TgZ(1,"div",3),s._UZ(2,"fa-icon",4),s.TgZ(3,"span",5),s._uU(4),s.qZA(),s.qZA(),s.TgZ(5,"mat-grid-list",6),s.YNc(6,Ln,24,15,"mat-grid-tile",7),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.Q6J("icon",e.flgLoading[0]?e.faFrown:e.faSmile),s.xp6(2),s.Oqu(e.flgLoading[0]?"Error! Please check the server connection.":"Welcome "+e.information.alias+"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",e.operatorCardHeight),s.xp6(1),s.Q6J("ngForOf",e.operatorCards)}}function kn(e,t){if(1&e&&(s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA()),2&e){s.oxw();const e=s.MAs(9);s.Q6J("matMenuTriggerFor",e)}}function Fn(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-card-header"),s.TgZ(1,"mat-card-title",10),s.TgZ(2,"div"),s._UZ(3,"fa-icon",11),s.TgZ(4,"span"),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"div"),s.YNc(7,kn,3,1,"button",12),s.TgZ(8,"mat-menu",13,40),s.TgZ(10,"button",15),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(11),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw().$implicit;s.xp6(3),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(2),s.Q6J("ngIf",e.link),s.xp6(4),s.hij("Go To ",e.goTo,"")}}function Un(e,t){if(1&e&&s._UZ(0,"rtl-node-info",41),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("ngClass",s.VKq(2,bn,"error"===e.flgLoading[0]))}}function Nn(e,t){if(1&e&&s._UZ(0,"rtl-balances-info",27),2&e){const e=s.oxw(3);s.Q6J("balances",e.balances)("ngClass",s.VKq(2,bn,"error"===e.flgLoading[2]||"error"===e.flgLoading[3]))}}function Dn(e,t){if(1&e&&s._UZ(0,"rtl-channel-liquidity-info",42),2&e){const e=s.oxw(3);s.Q6J("direction","In")("totalLiquidity",e.totalInboundLiquidity)("allChannels",e.allInboundChannels)("ngClass",s.VKq(4,bn,"error"===e.flgLoading[3]))}}function Jn(e,t){if(1&e&&s._UZ(0,"rtl-channel-liquidity-info",42),2&e){const e=s.oxw(3);s.Q6J("direction","Out")("totalLiquidity",e.totalOutboundLiquidity)("allChannels",e.allOutboundChannels)("ngClass",s.VKq(4,bn,"error"===e.flgLoading[3]))}}function On(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",25),s.TgZ(1,"mat-icon"),s._uU(2,"more_vert"),s.qZA(),s.qZA(),s.TgZ(3,"mat-menu",13,50),s.TgZ(5,"button",15),s.NdJ("click",function(){s.CHM(e);const t=s.oxw(2).$implicit;return s.oxw(2).onNavigateTo(t.link)}),s._uU(6),s.qZA(),s.TgZ(7,"button",15),s.NdJ("click",function(){return s.CHM(e),s.oxw(4).onNavigateTo("/lnd/reports/transactions")}),s._uU(8,"Transactions Summary"),s.qZA(),s.qZA()}if(2&e){const e=s.MAs(4),t=s.oxw(2).$implicit;s.Q6J("matMenuTriggerFor",e),s.xp6(6),s.hij("Go To ",t.goTo,"")}}function In(e,t){1&e&&(s.TgZ(0,"span",43),s.TgZ(1,"mat-tab-group",44),s.TgZ(2,"mat-tab",45),s._UZ(3,"rtl-lightning-invoices",46),s.qZA(),s.TgZ(4,"mat-tab",47),s._UZ(5,"rtl-lightning-payments",46),s.qZA(),s.TgZ(6,"mat-tab",48),s.YNc(7,On,9,2,"ng-template",49),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("calledFrom","home"),s.xp6(2),s.Q6J("calledFrom","home"),s.xp6(1),s.Q6J("disabled",!0))}function Qn(e,t){1&e&&(s.TgZ(0,"h3"),s._uU(1,"Error! Unable to find information!"),s.qZA())}const Yn=function(e){return{"p-0":e}};function Rn(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",8),s.TgZ(1,"mat-card",33),s.YNc(2,Fn,12,4,"mat-card-header",34),s.TgZ(3,"mat-card-content",35),s.TgZ(4,"div",36),s.YNc(5,Un,1,4,"rtl-node-info",37),s.YNc(6,Nn,1,4,"rtl-balances-info",20),s.YNc(7,Dn,1,6,"rtl-channel-liquidity-info",38),s.YNc(8,Jn,1,6,"rtl-channel-liquidity-info",38),s.YNc(9,In,8,3,"span",39),s.YNc(10,Qn,2,0,"h3",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(1),s.Q6J("ngClass",s.VKq(11,Yn,"transactions"===e.id)),s.xp6(1),s.Q6J("ngIf","transactions"!==e.id),s.xp6(1),s.s9C("fxFlex","transactions"===e.id?100:"balance"===e.id?70:90),s.xp6(1),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","balance"),s.xp6(1),s.Q6J("ngSwitchCase","inboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","outboundLiq"),s.xp6(1),s.Q6J("ngSwitchCase","transactions")}}function Mn(e,t){if(1&e&&(s.TgZ(0,"div",31),s._UZ(1,"fa-icon",4),s.TgZ(2,"span",5),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"mat-grid-list",32),s.YNc(5,Rn,11,13,"mat-grid-tile",7),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faSmile),s.xp6(2),s.hij("Welcome ",e.information.alias,"! Your node is up and running."),s.xp6(1),s.Q6J("rowHeight",e.merchantCardHeight),s.xp6(1),s.Q6J("ngForOf",e.merchantCards)}}let Pn=(()=>{class e{constructor(e,t,n,a,i){switch(this.logger=e,this.store=t,this.actions$=n,this.commonService=a,this.router=i,this.faSmile=m.I3,this.faFrown=m.Kf,this.faAngleDoubleDown=g.Sbq,this.faAngleDoubleUp=g.Vfw,this.faChartPie=g.OS1,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.flgChildInfoUpdated=!1,this.userPersonaEnum=f.ol,this.activeChannels=0,this.inactiveChannels=0,this.channelBalances={localBalance:0,remoteBalance:0,balancedness:0},this.selNode={},this.information={},this.balances={onchain:-1,lightning:-1,total:0},this.allChannels=[],this.channelsStatus={},this.allChannelsCapacity=[],this.allInboundChannels=[],this.allOutboundChannels=[],this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.operatorCards=[],this.merchantCards=[],this.screenSize="",this.operatorCardHeight="330px",this.merchantCardHeight="65px",this.sortField="Balance Score",this.screenSizeEnum=f.cu,this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize){case f.cu.XS:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:10,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:10,rows:1},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:10,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:10,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:6,rows:4},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:6,rows:6},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:6,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:6,rows:8}];break;case f.cu.SM:case f.cu.MD:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:5,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:5,rows:1},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:5,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:5,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:10,rows:2}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:4},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:3,rows:4},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:3,rows:8},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:3,rows:8}];break;default:this.operatorCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:3,rows:1},{id:"capacity",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels Capacity",cols:4,rows:2},{id:"fee",goTo:"Routing",link:"/lnd/routing",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1},{id:"status",goTo:"Channels",link:"/lnd/connections",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1}],this.merchantCards=[{id:"balance",goTo:"On-Chain",link:"/lnd/onchain",icon:this.faChartPie,title:"Balances",cols:2,rows:5},{id:"inboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleDown,title:"In-Bound Liquidity",cols:2,rows:10},{id:"outboundLiq",goTo:"Channels",link:"/lnd/connections",icon:this.faAngleDoubleUp,title:"Out-Bound Liquidity",cols:2,rows:10},{id:"transactions",goTo:"Transactions",link:"/lnd/transactions",title:"",cols:2,rows:5}]}}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.flgLoading=[!0,!0,!0,!0,!0,!0,!0,!0],e.effectErrors.forEach(e=>{this.flgLoading[0]="FetchInfo"===e.action?"error":this.flgLoading[0],this.flgLoading[1]="FetchFees"===e.action?"error":this.flgLoading[1],this.flgLoading[2]="FetchBalance/channels"===e.action?"error":this.flgLoading[2],this.flgLoading[3]="FetchChannels/all"===e.action?"error":this.flgLoading[3],this.flgLoading[4]="FetchChannels/pending"===e.action?"error":this.flgLoading[4]}),this.flgLoading[0]=!e.information.identity_pubkey&&this.flgLoading[0],this.flgLoading[1]=!e.fees.day_fee_sum&&this.flgLoading[1],this.flgLoading[2]=!(+e.blockchainBalance.total_balance>=0&&e.totalLocalBalance>=0)&&this.flgLoading[2],this.flgLoading[3]=!(e.totalLocalBalance>=0&&e.totalRemoteBalance>=0)&&this.flgLoading[3],this.flgLoading[4]=("error"===this.flgLoading[4]||!e.numberOfPendingChannels)&&this.flgLoading[4],this.selNode=e.nodeSettings,this.information=e.information,this.fees=e.fees,this.balances.onchain=+e.blockchainBalance.total_balance>=0?+e.blockchainBalance.total_balance:0;let t=e.totalLocalBalance?+e.totalLocalBalance:0,n=e.totalRemoteBalance?+e.totalRemoteBalance:0;this.channelBalances={localBalance:t,remoteBalance:n,balancedness:+(1-Math.abs((t-n)/(t+n))).toFixed(3)},this.balances.lightning=e.totalLocalBalance,this.balances.total=this.balances.lightning+this.balances.onchain,this.balances=Object.assign({},this.balances),this.activeChannels=e.numberOfActiveChannels,this.inactiveChannels=e.numberOfInactiveChannels,this.channelsStatus={active:{channels:e.numberOfActiveChannels,capacity:e.totalCapacityActive},inactive:{channels:e.numberOfInactiveChannels,capacity:e.totalCapacityInactive},pending:{channels:e.numberOfPendingChannels.open.num_channels,capacity:e.numberOfPendingChannels.open.limbo_balance},closing:{channels:e.numberOfPendingChannels.closing.num_channels+e.numberOfPendingChannels.force_closing.num_channels+e.numberOfPendingChannels.waiting_close.num_channels,capacity:e.numberOfPendingChannels.total_limbo_balance}},this.totalInboundLiquidity=0,this.totalOutboundLiquidity=0,this.allChannels=e.allChannels.filter(e=>!0===e.active),this.allChannelsCapacity=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels,"balancedness"))),this.allInboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.remote_balance>0),"remote_balance"))),this.allOutboundChannels=JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(e=>e.local_balance>0),"local_balance"))),this.allChannels.forEach(e=>{this.totalInboundLiquidity=this.totalInboundLiquidity+ +e.remote_balance,this.totalOutboundLiquidity=this.totalOutboundLiquidity+ +e.local_balance}),this.flgChildInfoUpdated=this.balances.lightning>=0&&this.balances.onchain>=0&&this.fees.month_fee_sum>=0,this.logger.info(e)}),this.actions$.pipe((0,p.R)(this.unSubs[2]),(0,h.h)(e=>e.type===x.VS||e.type===x.HS)).subscribe(e=>{e.type===x.VS&&(this.flgChildInfoUpdated=!1),e.type===x.HS&&(this.flgChildInfoUpdated=!0)})}onNavigateTo(e){this.router.navigateByUrl(e)}onsortChannelsBy(){"Balance Score"===this.sortField?(this.sortField="Capacity",this.allChannelsCapacity=this.allChannels.sort(function(e,t){const n=+e.local_balance+ +e.remote_balance,a=+t.local_balance+ +t.remote_balance;return n>a?-1:n{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(b.v),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-home"]],decls:3,vars:2,consts:[["fxLayout","column",4,"ngIf","ngIfElse"],["merchantDashboard",""],["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container","mb-0"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","10",3,"rowHeight"],[3,"colspan","rowspan",4,"ngFor","ngForOf"],[3,"colspan","rowspan"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4"],["fxLayoutAlign","space-between center"],[1,"mr-1",3,"icon"],["mat-icon-button","","class","more-button","aria-label","Toggle menu",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"dashboard-vert-menu"],["menuOperator","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["fxLayout","column",1,"dashboard-card-content",3,"fxFlex"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"balances","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"fees","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","ngClass",4,"ngSwitchCase"],[4,"ngSwitchDefault"],["mat-icon-button","","aria-label","Toggle menu",1,"more-button",3,"matMenuTriggerFor"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass"],["fxFlex","100",3,"balances","ngClass"],["fxFlex","100",3,"sortBy","channelBalances","allChannels","ngClass"],["fxFlex","100",3,"fees","ngClass"],["fxFlex","100",3,"channelsStatus","ngClass"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container","mb-0"],["cols","6",3,"rowHeight"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch",1,"h-100","dashboard-card","mt-4",3,"ngClass"],[4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch",1,"dashboard-card-content",3,"fxFlex"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",3,"ngSwitch"],["fxFlex","100",3,"information","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass",4,"ngSwitchCase"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",3,"perfectScrollbar",4,"ngSwitchCase"],["menuMerchant","matMenu"],["fxFlex","100",3,"information","ngClass"],["fxFlex","100",3,"direction","totalLiquidity","allChannels","ngClass"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100",1,"w-100","dashboard-tabs-group"],["label","Receive"],[3,"calledFrom"],["label","Pay"],[3,"disabled"],["mat-tab-label",""],["menuTransactions","matMenu"]],template:function(e,t){if(1&e&&(s.YNc(0,Sn,7,4,"div",0),s.YNc(1,Mn,6,4,"ng-template",null,1,s.W1O)),2&e){const e=s.MAs(2);s.Q6J("ngIf",t.selNode.userPersona===t.userPersonaEnum.OPERATOR)("ngIfElse",e)}},directives:[a.O5,l.xw,l.Wh,T.BN,w.Il,a.sg,w.DX,_.a8,l.yH,_.dk,_.n5,v.VK,v.OP,_.dn,a.RF,a.n9,a.ED,q.lW,v.p6,C.Hw,N,a.mk,L.oO,D,P,E,B,ie,Q.$V,oe.SP,oe.uX,je,xn,oe.uD],styles:[""]}),e})();var En=n(882),Bn=n(1050);function Hn(e,t){if(1&e&&(s.TgZ(0,"span",10),s._uU(1,"Channels"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.activeChannels)}}function Gn(e,t){if(1&e&&(s.TgZ(0,"span",10),s._uU(1,"Peers"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.activePeers)}}let Vn=(()=>{class e{constructor(e,t,n){this.store=e,this.logger=t,this.router=n,this.selNode={},this.activePeers=0,this.activeChannels=0,this.faUsers=g.FVb,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"channels",name:"Channels"},{link:"peers",name:"Peers"}],this.activeLink=0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.selNode=e.nodeSettings,this.activePeers=e.peers&&e.peers.length?e.peers.length:0,this.activeChannels=e.numberOfActiveChannels,this.balances=[{title:"Total Balance",dataValue:e.blockchainBalance.total_balance||0},{title:"Confirmed",dataValue:e.blockchainBalance.confirmed_balance},{title:"Unconfirmed",dataValue:e.blockchainBalance.unconfirmed_balance}],this.logger.info(e)})}onSelectedTabChange(e){this.router.navigateByUrl("/lnd/connections/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(Z.mQ),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-connections"]],decls:22,vars:4,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Connections"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"mat-tab-group",7),s.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),s.TgZ(16,"mat-tab"),s.YNc(17,Hn,2,1,"ng-template",8),s.qZA(),s.TgZ(18,"mat-tab"),s.YNc(19,Gn,2,1,"ng-template",8),s.qZA(),s.qZA(),s.TgZ(20,"div",9),s._UZ(21,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faUsers),s.xp6(6),s.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,En.D,oe.SP,oe.uX,oe.uD,l.yH,i.lC,Bn.k],styles:[""]}),e})();var zn=n(1258),Wn=n(1681),$n=n(3474),Xn=n(84);const jn=["form"];function Kn(e,t){if(1&e&&(s.TgZ(0,"mat-option",37),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(e.alias?e.alias:e.pub_key?e.pub_key:"")}}function ea(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer alias is required."),s.qZA())}function ta(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer not found in the list."),s.qZA())}function na(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",1),s.TgZ(1,"input",34),s.NdJ("change",function(){return s.CHM(e),s.oxw().onSelectedPeerChanged()}),s.qZA(),s.TgZ(2,"mat-autocomplete",35,36),s.NdJ("optionSelected",function(){return s.CHM(e),s.oxw().onSelectedPeerChanged()}),s.YNc(4,Kn,2,2,"mat-option",24),s.ALo(5,"async"),s.qZA(),s.YNc(6,ea,2,0,"mat-error",17),s.YNc(7,ta,2,0,"mat-error",17),s.qZA()}if(2&e){const e=s.MAs(3),t=s.oxw();s.xp6(1),s.Q6J("formControl",t.selectedPeer)("matAutocomplete",e),s.xp6(1),s.Q6J("displayWith",t.displayFn),s.xp6(2),s.Q6J("ngForOf",s.lcZ(5,6,t.filteredPeers)),s.xp6(2),s.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.selectedPeer.errors?null:t.selectedPeer.errors.notfound)}}function aa(e,t){1&e&&s.GkF(0)}function ia(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function oa(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function sa(e,t){if(1&e&&(s.TgZ(0,"mat-option",37),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function la(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("","1"===e.selTransType?"Target Confirmation Blocks":"Fee"," is required.")}}function ra(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.channelConnectionError)}}function ca(e,t){if(1&e&&(s.TgZ(0,"div",38),s._UZ(1,"fa-icon",39),s.YNc(2,ra,2,1,"span",17),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.channelConnectionError)}}function ua(e,t){if(1&e&&(s.TgZ(0,"mat-expansion-panel",41),s.TgZ(1,"mat-expansion-panel-header"),s.TgZ(2,"mat-panel-title"),s.TgZ(3,"span"),s._uU(4,"Peer: \xa0"),s.qZA(),s.TgZ(5,"strong",42),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",9),s.TgZ(8,"div",0),s.TgZ(9,"div",1),s.TgZ(10,"h4",43),s._uU(11,"Pubkey"),s.qZA(),s.TgZ(12,"span",44),s._uU(13),s.qZA(),s.qZA(),s.qZA(),s._UZ(14,"mat-divider",45),s.TgZ(15,"div",0),s.TgZ(16,"div",46),s.TgZ(17,"h4",43),s._uU(18,"Address"),s.qZA(),s.TgZ(19,"span",47),s._uU(20),s.qZA(),s.qZA(),s.TgZ(21,"div",46),s.TgZ(22,"h4",43),s._uU(23,"Inbound"),s.qZA(),s.TgZ(24,"span",47),s._uU(25),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw(2);s.xp6(6),s.Oqu((null==e.peer?null:e.peer.alias)||(null==e.peer?null:e.peer.address)),s.xp6(7),s.Oqu(e.peer.pub_key),s.xp6(7),s.Oqu(null==e.peer?null:e.peer.address),s.xp6(5),s.Oqu(null!=e.peer&&e.peer.inbound?"True":"False")}}function da(e,t){if(1&e&&s.YNc(0,ua,26,4,"mat-expansion-panel",40),2&e){const e=s.oxw();s.Q6J("ngIf",e.peer)}}let pa=(()=>{class e{constructor(e,t,n,a){this.dialogRef=e,this.data=t,this.store=n,this.actions$=a,this.selectedPeer=new ue.NI,this.amount=new ue.NI,this.faExclamationTriangle=g.eHv,this.channelConnectionError="",this.advancedTitle="Advanced Options",this.totalBalance=0,this.selectedPubkey="",this.isPrivate=!1,this.selTransType="0",this.spendUnconfirmed=!1,this.transTypeValue="",this.transTypes=f.Dr,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.information=this.data.message.information,this.totalBalance=this.data.message.balance,this.alertTitle=this.data.alertTitle,this.peer=this.data.message.peer?this.data.message.peer:null,this.peers=this.data.message.peers&&this.data.message.peers.length?this.data.message.peers:[],this.actions$.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.hL||e.type===x.Mx)).subscribe(e=>{e.type===x.hL&&"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message),e.type===x.Mx&&this.dialogRef.close()});let e="",t="";this.sortedPeers=this.peers.sort((n,a)=>(e=n.alias?n.alias.toLowerCase():n.pub_key?n.pub_key.toLowerCase():"",t=a.alias?a.alias.toLowerCase():n.pub_key.toLowerCase(),et?1:0)),this.filteredPeers=this.selectedPeer.valueChanges.pipe((0,p.R)(this.unSubs[1]),(0,zn.O)(""),(0,Wn.U)(e=>"string"==typeof e?e:e.alias?e.alias:e.pub_key),(0,Wn.U)(e=>e?this.filterPeers(e):this.sortedPeers.slice()))}filterPeers(e){return this.sortedPeers.filter(t=>0===t.alias.toLowerCase().indexOf(e?e.toLowerCase():""))}displayFn(e){return e&&e.alias?e.alias:e&&e.pub_key?e.pub_key:""}onSelectedPeerChanged(){if(this.channelConnectionError="",this.selectedPubkey=this.selectedPeer.value&&this.selectedPeer.value.pub_key?this.selectedPeer.value.pub_key:void 0,"string"==typeof this.selectedPeer.value){let e=this.peers.filter(e=>e.alias.length===this.selectedPeer.value.length&&0===e.alias.toLowerCase().indexOf(this.selectedPeer.value?this.selectedPeer.value.toLowerCase():""));1===e.length&&e[0].pub_key&&(this.selectedPubkey=e[0].pub_key)}this.selectedPeer.setErrors(this.selectedPeer.value&&!this.selectedPubkey?{notfound:!0}:null)}onClose(){this.dialogRef.close(!1)}resetData(){this.selectedPeer.setValue(""),this.fundingAmount=null,this.isPrivate=!1,this.spendUnconfirmed=!1,this.selTransType="0",this.transTypeValue="",this.channelConnectionError="",this.advancedTitle="Advanced Options",this.form.resetForm()}onOpenChannel(){if(!this.peer&&!this.selectedPubkey||!this.fundingAmount||this.totalBalance-this.fundingAmount<0||("1"===this.selTransType||"2"===this.selTransType)&&!this.transTypeValue)return!0;this.store.dispatch(new G.Fk("Opening Channel...")),this.store.dispatch(new x.nb({selectedPeerPubkey:this.peer&&this.peer.pub_key?this.peer.pub_key:this.selectedPubkey,fundingAmount:this.fundingAmount,private:this.isPrivate,transType:this.selTransType,transTypeValue:this.transTypeValue,spendUnconfirmed:this.spendUnconfirmed}))}onAdvancedPanelToggle(e){this.advancedTitle=e?"Advanced Options | "+("1"===this.selTransType?"Target Confirmation Blocks: ":"2"===this.selTransType?"Fee (Sats/vByte): ":"Default")+("1"===this.selTransType||"2"===this.selTransType?this.transTypeValue:"")+" | Spend Unconfirmed Output: "+(this.spendUnconfirmed?"Yes":"No"):"Advanced Options"}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(y.yh),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-open-channel"]],viewQuery:function(e,t){if(1&e&&s.Gf(jn,7),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:55,vars:26,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column",3,"submit","reset"],["form","ngForm"],["fxLayout","column"],["fxFlex","100",4,"ngIf"],[4,"ngTemplateOutlet"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","placeholder","Amount","type","number","tabindex","1","required","","name","amnt",3,"ngModel","step","min","max","ngModelChange"],["amt","ngModel"],["matSuffix",""],[4,"ngIf"],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","isPrivate",3,"ngModel","ngModelChange"],["expanded","false",1,"flat-expansion-panel","mt-2",3,"closed","opened"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","49"],["tabindex","3",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","type","number","tabindex","4","name","transTpValue",3,"ngModel","required","disabled","placeholder","step","min","ngModelChange"],["transTypeVal","ngModel"],["fxFlex","50","fxLayoutAlign","start center"],["tabindex","6","color","primary","name","spendUnconfirmed",3,"ngModel","ngModelChange"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","9"],["peerDetailsExpansionBlock",""],["type","text","placeholder","Peer Alias","aria-label","Peers","matInput","","tabindex","1","required","",3,"formControl","matAutocomplete","change"],[3,"displayWith","optionSelected"],["auto","matAutocomplete"],[3,"value"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["class","flat-expansion-panel my-1","expanded","false",4,"ngIf"],["expanded","false",1,"flat-expansion-panel","my-1"],[1,"font-weight-900"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","50"],[1,"overflow-wrap","foreground-secondary-text"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.NdJ("submit",function(){return t.onOpenChannel()})("reset",function(){return t.resetData()}),s.TgZ(11,"div",9),s.YNc(12,na,8,8,"mat-form-field",10),s.qZA(),s.YNc(13,aa,1,0,"ng-container",11),s.TgZ(14,"div",9),s.TgZ(15,"div",12),s.TgZ(16,"mat-form-field",13),s.TgZ(17,"input",14,15),s.NdJ("ngModelChange",function(e){return t.fundingAmount=e}),s.qZA(),s.TgZ(19,"mat-hint"),s._uU(20),s.ALo(21,"number"),s.qZA(),s.TgZ(22,"span",16),s._uU(23),s.qZA(),s.YNc(24,ia,2,0,"mat-error",17),s.YNc(25,oa,2,1,"mat-error",17),s.qZA(),s.TgZ(26,"div",18),s.TgZ(27,"mat-slide-toggle",19),s.NdJ("ngModelChange",function(e){return t.isPrivate=e}),s._uU(28,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(29,"mat-expansion-panel",20),s.NdJ("closed",function(){return t.onAdvancedPanelToggle(!0)})("opened",function(){return t.onAdvancedPanelToggle(!1)}),s.TgZ(30,"mat-expansion-panel-header"),s.TgZ(31,"mat-panel-title"),s.TgZ(32,"span"),s._uU(33),s.qZA(),s.qZA(),s.qZA(),s.TgZ(34,"div",21),s.TgZ(35,"div",12),s.TgZ(36,"mat-form-field",22),s.TgZ(37,"mat-select",23),s.NdJ("valueChange",function(e){return t.selTransType=e}),s.YNc(38,sa,2,2,"mat-option",24),s.qZA(),s.qZA(),s.TgZ(39,"mat-form-field",22),s.TgZ(40,"input",25,26),s.NdJ("ngModelChange",function(e){return t.transTypeValue=e}),s.qZA(),s.YNc(42,la,2,1,"mat-error",17),s.qZA(),s.qZA(),s.TgZ(43,"div",12),s.TgZ(44,"div",27),s.TgZ(45,"mat-slide-toggle",28),s.NdJ("ngModelChange",function(e){return t.spendUnconfirmed=e}),s._uU(46,"Spend Unconfirmed Output"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(47,ca,3,2,"div",29),s.TgZ(48,"div",30),s.TgZ(49,"button",31),s._uU(50,"Clear Fields"),s.qZA(),s.TgZ(51,"button",32),s._uU(52,"Open Channel"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(53,da,1,1,"ng-template",null,33,s.W1O)),2&e){const e=s.MAs(54);s.xp6(5),s.Oqu(t.alertTitle),s.xp6(7),s.Q6J("ngIf",!t.peer&&t.peers&&t.peers.length>0),s.xp6(1),s.Q6J("ngTemplateOutlet",e),s.xp6(4),s.Q6J("ngModel",t.fundingAmount)("step",1e3)("min",1)("max",t.totalBalance),s.xp6(3),s.hij("(Remaining Bal: ",s.lcZ(21,24,t.totalBalance-(t.fundingAmount?t.fundingAmount:0)),")"),s.xp6(3),s.hij(" ",null==t.information?null:t.information.smaller_currency_unit,""),s.xp6(1),s.Q6J("ngIf",null==t.amount.errors?null:t.amount.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.amount.errors?null:t.amount.errors.max),s.xp6(2),s.Q6J("ngModel",t.isPrivate),s.xp6(6),s.Oqu(t.advancedTitle),s.xp6(4),s.Q6J("value",t.selTransType),s.xp6(1),s.Q6J("ngForOf",t.transTypes),s.xp6(2),s.Q6J("ngModel",t.transTypeValue)("required","0"!==t.selTransType)("disabled","0"===t.selTransType)("placeholder","0"===t.selTransType?"Default":"1"===t.selTransType?"Target Confirmation Blocks":"Fee (Sats/vByte)")("step",1)("min",0),s.xp6(2),s.Q6J("ngIf","0"!==t.selTransType&&!t.transTypeValue),s.xp6(3),s.Q6J("ngModel",t.spendUnconfirmed),s.xp6(2),s.Q6J("ngIf",""!==t.channelConnectionError)}},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,_.dn,ue._Y,ue.JL,ue.F,a.O5,a.tP,J.KE,de.Nt,ue.wV,ue.qQ,ue.Fd,ue.Fj,he.q,$n.F,ue.Q7,ue.JJ,ue.On,J.bx,J.R9,ge.Rr,tt.ib,tt.yz,tt.yK,me.gD,a.sg,pe.h,Xn.ZL,ue.oH,Xn.XC,fe.ey,J.TO,T.BN,I.d],pipes:[a.JJ,a.Ov],styles:[".open-inputs-box[_ngcontent-%COMP%]{padding:1.2rem 2.4rem .8rem!important}"]}),e})();var ha=n(7753);const ma=["peersForm"],ga=["stepper"];function fa(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.peerFormLabel)}}function xa(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Address is required."),s.qZA())}function Za(e,t){if(1&e&&(s.TgZ(0,"div",37),s._UZ(1,"fa-icon",38),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(2),s.Oqu(e.peerConnectionError)}}function ya(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.channelFormLabel)}}function Aa(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function ba(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount must be a positive number."),s.qZA())}function Ta(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",e.totalBalance,".")}}function wa(e,t){if(1&e&&(s.TgZ(0,"mat-option",39),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function _a(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("","0"===e.channelFormGroup.controls.selTransType.value?"Default":"1"===e.channelFormGroup.controls.selTransType.value?"Target Confirmation Blocks":"Fee (Sats/vByte)"," is required.")}}function va(e,t){if(1&e&&(s.TgZ(0,"div",37),s._UZ(1,"fa-icon",38),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(2),s.Oqu(e.channelConnectionError)}}let qa=(()=>{class e{constructor(e,t,n,a,i,o,s){this.dialogRef=e,this.data=t,this.store=n,this.lndEffects=a,this.formBuilder=i,this.actions$=o,this.logger=s,this.faExclamationTriangle=g.eHv,this.peerAddress="",this.totalBalance=0,this.transTypes=f.Dr,this.flgChannelOpened=!1,this.channelOpenStatus=null,this.newlyAddedPeer=null,this.flgEditable=!0,this.peerConnectionError="",this.channelConnectionError="",this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)",this.unSubs=[new d.x,new d.x]}ngOnInit(){this.totalBalance=this.data.message.balance,this.peerFormGroup=this.formBuilder.group({hiddenAddress:["",[ue.kI.required]],peerAddress:["",[ue.kI.required]]}),this.channelFormGroup=this.formBuilder.group({fundingAmount:["",[ue.kI.required,ue.kI.min(1),ue.kI.max(this.totalBalance)]],isPrivate:[!1],selTransType:[f.Dr[0].id],transTypeValue:[{value:"",disabled:!0}],spendUnconfirmed:[!1],hiddenAmount:["",[ue.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.channelFormGroup.controls.selTransType.valueChanges.pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e===f.Dr[0].id?(this.channelFormGroup.controls.transTypeValue.setValue(""),this.channelFormGroup.controls.transTypeValue.disable(),this.channelFormGroup.controls.transTypeValue.setValidators(null),this.channelFormGroup.controls.transTypeValue.setErrors(null)):(this.channelFormGroup.controls.transTypeValue.setValue(""),this.channelFormGroup.controls.transTypeValue.enable(),this.channelFormGroup.controls.transTypeValue.setValidators([ue.kI.required]))}),this.actions$.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.X_||e.type===x.W8||e.type===x.hL)).subscribe(e=>{e.type===x.X_&&(this.logger.info(e.payload),this.flgEditable=!1,this.newlyAddedPeer=e.payload.peer,this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value),this.stepper.next()),e.type===x.W8&&this.dialogRef.close(),e.type===x.hL&&("SaveNewPeer"===e.payload.action||"FetchGraphNode"===e.payload.action?this.peerConnectionError=e.payload.message:"SaveNewChannel"===e.payload.action&&(this.channelConnectionError=e.payload.message))})}onConnectPeer(){if(!this.peerFormGroup.controls.peerAddress.value)return!0;this.peerConnectionError="";const e=this.peerFormGroup.controls.peerAddress.value.search("@");let t="",n="";e>-1?(t=this.peerFormGroup.controls.peerAddress.value.substring(0,e),n=this.peerFormGroup.controls.peerAddress.value.substring(e+1),this.connectPeerWithParams(t,n)):(this.store.dispatch(new G.Fk("Getting Node Address...")),this.store.dispatch(new x.RR({pubkey:this.peerFormGroup.controls.peerAddress.value})),this.lndEffects.setGraphNode.pipe((0,Ke.q)(1)).subscribe(e=>{this.store.dispatch(new G.Iv),n=e.node.addresses&&e.node.addresses[0].addr?e.node.addresses[0].addr:"",this.connectPeerWithParams(this.peerFormGroup.controls.peerAddress.value,n)}))}connectPeerWithParams(e,t){this.store.dispatch(new G.Fk("Adding Peer...")),this.store.dispatch(new x.rF({pubkey:e,host:t,perm:!1}))}onOpenChannel(){if(!this.channelFormGroup.controls.fundingAmount.value||this.totalBalance-this.channelFormGroup.controls.fundingAmount.value<0||"1"===this.channelFormGroup.controls.selTransType.value&&!this.channelFormGroup.controls.transTypeValue.value||"2"===this.channelFormGroup.controls.selTransType.value&&!this.channelFormGroup.controls.transTypeValue.value)return!0;this.channelConnectionError="",this.store.dispatch(new G.Fk("Opening Channel...")),this.store.dispatch(new x.nb({selectedPeerPubkey:this.newlyAddedPeer.pub_key,fundingAmount:this.channelFormGroup.controls.fundingAmount.value,private:this.channelFormGroup.controls.isPrivate.value,transType:this.channelFormGroup.controls.selTransType.value,transTypeValue:this.channelFormGroup.controls.transTypeValue.value,spendUnconfirmed:this.channelFormGroup.controls.spendUnconfirmed.value}))}onClose(){this.dialogRef.close(!1)}stepSelectionChanged(e){switch(e.selectedIndex){case 0:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 1:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+this.newlyAddedPeer.alias:"Peer Details",this.channelFormLabel="Open Channel (Optional)";break;case 2:this.peerFormLabel=this.peerFormGroup.controls.peerAddress.value?"Peer Added: "+this.newlyAddedPeer.alias:"Peer Details",this.channelFormLabel=this.channelFormGroup.controls.fundingAmount.value?"Opening Channel for "+this.channelFormGroup.controls.fundingAmount.value+" Sats":"Open Channel (Optional)";break;default:this.peerFormLabel="Peer Details",this.channelFormLabel="Open Channel (Optional)"}e.selectedIndex{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(y.yh),s.Y36(gt.l),s.Y36(ue.qu),s.Y36(A.eX),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-connect-peer"]],viewQuery:function(e,t){if(1&e&&(s.Gf(ma,5),s.Gf(ga,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.stepper=e.first)}},decls:56,vars:24,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Lightning Address (pubkey OR pubkey@ip:port)","formControlName","peerAddress","tabindex","1","required",""],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mb-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex","60","fxLayoutAlign","start end"],["matInput","","formControlName","fundingAmount","placeholder","Amount","type","number","tabindex","1","required","",3,"step"],["matSuffix",""],["fxFlex","35","fxLayoutAlign","start center"],["tabindex","2","color","primary","formControlName","isPrivate","name","isPrivate"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","30","fxLayoutAlign","start end"],["tabindex","3","formControlName","selTransType","placeholder","Transaction Type"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","30"],["matInput","","formControlName","transTypeValue","type","number","name","transTypeValue","tabindex","4",3,"placeholder","step","required"],["tabindex","6","color","primary","formControlName","spendUnconfirmed","name","spendUnconfirmed"],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Connect to a new peer"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"div",7),s.TgZ(10,"mat-vertical-stepper",8,9),s.NdJ("selectionChange",function(e){return t.stepSelectionChanged(e)}),s.TgZ(12,"mat-step",10),s.TgZ(13,"form",11),s.YNc(14,fa,1,1,"ng-template",12),s.TgZ(15,"mat-form-field",1),s._UZ(16,"input",13),s.YNc(17,xa,2,0,"mat-error",14),s.qZA(),s.YNc(18,Za,4,2,"div",15),s.TgZ(19,"div",16),s.TgZ(20,"button",17),s.NdJ("click",function(){return t.onConnectPeer()}),s._uU(21),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(22,"mat-step",10),s.TgZ(23,"form",18),s.YNc(24,ya,1,1,"ng-template",19),s.TgZ(25,"div",20),s.TgZ(26,"div",21),s.TgZ(27,"mat-form-field",22),s._UZ(28,"input",23),s.TgZ(29,"mat-hint"),s._uU(30),s.qZA(),s.TgZ(31,"span",24),s._uU(32," Sats "),s.qZA(),s.YNc(33,Aa,2,0,"mat-error",14),s.YNc(34,ba,2,0,"mat-error",14),s.YNc(35,Ta,2,1,"mat-error",14),s.qZA(),s.TgZ(36,"div",25),s.TgZ(37,"mat-slide-toggle",26),s._uU(38,"Private Channel"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(39,"div",27),s.TgZ(40,"mat-form-field",28),s.TgZ(41,"mat-select",29),s.YNc(42,wa,2,2,"mat-option",30),s.qZA(),s.qZA(),s.TgZ(43,"mat-form-field",31),s._UZ(44,"input",32),s.YNc(45,_a,2,1,"mat-error",14),s.qZA(),s.TgZ(46,"div",25),s.TgZ(47,"mat-slide-toggle",33),s._uU(48,"Spend Unconfirmed Output"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(49,va,4,2,"div",15),s.TgZ(50,"div",16),s.TgZ(51,"button",34),s.NdJ("click",function(){return t.onOpenChannel()}),s._uU(52),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(53,"div",35),s.TgZ(54,"button",36),s._uU(55),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(10),s.Q6J("linear",!0),s.xp6(2),s.Q6J("stepControl",t.peerFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.peerFormGroup),s.xp6(4),s.Q6J("ngIf",null==t.peerFormGroup.controls.peerAddress.errors?null:t.peerFormGroup.controls.peerAddress.errors.required),s.xp6(1),s.Q6J("ngIf",""!==t.peerConnectionError),s.xp6(3),s.Oqu(""!==t.peerConnectionError?"Retry":"Add Peer"),s.xp6(1),s.Q6J("stepControl",t.channelFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.channelFormGroup),s.xp6(5),s.Q6J("step",1e3),s.xp6(2),s.hij("Remaining Bal: ",t.totalBalance-(t.channelFormGroup.controls.fundingAmount.value?t.channelFormGroup.controls.fundingAmount.value:0),""),s.xp6(3),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.min),s.xp6(1),s.Q6J("ngIf",null==t.channelFormGroup.controls.fundingAmount.errors?null:t.channelFormGroup.controls.fundingAmount.errors.max),s.xp6(7),s.Q6J("ngForOf",t.transTypes),s.xp6(2),s.Q6J("placeholder","0"===t.channelFormGroup.controls.selTransType.value?"Default":"1"===t.channelFormGroup.controls.selTransType.value?"Target Confirmation Blocks":"Fee (Sats/vByte)")("step",1)("required","0"!==t.channelFormGroup.controls.selTransType.value),s.xp6(1),s.Q6J("ngIf",null==t.channelFormGroup.controls.transTypeValue.errors?null:t.channelFormGroup.controls.transTypeValue.errors.required),s.xp6(4),s.Q6J("ngIf",""!==t.channelConnectionError),s.xp6(3),s.Oqu(""!==t.channelConnectionError?"Retry":"Open Channel"),s.xp6(2),s.Q6J("mat-dialog-close",!1),s.xp6(1),s.Oqu(null!=t.newlyAddedPeer&&t.newlyAddedPeer.pub_key?"Do It Later":"Close"))},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,_.dn,ha.Vq,ha.C0,ue._Y,ue.JL,ue.sg,ha.VY,J.KE,de.Nt,ue.Fj,pe.h,ue.JJ,ue.u,ue.Q7,a.O5,ue.wV,J.bx,J.R9,ge.Rr,me.gD,a.sg,ce.ZT,J.TO,T.BN,fe.ey],styles:[""]}),e})();function Ca(e,t){1&e&&s._UZ(0,"mat-progress-bar",32)}function La(e,t){1&e&&(s.TgZ(0,"th",33),s._uU(1," Alias "),s.qZA())}const Sa=function(e){return{"max-width":e}};function ka(e,t){if(1&e&&(s.TgZ(0,"td",34),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Sa,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),s.xp6(1),s.hij(" ",null==e?null:e.alias," ")}}function Fa(e,t){1&e&&(s.TgZ(0,"th",33),s._uU(1," Public Key "),s.qZA())}function Ua(e,t){if(1&e&&(s.TgZ(0,"td",34),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Sa,n.screenSize===n.screenSizeEnum.XS?"5rem":"35rem")),s.xp6(1),s.hij(" ",null==e?null:e.pub_key," ")}}function Na(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1," Sats Sent "),s.qZA())}function Da(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",37),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.sat_sent)," ")}}function Ja(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1," Sats Received "),s.qZA())}function Oa(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",37),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.sat_recv)," ")}}function Ia(e,t){1&e&&(s.TgZ(0,"th",35),s._uU(1," Ping "),s.qZA())}function Qa(e,t){if(1&e&&(s.TgZ(0,"td",36),s.TgZ(1,"span",37),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.ping_time)," ")}}function Ya(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",38),s.TgZ(1,"div",39),s.TgZ(2,"mat-select",40),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",41),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ra(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",42),s.TgZ(1,"div",39),s.TgZ(2,"mat-select",40),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",41),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onPeerClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",41),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onOpenChannel(t)}),s._uU(7,"Open Channel"),s.qZA(),s.TgZ(8,"mat-option",41),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onPeerDetach(t)}),s._uU(9,"Disconnect"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ma(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No connected peers."),s.qZA())}function Pa(e,t){if(1&e&&(s.TgZ(0,"td",43),s.YNc(1,Ma,2,0,"p",44),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.peers&&e.peers.data)||(null==e.peers.data?null:e.peers.data.length)<1)}}const Ea=function(e){return{"display-none":e}};function Ba(e,t){if(1&e&&s._UZ(0,"tr",45),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Ea,(null==e.peers?null:e.peers.data)&&(null==e.peers||null==e.peers.data?null:e.peers.data.length)>0))}}function Ha(e,t){1&e&&s._UZ(0,"tr",46)}function Ga(e,t){1&e&&s._UZ(0,"tr",47)}const Va=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},za=function(){return["no_peer"]};let Wa=(()=>{class e{constructor(e,t,n,a,i,o){this.logger=e,this.store=t,this.rtlEffects=n,this.lndEffects=a,this.actions$=i,this.commonService=o,this.availableBalance=0,this.faUsers=g.FVb,this.displayedColumns=[],this.peersData=[],this.information={},this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["alias","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["alias","sat_sent","sat_recv","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["alias","sat_sent","sat_recv","ping_time","actions"]):(this.flgSticky=!0,this.displayedColumns=["alias","pub_key","sat_sent","sat_recv","ping_time","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchPeers"===e.action&&(this.flgLoading[0]="error")}),this.information=e.information,this.availableBalance=e.blockchainBalance.total_balance||0,this.peersData=e.peers,this.peersData.length>0&&this.loadPeersTable(this.peersData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!1),this.logger.info(e)})}ngAfterViewInit(){this.peersData.length>0&&this.loadPeersTable(this.peersData)}onPeerClick(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Peer Information",showQRName:"Public Key",showQRField:e.pub_key,message:[[{key:"pub_key",value:e.pub_key,title:"Public Key",width:100}],[{key:"address",value:e.address,title:"Address",width:100}],[{key:"alias",value:e.alias,title:"Alias",width:40},{key:"inbound",value:e.inbound?"True":"False",title:"Inbound",width:30},{key:"ping_time",value:e.ping_time,title:"Ping Time",width:30,type:f.Gi.NUMBER}],[{key:"sat_sent",value:e.sat_sent,title:"Satoshis Sent",width:50,type:f.Gi.NUMBER},{key:"sat_recv",value:e.sat_recv,title:"Satoshis Received",width:50,type:f.Gi.NUMBER}],[{key:"bytes_sent",value:e.bytes_sent,title:"Bytes Sent",width:50,type:f.Gi.NUMBER},{key:"bytes_recv",value:e.bytes_recv,title:"Bytes Received",width:50,type:f.Gi.NUMBER}]]}}))}onConnectPeer(){this.store.dispatch(new G.wu({data:{message:{peer:null,information:this.information,balance:this.availableBalance},component:qa}}))}onOpenChannel(e){this.store.dispatch(new G.wu({data:{alertTitle:"Open Channel",message:{peer:e,information:this.information,balance:this.availableBalance},component:pa}}))}onPeerDetach(e){this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Disconnect Peer",titleMessage:"Disconnect peer: "+(e.alias?e.alias:e.pub_key),noBtnText:"Cancel",yesBtnText:"Disconnect"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[3])).subscribe(t=>{t&&(this.store.dispatch(new G.Fk("Disconnecting Peer...")),this.store.dispatch(new x.yw({pubkey:e.pub_key})))})}applyFilter(e){this.peers.filter=e.value.trim().toLowerCase()}loadPeersTable(e){this.peers=new re.by(e?[...e]:[]),this.peers.sort=this.sort,this.peers.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.peers.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.peers.paginator=this.paginator}onDownloadCSV(){this.peers.data&&this.peers.data.length>0&&this.commonService.downloadFile(this.peers.data,"Peers")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(mt.V),s.Y36(gt.l),s.Y36(A.eX),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-peers"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Peers")}])],decls:40,vars:14,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start start","fxLayoutAlign.gt-sm","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","pub_key"],["matColumnDef","sat_sent"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","sat_recv"],["matColumnDef","ping_time"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return t.onConnectPeer()}),s._uU(3,"Add Peer"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"div",4),s.TgZ(6,"div",5),s._UZ(7,"fa-icon",6),s.TgZ(8,"span",7),s._uU(9,"Connected Peers"),s.qZA(),s.qZA(),s.TgZ(10,"mat-form-field",8),s.TgZ(11,"input",9),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(12,"div",10),s.YNc(13,Ca,1,0,"mat-progress-bar",11),s.TgZ(14,"table",12,13),s.ynx(16,14),s.YNc(17,La,2,0,"th",15),s.YNc(18,ka,2,4,"td",16),s.BQk(),s.ynx(19,17),s.YNc(20,Fa,2,0,"th",15),s.YNc(21,Ua,2,4,"td",16),s.BQk(),s.ynx(22,18),s.YNc(23,Na,2,0,"th",19),s.YNc(24,Da,4,3,"td",20),s.BQk(),s.ynx(25,21),s.YNc(26,Ja,2,0,"th",19),s.YNc(27,Oa,4,3,"td",20),s.BQk(),s.ynx(28,22),s.YNc(29,Ia,2,0,"th",19),s.YNc(30,Qa,4,3,"td",20),s.BQk(),s.ynx(31,23),s.YNc(32,Ya,6,0,"th",24),s.YNc(33,Ra,10,0,"td",25),s.BQk(),s.ynx(34,26),s.YNc(35,Pa,2,1,"td",27),s.BQk(),s.YNc(36,Ba,1,3,"tr",28),s.YNc(37,Ha,1,0,"tr",29),s.YNc(38,Ga,1,0,"tr",30),s.qZA(),s.qZA(),s._UZ(39,"mat-paginator",31),s.qZA(),s.qZA()),2&e&&(s.xp6(7),s.Q6J("icon",t.faUsers),s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.peers)("ngClass",s.VKq(11,Va,"error"===t.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(13,za)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,q.lW,T.BN,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%]{flex:1 1 25%}.mat-column-alias[_ngcontent-%COMP%], .mat-column-pub_key[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-pub_key[_ngcontent-%COMP%]{flex:1 1 35%;padding-left:2rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem;flex:1 1 10%}.mat-column-ping_time[_ngcontent-%COMP%], .mat-column-sat_recv[_ngcontent-%COMP%], .mat-column-sat_sent[_ngcontent-%COMP%]{flex:1 1 13%;width:13%}"]}),e})();function $a(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Open"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numOpenChannels)}}function Xa(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Pending"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numPendingChannels)}}function ja(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Closed"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numClosedChannels)}}function Ka(e,t){if(1&e&&(s.TgZ(0,"span",7),s._uU(1,"Active HTLCs"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numActiveHTLCs)}}let ei=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.router=n,this.numOpenChannels=0,this.numPendingChannels=0,this.numClosedChannels=0,this.numActiveHTLCs=0,this.peers=[],this.information={},this.totalBalance=0,this.links=[{link:"open",name:"Open"},{link:"pending",name:"Pending"},{link:"closed",name:"Closed"},{link:"activehtlcs",name:"Active HTLCs"}],this.activeLink=0,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activeLink=this.links.findIndex(e=>e.link===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{this.activeLink=this.links.findIndex(t=>t.link===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.numOpenChannels=e.allChannels&&e.allChannels.length?e.allChannels.length:0,this.numPendingChannels=e.numberOfPendingChannels.total_channels?e.numberOfPendingChannels.total_channels:0,this.numClosedChannels=e.closedChannels&&e.closedChannels.length?e.closedChannels.length:0,this.numActiveHTLCs=e.allChannels.reduce((e,t)=>e+(t.pending_htlcs&&t.pending_htlcs.length>0?t.pending_htlcs.length:0),0),this.information=e.information,this.totalBalance=+e.blockchainBalance.total_balance,this.peers=e.peers,this.peers.forEach(e=>{e.alias&&""!==e.alias||(e.alias=e.pub_key.substring(0,15)+"...")}),this.logger.info(e)})}onOpenChannel(){this.store.dispatch(new G.wu({data:{alertTitle:"Open Channel",message:{peers:this.peers,information:this.information,balance:this.totalBalance},component:pa}}))}onSelectedTabChange(e){this.router.navigateByUrl("/lnd/connections/channels/"+this.links[e.index].link)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channels-tables"]],decls:16,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","row"],["mat-flat-button","","color","primary","type","submit","tabindex","1",3,"click"],["fxLayout","column","fxFlex","100",1,"my-2","bordered-box"],[3,"selectedIndex","selectedIndexChange","selectedTabChange"],["mat-tab-label",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return t.onOpenChannel()}),s._uU(3,"Open Channel"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-tab-group",4),s.NdJ("selectedIndexChange",function(e){return t.activeLink=e})("selectedTabChange",function(e){return t.onSelectedTabChange(e)}),s.TgZ(6,"mat-tab"),s.YNc(7,$a,2,1,"ng-template",5),s.qZA(),s.TgZ(8,"mat-tab"),s.YNc(9,Xa,2,1,"ng-template",5),s.qZA(),s.TgZ(10,"mat-tab"),s.YNc(11,ja,2,1,"ng-template",5),s.qZA(),s.TgZ(12,"mat-tab"),s.YNc(13,Ka,2,1,"ng-template",5),s.qZA(),s.qZA(),s.TgZ(14,"div",6),s._UZ(15,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.Q6J("selectedIndex",t.activeLink))},directives:[l.xw,l.yH,l.Wh,q.lW,oe.SP,oe.uX,oe.uD,i.lC,Bn.k],styles:[""]}),e})();var ti=n(1403),ni=n(2609);function ai(e,t){if(1&e&&(s.TgZ(0,"div"),s.TgZ(1,"div",9),s.TgZ(2,"div",14),s.TgZ(3,"h4",11),s._uU(4,"Commit Fee"),s.qZA(),s.TgZ(5,"span",15),s._uU(6),s.ALo(7,"number"),s.qZA(),s.qZA(),s.TgZ(8,"div",14),s.TgZ(9,"h4",11),s._uU(10,"Commit Weight"),s.qZA(),s.TgZ(11,"span",15),s._uU(12),s.ALo(13,"number"),s.qZA(),s.qZA(),s.TgZ(14,"div",14),s.TgZ(15,"h4",11),s._uU(16,"Fee/KW"),s.qZA(),s.TgZ(17,"span",15),s._uU(18),s.ALo(19,"number"),s.qZA(),s.qZA(),s.TgZ(20,"div",14),s.TgZ(21,"h4",11),s._uU(22,"Static Remote Key"),s.qZA(),s.TgZ(23,"span",15),s._uU(24),s.qZA(),s.qZA(),s.qZA(),s._UZ(25,"mat-divider",13),s.TgZ(26,"div",9),s.TgZ(27,"div",14),s.TgZ(28,"h4",11),s._uU(29),s.qZA(),s.TgZ(30,"span",15),s._uU(31),s.ALo(32,"number"),s.qZA(),s.qZA(),s.TgZ(33,"div",14),s.TgZ(34,"h4",11),s._uU(35),s.qZA(),s.TgZ(36,"span",15),s._uU(37),s.ALo(38,"number"),s.qZA(),s.qZA(),s.TgZ(39,"div",14),s.TgZ(40,"h4",11),s._uU(41,"Unsettled Balance"),s.qZA(),s.TgZ(42,"span",15),s._uU(43),s.ALo(44,"number"),s.qZA(),s.qZA(),s.TgZ(45,"div",14),s.TgZ(46,"h4",11),s._uU(47,"CSV Delay"),s.qZA(),s.TgZ(48,"span",15),s._uU(49),s.ALo(50,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(51,"mat-divider",13),s.TgZ(52,"div",9),s.TgZ(53,"div",14),s.TgZ(54,"h4",11),s._uU(55,"Local Reserve (Sats)"),s.qZA(),s.TgZ(56,"span",15),s._uU(57),s.ALo(58,"number"),s.qZA(),s.qZA(),s.TgZ(59,"div",14),s.TgZ(60,"h4",11),s._uU(61,"Remote Reserve (Sats)"),s.qZA(),s.TgZ(62,"span",15),s._uU(63),s.ALo(64,"number"),s.qZA(),s.qZA(),s.TgZ(65,"div",14),s.TgZ(66,"h4",11),s._uU(67,"Lifetime (Seconds)"),s.qZA(),s.TgZ(68,"span",15),s._uU(69),s.ALo(70,"number"),s.qZA(),s.qZA(),s.TgZ(71,"div",14),s.TgZ(72,"h4",11),s._uU(73,"Pending HTLCs"),s.qZA(),s.TgZ(74,"span",15),s._uU(75),s.ALo(76,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(77,"mat-divider",13),s.qZA()),2&e){const e=s.oxw();s.xp6(6),s.Oqu(s.lcZ(7,17,e.channel.commit_fee)),s.xp6(6),s.Oqu(s.lcZ(13,19,e.channel.commit_weight)),s.xp6(6),s.Oqu(s.lcZ(19,21,e.channel.fee_per_kw)),s.xp6(6),s.Oqu(e.channel.static_remote_key?"Yes":"No"),s.xp6(1),s.Q6J("inset",!0),s.xp6(4),s.Oqu(e.screenSize===e.screenSizeEnum.XS?"Total Sats Sent":"Total Satoshis Sent"),s.xp6(2),s.Oqu(s.lcZ(32,23,e.channel.total_satoshis_sent)),s.xp6(4),s.Oqu(e.screenSize===e.screenSizeEnum.XS?"Total Sats Recv":"Total Satoshis Received"),s.xp6(2),s.Oqu(s.lcZ(38,25,e.channel.total_satoshis_received)),s.xp6(6),s.Oqu(s.lcZ(44,27,e.channel.unsettled_balance)),s.xp6(6),s.Oqu(s.lcZ(50,29,e.channel.csv_delay)),s.xp6(2),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(58,31,e.channel.local_chan_reserve_sat)),s.xp6(6),s.Oqu(s.lcZ(64,33,e.channel.remote_chan_reserve_sat)),s.xp6(6),s.Oqu(s.lcZ(70,35,e.channel.lifetime)),s.xp6(6),s.Oqu(s.lcZ(76,37,null==e.channel||null==e.channel.pending_htlcs?null:e.channel.pending_htlcs.length)),s.xp6(2),s.Q6J("inset",!0)}}function ii(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Show Advanced"),s.qZA())}function oi(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Hide Advanced"),s.qZA())}function si(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",23),s.NdJ("copied",function(t){return s.CHM(e),s.oxw().onCopyChanID(t)}),s._uU(1,"Copy Channel ID"),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("payload",e.channel.chan_id)}}function li(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",24),s.NdJ("click",function(){return s.CHM(e),s.oxw().onClose()}),s._uU(1,"OK"),s.qZA()}}const ri=function(e){return{"xs-scroll-y":e}};let ci=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.logger=n,this.commonService=a,this.snackBar=i,this.faReceipt=g.dLy,this.showAdvanced=!1,this.showCopy=!0,this.showCopyField=null,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.channel=this.data.channel,this.showCopy=this.data.showCopy,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyChanID(e){this.snackBar.open("Channel ID "+e+" copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(Z.mQ),s.Y36(b.v),s.Y36(ti.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-information"]],decls:94,vars:36,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxFlex","25"],[1,"overflow-wrap","foreground-secondary-text"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span",5),s._uU(6,"Channel Information"),s.qZA(),s.qZA(),s.TgZ(7,"button",6),s.NdJ("click",function(){return t.onClose()}),s._uU(8,"X"),s.qZA(),s.qZA(),s.TgZ(9,"mat-card-content",7),s.TgZ(10,"div",8),s.TgZ(11,"div",9),s.TgZ(12,"div",10),s.TgZ(13,"h4",11),s._uU(14,"Channel ID"),s.qZA(),s.TgZ(15,"span",12),s._uU(16),s.qZA(),s.qZA(),s.TgZ(17,"div",10),s.TgZ(18,"h4",11),s._uU(19,"Peer Alias"),s.qZA(),s.TgZ(20,"span",12),s._uU(21),s.qZA(),s.qZA(),s.qZA(),s._UZ(22,"mat-divider",13),s.TgZ(23,"div",9),s.TgZ(24,"div",1),s.TgZ(25,"h4",11),s._uU(26,"Channel Point"),s.qZA(),s.TgZ(27,"span",12),s._uU(28),s.qZA(),s.qZA(),s.qZA(),s._UZ(29,"mat-divider",13),s.TgZ(30,"div",9),s.TgZ(31,"div",1),s.TgZ(32,"h4",11),s._uU(33,"Peer Public Key"),s.qZA(),s.TgZ(34,"span",12),s._uU(35),s.qZA(),s.qZA(),s.qZA(),s._UZ(36,"mat-divider",13),s.TgZ(37,"div",9),s.TgZ(38,"div",14),s.TgZ(39,"h4",11),s._uU(40,"Local Balance"),s.qZA(),s.TgZ(41,"span",15),s._uU(42),s.ALo(43,"number"),s.qZA(),s.qZA(),s.TgZ(44,"div",14),s.TgZ(45,"h4",11),s._uU(46,"Remote Balance"),s.qZA(),s.TgZ(47,"span",15),s._uU(48),s.ALo(49,"number"),s.qZA(),s.qZA(),s.TgZ(50,"div",14),s.TgZ(51,"h4",11),s._uU(52,"Capacity"),s.qZA(),s.TgZ(53,"span",15),s._uU(54),s.ALo(55,"number"),s.qZA(),s.qZA(),s.TgZ(56,"div",14),s.TgZ(57,"h4",11),s._uU(58,"Uptime (Seconds)"),s.qZA(),s.TgZ(59,"span",15),s._uU(60),s.ALo(61,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(62,"mat-divider",13),s.TgZ(63,"div",9),s.TgZ(64,"div",14),s.TgZ(65,"h4",11),s._uU(66,"Active"),s.qZA(),s.TgZ(67,"span",15),s._uU(68),s.qZA(),s.qZA(),s.TgZ(69,"div",14),s.TgZ(70,"h4",11),s._uU(71,"Private"),s.qZA(),s.TgZ(72,"span",15),s._uU(73),s.qZA(),s.qZA(),s.TgZ(74,"div",14),s.TgZ(75,"h4",11),s._uU(76,"Initiator"),s.qZA(),s.TgZ(77,"span",15),s._uU(78),s.qZA(),s.qZA(),s.TgZ(79,"div",14),s.TgZ(80,"h4",11),s._uU(81,"Number of Updates"),s.qZA(),s.TgZ(82,"span",15),s._uU(83),s.ALo(84,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(85,"mat-divider",13),s.YNc(86,ai,78,39,"div",16),s.TgZ(87,"div",17),s.TgZ(88,"button",18),s.NdJ("click",function(){return t.onShowAdvanced()}),s.YNc(89,ii,2,0,"p",19),s.YNc(90,oi,2,0,"ng-template",null,20,s.W1O),s.qZA(),s.YNc(92,si,2,1,"button",21),s.YNc(93,li,2,0,"button",22),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.MAs(91);s.xp6(4),s.Q6J("icon",t.faReceipt),s.xp6(5),s.Q6J("ngClass",s.VKq(34,ri,t.screenSize===t.screenSizeEnum.XS)),s.xp6(7),s.Oqu(t.channel.chan_id),s.xp6(5),s.Oqu(t.channel.remote_alias),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.channel.channel_point),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.channel.remote_pubkey),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(43,24,t.channel.local_balance)),s.xp6(6),s.Oqu(s.lcZ(49,26,t.channel.remote_balance)),s.xp6(6),s.Oqu(s.lcZ(55,28,t.channel.capacity)),s.xp6(6),s.Oqu(s.lcZ(61,30,t.channel.uptime)),s.xp6(2),s.Q6J("inset",!0),s.xp6(6),s.Oqu(t.channel.active?"Yes":"No"),s.xp6(5),s.Oqu(t.channel.private?"Yes":"No"),s.xp6(5),s.Oqu(t.channel.initiator?"Yes":"No"),s.xp6(5),s.Oqu(s.lcZ(84,32,t.channel.num_updates)),s.xp6(2),s.Q6J("inset",!0),s.xp6(1),s.Q6J("ngIf",t.showAdvanced),s.xp6(3),s.Q6J("ngIf",!t.showAdvanced)("ngIfElse",e),s.xp6(3),s.Q6J("ngIf",t.showCopy),s.xp6(1),s.Q6J("ngIf",!t.showCopy)}},directives:[l.xw,l.Wh,l.yH,_.dk,T.BN,q.lW,_.dn,a.mk,L.oO,I.d,a.O5,pe.h,ni.y],pipes:[a.JJ],styles:[""]}),e})();const ui=["stepper"];function di(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.inputFormLabel)}}function pi(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function hi(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount must be a positive number."),s.qZA())}function mi(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Amount must be less than or equal to ",null==e.selChannel?null:e.selChannel.local_balance,".")}}function gi(e,t){if(1&e&&(s.TgZ(0,"mat-option",54),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.remote_alias||e.chan_id," ")}}function fi(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Peer is required."),s.qZA())}function xi(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw();s.Oqu(e.feeFormLabel)}}function Zi(e,t){if(1&e&&(s.TgZ(0,"mat-option",54),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.name," ")}}function yi(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("",e.feeFormGroup.controls.selFeeLimitType.value?e.feeFormGroup.controls.selFeeLimitType.value.placeholder:e.feeLimitTypes[0].placeholder," is required.")}}function Ai(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("",e.feeFormGroup.controls.selFeeLimitType.value?e.feeFormGroup.controls.selFeeLimitType.value.placeholder:e.feeLimitTypes[0].placeholder," must be a positive number.")}}function bi(e,t){1&e&&s._uU(0,"Invoice/Payment")}function Ti(e,t){1&e&&(s.TgZ(0,"mat-icon",55),s._uU(1,"check"),s.qZA())}function wi(e,t){1&e&&s._UZ(0,"mat-progress-bar",56)}function _i(e,t){if(1&e&&(s.TgZ(0,"mat-icon",55),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(null!=e.paymentStatus&&e.paymentStatus.error?"close":"check")}}function vi(e,t){1&e&&s._UZ(0,"div",7)}function qi(e,t){1&e&&s._UZ(0,"mat-progress-bar",56)}function Ci(e,t){if(1&e&&(s.TgZ(0,"h4",57),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.paymentStatus&&e.paymentStatus.payment_hash?"Rebalance Successful.":"Rebalance Failed.")}}function Li(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",58),s.NdJ("click",function(){return s.CHM(e),s.oxw().onRestart()}),s._uU(1,"Start Again"),s.qZA()}}function Si(e,t){1&e&&s.GkF(0)}function ki(e,t){if(1&e&&s.YNc(0,Si,1,0,"ng-container",59),2&e){const e=s.oxw(),t=s.MAs(109),n=s.MAs(111);s.Q6J("ngTemplateOutlet",e.paymentStatus.error?t:n)}}function Fi(e,t){if(1&e&&(s.TgZ(0,"div",7),s.TgZ(1,"span",42),s._uU(2),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.Oqu("Error: "+(e.paymentStatus.error.error.error?e.paymentStatus.error.error.error:e.paymentStatus.error.error?e.paymentStatus.error.error:e.paymentStatus.error?e.paymentStatus.error:"Unknown"))}}function Ui(e,t){if(1&e&&(s.TgZ(0,"div",7),s.TgZ(1,"div",0),s.TgZ(2,"div",1),s.TgZ(3,"h4",60),s._uU(4,"Payment Hash"),s.qZA(),s.TgZ(5,"span",42),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s._UZ(7,"mat-divider",61),s.TgZ(8,"div",0),s.TgZ(9,"div",62),s.TgZ(10,"h4",60),s._uU(11),s.qZA(),s.TgZ(12,"span",42),s._uU(13),s.qZA(),s.qZA(),s.TgZ(14,"div",62),s.TgZ(15,"h4",60),s._uU(16,"Number of Hops"),s.qZA(),s.TgZ(17,"span",42),s._uU(18),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(6),s.Oqu(e.paymentStatus.payment_hash),s.xp6(5),s.hij("Total Fees (",e.paymentStatus.payment_route.total_fees_msat?"mSats":"Sats",")"),s.xp6(2),s.Oqu(e.paymentStatus.payment_route.total_fees_msat?e.paymentStatus.payment_route.total_fees_msat:e.paymentStatus.payment_route.total_fees?e.paymentStatus.payment_route.total_fees:0),s.xp6(5),s.Oqu(e.paymentStatus&&e.paymentStatus.payment_route&&e.paymentStatus.payment_route.hops&&e.paymentStatus.payment_route.hops.length?e.paymentStatus.payment_route.hops.length:0)}}let Ni=(()=>{class e{constructor(e,t,n,a,i,o,s){this.dialogRef=e,this.data=t,this.logger=n,this.store=a,this.actions$=i,this.formBuilder=o,this.decimalPipe=s,this.faInfoCircle=g.sqG,this.invoices={},this.selChannel={},this.activeChannels=[],this.filteredActiveChannels=[],this.feeLimitTypes=[],this.queryRoute={},this.paymentRequest="",this.paymentStatus=null,this.flgReusingInvoice=!1,this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1,this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee",this.flgEditable=!0,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.selChannel=this.data.channel,f.Vc.forEach((e,t)=>{t>0&&this.feeLimitTypes.push(e)}),this.inputFormGroup=this.formBuilder.group({hiddenAmount:["",[ue.kI.required]],rebalanceAmount:["",[ue.kI.required,ue.kI.min(1),ue.kI.max(this.selChannel.local_balance)]],selRebalancePeer:[null,ue.kI.required]}),this.feeFormGroup=this.formBuilder.group({selFeeLimitType:[this.feeLimitTypes[0],ue.kI.required],feeLimit:["",[ue.kI.required,ue.kI.min(0)]],hiddenFeeLimit:["",[ue.kI.required]]}),this.statusFormGroup=this.formBuilder.group({}),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.activeChannels=e.allChannels.filter(e=>e.active&&e.remote_balance>=this.inputFormGroup.controls.rebalanceAmount.value&&e.chan_id!==this.selChannel.chan_id),this.invoices=e.invoices,this.logger.info(e)}),this.actions$.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.qs||e.type===x.ug||e.type===x.mZ)).subscribe(e=>{e.type===x.qs&&(this.queryRoute=e.payload),e.type===x.ug&&(this.logger.info(e.payload),this.flgPaymentSent=!0,this.paymentStatus=e.payload,this.flgEditable=!0),e.type===x.mZ&&(this.logger.info(e.payload),this.flgInvoiceGenerated=!0,this.sendPayment(e.payload.paymentRequest))})}onEstimateFee(){if(!this.inputFormGroup.controls.selRebalancePeer.value||!this.inputFormGroup.controls.rebalanceAmount.value)return!0;0===this.stepper.selectedIndex&&(this.inputFormGroup.controls.hiddenAmount.setValue(this.inputFormGroup.controls.rebalanceAmount.value),this.stepper.next()),this.queryRoute=null,this.feeFormGroup.reset(),this.feeFormGroup.controls.selFeeLimitType.setValue(this.feeLimitTypes[0]),this.store.dispatch(new x.bm({destPubkey:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey,amount:this.inputFormGroup.controls.rebalanceAmount.value,outgoingChanId:this.selChannel.chan_id}))}stepSelectionChanged(e){switch(e.selectedIndex){case 0:this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.rebalanceAmount.value||this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?"Rebalancing Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value?this.inputFormGroup.controls.rebalanceAmount.value:0)+" Sats | Peer: "+(this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?this.inputFormGroup.controls.selRebalancePeer.value.remote_alias:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0,15)+"..."):"Amount to rebalance",this.feeFormLabel="Select rebalance fee";break;case 2:this.inputFormLabel=this.inputFormGroup.controls.rebalanceAmount.value||this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?"Rebalancing Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value?this.inputFormGroup.controls.rebalanceAmount.value:0)+" Sats | Peer: "+(this.inputFormGroup.controls.selRebalancePeer.value.remote_alias?this.inputFormGroup.controls.selRebalancePeer.value.remote_alias:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0,15)+"..."):"Amount to rebalance",this.feeFormLabel=this.queryRoute&&this.queryRoute.routes&&this.queryRoute.routes.length>0&&(this.queryRoute.routes[0].total_fees_msat||this.queryRoute.routes[0].hops&&this.queryRoute.routes[0].hops.length)?this.feeFormGroup.controls.selFeeLimitType.value.placeholder+": "+this.decimalPipe.transform(this.feeFormGroup.controls.feeLimit.value?this.feeFormGroup.controls.feeLimit.value:0)+" | Hops: "+this.queryRoute.routes[0].hops.length:"Select rebalance fee";break;default:this.inputFormLabel="Amount to rebalance",this.feeFormLabel="Select rebalance fee"}e.selectedIndex0&&this.queryRoute.routes[0].total_fees_msat?Math.ceil(+this.queryRoute.routes[0].total_fees_msat/1e3):0)}onRebalance(){if(!this.inputFormGroup.controls.rebalanceAmount.value||this.inputFormGroup.controls.rebalanceAmount.value<=0||this.inputFormGroup.controls.rebalanceAmount.value>+this.selChannel.local_balance||!this.feeFormGroup.controls.feeLimit.value||this.feeFormGroup.controls.feeLimit.value<0||!this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey)return!0;this.feeFormGroup.controls.hiddenFeeLimit.setValue(this.feeFormGroup.controls.feeLimit.value),this.stepper.next(),this.flgEditable=!1,this.paymentRequest="",this.paymentStatus=null,this.flgReusingInvoice=!1,this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1;let e=this.findUnsettledInvoice();e?(this.flgReusingInvoice=!0,this.sendPayment(e.payment_request)):this.store.dispatch(new x.H1({memo:"Local-Rebalance-"+this.inputFormGroup.controls.rebalanceAmount.value+"-Sats",invoiceValue:this.inputFormGroup.controls.rebalanceAmount.value,private:!1,expiry:3600,pageSize:f.IV,openModal:!1}))}findUnsettledInvoice(){return this.invoices.invoices.find(e=>(0===e.settle_date||!e.settle_date)&&e.memo==="Local-Rebalance-"+this.inputFormGroup.controls.rebalanceAmount.value+"-Sats"&&"CANCELED"!==e.state)}sendPayment(e){this.flgInvoiceGenerated=!0,this.paymentRequest=e,this.store.dispatch(new x.Ar({paymentReq:e,outgoingChannel:this.selChannel,feeLimitType:this.feeFormGroup.controls.selFeeLimitType.value,feeLimit:this.feeFormGroup.controls.feeLimit.value,allowSelfPayment:!0,lastHopPubkey:this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey,fromDialog:!0}))}filterActiveChannels(){this.filteredActiveChannels=this.activeChannels.filter(e=>e.remote_balance>=this.inputFormGroup.controls.rebalanceAmount.value&&e.chan_id!==this.selChannel.chan_id)}onClose(){this.dialogRef.close(!1)}onRestart(){this.flgInvoiceGenerated=!1,this.flgPaymentSent=!1,this.flgEditable=!0,this.stepper.reset(),this.inputFormGroup.reset(),this.feeFormGroup.reset(),this.statusFormGroup.reset()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(ue.qu),s.Y36(a.JJ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-rebalance"]],viewQuery:function(e,t){if(1&e&&s.Gf(ui,5),2&e){let e;s.iGM(e=s.CRH())&&(t.stepper=e.first)}},decls:112,vars:43,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxLayout.gt-sm","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","rebalanceAmount","required","",3,"step","change"],["matSuffix",""],[4,"ngIf"],["fxFlex","48","fxLayoutAlign","start end"],["tabindex","2","formControlName","selRebalancePeer","placeholder","Receive from Peer","required",""],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","submit",3,"click"],["matStepLabel","","disabled","true"],["fxFlex","75",1,"alert"],["mat-stroked-button","","type","button","tabindex","4","matTooltip","Re-estimate Fee",1,"h-35px",3,"click"],[1,"mb-5px"],["mat-stroked-button","","type","button","tabindex","5",1,"h-35px",3,"click"],["tabindex","6","formControlName","selFeeLimitType","Placeholder","Fee Limits","required",""],["matInput","","formControlName","feeLimit","type","number","tabindex","7","required","",3,"placeholder","step"],["mat-stroked-button","","color","primary","tabindex","8","type","submit",3,"click"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel","mb-2"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[1,"foreground-secondary-text"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayout","column",4,"ngIf","ngIfElse"],["fxLayoutAlign","start","class","font-bold-500 mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["paymentStatusBlock",""],["paymentFailedBlock",""],["paymentSuccessfulBlock",""],[3,"value"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","button",3,"click"],[4,"ngTemplateOutlet"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","50"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Channel Rebalance"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"div",7),s.TgZ(10,"div",8),s.TgZ(11,"div",9),s._UZ(12,"fa-icon",10),s.TgZ(13,"span"),s._uU(14,"Circular Rebalance is a payment you make to *yourselves* to affect a relative change in the balances of two channels. This is accomplished by sending payment out from the selected channel and receiving it back on the channel with the selected peer. Please note, you will be paying routing fee to balance the channels in this manner."),s.qZA(),s.qZA(),s.qZA(),s.TgZ(15,"div",11),s.TgZ(16,"p",12),s.TgZ(17,"strong"),s._uU(18,"Channel Peer:\xa0"),s.qZA(),s._uU(19),s.ALo(20,"titlecase"),s.qZA(),s.TgZ(21,"p",13),s.TgZ(22,"strong"),s._uU(23,"Channel ID:\xa0"),s.qZA(),s._uU(24),s.qZA(),s._UZ(25,"p",13),s.qZA(),s.TgZ(26,"mat-vertical-stepper",14,15),s.NdJ("selectionChange",function(e){return t.stepSelectionChanged(e)}),s.TgZ(28,"mat-step",16),s.TgZ(29,"form",17),s.YNc(30,di,1,1,"ng-template",18),s.TgZ(31,"div",19),s.TgZ(32,"mat-form-field",20),s.TgZ(33,"input",21),s.NdJ("change",function(){return t.filterActiveChannels()}),s.qZA(),s.TgZ(34,"mat-hint"),s._uU(35),s.qZA(),s.TgZ(36,"span",22),s._uU(37,"Sats"),s.qZA(),s.YNc(38,pi,2,0,"mat-error",23),s.YNc(39,hi,2,0,"mat-error",23),s.YNc(40,mi,2,1,"mat-error",23),s.qZA(),s.TgZ(41,"mat-form-field",24),s.TgZ(42,"mat-select",25),s.YNc(43,gi,2,2,"mat-option",26),s.qZA(),s.YNc(44,fi,2,0,"mat-error",23),s.qZA(),s.qZA(),s.TgZ(45,"div",27),s.TgZ(46,"button",28),s.NdJ("click",function(){return t.onEstimateFee()}),s._uU(47,"Estimate Fee"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(48,"mat-step",16),s.TgZ(49,"form",17),s.YNc(50,xi,1,1,"ng-template",29),s.TgZ(51,"div",19),s.TgZ(52,"div",19),s.TgZ(53,"div",30),s._UZ(54,"fa-icon",10),s.TgZ(55,"span"),s.TgZ(56,"strong"),s._uU(57,"Estimated Fee: "),s.qZA(),s._uU(58),s.TgZ(59,"strong"),s._uU(60,"Number of Hops: "),s.qZA(),s._uU(61),s.qZA(),s.qZA(),s.TgZ(62,"button",31),s.NdJ("click",function(){return t.onEstimateFee()}),s.TgZ(63,"mat-icon",32),s._uU(64,"loop"),s.qZA(),s.qZA(),s.TgZ(65,"button",33),s.NdJ("click",function(){return t.onUseEstimate()}),s._uU(66,"Use Estimate"),s.qZA(),s.qZA(),s.TgZ(67,"div",19),s.TgZ(68,"mat-form-field",24),s.TgZ(69,"mat-select",34),s.YNc(70,Zi,2,2,"mat-option",26),s.qZA(),s.qZA(),s.TgZ(71,"mat-form-field",20),s._UZ(72,"input",35),s.YNc(73,yi,2,1,"mat-error",23),s.YNc(74,Ai,2,1,"mat-error",23),s.qZA(),s.qZA(),s.qZA(),s.TgZ(75,"div",27),s.TgZ(76,"button",36),s.NdJ("click",function(){return t.onRebalance()}),s._uU(77,"Rebalance"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(78,"mat-step",37),s.TgZ(79,"form",17),s.YNc(80,bi,1,0,"ng-template",18),s.TgZ(81,"div",38),s.TgZ(82,"mat-expansion-panel",39),s.TgZ(83,"mat-expansion-panel-header"),s.TgZ(84,"mat-panel-title"),s.TgZ(85,"span",40),s._uU(86),s.YNc(87,Ti,2,0,"mat-icon",41),s.qZA(),s.qZA(),s.qZA(),s.TgZ(88,"div",7),s.TgZ(89,"span",42),s._uU(90),s.qZA(),s.qZA(),s.qZA(),s.YNc(91,wi,1,0,"mat-progress-bar",43),s.TgZ(92,"mat-expansion-panel",44),s.TgZ(93,"mat-expansion-panel-header"),s.TgZ(94,"mat-panel-title"),s.TgZ(95,"span",40),s._uU(96),s.YNc(97,_i,2,1,"mat-icon",41),s.qZA(),s.qZA(),s.qZA(),s.YNc(98,vi,1,0,"div",45),s.qZA(),s.YNc(99,qi,1,0,"mat-progress-bar",43),s.qZA(),s.YNc(100,Ci,2,1,"h4",46),s.TgZ(101,"div",47),s.YNc(102,Li,2,0,"button",48),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(103,"div",49),s.TgZ(104,"button",50),s._uU(105,"Close"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(106,ki,1,1,"ng-template",null,51,s.W1O),s.YNc(108,Fi,3,1,"ng-template",null,52,s.W1O),s.YNc(110,Ui,19,4,"ng-template",null,53,s.W1O)),2&e){const e=s.MAs(107);s.xp6(12),s.Q6J("icon",t.faInfoCircle),s.xp6(7),s.Oqu(s.lcZ(20,41,t.selChannel.remote_alias)),s.xp6(5),s.Oqu(t.selChannel.chan_id),s.xp6(2),s.Q6J("linear",!0),s.xp6(2),s.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.inputFormGroup),s.xp6(4),s.Q6J("step",100),s.xp6(2),s.AsE("(Local Bal: ",null==t.selChannel?null:t.selChannel.local_balance,", Remaining: ",(null==t.selChannel?null:t.selChannel.local_balance)-(t.inputFormGroup.controls.rebalanceAmount.value?t.inputFormGroup.controls.rebalanceAmount.value:0),")"),s.xp6(3),s.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.min),s.xp6(1),s.Q6J("ngIf",null==t.inputFormGroup.controls.rebalanceAmount.errors?null:t.inputFormGroup.controls.rebalanceAmount.errors.max),s.xp6(3),s.Q6J("ngForOf",t.filteredActiveChannels),s.xp6(1),s.Q6J("ngIf",null==t.inputFormGroup.controls.selRebalancePeer.errors?null:t.inputFormGroup.controls.selRebalancePeer.errors.required),s.xp6(4),s.Q6J("stepControl",t.feeFormGroup)("editable",t.flgEditable),s.xp6(1),s.Q6J("formGroup",t.feeFormGroup),s.xp6(5),s.Q6J("icon",t.faInfoCircle),s.xp6(4),s.hij("",t.queryRoute&&t.queryRoute.routes&&t.queryRoute.routes.length>0&&t.queryRoute.routes[0].total_fees_msat?t.queryRoute.routes[0].total_fees_msat:0," mSats | "),s.xp6(3),s.hij("",t.queryRoute&&t.queryRoute.routes&&t.queryRoute.routes.length>0&&t.queryRoute.routes[0].hops&&t.queryRoute.routes[0].hops.length?t.queryRoute.routes[0].hops.length:0," "),s.xp6(9),s.Q6J("ngForOf",t.feeLimitTypes),s.xp6(2),s.s9C("placeholder",t.feeFormGroup.controls.selFeeLimitType.value?t.feeFormGroup.controls.selFeeLimitType.value.placeholder:t.feeLimitTypes[0].placeholder),s.Q6J("step",1),s.xp6(1),s.Q6J("ngIf",null==t.feeFormGroup.controls.feeLimit.errors?null:t.feeFormGroup.controls.feeLimit.errors.required),s.xp6(1),s.Q6J("ngIf",null==t.feeFormGroup.controls.feeLimit.errors?null:t.feeFormGroup.controls.feeLimit.errors.min),s.xp6(4),s.Q6J("stepControl",t.statusFormGroup),s.xp6(1),s.Q6J("formGroup",t.statusFormGroup),s.xp6(7),s.Oqu(t.flgInvoiceGenerated?t.flgReusingInvoice?"Invoice re-used":"Invoice generated":"Generating invoice..."),s.xp6(1),s.Q6J("ngIf",t.flgInvoiceGenerated),s.xp6(3),s.Oqu(t.paymentRequest),s.xp6(1),s.Q6J("ngIf",!t.flgInvoiceGenerated),s.xp6(1),s.Q6J("expanded",(t.flgInvoiceGenerated||t.flgReusingInvoice)&&t.flgPaymentSent),s.xp6(4),s.Oqu(t.flgInvoiceGenerated||t.flgPaymentSent?t.flgPaymentSent?null!=t.paymentStatus&&t.paymentStatus.error?"Payment failed":"Payment successful":"Processing payment...":"Payment waiting for Invoice"),s.xp6(1),s.Q6J("ngIf",t.flgPaymentSent),s.xp6(1),s.Q6J("ngIf",!t.paymentStatus)("ngIfElse",e),s.xp6(1),s.Q6J("ngIf",t.flgInvoiceGenerated&&!t.flgPaymentSent),s.xp6(1),s.Q6J("ngIf",t.flgInvoiceGenerated&&t.flgPaymentSent),s.xp6(2),s.Q6J("ngIf",t.paymentStatus&&t.paymentStatus.error),s.xp6(2),s.Q6J("mat-dialog-close",!1)}},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,_.dn,T.BN,ha.Vq,ha.C0,ue._Y,ue.JL,ue.sg,ha.VY,J.KE,de.Nt,ue.wV,ue.Fj,pe.h,ue.JJ,ue.u,ue.Q7,J.bx,J.R9,a.O5,me.gD,a.sg,O.gM,C.Hw,tt.ib,tt.yz,tt.yK,ce.ZT,J.TO,fe.ey,r.pW,a.tP,I.d],pipes:[a.rS],styles:[""]}),e})();function Di(e,t){if(1&e&&(s.TgZ(0,"div",16),s.TgZ(1,"p",17),s.TgZ(2,"mat-icon",18),s._uU(3,"close"),s.qZA(),s._uU(4),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(4),s.Oqu(e.errorMsg)}}function Ji(e,t){if(1&e&&(s.TgZ(0,"div",27),s._UZ(1,"fa-icon",28),s.TgZ(2,"span"),s._uU(3,"Priority/Fee for force closing inactive channels cannot be modified."),s.qZA(),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faInfoCircle)}}function Oi(e,t){if(1&e&&(s.TgZ(0,"mat-option",29),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Ii(e,t){1&e&&(s.TgZ(0,"mat-form-field",30),s._UZ(1,"input",31),s.qZA())}function Qi(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Number of blocks is required."),s.qZA())}function Yi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",32),s.TgZ(1,"input",33,34),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).blocks=t}),s.qZA(),s.YNc(3,Qi,2,0,"mat-error",35),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngModel",e.blocks)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.blocks)}}function Ri(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Fees is required."),s.qZA())}function Mi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",32),s.TgZ(1,"input",36,37),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).fees=t}),s.qZA(),s.YNc(3,Ri,2,0,"mat-error",35),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngModel",e.fees)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.fees)}}function Pi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",19),s.YNc(1,Ji,4,1,"div",20),s.TgZ(2,"div",21),s.TgZ(3,"mat-form-field",22),s.TgZ(4,"mat-select",23),s.NdJ("valueChange",function(t){return s.CHM(e),s.oxw().selTransType=t}),s.YNc(5,Oi,2,2,"mat-option",24),s.qZA(),s.qZA(),s.YNc(6,Ii,2,0,"mat-form-field",25),s.YNc(7,Yi,4,4,"mat-form-field",26),s.YNc(8,Mi,4,4,"mat-form-field",26),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.channelToClose.active),s.xp6(3),s.Q6J("value",e.selTransType)("disabled",!e.channelToClose.active),s.xp6(1),s.Q6J("ngForOf",e.transTypes),s.xp6(1),s.Q6J("ngIf","0"===e.selTransType),s.xp6(1),s.Q6J("ngIf","1"===e.selTransType),s.xp6(1),s.Q6J("ngIf","2"===e.selTransType)}}function Ei(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",38),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(1,"Clear"),s.qZA()}}function Bi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",39),s.NdJ("click",function(){return s.CHM(e),s.oxw().onCloseChannel()}),s._uU(1),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.channelToClose.active?"Close Channel":"Force Close")}}function Hi(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"button",40),s.NdJ("click",function(){return s.CHM(e),s.oxw().onClose()}),s._uU(1,"Ok"),s.qZA()}}let Gi=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.store=n,this.actions$=a,this.logger=i,this.transTypes=f.Dr,this.selTransType="0",this.blocks=null,this.fees=null,this.faExclamationTriangle=g.eHv,this.faInfoCircle=g.sqG,this.flgPendingHtlcs=!1,this.errorMsg="Please wait for pending HTLCs to settle before attempting channel closure.",this.unSubs=[new d.x,new d.x]}ngOnInit(){this.channelToClose=this.data.channel,this.actions$.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.hL||e.type===x.P2)).subscribe(e=>{if(e.type===x.P2){let t=e.payload.find(e=>e.chan_id===this.data.channel.chan_id);t.pending_htlcs&&t.pending_htlcs.length&&t.pending_htlcs.length>0&&(this.flgPendingHtlcs=!0)}e.type===x.hL&&"FetchChannels/all"===e.payload.action&&this.logger.error("Fetching latest channel information failed!\n"+e.payload.message)})}onCloseChannel(){if("1"===this.selTransType&&(!this.blocks||0===this.blocks)||"2"===this.selTransType&&(!this.fees||0===this.fees))return!0;let e={channelPoint:this.channelToClose.channel_point,forcibly:!this.channelToClose.active};this.blocks&&(e.targetConf=this.blocks),this.fees&&(e.satPerByte=this.fees),this.store.dispatch(new G.Fk(this.channelToClose.active?"Closing Channel...":"Force Closing Channel...")),this.store.dispatch(new x.e8(e)),this.dialogRef.close(!1)}resetData(){this.selTransType="0",this.blocks=null,this.fees=null}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(y.yh),s.Y36(A.eX),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-close-channel"]],decls:19,vars:7,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column",1,"bordered-box","mb-1","p-2"],["fxLayoutAlign","start center",1,"pb-1","word-break"],["fxLayoutAlign","start center",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","class","mr-1","tabindex","3","default","",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","type","submit","tabindex","4",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click",4,"ngIf"],["fxLayoutAlign","start center"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex.gt-sm","48"],["tabindex","1",3,"value","disabled","valueChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","48",4,"ngIf"],["fxFlex.gt-sm","48","fxLayoutAlign","start end",4,"ngIf"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],[3,"value"],["fxFlex","48"],["matInput","","placeholder","Default","disabled",""],["fxFlex.gt-sm","48","fxLayoutAlign","start end"],["matInput","","placeholder","Number of Blocks","type","number","name","blocks","required","","tabindex","2",3,"ngModel","step","min","ngModelChange"],["blcks","ngModel"],[4,"ngIf"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","ccfees","required","","tabindex","3",3,"ngModel","step","min","ngModelChange"],["clchfee","ngModel"],["mat-stroked-button","","color","primary","type","reset","tabindex","3","default","",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7),s.TgZ(10,"div",8),s.TgZ(11,"p",9),s._uU(12),s.qZA(),s.YNc(13,Di,5,1,"div",10),s.YNc(14,Pi,9,7,"div",11),s.qZA(),s.TgZ(15,"div",12),s.YNc(16,Ei,2,0,"button",13),s.YNc(17,Bi,2,1,"button",14),s.YNc(18,Hi,2,0,"button",15),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(5),s.Oqu(t.channelToClose.active?"Close Channel":"Force Close Channel"),s.xp6(7),s.Oqu(t.channelToClose.active?"Closing channel: "+t.channelToClose.channel_point:"Force closing channel: "+t.channelToClose.channel_point),s.xp6(1),s.Q6J("ngIf",t.flgPendingHtlcs),s.xp6(1),s.Q6J("ngIf",!t.flgPendingHtlcs),s.xp6(2),s.Q6J("ngIf",t.channelToClose.active&&!t.flgPendingHtlcs),s.xp6(1),s.Q6J("ngIf",!t.flgPendingHtlcs),s.xp6(1),s.Q6J("ngIf",t.flgPendingHtlcs))},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,_.dn,ue._Y,ue.JL,ue.F,a.O5,C.Hw,J.KE,me.gD,a.sg,T.BN,fe.ey,de.Nt,ue.wV,ue.qQ,ue.Fj,he.q,ue.Q7,ue.JJ,ue.On,J.TO],styles:[""]}),e})();function Vi(e,t){1&e&&s._UZ(0,"mat-progress-bar",30)}function zi(e,t){1&e&&(s.TgZ(0,"th",31),s._uU(1," Peer "),s.qZA())}function Wi(e,t){1&e&&s._UZ(0,"span",39)}function $i(e,t){1&e&&s._UZ(0,"span",40)}function Xi(e,t){if(1&e&&(s.TgZ(0,"span",41),s._UZ(1,"fa-icon",42),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faEyeSlash)}}function ji(e,t){if(1&e&&(s.TgZ(0,"span",43),s._UZ(1,"fa-icon",42),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faEye)}}const Ki=function(e){return{"max-width":e}};function eo(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"div",33),s.YNc(2,Wi,1,0,"span",34),s.YNc(3,$i,1,0,"span",35),s.YNc(4,Xi,2,1,"span",36),s.YNc(5,ji,2,1,"span",37),s.TgZ(6,"span",38),s._uU(7),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.xp6(1),s.Q6J("ngStyle",s.VKq(6,Ki,n.screenSize===n.screenSizeEnum.XS?"10rem":"22rem")),s.xp6(1),s.Q6J("ngIf",e.active),s.xp6(1),s.Q6J("ngIf",!e.active),s.xp6(1),s.Q6J("ngIf",e.private),s.xp6(1),s.Q6J("ngIf",!e.private),s.xp6(2),s.Oqu(e.remote_alias||e.remote_pubkey)}}function to(e,t){if(1&e&&(s.TgZ(0,"th",44),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("Uptime (",e.timeUnit,")")}}function no(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"span",45),s._uU(2),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",e.uptime_str," ")}}function ao(e,t){1&e&&(s.TgZ(0,"th",44),s._uU(1,"Sats Sent "),s.qZA())}function io(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"span",45),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.lcZ(3,1,e.total_satoshis_sent)," ")}}function oo(e,t){1&e&&(s.TgZ(0,"th",44),s._uU(1,"Sats Received "),s.qZA())}function so(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"span",45),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.lcZ(3,1,e.total_satoshis_received)," ")}}function lo(e,t){1&e&&(s.TgZ(0,"th",44),s._uU(1,"Local Balance "),s.qZA())}function ro(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"span",45),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.lcZ(3,1,e.local_balance)," ")}}function co(e,t){1&e&&(s.TgZ(0,"th",44),s._uU(1,"Remote Balance "),s.qZA())}function uo(e,t){if(1&e&&(s.TgZ(0,"td",32),s.TgZ(1,"span",45),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij("",s.lcZ(3,1,e.remote_balance)," ")}}function po(e,t){1&e&&(s.TgZ(0,"th",46),s._uU(1,"Balance Score "),s.qZA())}function ho(e,t){if(1&e&&(s.TgZ(0,"td",47),s.TgZ(1,"div",48),s.TgZ(2,"mat-hint",49),s._uU(3),s.ALo(4,"number"),s.qZA(),s.qZA(),s._UZ(5,"mat-progress-bar",50),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Oqu(s.lcZ(4,2,e.balancedness||0)),s.xp6(2),s.s9C("value",e.local_balance&&e.local_balance>0?+e.local_balance/(+e.local_balance+ +e.remote_balance)*100:0)}}function mo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",51),s.TgZ(1,"div",52),s.TgZ(2,"mat-select",53),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",54),s.NdJ("click",function(){return s.CHM(e),s.oxw().onChannelUpdate("all")}),s._uU(5,"Update Fee Policy"),s.qZA(),s.TgZ(6,"mat-option",54),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(7,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function go(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-option",54),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw().onCircularRebalance(t)}),s._uU(1,"Circular Rebalance"),s.qZA()}}function fo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-option",54),s.NdJ("click",function(){s.CHM(e);const t=s.oxw().$implicit;return s.oxw().onLoopOut(t)}),s._uU(1,"Loop Out"),s.qZA()}}function xo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",55),s.TgZ(1,"div",56),s.TgZ(2,"mat-select",57),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",54),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onChannelClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",54),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onViewRemotePolicy(t)}),s._uU(7,"View Remote Fee "),s.qZA(),s.TgZ(8,"mat-option",54),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onChannelUpdate(t)}),s._uU(9,"Update Fee Policy"),s.qZA(),s.YNc(10,go,2,0,"mat-option",58),s.YNc(11,fo,2,0,"mat-option",58),s.TgZ(12,"mat-option",54),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onChannelClose(t)}),s._uU(13,"Close Channel"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(10),s.Q6J("ngIf",+e.versionsArr[0]>0||+e.versionsArr[1]>=9),s.xp6(1),s.Q6J("ngIf",e.selNode.swapServerUrl)}}function Zo(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No peers connected. Add a peer in order to open a channel."),s.qZA())}function yo(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No channels available."),s.qZA())}function Ao(e,t){if(1&e&&(s.TgZ(0,"td",59),s.YNc(1,Zo,2,0,"p",60),s.YNc(2,yo,2,0,"p",60),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",e.numPeers<1&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)),s.xp6(1),s.Q6J("ngIf",e.numPeers>0&&(!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1))}}const bo=function(e){return{"display-none":e}};function To(e,t){if(1&e&&s._UZ(0,"tr",61),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,bo,e.numPeers>0&&(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function wo(e,t){1&e&&s._UZ(0,"tr",62)}function _o(e,t){1&e&&s._UZ(0,"tr",63)}const vo=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},qo=function(){return["no_peer"]};let Co=(()=>{class e{constructor(e,t,n,a,i,o,s){this.logger=e,this.store=t,this.rtlEffects=n,this.lndEffects=a,this.commonService=i,this.loopService=o,this.decimalPipe=s,this.timeUnit="mins:secs",this.userPersonaEnum=f.ol,this.selNode={},this.totalBalance=0,this.displayedColumns=[],this.channelsData=[],this.myChanPolicy={},this.information={},this.numPeers=-1,this.flgLoading=[!0],this.selFilter="",this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.versionsArr=[],this.faEye=g.Mdf,this.faEyeSlash=g.Aq,this.targetConf=6,this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["remote_alias","local_balance","remote_balance","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["remote_alias","uptime","local_balance","remote_balance","actions"]):(this.flgSticky=!0,this.displayedColumns=["remote_alias","uptime","total_satoshis_sent","total_satoshis_received","local_balance","remote_balance","balancedness","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels/all"===e.action&&(this.flgLoading[0]="error")}),this.selNode=e.nodeSettings,this.information=e.information,this.information&&this.information.version&&(this.versionsArr=this.information.version.split(".")),this.numPeers=e.peers&&e.peers.length?e.peers.length:0,this.totalBalance=+e.blockchainBalance.total_balance,this.channelsData=this.calculateUptime(e.allChannels),this.channelsData.length>0&&this.loadChannelsTable(this.channelsData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.allChannels),this.logger.info(e)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadChannelsTable(this.channelsData)}onViewRemotePolicy(e){this.store.dispatch(new x.IG(e.chan_id.toString()+"/"+this.information.identity_pubkey)),this.lndEffects.setLookup.pipe((0,Ke.q)(1)).subscribe(e=>{if(!e.fee_base_msat&&!e.fee_rate_milli_msat&&!e.time_lock_delta)return!1;this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Remote Channel Policy",message:[[{key:"fee_base_msat",value:e.fee_base_msat,title:"Base Fees (mSats)",width:25,type:f.Gi.NUMBER},{key:"fee_rate_milli_msat",value:e.fee_rate_milli_msat,title:"Fee Rate (milli mSats)",width:25,type:f.Gi.NUMBER},{key:"fee_rate_milli_msat",value:e.fee_rate_milli_msat/1e4,title:"Fee Rate (%)",width:25,type:f.Gi.NUMBER,digitsInfo:"1.0-8"},{key:"time_lock_delta",value:e.time_lock_delta,title:"Time Lock Delta",width:25,type:f.Gi.NUMBER}]]}}))})}onCircularRebalance(e){this.store.dispatch(new G.wu({data:{channel:e,component:Ni}}))}onChannelUpdate(e){"all"===e?(this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",noBtnText:"Cancel",yesBtnText:"Update All Channels",message:[],titleMessage:"Update fee policy for all channels",flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:1e3,width:32},{placeholder:"Fee Rate (mili mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:1,min:1,width:32,hintFunction:this.percentHintFunction},{placeholder:"Time Lock Delta",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:40,width:32}]}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{if(e){const t=e[0].inputValue,n=e[1].inputValue,a=e[2].inputValue;this.store.dispatch(new G.Fk("Updating Channel Policy...")),this.store.dispatch(new x.k({baseFeeMsat:t,feeRate:n,timeLockDelta:a,chanPoint:"all"}))}})):(this.myChanPolicy={fee_base_msat:0,fee_rate_milli_msat:0,time_lock_delta:0},this.store.dispatch(new G.Fk("Fetching Channel Policy...")),this.store.dispatch(new x.IG(e.chan_id.toString())),this.lndEffects.setLookup.pipe((0,Ke.q)(1)).subscribe(t=>{this.myChanPolicy=t.node1_pub===this.information.identity_pubkey?t.node1_policy:t.node2_pub===this.information.identity_pubkey?t.node2_policy:{fee_base_msat:0,fee_rate_milli_msat:0,time_lock_delta:0},this.logger.info(this.myChanPolicy),this.store.dispatch(new G.Iv),this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Update Fee Policy",titleMessage:"Update fee policy for channel point: "+e.channel_point,noBtnText:"Cancel",yesBtnText:"Update Channel",message:[],flgShowInput:!0,getInputs:[{placeholder:"Base Fee (mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:""===this.myChanPolicy.fee_base_msat?0:this.myChanPolicy.fee_base_msat,width:32},{placeholder:"Fee Rate (mili mSat)",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:this.myChanPolicy.fee_rate_milli_msat,min:1,width:32,hintFunction:this.percentHintFunction},{placeholder:"Time Lock Delta",inputType:f.Gi.NUMBER.toLowerCase(),inputValue:this.myChanPolicy.time_lock_delta,width:32}]}}))}),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[2])).subscribe(t=>{if(t){const n=t[0].inputValue,a=t[1].inputValue,i=t[2].inputValue;this.store.dispatch(new G.Fk("Updating Channel Policy...")),this.store.dispatch(new x.k({baseFeeMsat:n,feeRate:a,timeLockDelta:i,chanPoint:e.channel_point}))}})),this.applyFilter()}onChannelClose(e){e.active&&this.store.dispatch(new x.jh),this.store.dispatch(new G.wu({width:"70%",data:{channel:e,component:Gi}}))}applyFilter(){this.channels.filter=this.selFilter.trim().toLowerCase()}onChannelClick(e,t){this.store.dispatch(new G.wu({data:{channel:e,showCopy:!0,component:ci}}))}loadChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?1:-1}),this.channels=new re.by([...e]),this.channels.filterPredicate=(e,t)=>((e.active?"active":"inactive")+(e.chan_id?e.chan_id.toLowerCase():"")+(e.remote_pubkey?e.remote_pubkey.toLowerCase():"")+(e.remote_alias?e.remote_alias.toLowerCase():"")+(e.capacity?e.capacity:"")+(e.local_balance?e.local_balance:"")+(e.remote_balance?e.remote_balance:"")+(e.total_satoshis_sent?e.total_satoshis_sent:"")+(e.total_satoshis_received?e.total_satoshis_received:"")+(e.commit_fee?e.commit_fee:"")+(e.private?"private":"public")).includes(t),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.logger.info(this.channels)}calculateUptime(e){const t=3600,n=86400,a=31536e3;let i=60,o=1,s=0;switch(e.forEach(e=>{e.uptime&&+e.uptime>s&&(s=+e.uptime)}),!0){case s=t&&s=n&&sa:this.timeUnit="Yrs:Days",i=a,o=n;break;default:this.timeUnit="Mins:Secs",i=60,o=1}return e.forEach(e=>{e.uptime_str=e.uptime?this.decimalPipe.transform(Math.floor(+e.uptime/i),"2.0-0")+":"+this.decimalPipe.transform(Math.round(+e.uptime%i/o),"2.0-0"):"---"}),e}onLoopOut(e){this.store.dispatch(new G.Fk("Getting Terms and Quotes...")),this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{this.store.dispatch(new G.Iv),this.store.dispatch(new G.wu({minHeight:"56rem",data:{channel:e,minQuote:t[0],maxQuote:t[1],direction:f.$I.LOOP_OUT,component:H.a}}))})}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.channels.data,"Open-channels")}percentHintFunction(e){return(e/1e4).toString()+"%"}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(mt.V),s.Y36(gt.l),s.Y36(b.v),s.Y36(V.W),s.Y36(a.JJ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-open-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Channels")}])],decls:39,vars:14,consts:[["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","keyup","ngModelChange"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","remote_alias"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","uptime"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","total_satoshis_sent"],["matColumnDef","total_satoshis_received"],["matColumnDef","local_balance"],["matColumnDef","remote_balance"],["matColumnDef","balancedness"],["mat-header-cell","","mat-sort-header","","class","pl-2",4,"matHeaderCellDef"],["mat-cell","","class","pl-2",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-1",4,"matCellDef"],["matColumnDef","no_peer"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],[1,"ellipsis-parent",3,"ngStyle"],["class","dot green","matTooltip","Active","matTooltipPosition","right",4,"ngIf"],["class","dot yellow","matTooltip","Inactive","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Private","matTooltipPosition","right",4,"ngIf"],["class","mr-1","matTooltip","Public","matTooltipPosition","right",4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Active","matTooltipPosition","right",1,"dot","green"],["matTooltip","Inactive","matTooltipPosition","right",1,"dot","yellow"],["matTooltip","Private","matTooltipPosition","right",1,"mr-1"],[3,"icon"],["matTooltip","Public","matTooltipPosition","right",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","","mat-sort-header","",1,"pl-2"],["mat-cell","",1,"pl-2"],["fxLayout","row"],["fxFlex","100","fxLayoutAlign","center center",1,"font-size-80"],["mode","determinate",3,"value"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-1"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],[3,"click",4,"ngIf"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(){return t.applyFilter()})("ngModelChange",function(e){return t.selFilter=e}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,Vi,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,zi,2,0,"th",10),s.YNc(11,eo,8,8,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,to,2,1,"th",13),s.YNc(14,no,3,1,"td",11),s.BQk(),s.ynx(15,14),s.YNc(16,ao,2,0,"th",13),s.YNc(17,io,4,3,"td",11),s.BQk(),s.ynx(18,15),s.YNc(19,oo,2,0,"th",13),s.YNc(20,so,4,3,"td",11),s.BQk(),s.ynx(21,16),s.YNc(22,lo,2,0,"th",13),s.YNc(23,ro,4,3,"td",11),s.BQk(),s.ynx(24,17),s.YNc(25,co,2,0,"th",13),s.YNc(26,uo,4,3,"td",11),s.BQk(),s.ynx(27,18),s.YNc(28,po,2,0,"th",19),s.YNc(29,ho,6,4,"td",20),s.BQk(),s.ynx(30,21),s.YNc(31,mo,8,0,"th",22),s.YNc(32,xo,14,2,"td",23),s.BQk(),s.ynx(33,24),s.YNc(34,Ao,3,2,"td",25),s.BQk(),s.YNc(35,To,1,3,"tr",26),s.YNc(36,wo,1,0,"tr",27),s.YNc(37,_o,1,0,"tr",28),s.qZA(),s.qZA(),s._UZ(38,"mat-paginator",29),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.selFilter),s.xp6(2),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(11,vo,"error"===t.flgLoading[0])),s.xp6(28),s.Q6J("matFooterRowDef",s.DdM(13,qo)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,J.KE,de.Nt,ue.Fj,ue.JJ,ue.On,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,O.gM,T.BN,J.bx,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-remote_alias[_ngcontent-%COMP%]{flex:0 0 15%;width:15%}.mat-column-remote_alias[_ngcontent-%COMP%] .ellipsis-parent[_ngcontent-%COMP%]{display:flex}.mat-column-balancedness[_ngcontent-%COMP%]{padding-left:2rem;flex:0 0 20%;width:20%}.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{flex:1 1 10%;width:10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media only screen and (max-width:37.5em){.mat-column-local_balance[_ngcontent-%COMP%], .mat-column-remote_balance[_ngcontent-%COMP%], .mat-column-total_satoshis_received[_ngcontent-%COMP%], .mat-column-total_satoshis_sent[_ngcontent-%COMP%], .mat-column-uptime[_ngcontent-%COMP%]{white-space:unset}}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 100%}@media only screen and (max-width:56.25em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 60%}}@media only screen and (max-width:37.5em){.mat-column-actions[_ngcontent-%COMP%] .bordered-box.table-actions-select[_ngcontent-%COMP%]{flex:0 0 80%}}"]}),e})();const Lo=["outputIdx"];function So(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Index for change output is required."),s.qZA())}function ko(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Invalid index value."),s.qZA())}function Fo(e,t){if(1&e&&(s.TgZ(0,"mat-option",29),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Uo(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Number of blocks is required."),s.qZA())}function No(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",17),s.TgZ(1,"input",30,31),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().blocks=t}),s.qZA(),s.YNc(3,Uo,2,0,"mat-error",20),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngModel",e.blocks)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.blocks)}}function Do(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Fees is required."),s.qZA())}function Jo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",17),s.TgZ(1,"input",32,33),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().fees=t}),s.qZA(),s.YNc(3,Do,2,0,"mat-error",20),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngModel",e.fees)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.fees)}}function Oo(e,t){if(1&e&&(s.TgZ(0,"div",34),s._UZ(1,"fa-icon",13),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(2),s.Oqu(e.bumpFeeError)}}let Io=(()=>{class e{constructor(e,t,n,a,i){this.dialogRef=e,this.data=t,this.store=n,this.dataService=a,this.snackBar=i,this.transTypes=[...f.Dr],this.selTransType="2",this.blocks=null,this.fees=null,this.outputIndex=null,this.faCopy=g.kZ_,this.faInfoCircle=g.sqG,this.faExclamationTriangle=g.eHv,this.bumpFeeError="",this.unSubs=[new d.x,new d.x]}set payReq(e){e&&(this.outputIdx=e)}ngOnInit(){this.transTypes=this.transTypes.splice(1),this.bumpFeeChannel=this.data.pendingChannel;const e=this.bumpFeeChannel.channel&&this.bumpFeeChannel.channel.channel_point?this.bumpFeeChannel.channel.channel_point.split(":"):[];this.bumpFeeChannel.channel.txid_str=e[0]?e[0]:this.bumpFeeChannel.channel&&this.bumpFeeChannel.channel.channel_point?this.bumpFeeChannel.channel.channel_point:"",this.bumpFeeChannel.channel.output_index=e[1]?+e[1]:null}onBumpFee(){return this.outputIndex===this.bumpFeeChannel.channel.output_index?(this.outputIdx.control.setErrors({pendingChannelOutputIndex:!0}),!0):!this.outputIndex&&0!==this.outputIndex||!("1"!==this.selTransType||this.blocks&&0!==this.blocks)||!("2"!==this.selTransType||this.fees&&0!==this.fees)||void this.dataService.bumpFee(this.bumpFeeChannel.channel.txid_str,this.outputIndex,this.blocks,this.fees).pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.dialogRef.close(!1)},e=>{console.error(e),this.bumpFeeError=e.message?e.message:e})}onCopyID(e){this.snackBar.open("Transaction ID copied.")}resetData(){this.bumpFeeError="",this.selTransType="2",this.blocks=null,this.fees=null,this.outputIdx.control.setErrors(null)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(y.yh),s.Y36(et.D),s.Y36(ti.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-bump-fee"]],viewQuery:function(e,t){if(1&e&&s.Gf(Lo,5),2&e){let e;s.iGM(e=s.CRH())&&(t.payReq=e.first)}},decls:48,vars:15,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxLayout","column",1,"bordered-box","mb-1","p-2"],["fxLayoutAlign","start center",1,"pb-1","word-break"],["matSuffix","","rtlClipboard","","matTooltip","Copy transaction ID",1,"ml-1",3,"icon","payload","copied"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxFlex","100"],[1,"pl-1"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between center"],["fxFlex.gt-sm","32","fxLayoutAlign","start end"],["matInput","","placeholder","Index for Change Output","type","number","tabindex","1","required","","name","outputIdx",3,"ngModel","step","min","ngModelChange"],["outputIdx","ngModel"],[4,"ngIf"],["fxFlex.gt-sm","32"],["tabindex","2",3,"value","valueChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex.gt-sm","32","fxLayoutAlign","start end",4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","tabindex","5","default","",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","6",3,"click"],[3,"value"],["matInput","","placeholder","Number of Blocks","type","number","name","blocks","required","","tabindex","3",3,"ngModel","step","min","ngModelChange"],["blcks","ngModel"],["matInput","","placeholder","Fees (Sats/vByte)","type","number","name","fees","required","","tabindex","4",3,"ngModel","step","min","ngModelChange"],["fee","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Bump Fee"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s.NdJ("click",function(){return t.onClose()}),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7),s.TgZ(10,"div",8),s.TgZ(11,"p",9),s._uU(12),s.TgZ(13,"fa-icon",10),s.NdJ("copied",function(e){return t.onCopyID(e)}),s.qZA(),s.qZA(),s.TgZ(14,"div",11),s.TgZ(15,"div",12),s._UZ(16,"fa-icon",13),s.TgZ(17,"span",14),s._uU(18,"Bumping fee on pending open channels is an advanced feature, attempt it only if you are familiar with the functionality of Bitcoin transactions. "),s.TgZ(19,"div"),s._uU(20,"Before attempting fee bump ensure the following:"),s.qZA(),s.TgZ(21,"div",15),s._uU(22,"1: Use a Bitcoin block explorer to ensure that channel opening transaction is not confirmed."),s.qZA(),s.TgZ(23,"div",15),s._uU(24,"2: The channel opening transaction must have a sizable change output, which can be spent further. The fee cannot be bumped without the change output."),s.qZA(),s.TgZ(25,"div",15),s._uU(26,"3: Find the index value of the change output via a block explorer."),s.qZA(),s.TgZ(27,"div",15),s._uU(28,"4: Enter the index value of the change output in the form below and the desired fee rate."),s.qZA(),s.TgZ(29,"div",15),s._uU(30,"5: Upon successful fee bump, use your block explorer to track the child transaction in the mempool, which should be linked with the change output transaction."),s.qZA(),s.qZA(),s.qZA(),s.TgZ(31,"div",16),s.TgZ(32,"mat-form-field",17),s.TgZ(33,"input",18,19),s.NdJ("ngModelChange",function(e){return t.outputIndex=e}),s.qZA(),s.YNc(35,So,2,0,"mat-error",20),s.YNc(36,ko,2,0,"mat-error",20),s.qZA(),s.TgZ(37,"mat-form-field",21),s.TgZ(38,"mat-select",22),s.NdJ("valueChange",function(e){return t.selTransType=e})("selectionChange",function(){return t.blocks=null,t.fees=null}),s.YNc(39,Fo,2,2,"mat-option",23),s.qZA(),s.qZA(),s.YNc(40,No,4,4,"mat-form-field",24),s.YNc(41,Jo,4,4,"mat-form-field",24),s.qZA(),s.YNc(42,Oo,4,2,"div",25),s.qZA(),s.qZA(),s.TgZ(43,"div",26),s.TgZ(44,"button",27),s.NdJ("click",function(){return t.resetData()}),s._uU(45,"Clear"),s.qZA(),s.TgZ(46,"button",28),s.NdJ("click",function(){return t.onBumpFee()}),s._uU(47),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.MAs(34);s.xp6(12),s.hij("Bump fee for channel point: ",null==t.bumpFeeChannel||null==t.bumpFeeChannel.channel?null:t.bumpFeeChannel.channel.channel_point," "),s.xp6(1),s.Q6J("icon",t.faCopy)("payload",null==t.bumpFeeChannel||null==t.bumpFeeChannel.channel?null:t.bumpFeeChannel.channel.txid_str),s.xp6(3),s.Q6J("icon",t.faInfoCircle),s.xp6(17),s.Q6J("ngModel",t.outputIndex)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",null==e.errors?null:e.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.errors?null:e.errors.pendingChannelOutputIndex),s.xp6(2),s.Q6J("value",t.selTransType),s.xp6(1),s.Q6J("ngForOf",t.transTypes),s.xp6(1),s.Q6J("ngIf","1"===t.selTransType),s.xp6(1),s.Q6J("ngIf","2"===t.selTransType),s.xp6(1),s.Q6J("ngIf",""!==t.bumpFeeError),s.xp6(5),s.Oqu(""!==t.bumpFeeError?"Retry Bump Fee":"Bump Fee")}},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,_.dn,ue._Y,ue.JL,ue.F,T.BN,J.R9,ni.y,O.gM,J.KE,de.Nt,ue.wV,ue.qQ,ue.Fj,he.q,ue.Q7,ue.JJ,ue.On,a.O5,me.gD,a.sg,J.TO,fe.ey],styles:[""]}),e})();function Qo(e,t){1&e&&s._UZ(0,"mat-progress-bar",36)}function Yo(e,t){1&e&&(s.TgZ(0,"mat-header-cell",37),s._uU(1," Peer "),s.qZA())}const Ro=function(e){return{"max-width":e}};function Mo(e,t){if(1&e&&(s.TgZ(0,"mat-cell",38),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Ro,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),s.xp6(1),s.Oqu(e.channel.remote_alias)}}function Po(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Commit Fee (Sats) "),s.qZA())}function Eo(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.commit_fee))}}function Bo(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Commit Weight "),s.qZA())}function Ho(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.commit_weight))}}function Go(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Capacity (Sats)"),s.qZA())}function Vo(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.capacity))}}function zo(e,t){1&e&&(s.TgZ(0,"mat-header-cell",41),s._uU(1,"Actions"),s.qZA())}function Wo(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-cell",42),s.TgZ(1,"div",43),s.TgZ(2,"mat-select",44),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",45),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onOpenClick(t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",45),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onBumpFee(t)}),s._uU(7,"Bump Fee"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function $o(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No pending channels."),s.qZA())}function Xo(e,t){if(1&e&&(s.TgZ(0,"td",46),s.YNc(1,$o,2,0,"p",47),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.pendingOpenChannels||!(null!=e.pendingOpenChannels&&e.pendingOpenChannels.data)||(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)<1)}}const jo=function(e){return{"display-none":e}};function Ko(e,t){if(1&e&&s._UZ(0,"tr",48),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,jo,e.pendingOpenChannels&&(null==e.pendingOpenChannels?null:e.pendingOpenChannels.data)&&(null==e.pendingOpenChannels||null==e.pendingOpenChannels.data?null:e.pendingOpenChannels.data.length)>0))}}function es(e,t){1&e&&s._UZ(0,"mat-header-row")}function ts(e,t){1&e&&s._UZ(0,"mat-row",49)}function ns(e,t){1&e&&s._UZ(0,"mat-progress-bar",36)}function as(e,t){1&e&&(s.TgZ(0,"mat-header-cell",37),s._uU(1," Peer "),s.qZA())}function is(e,t){if(1&e&&(s.TgZ(0,"mat-cell",38),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Ro,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),s.xp6(1),s.Oqu(e.channel.remote_alias)}}function os(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Recovered Balance (Sats) "),s.qZA())}function ss(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.recovered_balance))}}function ls(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Limbo Balance (Sats) "),s.qZA())}function rs(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.limbo_balance))}}function cs(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1,"Capacity (Sats) "),s.qZA())}function us(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.capacity))}}function ds(e,t){1&e&&(s.TgZ(0,"mat-header-cell",50),s._uU(1,"Actions"),s.qZA())}function ps(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-cell",51),s.TgZ(1,"button",52),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onForceClosingClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function hs(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No pending channels."),s.qZA())}function ms(e,t){if(1&e&&(s.TgZ(0,"td",46),s.YNc(1,hs,2,0,"p",47),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.pendingForceClosingChannels||!(null!=e.pendingForceClosingChannels&&e.pendingForceClosingChannels.data)||(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)<1)}}function gs(e,t){if(1&e&&s._UZ(0,"tr",48),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,jo,e.pendingForceClosingChannels&&(null==e.pendingForceClosingChannels?null:e.pendingForceClosingChannels.data)&&(null==e.pendingForceClosingChannels||null==e.pendingForceClosingChannels.data?null:e.pendingForceClosingChannels.data.length)>0))}}function fs(e,t){1&e&&s._UZ(0,"mat-header-row")}function xs(e,t){1&e&&s._UZ(0,"mat-row",49)}function Zs(e,t){1&e&&s._UZ(0,"mat-progress-bar",36)}function ys(e,t){1&e&&(s.TgZ(0,"mat-header-cell",53),s._uU(1," Peer "),s.qZA())}function As(e,t){if(1&e&&(s.TgZ(0,"mat-cell",54),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Ro,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),s.xp6(1),s.Oqu(e.channel.remote_alias)}}function bs(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Local Balance (Sats) "),s.qZA())}function Ts(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.local_balance))}}function ws(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Remote Balance (Sats) "),s.qZA())}function _s(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.remote_balance))}}function vs(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Capacity (Sats) "),s.qZA())}function qs(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.capacity))}}function Cs(e,t){1&e&&(s.TgZ(0,"mat-header-cell",50),s._uU(1,"Actions"),s.qZA())}function Ls(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-cell",51),s.TgZ(1,"button",55),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onClosingClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Ss(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No pending channels."),s.qZA())}function ks(e,t){if(1&e&&(s.TgZ(0,"td",46),s.YNc(1,Ss,2,0,"p",47),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.pendingClosingChannels||!(null!=e.pendingClosingChannels&&e.pendingClosingChannels.data)||(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)<1)}}function Fs(e,t){if(1&e&&s._UZ(0,"tr",48),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,jo,e.pendingClosingChannels&&(null==e.pendingClosingChannels?null:e.pendingClosingChannels.data)&&(null==e.pendingClosingChannels||null==e.pendingClosingChannels.data?null:e.pendingClosingChannels.data.length)>0))}}function Us(e,t){1&e&&s._UZ(0,"mat-header-row")}function Ns(e,t){1&e&&s._UZ(0,"mat-row",49)}function Ds(e,t){1&e&&s._UZ(0,"mat-progress-bar",36)}function Js(e,t){1&e&&(s.TgZ(0,"mat-header-cell",53),s._uU(1," Peer "),s.qZA())}function Os(e,t){if(1&e&&(s.TgZ(0,"mat-cell",54),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Ro,n.screenSize===n.screenSizeEnum.XS?"10rem":"30rem")),s.xp6(1),s.Oqu(e.channel.remote_alias)}}function Is(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Limbo Balance (Sats) "),s.qZA())}function Qs(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij("",s.lcZ(2,1,e.limbo_balance)," ")}}function Ys(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Local Balance (Sats) "),s.qZA())}function Rs(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.local_balance))}}function Ms(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Remote Balance (Sats) "),s.qZA())}function Ps(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.remote_balance))}}function Es(e,t){1&e&&(s.TgZ(0,"mat-header-cell",39),s._uU(1," Capacity (Sats) "),s.qZA())}function Bs(e,t){if(1&e&&(s.TgZ(0,"mat-cell",40),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.channel.capacity))}}function Hs(e,t){1&e&&(s.TgZ(0,"mat-header-cell",50),s._uU(1,"Actions"),s.qZA())}function Gs(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-cell",51),s.TgZ(1,"button",56),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onWaitClosingClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Vs(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No pending channels."),s.qZA())}function zs(e,t){if(1&e&&(s.TgZ(0,"td",46),s.YNc(1,Vs,2,0,"p",47),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.pendingWaitClosingChannels||!(null!=e.pendingWaitClosingChannels&&e.pendingWaitClosingChannels.data)||(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)<1)}}const Ws=function(e){return{"py-0":!0,"display-none":e}};function $s(e,t){if(1&e&&s._UZ(0,"tr",48),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Ws,e.pendingWaitClosingChannels&&(null==e.pendingWaitClosingChannels?null:e.pendingWaitClosingChannels.data)&&(null==e.pendingWaitClosingChannels||null==e.pendingWaitClosingChannels.data?null:e.pendingWaitClosingChannels.data.length)>0))}}function Xs(e,t){1&e&&s._UZ(0,"mat-header-row")}function js(e,t){1&e&&s._UZ(0,"mat-row",49)}const Ks=function(e){return{"w-100 error-border bordered-box":e,"bordered-box w-100":!0}},el=function(){return["no_pending_open"]},tl=function(e){return{"error-border bordered-box":e,"bordered-box":!0}},nl=function(){return["no_pending_force_closing"]},al=function(){return["no_pending_closing"]},il=function(){return["no_pending_wait_closing"]};let ol=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.commonService=n,this.selNode={},this.selectedFilter="",this.information={},this.pendingChannels={},this.displayedOpenColumns=["remote_alias","commit_fee","commit_weight","capacity","actions"],this.pendingOpenChannelsLength=0,this.displayedForceClosingColumns=["remote_alias","recovered_balance","limbo_balance","capacity","actions"],this.pendingForceClosingChannelsLength=0,this.displayedClosingColumns=["remote_alias","local_balance","remote_balance","capacity","actions"],this.pendingClosingChannelsLength=0,this.displayedWaitClosingColumns=["remote_alias","limbo_balance","local_balance","remote_balance","actions"],this.pendingWaitClosingChannelsLength=0,this.flgLoading=[!0],this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.displayedOpenColumns=["remote_alias","actions"],this.displayedForceClosingColumns=["remote_alias","actions"],this.displayedClosingColumns=["remote_alias","actions"],this.displayedWaitClosingColumns=["remote_alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.displayedOpenColumns=["remote_alias","commit_fee","actions"],this.displayedForceClosingColumns=["remote_alias","limbo_balance","actions"],this.displayedClosingColumns=["remote_alias","remote_balance","actions"],this.displayedWaitClosingColumns=["remote_alias","limbo_balance","actions"]):(this.displayedOpenColumns=["remote_alias","commit_fee","commit_weight","capacity","actions"],this.displayedForceClosingColumns=["remote_alias","recovered_balance","limbo_balance","capacity","actions"],this.displayedClosingColumns=["remote_alias","local_balance","remote_balance","capacity","actions"],this.displayedWaitClosingColumns=["remote_alias","limbo_balance","local_balance","remote_balance","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels/pending"===e.action&&(this.flgLoading[0]="error")}),this.selNode=e.nodeSettings,this.information=e.information,this.pendingChannels=e.pendingChannels,this.pendingChannels.total_limbo_balance&&(this.flgLoading[1]=!1),this.pendingChannels.pending_open_channels&&this.pendingChannels.pending_open_channels.length&&this.pendingChannels.pending_open_channels.length>0&&this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels),this.pendingChannels.pending_force_closing_channels&&this.pendingChannels.pending_force_closing_channels.length&&this.pendingChannels.pending_force_closing_channels.length>0&&this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels),this.pendingChannels.pending_closing_channels&&this.pendingChannels.pending_closing_channels.length&&this.pendingChannels.pending_closing_channels.length>0&&this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels),this.pendingChannels.waiting_close_channels&&this.pendingChannels.waiting_close_channels.length&&this.pendingChannels.waiting_close_channels.length>0&&this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.information.identity_pubkey),this.logger.info(e)})}ngAfterViewInit(){this.pendingChannels.pending_open_channels&&this.pendingChannels.pending_open_channels.length&&this.pendingChannels.pending_open_channels.length>0&&this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels),this.pendingChannels.pending_force_closing_channels&&this.pendingChannels.pending_force_closing_channels.length&&this.pendingChannels.pending_force_closing_channels.length>0&&this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels),this.pendingChannels.pending_closing_channels&&this.pendingChannels.pending_closing_channels.length&&this.pendingChannels.pending_closing_channels.length>0&&this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels),this.pendingChannels.waiting_close_channels&&this.pendingChannels.waiting_close_channels.length&&this.pendingChannels.waiting_close_channels.length>0&&this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels)}onOpenClick(e){const t=JSON.parse(JSON.stringify(e,["commit_weight","confirmation_height","fee_per_kw","commit_fee"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Opening Channel Information",message:[[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"confirmation_height",value:a.confirmation_height,title:"Confirmation Height",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}],[{key:"fee_per_kw",value:a.fee_per_kw,title:"Fee/KW",width:25,type:f.Gi.NUMBER},{key:"commit_weight",value:a.commit_weight,title:"Commit Weight",width:25,type:f.Gi.NUMBER},{key:"commit_fee",value:a.commit_fee,title:"Commit Fee",width:50,type:f.Gi.NUMBER}]]}}))}onBumpFee(e){this.store.dispatch(new G.wu({data:{pendingChannel:e,component:Io}}))}onForceClosingClick(e){const t=JSON.parse(JSON.stringify(e,["closing_txid","limbo_balance","maturity_height","blocks_til_maturity","recovered_balance"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Force Closing Channel Information",message:[[{key:"closing_txid",value:a.closing_txid,title:"Closing Transaction ID",width:100,type:f.Gi.STRING}],[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"limbo_balance",value:a.limbo_balance,title:"Limbo Balance",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}],[{key:"maturity_height",value:a.maturity_height,title:"Maturity Height",width:25,type:f.Gi.NUMBER},{key:"blocks_til_maturity",value:a.blocks_til_maturity,title:"Blocks Till Maturity",width:25,type:f.Gi.NUMBER},{key:"recovered_balance",value:a.recovered_balance,title:"Recovered Balance",width:50,type:f.Gi.NUMBER}]]}}))}onClosingClick(e){const t=JSON.parse(JSON.stringify(e,["closing_txid"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a={};Object.assign(a,t,n),this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Closing Channel Information",message:[[{key:"closing_txid",value:a.closing_txid,title:"Closing Transaction ID",width:50,type:f.Gi.STRING}],[{key:"channel_point",value:a.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:a.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:a.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:a.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:a.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:a.remote_balance,title:"Remote Balance",width:50,type:f.Gi.NUMBER}]]}}))}onWaitClosingClick(e){const t=JSON.parse(JSON.stringify(e,["limbo_balance"],2)),n=JSON.parse(JSON.stringify(e.channel,["remote_alias","channel_point","remote_balance","local_balance","remote_node_pub","capacity"],2)),a=JSON.parse(JSON.stringify(e.commitments,["local_txid"],2)),i={};Object.assign(i,t,n,a),this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Wait Closing Channel Information",message:[[{key:"local_txid",value:i.local_txid,title:"Transaction ID",width:100,type:f.Gi.STRING}],[{key:"channel_point",value:i.channel_point,title:"Channel Point",width:100,type:f.Gi.STRING}],[{key:"remote_alias",value:i.remote_alias,title:"Peer Alias",width:25,type:f.Gi.STRING},{key:"remote_node_pub",value:i.remote_node_pub,title:"Peer Node Pubkey",width:75,type:f.Gi.STRING}],[{key:"capacity",value:i.capacity,title:"Capacity",width:25,type:f.Gi.NUMBER},{key:"limbo_balance",value:i.limbo_balance,title:"Limbo Balance",width:25,type:f.Gi.NUMBER},{key:"local_balance",value:i.local_balance,title:"Local Balance",width:25,type:f.Gi.NUMBER},{key:"remote_balance",value:i.remote_balance,title:"Remote Balance",width:25,type:f.Gi.NUMBER}]]}}))}loadOpenChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?-1:1}),this.pendingOpenChannelsLength=e.length?e.length:0,this.pendingOpenChannels=new re.by([...e]),this.pendingOpenChannels.sort=this.sort,this.pendingOpenChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingOpenChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingOpenChannels)}loadForceClosingChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?-1:1}),this.pendingForceClosingChannelsLength=e.length?e.length:0,this.pendingForceClosingChannels=new re.by([...e]),this.pendingForceClosingChannels.sort=this.sort,this.pendingForceClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingForceClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingForceClosingChannels)}loadClosingChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?-1:1}),this.pendingClosingChannelsLength=e.length?e.length:0,this.pendingClosingChannels=new re.by([...e]),this.pendingClosingChannels.sort=this.sort,this.pendingClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingClosingChannels)}loadWaitClosingChannelsTable(e){e.sort(function(e,t){return e.active===t.active?0:t.active?-1:1}),this.pendingWaitClosingChannelsLength=e.length?e.length:0,this.pendingWaitClosingChannels=new re.by([...e]),this.pendingWaitClosingChannels.sort=this.sort,this.pendingWaitClosingChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.pendingWaitClosingChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.pendingWaitClosingChannels)}applyFilter(e){this.selectedFilter=e.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-pending-table"]],viewQuery:function(e,t){if(1&e&&s.Gf(le.YE,5),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first)}},decls:120,vars:44,consts:[["fxLayout","column",1,"mb-2"],[1,"page-title"],["displayMode","flat",1,"mt-1"],["mode","indeterminate",4,"ngIf"],["fxLayout","column",1,"flat-expansion-panel"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","remote_alias"],["mat-sort-header","",4,"matHeaderCellDef"],[3,"ngStyle",4,"matCellDef"],["matColumnDef","commit_fee"],["fxLayoutAlign","end center","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","commit_weight"],["matColumnDef","capacity"],["matColumnDef","actions"],["fxLayoutAlign","end center","class","pl-3 pr-4",4,"matHeaderCellDef"],["fxLayoutAlign","end center","class","px-3",4,"matCellDef"],["matColumnDef","no_pending_open"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","","fxLayoutAlign","start center",3,"ngClass",4,"matFooterRowDef"],[4,"matHeaderRowDef"],["fxLayoutAlign","stretch stretch",4,"matRowDef","matRowDefColumns"],[1,"table-container",3,"perfectScrollbar"],["matColumnDef","recovered_balance"],["matColumnDef","limbo_balance"],["fxLayoutAlign","end center","class","pl-4 pr-3",4,"matHeaderCellDef"],["fxLayoutAlign","end center","class","pl-4",4,"matCellDef"],["matColumnDef","no_pending_force_closing"],["class","pl-2","mat-sort-header","",4,"matHeaderCellDef"],["class","pl-2",3,"ngStyle",4,"matCellDef"],["matColumnDef","local_balance"],["matColumnDef","remote_balance"],["matColumnDef","no_pending_closing"],["matColumnDef","no_pending_wait_closing"],["mode","indeterminate"],["mat-sort-header",""],[3,"ngStyle"],["fxLayoutAlign","end center","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"pl-3","pr-4"],["fxLayoutAlign","end center",1,"px-3"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","","fxLayoutAlign","start center",3,"ngClass"],["fxLayoutAlign","stretch stretch"],["fxLayoutAlign","end center",1,"pl-4","pr-3"],["fxLayoutAlign","end center",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","2",3,"click"],["mat-sort-header","",1,"pl-2"],[1,"pl-2",3,"ngStyle"],["mat-stroked-button","","color","primary","type","button","tabindex","3",3,"click"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"span",1),s._uU(2),s.ALo(3,"number"),s.qZA(),s.TgZ(4,"mat-accordion",2),s.YNc(5,Qo,1,0,"mat-progress-bar",3),s.TgZ(6,"mat-expansion-panel",4),s.TgZ(7,"mat-expansion-panel-header"),s.TgZ(8,"mat-panel-title"),s._uU(9),s.qZA(),s.qZA(),s.TgZ(10,"div",5),s.TgZ(11,"mat-table",6,7),s.ynx(13,8),s.YNc(14,Yo,2,0,"mat-header-cell",9),s.YNc(15,Mo,2,4,"mat-cell",10),s.BQk(),s.ynx(16,11),s.YNc(17,Po,2,0,"mat-header-cell",12),s.YNc(18,Eo,3,3,"mat-cell",13),s.BQk(),s.ynx(19,14),s.YNc(20,Bo,2,0,"mat-header-cell",12),s.YNc(21,Ho,3,3,"mat-cell",13),s.BQk(),s.ynx(22,15),s.YNc(23,Go,2,0,"mat-header-cell",12),s.YNc(24,Vo,3,3,"mat-cell",13),s.BQk(),s.ynx(25,16),s.YNc(26,zo,2,0,"mat-header-cell",17),s.YNc(27,Wo,8,0,"mat-cell",18),s.BQk(),s.ynx(28,19),s.YNc(29,Xo,2,1,"td",20),s.BQk(),s.YNc(30,Ko,1,3,"tr",21),s.YNc(31,es,1,0,"mat-header-row",22),s.YNc(32,ts,1,0,"mat-row",23),s.qZA(),s.qZA(),s.qZA(),s.YNc(33,ns,1,0,"mat-progress-bar",3),s.TgZ(34,"mat-expansion-panel",4),s.TgZ(35,"mat-expansion-panel-header"),s.TgZ(36,"mat-panel-title"),s._uU(37),s.qZA(),s.qZA(),s.TgZ(38,"div",24),s.TgZ(39,"mat-table",6,7),s.ynx(41,8),s.YNc(42,as,2,0,"mat-header-cell",9),s.YNc(43,is,2,4,"mat-cell",10),s.BQk(),s.ynx(44,25),s.YNc(45,os,2,0,"mat-header-cell",12),s.YNc(46,ss,3,3,"mat-cell",13),s.BQk(),s.ynx(47,26),s.YNc(48,ls,2,0,"mat-header-cell",12),s.YNc(49,rs,3,3,"mat-cell",13),s.BQk(),s.ynx(50,15),s.YNc(51,cs,2,0,"mat-header-cell",12),s.YNc(52,us,3,3,"mat-cell",13),s.BQk(),s.ynx(53,16),s.YNc(54,ds,2,0,"mat-header-cell",27),s.YNc(55,ps,3,0,"mat-cell",28),s.BQk(),s.ynx(56,29),s.YNc(57,ms,2,1,"td",20),s.BQk(),s.YNc(58,gs,1,3,"tr",21),s.YNc(59,fs,1,0,"mat-header-row",22),s.YNc(60,xs,1,0,"mat-row",23),s.qZA(),s.qZA(),s.qZA(),s.YNc(61,Zs,1,0,"mat-progress-bar",3),s.TgZ(62,"mat-expansion-panel",4),s.TgZ(63,"mat-expansion-panel-header"),s.TgZ(64,"mat-panel-title"),s._uU(65),s.qZA(),s.qZA(),s.TgZ(66,"div",24),s.TgZ(67,"mat-table",6,7),s.ynx(69,8),s.YNc(70,ys,2,0,"mat-header-cell",30),s.YNc(71,As,2,4,"mat-cell",31),s.BQk(),s.ynx(72,32),s.YNc(73,bs,2,0,"mat-header-cell",12),s.YNc(74,Ts,3,3,"mat-cell",13),s.BQk(),s.ynx(75,33),s.YNc(76,ws,2,0,"mat-header-cell",12),s.YNc(77,_s,3,3,"mat-cell",13),s.BQk(),s.ynx(78,15),s.YNc(79,vs,2,0,"mat-header-cell",12),s.YNc(80,qs,3,3,"mat-cell",13),s.BQk(),s.ynx(81,16),s.YNc(82,Cs,2,0,"mat-header-cell",27),s.YNc(83,Ls,3,0,"mat-cell",28),s.BQk(),s.ynx(84,34),s.YNc(85,ks,2,1,"td",20),s.BQk(),s.YNc(86,Fs,1,3,"tr",21),s.YNc(87,Us,1,0,"mat-header-row",22),s.YNc(88,Ns,1,0,"mat-row",23),s.qZA(),s.qZA(),s.qZA(),s.YNc(89,Ds,1,0,"mat-progress-bar",3),s.TgZ(90,"mat-expansion-panel",4),s.TgZ(91,"mat-expansion-panel-header"),s.TgZ(92,"mat-panel-title"),s._uU(93),s.qZA(),s.qZA(),s.TgZ(94,"div",24),s.TgZ(95,"mat-table",6,7),s.ynx(97,8),s.YNc(98,Js,2,0,"mat-header-cell",30),s.YNc(99,Os,2,4,"mat-cell",31),s.BQk(),s.ynx(100,26),s.YNc(101,Is,2,0,"mat-header-cell",12),s.YNc(102,Qs,3,3,"mat-cell",13),s.BQk(),s.ynx(103,32),s.YNc(104,Ys,2,0,"mat-header-cell",12),s.YNc(105,Rs,3,3,"mat-cell",13),s.BQk(),s.ynx(106,33),s.YNc(107,Ms,2,0,"mat-header-cell",12),s.YNc(108,Ps,3,3,"mat-cell",13),s.BQk(),s.ynx(109,15),s.YNc(110,Es,2,0,"mat-header-cell",12),s.YNc(111,Bs,3,3,"mat-cell",13),s.BQk(),s.ynx(112,16),s.YNc(113,Hs,2,0,"mat-header-cell",27),s.YNc(114,Gs,3,0,"mat-cell",28),s.BQk(),s.ynx(115,35),s.YNc(116,zs,2,1,"td",20),s.BQk(),s.YNc(117,$s,1,3,"tr",21),s.YNc(118,Xs,1,0,"mat-header-row",22),s.YNc(119,js,1,0,"mat-row",23),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(2),s.AsE("Total Limbo Balance: ",s.lcZ(3,30,t.pendingChannels.total_limbo_balance)," ",null==t.information?null:t.information.smaller_currency_unit,""),s.xp6(3),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(4),s.hij("Pending Open (",t.pendingOpenChannelsLength,")"),s.xp6(2),s.Q6J("dataSource",t.pendingOpenChannels)("ngClass",s.VKq(32,Ks,"error"===t.flgLoading[0])),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(34,el)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedOpenColumns),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedOpenColumns),s.xp6(1),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(4),s.hij("Pending Force Closing (",t.pendingForceClosingChannelsLength,")"),s.xp6(2),s.Q6J("dataSource",t.pendingForceClosingChannels)("ngClass",s.VKq(35,tl,"error"===t.flgLoading[0])),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(37,nl)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedForceClosingColumns),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedForceClosingColumns),s.xp6(1),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(4),s.hij("Pending Closing (",t.pendingClosingChannelsLength,")"),s.xp6(2),s.Q6J("dataSource",t.pendingClosingChannels)("ngClass",s.VKq(38,tl,"error"===t.flgLoading[0])),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(40,al)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedClosingColumns),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedClosingColumns),s.xp6(1),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(4),s.hij("Waiting Close (",t.pendingWaitClosingChannelsLength,")"),s.xp6(2),s.Q6J("dataSource",t.pendingWaitClosingChannels)("ngClass",s.VKq(41,tl,"error"===t.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(43,il)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedWaitClosingColumns),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedWaitClosingColumns))},directives:[l.xw,tt.pp,a.O5,tt.ib,tt.yz,tt.yK,l.Wh,l.yH,Q.$V,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk,q.lW],pipes:[a.JJ],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 10%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr.mat-footer-row[_ngcontent-%COMP%] td.mat-footer-cell[_ngcontent-%COMP%]{border-bottom:none}"]}),e})();function sl(e,t){1&e&&s._UZ(0,"mat-progress-bar",28)}function ll(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Close Type "),s.qZA())}function rl(e,t){if(1&e&&(s.TgZ(0,"td",30),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("matTooltip",n.channelClosureType[e.close_type].tooltip),s.xp6(1),s.hij("",n.channelClosureType[e.close_type].name," ")}}function cl(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Peer "),s.qZA())}const ul=function(e){return{"max-width":e}};function dl(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,ul,n.screenSize===n.screenSizeEnum.XS?"10rem":"20rem")),s.xp6(1),s.hij(" ",e.remote_alias," ")}}function pl(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Capacity "),s.qZA())}function hl(e,t){if(1&e&&(s.TgZ(0,"td",33),s.TgZ(1,"span",34),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,e.capacity)," ")}}function ml(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Close Height "),s.qZA())}function gl(e,t){if(1&e&&(s.TgZ(0,"td",33),s.TgZ(1,"span",34),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,e.close_height)," ")}}function fl(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Settled Balance "),s.qZA())}function xl(e,t){if(1&e&&(s.TgZ(0,"td",33),s.TgZ(1,"span",34),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,e.settled_balance)," ")}}function Zl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",35),s.TgZ(1,"div",36),s.TgZ(2,"mat-select",37),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",38),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function yl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",39),s.TgZ(1,"span",34),s.TgZ(2,"button",40),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onClosedChannelClick(n,t)}),s._uU(3,"View Info"),s.qZA(),s.qZA(),s.qZA()}}function Al(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No closed channels available."),s.qZA())}function bl(e,t){if(1&e&&(s.TgZ(0,"td",41),s.YNc(1,Al,2,0,"p",42),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.closedChannels&&e.closedChannels.data)||(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)<1)}}const Tl=function(e){return{"display-none":e}};function wl(e,t){if(1&e&&s._UZ(0,"tr",43),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Tl,(null==e.closedChannels?null:e.closedChannels.data)&&(null==e.closedChannels||null==e.closedChannels.data?null:e.closedChannels.data.length)>0))}}function _l(e,t){1&e&&s._UZ(0,"tr",44)}function vl(e,t){1&e&&s._UZ(0,"tr",45)}const ql=function(e){return{"error-border":e}},Cl=function(){return["no_closed_channel"]};let Ll=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.store=t,this.actions$=n,this.commonService=a,this.channelClosureType=f.HW,this.faHistory=g.qO$,this.displayedColumns=[],this.closedChannelsData=[],this.flgLoading=[!0],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unsub=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["remote_alias","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["close_type","remote_alias","settled_balance","actions"]):(this.flgSticky=!0,this.displayedColumns=["close_type","remote_alias","capacity","close_height","settled_balance","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unsub[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels/closed"===e.action&&(this.flgLoading[0]="error")}),this.closedChannelsData=e.closedChannels,this.closedChannelsData.length>0&&this.loadClosedChannelsTable(this.closedChannelsData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.closedChannels),this.logger.info(e)})}ngAfterViewInit(){this.closedChannelsData.length>0&&this.loadClosedChannelsTable(this.closedChannelsData)}applyFilter(e){this.closedChannels.filter=e.value.trim().toLowerCase()}onClosedChannelClick(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Closed Channel Information",message:[[{key:"close_type",value:this.channelClosureType[e.close_type].name,title:"Close Type",width:30,type:f.Gi.STRING},{key:"settled_balance",value:e.settled_balance,title:"Settled Balance",width:30,type:f.Gi.NUMBER},{key:"time_locked_balance",value:e.time_locked_balance,title:"Time Locked Balance",width:40,type:f.Gi.NUMBER}],[{key:"chan_id",value:e.chan_id,title:"Channel ID",width:30},{key:"capacity",value:e.capacity,title:"Capacity",width:30,type:f.Gi.NUMBER},{key:"close_height",value:e.close_height,title:"Close Height",width:40,type:f.Gi.NUMBER}],[{key:"remote_alias",value:e.remote_alias,title:"Peer Alias",width:30},{key:"remote_pubkey",value:e.remote_pubkey,title:"Peer Public Key",width:70}],[{key:"channel_point",value:e.channel_point,title:"Channel Point",width:100}],[{key:"closing_tx_hash",value:e.closing_tx_hash,title:"Closing Transaction Hash",width:100,type:f.Gi.STRING}]]}}))}loadClosedChannelsTable(e){this.closedChannels=new re.by([...e]),this.closedChannels.sort=this.sort,this.closedChannels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.closedChannels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.closedChannels.paginator=this.paginator,this.logger.info(this.closedChannels)}onDownloadCSV(){this.closedChannels.data&&this.closedChannels.data.length>0&&this.commonService.downloadFile(this.closedChannels.data,"Closed-channels")}ngOnDestroy(){this.unsub.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-closed-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Channels")}])],decls:33,vars:13,consts:[["fxLayout","column"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","close_type"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"matTooltip",4,"matCellDef"],["matColumnDef","remote_alias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","capacity"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","close_height"],["matColumnDef","settled_balance"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["matColumnDef","no_closed_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"matTooltip"],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-1"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,sl,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,ll,2,0,"th",10),s.YNc(11,rl,2,2,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,cl,2,0,"th",10),s.YNc(14,dl,2,4,"td",13),s.BQk(),s.ynx(15,14),s.YNc(16,pl,2,0,"th",15),s.YNc(17,hl,4,3,"td",16),s.BQk(),s.ynx(18,17),s.YNc(19,ml,2,0,"th",15),s.YNc(20,gl,4,3,"td",16),s.BQk(),s.ynx(21,18),s.YNc(22,fl,2,0,"th",15),s.YNc(23,xl,4,3,"td",16),s.BQk(),s.ynx(24,19),s.YNc(25,Zl,6,0,"th",20),s.YNc(26,yl,4,0,"td",21),s.BQk(),s.ynx(27,22),s.YNc(28,bl,2,1,"td",23),s.BQk(),s.YNc(29,wl,1,3,"tr",24),s.YNc(30,_l,1,0,"tr",25),s.YNc(31,vl,1,0,"tr",26),s.qZA(),s.qZA(),s._UZ(32,"mat-paginator",27),s.qZA()),2&e&&(s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.closedChannels)("ngClass",s.VKq(10,ql,"error"===t.flgLoading[0])),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(12,Cl)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,O.gM,a.PC,L.Zl,me.gD,me.$L,fe.ey,q.lW,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-close_type[_ngcontent-%COMP%]{flex:0 0 16%;min-width:5rem}.mat-column-remote_alias[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function Sl(e,t){1&e&&s._UZ(0,"mat-progress-bar",27)}function kl(e,t){1&e&&(s.TgZ(0,"th",28),s._uU(1,"Amount (Sats)"),s.qZA())}function Fl(e,t){if(1&e&&(s.TgZ(0,"span",33),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.lcZ(2,1,null==e?null:e.amount)," ")}}function Ul(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Fl,3,3,"span",32),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Nl(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",30),s._uU(2),s.qZA(),s.YNc(3,Ul,2,1,"span",31),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" Active HTLCs: ",null==e||null==e.pending_htlcs?null:e.pending_htlcs.length," "),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Dl(e,t){1&e&&(s.TgZ(0,"th",28),s._uU(1,"Alias/Incoming"),s.qZA())}function Jl(e,t){if(1&e&&(s.TgZ(0,"span",30),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null!=e&&e.incoming?"Yes":"No"," ")}}function Ol(e,t){if(1&e&&(s.ynx(0),s.YNc(1,Jl,2,1,"span",34),s.BQk()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Il(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",30),s._uU(2),s.qZA(),s.YNc(3,Ol,2,1,"ng-container",31),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(null==e?null:e.remote_alias),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Ql(e,t){1&e&&(s.TgZ(0,"th",35),s.TgZ(1,"span",36),s._uU(2,"Expiration Height"),s.qZA(),s.qZA())}function Yl(e,t){if(1&e&&(s.TgZ(0,"span",36),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",s.xi3(2,1,null==e?null:e.expiration_height,"1.0-0")," ")}}function Rl(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,Yl,3,4,"span",37),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Ml(e,t){if(1&e&&(s.TgZ(0,"td",29),s.TgZ(1,"span",36),s._uU(2),s.qZA(),s.YNc(3,Rl,2,1,"span",31),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(" "),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Pl(e,t){1&e&&(s.TgZ(0,"th",38),s.TgZ(1,"span",36),s._uU(2,"Hash Lock"),s.qZA(),s.qZA())}function El(e,t){if(1&e&&(s.TgZ(0,"span",36),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.hash_lock," ")}}function Bl(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,El,2,1,"span",37),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Hl(e,t){if(1&e&&(s.TgZ(0,"td",39),s.TgZ(1,"span",36),s._uU(2),s.qZA(),s.YNc(3,Bl,2,1,"span",31),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(" "),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function Gl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",40),s.TgZ(1,"div",41),s.TgZ(2,"mat-select",42),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",43),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Vl(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",45),s.TgZ(1,"button",48),s.NdJ("click",function(){const t=s.CHM(e).$implicit,n=s.oxw(2).$implicit;return s.oxw().onHTLCClick(t,n)}),s._uU(2),s.qZA(),s.qZA()}if(2&e){const e=t.index;s.xp6(2),s.hij("View ",e+1,"")}}function zl(e,t){if(1&e&&(s.TgZ(0,"div"),s.YNc(1,Vl,3,1,"div",47),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Q6J("ngForOf",null==e?null:e.pending_htlcs)}}function Wl(e,t){if(1&e&&(s.TgZ(0,"td",44),s.TgZ(1,"span",45),s.TgZ(2,"button",46),s.NdJ("click",function(){const e=t.$implicit;return e.is_expanded=!e.is_expanded}),s._uU(3),s.qZA(),s.qZA(),s.YNc(4,zl,2,1,"div",31),s.qZA()),2&e){const e=t.$implicit;s.xp6(3),s.Oqu(e.is_expanded?"Hide":"Show"),s.xp6(1),s.Q6J("ngIf",e.is_expanded)}}function $l(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No active htlc available."),s.qZA())}function Xl(e,t){if(1&e&&(s.TgZ(0,"td",49),s.YNc(1,$l,2,0,"p",31),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)}}const jl=function(e){return{"display-none":e}};function Kl(e,t){if(1&e&&s._UZ(0,"tr",50),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,jl,(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function er(e,t){1&e&&s._UZ(0,"tr",51)}function tr(e,t){1&e&&s._UZ(0,"tr",52)}const nr=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},ar=function(){return["no_channel"]};let ir=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.flgLoading=[!0],this.channelsJSONArr=[],this.displayedColumns=[],this.htlcColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["amount","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["amount","incoming","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["amount","incoming","expiration_height","actions"]):(this.flgSticky=!0,this.displayedColumns=["amount","incoming","expiration_height","hash_lock","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchChannels/all"===e.action&&(this.flgLoading[0]="error")}),this.channelsJSONArr=e.allChannels&&e.allChannels.length>0?e.allChannels.filter(e=>e.pending_htlcs&&e.pending_htlcs.length>0):[],this.loadHTLCsTable(this.channelsJSONArr),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.channelsJSONArr),this.logger.info(e)})}ngAfterViewInit(){this.loadHTLCsTable(this.channelsJSONArr)}onHTLCClick(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"HTLC Information",message:[[{key:"remote_alias",value:t.remote_alias,title:"Alias",width:100,type:f.Gi.STRING}],[{key:"amount",value:e.amount,title:"Amount (Sats)",width:50,type:f.Gi.NUMBER},{key:"incoming",value:e.incoming?"Yes":"No",title:"Incoming",width:50,type:f.Gi.STRING}],[{key:"expiration_height",value:e.expiration_height,title:"Expiration Height",width:50,type:f.Gi.NUMBER},{key:"hash_lock",value:e.hash_lock,title:"Hash Lock",width:50,type:f.Gi.STRING}]]}}))}onChannelClick(e,t){this.store.dispatch(new G.wu({data:{channel:e,showCopy:!0,component:ci}}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadHTLCsTable(e){this.channels=new re.by(e?[...e]:[]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>{switch(t){case"amount":return this.commonService.sortByKey(e.pending_htlcs,t,"number",this.sort.direction),e.pending_htlcs&&e.pending_htlcs.length?e.pending_htlcs.length:null;case"incoming":return this.commonService.sortByKey(e.pending_htlcs,t,"boolean",this.sort.direction),e.remote_alias?e.remote_alias:e.remote_pubkey?e.remote_pubkey:null;case"expiration_height":case"hash_lock":return this.commonService.sortByKey(e.pending_htlcs,t,"number",this.sort.direction),e;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.channels.paginator=this.paginator,this.channels.filterPredicate=(e,t)=>((e.remote_alias?e.remote_alias.toLowerCase():"")+e.pending_htlcs.map(e=>JSON.stringify(e)+(e.incoming?"yes":"no"))).includes(t)}onDownloadCSV(){this.channels.data&&this.channels.data.length>0&&this.commonService.downloadFile(this.flattenHTLCs(),"ActiveHTLCs")}flattenHTLCs(){return JSON.parse(JSON.stringify(this.channels.data)).reduce((e,t)=>e.concat(t.pending_htlcs?t.pending_htlcs:t),[])}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-active-htlcs-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("HTLCs")}])],decls:30,vars:13,consts:[["fxLayout","column",1,"padding-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","fxFlex","100","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","incoming"],["matColumnDef","expiration_height"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","hash_lock"],["mat-header-cell","","mat-sort-header","","arrowPosition","before","class","pl-3 htlc-row-span",4,"matHeaderCellDef"],["mat-cell","","class","pl-3",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","px-2",4,"matHeaderCellDef"],["mat-cell","","class","px-2",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayoutAlign","start center",1,"htlc-row-span"],[4,"ngIf"],["fxLayoutAlign","start center","class","htlc-row-span pl-3",4,"ngFor","ngForOf"],["fxLayoutAlign","start center",1,"htlc-row-span","pl-3"],["fxLayoutAlign","start center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",1,"htlc-row-span"],["fxLayoutAlign","end center","class","htlc-row-span",4,"ngFor","ngForOf"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",1,"pl-3","htlc-row-span"],["mat-cell","",1,"pl-3"],["mat-header-cell","",1,"px-2"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","",1,"px-2"],["fxLayoutAlign","end center"],["mat-flat-button","","color","primary","type","button","tabindex","5",1,"btn-htlc-expand",3,"click"],["fxLayoutAlign","end center",4,"ngFor","ngForOf"],["mat-stroked-button","","color","primary","type","button","tabindex","6",1,"btn-htlc-info",3,"click"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"div",2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"input",4),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.YNc(6,Sl,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,kl,2,0,"th",10),s.YNc(11,Nl,4,2,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,Dl,2,0,"th",10),s.YNc(14,Il,4,2,"td",11),s.BQk(),s.ynx(15,13),s.YNc(16,Ql,3,0,"th",14),s.YNc(17,Ml,4,2,"td",11),s.BQk(),s.ynx(18,15),s.YNc(19,Pl,3,0,"th",16),s.YNc(20,Hl,4,2,"td",17),s.BQk(),s.ynx(21,18),s.YNc(22,Gl,6,0,"th",19),s.YNc(23,Wl,5,2,"td",20),s.BQk(),s.ynx(24,21),s.YNc(25,Xl,2,1,"td",22),s.BQk(),s.YNc(26,Kl,1,3,"tr",23),s.YNc(27,er,1,0,"tr",24),s.YNc(28,tr,1,0,"tr",25),s.qZA(),s.qZA(),s._UZ(29,"mat-paginator",26),s.qZA()),2&e&&(s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(10,nr,"error"===t.flgLoading[0])),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(12,ar)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.sg,me.gD,me.$L,fe.ey,q.lW,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-amount[_ngcontent-%COMP%], .mat-column-expiration_height[_ngcontent-%COMP%]{flex:0 0 30%;width:30%}.mat-column-hash_lock[_ngcontent-%COMP%], .mat-column-incoming[_ngcontent-%COMP%]{flex:0 0 25%;width:25%;text-overflow:ellipsis}.htlc-row-span[_ngcontent-%COMP%]{min-height:4.2rem}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}.mat-column-actions[_ngcontent-%COMP%] .btn-htlc-expand[_ngcontent-%COMP%]{width:9rem}.mat-column-actions[_ngcontent-%COMP%] .btn-htlc-info[_ngcontent-%COMP%]{margin-top:.5rem;width:9rem}"]}),e})();function or(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Wallet password is required."),s.qZA())}let sr=(()=>{class e{constructor(e){this.store=e,this.walletPassword=""}ngOnInit(){this.walletPassword=""}onUnlockWallet(){if(!this.walletPassword)return!0;this.store.dispatch(new G.Fk("Unlocking...")),this.store.dispatch(new x.l8({pwd:window.btoa(this.walletPassword)}))}resetData(){this.walletPassword=""}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-unlock-wallet"]],decls:12,vars:2,consts:[["fxLayout","column",1,"padding-gap","mb-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","type","password","placeholder","Password","name","walletPassword","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","3",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1),s.TgZ(2,"mat-form-field",2),s.TgZ(3,"input",3),s.NdJ("ngModelChange",function(e){return t.walletPassword=e}),s.qZA(),s.TgZ(4,"mat-hint"),s._uU(5,"Enter Wallet Password"),s.qZA(),s.YNc(6,or,2,0,"mat-error",4),s.qZA(),s.TgZ(7,"div",5),s.TgZ(8,"button",6),s.NdJ("click",function(){return t.resetData()}),s._uU(9,"Clear Field"),s.qZA(),s.TgZ(10,"button",7),s.NdJ("click",function(){return t.onUnlockWallet()}),s._uU(11,"Unlock Wallet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngModel",t.walletPassword),s.xp6(3),s.Q6J("ngIf",!t.walletPassword))},directives:[l.xw,ue._Y,ue.JL,ue.F,l.Wh,J.KE,l.yH,de.Nt,ue.Fj,pe.h,ue.Q7,ue.JJ,ue.On,J.bx,a.O5,q.lW,J.TO],styles:[""]}),e})();var lr=n(8544);function rr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div"),s.TgZ(1,"form",4),s.TgZ(2,"div",5),s._uU(3,"Warning: Your connection is unsecure, it's not safe to generate private keys over this connection.Are you sure you want to proceed?"),s.qZA(),s.TgZ(4,"div",6),s.TgZ(5,"button",7),s.NdJ("click",function(){s.CHM(e);const t=s.oxw();return t.proceed=!1,t.warnRes=!0}),s._uU(6,"Do Not Proceed"),s.qZA(),s.TgZ(7,"button",8),s.NdJ("click",function(){s.CHM(e);const t=s.oxw();return t.proceed=!0,t.warnRes=!0}),s._uU(8,"Proceed"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function cr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",9),s.TgZ(1,"div",10),s._uU(2,"Please re-configure & re-start RTL after securing your LND connction. You can close this window now."),s.qZA(),s.TgZ(3,"div",6),s.TgZ(4,"button",11),s.NdJ("click",function(){return s.CHM(e),s.oxw().warnRes=!1}),s._uU(5,"Go Back"),s.qZA(),s.qZA(),s.qZA()}}function ur(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Password is required."),s.qZA())}function dr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Password must be at least 8 characters in length."),s.qZA())}function pr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Confirm password is required."),s.qZA())}function hr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Confirm password must be at least 8 characters in length."),s.qZA())}function mr(e,t){1&e&&(s.TgZ(0,"div",41),s.TgZ(1,"mat-icon",42),s._uU(2,"cancel"),s.qZA(),s._uU(3,"Passwords do not match. "),s.qZA())}function gr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Cipher seed is required."),s.qZA())}function fr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Invalid Cipher. Enter comma separated 24 words cipher seed."),s.qZA())}function xr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Passphrase is required."),s.qZA())}function Zr(e,t){1&e&&(s.TgZ(0,"mat-icon"),s._uU(1,"vpn_key"),s.qZA())}function yr(e,t){1&e&&(s.TgZ(0,"mat-icon"),s._uU(1,"swap_calls"),s.qZA())}function Ar(e,t){1&e&&(s.TgZ(0,"mat-icon"),s._uU(1,"fingerprint"),s.qZA())}function br(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-vertical-stepper",12,13),s.TgZ(2,"mat-step",14),s.TgZ(3,"form",15),s.TgZ(4,"mat-form-field",16),s._UZ(5,"input",17),s.TgZ(6,"mat-hint"),s._uU(7,"Enter Wallet Password"),s.qZA(),s.YNc(8,ur,2,0,"mat-error",1),s.YNc(9,dr,2,0,"mat-error",1),s.qZA(),s.TgZ(10,"mat-form-field",16),s._UZ(11,"input",18),s.TgZ(12,"mat-hint"),s._uU(13,"Confirm Wallet Password"),s.qZA(),s.YNc(14,pr,2,0,"mat-error",1),s.YNc(15,hr,2,0,"mat-error",1),s.qZA(),s.YNc(16,mr,4,0,"div",19),s.TgZ(17,"div",20),s.TgZ(18,"button",21),s._uU(19,"Next"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(20,"mat-step",22),s.TgZ(21,"form",23),s.TgZ(22,"div",24),s.TgZ(23,"mat-slide-toggle",25),s._uU(24,"Existing Cipher"),s.qZA(),s.TgZ(25,"mat-form-field",26),s._UZ(26,"input",27),s.TgZ(27,"mat-hint"),s._uU(28,"Cipher Seed"),s.qZA(),s.YNc(29,gr,2,0,"mat-error",1),s.YNc(30,fr,2,0,"mat-error",1),s.qZA(),s.qZA(),s.TgZ(31,"div",28),s.TgZ(32,"button",29),s._uU(33,"Back"),s.qZA(),s.TgZ(34,"button",30),s._uU(35,"Next"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(36,"mat-step",31),s.TgZ(37,"form",23),s.TgZ(38,"div",24),s.TgZ(39,"mat-slide-toggle",32),s._uU(40,"Existing Passphrase"),s.qZA(),s.TgZ(41,"mat-form-field",33),s._UZ(42,"input",34),s.TgZ(43,"mat-hint"),s._uU(44,"Enter Passphrase"),s.qZA(),s.YNc(45,xr,2,0,"mat-error",1),s.qZA(),s.qZA(),s.TgZ(46,"div",28),s.TgZ(47,"button",35),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(48,"Clear"),s.qZA(),s.TgZ(49,"button",36),s._uU(50,"Back"),s.qZA(),s.TgZ(51,"button",37),s.NdJ("click",function(){return s.CHM(e),s.oxw().onInitWallet()}),s._uU(52,"Initialize Wallet"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.YNc(53,Zr,2,0,"ng-template",38),s.YNc(54,yr,2,0,"ng-template",39),s.YNc(55,Ar,2,0,"ng-template",40),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("linear",!0),s.xp6(2),s.Q6J("stepControl",e.passwordFormGroup),s.xp6(1),s.Q6J("formGroup",e.passwordFormGroup),s.xp6(5),s.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletPassword.errors?null:e.passwordFormGroup.controls.initWalletPassword.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletPassword.errors?null:e.passwordFormGroup.controls.initWalletPassword.errors.minlength),s.xp6(5),s.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletConfirmPassword.errors?null:e.passwordFormGroup.controls.initWalletConfirmPassword.errors.required),s.xp6(1),s.Q6J("ngIf",null==e.passwordFormGroup.controls.initWalletConfirmPassword.errors?null:e.passwordFormGroup.controls.initWalletConfirmPassword.errors.minlength),s.xp6(1),s.Q6J("ngIf",(null==e.passwordFormGroup.errors?null:e.passwordFormGroup.errors.unmatchedPasswords)&&(e.passwordFormGroup.controls.initWalletPassword.touched||e.passwordFormGroup.controls.initWalletPassword.dirty)&&(e.passwordFormGroup.controls.initWalletConfirmPassword.touched||e.passwordFormGroup.controls.initWalletConfirmPassword.dirty)),s.xp6(4),s.Q6J("stepControl",e.cipherFormGroup),s.xp6(1),s.Q6J("formGroup",e.cipherFormGroup),s.xp6(2),s.Q6J("labelPosition","before"),s.xp6(6),s.Q6J("ngIf",null==e.cipherFormGroup.controls.cipherSeed.errors?null:e.cipherFormGroup.controls.cipherSeed.errors.required),s.xp6(1),s.Q6J("ngIf",!(null!=e.cipherFormGroup.controls.cipherSeed.errors&&e.cipherFormGroup.controls.cipherSeed.errors.required)&&(null==e.cipherFormGroup.controls.cipherSeed.errors?null:e.cipherFormGroup.controls.cipherSeed.errors.invalidCipher)),s.xp6(6),s.Q6J("stepControl",e.passphraseFormGroup),s.xp6(1),s.Q6J("formGroup",e.passphraseFormGroup),s.xp6(2),s.Q6J("labelPosition","before"),s.xp6(6),s.Q6J("ngIf",null==e.passphraseFormGroup.controls.passphrase.errors?null:e.passphraseFormGroup.controls.passphrase.errors.required)}}function Tr(e,t){if(1&e&&(s.TgZ(0,"span",48),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(e)}}function wr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div"),s.TgZ(1,"form",4),s.TgZ(2,"div",43),s._uU(3,"YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!"),s.qZA(),s.TgZ(4,"div",44),s.YNc(5,Tr,2,1,"span",45),s.qZA(),s.TgZ(6,"div",46),s._uU(7,"Wallet initialization is done."),s.qZA(),s.TgZ(8,"div",46),s._uU(9,"The node will be usable only after LND has synced completely with the network."),s.qZA(),s.TgZ(10,"div",46),s._uU(11,"Click continue only after writing down the seed."),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"button",47),s.NdJ("click",function(){return s.CHM(e),s.oxw().onGoToHome()}),s._uU(14,"Go To Home"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(5),s.Q6J("ngForOf",e.genSeedResponse)}}function _r(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div"),s.TgZ(1,"form",4),s.TgZ(2,"div",46),s._uU(3,"Something went wrong! Unable to initialize wallet!"),s.qZA(),s.TgZ(4,"div",6),s.TgZ(5,"button",49),s.NdJ("click",function(){return s.CHM(e),s.oxw().resetData()}),s._uU(6,"Restart"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function vr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div"),s.TgZ(1,"form",4),s.TgZ(2,"div",46),s._uU(3,"Wallet recovery is done."),s.qZA(),s.TgZ(4,"div",46),s._uU(5,"The node will be usable only after LND has synced completely with the network."),s.qZA(),s.TgZ(6,"div",6),s.TgZ(7,"button",50),s.NdJ("click",function(){return s.CHM(e),s.oxw().onGoToHome()}),s._uU(8,"Go To Home"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}const qr=e=>{const t=e.get("initWalletPassword"),n=e.get("initWalletConfirmPassword");return t&&n&&t.value!==n.value?{unmatchedPasswords:!0}:null},Cr=e=>{const t=e.value?e.value.toString().trim().split(","):[];return t&&24!==t.length?{invalidCipher:!0}:null};let Lr=(()=>{class e{constructor(e,t,n,a){this.store=e,this.formBuilder=t,this.lndEffects=n,this.router=a,this.insecureLND=!1,this.genSeedResponse=[],this.initWalletResponse="",this.proceed=!0,this.warnRes=!1,this.unsubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.passwordFormGroup=this.formBuilder.group({initWalletPassword:["",[ue.kI.required,ue.kI.minLength(8)]],initWalletConfirmPassword:["",[ue.kI.required,ue.kI.minLength(8)]]},{validators:qr}),this.cipherFormGroup=this.formBuilder.group({existingCipher:[!1],cipherSeed:[{value:"",disabled:!0},[Cr]]}),this.passphraseFormGroup=this.formBuilder.group({enterPassphrase:[!1],passphrase:[{value:"",disabled:!0}]}),this.cipherFormGroup.controls.existingCipher.valueChanges.pipe((0,p.R)(this.unsubs[0])).subscribe(e=>{e?(this.cipherFormGroup.controls.cipherSeed.setValue(""),this.cipherFormGroup.controls.cipherSeed.enable()):(this.cipherFormGroup.controls.cipherSeed.setValue(""),this.cipherFormGroup.controls.cipherSeed.disable())}),this.passphraseFormGroup.controls.enterPassphrase.valueChanges.pipe((0,p.R)(this.unsubs[1])).subscribe(e=>{e?(this.passphraseFormGroup.controls.passphrase.setValue(""),this.passphraseFormGroup.controls.passphrase.enable()):(this.passphraseFormGroup.controls.passphrase.setValue(""),this.passphraseFormGroup.controls.passphrase.disable())}),this.insecureLND=!window.location.protocol.includes("https:"),this.lndEffects.initWalletRes.pipe((0,p.R)(this.unsubs[2])).subscribe(e=>{this.initWalletResponse=e}),this.lndEffects.genSeedResponse.pipe((0,p.R)(this.unsubs[3])).subscribe(e=>{this.genSeedResponse=e,this.store.dispatch(new x.My(this.passphraseFormGroup.controls.enterPassphrase.value?{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:this.genSeedResponse,passphrase:window.btoa(this.passphraseFormGroup.controls.passphrase.value)}:{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:this.genSeedResponse}))})}onInitWallet(){if(this.passwordFormGroup.invalid||this.cipherFormGroup.invalid||this.passphraseFormGroup.invalid)return!0;if(this.store.dispatch(new G.Fk("Initializing...")),this.cipherFormGroup.controls.existingCipher.value){const e=this.cipherFormGroup.controls.cipherSeed.value.toString().trim().split(",");this.store.dispatch(new x.My(this.passphraseFormGroup.controls.enterPassphrase.value?{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:e,passphrase:window.btoa(this.passphraseFormGroup.controls.passphrase.value)}:{pwd:window.btoa(this.passwordFormGroup.controls.initWalletPassword.value),cipher:e}))}else this.store.dispatch(new x.$b(this.passphraseFormGroup.controls.enterPassphrase.value?window.btoa(this.passphraseFormGroup.controls.passphrase.value):""))}onGoToHome(){setTimeout(()=>{this.store.dispatch(new G.uQ),this.store.dispatch(new x.z6({loadPage:"HOME"}))},1e3)}resetData(){this.genSeedResponse=[],this.initWalletResponse=""}ngOnDestroy(){this.unsubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(ue.qu),s.Y36(gt.l),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-initialize-wallet"]],viewQuery:function(e,t){if(1&e&&s.Gf(ha.Vq,5),2&e){let e;s.iGM(e=s.CRH())&&(t.stepper=e.first)}},features:[s._Bn([{provide:lr.gx,useValue:{displayDefaultIndicatorType:!1}}])],decls:7,vars:6,consts:[["fxLayout","column",1,"padding-gap","mb-4"],[4,"ngIf"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","stretch stretch",4,"ngIf"],[3,"linear",4,"ngIf"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","1","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","2",3,"click"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","stretch stretch"],["fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",3,"click"],[3,"linear"],["stepper",""],["label","Wallet Password","state","password",3,"stepControl"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"mt-1",3,"formGroup"],["fxFlex","49","fxLayoutAlign","start"],["matInput","","type","password","placeholder","Password","name","initWalletPassword","formControlName","initWalletPassword","tabindex","5","required",""],["matInput","","type","password","placeholder","Confirm Password","name","initWalletConfirmPassword","formControlName","initWalletConfirmPassword","tabindex","6","required",""],["class","validation-error-message",4,"ngIf"],["fxLayout","row",1,"my-2"],["mat-flat-button","","color","primary","tabindex","7","type","submit","matStepperNext",""],["label","Cipher","state","cipher",3,"stepControl"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start",1,"mt-1",3,"formGroup"],["fxFlex","100","fxLayout","column","fxLayoutAlign","start stretch"],["fxFlex","20","tabindex","8","color","primary","formControlName","existingCipher","name","existingCipher",1,"chkbox-wallet",3,"labelPosition"],["fxFlex","75","fxLayoutAlign","start",1,"my-1"],["autofocus","","matInput","","type","input","placeholder","Comma separated array of 24 words cipher seed","name","cipherSeed","formControlName","cipherSeed","tabindex","9","required",""],["fxLayout","row",1,"mb-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","10","matStepperPrevious","",1,"mr-1","mt-1"],["mat-flat-button","","color","primary","tabindex","11","type","submit","matStepperNext","",1,"mt-1"],["label","Passphrase","state","passphrase",3,"stepControl"],["fxFlex","20","tabindex","10","color","primary","formControlName","enterPassphrase","name","enterPassphrase",1,"chkbox-wallet",3,"labelPosition"],["fxFlex","75","fxLayoutAlign","start"],["matInput","","type","input","type","password","placeholder","Passphrase","name","passphrase","formControlName","passphrase","tabindex","12","required",""],["mat-stroked-button","","color","warn","tabindex","13","type","reset",1,"mr-1","mt-1",3,"click"],["mat-stroked-button","","tabindex","14","color","primary","type","button","matStepperPrevious","",1,"mr-1","mt-1"],["mat-flat-button","","color","primary","tabindex","15","type","submit",1,"mt-1",3,"click"],["matStepperIcon","password"],["matStepperIcon","cipher"],["matStepperIcon","passphrase"],[1,"validation-error-message"],[1,"validation-error-icon","red"],["fxFlex","100","fxLayoutAlign","start",1,"blinker"],["fxFlex","40","fxLayout","row wrap",1,"mt-2"],["fxFlex","25","fxLayoutAlign","start","class","genseed-message",4,"ngFor","ngForOf"],["fxFlex","100","fxLayoutAlign","start",1,"mt-2"],["mat-flat-button","","color","primary","type","submit","tabindex","16",3,"click"],["fxFlex","25","fxLayoutAlign","start",1,"genseed-message"],["mat-stroked-button","","color","primary","tabindex","17","type","reset",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","18",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,rr,9,0,"div",1),s.YNc(2,cr,6,0,"div",2),s.YNc(3,br,56,17,"mat-vertical-stepper",3),s.YNc(4,wr,15,1,"div",1),s.YNc(5,_r,7,0,"div",1),s.YNc(6,vr,9,0,"div",1),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf",t.insecureLND&&!t.warnRes),s.xp6(1),s.Q6J("ngIf",t.warnRes&&!t.proceed),s.xp6(1),s.Q6J("ngIf",(!t.insecureLND||t.warnRes&&t.proceed)&&t.genSeedResponse.length<=0&&""===t.initWalletResponse),s.xp6(1),s.Q6J("ngIf",t.genSeedResponse.length>0&&""!==t.initWalletResponse),s.xp6(1),s.Q6J("ngIf",t.genSeedResponse.length>0&&""===t.initWalletResponse),s.xp6(1),s.Q6J("ngIf",t.genSeedResponse.length<=0&&""!==t.initWalletResponse))},directives:[l.xw,a.O5,ue._Y,ue.JL,ue.F,l.Wh,l.yH,q.lW,ha.Vq,ha.C0,ue.sg,J.KE,de.Nt,ue.Fj,ue.JJ,ue.u,ue.Q7,J.bx,ha.Ic,ge.Rr,ha.fd,ha.z9,J.TO,C.Hw,a.sg],styles:[""]}),e})(),Sr=(()=>{class e{constructor(){this.faWallet=g.X5K}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-wallet"]],decls:12,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["label","Unlock"],["label","Initialize"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Wallet"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"mat-tab-group"),s.TgZ(8,"mat-tab",5),s._UZ(9,"rtl-unlock-wallet"),s.qZA(),s.TgZ(10,"mat-tab",6),s._UZ(11,"rtl-initialize-wallet"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faWallet))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,oe.SP,oe.uX,sr,Lr],styles:[""]}),e})();function kr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",11),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let Fr=(()=>{class e{constructor(e,t,n){this.logger=e,this.store=t,this.router=n,this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.currencyUnits=[],this.balances=[{title:"Local Capacity",dataValue:0,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:0,tooltip:"Amount you can receive"}],this.links=[{link:"payments",name:"Payments"},{link:"invoices",name:"Invoices"},{link:"queryroutes",name:"Query Routes"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link}),this.store.select("lnd").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.currencyUnits=e.nodeSettings.currencyUnits,this.balances=e.nodeSettings.userPersona===f.ol.OPERATOR?[{title:"Local Capacity",dataValue:e.totalLocalBalance,tooltip:"Amount you can send"},{title:"Remote Capacity",dataValue:e.totalRemoteBalance,tooltip:"Amount you can receive"}]:[{title:"Outbound Capacity",dataValue:e.totalLocalBalance,tooltip:"Amount you can send"},{title:"Inbound Capacity",dataValue:e.totalRemoteBalance,tooltip:"Amount you can receive"}],this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-transactions"]],decls:19,vars:4,consts:[["fxLayout","row wrap","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Lightning Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",6),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"Lightning Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",7),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",8),s.YNc(16,kr,2,3,"div",9),s.qZA(),s.TgZ(17,"div",10),s._UZ(18,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,En.D,oe.BU,a.sg,l.yH,i.lC,oe.Nj,i.rH],styles:[""]}),e})();function Ur(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Destination pubkey is required."),s.qZA())}function Nr(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function Dr(e,t){1&e&&s._UZ(0,"mat-progress-bar",37)}function Jr(e,t){1&e&&(s.TgZ(0,"th",38),s._uU(1," Hop "),s.qZA())}function Or(e,t){if(1&e&&(s.TgZ(0,"td",39),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.hop_sequence," ")}}function Ir(e,t){1&e&&(s.TgZ(0,"th",38),s._uU(1," Peer "),s.qZA())}const Qr=function(e){return{"max-width":e}};function Yr(e,t){if(1&e&&(s.TgZ(0,"td",40),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Qr,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.hij(" ",null==e?null:e.pubkey_alias," ")}}function Rr(e,t){1&e&&(s.TgZ(0,"th",38),s._uU(1," Channel "),s.qZA())}function Mr(e,t){if(1&e&&(s.TgZ(0,"td",39),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.chan_id," ")}}function Pr(e,t){1&e&&(s.TgZ(0,"th",41),s._uU(1," Capacity (Sats) "),s.qZA())}function Er(e,t){if(1&e&&(s.TgZ(0,"td",39),s.TgZ(1,"span",42),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.chan_capacity),"")}}function Br(e,t){1&e&&(s.TgZ(0,"th",41),s._uU(1," Amount To Fwd (Sats) "),s.qZA())}function Hr(e,t){if(1&e&&(s.TgZ(0,"td",39),s.TgZ(1,"span",42),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.amt_to_forward)," ")}}function Gr(e,t){1&e&&(s.TgZ(0,"th",41),s._uU(1," Fee (mSats) "),s.qZA())}function Vr(e,t){if(1&e&&(s.TgZ(0,"td",39),s.TgZ(1,"span",42),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.fee_msat)," ")}}function zr(e,t){1&e&&(s.TgZ(0,"th",43),s.TgZ(1,"span",42),s._uU(2,"Actions"),s.qZA(),s.qZA())}function Wr(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",44),s.TgZ(1,"button",45),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onHopClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function $r(e,t){1&e&&s._UZ(0,"tr",46)}function Xr(e,t){1&e&&s._UZ(0,"tr",47)}const jr=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}};let Kr=(()=>{class e{constructor(e,t,n){this.store=e,this.lndEffects=t,this.commonService=n,this.destinationPubkey="",this.amount=null,this.flgSticky=!1,this.displayedColumns=[],this.flgLoading=[!1],this.faRoute=g.FpQ,this.faExclamationTriangle=g.eHv,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["pubkey_alias","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["hop_sequence","pubkey_alias","fee_msat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat","actions"]):(this.flgSticky=!0,this.displayedColumns=["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat","actions"])}ngOnInit(){this.lndEffects.setQueryRoutes.pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.qrHops=new re.by([]),this.qrHops.data=[],e.routes&&e.routes[0].hops?(this.flgLoading[0]=!1,this.qrHops=new re.by([...e.routes[0].hops]),this.qrHops.data=e.routes[0].hops):this.flgLoading[0]="error",this.qrHops.sort=this.sort,this.qrHops.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null})}onQueryRoutes(){if(!this.destinationPubkey||!this.amount)return!0;this.flgLoading[0]=!0,this.store.dispatch(new x.bm({destPubkey:this.destinationPubkey,amount:this.amount}))}resetData(){this.destinationPubkey="",this.amount=null,this.flgLoading[0]=!1}onHopClick(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Route Information",message:[[{key:"hop_sequence",value:e.hop_sequence,title:"Sequence",width:30,type:f.Gi.NUMBER},{key:"amt_to_forward",value:e.amt_to_forward,title:"Amount To Forward (Sats)",width:30,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:40,type:f.Gi.NUMBER}],[{key:"pubkey_alias",value:e.pubkey_alias,title:"Peer Alias",width:30,type:f.Gi.STRING},{key:"pub_key",value:e.pub_key,title:"Peer Pubkey",width:70,type:f.Gi.STRING}],[{key:"expiry",value:e.expiry,title:"Expiry",width:30,type:f.Gi.NUMBER},{key:"chan_id",value:e.chan_id,title:"Channel ID",width:30,type:f.Gi.STRING},{key:"chan_capacity",value:e.chan_capacity,title:"Channel Capacity",width:40,type:f.Gi.NUMBER}]]}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(gt.l),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-query-routes"]],viewQuery:function(e,t){if(1&e&&s.Gf(le.YE,5),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first)}},decls:51,vars:16,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",3,"ngSubmit"],["queryRoutesForm","ngForm"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","69","fxLayoutAlign","start end"],["matInput","","placeholder","Destination Pubkey","name","destinationPubkey","tabindex","1","required","",3,"ngModel","ngModelChange"],["destPubkey","ngModel"],[4,"ngIf"],["fxFlex","29","fxLayoutAlign","start end"],["matInput","","placeholder","Amount (Sats)","name","amount","tabindex","2","type","number","required","",3,"ngModel","step","min","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70","fxLayoutAlign","start center"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"table-container","mb-6",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","hop_sequence"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","pubkey_alias"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","chan_id"],["matColumnDef","chan_capacity"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_to_forward_msat"],["matColumnDef","fee_msat"],["matColumnDef","actions"],["mat-header-cell","","class","pl-4 pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-4",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pl-4","pr-3"],["mat-cell","",1,"pl-4"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.NdJ("ngSubmit",function(){return s.CHM(e),s.MAs(2).form.valid&&t.onQueryRoutes()}),s.TgZ(3,"div",3),s._UZ(4,"fa-icon",4),s.TgZ(5,"span"),s._uU(6,"The actual routing fee on a payment can be different from the fee shown on query routes."),s.qZA(),s.qZA(),s.TgZ(7,"mat-form-field",5),s.TgZ(8,"input",6,7),s.NdJ("ngModelChange",function(e){return t.destinationPubkey=e}),s.qZA(),s.YNc(10,Ur,2,0,"mat-error",8),s.qZA(),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(e){return t.amount=e}),s.qZA(),s.YNc(13,Nr,2,0,"mat-error",8),s.qZA(),s.TgZ(14,"div",11),s.TgZ(15,"button",12),s.NdJ("click",function(){return t.resetData()}),s._uU(16,"Clear"),s.qZA(),s.TgZ(17,"button",13),s._uU(18,"Query Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"div",14),s.TgZ(20,"div",15),s._UZ(21,"fa-icon",16),s.TgZ(22,"span",17),s._uU(23,"Transaction Route"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(24,"div",18),s.YNc(25,Dr,1,0,"mat-progress-bar",19),s.TgZ(26,"table",20,21),s.ynx(28,22),s.YNc(29,Jr,2,0,"th",23),s.YNc(30,Or,2,1,"td",24),s.BQk(),s.ynx(31,25),s.YNc(32,Ir,2,0,"th",23),s.YNc(33,Yr,2,4,"td",26),s.BQk(),s.ynx(34,27),s.YNc(35,Rr,2,0,"th",23),s.YNc(36,Mr,2,1,"td",24),s.BQk(),s.ynx(37,28),s.YNc(38,Pr,2,0,"th",29),s.YNc(39,Er,4,3,"td",24),s.BQk(),s.ynx(40,30),s.YNc(41,Br,2,0,"th",29),s.YNc(42,Hr,4,3,"td",24),s.BQk(),s.ynx(43,31),s.YNc(44,Gr,2,0,"th",29),s.YNc(45,Vr,4,3,"td",24),s.BQk(),s.ynx(46,32),s.YNc(47,zr,3,0,"th",33),s.YNc(48,Wr,3,0,"td",34),s.BQk(),s.YNc(49,$r,1,0,"tr",35),s.YNc(50,Xr,1,0,"tr",36),s.qZA(),s.qZA(),s.qZA()}2&e&&(s.xp6(4),s.Q6J("icon",t.faExclamationTriangle),s.xp6(4),s.Q6J("ngModel",t.destinationPubkey),s.xp6(2),s.Q6J("ngIf",!t.destinationPubkey),s.xp6(2),s.Q6J("ngModel",t.amount)("step",1e3)("min",0),s.xp6(1),s.Q6J("ngIf",!t.amount),s.xp6(8),s.Q6J("icon",t.faRoute),s.xp6(4),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.qrHops)("ngClass",s.VKq(14,jr,"error"===t.flgLoading[0])),s.xp6(23),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns))},directives:[l.xw,l.yH,ue._Y,ue.JL,ue.F,l.Wh,T.BN,J.KE,de.Nt,ue.Fj,ue.Q7,ue.JJ,ue.On,a.O5,ue.wV,ue.qQ,he.q,q.lW,Q.$V,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.as,re.nj,J.TO,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{flex:0 0 5%;width:5%}.mat-column-pubkey_alias[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var ec=n(4810);function tc(e,t){1&e&&(s.TgZ(0,"th",25),s._uU(1,"Network"),s.qZA())}function nc(e,t){if(1&e&&(s.TgZ(0,"td",26),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.network," ")}}function ac(e,t){1&e&&(s.TgZ(0,"th",25),s._uU(1,"Address"),s.qZA())}function ic(e,t){if(1&e&&(s.TgZ(0,"td",26),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.hij(" ",null==e?null:e.addr," ")}}function oc(e,t){1&e&&(s.TgZ(0,"th",27),s.TgZ(1,"span",28),s._uU(2,"Actions"),s.qZA(),s.qZA())}function sc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",29),s.TgZ(1,"span",28),s.TgZ(2,"button",30),s.NdJ("copied",function(t){return s.CHM(e),s.oxw(2).onCopyNodeURI(t)}),s._uU(3,"Copy Node URI"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw(2);s.xp6(2),s.Q6J("payload",n.lookupResult.node.pub_key+"@"+e.addr)}}function lc(e,t){1&e&&s._UZ(0,"tr",31)}function rc(e,t){1&e&&s._UZ(0,"tr",32)}const cc=function(e){return{"background-color":e}};function uc(e,t){if(1&e&&(s.TgZ(0,"div",1),s._UZ(1,"mat-divider",2),s.TgZ(2,"div",3),s.TgZ(3,"h4",4),s._uU(4,"Pub Key"),s.qZA(),s.TgZ(5,"span",5),s._uU(6),s.qZA(),s.qZA(),s._UZ(7,"mat-divider",6),s.TgZ(8,"div",7),s.TgZ(9,"div",8),s.TgZ(10,"h4",4),s._uU(11,"Alias"),s.qZA(),s.TgZ(12,"span",9),s._uU(13),s.TgZ(14,"span",10),s._uU(15),s.qZA(),s.qZA(),s.qZA(),s.TgZ(16,"div",8),s.TgZ(17,"h4",4),s._uU(18,"Last Update"),s.qZA(),s.TgZ(19,"span",9),s._uU(20),s.ALo(21,"date"),s.qZA(),s.qZA(),s.qZA(),s._UZ(22,"mat-divider",6),s.TgZ(23,"div",7),s.TgZ(24,"div",8),s.TgZ(25,"h4",4),s._uU(26,"Total Capacity (Sats)"),s.qZA(),s.TgZ(27,"span",9),s._uU(28),s.ALo(29,"number"),s.qZA(),s.qZA(),s.TgZ(30,"div",8),s.TgZ(31,"h4",4),s._uU(32,"Number of Channels"),s.qZA(),s.TgZ(33,"span",9),s._uU(34),s.ALo(35,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(36,"mat-divider",6),s.TgZ(37,"div",11),s.TgZ(38,"h4",12),s._uU(39,"Addresses"),s.qZA(),s.TgZ(40,"div",13),s.TgZ(41,"table",14,15),s.ynx(43,16),s.YNc(44,tc,2,0,"th",17),s.YNc(45,nc,2,1,"td",18),s.BQk(),s.ynx(46,19),s.YNc(47,ac,2,0,"th",17),s.YNc(48,ic,2,1,"td",18),s.BQk(),s.ynx(49,20),s.YNc(50,oc,3,0,"th",21),s.YNc(51,sc,4,1,"td",22),s.BQk(),s.YNc(52,lc,1,0,"tr",23),s.YNc(53,rc,1,0,"tr",24),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.node.pub_key),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(e.lookupResult.node.alias),s.xp6(1),s.Q6J("ngStyle",s.VKq(21,cc,null==e.lookupResult.node?null:e.lookupResult.node.color)),s.xp6(1),s.Oqu(null==e.lookupResult.node?null:e.lookupResult.node.color),s.xp6(5),s.Oqu(s.xi3(21,14,1e3*e.lookupResult.node.last_update,"dd/MMM/YYYY HH:mm")),s.xp6(2),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.lcZ(29,17,e.lookupResult.total_capacity)),s.xp6(6),s.Oqu(s.lcZ(35,19,e.lookupResult.num_channels)),s.xp6(2),s.Q6J("inset",!0),s.xp6(5),s.Q6J("dataSource",e.lookupResult.node.addresses),s.xp6(11),s.Q6J("matHeaderRowDef",e.displayedColumns),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}let dc=(()=>{class e{constructor(e,t){this.logger=e,this.snackBar=t,this.displayedColumns=["network","addr","actions"]}onCopyNodeURI(e){this.snackBar.open("Node URI copied."),this.logger.info("Copied Text: "+e)}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(ti.ux))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-node-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text","w-100"],[1,"my-1",3,"inset"],["fxLayout","row"],["fxLayout","column","fxFlex","50","fxLayoutAlign","end start",1,"my-1"],[1,"foreground-secondary-text"],[1,"ml-2",3,"ngStyle"],["fxLayout","column",1,"mt-2"],["fxFlex","100","fxLayoutAlign","start",1,"font-bold-500","mb-1"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","matSort","",3,"dataSource"],["table",""],["matColumnDef","network"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","addr"],["matColumnDef","actions"],["mat-header-cell","","class","pl-1",4,"matHeaderCellDef"],["mat-cell","","class","pl-1",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","",1,"pl-1"],["fxLayoutAlign","end center"],["mat-cell","",1,"pl-1"],["mat-stroked-button","","color","primary","type","button","tabindex","1","rtlClipboard","",3,"payload","copied"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&s.YNc(0,uc,54,23,"div",0),2&e&&s.Q6J("ngIf",t.lookupResult)},directives:[a.O5,l.xw,I.d,l.yH,l.Wh,a.PC,L.Zl,Q.$V,re.BZ,le.YE,re.w1,re.fO,re.Dz,re.as,re.nj,re.ge,le.nU,re.ev,q.lW,ni.y,re.XQ,re.Gk],pipes:[a.uU,a.JJ],styles:[""]}),e})();function pc(e,t){1&e&&(s.TgZ(0,"h3",16),s._uU(1,"Node 1"),s.qZA())}function hc(e,t){1&e&&(s.TgZ(0,"h3",16),s._uU(1,"Node 1 (Your Node)"),s.qZA())}function mc(e,t){1&e&&(s.TgZ(0,"h3",16),s._uU(1,"Node 2"),s.qZA())}function gc(e,t){1&e&&(s.TgZ(0,"h3",16),s._uU(1,"Node 2 (Your Node)"),s.qZA())}function fc(e,t){if(1&e&&(s.TgZ(0,"div",1),s._UZ(1,"mat-divider",2),s.TgZ(2,"div",3),s.TgZ(3,"h4",4),s._uU(4,"Channel Id"),s.qZA(),s.TgZ(5,"span",5),s._uU(6),s.qZA(),s.qZA(),s._UZ(7,"mat-divider",6),s.TgZ(8,"div",3),s.TgZ(9,"h4",4),s._uU(10,"Channel Point"),s.qZA(),s.TgZ(11,"span",5),s._uU(12),s.qZA(),s.qZA(),s._UZ(13,"mat-divider",6),s.TgZ(14,"div",7),s.TgZ(15,"div",8),s.TgZ(16,"h4",4),s._uU(17,"Last Update"),s.qZA(),s.TgZ(18,"span",5),s._uU(19),s.ALo(20,"date"),s.qZA(),s.qZA(),s.TgZ(21,"div",8),s.TgZ(22,"h4",4),s._uU(23,"Capacity (Sats)"),s.qZA(),s.TgZ(24,"span",5),s._uU(25),s.ALo(26,"number"),s.qZA(),s.qZA(),s.qZA(),s._UZ(27,"mat-divider",6),s.TgZ(28,"div",9),s.TgZ(29,"div",10),s.TgZ(30,"div",11),s.YNc(31,pc,2,0,"h3",12),s.YNc(32,hc,2,0,"h3",12),s.qZA(),s._UZ(33,"mat-divider",13),s.TgZ(34,"div",14),s.TgZ(35,"h4",4),s._uU(36,"Pubkey"),s.qZA(),s.TgZ(37,"span",5),s._uU(38),s.qZA(),s.qZA(),s._UZ(39,"mat-divider",13),s.TgZ(40,"div",15),s.TgZ(41,"h4",4),s._uU(42,"Time Lock Delta"),s.qZA(),s.TgZ(43,"span",5),s._uU(44),s.qZA(),s.qZA(),s._UZ(45,"mat-divider",13),s.TgZ(46,"div",15),s.TgZ(47,"h4",4),s._uU(48,"Min HTLC"),s.qZA(),s.TgZ(49,"span",5),s._uU(50),s.qZA(),s.qZA(),s._UZ(51,"mat-divider",13),s.TgZ(52,"div",15),s.TgZ(53,"h4",4),s._uU(54,"Fee Base Msat"),s.qZA(),s.TgZ(55,"span",5),s._uU(56),s.qZA(),s.qZA(),s._UZ(57,"mat-divider",13),s.TgZ(58,"div",15),s.TgZ(59,"h4",4),s._uU(60,"Fee Rate Milli Msat"),s.qZA(),s.TgZ(61,"span",5),s._uU(62),s.qZA(),s.qZA(),s._UZ(63,"mat-divider",13),s.TgZ(64,"div",15),s.TgZ(65,"h4",4),s._uU(66,"Disabled"),s.qZA(),s.TgZ(67,"span",5),s._uU(68),s.qZA(),s.qZA(),s.qZA(),s.TgZ(69,"div",10),s.TgZ(70,"div"),s.YNc(71,mc,2,0,"h3",12),s.YNc(72,gc,2,0,"h3",12),s.qZA(),s._UZ(73,"mat-divider",13),s.TgZ(74,"div",14),s.TgZ(75,"h4",4),s._uU(76,"Pubkey"),s.qZA(),s.TgZ(77,"span",5),s._uU(78),s.qZA(),s.qZA(),s._UZ(79,"mat-divider",13),s.TgZ(80,"div",15),s.TgZ(81,"h4",4),s._uU(82,"Time Lock Delta"),s.qZA(),s.TgZ(83,"span",5),s._uU(84),s.qZA(),s.qZA(),s._UZ(85,"mat-divider",13),s.TgZ(86,"div",15),s.TgZ(87,"h4",4),s._uU(88,"Min HTLC"),s.qZA(),s.TgZ(89,"span",5),s._uU(90),s.qZA(),s.qZA(),s._UZ(91,"mat-divider",13),s.TgZ(92,"div",15),s.TgZ(93,"h4",4),s._uU(94,"Fee Base Msat"),s.qZA(),s.TgZ(95,"span",5),s._uU(96),s.qZA(),s.qZA(),s._UZ(97,"mat-divider",13),s.TgZ(98,"div",15),s.TgZ(99,"h4",4),s._uU(100,"Fee Rate Milli Msat"),s.qZA(),s.TgZ(101,"span",5),s._uU(102),s.qZA(),s.qZA(),s._UZ(103,"mat-divider",13),s.TgZ(104,"div",15),s.TgZ(105,"h4",4),s._uU(106,"Disabled"),s.qZA(),s.TgZ(107,"span",5),s._uU(108),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.channel_id),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.chan_point),s.xp6(1),s.Q6J("inset",!0),s.xp6(6),s.Oqu(s.xi3(20,36,1e3*e.lookupResult.last_update,"dd/MMM/YYYY HH:mm")),s.xp6(6),s.Oqu(s.lcZ(26,39,e.lookupResult.capacity)),s.xp6(2),s.Q6J("inset",!0),s.xp6(4),s.Q6J("ngIf",!e.node1_match),s.xp6(1),s.Q6J("ngIf",e.node1_match),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.node1_pub),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.time_lock_delta),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.min_htlc),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.fee_base_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.fee_rate_milli_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node1_policy?null:e.lookupResult.node1_policy.disabled),s.xp6(3),s.Q6J("ngIf",!e.node2_match),s.xp6(1),s.Q6J("ngIf",e.node2_match),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(e.lookupResult.node2_pub),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.time_lock_delta),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.min_htlc),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.fee_base_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.fee_rate_milli_msat),s.xp6(1),s.Q6J("inset",!0),s.xp6(5),s.Oqu(null==e.lookupResult.node2_policy?null:e.lookupResult.node2_policy.disabled)}}let xc=(()=>{class e{constructor(e){this.store=e,this.node1_match=!1,this.node2_match=!1,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.lookupResult.node1_pub===e.information.identity_pubkey&&(this.node1_match=!0),this.lookupResult.node2_pub===e.information.identity_pubkey&&(this.node2_match=!0)})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-lookup"]],inputs:{lookupResult:"lookupResult"},decls:1,vars:1,consts:[["fxLayout","column","class","mt-1",4,"ngIf"],["fxLayout","column",1,"mt-1"],[1,"mb-1",3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end start",1,"my-1"],[1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"my-1",3,"inset"],["fxLayout","row"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","50","fxLayoutAlign","end start",1,"my-1"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start",1,"mt-1","bordered-box","padding-gap-large"],["fxLayout","column"],["class","page-title font-bold-500",4,"ngIf"],[3,"inset"],["fxLayout","column","fxFlex","20",1,"my-1"],["fxLayout","column","fxFlex","10",1,"my-1"],[1,"page-title","font-bold-500"]],template:function(e,t){1&e&&s.YNc(0,fc,109,41,"div",0),2&e&&s.Q6J("ngIf",t.lookupResult)},directives:[a.O5,l.xw,I.d,l.yH,l.Wh],pipes:[a.uU,a.JJ],styles:[".mat-list-base[_ngcontent-%COMP%] .mat-list-item[_ngcontent-%COMP%], .mat-list-base[_ngcontent-%COMP%] .mat-list-option[_ngcontent-%COMP%]{height:38px!important}"]}),e})();const Zc=["form"];function yc(e,t){if(1&e&&(s.TgZ(0,"mat-radio-button",20),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("value",e.id)("checked",n.selectedFieldId===e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Ac(e,t){if(1&e&&(s.TgZ(0,"mat-error"),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.hij("",null==e.lookupFields[e.selectedFieldId]?null:e.lookupFields[e.selectedFieldId].placeholder," is required.")}}function bc(e,t){if(1&e&&(s.TgZ(0,"span",27),s._UZ(1,"rtl-node-lookup",28),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("lookupResult",e.lookupValue)}}function Tc(e,t){if(1&e&&(s.TgZ(0,"span",27),s._UZ(1,"rtl-channel-lookup",28),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("lookupResult",e.lookupValue)}}function wc(e,t){1&e&&(s.TgZ(0,"span",27),s.TgZ(1,"h3"),s._uU(2,"Error! Unable to find details!"),s.qZA(),s.qZA())}function _c(e,t){if(1&e&&(s.TgZ(0,"div",21),s.TgZ(1,"div",22),s.TgZ(2,"span",23),s._uU(3),s.qZA(),s.qZA(),s.TgZ(4,"div",24),s.YNc(5,bc,2,1,"span",25),s.YNc(6,Tc,2,1,"span",25),s.YNc(7,wc,3,0,"span",26),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(3),s.hij("",e.lookupFields[e.selectedFieldId].name," Details"),s.xp6(1),s.Q6J("ngSwitch",e.selectedFieldId),s.xp6(1),s.Q6J("ngSwitchCase",0),s.xp6(1),s.Q6J("ngSwitchCase",1)}}const vc=function(e){return{"mt-2":e}};let qc=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.actions$=a,this.lookupKey="",this.lookupValue={},this.flgSetLookupValue=!1,this.messageObj=[],this.selectedFieldId=0,this.lookupFields=[{id:0,name:"Node",placeholder:"Pubkey"},{id:1,name:"Channel",placeholder:"Channel ID"}],this.flgLoading=[!0],this.faSearch=g.wn1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.actions$.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e.type===x.RP||e.type===x.hL)).subscribe(e=>{e.type===x.RP&&(this.flgLoading[0]=!0,this.lookupValue=JSON.parse(JSON.stringify(e.payload)),this.flgSetLookupValue=!0,this.logger.info(this.lookupValue)),e.type===x.hL&&"Lookup"===e.payload.action&&(this.flgLoading[0]="error")})}onLookup(){if(!this.lookupKey)return!0;switch(this.flgSetLookupValue=!1,this.lookupValue={},this.store.dispatch(new G.Fk("Searching "+this.lookupFields[this.selectedFieldId].name+"...")),this.selectedFieldId){case 0:this.store.dispatch(new x.x$(this.lookupKey.trim()));break;case 1:this.store.dispatch(new x.IG(this.lookupKey.trim()))}}onSelectChange(e){this.resetData(),this.selectedFieldId=e.value}resetData(){this.form.resetForm(),this.flgSetLookupValue=!1,this.selectedFieldId=0,this.lookupKey="",this.lookupValue={},this.flgLoading.forEach((e,t)=>{this.flgLoading[t]=!0})}clearLookupValue(){this.lookupValue={},this.flgSetLookupValue=!1}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-lookups"]],viewQuery:function(e,t){if(1&e&&s.Gf(Zc,7),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:23,vars:10,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start space-between",1,"w-100"],["form","ngForm"],["fxFlex","35","fxFlex.gt-md","25","fxLayoutAlign","start end"],["color","primary","tabindex","1","name","lookupField",3,"ngModel","ngModelChange","change"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],["fxFlex","65","fxFlex.gt-md","75","fxLayoutAlign","start end",3,"ngClass"],["matInput","","name","lookupKey","tabindex","2","required","",3,"placeholder","ngModel","change","ngModelChange"],["key",""],[4,"ngIf"],[1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch","class","w-100 mt-2",4,"ngIf"],[1,"mr-4",3,"value","checked"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mt-2"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],[1,"page-title","font-bold-500"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",3,"ngSwitch"],["fxFlex","100",4,"ngSwitchCase"],["fxFlex","100",4,"ngSwitchDefault"],["fxFlex","100"],[3,"lookupResult"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Graph Lookups"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"form",7,8),s.TgZ(10,"div",9),s.TgZ(11,"mat-radio-group",10),s.NdJ("ngModelChange",function(e){return t.selectedFieldId=e})("change",function(e){return t.onSelectChange(e)}),s.YNc(12,yc,2,3,"mat-radio-button",11),s.qZA(),s.qZA(),s.TgZ(13,"mat-form-field",12),s.TgZ(14,"input",13,14),s.NdJ("change",function(){return t.clearLookupValue()})("ngModelChange",function(e){return t.lookupKey=e}),s.qZA(),s.YNc(16,Ac,2,1,"mat-error",15),s.qZA(),s.TgZ(17,"div",16),s.TgZ(18,"button",17),s.NdJ("click",function(){return t.resetData()}),s._uU(19,"Clear"),s.qZA(),s.TgZ(20,"button",18),s.NdJ("click",function(){return t.onLookup()}),s._uU(21,"Lookup"),s.qZA(),s.qZA(),s.qZA(),s.YNc(22,_c,8,4,"div",19),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(2),s.Q6J("icon",t.faSearch),s.xp6(9),s.Q6J("ngModel",t.selectedFieldId),s.xp6(1),s.Q6J("ngForOf",t.lookupFields),s.xp6(1),s.Q6J("ngClass",s.VKq(8,vc,t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM)),s.xp6(1),s.Q6J("placeholder",(null==t.lookupFields[t.selectedFieldId]?null:t.lookupFields[t.selectedFieldId].placeholder)||"Lookup Key")("ngModel",t.lookupKey),s.xp6(2),s.Q6J("ngIf",!t.lookupKey),s.xp6(6),s.Q6J("ngIf",t.lookupValue&&t.flgSetLookupValue))},directives:[l.xw,l.Wh,T.BN,l.yH,_.a8,_.dn,ue._Y,ue.JL,ue.F,ec.VQ,ue.JJ,ue.On,a.sg,J.KE,a.mk,L.oO,de.Nt,ue.Fj,ue.Q7,a.O5,q.lW,ec.U0,J.TO,a.RF,a.n9,a.ED,dc,xc],styles:[".tree-invisible[_ngcontent-%COMP%]{display:none}.lookup-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .lookup-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.pl-3[_ngcontent-%COMP%]{padding-left:3rem}"]}),e})();var Cc=n(5812);function Lc(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Invalid date format."),s.qZA())}function Sc(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Invalid date format."),s.qZA())}function kc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",27),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let Fc=(()=>{class e{constructor(e,t){this.store=e,this.router=t,this.faMapSigns=g.SuH,this.today=new Date(Date.now()),this.lastMonthDay=new Date(this.today.getFullYear(),this.today.getMonth()-1,this.today.getDate()+1,0,0,0),this.yesterday=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate()-1,0,0,0),this.endDate=this.today,this.startDate=this.lastMonthDay,this.links=[{link:"forwardinghistory",name:"Forwarding History"},{link:"peers",name:"Routing Peers"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x]}ngOnInit(){this.onEventsFetch();let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}onEventsFetch(){this.store.dispatch(new x.Fn({})),this.endDate||(this.endDate=this.today),this.startDate||(this.startDate=new Date(this.endDate.getFullYear(),this.endDate.getMonth()-1,this.endDate.getDate()+1,0,0,0)),this.store.dispatch(new x.KK({end_time:Math.round(this.endDate.getTime()/1e3).toString(),start_time:Math.round(this.startDate.getTime()/1e3).toString()}))}resetData(){this.endDate=this.today,this.startDate=this.lastMonthDay}ngOnDestroy(){this.resetData(),this.store.dispatch(new x.Fn({})),this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-routing"]],decls:35,vars:15,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"card-content-gap","mt-1"],["fxFlex","100","fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"w-100","mb-1",3,"ngSubmit"],["routingForm","ngForm"],["fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","49","fxLayoutAlign","start"],["matInput","","placeholder","Start Date","name","startDate","tabindex","1",3,"matDatepicker","max","ngModel","ngModelChange"],["strtDate","ngModel"],["matSuffix","",3,"for"],[3,"startAt"],["startDatepicker",""],[4,"ngIf"],["matInput","","placeholder","End Date","name","endDate","tabindex","2",3,"matDatepicker","min","max","ngModel","ngModelChange"],["enDate","ngModel"],["endDatepicker",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","4"],["fxLayout","row","fxFlex","100"],["mat-tab-nav-bar","","fxFlex","100"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s._UZ(2,"fa-icon",2),s.TgZ(3,"span",3),s._uU(4,"Routing"),s.qZA(),s.qZA(),s.TgZ(5,"div",4),s.TgZ(6,"mat-card",5),s.TgZ(7,"mat-card-content",6),s.TgZ(8,"form",7,8),s.NdJ("ngSubmit",function(){return t.onEventsFetch()}),s.TgZ(10,"div",9),s.TgZ(11,"mat-form-field",10),s.TgZ(12,"input",11,12),s.NdJ("ngModelChange",function(e){return t.startDate=e}),s.qZA(),s._UZ(14,"mat-datepicker-toggle",13),s._UZ(15,"mat-datepicker",14,15),s.YNc(17,Lc,2,0,"mat-error",16),s.qZA(),s.TgZ(18,"mat-form-field",10),s.TgZ(19,"input",17,18),s.NdJ("ngModelChange",function(e){return t.endDate=e}),s.qZA(),s._UZ(21,"mat-datepicker-toggle",13),s._UZ(22,"mat-datepicker",14,19),s.YNc(24,Sc,2,0,"mat-error",16),s.qZA(),s.qZA(),s.TgZ(25,"div",20),s.TgZ(26,"button",21),s.NdJ("click",function(){return t.resetData()}),s._uU(27,"Clear"),s.qZA(),s.TgZ(28,"button",22),s._uU(29,"Fetch Events"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(30,"div",23),s.TgZ(31,"nav",24),s.YNc(32,kc,2,3,"div",25),s.qZA(),s.qZA(),s.TgZ(33,"div",26),s._UZ(34,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.MAs(13),n=s.MAs(16),a=s.MAs(20),i=s.MAs(23);s.xp6(2),s.Q6J("icon",t.faMapSigns),s.xp6(10),s.Q6J("matDatepicker",n)("max",t.today)("ngModel",t.startDate),s.xp6(2),s.Q6J("for",n),s.xp6(1),s.Q6J("startAt",t.startDate),s.xp6(2),s.Q6J("ngIf",e.errors),s.xp6(2),s.Q6J("matDatepicker",i)("min",t.startDate)("max",t.today)("ngModel",t.endDate),s.xp6(2),s.Q6J("for",i),s.xp6(1),s.Q6J("startAt",t.endDate),s.xp6(2),s.Q6J("ngIf",a.errors),s.xp6(8),s.Q6J("ngForOf",t.links)}},directives:[l.xw,l.Wh,T.BN,l.yH,_.a8,_.dn,ue._Y,ue.JL,ue.F,J.KE,de.Nt,Cc.hl,$n.F,ue.Fj,ue.JJ,ue.On,Cc.nW,J.R9,Cc.Mq,a.O5,he.q,q.lW,oe.BU,a.sg,i.lC,J.TO,oe.Nj,i.rH],styles:[""]}),e})();function Uc(e,t){if(1&e&&(s.TgZ(0,"div",5),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.errorMessage)}}function Nc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",6),s._UZ(1,"div",7),s.TgZ(2,"mat-form-field",8),s.TgZ(3,"input",9),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().filterValue=t})("input",function(){return s.CHM(e),s.oxw().applyFilter()})("keyup",function(){return s.CHM(e),s.oxw().applyFilter()}),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.filterValue)}}function Dc(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1,"Timestamp"),s.qZA())}function Jc(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*e.timestamp,"dd/MMM/YYYY HH:mm"))}}function Oc(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1,"Inbound Channel"),s.qZA())}function Ic(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(e.alias_in)}}function Qc(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1,"Outbound Channel"),s.qZA())}function Yc(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(e.alias_out)}}function Rc(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1,"Inbound Amount (Sats)"),s.qZA())}function Mc(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.amt_in))}}function Pc(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1,"Outbound Amount (Sats)"),s.qZA())}function Ec(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.amt_out))}}function Bc(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1,"Fee (mSats)"),s.qZA())}function Hc(e,t){if(1&e&&(s.TgZ(0,"td",31),s.TgZ(1,"span",33),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.fee_msat))}}function Gc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",34),s.TgZ(1,"div",35),s.TgZ(2,"mat-select",36),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",37),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Vc(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",38),s.TgZ(1,"button",39),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onForwardingEventClick(n,t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function zc(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No forwarding event available."),s.qZA())}function Wc(e,t){if(1&e&&(s.TgZ(0,"td",40),s.YNc(1,zc,2,0,"p",41),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.forwardingHistoryEvents&&e.forwardingHistoryEvents.data)||(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)<1)}}const $c=function(e){return{"display-none":e}};function Xc(e,t){if(1&e&&s._UZ(0,"tr",42),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,$c,(null==e.forwardingHistoryEvents?null:e.forwardingHistoryEvents.data)&&(null==e.forwardingHistoryEvents||null==e.forwardingHistoryEvents.data?null:e.forwardingHistoryEvents.data.length)>0))}}function jc(e,t){1&e&&s._UZ(0,"tr",43)}function Kc(e,t){1&e&&s._UZ(0,"tr",44)}const eu=function(){return["no_event"]};function tu(e,t){if(1&e&&(s.TgZ(0,"div",10),s.TgZ(1,"table",11,12),s.ynx(3,13),s.YNc(4,Dc,2,0,"th",14),s.YNc(5,Jc,3,4,"td",15),s.BQk(),s.ynx(6,16),s.YNc(7,Oc,2,0,"th",14),s.YNc(8,Ic,2,1,"td",15),s.BQk(),s.ynx(9,17),s.YNc(10,Qc,2,0,"th",14),s.YNc(11,Yc,2,1,"td",15),s.BQk(),s.ynx(12,18),s.YNc(13,Rc,2,0,"th",19),s.YNc(14,Mc,4,3,"td",15),s.BQk(),s.ynx(15,20),s.YNc(16,Pc,2,0,"th",19),s.YNc(17,Ec,4,3,"td",15),s.BQk(),s.ynx(18,21),s.YNc(19,Bc,2,0,"th",19),s.YNc(20,Hc,4,3,"td",15),s.BQk(),s.ynx(21,22),s.YNc(22,Gc,6,0,"th",23),s.YNc(23,Vc,3,0,"td",24),s.BQk(),s.ynx(24,25),s.YNc(25,Wc,2,1,"td",26),s.BQk(),s.YNc(26,Xc,1,3,"tr",27),s.YNc(27,jc,1,0,"tr",28),s.YNc(28,Kc,1,0,"tr",29),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("dataSource",e.forwardingHistoryEvents),s.xp6(25),s.Q6J("matFooterRowDef",s.DdM(5,eu)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}const nu=function(e){return{"error-border":e}};let au=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.datePipe=a,this.eventsData=[],this.filterValue="",this.forwardingHistoryData=[],this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["timestamp","fee_msat","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["timestamp","amt_in","amt_out","fee_msat","actions"]):(this.flgSticky=!0,this.displayedColumns=["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat","actions"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.eventsData.length<=0&&(this.errorMessage="",e.effectErrors.forEach(e=>{"GetForwardingHistory"===e.action&&(this.errorMessage="object"==typeof e.message?JSON.stringify(e.message):e.message)}),this.forwardingHistoryData=e.forwardingHistory&&e.forwardingHistory.forwarding_events?e.forwardingHistory.forwarding_events:[],this.loadForwardingEventsTable(this.forwardingHistoryData),this.logger.info(e))})}ngAfterViewInit(){this.forwardingHistoryData.length>0&&this.loadForwardingEventsTable(this.forwardingHistoryData)}ngOnChanges(e){e.eventsData&&(this.eventsData=e.eventsData.currentValue,this.forwardingHistoryData=this.eventsData,e.eventsData.firstChange||this.loadForwardingEventsTable(this.forwardingHistoryData)),e.filterValue&&!e.filterValue.firstChange&&this.applyFilter()}onForwardingEventClick(e,t){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Event Information",message:[[{key:"timestamp",value:e.timestamp,title:"Timestamp",width:25,type:f.Gi.DATE_TIME},{key:"amt_in",value:e.amt_in,title:"Inbound Amount (Sats)",width:25,type:f.Gi.NUMBER},{key:"amt_out",value:e.amt_out,title:"Outbound Amount (Sats)",width:25,type:f.Gi.NUMBER},{key:"fee_msat",value:e.fee_msat,title:"Fee (mSats)",width:25,type:f.Gi.NUMBER}],[{key:"alias_in",value:e.alias_in,title:"Inbound Peer Alias",width:25,type:f.Gi.STRING},{key:"chan_id_in",value:e.chan_id_in,title:"Inbound Channel ID",width:25,type:f.Gi.STRING},{key:"alias_out",value:e.alias_out,title:"Outbound Peer Alias",width:25,type:f.Gi.STRING},{key:"chan_id_out",value:e.chan_id_out,title:"Outbound Channel ID",width:25,type:f.Gi.STRING}]]}}))}loadForwardingEventsTable(e){this.forwardingHistoryEvents=new re.by(e?[...e]:[]),this.forwardingHistoryEvents.sort=this.sort,this.forwardingHistoryEvents.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.forwardingHistoryEvents.filterPredicate=(e,t)=>((e.timestamp?this.datePipe.transform(new Date(1e3*e.timestamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.forwardingHistoryEvents.paginator=this.paginator,this.logger.info(this.forwardingHistoryEvents)}onDownloadCSV(){this.forwardingHistoryEvents&&this.forwardingHistoryEvents.data&&this.forwardingHistoryEvents.data.length>0&&this.commonService.downloadFile(this.forwardingHistoryEvents.data,"Forwarding-history")}applyFilter(){this.forwardingHistoryEvents&&(this.forwardingHistoryEvents.filter=this.filterValue.trim().toLowerCase())}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh),s.Y36(a.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-forwarding-history"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{eventsData:"eventsData",filterValue:"filterValue"},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Events")}]),s.TTD],decls:5,vars:9,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100","class","table-container",3,"perfectScrollbar",4,"ngIf"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[1,"p-2"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","70"],["fxFlex","30"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","column","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","timestamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","alias_in"],["matColumnDef","alias_out"],["matColumnDef","amt_in"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","amt_out"],["matColumnDef","fee_msat"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,Uc,2,1,"div",1),s.YNc(2,Nc,4,1,"div",2),s.YNc(3,tu,29,6,"div",3),s._UZ(4,"mat-paginator",4),s.qZA()),2&e&&(s.Q6J("ngClass",s.VKq(7,nu,""!==t.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,a.mk,L.oO,a.O5,se.NW,l.yH,J.KE,de.Nt,ue.Fj,ue.JJ,ue.On,Q.$V,re.BZ,le.YE,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,re.ge,le.nU,re.ev,me.gD,me.$L,fe.ey,q.lW,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();const iu=["tableOut"];function ou(e,t){if(1&e&&(s.TgZ(0,"div",3),s._uU(1),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Oqu(e.errorMessage)}}function su(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1,"Channel ID"),s.qZA())}const lu=function(e){return{"max-width":e}};function ru(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,lu,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.Oqu(e.chan_id)}}function cu(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1,"Peer Alias"),s.qZA())}function uu(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,lu,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.Oqu(e.alias)}}function du(e,t){1&e&&(s.TgZ(0,"th",36),s._uU(1,"Events"),s.qZA())}function pu(e,t){if(1&e&&(s.TgZ(0,"td",37),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.events))}}function hu(e,t){1&e&&(s.TgZ(0,"th",36),s._uU(1,"Total Amount (Sats)"),s.qZA())}function mu(e,t){if(1&e&&(s.TgZ(0,"td",37),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.total_amount))}}function gu(e,t){1&e&&(s.TgZ(0,"th",39),s.TgZ(1,"span",38),s._uU(2,"Actions"),s.qZA(),s.qZA())}function fu(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",40),s.TgZ(1,"button",41),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onRoutingPeerClick(n,t,"in")}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function xu(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No incoming routing peer available."),s.qZA())}function Zu(e,t){if(1&e&&(s.TgZ(0,"td",42),s.YNc(1,xu,2,0,"p",43),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.RoutingPeersIncoming&&e.RoutingPeersIncoming.data)||(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)<1)}}const yu=function(e){return{"display-none":e}};function Au(e,t){if(1&e&&s._UZ(0,"tr",44),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,yu,(null==e.RoutingPeersIncoming?null:e.RoutingPeersIncoming.data)&&(null==e.RoutingPeersIncoming||null==e.RoutingPeersIncoming.data?null:e.RoutingPeersIncoming.data.length)>0))}}function bu(e,t){1&e&&s._UZ(0,"tr",45)}function Tu(e,t){1&e&&s._UZ(0,"tr",46)}function wu(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1,"Channel ID"),s.qZA())}function _u(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,lu,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.Oqu(e.chan_id)}}function vu(e,t){1&e&&(s.TgZ(0,"th",34),s._uU(1,"Peer Alias"),s.qZA())}function qu(e,t){if(1&e&&(s.TgZ(0,"td",35),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw(2);s.Q6J("ngStyle",s.VKq(2,lu,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.Oqu(e.alias)}}function Cu(e,t){1&e&&(s.TgZ(0,"th",36),s._uU(1,"Events"),s.qZA())}function Lu(e,t){if(1&e&&(s.TgZ(0,"td",37),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.events))}}function Su(e,t){1&e&&(s.TgZ(0,"th",36),s._uU(1,"Total Amount (Sats)"),s.qZA())}function ku(e,t){if(1&e&&(s.TgZ(0,"td",37),s.TgZ(1,"span",38),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.total_amount))}}function Fu(e,t){1&e&&(s.TgZ(0,"th",39),s.TgZ(1,"span",38),s._uU(2,"Actions"),s.qZA(),s.qZA())}function Uu(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",47),s.TgZ(1,"button",48),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw(2).onRoutingPeerClick(n,t,"out")}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function Nu(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No outgoing routing peer available."),s.qZA())}function Du(e,t){if(1&e&&(s.TgZ(0,"td",42),s.YNc(1,Nu,2,0,"p",43),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngIf",!(null!=e.RoutingPeersOutgoing&&e.RoutingPeersOutgoing.data)||(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)<1)}}function Ju(e,t){if(1&e&&s._UZ(0,"tr",44),2&e){const e=s.oxw(2);s.Q6J("ngClass",s.VKq(1,yu,(null==e.RoutingPeersOutgoing?null:e.RoutingPeersOutgoing.data)&&(null==e.RoutingPeersOutgoing||null==e.RoutingPeersOutgoing.data?null:e.RoutingPeersOutgoing.data.length)>0))}}function Ou(e,t){1&e&&s._UZ(0,"tr",45)}function Iu(e,t){1&e&&s._UZ(0,"tr",46)}const Qu=function(e,t){return{"mt-2":e,"mt-1":t}},Yu=function(){return["no_incoming_event"]},Ru=function(e){return{"mt-2":e}},Mu=function(){return["no_outgoing_event"]};function Pu(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",4),s.TgZ(1,"div",5),s.TgZ(2,"div",6),s.TgZ(3,"div",7),s._uU(4,"Incoming"),s.qZA(),s.TgZ(5,"mat-form-field",8),s.TgZ(6,"input",9),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyIncomingFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",10),s.TgZ(8,"table",11,12),s.ynx(10,13),s.YNc(11,su,2,0,"th",14),s.YNc(12,ru,2,4,"td",15),s.BQk(),s.ynx(13,16),s.YNc(14,cu,2,0,"th",14),s.YNc(15,uu,2,4,"td",15),s.BQk(),s.ynx(16,17),s.YNc(17,du,2,0,"th",18),s.YNc(18,pu,4,3,"td",19),s.BQk(),s.ynx(19,20),s.YNc(20,hu,2,0,"th",18),s.YNc(21,mu,4,3,"td",19),s.BQk(),s.ynx(22,21),s.YNc(23,gu,3,0,"th",22),s.YNc(24,fu,3,0,"td",23),s.BQk(),s.ynx(25,24),s.YNc(26,Zu,2,1,"td",25),s.BQk(),s.YNc(27,Au,1,3,"tr",26),s.YNc(28,bu,1,0,"tr",27),s.YNc(29,Tu,1,0,"tr",28),s.qZA(),s.qZA(),s.qZA(),s.TgZ(30,"div",29),s.TgZ(31,"div",6),s.TgZ(32,"div",7),s._uU(33,"Outgoing"),s.qZA(),s.TgZ(34,"mat-form-field",8),s.TgZ(35,"input",9),s.NdJ("keyup",function(t){return s.CHM(e),s.oxw().applyOutgoingFilter(t.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(36,"div",10),s.TgZ(37,"table",30,31),s.ynx(39,13),s.YNc(40,wu,2,0,"th",14),s.YNc(41,_u,2,4,"td",15),s.BQk(),s.ynx(42,16),s.YNc(43,vu,2,0,"th",14),s.YNc(44,qu,2,4,"td",15),s.BQk(),s.ynx(45,17),s.YNc(46,Cu,2,0,"th",18),s.YNc(47,Lu,4,3,"td",19),s.BQk(),s.ynx(48,20),s.YNc(49,Su,2,0,"th",18),s.YNc(50,ku,4,3,"td",19),s.BQk(),s.ynx(51,21),s.YNc(52,Fu,3,0,"th",22),s.YNc(53,Uu,3,0,"td",32),s.BQk(),s.ynx(54,33),s.YNc(55,Du,2,1,"td",25),s.BQk(),s.YNc(56,Ju,1,3,"tr",26),s.YNc(57,Ou,1,0,"tr",27),s.YNc(58,Iu,1,0,"tr",28),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(2),s.Q6J("ngClass",s.WLB(12,Qu,e.screenSize===e.screenSizeEnum.XS,e.screenSize===e.screenSizeEnum.SM)),s.xp6(6),s.Q6J("dataSource",e.RoutingPeersIncoming),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(15,Yu)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns),s.xp6(2),s.Q6J("ngClass",s.VKq(16,Ru,e.screenSize!==e.screenSizeEnum.LG)),s.xp6(6),s.Q6J("dataSource",e.RoutingPeersOutgoing),s.xp6(19),s.Q6J("matFooterRowDef",s.DdM(18,Mu)),s.xp6(1),s.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",e.displayedColumns)}}const Eu=function(e){return{"error-border":e}};let Bu=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.actions$=a,this.routingPeersData=[],this.errorMessage="",this.displayedColumns=[],this.flgSticky=!1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["chan_id","events","actions"]):this.screenSize===f.cu.SM||this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["chan_id","alias","events","total_amount"]):(this.flgSticky=!0,this.displayedColumns=["chan_id","alias","events","total_amount"])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.errorMessage="",e.effectErrors.forEach(e=>{"GetForwardingHistory"===e.action&&(this.errorMessage="object"==typeof e.message?JSON.stringify(e.message):e.message)}),this.routingPeersData=e.forwardingHistory&&e.forwardingHistory.forwarding_events?e.forwardingHistory.forwarding_events:[],this.loadRoutingPeersTable(this.routingPeersData),this.logger.info(e)})}onRoutingPeerClick(e,t,n){let a=" Routing Information";a="in"===n?"Incoming"+a:"Outgoing"+a,this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:a,message:[[{key:"chan_id",value:e.chan_id,title:"Channel ID",width:50,type:f.Gi.STRING},{key:"alias",value:e.alias,title:"Peer Alias",width:50,type:f.Gi.STRING}],[{key:"events",value:e.events,title:"Events",width:50,type:f.Gi.NUMBER},{key:"total_amount",value:e.total_amount,title:"Total Amount (Sats)",width:50,type:f.Gi.NUMBER}]]}}))}loadRoutingPeersTable(e){if(e.length>0){const t=this.groupRoutingPeers(e);this.RoutingPeersIncoming=new re.by(t[0]),this.RoutingPeersIncoming.sort=this.sortIn,this.RoutingPeersIncoming.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.RoutingPeersIncoming),this.RoutingPeersOutgoing=new re.by(t[1]),this.RoutingPeersOutgoing.sort=this.sortOut,this.RoutingPeersOutgoing.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.logger.info(this.RoutingPeersOutgoing)}else this.RoutingPeersIncoming=new re.by([]),this.RoutingPeersOutgoing=new re.by([])}groupRoutingPeers(e){const t=[],n=[];return e.forEach(e=>{const a=t.find(t=>t.chan_id===e.chan_id_in),i=n.find(t=>t.chan_id===e.chan_id_out);a?(a.events++,a.total_amount=+a.total_amount+ +e.amt_in):t.push({chan_id:e.chan_id_in,alias:e.alias_in,events:1,total_amount:+e.amt_in}),i?(i.events++,i.total_amount=+i.total_amount+ +e.amt_out):n.push({chan_id:e.chan_id_out,alias:e.alias_out,events:1,total_amount:+e.amt_out})}),[this.commonService.sortDescByKey(t,"total_amount"),this.commonService.sortDescByKey(n,"total_amount")]}applyIncomingFilter(e){this.RoutingPeersIncoming.filter=e.value.trim().toLowerCase()}applyOutgoingFilter(e){this.RoutingPeersOutgoing.filter=e.value.trim().toLowerCase()}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh),s.Y36(A.eX))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-routing-peers"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(iu,5,le.YE)),2&e){let e;s.iGM(e=s.CRH())&&(t.sortIn=e.first),s.iGM(e=s.CRH())&&(t.sortOut=e.first)}},decls:3,vars:5,consts:[["fxLayout","column","fxLayoutAlign","start stretch",3,"ngClass"],["class","p-2",4,"ngIf"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch","class","page-sub-title-container",4,"ngIf"],[1,"p-2"],["fxLayout","column","fxLayout.gt-md","row","fxFlex","100","fxLayoutAlign","space-between stretch",1,"page-sub-title-container"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start",1,"mb-6"],["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch",1,"page-sub-title-container","w-100",3,"ngClass"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"table-container","w-100",3,"perfectScrollbar"],["mat-table","","matSort","","fxFlex","100",1,"overflow-auto","incoming-table",3,"dataSource"],["tableIn",""],["matColumnDef","chan_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","alias"],["matColumnDef","events"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","total_amount"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-2","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_incoming_event"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],["fxLayout","column","fxFlex","49","fxLayoutAlign","start start"],["mat-table","","matSort","","fxFlex","100",1,"overflow-auto","outgoing-table",3,"dataSource"],["tableOut",""],["mat-cell","","class","pl-2",4,"matCellDef"],["matColumnDef","no_outgoing_event"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"pr-3"],["mat-cell","","fxLayoutAlign","end center",1,"pl-2"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""],["mat-cell","",1,"pl-2"],["mat-stroked-button","","color","primary","type","button","tabindex","5",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,ou,2,1,"div",1),s.YNc(2,Pu,59,19,"div",2),s.qZA()),2&e&&(s.Q6J("ngClass",s.VKq(3,Eu,""!==t.errorMessage)),s.xp6(1),s.Q6J("ngIf",""!==t.errorMessage),s.xp6(1),s.Q6J("ngIf",""===t.errorMessage))},directives:[l.xw,l.Wh,a.mk,L.oO,a.O5,l.yH,J.KE,de.Nt,Q.$V,re.BZ,le.YE,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,re.ge,le.nU,re.ev,a.PC,L.Zl,q.lW,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-alias[_ngcontent-%COMP%], .mat-column-chan_id[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function Hu(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",7),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let Gu=(()=>{class e{constructor(e){this.router=e,this.faChartBar=g.koM,this.links=[{link:"routingfees",name:"Routing Fees"},{link:"transactions",name:"Transactions"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-reports"]],decls:10,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Reports"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,Hu,2,3,"div",6),s.qZA(),s._UZ(9,"router-outlet"),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartBar),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,oe.BU,a.sg,i.lC,oe.Nj,i.rH],styles:[""]}),e})();var Vu=n(4833),zu=n(4018),Wu=n(1905);function $u(e,t){if(1&e&&(s.TgZ(0,"div",8),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw();s.Q6J("@fadeIn",e.events.total_fee_msat),s.xp6(1),s.AsE("",s.xi3(2,3,e.events.total_fee_msat/1e3||0,"1.0-2")," Sats/",s.lcZ(3,6,(null==e.events||null==e.events.forwarding_events?null:e.events.forwarding_events.length)||0)," Events")}}function Xu(e,t){1&e&&(s.TgZ(0,"div",9),s._uU(1,"No fee report for the selected period"),s.qZA())}function ju(e,t){if(1&e&&(s.TgZ(0,"span"),s.TgZ(1,"span",12),s._uU(2),s.ALo(3,"number"),s.qZA(),s.TgZ(4,"span",12),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA()),2&e){const e=t.model;s.xp6(2),s.hij("Events: ",s.lcZ(3,2,e.extra.totalEvents||0),""),s.xp6(3),s.hij("Fee: ",s.xi3(6,4,e.value||0,"1.0-2"),"")}}function Ku(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical",10),s.NdJ("select",function(t){return s.CHM(e),s.oxw().onChartBarSelected(t)})("mouseup",function(t){return s.CHM(e),s.oxw().onChartMouseUp(t)}),s.YNc(1,ju,7,7,"ng-template",null,11,s.W1O),s.qZA()}if(2&e){const e=s.oxw();s.Q6J("view",e.view)("results",e.feeReportData)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)}}function ed(e,t){if(1&e&&s._UZ(0,"rtl-forwarding-history",13),2&e){const e=s.oxw();s.Q6J("eventsData",null==e.events?null:e.events.forwarding_events)("filterValue",e.eventFilterValue)}}let td=(()=>{class e{constructor(e,t,n){this.dataService=e,this.commonService=t,this.store=n,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.events={},this.eventFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.feeReportData=[],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Fee (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{"COMPLETE"===e.initialAPIResponseStatus[0]&&this.fetchEvents(this.startDate,this.endDate)})}ngAfterViewInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=e.width/10;break;case f.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}fetchEvents(e,t){const n=Math.round(e.getTime()/1e3).toString(),a=Math.round(t.getTime()/1e3).toString();this.dataService.getForwardingHistory(n,a).pipe((0,p.R)(this.unSubs[1])).subscribe(t=>{t.forwarding_events&&t.forwarding_events.length?(t.forwarding_events=t.forwarding_events.reverse(),this.events=t,this.feeReportData=this.prepareFeeReport(e)):(this.events={},this.feeReportData=[])})}onChartMouseUp(e){"svg"===e.srcElement.tagName&&e.srcElement.classList.length>0&&"ngx-charts"===e.srcElement.classList[0]&&(this.eventFilterValue="")}onChartBarSelected(e){this.eventFilterValue=this.reportPeriod===f.op[1]?e.name+"/"+this.startDate.getFullYear():e.name.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}prepareFeeReport(e){const t=Math.round(e.getTime()/1e3);let n=[];if(this.reportPeriod===f.op[1]){for(let e=0;e<12;e++)n.push({name:f.gg[e].name,value:1e-9,extra:{totalEvents:0}});this.events.forwarding_events.map(e=>{let t=new Date(1e3*+e.timestamp).getMonth();n[t].value=n[t].value+ +e.fee_msat/1e3,n[t].extra.totalEvents=n[t].extra.totalEvents+1,this.events.total_fee_msat=(this.events.total_fee_msat?this.events.total_fee_msat:0)+ +e.fee_msat})}else{for(let t=0;t{let a=Math.floor((+e.timestamp-t)/this.secondsInADay);n[a].value=n[a].value+ +e.fee_msat/1e3,n[a].extra.totalEvents=n[a].extra.totalEvents+1,this.events.total_fee_msat=(this.events.total_fee_msat?this.events.total_fee_msat:0)+ +e.fee_msat})}return n}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.fetchEvents(this.startDate,this.endDate),this.eventFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?f.gg[e].days+1:f.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(et.D),s.Y36(b.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-fee-report"]],hostBindings:function(e,t){1&e&&s.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:9,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],[1,"mt-1"],["class","one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup",4,"ngIf"],[3,"eventsData","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],[1,"one-color",3,"view","results","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"eventsData","filterValue"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,$u,4,8,"div",3),s.YNc(4,Xu,2,0,"div",4),s.TgZ(5,"div",5),s.YNc(6,Ku,3,11,"ngx-charts-bar-vertical",6),s.qZA(),s.TgZ(7,"div",5),s.YNc(8,ed,1,2,"rtl-forwarding-history",7),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngIf",t.feeReportData.length>0&&t.events.forwarding_events),s.xp6(1),s.Q6J("ngIf",t.feeReportData.length<=0||!t.events.forwarding_events),s.xp6(2),s.Q6J("ngIf",t.feeReportData.length>0&&t.events.forwarding_events),s.xp6(2),s.Q6J("ngIf",t.events&&(null==t.events?null:t.events.forwarding_events)))},directives:[l.xw,l.Wh,l.yH,zu.D,a.O5,Wu.K$,au],pipes:[a.JJ],styles:[""],data:{animation:[Vu.J]}}),e})();var nd=n(6590);function ad(e,t){if(1&e&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.AsE(" Paid ",s.xi3(2,2,e.transactionsReportSummary.amountPaidSelectedPeriod/1e3||0,"1.0-2")," Sats/",s.lcZ(3,5,e.transactionsReportSummary.paymentsSelectedPeriod)," Payments ")}}function id(e,t){if(1&e&&(s.TgZ(0,"div",10),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.AsE(" Received ",s.xi3(2,2,e.transactionsReportSummary.amountReceivedSelectedPeriod/1e3||0,"1.0-2")," Sats/",s.lcZ(3,5,e.transactionsReportSummary.invoicesSelectedPeriod)," Invoices ")}}function od(e,t){if(1&e&&(s.TgZ(0,"div",8),s.YNc(1,ad,4,7,"div",9),s.YNc(2,id,4,7,"div",9),s.qZA()),2&e){const e=s.oxw();s.Q6J("@fadeIn",e.transactionsReportSummary),s.xp6(1),s.Q6J("ngIf",e.transactionsReportSummary.paymentsSelectedPeriod>0),s.xp6(1),s.Q6J("ngIf",e.transactionsReportSummary.invoicesSelectedPeriod)}}function sd(e,t){1&e&&(s.TgZ(0,"div",11),s._uU(1,"No transactions report for the selected period"),s.qZA())}function ld(e,t){if(1&e&&(s.TgZ(0,"span",15),s._uU(1),s.ALo(2,"number"),s.ALo(3,"number"),s.qZA()),2&e){const e=t.model;s.xp6(1),s.HOy("",e.name,": ",s.xi3(2,4,e.value||0,"1.0-2"),"/# ","Paid"===e.name?"Payments":"Invoices",": ",s.lcZ(3,7,(null==e.extra?null:e.extra.total)||0),"")}}function rd(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"ngx-charts-bar-vertical-2d",13),s.NdJ("select",function(t){return s.CHM(e),s.oxw(2).onChartBarSelected(t)})("mouseup",function(t){return s.CHM(e),s.oxw(2).onChartMouseUp(t)}),s.YNc(1,ld,4,9,"ng-template",null,14,s.W1O),s.qZA()}if(2&e){const e=s.oxw(2);s.Q6J("view",e.view)("results",e.transactionsReportData)("noBarWhenZero",!1)("gradient",!1)("xAxis",!0)("yAxis",!0)("showXAxisLabel",!0)("showYAxisLabel",e.showYAxisLabel)("xAxisLabel",e.xAxisLabel)("yAxisLabel",e.yAxisLabel)("showGridLines",!1)("showDataLabel",!1)("groupPadding",e.reportPeriod===e.scrollRanges[0]?2:8)}}function cd(e,t){if(1&e&&(s.TgZ(0,"div",6),s.YNc(1,rd,3,13,"ngx-charts-bar-vertical-2d",12),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",e.transactionsReportData.length>0&&e.transactionsNonZeroReportData.length>0)}}function ud(e,t){if(1&e&&s._UZ(0,"rtl-transactions-report-table",16),2&e){const e=s.oxw();s.Q6J("dataList",e.transactionsNonZeroReportData)("dataRange",e.reportPeriod)("filterValue",e.transactionFilterValue)}}let dd=(()=>{class e{constructor(e,t){this.commonService=e,this.store=t,this.scrollRanges=f.op,this.reportPeriod=f.op[0],this.secondsInADay=86400,this.payments=[],this.invoices=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0},this.transactionFilterValue="",this.today=new Date(Date.now()),this.startDate=new Date(this.today.getFullYear(),this.today.getMonth(),1,0,0,0),this.endDate=new Date(this.today.getFullYear(),this.today.getMonth(),this.getMonthDays(this.today.getMonth(),this.today.getFullYear()),23,59,59),this.transactionsReportData=[{date:"",name:"1",series:[{extra:{total:0},name:"Paid",value:0},{extra:{total:0},name:"Received",value:0}]}],this.transactionsNonZeroReportData=[{amount_paid:0,amount_received:0,date:"",num_invoices:0,num_payments:0}],this.view=[350,350],this.screenPaddingX=100,this.gradient=!0,this.xAxisLabel="Date",this.yAxisLabel="Amount (Sats)",this.showYAxisLabel=!0,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.showYAxisLabel=!(this.screenSize===f.cu.XS||this.screenSize===f.cu.SM),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.payments=e.allLightningTransactions.paymentsAll?e.allLightningTransactions.paymentsAll.payments:[],this.invoices=e.allLightningTransactions.invoicesAll?e.allLightningTransactions.invoicesAll.invoices:[],(this.payments.length>0||this.invoices.length>0)&&(this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData())})}ngAfterViewInit(){const e=this.commonService.getContainerSize();switch(this.screenSize){case f.cu.MD:this.screenPaddingX=e.width/10;break;case f.cu.LG:this.screenPaddingX=e.width/16;break;default:this.screenPaddingX=e.width/20}this.view=[e.width-this.screenPaddingX,e.height/2.2]}onChartMouseUp(e){"svg"===e.srcElement.tagName&&e.srcElement.classList.length>0&&"ngx-charts"===e.srcElement.classList[0]&&(this.transactionFilterValue="")}onChartBarSelected(e){this.transactionFilterValue=this.reportPeriod===f.op[1]?e.series+"/"+this.startDate.getFullYear():e.series.toString().padStart(2,"0")+"/"+f.gg[this.startDate.getMonth()].name+"/"+this.startDate.getFullYear()}filterTransactionsForSelectedPeriod(e,t){const n=Math.round(e.getTime()/1e3),a=Math.round(t.getTime()/1e3);let i=[];this.transactionsNonZeroReportData=[],this.transactionsReportSummary={paymentsSelectedPeriod:0,invoicesSelectedPeriod:0,amountPaidSelectedPeriod:0,amountReceivedSelectedPeriod:0};let o=this.payments.filter(e=>"SUCCEEDED"===e.status&&e.creation_date>=n&&e.creation_datee.settled&&+e.creation_date>=n&&+e.creation_date{let t=new Date(1e3*+e.creation_date).getMonth();this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+ +e.value_msat+ +e.fee_msat,i[t].series[0].value=i[t].series[0].value+(+e.value_msat+ +e.fee_msat)/1e3,i[t].series[0].extra.total=i[t].series[0].extra.total+1}),s.map(e=>{let t=new Date(1e3*+e.creation_date).getMonth();this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+ +e.amt_paid_msat,i[t].series[1].value=i[t].series[1].value+ +e.amt_paid_msat/1e3,i[t].series[1].extra.total=i[t].series[1].extra.total+1})}else{for(let t=0;t{let t=Math.floor((+e.creation_date-n)/this.secondsInADay);this.transactionsReportSummary.amountPaidSelectedPeriod=this.transactionsReportSummary.amountPaidSelectedPeriod+ +e.value_msat+ +e.fee_msat,i[t].series[0].value=i[t].series[0].value+(+e.value_msat+ +e.fee_msat)/1e3,i[t].series[0].extra.total=i[t].series[0].extra.total+1}),s.map(e=>{let t=Math.floor((+e.creation_date-n)/this.secondsInADay);this.transactionsReportSummary.amountReceivedSelectedPeriod=this.transactionsReportSummary.amountReceivedSelectedPeriod+ +e.amt_paid_msat,i[t].series[1].value=i[t].series[1].value+ +e.amt_paid_msat/1e3,i[t].series[1].extra.total=i[t].series[1].extra.total+1})}return i}prepareTableData(){return this.transactionsReportData.reduce((e,t)=>t.series[0].extra.total>0||t.series[1].extra.total>0?e.concat({date:t.date,amount_paid:t.series[0].value,num_payments:t.series[0].extra.total,amount_received:t.series[1].value,num_invoices:t.series[1].extra.total}):e,[])}onSelectionChange(e){const t=e.selDate.getMonth(),n=e.selDate.getFullYear();this.reportPeriod=e.selScrollRange,this.reportPeriod===f.op[1]?(this.startDate=new Date(n,0,1,0,0,0),this.endDate=new Date(n,11,31,23,59,59)):(this.startDate=new Date(n,t,1,0,0,0),this.endDate=new Date(n,t,this.getMonthDays(t,n),23,59,59)),this.transactionsReportData=this.filterTransactionsForSelectedPeriod(this.startDate,this.endDate),this.transactionsNonZeroReportData=this.prepareTableData(),this.transactionFilterValue=""}getMonthDays(e,t){return 1===e&&t%4==0?f.gg[e].days+1:f.gg[e].days}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(b.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-transactions-report"]],hostBindings:function(e,t){1&e&&s.NdJ("mouseup",function(e){return t.onChartMouseUp(e)})},decls:8,vars:4,consts:[["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x-large"],[3,"stepChanged"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 font-bold-700 mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100","class","font-size-120 mt-1",4,"ngIf"],["class","mt-1",4,"ngIf"],[1,"mt-1"],[3,"dataList","dataRange","filterValue",4,"ngIf"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","font-bold-700","mt-1"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","column","fxLayoutAlign","center center","fxFlex","100",1,"font-size-120","mt-1"],["class","two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup",4,"ngIf"],[1,"two-color",3,"view","results","noBarWhenZero","gradient","xAxis","yAxis","showXAxisLabel","showYAxisLabel","xAxisLabel","yAxisLabel","showGridLines","showDataLabel","groupPadding","select","mouseup"],["tooltipTemplate",""],[1,"tooltip-label"],[3,"dataList","dataRange","filterValue"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"rtl-horizontal-scroller",1),s.NdJ("stepChanged",function(e){return t.onSelectionChange(e)}),s.qZA(),s.TgZ(2,"div",2),s.YNc(3,od,3,3,"div",3),s.YNc(4,sd,2,0,"div",4),s.YNc(5,cd,2,1,"div",5),s.TgZ(6,"div",6),s.YNc(7,ud,1,3,"rtl-transactions-report-table",7),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0),s.xp6(1),s.Q6J("ngIf",t.transactionsNonZeroReportData.length<=0),s.xp6(1),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0),s.xp6(2),s.Q6J("ngIf",t.transactionsNonZeroReportData.length>0))},directives:[l.xw,l.Wh,l.yH,zu.D,a.O5,Wu.H5,nd.g],pipes:[a.JJ],styles:[""],data:{animation:[Vu.J]}}),e})();const pd=["form"];function hd(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"UTXO Label is required."),s.qZA())}function md(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Oqu(e.labelError)}}function gd(e,t){if(1&e&&(s.TgZ(0,"div",16),s._UZ(1,"fa-icon",17),s.YNc(2,md,2,1,"span",11),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.labelError)}}let fd=(()=>{class e{constructor(e,t,n,a,i,o){this.dialogRef=e,this.data=t,this.dataService=n,this.store=a,this.snackBar=i,this.commonService=o,this.faExclamationTriangle=g.eHv,this.utxo=null,this.label="",this.labelError="",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.utxo=this.data.utxo,this.label=this.utxo.label}onLabelUTXO(){if(!this.label||""===this.label)return!0;this.labelError="",this.store.dispatch(new G.Fk("Labelling UTXO...")),this.dataService.labelUTXO(this.utxo.outpoint.txid_bytes,this.label,!0).pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.store.dispatch(new G.Iv),this.store.dispatch(new x.eL),this.store.dispatch(new x.Zt),this.snackBar.open("Successfully labelled the UTXO."),this.dialogRef.close()},e=>{this.store.dispatch(new G.Iv),this.labelError=e.error&&e.error.error&&e.error.error.error?e.error.error.error:e.error&&e.error.error?e.error.error:e.error?e.error:e,this.labelError="string"==typeof this.labelError?this.commonService.titleCase(this.labelError):JSON.stringify(this.labelError)})}resetData(){this.labelError="",this.label=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(et.D),s.Y36(y.yh),s.Y36(ti.ux),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-lebel-modal"]],viewQuery:function(e,t){if(1&e&&s.Gf(pd,7),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first)}},decls:20,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex.gt-sm","100"],["autoFocus","","matInput","","placeholder","UTXO Label","name","label","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5,"Label UTXO"),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.TgZ(9,"form",7,8),s.NdJ("submit",function(){return t.onLabelUTXO()})("reset",function(){return t.resetData()}),s.TgZ(11,"mat-form-field",9),s.TgZ(12,"input",10),s.NdJ("ngModelChange",function(e){return t.label=e}),s.qZA(),s.YNc(13,hd,2,0,"mat-error",11),s.qZA(),s.YNc(14,gd,3,2,"div",12),s.TgZ(15,"div",13),s.TgZ(16,"button",14),s._uU(17,"Clear"),s.qZA(),s.TgZ(18,"button",15),s._uU(19,"Label UTXO"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(6),s.Q6J("mat-dialog-close",!1),s.xp6(6),s.Q6J("ngModel",t.label),s.xp6(1),s.Q6J("ngIf",!t.label),s.xp6(1),s.Q6J("ngIf",""!==t.labelError))},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,ce.ZT,_.dn,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,pe.h,ue.Q7,ue.JJ,ue.On,a.O5,J.TO,T.BN],styles:[""]}),e})();function xd(e,t){1&e&&s._UZ(0,"mat-progress-bar",28)}function Zd(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Transaction ID "),s.qZA())}function yd(e,t){1&e&&(s.TgZ(0,"span",35),s.TgZ(1,"mat-icon",36),s._uU(2,"warning"),s.qZA(),s.qZA())}function Ad(e,t){if(1&e&&(s.TgZ(0,"span"),s.YNc(1,yd,3,0,"span",34),s.qZA()),2&e){const e=s.oxw().$implicit;s.oxw();const t=s.MAs(34);s.xp6(1),s.Q6J("ngIf",e.amount_sat<1e3)("ngIfElse",t)}}const bd=function(e){return{"max-width":e}};function Td(e,t){if(1&e&&(s.TgZ(0,"td",30),s.TgZ(1,"span",31),s.YNc(2,Ad,2,2,"span",32),s.TgZ(3,"span",33),s._uU(4),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(3,bd,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),s.xp6(2),s.Q6J("ngIf",n.numDustUTXOs>0&&!n.isDustUTXO),s.xp6(2),s.Oqu(e.outpoint.txid_str)}}function wd(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1," Output "),s.qZA())}function _d(e,t){if(1&e&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(e.outpoint.output_index)}}function vd(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Label "),s.qZA())}function qd(e,t){if(1&e&&(s.TgZ(0,"td",30),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,bd,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),s.xp6(1),s.hij(" ",null==e?null:e.label," ")}}function Cd(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1," Amount (Sats) "),s.qZA())}function Ld(e,t){if(1&e&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.amount_sat||0))}}function Sd(e,t){1&e&&(s.TgZ(0,"th",37),s._uU(1," Confirmations "),s.qZA())}function kd(e,t){if(1&e&&(s.TgZ(0,"td",38),s.TgZ(1,"span",39),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.confirmations||0))}}function Fd(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",40),s.TgZ(1,"div",41),s.TgZ(2,"mat-select",42),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",43),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Ud(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",44),s.TgZ(1,"div",45),s.TgZ(2,"mat-select",46),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",43),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onUTXOClick(t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",43),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onLabelUTXO(t)}),s._uU(7,"Label"),s.qZA(),s.TgZ(8,"mat-option",43),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onLeaseUTXO(t)}),s._uU(9,"Lease"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Nd(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No UTXOs available."),s.qZA())}function Dd(e,t){if(1&e&&(s.TgZ(0,"td",47),s.YNc(1,Nd,2,0,"p",32),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.listUTXOs&&e.listUTXOs.data)||(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)<1)}}const Jd=function(e){return{"display-none":e}};function Od(e,t){if(1&e&&s._UZ(0,"tr",48),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Jd,(null==e.listUTXOs?null:e.listUTXOs.data)&&(null==e.listUTXOs||null==e.listUTXOs.data?null:e.listUTXOs.data.length)>0))}}function Id(e,t){1&e&&s._UZ(0,"tr",49)}function Qd(e,t){1&e&&s._UZ(0,"tr",50)}function Yd(e,t){1&e&&s._UZ(0,"mat-icon",36)}const Rd=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Md=function(){return["no_utxo"]};let Pd=(()=>{class e{constructor(e,t,n,a,i,o){this.logger=e,this.commonService=t,this.dataService=n,this.store=a,this.rtlEffects=i,this.decimalPipe=o,this.numDustUTXOs=0,this.isDustUTXO=!1,this.addressType=f.x$,this.faMoneyBillWave=g.aj4,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["amount_sat","confirmations","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["tx_id","output","amount_sat","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["tx_id","output","label","amount_sat","confirmations","actions"]):(this.flgSticky=!0,this.displayedColumns=["tx_id","output","label","amount_sat","confirmations","actions"])}ngOnChanges(){this.utxos&&this.utxos.length>0&&this.loadUTXOsTable(this.utxos)}applyFilter(e){this.listUTXOs.filter=e.value.trim().toLowerCase()}onUTXOClick(e){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"UTXO Information",message:[[{key:"txid",value:e.outpoint.txid_str,title:"Transaction ID",width:100,type:f.Gi.STRING}],[{key:"label",value:e.label,title:"Label",width:100,type:f.Gi.STRING}],[{key:"output_index",value:e.outpoint.output_index,title:"Output Index",width:34,type:f.Gi.NUMBER},{key:"amount_sat",value:e.amount_sat,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER},{key:"confirmations",value:e.confirmations,title:"Confirmations",width:33,type:f.Gi.NUMBER}],[{key:"address_type",value:this.addressType[e.address_type].name,title:"Address Type",width:34},{key:"address",value:e.address,title:"Address",width:66}],[{key:"pk_script",value:e.pk_script,title:"PK Script",width:100,type:f.Gi.STRING}]]}}))}loadUTXOsTable(e){this.listUTXOs=new re.by([...e]),this.listUTXOs.filterPredicate=(e,t)=>((e.label?e.label.toLowerCase():"")+(e.outpoint.txid_str?e.outpoint.txid_str.toLowerCase():"")+(e.outpoint.output_index?e.outpoint.output_index:"")+(e.outpoint.txid_bytes?e.outpoint.txid_bytes.toLowerCase():"")+(e.address?e.address.toLowerCase():"")+(e.address_type?e.address_type.toLowerCase():"")+(e.amount_sat?e.amount_sat:"")+(e.confirmations?e.confirmations:"")+(e.pk_script?e.pk_script.toLowerCase():"")).includes(t),this.listUTXOs.sortingDataAccessor=(e,t)=>{switch(t){case"tx_id":return e.outpoint.txid_str.toLocaleLowerCase();case"output":return+e.outpoint.output_index;default:return e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null}},this.listUTXOs.sort=this.sort,this.listUTXOs.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.listUTXOs.paginator=this.paginator,this.logger.info(this.listUTXOs)}onLabelUTXO(e){this.store.dispatch(new G.wu({data:{utxo:e,component:fd}}))}onLeaseUTXO(e){const t=[[{key:"txid_str",value:e.outpoint.txid_str,title:"Transaction ID",width:100}],[{key:"amount_sat",value:this.decimalPipe.transform(e.amount_sat),title:"Amount (Sats)",width:100}]];e.label&&t.splice(1,0,[{key:"label",value:e.label,title:"Label",width:100}]),this.store.dispatch(new G.b_({data:{type:f.n_.CONFIRM,alertTitle:"Lease UTXO",informationMessage:"The UTXO will be leased for 10 minutes.",message:t,noBtnText:"Cancel",yesBtnText:"Lease UTXO"}})),this.rtlEffects.closeConfirm.pipe((0,p.R)(this.unSubs[0])).subscribe(t=>{t&&this.dataService.leaseUTXO(e.outpoint.txid_bytes,e.outpoint.output_index)})}onDownloadCSV(){this.listUTXOs.data&&this.listUTXOs.data.length>0&&this.commonService.downloadFile(this.listUTXOs.data,"UTXOs")}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(et.D),s.Y36(y.yh),s.Y36(mt.V),s.Y36(a.JJ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-utxos"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{numDustUTXOs:"numDustUTXOs",isDustUTXO:"isDustUTXO",utxos:"utxos",errorLoading:"errorLoading"},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("UTXOs")}]),s.TTD],decls:35,vars:13,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","end stretch","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","tx_id"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","output"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","label"],["matColumnDef","amount_sat"],["matColumnDef","confirmations"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center","class","pl-3",4,"matCellDef"],["matColumnDef","no_utxo"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["emptySpace",""],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["fxLayout","row"],[4,"ngIf"],[1,"ellipsis-child"],["matTooltip","Risk of dust attack","matTooltipPosition","right",4,"ngIf","ngIfElse"],["matTooltip","Risk of dust attack","matTooltipPosition","right"],["fxLayoutAlign","start center","color","warn",1,"mr-1"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["mat-cell",""],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","2",1,"mr-0"],["mat-footer-cell","","colspan","4"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-form-field",2),s.TgZ(3,"input",3),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(4,"div",4),s.TgZ(5,"div",5),s.YNc(6,xd,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,Zd,2,0,"th",10),s.YNc(11,Td,5,5,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,wd,2,0,"th",13),s.YNc(14,_d,3,1,"td",14),s.BQk(),s.ynx(15,15),s.YNc(16,vd,2,0,"th",10),s.YNc(17,qd,2,4,"td",11),s.BQk(),s.ynx(18,16),s.YNc(19,Cd,2,0,"th",13),s.YNc(20,Ld,4,3,"td",14),s.BQk(),s.ynx(21,17),s.YNc(22,Sd,2,0,"th",13),s.YNc(23,kd,4,3,"td",14),s.BQk(),s.ynx(24,18),s.YNc(25,Fd,6,0,"th",19),s.YNc(26,Ud,10,0,"td",20),s.BQk(),s.ynx(27,21),s.YNc(28,Dd,2,1,"td",22),s.BQk(),s.YNc(29,Od,1,3,"tr",23),s.YNc(30,Id,1,0,"tr",24),s.YNc(31,Qd,1,0,"tr",25),s.qZA(),s._UZ(32,"mat-paginator",26),s.qZA(),s.qZA(),s.qZA(),s.YNc(33,Yd,1,0,"ng-template",null,27,s.W1O)),2&e&&(s.xp6(6),s.Q6J("ngIf",!0===t.errorLoading),s.xp6(1),s.Q6J("dataSource",t.listUTXOs)("ngClass",s.VKq(10,Rd,"error"===t.errorLoading)),s.xp6(22),s.Q6J("matFooterRowDef",s.DdM(12,Md)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,O.gM,C.Hw,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.JJ],styles:[".mat-column-label[_ngcontent-%COMP%]{padding-left:1rem;flex:1 1 15%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-tx_id[_ngcontent-%COMP%]{flex:1 1 15%}.mat-column-tx_id[_ngcontent-%COMP%] .ellipsis-child[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function Ed(e,t){1&e&&s._UZ(0,"mat-progress-bar",28)}function Bd(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Date/Time "),s.qZA())}function Hd(e,t){if(1&e&&(s.TgZ(0,"td",30),s._uU(1),s.ALo(2,"date"),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Oqu(s.xi3(2,1,1e3*e.time_stamp,"dd/MMM/YYYY HH:mm"))}}function Gd(e,t){1&e&&(s.TgZ(0,"th",29),s._uU(1," Label "),s.qZA())}const Vd=function(e){return{"max-width":e}};function zd(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Vd,n.screenSize===n.screenSizeEnum.XS?"12rem":"25rem")),s.xp6(1),s.hij(" ",null==e?null:e.label," ")}}function Wd(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Amount (Sats) "),s.qZA())}function $d(e,t){if(1&e&&(s.TgZ(0,"span",35),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.Oqu(s.lcZ(2,1,e.amount))}}function Xd(e,t){if(1&e&&(s.TgZ(0,"span",36),s._uU(1),s.ALo(2,"number"),s.qZA()),2&e){const e=s.oxw().$implicit;s.xp6(1),s.hij("(",s.lcZ(2,1,-1*e.amount),")")}}function jd(e,t){if(1&e&&(s.TgZ(0,"td",30),s.YNc(1,$d,3,3,"span",33),s.YNc(2,Xd,3,3,"span",34),s.qZA()),2&e){const e=t.$implicit;s.xp6(1),s.Q6J("ngIf",e.amount>0||0===e.amount),s.xp6(1),s.Q6J("ngIf",e.amount<0)}}function Kd(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Fees (Sats) "),s.qZA())}function ep(e,t){if(1&e&&(s.TgZ(0,"td",30),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.total_fees))}}function tp(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Block Height "),s.qZA())}function np(e,t){if(1&e&&(s.TgZ(0,"td",30),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.Oqu(s.lcZ(3,1,e.block_height))}}function ap(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Confirmations "),s.qZA())}function ip(e,t){if(1&e&&(s.TgZ(0,"td",30),s.TgZ(1,"span",35),s._uU(2),s.ALo(3,"number"),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.xp6(2),s.hij(" ",s.lcZ(3,1,null==e?null:e.num_confirmations)," ")}}function op(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"th",37),s.TgZ(1,"div",38),s.TgZ(2,"mat-select",39),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",40),s.NdJ("click",function(){return s.CHM(e),s.oxw().onDownloadCSV()}),s._uU(5,"Download CSV"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function sp(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",41),s.TgZ(1,"button",42),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onTransactionClick(t)}),s._uU(2,"View Info"),s.qZA(),s.qZA()}}function lp(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No transactions available."),s.qZA())}function rp(e,t){if(1&e&&(s.TgZ(0,"td",43),s.YNc(1,lp,2,0,"p",44),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.listTransactions&&e.listTransactions.data)||(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)<1)}}const cp=function(e){return{"display-none":e}};function up(e,t){if(1&e&&s._UZ(0,"tr",45),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,cp,(null==e.listTransactions?null:e.listTransactions.data)&&(null==e.listTransactions||null==e.listTransactions.data?null:e.listTransactions.data.length)>0))}}function dp(e,t){1&e&&s._UZ(0,"tr",46)}function pp(e,t){1&e&&s._UZ(0,"tr",47)}const hp=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},mp=function(){return["no_transaction"]};let gp=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.commonService=t,this.store=n,this.datePipe=a,this.faHistory=g.qO$,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.screenSize="",this.screenSizeEnum=f.cu,this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.flgSticky=!1,this.displayedColumns=["time_stamp","amount","actions"]):this.screenSize===f.cu.SM?(this.flgSticky=!1,this.displayedColumns=["time_stamp","amount","num_confirmations","total_fees","actions"]):this.screenSize===f.cu.MD?(this.flgSticky=!1,this.displayedColumns=["time_stamp","label","amount","total_fees","num_confirmations","actions"]):(this.flgSticky=!0,this.displayedColumns=["time_stamp","label","amount","total_fees","block_height","num_confirmations","actions"])}ngOnChanges(){this.transactions&&this.transactions.length>0&&this.loadTransactionsTable(this.transactions)}applyFilter(e){this.listTransactions.filter=e.value.trim().toLowerCase()}onTransactionClick(e){this.store.dispatch(new G.wu({data:{type:f.n_.INFORMATION,alertTitle:"Transaction Information",message:[[{key:"block_hash",value:e.block_hash,title:"Block Hash",width:100}],[{key:"tx_hash",value:e.tx_hash,title:"Transaction Hash",width:100}],[{key:"label",value:e.label,title:"Label",width:100,type:f.Gi.STRING}],[{key:"time_stamp",value:e.time_stamp,title:"Date/Time",width:50,type:f.Gi.DATE_TIME},{key:"block_height",value:e.block_height,title:"Block Height",width:50,type:f.Gi.NUMBER}],[{key:"num_confirmations",value:e.num_confirmations,title:"Number of Confirmations",width:34,type:f.Gi.NUMBER},{key:"total_fees",value:e.total_fees,title:"Total Fees (Sats)",width:33,type:f.Gi.NUMBER},{key:"amount",value:e.amount,title:"Amount (Sats)",width:33,type:f.Gi.NUMBER}],[{key:"dest_addresses",value:e.dest_addresses,title:"Destination Addresses",width:100,type:f.Gi.ARRAY}]],scrollable:e.dest_addresses&&e.dest_addresses.length>5}}))}loadTransactionsTable(e){this.listTransactions=new re.by([...e]),this.listTransactions.sort=this.sort,this.listTransactions.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.listTransactions.filterPredicate=(e,t)=>((e.time_stamp?this.datePipe.transform(new Date(1e3*e.time_stamp),"dd/MMM/YYYY HH:mm").toLowerCase():"")+JSON.stringify(e).toLowerCase()).includes(t),this.listTransactions.paginator=this.paginator,this.logger.info(this.listTransactions)}onDownloadCSV(){this.listTransactions.data&&this.listTransactions.data.length>0&&this.commonService.downloadFile(this.listTransactions.data,"Transactions")}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh),s.Y36(a.uU))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-transaction-history"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},inputs:{transactions:"transactions",errorLoading:"errorLoading"},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Transactions")}]),s.TTD],decls:36,vars:13,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxLayout.gt-xs","row wrap","fxLayoutAlign.gt-xs","end stretch","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","time_stamp"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","label"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","amount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","total_fees"],["matColumnDef","block_height"],["matColumnDef","num_confirmations"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center",4,"ngIf"],["fxLayoutAlign","end center","class","red",4,"ngIf"],["fxLayoutAlign","end center"],["fxLayoutAlign","end center",1,"red"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-form-field",2),s.TgZ(3,"input",3),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(4,"div",4),s.TgZ(5,"div",5),s.YNc(6,Ed,1,0,"mat-progress-bar",6),s.TgZ(7,"table",7,8),s.ynx(9,9),s.YNc(10,Bd,2,0,"th",10),s.YNc(11,Hd,3,4,"td",11),s.BQk(),s.ynx(12,12),s.YNc(13,Gd,2,0,"th",10),s.YNc(14,zd,2,4,"td",13),s.BQk(),s.ynx(15,14),s.YNc(16,Wd,2,0,"th",15),s.YNc(17,jd,3,2,"td",11),s.BQk(),s.ynx(18,16),s.YNc(19,Kd,2,0,"th",15),s.YNc(20,ep,4,3,"td",11),s.BQk(),s.ynx(21,17),s.YNc(22,tp,2,0,"th",15),s.YNc(23,np,4,3,"td",11),s.BQk(),s.ynx(24,18),s.YNc(25,ap,2,0,"th",15),s.YNc(26,ip,4,3,"td",11),s.BQk(),s.ynx(27,19),s.YNc(28,op,6,0,"th",20),s.YNc(29,sp,3,0,"td",21),s.BQk(),s.ynx(30,22),s.YNc(31,rp,2,1,"td",23),s.BQk(),s.YNc(32,up,1,3,"tr",24),s.YNc(33,dp,1,0,"tr",25),s.YNc(34,pp,1,0,"tr",26),s.qZA(),s._UZ(35,"mat-paginator",27),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(6),s.Q6J("ngIf",!0===t.errorLoading),s.xp6(1),s.Q6J("dataSource",t.listTransactions)("ngClass",s.VKq(10,hp,"error"===t.errorLoading)),s.xp6(25),s.Q6J("matFooterRowDef",s.DdM(12,mp)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.yH,l.Wh,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,me.gD,me.$L,fe.ey,q.lW,re.yh,re.Q2,re.XQ,re.Gk],pipes:[a.uU,a.JJ],styles:[".mat-column-label[_ngcontent-%COMP%]{flex:1 1 20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),e})();function fp(e,t){if(1&e&&(s.TgZ(0,"span",5),s._uU(1,"UTXOs"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numUtxos)}}function xp(e,t){if(1&e&&(s.TgZ(0,"span",5),s._uU(1,"Transactions"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numTransactions)}}function Zp(e,t){if(1&e&&(s.TgZ(0,"span",5),s._uU(1,"Dust UTXOs"),s.qZA()),2&e){const e=s.oxw();s.s9C("matBadge",e.numDustUtxos)}}let yp=(()=>{class e{constructor(e,t){this.logger=e,this.store=t,this.selectedTableIndex=0,this.selectedTableIndexChange=new s.vpe,this.transactions=[],this.numTransactions=0,this.utxos=[],this.numUtxos=0,this.dustUtxos=[],this.numDustUtxos=0,this.flgLoading=[!0,!0],this.unSubs=[new d.x]}ngOnInit(){this.store.dispatch(new x.eL),this.store.dispatch(new x.Zt),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchUTXOs"===e.action&&(this.flgLoading[0]="error"),"FetchTransactions"===e.action&&(this.flgLoading[1]="error")}),e.utxos&&e.utxos.length>0&&(this.utxos=e.utxos,this.numUtxos=this.utxos.length,this.dustUtxos=e.utxos.filter(e=>+e.amount_sat<1e3),this.numDustUtxos=this.dustUtxos.length),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!e.utxos),e.transactions&&e.transactions.length>0&&(this.transactions=e.transactions,this.numTransactions=this.transactions.length),"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!e.transactions),this.logger.info(e)})}onSelectedIndexChanged(e){this.selectedTableIndexChange.emit(e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-utxo-tables"]],inputs:{selectedTableIndex:"selectedTableIndex"},outputs:{selectedTableIndexChange:"selectedTableIndexChange"},decls:11,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"bordered-box"],[3,"selectedIndex","selectedIndexChange"],["mat-tab-label",""],["fxLayout","row","fxFlex","100",3,"utxos","errorLoading","numDustUTXOs","isDustUTXO"],["fxLayout","row","fxFlex","100",3,"transactions","errorLoading"],["matBadgeOverlap","false",1,"tab-badge",3,"matBadge"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"mat-tab-group",1),s.NdJ("selectedIndexChange",function(e){return t.onSelectedIndexChanged(e)}),s.TgZ(2,"mat-tab"),s.YNc(3,fp,2,1,"ng-template",2),s._UZ(4,"rtl-on-chain-utxos",3),s.qZA(),s.TgZ(5,"mat-tab"),s.YNc(6,xp,2,1,"ng-template",2),s._UZ(7,"rtl-on-chain-transaction-history",4),s.qZA(),s.TgZ(8,"mat-tab"),s.YNc(9,Zp,2,1,"ng-template",2),s._UZ(10,"rtl-on-chain-utxos",3),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("selectedIndex",t.selectedTableIndex),s.xp6(3),s.Q6J("utxos",t.utxos)("errorLoading",t.flgLoading[0])("numDustUTXOs",t.numDustUtxos)("isDustUTXO",!1),s.xp6(3),s.Q6J("transactions",t.transactions)("errorLoading",t.flgLoading[1]),s.xp6(3),s.Q6J("utxos",t.dustUtxos)("errorLoading",t.flgLoading[0])("numDustUTXOs",t.numDustUtxos)("isDustUTXO",!0))},directives:[l.xw,l.yH,l.Wh,oe.SP,oe.uX,oe.uD,Pd,gp,Bn.k],styles:[""]}),e})();const Ap=function(e,t){return[e,t]};function bp(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",12),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.Q6J("active",n.activeLink===e.link)("routerLink",s.WLB(3,Ap,e.link,n.selectedTable.name)),s.xp6(1),s.Oqu(e.name)}}let Tp=(()=>{class e{constructor(e,t,n){this.store=e,this.router=t,this.activatedRoute=n,this.selNode={},this.faExchangeAlt=g.Ssp,this.faChartPie=g.OS1,this.balances=[{title:"Total Balance",dataValue:0},{title:"Confirmed",dataValue:0},{title:"Unconfirmed",dataValue:0}],this.links=[{link:"receive",name:"Receive"},{link:"send",name:"Send"},{link:"sweep",name:"Sweep All"}],this.activeLink=this.links[0].link,this.tables=[{id:0,name:"utxos"},{id:1,name:"trans"},{id:2,name:"dustUtxos"}],this.selectedTable=this.tables[0],this.unSubs=[new d.x,new d.x,new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.selectedTable=this.tables.find(e=>e.name===this.router.url.substring(this.router.url.lastIndexOf("/")+1)),this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.selectedTable=this.tables.find(t=>t.name===e.urlAfterRedirects.substring(e.urlAfterRedirects.lastIndexOf("/")+1))}),this.store.select("lnd").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.selNode=e.nodeSettings,this.balances=[{title:"Total Balance",dataValue:e.blockchainBalance.total_balance||0},{title:"Confirmed",dataValue:e.blockchainBalance.confirmed_balance},{title:"Unconfirmed",dataValue:e.blockchainBalance.unconfirmed_balance}]})}onSelectedTableIndexChanged(e){this.selectedTable=this.tables.find(t=>t.id===e),this.router.navigate(["./",this.activeLink,this.selectedTable.name],{relativeTo:this.activatedRoute})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(i.F0),s.Y36(i.gz))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain"]],decls:21,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x","mb-4"],["fxLayout","column"],[3,"values"],["fxLayout","column",1,"padding-gap-x"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x-large"],["fxLayout","row","fxFlex","100",3,"selectedTableIndex","selectedTableIndexChange"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"On-chain Balance"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s._UZ(7,"rtl-currency-unit-converter",5),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",0),s._UZ(9,"fa-icon",1),s.TgZ(10,"span",2),s._uU(11,"On-chain Transactions"),s.qZA(),s.qZA(),s.TgZ(12,"div",6),s.TgZ(13,"mat-card"),s.TgZ(14,"mat-card-content",4),s.TgZ(15,"nav",7),s.YNc(16,bp,2,6,"div",8),s.qZA(),s.TgZ(17,"div",9),s._UZ(18,"router-outlet"),s.qZA(),s.TgZ(19,"div",10),s.TgZ(20,"rtl-utxo-tables",11),s.NdJ("selectedTableIndexChange",function(e){return t.onSelectedTableIndexChanged(e)}),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faChartPie),s.xp6(6),s.Q6J("values",t.balances),s.xp6(2),s.Q6J("icon",t.faExchangeAlt),s.xp6(7),s.Q6J("ngForOf",t.links),s.xp6(4),s.Q6J("selectedTableIndex",t.selectedTable.id))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,En.D,oe.BU,a.sg,l.yH,i.lC,yp,oe.Nj,i.rH],styles:[""]}),e})();var wp=n(7969);function _p(e,t){if(1&e&&(s.TgZ(0,"mat-option",7),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.hij(" ",e.addressTp," ")}}let vp=(()=>{class e{constructor(e,t){this.store=e,this.lndEffects=t,this.addressTypes=f._t,this.selectedAddressType=f._t[0],this.newAddress=""}onGenerateAddress(){this.store.dispatch(new G.Fk("Getting New Address...")),this.store.dispatch(new x.ER(this.selectedAddressType)),this.lndEffects.setNewAddress.pipe((0,Ke.q)(1)).subscribe(e=>{this.newAddress=e,this.store.dispatch(new G.wu({width:"58%",data:{address:this.newAddress,addressType:this.selectedAddressType.addressTp,component:wp.n}}))})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(gt.l))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-receive"]],decls:8,vars:2,consts:[["fxLayout","column"],["fxLayout","row","fxLayoutAlign","start end"],["fxFlex","48","fxFlex.gt-md","25","fxLayoutAlign","start end",1,"mr-2"],["placeholder","Address Type","name","address_type","tabindex","1",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],[1,"mt-2"],["mat-flat-button","","color","primary","tabindex","2",1,"top-minus-15px",3,"click"],[3,"value"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-form-field",2),s.TgZ(3,"mat-select",3),s.NdJ("ngModelChange",function(e){return t.selectedAddressType=e}),s.YNc(4,_p,2,2,"mat-option",4),s.qZA(),s.qZA(),s.TgZ(5,"div",5),s.TgZ(6,"button",6),s.NdJ("click",function(){return t.onGenerateAddress()}),s._uU(7,"Generate Address"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Q6J("ngModel",t.selectedAddressType),s.xp6(1),s.Q6J("ngForOf",t.addressTypes))},directives:[l.xw,l.Wh,J.KE,l.yH,me.gD,ue.JJ,ue.On,a.sg,q.lW,fe.ey],styles:[""]}),e})();var qp=n(1339);const Cp=["form"],Lp=["formSweepAll"],Sp=["stepper"];function kp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Bitcoin address is required."),s.qZA())}function Fp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Amount is required."),s.qZA())}function Up(e,t){if(1&e&&(s.TgZ(0,"mat-option",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e),s.xp6(1),s.Oqu(e)}}function Np(e,t){if(1&e&&(s.TgZ(0,"mat-option",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Dp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Number of blocks is required."),s.qZA())}function Jp(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",23),s.TgZ(1,"input",32,33),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).transactionBlocks=t}),s.qZA(),s.YNc(3,Dp,2,0,"mat-error",14),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("ngModel",e.transactionBlocks)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.transactionBlocks)}}function Op(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Fees is required."),s.qZA())}function Ip(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-form-field",23),s.TgZ(1,"input",34,35),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw(2).transactionFees=t}),s.qZA(),s.YNc(3,Op,2,0,"mat-error",14),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.MGl("placeholder","Fees (",null==e.nodeData?null:e.nodeData.smaller_currency_unit,"/vByte)"),s.Q6J("ngModel",e.transactionFees)("step",1)("min",0),s.xp6(2),s.Q6J("ngIf",!e.transactionFees)}}function Qp(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Oqu(e.sendFundError)}}function Yp(e,t){if(1&e&&(s.TgZ(0,"div",36),s._UZ(1,"fa-icon",37),s.YNc(2,Qp,2,1,"span",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.sendFundError)}}function Rp(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"form",9,10),s.NdJ("submit",function(){return s.CHM(e),s.oxw().onSendFunds()})("reset",function(){return s.CHM(e),s.oxw().resetData()}),s.TgZ(2,"mat-form-field",11),s.TgZ(3,"input",12,13),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().transactionAddress=t}),s.qZA(),s.YNc(5,kp,2,0,"mat-error",14),s.qZA(),s.TgZ(6,"mat-form-field",15),s.TgZ(7,"input",16,17),s.NdJ("ngModelChange",function(t){return s.CHM(e),s.oxw().transactionAmount=t}),s.qZA(),s.TgZ(9,"span",18),s._uU(10),s.qZA(),s.YNc(11,Fp,2,0,"mat-error",14),s.qZA(),s.TgZ(12,"mat-form-field",19),s.TgZ(13,"mat-select",20),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw().onAmountUnitChange(t)}),s.YNc(14,Up,2,2,"mat-option",21),s.qZA(),s.qZA(),s.TgZ(15,"div",22),s.TgZ(16,"mat-form-field",23),s.TgZ(17,"mat-select",24),s.NdJ("valueChange",function(t){return s.CHM(e),s.oxw().selTransType=t}),s.YNc(18,Np,2,2,"mat-option",21),s.qZA(),s.qZA(),s.YNc(19,Jp,4,4,"mat-form-field",25),s.YNc(20,Ip,4,5,"mat-form-field",25),s.qZA(),s._UZ(21,"div",26),s.YNc(22,Yp,3,2,"div",27),s.TgZ(23,"div",28),s.TgZ(24,"button",29),s._uU(25,"Clear Fields"),s.qZA(),s.TgZ(26,"button",30),s._uU(27,"Send Funds"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(3),s.Q6J("ngModel",e.transactionAddress),s.xp6(2),s.Q6J("ngIf",!e.transactionAddress),s.xp6(2),s.Q6J("ngModel",e.transactionAmount)("step",100)("min",0),s.xp6(3),s.hij(" ",e.selAmountUnit," "),s.xp6(1),s.Q6J("ngIf",!e.transactionAmount),s.xp6(2),s.Q6J("value",e.selAmountUnit),s.xp6(1),s.Q6J("ngForOf",e.amountUnits),s.xp6(3),s.Q6J("value",e.selTransType),s.xp6(1),s.Q6J("ngForOf",e.transTypes),s.xp6(1),s.Q6J("ngIf","1"===e.selTransType),s.xp6(1),s.Q6J("ngIf","2"===e.selTransType),s.xp6(2),s.Q6J("ngIf",""!==e.sendFundError)}}function Mp(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(3);s.Oqu(e.passwordFormLabel)}}function Pp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Password is required."),s.qZA())}function Ep(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"mat-step",42),s.TgZ(1,"form",61),s.YNc(2,Mp,1,1,"ng-template",55),s.TgZ(3,"div",0),s.TgZ(4,"mat-form-field",1),s._UZ(5,"input",62),s.YNc(6,Pp,2,0,"mat-error",14),s.qZA(),s.qZA(),s.TgZ(7,"div",63),s.TgZ(8,"button",64),s.NdJ("click",function(){return s.CHM(e),s.oxw(2).onAuthenticate()}),s._uU(9,"Confirm"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.Q6J("stepControl",e.passwordFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.passwordFormGroup),s.xp6(5),s.Q6J("ngIf",null==e.passwordFormGroup.controls.password.errors?null:e.passwordFormGroup.controls.password.errors.required)}}function Bp(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(2);s.Oqu(e.sendFundFormLabel)}}function Hp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Bitcoin address is required."),s.qZA())}function Gp(e,t){if(1&e&&(s.TgZ(0,"mat-option",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit;s.Q6J("value",e.id),s.xp6(1),s.hij(" ",e.name," ")}}function Vp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Number of blocks is required."),s.qZA())}function zp(e,t){if(1&e&&(s.TgZ(0,"mat-form-field",65),s._UZ(1,"input",66),s.YNc(2,Vp,2,0,"mat-error",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("step",1)("min",0),s.xp6(1),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionBlocks.errors?null:e.sendFundFormGroup.controls.transactionBlocks.errors.required)}}function Wp(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Fees is required."),s.qZA())}function $p(e,t){if(1&e&&(s.TgZ(0,"mat-form-field",65),s._UZ(1,"input",67),s.YNc(2,Wp,2,0,"mat-error",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.MGl("placeholder","Fees (",null==e.nodeData?null:e.nodeData.smaller_currency_unit,"/vByte)"),s.Q6J("step",1)("min",0),s.xp6(1),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionFees.errors?null:e.sendFundFormGroup.controls.transactionFees.errors.required)}}function Xp(e,t){if(1&e&&s._uU(0),2&e){const e=s.oxw(2);s.Oqu(e.confirmFormLabel)}}function jp(e,t){if(1&e&&(s.TgZ(0,"span"),s._uU(1),s.qZA()),2&e){const e=s.oxw(3);s.xp6(1),s.Oqu(e.sendFundError)}}function Kp(e,t){if(1&e&&(s.TgZ(0,"div",36),s._UZ(1,"fa-icon",37),s.YNc(2,jp,2,1,"span",14),s.qZA()),2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("icon",e.faExclamationTriangle),s.xp6(1),s.Q6J("ngIf",""!==e.sendFundError)}}function eh(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",38),s.TgZ(1,"mat-vertical-stepper",39,40),s.NdJ("selectionChange",function(t){return s.CHM(e),s.oxw().stepSelectionChanged(t)}),s.YNc(3,Ep,10,4,"mat-step",41),s.TgZ(4,"mat-step",42),s.TgZ(5,"form",43),s.YNc(6,Bp,1,1,"ng-template",44),s.TgZ(7,"div",45),s.TgZ(8,"mat-form-field",46),s._UZ(9,"input",47),s.YNc(10,Hp,2,0,"mat-error",14),s.qZA(),s.TgZ(11,"mat-form-field",48),s.TgZ(12,"mat-select",49),s.YNc(13,Gp,2,2,"mat-option",21),s.qZA(),s.qZA(),s.YNc(14,zp,3,3,"mat-form-field",50),s.YNc(15,$p,3,4,"mat-form-field",50),s.qZA(),s.TgZ(16,"div",51),s.TgZ(17,"button",52),s._uU(18,"Next"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"mat-step",53),s.TgZ(20,"form",54),s.YNc(21,Xp,1,1,"ng-template",55),s.TgZ(22,"div",38),s.TgZ(23,"div",56),s._UZ(24,"fa-icon",57),s.TgZ(25,"span"),s._uU(26,"You are about to sweep all funds from RTL. Are you sure?"),s.qZA(),s.qZA(),s.YNc(27,Kp,3,2,"div",27),s.TgZ(28,"div",51),s.TgZ(29,"button",58),s.NdJ("click",function(){return s.CHM(e),s.oxw().onSendFunds()}),s._uU(30,"Sweep All Funds"),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.TgZ(31,"div",59),s.TgZ(32,"button",60),s._uU(33),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(1),s.Q6J("linear",!0),s.xp6(2),s.Q6J("ngIf",!e.appConfig.sso.rtlSSO),s.xp6(1),s.Q6J("stepControl",e.sendFundFormGroup)("editable",e.flgEditable),s.xp6(1),s.Q6J("formGroup",e.sendFundFormGroup),s.xp6(5),s.Q6J("ngIf",null==e.sendFundFormGroup.controls.transactionAddress.errors?null:e.sendFundFormGroup.controls.transactionAddress.errors.required),s.xp6(3),s.Q6J("ngForOf",e.transTypes),s.xp6(1),s.Q6J("ngIf","1"===e.sendFundFormGroup.controls.selTransType.value),s.xp6(1),s.Q6J("ngIf","2"===e.sendFundFormGroup.controls.selTransType.value),s.xp6(4),s.Q6J("stepControl",e.confirmFormGroup),s.xp6(1),s.Q6J("formGroup",e.confirmFormGroup),s.xp6(4),s.Q6J("icon",e.faExclamationTriangle),s.xp6(3),s.Q6J("ngIf",""!==e.sendFundError),s.xp6(5),s.Q6J("mat-dialog-close",!1),s.xp6(1),s.Oqu(e.flgValidated?"Close":"Cancel")}}let th=(()=>{class e{constructor(e,t,n,a,i,o,s,l,r,c){this.dialogRef=e,this.data=t,this.logger=n,this.store=a,this.rtlEffects=i,this.commonService=o,this.decimalPipe=s,this.snackBar=l,this.actions$=r,this.formBuilder=c,this.faExclamationTriangle=g.eHv,this.sweepAll=!1,this.selNode={},this.addressTypes=[],this.flgLoadingWallet=!0,this.selectedAddress={},this.blockchainBalance={},this.information={},this.newAddress="",this.transactionAddress="",this.transactionAmount=null,this.transactionFees=null,this.transactionBlocks=null,this.transTypes=[{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],this.selTransType="1",this.fiatConversion=!1,this.amountUnits=f.uA,this.selAmountUnit=f.uA[0],this.currConvertorRate={},this.unitConversionValue=0,this.currencyUnitFormats=f.Xz,this.sendFundError="",this.flgValidated=!1,this.flgEditable=!0,this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds",this.confirmFormLabel="Confirm sweep",this.unSubs=[new d.x,new d.x,new d.x,new d.x,new d.x]}ngOnInit(){this.sweepAll=this.data.sweepAll,this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[ue.kI.required]],password:["",[ue.kI.required]]}),this.sendFundFormGroup=this.formBuilder.group({transactionAddress:["",ue.kI.required],transactionBlocks:[null],transactionFees:[null],selTransType:["1",ue.kI.required]}),this.confirmFormGroup=this.formBuilder.group({}),this.sendFundFormGroup.controls.selTransType.valueChanges.pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{"1"===e?(this.sendFundFormGroup.controls.transactionBlocks.setValidators([ue.kI.required]),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFees.setValidators(null),this.sendFundFormGroup.controls.transactionFees.setValue(null)):(this.sendFundFormGroup.controls.transactionBlocks.setValidators(null),this.sendFundFormGroup.controls.transactionBlocks.setValue(null),this.sendFundFormGroup.controls.transactionFees.setValidators([ue.kI.required]),this.sendFundFormGroup.controls.transactionFees.setValue(null))}),this.store.select("root").pipe((0,p.R)(this.unSubs[1])).subscribe(e=>{this.fiatConversion=e.selNode.settings.fiatConversion,this.amountUnits=e.selNode.settings.currencyUnits,this.appConfig=e.appConfig,this.nodeData=e.nodeData,this.logger.info(e)}),this.actions$.pipe((0,p.R)(this.unSubs[2]),(0,h.h)(e=>e.type===x.hL||e.type===x.__)).subscribe(e=>{e.type===x.__&&(this.store.dispatch(new G.Lw(this.sweepAll?"All Funds Sent Successfully!":"Fund Sent Successfully!")),this.dialogRef.close()),e.type===x.hL&&"SetChannelTransaction"===e.payload.action&&(this.sendFundError=e.payload.message)})}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new G.ZF(qp(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,Ke.q)(1)).subscribe(e=>{"ERROR"!==e?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onSendFunds(){if(this.invalidValues)return!0;this.sendFundError="";let e=this.transactionAmount?this.transactionAmount:0;this.transactionAmount&&this.selAmountUnit!==f.NT.SATS&&this.commonService.convertCurrency(e,this.selAmountUnit===this.amountUnits[2]?f.NT.OTHER:this.selAmountUnit,this.amountUnits[2],this.fiatConversion).pipe((0,p.R)(this.unSubs[3])).subscribe(t=>{e=+this.decimalPipe.transform(t[this.amountUnits[0]],this.currencyUnitFormats[this.amountUnits[0]]).replace(/,/g,"")}),this.store.dispatch(new G.Fk("Sending Funds..."));const t={amount:e,sendAll:this.sweepAll};this.sweepAll?(t.address=this.sendFundFormGroup.controls.transactionAddress.value,"1"===this.sendFundFormGroup.controls.selTransType.value&&(t.blocks=this.sendFundFormGroup.controls.transactionBlocks.value),"2"===this.sendFundFormGroup.controls.selTransType.value&&(t.fees=this.sendFundFormGroup.controls.transactionFees.value)):(t.address=this.transactionAddress,"1"===this.selTransType&&(t.blocks=this.transactionBlocks),"2"===this.selTransType&&(t.fees=this.transactionFees)),this.store.dispatch(new x.uj(t))}get invalidValues(){return this.sweepAll?!this.sendFundFormGroup.controls.transactionAddress.value||""===this.sendFundFormGroup.controls.transactionAddress.value||"1"===this.sendFundFormGroup.controls.selTransType.value&&(!this.sendFundFormGroup.controls.transactionBlocks.value||this.sendFundFormGroup.controls.transactionBlocks.value<=0)||"2"===this.sendFundFormGroup.controls.selTransType.value&&(!this.sendFundFormGroup.controls.transactionFees.value||this.sendFundFormGroup.controls.transactionFees.value<=0):!this.transactionAddress||""===this.transactionAddress||!this.transactionAmount||this.transactionAmount<=0||"1"===this.selTransType&&(!this.transactionBlocks||this.transactionBlocks<=0)||"2"===this.selTransType&&(!this.transactionFees||this.transactionFees<=0)}resetData(){this.sendFundError="",this.selTransType="1",this.transactionAddress="",this.transactionBlocks=null,this.transactionFees=null,this.sweepAll||(this.transactionAmount=null)}stepSelectionChanged(e){switch(this.sendFundError="",e.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds";break;case 1:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds";break;case 2:this.passwordFormLabel="User authenticated successfully",this.sendFundFormLabel="Sweep funds | Address: "+this.sendFundFormGroup.controls.transactionAddress.value+" | "+this.transTypes[this.sendFundFormGroup.controls.selTransType.value-1].name+("2"===this.sendFundFormGroup.controls.selTransType.value?" ("+this.nodeData.smaller_currency_unit+"/vByte)":"")+": "+("1"===this.sendFundFormGroup.controls.selTransType.value?this.sendFundFormGroup.controls.transactionBlocks.value:this.sendFundFormGroup.controls.transactionFees.value);break;default:this.passwordFormLabel="Authenticate with your RTL password",this.sendFundFormLabel="Sweep funds"}e.selectedIndex{t.transactionAmount=+t.decimalPipe.transform(e[n],t.currencyUnitFormats[n]).replace(/,/g,"")}),this.selAmountUnit=e.value}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(ce.so),s.Y36(ce.WI),s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(mt.V),s.Y36(b.v),s.Y36(a.JJ),s.Y36(ti.ux),s.Y36(A.eX),s.Y36(ue.qu))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-send-modal"]],viewQuery:function(e,t){if(1&e&&(s.Gf(Cp,7),s.Gf(Lp,5),s.Gf(Sp,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.form=e.first),s.iGM(e=s.CRH())&&(t.formSweepAll=e.first),s.iGM(e=s.CRH())&&(t.stepper=e.first)}},decls:12,vars:4,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","default","","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100","class","overflow-x-hidden",3,"submit","reset",4,"ngIf","ngIfElse"],["sweepAllBlock",""],["fxLayout","row wrap","fxLayoutAlign","space-between start","fxFlex","100",1,"overflow-x-hidden",3,"submit","reset"],["form","ngForm"],["fxFlex.gt-sm","55"],["autoFocus","","matInput","","placeholder","Bitcoin Address","tabindex","1","name","address","required","",3,"ngModel","ngModelChange"],["address","ngModel"],[4,"ngIf"],["fxFlex.gt-sm","30"],["matInput","","placeholder","Amount","name","amt","type","number","tabindex","2","required","",3,"ngModel","step","min","ngModelChange"],["amnt","ngModel"],["matSuffix",""],["fxFlex.gt-sm","10","fxLayoutAlign","start end"],["tabindex","3","required","","name","amountUnit",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","60","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex","48"],["tabindex","4",3,"value","valueChange"],["fxFlex","48",4,"ngIf"],["fxLayout","column","fxFlex","100","fxFlex.gt-sm","40","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex","100","class","alert alert-danger mt-1",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","7","type","reset",1,"mr-1"],["mat-flat-button","","color","primary","type","submit","tabindex","8"],[3,"value"],["matInput","","placeholder","Number of Blocks","type","number","name","blcks","required","","tabindex","5",3,"ngModel","step","min","ngModelChange"],["blocks","ngModel"],["matInput","","type","number","name","chainFees","required","","tabindex","6",3,"ngModel","placeholder","step","min","ngModelChange"],["fees","ngModel"],["fxFlex","100",1,"alert","alert-danger","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl","editable"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","column","fxFlex","98","fxLayout.gt-sm","row wrap","fxLayoutAlign","start stretch","fxLayoutAlign.gt-sm","space-between start"],["fxFlex.gt-sm","45"],["matInput","","formControlName","transactionAddress","placeholder","Bitcoin Address","tabindex","4","name","address","required",""],["fxFlex.gt-sm","25"],["formControlName","selTransType","tabindex","5"],["fxFlex.gt-sm","25","fxLayoutAlign","start end",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","8","type","button","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["fxFlex","100",1,"w-100","alert","alert-warn"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["mat-stroked-button","","color","primary","tabindex","9","type","button",3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxFlex.gt-sm","25","fxLayoutAlign","start end"],["matInput","","formControlName","transactionBlocks","placeholder","Number of Blocks","type","number","name","blcks","required","","tabindex","6",3,"step","min"],["matInput","","formControlName","transactionFees","type","number","name","chainFees","required","","tabindex","7",3,"placeholder","step","min"]],template:function(e,t){if(1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"mat-card-header",2),s.TgZ(3,"div",3),s.TgZ(4,"span",4),s._uU(5),s.qZA(),s.qZA(),s.TgZ(6,"button",5),s._uU(7,"X"),s.qZA(),s.qZA(),s.TgZ(8,"mat-card-content",6),s.YNc(9,Rp,28,14,"form",7),s.qZA(),s.qZA(),s.qZA(),s.YNc(10,eh,34,15,"ng-template",null,8,s.W1O)),2&e){const e=s.MAs(11);s.xp6(5),s.Oqu(t.sweepAll?"Sweep All Funds":"Send Funds"),s.xp6(1),s.Q6J("mat-dialog-close",!1),s.xp6(3),s.Q6J("ngIf",!t.sweepAll)("ngIfElse",e)}},directives:[l.xw,l.yH,_.dk,l.Wh,q.lW,ce.ZT,_.dn,a.O5,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,pe.h,ue.Q7,ue.JJ,ue.On,ue.wV,ue.qQ,he.q,J.R9,me.gD,a.sg,J.TO,fe.ey,T.BN,ha.Vq,ha.C0,ue.sg,ha.VY,ue.u,ha.Ic],styles:[""]}),e})(),nh=(()=>{class e{constructor(e,t){this.store=e,this.activatedRoute=t,this.sweepAll=!1,this.unSubs=[new d.x,new d.x]}ngOnInit(){this.activatedRoute.data.pipe((0,p.R)(this.unSubs[0])).subscribe(e=>this.sweepAll=e.sweepAll)}openSendFundsModal(){this.store.dispatch(new G.wu({data:{sweepAll:this.sweepAll,component:th}}))}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(y.yh),s.Y36(i.gz))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-on-chain-send"]],decls:4,vars:1,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"button",2),s.NdJ("click",function(){return t.openSendFundsModal()}),s._uU(3),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(3),s.Oqu(t.sweepAll?"Sweep All":"Send Funds"))},directives:[l.xw,l.yH,l.Wh,q.lW],styles:[""]}),e})();const ah=function(e){return{"error-border":e}};function ih(e,t){if(1&e&&s._UZ(0,"rtl-node-info",24),2&e){const e=s.oxw(3);s.Q6J("information",e.information)("showColorFieldSeparately",!0)("ngClass",s.VKq(3,ah,"error"===e.flgLoading[0]))}}function oh(e,t){if(1&e&&s._UZ(0,"rtl-channel-status-info",25),2&e){const e=s.oxw(3);s.Q6J("channelsStatus",e.channelsStatus)("ngClass",s.VKq(2,ah,"error"===e.flgLoading[3]||"error"===e.flgLoading[4]))}}function sh(e,t){if(1&e&&s._UZ(0,"rtl-fee-info",26),2&e){const e=s.oxw(3);s.Q6J("fees",e.fees)("ngClass",s.VKq(2,ah,"error"===e.flgLoading[2]))}}function lh(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",12),s.TgZ(1,"div",13),s.TgZ(2,"div",14),s.TgZ(3,"div",15),s._UZ(4,"fa-icon",16),s.TgZ(5,"span"),s._uU(6),s.qZA(),s.qZA(),s.qZA(),s.TgZ(7,"div",17),s.TgZ(8,"mat-card",18),s.TgZ(9,"mat-card-content",19),s.TgZ(10,"div",20),s.YNc(11,ih,1,5,"rtl-node-info",21),s.YNc(12,oh,1,4,"rtl-channel-status-info",22),s.YNc(13,sh,1,4,"rtl-fee-info",23),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(4),s.Q6J("icon",e.icon),s.xp6(2),s.Oqu(e.title),s.xp6(4),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","node"),s.xp6(1),s.Q6J("ngSwitchCase","status"),s.xp6(1),s.Q6J("ngSwitchCase","fee")}}function rh(e,t){if(1&e&&(s.TgZ(0,"mat-grid-list",10),s.YNc(1,lh,14,8,"mat-grid-tile",11),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngForOf",e.nodeCards)}}function ch(e,t){1&e&&s.GkF(0)}function uh(e,t){if(1&e&&(s.TgZ(0,"div",30),s.YNc(1,ch,1,0,"ng-container",31),s.qZA()),2&e){const e=s.oxw(2),t=s.MAs(9);s.Q6J("ngClass",s.VKq(2,ah,"error"===e.flgLoading[1])),s.xp6(1),s.Q6J("ngTemplateOutlet",t)}}function dh(e,t){1&e&&s.GkF(0)}function ph(e,t){if(1&e&&(s.TgZ(0,"div",30),s.YNc(1,dh,1,0,"ng-container",31),s.qZA()),2&e){const e=s.oxw(2),t=s.MAs(11);s.Q6J("ngClass",s.VKq(2,ah,"error"===e.flgLoading[1])),s.xp6(1),s.Q6J("ngTemplateOutlet",t)}}function hh(e,t){1&e&&s.GkF(0)}function mh(e,t){if(1&e&&(s.TgZ(0,"div",30),s.YNc(1,hh,1,0,"ng-container",31),s.qZA()),2&e){const e=s.oxw(2),t=s.MAs(13);s.Q6J("ngClass",s.VKq(2,ah,"error"===e.flgLoading[1])),s.xp6(1),s.Q6J("ngTemplateOutlet",t)}}function gh(e,t){if(1&e&&(s.TgZ(0,"mat-grid-tile",27),s.TgZ(1,"mat-card",28),s.TgZ(2,"mat-card-content",19),s.TgZ(3,"div",20),s.YNc(4,uh,2,4,"div",29),s.YNc(5,ph,2,4,"div",29),s.YNc(6,mh,2,4,"div",29),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e){const e=t.$implicit;s.Q6J("colspan",e.cols)("rowspan",e.rows),s.xp6(3),s.Q6J("ngSwitch",e.id),s.xp6(1),s.Q6J("ngSwitchCase","general"),s.xp6(1),s.Q6J("ngSwitchCase","channels"),s.xp6(1),s.Q6J("ngSwitchCase","degrees")}}function fh(e,t){if(1&e&&(s.TgZ(0,"div",32),s.TgZ(1,"div"),s.TgZ(2,"h4",33),s._uU(3,"Network Capacity"),s.qZA(),s.TgZ(4,"div",34),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.TgZ(7,"div"),s.TgZ(8,"h4",33),s._uU(9,"Number of Nodes"),s.qZA(),s.TgZ(10,"div",34),s._uU(11),s.ALo(12,"number"),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",33),s._uU(15,"Number of Channels"),s.qZA(),s.TgZ(16,"span",34),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(5),s.hij("",s.lcZ(6,3,e.networkInfo.total_network_capacity)," Sats"),s.xp6(6),s.Oqu(s.lcZ(12,5,e.networkInfo.num_nodes)),s.xp6(6),s.Oqu(s.lcZ(18,7,e.networkInfo.num_channels))}}function xh(e,t){if(1&e&&(s.TgZ(0,"div",32),s.TgZ(1,"div"),s.TgZ(2,"h4",33),s._uU(3,"Max Channel Size"),s.qZA(),s.TgZ(4,"div",34),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.TgZ(7,"div"),s.TgZ(8,"h4",33),s._uU(9,"Avg Channel Size"),s.qZA(),s.TgZ(10,"div",34),s._uU(11),s.ALo(12,"number"),s.qZA(),s.qZA(),s.TgZ(13,"div"),s.TgZ(14,"h4",33),s._uU(15,"Min Channel Size"),s.qZA(),s.TgZ(16,"span",34),s._uU(17),s.ALo(18,"number"),s.qZA(),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(5),s.Oqu(s.lcZ(6,3,e.networkInfo.max_channel_size)),s.xp6(6),s.Oqu(s.lcZ(12,5,e.networkInfo.avg_channel_size)),s.xp6(6),s.Oqu(s.lcZ(18,7,e.networkInfo.min_channel_size))}}function Zh(e,t){if(1&e&&(s.TgZ(0,"div",32),s.TgZ(1,"div"),s.TgZ(2,"h4",33),s._uU(3,"Max Out Degree"),s.qZA(),s.TgZ(4,"div",34),s._uU(5),s.ALo(6,"number"),s.qZA(),s.qZA(),s.TgZ(7,"div"),s.TgZ(8,"h4",33),s._uU(9,"Avg Out Degree"),s.qZA(),s.TgZ(10,"div",34),s._uU(11),s.ALo(12,"number"),s.qZA(),s.qZA(),s.TgZ(13,"div",35),s._UZ(14,"h4",33),s._UZ(15,"span",34),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(5),s.Oqu(s.lcZ(6,2,e.networkInfo.max_out_degree)),s.xp6(6),s.Oqu(s.xi3(12,4,e.networkInfo.avg_out_degree,"1.0-2"))}}const yh=function(e){return{"mt-1":e}};let Ah=(()=>{class e{constructor(e,t,n){this.logger=e,this.commonService=t,this.store=n,this.faProjectDiagram=g.o4t,this.faBolt=g.BDt,this.faServer=g.xf3,this.faNetworkWired=g.kXW,this.selNode={},this.information={},this.channelsStatus={},this.networkInfo={},this.networkCards=[],this.nodeCards=[],this.screenSize="",this.screenSizeEnum=f.cu,this.userPersonaEnum=f.ol,this.flgLoading=[!0,!0,!0,!0,!0,!0],this.unSubs=[new d.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS?(this.networkCards=[{id:"general",cols:3,rows:1},{id:"channels",cols:3,rows:1},{id:"degrees",cols:3,rows:1}],this.nodeCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:3,rows:1},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:3,rows:1},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:3,rows:1}]):(this.networkCards=[{id:"general",cols:1,rows:1},{id:"channels",cols:1,rows:1},{id:"degrees",cols:1,rows:1}],this.nodeCards=[{id:"node",icon:this.faServer,title:"Node Information",cols:1,rows:1},{id:"status",icon:this.faNetworkWired,title:"Channels",cols:1,rows:1},{id:"fee",icon:this.faBolt,title:"Routing Fee",cols:1,rows:1}])}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{e.effectErrors.forEach(e=>{"FetchInfo"===e.action&&(this.flgLoading[0]="error"),"FetchNetwork"===e.action&&(this.flgLoading[1]="error"),"FetchFees"===e.action&&(this.flgLoading[2]="error"),"FetchChannels/all"===e.action&&(this.flgLoading[3]="error"),"FetchChannels/pending"===e.action&&(this.flgLoading[4]="error")}),this.selNode=e.nodeSettings,this.information=e.information,"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!this.information.identity_pubkey),this.networkInfo=e.networkInfo,"error"!==this.flgLoading[1]&&(this.flgLoading[1]=!this.networkInfo.num_nodes),this.fees=e.fees,"error"!==this.flgLoading[2]&&(this.flgLoading[2]=!this.fees.day_fee_sum),this.channelsStatus={active:{channels:e.numberOfActiveChannels,capacity:e.totalCapacityActive},inactive:{channels:e.numberOfInactiveChannels,capacity:e.totalCapacityInactive},pending:{channels:e.numberOfPendingChannels.open.num_channels,capacity:e.numberOfPendingChannels.open.limbo_balance},closing:{channels:e.numberOfPendingChannels.closing.num_channels+e.numberOfPendingChannels.force_closing.num_channels+e.numberOfPendingChannels.waiting_close.num_channels,capacity:e.numberOfPendingChannels.total_limbo_balance}},e.totalLocalBalance>=0&&e.totalRemoteBalance>=0&&"error"!==this.flgLoading[3]&&(this.flgLoading[3]=!1),e.numberOfPendingChannels&&"error"!==this.flgLoading[4]&&(this.flgLoading[4]=!1),this.logger.info(e)})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(b.v),s.Y36(y.yh))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-network-info"]],decls:14,vars:6,consts:[["fxLayout","column","fxLayoutAlign","space-between stretch",1,"mb-4"],["cols","3","rowHeight","330px",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end",1,"page-title-container",3,"ngClass"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["cols","3","rowHeight","250px"],["fxLayout","row",3,"colspan","rowspan",4,"ngFor","ngForOf"],["generalBlock",""],["channelsBlock",""],["degreesBlock",""],["cols","3","rowHeight","330px"],["class","node-grid-tile",3,"colspan","rowspan",4,"ngFor","ngForOf"],[1,"node-grid-tile",3,"colspan","rowspan"],["fxLayout","column","fxLayoutAlign","stretch start","fxFlex","100",1,"h-100"],["fxLayout","row","fxLayoutAlign","start start",1,"w-100"],["fxLayout","row","fxLayoutAlign","start start",1,"page-title-container"],[1,"mr-1",3,"icon"],["fxLayout","column","fxLayoutAlign","stretch center","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","center stretch",1,"w-100","h-93"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","w-96","h-93"],["fxFlex","100",1,"dashboard-card-content"],["fxLayout","column","fxFlex","100",3,"ngSwitch"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"channelsStatus","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"fees","ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"information","showColorFieldSeparately","ngClass"],["fxFlex","100",3,"channelsStatus","ngClass"],["fxFlex","100",3,"fees","ngClass"],["fxLayout","row",3,"colspan","rowspan"],["fxLayout","row","fxFlex","95","fxLayoutAlign","start stretch",1,"dashboard-card","h-93"],["fxFlex","100",3,"ngClass",4,"ngSwitchCase"],["fxFlex","100",3,"ngClass"],[4,"ngTemplateOutlet"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between"],[1,"dashboard-info-title"],[1,"overflow-wrap","dashboard-info-value"],["fxFlex","20"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,rh,2,1,"mat-grid-list",1),s.TgZ(2,"div",2),s._UZ(3,"fa-icon",3),s.TgZ(4,"span",4),s._uU(5,"Network"),s.qZA(),s.qZA(),s.TgZ(6,"mat-grid-list",5),s.YNc(7,gh,7,6,"mat-grid-tile",6),s.qZA(),s.qZA(),s.YNc(8,fh,19,9,"ng-template",null,7,s.W1O),s.YNc(10,xh,19,9,"ng-template",null,8,s.W1O),s.YNc(12,Zh,16,7,"ng-template",null,9,s.W1O)),2&e&&(s.xp6(1),s.Q6J("ngIf",t.selNode.userPersona!==t.userPersonaEnum.OPERATOR),s.xp6(1),s.Q6J("ngClass",s.VKq(4,yh,t.screenSize!==t.screenSizeEnum.XS)),s.xp6(1),s.Q6J("icon",t.faProjectDiagram),s.xp6(4),s.Q6J("ngForOf",t.networkCards))},directives:[l.xw,l.Wh,a.O5,a.mk,L.oO,T.BN,w.Il,a.sg,w.DX,l.yH,_.a8,_.dn,a.RF,a.n9,N,B,E,a.tP],pipes:[a.JJ],styles:[""]}),e})();function bh(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",8),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let Th=(()=>{class e{constructor(e){this.router=e,this.faDownload=g.q7m,this.links=[{link:"bckup",name:"Backup"},{link:"restore",name:"Restore"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-backup"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Channels Backup"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,bh,2,3,"div",6),s.qZA(),s.TgZ(9,"div",7),s._UZ(10,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faDownload),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,oe.BU,a.sg,l.yH,i.lC,oe.Nj,i.rH],styles:[""]}),e})();function wh(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",23),s.TgZ(1,"h4",24),s._uU(2),s.qZA(),s.TgZ(3,"div",25),s.TgZ(4,"button",26),s.NdJ("click",function(){return s.CHM(e),s.oxw().onRestoreChannels({})}),s._uU(5,"Restore All"),s.qZA(),s.qZA(),s.qZA()}if(2&e){const e=s.oxw();s.xp6(2),s.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function _h(e,t){if(1&e&&(s.TgZ(0,"div",27),s.TgZ(1,"h4",24),s._uU(2),s.qZA(),s.TgZ(3,"h4",28),s._uU(4,"All channel backup file not found! To perform channel restoration, channel backup file/s must be placed at the above location."),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function vh(e,t){if(1&e&&(s.TgZ(0,"div",27),s.TgZ(1,"h4",24),s._uU(2),s.qZA(),s.qZA()),2&e){const e=s.oxw();s.xp6(2),s.hij("Restore folder location: ",e.selNode.channelBackupPath,"/restore")}}function qh(e,t){1&e&&s._UZ(0,"mat-progress-bar",29)}function Ch(e,t){1&e&&(s.TgZ(0,"th",30),s._uU(1," Channel Point "),s.qZA())}const Lh=function(e){return{"max-width":e}};function Sh(e,t){if(1&e&&(s.TgZ(0,"td",31),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Lh,n.screenSize===n.screenSizeEnum.XS?"10rem":"45rem")),s.xp6(1),s.Oqu(null==e?null:e.channel_point)}}function kh(e,t){1&e&&(s.TgZ(0,"th",32),s.TgZ(1,"span",33),s._uU(2,"Actions"),s.qZA(),s.qZA())}function Fh(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",34),s.TgZ(1,"span",33),s.TgZ(2,"button",35),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onRestoreChannels(t)}),s._uU(3,"Restore"),s.qZA(),s.qZA(),s.qZA()}}function Uh(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No singular channel backups available."),s.qZA())}function Nh(e,t){if(1&e&&(s.TgZ(0,"td",36),s.YNc(1,Uh,2,0,"p",37),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!e.channels||!e.channels.data||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)}}const Dh=function(e){return{"display-none":e}};function Jh(e,t){if(1&e&&s._UZ(0,"tr",38),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Dh,e.channels&&e.channels.data&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Oh(e,t){1&e&&s._UZ(0,"tr",39)}function Ih(e,t){1&e&&s._UZ(0,"tr",40)}const Qh=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},Yh=function(){return["no_channel"]};let Rh=(()=>{class e{constructor(e,t,n,a){this.logger=e,this.store=t,this.lndEffects=n,this.commonService=a,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.selNode={},this.displayedColumns=["channel_point","actions"],this.channelsData=[],this.allRestoreExists=!1,this.flgLoading=[!0],this.flgSticky=!1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.dispatch(new x.gL),this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,this.logger.info(e)}),this.lndEffects.setRestoreChannelList.pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.allRestoreExists=e.all_restore_exists,this.channelsData=e.files,this.channelsData.length>0&&this.loadRestoreTable(this.channelsData),("error"!==this.flgLoading[0]||e&&e.files)&&(this.flgLoading[0]=!1),this.logger.info(e)})}ngAfterViewInit(){this.channelsData.length>0&&this.loadRestoreTable(this.channelsData)}onRestoreChannels(e){this.store.dispatch(new G.Fk("Restoring Channels...")),this.store.dispatch(new x.Cd({channelPoint:e.channel_point?e.channel_point:"ALL"}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadRestoreTable(e){this.channels=new re.by([...e]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.filterPredicate=(e,t)=>JSON.stringify(e).toLowerCase().includes(t),this.channels.paginator=this.paginator}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(gt.l),s.Y36(b.v))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-restore-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Channels")}])],decls:24,vars:16,consts:[["fxLayout","column",1,"mt-2"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxLayout","column","fxLayoutAlign","space-between start","fxLayout.gt-md","row wrap",4,"ngIf"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-2"],["fxFlex","70"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","channel_point"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","100"],["fxLayout","row",1,"mt-2"],["mat-flat-button","","color","primary","tabindex","1",3,"click"],["fxLayout","column","fxLayoutAlign","space-between start","fxLayout.gt-md","row wrap"],["fxFlex","100",1,"mt-1"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-cell",""],["mat-stroked-button","","color","primary","type","button","tabindex","1",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.YNc(1,wh,6,1,"div",1),s.YNc(2,_h,5,1,"div",2),s.YNc(3,vh,3,1,"div",2),s.TgZ(4,"div",3),s._UZ(5,"div",4),s.TgZ(6,"mat-form-field",5),s.TgZ(7,"input",6),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(8,"div",7),s.YNc(9,qh,1,0,"mat-progress-bar",8),s.TgZ(10,"table",9,10),s.ynx(12,11),s.YNc(13,Ch,2,0,"th",12),s.YNc(14,Sh,2,4,"td",13),s.BQk(),s.ynx(15,14),s.YNc(16,kh,3,0,"th",15),s.YNc(17,Fh,4,0,"td",16),s.BQk(),s.ynx(18,17),s.YNc(19,Nh,2,1,"td",18),s.BQk(),s.YNc(20,Jh,1,3,"tr",19),s.YNc(21,Oh,1,0,"tr",20),s.YNc(22,Ih,1,0,"tr",21),s.qZA(),s.qZA(),s._UZ(23,"mat-paginator",22),s.qZA()),2&e&&(s.xp6(1),s.Q6J("ngIf",t.allRestoreExists),s.xp6(1),s.Q6J("ngIf",!t.allRestoreExists&&(!t.channels||(null==t.channels||null==t.channels.data?null:t.channels.data.length)<=0)),s.xp6(1),s.Q6J("ngIf",!t.allRestoreExists&&t.channels&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)&&(null==t.channels||null==t.channels.data?null:t.channels.data.length)>0),s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(13,Qh,"error"===t.flgLoading[0])),s.xp6(10),s.Q6J("matFooterRowDef",s.DdM(15,Yh)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,a.O5,l.Wh,l.yH,J.KE,de.Nt,Q.$V,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,q.lW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,re.yh,re.Q2,re.XQ,re.Gk],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function Mh(e,t){1&e&&s._UZ(0,"mat-progress-bar",31)}function Ph(e,t){1&e&&(s.TgZ(0,"th",32),s._uU(1," Channel Point "),s.qZA())}const Eh=function(e){return{"max-width":e}};function Bh(e,t){if(1&e&&(s.TgZ(0,"td",33),s._uU(1),s.qZA()),2&e){const e=t.$implicit,n=s.oxw();s.Q6J("ngStyle",s.VKq(2,Eh,n.screenSize===n.screenSizeEnum.XS?"10rem":"28rem")),s.xp6(1),s.Oqu(null==e?null:e.channel_point)}}function Hh(e,t){1&e&&(s.TgZ(0,"th",34),s.TgZ(1,"span",35),s._uU(2,"Actions"),s.qZA(),s.qZA())}function Gh(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"td",36),s.TgZ(1,"div",37),s.TgZ(2,"mat-select",38),s._UZ(3,"mat-select-trigger"),s.TgZ(4,"mat-option",39),s.NdJ("click",function(t){const n=s.CHM(e).$implicit;return s.oxw().onChannelClick(n,t)}),s._uU(5,"View Info"),s.qZA(),s.TgZ(6,"mat-option",39),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onBackupChannels(t)}),s._uU(7,"Backup"),s.qZA(),s.TgZ(8,"mat-option",39),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onDownloadBackup(t)}),s._uU(9,"Download Backup"),s.qZA(),s.TgZ(10,"mat-option",39),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().onVerifyChannels(t)}),s._uU(11,"Verify"),s.qZA(),s.qZA(),s.qZA(),s.qZA()}}function Vh(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"No channels available."),s.qZA())}function zh(e,t){if(1&e&&(s.TgZ(0,"td",40),s.YNc(1,Vh,2,0,"p",41),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("ngIf",!(null!=e.channels&&e.channels.data)||(null==e.channels||null==e.channels.data?null:e.channels.data.length)<1)}}const Wh=function(e){return{"display-none":e}};function $h(e,t){if(1&e&&s._UZ(0,"tr",42),2&e){const e=s.oxw();s.Q6J("ngClass",s.VKq(1,Wh,(null==e.channels?null:e.channels.data)&&(null==e.channels||null==e.channels.data?null:e.channels.data.length)>0))}}function Xh(e,t){1&e&&s._UZ(0,"tr",43)}function jh(e,t){1&e&&s._UZ(0,"tr",44)}const Kh=function(e){return{"overflow-auto error-border":e,"overflow-auto":!0}},em=function(){return["no_channel"]};let tm=(()=>{class e{constructor(e,t,n,a,i){this.logger=e,this.store=t,this.actions$=n,this.commonService=a,this.rtlEffects=i,this.faInfoCircle=g.sqG,this.faExclamationTriangle=g.eHv,this.faArchive=g.N2j,this.pageSize=f.IV,this.pageSizeOptions=f.TJ,this.selNode={},this.displayedColumns=["channel_point","actions"],this.channelsData=[],this.flgLoading=[!0],this.flgSticky=!1,this.screenSize="",this.screenSizeEnum=f.cu,this.unSubs=[new d.x,new d.x,new d.x,new d.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select("lnd").pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.selNode=e.nodeSettings,e.effectErrors.forEach(e=>{"Fetchchannels"===e.action&&(this.flgLoading[0]="error")}),this.channelsData=e.allChannels,this.channelsData.length>0&&this.loadBackupTable(this.channelsData),"error"!==this.flgLoading[0]&&(this.flgLoading[0]=!1),this.logger.info(e)}),this.actions$.pipe((0,p.R)(this.unSubs[1]),(0,h.h)(e=>e.type===x.P2||e.type===G.BQ)).subscribe(e=>{e.type===x.P2&&(this.selectedChannel=void 0),e.type===G.BQ&&(this.commonService.downloadFile(e.payload,"channel-"+(this.selectedChannel.channel_point?this.selectedChannel.channel_point:"all"),".bak",".bak"),this.selectedChannel=void 0,this.store.dispatch(new G.Iv))})}ngAfterViewInit(){this.channelsData.length>0&&this.loadBackupTable(this.channelsData)}onBackupChannels(e){this.store.dispatch(new G.Fk("Backup Channels...")),this.store.dispatch(new x.FN({channelPoint:e.channel_point?e.channel_point:"ALL",showMessage:""}))}onVerifyChannels(e){this.store.dispatch(new G.Fk("Verify Channels...")),this.store.dispatch(new x.gf({channelPoint:e.channel_point?e.channel_point:"ALL"}))}onDownloadBackup(e){this.selectedChannel=e,this.store.dispatch(new G.Fk("Downloading Backup File...")),this.store.dispatch(new G.nw({channelPoint:e.channel_point?e.channel_point:"all"}))}onChannelClick(e,t){this.store.dispatch(new G.wu({data:{channel:e,showCopy:!1,component:ci}}))}applyFilter(e){this.channels.filter=e.value.trim().toLowerCase()}loadBackupTable(e){this.channels=new re.by(e?[...e]:[]),this.channels.sort=this.sort,this.channels.sortingDataAccessor=(e,t)=>e[t]&&isNaN(e[t])?e[t].toLocaleLowerCase():e[t]?+e[t]:null,this.channels.paginator=this.paginator,this.channels.filterPredicate=(e,t)=>((e.active?"active":"inactive")+(e.channel_point?e.channel_point.toLowerCase():"")+(e.chan_id?e.chan_id.toLowerCase():"")+(e.remote_pubkey?e.remote_pubkey.toLowerCase():"")+(e.remote_alias?e.remote_alias.toLowerCase():"")+(e.capacity?e.capacity:"")+(e.local_balance?e.local_balance:"")+(e.remote_balance?e.remote_balance:"")+(e.total_satoshis_sent?e.total_satoshis_sent:"")+(e.total_satoshis_received?e.total_satoshis_received:"")+(e.commit_fee?e.commit_fee:"")+(e.private?"private":"public")).includes(t)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(Z.mQ),s.Y36(y.yh),s.Y36(A.eX),s.Y36(b.v),s.Y36(mt.V))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-channel-backup-table"]],viewQuery:function(e,t){if(1&e&&(s.Gf(le.YE,5),s.Gf(se.NW,5)),2&e){let e;s.iGM(e=s.CRH())&&(t.sort=e.first),s.iGM(e=s.CRH())&&(t.paginator=e.first)}},features:[s._Bn([{provide:se.ye,useValue:(0,f.pt)("Channels")}])],decls:42,vars:17,consts:[["fxLayout","column"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","1",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-2"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","channel_point"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",3,"ngStyle",4,"matCellDef"],["matColumnDef","actions"],["mat-header-cell","","class","pr-3",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_channel"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",3,"ngStyle"],["mat-header-cell","",1,"pr-3"],["fxLayoutAlign","end center"],["mat-cell","","fxLayoutAlign","end center"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"div",1),s.TgZ(2,"div",2),s._UZ(3,"fa-icon",3),s.TgZ(4,"span"),s._uU(5,"Save your backup files in a redundant location."),s.qZA(),s.qZA(),s.TgZ(6,"div",4),s._UZ(7,"fa-icon",3),s.TgZ(8,"span"),s.TgZ(9,"strong"),s._uU(10,"Backup Folder Location: "),s.qZA(),s._uU(11),s.qZA(),s.qZA(),s.TgZ(12,"div",5),s.TgZ(13,"button",6),s.NdJ("click",function(){return t.onVerifyChannels({})}),s._uU(14,"Verify All"),s.qZA(),s.TgZ(15,"button",7),s.NdJ("click",function(){return t.onBackupChannels({})}),s._uU(16,"Backup All"),s.qZA(),s.TgZ(17,"button",8),s.NdJ("click",function(){return t.onDownloadBackup({})}),s._uU(18,"Download Backup"),s.qZA(),s.qZA(),s.qZA(),s.TgZ(19,"div",9),s.TgZ(20,"div",10),s._UZ(21,"fa-icon",11),s.TgZ(22,"span",12),s._uU(23,"Backups"),s.qZA(),s.qZA(),s.TgZ(24,"mat-form-field",13),s.TgZ(25,"input",14),s.NdJ("keyup",function(e){return t.applyFilter(e.target)}),s.qZA(),s.qZA(),s.qZA(),s.TgZ(26,"div",15),s.YNc(27,Mh,1,0,"mat-progress-bar",16),s.TgZ(28,"table",17,18),s.ynx(30,19),s.YNc(31,Ph,2,0,"th",20),s.YNc(32,Bh,2,4,"td",21),s.BQk(),s.ynx(33,22),s.YNc(34,Hh,3,0,"th",23),s.YNc(35,Gh,12,0,"td",24),s.BQk(),s.ynx(36,25),s.YNc(37,zh,2,1,"td",26),s.BQk(),s.YNc(38,$h,1,3,"tr",27),s.YNc(39,Xh,1,0,"tr",28),s.YNc(40,jh,1,0,"tr",29),s.qZA(),s.qZA(),s._UZ(41,"mat-paginator",30),s.qZA()),2&e&&(s.xp6(3),s.Q6J("icon",t.faExclamationTriangle),s.xp6(4),s.Q6J("icon",t.faInfoCircle),s.xp6(4),s.hij("",t.selNode.channelBackupPath,"."),s.xp6(10),s.Q6J("icon",t.faArchive),s.xp6(6),s.Q6J("ngIf",!0===t.flgLoading[0]),s.xp6(1),s.Q6J("dataSource",t.channels)("ngClass",s.VKq(14,Kh,"error"===t.flgLoading[0])),s.xp6(10),s.Q6J("matFooterRowDef",s.DdM(16,em)),s.xp6(1),s.Q6J("matHeaderRowDef",t.displayedColumns)("matHeaderRowDefSticky",t.flgSticky),s.xp6(1),s.Q6J("matRowDefColumns",t.displayedColumns),s.xp6(1),s.Q6J("pageSize",t.pageSize)("pageSizeOptions",t.pageSizeOptions)("showFirstLastButtons",t.screenSize!==t.screenSizeEnum.XS))},directives:[l.xw,l.Wh,l.yH,T.BN,q.lW,J.KE,de.Nt,Q.$V,a.O5,re.BZ,le.YE,a.mk,L.oO,re.w1,re.fO,re.Dz,re.mD,re.Ke,re.as,re.nj,se.NW,r.pW,re.ge,le.nU,re.ev,a.PC,L.Zl,me.gD,me.$L,fe.ey,re.yh,re.Q2,re.XQ,re.Gk],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function nm(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",8),s.NdJ("click",function(){const t=s.CHM(e).$implicit;return s.oxw().activeLink=t.link}),s._uU(1),s.qZA()}if(2&e){const e=t.$implicit,n=s.oxw();s.s9C("routerLink",e.link),s.Q6J("active",n.activeLink===e.link),s.xp6(1),s.Oqu(e.name)}}let am=(()=>{class e{constructor(e){this.router=e,this.faUserCheck=g.hkK,this.links=[{link:"sign",name:"Sign"},{link:"verify",name:"Verify"}],this.activeLink=this.links[0].link,this.unSubs=[new d.x,new d.x]}ngOnInit(){let e=this.links.find(e=>this.router.url.includes(e.link));this.activeLink=e?e.link:this.links[0].link,this.router.events.pipe((0,p.R)(this.unSubs[0]),(0,h.h)(e=>e instanceof i.Av)).subscribe(e=>{let t=this.links.find(t=>e.urlAfterRedirects.includes(t.link));this.activeLink=t?t.link:this.links[0].link})}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(i.F0))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-sign-verify-message"]],decls:11,vars:2,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s._UZ(1,"fa-icon",1),s.TgZ(2,"span",2),s._uU(3,"Sign/Verify Message"),s.qZA(),s.qZA(),s.TgZ(4,"div",3),s.TgZ(5,"mat-card"),s.TgZ(6,"mat-card-content",4),s.TgZ(7,"nav",5),s.YNc(8,nm,2,3,"div",6),s.qZA(),s.TgZ(9,"div",7),s._UZ(10,"router-outlet"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(1),s.Q6J("icon",t.faUserCheck),s.xp6(7),s.Q6J("ngForOf",t.links))},directives:[l.xw,l.Wh,T.BN,_.a8,_.dn,oe.BU,a.sg,l.yH,i.lC,oe.Nj,i.rH],styles:[""]}),e})();function im(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Message is required."),s.qZA())}let om=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.signedMessage="",this.signature="",this.unSubs=[new d.x,new d.x]}onSign(){if(!this.message||""===this.message)return!0;this.dataService.signMessage(this.message).pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.signedMessage=this.message,this.signature=e.signature})}onMessageChange(){this.signedMessage!==this.message&&(this.signature="")}onCopyField(e){this.snackBar.open("Signature copied."),this.logger.info("Copied Text: "+e)}resetData(){this.message="",this.signature="",this.signedMessage=""}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(et.D),s.Y36(ti.ux),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-sign"]],decls:20,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to sign","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","2","type","reset","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","4","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"textarea",4),s.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onMessageChange()}),s.qZA(),s.YNc(5,im,2,0,"mat-error",5),s.qZA(),s.TgZ(6,"div",6),s.TgZ(7,"button",7),s.NdJ("click",function(){return t.resetData()}),s._uU(8,"Clear Field"),s.qZA(),s.TgZ(9,"button",8),s.NdJ("click",function(){return t.onSign()}),s._uU(10,"Sign"),s.qZA(),s.qZA(),s._UZ(11,"mat-divider",9),s.TgZ(12,"div",10),s.TgZ(13,"p"),s._uU(14,"Generated Signature"),s.qZA(),s.qZA(),s.TgZ(15,"div",11),s._uU(16),s.qZA(),s.TgZ(17,"div",12),s.TgZ(18,"button",13),s.NdJ("copied",function(e){return t.onCopyField(e)}),s._uU(19,"Copy Signature"),s.qZA(),s.qZA(),s.qZA(),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.message),s.xp6(1),s.Q6J("ngIf",!t.message),s.xp6(6),s.Q6J("inset",!0),s.xp6(5),s.Oqu(t.signature),s.xp6(2),s.Q6J("payload",t.signature))},directives:[l.xw,l.yH,l.Wh,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,pe.h,ue.Q7,ue.JJ,ue.On,a.O5,q.lW,I.d,ni.y,J.TO],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();function sm(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Message is required."),s.qZA())}function lm(e,t){1&e&&(s.TgZ(0,"mat-error"),s._uU(1,"Signature is required."),s.qZA())}function rm(e,t){1&e&&(s.TgZ(0,"p",13),s.TgZ(1,"mat-icon",14),s._uU(2,"close"),s.qZA(),s._uU(3,"Verification failed, please double check message and signature"),s.qZA())}function cm(e,t){1&e&&(s.TgZ(0,"p"),s._uU(1,"Pubkey Used"),s.qZA())}function um(e,t){if(1&e&&(s.TgZ(0,"div",20),s.TgZ(1,"p"),s._uU(2),s.qZA(),s.qZA()),2&e){const e=s.oxw(2);s.xp6(2),s.Oqu(null==e.verifyRes?null:e.verifyRes.pubkey)}}function dm(e,t){if(1&e){const e=s.EpF();s.TgZ(0,"div",21),s.TgZ(1,"button",22),s.NdJ("copied",function(t){return s.CHM(e),s.oxw(2).onCopyField(t)}),s._uU(2,"Copy Pubkey"),s.qZA(),s.qZA()}if(2&e){const e=s.oxw(2);s.xp6(1),s.Q6J("payload",null==e.verifyRes?null:e.verifyRes.pubkey)}}function pm(e,t){if(1&e&&(s.TgZ(0,"div",15),s._UZ(1,"mat-divider",16),s.TgZ(2,"div",17),s.YNc(3,cm,2,0,"p",5),s.qZA(),s.YNc(4,um,3,1,"div",18),s.YNc(5,dm,3,1,"div",19),s.qZA()),2&e){const e=s.oxw();s.xp6(1),s.Q6J("inset",!0),s.xp6(2),s.Q6J("ngIf",e.verifyRes.valid),s.xp6(1),s.Q6J("ngIf",e.verifyRes.valid),s.xp6(1),s.Q6J("ngIf",e.verifyRes.valid)}}let hm=(()=>{class e{constructor(e,t,n){this.dataService=e,this.snackBar=t,this.logger=n,this.message="",this.verifiedMessage="",this.signature="",this.verifiedSignature="",this.showVerifyStatus=!1,this.verifyRes={pubkey:"",valid:null},this.unSubs=[new d.x,new d.x]}onVerify(){if(!this.message||""===this.message||!this.signature||""===this.signature)return!0;this.dataService.verifyMessage(this.message,this.signature).pipe((0,p.R)(this.unSubs[0])).subscribe(e=>{this.verifyRes=e,this.showVerifyStatus=!0,this.verifiedMessage=this.message,this.verifiedSignature=this.signature})}onChange(){this.verifiedMessage===this.message&&this.verifiedSignature===this.signature||(this.showVerifyStatus=!1,this.verifyRes={pubkey:"",valid:null})}resetData(){this.message="",this.signature="",this.verifyRes=null,this.showVerifyStatus=!1}onCopyField(e){this.snackBar.open("Pubkey copied."),this.logger.info("Copied Text: "+e)}ngOnDestroy(){this.unSubs.forEach(e=>{e.next(null),e.complete()})}}return e.\u0275fac=function(t){return new(t||e)(s.Y36(et.D),s.Y36(ti.ux),s.Y36(Z.mQ))},e.\u0275cmp=s.Xpm({type:e,selectors:[["rtl-verify"]],decls:17,vars:6,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],["form","ngForm"],["fxFlex","100","fxLayoutAlign","start end"],["autoFocus","","matInput","","rows","1","placeholder","Message to verify","required","","tabindex","1","name","message",3,"ngModel","ngModelChange","keyup"],[4,"ngIf"],["matInput","","placeholder","Signature provided","name","signature","tabindex","2","required","",3,"ngModel","ngModelChange","keyup"],["sign","ngModel"],["fxFlex","100","class","color-warn","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","3","type","reset","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","4","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap",4,"ngIf"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn"],[1,"mr-1","icon-small"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap"],[1,"my-2",3,"inset"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start","class","bordered-box read-only h-4 padding-gap",4,"ngIf"],["fxLayout","row","class","mt-2",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"bordered-box","read-only","h-4","padding-gap"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","rtlClipboard","","type","button",3,"payload","copied"]],template:function(e,t){1&e&&(s.TgZ(0,"div",0),s.TgZ(1,"form",1,2),s.TgZ(3,"mat-form-field",3),s.TgZ(4,"textarea",4),s.NdJ("ngModelChange",function(e){return t.message=e})("keyup",function(){return t.onChange()}),s.qZA(),s.YNc(5,sm,2,0,"mat-error",5),s.qZA(),s.TgZ(6,"mat-form-field",3),s.TgZ(7,"input",6,7),s.NdJ("ngModelChange",function(e){return t.signature=e})("keyup",function(){return t.onChange()}),s.qZA(),s.YNc(9,lm,2,0,"mat-error",5),s.qZA(),s.YNc(10,rm,4,0,"p",8),s.TgZ(11,"div",9),s.TgZ(12,"button",10),s.NdJ("click",function(){return t.resetData()}),s._uU(13,"Clear Fields"),s.qZA(),s.TgZ(14,"button",11),s.NdJ("click",function(){return t.onVerify()}),s._uU(15,"Verify"),s.qZA(),s.qZA(),s.YNc(16,pm,6,4,"div",12),s.qZA(),s.qZA()),2&e&&(s.xp6(4),s.Q6J("ngModel",t.message),s.xp6(1),s.Q6J("ngIf",!t.message),s.xp6(2),s.Q6J("ngModel",t.signature),s.xp6(2),s.Q6J("ngIf",!t.signature),s.xp6(1),s.Q6J("ngIf",t.showVerifyStatus&&!t.verifyRes.valid),s.xp6(6),s.Q6J("ngIf",t.showVerifyStatus&&t.verifyRes.valid))},directives:[l.xw,l.yH,l.Wh,ue._Y,ue.JL,ue.F,J.KE,de.Nt,ue.Fj,pe.h,ue.Q7,ue.JJ,ue.On,a.O5,q.lW,J.TO,C.Hw,I.d,ni.y],styles:[".mat-column-channel_point[_ngcontent-%COMP%]{flex:1 1 25%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]}),e})();var mm=n(8016),gm=n(6013);const fm=i.Bz.forChild([{path:"",component:u,children:[{path:"",pathMatch:"full",redirectTo:"home"},{path:"home",component:Pn,canActivate:[gm.QM]},{path:"wallet",component:Sr,canActivate:[gm.a1]},{path:"onchain",component:Tp,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"receive/utxos"},{path:"receive/:selTab",component:vp,canActivate:[gm.QM]},{path:"send/:selTab",component:nh,data:{sweepAll:!1},canActivate:[gm.QM]},{path:"sweep/:selTab",component:nh,data:{sweepAll:!0},canActivate:[gm.QM]}]},{path:"connections",component:Vn,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"channels"},{path:"channels",component:ei,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"open"},{path:"open",component:Co,canActivate:[gm.QM]},{path:"pending",component:ol,canActivate:[gm.QM]},{path:"closed",component:Ll,canActivate:[gm.QM]},{path:"activehtlcs",component:ir,canActivate:[gm.QM]}]},{path:"peers",component:Wa,data:{sweepAll:!1},canActivate:[gm.QM]}]},{path:"transactions",component:Fr,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"payments"},{path:"payments",component:xn,canActivate:[gm.QM]},{path:"invoices",component:je,canActivate:[gm.QM]},{path:"queryroutes",component:Kr,canActivate:[gm.QM]}]},{path:"messages",component:am,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"sign"},{path:"sign",component:om,canActivate:[gm.QM]},{path:"verify",component:hm,canActivate:[gm.QM]}]},{path:"channelbackup",component:Th,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"bckup"},{path:"bckup",component:tm,canActivate:[gm.QM]},{path:"restore",component:Rh,canActivate:[gm.QM]}]},{path:"routing",component:Fc,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"forwardinghistory"},{path:"forwardinghistory",component:au,canActivate:[gm.QM]},{path:"peers",component:Bu,canActivate:[gm.QM]}]},{path:"reports",component:Gu,canActivate:[gm.QM],children:[{path:"",pathMatch:"full",redirectTo:"routingfees"},{path:"routingfees",component:td,canActivate:[gm.QM]},{path:"transactions",component:dd,canActivate:[gm.QM]}]},{path:"lookups",component:qc,canActivate:[gm.QM]},{path:"network",component:Ah,canActivate:[gm.QM]},{path:"**",component:mm.w},{path:"rates",redirectTo:"network"}]}]);var xm=n(253);let Zm=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=s.oAB({type:e,bootstrap:[u]}),e.\u0275inj=s.cJS({providers:[gm.QM],imports:[[a.ez,xm.m,fm]]}),e})()}}]); \ No newline at end of file diff --git a/angular/958.88b5fa8d3b93e7a0e7b3.js b/angular/958.88b5fa8d3b93e7a0e7b3.js new file mode 100644 index 00000000..d82dcc0a --- /dev/null +++ b/angular/958.88b5fa8d3b93e7a0e7b3.js @@ -0,0 +1 @@ +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[958],{7810:(t,e,n)=>{"use strict";n.d(e,{Kf:()=>a,I3:()=>i});var a={prefix:"far",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"]},i={prefix:"far",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"]}},4636:(t,e,n)=>{"use strict";n.d(e,{Q:()=>i});var a=n(709);const i=[(0,a.X$)("newlyAddedRowAnimation",[(0,a.SB)("notAdded, void",(0,a.oB)({transform:"translateX(0%)"})),(0,a.SB)("added",(0,a.oB)({transform:"translateX(100%)"})),(0,a.eR)("added <=> notAdded",(0,a.jt)("1000ms ease-out")),(0,a.eR)("added <=> void",(0,a.jt)("0ms ease-out"))])]},882:(t,e,n)=>{"use strict";n.d(e,{D:()=>T});var a=n(9666),i=n(8606),s=n(9568),o=n(9421),r=n(1572),l=n(1084),c=n(964),u=n(5109),d=n(1511),g=n(3722),m=n(6828);function f(t,e){if(1&t&&(r.TgZ(0,"span",8),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(r.lcZ(2,1,t.dataValue))}}function p(t,e){if(1&t&&(r.TgZ(0,"span",8),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw(2);r.xp6(1),r.Oqu(r.xi3(2,1,t[e.currencyUnitEnum.BTC],e.currencyUnitFormats.BTC))}}function h(t,e){if(1&t&&(r.TgZ(0,"span",8),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw(2);r.xp6(1),r.Oqu(r.xi3(2,1,t[e.currencyUnitEnum.OTHER],e.currencyUnitFormats.OTHER))}}function x(t,e){if(1&t&&(r.TgZ(0,"div",5),r.TgZ(1,"div",6),r._uU(2),r.qZA(),r.YNc(3,f,3,3,"span",7),r.YNc(4,p,3,4,"span",7),r.YNc(5,h,3,4,"span",7),r.qZA()),2&t){const t=e.$implicit,n=r.oxw().$implicit,a=r.oxw();r.Q6J("matTooltip",t.tooltip)("matTooltipPosition","below"),r.xp6(2),r.Oqu(t.title),r.xp6(1),r.Q6J("ngIf",n===a.currencyUnitEnum.SATS),r.xp6(1),r.Q6J("ngIf",n===a.currencyUnitEnum.BTC),r.xp6(1),r.Q6J("ngIf",a.fiatConversion&&n!==a.currencyUnitEnum.SATS&&n!==a.currencyUnitEnum.BTC&&""===a.conversionErrorMsg)}}function y(t,e){if(1&t&&(r.TgZ(0,"div",9),r.TgZ(1,"div",10),r._uU(2),r.qZA(),r.qZA()),2&t){const t=r.oxw(2);r.xp6(2),r.Oqu(t.conversionErrorMsg)}}function Z(t,e){if(1&t&&(r.TgZ(0,"mat-tab",1),r.TgZ(1,"div",2),r.YNc(2,x,6,6,"div",3),r.qZA(),r.YNc(3,y,3,1,"div",4),r.qZA()),2&t){const t=e.$implicit,n=r.oxw();r.s9C("label",t),r.xp6(2),r.Q6J("ngForOf",n.values),r.xp6(1),r.Q6J("ngIf",n.fiatConversion&&t!==n.currencyUnitEnum.SATS&&t!==n.currencyUnitEnum.BTC&&""!==n.conversionErrorMsg)}}let T=(()=>{class t{constructor(t,e){this.commonService=t,this.store=e,this.values=[],this.currencyUnitEnum=o.NT,this.currencyUnitFormats=o.Xz,this.currencyUnits=[],this.fiatConversion=!1,this.conversionErrorMsg="",this.unSubs=[new a.x,new a.x,new a.x]}ngOnInit(){this.store.select("root").pipe((0,i.P)()).subscribe(t=>{this.fiatConversion=t.selNode.settings.fiatConversion,this.currencyUnits=t.selNode.settings.currencyUnits,this.fiatConversion||this.currencyUnits.splice(2,1),this.currencyUnits.length>1&&this.values[0]&&this.values[0].dataValue>=0&&this.getCurrencyValues(this.values)})}ngOnChanges(){this.currencyUnits.length>1&&this.values[0]&&this.values[0].dataValue>=0&&this.getCurrencyValues(this.values)}getCurrencyValues(t){t.forEach(t=>{t.dataValue>0?(this.commonService.convertCurrency(t.dataValue,o.NT.SATS,o.NT.BTC,"",!0).pipe((0,s.R)(this.unSubs[1])).subscribe(e=>{t[o.NT.BTC]=e.BTC}),this.commonService.convertCurrency(t.dataValue,o.NT.SATS,o.NT.OTHER,this.currencyUnits[2],this.fiatConversion).pipe((0,s.R)(this.unSubs[2])).subscribe({next:e=>{t[o.NT.OTHER]=e.OTHER},error:t=>{this.conversionErrorMsg="Conversion Error: "+t}})):(t[o.NT.BTC]=t.dataValue,""===this.conversionErrorMsg&&(t[o.NT.OTHER]=t.dataValue))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(l.v),r.Y36(c.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-currency-unit-converter"]],inputs:{values:"values"},features:[r.TTD],decls:2,vars:1,consts:[[3,"label",4,"ngFor","ngForOf"],[3,"label"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxLayout","column","fxLayoutAlign","start start","class","cc-data-block",3,"matTooltip","matTooltipPosition",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","100","class","p-1 error-border mt-1",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start start",1,"cc-data-block",3,"matTooltip","matTooltipPosition"],[1,"cc-data-title"],["class","cc-data-value",4,"ngIf"],[1,"cc-data-value"],["fxLayout","row","fxFlex","100",1,"p-1","error-border","mt-1"],[1,"cc-data-block"]],template:function(t,e){1&t&&(r.TgZ(0,"mat-tab-group"),r.YNc(1,Z,4,3,"mat-tab",0),r.qZA()),2&t&&(r.xp6(1),r.Q6J("ngForOf",e.currencyUnits))},directives:[u.SP,d.sg,u.uX,g.xw,g.yH,g.Wh,d.O5,m.gM],pipes:[d.JJ],styles:[""]}),t})()},7969:(t,e,n)=>{"use strict";n.d(e,{n:()=>w});var a=n(4608),i=n(5291),s=n(9421),o=n(1572),r=n(3869),l=n(1084),c=n(1403),u=n(3722),d=n(1511),g=n(377),m=n(3600),f=n(7439),p=n(7592),h=n(5980),x=n(7679),y=n(6880),Z=n(2609);function T(t,e){if(1&t&&(o.TgZ(0,"div",14),o.TgZ(1,"div",15),o.TgZ(2,"h4",16),o._uU(3,"Address Type"),o.qZA(),o.TgZ(4,"span",21),o._uU(5),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.Oqu(t.addressType)}}function A(t,e){1&t&&o._UZ(0,"mat-divider",18)}const S=function(t){return{"display-none":t}};let w=(()=>{class t{constructor(t,e,n,a,o){this.dialogRef=t,this.data=e,this.logger=n,this.commonService=a,this.snackBar=o,this.faReceipt=i.dLy,this.address="",this.addressType="",this.qrWidth=230,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.address=this.data.address,this.addressType=this.data.addressType,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyAddress(t){this.snackBar.open("Generated address copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(a.so),o.Y36(a.WI),o.Y36(r.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-on-chain-generated-address"]],decls:27,vars:22,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","2","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"overflow-wrap","foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-1"],["autoFocus","","mat-flat-button","","color","primary","tabindex","1","type","submit","rtlClipboard","",3,"payload","copied"],[1,"foreground-secondary-text"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"qrcode",2),o.qZA(),o.TgZ(3,"div",3),o.TgZ(4,"mat-card-header",4),o.TgZ(5,"div",5),o._UZ(6,"fa-icon",6),o.TgZ(7,"span",7),o._uU(8),o.qZA(),o.qZA(),o.TgZ(9,"button",8),o.NdJ("click",function(){return e.onClose()}),o._uU(10,"X"),o.qZA(),o.qZA(),o.TgZ(11,"mat-card-content",9),o.TgZ(12,"div",10),o.TgZ(13,"div",11),o._UZ(14,"qrcode",2),o.qZA(),o.YNc(15,T,6,1,"div",12),o.YNc(16,A,1,0,"mat-divider",13),o.TgZ(17,"div",14),o.TgZ(18,"div",15),o.TgZ(19,"h4",16),o._uU(20,"Address"),o.qZA(),o.TgZ(21,"span",17),o._uU(22),o.qZA(),o.qZA(),o.qZA(),o._UZ(23,"mat-divider",18),o.TgZ(24,"div",19),o.TgZ(25,"button",20),o.NdJ("copied",function(t){return e.onCopyAddress(t)}),o._uU(26,"Copy Address"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngClass",o.VKq(18,S,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("qrdata",e.address)("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Address":"Generated Address"),o.xp6(5),o.Q6J("ngClass",o.VKq(20,S,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("qrdata",e.address)("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),o.xp6(1),o.Q6J("ngIf",""!==e.addressType),o.xp6(1),o.Q6J("ngIf",""!==e.addressType),o.xp6(6),o.Oqu(e.address),o.xp6(3),o.Q6J("payload",e.address))},directives:[u.xw,u.Wh,u.yH,d.mk,g.oO,m.V,f.dk,p.BN,h.lW,f.dn,d.O5,x.d,y.h,Z.y],styles:[""]}),t})()},4018:(t,e,n)=>{"use strict";n.d(e,{D:()=>R});var a=n(1572),i=n(194),s=n(9421),o=n(3869),r=n(3722),l=n(5980),c=n(3691),u=n(1511),d=n(4786),g=n(6073),m=n(1522),f=n(6283);let p=(()=>{class t extends m.LF{format(t,e){return"MMM YYYY"===e?s.gg[t.getMonth()].name+", "+t.getFullYear():"YYYY"===e?t.getFullYear().toString():t.getDate()+"/"+s.gg[t.getMonth()].name+"/"+t.getFullYear()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=a.n5z(t)))(n||t)}}(),t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})();const h={parse:{dateInput:"LL"},display:{dateInput:"MMM YYYY",monthYearLabel:"YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"YYYY"}},x={parse:{dateInput:"LL"},display:{dateInput:"YYYY",monthYearLabel:"YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"YYYY"}};let y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","monthlyDate",""]],features:[a._Bn([{provide:m._A,useClass:p},{provide:m.sG,useValue:h}])]}),t})(),Z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","yearlyDate",""]],features:[a._Bn([{provide:m._A,useClass:p},{provide:m.sG,useValue:x}])]}),t})();var T=n(6756),A=n(5812),S=n(5095),w=n(3474);const v=["monthlyDatepicker"],C=["yearlyDatepicker"],b=function(){return{animationDirection:"forward"}};function q(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,b))}}const L=function(){return{animationDirection:"backward"}};function Y(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,L))}}const D=function(){return{animationDirection:""}};function M(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,D))}}function F(t,e){if(1&t&&(a.TgZ(0,"mat-option",17),a._uU(1),a.ALo(2,"titlecase"),a.qZA()),2&t){const t=e.$implicit;a.Q6J("value",t),a.xp6(1),a.hij(" ",a.lcZ(2,2,t)," ")}}function k(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-form-field",18),a.TgZ(1,"input",19,20),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw(2).selectedValue=e}),a.qZA(),a._UZ(3,"mat-datepicker-toggle",21),a.TgZ(4,"mat-datepicker",22,23),a.NdJ("monthSelected",function(e){return a.CHM(t),a.oxw(2).onMonthSelected(e)})("dateSelected",function(e){return a.CHM(t),a.oxw(2).onMonthSelected(e)}),a.qZA(),a.qZA()}if(2&t){const t=a.MAs(5),e=a.oxw(2);a.xp6(1),a.Q6J("matDatepicker",t)("min",e.first)("max",e.last)("ngModel",e.selectedValue),a.xp6(2),a.Q6J("for",t),a.xp6(1),a.Q6J("startAt",e.selectedValue)}}function _(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-form-field",24),a.TgZ(1,"input",25,26),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw(2).selectedValue=e}),a.qZA(),a._UZ(3,"mat-datepicker-toggle",21),a.TgZ(4,"mat-datepicker",27,28),a.NdJ("yearSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)})("monthSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)})("dateSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)}),a.qZA(),a.qZA()}if(2&t){const t=a.MAs(5),e=a.oxw(2);a.xp6(1),a.Q6J("matDatepicker",t)("min",e.first)("max",e.last)("ngModel",e.selectedValue),a.xp6(2),a.Q6J("for",t),a.xp6(1),a.Q6J("startAt",e.selectedValue)}}function N(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"div",10),a.TgZ(1,"div",11),a.TgZ(2,"mat-select",12),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw().selScrollRange=e})("selectionChange",function(e){return a.CHM(t),a.oxw().onRangeChanged(e)}),a.YNc(3,F,3,4,"mat-option",13),a.qZA(),a.qZA(),a.TgZ(4,"div",14),a.YNc(5,k,6,6,"mat-form-field",15),a.YNc(6,_,6,6,"mat-form-field",16),a.qZA(),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("@sliderAnimation",t.animationDirection),a.xp6(2),a.Q6J("ngModel",t.selScrollRange),a.xp6(1),a.Q6J("ngForOf",t.scrollRanges),a.xp6(2),a.Q6J("ngIf",t.selScrollRange===t.scrollRanges[0]),a.xp6(1),a.Q6J("ngIf",t.selScrollRange===t.scrollRanges[1])}}let R=(()=>{class t{constructor(t){this.logger=t,this.scrollRanges=s.op,this.selScrollRange=this.scrollRanges[0],this.today=new Date(Date.now()),this.first=new Date(2018,0,1,0,0,0),this.last=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate(),0,0,0),this.disablePrev=!1,this.disableNext=!0,this.animationDirection="",this.selectedValue=this.last,this.stepChanged=new a.vpe}onRangeChanged(t){this.selScrollRange=t.value,this.onStepChange("LAST")}onMonthSelected(t){this.selectedValue=t,this.onStepChange("SELECTED"),this.monthlyDatepicker.close()}onYearSelected(t){this.selectedValue=t,this.onStepChange("SELECTED"),this.yearlyDatepicker.close()}onStepChange(t){switch(this.logger.info(t),t){case"FIRST":this.animationDirection="backward",this.selectedValue!==this.first&&(this.selectedValue=this.first,this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange}));break;case"PREVIOUS":this.selectedValue=this.selScrollRange===s.op[1]?new Date(this.selectedValue.getFullYear()-1,0,1,0,0,0):new Date(this.selectedValue.getFullYear(),this.selectedValue.getMonth()-1,1,0,0,0),this.animationDirection="backward",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;case"NEXT":this.selectedValue=this.selScrollRange===s.op[1]?new Date(this.selectedValue.getFullYear()+1,0,1,0,0,0):new Date(this.selectedValue.getFullYear(),this.selectedValue.getMonth()+1,1,0,0,0),this.animationDirection="forward",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;case"LAST":this.animationDirection="forward",this.selectedValue=this.last,this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;default:this.animationDirection="",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange})}this.disablePrev=this.selScrollRange===s.op[1]?this.selectedValue.getFullYear()<=this.first.getFullYear():this.selectedValue.getFullYear()<=this.first.getFullYear()&&this.selectedValue.getMonth()<=this.first.getMonth(),this.disableNext=this.selScrollRange===s.op[1]?this.selectedValue.getFullYear()>=this.last.getFullYear():this.selectedValue.getFullYear()>=this.last.getFullYear()&&this.selectedValue.getMonth()>=this.last.getMonth(),this.logger.info(this.disablePrev),this.logger.info(this.disableNext),setTimeout(()=>{this.animationDirection=""},800)}onChartMouseUp(t){"monthlyDate"===t.srcElement.name?this.monthlyDatepicker.open():"yearlyDate"===t.srcElement.name&&this.yearlyDatepicker.open()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(o.mQ))},t.\u0275cmp=a.Xpm({type:t,selectors:[["rtl-horizontal-scroller"]],viewQuery:function(t,e){if(1&t&&(a.Gf(v,5),a.Gf(C,5)),2&t){let t;a.iGM(t=a.CRH())&&(e.monthlyDatepicker=t.first),a.iGM(t=a.CRH())&&(e.yearlyDatepicker=t.first)}},hostBindings:function(t,e){1&t&&a.NdJ("click",function(t){return e.onChartMouseUp(t)})},outputs:{stepChanged:"stepChanged"},decls:20,vars:5,consts:[["fxLayout","row","fxLayoutAlign","space-between stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","22"],["mat-icon-button","","color","primary","type","button","tabindex","1",1,"pr-4",3,"click"],["mat-icon-button","","color","primary","type","button","tabindex","2",3,"disabled","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","22"],["mat-icon-button","","color","primary","type","button","tabindex","5",1,"pr-4",3,"disabled","click"],["mat-icon-button","","color","primary","type","button","tabindex","6",3,"click"],["controlsPanel",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["fxLayout","row","fxLayoutAlign","center center","fxFlex","56"],["fxFlex","50","fxLayoutAlign","center center","fxLayoutAlign.gt-xs","end center",1,"font-bold-700"],["fxFlex","80","fxFlex.gt-md","30","name","selScrlRange","placeholder","Range","tabindex","3",1,"font-bold-700",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","50","fxLayout","row","fxLayoutAlign","center center","fxLayoutAlign.gt-xs","start center"],["monthlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center",4,"ngIf"],["yearlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center",4,"ngIf"],[3,"value"],["monthlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center"],["matInput","","name","monthlyDate","tabindex","4","readonly","",3,"matDatepicker","min","max","ngModel","ngModelChange"],["monthlyDt","ngModel"],["matSuffix","",3,"for"],["startView","year",3,"startAt","monthSelected","dateSelected"],["monthlyDatepicker",""],["yearlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center"],["matInput","","name","yearlyDate","tabindex","4","readonly","",3,"matDatepicker","min","max","ngModel","ngModelChange"],["yearlyDt","ngModel"],["startView","multi-year",3,"startAt","yearSelected","monthSelected","dateSelected"],["yearlyDatepicker",""]],template:function(t,e){1&t&&(a.TgZ(0,"div",0),a.TgZ(1,"div",1),a.TgZ(2,"button",2),a.NdJ("click",function(){return e.onStepChange("FIRST")}),a.TgZ(3,"mat-icon"),a._uU(4,"skip_previous"),a.qZA(),a.qZA(),a.TgZ(5,"button",3),a.NdJ("click",function(){return e.onStepChange("PREVIOUS")}),a.TgZ(6,"mat-icon"),a._uU(7,"navigate_before"),a.qZA(),a.qZA(),a.qZA(),a.YNc(8,q,1,3,"ng-container",4),a.YNc(9,Y,1,3,"ng-container",4),a.YNc(10,M,1,3,"ng-container",4),a.TgZ(11,"div",5),a.TgZ(12,"button",6),a.NdJ("click",function(){return e.onStepChange("NEXT")}),a.TgZ(13,"mat-icon"),a._uU(14,"navigate_next"),a.qZA(),a.qZA(),a.TgZ(15,"button",7),a.NdJ("click",function(){return e.onStepChange("LAST")}),a.TgZ(16,"mat-icon"),a._uU(17,"skip_next"),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.YNc(18,N,7,5,"ng-template",null,8,a.W1O)),2&t&&(a.xp6(5),a.Q6J("disabled",e.disablePrev),a.xp6(3),a.Q6J("ngIf","forward"===e.animationDirection),a.xp6(1),a.Q6J("ngIf","backward"===e.animationDirection),a.xp6(1),a.Q6J("ngIf",""===e.animationDirection),a.xp6(2),a.Q6J("disabled",e.disableNext))},directives:[r.xw,r.Wh,r.yH,l.lW,c.Hw,u.O5,u.tP,d.gD,g.JJ,g.On,u.sg,m.ey,f.KE,y,T.Nt,A.hl,S.q,w.F,g.Fj,A.nW,f.R9,A.Mq,Z],pipes:[u.rS],styles:[""],data:{animation:[i.l]}}),t})()},6590:(t,e,n)=>{"use strict";n.d(e,{g:()=>O});var a=n(3005),i=n(2464),s=n(7033),o=n(9421),r=n(3929),l=n(1572),c=n(1084),u=n(964),d=n(1511),g=n(3722),m=n(6283),f=n(6756),p=n(6073),h=n(7038),x=n(4786),y=n(1522),Z=n(5980),T=n(377);function A(t,e){1&t&&(l.TgZ(0,"th",27),l._uU(1,"Date"),l.qZA())}function S(t,e){if(1&t&&(l.TgZ(0,"td",28),l._uU(1),l.ALo(2,"date"),l.qZA()),2&t){const t=e.$implicit,n=l.oxw();l.xp6(1),l.Oqu(l.xi3(2,1,null==t?null:t.date,n.dataRange===n.scrollRanges[1]?"MMM/yyyy":"dd/MMM/yyyy"))}}function w(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"Amount Paid (Sats)"),l.qZA())}function v(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.xi3(3,1,null==t?null:t.amount_paid,"1.0-2"))}}function C(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"# Payments"),l.qZA())}function b(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.lcZ(3,1,null==t?null:t.num_payments))}}function q(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"Amount Received (Sats)"),l.qZA())}function L(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.xi3(3,1,null==t?null:t.amount_received,"1.0-2"))}}function Y(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"# Invoices"),l.qZA())}function D(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.lcZ(3,1,null==t?null:t.num_invoices))}}function M(t,e){if(1&t){const t=l.EpF();l.TgZ(0,"th",31),l.TgZ(1,"div",32),l.TgZ(2,"mat-select",33),l._UZ(3,"mat-select-trigger"),l.TgZ(4,"mat-option",34),l.NdJ("click",function(){return l.CHM(t),l.oxw().onDownloadCSV()}),l._uU(5,"Download CSV"),l.qZA(),l.qZA(),l.qZA(),l.qZA()}}function F(t,e){if(1&t){const t=l.EpF();l.TgZ(0,"td",35),l.TgZ(1,"button",36),l.NdJ("click",function(){const e=l.CHM(t).$implicit;return l.oxw().onTransactionClick(e)}),l._uU(2,"View Info"),l.qZA(),l.qZA()}}function k(t,e){1&t&&(l.TgZ(0,"p"),l._uU(1,"No transaction available."),l.qZA())}function _(t,e){if(1&t&&(l.TgZ(0,"td",37),l.YNc(1,k,2,0,"p",38),l.qZA()),2&t){const t=l.oxw();l.xp6(1),l.Q6J("ngIf",!(null!=t.transactions&&t.transactions.data)||(null==t.transactions||null==t.transactions.data?null:t.transactions.data.length)<1)}}const N=function(t){return{"display-none":t}};function R(t,e){if(1&t&&l._UZ(0,"tr",39),2&t){const t=l.oxw();l.Q6J("ngClass",l.VKq(1,N,(null==t.transactions?null:t.transactions.data)&&(null==t.transactions||null==t.transactions.data?null:t.transactions.data.length)>0))}}function U(t,e){1&t&&l._UZ(0,"tr",40)}function J(t,e){1&t&&l._UZ(0,"tr",41)}const V=function(){return["no_transaction"]};let O=(()=>{class t{constructor(t,e,n){this.commonService=t,this.store=e,this.datePipe=n,this.dataRange=o.op[0],this.dataList=[],this.filterValue="",this.timezoneOffset=60*new Date(Date.now()).getTimezoneOffset(),this.scrollRanges=o.op,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=o.IV,this.pageSizeOptions=o.TJ,this.screenSize="",this.screenSizeEnum=o.cu,this.screenSize=this.commonService.getScreenSize(),this.screenSize===o.cu.XS||this.screenSize===o.cu.SM?(this.flgSticky=!1,this.displayedColumns=["date","amount_paid","amount_received","actions"]):this.screenSize===o.cu.MD?(this.flgSticky=!1,this.displayedColumns=["date","amount_paid","num_payments","amount_received","num_invoices","actions"]):(this.flgSticky=!0,this.displayedColumns=["date","amount_paid","num_payments","amount_received","num_invoices","actions"])}ngOnInit(){this.dataList&&this.dataList.length>0&&this.loadTransactionsTable(this.dataList)}ngAfterViewInit(){this.setTableWidgets()}ngOnChanges(t){t.dataList&&!t.dataList.firstChange&&this.loadTransactionsTable(this.dataList),t.filterValue&&!t.filterValue.firstChange&&this.applyFilter()}onTransactionClick(t){const e=[[{key:"date",value:this.datePipe.transform(t.date,this.dataRange===o.op[1]?"MMM/yyyy":"dd/MMM/yyyy"),title:"Date",width:100,type:o.Gi.DATE}],[{key:"amount_paid",value:Math.round(t.amount_paid),title:"Amount Paid (Sats)",width:50,type:o.Gi.NUMBER},{key:"num_payments",value:t.num_payments,title:"# Payments",width:50,type:o.Gi.NUMBER}],[{key:"amount_received",value:Math.round(t.amount_received),title:"Amount Received (Sats)",width:50,type:o.Gi.NUMBER},{key:"num_invoices",value:t.num_invoices,title:"# Invoices",width:50,type:o.Gi.NUMBER}]];this.store.dispatch(new r.wu({data:{type:o.n_.INFORMATION,alertTitle:"Transaction Summary",message:e}}))}applyFilter(){this.transactions&&(this.transactions.filter=this.filterValue.trim().toLowerCase())}loadTransactionsTable(t){this.transactions=new s.by(t?[...t]:[]),this.setTableWidgets()}setTableWidgets(){this.transactions&&this.transactions.data&&this.transactions.data.length>0&&(this.transactions.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.transactions.sort=this.sort,this.transactions.filterPredicate=(t,e)=>((t.date?(this.datePipe.transform(t.date,"dd/MMM")+"/"+t.date.getFullYear()).toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.transactions.paginator=this.paginator)}onDownloadCSV(){this.transactions.data&&this.transactions.data.length>0&&this.commonService.downloadFile(this.dataList,"Transactions-report-"+this.dataRange.toLowerCase())}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(c.v),l.Y36(u.yh),l.Y36(d.uU))},t.\u0275cmp=l.Xpm({type:t,selectors:[["rtl-transactions-report-table"]],viewQuery:function(t,e){if(1&t&&(l.Gf(i.YE,5),l.Gf(a.NW,5)),2&t){let t;l.iGM(t=l.CRH())&&(e.sort=t.first),l.iGM(t=l.CRH())&&(e.paginator=t.first)}},inputs:{dataRange:"dataRange",dataList:"dataList",filterValue:"filterValue"},features:[l._Bn([{provide:a.ye,useValue:(0,o.pt)("Transactions")}]),l.TTD],decls:34,vars:10,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","amount_paid"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","num_payments"],["matColumnDef","amount_received"],["matColumnDef","num_invoices"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(l.TgZ(0,"div",0),l.TgZ(1,"div",1),l.TgZ(2,"div",2),l._UZ(3,"div",3),l.TgZ(4,"mat-form-field",4),l.TgZ(5,"input",5),l.NdJ("ngModelChange",function(t){return e.filterValue=t})("input",function(){return e.applyFilter()})("keyup",function(){return e.applyFilter()}),l.qZA(),l.qZA(),l.qZA(),l.TgZ(6,"div",6),l.TgZ(7,"div",7),l.TgZ(8,"table",8,9),l.ynx(10,10),l.YNc(11,A,2,0,"th",11),l.YNc(12,S,3,4,"td",12),l.BQk(),l.ynx(13,13),l.YNc(14,w,2,0,"th",14),l.YNc(15,v,4,4,"td",12),l.BQk(),l.ynx(16,15),l.YNc(17,C,2,0,"th",14),l.YNc(18,b,4,3,"td",12),l.BQk(),l.ynx(19,16),l.YNc(20,q,2,0,"th",14),l.YNc(21,L,4,4,"td",12),l.BQk(),l.ynx(22,17),l.YNc(23,Y,2,0,"th",14),l.YNc(24,D,4,3,"td",12),l.BQk(),l.ynx(25,18),l.YNc(26,M,6,0,"th",19),l.YNc(27,F,3,0,"td",20),l.BQk(),l.ynx(28,21),l.YNc(29,_,2,1,"td",22),l.BQk(),l.YNc(30,R,1,3,"tr",23),l.YNc(31,U,1,0,"tr",24),l.YNc(32,J,1,0,"tr",25),l.qZA(),l._UZ(33,"mat-paginator",26),l.qZA(),l.qZA(),l.qZA(),l.qZA()),2&t&&(l.xp6(5),l.Q6J("ngModel",e.filterValue),l.xp6(3),l.Q6J("dataSource",e.transactions),l.xp6(22),l.Q6J("matFooterRowDef",l.DdM(9,V)),l.xp6(1),l.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),l.xp6(1),l.Q6J("matRowDefColumns",e.displayedColumns),l.xp6(1),l.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[g.xw,g.yH,g.Wh,m.KE,f.Nt,p.Fj,p.JJ,p.On,h.$V,s.BZ,i.YE,s.w1,s.fO,s.Dz,s.mD,s.Ke,s.as,s.nj,a.NW,s.ge,i.nU,s.ev,x.gD,x.$L,y.ey,Z.lW,s.yh,d.O5,s.Q2,d.mk,T.oO,s.XQ,s.Gk],pipes:[d.uU,d.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})()},3474:(t,e,n)=>{"use strict";n.d(e,{F:()=>s});var a=n(6073),i=n(1572);let s=(()=>{class t{validate(t){return this.max?a.kI.max(+this.max)(t):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=i.lG2({type:t,selectors:[["input","max",""]],inputs:{max:"max"},features:[i._Bn([{provide:a.Cf,useExisting:t,multi:!0}])]}),t})()}}]); \ No newline at end of file diff --git a/angular/958.9a3ae49eb9fc6ea729f7.js b/angular/958.9a3ae49eb9fc6ea729f7.js deleted file mode 100644 index c107da5e..00000000 --- a/angular/958.9a3ae49eb9fc6ea729f7.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[958],{7810:(t,e,n)=>{"use strict";n.d(e,{Kf:()=>a,I3:()=>i});var a={prefix:"far",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"]},i={prefix:"far",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"]}},4636:(t,e,n)=>{"use strict";n.d(e,{Q:()=>i});var a=n(709);const i=[(0,a.X$)("newlyAddedRowAnimation",[(0,a.SB)("notAdded, void",(0,a.oB)({transform:"translateX(0%)"})),(0,a.SB)("added",(0,a.oB)({transform:"translateX(100%)"})),(0,a.eR)("added <=> notAdded",(0,a.jt)("1000ms ease-out")),(0,a.eR)("added <=> void",(0,a.jt)("0ms ease-out"))])]},882:(t,e,n)=>{"use strict";n.d(e,{D:()=>Z});var a=n(9666),i=n(8606),s=n(9568),o=n(9421),r=n(1572),l=n(1084),c=n(964),u=n(5109),d=n(1511),g=n(3722),m=n(6828);function f(t,e){if(1&t&&(r.TgZ(0,"span",7),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(r.lcZ(2,1,t.dataValue))}}function p(t,e){if(1&t&&(r.TgZ(0,"span",7),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw(2);r.xp6(1),r.Oqu(r.xi3(2,1,t[e.currencyUnitEnum.BTC],e.currencyUnitFormats.BTC))}}function h(t,e){if(1&t&&(r.TgZ(0,"span",7),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw(2);r.xp6(1),r.Oqu(r.xi3(2,1,t[e.currencyUnitEnum.OTHER],e.currencyUnitFormats.OTHER))}}function x(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"div",5),r._uU(2),r.qZA(),r.YNc(3,f,3,3,"span",6),r.YNc(4,p,3,4,"span",6),r.YNc(5,h,3,4,"span",6),r.qZA()),2&t){const t=e.$implicit,n=r.oxw().$implicit,a=r.oxw();r.Q6J("matTooltip",t.tooltip)("matTooltipPosition","below"),r.xp6(2),r.Oqu(t.title),r.xp6(1),r.Q6J("ngIf",n===a.currencyUnitEnum.SATS),r.xp6(1),r.Q6J("ngIf",n===a.currencyUnitEnum.BTC),r.xp6(1),r.Q6J("ngIf",a.fiatConversion&&n!==a.currencyUnitEnum.SATS&&n!==a.currencyUnitEnum.BTC)}}function y(t,e){if(1&t&&(r.TgZ(0,"mat-tab",1),r.TgZ(1,"div",2),r.YNc(2,x,6,6,"div",3),r.qZA(),r.qZA()),2&t){const t=e.$implicit,n=r.oxw();r.s9C("label",t),r.xp6(2),r.Q6J("ngForOf",n.values)}}let Z=(()=>{class t{constructor(t,e){this.commonService=t,this.store=e,this.values=[],this.currencyUnitEnum=o.NT,this.currencyUnitFormats=o.Xz,this.currencyUnits=[],this.fiatConversion=!1,this.unSubs=[new a.x,new a.x]}ngOnInit(){this.store.select("root").pipe((0,i.P)()).subscribe(t=>{this.fiatConversion=t.selNode.settings.fiatConversion,this.currencyUnits=t.selNode.settings.currencyUnits,this.fiatConversion||this.currencyUnits.splice(2,1),this.currencyUnits.length>1&&this.values[0].dataValue>=0&&this.getCurrencyValues(this.values)})}ngOnChanges(){this.currencyUnits.length>1&&this.values[0].dataValue>=0&&this.getCurrencyValues(this.values)}getCurrencyValues(t){t.forEach(t=>{t.dataValue>0?this.commonService.convertCurrency(t.dataValue,o.NT.SATS,this.currencyUnits[2],this.fiatConversion).pipe((0,s.R)(this.unSubs[1])).subscribe(e=>{t[o.NT.BTC]=e.BTC,t[o.NT.OTHER]=e.OTHER}):(t[o.NT.BTC]=t.dataValue,t[o.NT.OTHER]=t.dataValue)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(l.v),r.Y36(c.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-currency-unit-converter"]],inputs:{values:"values"},features:[r.TTD],decls:2,vars:1,consts:[[3,"label",4,"ngFor","ngForOf"],[3,"label"],["fxLayout","row","fxFlex","100"],["fxLayout","column","class","cc-data-block",3,"matTooltip","matTooltipPosition",4,"ngFor","ngForOf"],["fxLayout","column",1,"cc-data-block",3,"matTooltip","matTooltipPosition"],[1,"cc-data-title"],["class","cc-data-value",4,"ngIf"],[1,"cc-data-value"]],template:function(t,e){1&t&&(r.TgZ(0,"mat-tab-group"),r.YNc(1,y,3,2,"mat-tab",0),r.qZA()),2&t&&(r.xp6(1),r.Q6J("ngForOf",e.currencyUnits))},directives:[u.SP,d.sg,u.uX,g.xw,g.yH,m.gM,d.O5],pipes:[d.JJ],styles:[""]}),t})()},7969:(t,e,n)=>{"use strict";n.d(e,{n:()=>w});var a=n(4608),i=n(5291),s=n(9421),o=n(1572),r=n(3869),l=n(1084),c=n(1403),u=n(3722),d=n(1511),g=n(377),m=n(3600),f=n(7439),p=n(7592),h=n(5980),x=n(7679),y=n(6880),Z=n(2609);function A(t,e){if(1&t&&(o.TgZ(0,"div",14),o.TgZ(1,"div",15),o.TgZ(2,"h4",16),o._uU(3,"Address Type"),o.qZA(),o.TgZ(4,"span",21),o._uU(5),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(5),o.Oqu(t.addressType)}}function T(t,e){1&t&&o._UZ(0,"mat-divider",18)}const S=function(t){return{"display-none":t}};let w=(()=>{class t{constructor(t,e,n,a,o){this.dialogRef=t,this.data=e,this.logger=n,this.commonService=a,this.snackBar=o,this.faReceipt=i.dLy,this.address="",this.addressType="",this.qrWidth=230,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.address=this.data.address,this.addressType=this.data.addressType,this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyAddress(t){this.snackBar.open("Generated address copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(a.so),o.Y36(a.WI),o.Y36(r.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-on-chain-generated-address"]],decls:27,vars:22,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","2","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"overflow-wrap","foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-1"],["autoFocus","","mat-flat-button","","color","primary","tabindex","1","type","submit","rtlClipboard","",3,"payload","copied"],[1,"foreground-secondary-text"]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o._UZ(2,"qrcode",2),o.qZA(),o.TgZ(3,"div",3),o.TgZ(4,"mat-card-header",4),o.TgZ(5,"div",5),o._UZ(6,"fa-icon",6),o.TgZ(7,"span",7),o._uU(8),o.qZA(),o.qZA(),o.TgZ(9,"button",8),o.NdJ("click",function(){return e.onClose()}),o._uU(10,"X"),o.qZA(),o.qZA(),o.TgZ(11,"mat-card-content",9),o.TgZ(12,"div",10),o.TgZ(13,"div",11),o._UZ(14,"qrcode",2),o.qZA(),o.YNc(15,A,6,1,"div",12),o.YNc(16,T,1,0,"mat-divider",13),o.TgZ(17,"div",14),o.TgZ(18,"div",15),o.TgZ(19,"h4",16),o._uU(20,"Address"),o.qZA(),o.TgZ(21,"span",17),o._uU(22),o.qZA(),o.qZA(),o.qZA(),o._UZ(23,"mat-divider",18),o.TgZ(24,"div",19),o.TgZ(25,"button",20),o.NdJ("copied",function(t){return e.onCopyAddress(t)}),o._uU(26,"Copy Address"),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t&&(o.xp6(1),o.Q6J("ngClass",o.VKq(18,S,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("qrdata",e.address)("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Address":"Generated Address"),o.xp6(5),o.Q6J("ngClass",o.VKq(20,S,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("qrdata",e.address)("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),o.xp6(1),o.Q6J("ngIf",""!==e.addressType),o.xp6(1),o.Q6J("ngIf",""!==e.addressType),o.xp6(6),o.Oqu(e.address),o.xp6(3),o.Q6J("payload",e.address))},directives:[u.xw,u.Wh,u.yH,d.mk,g.oO,m.V,f.dk,p.BN,h.lW,f.dn,d.O5,x.d,y.h,Z.y],styles:[""]}),t})()},4018:(t,e,n)=>{"use strict";n.d(e,{D:()=>R});var a=n(1572),i=n(194),s=n(9421),o=n(3869),r=n(3722),l=n(5980),c=n(3691),u=n(1511),d=n(4786),g=n(6073),m=n(1522),f=n(6283);let p=(()=>{class t extends m.LF{format(t,e){return"MMM YYYY"===e?s.gg[t.getMonth()].name+", "+t.getFullYear():"YYYY"===e?t.getFullYear().toString():t.getDate()+"/"+s.gg[t.getMonth()].name+"/"+t.getFullYear()}}return t.\u0275fac=function(){let e;return function(n){return(e||(e=a.n5z(t)))(n||t)}}(),t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})();const h={parse:{dateInput:"LL"},display:{dateInput:"MMM YYYY",monthYearLabel:"YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"YYYY"}},x={parse:{dateInput:"LL"},display:{dateInput:"YYYY",monthYearLabel:"YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"YYYY"}};let y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","monthlyDate",""]],features:[a._Bn([{provide:m._A,useClass:p},{provide:m.sG,useValue:h}])]}),t})(),Z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","yearlyDate",""]],features:[a._Bn([{provide:m._A,useClass:p},{provide:m.sG,useValue:x}])]}),t})();var A=n(6756),T=n(5812),S=n(5095),w=n(3474);const C=["monthlyDatepicker"],v=["yearlyDatepicker"],b=function(){return{animationDirection:"forward"}};function q(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,b))}}const L=function(){return{animationDirection:"backward"}};function D(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,L))}}const Y=function(){return{animationDirection:""}};function M(t,e){if(1&t&&a.GkF(0,9),2&t){a.oxw();const t=a.MAs(19);a.Q6J("ngTemplateOutlet",t)("ngTemplateOutletContext",a.DdM(2,Y))}}function F(t,e){if(1&t&&(a.TgZ(0,"mat-option",17),a._uU(1),a.ALo(2,"titlecase"),a.qZA()),2&t){const t=e.$implicit;a.Q6J("value",t),a.xp6(1),a.hij(" ",a.lcZ(2,2,t)," ")}}function k(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-form-field",18),a.TgZ(1,"input",19,20),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw(2).selectedValue=e}),a.qZA(),a._UZ(3,"mat-datepicker-toggle",21),a.TgZ(4,"mat-datepicker",22,23),a.NdJ("monthSelected",function(e){return a.CHM(t),a.oxw(2).onMonthSelected(e)})("dateSelected",function(e){return a.CHM(t),a.oxw(2).onMonthSelected(e)}),a.qZA(),a.qZA()}if(2&t){const t=a.MAs(5),e=a.oxw(2);a.xp6(1),a.Q6J("matDatepicker",t)("min",e.first)("max",e.last)("ngModel",e.selectedValue),a.xp6(2),a.Q6J("for",t),a.xp6(1),a.Q6J("startAt",e.selectedValue)}}function _(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-form-field",24),a.TgZ(1,"input",25,26),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw(2).selectedValue=e}),a.qZA(),a._UZ(3,"mat-datepicker-toggle",21),a.TgZ(4,"mat-datepicker",27,28),a.NdJ("yearSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)})("monthSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)})("dateSelected",function(e){return a.CHM(t),a.oxw(2).onYearSelected(e)}),a.qZA(),a.qZA()}if(2&t){const t=a.MAs(5),e=a.oxw(2);a.xp6(1),a.Q6J("matDatepicker",t)("min",e.first)("max",e.last)("ngModel",e.selectedValue),a.xp6(2),a.Q6J("for",t),a.xp6(1),a.Q6J("startAt",e.selectedValue)}}function N(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"div",10),a.TgZ(1,"div",11),a.TgZ(2,"mat-select",12),a.NdJ("ngModelChange",function(e){return a.CHM(t),a.oxw().selScrollRange=e})("selectionChange",function(e){return a.CHM(t),a.oxw().onRangeChanged(e)}),a.YNc(3,F,3,4,"mat-option",13),a.qZA(),a.qZA(),a.TgZ(4,"div",14),a.YNc(5,k,6,6,"mat-form-field",15),a.YNc(6,_,6,6,"mat-form-field",16),a.qZA(),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("@sliderAnimation",t.animationDirection),a.xp6(2),a.Q6J("ngModel",t.selScrollRange),a.xp6(1),a.Q6J("ngForOf",t.scrollRanges),a.xp6(2),a.Q6J("ngIf",t.selScrollRange===t.scrollRanges[0]),a.xp6(1),a.Q6J("ngIf",t.selScrollRange===t.scrollRanges[1])}}let R=(()=>{class t{constructor(t){this.logger=t,this.scrollRanges=s.op,this.selScrollRange=this.scrollRanges[0],this.today=new Date(Date.now()),this.first=new Date(2018,0,1,0,0,0),this.last=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate(),0,0,0),this.disablePrev=!1,this.disableNext=!0,this.animationDirection="",this.selectedValue=this.last,this.stepChanged=new a.vpe}onRangeChanged(t){this.selScrollRange=t.value,this.onStepChange("LAST")}onMonthSelected(t){this.selectedValue=t,this.onStepChange("SELECTED"),this.monthlyDatepicker.close()}onYearSelected(t){this.selectedValue=t,this.onStepChange("SELECTED"),this.yearlyDatepicker.close()}onStepChange(t){switch(this.logger.info(t),t){case"FIRST":this.animationDirection="backward",this.selectedValue!==this.first&&(this.selectedValue=this.first,this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange}));break;case"PREVIOUS":this.selectedValue=this.selScrollRange===s.op[1]?new Date(this.selectedValue.getFullYear()-1,0,1,0,0,0):new Date(this.selectedValue.getFullYear(),this.selectedValue.getMonth()-1,1,0,0,0),this.animationDirection="backward",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;case"NEXT":this.selectedValue=this.selScrollRange===s.op[1]?new Date(this.selectedValue.getFullYear()+1,0,1,0,0,0):new Date(this.selectedValue.getFullYear(),this.selectedValue.getMonth()+1,1,0,0,0),this.animationDirection="forward",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;case"LAST":this.animationDirection="forward",this.selectedValue=this.last,this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange});break;default:this.animationDirection="",this.stepChanged.emit({selDate:this.selectedValue,selScrollRange:this.selScrollRange})}this.disablePrev=this.selScrollRange===s.op[1]?this.selectedValue.getFullYear()<=this.first.getFullYear():this.selectedValue.getFullYear()<=this.first.getFullYear()&&this.selectedValue.getMonth()<=this.first.getMonth(),this.disableNext=this.selScrollRange===s.op[1]?this.selectedValue.getFullYear()>=this.last.getFullYear():this.selectedValue.getFullYear()>=this.last.getFullYear()&&this.selectedValue.getMonth()>=this.last.getMonth(),this.logger.info(this.disablePrev),this.logger.info(this.disableNext),setTimeout(()=>{this.animationDirection=""},800)}onChartMouseUp(t){"monthlyDate"===t.srcElement.name?this.monthlyDatepicker.open():"yearlyDate"===t.srcElement.name&&this.yearlyDatepicker.open()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(o.mQ))},t.\u0275cmp=a.Xpm({type:t,selectors:[["rtl-horizontal-scroller"]],viewQuery:function(t,e){if(1&t&&(a.Gf(C,5),a.Gf(v,5)),2&t){let t;a.iGM(t=a.CRH())&&(e.monthlyDatepicker=t.first),a.iGM(t=a.CRH())&&(e.yearlyDatepicker=t.first)}},hostBindings:function(t,e){1&t&&a.NdJ("click",function(t){return e.onChartMouseUp(t)})},outputs:{stepChanged:"stepChanged"},decls:20,vars:5,consts:[["fxLayout","row","fxLayoutAlign","space-between stretch","fxFlex","100",1,"padding-gap-x"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","22"],["mat-icon-button","","color","primary","type","button","tabindex","1",1,"pr-4",3,"click"],["mat-icon-button","","color","primary","type","button","tabindex","2",3,"disabled","click"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","22"],["mat-icon-button","","color","primary","type","button","tabindex","5",1,"pr-4",3,"disabled","click"],["mat-icon-button","","color","primary","type","button","tabindex","6",3,"click"],["controlsPanel",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["fxLayout","row","fxLayoutAlign","center center","fxFlex","56"],["fxFlex","50","fxLayoutAlign","center center","fxLayoutAlign.gt-xs","end center",1,"font-bold-700"],["fxFlex","80","fxFlex.gt-md","30","name","selScrlRange","placeholder","Range","tabindex","3",1,"font-bold-700",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","50","fxLayout","row","fxLayoutAlign","center center","fxLayoutAlign.gt-xs","start center"],["monthlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center",4,"ngIf"],["yearlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center",4,"ngIf"],[3,"value"],["monthlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center"],["matInput","","name","monthlyDate","tabindex","4","readonly","",3,"matDatepicker","min","max","ngModel","ngModelChange"],["monthlyDt","ngModel"],["matSuffix","",3,"for"],["startView","year",3,"startAt","monthSelected","dateSelected"],["monthlyDatepicker",""],["yearlyDate","","fxFlex","80","fxFlex.gt-md","30","fxLayoutAlign","center center"],["matInput","","name","yearlyDate","tabindex","4","readonly","",3,"matDatepicker","min","max","ngModel","ngModelChange"],["yearlyDt","ngModel"],["startView","multi-year",3,"startAt","yearSelected","monthSelected","dateSelected"],["yearlyDatepicker",""]],template:function(t,e){1&t&&(a.TgZ(0,"div",0),a.TgZ(1,"div",1),a.TgZ(2,"button",2),a.NdJ("click",function(){return e.onStepChange("FIRST")}),a.TgZ(3,"mat-icon"),a._uU(4,"skip_previous"),a.qZA(),a.qZA(),a.TgZ(5,"button",3),a.NdJ("click",function(){return e.onStepChange("PREVIOUS")}),a.TgZ(6,"mat-icon"),a._uU(7,"navigate_before"),a.qZA(),a.qZA(),a.qZA(),a.YNc(8,q,1,3,"ng-container",4),a.YNc(9,D,1,3,"ng-container",4),a.YNc(10,M,1,3,"ng-container",4),a.TgZ(11,"div",5),a.TgZ(12,"button",6),a.NdJ("click",function(){return e.onStepChange("NEXT")}),a.TgZ(13,"mat-icon"),a._uU(14,"navigate_next"),a.qZA(),a.qZA(),a.TgZ(15,"button",7),a.NdJ("click",function(){return e.onStepChange("LAST")}),a.TgZ(16,"mat-icon"),a._uU(17,"skip_next"),a.qZA(),a.qZA(),a.qZA(),a.qZA(),a.YNc(18,N,7,5,"ng-template",null,8,a.W1O)),2&t&&(a.xp6(5),a.Q6J("disabled",e.disablePrev),a.xp6(3),a.Q6J("ngIf","forward"===e.animationDirection),a.xp6(1),a.Q6J("ngIf","backward"===e.animationDirection),a.xp6(1),a.Q6J("ngIf",""===e.animationDirection),a.xp6(2),a.Q6J("disabled",e.disableNext))},directives:[r.xw,r.Wh,r.yH,l.lW,c.Hw,u.O5,u.tP,d.gD,g.JJ,g.On,u.sg,m.ey,f.KE,y,A.Nt,T.hl,S.q,w.F,g.Fj,T.nW,f.R9,T.Mq,Z],pipes:[u.rS],styles:[""],data:{animation:[i.l]}}),t})()},6590:(t,e,n)=>{"use strict";n.d(e,{g:()=>O});var a=n(3005),i=n(2464),s=n(7033),o=n(9421),r=n(3929),l=n(1572),c=n(1084),u=n(964),d=n(1511),g=n(3722),m=n(6283),f=n(6756),p=n(6073),h=n(7038),x=n(4786),y=n(1522),Z=n(5980),A=n(377);function T(t,e){1&t&&(l.TgZ(0,"th",27),l._uU(1,"Date"),l.qZA())}function S(t,e){if(1&t&&(l.TgZ(0,"td",28),l._uU(1),l.ALo(2,"date"),l.qZA()),2&t){const t=e.$implicit,n=l.oxw();l.xp6(1),l.Oqu(l.xi3(2,1,null==t?null:t.date,n.dataRange===n.scrollRanges[1]?"MMM/yyyy":"dd/MMM/yyyy"))}}function w(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"Amount Paid (Sats)"),l.qZA())}function C(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.xi3(3,1,null==t?null:t.amount_paid,"1.0-2"))}}function v(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"# Payments"),l.qZA())}function b(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.lcZ(3,1,null==t?null:t.num_payments))}}function q(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"Amount Received (Sats)"),l.qZA())}function L(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.xi3(3,1,null==t?null:t.amount_received,"1.0-2"))}}function D(t,e){1&t&&(l.TgZ(0,"th",29),l._uU(1,"# Invoices"),l.qZA())}function Y(t,e){if(1&t&&(l.TgZ(0,"td",28),l.TgZ(1,"span",30),l._uU(2),l.ALo(3,"number"),l.qZA(),l.qZA()),2&t){const t=e.$implicit;l.xp6(2),l.Oqu(l.lcZ(3,1,null==t?null:t.num_invoices))}}function M(t,e){if(1&t){const t=l.EpF();l.TgZ(0,"th",31),l.TgZ(1,"div",32),l.TgZ(2,"mat-select",33),l._UZ(3,"mat-select-trigger"),l.TgZ(4,"mat-option",34),l.NdJ("click",function(){return l.CHM(t),l.oxw().onDownloadCSV()}),l._uU(5,"Download CSV"),l.qZA(),l.qZA(),l.qZA(),l.qZA()}}function F(t,e){if(1&t){const t=l.EpF();l.TgZ(0,"td",35),l.TgZ(1,"button",36),l.NdJ("click",function(){const e=l.CHM(t).$implicit;return l.oxw().onTransactionClick(e)}),l._uU(2,"View Info"),l.qZA(),l.qZA()}}function k(t,e){1&t&&(l.TgZ(0,"p"),l._uU(1,"No transactions available."),l.qZA())}function _(t,e){if(1&t&&(l.TgZ(0,"td",37),l.YNc(1,k,2,0,"p",38),l.qZA()),2&t){const t=l.oxw();l.xp6(1),l.Q6J("ngIf",!(null!=t.transactions&&t.transactions.data)||(null==t.transactions||null==t.transactions.data?null:t.transactions.data.length)<1)}}const N=function(t){return{"display-none":t}};function R(t,e){if(1&t&&l._UZ(0,"tr",39),2&t){const t=l.oxw();l.Q6J("ngClass",l.VKq(1,N,(null==t.transactions?null:t.transactions.data)&&(null==t.transactions||null==t.transactions.data?null:t.transactions.data.length)>0))}}function U(t,e){1&t&&l._UZ(0,"tr",40)}function J(t,e){1&t&&l._UZ(0,"tr",41)}const V=function(){return["no_transaction"]};let O=(()=>{class t{constructor(t,e,n){this.commonService=t,this.store=e,this.datePipe=n,this.dataRange=o.op[0],this.dataList=[],this.filterValue="",this.timezoneOffset=60*new Date(Date.now()).getTimezoneOffset(),this.scrollRanges=o.op,this.displayedColumns=[],this.flgSticky=!1,this.pageSize=o.IV,this.pageSizeOptions=o.TJ,this.screenSize="",this.screenSizeEnum=o.cu,this.screenSize=this.commonService.getScreenSize(),this.screenSize===o.cu.XS||this.screenSize===o.cu.SM?(this.flgSticky=!1,this.displayedColumns=["date","amount_paid","amount_received","actions"]):this.screenSize===o.cu.MD?(this.flgSticky=!1,this.displayedColumns=["date","amount_paid","num_payments","amount_received","num_invoices","actions"]):(this.flgSticky=!0,this.displayedColumns=["date","amount_paid","num_payments","amount_received","num_invoices","actions"])}ngAfterViewInit(){this.dataList&&this.dataList.length>0&&this.loadTransactionsTable(this.dataList)}ngOnChanges(t){t.dataList&&!t.dataList.firstChange&&this.loadTransactionsTable(this.dataList),t.filterValue&&!t.filterValue.firstChange&&this.applyFilter()}onTransactionClick(t){const e=[[{key:"date",value:this.datePipe.transform(t.date,this.dataRange===o.op[1]?"MMM/yyyy":"dd/MMM/yyyy"),title:"Date",width:100,type:o.Gi.DATE}],[{key:"amount_paid",value:Math.round(t.amount_paid),title:"Amount Paid (Sats)",width:50,type:o.Gi.NUMBER},{key:"num_payments",value:t.num_payments,title:"# Payments",width:50,type:o.Gi.NUMBER}],[{key:"amount_received",value:Math.round(t.amount_received),title:"Amount Received (Sats)",width:50,type:o.Gi.NUMBER},{key:"num_invoices",value:t.num_invoices,title:"# Invoices",width:50,type:o.Gi.NUMBER}]];this.store.dispatch(new r.wu({data:{type:o.n_.INFORMATION,alertTitle:"Transaction Summary",message:e}}))}applyFilter(){this.transactions&&(this.transactions.filter=this.filterValue.trim().toLowerCase())}loadTransactionsTable(t){this.transactions=new s.by(t?[...t]:[]),this.transactions.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.transactions.sort=this.sort,this.transactions.filterPredicate=(t,e)=>((t.date?(this.datePipe.transform(t.date,"dd/MMM")+"/"+t.date.getFullYear()).toLowerCase():"")+JSON.stringify(t).toLowerCase()).includes(e),this.transactions.paginator=this.paginator}onDownloadCSV(){this.transactions.data&&this.transactions.data.length>0&&this.commonService.downloadFile(this.dataList,"Transactions-report-"+this.dataRange.toLowerCase())}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(c.v),l.Y36(u.yh),l.Y36(d.uU))},t.\u0275cmp=l.Xpm({type:t,selectors:[["rtl-transactions-report-table"]],viewQuery:function(t,e){if(1&t&&(l.Gf(i.YE,5),l.Gf(a.NW,5)),2&t){let t;l.iGM(t=l.CRH())&&(e.sort=t.first),l.iGM(t=l.CRH())&&(e.paginator=t.first)}},inputs:{dataRange:"dataRange",dataList:"dataList",filterValue:"filterValue"},features:[l._Bn([{provide:a.ye,useValue:(0,o.pt)("Transactions")}]),l.TTD],decls:34,vars:10,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"padding-gap-x"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","column","fxLayoutAlign","start stretch","fxLayout.gt-sm","row wrap",1,"page-sub-title-container","mt-1"],["fxFlex","70"],["fxFlex","30","fxLayoutAlign","start end"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start start"],["fxLayout","column","fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mat-table","","fxFlex","100","matSort","",1,"overflow-auto",3,"dataSource"],["table",""],["matColumnDef","date"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","amount_paid"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","num_payments"],["matColumnDef","amount_received"],["matColumnDef","num_invoices"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","px-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_transaction"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"px-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(l.TgZ(0,"div",0),l.TgZ(1,"div",1),l.TgZ(2,"div",2),l._UZ(3,"div",3),l.TgZ(4,"mat-form-field",4),l.TgZ(5,"input",5),l.NdJ("ngModelChange",function(t){return e.filterValue=t})("input",function(){return e.applyFilter()})("keyup",function(){return e.applyFilter()}),l.qZA(),l.qZA(),l.qZA(),l.TgZ(6,"div",6),l.TgZ(7,"div",7),l.TgZ(8,"table",8,9),l.ynx(10,10),l.YNc(11,T,2,0,"th",11),l.YNc(12,S,3,4,"td",12),l.BQk(),l.ynx(13,13),l.YNc(14,w,2,0,"th",14),l.YNc(15,C,4,4,"td",12),l.BQk(),l.ynx(16,15),l.YNc(17,v,2,0,"th",14),l.YNc(18,b,4,3,"td",12),l.BQk(),l.ynx(19,16),l.YNc(20,q,2,0,"th",14),l.YNc(21,L,4,4,"td",12),l.BQk(),l.ynx(22,17),l.YNc(23,D,2,0,"th",14),l.YNc(24,Y,4,3,"td",12),l.BQk(),l.ynx(25,18),l.YNc(26,M,6,0,"th",19),l.YNc(27,F,3,0,"td",20),l.BQk(),l.ynx(28,21),l.YNc(29,_,2,1,"td",22),l.BQk(),l.YNc(30,R,1,3,"tr",23),l.YNc(31,U,1,0,"tr",24),l.YNc(32,J,1,0,"tr",25),l.qZA(),l._UZ(33,"mat-paginator",26),l.qZA(),l.qZA(),l.qZA(),l.qZA()),2&t&&(l.xp6(5),l.Q6J("ngModel",e.filterValue),l.xp6(3),l.Q6J("dataSource",e.transactions),l.xp6(22),l.Q6J("matFooterRowDef",l.DdM(9,V)),l.xp6(1),l.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),l.xp6(1),l.Q6J("matRowDefColumns",e.displayedColumns),l.xp6(1),l.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[g.xw,g.yH,g.Wh,m.KE,f.Nt,p.Fj,p.JJ,p.On,h.$V,s.BZ,i.YE,s.w1,s.fO,s.Dz,s.mD,s.Ke,s.as,s.nj,a.NW,s.ge,i.nU,s.ev,x.gD,x.$L,y.ey,Z.lW,s.yh,d.O5,s.Q2,d.mk,A.oO,s.XQ,s.Gk],pipes:[d.uU,d.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})()},3474:(t,e,n)=>{"use strict";n.d(e,{F:()=>s});var a=n(6073),i=n(1572);let s=(()=>{class t{validate(t){return this.max?a.kI.max(+this.max)(t):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=i.lG2({type:t,selectors:[["input","max",""]],inputs:{max:"max"},features:[i._Bn([{provide:a.Cf,useExisting:t,multi:!0}])]}),t})()}}]); \ No newline at end of file diff --git a/angular/index.html b/angular/index.html index 15181e2a..81ff2207 100644 --- a/angular/index.html +++ b/angular/index.html @@ -2,17 +2,17 @@ RTL - - - - - - - - - + + + + + + + + + - + \ No newline at end of file diff --git a/angular/main.0fde3abb5a45cd8835db.js b/angular/main.522ca56ef954d078d551.js similarity index 69% rename from angular/main.0fde3abb5a45cd8835db.js rename to angular/main.522ca56ef954d078d551.js index 88c37593..0d91a2ac 100644 --- a/angular/main.0fde3abb5a45cd8835db.js +++ b/angular/main.522ca56ef954d078d551.js @@ -1 +1 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[179],{8255:t=>{function e(t){return Promise.resolve().then(()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=()=>[],e.resolve=e,e.id=8255,t.exports=e},709:(t,e,i)=>{"use strict";i.d(e,{l3:()=>s,_j:()=>n,LC:()=>r,ZN:()=>y,jt:()=>a,pV:()=>p,ru:()=>l,F4:()=>d,IO:()=>m,vP:()=>c,SB:()=>u,oB:()=>h,eR:()=>f,X$:()=>o,ZE:()=>b,k1:()=>v});class n{}class r{}const s="*";function o(t,e){return{type:7,name:t,definitions:e,options:{}}}function a(t,e=null){return{type:4,styles:e,timings:t}}function l(t,e=null){return{type:3,steps:t,options:e}}function c(t,e=null){return{type:2,steps:t,options:e}}function h(t){return{type:6,styles:t,offset:null}}function u(t,e,i){return{type:0,name:t,styles:e,options:i}}function d(t){return{type:5,steps:t}}function f(t,e,i=null){return{type:1,expr:t,animation:e,options:i}}function p(t=null){return{type:9,options:t}}function m(t,e,i=null){return{type:11,selector:t,animation:e,options:i}}function g(t){Promise.resolve(null).then(t)}class y{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){g(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class b{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,n=0;const r=this.players.length;0==r?g(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++i==r&&this._onDestroy()}),t.onStart(()=>{++n==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const i=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(i)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const v="!"},4621:(t,e,i)=>{"use strict";i.d(e,{rt:()=>J,s1:()=>M,$s:()=>C,Qr:()=>N,kH:()=>j,mK:()=>R,Em:()=>E,tE:()=>H,qV:()=>D,qm:()=>W,Kd:()=>F,X6:()=>B,yG:()=>U});var n=i(1511),r=i(1572),s=i(9666),o=i(6042),a=i(2041),l=i(5842),c=i(343),h=i(5057),u=i(8868),d=i(1681),f=i(9056),p=i(9861),m=i(1353),g=i(6337);function y(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const b="cdk-describedby-message-container",v="cdk-describedby-host";let _=0;const w=new Map;let x=null,C=(()=>{class t{constructor(t){this._document=t}describe(t,e,i){if(!this._canBeDescribed(t,e))return;const n=A(e,i);"string"!=typeof e?(S(e),w.set(n,{messageElement:e,referenceCount:0})):w.has(n)||this._createMessageElement(e,i),this._isElementDescribedByMessage(t,n)||this._addMessageReference(t,n)}removeDescription(t,e,i){if(!e||!this._isElementNode(t))return;const n=A(e,i);if(this._isElementDescribedByMessage(t,n)&&this._removeMessageReference(t,n),"string"==typeof e){const t=w.get(n);t&&0===t.referenceCount&&this._deleteMessageElement(n)}x&&0===x.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll("[cdk-describedby-host]");for(let e=0;e0!=t.indexOf("cdk-describedby-message"));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const i=w.get(e);!function(t,e,i){const n=y(t,e);n.some(t=>t.trim()==i.trim())||(n.push(i.trim()),t.setAttribute(e,n.join(" ")))}(t,"aria-describedby",i.messageElement.id),t.setAttribute(v,""),i.referenceCount++}_removeMessageReference(t,e){const i=w.get(e);i.referenceCount--,function(t,e,i){const n=y(t,e).filter(t=>t!=i.trim());n.length?t.setAttribute(e,n.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",i.messageElement.id),t.removeAttribute(v)}_isElementDescribedByMessage(t,e){const i=y(t,"aria-describedby"),n=w.get(e),r=n&&n.messageElement.id;return!!r&&-1!=i.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const i=null==e?"":`${e}`.trim(),n=t.getAttribute("aria-label");return!(!i||n&&n.trim()===i)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.K0))},token:t,providedIn:"root"}),t})();function A(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function S(t){t.id||(t.id="cdk-describedby-message-"+_++)}class k{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new s.x,this._typeaheadSubscription=o.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new s.x,this.change=new s.x,t instanceof r.n_E&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,c.b)(t=>this._pressedLetters.push(t)),(0,h.b)(t),(0,u.h)(()=>this._pressedLetters.length>0),(0,d.U)(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let i=1;i!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case l.Mf:return void this.tabOut.next();case l.JH:if(this._vertical&&i){this.setNextItemActive();break}return;case l.LH:if(this._vertical&&i){this.setPreviousItemActive();break}return;case l.SV:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case l.oh:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case l.Sd:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case l.uR:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||(0,l.Vb)(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=l.A&&e<=l.Z||e>=l.xE&&e<=l.aO)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),i="number"==typeof t?t:e.indexOf(t),n=e[i];this._activeItem=null==n?null:n,this._activeItemIndex=i}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const n=(this._activeItemIndex+t*i+e.length)%e.length;if(!this._skipPredicateFn(e[n]))return void this.setActiveItem(n)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const i=this._getItemsArray();if(i[t]){for(;this._skipPredicateFn(i[t]);)if(!i[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof r.n_E?this._items.toArray():this._items}}class M extends k{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class E extends k{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}let T=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}((i=t).ownerDocument&&i.ownerDocument.defaultView||window);var i;if(e){if(-1===I(e))return!1;if(!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),r=I(t);return t.hasAttribute("contenteditable")?-1!==r:"iframe"!==n&&"object"!==n&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),i="input"===e&&t.type;return"text"===i||"password"===i||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==r:"video"===n?-1!==r&&(null!==r||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||L(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(m.t4))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(m.t4))},token:t,providedIn:"root"}),t})();function L(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function I(t){if(!L(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class O{constructor(t,e,i,n,r=!1){this._element=t,this._checker=e,this._ngZone=i,this._document=n,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let i=0;i=0;i--){let t=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe((0,f.q)(1)).subscribe(t)}}let D=(()=>{class t{constructor(t,e,i){this._checker=t,this._ngZone=e,this._document=i}create(t,e=!1){return new O(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(T),r.LFG(r.R0b),r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(T),r.LFG(r.R0b),r.LFG(n.K0))},token:t,providedIn:"root"}),t})(),R=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._focusTrapFactory=e,this._previouslyFocusedElement=null,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}get enabled(){return this.focusTrap.enabled}set enabled(t){this.focusTrap.enabled=(0,p.Ig)(t)}get autoCapture(){return this._autoCapture}set autoCapture(t){this._autoCapture=(0,p.Ig)(t)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(t){const e=t.autoCapture;e&&!e.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=(0,m.ht)(),this.focusTrap.focusInitialElementWhenReady()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(D),r.Y36(n.K0))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:["cdkTrapFocus","enabled"],autoCapture:["cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["cdkTrapFocus"],features:[r.TTD]}),t})();"undefined"!=typeof Element&∈const P=new r.OlP("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Z=new r.OlP("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let F=(()=>{class t{constructor(t,e,i,n){this._ngZone=e,this._defaultOptions=n,this._document=i,this._liveElement=t||this._createLiveElement()}announce(t,...e){const i=this._defaultOptions;let n,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[n,r]=e,this.clear(),clearTimeout(this._previousTimeout),n||(n=i&&i.politeness?i.politeness:"polite"),null==r&&i&&(r=i.duration),this._liveElement.setAttribute("aria-live",n),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),i=this._document.createElement("div");for(let n=0;n{class t{constructor(t,e,i,n){this._elementRef=t,this._liveAnnouncer=e,this._contentObserver=i,this._ngZone=n,this._politeness="polite"}get politeness(){return this._politeness}set politeness(t){this._politeness="off"===t||"assertive"===t?t:"polite","off"===this._politeness?this._subscription&&(this._subscription.unsubscribe(),this._subscription=null):this._subscription||(this._subscription=this._ngZone.runOutsideAngular(()=>this._contentObserver.observe(this._elementRef).subscribe(()=>{const t=this._elementRef.nativeElement.textContent;t!==this._previousAnnouncedText&&(this._liveAnnouncer.announce(t,this._politeness),this._previousAnnouncedText=t)})))}ngOnDestroy(){this._subscription&&this._subscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(F),r.Y36(g.yq),r.Y36(r.R0b))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkAriaLive",""]],inputs:{politeness:["cdkAriaLive","politeness"]},exportAs:["cdkAriaLive"]}),t})();function B(t){return 0===t.buttons}function U(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}const q=new r.OlP("cdk-focus-monitor-default-options"),z=(0,m.i$)({passive:!0,capture:!0});let H=(()=>{class t{constructor(t,e,i,n){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._documentKeydownListener=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},this._documentMousedownListener=t=>{if(!this._lastTouchTarget){const e=B(t)?"keyboard":"mouse";this._setOriginForCurrentEventQueue(e)}},this._documentTouchstartListener=t=>{U(t)?this._lastTouchTarget||this._setOriginForCurrentEventQueue("keyboard"):(null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=Y(t),this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,650))},this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._rootNodeFocusAndBlurListener=t=>{const e=Y(t),i="focus"===t.type?this._onFocus:this._onBlur;for(let n=e;n;n=n.parentElement)i.call(this,t,n)},this._document=i,this._detectionMode=(null==n?void 0:n.detectionMode)||0}monitor(t,e=!1){const i=(0,p.fI)(t);if(!this._platform.isBrowser||1!==i.nodeType)return(0,a.of)(null);const n=(0,m.kV)(i)||this._getDocument(),r=this._elementInfo.get(i);if(r)return e&&(r.checkChildren=!0),r.subject;const o={checkChildren:e,subject:new s.x,rootNode:n};return this._elementInfo.set(i,o),this._registerGlobalListeners(o),o.subject}stopMonitoring(t){const e=(0,p.fI)(t),i=this._elementInfo.get(e);i&&(i.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(i))}focusVia(t,e,i){const n=(0,p.fI)(t);n===this._getDocument().activeElement?this._getClosestElementsInfo(n).forEach(([t,i])=>this._originChanged(t,e,i)):(this._setOriginForCurrentEventQueue(e),"function"==typeof n.focus&&n.focus(i))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,i){i?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,0===this._detectionMode&&(this._originTimeoutId=setTimeout(()=>this._origin=null,1))})}_wasCausedByTouch(t){const e=Y(t);return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const i=this._elementInfo.get(e);i&&(i.checkChildren||e===Y(t))&&this._originChanged(e,this._getFocusOrigin(t),i)}_onBlur(t,e){const i=this._elementInfo.get(e);!i||i.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(i.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,i=this._rootNodeFocusListenerCount.get(e)||0;i||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,z),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,z)}),this._rootNodeFocusListenerCount.set(e,i+1),1==++this._monitoredElementCount&&this._ngZone.runOutsideAngular(()=>{const t=this._getDocument(),e=this._getWindow();t.addEventListener("keydown",this._documentKeydownListener,z),t.addEventListener("mousedown",this._documentMousedownListener,z),t.addEventListener("touchstart",this._documentTouchstartListener,z),e.addEventListener("focus",this._windowFocusListener)})}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,z),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,z),this._rootNodeFocusListenerCount.delete(e))}if(!--this._monitoredElementCount){const t=this._getDocument(),e=this._getWindow();t.removeEventListener("keydown",this._documentKeydownListener,z),t.removeEventListener("mousedown",this._documentMousedownListener,z),t.removeEventListener("touchstart",this._documentTouchstartListener,z),e.removeEventListener("focus",this._windowFocusListener),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)}}_originChanged(t,e,i){this._setClasses(t,e),this._emitOrigin(i.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((i,n)=>{(n===t||i.checkChildren&&n.contains(t))&&e.push([n,i])}),e}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.R0b),r.LFG(m.t4),r.LFG(n.K0,8),r.LFG(q,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(r.R0b),r.LFG(m.t4),r.LFG(n.K0,8),r.LFG(q,8))},token:t,providedIn:"root"}),t})();function Y(t){return t.composedPath?t.composedPath()[0]:t.target}let j=(()=>{class t{constructor(t,e){this._elementRef=t,this._focusMonitor=e,this.cdkFocusChange=new r.vpe}ngAfterViewInit(){const t=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(t,1===t.nodeType&&t.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(t=>this.cdkFocusChange.emit(t))}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(H))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"}}),t})();const G="cdk-high-contrast-black-on-white",V="cdk-high-contrast-white-on-black",Q="cdk-high-contrast-active";let W=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,i=e&&e.getComputedStyle?e.getComputedStyle(t):null,n=(i&&i.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),n){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Q),t.remove(G),t.remove(V),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Q),t.add(G)):2===e&&(t.add(Q),t.add(V))}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(m.t4),r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(m.t4),r.LFG(n.K0))},token:t,providedIn:"root"}),t})(),J=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(W))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[m.ud,g.Q8]]}),t})()},2526:(t,e,i)=>{"use strict";i.d(e,{vT:()=>a,Is:()=>o});var n=i(1572),r=i(1511);const s=new n.OlP("cdk-dir-doc",{providedIn:"root",factory:function(){return(0,n.f3M)(r.K0)}});let o=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new n.vpe,t){const e=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||e;this.value="ltr"===i||"rtl"===i?i:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(s,8))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(s,8))},token:t,providedIn:"root"}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},9861:(t,e,i)=>{"use strict";i.d(e,{t6:()=>o,Eq:()=>a,Ig:()=>r,HM:()=>l,fI:()=>c,su:()=>s,du:()=>h});var n=i(1572);function r(t){return null!=t&&"false"!=`${t}`}function s(t,e=0){return o(t)?Number(t):e}function o(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function a(t){return Array.isArray(t)?t:[t]}function l(t){return null==t?"":"string"==typeof t?t:`${t}px`}function c(t){return t instanceof n.SBq?t.nativeElement:t}function h(t,e=/\s+/){const i=[];if(null!=t){const n=Array.isArray(t)?t:`${t}`.split(e);for(const t of n){const e=`${t}`.trim();e&&i.push(e)}}return i}},4230:(t,e,i)=>{"use strict";i.d(e,{P3:()=>c,o2:()=>a,Ov:()=>d,A8:()=>f,yy:()=>h,eX:()=>u,k:()=>p,Z9:()=>l});var n=i(4776),r=i(2041),s=i(9666),o=i(1572);class a{}function l(t){return t&&"function"==typeof t.connect}class c extends a{constructor(t){super(),this._data=t}connect(){return(0,n.b)(this._data)?this._data:(0,r.of)(this._data)}disconnect(){}}class h{applyChanges(t,e,i,n,r){t.forEachOperation((t,n,s)=>{let o,a;if(null==t.previousIndex){const r=i(t,n,s);o=e.createEmbeddedView(r.templateRef,r.context,r.index),a=1}else null==s?(e.remove(n),a=3):(o=e.get(n),e.move(o,s),a=2);r&&r({context:null==o?void 0:o.context,operation:a,record:t})})}detach(){}}class u{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(t,e,i,n,r){t.forEachOperation((t,s,o)=>{let a,l;null==t.previousIndex?(a=this._insertView(()=>i(t,s,o),o,e,n(t)),l=a?1:0):null==o?(this._detachAndCacheView(s,e),l=3):(a=this._moveView(s,o,e,n(t)),l=2),r&&r({context:null==a?void 0:a.context,operation:l,record:t})})}detach(){for(const t of this._viewCache)t.destroy();this._viewCache=[]}_insertView(t,e,i,n){const r=this._insertViewFromCache(e,i);if(r)return void(r.context.$implicit=n);const s=t();return i.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(t,e){const i=e.detach(t);this._maybeCacheView(i,e)}_moveView(t,e,i,n){const r=i.get(t);return i.move(r,e),r.context.$implicit=n,r}_maybeCacheView(t,e){if(this._viewCache.lengththis._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let f=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let i of this._listeners)i(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=o.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const p=new o.OlP("_ViewRepeater")},5842:(t,e,i)=>{"use strict";i.d(e,{A:()=>b,ZH:()=>n,JH:()=>m,uR:()=>h,K5:()=>s,hY:()=>o,Sd:()=>u,oh:()=>d,aO:()=>y,VM:()=>c,Ku:()=>l,SV:()=>p,L_:()=>a,Mf:()=>r,LH:()=>f,Z:()=>v,xE:()=>g,Vb:()=>_});const n=8,r=9,s=13,o=27,a=32,l=33,c=34,h=35,u=36,d=37,f=38,p=39,m=40,g=48,y=57,b=65,v=90;function _(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}},72:(t,e,i)=>{"use strict";i.d(e,{Yg:()=>w,u3:()=>C,xu:()=>g});var n=i(1572),r=i(9861),s=i(9666),o=i(5868),a=i(5613),l=i(2391),c=i(9056),h=i(4444),u=i(5057),d=i(1681),f=i(1258),p=i(9568),m=i(1353);let g=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const y=new Set;let b,v=(()=>{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!y.has(t))try{b||(b=document.createElement("style"),b.setAttribute("type","text/css"),document.head.appendChild(b)),b.sheet&&(b.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),y.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(m.t4))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(m.t4))},token:t,providedIn:"root"}),t})();function _(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let w=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new s.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return x((0,r.Eq)(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){const e=x((0,r.Eq)(t)).map(t=>this._registerQuery(t).observable);let i=(0,o.a)(e);return i=(0,a.z)(i.pipe((0,c.q)(1)),i.pipe((0,h.T)(1),(0,u.b)(0))),i.pipe((0,d.U)(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:i})=>{e.matches=e.matches||t,e.breakpoints[i]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),i={observable:new l.y(t=>{const i=e=>this._zone.run(()=>t.next(e));return e.addListener(i),()=>{e.removeListener(i)}}).pipe((0,f.O)(e),(0,d.U)(({matches:e})=>({query:t,matches:e})),(0,p.R)(this._destroySubject)),mql:e};return this._queries.set(t,i),i}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(v),n.LFG(n.R0b))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(v),n.LFG(n.R0b))},token:t,providedIn:"root"}),t})();function x(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}const C={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"}},6337:(t,e,i)=>{"use strict";i.d(e,{wD:()=>h,yq:()=>c,Q8:()=>u});var n=i(9861),r=i(1572),s=i(2391),o=i(9666),a=i(5057);let l=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})(),c=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=(0,n.fI)(t);return new s.y(t=>{const i=this._observeElement(e).subscribe(t);return()=>{i.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new o.x,i=this._mutationObserverFactory.create(t=>e.next(t));i&&i.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:i,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:i}=this._observedElements.get(t);e&&e.disconnect(),i.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(l))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(l))},token:t,providedIn:"root"}),t})(),h=(()=>{class t{constructor(t,e,i){this._contentObserver=t,this._elementRef=e,this._ngZone=i,this.event=new r.vpe,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,n.Ig)(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=(0,n.su)(t),this._subscribe()}ngAfterContentInit(){this._currentSubscription||this.disabled||this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe((0,a.b)(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(c),r.Y36(r.SBq),r.Y36(r.R0b))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[l]}),t})()},369:(t,e,i)=>{"use strict";i.d(e,{pI:()=>J,xu:()=>W,_G:()=>F,aV:()=>G,X_:()=>k,Xj:()=>D,U8:()=>K});var n=i(4894),r=i(1572),s=i(1353),o=i(2526),a=i(1511),l=i(9861),c=i(6899),h=i(9666),u=i(6042),d=i(5446),f=i(3386),p=i(4659),m=i(9056),g=i(9568),y=i(5842);const b=(0,s.Mq)();class v{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=(0,l.HM)(-this._previousScrollPosition.left),t.style.top=(0,l.HM)(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,i=this._document.body.style,n=e.scrollBehavior||"",r=i.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),b&&(e.scrollBehavior=i.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),b&&(e.scrollBehavior=n,i.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class _{constructor(t,e,i,n){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=i,this._config=n,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class w{enable(){}disable(){}attach(){}}function x(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function C(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class A{constructor(t,e,i,n){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this._config=n,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:i}=this._viewportRuler.getViewportSize();x(t,[{width:e,height:i,bottom:i,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let S=(()=>{class t{constructor(t,e,i,n){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this.noop=()=>new w,this.close=t=>new _(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new v(this._viewportRuler,this._document),this.reposition=t=>new A(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=n}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.mF),r.LFG(n.rL),r.LFG(r.R0b),r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.mF),r.LFG(n.rL),r.LFG(r.R0b),r.LFG(a.K0))},token:t,providedIn:"root"}),t})();class k{constructor(t){if(this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const i of e)void 0!==t[i]&&(this[i]=t[i])}}}class M{constructor(t,e,i,n,r){this.offsetX=i,this.offsetY=n,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class E{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let T=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0))},token:t,providedIn:"root"}),t})(),L=(()=>{class t extends T{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let i=e.length-1;i>-1;i--)if(e[i]._keydownEvents.observers.length>0){e[i]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0))},token:t,providedIn:"root"}),t})(),I=(()=>{class t extends T{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=t.composedPath?t.composedPath()[0]:t.target,i=this._attachedOverlays.slice();for(let n=i.length-1;n>-1;n--){const r=i[n];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0),r.LFG(s.t4))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0),r.LFG(s.t4))},token:t,providedIn:"root"}),t})();const O="undefined"!=typeof __karma__&&!!__karma__||"undefined"!=typeof jasmine&&!!jasmine||"undefined"!=typeof jest&&!!jest||"undefined"!=typeof Mocha&&!!Mocha;let D=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||O){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new h.x,this._outsidePointerEvents=new h.x,n.scrollStrategy&&(this._scrollStrategy=n.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=n.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,m.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=(0,l.HM)(this._config.width),t.height=(0,l.HM)(this._config.height),t.minWidth=(0,l.HM)(this._config.minWidth),t.minHeight=(0,l.HM)(this._config.minHeight),t.maxWidth=(0,l.HM)(this._config.maxWidth),t.maxHeight=(0,l.HM)(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t,e=this._backdropElement;if(!e)return;let i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(t,e,i){const n=t.classList;(0,l.Eq)(e).forEach(t=>{t&&(i?n.add(t):n.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe((0,g.R)((0,d.T)(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const P="cdk-overlay-connected-position-bounding-box",Z=/([A-Za-z%]+)$/;class F{constructor(t,e,i,n,r){this._viewportRuler=e,this._document=i,this._platform=n,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new h.x,this._resizeSubscription=u.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(P),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,i=this._viewportRect,n=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,i,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,i)?n.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=n,t=i)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&N(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(P),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let i,n;if("center"==e.originX)i=t.left+t.width/2;else{const n=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;i="start"==e.originX?n:r}return n="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:i,y:n}}_getOverlayPoint(t,e,i){let n,r;return n="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:t.x+n,y:t.y+r}}_getOverlayFit(t,e,i,n){const r=U(e);let{x:s,y:o}=t,a=this._getOffset(n,"x"),l=this._getOffset(n,"y");a&&(s+=a),l&&(o+=l);let c=0-o,h=o+r.height-i.height,u=this._subtractOverflows(r.width,0-s,s+r.width-i.width),d=this._subtractOverflows(r.height,c,h),f=u*d;return{visibleArea:f,isCompletelyWithinViewport:r.width*r.height===f,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:u==r.width}}_canFitWithFlexibleDimensions(t,e,i){if(this._hasFlexibleDimensions){const n=i.bottom-e.y,r=i.right-e.x,s=B(this._overlayRef.getConfig().minHeight),o=B(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=n)&&a}return!1}_pushOverlayOnScreen(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const n=U(e),r=this._viewportRect,s=Math.max(t.x+n.width-r.width,0),o=Math.max(t.y+n.height-r.height,0),a=Math.max(r.top-i.top-t.y,0),l=Math.max(r.left-i.left-t.x,0);let c=0,h=0;return c=n.width<=r.width?l||-s:t.xn&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-n/2)}if("end"===e.overlayX&&!n||"start"===e.overlayX&&n)c=i.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!n||"end"===e.overlayX&&n)l=t.x,a=i.right-t.x;else{const e=Math.min(i.right-t.x+i.left,t.x),n=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>n&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-n/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const i=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const n={};if(this._hasExactPosition())n.top=n.left="0",n.bottom=n.right=n.maxHeight=n.maxWidth="",n.width=n.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;n.height=(0,l.HM)(i.height),n.top=(0,l.HM)(i.top),n.bottom=(0,l.HM)(i.bottom),n.width=(0,l.HM)(i.width),n.left=(0,l.HM)(i.left),n.right=(0,l.HM)(i.right),n.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",n.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(n.maxHeight=(0,l.HM)(t)),r&&(n.maxWidth=(0,l.HM)(r))}this._lastBoundingBoxSize=i,N(this._boundingBox.style,n)}_resetBoundingBoxStyles(){N(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){N(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const i={},n=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(n){const n=this._viewportRuler.getViewportScrollPosition();N(i,this._getExactOverlayY(e,t,n)),N(i,this._getExactOverlayX(e,t,n))}else i.position="static";let o="",a=this._getOffset(e,"x"),c=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),c&&(o+=`translateY(${c}px)`),i.transform=o.trim(),s.maxHeight&&(n?i.maxHeight=(0,l.HM)(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(n?i.maxWidth=(0,l.HM)(s.maxWidth):r&&(i.maxWidth="")),N(this._pane.style,i)}_getExactOverlayY(t,e,i){let n={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?n.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":n.top=(0,l.HM)(r.y),n}_getExactOverlayX(t,e,i){let n,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===n?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=(0,l.HM)(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:C(t,i),isOriginOutsideView:x(t,i),isOverlayClipped:C(e,i),isOverlayOutsideView:x(e,i)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&(0,l.Eq)(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof r.SBq)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}}}function N(t,e){for(let i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function B(t){if("number"!=typeof t&&null!=t){const[e,i]=t.split(Z);return i&&"px"!==i?null:parseFloat(e)}return t||null}function U(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class q{constructor(t,e,i,n,r,s,o){this._preferredPositions=[],this._positionStrategy=new F(i,n,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,i,n){const r=new M(t,e,i,n);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const z="cdk-global-overlay-wrapper";class H{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(z),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:n,height:r,maxWidth:s,maxHeight:o}=i,a=!("100%"!==n&&"100vw"!==n||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(z),i.justifyContent=i.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Y=(()=>{class t{constructor(t,e,i,n){this._viewportRuler=t,this._document=e,this._platform=i,this._overlayContainer=n}global(){return new H}connectedTo(t,e,i){return new q(e,i,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new F(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.rL),r.LFG(a.K0),r.LFG(s.t4),r.LFG(D))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.rL),r.LFG(a.K0),r.LFG(s.t4),r.LFG(D))},token:t,providedIn:"root"}),t})(),j=0,G=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,h){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=i,this._positionBuilder=n,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=h}create(t){const e=this._createHostElement(),i=this._createPaneElement(e),n=this._createPortalOutlet(i),r=new k(t);return r.direction=r.direction||this._directionality.value,new R(n,e,i,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+j++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(r.z2F)),new c.u0(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(S),r.LFG(D),r.LFG(r._Vd),r.LFG(Y),r.LFG(L),r.LFG(r.zs3),r.LFG(r.R0b),r.LFG(a.K0),r.LFG(o.Is),r.LFG(a.Ye),r.LFG(I))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const V=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Q=new r.OlP("cdk-connected-overlay-scroll-strategy");let W=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),J=(()=>{class t{constructor(t,e,i,n,s){this._overlay=t,this._dir=s,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=u.w0.EMPTY,this._attachSubscription=u.w0.EMPTY,this._detachSubscription=u.w0.EMPTY,this._positionSubscription=u.w0.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new r.vpe,this.positionChange=new r.vpe,this.attach=new r.vpe,this.detach=new r.vpe,this.overlayKeydown=new r.vpe,this.overlayOutsideClick=new r.vpe,this._templatePortal=new c.UE(e,i),this._scrollStrategyFactory=n,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=(0,l.Ig)(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=(0,l.Ig)(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=(0,l.Ig)(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=(0,l.Ig)(t)}get push(){return this._push}set push(t){this._push=(0,l.Ig)(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){this.positions&&this.positions.length||(this.positions=V);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),t.keyCode!==y.hY||this.disableClose||(0,y.Vb)(t)||(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new k({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){var t,e;this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe((t=()=>this.positionChange.observers.length>0,void 0===e&&(e=!1),(0,f.e)(function(i,n){i.subscribe(new p.Q(n,function(i){var r=t();(r||e)&&n.next(i),!r&&n.complete()}))}))).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G),r.Y36(r.Rgc),r.Y36(r.s_b),r.Y36(Q),r.Y36(o.Is,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[r.TTD]}),t})();const X={provide:Q,deps:[G],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[G,X],imports:[[o.vT,c.eL,n.Cl],n.Cl]}),t})()},1353:(t,e,i)=>{"use strict";i.d(e,{t4:()=>a,ud:()=>l,ht:()=>v,kV:()=>b,_i:()=>y,qK:()=>h,i$:()=>m,Mq:()=>g});var n=i(1572),r=i(1511);let s;try{s="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(_){s=!1}let o,a=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?(0,r.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!s)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.Lbi))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(n.Lbi))},token:t,providedIn:"root"}),t})(),l=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const c=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function h(){if(o)return o;if("object"!=typeof document||!document)return o=new Set(c),o;let t=document.createElement("input");return o=new Set(c.filter(e=>(t.setAttribute("type",e),t.type===e))),o}let u,d,f,p;function m(t){return function(){if(null==u&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>u=!0}))}finally{u=u||!1}return u}()?t:!!t.capture}function g(){if(null==f){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return f=!1,f;if("scrollBehavior"in document.documentElement.style)f=!0;else{const t=Element.prototype.scrollTo;f=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return f}function y(){if("object"!=typeof document||!document)return 0;if(null==d){const t=document.createElement("div"),e=t.style;t.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";const i=document.createElement("div"),n=i.style;n.width="2px",n.height="1px",t.appendChild(i),document.body.appendChild(t),d=0,0===t.scrollLeft&&(t.scrollLeft=1,d=0===t.scrollLeft?1:2),t.parentNode.removeChild(t)}return d}function b(t){if(function(){if(null==p){const t="undefined"!=typeof document?document.head:null;p=!(!t||!t.createShadowRoot&&!t.attachShadow)}return p}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function v(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}},6899:(t,e,i)=>{"use strict";i.d(e,{en:()=>c,ig:()=>d,Pl:()=>f,C5:()=>o,F0:()=>u,u0:()=>h,eL:()=>p,UE:()=>a});var n=i(1572),r=i(1511);class s{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class o extends s{constructor(t,e,i,n){super(),this.component=t,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=n}}class a extends s{constructor(t,e,i){super(),this.templateRef=t,this.viewContainerRef=e,this.context=i}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class l extends s{constructor(t){super(),this.element=t instanceof n.SBq?t.nativeElement:t}}class c{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof o?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof a?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof l?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class h extends c{constructor(t,e,i,n,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=n,this.attachDomPortal=t=>{const e=t.element,i=this._document.createComment("dom-portal");e.parentNode.insertBefore(i,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(e,i)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let i;return t.viewContainerRef?(i=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>i.destroy())):(i=e.create(t.injector||this._defaultInjector),this._appRef.attachView(i.hostView),this.setDisposeFn(()=>{this._appRef.detachView(i.hostView),i.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(i)),this._attachedPortal=t,i}attachTemplatePortal(t){let e=t.viewContainerRef,i=e.createEmbeddedView(t.templateRef,t.context);return i.rootNodes.forEach(t=>this.outletElement.appendChild(t)),i.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(i);-1!==t&&e.remove(t)}),this._attachedPortal=t,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class u extends h{}let d=(()=>{class t extends a{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Rgc),n.Y36(n.s_b))},t.\u0275dir=n.lG2({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[n.qOj]}),t})(),f=(()=>{class t extends c{constructor(t,e,i){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new n.vpe,this.attachDomPortal=t=>{const e=t.element,i=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(i,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(e,i)})},this._document=i}get portal(){return this._attachedPortal}set portal(t){(!this.hasAttached()||t||this._isInitialized)&&(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,i=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),n=e.createComponent(i,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=t,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n._Vd),n.Y36(n.s_b),n.Y36(r.K0))},t.\u0275dir=n.lG2({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[n.qOj]}),t})(),p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},4894:(t,e,i)=>{"use strict";i.d(e,{PQ:()=>w,ZD:()=>C,mF:()=>_,Cl:()=>A,rL:()=>x});var n=i(9861),r=i(1572),s=i(9162),o=i(6551),a=i(6042),l={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,n=l.delegate;n&&(e=n.requestAnimationFrame,i=n.cancelAnimationFrame);var r=e(function(e){i=void 0,t(e)});return new a.w0(function(){return null==i?void 0:i(r)})},requestAnimationFrame:function(){for(var t=[],e=0;e0?t.prototype.requestAsyncId.call(this,e,i,n):(e.actions.push(this),e._scheduled||(e._scheduled=l.requestAnimationFrame(function(){return e.flush(void 0)})))},e.prototype.recycleAsyncId=function(e,i,n){if(void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,i,n);0===e.actions.length&&(l.cancelAnimationFrame(i),e._scheduled=void 0)},e}(o.o),h=(new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,s.ZT)(e,t),e.prototype.flush=function(t){this._active=!0,this._scheduled=void 0;var e,i=this.actions,n=-1;t=t||i.shift();var r=i.length;do{if(e=t.execute(t.state,t.delay))break}while(++n{class t{constructor(t,e,i){this._ngZone=t,this._platform=e,this._scrolled=new h.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=i}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new d.y(e=>{this._globalSubscription||this._addGlobalListener();const i=t>0?this._scrolled.pipe((0,p.e)(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{i.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,u.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const i=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe((0,m.h)(t=>!t||i.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((i,n)=>{this._scrollableContainsElement(n,t)&&e.push(n)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let i=(0,n.fI)(e),r=t.getElementRef().nativeElement;do{if(i==r)return!0}while(i=i.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const t=this._getWindow();return(0,f.R)(t.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.R0b),r.LFG(y.t4),r.LFG(b.K0,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(r.R0b),r.LFG(y.t4),r.LFG(b.K0,8))},token:t,providedIn:"root"}),t})(),w=(()=>{class t{constructor(t,e,i,n){this.elementRef=t,this.scrollDispatcher=e,this.ngZone=i,this.dir=n,this._destroyed=new h.x,this._elementScrolled=new d.y(t=>this.ngZone.runOutsideAngular(()=>(0,f.R)(this.elementRef.nativeElement,"scroll").pipe((0,g.R)(this._destroyed)).subscribe(t)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(t){const e=this.elementRef.nativeElement,i=this.dir&&"rtl"==this.dir.value;null==t.left&&(t.left=i?t.end:t.start),null==t.right&&(t.right=i?t.start:t.end),null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),i&&0!=(0,y._i)()?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),2==(0,y._i)()?t.left=t.right:1==(0,y._i)()&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)}_applyScrollToOptions(t){const e=this.elementRef.nativeElement;(0,y.Mq)()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))}measureScrollOffset(t){const e="left",i="right",n=this.elementRef.nativeElement;if("top"==t)return n.scrollTop;if("bottom"==t)return n.scrollHeight-n.clientHeight-n.scrollTop;const r=this.dir&&"rtl"==this.dir.value;return"start"==t?t=r?i:e:"end"==t&&(t=r?e:i),r&&2==(0,y._i)()?t==e?n.scrollWidth-n.clientWidth-n.scrollLeft:n.scrollLeft:r&&1==(0,y._i)()?t==e?n.scrollLeft+n.scrollWidth-n.clientWidth:-n.scrollLeft:t==e?n.scrollLeft:n.scrollWidth-n.clientWidth-n.scrollLeft}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(_),r.Y36(r.R0b),r.Y36(v.Is,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]}),t})(),x=(()=>{class t{constructor(t,e,i){this._platform=t,this._change=new h.x,this._changeListener=t=>{this._change.next(t)},this._document=i,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._updateViewportSize())})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:i}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+i,right:t.left+e,height:i,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),i=t.documentElement,n=i.getBoundingClientRect();return{top:-n.top||t.body.scrollTop||e.scrollY||i.scrollTop||0,left:-n.left||t.body.scrollLeft||e.scrollX||i.scrollLeft||0}}change(t=20){return t>0?this._change.pipe((0,p.e)(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(y.t4),r.LFG(r.R0b),r.LFG(b.K0,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(y.t4),r.LFG(r.R0b),r.LFG(b.K0,8))},token:t,providedIn:"root"}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),A=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[v.vT,y.ud,C],v.vT,C]}),t})()},8544:(t,e,i)=>{"use strict";i.d(e,{be:()=>x,KL:()=>m,u6:()=>g,B8:()=>C,U5:()=>k,st:()=>A,po:()=>S,gx:()=>w});var n=i(4621),r=i(2526),s=i(9861),o=i(5842),a=i(1511),l=i(1572),c=i(9666),h=i(2041),u=i(1258),d=i(9568);function f(t,e){1&t&&l.Hsn(0)}const p=["*"];let m=(()=>{class t{constructor(t){this._elementRef=t}focus(){this._elementRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(l.SBq))},t.\u0275dir=l.lG2({type:t,selectors:[["","cdkStepHeader",""]],hostAttrs:["role","tab"]}),t})(),g=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(l.Rgc))},t.\u0275dir=l.lG2({type:t,selectors:[["","cdkStepLabel",""]]}),t})(),y=0;const b="edit",v="done",_="error",w=new l.OlP("STEPPER_GLOBAL_OPTIONS");let x=(()=>{class t{constructor(t,e){this._stepper=t,this.interacted=!1,this.interactedStream=new l.vpe,this._editable=!0,this._optional=!1,this._completedOverride=null,this._customError=null,this._stepperOptions=e||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType,this._showError=!!this._stepperOptions.showError}get editable(){return this._editable}set editable(t){this._editable=(0,s.Ig)(t)}get optional(){return this._optional}set optional(t){this._optional=(0,s.Ig)(t)}get completed(){return null==this._completedOverride?this._getDefaultCompleted():this._completedOverride}set completed(t){this._completedOverride=(0,s.Ig)(t)}_getDefaultCompleted(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted}get hasError(){return null==this._customError?this._getDefaultError():this._customError}set hasError(t){this._customError=(0,s.Ig)(t)}_getDefaultError(){return this.stepControl&&this.stepControl.invalid&&this.interacted}select(){this._stepper.selected=this}reset(){this.interacted=!1,null!=this._completedOverride&&(this._completedOverride=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()}ngOnChanges(){this._stepper._stateChanged()}_markAsInteracted(){this.interacted||(this.interacted=!0,this.interactedStream.emit(this))}}return t.\u0275fac=function(e){return new(e||t)(l.Y36((0,l.Gpc)(()=>C)),l.Y36(w,8))},t.\u0275cmp=l.Xpm({type:t,selectors:[["cdk-step"]],contentQueries:function(t,e,i){if(1&t&&l.Suo(i,g,5),2&t){let t;l.iGM(t=l.CRH())&&(e.stepLabel=t.first)}},viewQuery:function(t,e){if(1&t&&l.Gf(l.Rgc,7),2&t){let t;l.iGM(t=l.CRH())&&(e.content=t.first)}},inputs:{editable:"editable",optional:"optional",completed:"completed",hasError:"hasError",stepControl:"stepControl",label:"label",errorMessage:"errorMessage",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],state:"state"},outputs:{interactedStream:"interacted"},exportAs:["cdkStep"],features:[l.TTD],ngContentSelectors:p,decls:1,vars:0,template:function(t,e){1&t&&(l.F$t(),l.YNc(0,f,1,0,"ng-template"))},encapsulation:2,changeDetection:0}),t})(),C=(()=>{class t{constructor(t,e,i,n){this._dir=t,this._changeDetectorRef=e,this._elementRef=i,this._destroyed=new c.x,this.steps=new l.n_E,this._linear=!1,this._selectedIndex=0,this.selectionChange=new l.vpe,this._orientation="horizontal",this._groupId=y++,this._document=n}get linear(){return this._linear}set linear(t){this._linear=(0,s.Ig)(t)}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){var e;const i=(0,s.su)(t);this.steps&&this._steps?(this._isValidIndex(t),null===(e=this.selected)||void 0===e||e._markAsInteracted(),this._selectedIndex!==i&&!this._anyControlsInvalidOrPending(i)&&(i>=this._selectedIndex||this.steps.toArray()[i].editable)&&this._updateSelectedItemIndex(t)):this._selectedIndex=i}get selected(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0}set selected(t){this.selectedIndex=t&&this.steps?this.steps.toArray().indexOf(t):-1}get orientation(){return this._orientation}set orientation(t){this._orientation=t,this._keyManager&&this._keyManager.withVerticalOrientation("vertical"===t)}ngAfterContentInit(){this._steps.changes.pipe((0,u.O)(this._steps),(0,d.R)(this._destroyed)).subscribe(t=>{this.steps.reset(t.filter(t=>t._stepper===this)),this.steps.notifyOnChanges()})}ngAfterViewInit(){this._keyManager=new n.Em(this._stepHeader).withWrap().withHomeAndEnd().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:(0,h.of)()).pipe((0,u.O)(this._layoutDirection()),(0,d.R)(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.updateActiveItem(this._selectedIndex),this.steps.changes.subscribe(()=>{this.selected||(this._selectedIndex=Math.max(this._selectedIndex-1,0))}),this._isValidIndex(this._selectedIndex)||(this._selectedIndex=0)}ngOnDestroy(){this.steps.destroy(),this._destroyed.next(),this._destroyed.complete()}next(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)}previous(){this.selectedIndex=Math.max(this._selectedIndex-1,0)}reset(){this._updateSelectedItemIndex(0),this.steps.forEach(t=>t.reset()),this._stateChanged()}_getStepLabelId(t){return`cdk-step-label-${this._groupId}-${t}`}_getStepContentId(t){return`cdk-step-content-${this._groupId}-${t}`}_stateChanged(){this._changeDetectorRef.markForCheck()}_getAnimationDirection(t){const e=t-this._selectedIndex;return e<0?"rtl"===this._layoutDirection()?"next":"previous":e>0?"rtl"===this._layoutDirection()?"previous":"next":"current"}_getIndicatorType(t,e="number"){const i=this.steps.toArray()[t],n=this._isCurrentStep(t);return i._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(i,n):this._getGuidelineLogic(i,n,e)}_getDefaultIndicatorLogic(t,e){return t._showError&&t.hasError&&!e?_:!t.completed||e?"number":t.editable?b:v}_getGuidelineLogic(t,e,i="number"){return t._showError&&t.hasError&&!e?_:t.completed&&!e?v:t.completed&&e?i:t.editable&&e?b:i}_isCurrentStep(t){return this._selectedIndex===t}_getFocusIndex(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex}_updateSelectedItemIndex(t){const e=this.steps.toArray();this.selectionChange.emit({selectedIndex:t,previouslySelectedIndex:this._selectedIndex,selectedStep:e[t],previouslySelectedStep:e[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(t):this._keyManager.updateActiveItem(t),this._selectedIndex=t,this._stateChanged()}_onKeydown(t){const e=(0,o.Vb)(t),i=t.keyCode,n=this._keyManager;null==n.activeItemIndex||e||i!==o.L_&&i!==o.K5?n.onKeydown(t):(this.selectedIndex=n.activeItemIndex,t.preventDefault())}_anyControlsInvalidOrPending(t){return!!(this._linear&&t>=0)&&this.steps.toArray().slice(0,t).some(t=>{const e=t.stepControl;return(e?e.invalid||e.pending||!t.interacted:!t.completed)&&!t.optional&&!t._completedOverride})}_layoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_containsFocus(){const t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)}_isValidIndex(t){return t>-1&&(!this.steps||t{class t{constructor(t){this._stepper=t,this.type="submit"}_handleClick(){this._stepper.next()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(C))},t.\u0275dir=l.lG2({type:t,selectors:[["button","cdkStepperNext",""]],hostVars:1,hostBindings:function(t,e){1&t&&l.NdJ("click",function(){return e._handleClick()}),2&t&&l.Ikx("type",e.type)},inputs:{type:"type"}}),t})(),S=(()=>{class t{constructor(t){this._stepper=t,this.type="button"}_handleClick(){this._stepper.previous()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(C))},t.\u0275dir=l.lG2({type:t,selectors:[["button","cdkStepperPrevious",""]],hostVars:1,hostBindings:function(t,e){1&t&&l.NdJ("click",function(){return e._handleClick()}),2&t&&l.Ikx("type",e.type)},inputs:{type:"type"}}),t})(),k=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[r.vT]]}),t})()},1709:(t,e,i)=>{"use strict";i.d(e,{HI:()=>m,Xx:()=>x,_0:()=>v,nZ:()=>k,Hs:()=>_,rO:()=>b,cu:()=>g,XJ:()=>A,Ud:()=>S,VY:()=>p});var n=i(4230),r=i(4776),s=i(9666),o=i(7425),a=i(2041),l=i(9056),c=i(8868),h=i(9568),u=i(1572),d=i(9861),f=i(2526);class p extends class{constructor(){this.expansionModel=new n.Ov(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e){super(),this.getChildren=t,this.options=e,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const t=this.dataNodes.reduce((t,e)=>[...t,...this.getDescendants(e),e],[]);this.expansionModel.select(...t.map(t=>this._trackByValue(t)))}getDescendants(t){const e=[];return this._getDescendants(e,t),e.splice(1)}_getDescendants(t,e){t.push(e);const i=this.getChildren(e);Array.isArray(i)?i.forEach(e=>this._getDescendants(t,e)):(0,r.b)(i)&&i.pipe((0,l.q)(1),(0,c.h)(Boolean)).subscribe(e=>{for(const i of e)this._getDescendants(t,i)})}}const m=new u.OlP("CDK_TREE_NODE_OUTLET_NODE");let g=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.s_b),u.Y36(m,8))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class y{constructor(t){this.$implicit=t}}let b=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.Rgc))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),v=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new s.x,this._levels=new Map,this.viewChange=new o.X({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;(0,n.Z9)(this._dataSource)?t=this._dataSource.connect(this):(0,r.b)(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=(0,a.of)(this._dataSource)),t&&(this._dataSubscription=t.pipe((0,h.R)(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,i=this._nodeOutlet.viewContainer,n){const r=e.diff(t);r&&(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,i,n);else if(null==s)i.remove(r),this._levels.delete(e.item);else{const t=i.get(r);i.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(i=>i.when&&i.when(e,t))||this._defaultNodeDef}insertNode(t,e,i,n){const r=this._getNodeDef(t,e),s=new y(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==n&&this._levels.has(n)?this._levels.get(n)+1:0,this._levels.set(t,s.level),(i||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),_.mostRecentTreeNode&&(_.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.ZZ4),u.Y36(u.sBO))},t.\u0275cmp=u.Xpm({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,i){if(1&t&&u.Suo(i,b,5),2&t){let t;u.iGM(t=u.CRH())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&u.Gf(g,7),2&t){let t;u.iGM(t=u.CRH())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&u.GkF(0,0)},directives:[g],encapsulation:2}),t})(),_=(()=>{class t{constructor(e,i){this._elementRef=e,this._tree=i,this._destroyed=new s.x,this._dataChanges=new s.x,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!w(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?(0,d.su)(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.SBq),u.Y36(v))},t.\u0275dir=u.lG2({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function w(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}let x=(()=>{class t extends _{constructor(t,e,i){super(t,e),this._elementRef=t,this._tree=e,this._differs=i,this._elementRef.nativeElement.classList.add("cdk-nested-tree-node")}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy);const t=this._tree.treeControl.getChildren(this.data);Array.isArray(t)?this.updateChildrenNodes(t):(0,r.b)(t)&&t.pipe((0,h.R)(this._destroyed)).subscribe(t=>this.updateChildrenNodes(t)),this.nodeOutlet.changes.pipe((0,h.R)(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(t){const e=this._getNodeOutlet();t&&(this._children=t),e&&this._children?this._tree.renderNodeChanges(this._children,this._dataDiffer,e.viewContainer,this._data):this._dataDiffer.diff([])}_clear(){const t=this._getNodeOutlet();t&&(t.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const t=this.nodeOutlet;return t&&t.find(t=>!t._node||t._node===this)}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.SBq),u.Y36(v),u.Y36(u.ZZ4))},t.\u0275dir=u.lG2({type:t,selectors:[["cdk-nested-tree-node"]],contentQueries:function(t,e,i){if(1&t&&u.Suo(i,g,5),2&t){let t;u.iGM(t=u.CRH())&&(e.nodeOutlet=t)}},inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[u._Bn([{provide:_,useExisting:t},{provide:m,useExisting:t}]),u.qOj]}),t})();const C=/([A-Za-z%]+)$/;let A=(()=>{class t{constructor(t,e,i,n){this._treeNode=t,this._tree=e,this._element=i,this._dir=n,this._destroyed=new s.x,this.indentUnits="px",this._indent=40,this._setPadding(),n&&n.change.pipe((0,h.R)(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",n="paddingLeft"===i?"paddingRight":"paddingLeft";t.style[i]=e||"",t.style[n]="",this._currentPadding=e}}_setLevelInput(t){this._level=(0,d.su)(t,null),this._setPadding()}_setIndentInput(t){let e=t,i="px";if("string"==typeof t){const n=t.split(C);e=n[0],i=n[1]||i}this.indentUnits=i,this._indent=(0,d.su)(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(_),u.Y36(v),u.Y36(u.SBq),u.Y36(f.Is,8))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),S=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=(0,d.Ig)(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(v),u.Y36(_))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&u.NdJ("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),k=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=u.oAB({type:t}),t.\u0275inj=u.cJS({}),t})()},1511:(t,e,i)=>{"use strict";i.d(e,{mr:()=>_,Ov:()=>It,ez:()=>Ut,K0:()=>l,uU:()=>Zt,JJ:()=>Nt,Do:()=>x,Ts:()=>Ft,V_:()=>u,Ye:()=>C,S$:()=>b,i8:()=>Ot,mk:()=>ft,sg:()=>mt,O5:()=>yt,PC:()=>At,RF:()=>wt,n9:()=>xt,ED:()=>Ct,tP:()=>St,b0:()=>w,lw:()=>c,OU:()=>Bt,rS:()=>Rt,gd:()=>Pt,EM:()=>Yt,JF:()=>Vt,NF:()=>zt,PM:()=>Ht,w_:()=>a,bD:()=>qt,q:()=>s,Mx:()=>dt,HT:()=>o});var n=i(1572);let r=null;function s(){return r}function o(t){r||(r=t)}class a{}const l=new n.OlP("DocumentToken");let c=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:h,token:t,providedIn:"platform"}),t})();function h(){return(0,n.LFG)(d)}const u=new n.OlP("Location Initialized");let d=(()=>{class t extends c{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(t){const e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,i){f()?this._history.pushState(t,e,i):this.location.hash=i}replaceState(t,e,i){f()?this._history.replaceState(t,e,i):this.location.hash=i}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(l))},t.\u0275prov=(0,n.Yz7)({factory:p,token:t,providedIn:"platform"}),t})();function f(){return!!window.history.pushState}function p(){return new d((0,n.LFG)(l))}function m(t,e){if(0==t.length)return e;if(0==e.length)return t;let i=0;return t.endsWith("/")&&i++,e.startsWith("/")&&i++,2==i?t+e.substring(1):1==i?t+e:t+"/"+e}function g(t){const e=t.match(/#|\?|$/),i=e&&e.index||t.length;return t.slice(0,i-("/"===t[i-1]?1:0))+t.slice(i)}function y(t){return t&&"?"!==t[0]?"?"+t:t}let b=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:v,token:t,providedIn:"root"}),t})();function v(t){const e=(0,n.LFG)(l).location;return new w((0,n.LFG)(c),e&&e.origin||"")}const _=new n.OlP("appBaseHref");let w=(()=>{class t extends b{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return m(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+y(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${e}${i}`:e}pushState(t,e,i,n){const r=this.prepareExternalUrl(i+y(n));this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,n){const r=this.prepareExternalUrl(i+y(n));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(c),n.LFG(_,8))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),x=(()=>{class t extends b{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=e&&(this._baseHref=e)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=m(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,i,n){let r=this.prepareExternalUrl(i+y(n));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,n){let r=this.prepareExternalUrl(i+y(n));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(c),n.LFG(_,8))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),C=(()=>{class t{constructor(t,e){this._subject=new n.vpe,this._urlChangeListeners=[],this._platformStrategy=t;const i=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=g(S(i)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+y(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,S(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",i=null){this._platformStrategy.pushState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+y(e)),i)}replaceState(t,e="",i=null){this._platformStrategy.replaceState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+y(e)),i)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformStrategy).historyGo)||void 0===i||i.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(i=>i(t,e))}subscribe(t,e,i){return this._subject.subscribe({next:t,error:e,complete:i})}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(b),n.LFG(c))},t.normalizeQueryParams=y,t.joinWithSlash=m,t.stripTrailingSlash=g,t.\u0275prov=(0,n.Yz7)({factory:A,token:t,providedIn:"root"}),t})();function A(){return new C((0,n.LFG)(b),(0,n.LFG)(c))}function S(t){return t.replace(/\/index.html$/,"")}var k=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}({}),M=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({}),E=function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t}({}),T=function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t}({}),L=function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t}({}),I=function(t){return t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t[1/0]=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup",t}({});function O(t,e){return N((0,n.cg1)(t)[n.wAp.DateFormat],e)}function D(t,e){return N((0,n.cg1)(t)[n.wAp.TimeFormat],e)}function R(t,e){return N((0,n.cg1)(t)[n.wAp.DateTimeFormat],e)}function P(t,e){const i=(0,n.cg1)(t),r=i[n.wAp.NumberSymbols][e];if(void 0===r){if(e===I.CurrencyDecimal)return i[n.wAp.NumberSymbols][I.Decimal];if(e===I.CurrencyGroup)return i[n.wAp.NumberSymbols][I.Group]}return r}const Z=n.kL8;function F(t){if(!t[n.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[n.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function N(t,e){for(let i=e;i>-1;i--)if(void 0!==t[i])return t[i];throw new Error("Locale data API: locale data undefined")}function B(t){const[e,i]=t.split(":");return{hours:+e,minutes:+i}}const U=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,q={},z=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var H=function(t){return t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended",t}({}),Y=function(t){return t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day",t}({}),j=function(t){return t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras",t}({});function G(t,e,i,n){let r=function(t){if(st(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){const[e,i=1,n=1]=t.split("-").map(t=>+t);return V(e,i-1,n)}const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(U))return function(t){const e=new Date(0);let i=0,n=0;const r=t[8]?e.setUTCFullYear:e.setFullYear,s=t[8]?e.setUTCHours:e.setHours;t[9]&&(i=Number(t[9]+t[10]),n=Number(t[9]+t[11])),r.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const o=Number(t[4]||0)-i,a=Number(t[5]||0)-n,l=Number(t[6]||0),c=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return s.call(e,o,a,l,c),e}(i)}const e=new Date(t);if(!st(e))throw new Error(`Unable to convert "${t}" into a date`);return e}(t);e=Q(i,e)||e;let s,o=[];for(;e;){if(s=z.exec(e),!s){o.push(e);break}{o=o.concat(s.slice(1));const t=o.pop();if(!t)break;e=t}}let a=r.getTimezoneOffset();n&&(a=rt(n,a),r=function(t,e,i){const n=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(rt(e,n)-n))}(r,n));let l="";return o.forEach(t=>{const e=function(t){if(nt[t])return nt[t];let e;switch(t){case"G":case"GG":case"GGG":e=K(j.Eras,T.Abbreviated);break;case"GGGG":e=K(j.Eras,T.Wide);break;case"GGGGG":e=K(j.Eras,T.Narrow);break;case"y":e=X(Y.FullYear,1,0,!1,!0);break;case"yy":e=X(Y.FullYear,2,0,!0,!0);break;case"yyy":e=X(Y.FullYear,3,0,!1,!0);break;case"yyyy":e=X(Y.FullYear,4,0,!1,!0);break;case"Y":e=it(1);break;case"YY":e=it(2,!0);break;case"YYY":e=it(3);break;case"YYYY":e=it(4);break;case"M":case"L":e=X(Y.Month,1,1);break;case"MM":case"LL":e=X(Y.Month,2,1);break;case"MMM":e=K(j.Months,T.Abbreviated);break;case"MMMM":e=K(j.Months,T.Wide);break;case"MMMMM":e=K(j.Months,T.Narrow);break;case"LLL":e=K(j.Months,T.Abbreviated,E.Standalone);break;case"LLLL":e=K(j.Months,T.Wide,E.Standalone);break;case"LLLLL":e=K(j.Months,T.Narrow,E.Standalone);break;case"w":e=et(1);break;case"ww":e=et(2);break;case"W":e=et(1,!0);break;case"d":e=X(Y.Date,1);break;case"dd":e=X(Y.Date,2);break;case"c":case"cc":e=X(Y.Day,1);break;case"ccc":e=K(j.Days,T.Abbreviated,E.Standalone);break;case"cccc":e=K(j.Days,T.Wide,E.Standalone);break;case"ccccc":e=K(j.Days,T.Narrow,E.Standalone);break;case"cccccc":e=K(j.Days,T.Short,E.Standalone);break;case"E":case"EE":case"EEE":e=K(j.Days,T.Abbreviated);break;case"EEEE":e=K(j.Days,T.Wide);break;case"EEEEE":e=K(j.Days,T.Narrow);break;case"EEEEEE":e=K(j.Days,T.Short);break;case"a":case"aa":case"aaa":e=K(j.DayPeriods,T.Abbreviated);break;case"aaaa":e=K(j.DayPeriods,T.Wide);break;case"aaaaa":e=K(j.DayPeriods,T.Narrow);break;case"b":case"bb":case"bbb":e=K(j.DayPeriods,T.Abbreviated,E.Standalone,!0);break;case"bbbb":e=K(j.DayPeriods,T.Wide,E.Standalone,!0);break;case"bbbbb":e=K(j.DayPeriods,T.Narrow,E.Standalone,!0);break;case"B":case"BB":case"BBB":e=K(j.DayPeriods,T.Abbreviated,E.Format,!0);break;case"BBBB":e=K(j.DayPeriods,T.Wide,E.Format,!0);break;case"BBBBB":e=K(j.DayPeriods,T.Narrow,E.Format,!0);break;case"h":e=X(Y.Hours,1,-12);break;case"hh":e=X(Y.Hours,2,-12);break;case"H":e=X(Y.Hours,1);break;case"HH":e=X(Y.Hours,2);break;case"m":e=X(Y.Minutes,1);break;case"mm":e=X(Y.Minutes,2);break;case"s":e=X(Y.Seconds,1);break;case"ss":e=X(Y.Seconds,2);break;case"S":e=X(Y.FractionalSeconds,1);break;case"SS":e=X(Y.FractionalSeconds,2);break;case"SSS":e=X(Y.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=$(H.Short);break;case"ZZZZZ":e=$(H.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=$(H.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=$(H.Long);break;default:return null}return nt[t]=e,e}(t);l+=e?e(r,i,a):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function V(t,e,i){const n=new Date(0);return n.setFullYear(t,e,i),n.setHours(0,0,0),n}function Q(t,e){const i=function(t){return(0,n.cg1)(t)[n.wAp.LocaleId]}(t);if(q[i]=q[i]||{},q[i][e])return q[i][e];let r="";switch(e){case"shortDate":r=O(t,L.Short);break;case"mediumDate":r=O(t,L.Medium);break;case"longDate":r=O(t,L.Long);break;case"fullDate":r=O(t,L.Full);break;case"shortTime":r=D(t,L.Short);break;case"mediumTime":r=D(t,L.Medium);break;case"longTime":r=D(t,L.Long);break;case"fullTime":r=D(t,L.Full);break;case"short":const e=Q(t,"shortTime"),i=Q(t,"shortDate");r=W(R(t,L.Short),[e,i]);break;case"medium":const n=Q(t,"mediumTime"),s=Q(t,"mediumDate");r=W(R(t,L.Medium),[n,s]);break;case"long":const o=Q(t,"longTime"),a=Q(t,"longDate");r=W(R(t,L.Long),[o,a]);break;case"full":const l=Q(t,"fullTime"),c=Q(t,"fullDate");r=W(R(t,L.Full),[l,c])}return r&&(q[i][e]=r),r}function W(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,function(t,i){return null!=e&&i in e?e[i]:t})),t}function J(t,e,i="-",n,r){let s="";(t<0||r&&t<=0)&&(r?t=1-t:(t=-t,s=i));let o=String(t);for(;o.length0||a>-i)&&(a+=i),t===Y.Hours)0===a&&-12===i&&(a=12);else if(t===Y.FractionalSeconds)return l=e,J(a,3).substr(0,l);var l;const c=P(o,I.MinusSign);return J(a,e,c,n,r)}}function K(t,e,i=E.Format,r=!1){return function(s,o){return function(t,e,i,r,s,o){switch(i){case j.Months:return function(t,e,i){const r=(0,n.cg1)(t),s=N([r[n.wAp.MonthsFormat],r[n.wAp.MonthsStandalone]],e);return N(s,i)}(e,s,r)[t.getMonth()];case j.Days:return function(t,e,i){const r=(0,n.cg1)(t),s=N([r[n.wAp.DaysFormat],r[n.wAp.DaysStandalone]],e);return N(s,i)}(e,s,r)[t.getDay()];case j.DayPeriods:const a=t.getHours(),l=t.getMinutes();if(o){const t=function(t){const e=(0,n.cg1)(t);return F(e),(e[n.wAp.ExtraData][2]||[]).map(t=>"string"==typeof t?B(t):[B(t[0]),B(t[1])])}(e),i=function(t,e,i){const r=(0,n.cg1)(t);F(r);const s=N([r[n.wAp.ExtraData][0],r[n.wAp.ExtraData][1]],e)||[];return N(s,i)||[]}(e,s,r),o=t.findIndex(t=>{if(Array.isArray(t)){const[e,i]=t,n=a>=e.hours&&l>=e.minutes,r=a0?Math.floor(r/60):Math.ceil(r/60);switch(t){case H.Short:return(r>=0?"+":"")+J(o,2,s)+J(Math.abs(r%60),2,s);case H.ShortGMT:return"GMT"+(r>=0?"+":"")+J(o,1,s);case H.Long:return"GMT"+(r>=0?"+":"")+J(o,2,s)+":"+J(Math.abs(r%60),2,s);case H.Extended:return 0===n?"Z":(r>=0?"+":"")+J(o,2,s)+":"+J(Math.abs(r%60),2,s);default:throw new Error(`Unknown zone width "${t}"`)}}}function tt(t){return V(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function et(t,e=!1){return function(i,n){let r;if(e){const t=new Date(i.getFullYear(),i.getMonth(),1).getDay()-1,e=i.getDate();r=1+Math.floor((e+t)/7)}else{const t=tt(i),e=function(t){const e=V(t,0,1).getDay();return V(t,0,1+(e<=4?4:11)-e)}(t.getFullYear()),n=t.getTime()-e.getTime();r=1+Math.round(n/6048e5)}return J(r,t,P(n,I.MinusSign))}}function it(t,e=!1){return function(i,n){return J(tt(i).getFullYear(),t,P(n,I.MinusSign),e)}}const nt={};function rt(t,e){t=t.replace(/:/g,"");const i=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(i)?e:i}function st(t){return t instanceof Date&&!isNaN(t.valueOf())}const ot=/^(\d+)?\.((\d+)(-(\d+))?)?$/,at=".",lt="0";function ct(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class ht{}let ut=(()=>{class t extends ht{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(Z(e||this.locale)(t)){case M.Zero:return"zero";case M.One:return"one";case M.Two:return"two";case M.Few:return"few";case M.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.soG))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();function dt(t,e){e=encodeURIComponent(e);for(const i of t.split(";")){const t=i.indexOf("="),[n,r]=-1==t?[i,""]:[i.slice(0,t),i.slice(t+1)];if(n.trim()===e)return decodeURIComponent(r)}return null}let ft=(()=>{class t{constructor(t,e,i,n){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=i,this._renderer=n,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&((0,n.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,n.AaK)(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.ZZ4),n.Y36(n.aQg),n.Y36(n.SBq),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class pt{constructor(t,e,i,n){this.$implicit=t,this.ngForOf=e,this.index=i,this.count=n}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let mt=(()=>{class t{constructor(t,e,i){this._viewContainer=t,this._template=e,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const i=this._ngForOf;if(!this._differ&&i)try{this._differ=this._differs.find(i).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${i}' of type '${t=i,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,i,n)=>{if(null==t.previousIndex){const i=this._viewContainer.createEmbeddedView(this._template,new pt(null,this._ngForOf,-1,-1),null===n?void 0:n),r=new gt(t,i);e.push(r)}else if(null==n)this._viewContainer.remove(null===i?void 0:i);else if(null!==i){const r=this._viewContainer.get(i);this._viewContainer.move(r,n);const s=new gt(t,r);e.push(s)}});for(let i=0;i{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(n.ZZ4))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class gt{constructor(t,e){this.record=t,this.view=e}}let yt=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new bt,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){vt("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){vt("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class bt{constructor(){this.$implicit=null,this.ngIf=null}}function vt(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${(0,n.AaK)(e)}'.`)}class _t{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let wt=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,i){this.ngSwitch=i,i._addCase(),this._view=new _t(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(wt,9))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Ct=(()=>{class t{constructor(t,e,i){i._addDefault(new _t(t,e))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(wt,9))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),At=(()=>{class t{constructor(t,e,i){this._ngEl=t,this._differs=e,this._renderer=i,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[i,n]=t.split(".");null!=(e=null!=e&&n?`${e}${n}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,i,e):this._renderer.removeStyle(this._ngEl.nativeElement,i)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.aQg),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),St=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[n.TTD]}),t})();function kt(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${(0,n.AaK)(t)}'`)}class Mt{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class Et{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Tt=new Et,Lt=new Mt;let It=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if((0,n.QGY)(e))return Tt;if((0,n.F4k)(e))return Lt;throw kt(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO,16))},t.\u0275pipe=n.Yjl({name:"async",type:t,pure:!1}),t})(),Ot=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw kt(t,e);return e.toLowerCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"lowercase",type:t,pure:!0}),t})();const Dt=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g;let Rt=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw kt(t,e);return e.replace(Dt,t=>t[0].toUpperCase()+t.substr(1).toLowerCase())}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"titlecase",type:t,pure:!0}),t})(),Pt=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw kt(t,e);return e.toUpperCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"uppercase",type:t,pure:!0}),t})(),Zt=(()=>{class t{constructor(t){this.locale=t}transform(e,i="mediumDate",n,r){if(null==e||""===e||e!=e)return null;try{return G(e,i,r||this.locale,n)}catch(s){throw kt(t,s.message)}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.soG,16))},t.\u0275pipe=n.Yjl({name:"date",type:t,pure:!0}),t})(),Ft=(()=>{class t{transform(t){return JSON.stringify(t,null,2)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"json",type:t,pure:!1}),t})(),Nt=(()=>{class t{constructor(t){this._locale=t}transform(e,i,r){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;r=r||this._locale;try{return function(t,e,i){return function(t,e,i,n,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,i,n,r,s,o=Math.abs(t)+"",a=0;for((i=o.indexOf(at))>-1&&(o=o.replace(at,"")),(n=o.search(/e/i))>0?(i<0&&(i=n),i+=+o.slice(n+1),o=o.substring(0,n)):i<0&&(i=o.length),n=0;o.charAt(n)===lt;n++);if(n===(s=o.length))e=[0],i=1;else{for(s--;o.charAt(s)===lt;)s--;for(i-=n,e=[],r=0;n<=s;n++,r++)e[r]=Number(o.charAt(n))}return i>22&&(e=e.splice(0,21),a=i-1,i=1),{digits:e,exponent:a,integerLen:i}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let h=e.minInt,u=e.minFrac,d=e.maxFrac;if(s){const t=s.match(ot);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],i=t[3],n=t[5];null!=e&&(h=ct(e)),null!=i&&(u=ct(i)),null!=n?d=ct(n):null!=i&&u>d&&(d=u)}!function(t,e,i){if(e>i)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${i}).`);let n=t.digits,r=n.length-t.integerLen;const s=Math.min(Math.max(e,r),i);let o=s+t.integerLen,a=n[o];if(o>0){n.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)n.unshift(0),t.integerLen++;n.unshift(1),t.integerLen++}else n[o-1]++;for(;r=c?n.pop():l=!1),e>=10?1:0},0);h&&(n.unshift(h),t.integerLen++)}(c,u,d);let f=c.digits,p=c.integerLen;const m=c.exponent;let g=[];for(l=f.every(t=>!t);p0?g=f.splice(p,f.length):(g=f,f=[0]);const y=[];for(f.length>=e.lgSize&&y.unshift(f.splice(-e.lgSize,f.length).join(""));f.length>e.gSize;)y.unshift(f.splice(-e.gSize,f.length).join(""));f.length&&y.unshift(f.join("")),a=y.join(P(i,n)),g.length&&(a+=P(i,r)+g.join("")),m&&(a+=P(i,I.Exponential)+"+"+m)}else a=P(i,I.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const i={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},n=t.split(";"),r=n[0],s=n[1],o=-1!==r.indexOf(at)?r.split(at):[r.substring(0,r.lastIndexOf(lt)+1),r.substring(r.lastIndexOf(lt)+1)],a=o[0],l=o[1]||"";i.posPre=a.substr(0,a.indexOf("#"));for(let h=0;h{class t{transform(e,i,n){if(null==e)return null;if(!this.supports(e))throw kt(t,e);return e.slice(i,n)}supports(t){return"string"==typeof t||Array.isArray(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"slice",type:t,pure:!1}),t})(),Ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:ht,useClass:ut}]}),t})();const qt="browser";function zt(t){return t===qt}function Ht(t){return"server"===t}let Yt=(()=>{class t{}return t.\u0275prov=(0,n.Yz7)({token:t,providedIn:"root",factory:()=>new jt((0,n.LFG)(l),window)}),t})();class jt{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function(t,e){const i=t.getElementById(e)||t.getElementsByName(e)[0];if(i)return i;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let n=i.currentNode;for(;n;){const t=n.shadowRoot;if(t){const i=t.getElementById(e)||t.querySelector(`[name="${e}"]`);if(i)return i}n=i.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),this.attemptFocus(e))}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),i=e.left+this.window.pageXOffset,n=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],n-r[1])}attemptFocus(t){return t.focus(),this.document.activeElement===t}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=Gt(this.window.history)||Gt(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch(t){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(t){return!1}}}function Gt(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class Vt{}},9063:(t,e,i)=>{"use strict";i.d(e,{TP:()=>L,eN:()=>E,JF:()=>q,LE:()=>g});var n=i(1511),r=i(1572),s=i(2041),o=i(2391),a=i(8196),l=i(8868),c=i(1681);class h{}class u{}class d{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const i=t.slice(0,e),n=i.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(i,n),this.headers.has(n)?this.headers.get(n).push(r):this.headers.set(n,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const n=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(n,i),this.maybeSetNormalizedName(e,n))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof d?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new d;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof d?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const n=("a"===t.op?this.headers.get(e):void 0)||[];n.push(...i),this.headers.set(e,n);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class f{encodeKey(t){return p(t)}encodeValue(t){return p(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function p(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function m(t){return`${t}`}class g{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new f,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const i=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const n=t.indexOf("="),[r,s]=-1==n?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,n)),e.decodeValue(t.slice(n+1))],o=i.get(r)||[];o.push(s),i.set(r,o)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e];this.map.set(e,Array.isArray(i)?i:[i])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const n=t[i];Array.isArray(n)?n.forEach(t=>{e.push({param:i,value:t,op:"a"})}):e.push({param:i,value:n,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new g({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(m(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const i=e.indexOf(m(t.value));-1!==i&&e.splice(i,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class y{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function b(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function _(t){return"undefined"!=typeof FormData&&t instanceof FormData}class w{constructor(t,e,i,n){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||n?(this.body=void 0!==i?i:null,r=n):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new d),this.context||(this.context=new y),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const i=e.indexOf("?");this.urlWithParams=e+(-1===i?"?":ie.set(i,t.setHeaders[i]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,i)=>e.set(i,t.setParams[i]),c)),new w(i,n,s,{params:c,headers:l,context:h,reportProgress:a,responseType:r,withCredentials:o})}}var x=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}({});class C{constructor(t,e=200,i="OK"){this.headers=t.headers||new d,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class A extends C{constructor(t={}){super(t),this.type=x.ResponseHeader}clone(t={}){return new A({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class S extends C{constructor(t={}){super(t),this.type=x.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new S({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class k extends C{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function M(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let E=(()=>{class t{constructor(t){this.handler=t}request(t,e,i={}){let n;if(t instanceof w)n=t;else{let r,s;r=i.headers instanceof d?i.headers:new d(i.headers),i.params&&(s=i.params instanceof g?i.params:new g({fromObject:i.params})),n=new w(t,e,void 0!==i.body?i.body:null,{headers:r,context:i.context,params:s,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const r=(0,s.of)(n).pipe((0,a.b)(t=>this.handler.handle(t)));if(t instanceof w||"events"===i.observe)return r;const o=r.pipe((0,l.h)(t=>t instanceof S));switch(i.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return o.pipe((0,c.U)(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe((0,c.U)(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe((0,c.U)(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe((0,c.U)(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new g).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,i={}){return this.request("PATCH",t,M(i,e))}post(t,e,i={}){return this.request("POST",t,M(i,e))}put(t,e,i={}){return this.request("PUT",t,M(i,e))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(h))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();class T{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const L=new r.OlP("HTTP_INTERCEPTORS");let I=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const O=/^\)\]\}',?\n/;let D=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new o.y(e=>{const i=this.xhrFactory.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((t,e)=>i.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&i.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();i.responseType="json"!==e?e:"text"}const n=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===i.status?204:i.status,n=i.statusText||"OK",s=new d(i.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(i)||t.url;return r=new A({headers:s,status:e,statusText:n,url:o}),r},o=()=>{let{headers:n,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===i.response?i.responseText:i.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(O,"");try{l=""!==l?JSON.parse(l):null}catch(h){l=t,c&&(c=!1,l={error:h,text:l})}}c?(e.next(new S({body:l,headers:n,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new k({error:l,headers:n,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:n}=s(),r=new k({error:t,status:i.status||0,statusText:i.statusText||"Unknown Error",url:n||void 0});e.error(r)};let l=!1;const c=n=>{l||(e.next(s()),l=!0);let r={type:x.DownloadProgress,loaded:n.loaded};n.lengthComputable&&(r.total=n.total),"text"===t.responseType&&i.responseText&&(r.partialText=i.responseText),e.next(r)},h=t=>{let i={type:x.UploadProgress,loaded:t.loaded};t.lengthComputable&&(i.total=t.total),e.next(i)};return i.addEventListener("load",o),i.addEventListener("error",a),i.addEventListener("timeout",a),i.addEventListener("abort",a),t.reportProgress&&(i.addEventListener("progress",c),null!==n&&i.upload&&i.upload.addEventListener("progress",h)),i.send(n),e.next({type:x.Sent}),()=>{i.removeEventListener("error",a),i.removeEventListener("abort",a),i.removeEventListener("load",o),i.removeEventListener("timeout",a),t.reportProgress&&(i.removeEventListener("progress",c),null!==n&&i.upload&&i.upload.removeEventListener("progress",h)),i.readyState!==i.DONE&&i.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.JF))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const R=new r.OlP("XSRF_COOKIE_NAME"),P=new r.OlP("XSRF_HEADER_NAME");class Z{}let F=(()=>{class t{constructor(t,e,i){this.doc=t,this.platform=e,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,n.Mx)(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0),r.LFG(r.Lbi),r.LFG(R))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),N=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const i=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||i.startsWith("http://")||i.startsWith("https://"))return e.handle(t);const n=this.tokenService.getToken();return null===n||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,n)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(Z),r.LFG(P))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(L,[]);this.chain=t.reduceRight((t,e)=>new T(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(u),r.LFG(r.zs3))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),U=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:N,useClass:I}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:R,useValue:e.cookieName}:[],e.headerName?{provide:P,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[N,{provide:L,useExisting:N,multi:!0},{provide:Z,useClass:F},{provide:R,useValue:"XSRF-TOKEN"},{provide:P,useValue:"X-XSRF-TOKEN"}]}),t})(),q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[E,{provide:h,useClass:B},D,{provide:u,useExisting:D}],imports:[[U.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})()},1572:(t,e,i)=>{"use strict";i.d(e,{deG:()=>li,tb:()=>hc,AFp:()=>sc,ip1:()=>nc,CZH:()=>rc,hGG:()=>nh,z2F:()=>Vc,sBO:()=>Wa,Sil:()=>wc,_Vd:()=>va,EJc:()=>fc,SBq:()=>Ca,qLn:()=>Ln,vpe:()=>Fl,gxx:()=>vs,tBr:()=>Ti,XFs:()=>L,OlP:()=>ai,zs3:()=>Rs,ZZ4:()=>za,aQg:()=>Ya,soG:()=>dc,YKP:()=>sl,v3s:()=>Wc,h0i:()=>rl,PXZ:()=>zc,R0b:()=>Ac,FiY:()=>Li,Lbi:()=>cc,g9A:()=>lc,n_E:()=>Bl,Qsj:()=>ka,FYo:()=>Sa,JOm:()=>Pn,Tiy:()=>Ea,q3G:()=>wn,PiD:()=>Ii,tp0:()=>Oi,EAV:()=>Kc,Rgc:()=>tl,dDg:()=>Ic,DyG:()=>ci,GfV:()=>Ta,s_b:()=>al,ifc:()=>Z,eFA:()=>Hc,Ez6:()=>w,G48:()=>Uc,Gpc:()=>f,f3M:()=>ki,X6Q:()=>Bc,_c5:()=>eh,VLi:()=>Rc,c2e:()=>uc,zSh:()=>ws,wAp:()=>sa,vHH:()=>g,EiD:()=>vn,mCW:()=>en,qzn:()=>Yi,JVY:()=>Gi,pB0:()=>Ji,eBb:()=>Qi,L6k:()=>Vi,LAX:()=>Wi,cg1:()=>ia,Tjo:()=>th,kL8:()=>na,yhl:()=>ji,dqk:()=>q,sIi:()=>Ys,CqO:()=>fo,QGY:()=>ho,F4k:()=>uo,RDi:()=>kt,AaK:()=>h,z3N:()=>Hi,qOj:()=>Zs,TTD:()=>vt,_Bn:()=>ga,xp6:()=>xr,uIk:()=>Ws,Tol:()=>Do,Gre:()=>Jo,ekj:()=>Oo,Suo:()=>Xl,Xpm:()=>K,lG2:()=>st,Yz7:()=>_,cJS:()=>x,oAB:()=>it,Yjl:()=>ot,Y36:()=>$s,_UZ:()=>so,GkF:()=>lo,BQk:()=>ao,ynx:()=>oo,qZA:()=>ro,TgZ:()=>no,EpF:()=>co,n5z:()=>ii,Ikx:()=>Xo,LFG:()=>Si,$8M:()=>ri,$Z:()=>to,NdJ:()=>po,CRH:()=>Kl,kcU:()=>_e,O4$:()=>ve,oxw:()=>vo,ALo:()=>Ll,lcZ:()=>Il,xi3:()=>Ol,Dn7:()=>Dl,Hsn:()=>xo,F$t:()=>wo,Q6J:()=>eo,s9C:()=>Co,MGl:()=>Ao,DdM:()=>xl,VKq:()=>Cl,WLB:()=>Al,kEZ:()=>Sl,iGM:()=>Wl,MAs:()=>Ks,pYS:()=>Dn,Jf7:()=>On,CHM:()=>jt,oJD:()=>xn,LSH:()=>Cn,kYT:()=>nt,Udp:()=>Io,WFA:()=>mo,d8E:()=>Ko,YNc:()=>Xs,W1O:()=>ic,_uU:()=>jo,Oqu:()=>Go,hij:()=>Vo,AsE:()=>Qo,HOy:()=>Wo,Gf:()=>Jl});var n=i(9666),r=i(6042),s=i(2391),o=i(5446),a=i(7839);function l(t){for(let e in t)if(t[e]===l)return e;throw Error("Could not find renamed property on target object.")}function c(t,e){for(const i in e)e.hasOwnProperty(i)&&!t.hasOwnProperty(i)&&(t[i]=e[i])}function h(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(h).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const i=e.indexOf("\n");return-1===i?e:e.substring(0,i)}function u(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const d=l({__forward_ref__:l});function f(t){return t.__forward_ref__=f,t.toString=function(){return h(this())},t}function p(t){return m(t)?t():t}function m(t){return"function"==typeof t&&t.hasOwnProperty(d)&&t.__forward_ref__===f}class g extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function y(t){return"string"==typeof t?t:null==t?"":String(t)}function b(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():y(t)}function v(t,e){const i=e?` in ${e}`:"";throw new g("201",`No provider for ${b(t)} found${i}`)}function _(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}const w=_;function x(t){return{providers:t.providers||[],imports:t.imports||[]}}function C(t){return A(t,k)||A(t,E)}function A(t,e){return t.hasOwnProperty(e)?t[e]:null}function S(t){return t&&(t.hasOwnProperty(M)||t.hasOwnProperty(T))?t[M]:null}const k=l({"\u0275prov":l}),M=l({"\u0275inj":l}),E=l({ngInjectableDef:l}),T=l({ngInjectorDef:l});var L=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});let I;function O(t){const e=I;return I=t,e}function D(t,e,i){const n=C(t);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&L.Optional?null:void 0!==e?e:void v(h(t),"Injector")}function R(t){return{toString:t}.toString()}var P=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),Z=function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({});const F="undefined"!=typeof globalThis&&globalThis,N="undefined"!=typeof window&&window,B="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,U="undefined"!=typeof global&&global,q=F||U||N||B,z={},H=[],Y=l({"\u0275cmp":l}),j=l({"\u0275dir":l}),G=l({"\u0275pipe":l}),V=l({"\u0275mod":l}),Q=l({"\u0275loc":l}),W=l({"\u0275fac":l}),J=l({__NG_ELEMENT_ID__:l});let X=0;function K(t){return R(()=>{const e={},i={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===P.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||H,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Z.Emulated,id:"c",styles:t.styles||H,_:null,setInput:null,schemas:t.schemas||null,tView:null},n=t.directives,r=t.features,s=t.pipes;return i.id+=X++,i.inputs=rt(t.inputs,e),i.outputs=rt(t.outputs),r&&r.forEach(t=>t(i)),i.directiveDefs=n?()=>("function"==typeof n?n():n).map($):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(tt):null,i})}function $(t){return at(t)||function(t){return t[j]||null}(t)}function tt(t){return function(t){return t[G]||null}(t)}const et={};function it(t){return R(()=>{const e={type:t.type,bootstrap:t.bootstrap||H,declarations:t.declarations||H,imports:t.imports||H,exports:t.exports||H,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(et[t.id]=t.type),e})}function nt(t,e){return R(()=>{const i=lt(t,!0);i.declarations=e.declarations||H,i.imports=e.imports||H,i.exports=e.exports||H})}function rt(t,e){if(null==t)return z;const i={};for(const n in t)if(t.hasOwnProperty(n)){let r=t[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,e&&(e[r]=s)}return i}const st=K;function ot(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function at(t){return t[Y]||null}function lt(t,e){const i=t[V]||null;if(!i&&!0===e)throw new Error(`Type ${h(t)} does not have '\u0275mod' property.`);return i}const ct=20,ht=10;function ut(t){return Array.isArray(t)&&"object"==typeof t[1]}function dt(t){return Array.isArray(t)&&!0===t[1]}function ft(t){return 0!=(8&t.flags)}function pt(t){return 2==(2&t.flags)}function mt(t){return 1==(1&t.flags)}function gt(t){return null!==t.template}function yt(t,e){return t.hasOwnProperty(W)?t[W]:null}class bt{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function vt(){return _t}function _t(t){return t.type.prototype.ngOnChanges&&(t.setInput=xt),wt}function wt(){const t=Ct(this),e=null==t?void 0:t.current;if(e){const i=t.previous;if(i===z)t.previous=e;else for(let t in e)i[t]=e[t];t.current=null,this.ngOnChanges(e)}}function xt(t,e,i,n){const r=Ct(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:z,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[i],l=o[a];s[a]=new bt(l&&l.currentValue,e,o===z),t[n]=e}function Ct(t){return t.__ngSimpleChanges__||null}vt.ngInherit=!0;const At="http://www.w3.org/2000/svg";let St;function kt(t){St=t}function Mt(){return void 0!==St?St:"undefined"!=typeof document?document:void 0}function Et(t){return!!t.listen}const Tt={createRenderer:(t,e)=>Mt()};function Lt(t){for(;Array.isArray(t);)t=t[0];return t}function It(t,e){return Lt(e[t])}function Ot(t,e){return Lt(e[t.index])}function Dt(t,e){return t.data[e]}function Rt(t,e){return t[e]}function Pt(t,e){const i=e[t];return ut(i)?i:i[0]}function Zt(t){return 4==(4&t[2])}function Ft(t){return 128==(128&t[2])}function Nt(t,e){return null==e?null:t[e]}function Bt(t){t[18]=0}function Ut(t,e){t[5]+=e;let i=t,n=t[3];for(;null!==n&&(1===e&&1===i[5]||-1===e&&0===i[5]);)n[5]+=e,i=n,n=n[3]}const qt={lFrame:de(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function zt(){return qt.bindingsEnabled}function Ht(){return qt.lFrame.lView}function Yt(){return qt.lFrame.tView}function jt(t){return qt.lFrame.contextLView=t,t[8]}function Gt(){let t=Vt();for(;null!==t&&64===t.type;)t=t.parent;return t}function Vt(){return qt.lFrame.currentTNode}function Qt(t,e){const i=qt.lFrame;i.currentTNode=t,i.isParent=e}function Wt(){return qt.lFrame.isParent}function Jt(){qt.lFrame.isParent=!1}function Xt(){return qt.isInCheckNoChangesMode}function Kt(t){qt.isInCheckNoChangesMode=t}function $t(){const t=qt.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function te(){return qt.lFrame.bindingIndex}function ee(){return qt.lFrame.bindingIndex++}function ie(t){const e=qt.lFrame,i=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,i}function ne(t,e){const i=qt.lFrame;i.bindingIndex=i.bindingRootIndex=t,re(e)}function re(t){qt.lFrame.currentDirectiveIndex=t}function se(t){const e=qt.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function oe(){return qt.lFrame.currentQueryIndex}function ae(t){qt.lFrame.currentQueryIndex=t}function le(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function ce(t,e,i){if(i&L.SkipSelf){let n=e,r=t;for(;n=n.parent,!(null!==n||i&L.Host||(n=le(r),null===n)||(r=r[15],10&n.type)););if(null===n)return!1;e=n,t=r}const n=qt.lFrame=ue();return n.currentTNode=e,n.lView=t,!0}function he(t){const e=ue(),i=t[1];qt.lFrame=e,e.currentTNode=i.firstChild,e.lView=t,e.tView=i,e.contextLView=t,e.bindingIndex=i.bindingStartIndex,e.inI18n=!1}function ue(){const t=qt.lFrame,e=null===t?null:t.child;return null===e?de(t):e}function de(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function fe(){const t=qt.lFrame;return qt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const pe=fe;function me(){const t=fe();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function ge(){return qt.lFrame.selectedIndex}function ye(t){qt.lFrame.selectedIndex=t}function be(){const t=qt.lFrame;return Dt(t.tView,t.selectedIndex)}function ve(){qt.lFrame.currentNamespace=At}function _e(){qt.lFrame.currentNamespace=null}function we(t,e){for(let i=e.directiveStart,n=e.directiveEnd;i=n)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}const Me=-1;class Ee{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function Te(t,e,i){const n=Et(t);let r=0;for(;re){o=s-1;break}}}for(;s>16,n=e;for(;i>0;)n=n[15],i--;return n}let Fe=!0;function Ne(t){const e=Fe;return Fe=t,e}let Be=0;function Ue(t,e){const i=ze(t,e);if(-1!==i)return i;const n=e[1];n.firstCreatePass&&(t.injectorIndex=e.length,qe(n.data,t),qe(e,null),qe(n.blueprint,null));const r=He(t,e),s=t.injectorIndex;if(Re(r)){const t=Pe(r),i=Ze(r,e),n=i[1].data;for(let r=0;r<8;r++)e[s+r]=i[t+r]|n[t+r]}return e[s+8]=r,s}function qe(t,e){t.push(0,0,0,0,0,0,0,0,e)}function ze(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function He(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let i=0,n=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(n=2===e?t.declTNode:1===e?r[6]:null,null===n)return Me;if(i++,r=r[15],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Me}function Ye(t,e,i){!function(t,e,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(J)&&(n=i[J]),null==n&&(n=i[J]=Be++);const r=255&n;e.data[t+(r>>5)]|=1<=0?255&e:We:e}(i);if("function"==typeof s){if(!ce(e,t,n))return n&L.Host?je(r,i,n):Ge(e,i,n,r);try{const t=s(n);if(null!=t||n&L.Optional)return t;v(i)}finally{pe()}}else if("number"==typeof s){let r=null,o=ze(t,e),a=Me,l=n&L.Host?e[16][6]:null;for((-1===o||n&L.SkipSelf)&&(a=-1===o?He(t,e):e[o+8],a!==Me&&ti(n,!1)?(r=e[1],o=Pe(a),e=Ze(a,e)):o=-1);-1!==o;){const t=e[1];if($e(s,o,t.data)){const t=Je(o,e,i,r,n,l);if(t!==Qe)return t}a=e[o+8],a!==Me&&ti(n,e[1].data[o+8]===l)&&$e(s,o,e)?(r=t,o=Pe(a),e=Ze(a,e)):o=-1}}}return Ge(e,i,n,r)}const Qe={};function We(){return new ei(Gt(),Ht())}function Je(t,e,i,n,r,s){const o=e[1],a=o.data[t+8],l=Xe(a,o,i,null==n?pt(a)&&Fe:n!=o&&0!=(3&a.type),r&L.Host&&s===a);return null!==l?Ke(e,o,l,a):Qe}function Xe(t,e,i,n,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,h=r?a+c:t.directiveEnd;for(let u=n?a:a+c;u=l&&t.type===i)return u}if(r){const t=o[l];if(t&>(t)&&t.type===i)return l}return null}function Ke(t,e,i,n){let r=t[i];const s=e.data;if(r instanceof Ee){const o=r;o.resolving&&function(t,e){throw new g("200",`Circular dependency in DI detected for ${t}`)}(b(s[i]));const a=Ne(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?O(o.injectImpl):null;ce(t,n,L.Default);try{r=t[i]=o.factory(void 0,s,t,n),e.firstCreatePass&&i>=n.directiveStart&&function(t,e,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(n){const n=_t(e);(i.preOrderHooks||(i.preOrderHooks=[])).push(t,n),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,n)}r&&(i.preOrderHooks||(i.preOrderHooks=[])).push(0-t,r),s&&((i.preOrderHooks||(i.preOrderHooks=[])).push(t,s),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,s))}(i,s[i],e)}finally{null!==l&&O(l),Ne(a),o.resolving=!1,pe()}}return r}function $e(t,e,i){return!!(i[e+(t>>5)]&1<{const e=t.prototype.constructor,i=e[W]||ni(e),n=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==n;){const t=r[W]||ni(r);if(t&&t!==i)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return m(t)?()=>{const e=ni(p(t));return e&&e()}:yt(t)}function ri(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const i=t.attrs;if(i){const t=i.length;let n=0;for(;n{const n=function(t){return function(...e){if(t){const i=t(...e);for(const t in i)this[t]=i[t]}}}(e);function r(...t){if(this instanceof r)return n.apply(this,t),this;const e=new r(...t);return i.annotation=e,i;function i(t,i,n){const r=t.hasOwnProperty(si)?t[si]:Object.defineProperty(t,si,{value:[]})[si];for(;r.length<=n;)r.push(null);return(r[n]=r[n]||[]).push(e),t}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class ai{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=_({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const li=new ai("AnalyzeForEntryComponents"),ci=Function;function hi(t,e){void 0===e&&(e=t);for(let i=0;iArray.isArray(t)?ui(t,e):e(t))}function di(t,e,i){e>=t.length?t.push(i):t.splice(e,0,i)}function fi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function pi(t,e){const i=[];for(let n=0;n=0?t[1|n]=i:(n=~n,function(t,e,i,n){let r=t.length;if(r==e)t.push(i,n);else if(1===r)t.push(n,t[0]),t[0]=i;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=i,t[e+1]=n}}(t,n,e,i)),n}function gi(t,e){const i=yi(t,e);if(i>=0)return t[1|i]}function yi(t,e){return function(t,e,i){let n=0,r=t.length>>1;for(;r!==n;){const i=n+(r-n>>1),s=t[i<<1];if(e===s)return i<<1;s>e?r=i:n=i+1}return~(r<<1)}(t,e)}const bi={},vi=/\n/gm,_i="__source",wi=l({provide:String,useValue:l});let xi;function Ci(t){const e=xi;return xi=t,e}function Ai(t,e=L.Default){if(void 0===xi)throw new Error("inject() must be called from an injection context");return null===xi?D(t,void 0,e):xi.get(t,e&L.Optional?null:void 0,e)}function Si(t,e=L.Default){return(I||Ai)(p(t),e)}const ki=Si;function Mi(t){const e=[];for(let i=0;i({token:t})),-1),Li=Ei(oi("Optional"),8),Ii=Ei(oi("Self"),2),Oi=Ei(oi("SkipSelf"),4);let Di,Ri;function Pi(t){var e;return(null===(e=function(){if(void 0===Di&&(Di=null,q.trustedTypes))try{Di=q.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(e){}return Di}())||void 0===e?void 0:e.createHTML(t))||t}function Zi(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,q.trustedTypes))try{Ri=q.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(e){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}class Fi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class Ni extends Fi{getTypeName(){return"HTML"}}class Bi extends Fi{getTypeName(){return"Style"}}class Ui extends Fi{getTypeName(){return"Script"}}class qi extends Fi{getTypeName(){return"URL"}}class zi extends Fi{getTypeName(){return"ResourceURL"}}function Hi(t){return t instanceof Fi?t.changingThisBreaksApplicationSecurity:t}function Yi(t,e){const i=ji(t);if(null!=i&&i!==e){if("ResourceURL"===i&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${i} (see https://g.co/ng/security#xss)`)}return i===e}function ji(t){return t instanceof Fi&&t.getTypeName()||null}function Gi(t){return new Ni(t)}function Vi(t){return new Bi(t)}function Qi(t){return new Ui(t)}function Wi(t){return new qi(t)}function Ji(t){return new zi(t)}class Xi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Pi(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Pi(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Pi(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let n=e.length-1;0en(t.trim())).join(", ")),this.buf.push(" ",e,'="',yn(o),'"')}var n;return this.buf.push(">"),!0}endElement(t){const e=t.nodeName.toLowerCase();cn.hasOwnProperty(e)&&!sn.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(yn(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const mn=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,gn=/([^\#-~ |!])/g;function yn(t){return t.replace(/&/g,"&").replace(mn,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(gn,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let bn;function vn(t,e){let i=null;try{bn=bn||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Pi(""),"text/html")}catch(t){return!1}}()?new Xi(e):e}(t);let n=e?String(e):"";i=bn.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=bn.getInertBodyElement(n)}while(n!==s);return Pi((new pn).sanitizeChildren(_n(i)||i))}finally{if(i){const t=_n(i)||i;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function _n(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var wn=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}({});function xn(t){const e=An();return e?Zi(e.sanitize(wn.HTML,t)||""):Yi(t,"HTML")?Zi(Hi(t)):vn(Mt(),y(t))}function Cn(t){const e=An();return e?e.sanitize(wn.URL,t)||"":Yi(t,"URL")?Hi(t):en(y(t))}function An(){const t=Ht();return t&&t[12]}function Sn(t,e){t.__ngContext__=e}function kn(t){const e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Mn(t){return t.ngDebugContext}function En(t){return t.ngOriginalError}function Tn(t,...e){t.error(...e)}class Ln{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),i=this._findContext(t),n=function(t){return t.ngErrorLogger||Tn}(t);n(this._console,"ERROR",t),e&&n(this._console,"ORIGINAL ERROR",e),i&&n(this._console,"ERROR CONTEXT",i)}_findContext(t){return t?Mn(t)?Mn(t):this._findContext(En(t)):null}_findOriginalError(t){let e=En(t);for(;e&&En(e);)e=En(e);return e}}const In=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(q))();function On(t){return t.ownerDocument.defaultView}function Dn(t){return t.ownerDocument.body}function Rn(t){return t instanceof Function?t():t}var Pn=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}({});function Zn(t,e){return(void 0)(t,e)}function Fn(t){const e=t[3];return dt(e)?e[3]:e}function Nn(t){return Un(t[13])}function Bn(t){return Un(t[4])}function Un(t){for(;null!==t&&!dt(t);)t=t[4];return t}function qn(t,e,i,n,r){if(null!=n){let s,o=!1;dt(n)?s=n:ut(n)&&(o=!0,n=n[0]);const a=Lt(n);0===t&&null!==i?null==r?Wn(e,i,a):Qn(e,i,a,r||null,!0):1===t&&null!==i?Qn(e,i,a,r||null,!0):2===t?function(t,e,i){const n=Xn(t,e);n&&function(t,e,i,n){Et(t)?t.removeChild(e,i,n):e.removeChild(i)}(t,n,e,i)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,i,n,r){const s=i[7];s!==Lt(i)&&qn(e,t,n,s,r);for(let o=ht;o0&&(t[i-1][4]=n[4]);const o=fi(t,ht+e);sr(n[1],r=n,r[11],2,null,null),r[0]=null,r[6]=null;const a=o[19];null!==a&&a.detachView(o[1]),n[3]=null,n[4]=null,n[2]&=-129}var r;return n}function jn(t,e){if(!(256&e[2])){const i=e[11];Et(i)&&i.destroyNode&&sr(t,e,i,3,null,null),function(t){let e=t[13];if(!e)return Gn(t[1],t);for(;e;){let i=null;if(ut(e))i=e[13];else{const t=e[10];t&&(i=t)}if(!i){for(;e&&!e[4]&&e!==t;)ut(e)&&Gn(e[1],e),e=e[3];null===e&&(e=t),ut(e)&&Gn(e[1],e),i=e&&e[4]}e=i}}(e)}}function Gn(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let i;if(null!=t&&null!=(i=t.destroyHooks))for(let n=0;n=0?n[r=l]():n[r=-l].unsubscribe(),s+=2}else{const t=n[r=i[s+1]];i[s].call(t)}if(null!==n){for(let t=r+1;ts?"":r[h+1].toLowerCase();const e=8&n?t:null;if(e&&-1!==cr(e,c,0)||2&n&&c!==t){if(mr(n))return!1;o=!0}}}}else{if(!o&&!mr(n)&&!mr(l))return!1;if(o&&mr(l))continue;o=!1,n=l|1&n}}return mr(n)||o}function mr(t){return 0==(1&t)}function gr(t,e,i,n){if(null===e)return-1;let r=0;if(n||!i){let i=!1;for(;r-1)for(i++;i0?'="'+e+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""===r||mr(o)||(e+=vr(s,r),r=""),n=o,s=s||!mr(n);i++}return""!==r&&(e+=vr(s,r)),e}const wr={};function xr(t){Cr(Yt(),Ht(),ge()+t,Xt())}function Cr(t,e,i,n){if(!n)if(3==(3&e[2])){const n=t.preOrderCheckHooks;null!==n&&xe(e,n,i)}else{const n=t.preOrderHooks;null!==n&&Ce(e,n,0,i)}ye(i)}function Ar(t,e){return t<<17|e<<2}function Sr(t){return t>>17&32767}function kr(t){return 2|t}function Mr(t){return(131068&t)>>2}function Er(t,e){return-131069&t|e<<2}function Tr(t){return 1|t}function Lr(t,e){const i=t.contentQueries;if(null!==i)for(let n=0;nct&&Cr(t,e,ct,Xt()),i(n,r)}finally{ye(s)}}function Nr(t,e,i){if(ft(e)){const n=e.directiveEnd;for(let r=e.directiveStart;r0;){const i=t[--e];if("number"==typeof i&&i<0)return i}return 0})(i)!=s&&i.push(s),i.push(n,r,o)}}function Qr(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Wr(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Jr(t,e,i){if(i){if(e.exportAs)for(let n=0;n0&&rs(i)}}function rs(t){for(let i=Nn(t);null!==i;i=Bn(i))for(let t=ht;t0&&rs(e)}const e=t[1].components;if(null!==e)for(let i=0;i0&&rs(n)}}function ss(t,e){const i=Pt(e,t),n=i[1];!function(t,e){for(let i=e.length;iPromise.resolve(null))();function ds(t){return t[7]||(t[7]=[])}function fs(t){return t.cleanup||(t.cleanup=[])}function ps(t,e,i){return(null===t||gt(t))&&(i=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(i[e.index])),i[11]}function ms(t,e){const i=t[9],n=i?i.get(Ln,null):null;n&&n.handleError(e)}function gs(t,e,i,n,r){for(let s=0;sthis.processProvider(i,t,e)),ui([t],t=>this.processInjectorType(t,[],r)),this.records.set(vs,Ls(void 0,this));const s=this.records.get(ws);this.scope=null!=s?s.value:null,this.source=n||("object"==typeof t?null:h(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=bi,i=L.Default){this.assertNotDestroyed();const n=Ci(this);try{if(!(i&L.SkipSelf)){let e=this.records.get(t);if(void 0===e){const i=("function"==typeof(r=t)||"object"==typeof r&&r instanceof ai)&&C(t);e=i&&this.injectableDefInScope(i)?Ls(Es(t),xs):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(i&L.Self?Ss():this.parent).get(t,e=i&L.Optional&&e===bi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s.ngTempTokenPath=s.ngTempTokenPath||[]).unshift(h(t)),n)throw s;return function(t,e,i,n){const r=t.ngTempTokenPath;throw e[_i]&&r.unshift(e[_i]),t.message=function(t,e,i,n=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let r=h(e);if(Array.isArray(e))r=e.map(h).join(" -> ");else if("object"==typeof e){let t=[];for(let i in e)if(e.hasOwnProperty(i)){let n=e[i];t.push(i+":"+("string"==typeof n?JSON.stringify(n):h(n)))}r=`{${t.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,i,n),t.ngTokenPath=r,t.ngTempTokenPath=null,t}(s,t,"R3InjectorError",this.source)}throw s}finally{Ci(n)}var r}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,i)=>t.push(h(i))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,i){if(!(t=p(t)))return!1;let n=S(t);const r=null==n&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==i.indexOf(s);if(void 0!==r&&(n=S(r)),null==n)return!1;if(null!=n.imports&&!o){let t;i.push(s);try{ui(n.imports,n=>{this.processInjectorType(n,e,i)&&(void 0===t&&(t=[]),t.push(n))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,i,n||H))}}this.injectorDefTypes.add(s);const a=yt(s)||(()=>new s);this.records.set(s,Ls(a,xs));const l=n.providers;if(null!=l&&!o){const e=t;ui(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,i){let n=Os(t=p(t))?t:p(t&&t.provide);const r=function(t,e,i){return Is(t)?Ls(void 0,t.useValue):Ls(Ts(t),xs)}(t);if(Os(t)||!0!==t.multi)this.records.get(n);else{let e=this.records.get(n);e||(e=Ls(void 0,xs,!0),e.factory=()=>Mi(e.multi),this.records.set(n,e)),n=t,e.multi.push(t)}this.records.set(n,r)}hydrate(t,e){var i;return e.value===xs&&(e.value=Cs,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(i=e.value)&&"object"==typeof i&&"function"==typeof i.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=p(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Es(t){const e=C(t),i=null!==e?e.factory:yt(t);if(null!==i)return i;if(t instanceof ai)throw new Error(`Token ${h(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const i=pi(e,"?");throw new Error(`Can't resolve all parameters for ${h(t)}: (${i.join(", ")}).`)}const i=function(t){const e=t&&(t[k]||t[E]);if(e){const i=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${i}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${i}" class.`),e}return null}(t);return null!==i?()=>i.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ts(t,e,i){let n;if(Os(t)){const e=p(t);return yt(e)||Es(e)}if(Is(t))n=()=>p(t.useValue);else if((r=t)&&r.useFactory)n=()=>t.useFactory(...Mi(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))n=()=>Si(p(t.useExisting));else{const e=p(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return yt(e)||Es(e);n=()=>new e(...Mi(t.deps))}var r;return n}function Ls(t,e,i=!1){return{factory:t,value:e,multi:i?[]:void 0}}function Is(t){return null!==t&&"object"==typeof t&&wi in t}function Os(t){return"function"==typeof t}const Ds=function(t,e,i){return function(t,e=null,i=null,n){const r=ks(t,e,i,n);return r._resolveInjectorDefTypes(),r}({name:i},e,t,i)};let Rs=(()=>{class t{static create(t,e){return Array.isArray(t)?Ds(t,e,""):Ds(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=bi,t.NULL=new _s,t.\u0275prov=_({token:t,providedIn:"any",factory:()=>Si(vs)}),t.__NG_ELEMENT_ID__=-1,t})();function Ps(t,e){we(kn(t)[1],Gt())}function Zs(t){let e=Object.getPrototypeOf(t.type.prototype).constructor,i=!0;const n=[t];for(;e;){let r;if(gt(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(i){n.push(r);const e=t;e.inputs=Fs(t.inputs),e.declaredInputs=Fs(t.declaredInputs),e.outputs=Fs(t.outputs);const i=r.hostBindings;i&&Us(t,i);const s=r.viewQuery,o=r.contentQueries;if(s&&Ns(t,s),o&&Bs(t,o),c(t.inputs,r.inputs),c(t.declaredInputs,r.declaredInputs),c(t.outputs,r.outputs),gt(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let n=0;n=0;n--){const r=t[n];r.hostVars=e+=r.hostVars,r.hostAttrs=Oe(r.hostAttrs,i=Oe(i,r.hostAttrs))}}(n)}function Fs(t){return t===z?{}:t===H?[]:t}function Ns(t,e){const i=t.viewQuery;t.viewQuery=i?(t,n)=>{e(t,n),i(t,n)}:e}function Bs(t,e){const i=t.contentQueries;t.contentQueries=i?(t,n,r)=>{e(t,n,r),i(t,n,r)}:e}function Us(t,e){const i=t.hostBindings;t.hostBindings=i?(t,n)=>{e(t,n),i(t,n)}:e}let qs=null;function zs(){if(!qs){const t=q.Symbol;if(t&&t.iterator)qs=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Lt(t[n.index])):n.index;if(Et(i)){let o=null;if(!a&&l&&(o=function(t,e,i,n){const r=t.cleanup;if(null!=r)for(let s=0;si?t[i]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,n.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,u=!1;else{s=bo(n,e,0,s,!1);const t=i.listen(f,r,s);h.push(s,t),c&&c.push(r,m,p,p+1)}}else s=bo(n,e,0,s,!0),f.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,p,o)}else s=bo(n,e,0,s,!1);const d=n.outputs;let f;if(u&&null!==d&&(f=d[r])){const t=f.length;if(t)for(let i=0;i0;)e=e[15],t--;return e}(t,qt.lFrame.contextLView))[8]}(t)}function _o(t,e){let i=null;const n=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const Mo={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Eo(t){return t.substring(Mo.key,Mo.keyEnd)}function To(t,e){const i=Mo.textEnd;return i===e?-1:(e=Mo.keyEnd=function(t,e,i){for(;e32;)e++;return e}(t,Mo.key=e,i),Lo(t,e,i))}function Lo(t,e,i){for(;e=0;i=To(e,i))mi(t,Eo(e),!0)}function Po(t,e,i,n){const r=Ht(),s=Yt(),o=ie(2);s.firstUpdatePass&&No(s,t,o,n),e!==wr&&Vs(r,o,e)&&qo(s,s.data[ge()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=h(Hi(t)))),t}(e,i),n,o)}function Zo(t,e,i,n){const r=Yt(),s=ie(2);r.firstUpdatePass&&No(r,null,s,n);const o=Ht();if(i!==wr&&Vs(o,s,i)){const a=r.data[ge()];if(Yo(a,n)&&!Fo(r,s)){let t=n?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(i=u(t,i||"")),io(r,a,o,i,n)}else!function(t,e,i,n,r,s,o,a){r===wr&&(r=H);let l=0,c=0,h=0=t.expandoStartIndex}function No(t,e,i,n){const r=t.data;if(null===r[i+1]){const s=r[ge()],o=Fo(t,i);Yo(s,n)&&null===e&&!o&&(e=!1),e=function(t,e,i,n){const r=se(t);let s=n?e.residualClasses:e.residualStyles;if(null===r)0===(n?e.classBindings:e.styleBindings)&&(i=Uo(i=Bo(null,t,e,i,n),e.attrs,n),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(i=Bo(r,t,e,i,n),null===s){let i=function(t,e,i){const n=i?e.classBindings:e.styleBindings;if(0!==Mr(n))return t[Sr(n)]}(t,e,n);void 0!==i&&Array.isArray(i)&&(i=Bo(null,t,e,i[1],n),i=Uo(i,e.attrs,n),function(t,e,i,n){t[Sr(i?e.classBindings:e.styleBindings)]=n}(t,e,n,i))}else s=function(t,e,i){let n;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(h=!0)}else c=i;if(r)if(0!==l){const e=Sr(t[a+1]);t[n+1]=Ar(e,a),0!==e&&(t[e+1]=Er(t[e+1],n)),t[a+1]=131071&t[a+1]|n<<17}else t[n+1]=Ar(a,0),0!==a&&(t[a+1]=Er(t[a+1],n)),a=n;else t[n+1]=Ar(l,0),0===a?a=n:t[l+1]=Er(t[l+1],n),l=n;h&&(t[n+1]=kr(t[n+1])),So(t,c,n,!0),So(t,c,n,!1),function(t,e,i,n,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&yi(s,e)>=0&&(i[n+1]=Tr(i[n+1]))}(e,c,t,n,s),o=Ar(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,i,o,n)}}function Bo(t,e,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let h=i[r+1];h===wr&&(h=c?H:void 0);let u=c?gi(h,n):l===n?h:void 0;if(s&&!Ho(u)&&(u=gi(e,n)),Ho(u)&&(a=u,o))return a;const d=t[r+1];r=o?Sr(d):Mr(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=gi(t,n))}return a}function Ho(t){return void 0!==t}function Yo(t,e){return 0!=(t.flags&(e?16:32))}function jo(t,e=""){const i=Ht(),n=Yt(),r=t+ct,s=n.firstCreatePass?Or(n,r,1,e,null):n.data[r],o=i[r]=function(t,e){return Et(t)?t.createText(e):t.createTextNode(e)}(i[11],e);tr(n,i,o,s),Qt(s,!1)}function Go(t){return Vo("",t,""),Go}function Vo(t,e,i){const n=Ht(),r=Js(n,t,e,i);return r!==wr&&ys(n,ge(),r),Vo}function Qo(t,e,i,n,r){const s=Ht(),o=function(t,e,i,n,r,s){const o=Qs(t,te(),i,r);return ie(2),o?e+y(i)+n+y(r)+s:wr}(s,t,e,i,n,r);return o!==wr&&ys(s,ge(),o),Qo}function Wo(t,e,i,n,r,s,o,a,l){const c=Ht(),h=function(t,e,i,n,r,s,o,a,l,c){const h=function(t,e,i,n,r,s){const o=Qs(t,e,i,n);return Qs(t,e+2,r,s)||o}(t,te(),i,r,o,l);return ie(4),h?e+y(i)+n+y(r)+s+y(o)+a+y(l)+c:wr}(c,t,e,i,n,r,s,o,a,l);return h!==wr&&ys(c,ge(),h),Wo}function Jo(t,e,i){Zo(mi,Ro,Js(Ht(),t,e,i),!0)}function Xo(t,e,i){const n=Ht();return Vs(n,ee(),e)&&jr(Yt(),be(),n,t,e,n[11],i,!0),Xo}function Ko(t,e,i){const n=Ht();if(Vs(n,ee(),e)){const r=Yt(),s=be();jr(r,s,n,t,e,ps(se(r.data),s,n),i,!0)}return Ko}const $o=void 0;var ta=["en",[["a","p"],["AM","PM"],$o],[["AM","PM"],$o,$o],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],$o,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],$o,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",$o,"{1} 'at' {0}",$o],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){let e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let ea={};function ia(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let i=ra(e);if(i)return i;const n=e.split("-")[0];if(i=ra(n),i)return i;if("en"===n)return ta;throw new Error(`Missing locale data for the locale "${t}".`)}function na(t){return ia(t)[sa.PluralCase]}function ra(t){return t in ea||(ea[t]=q.ng&&q.ng.common&&q.ng.common.locales&&q.ng.common.locales[t]),ea[t]}var sa=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}({});const oa="en-US";let aa=oa;function la(t){var e,i;i="Expected localeId to be defined",null==(e=t)&&function(t,e,i,n){throw new Error(`ASSERTION ERROR: ${t} [Expected=> null != ${e} <=Actual]`)}(i,e),"string"==typeof t&&(aa=t.toLowerCase().replace(/_/g,"-"))}function ca(t,e,i,n,r){if(t=p(t),Array.isArray(t))for(let s=0;s>20;if(Os(t)||!t.multi){const n=new Ee(l,r,$s),f=da(a,e,r?h:h+d,u);-1===f?(Ye(Ue(c,o),s,a),ha(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),i.push(n),o.push(n)):(i[f]=n,o[f]=n)}else{const f=da(a,e,h+d,u),p=da(a,e,h,h+d),m=f>=0&&i[f],g=p>=0&&i[p];if(r&&!g||!r&&!m){Ye(Ue(c,o),s,a);const h=function(t,e,i,n,r){const s=new Ee(t,i,$s);return s.multi=[],s.index=e,s.componentProviders=0,ua(s,r,n&&!i),s}(r?pa:fa,i.length,r,n,l);!r&&g&&(i[p].providerFactory=h),ha(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),i.push(h),o.push(h)}else ha(s,t,f>-1?f:p,ua(i[r?p:f],l,!r&&n));!r&&n&&g&&i[p].componentProviders++}}}function ha(t,e,i,n){const r=Os(e);if(r||e.useClass){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(i);-1===t?o.push(i,[n,s]):o[t+1].push(n,s)}else o.push(i,s)}}}function ua(t,e,i){return i&&t.componentProviders++,t.multi.push(e)-1}function da(t,e,i,n){for(let r=i;r{i.providersResolver=(i,n)=>function(t,e,i){const n=Yt();if(n.firstCreatePass){const r=gt(t);ca(i,n.data,n.blueprint,r,!0),ca(e,n.data,n.blueprint,r,!1)}}(i,n?n(t):t,e)}}class ya{}class ba{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${h(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(t)}}let va=(()=>{class t{}return t.NULL=new ba,t})();function _a(...t){}function wa(t,e){return new Ca(Ot(t,e))}const xa=function(){return wa(Gt(),Ht())};let Ca=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=xa,t})();function Aa(t){return t instanceof Ca?t.nativeElement:t}class Sa{}let ka=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>Ma(),t})();const Ma=function(){const t=Ht(),e=Pt(Gt().index,t);return function(t){return t[11]}(ut(e)?e:t)};let Ea=(()=>{class t{}return t.\u0275prov=_({token:t,providedIn:"root",factory:()=>null}),t})();class Ta{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const La=new Ta("12.0.5");class Ia{constructor(){}supports(t){return Ys(t)}create(t){return new Da(t)}}const Oa=(t,e)=>e;class Da{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Oa}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,n=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{n=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,n)?(s&&(r=this._verifyReinsertion(r,t,n,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,n,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,n){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,n)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,n))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,n)):t=this._addAfter(new Ra(e,i),r,n),t}_verifyReinsertion(t,e,i,n){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?t=this._reinsertAfter(r,t._prev,n):t.currentIndex!=n&&(t.currentIndex=n,this._addToMoves(t,n)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const n=t._prevRemoved,r=t._nextRemoved;return null===n?this._removalsHead=r:n._nextRemoved=r,null===r?this._removalsTail=n:r._prevRemoved=n,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const n=null===e?this._itHead:e._next;return t._next=n,t._prev=e,null===n?this._itTail=t:n._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Za),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Za),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Ra{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Pa{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class Za{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new Pa,this.map.set(e,i)),i.add(t)}get(t,e){const i=this.map.get(t);return i?i.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Fa(t,e,i){const n=t.previousIndex;if(null===n)return n;let r=0;return i&&n{if(e&&e.key===i)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const n=this._getOrCreateRecordForKey(i,t);e=this._insertBeforeOrAppend(e,n)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const i=this._records.get(t);this._maybeAddToChanges(i,e);const n=i._prev,r=i._next;return n&&(n._next=r),r&&(r._prev=n),i._next=null,i._prev=null,i}const i=new Ua(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class Ua{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function qa(){return new za([new Ia])}let za=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(null!=i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||qa()),deps:[[t,new Oi,new Li]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${i=t,i.name||typeof i}'`);var i}}return t.\u0275prov=_({token:t,providedIn:"root",factory:qa}),t})();function Ha(){return new Ya([new Na])}let Ya=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||Ha()),deps:[[t,new Oi,new Li]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=_({token:t,providedIn:"root",factory:Ha}),t})();function ja(t,e,i,n,r=!1){for(;null!==i;){const s=e[i.index];if(null!==s&&n.push(Lt(s)),dt(s))for(let t=ht;t-1&&(Yn(t,i),fi(e,i))}this._attachedToViewContainer=!1}jn(this._lView[1],this._lView)}onDestroy(t){Hr(this._lView[1],this._lView,null,t)}markForCheck(){as(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){ls(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,i){Kt(!0);try{ls(t,e,i)}finally{Kt(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var t;this._appRef=null,sr(this._lView[1],t=this._lView,t[11],2,null,null)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class Va extends Ga{constructor(t){super(t),this._view=t}detectChanges(){cs(this._view)}checkNoChanges(){!function(t){Kt(!0);try{cs(t)}finally{Kt(!1)}}(this._view)}get context(){return null}}const Qa=function(t){return function(t,e,i){if(pt(t)&&!i){const i=Pt(t.index,e);return new Ga(i,i)}return 47&t.type?new Ga(e[16],e):null}(Gt(),Ht(),16==(16&t))};let Wa=(()=>{class t{}return t.__NG_ELEMENT_ID__=Qa,t})();const Ja=[new Na],Xa=new za([new Ia]),Ka=new Ya(Ja),$a=function(){return nl(Gt(),Ht())};let tl=(()=>{class t{}return t.__NG_ELEMENT_ID__=$a,t})();const el=tl,il=class extends el{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t){const e=this._declarationTContainer.tViews,i=Ir(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const n=this._declarationLView[19];return null!==n&&(i[19]=n.createEmbeddedView(e)),Rr(e,i,t),new Ga(i)}};function nl(t,e){return 4&t.type?new il(e,t,wa(t,e)):null}class rl{}class sl{}const ol=function(){return dl(Gt(),Ht())};let al=(()=>{class t{}return t.__NG_ELEMENT_ID__=ol,t})();const ll=al,cl=class extends ll{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return wa(this._hostTNode,this._hostLView)}get injector(){return new ei(this._hostTNode,this._hostLView)}get parentInjector(){const t=He(this._hostTNode,this._hostLView);if(Re(t)){const e=Ze(t,this._hostLView),i=Pe(t);return new ei(e[1].data[i+8],e)}return new ei(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=hl(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-ht}createEmbeddedView(t,e,i){const n=t.createEmbeddedView(e||{});return this.insert(n,i),n}createComponent(t,e,i,n,r){const s=i||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(rl,null);t&&(r=t)}const o=t.create(s,n,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const i=t._lView,n=i[1];if(dt(i[3])){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=i[3],n=new cl(e,e[6],e[3]);n.detach(n.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,i,n){const r=ht+n,s=i.length;n>0&&(i[r-1][4]=e),nIn});class yl extends ya{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors.map(_r).join(","),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ml(this.componentDef.inputs)}get outputs(){return ml(this.componentDef.outputs)}create(t,e,i,n){const r=(n=n||this.ngModule)?function(t,e){return{get:(i,n,r)=>{const s=t.get(i,fl,r);return s!==fl||n===fl?s:e.get(i,n,r)}}}(t,n.injector):t,s=r.get(Sa,Tt),o=r.get(Ea,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=i?function(t,e,i){if(Et(t))return t.selectRootElement(e,i===Z.ShadowDom);let n="string"==typeof e?t.querySelector(e):e;return n.textContent="",n}(a,i,this.componentDef.encapsulation):zn(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?At:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),h=this.componentDef.onPush?576:528,u={components:[],scheduler:In,clean:us,playerHandler:null,flags:0},d=zr(0,null,null,1,0,null,null,null,null,null),f=Ir(null,d,u,h,null,null,s,a,o,r);let p,m;he(f);try{const t=function(t,e,i,n,r,s){const o=i[1];i[20]=t;const a=Or(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(bs(a,l,!0),null!==t&&(Te(r,t,l),null!==a.classes&&lr(r,t,a.classes),null!==a.styles&&ar(r,t,a.styles)));const c=n.createRenderer(t,e),h=Ir(i,qr(e),null,e.onPush?64:16,i[20],a,n,c,null,null);return o.firstCreatePass&&(Ye(Ue(a,i),o,e.type),Wr(o,a),Xr(a,i.length,1)),os(i,h),i[20]=h}(c,this.componentDef,f,s,a);if(c)if(i)Te(a,c,["ng-version",La.full]);else{const{attrs:t,classes:e}=function(t){const e=[],i=[];let n=1,r=2;for(;n0&&lr(a,c,e.join(" "))}if(m=Dt(d,ct),void 0!==e){const t=m.projection=[];for(let i=0;it(o,e)),e.contentQueries){const t=Gt();e.contentQueries(1,o,t.directiveStart)}const a=Gt();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(ye(a.index),Vr(i[1],a,0,a.directiveStart,a.directiveEnd,e),Qr(e,o)),o}(t,this.componentDef,f,u,[Ps]),Rr(d,f,null)}finally{me()}return new bl(this.componentType,p,wa(m,f),f,m)}}class bl extends class{}{constructor(t,e,i,n,r){super(),this.location=i,this._rootLView=n,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new Va(n),this.componentType=t}get injector(){return new ei(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const vl=new Map;class _l extends rl{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new pl(this);const i=lt(t),n=t[Q]||null;n&&la(n),this._bootstrapComponents=Rn(i.bootstrap),this._r3Injector=ks(t,e,[{provide:rl,useValue:this},{provide:va,useValue:this.componentFactoryResolver}],h(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=Rs.THROW_IF_NOT_FOUND,i=L.Default){return t===Rs||t===rl||t===vs?this:this._r3Injector.get(t,e,i)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class wl extends sl{constructor(t){super(),this.moduleType=t,null!==lt(t)&&function(t){const e=new Set;!function t(i){const n=lt(i,!0),r=n.id;null!==r&&(function(t,e,i){if(e&&e!==i)throw new Error(`Duplicate module registered for ${t} - ${h(e)} vs ${h(e.name)}`)}(r,vl.get(r),i),vl.set(r,i));const s=Rn(n.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new _l(this.moduleType,t)}}function xl(t,e,i){const n=$t()+t,r=Ht();return r[n]===wr?Gs(r,n,i?e.call(i):e()):function(t,e){return t[e]}(r,n)}function Cl(t,e,i,n){return Ml(Ht(),$t(),t,e,i,n)}function Al(t,e,i,n,r){return El(Ht(),$t(),t,e,i,n,r)}function Sl(t,e,i,n,r,s){return Tl(Ht(),$t(),t,e,i,n,r,s)}function kl(t,e){const i=t[e];return i===wr?void 0:i}function Ml(t,e,i,n,r,s){const o=e+i;return Vs(t,o,r)?Gs(t,o+1,s?n.call(s,r):n(r)):kl(t,o+1)}function El(t,e,i,n,r,s,o){const a=e+i;return Qs(t,a,r,s)?Gs(t,a+2,o?n.call(o,r,s):n(r,s)):kl(t,a+2)}function Tl(t,e,i,n,r,s,o,a){const l=e+i;return function(t,e,i,n,r){const s=Qs(t,e,i,n);return Vs(t,e+2,r)||s}(t,l,r,s,o)?Gs(t,l+3,a?n.call(a,r,s,o):n(r,s,o)):kl(t,l+3)}function Ll(t,e){const i=Yt();let n;const r=t+ct;i.firstCreatePass?(n=function(t,e){if(e)for(let i=e.length-1;i>=0;i--){const n=e[i];if(t===n.name)return n}throw new g("302",`The pipe '${t}' could not be found!`)}(e,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];const s=n.factory||(n.factory=yt(n.type)),o=O($s);try{const t=Ne(!1),e=s();return Ne(t),function(t,e,i,n){i>=t.data.length&&(t.data[i]=null,t.blueprint[i]=null),e[i]=n}(i,Ht(),r,e),e}finally{O(o)}}function Il(t,e,i){const n=t+ct,r=Ht(),s=Rt(r,n);return Pl(r,Rl(r,n)?Ml(r,$t(),e,s.transform,i,s):s.transform(i))}function Ol(t,e,i,n){const r=t+ct,s=Ht(),o=Rt(s,r);return Pl(s,Rl(s,r)?El(s,$t(),e,o.transform,i,n,o):o.transform(i,n))}function Dl(t,e,i,n,r){const s=t+ct,o=Ht(),a=Rt(o,s);return Pl(o,Rl(o,s)?Tl(o,$t(),e,a.transform,i,n,r,a):a.transform(i,n,r))}function Rl(t,e){return t[1].data[e].pure}function Pl(t,e){return Hs.isWrapped(e)&&(e=Hs.unwrap(e),t[te()]=wr),e}function Zl(t){return e=>{setTimeout(t,void 0,e)}}const Fl=class extends n.x{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){var n,s,o;let a=t,l=e||(()=>null),c=i;if(t&&"object"==typeof t){const e=t;a=null===(n=e.next)||void 0===n?void 0:n.bind(e),l=null===(s=e.error)||void 0===s?void 0:s.bind(e),c=null===(o=e.complete)||void 0===o?void 0:o.bind(e)}this.__isAsync&&(l=Zl(l),a&&(a=Zl(a)),c&&(c=Zl(c)));const h=super.subscribe({next:a,error:l,complete:c});return t instanceof r.w0&&t.add(h),h}};function Nl(){return this._results[zs()]()}class Bl{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=zs(),i=Bl.prototype;i[e]||(i[e]=Nl)}get changes(){return this._changes||(this._changes=new Fl)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const i=this;i.dirty=!1;const n=hi(t);(this._changesDetected=!function(t,e,i){if(t.length!==e.length)return!1;for(let n=0;n0)n.push(o[t/2]);else{const r=s[t+1],o=e[-i];for(let t=ht;t{class t{constructor(t){this.appInits=t,this.resolve=_a,this.reject=_a,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let i=0;i{e.subscribe({complete:t,error:i})});t.push(i)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Si(nc,8))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const sc=new ai("AppId"),oc={provide:sc,useFactory:function(){return`${ac()}${ac()}${ac()}`},deps:[]};function ac(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const lc=new ai("Platform Initializer"),cc=new ai("Platform ID"),hc=new ai("appBootstrapListener");let uc=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const dc=new ai("LocaleId"),fc=new ai("DefaultCurrencyCode");class pc{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const mc=function(t){return new wl(t)},gc=mc,yc=function(t){return Promise.resolve(mc(t))},bc=function(t){const e=mc(t),i=Rn(lt(t).declarations).reduce((t,e)=>{const i=at(e);return i&&t.push(new yl(i)),t},[]);return new pc(e,i)},vc=bc,_c=function(t){return Promise.resolve(bc(t))};let wc=(()=>{class t{constructor(){this.compileModuleSync=gc,this.compileModuleAsync=yc,this.compileModuleAndAllComponentsSync=vc,this.compileModuleAndAllComponentsAsync=_c}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const xc=(()=>Promise.resolve(0))();function Cc(t){"undefined"==typeof Zone?xc.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Ac{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Fl(!1),this.onMicrotaskEmpty=new Fl(!1),this.onStable=new Fl(!1),this.onError=new Fl(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const n=this;n._nesting=0,n._outer=n._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(n._inner=n._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(n._inner=n._inner.fork(Zone.longStackTraceZoneSpec)),n.shouldCoalesceEventChangeDetection=!i&&e,n.shouldCoalesceRunChangeDetection=i,n.lastRequestAnimationFrameId=-1,n.nativeRequestAnimationFrame=function(){let t=q.requestAnimationFrame,e=q.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i);const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(q,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,Mc(t),t.isCheckStableRunning=!0,kc(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),Mc(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return Ec(t),i.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Tc(t)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return Ec(t),i.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Tc(t)}},onHasTask:(e,i,n,r)=>{e.hasTask(n,r),i===n&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,Mc(t),kc(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,n,r)=>(e.handleError(n,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(n)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ac.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Ac.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,n){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+n,t,Sc,_a,_a);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const Sc={};function kc(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function Mc(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Ec(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Tc(t){t._nesting--,kc(t)}class Lc{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Fl,this.onMicrotaskEmpty=new Fl,this.onStable=new Fl,this.onError=new Fl}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,n){return t.apply(e,i)}}let Ic=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ac.assertNotInAngularZone(),Cc(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Cc(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,i){let n=-1;e&&e>0&&(n=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==n),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:n,updateCb:i})}whenStable(t,e,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,i){return[]}}return t.\u0275fac=function(e){return new(e||t)(Si(Ac))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})(),Oc=(()=>{class t{constructor(){this._applications=new Map,Zc.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return Zc.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();class Dc{addToWindow(t){}findTestabilityInTree(t,e,i){return null}}function Rc(t){Zc=t}let Pc,Zc=new Dc,Fc=!0,Nc=!1;function Bc(){return Nc=!0,Fc}function Uc(){if(Nc)throw new Error("Cannot enable prod mode after platform setup.");Fc=!1}const qc=new ai("AllowMultipleToken");class zc{constructor(t,e){this.name=t,this.token=e}}function Hc(t,e,i=[]){const n=`Platform: ${e}`,r=new ai(n);return(e=[])=>{let s=Yc();if(!s||s.injector.get(qc,!1))if(t)t(i.concat(e).concat({provide:r,useValue:!0}));else{const t=i.concat(e).concat({provide:r,useValue:!0},{provide:ws,useValue:"platform"});!function(t){if(Pc&&!Pc.destroyed&&!Pc.injector.get(qc,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Pc=t.get(jc);const e=t.get(lc,null);e&&e.forEach(t=>t())}(Rs.create({providers:t,name:n}))}return function(t){const e=Yc();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function Yc(){return Pc&&!Pc.destroyed?Pc:null}let jc=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const i=function(t,e){let i;return i="noop"===t?new Lc:("zone.js"===t?void 0:t)||new Ac({enableLongStackTrace:Bc(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),i}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),n=[{provide:Ac,useValue:i}];return i.run(()=>{const e=Rs.create({providers:n,parent:this.injector,name:t.moduleType.name}),r=t.create(e),s=r.injector.get(Ln,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(()=>{const t=i.onError.subscribe({next:t=>{s.handleError(t)}});r.onDestroy(()=>{Qc(this._modules,r),t.unsubscribe()})}),function(t,e,i){try{const n=i();return ho(n)?n.catch(i=>{throw e.runOutsideAngular(()=>t.handleError(i)),i}):n}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(s,i,()=>{const t=r.injector.get(rc);return t.runInitializers(),t.donePromise.then(()=>(la(r.injector.get(dc,oa)||oa),this._moduleDoBootstrap(r),r))})})}bootstrapModule(t,e=[]){const i=Gc({},e);return function(t,e,i){const n=new wl(i);return Promise.resolve(n)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(Vc);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${h(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Si(Rs))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function Gc(t,e){return Array.isArray(e)?e.reduce(Gc,t):Object.assign(Object.assign({},t),e)}let Vc=(()=>{class t{constructor(t,e,i,n,r){this._zone=t,this._injector=e,this._exceptionHandler=i,this._componentFactoryResolver=n,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const l=new s.y(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),c=new s.y(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Ac.assertNotInAngularZone(),Cc(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const i=this._zone.onUnstable.subscribe(()=>{Ac.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),i.unsubscribe()}});this.isStable=(0,o.T)(l,c.pipe((0,a.B)()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let i;i=t instanceof ya?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(i.componentType);const n=i.isBoundToModule?void 0:this._injector.get(rl),r=i.create(Rs.NULL,[],e||i.selector,n),s=r.location.nativeElement,o=r.injector.get(Ic,null),a=o&&r.injector.get(Oc);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Qc(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Qc(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(hc,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Si(Ac),Si(Rs),Si(Ln),Si(va),Si(rc))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function Qc(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}class Wc{}class Jc{}const Xc={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let Kc=(()=>{class t{constructor(t,e){this._compiler=t,this._config=e||Xc}load(t){return this.loadAndCompile(t)}loadAndCompile(t){let[e,n]=t.split("#");return void 0===n&&(n="default"),i(8255)(e).then(t=>t[n]).then(t=>$c(t,e,n)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,n]=t.split("#"),r="NgFactory";return void 0===n&&(n="default",r=""),i(8255)(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[n+r]).then(t=>$c(t,e,n))}}return t.\u0275fac=function(e){return new(e||t)(Si(wc),Si(Jc,8))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function $c(t,e,i){if(!t)throw new Error(`Cannot find '${i}' in '${e}'`);return t}const th=function(t){return null},eh=Hc(null,"core",[{provide:cc,useValue:"unknown"},{provide:jc,deps:[Rs]},{provide:Oc,deps:[]},{provide:uc,deps:[]}]),ih=[{provide:Vc,useClass:Vc,deps:[Ac,Rs,Ln,va,rc]},{provide:gl,deps:[Ac],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:rc,useClass:rc,deps:[[new Li,nc]]},{provide:wc,useClass:wc,deps:[]},oc,{provide:za,useFactory:function(){return Xa},deps:[]},{provide:Ya,useFactory:function(){return Ka},deps:[]},{provide:dc,useFactory:function(t){return la(t=t||"undefined"!=typeof $localize&&$localize.locale||oa),t},deps:[[new Ti(dc),new Li,new Oi]]},{provide:fc,useValue:"USD"}];let nh=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Si(Vc))},t.\u0275mod=it({type:t}),t.\u0275inj=x({providers:ih}),t})()},1463:(t,e,i)=>{"use strict";i.d(e,{IR:()=>f,g5:()=>g,WU:()=>y,wY:()=>b,Bs:()=>v,iR:()=>A,RK:()=>V,QI:()=>Q,Ot:()=>W,yB:()=>X});var n=i(1572),r=i(1511),s=i(9666),o=i(7425),a=i(2391),l=i(5446),c=i(8868),h=i(343);const u={provide:n.tb,useFactory:function(t,e){return()=>{if((0,r.NF)(e)){const e=Array.from(t.querySelectorAll(`[class*=${d}]`)),i=/\bflex-layout-.+?\b/g;e.forEach(t=>{t.classList.contains(`${d}ssr`)&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(i,"")})}}},deps:[r.K0,n.Lbi],multi:!0},d="flex-layout-";let f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[u]}),t})();class p{constructor(t=!1,e="all",i="",n="",r=0){this.matches=t,this.mediaQuery=e,this.mqAlias=i,this.suffix=n,this.priority=r,this.property=""}clone(){return new p(this.matches,this.mediaQuery,this.mqAlias,this.suffix)}}let m=(()=>{class t{constructor(){this.stylesheet=new Map}addStyleToElement(t,e,i){const n=this.stylesheet.get(t);n?n.set(e,i):this.stylesheet.set(t,new Map([[e,i]]))}clearStyles(){this.stylesheet.clear()}getStyleForElement(t,e){const i=this.stylesheet.get(t);let n="";if(i){const t=i.get(e);"number"!=typeof t&&"string"!=typeof t||(n=t+"")}return n}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const g={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},y=new n.OlP("Flex Layout token, config options for the library",{providedIn:"root",factory:()=>g}),b=new n.OlP("FlexLayoutServerLoaded",{providedIn:"root",factory:()=>!1}),v=new n.OlP("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:()=>null});function _(t,e){return t=t?t.clone():new p,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}const w="inline",x=["row","column","row-reverse","column-reverse"];function C(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}let A=(()=>{class t{constructor(t,e,i,n){this.elementRef=t,this.styleBuilder=e,this.styler=i,this.marshal=n,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new s.x,this.styleCache=new Map}get parentElement(){return this.elementRef.nativeElement.parentElement}get nativeElement(){return this.elementRef.nativeElement}get activatedValue(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)}set activatedValue(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)}ngOnChanges(t){Object.keys(t).forEach(e=>{if(-1!==this.inputs.indexOf(e)){const i=e.split(".").slice(1).join(".");this.setValue(t[e].currentValue,i)}})}ngOnDestroy(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)}init(t=[]){this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)}addStyles(t,e){const i=this.styleBuilder,n=i.shouldCache;let r=this.styleCache.get(t);r&&n||(r=i.buildStyles(t,e),n&&this.styleCache.set(t,r)),this.mru=Object.assign({},r),this.applyStyleToElement(r),i.sideEffect(t,r,e)}clearStyles(){Object.keys(this.mru).forEach(t=>{this.mru[t]=""}),this.applyStyleToElement(this.mru),this.mru={}}triggerUpdate(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)}getFlexFlowDirection(t,e=!1){if(t){const[i,n]=this.styler.getFlowDirection(t);if(!n&&e){const e=function(t){let[e,i,n]=function(t){t=t?t.toLowerCase():"";let[e,i,n]=t.split(" ");return x.find(t=>t===e)||(e=x[0]),i===w&&(i=n!==w?n:"",n=w),[e,C(i),!!n]}(t);return function(t,e=null,i=!1){return{display:i?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e,i,n)}(i);this.styler.applyStyleToElements(e,[t])}return i.trim()}return"row"}hasWrap(t){return this.styler.hasWrap(t)}applyStyleToElement(t,e,i=this.nativeElement){this.styler.applyStyleToElement(i,t,e)}setValue(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)}updateWithValue(t){this.currentValue!==t&&(this.addStyles(t),this.currentValue=t)}}return t.\u0275fac=function(t){n.$Z()},t.\u0275dir=n.lG2({type:t,features:[n.TTD]}),t})();const S=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.98px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.98px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.98px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.98px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.98px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.98px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.98px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.98px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.98px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],k="(orientation: portrait) and (max-width: 599.98px)",M="(orientation: landscape) and (max-width: 959.98px)",E="(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)",T="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)",L="(orientation: portrait) and (min-width: 840px)",I="(orientation: landscape) and (min-width: 1280px)",O={HANDSET:`${k}, ${M}`,TABLET:`${E} , ${T}`,WEB:`${L}, ${I} `,HANDSET_PORTRAIT:`${k}`,TABLET_PORTRAIT:`${E} `,WEB_PORTRAIT:`${L}`,HANDSET_LANDSCAPE:`${M}`,TABLET_LANDSCAPE:`${T}`,WEB_LANDSCAPE:`${I}`},D=[{alias:"handset",priority:2e3,mediaQuery:O.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:O.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:O.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:O.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:O.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:O.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:O.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:O.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:O.WEB_PORTRAIT,overlapping:!0}],R=/(\.|-|_)/g;function P(t){let e=t.length>0?t.charAt(0):"",i=t.length>1?t.slice(1):"";return e.toUpperCase()+i}const Z=new n.OlP("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:()=>{const t=(0,n.f3M)(v),e=(0,n.f3M)(y),i=[].concat.apply([],(t||[]).map(t=>Array.isArray(t)?t:[t]));return function(t,e=[]){const i={};return t.forEach(t=>{i[t.alias]=t}),e.forEach(t=>{i[t.alias]?function(t,...e){if(null==t)throw TypeError("Cannot convert undefined or null to object");for(let i of e)if(null!=i)for(let e in i)i.hasOwnProperty(e)&&(t[e]=i[e])}(i[t.alias],t):i[t.alias]=t}),(n=Object.keys(i).map(t=>i[t])).forEach(t=>{t.suffix||(t.suffix=t.alias.replace(R,"|").split("|").map(P).join(""),t.overlapping=!!t.overlapping)}),n;var n}((e.disableDefaultBps?[]:S).concat(e.addOrientationBps?D:[]),i)}});function F(t,e){return(e&&e.priority||0)-(t&&t.priority||0)}function N(t,e){return(t.priority||0)-(e.priority||0)}let B=(()=>{class t{constructor(t){this.findByMap=new Map,this.items=[...t].sort(N)}findByAlias(t){return t?this.findWithPredicate(t,e=>e.alias==t):null}findByQuery(t){return this.findWithPredicate(t,e=>e.mediaQuery==t)}get overlappings(){return this.items.filter(t=>1==t.overlapping)}get aliases(){return this.items.map(t=>t.alias)}get suffixes(){return this.items.map(t=>t.suffix?t.suffix:"")}findWithPredicate(t,e){let i=this.findByMap.get(t);return i||(i=this.items.find(e)||null,this.findByMap.set(t,i)),i||null}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(Z))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(Z))},token:t,providedIn:"root"}),t})(),U=(()=>{class t{constructor(t,e,i){this._zone=t,this._platformId=e,this._document=i,this.source=new o.X(new p(!0)),this.registry=new Map,this.pendingRemoveListenerFns=[],this._observable$=this.source.asObservable()}get activations(){const t=[];return this.registry.forEach((e,i)=>{e.matches&&t.push(i)}),t}isActive(t){const e=this.registry.get(t);return e?e.matches:this.registerQuery(t).some(t=>t.matches)}observe(t,e=!1){if(t&&t.length){const i=this._observable$.pipe((0,c.h)(i=>!e||t.indexOf(i.mediaQuery)>-1)),n=new a.y(e=>{const i=this.registerQuery(t);if(i.length){const t=i.pop();i.forEach(t=>{e.next(t)}),this.source.next(t)}e.complete()});return(0,l.T)(n,i)}return this._observable$}registerQuery(t){const e=Array.isArray(t)?t:[t],i=[];return function(t,e){const i=t.filter(t=>!q[t]);if(i.length>0){const t=i.join(", ");try{const n=e.createElement("style");n.setAttribute("type","text/css"),n.styleSheet||n.appendChild(e.createTextNode(`\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ${t} {.fx-query-test{ }}\n`)),e.head.appendChild(n),i.forEach(t=>q[t]=n)}catch(n){console.error(n)}}}(e,this._document),e.forEach(t=>{const e=e=>{this._zone.run(()=>this.source.next(new p(e.matches,t)))};let n=this.registry.get(t);n||(n=this.buildMQL(t),n.addListener(e),this.pendingRemoveListenerFns.push(()=>n.removeListener(e)),this.registry.set(t,n)),n.matches&&i.push(new p(!0,t))}),i}ngOnDestroy(){let t;for(;t=this.pendingRemoveListenerFns.pop();)t()}buildMQL(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{},onchange:null,addEventListener(){},removeEventListener(){},dispatchEvent:()=>!1}}(t,(0,r.NF)(this._platformId))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.R0b),n.LFG(n.Lbi),n.LFG(r.K0))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(n.R0b),(0,n.LFG)(n.Lbi),(0,n.LFG)(r.K0))},token:t,providedIn:"root"}),t})();const q={},z="print",H={alias:z,mediaQuery:z,priority:1e3};let Y=(()=>{class t{constructor(t,e,i){this.breakpoints=t,this.layoutConfig=e,this._document=i,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.isPrinting=!1,this.queue=new j,this.deactivations=[]}withPrintQuery(t){return[...t,z]}isPrintEvent(t){return t.mediaQuery.startsWith(z)}get printAlias(){return this.layoutConfig.printWithBreakpoints||[]}get printBreakPoints(){return this.printAlias.map(t=>this.breakpoints.findByAlias(t)).filter(t=>null!==t)}getEventBreakpoints({mediaQuery:t}){const e=this.breakpoints.findByQuery(t);return(e?[...this.printBreakPoints,e]:this.printBreakPoints).sort(F)}updateEvent(t){let e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),_(t,e)}registerBeforeAfterPrintHooks(t){if(!this._document.defaultView||this.registeredBeforeAfterPrintHooks)return;this.registeredBeforeAfterPrintHooks=!0;const e=()=>{this.isPrinting||(this.isPrintingBeforeAfterEvent=!0,this.startPrinting(t,this.getEventBreakpoints(new p(!0,z))),t.updateStyles())},i=()=>{this.isPrintingBeforeAfterEvent=!1,this.isPrinting&&(this.stopPrinting(t),t.updateStyles())};this._document.defaultView.addEventListener("beforeprint",e),this._document.defaultView.addEventListener("afterprint",i),this.beforePrintEventListeners.push(e),this.afterPrintEventListeners.push(i)}interceptEvents(t){return this.registerBeforeAfterPrintHooks(t),e=>{this.isPrintEvent(e)?e.matches&&!this.isPrinting?(this.startPrinting(t,this.getEventBreakpoints(e)),t.updateStyles()):e.matches||!this.isPrinting||this.isPrintingBeforeAfterEvent||(this.stopPrinting(t),t.updateStyles()):this.collectActivations(e)}}blockPropagation(){return t=>!(this.isPrinting||this.isPrintEvent(t))}startPrinting(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)}stopPrinting(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1}collectActivations(t){if(!this.isPrinting||this.isPrintingBeforeAfterEvent)if(t.matches)this.isPrintingBeforeAfterEvent||(this.deactivations=[]);else{const e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(F))}}ngOnDestroy(){this._document.defaultView&&(this.beforePrintEventListeners.forEach(t=>this._document.defaultView.removeEventListener("beforeprint",t)),this.afterPrintEventListeners.forEach(t=>this._document.defaultView.removeEventListener("afterprint",t)))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(B),n.LFG(y),n.LFG(r.K0))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(B),(0,n.LFG)(y),(0,n.LFG)(r.K0))},token:t,providedIn:"root"}),t})();class j{constructor(){this.printBreakpoints=[]}addPrintBreakpoints(t){return t.push(H),t.sort(F),t.forEach(t=>this.addBreakpoint(t)),this.printBreakpoints}addBreakpoint(t){t&&void 0===this.printBreakpoints.find(e=>e.mediaQuery===t.mediaQuery)&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith(z)}(t)?[t,...this.printBreakpoints]:[...this.printBreakpoints,t])}clear(){this.printBreakpoints=[]}}function G(t){for(let e in t){let i=t[e]||"";switch(e){case"display":t.display="flex"===i?["-webkit-flex","flex"]:"inline-flex"===i?["-webkit-inline-flex","inline-flex"]:i;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=i;break;case"flex-direction":i=i||"row",t["-webkit-flex-direction"]=i,t["flex-direction"]=i;break;case"order":t.order=t["-webkit-"+e]=isNaN(+i)?"0":i}}return t}let V=(()=>{class t{constructor(t,e,i,n){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=i,this.layoutConfig=n}applyStyleToElement(t,e,i=null){let n={};"string"==typeof e&&(n[e]=i,e=n),n=this.layoutConfig.disableVendorPrefixes?e:G(e),this._applyMultiValueStyleToElement(n,t)}applyStyleToElements(t,e=[]){const i=this.layoutConfig.disableVendorPrefixes?t:G(t);e.forEach(t=>{this._applyMultiValueStyleToElement(i,t)})}getFlowDirection(t){const e="flex-direction";let i=this.lookupStyle(t,e);return[i||"row",this.lookupInlineStyle(t,e)||(0,r.PM)(this._platformId)&&this._serverModuleLoaded?i:""]}hasWrap(t){return"wrap"===this.lookupStyle(t,"flex-wrap")}lookupAttributeValue(t,e){return t.getAttribute(e)||""}lookupInlineStyle(t,e){return(0,r.NF)(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)}lookupStyle(t,e,i=!1){let n="";return t&&((n=this.lookupInlineStyle(t,e))||((0,r.NF)(this._platformId)?i||(n=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(n=this._serverStylesheet.getStyleForElement(t,e)))),n?n.trim():""}_applyMultiValueStyleToElement(t,e){Object.keys(t).sort().forEach(i=>{const n=t[i],s=Array.isArray(n)?n:[n];s.sort();for(let t of s)t=t?t+"":"",(0,r.NF)(this._platformId)||!this._serverModuleLoaded?(0,r.NF)(this._platformId)?e.style.setProperty(i,t):this._setServerStyle(e,i,t):this._serverStylesheet.addStyleToElement(e,i,t)})}_setServerStyle(t,e,i){e=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const n=this._readStyleAttribute(t);n[e]=i||"",this._writeStyleAttribute(t,n)}_getServerStyle(t,e){return this._readStyleAttribute(t)[e]||""}_readStyleAttribute(t){const e={},i=t.getAttribute("style");if(i){const t=i.split(/;+/g);for(let i=0;i0){const t=n.indexOf(":");if(-1===t)throw new Error(`Invalid CSS style: ${n}`);e[n.substr(0,t).trim()]=n.substr(t+1).trim()}}}return e}_writeStyleAttribute(t,e){let i="";for(const n in e)e[n]&&(i+=n+":"+e[n]+";");t.setAttribute("style",i)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(m),n.LFG(b),n.LFG(n.Lbi),n.LFG(y))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(m),(0,n.LFG)(b),(0,n.LFG)(n.Lbi),(0,n.LFG)(y))},token:t,providedIn:"root"}),t})();class Q{constructor(){this.shouldCache=!0}sideEffect(t,e,i){}}function W(t,e="1",i="1"){let n=[e,i,t],r=t.indexOf("calc");if(r>0){n[2]=J(t.substring(r).trim());let e=t.substr(0,r).trim().split(" ");2==e.length&&(n[0]=e[0],n[1]=e[1])}else if(0==r)n[2]=J(t.trim());else{let r=t.split(" ");n=3===r.length?r:[e,i,t]}return n}function J(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}let X=(()=>{class t{constructor(t,e,i){this.matchMedia=t,this.breakpoints=e,this.hook=i,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new s.x,this.observeActivations()}get activatedAlias(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""}onMediaChange(t){const e=this.findByQuery(t.mediaQuery);e&&((t=_(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(F),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(F),this.updateStyles()))}init(t,e,i,n,r=[]){K(this.updateMap,t,e,i),K(this.clearMap,t,e,n),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,r)}getValue(t,e,i){const n=this.elementMap.get(t);if(n){const t=void 0!==i?n.get(i):this.getActivatedValues(n,e);if(t)return t.get(e)}}hasValue(t,e){const i=this.elementMap.get(t);if(i){const t=this.getActivatedValues(i,e);if(t)return void 0!==t.get(e)||!1}return!1}setValue(t,e,i,n){let r=this.elementMap.get(t);if(r){const s=(r.get(n)||new Map).set(e,i);r.set(n,s),this.elementMap.set(t,r)}else r=(new Map).set(n,(new Map).set(e,i)),this.elementMap.set(t,r);const s=this.getValue(t,e);void 0!==s&&this.updateElement(t,e,s)}trackValue(t,e){return this.subject.asObservable().pipe((0,c.h)(i=>i.element===t&&i.key===e))}updateStyles(){this.elementMap.forEach((t,e)=>{const i=new Set(this.elementKeyMap.get(e));let n=this.getActivatedValues(t);n&&n.forEach((t,n)=>{this.updateElement(e,n,t),i.delete(n)}),i.forEach(i=>{if(n=this.getActivatedValues(t,i),n){const t=n.get(i);this.updateElement(e,i,t)}else this.clearElement(e,i)})})}clearElement(t,e){const i=this.clearMap.get(t);if(i){const n=i.get(e);n&&(n(),this.subject.next({element:t,key:e,value:""}))}}updateElement(t,e,i){const n=this.updateMap.get(t);if(n){const r=n.get(e);r&&(r(i),this.subject.next({element:t,key:e,value:i}))}}releaseElement(t){const e=this.watcherMap.get(t);e&&(e.forEach(t=>t.unsubscribe()),this.watcherMap.delete(t));const i=this.elementMap.get(t);i&&(i.forEach((t,e)=>i.delete(e)),this.elementMap.delete(t))}triggerUpdate(t,e){const i=this.elementMap.get(t);if(i){const n=this.getActivatedValues(i,e);n&&(e?this.updateElement(t,e,n.get(e)):n.forEach((e,i)=>this.updateElement(t,i,e)))}}buildElementKeyMap(t,e){let i=this.elementKeyMap.get(t);i||(i=new Set,this.elementKeyMap.set(t,i)),i.add(e)}watchExtraTriggers(t,e,i){if(i&&i.length){let n=this.watcherMap.get(t);if(n||(n=new Map,this.watcherMap.set(t,n)),!n.get(e)){const r=(0,l.T)(...i).subscribe(()=>{const i=this.getValue(t,e);this.updateElement(t,e,i)});n.set(e,r)}}}findByQuery(t){return this.breakpoints.findByQuery(t)}getActivatedValues(t,e){for(let n=0;nt.mediaQuery);this.matchMedia.observe(this.hook.withPrintQuery(t)).pipe((0,h.b)(this.hook.interceptEvents(this)),(0,c.h)(this.hook.blockPropagation())).subscribe(this.onMediaChange.bind(this))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(U),n.LFG(B),n.LFG(Y))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(U),(0,n.LFG)(B),(0,n.LFG)(Y))},token:t,providedIn:"root"}),t})();function K(t,e,i,n){if(void 0!==n){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(i,n)}}},377:(t,e,i)=>{"use strict";i.d(e,{aT:()=>b,oO:()=>c,Zl:()=>g});var n=i(1572),r=i(1511),s=i(1463),o=(i(9861),i(9568),i(269));new Map;let a=(()=>{class t extends s.iR{constructor(t,e,i,n,s,o,a){super(t,null,e,i),this.ngClassInstance=a,this.DIRECTIVE_KEY="ngClass",this.ngClassInstance||(this.ngClassInstance=new r.mk(n,s,t,o)),this.init(),this.setValue("","")}set klass(t){this.ngClassInstance.klass=t,this.setValue(t,"")}updateWithValue(t){this.ngClassInstance.ngClass=t,this.ngClassInstance.ngDoCheck()}ngDoCheck(){this.ngClassInstance.ngDoCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(s.RK),n.Y36(s.yB),n.Y36(n.ZZ4),n.Y36(n.aQg),n.Y36(n.Qsj),n.Y36(r.mk,10))},t.\u0275dir=n.lG2({type:t,inputs:{klass:["class","klass"]},features:[n.qOj]}),t})();const l=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"];let c=(()=>{class t extends a{constructor(){super(...arguments),this.inputs=l}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","ngClass",""],["","ngClass.xs",""],["","ngClass.sm",""],["","ngClass.md",""],["","ngClass.lg",""],["","ngClass.xl",""],["","ngClass.lt-sm",""],["","ngClass.lt-md",""],["","ngClass.lt-lg",""],["","ngClass.lt-xl",""],["","ngClass.gt-xs",""],["","ngClass.gt-sm",""],["","ngClass.gt-md",""],["","ngClass.gt-lg",""]],inputs:{ngClass:"ngClass","ngClass.xs":"ngClass.xs","ngClass.sm":"ngClass.sm","ngClass.md":"ngClass.md","ngClass.lg":"ngClass.lg","ngClass.xl":"ngClass.xl","ngClass.lt-sm":"ngClass.lt-sm","ngClass.lt-md":"ngClass.lt-md","ngClass.lt-lg":"ngClass.lt-lg","ngClass.lt-xl":"ngClass.lt-xl","ngClass.gt-xs":"ngClass.gt-xs","ngClass.gt-sm":"ngClass.gt-sm","ngClass.gt-md":"ngClass.gt-md","ngClass.gt-lg":"ngClass.gt-lg"},features:[n.qOj]}),t})();new WeakMap;class h{constructor(t,e,i=!0){this.key=t,this.value=e,this.key=i?t.replace(/['"]/g,"").trim():t.trim(),this.value=i?e.replace(/['"]/g,"").trim():e.trim(),this.value=this.value.replace(/;/,"")}}function u(t){let e=typeof t;return"object"===e?t.constructor===Array?"array":t.constructor===Set?"set":"object":e}function d(t){const[e,...i]=t.split(":");return new h(e,i.join(":"))}function f(t,e){return e.key&&(t[e.key]=e.value),t}let p=(()=>{class t extends s.iR{constructor(t,e,i,n,s,o,a,l,c){super(t,null,e,i),this.sanitizer=n,this.ngStyleInstance=a,this.DIRECTIVE_KEY="ngStyle",this.ngStyleInstance||(this.ngStyleInstance=new r.PC(t,s,o)),this.init();const h=this.nativeElement.getAttribute("style")||"";this.fallbackStyles=this.buildStyleMap(h),this.isServer=l&&(0,r.PM)(c)}updateWithValue(t){const e=this.buildStyleMap(t);this.ngStyleInstance.ngStyle=Object.assign(Object.assign({},this.fallbackStyles),e),this.isServer&&this.applyStyleToElement(e),this.ngStyleInstance.ngDoCheck()}clearStyles(){this.ngStyleInstance.ngStyle=this.fallbackStyles,this.ngStyleInstance.ngDoCheck()}buildStyleMap(t){const e=t=>this.sanitizer.sanitize(n.q3G.STYLE,t)||"";if(t)switch(u(t)){case"string":return y(function(t,e=";"){return String(t).trim().split(e).map(t=>t.trim()).filter(t=>""!==t)}(t),e);case"array":return y(t,e);case"set":default:return function(t,e){let i=[];return"set"===u(t)?t.forEach(t=>i.push(t)):Object.keys(t).forEach(e=>{i.push(`${e}:${t[e]}`)}),function(t,e){return t.map(d).filter(t=>!!t).map(t=>(e&&(t.value=e(t.value)),t)).reduce(f,{})}(i,e)}(t,e)}return{}}ngDoCheck(){this.ngStyleInstance.ngDoCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(s.RK),n.Y36(s.yB),n.Y36(o.H7),n.Y36(n.aQg),n.Y36(n.Qsj),n.Y36(r.PC,10),n.Y36(s.wY),n.Y36(n.Lbi))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();const m=["ngStyle","ngStyle.xs","ngStyle.sm","ngStyle.md","ngStyle.lg","ngStyle.xl","ngStyle.lt-sm","ngStyle.lt-md","ngStyle.lt-lg","ngStyle.lt-xl","ngStyle.gt-xs","ngStyle.gt-sm","ngStyle.gt-md","ngStyle.gt-lg"];let g=(()=>{class t extends p{constructor(){super(...arguments),this.inputs=m}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","ngStyle",""],["","ngStyle.xs",""],["","ngStyle.sm",""],["","ngStyle.md",""],["","ngStyle.lg",""],["","ngStyle.xl",""],["","ngStyle.lt-sm",""],["","ngStyle.lt-md",""],["","ngStyle.lt-lg",""],["","ngStyle.lt-xl",""],["","ngStyle.gt-xs",""],["","ngStyle.gt-sm",""],["","ngStyle.gt-md",""],["","ngStyle.gt-lg",""]],inputs:{ngStyle:"ngStyle","ngStyle.xs":"ngStyle.xs","ngStyle.sm":"ngStyle.sm","ngStyle.md":"ngStyle.md","ngStyle.lg":"ngStyle.lg","ngStyle.xl":"ngStyle.xl","ngStyle.lt-sm":"ngStyle.lt-sm","ngStyle.lt-md":"ngStyle.lt-md","ngStyle.lt-lg":"ngStyle.lt-lg","ngStyle.lt-xl":"ngStyle.lt-xl","ngStyle.gt-xs":"ngStyle.gt-xs","ngStyle.gt-sm":"ngStyle.gt-sm","ngStyle.gt-md":"ngStyle.gt-md","ngStyle.gt-lg":"ngStyle.gt-lg"},features:[n.qOj]}),t})();function y(t,e){return t.map(d).filter(t=>!!t).map(t=>(e&&(t.value=e(t.value)),t)).reduce(f,{})}let b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.IR]]}),t})()},3722:(t,e,i)=>{"use strict";i.d(e,{ae:()=>N,yH:()=>w,xw:()=>m,Wh:()=>T});var n=i(1572),r=i(1463),s=i(2526),o=(i(9666),i(9568));const a="inline",l=["row","column","row-reverse","column-reverse"];function c(t){t=t?t.toLowerCase():"";let[e,i,n]=t.split(" ");return l.find(t=>t===e)||(e=l[0]),i===a&&(i=n!==a?n:"",n=a),[e,u(i),!!n]}function h(t){let[e]=c(t);return e.indexOf("row")>-1}function u(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}let d=(()=>{class t extends r.QI{buildStyles(t){return function(t){let[e,i,n]=c(t);return function(t,e=null,i=!1){return{display:i?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e,i,n)}(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const f=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"];let p=(()=>{class t extends r.iR{constructor(t,e,i,n){super(t,i,e,n),this.DIRECTIVE_KEY="layout",this.styleCache=g,this.init()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(d),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})(),m=(()=>{class t extends p{constructor(){super(...arguments),this.inputs=f}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[n.qOj]}),t})();const g=new Map;function y(t,...e){if(null==t)throw TypeError("Cannot convert undefined or null to object");for(let i of e)if(null!=i)for(let e in i)i.hasOwnProperty(e)&&(t[e]=i[e]);return t}new Map,new Map,new Map,new Map;let b=(()=>{class t extends r.QI{constructor(t){super(),this.layoutConfig=t}buildStyles(t,e){let[i,n,...r]=t.split(" "),s=r.join(" ");const o=e.direction.indexOf("column")>-1?"column":"row",a=h(o)?"max-width":"max-height",l=h(o)?"min-width":"min-height",c=String(s).indexOf("calc")>-1,u=c||"auto"===s,d=String(s).indexOf("%")>-1&&!c,f=String(s).indexOf("px")>-1||String(s).indexOf("rem")>-1||String(s).indexOf("em")>-1||String(s).indexOf("vw")>-1||String(s).indexOf("vh")>-1;let p=c||f;i="0"==i?0:i,n="0"==n?0:n;const m=!i&&!n;let g={};const b={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(s||""){case"":const t=!1!==this.layoutConfig.useColumnBasisZero;s="row"===o?"0%":t?"0.000000001px":"auto";break;case"initial":case"nogrow":i=0,s="auto";break;case"grow":s="100%";break;case"noshrink":n=0,s="auto";break;case"auto":break;case"none":i=0,n=0,s="auto";break;default:p||d||isNaN(s)||(s+="%"),"0%"===s&&(p=!0),"0px"===s&&(s="0%"),g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":p?s:"100%"}:{flex:`${i} ${n} ${p?s:"100%"}`})}return g.flex||g["flex-grow"]||(g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":s}:{flex:`${i} ${n} ${s}`})),"0%"!==s&&"0px"!==s&&"0.000000001px"!==s&&"auto"!==s&&(g[l]=m||p&&i?s:null,g[a]=m||!u&&n?s:null),g[l]||g[a]?e.hasWrap&&(g[c?"flex-basis":"flex"]=g[a]?c?g[a]:`${i} ${n} ${g[a]}`:c?g[l]:`${i} ${n} ${g[l]}`):g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":s}:{flex:`${i} ${n} ${s}`}),y(g,{"box-sizing":"border-box"})}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(r.WU))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(r.WU))},token:t,providedIn:"root"}),t})();const v=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"];let _=(()=>{class t extends r.iR{constructor(t,e,i,n,r){super(t,n,e,r),this.layoutConfig=i,this.marshal=r,this.DIRECTIVE_KEY="flex",this.direction=void 0,this.wrap=void 0,this.flexGrow="1",this.flexShrink="1",this.init()}get shrink(){return this.flexShrink}set shrink(t){this.flexShrink=t||"1",this.triggerReflow()}get grow(){return this.flexGrow}set grow(t){this.flexGrow=t||"1",this.triggerReflow()}ngOnInit(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe((0,o.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe((0,o.R)(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))}onLayoutChange(t){const e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()}updateWithValue(t){void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,!1!==this.layoutConfig.addFlexToParent)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));const e=this.direction,i=e.startsWith("row"),n=this.wrap;i&&n?this.styleCache=A:i&&!n?this.styleCache=x:!i&&n?this.styleCache=S:i||n||(this.styleCache=C);const s=String(t).replace(";",""),o=(0,r.Ot)(s,this.flexGrow,this.flexShrink);this.addStyles(o.join(" "),{direction:e,hasWrap:n})}triggerReflow(){const t=this.activatedValue;if(void 0!==t){const e=(0,r.Ot)(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(r.WU),n.Y36(b),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[n.qOj]}),t})(),w=(()=>{class t extends _{constructor(){super(...arguments),this.inputs=v}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[n.qOj]}),t})();const x=new Map,C=new Map,A=new Map,S=new Map;new Map,new Map,new Map,new Map,new Map,new Map,new Map;let k=(()=>{class t extends r.QI{buildStyles(t,e){const i={},[n,r]=t.split(" ");switch(n){case"center":i["justify-content"]="center";break;case"space-around":i["justify-content"]="space-around";break;case"space-between":i["justify-content"]="space-between";break;case"space-evenly":i["justify-content"]="space-evenly";break;case"end":case"flex-end":i["justify-content"]="flex-end";break;case"start":case"flex-start":default:i["justify-content"]="flex-start"}switch(r){case"start":case"flex-start":i["align-items"]=i["align-content"]="flex-start";break;case"center":i["align-items"]=i["align-content"]="center";break;case"end":case"flex-end":i["align-items"]=i["align-content"]="flex-end";break;case"space-between":i["align-content"]="space-between",i["align-items"]="stretch";break;case"space-around":i["align-content"]="space-around",i["align-items"]="stretch";break;case"baseline":i["align-content"]="stretch",i["align-items"]="baseline";break;case"stretch":default:i["align-items"]=i["align-content"]="stretch"}return y(i,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===r?h(e.layout)?null:"100%":null,"max-height":"stretch"===r&&h(e.layout)?"100%":null})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const M=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"];let E=(()=>{class t extends r.iR{constructor(t,e,i,n){super(t,i,e,n),this.DIRECTIVE_KEY="layout-align",this.layout="row",this.inline=!1,this.init(),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,o.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}updateWithValue(t){const e=this.layout||"row",i=this.inline;"row"===e&&i?this.styleCache=R:"row"!==e||i?"row-reverse"===e&&i?this.styleCache=Z:"row-reverse"!==e||i?"column"===e&&i?this.styleCache=P:"column"!==e||i?"column-reverse"===e&&i?this.styleCache=F:"column-reverse"!==e||i||(this.styleCache=D):this.styleCache=I:this.styleCache=O:this.styleCache=L,this.addStyles(t,{layout:e,inline:i})}onLayoutChange(t){const e=t.value.split(" ");this.layout=e[0],this.inline=t.value.includes("inline"),l.find(t=>t===this.layout)||(this.layout="row"),this.triggerUpdate()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(k),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})(),T=(()=>{class t extends E{constructor(){super(...arguments),this.inputs=M}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[n.qOj]}),t})();const L=new Map,I=new Map,O=new Map,D=new Map,R=new Map,P=new Map,Z=new Map,F=new Map;let N=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.IR,s.vT]]}),t})()},6073:(t,e,i)=>{"use strict";i.d(e,{Zs:()=>Bt,gN:()=>N,Fj:()=>f,qu:()=>Ht,NI:()=>ut,oH:()=>kt,u:()=>Lt,sg:()=>Et,u5:()=>qt,Fd:()=>Dt,qQ:()=>Pt,Cf:()=>g,JU:()=>h,a5:()=>B,JJ:()=>q,JL:()=>z,F:()=>gt,On:()=>vt,wV:()=>xt,UX:()=>zt,Q7:()=>Nt,kI:()=>v,_Y:()=>_t});var n=i(1572),r=i(1511),s=i(5630),o=i(6891),a=i(1681);let l=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq))},t.\u0275dir=n.lG2({type:t}),t})(),c=(()=>{class t extends l{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();const h=new n.OlP("NgValueAccessor"),u={provide:h,useExisting:(0,n.Gpc)(()=>f),multi:!0},d=new n.OlP("CompositionEventMode");let f=(()=>{class t extends l{constructor(t,e,i){super(t,e),this._compositionMode=i,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=(0,r.q)()?(0,r.q)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq),n.Y36(d,8))},t.\u0275dir=n.lG2({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&n.NdJ("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[n._Bn([u]),n.qOj]}),t})();function p(t){return null==t||0===t.length}function m(t){return null!=t&&"number"==typeof t.length}const g=new n.OlP("NgValidators"),y=new n.OlP("NgAsyncValidators"),b=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class v{static min(t){return _(t)}static max(t){return w(t)}static required(t){return x(t)}static requiredTrue(t){return C(t)}static email(t){return function(t){return p(t.value)||b.test(t.value)?null:{email:!0}}(t)}static minLength(t){return function(t){return e=>p(e.value)||!m(e.value)?null:e.value.lengthm(e.value)&&e.value.length>t?{maxlength:{requiredLength:t,actualLength:e.value.length}}:null}(t)}static pattern(t){return function(t){if(!t)return A;let e,i;return"string"==typeof t?(i="","^"!==t.charAt(0)&&(i+="^"),i+=t,"$"!==t.charAt(t.length-1)&&(i+="$"),e=new RegExp(i)):(i=t.toString(),e=t),t=>{if(p(t.value))return null;const n=t.value;return e.test(n)?null:{pattern:{requiredPattern:i,actualValue:n}}}}(t)}static nullValidator(t){return null}static compose(t){return L(t)}static composeAsync(t){return O(t)}}function _(t){return e=>{if(p(e.value)||p(t))return null;const i=parseFloat(e.value);return!isNaN(i)&&i{if(p(e.value)||p(t))return null;const i=parseFloat(e.value);return!isNaN(i)&&i>t?{max:{max:t,actual:e.value}}:null}}function x(t){return p(t.value)?{required:!0}:null}function C(t){return!0===t.value?null:{required:!0}}function A(t){return null}function S(t){return null!=t}function k(t){const e=(0,n.QGY)(t)?(0,s.Dp)(t):t;return(0,n.CqO)(e),e}function M(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function E(t,e){return e.map(e=>e(t))}function T(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function L(t){if(!t)return null;const e=t.filter(S);return 0==e.length?null:function(t){return M(E(t,e))}}function I(t){return null!=t?L(T(t)):null}function O(t){if(!t)return null;const e=t.filter(S);return 0==e.length?null:function(t){const i=E(t,e).map(k);return(0,o.D)(i).pipe((0,a.U)(M))}}function D(t){return null!=t?O(T(t)):null}function R(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function P(t){return t._rawValidators}function Z(t){return t._rawAsyncValidators}let F=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=I(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=D(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t}),t})(),N=(()=>{class t extends F{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();class B extends F{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class U{constructor(t){this._cd=t}is(t){var e,i;return!!(null===(i=null===(e=this._cd)||void 0===e?void 0:e.control)||void 0===i?void 0:i[t])}}let q=(()=>{class t extends U{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(B,2))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&n.ekj("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[n.qOj]}),t})(),z=(()=>{class t extends U{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(N,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:14,hostBindings:function(t,e){2&t&&n.ekj("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[n.qOj]}),t})();function H(t,e){return[...e.path,t]}function Y(t,e){V(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(i=>{t._pendingValue=i,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&W(t,e)})}(t,e),function(t,e){const i=(t,i)=>{e.valueAccessor.writeValue(t),i&&e.viewToModelUpdate(t)};t.registerOnChange(i),e._registerOnDestroy(()=>{t._unregisterOnChange(i)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&W(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const i=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(i),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(i)})}}(t,e)}function j(t,e,i=!0){const n=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(n),e.valueAccessor.registerOnTouched(n)),Q(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function G(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function V(t,e){const i=P(t);null!==e.validator?t.setValidators(R(i,e.validator)):"function"==typeof i&&t.setValidators([i]);const n=Z(t);null!==e.asyncValidator?t.setAsyncValidators(R(n,e.asyncValidator)):"function"==typeof n&&t.setAsyncValidators([n]);const r=()=>t.updateValueAndValidity();G(e._rawValidators,r),G(e._rawAsyncValidators,r)}function Q(t,e){let i=!1;if(null!==t){if(null!==e.validator){const n=P(t);if(Array.isArray(n)&&n.length>0){const r=n.filter(t=>t!==e.validator);r.length!==n.length&&(i=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const n=Z(t);if(Array.isArray(n)&&n.length>0){const r=n.filter(t=>t!==e.asyncValidator);r.length!==n.length&&(i=!0,t.setAsyncValidators(r))}}}const n=()=>{};return G(e._rawValidators,n),G(e._rawAsyncValidators,n),i}function W(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function J(t,e){V(t,e)}function X(t,e){if(!t.hasOwnProperty("model"))return!1;const i=t.model;return!!i.isFirstChange()||!Object.is(e,i.currentValue)}function K(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function $(t,e){if(!e)return null;let i,n,r;return Array.isArray(e),e.forEach(t=>{t.constructor===f?i=t:Object.getPrototypeOf(t.constructor)===c?n=t:r=t}),r||n||i||null}function tt(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}const et="VALID",it="INVALID",nt="PENDING",rt="DISABLED";function st(t){return(ct(t)?t.validators:t)||null}function ot(t){return Array.isArray(t)?I(t):t||null}function at(t,e){return(ct(e)?e.asyncValidators:t)||null}function lt(t){return Array.isArray(t)?D(t):t||null}function ct(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class ht{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=ot(this._rawValidators),this._composedAsyncValidatorFn=lt(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===et}get invalid(){return this.status===it}get pending(){return this.status==nt}get disabled(){return this.status===rt}get enabled(){return this.status!==rt}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=ot(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=lt(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=nt,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=rt,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=et,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==et&&this.status!==nt||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?rt:et}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=nt,this._hasOwnPendingAsyncValidator=!0;const e=k(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,i){if(null==e)return null;if(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length)return null;let n=t;return e.forEach(t=>{n=n instanceof dt?n.controls.hasOwnProperty(t)?n.controls[t]:null:n instanceof ft&&n.at(t)||null}),n}(this,t)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new n.vpe,this.statusChanges=new n.vpe}_calculateStatus(){return this._allControlsDisabled()?rt:this.errors?it:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(nt)?nt:this._anyControlsHaveStatus(it)?it:et}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ct(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class ut extends ht{constructor(t=null,e,i){super(st(e),at(i,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){tt(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){tt(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class dt extends ht{constructor(t,e,i){super(st(e),at(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,n)=>{i.reset(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e instanceof ut?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const i=this.controls[e];if(this.contains(e)&&t(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,i)=>((e.enabled||this.disabled)&&(t[i]=e.value),t))}_reduceChildren(t,e){let i=t;return this._forEachChild((t,n)=>{i=e(i,t,n)}),i}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,i)=>{if(void 0===t[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class ft extends ht{constructor(t,e,i){super(st(e),at(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,i)=>{this._throwIfControlMissing(i),this.at(i).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,i)=>{this.at(i)&&this.at(i).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,n)=>{i.reset(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof ut?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,i)=>{if(void 0===t[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const pt={provide:N,useExisting:(0,n.Gpc)(()=>gt)},mt=(()=>Promise.resolve(null))();let gt=(()=>{class t extends N{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new n.vpe,this.form=new dt({},I(t),D(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){mt.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Y(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){mt.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),tt(this._directives,t)})}addFormGroup(t){mt.then(()=>{const e=this._findContainer(t.path),i=new dt({});J(i,t),e.registerControl(t.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){mt.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){mt.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,K(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10))},t.\u0275dir=n.lG2({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&n.NdJ("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[n._Bn([pt]),n.qOj]}),t})();const yt={provide:B,useExisting:(0,n.Gpc)(()=>vt)},bt=(()=>Promise.resolve(null))();let vt=(()=>{class t extends B{constructor(t,e,i,r){super(),this.control=new ut,this._registered=!1,this.update=new n.vpe,this._parent=t,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=$(0,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),X(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?H(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Y(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){bt.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,i=""===e||e&&"false"!==e;bt.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(N,9),n.Y36(g,10),n.Y36(y,10),n.Y36(h,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[n._Bn([yt]),n.qOj,n.TTD]}),t})(),_t=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const wt={provide:h,useExisting:(0,n.Gpc)(()=>xt),multi:!0};let xt=(()=>{class t extends c{writeValue(t){this.setProperty("value",null==t?"":t)}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(t,e){1&t&&n.NdJ("input",function(t){return e.onChange(t.target.value)})("blur",function(){return e.onTouched()})},features:[n._Bn([wt]),n.qOj]}),t})(),Ct=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const At=new n.OlP("NgModelWithFormControlWarning"),St={provide:B,useExisting:(0,n.Gpc)(()=>kt)};let kt=(()=>{class t extends B{constructor(t,e,i,r){super(),this._ngModelWarningConfig=r,this.update=new n.vpe,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=$(0,i)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&j(e,this,!1),Y(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}X(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&j(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10),n.Y36(h,10),n.Y36(At,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[n._Bn([St]),n.qOj,n.TTD]}),t._ngModelWarningSentOnce=!1,t})();const Mt={provide:N,useExisting:(0,n.Gpc)(()=>Et)};let Et=(()=>{class t extends N{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new n.vpe,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Q(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Y(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){j(t.control||null,t,!1),tt(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,K(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,i=this.form.get(t.path);e!==i&&(j(e||null,t),i instanceof ut&&(Y(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);J(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return Q(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){V(this.form,this),this._oldForm&&Q(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&n.NdJ("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[n._Bn([Mt]),n.qOj,n.TTD]}),t})();const Tt={provide:B,useExisting:(0,n.Gpc)(()=>Lt)};let Lt=(()=>{class t extends B{constructor(t,e,i,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new n.vpe,this._ngModelWarningSent=!1,this._parent=t,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=$(0,r)}set isDisabled(t){}ngOnChanges(t){this._added||this._setUpControl(),X(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return H(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(N,13),n.Y36(g,10),n.Y36(y,10),n.Y36(h,10),n.Y36(At,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[n._Bn([Tt]),n.qOj,n.TTD]}),t._ngModelWarningSentOnce=!1,t})(),It=(()=>{class t{constructor(){this._validator=A}handleChanges(t){if(this.inputName in t){const e=this.normalizeInput(t[this.inputName].currentValue);this._validator=this.createValidator(e),this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t}),t})();const Ot={provide:g,useExisting:(0,n.Gpc)(()=>Dt),multi:!0};let Dt=(()=>{class t extends It{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=t=>parseFloat(t),this.createValidator=t=>w(t)}ngOnChanges(t){this.handleChanges(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(t,e){if(2&t){let t;n.uIk("max",null!==(t=e.max)&&void 0!==t?t:null)}},inputs:{max:"max"},features:[n._Bn([Ot]),n.qOj,n.TTD]}),t})();const Rt={provide:g,useExisting:(0,n.Gpc)(()=>Pt),multi:!0};let Pt=(()=>{class t extends It{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=t=>parseFloat(t),this.createValidator=t=>_(t)}ngOnChanges(t){this.handleChanges(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(t,e){if(2&t){let t;n.uIk("min",null!==(t=e.min)&&void 0!==t?t:null)}},inputs:{min:"min"},features:[n._Bn([Rt]),n.qOj,n.TTD]}),t})();const Zt={provide:g,useExisting:(0,n.Gpc)(()=>Nt),multi:!0},Ft={provide:g,useExisting:(0,n.Gpc)(()=>Bt),multi:!0};let Nt=(()=>{class t{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?x(t):null}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("required",e.required?"":null)},inputs:{required:"required"},features:[n._Bn([Zt])]}),t})(),Bt=(()=>{class t extends Nt{validate(t){return this.required?C(t):null}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("required",e.required?"":null)},features:[n._Bn([Ft]),n.qOj]}),t})(),Ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[Ct]]}),t})(),qt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[Ut]}),t})(),zt=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:At,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[Ut]}),t})(),Ht=(()=>{class t{group(t,e=null){const i=this._reduceControls(t);let n,r=null,s=null;return null!=e&&(function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validators?e.validators:null,s=null!=e.asyncValidators?e.asyncValidators:null,n=null!=e.updateOn?e.updateOn:void 0):(r=null!=e.validator?e.validator:null,s=null!=e.asyncValidator?e.asyncValidator:null)),new dt(i,{asyncValidators:s,updateOn:n,validators:r})}control(t,e,i){return new ut(t,e,i)}array(t,e,i){const n=t.map(t=>this._createControl(t));return new ft(n,e,i)}_reduceControls(t){const e={};return Object.keys(t).forEach(i=>{e[i]=this._createControl(t[i])}),e}_createControl(t){return t instanceof ut||t instanceof dt||t instanceof ft?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:zt}),t})()},84:(t,e,i)=>{"use strict";i.d(e,{XC:()=>F,Bb:()=>H,ZL:()=>z});var n=i(4621),r=i(9861),s=i(1353),o=i(1572),a=i(1522),l=i(6042),c=i(9666),h=i(970),u=i(5446),d=i(2041),f=i(5960),p=i(1511),m=i(369),g=i(4894),y=i(5842),b=i(6899),v=i(6073),_=i(6283),w=i(9056),x=i(4324),C=i(8868),A=i(1681),S=i(343),k=i(6493),M=i(2526);const E=["panel"];function T(t,e){if(1&t&&(o.TgZ(0,"div",0,1),o.Hsn(2),o.qZA()),2&t){const t=e.id,i=o.oxw();o.Q6J("id",i.id)("ngClass",i._classList),o.uIk("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(t))}}const L=["*"];let I=0;class O{constructor(t,e){this.source=t,this.option=e}}class D{}const R=(0,a.Kr)(D),P=new o.OlP("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let Z=(()=>{class t extends R{constructor(t,e,i,n){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=l.w0.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new o.vpe,this.opened=new o.vpe,this.closed=new o.vpe,this.optionActivated=new o.vpe,this._classList={},this.id="mat-autocomplete-"+I++,this.inertGroups=(null==n?void 0:n.SAFARI)||!1,this._autoActiveFirstOption=!!i.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=(0,r.Ig)(t)}set classList(t){this._classList=t&&t.length?(0,r.du)(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new n.s1(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new O(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36(o.SBq),o.Y36(P),o.Y36(s.t4))},t.\u0275dir=o.lG2({type:t,viewQuery:function(t,e){if(1&t&&(o.Gf(o.Rgc,7),o.Gf(E,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.template=t.first),o.iGM(t=o.CRH())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[o.qOj]}),t})(),F=(()=>{class t extends Z{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,a.K7,5),o.Suo(i,a.ey,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.optionGroups=t),o.iGM(t=o.CRH())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[o._Bn([{provide:a.HF,useExisting:t}]),o.qOj],ngContentSelectors:L,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,T,3,4,"ng-template"))},directives:[p.mk],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const N=new o.OlP("mat-autocomplete-scroll-strategy"),B={provide:N,deps:[m.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},U={provide:v.JU,useExisting:(0,o.Gpc)(()=>z),multi:!0};let q=(()=>{class t{constructor(t,e,i,n,r,s,o,a,d,f,p){this._element=t,this._overlay=e,this._viewContainerRef=i,this._zone=n,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=d,this._viewportRuler=f,this._defaults=p,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=l.w0.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new c.x,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=(0,h.P)(()=>this.autocomplete&&this.autocomplete.options?(0,u.T)(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe((0,w.q)(1),(0,x.w)(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=(0,r.Ig)(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return(0,u.T)(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe((0,C.h)(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe((0,C.h)(()=>this._overlayAttached)):(0,d.of)()).pipe((0,A.U)(t=>t instanceof a.rN?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return(0,u.T)((0,f.R)(this._document,"click"),(0,f.R)(this._document,"auxclick"),(0,f.R)(this._document,"touchend")).pipe((0,C.h)(t=>{const e=this._isInsideShadowRoot&&t.composedPath?t.composedPath()[0]:t.target,i=this._formField?this._formField._elementRef.nativeElement:null,n=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!i||!i.contains(e))&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e!==y.hY||(0,y.Vb)(t)||t.preventDefault(),this.activeOption&&e===y.K5&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const i=this.autocomplete._keyManager.activeItem,n=e===y.LH||e===y.JH;this.panelOpen||e===y.Mf?this.autocomplete._keyManager.onKeydown(t):n&&this._canOpen()&&this.openPanel(),(n||this.autocomplete._keyManager.activeItem!==i)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,i=e.value;"number"===e.type&&(i=""==i?null:parseFloat(i)),this._previousValue!==i&&(this._previousValue=i,this._onChange(i),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){const t=this._zone.onStable.pipe((0,w.q)(1)),e=this.autocomplete.options.changes.pipe((0,S.b)(()=>this._positionStrategy.reapplyLastPosition()),(0,k.g)(0));return(0,u.T)(t,e).pipe((0,x.w)(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),(0,w.q)(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,i=null!=e?e:"";this._formField?this._formField._control.value=i:this._element.nativeElement.value=i,this._previousValue=i}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;null==this._isInsideShadowRoot&&(this._isInsideShadowRoot=!!(0,s.kV)(this._element.nativeElement));let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new b.UE(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(t.keyCode===y.hY&&!(0,y.Vb)(t)||t.keyCode===y.LH&&(0,y.Vb)(t,"altKey"))&&(this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new m.X_({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,n=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];let r;r="above"===this.position?n:"below"===this.position?e:[...e,...n],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,i=(0,a.CB)(t,e.options,e.optionGroups);if(0===t&&1===i)e._setScrollTop(0);else if(e.panel){const i=e.options.toArray()[t];if(i){const t=i._getHostElement(),n=(0,a.jH)(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(n)}}}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(m.aV),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(N),o.Y36(M.Is,8),o.Y36(_.G_,9),o.Y36(p.K0,8),o.Y36(g.rL),o.Y36(P,8))},t.\u0275dir=o.lG2({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[o.TTD]}),t})(),z=(()=>{class t extends q{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&o.NdJ("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&o.uIk("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[o._Bn([U]),o.qOj]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[B],imports:[[m.U8,a.Ng,a.BQ,p.ez],g.ZD,a.Ng,a.BQ]}),t})()},1050:(t,e,i)=>{"use strict";i.d(e,{k:()=>u,g:()=>d});var n=i(1522),r=i(4621),s=i(9861),o=i(3490),a=i(1572);let l=0;class c{}const h=(0,n.Id)(c);let u=(()=>{class t extends h{constructor(t,e,i,n,r){super(),this._ngZone=t,this._elementRef=e,this._ariaDescriber=i,this._renderer=n,this._animationMode=r,this._hasContent=!1,this._color="primary",this._overlap=!0,this.position="above after",this.size="medium",this._id=l++}get color(){return this._color}set color(t){this._setColor(t),this._color=t}get overlap(){return this._overlap}set overlap(t){this._overlap=(0,s.Ig)(t)}get description(){return this._description}set description(t){if(t!==this._description){const e=this._badgeElement;this._updateHostAriaDescription(t,this._description),this._description=t,e&&(t?e.setAttribute("aria-label",t):e.removeAttribute("aria-label"))}}get hidden(){return this._hidden}set hidden(t){this._hidden=(0,s.Ig)(t)}isAbove(){return-1===this.position.indexOf("below")}isAfter(){return-1===this.position.indexOf("before")}ngOnChanges(t){const e=t.content;if(e){const t=e.currentValue;this._hasContent=null!=t&&`${t}`.trim().length>0,this._updateTextContent()}}ngOnDestroy(){const t=this._badgeElement;t&&(this.description&&this._ariaDescriber.removeDescription(t,this.description),this._renderer.destroyNode&&this._renderer.destroyNode(t))}getBadgeElement(){return this._badgeElement}_updateTextContent(){return this._badgeElement?this._badgeElement.textContent=this._stringifyContent():this._badgeElement=this._createBadgeElement(),this._badgeElement}_createBadgeElement(){const t=this._renderer.createElement("span"),e="mat-badge-active",i="mat-badge-content";return this._clearExistingBadges(i),t.setAttribute("id",`mat-badge-content-${this._id}`),t.classList.add(i),t.textContent=this._stringifyContent(),"NoopAnimations"===this._animationMode&&t.classList.add("_mat-animation-noopable"),this.description&&t.setAttribute("aria-label",this.description),this._elementRef.nativeElement.appendChild(t),"function"==typeof requestAnimationFrame&&"NoopAnimations"!==this._animationMode?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{t.classList.add(e)})}):t.classList.add(e),t}_updateHostAriaDescription(t,e){const i=this._updateTextContent();e&&this._ariaDescriber.removeDescription(i,e),t&&this._ariaDescriber.describe(i,t)}_setColor(t){if(t!==this._color){const e=this._elementRef.nativeElement.classList;this._color&&e.remove(`mat-badge-${this._color}`),t&&e.add(`mat-badge-${t}`)}}_clearExistingBadges(t){const e=this._elementRef.nativeElement;let i=e.children.length;for(;i--;){const n=e.children[i];n.classList.contains(t)&&e.removeChild(n)}}_stringifyContent(){const t=this.content;return null==t?"":`${t}`}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.R0b),a.Y36(a.SBq),a.Y36(r.$s),a.Y36(a.Qsj),a.Y36(o.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(t,e){2&t&&a.ekj("mat-badge-overlap",e.overlap)("mat-badge-above",e.isAbove())("mat-badge-below",!e.isAbove())("mat-badge-before",!e.isAfter())("mat-badge-after",e.isAfter())("mat-badge-small","small"===e.size)("mat-badge-medium","medium"===e.size)("mat-badge-large","large"===e.size)("mat-badge-hidden",e.hidden||!e._hasContent)("mat-badge-disabled",e.disabled)},inputs:{disabled:["matBadgeDisabled","disabled"],position:["matBadgePosition","position"],size:["matBadgeSize","size"],color:["matBadgeColor","color"],overlap:["matBadgeOverlap","overlap"],description:["matBadgeDescription","description"],hidden:["matBadgeHidden","hidden"],content:["matBadge","content"]},features:[a.qOj,a.TTD]}),t})(),d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[r.rt,n.BQ],n.BQ]}),t})()},5980:(t,e,i)=>{"use strict";i.d(e,{lW:()=>d,ot:()=>f});var n=i(1522),r=i(3490),s=i(1572),o=i(4621);const a=["mat-button",""],l=["*"],c=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"];class h{constructor(t){this._elementRef=t}}const u=(0,n.pj)((0,n.Id)((0,n.Kr)(h)));let d=(()=>{class t extends u{constructor(t,e,i){super(t),this._focusMonitor=e,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const n of c)this._hasHostAttributes(n)&&this._getHostElement().classList.add(n);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(o.tE),s.Y36(r.Qb,8))},t.\u0275cmp=s.Xpm({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&s.Gf(n.wG,5),2&t){let t;s.iGM(t=s.CRH())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(s.uIk("disabled",e.disabled||null),s.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[s.qOj],attrs:a,ngContentSelectors:l,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(s.F$t(),s.TgZ(0,"span",0),s.Hsn(1),s.qZA(),s._UZ(2,"span",1),s._UZ(3,"span",2)),2&t&&(s.xp6(2),s.ekj("mat-button-ripple-round",e.isRoundButton||e.isIconButton),s.Q6J("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[n.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[n.si,n.BQ],n.BQ]}),t})()},7439:(t,e,i)=>{"use strict";i.d(e,{a8:()=>f,dn:()=>h,dk:()=>p,QW:()=>m,$j:()=>d,n5:()=>u});var n=i(3490),r=i(1522),s=i(1572);const o=["*",[["mat-card-footer"]]],a=["*","mat-card-footer"],l=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],c=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"];let h=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-content"],["","mat-card-content",""],["","matCardContent",""]],hostAttrs:[1,"mat-card-content"]}),t})(),u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]}),t})(),d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]}),t})(),f=(()=>{class t{constructor(t){this._animationMode=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(n.Qb,8))},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)},exportAs:["matCard"],ngContentSelectors:a,decls:2,vars:0,template:function(t,e){1&t&&(s.F$t(o),s.Hsn(0),s.Hsn(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}._mat-animation-noopable.mat-card{transition:none;animation:none}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),t})(),p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:c,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function(t,e){1&t&&(s.F$t(l),s.Hsn(0),s.TgZ(1,"div",0),s.Hsn(2,1),s.qZA(),s.Hsn(3,2))},encapsulation:2,changeDetection:0}),t})(),m=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.BQ],r.BQ]}),t})()},9236:(t,e,i)=>{"use strict";i.d(e,{oG:()=>w,p9:()=>C});var n=i(9861),r=i(1572),s=i(6073),o=i(1522),a=i(3490),l=i(6337),c=i(4621);const h=["input"],u=function(t){return{enterDuration:t}},d=["*"],f=new r.OlP("mat-checkbox-default-options",{providedIn:"root",factory:p});function p(){return{color:"accent",clickAction:"check-indeterminate"}}let m=0;const g=p(),y={provide:s.JU,useExisting:(0,r.Gpc)(()=>w),multi:!0};class b{}class v{constructor(t){this._elementRef=t}}const _=(0,o.sb)((0,o.pj)((0,o.Kr)((0,o.Id)(v))));let w=(()=>{class t extends _{constructor(t,e,i,n,s,o,a){super(t),this._changeDetectorRef=e,this._focusMonitor=i,this._ngZone=n,this._animationMode=o,this._options=a,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++m,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new r.vpe,this.indeterminateChange=new r.vpe,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||g,this.color=this.defaultColor=this._options.color||g.color,this.tabIndex=parseInt(s)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=(0,n.Ig)(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=(0,n.Ig)(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=(0,n.Ig)(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,i=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&i.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){i.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{i.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new b;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const i=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===i?this.disabled||"noop"!==i||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let i="";switch(t){case 0:if(1===e)i="unchecked-checked";else{if(3!=e)return"";i="unchecked-indeterminate"}break;case 2:i=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:i=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:i=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${i}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(r.sBO),r.Y36(c.tE),r.Y36(r.R0b),r.$8M("tabindex"),r.Y36(a.Qb,8),r.Y36(f,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(r.Gf(h,5),r.Gf(o.wG,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._inputElement=t.first),r.iGM(t=r.CRH())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(r.Ikx("id",e.id),r.uIk("tabindex",null),r.ekj("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[r._Bn([y]),r.qOj],ngContentSelectors:d,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(r.F$t(),r.TgZ(0,"label",0,1),r.TgZ(2,"span",2),r.TgZ(3,"input",3,4),r.NdJ("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),r.qZA(),r.TgZ(5,"span",5),r._UZ(6,"span",6),r.qZA(),r._UZ(7,"span",7),r.TgZ(8,"span",8),r.O4$(),r.TgZ(9,"svg",9),r._UZ(10,"path",10),r.qZA(),r.kcU(),r._UZ(11,"span",11),r.qZA(),r.qZA(),r.TgZ(12,"span",12,13),r.NdJ("cdkObserveContent",function(){return e._onLabelTextChange()}),r.TgZ(14,"span",14),r._uU(15,"\xa0"),r.qZA(),r.Hsn(16),r.qZA(),r.qZA()),2&t){const t=r.MAs(1),i=r.MAs(13);r.uIk("for",e.inputId),r.xp6(2),r.ekj("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),r.xp6(1),r.Q6J("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),r.uIk("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),r.xp6(2),r.Q6J("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",r.VKq(19,u,"NoopAnimations"===e._animationMode?0:150))}},directives:[o.wG,l.wD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),x=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[o.si,o.BQ,l.Q8,x],o.BQ,x]}),t})()},1522:(t,e,i)=>{"use strict";i.d(e,{yN:()=>b,mZ:()=>v,_A:()=>L,rD:()=>z,sG:()=>I,K7:()=>ct,HF:()=>rt,Y2:()=>$,BQ:()=>x,X2:()=>H,uc:()=>G,XK:()=>q,ey:()=>ft,Ng:()=>gt,rN:()=>ut,nP:()=>it,us:()=>nt,wG:()=>tt,si:()=>et,LF:()=>N,IR:()=>K,CB:()=>pt,jH:()=>mt,pj:()=>A,Kr:()=>S,Id:()=>C,FD:()=>M,dB:()=>E,sb:()=>k,E0:()=>Y});var n=i(1572),r=i(4621),s=i(2526);const o=new n.GfV("12.0.5");var a=i(1511),l=i(9861),c=i(9666),h=i(2391),u=i(1353),d=i(1258),f=i(3490),p=i(5842);function m(t,e){if(1&t&&n._UZ(0,"mat-pseudo-checkbox",4),2&t){const t=n.oxw();n.Q6J("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function g(t,e){if(1&t&&(n.TgZ(0,"span",5),n._uU(1),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.hij("(",t.group.label,")")}}const y=["*"];let b=(()=>{class t{}return t.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",t.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",t.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",t.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)",t})(),v=(()=>{class t{}return t.COMPLEX="375ms",t.ENTERING="225ms",t.EXITING="195ms",t})();const _=new n.GfV("12.0.5"),w=new n.OlP("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let x=(()=>{class t{constructor(t,e,i){this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checksAreEnabled(){return(0,n.X6Q)()&&!this._isTestEnv()}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checksAreEnabled()&&(!0===this._sanityChecks||this._sanityChecks.doctype)&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checksAreEnabled()||!1===this._sanityChecks||!this._sanityChecks.theme||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checksAreEnabled()&&(!0===this._sanityChecks||this._sanityChecks.version)&&_.full!==o.full&&console.warn("The Angular Material version ("+_.full+") does not match the Angular CDK version ("+o.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(r.qm),n.LFG(w,8),n.LFG(a.K0))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.vT],s.vT]}),t})();function C(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,l.Ig)(t)}}}function A(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function S(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,l.Ig)(t)}}}function k(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?(0,l.su)(t):this.defaultTabIndex}}}function M(t){return class extends t{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new c.x}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}function E(t){return class extends t{constructor(...t){super(...t),this._isInitialized=!1,this._pendingSubscribers=[],this.initialized=new h.y(t=>{this._isInitialized?this._notifySubscriber(t):this._pendingSubscribers.push(t)})}_markInitialized(){this._isInitialized=!0,this._pendingSubscribers.forEach(this._notifySubscriber),this._pendingSubscribers=null}_notifySubscriber(t){t.next(),t.complete()}}}const T=new n.OlP("MAT_DATE_LOCALE",{providedIn:"root",factory:function(){return(0,n.f3M)(n.soG)}});class L{constructor(){this._localeChanges=new c.x,this.localeChanges=this._localeChanges}getValidDateOrNull(t){return this.isDateInstance(t)&&this.isValid(t)?t:null}deserialize(t){return null==t||this.isDateInstance(t)&&this.isValid(t)?t:this.invalid()}setLocale(t){this.locale=t,this._localeChanges.next()}compareDate(t,e){return this.getYear(t)-this.getYear(e)||this.getMonth(t)-this.getMonth(e)||this.getDate(t)-this.getDate(e)}sameDate(t,e){if(t&&e){let i=this.isValid(t),n=this.isValid(e);return i&&n?!this.compareDate(t,e):i==n}return t==e}clampDate(t,e,i){return e&&this.compareDate(t,e)<0?e:i&&this.compareDate(t,i)>0?i:t}}const I=new n.OlP("mat-date-formats");let O;try{O="undefined"!=typeof Intl}catch(yt){O=!1}const D={long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],narrow:["J","F","M","A","M","J","J","A","S","O","N","D"]},R=F(31,t=>String(t+1)),P={long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],narrow:["S","M","T","W","T","F","S"]},Z=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function F(t,e){const i=Array(t);for(let n=0;n{class t extends L{constructor(t,e){super(),this.useUtcForDisplay=!0,super.setLocale(t),this.useUtcForDisplay=!e.TRIDENT,this._clampDate=e.TRIDENT||e.EDGE}getYear(t){return t.getFullYear()}getMonth(t){return t.getMonth()}getDate(t){return t.getDate()}getDayOfWeek(t){return t.getDay()}getMonthNames(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{month:t,timeZone:"utc"});return F(12,t=>this._stripDirectionalityCharacters(this._format(e,new Date(2017,t,1))))}return D[t]}getDateNames(){if(O){const t=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return F(31,e=>this._stripDirectionalityCharacters(this._format(t,new Date(2017,0,e+1))))}return R}getDayOfWeekNames(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{weekday:t,timeZone:"utc"});return F(7,t=>this._stripDirectionalityCharacters(this._format(e,new Date(2017,0,t+1))))}return P[t]}getYearName(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._stripDirectionalityCharacters(this._format(e,t))}return String(this.getYear(t))}getFirstDayOfWeek(){return 0}getNumDaysInMonth(t){return this.getDate(this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+1,0))}clone(t){return new Date(t.getTime())}createDate(t,e,i){let n=this._createDateWithOverflow(t,e,i);return n.getMonth(),n}today(){return new Date}parse(t){return"number"==typeof t?new Date(t):t?new Date(Date.parse(t)):null}format(t,e){if(!this.isValid(t))throw Error("NativeDateAdapter: Cannot format invalid date.");if(O){this._clampDate&&(t.getFullYear()<1||t.getFullYear()>9999)&&(t=this.clone(t)).setFullYear(Math.max(1,Math.min(9999,t.getFullYear()))),e=Object.assign(Object.assign({},e),{timeZone:"utc"});const i=new Intl.DateTimeFormat(this.locale,e);return this._stripDirectionalityCharacters(this._format(i,t))}return this._stripDirectionalityCharacters(t.toDateString())}addCalendarYears(t,e){return this.addCalendarMonths(t,12*e)}addCalendarMonths(t,e){let i=this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+e,this.getDate(t));return this.getMonth(i)!=((this.getMonth(t)+e)%12+12)%12&&(i=this._createDateWithOverflow(this.getYear(i),this.getMonth(i),0)),i}addCalendarDays(t,e){return this._createDateWithOverflow(this.getYear(t),this.getMonth(t),this.getDate(t)+e)}toIso8601(t){return[t.getUTCFullYear(),this._2digit(t.getUTCMonth()+1),this._2digit(t.getUTCDate())].join("-")}deserialize(t){if("string"==typeof t){if(!t)return null;if(Z.test(t)){let e=new Date(t);if(this.isValid(e))return e}}return super.deserialize(t)}isDateInstance(t){return t instanceof Date}isValid(t){return!isNaN(t.getTime())}invalid(){return new Date(NaN)}_createDateWithOverflow(t,e,i){const n=new Date;return n.setFullYear(t,e,i),n.setHours(0,0,0,0),n}_2digit(t){return("00"+t).slice(-2)}_stripDirectionalityCharacters(t){return t.replace(/[\u200e\u200f]/g,"")}_format(t,e){const i=new Date;return i.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),i.setUTCHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),t.format(i)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(T,8),n.LFG(u.t4))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:L,useClass:N}],imports:[[u.ud]]}),t})();const U={parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}};let q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:I,useValue:U}],imports:[[B]]}),t})(),z=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function Y(t,e,i="mat"){t.changes.pipe((0,d.O)(t)).subscribe(({length:t})=>{j(e,`${i}-2-line`,!1),j(e,`${i}-3-line`,!1),j(e,`${i}-multi-line`,!1),2===t||3===t?j(e,`${i}-${t}-line`,!0):t>3&&j(e,`${i}-multi-line`,!0)})}function j(t,e,i){const n=t.nativeElement.classList;i?n.add(e):n.remove(e)}let G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x],x]}),t})();class V{constructor(t,e,i){this._renderer=t,this.element=e,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const Q={enterDuration:450,exitDuration:400},W=(0,u.i$)({passive:!0}),J=["mousedown","touchstart"],X=["mouseup","mouseleave","touchend","touchcancel"];class K{constructor(t,e,i,n){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,n.isBrowser&&(this._containerElement=(0,l.fI)(i))}fadeInRipple(t,e,i={}){const n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},Q),i.animation);i.centered&&(t=n.left+n.width/2,e=n.top+n.height/2);const s=i.radius||function(t,e,i){const n=Math.max(Math.abs(t-i.left),Math.abs(t-i.right)),r=Math.max(Math.abs(e-i.top),Math.abs(e-i.bottom));return Math.sqrt(n*n+r*r)}(t,e,n),o=t-n.left,a=e-n.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=i.color&&(c.style.backgroundColor=i.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),window.getComputedStyle(c).getPropertyValue("opacity"),c.style.transform="scale(1)";const h=new V(this,c,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const t=h===this._mostRecentTransientRipple;h.state=1,i.persistent||t&&this._isPointerDown||h.fadeOut()},l),h}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const i=t.element,n=Object.assign(Object.assign({},Q),t.config.animation);i.style.transitionDuration=`${n.exitDuration}ms`,i.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,i.parentNode.removeChild(i)},n.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=(0,l.fI)(t);e&&e!==this._triggerElement&&(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(J))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(X),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=(0,r.X6)(t),i=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,W)})})}_removeTriggerEvents(){this._triggerElement&&(J.forEach(t=>{this._triggerElement.removeEventListener(t,this,W)}),this._pointerUpEventsRegistered&&X.forEach(t=>{this._triggerElement.removeEventListener(t,this,W)}))}}const $=new n.OlP("mat-ripple-global-options");let tt=(()=>{class t{constructor(t,e,i,n,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=n||{},this._rippleRenderer=new K(this,e,t,i)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,i){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),i)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(u.t4),n.Y36($,8),n.Y36(f.Qb,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&n.ekj("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x,u.ud],x]}),t})(),it=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(f.Qb,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&n.ekj("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),nt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x]]}),t})();const rt=new n.OlP("MAT_OPTION_PARENT_COMPONENT");class st{}const ot=C(st);let at=0,lt=(()=>{class t extends ot{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+at++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(rt,8))},t.\u0275dir=n.lG2({type:t,inputs:{label:"label"},features:[n.qOj]}),t})();const ct=new n.OlP("MatOptgroup");let ht=0;class ut{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let dt=(()=>{class t{constructor(t,e,i,r){this._element=t,this._changeDetectorRef=e,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+ht++,this.onSelectionChange=new n.vpe,this._stateChanges=new c.x}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=(0,l.Ig)(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const i=this._getHostElement();"function"==typeof i.focus&&i.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==p.K5&&t.keyCode!==p.L_||(0,p.Vb)(t)||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new ut(this,t))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(void 0),n.Y36(lt))},t.\u0275dir=n.lG2({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),ft=(()=>{class t extends dt{constructor(t,e,i,n){super(t,e,i,n)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(rt,8),n.Y36(ct,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(n.Ikx("id",e.id),n.uIk("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),n.ekj("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[n.qOj],ngContentSelectors:y,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(n.F$t(),n.YNc(0,m,1,2,"mat-pseudo-checkbox",0),n.TgZ(1,"span",1),n.Hsn(2),n.qZA(),n.YNc(3,g,2,1,"span",2),n._UZ(4,"div",3)),2&t&&(n.Q6J("ngIf",e.multiple),n.xp6(3),n.Q6J("ngIf",e.group&&e.group._inert),n.xp6(1),n.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[a.O5,tt,it],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function pt(t,e,i){if(i.length){let n=e.toArray(),r=i.toArray(),s=0;for(let e=0;ei+n?Math.max(0,t-n+e):i}let gt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[et,a.ez,x,nt]]}),t})()},5812:(t,e,i)=>{"use strict";i.d(e,{Mq:()=>bt,hl:()=>Ct,FA:()=>kt,nW:()=>St});var n=i(4621),r=i(369),s=i(6899),o=i(1511),a=i(1572),l=i(5980),c=i(4894),h=i(1522),u=i(9666),d=i(6042),f=i(5446),p=i(2041),m=i(5842),g=i(9056),y=i(1258),b=i(8868),v=i(9861),_=i(1353),w=i(709),x=i(6073),C=i(6283),A=i(6756),S=i(2526);const k=["mat-calendar-body",""];function M(t,e){if(1&t&&(a.TgZ(0,"tr",2),a.TgZ(1,"td",3),a._uU(2),a.qZA(),a.qZA()),2&t){const t=a.oxw();a.xp6(1),a.Udp("padding-top",t._cellPadding)("padding-bottom",t._cellPadding),a.uIk("colspan",t.numCols),a.xp6(1),a.hij(" ",t.label," ")}}function E(t,e){if(1&t&&(a.TgZ(0,"td",7),a._uU(1),a.qZA()),2&t){const t=a.oxw(2);a.Udp("padding-top",t._cellPadding)("padding-bottom",t._cellPadding),a.uIk("colspan",t._firstRowOffset),a.xp6(1),a.hij(" ",t._firstRowOffset>=t.labelMinRequiredCells?t.label:""," ")}}function T(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"td",8),a.NdJ("click",function(e){const i=a.CHM(t).$implicit;return a.oxw(2)._cellClicked(i,e)}),a.TgZ(1,"div",9),a._uU(2),a.qZA(),a._UZ(3,"div",10),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw().index,r=a.oxw();a.Udp("width",r._cellWidth)("padding-top",r._cellPadding)("padding-bottom",r._cellPadding),a.ekj("mat-calendar-body-disabled",!t.enabled)("mat-calendar-body-active",r._isActiveCell(n,i))("mat-calendar-body-range-start",r._isRangeStart(t.compareValue))("mat-calendar-body-range-end",r._isRangeEnd(t.compareValue))("mat-calendar-body-in-range",r._isInRange(t.compareValue))("mat-calendar-body-comparison-bridge-start",r._isComparisonBridgeStart(t.compareValue,n,i))("mat-calendar-body-comparison-bridge-end",r._isComparisonBridgeEnd(t.compareValue,n,i))("mat-calendar-body-comparison-start",r._isComparisonStart(t.compareValue))("mat-calendar-body-comparison-end",r._isComparisonEnd(t.compareValue))("mat-calendar-body-in-comparison-range",r._isInComparisonRange(t.compareValue))("mat-calendar-body-preview-start",r._isPreviewStart(t.compareValue))("mat-calendar-body-preview-end",r._isPreviewEnd(t.compareValue))("mat-calendar-body-in-preview",r._isInPreview(t.compareValue)),a.Q6J("ngClass",t.cssClasses)("tabindex",r._isActiveCell(n,i)?0:-1),a.uIk("data-mat-row",n)("data-mat-col",i)("aria-label",t.ariaLabel)("aria-disabled",!t.enabled||null)("aria-selected",r._isSelected(t.compareValue)),a.xp6(1),a.ekj("mat-calendar-body-selected",r._isSelected(t.compareValue))("mat-calendar-body-comparison-identical",r._isComparisonIdentical(t.compareValue))("mat-calendar-body-today",r.todayValue===t.compareValue),a.xp6(1),a.hij(" ",t.displayValue," ")}}function L(t,e){if(1&t&&(a.TgZ(0,"tr",4),a.YNc(1,E,2,6,"td",5),a.YNc(2,T,4,46,"td",6),a.qZA()),2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.xp6(1),a.Q6J("ngIf",0===i&&n._firstRowOffset),a.xp6(1),a.Q6J("ngForOf",t)}}function I(t,e){if(1&t&&(a.TgZ(0,"th",5),a._uU(1),a.qZA()),2&t){const t=e.$implicit;a.uIk("aria-label",t.long),a.xp6(1),a.Oqu(t.narrow)}}const O=["*"];function D(t,e){}function R(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-month-view",5),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("_userSelection",function(e){return a.CHM(t),a.oxw()._dateSelected(e)}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)("comparisonStart",t.comparisonStart)("comparisonEnd",t.comparisonEnd)}}function P(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-year-view",6),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("monthSelected",function(e){return a.CHM(t),a.oxw()._monthSelectedInYearView(e)})("selectedChange",function(e){return a.CHM(t),a.oxw()._goToDateInView(e,"month")}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)}}function Z(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-multi-year-view",7),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("yearSelected",function(e){return a.CHM(t),a.oxw()._yearSelectedInMultiYearView(e)})("selectedChange",function(e){return a.CHM(t),a.oxw()._goToDateInView(e,"year")}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)}}function F(t,e){}const N=["button"];function B(t,e){1&t&&(a.O4$(),a.TgZ(0,"svg",3),a._UZ(1,"path",4),a.qZA())}const U=[[["","matDatepickerToggleIcon",""]]],q=["[matDatepickerToggleIcon]"];let z=(()=>{class t{constructor(){this.changes=new u.x,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.closeCalendarLabel="Close calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 24 years",this.nextMultiYearLabel="Next 24 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year"}formatYearRange(t,e){return`${t} \u2013 ${e}`}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=a.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();class H{constructor(t,e,i,n,r={},s=t,o){this.value=t,this.displayValue=e,this.ariaLabel=i,this.enabled=n,this.cssClasses=r,this.compareValue=s,this.rawValue=o}}let Y=(()=>{class t{constructor(t,e){this._elementRef=t,this._ngZone=e,this.numCols=7,this.activeCell=0,this.isRange=!1,this.cellAspectRatio=1,this.previewStart=null,this.previewEnd=null,this.selectedValueChange=new a.vpe,this.previewChange=new a.vpe,this._enterHandler=t=>{if(this._skipNextFocus&&"focus"===t.type)this._skipNextFocus=!1;else if(t.target&&this.isRange){const e=this._getCellFromElement(t.target);e&&this._ngZone.run(()=>this.previewChange.emit({value:e.enabled?e:null,event:t}))}},this._leaveHandler=t=>{null!==this.previewEnd&&this.isRange&&t.target&&j(t.target)&&this._ngZone.run(()=>this.previewChange.emit({value:null,event:t}))},e.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mouseenter",this._enterHandler,!0),e.addEventListener("focus",this._enterHandler,!0),e.addEventListener("mouseleave",this._leaveHandler,!0),e.addEventListener("blur",this._leaveHandler,!0)})}_cellClicked(t,e){t.enabled&&this.selectedValueChange.emit({value:t.value,event:e})}_isSelected(t){return this.startValue===t||this.endValue===t}ngOnChanges(t){const e=t.numCols,{rows:i,numCols:n}=this;(t.rows||e)&&(this._firstRowOffset=i&&i.length&&i[0].length?n-i[0].length:0),(t.cellAspectRatio||e||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/n+"%"),!e&&this._cellWidth||(this._cellWidth=100/n+"%")}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mouseenter",this._enterHandler,!0),t.removeEventListener("focus",this._enterHandler,!0),t.removeEventListener("mouseleave",this._leaveHandler,!0),t.removeEventListener("blur",this._leaveHandler,!0)}_isActiveCell(t,e){let i=t*this.numCols+e;return t&&(i-=this._firstRowOffset),i==this.activeCell}_focusActiveCell(t=!0){this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,g.q)(1)).subscribe(()=>{const e=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");e&&(t||(this._skipNextFocus=!0),e.focus())})})}_isRangeStart(t){return G(t,this.startValue,this.endValue)}_isRangeEnd(t){return V(t,this.startValue,this.endValue)}_isInRange(t){return Q(t,this.startValue,this.endValue,this.isRange)}_isComparisonStart(t){return G(t,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(t,e,i){if(!this._isComparisonStart(t)||this._isRangeStart(t)||!this._isInRange(t))return!1;let n=this.rows[e][i-1];if(!n){const t=this.rows[e-1];n=t&&t[t.length-1]}return n&&!this._isRangeEnd(n.compareValue)}_isComparisonBridgeEnd(t,e,i){if(!this._isComparisonEnd(t)||this._isRangeEnd(t)||!this._isInRange(t))return!1;let n=this.rows[e][i+1];if(!n){const t=this.rows[e+1];n=t&&t[0]}return n&&!this._isRangeStart(n.compareValue)}_isComparisonEnd(t){return V(t,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(t){return Q(t,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(t){return this.comparisonStart===this.comparisonEnd&&t===this.comparisonStart}_isPreviewStart(t){return G(t,this.previewStart,this.previewEnd)}_isPreviewEnd(t){return V(t,this.previewStart,this.previewEnd)}_isInPreview(t){return Q(t,this.previewStart,this.previewEnd,this.isRange)}_getCellFromElement(t){let e;if(j(t)?e=t:j(t.parentNode)&&(e=t.parentNode),e){const t=e.getAttribute("data-mat-row"),i=e.getAttribute("data-mat-col");if(t&&i)return this.rows[parseInt(t)][parseInt(i)]}return null}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.R0b))},t.\u0275cmp=a.Xpm({type:t,selectors:[["","mat-calendar-body",""]],hostAttrs:["role","grid","aria-readonly","true",1,"mat-calendar-body"],inputs:{numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",previewStart:"previewStart",previewEnd:"previewEnd",label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange"},exportAs:["matCalendarBody"],features:[a.TTD],attrs:k,decls:2,vars:2,consts:[["aria-hidden","true",4,"ngIf"],["role","row",4,"ngFor","ngForOf"],["aria-hidden","true"],[1,"mat-calendar-body-label"],["role","row"],["aria-hidden","true","class","mat-calendar-body-label",3,"paddingTop","paddingBottom",4,"ngIf"],["role","gridcell","class","mat-calendar-body-cell",3,"ngClass","tabindex","mat-calendar-body-disabled","mat-calendar-body-active","mat-calendar-body-range-start","mat-calendar-body-range-end","mat-calendar-body-in-range","mat-calendar-body-comparison-bridge-start","mat-calendar-body-comparison-bridge-end","mat-calendar-body-comparison-start","mat-calendar-body-comparison-end","mat-calendar-body-in-comparison-range","mat-calendar-body-preview-start","mat-calendar-body-preview-end","mat-calendar-body-in-preview","width","paddingTop","paddingBottom","click",4,"ngFor","ngForOf"],["aria-hidden","true",1,"mat-calendar-body-label"],["role","gridcell",1,"mat-calendar-body-cell",3,"ngClass","tabindex","click"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],[1,"mat-calendar-body-cell-preview"]],template:function(t,e){1&t&&(a.YNc(0,M,3,6,"tr",0),a.YNc(1,L,3,2,"tr",1)),2&t&&(a.Q6J("ngIf",e._firstRowOffset.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-high-contrast-active .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){outline:dotted 2px}[dir=rtl] .mat-calendar-body-label{text-align:right}@media(hover: none){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:transparent}}\n'],encapsulation:2,changeDetection:0}),t})();function j(t){return"TD"===t.nodeName}function G(t,e,i){return null!==i&&e!==i&&t=e&&t===i}function Q(t,e,i,n){return n&&null!==e&&null!==i&&e!==i&&t>=e&&t<=i}class W{constructor(t,e){this.start=t,this.end=e}}let J=(()=>{class t{constructor(t,e){this.selection=t,this._adapter=e,this._selectionChanged=new u.x,this.selectionChanged=this._selectionChanged,this.selection=t}updateSelection(t,e){const i=this.selection;this.selection=t,this._selectionChanged.next({selection:t,source:e,oldValue:i})}ngOnDestroy(){this._selectionChanged.complete()}_isValidDateInstance(t){return this._adapter.isDateInstance(t)&&this._adapter.isValid(t)}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(void 0),a.LFG(h._A))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})(),X=(()=>{class t extends J{constructor(t){super(null,t)}add(t){super.updateSelection(t,this)}isValid(){return null!=this.selection&&this._isValidDateInstance(this.selection)}isComplete(){return null!=this.selection}clone(){const e=new t(this._adapter);return e.updateSelection(this.selection,this),e}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(h._A))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})();const K={provide:J,deps:[[new a.FiY,new a.tp0,J],h._A],useFactory:function(t,e){return t||new X(e)}},$=new a.OlP("MAT_DATE_RANGE_SELECTION_STRATEGY");let tt=(()=>{class t{constructor(t,e,i,n,r){this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=i,this._dir=n,this._rangeStrategy=r,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this._userSelection=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){const e=this._activeDate,i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),this._hasSameMonthAndYear(e,this._activeDate)||this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setRanges(this._selected)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnChanges(t){const e=t.comparisonStart||t.comparisonEnd;e&&!e.firstChange&&this._setRanges(this.selected)}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_dateSelected(t){const e=t.value,i=this._dateAdapter.getYear(this.activeDate),n=this._dateAdapter.getMonth(this.activeDate),r=this._dateAdapter.createDate(i,n,e);let s,o;this._selected instanceof W?(s=this._getDateInCurrentMonth(this._selected.start),o=this._getDateInCurrentMonth(this._selected.end)):s=o=this._getDateInCurrentMonth(this._selected),s===e&&o===e||this.selectedChange.emit(r),this._userSelection.emit({value:r,event:t.event}),this._previewStart=this._previewEnd=null,this._changeDetectorRef.markForCheck()}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case m.Ku:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case m.VM:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case m.K5:case m.L_:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:t}),t.preventDefault()));case m.hY:return void(null==this._previewEnd||(0,m.Vb)(t)||(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:t}),t.preventDefault(),t.stopPropagation()));default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_init(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateFormats.display.monthLabel?this._dateAdapter.format(this.activeDate,this._dateFormats.display.monthLabel):this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();let t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(t)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()}_focusActiveCell(t){this._matCalendarBody._focusActiveCell(t)}_previewChanged({event:t,value:e}){if(this._rangeStrategy){const i=this._rangeStrategy.createPreview(e?e.rawValue:null,this.selected,t);this._previewStart=this._getCellCompareValue(i.start),this._previewEnd=this._getCellCompareValue(i.end),this._changeDetectorRef.detectChanges()}}_initWeekdays(){const t=this._dateAdapter.getFirstDayOfWeek(),e=this._dateAdapter.getDayOfWeekNames("narrow");let i=this._dateAdapter.getDayOfWeekNames("long").map((t,i)=>({long:t,narrow:e[i]}));this._weekdays=i.slice(t).concat(i.slice(0,t))}_createWeekCells(){const t=this._dateAdapter.getNumDaysInMonth(this.activeDate),e=this._dateAdapter.getDateNames();this._weeks=[[]];for(let i=0,n=this._firstWeekOffset;i=0)&&(!this.maxDate||this._dateAdapter.compareDate(t,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(t))}_getDateInCurrentMonth(t){return t&&this._hasSameMonthAndYear(t,this.activeDate)?this._dateAdapter.getDate(t):null}_hasSameMonthAndYear(t,e){return!(!t||!e||this._dateAdapter.getMonth(t)!=this._dateAdapter.getMonth(e)||this._dateAdapter.getYear(t)!=this._dateAdapter.getYear(e))}_getCellCompareValue(t){if(t){const e=this._dateAdapter.getYear(t),i=this._dateAdapter.getMonth(t),n=this._dateAdapter.getDate(t);return new Date(e,i,n).getTime()}return null}_isRtl(){return this._dir&&"rtl"===this._dir.value}_setRanges(t){t instanceof W?(this._rangeStart=this._getCellCompareValue(t.start),this._rangeEnd=this._getCellCompareValue(t.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(t),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.sBO),a.Y36(h.sG,8),a.Y36(h._A,8),a.Y36(S.Is,8),a.Y36($,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-month-view"]],viewQuery:function(t,e){if(1&t&&a.Gf(Y,5),2&t){let t;a.iGM(t=a.CRH())&&(e._matCalendarBody=t.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",_userSelection:"_userSelection",activeDateChange:"activeDateChange"},exportAs:["matMonthView"],features:[a.TTD],decls:7,vars:13,consts:[["role","presentation",1,"mat-calendar-table"],[1,"mat-calendar-table-header"],["scope","col",4,"ngFor","ngForOf"],["colspan","7","aria-hidden","true",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"label","rows","todayValue","startValue","endValue","comparisonStart","comparisonEnd","previewStart","previewEnd","isRange","labelMinRequiredCells","activeCell","selectedValueChange","previewChange","keydown"],["scope","col"]],template:function(t,e){1&t&&(a.TgZ(0,"table",0),a.TgZ(1,"thead",1),a.TgZ(2,"tr"),a.YNc(3,I,2,2,"th",2),a.qZA(),a.TgZ(4,"tr"),a._UZ(5,"th",3),a.qZA(),a.qZA(),a.TgZ(6,"tbody",4),a.NdJ("selectedValueChange",function(t){return e._dateSelected(t)})("previewChange",function(t){return e._previewChanged(t)})("keydown",function(t){return e._handleCalendarBodyKeydown(t)}),a.qZA(),a.qZA()),2&t&&(a.xp6(3),a.Q6J("ngForOf",e._weekdays),a.xp6(3),a.Q6J("label",e._monthLabel)("rows",e._weeks)("todayValue",e._todayDate)("startValue",e._rangeStart)("endValue",e._rangeEnd)("comparisonStart",e._comparisonRangeStart)("comparisonEnd",e._comparisonRangeEnd)("previewStart",e._previewStart)("previewEnd",e._previewEnd)("isRange",e._isRange)("labelMinRequiredCells",3)("activeCell",e._dateAdapter.getDate(e.activeDate)-1))},directives:[o.sg,Y],encapsulation:2,changeDetection:0}),t})();const et=24;let it=(()=>{class t{constructor(t,e,i){this._changeDetectorRef=t,this._dateAdapter=e,this._dir=i,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this.yearSelected=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){let e=this._activeDate;const i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),nt(this._dateAdapter,e,this._activeDate,this.minDate,this.maxDate)||this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setSelectedYear(t)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_init(){this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());const t=this._dateAdapter.getYear(this._activeDate)-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(let e=0,i=[];ethis._createCellForYear(t))),i=[]);this._changeDetectorRef.markForCheck()}_yearSelected(t){const e=t.value;this.yearSelected.emit(this._dateAdapter.createDate(e,0,1));let i=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(e,i,1));this.selectedChange.emit(this._dateAdapter.createDate(e,i,Math.min(this._dateAdapter.getDate(this.activeDate),n)))}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,et-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case m.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-240:-24);break;case m.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?240:et);break;case m.K5:case m.L_:this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:t});break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_getActiveCell(){return rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_createCellForYear(t){const e=this._dateAdapter.createDate(t,0,1),i=this._dateAdapter.getYearName(e),n=this.dateClass?this.dateClass(e,"multi-year"):void 0;return new H(t,i,i,this._shouldEnableYear(t),n)}_shouldEnableYear(t){if(null==t||this.maxDate&&t>this._dateAdapter.getYear(this.maxDate)||this.minDate&&t{class t{constructor(t,e,i,n){this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=i,this._dir=n,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this.monthSelected=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){let e=this._activeDate;const i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),this._dateAdapter.getYear(e)!==this._dateAdapter.getYear(this._activeDate)&&this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setSelectedMonth(t)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_monthSelected(t){const e=t.value,i=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1);this.monthSelected.emit(i);const n=this._dateAdapter.getNumDaysInMonth(i);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,Math.min(this._dateAdapter.getDate(this.activeDate),n)))}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case m.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-10:-1);break;case m.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?10:1);break;case m.K5:case m.L_:this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:t});break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_init(){this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);let t=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(e=>e.map(e=>this._createCellForMonth(e,t[e]))),this._changeDetectorRef.markForCheck()}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_getMonthInCurrentYear(t){return t&&this._dateAdapter.getYear(t)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(t):null}_createCellForMonth(t,e){const i=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1),n=this._dateAdapter.format(i,this._dateFormats.display.monthYearA11yLabel),r=this.dateClass?this.dateClass(i,"year"):void 0;return new H(t,e.toLocaleUpperCase(),n,this._shouldEnableMonth(t),r)}_shouldEnableMonth(t){const e=this._dateAdapter.getYear(this.activeDate);if(null==t||this._isYearAndMonthAfterMaxDate(e,t)||this._isYearAndMonthBeforeMinDate(e,t))return!1;if(!this.dateFilter)return!0;for(let i=this._dateAdapter.createDate(e,t,1);this._dateAdapter.getMonth(i)==t;i=this._dateAdapter.addCalendarDays(i,1))if(this.dateFilter(i))return!0;return!1}_isYearAndMonthAfterMaxDate(t,e){if(this.maxDate){const i=this._dateAdapter.getYear(this.maxDate),n=this._dateAdapter.getMonth(this.maxDate);return t>i||t===i&&e>n}return!1}_isYearAndMonthBeforeMinDate(t,e){if(this.minDate){const i=this._dateAdapter.getYear(this.minDate),n=this._dateAdapter.getMonth(this.minDate);return t{class t{constructor(t,e,i,n,r){this._intl=t,this.calendar=e,this._dateAdapter=i,this._dateFormats=n,this._buttonDescriptionId="mat-calendar-button-"+at++,this.calendar.stateChanges.subscribe(()=>r.markForCheck())}get periodButtonText(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);const t=this._dateAdapter.getYear(this.calendar.activeDate)-rt(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),e=t+et-1,i=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1)),n=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1));return this._intl.formatYearRange(i,n)}get periodButtonLabel(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel}get prevButtonLabel(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]}get nextButtonLabel(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]}currentPeriodClicked(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"}previousClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)}nextClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:et)}previousEnabled(){return!this.calendar.minDate||!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate)}nextEnabled(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)}_isSameView(t,e){return"month"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e)&&this._dateAdapter.getMonth(t)==this._dateAdapter.getMonth(e):"year"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e):nt(this._dateAdapter,t,e,this.calendar.minDate,this.calendar.maxDate)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36((0,a.Gpc)(()=>ct)),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-calendar-header"]],exportAs:["matCalendarHeader"],ngContentSelectors:O,decls:10,vars:10,consts:[[1,"mat-calendar-header"],[1,"mat-calendar-controls"],["mat-button","","type","button","cdkAriaLive","polite",1,"mat-calendar-period-button",3,"click"],[1,"mat-calendar-arrow"],[1,"mat-calendar-spacer"],["mat-icon-button","","type","button",1,"mat-calendar-previous-button",3,"disabled","click"],["mat-icon-button","","type","button",1,"mat-calendar-next-button",3,"disabled","click"]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0),a.TgZ(1,"div",1),a.TgZ(2,"button",2),a.NdJ("click",function(){return e.currentPeriodClicked()}),a.TgZ(3,"span"),a._uU(4),a.qZA(),a._UZ(5,"div",3),a.qZA(),a._UZ(6,"div",4),a.Hsn(7),a.TgZ(8,"button",5),a.NdJ("click",function(){return e.previousClicked()}),a.qZA(),a.TgZ(9,"button",6),a.NdJ("click",function(){return e.nextClicked()}),a.qZA(),a.qZA(),a.qZA()),2&t&&(a.xp6(2),a.uIk("aria-label",e.periodButtonLabel)("aria-describedby",e._buttonDescriptionId),a.xp6(1),a.uIk("id",e._buttonDescriptionId),a.xp6(1),a.Oqu(e.periodButtonText),a.xp6(1),a.ekj("mat-calendar-invert","month"!==e.calendar.currentView),a.xp6(3),a.Q6J("disabled",!e.previousEnabled()),a.uIk("aria-label",e.prevButtonLabel),a.xp6(1),a.Q6J("disabled",!e.nextEnabled()),a.uIk("aria-label",e.nextButtonLabel))},directives:[l.lW,n.Qr],encapsulation:2,changeDetection:0}),t})(),ct=(()=>{class t{constructor(t,e,i,n){this._dateAdapter=e,this._dateFormats=i,this._changeDetectorRef=n,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new a.vpe,this.yearSelected=new a.vpe,this.monthSelected=new a.vpe,this.viewChanged=new a.vpe(!0),this._userSelection=new a.vpe,this.stateChanges=new u.x,this._intlChanges=t.changes.subscribe(()=>{n.markForCheck(),this.stateChanges.next()})}get startAt(){return this._startAt}set startAt(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get activeDate(){return this._clampedActiveDate}set activeDate(t){this._clampedActiveDate=this._dateAdapter.clampDate(t,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()}get currentView(){return this._currentView}set currentView(t){const e=this._currentView!==t?t:null;this._currentView=t,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck(),e&&this.viewChanged.emit(e)}ngAfterContentInit(){this._calendarHeaderPortal=new s.C5(this.headerComponent||lt),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView}ngAfterViewChecked(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())}ngOnDestroy(){this._intlChanges.unsubscribe(),this.stateChanges.complete()}ngOnChanges(t){const e=t.minDate||t.maxDate||t.dateFilter;if(e&&!e.firstChange){const t=this._getCurrentViewComponent();t&&(this._changeDetectorRef.detectChanges(),t._init())}this.stateChanges.next()}focusActiveCell(){this._getCurrentViewComponent()._focusActiveCell(!1)}updateTodaysDate(){const t=this.currentView;let e;e="month"===t?this.monthView:"year"===t?this.yearView:this.multiYearView,e._init()}_dateSelected(t){const e=t.value;(this.selected instanceof W||e&&!this._dateAdapter.sameDate(e,this.selected))&&this.selectedChange.emit(e),this._userSelection.emit(t)}_yearSelectedInMultiYearView(t){this.yearSelected.emit(t)}_monthSelectedInYearView(t){this.monthSelected.emit(t)}_goToDateInView(t,e){this.activeDate=t,this.currentView=e}_getCurrentViewComponent(){return this.monthView||this.yearView||this.multiYearView}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-calendar"]],viewQuery:function(t,e){if(1&t&&(a.Gf(tt,5),a.Gf(ot,5),a.Gf(it,5)),2&t){let t;a.iGM(t=a.CRH())&&(e.monthView=t.first),a.iGM(t=a.CRH())&&(e.yearView=t.first),a.iGM(t=a.CRH())&&(e.multiYearView=t.first)}},hostAttrs:[1,"mat-calendar"],inputs:{startView:"startView",startAt:"startAt",selected:"selected",minDate:"minDate",maxDate:"maxDate",headerComponent:"headerComponent",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",_userSelection:"_userSelection"},exportAs:["matCalendar"],features:[a._Bn([K]),a.TTD],decls:5,vars:5,consts:[[3,"cdkPortalOutlet"],["cdkMonitorSubtreeFocus","","tabindex","-1",1,"mat-calendar-content",3,"ngSwitch"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange"]],template:function(t,e){1&t&&(a.YNc(0,D,0,0,"ng-template",0),a.TgZ(1,"div",1),a.YNc(2,R,1,8,"mat-month-view",2),a.YNc(3,P,1,6,"mat-year-view",3),a.YNc(4,Z,1,6,"mat-multi-year-view",4),a.qZA()),2&t&&(a.Q6J("cdkPortalOutlet",e._calendarHeaderPortal),a.xp6(1),a.Q6J("ngSwitch",e.currentView),a.xp6(1),a.Q6J("ngSwitchCase","month"),a.xp6(1),a.Q6J("ngSwitchCase","year"),a.xp6(1),a.Q6J("ngSwitchCase","multi-year"))},directives:[s.Pl,n.kH,o.RF,o.n9,tt,ot,it],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}\n'],encapsulation:2,changeDetection:0}),t})();const ht={transformPanel:(0,w.X$)("transformPanel",[(0,w.eR)("void => enter-dropdown",(0,w.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,w.F4)([(0,w.oB)({opacity:0,transform:"scale(1, 0.8)"}),(0,w.oB)({opacity:1,transform:"scale(1, 1)"})]))),(0,w.eR)("void => enter-dialog",(0,w.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,w.F4)([(0,w.oB)({opacity:0,transform:"scale(0.7)"}),(0,w.oB)({transform:"none",opacity:1})]))),(0,w.eR)("* => void",(0,w.jt)("100ms linear",(0,w.oB)({opacity:0})))]),fadeInCalendar:(0,w.X$)("fadeInCalendar",[(0,w.SB)("void",(0,w.oB)({opacity:0})),(0,w.SB)("enter",(0,w.oB)({opacity:1})),(0,w.eR)("void => *",(0,w.jt)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])};let ut=0;const dt=new a.OlP("mat-datepicker-scroll-strategy"),ft={provide:dt,deps:[r.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class pt{constructor(t){this._elementRef=t}}const mt=(0,h.pj)(pt);let gt=(()=>{class t extends mt{constructor(t,e,i,n,r,s){super(t),this._changeDetectorRef=e,this._globalModel=i,this._dateAdapter=n,this._rangeSelectionStrategy=r,this._subscriptions=new d.w0,this._animationDone=new u.x,this._actionsPortal=null,this._closeButtonText=s.closeCalendarLabel}ngOnInit(){this._model=this._actionsPortal?this._globalModel.clone():this._globalModel,this._animationState=this.datepicker.touchUi?"enter-dialog":"enter-dropdown"}ngAfterViewInit(){this._subscriptions.add(this.datepicker.stateChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})),this._calendar.focusActiveCell()}ngOnDestroy(){this._subscriptions.unsubscribe(),this._animationDone.complete()}_handleUserSelection(t){const e=this._model.selection,i=t.value,n=e instanceof W;if(n&&this._rangeSelectionStrategy){const n=this._rangeSelectionStrategy.selectionFinished(i,e,t.event);this._model.updateSelection(n,this)}else!i||!n&&this._dateAdapter.sameDate(i,e)||this._model.add(i);this._model&&!this._model.isComplete()||this._actionsPortal||this.datepicker.close()}_startExitAnimation(){this._animationState="void",this._changeDetectorRef.markForCheck()}_getSelected(){return this._model.selection}_applyPendingSelection(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(J),a.Y36(h._A),a.Y36($,8),a.Y36(z))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker-content"]],viewQuery:function(t,e){if(1&t&&a.Gf(ct,5),2&t){let t;a.iGM(t=a.CRH())&&(e._calendar=t.first)}},hostAttrs:[1,"mat-datepicker-content"],hostVars:3,hostBindings:function(t,e){1&t&&a.WFA("@transformPanel.done",function(){return e._animationDone.next()}),2&t&&(a.d8E("@transformPanel",e._animationState),a.ekj("mat-datepicker-content-touch",e.datepicker.touchUi))},inputs:{color:"color"},exportAs:["matDatepickerContent"],features:[a.qOj],decls:5,vars:20,consts:[["cdkTrapFocus","",1,"mat-datepicker-content-container"],[3,"id","ngClass","startAt","startView","minDate","maxDate","dateFilter","headerComponent","selected","dateClass","comparisonStart","comparisonEnd","yearSelected","monthSelected","viewChanged","_userSelection"],[3,"cdkPortalOutlet"],["type","button","mat-raised-button","",1,"mat-datepicker-close-button",3,"color","focus","blur","click"]],template:function(t,e){1&t&&(a.TgZ(0,"div",0),a.TgZ(1,"mat-calendar",1),a.NdJ("yearSelected",function(t){return e.datepicker._selectYear(t)})("monthSelected",function(t){return e.datepicker._selectMonth(t)})("viewChanged",function(t){return e.datepicker._viewChanged(t)})("_userSelection",function(t){return e._handleUserSelection(t)}),a.qZA(),a.YNc(2,F,0,0,"ng-template",2),a.TgZ(3,"button",3),a.NdJ("focus",function(){return e._closeButtonFocused=!0})("blur",function(){return e._closeButtonFocused=!1})("click",function(){return e.datepicker.close()}),a._uU(4),a.qZA(),a.qZA()),2&t&&(a.ekj("mat-datepicker-content-container-with-actions",e._actionsPortal),a.xp6(1),a.Q6J("id",e.datepicker.id)("ngClass",e.datepicker.panelClass)("startAt",e.datepicker.startAt)("startView",e.datepicker.startView)("minDate",e.datepicker._getMinDate())("maxDate",e.datepicker._getMaxDate())("dateFilter",e.datepicker._getDateFilter())("headerComponent",e.datepicker.calendarHeaderComponent)("selected",e._getSelected())("dateClass",e.datepicker.dateClass)("comparisonStart",e.comparisonStart)("comparisonEnd",e.comparisonEnd)("@fadeInCalendar","enter"),a.xp6(1),a.Q6J("cdkPortalOutlet",e._actionsPortal),a.xp6(1),a.ekj("cdk-visually-hidden",!e._closeButtonFocused),a.Q6J("color",e.color||"primary"),a.xp6(1),a.Oqu(e._closeButtonText))},directives:[n.mK,ct,o.mk,s.Pl,l.lW],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\n"],encapsulation:2,data:{animation:[ht.transformPanel,ht.fadeInCalendar]},changeDetection:0}),t})(),yt=(()=>{class t{constructor(t,e,i,n,r,s,o,l,c){this._overlay=e,this._ngZone=i,this._viewContainerRef=n,this._dateAdapter=s,this._dir=o,this._model=c,this._inputStateChanges=d.w0.EMPTY,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this._restoreFocus=!0,this.yearSelected=new a.vpe,this.monthSelected=new a.vpe,this.viewChanged=new a.vpe(!0),this.openedStream=new a.vpe,this.closedStream=new a.vpe,this._opened=!1,this.id="mat-datepicker-"+ut++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=`${this.id}-backdrop`,this.stateChanges=new u.x,this._scrollStrategy=r}get startAt(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)}set startAt(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get color(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)}set color(t){this._color=t}get touchUi(){return this._touchUi}set touchUi(t){this._touchUi=(0,v.Ig)(t)}get disabled(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled}set disabled(t){const e=(0,v.Ig)(t);e!==this._disabled&&(this._disabled=e,this.stateChanges.next(void 0))}get restoreFocus(){return this._restoreFocus}set restoreFocus(t){this._restoreFocus=(0,v.Ig)(t)}get panelClass(){return this._panelClass}set panelClass(t){this._panelClass=(0,v.du)(t)}get opened(){return this._opened}set opened(t){(0,v.Ig)(t)?this.open():this.close()}_getMinDate(){return this.datepickerInput&&this.datepickerInput.min}_getMaxDate(){return this.datepickerInput&&this.datepickerInput.max}_getDateFilter(){return this.datepickerInput&&this.datepickerInput.dateFilter}ngOnChanges(t){const e=t.xPosition||t.yPosition;if(e&&!e.firstChange&&this._overlayRef){const t=this._overlayRef.getConfig().positionStrategy;t instanceof r._G&&(this._setConnectedPositions(t),this.opened&&this._overlayRef.updatePosition())}this.stateChanges.next(void 0)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()}select(t){this._model.add(t)}_selectYear(t){this.yearSelected.emit(t)}_selectMonth(t){this.monthSelected.emit(t)}_viewChanged(t){this.viewChanged.emit(t)}registerInput(t){return this._inputStateChanges.unsubscribe(),this.datepickerInput=t,this._inputStateChanges=t.stateChanges.subscribe(()=>this.stateChanges.next(void 0)),this._model}registerActions(t){this._actionsPortal=t}removeActions(t){t===this._actionsPortal&&(this._actionsPortal=null)}open(){this._opened||this.disabled||(this._focusedElementBeforeOpen=(0,_.ht)(),this._openOverlay(),this._opened=!0,this.openedStream.emit())}close(){if(!this._opened)return;if(this._componentRef){const t=this._componentRef.instance;t._startExitAnimation(),t._animationDone.pipe((0,g.q)(1)).subscribe(()=>this._destroyOverlay())}const t=()=>{this._opened&&(this._opened=!1,this.closedStream.emit(),this._focusedElementBeforeOpen=null)};this._restoreFocus&&this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(t)):t()}_applyPendingSelection(){var t,e;null===(e=null===(t=this._componentRef)||void 0===t?void 0:t.instance)||void 0===e||e._applyPendingSelection()}_forwardContentValues(t){t.datepicker=this,t.color=this.color,t._actionsPortal=this._actionsPortal}_openOverlay(){this._destroyOverlay();const t=this.touchUi,e=this.datepickerInput.getOverlayLabelId(),i=new s.C5(gt,this._viewContainerRef),n=this._overlayRef=this._overlay.create(new r.X_({positionStrategy:t?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[t?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:t?this._overlay.scrollStrategies.block():this._scrollStrategy(),panelClass:"mat-datepicker-"+(t?"dialog":"popup")})),o=n.overlayElement;o.setAttribute("role","dialog"),e&&o.setAttribute("aria-labelledby",e),t&&o.setAttribute("aria-modal","true"),this._getCloseStream(n).subscribe(t=>{t&&t.preventDefault(),this.close()}),this._componentRef=n.attach(i),this._forwardContentValues(this._componentRef.instance),t||this._ngZone.onStable.pipe((0,g.q)(1)).subscribe(()=>n.updatePosition())}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return this._overlay.position().global().centerHorizontally().centerVertically()}_getDropdownStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(t)}_setConnectedPositions(t){const e="end"===this.xPosition?"end":"start",i="start"===e?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return t.withPositions([{originX:e,originY:r,overlayX:e,overlayY:n},{originX:e,originY:n,overlayX:e,overlayY:r},{originX:i,originY:r,overlayX:i,overlayY:n},{originX:i,originY:n,overlayX:i,overlayY:r}])}_getCloseStream(t){return(0,f.T)(t.backdropClick(),t.detachments(),t.keydownEvents().pipe((0,b.h)(t=>t.keyCode===m.hY&&!(0,m.Vb)(t)||this.datepickerInput&&(0,m.Vb)(t,"altKey")&&t.keyCode===m.LH)))}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(r.aV),a.Y36(a.R0b),a.Y36(a.s_b),a.Y36(dt),a.Y36(h._A,8),a.Y36(S.Is,8),a.Y36(o.K0,8),a.Y36(J))},t.\u0275dir=a.lG2({type:t,inputs:{startView:"startView",xPosition:"xPosition",yPosition:"yPosition",startAt:"startAt",color:"color",touchUi:"touchUi",disabled:"disabled",restoreFocus:"restoreFocus",panelClass:"panelClass",opened:"opened",calendarHeaderComponent:"calendarHeaderComponent",dateClass:"dateClass"},outputs:{yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",openedStream:"opened",closedStream:"closed"},features:[a.TTD]}),t})(),bt=(()=>{class t extends yt{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=a.n5z(t)))(i||t)}}(),t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker"]],exportAs:["matDatepicker"],features:[a._Bn([K,{provide:yt,useExisting:t}]),a.qOj],decls:0,vars:0,template:function(t,e){},encapsulation:2,changeDetection:0}),t})();class vt{constructor(t,e){this.target=t,this.targetElement=e,this.value=this.target.value}}let _t=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._dateAdapter=e,this._dateFormats=i,this.dateChange=new a.vpe,this.dateInput=new a.vpe,this.stateChanges=new u.x,this._onTouched=()=>{},this._validatorOnChange=()=>{},this._cvaOnChange=()=>{},this._valueChangesSubscription=d.w0.EMPTY,this._localeSubscription=d.w0.EMPTY,this._parseValidator=()=>this._lastValueValid?null:{matDatepickerParse:{text:this._elementRef.nativeElement.value}},this._filterValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value));return!e||this._matchesFilter(e)?null:{matDatepickerFilter:!0}},this._minValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value)),i=this._getMinDate();return!i||!e||this._dateAdapter.compareDate(i,e)<=0?null:{matDatepickerMin:{min:i,actual:e}}},this._maxValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value)),i=this._getMaxDate();return!i||!e||this._dateAdapter.compareDate(i,e)>=0?null:{matDatepickerMax:{max:i,actual:e}}},this._lastValueValid=!1,this._localeSubscription=e.localeChanges.subscribe(()=>{this._assignValueProgrammatically(this.value)})}get value(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue}set value(t){this._assignValueProgrammatically(t)}get disabled(){return!!this._disabled||this._parentDisabled()}set disabled(t){const e=(0,v.Ig)(t),i=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this.stateChanges.next(void 0)),e&&this._isInitialized&&i.blur&&i.blur()}_getValidators(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]}_registerModel(t){this._model=t,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe(t=>{if(this._shouldHandleChangeEvent(t)){const e=this._getValueFromModel(t.selection);this._lastValueValid=this._isValidValue(e),this._cvaOnChange(e),this._onTouched(),this._formatValue(e),this.dateInput.emit(new vt(this,this._elementRef.nativeElement)),this.dateChange.emit(new vt(this,this._elementRef.nativeElement))}})}ngAfterViewInit(){this._isInitialized=!0}ngOnChanges(t){(function(t,e){const i=Object.keys(t);for(let n of i){const{previousValue:i,currentValue:r}=t[n];if(!e.isDateInstance(i)||!e.isDateInstance(r))return!0;if(!e.sameDate(i,r))return!0}return!1})(t,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()}registerOnValidatorChange(t){this._validatorOnChange=t}validate(t){return this._validator?this._validator(t):null}writeValue(t){this._assignValueProgrammatically(t)}registerOnChange(t){this._cvaOnChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_onKeydown(t){t.altKey&&t.keyCode===m.JH&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),t.preventDefault())}_onInput(t){const e=this._lastValueValid;let i=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(i),i=this._dateAdapter.getValidDateOrNull(i),this._dateAdapter.sameDate(i,this.value)?(t&&!this.value&&this._cvaOnChange(i),e!==this._lastValueValid&&this._validatorOnChange()):(this._assignValue(i),this._cvaOnChange(i),this.dateInput.emit(new vt(this,this._elementRef.nativeElement)))}_onChange(){this.dateChange.emit(new vt(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}_formatValue(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""}_assignValue(t){this._model?(this._assignValueToModel(t),this._pendingValue=null):this._pendingValue=t}_isValidValue(t){return!t||this._dateAdapter.isValid(t)}_parentDisabled(){return!1}_assignValueProgrammatically(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=this._isValidValue(t),t=this._dateAdapter.getValidDateOrNull(t),this._assignValue(t),this._formatValue(t)}_matchesFilter(t){const e=this._getDateFilter();return!e||e(t)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(h._A,8),a.Y36(h.sG,8))},t.\u0275dir=a.lG2({type:t,inputs:{value:"value",disabled:"disabled"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[a.TTD]}),t})();const wt={provide:x.JU,useExisting:(0,a.Gpc)(()=>Ct),multi:!0},xt={provide:x.Cf,useExisting:(0,a.Gpc)(()=>Ct),multi:!0};let Ct=(()=>{class t extends _t{constructor(t,e,i,n){super(t,e,i),this._formField=n,this._closedSubscription=d.w0.EMPTY,this._validator=x.kI.compose(super._getValidators())}set matDatepicker(t){t&&(this._datepicker=t,this._closedSubscription=t.closedStream.subscribe(()=>this._onTouched()),this._registerModel(t.registerInput(this)))}get min(){return this._min}set min(t){const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._min)||(this._min=e,this._validatorOnChange())}get max(){return this._max}set max(t){const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._max)||(this._max=e,this._validatorOnChange())}get dateFilter(){return this._dateFilter}set dateFilter(t){const e=this._matchesFilter(this.value);this._dateFilter=t,this._matchesFilter(this.value)!==e&&this._validatorOnChange()}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}getThemePalette(){return this._formField?this._formField.color:void 0}getStartValue(){return this.value}ngOnDestroy(){super.ngOnDestroy(),this._closedSubscription.unsubscribe()}_openPopup(){this._datepicker&&this._datepicker.open()}_getValueFromModel(t){return t}_assignValueToModel(t){this._model&&this._model.updateSelection(t,this)}_getMinDate(){return this._min}_getMaxDate(){return this._max}_getDateFilter(){return this._dateFilter}_shouldHandleChangeEvent(t){return t.source!==this}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(C.G_,8))},t.\u0275dir=a.lG2({type:t,selectors:[["input","matDatepicker",""]],hostAttrs:[1,"mat-datepicker-input"],hostVars:6,hostBindings:function(t,e){1&t&&a.NdJ("input",function(t){return e._onInput(t.target.value)})("change",function(){return e._onChange()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)}),2&t&&(a.Ikx("disabled",e.disabled),a.uIk("aria-haspopup",e._datepicker?"dialog":null)("aria-owns",(null==e._datepicker?null:e._datepicker.opened)&&e._datepicker.id||null)("min",e.min?e._dateAdapter.toIso8601(e.min):null)("max",e.max?e._dateAdapter.toIso8601(e.max):null)("data-mat-calendar",e._datepicker?e._datepicker.id:null))},inputs:{matDatepicker:"matDatepicker",min:"min",max:"max",dateFilter:["matDatepickerFilter","dateFilter"]},exportAs:["matDatepickerInput"],features:[a._Bn([wt,xt,{provide:A.Jk,useExisting:t}]),a.qOj]}),t})(),At=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","matDatepickerToggleIcon",""]]}),t})(),St=(()=>{class t{constructor(t,e,i){this._intl=t,this._changeDetectorRef=e,this._stateChanges=d.w0.EMPTY;const n=Number(i);this.tabIndex=n||0===n?n:null}get disabled(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled}set disabled(t){this._disabled=(0,v.Ig)(t)}ngOnChanges(t){t.datepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())}_watchStateChanges(){const t=this.datepicker?this.datepicker.stateChanges:(0,p.of)(),e=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:(0,p.of)(),i=this.datepicker?(0,f.T)(this.datepicker.openedStream,this.datepicker.closedStream):(0,p.of)();this._stateChanges.unsubscribe(),this._stateChanges=(0,f.T)(this._intl.changes,t,e,i).subscribe(()=>this._changeDetectorRef.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36(a.sBO),a.$8M("tabindex"))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker-toggle"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,At,5),2&t){let t;a.iGM(t=a.CRH())&&(e._customIcon=t.first)}},viewQuery:function(t,e){if(1&t&&a.Gf(N,5),2&t){let t;a.iGM(t=a.CRH())&&(e._button=t.first)}},hostAttrs:[1,"mat-datepicker-toggle"],hostVars:8,hostBindings:function(t,e){1&t&&a.NdJ("click",function(t){return e._open(t)}),2&t&&(a.uIk("tabindex",null)("data-mat-calendar",e.datepicker?e.datepicker.id:null),a.ekj("mat-datepicker-toggle-active",e.datepicker&&e.datepicker.opened)("mat-accent",e.datepicker&&"accent"===e.datepicker.color)("mat-warn",e.datepicker&&"warn"===e.datepicker.color))},inputs:{tabIndex:"tabIndex",disabled:"disabled",datepicker:["for","datepicker"],ariaLabel:["aria-label","ariaLabel"],disableRipple:"disableRipple"},exportAs:["matDatepickerToggle"],features:[a.TTD],ngContentSelectors:q,decls:4,vars:6,consts:[["mat-icon-button","","type","button",3,"disabled","disableRipple"],["button",""],["class","mat-datepicker-toggle-default-icon","viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",4,"ngIf"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",1,"mat-datepicker-toggle-default-icon"],["d","M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"]],template:function(t,e){1&t&&(a.F$t(U),a.TgZ(0,"button",0,1),a.YNc(2,B,2,0,"svg",2),a.Hsn(3),a.qZA()),2&t&&(a.Q6J("disabled",e.disabled)("disableRipple",e.disableRipple),a.uIk("aria-haspopup",e.datepicker?"dialog":null)("aria-label",e.ariaLabel||e._intl.openCalendarLabel)("tabindex",e.disabled?-1:e.tabIndex),a.xp6(2),a.Q6J("ngIf",!e._customIcon))},directives:[l.lW,o.O5],styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}\n"],encapsulation:2,changeDetection:0}),t})(),kt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({providers:[z,ft],imports:[[o.ez,l.ot,r.U8,n.rt,s.eL,h.BQ],c.ZD]}),t})()},4608:(t,e,i)=>{"use strict";i.d(e,{WI:()=>M,Bq:()=>E,uw:()=>O,ZT:()=>D,Is:()=>R,so:()=>S});var n=i(369),r=i(6899),s=i(1572),o=i(1522),a=i(2526),l=i(1511),c=i(9666),h=i(970),u=i(2041),d=i(8868),f=i(9056),p=i(1258),m=i(1353),g=i(709),y=i(5842),b=i(4621);function v(t,e){}class _{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const w={dialogContainer:(0,g.X$)("dialogContainer",[(0,g.SB)("void, exit",(0,g.oB)({opacity:0,transform:"scale(0.7)"})),(0,g.SB)("enter",(0,g.oB)({transform:"none"})),(0,g.eR)("* => enter",(0,g.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,g.oB)({transform:"none",opacity:1}))),(0,g.eR)("* => void, * => exit",(0,g.jt)("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",(0,g.oB)({opacity:0})))])};let x=(()=>{class t extends r.en{constructor(t,e,i,n,r,o){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=i,this._config=r,this._focusMonitor=o,this._animationStateChanged=new s.vpe,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=n}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=(0,m.ht)(),i=this._elementRef.nativeElement;e&&e!==this._document.body&&e!==i&&!i.contains(e)||(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,m.ht)())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=(0,m.ht)();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(b.qV),s.Y36(s.sBO),s.Y36(l.K0,8),s.Y36(_),s.Y36(b.tE))},t.\u0275dir=s.lG2({type:t,viewQuery:function(t,e){if(1&t&&s.Gf(r.Pl,7),2&t){let t;s.iGM(t=s.CRH())&&(e._portalOutlet=t.first)}},features:[s.qOj]}),t})(),C=(()=>{class t extends x{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):"exit"!==t&&"void"!==t||this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&s.WFA("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(s.Ikx("id",e._id),s.uIk("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),s.d8E("@dialogContainer",e._state))},features:[s.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&s.YNc(0,v,0,0,"ng-template",0)},directives:[r.Pl],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[w.dialogContainer]}}),t})(),A=0;class S{constructor(t,e,i="mat-dialog-"+A++){this._overlayRef=t,this._containerInstance=e,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new c.x,this._afterClosed=new c.x,this._beforeClosed=new c.x,this._state=0,e._id=i,e._animationStateChanged.pipe((0,d.h)(t=>"opened"===t.state),(0,f.q)(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe((0,d.h)(t=>"closed"===t.state),(0,f.q)(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe((0,d.h)(t=>t.keyCode===y.hY&&!this.disableClose&&!(0,y.Vb)(t))).subscribe(t=>{t.preventDefault(),k(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():k(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe((0,d.h)(t=>"closing"===t.state),(0,f.q)(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function k(t,e,i){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(i)}const M=new s.OlP("MatDialogData"),E=new s.OlP("mat-dialog-default-options"),T=new s.OlP("mat-dialog-scroll-strategy"),L={provide:T,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.block()}};let I=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=i,this._parentDialog=n,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new c.x,this._afterOpenedAtThisLevel=new c.x,this._ariaHiddenElements=new Map,this.afterAllClosed=(0,h.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,p.O)(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new _)).id&&this.getDialogById(e.id);const i=this._createOverlay(e),n=this._attachDialogContainer(i,e),r=this._attachDialogContent(t,n,i,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),n._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new n.X_({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const i=s.zs3.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:_,useValue:e}]}),n=new r.C5(this._dialogContainerType,e.viewContainerRef,i,e.componentFactoryResolver);return t.attach(n).instance}_attachDialogContent(t,e,i,n){const o=new this._dialogRefConstructor(i,e,n.id);if(t instanceof s.Rgc)e.attachTemplatePortal(new r.UE(t,null,{$implicit:n.data,dialogRef:o}));else{const i=this._createInjector(n,o,e),s=e.attachComponentPortal(new r.C5(t,n.viewContainerRef,i));o.componentInstance=s.instance}return o.updateSize(n.width,n.height).updatePosition(n.position),o}_createInjector(t,e,i){const n=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:i},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return!t.direction||n&&n.get(a.Is,null,s.XFs.Optional)||r.push({provide:a.Is,useValue:{value:t.direction,change:(0,u.of)()}}),s.zs3.create({parent:n||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let i=e.length-1;i>-1;i--){let n=e[i];n===t||"SCRIPT"===n.nodeName||"STYLE"===n.nodeName||n.hasAttribute("aria-live")||(this._ariaHiddenElements.set(n,n.getAttribute("aria-hidden")),n.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(n.aV),s.Y36(s.zs3),s.Y36(void 0),s.Y36(void 0),s.Y36(n.Xj),s.Y36(void 0),s.Y36(s.DyG),s.Y36(s.DyG),s.Y36(s.OlP))},t.\u0275dir=s.lG2({type:t}),t})(),O=(()=>{class t extends I{constructor(t,e,i,n,r,s,o){super(t,e,n,s,o,r,S,C,M)}}return t.\u0275fac=function(e){return new(e||t)(s.LFG(n.aV),s.LFG(s.zs3),s.LFG(l.Ye,8),s.LFG(E,8),s.LFG(T),s.LFG(t,12),s.LFG(n.Xj))},t.\u0275prov=s.Yz7({token:t,factory:t.\u0275fac}),t})(),D=(()=>{class t{constructor(t,e,i){this.dialogRef=t,this._elementRef=e,this._dialog=i,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=function(t,e){let i=t.nativeElement.parentElement;for(;i&&!i.classList.contains("mat-dialog-container");)i=i.parentElement;return i?e.find(t=>t.id===i.id):null}(this._elementRef,this._dialog.openDialogs))}ngOnChanges(t){const e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)}_onButtonClick(t){k(this.dialogRef,0===t.screenX&&0===t.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(S,8),s.Y36(s.SBq),s.Y36(O))},t.\u0275dir=s.lG2({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(t,e){1&t&&s.NdJ("click",function(t){return e._onButtonClick(t)}),2&t&&s.uIk("aria-label",e.ariaLabel||null)("type",e.type)},inputs:{type:"type",dialogResult:["mat-dialog-close","dialogResult"],ariaLabel:["aria-label","ariaLabel"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[s.TTD]}),t})(),R=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({providers:[O,L],imports:[[n.U8,r.eL,o.BQ],o.BQ]}),t})()},7679:(t,e,i)=>{"use strict";i.d(e,{d:()=>o,t:()=>a});var n=i(9861),r=i(1522),s=i(1572);let o=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=(0,n.Ig)(t)}get inset(){return this._inset}set inset(t){this._inset=(0,n.Ig)(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(s.uIk("aria-orientation",e.vertical?"vertical":"horizontal"),s.ekj("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.BQ],r.BQ]}),t})()},5001:(t,e,i)=>{"use strict";i.d(e,{pp:()=>Y,To:()=>j,ib:()=>U,u4:()=>z,yz:()=>q,yK:()=>H});var n=i(1572),r=i(9861),s=i(9666),o=i(6042),a=i(4230);let l=0;const c=new n.OlP("CdkAccordion");let h=(()=>{class t{constructor(){this._stateChanges=new s.x,this._openCloseAllActions=new s.x,this.id="cdk-accordion-"+l++,this._multi=!1}get multi(){return this._multi}set multi(t){this._multi=(0,r.Ig)(t)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(t){this._stateChanges.next(t)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[n._Bn([{provide:c,useExisting:t}]),n.TTD]}),t})(),u=0,d=(()=>{class t{constructor(t,e,i){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=i,this._openCloseAllSubscription=o.w0.EMPTY,this.closed=new n.vpe,this.opened=new n.vpe,this.destroyed=new n.vpe,this.expandedChange=new n.vpe,this.id="cdk-accordion-child-"+u++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=i.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=(0,r.Ig)(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,r.Ig)(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(c,12),n.Y36(n.sBO),n.Y36(a.A8))},t.\u0275dir=n.lG2({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[n._Bn([{provide:c,useValue:void 0}])]}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();var p=i(6899),m=i(1511),g=i(1522),y=i(4621),b=i(6424),v=i(1258),_=i(8868),w=i(9056),x=i(5842),C=i(3490),A=i(4951),S=i(5446),k=i(709);const M=["body"];function E(t,e){}const T=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],L=["mat-expansion-panel-header","*","mat-action-row"];function I(t,e){if(1&t&&n._UZ(0,"span",2),2&t){const t=n.oxw();n.Q6J("@indicatorRotate",t._getExpandedState())}}const O=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],D=["mat-panel-title","mat-panel-description","*"],R=new n.OlP("MAT_ACCORDION"),P="225ms cubic-bezier(0.4,0.0,0.2,1)",Z={indicatorRotate:(0,k.X$)("indicatorRotate",[(0,k.SB)("collapsed, void",(0,k.oB)({transform:"rotate(0deg)"})),(0,k.SB)("expanded",(0,k.oB)({transform:"rotate(180deg)"})),(0,k.eR)("expanded <=> collapsed, void => collapsed",(0,k.jt)(P))]),bodyExpansion:(0,k.X$)("bodyExpansion",[(0,k.SB)("collapsed, void",(0,k.oB)({height:"0px",visibility:"hidden"})),(0,k.SB)("expanded",(0,k.oB)({height:"*",visibility:"visible"})),(0,k.eR)("expanded <=> collapsed, void => collapsed",(0,k.jt)(P))])};let F=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Rgc))},t.\u0275dir=n.lG2({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),N=0;const B=new n.OlP("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let U=(()=>{class t extends d{constructor(t,e,i,r,o,a,l){super(t,e,i),this._viewContainerRef=r,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new n.vpe,this.afterCollapse=new n.vpe,this._inputChanges=new s.x,this._headerId="mat-expansion-panel-header-"+N++,this._bodyAnimationDone=new s.x,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe((0,b.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=(0,r.Ig)(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe((0,v.O)(null),(0,_.h)(()=>this.expanded&&!this._portal),(0,w.q)(1)).subscribe(()=>{this._portal=new p.UE(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(R,12),n.Y36(n.sBO),n.Y36(a.A8),n.Y36(n.s_b),n.Y36(m.K0),n.Y36(C.Qb,8),n.Y36(B,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,F,5),2&t){let t;n.iGM(t=n.CRH())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&n.Gf(M,5),2&t){let t;n.iGM(t=n.CRH())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&n.ekj("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[n._Bn([{provide:R,useValue:void 0}]),n.qOj,n.TTD],ngContentSelectors:L,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(n.F$t(T),n.Hsn(0),n.TgZ(1,"div",0,1),n.NdJ("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),n.TgZ(3,"div",2),n.Hsn(4,1),n.YNc(5,E,0,0,"ng-template",3),n.qZA(),n.Hsn(6,2),n.qZA()),2&t&&(n.xp6(1),n.Q6J("@bodyExpansion",e._getExpandedState())("id",e.id),n.uIk("aria-labelledby",e._headerId),n.xp6(4),n.Q6J("cdkPortalOutlet",e._portal))},directives:[p.Pl],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[Z.bodyExpansion]},changeDetection:0}),t})(),q=(()=>{class t{constructor(t,e,i,n,r,s){this.panel=t,this._element=e,this._focusMonitor=i,this._changeDetectorRef=n,this._animationMode=s,this._parentChangeSubscription=o.w0.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe((0,_.h)(t=>!(!t.hideToggle&&!t.togglePosition))):A.E;this._parentChangeSubscription=(0,S.T)(t.opened,t.closed,a,t._inputChanges.pipe((0,_.h)(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe((0,_.h)(()=>t._containsFocus())).subscribe(()=>i.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case x.L_:case x.K5:(0,x.Vb)(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(U,1),n.Y36(n.SBq),n.Y36(y.tE),n.Y36(n.sBO),n.Y36(B,8),n.Y36(C.Qb,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(n.uIk("id",e.panel._headerId)("tabindex",e.disabled?-1:0)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),n.Udp("height",e._getHeaderHeight()),n.ekj("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},ngContentSelectors:D,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(n.F$t(O),n.TgZ(0,"span",0),n.Hsn(1),n.Hsn(2,1),n.Hsn(3,2),n.qZA(),n.YNc(4,I,1,1,"span",1)),2&t&&(n.xp6(4),n.Q6J("ngIf",e._showToggle()))},directives:[m.O5],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[Z.indicatorRotate]},changeDetection:0}),t})(),z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),t})(),Y=(()=>{class t extends h{constructor(){super(...arguments),this._ownHeaders=new n.n_E,this._hideToggle=!1,this.displayMode="default",this.togglePosition="after"}get hideToggle(){return this._hideToggle}set hideToggle(t){this._hideToggle=(0,r.Ig)(t)}ngAfterContentInit(){this._headers.changes.pipe((0,v.O)(this._headers)).subscribe(t=>{this._ownHeaders.reset(t.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new y.Em(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(t){this._keyManager.onKeydown(t)}_handleHeaderFocus(t){this._keyManager.updateActiveItem(t)}ngOnDestroy(){super.ngOnDestroy(),this._ownHeaders.destroy()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["mat-accordion"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,q,5),2&t){let t;n.iGM(t=n.CRH())&&(e._headers=t)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,e){2&t&&n.ekj("mat-accordion-multi",e.multi)},inputs:{multi:"multi",displayMode:"displayMode",togglePosition:"togglePosition",hideToggle:"hideToggle"},exportAs:["matAccordion"],features:[n._Bn([{provide:R,useExisting:t}]),n.qOj]}),t})(),j=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[m.ez,g.BQ,f,p.eL]]}),t})()},6283:(t,e,i)=>{"use strict";i.d(e,{G_:()=>K,TO:()=>F,KE:()=>$,Eo:()=>B,lN:()=>tt,bx:()=>z,R9:()=>V});var n=i(6337),r=i(1511),s=i(1572),o=i(1522),a=i(9861),l=i(9666),c=i(5446),h=i(5960),u=i(1258),d=i(9568),f=i(9056),p=i(709),m=i(3490),g=i(2526),y=i(1353);const b=["underline"],v=["connectionContainer"],_=["inputContainer"],w=["label"];function x(t,e){1&t&&(s.ynx(0),s.TgZ(1,"div",14),s._UZ(2,"div",15),s._UZ(3,"div",16),s._UZ(4,"div",17),s.qZA(),s.TgZ(5,"div",18),s._UZ(6,"div",15),s._UZ(7,"div",16),s._UZ(8,"div",17),s.qZA(),s.BQk())}function C(t,e){1&t&&(s.TgZ(0,"div",19),s.Hsn(1,1),s.qZA())}function A(t,e){if(1&t&&(s.ynx(0),s.Hsn(1,2),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.BQk()),2&t){const t=s.oxw(2);s.xp6(3),s.Oqu(t._control.placeholder)}}function S(t,e){1&t&&s.Hsn(0,3,["*ngSwitchCase","true"])}function k(t,e){1&t&&(s.TgZ(0,"span",23),s._uU(1," *"),s.qZA())}function M(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"label",20,21),s.NdJ("cdkObserveContent",function(){return s.CHM(t),s.oxw().updateOutlineGap()}),s.YNc(2,A,4,1,"ng-container",12),s.YNc(3,S,1,0,"ng-content",12),s.YNc(4,k,2,0,"span",22),s.qZA()}if(2&t){const t=s.oxw();s.ekj("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),s.Q6J("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),s.uIk("for",t._control.id)("aria-owns",t._control.id),s.xp6(2),s.Q6J("ngSwitchCase",!1),s.xp6(1),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function E(t,e){1&t&&(s.TgZ(0,"div",24),s.Hsn(1,4),s.qZA())}function T(t,e){if(1&t&&(s.TgZ(0,"div",25,26),s._UZ(2,"span",27),s.qZA()),2&t){const t=s.oxw();s.xp6(2),s.ekj("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function L(t,e){if(1&t&&(s.TgZ(0,"div"),s.Hsn(1,5),s.qZA()),2&t){const t=s.oxw();s.Q6J("@transitionMessages",t._subscriptAnimationState)}}function I(t,e){if(1&t&&(s.TgZ(0,"div",31),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.Q6J("id",t._hintLabelId),s.xp6(1),s.Oqu(t.hintLabel)}}function O(t,e){if(1&t&&(s.TgZ(0,"div",28),s.YNc(1,I,2,2,"div",29),s.Hsn(2,6),s._UZ(3,"div",30),s.Hsn(4,7),s.qZA()),2&t){const t=s.oxw();s.Q6J("@transitionMessages",t._subscriptAnimationState),s.xp6(1),s.Q6J("ngIf",t.hintLabel)}}const D=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],R=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"];let P=0;const Z=new s.OlP("MatError");let F=(()=>{class t{constructor(t,e){this.id="mat-error-"+P++,t||e.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(s.$8M("aria-live"),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(t,e){2&t&&s.uIk("id",e.id)},inputs:{id:"id"},features:[s._Bn([{provide:Z,useExisting:t}])]}),t})();const N={transitionMessages:(0,p.X$)("transitionMessages",[(0,p.SB)("enter",(0,p.oB)({opacity:1,transform:"translateY(0%)"})),(0,p.eR)("void => enter",[(0,p.oB)({opacity:0,transform:"translateY(-5px)"}),(0,p.jt)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t}),t})(),U=0;const q=new s.OlP("MatHint");let z=(()=>{class t{constructor(){this.align="start",this.id="mat-hint-"+U++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(t,e){2&t&&(s.uIk("id",e.id)("align",null),s.ekj("mat-form-field-hint-end","end"===e.align))},inputs:{align:"align",id:"id"},features:[s._Bn([{provide:q,useExisting:t}])]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-label"]]}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-placeholder"]]}),t})();const j=new s.OlP("MatPrefix"),G=new s.OlP("MatSuffix");let V=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["","matSuffix",""]],features:[s._Bn([{provide:G,useExisting:t}])]}),t})(),Q=0;class W{constructor(t){this._elementRef=t}}const J=(0,o.pj)(W,"primary"),X=new s.OlP("MAT_FORM_FIELD_DEFAULT_OPTIONS"),K=new s.OlP("MatFormField");let $=(()=>{class t extends J{constructor(t,e,i,n,r,s,o,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=n,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new l.x,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+Q++,this._labelId="mat-form-field-label-"+Q++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=(0,a.Ig)(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe((0,u.O)(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe((0,d.R)(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,d.R)(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),(0,c.T)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe((0,u.O)(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe((0,u.O)(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe((0,d.R)(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,(0,h.R)(this._label.nativeElement,"transitionend").pipe((0,f.q)(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,i=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),i&&t.push(i.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if("outline"!==this.appearance||!t||!t.children.length||!t.textContent.trim())return;if(!this._platform.isBrowser)return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,i=0;const n=this._connectionContainerRef.nativeElement,r=n.querySelectorAll(".mat-form-field-outline-start"),s=n.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=n.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.ez,o.BQ,n.Q8],o.BQ]}),t})()},7271:(t,e,i)=>{"use strict";i.d(e,{Il:()=>_,N6:()=>w,DX:()=>d});var n=i(1572),r=i(1522),s=i(9861),o=i(2526);const a=["*"],l=".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}\n";class c{constructor(){this.columnIndex=0,this.rowIndex=0}get rowCount(){return this.rowIndex+1}get rowspan(){const t=Math.max(...this.tracker);return t>1?this.rowCount+t-1:this.rowCount}update(t,e){this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map(t=>this._trackTile(t))}_trackTile(t){const e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new h(this.rowIndex,e)}_findMatchingGap(t){let e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)):(e=this.tracker.indexOf(0,this.columnIndex),-1!=e?(i=this._findGapEndIndex(e),this.columnIndex=e+1):(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)))}while(i-e{class t{constructor(t,e){this._element=t,this._gridList=e,this._rowspan=1,this._colspan=1}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=Math.round((0,s.su)(t))}get colspan(){return this._colspan}set colspan(t){this._colspan=Math.round((0,s.su)(t))}_setStyle(t,e){this._element.nativeElement.style[t]=e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(u,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-grid-tile"]],hostAttrs:[1,"mat-grid-tile"],hostVars:2,hostBindings:function(t,e){2&t&&n.uIk("rowspan",e.rowspan)("colspan",e.colspan)},inputs:{rowspan:"rowspan",colspan:"colspan"},exportAs:["matGridTile"],ngContentSelectors:a,decls:2,vars:0,consts:[[1,"mat-grid-tile-content"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.Hsn(1),n.qZA())},styles:[l],encapsulation:2,changeDetection:0}),t})();const f=/^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;class p{constructor(){this._rows=0,this._rowspan=0}init(t,e,i,n){this._gutterSize=v(t),this._rows=e.rowCount,this._rowspan=e.rowspan,this._cols=i,this._direction=n}getBaseTileSize(t,e){return`(${t}% - (${this._gutterSize} * ${e}))`}getTilePosition(t,e){return 0===e?"0":b(`(${t} + ${this._gutterSize}) * ${e}`)}getTileSize(t,e){return`(${t} * ${e}) + (${e-1} * ${this._gutterSize})`}setStyle(t,e,i){let n=100/this._cols,r=(this._cols-1)/this._cols;this.setColStyles(t,i,n,r),this.setRowStyles(t,e,n,r)}setColStyles(t,e,i,n){let r=this.getBaseTileSize(i,n);t._setStyle("rtl"===this._direction?"right":"left",this.getTilePosition(r,e)),t._setStyle("width",b(this.getTileSize(r,t.colspan)))}getGutterSpan(){return`${this._gutterSize} * (${this._rowspan} - 1)`}getTileSpan(t){return`${this._rowspan} * ${this.getTileSize(t,1)}`}getComputedHeight(){return null}}class m extends p{constructor(t){super(),this.fixedRowHeight=t}init(t,e,i,n){super.init(t,e,i,n),this.fixedRowHeight=v(this.fixedRowHeight),f.test(this.fixedRowHeight)}setRowStyles(t,e){t._setStyle("top",this.getTilePosition(this.fixedRowHeight,e)),t._setStyle("height",b(this.getTileSize(this.fixedRowHeight,t.rowspan)))}getComputedHeight(){return["height",b(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)]}reset(t){t._setListStyle(["height",null]),t._tiles&&t._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}class g extends p{constructor(t){super(),this._parseRatio(t)}setRowStyles(t,e,i,n){this.baseTileHeight=this.getBaseTileSize(i/this.rowHeightRatio,n),t._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,e)),t._setStyle("paddingTop",b(this.getTileSize(this.baseTileHeight,t.rowspan)))}getComputedHeight(){return["paddingBottom",b(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)]}reset(t){t._setListStyle(["paddingBottom",null]),t._tiles.forEach(t=>{t._setStyle("marginTop",null),t._setStyle("paddingTop",null)})}_parseRatio(t){const e=t.split(":");this.rowHeightRatio=parseFloat(e[0])/parseFloat(e[1])}}class y extends p{setRowStyles(t,e){let i=this.getBaseTileSize(100/this._rowspan,(this._rows-1)/this._rows);t._setStyle("top",this.getTilePosition(i,e)),t._setStyle("height",b(this.getTileSize(i,t.rowspan)))}reset(t){t._tiles&&t._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}function b(t){return`calc(${t})`}function v(t){return t.match(/([A-Za-z%]+)$/)?t:`${t}px`}let _=(()=>{class t{constructor(t,e){this._element=t,this._dir=e,this._gutter="1px"}get cols(){return this._cols}set cols(t){this._cols=Math.max(1,Math.round((0,s.su)(t)))}get gutterSize(){return this._gutter}set gutterSize(t){this._gutter=`${null==t?"":t}`}get rowHeight(){return this._rowHeight}set rowHeight(t){const e=`${null==t?"":t}`;e!==this._rowHeight&&(this._rowHeight=e,this._setTileStyler(this._rowHeight))}ngOnInit(){this._checkCols(),this._checkRowHeight()}ngAfterContentChecked(){this._layoutTiles()}_checkCols(){}_checkRowHeight(){this._rowHeight||this._setTileStyler("1:1")}_setTileStyler(t){this._tileStyler&&this._tileStyler.reset(this),this._tileStyler="fit"===t?new y:t&&t.indexOf(":")>-1?new g(t):new m(t)}_layoutTiles(){this._tileCoordinator||(this._tileCoordinator=new c);const t=this._tileCoordinator,e=this._tiles.filter(t=>!t._gridList||t._gridList===this),i=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,e),this._tileStyler.init(this.gutterSize,t,this.cols,i),e.forEach((e,i)=>{const n=t.positions[i];this._tileStyler.setStyle(e,n.row,n.col)}),this._setListStyle(this._tileStyler.getComputedHeight())}_setListStyle(t){t&&(this._element.nativeElement.style[t[0]]=t[1])}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(o.Is,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-grid-list"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,d,5),2&t){let t;n.iGM(t=n.CRH())&&(e._tiles=t)}},hostAttrs:[1,"mat-grid-list"],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("cols",e.cols)},inputs:{cols:"cols",gutterSize:"gutterSize",rowHeight:"rowHeight"},exportAs:["matGridList"],features:[n._Bn([{provide:u,useExisting:t}])],ngContentSelectors:a,decls:2,vars:0,template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div"),n.Hsn(1),n.qZA())},styles:[l],encapsulation:2,changeDetection:0}),t})(),w=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.uc,r.BQ],r.uc,r.BQ]}),t})()},3691:(t,e,i)=>{"use strict";i.d(e,{Hw:()=>D,Ps:()=>R});var n=i(1572),r=i(1522),s=i(9861),o=i(1511),a=i(2041),l=i(9647),c=i(6891),h=i(6042),u=i(343),d=i(1681),f=i(1816),p=i(849),m=i(7839),g=i(9056),y=i(9063),b=i(269);const v=["*"];function _(t){return Error(`Unable to find icon with the name "${t}"`)}function w(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function x(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class C{constructor(t,e,i){this.url=t,this.svgText=e,this.options=i}}let A=(()=>{class t{constructor(t,e,i,n){this._httpClient=t,this._sanitizer=e,this._errorHandler=n,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=i}addSvgIcon(t,e,i){return this.addSvgIconInNamespace("",t,e,i)}addSvgIconLiteral(t,e,i){return this.addSvgIconLiteralInNamespace("",t,e,i)}addSvgIconInNamespace(t,e,i,n){return this._addSvgIconConfig(t,e,new C(i,null,n))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,i,r){const s=this._sanitizer.sanitize(n.q3G.HTML,i);if(!s)throw x(i);return this._addSvgIconConfig(t,e,new C("",s,r))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,i){return this._addSvgIconSetConfig(t,new C(e,null,i))}addSvgIconSetLiteralInNamespace(t,e,i){const r=this._sanitizer.sanitize(n.q3G.HTML,e);if(!r)throw x(e);return this._addSvgIconSetConfig(t,new C("",r,i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(n.q3G.RESOURCE_URL,t);if(!e)throw w(t);const i=this._cachedIconsByUrl.get(e);return i?(0,a.of)(S(i)):this._loadSvgIconFromConfig(new C(t,null)).pipe((0,u.b)(t=>this._cachedIconsByUrl.set(e,t)),(0,d.U)(t=>S(t)))}getNamedSvgIcon(t,e=""){const i=k(e,t);let n=this._svgIconConfigs.get(i);if(n)return this._getSvgFromConfig(n);if(n=this._getIconConfigFromResolvers(e,t),n)return this._svgIconConfigs.set(i,n),this._getSvgFromConfig(n);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):(0,l._)(_(i))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?(0,a.of)(S(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe((0,d.U)(t=>S(t)))}_getSvgFromIconSetConfigs(t,e){const i=this._extractIconWithNameFromAnySet(t,e);if(i)return(0,a.of)(i);const r=e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe((0,f.K)(e=>{const i=this._sanitizer.sanitize(n.q3G.RESOURCE_URL,t.url);return this._errorHandler.handleError(new Error(`Loading icon set URL: ${i} failed: ${e.message}`)),(0,a.of)(null)})));return(0,c.D)(r).pipe((0,d.U)(()=>{const i=this._extractIconWithNameFromAnySet(t,e);if(!i)throw _(t);return i}))}_extractIconWithNameFromAnySet(t,e){for(let i=e.length-1;i>=0;i--){const n=e[i];if(n.svgText&&n.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(n),i=this._extractSvgIconFromSet(e,t,n.options);if(i)return i}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe((0,u.b)(e=>t.svgText=e),(0,d.U)(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?(0,a.of)(null):this._fetchIcon(t).pipe((0,u.b)(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,i){const n=t.querySelector(`[id="${e}"]`);if(!n)return null;const r=n.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,i);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),i);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,i)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const i=e.querySelector("svg");if(!i)throw Error(" tag not found");return i}_toSvgElement(t){const e=this._svgElementFromString(""),i=t.attributes;for(let n=0;nthis._inProgressUrlFetches.delete(o)),(0,m.B)());return this._inProgressUrlFetches.set(o,l),l}_addSvgIconConfig(t,e,i){return this._svgIconConfigs.set(k(t,e),i),this}_addSvgIconSetConfig(t,e){const i=this._iconSetConfigs.get(t);return i?i.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),L=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],I=L.map(t=>`[${t}]`).join(", "),O=/^url\(['"]?#(.*?)['"]?\)$/;let D=(()=>{class t extends E{constructor(t,e,i,n,r){super(t),this._iconRegistry=e,this._location=n,this._errorHandler=r,this._inline=!1,this._currentIconFetch=h.w0.EMPTY,i||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=(0,s.Ig)(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n{e.forEach(e=>{i.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(I),i=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let n=0;n{const r=e[n],s=r.getAttribute(t),o=s?s.match(O):null;if(o){let e=i.get(r);e||(e=[],i.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,i]=this._splitIconName(t);e&&(this._svgNamespace=e),i&&(this._svgName=i),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(i,e).pipe((0,g.q)(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${i}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(A),n.$8M("aria-hidden"),n.Y36(T),n.Y36(n.qLn))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(n.uIk("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),n.ekj("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[n.qOj],ngContentSelectors:v,decls:1,vars:0,template:function(t,e){1&t&&(n.F$t(),n.Hsn(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),R=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.BQ],r.BQ]}),t})()},6756:(t,e,i)=>{"use strict";i.d(e,{Jk:()=>_,Nt:()=>S,c:()=>k,D7:()=>v});var n=i(1353),r=i(1572),s=i(9861),o=i(4951),a=i(9666),l=i(5960),c=i(9610),h=i(9568),u=i(1511);const d=(0,n.i$)({passive:!0});let f=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return o.E;const e=(0,s.fI)(t),i=this._monitoredElements.get(e);if(i)return i.subject;const n=new a.x,r="cdk-text-field-autofilled",l=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>n.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>n.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",l,d),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:n,unlisten:()=>{e.removeEventListener("animationstart",l,d)}}),n}stopMonitoring(t){const e=(0,s.fI)(t),i=this._monitoredElements.get(e);i&&(i.unlisten(),i.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.t4),r.LFG(r.R0b))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.t4),r.LFG(r.R0b))},token:t,providedIn:"root"}),t})(),p=(()=>{class t{constructor(t,e,i,n){this._elementRef=t,this._platform=e,this._ngZone=i,this._destroyed=new a.x,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._document=n,this._textareaElement=this._elementRef.nativeElement,this._measuringClass=e.FIREFOX?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring"}get minRows(){return this._minRows}set minRows(t){this._minRows=(0,s.su)(t),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(t){this._maxRows=(0,s.su)(t),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(t){t=(0,s.Ig)(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(t){this._cachedPlaceholderHeight=void 0,this._textareaElement.placeholder=t,this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)}_setMaxHeight(){const t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{const t=this._getWindow();(0,l.R)(t,"resize").pipe((0,c.e)(16),(0,h.R)(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0))}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,this._textareaElement.parentNode.removeChild(t),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){this._textareaElement.classList.add(this._measuringClass);const t=this._textareaElement.scrollHeight-4;return this._textareaElement.classList.remove(this._measuringClass),t}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const t=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=t}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(t=!1){if(!this._enabled)return;if(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight)return;const e=this._elementRef.nativeElement,i=e.value;if(!t&&this._minRows===this._previousMinRows&&i===this._previousValue)return;const n=this._measureScrollHeight(),r=Math.max(n,this._cachedPlaceholderHeight||0);e.style.height=`${r}px`,this._ngZone.runOutsideAngular(()=>{"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(()=>this._scrollToCaretPosition(e)):setTimeout(()=>this._scrollToCaretPosition(e))}),this._previousValue=i,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(t){const{selectionStart:e,selectionEnd:i}=t,n=this._getDocument();this._destroyed.isStopped||n.activeElement!==t||t.setSelectionRange(e,i)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(n.t4),r.Y36(r.R0b),r.Y36(u.K0,8))},t.\u0275dir=r.lG2({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(t,e){1&t&&r.NdJ("input",function(){return e._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]}),t})(),m=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[n.ud]]}),t})();var g=i(1522),y=i(6283),b=i(6073);let v=(()=>{class t extends p{get matAutosizeMinRows(){return this.minRows}set matAutosizeMinRows(t){this.minRows=t}get matAutosizeMaxRows(){return this.maxRows}set matAutosizeMaxRows(t){this.maxRows=t}get matAutosize(){return this.enabled}set matAutosize(t){this.enabled=t}get matTextareaAutosize(){return this.enabled}set matTextareaAutosize(t){this.enabled=t}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=r.n5z(t)))(i||t)}}(),t.\u0275dir=r.lG2({type:t,selectors:[["textarea","mat-autosize",""],["textarea","matTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize","mat-autosize"],inputs:{cdkAutosizeMinRows:"cdkAutosizeMinRows",cdkAutosizeMaxRows:"cdkAutosizeMaxRows",matAutosizeMinRows:"matAutosizeMinRows",matAutosizeMaxRows:"matAutosizeMaxRows",matAutosize:["mat-autosize","matAutosize"],matTextareaAutosize:"matTextareaAutosize"},exportAs:["matTextareaAutosize"],features:[r.qOj]}),t})();const _=new r.OlP("MAT_INPUT_VALUE_ACCESSOR"),w=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let x=0;class C{constructor(t,e,i,n){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=i,this.ngControl=n}}const A=(0,g.FD)(C);let S=(()=>{class t extends A{constructor(t,e,i,r,s,o,l,c,h,u){super(o,r,s,i),this._elementRef=t,this._platform=e,this.ngControl=i,this._autofillMonitor=c,this._formField=u,this._uid="mat-input-"+x++,this.focused=!1,this.stateChanges=new a.x,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>(0,n.qK)().has(t));const d=this._elementRef.nativeElement,f=d.nodeName.toLowerCase();this._inputValueAccessor=l||d,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&h.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;e.value||0!==e.selectionStart||0!==e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===f,this._isTextarea="textarea"===f,this._isNativeSelect&&(this.controlType=d.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=(0,s.Ig)(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&(0,n.qK)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=(0,s.Ig)(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t===this.focused||this.readonly&&t||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const i=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(i!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=i,i?t.setAttribute("placeholder",i):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){w.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(n.t4),r.Y36(b.a5,10),r.Y36(b.F,8),r.Y36(b.sg,8),r.Y36(g.rD),r.Y36(_,10),r.Y36(f),r.Y36(r.R0b),r.Y36(y.G_,8))},t.\u0275dir=r.lG2({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&r.NdJ("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(r.Ikx("disabled",e.disabled)("required",e.required),r.uIk("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),r.ekj("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[r._Bn([{provide:y.Eo,useExisting:t}]),r.qOj,r.TTD]}),t})(),k=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[g.rD],imports:[[m,y.lN,g.BQ],m,y.lN]}),t})()},5250:(t,e,i)=>{"use strict";i.d(e,{i$:()=>v,Tg:()=>x,ie:()=>C});var n=i(1511),r=i(1572),s=i(1522),o=i(9861),a=i(9666),l=i(9568),c=(i(1258),i(4621),i(4230),i(5842),i(6073),i(7679));const h=["*"],u=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],d=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"];class f{}const p=(0,s.Id)((0,s.Kr)(f));class m{}const g=(0,s.Kr)(m),y=new r.OlP("MatList"),b=new r.OlP("MatNavList");let v=(()=>{class t extends p{constructor(t){super(),this._elementRef=t,this._stateChanges=new a.x,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[r._Bn([{provide:y,useExisting:t}]),r.qOj,r.TTD],ngContentSelectors:h,decls:1,vars:0,template:function(t,e){1&t&&(r.F$t(),r.Hsn(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),w=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),x=(()=>{class t extends g{constructor(t,e,i,n){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new a.x,this._disabled=!1,this._isInteractiveList=!!(i||n&&"action-list"===n._getListType()),this._list=i||n;const r=this._getHostElement();"button"!==r.nodeName.toLowerCase()||r.hasAttribute("type")||r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe((0,l.R)(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=(0,o.Ig)(t)}ngAfterContentInit(){(0,s.E0)(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(r.sBO),r.Y36(b,8),r.Y36(y,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,i){if(1&t&&(r.Suo(i,_,5),r.Suo(i,w,5),r.Suo(i,s.X2,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._avatar=t.first),r.iGM(t=r.CRH())&&(e._icon=t.first),r.iGM(t=r.CRH())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&r.ekj("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[r.qOj],ngContentSelectors:d,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(r.F$t(u),r.TgZ(0,"div",0),r._UZ(1,"div",1),r.Hsn(2),r.TgZ(3,"div",2),r.Hsn(4,1),r.qZA(),r.Hsn(5,2),r.qZA()),2&t&&(r.xp6(1),r.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[s.wG],encapsulation:2,changeDetection:0}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[s.uc,s.si,s.BQ,s.us,n.ez],s.uc,s.BQ,s.us,c.t]}),t})()},8055:(t,e,i)=>{"use strict";i.d(e,{VK:()=>N,OP:()=>R,Tx:()=>Y,p6:()=>z});var n=i(4621),r=i(9861),s=i(5842),o=i(1572),a=i(9666),l=i(6042),c=i(5446),h=i(2041),u=i(7911),d=i(1258),f=i(4324),p=i(9056),m=i(8868),g=i(9568),y=i(6493),b=i(709),v=i(6899),_=i(1511),w=i(1522),x=i(369),C=i(1353),A=i(4894),S=i(2526);const k=["mat-menu-item",""],M=["*"];function E(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.NdJ("keydown",function(e){return o.CHM(t),o.oxw()._handleKeydown(e)})("click",function(){return o.CHM(t),o.oxw().closed.emit("click")})("@transformMenu.start",function(e){return o.CHM(t),o.oxw()._onAnimationStart(e)})("@transformMenu.done",function(e){return o.CHM(t),o.oxw()._onAnimationDone(e)}),o.TgZ(1,"div",1),o.Hsn(2),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("id",t.panelId)("ngClass",t._classList)("@transformMenu",t._panelAnimationState),o.uIk("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby||null)("aria-describedby",t.ariaDescribedby||null)}}const T={transformMenu:(0,b.X$)("transformMenu",[(0,b.SB)("void",(0,b.oB)({opacity:0,transform:"scale(0.8)"})),(0,b.eR)("void => enter",(0,b.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,b.oB)({opacity:1,transform:"scale(1)"}))),(0,b.eR)("* => void",(0,b.jt)("100ms 25ms linear",(0,b.oB)({opacity:0})))]),fadeInItems:(0,b.X$)("fadeInItems",[(0,b.SB)("showing",(0,b.oB)({opacity:1})),(0,b.eR)("void => *",[(0,b.oB)({opacity:0}),(0,b.jt)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},L=new o.OlP("MatMenuContent"),I=new o.OlP("MAT_MENU_PANEL");class O{}const D=(0,w.Kr)((0,w.Id)(O));let R=(()=>{class t extends D{constructor(t,e,i,n){super(),this._elementRef=t,this._focusMonitor=i,this._parentMenu=n,this.role="menuitem",this._hovered=new a.x,this._focused=new a.x,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.addItem&&n.addItem(this)}focus(t,e){this._focusMonitor&&t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){var t,e;const i=this._elementRef.nativeElement.cloneNode(!0),n=i.querySelectorAll("mat-icon, .material-icons");for(let r=0;r{class t{constructor(t,e,i){this._elementRef=t,this._ngZone=e,this._defaultOptions=i,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._directDescendantItems=new o.n_E,this._tabSubscription=l.w0.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new a.x,this.overlayPanelClass=this._defaultOptions.overlayPanelClass||"",this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new o.vpe,this.close=this.closed,this.panelId="mat-menu-panel-"+Z++}get xPosition(){return this._xPosition}set xPosition(t){this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=(0,r.Ig)(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=(0,r.Ig)(t)}set panelClass(t){const e=this._previousPanelClass;e&&e.length&&e.split(" ").forEach(t=>{this._classList[t]=!1}),this._previousPanelClass=t,t&&t.length&&(t.split(" ").forEach(t=>{this._classList[t]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new n.Em(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe((0,d.O)(this._directDescendantItems),(0,f.w)(t=>(0,c.T)(...t.map(t=>t._focused)))).subscribe(t=>this._keyManager.updateActiveItem(t))}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe((0,d.O)(this._directDescendantItems),(0,f.w)(t=>(0,c.T)(...t.map(t=>t._hovered))))}addItem(t){}removeItem(t){}_handleKeydown(t){const e=t.keyCode,i=this._keyManager;switch(e){case s.hY:(0,s.Vb)(t)||(t.preventDefault(),this.closed.emit("keydown"));break;case s.oh:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case s.SV:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==s.LH&&e!==s.JH||i.setFocusOrigin("keyboard"),i.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.pipe((0,p.q)(1)).subscribe(()=>this._focusFirstItem(t)):this._focusFirstItem(t)}_focusFirstItem(t){const e=this._keyManager;if(e.setFocusOrigin(t).setFirstItemActive(),!e.activeItem&&this._directDescendantItems.length){let t=this._directDescendantItems.first._getHostElement().parentElement;for(;t;){if("menu"===t.getAttribute("role")){t.focus();break}t=t.parentElement}}}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${Math.min(4+t,24)}`,i=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));i&&i!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}setPositionClasses(t=this.xPosition,e=this.yPosition){const i=this._classList;i["mat-menu-before"]="before"===t,i["mat-menu-after"]="after"===t,i["mat-menu-above"]="above"===e,i["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1}_onAnimationStart(t){this._isAnimating=!0,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe((0,d.O)(this._allItems)).subscribe(t=>{this._directDescendantItems.reset(t.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(P))},t.\u0275dir=o.lG2({type:t,contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,L,5),o.Suo(i,R,5),o.Suo(i,R,4)),2&t){let t;o.iGM(t=o.CRH())&&(e.lazyContent=t.first),o.iGM(t=o.CRH())&&(e._allItems=t),o.iGM(t=o.CRH())&&(e.items=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(o.Rgc,5),2&t){let t;o.iGM(t=o.CRH())&&(e.templateRef=t.first)}},inputs:{backdropClass:"backdropClass",xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{closed:"closed",close:"close"}}),t})(),N=(()=>{class t extends F{constructor(t,e,i){super(t,e,i)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(P))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(t,e){2&t&&o.uIk("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[o._Bn([{provide:I,useExisting:t}]),o.qOj],ngContentSelectors:M,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,E,3,6,"ng-template"))},directives:[_.mk],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]{pointer-events:none}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:"";display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n'],encapsulation:2,data:{animation:[T.transformMenu,T.fadeInItems]},changeDetection:0}),t})();const B=new o.OlP("mat-menu-scroll-strategy"),U={provide:B,deps:[x.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},q=(0,C.i$)({passive:!0});let z=(()=>{class t{constructor(t,e,i,r,s,a,c,h){this._overlay=t,this._element=e,this._viewContainerRef=i,this._menuItemInstance=a,this._dir=c,this._focusMonitor=h,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=l.w0.EMPTY,this._hoverSubscription=l.w0.EMPTY,this._menuCloseSubscription=l.w0.EMPTY,this._handleTouchStart=t=>{(0,n.yG)(t)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new o.vpe,this.onMenuOpen=this.menuOpened,this.menuClosed=new o.vpe,this.onMenuClose=this.menuClosed,this._scrollStrategy=r,this._parentMaterialMenu=s instanceof F?s:void 0,e.nativeElement.addEventListener("touchstart",this._handleTouchStart,q),a&&(a._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}get menu(){return this._menu}set menu(t){t!==this._menu&&(this._menu=t,this._menuCloseSubscription.unsubscribe(),t&&(this._menuCloseSubscription=t.close.subscribe(t=>{this._destroyMenu(t),"click"!==t&&"tab"!==t||!this._parentMaterialMenu||this._parentMaterialMenu.closed.emit(t)})))}ngAfterContentInit(){this._checkMenu(),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,q),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;this._checkMenu();const t=this._createOverlay(),e=t.getConfig();this._setPosition(e.positionStrategy),e.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,t.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof F&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t,e){this._focusMonitor&&t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}updatePosition(){var t;null===(t=this._overlayRef)||void 0===t||t.updatePosition()}_destroyMenu(t){if(!this._overlayRef||!this.menuOpen)return;const e=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),!this.restoreFocus||"keydown"!==t&&this._openedBy&&this.triggersSubmenu()||this.focus(this._openedBy),this._openedBy=void 0,e instanceof F?(e._resetAnimation(),e.lazyContent?e._animationDone.pipe((0,m.h)(t=>"void"===t.toState),(0,p.q)(1),(0,g.R)(e.lazyContent._attached)).subscribe({next:()=>e.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),e.lazyContent&&e.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this.menu.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){}_createOverlay(){if(!this._overlayRef){const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(){return new x.X_({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:this.menu.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,i]="before"===this.menu.xPosition?["end","start"]:["start","end"],[n,r]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[s,o]=[n,r],[a,l]=[e,i],c=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",i=a="end"===e?"start":"end",c="bottom"===n?8:-8):this.menu.overlapTrigger||(s="top"===n?"bottom":"top",o="top"===r?"bottom":"top"),t.withPositions([{originX:e,originY:s,overlayX:a,overlayY:n,offsetY:c},{originX:i,originY:s,overlayX:l,overlayY:n,offsetY:c},{originX:e,originY:o,overlayX:a,overlayY:r,offsetY:-c},{originX:i,originY:o,overlayX:l,overlayY:r,offsetY:-c}])}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments(),i=this._parentMaterialMenu?this._parentMaterialMenu.closed:(0,h.of)(),n=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe((0,m.h)(t=>t!==this._menuItemInstance),(0,m.h)(()=>this._menuOpen)):(0,h.of)();return(0,c.T)(t,i,n,e)}_handleMousedown(t){(0,n.X6)(t)||(this._openedBy=0===t.button?"mouse":void 0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;e!==s.K5&&e!==s.L_||(this._openedBy="keyboard"),this.triggersSubmenu()&&(e===s.SV&&"ltr"===this.dir||e===s.oh&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe((0,m.h)(t=>t===this._menuItemInstance&&!t.disabled),(0,y.g)(0,u.E)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof F&&this.menu._isAnimating?this.menu._animationDone.pipe((0,p.q)(1),(0,y.g)(0,u.E),(0,g.R)(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(){return this._portal&&this._portal.templateRef===this.menu.templateRef||(this._portal=new v.UE(this.menu.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.aV),o.Y36(o.SBq),o.Y36(o.s_b),o.Y36(B),o.Y36(I,8),o.Y36(R,10),o.Y36(S.Is,8),o.Y36(n.tE))},t.\u0275dir=o.lG2({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:["aria-haspopup","true",1,"mat-menu-trigger"],hostVars:2,hostBindings:function(t,e){1&t&&o.NdJ("mousedown",function(t){return e._handleMousedown(t)})("keydown",function(t){return e._handleKeydown(t)})("click",function(t){return e._handleClick(t)}),2&t&&o.uIk("aria-expanded",e.menuOpen||null)("aria-controls",e.menuOpen?e.menu.panelId:null)},inputs:{restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"],_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[U],imports:[w.BQ]}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[U],imports:[[_.ez,w.BQ,w.si,x.U8,H],A.ZD,w.BQ,H]}),t})()},3005:(t,e,i)=>{"use strict";i.d(e,{NW:()=>A,ye:()=>b,TU:()=>S});var n=i(1511),r=i(1572),s=i(1522),o=i(5980),a=i(4786),l=i(6828),c=i(9861),h=i(9666),u=i(6283);function d(t,e){if(1&t&&(r.TgZ(0,"mat-option",19),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t),r.xp6(1),r.hij(" ",t," ")}}function f(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-form-field",16),r.TgZ(1,"mat-select",17),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw(2)._changePageSize(e.value)}),r.YNc(2,d,2,2,"mat-option",18),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("appearance",t._formFieldAppearance)("color",t.color),r.xp6(1),r.Q6J("value",t.pageSize)("disabled",t.disabled)("aria-label",t._intl.itemsPerPageLabel),r.xp6(1),r.Q6J("ngForOf",t._displayedPageSizeOptions)}}function p(t,e){if(1&t&&(r.TgZ(0,"div",20),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.pageSize)}}function m(t,e){if(1&t&&(r.TgZ(0,"div",12),r.TgZ(1,"div",13),r._uU(2),r.qZA(),r.YNc(3,f,3,6,"mat-form-field",14),r.YNc(4,p,2,1,"div",15),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.hij(" ",t._intl.itemsPerPageLabel," "),r.xp6(1),r.Q6J("ngIf",t._displayedPageSizeOptions.length>1),r.xp6(1),r.Q6J("ngIf",t._displayedPageSizeOptions.length<=1)}}function g(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",21),r.NdJ("click",function(){return r.CHM(t),r.oxw().firstPage()}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",22),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t._intl.firstPageLabel)("matTooltipDisabled",t._previousButtonsDisabled())("matTooltipPosition","above")("disabled",t._previousButtonsDisabled()),r.uIk("aria-label",t._intl.firstPageLabel)}}function y(t,e){if(1&t){const t=r.EpF();r.O4$(),r.kcU(),r.TgZ(0,"button",23),r.NdJ("click",function(){return r.CHM(t),r.oxw().lastPage()}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",24),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t._intl.lastPageLabel)("matTooltipDisabled",t._nextButtonsDisabled())("matTooltipPosition","above")("disabled",t._nextButtonsDisabled()),r.uIk("aria-label",t._intl.lastPageLabel)}}let b=(()=>{class t{constructor(){this.changes=new h.x,this.itemsPerPageLabel="Items per page:",this.nextPageLabel="Next page",this.previousPageLabel="Previous page",this.firstPageLabel="First page",this.lastPageLabel="Last page",this.getRangeLabel=(t,e,i)=>{if(0==i||0==e)return`0 of ${i}`;const n=t*e;return`${n+1} \u2013 ${n<(i=Math.max(i,0))?Math.min(n+e,i):n+e} of ${i}`}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const v={provide:b,deps:[[new r.FiY,new r.tp0,b]],useFactory:function(t){return t||new b}},_=new r.OlP("MAT_PAGINATOR_DEFAULT_OPTIONS");class w{}const x=(0,s.Id)((0,s.dB)(w));let C=(()=>{class t extends x{constructor(t,e,i){if(super(),this._intl=t,this._changeDetectorRef=e,this._pageIndex=0,this._length=0,this._pageSizeOptions=[],this._hidePageSize=!1,this._showFirstLastButtons=!1,this.page=new r.vpe,this._intlChanges=t.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),i){const{pageSize:t,pageSizeOptions:e,hidePageSize:n,showFirstLastButtons:r}=i;null!=t&&(this._pageSize=t),null!=e&&(this._pageSizeOptions=e),null!=n&&(this._hidePageSize=n),null!=r&&(this._showFirstLastButtons=r)}}get pageIndex(){return this._pageIndex}set pageIndex(t){this._pageIndex=Math.max((0,c.su)(t),0),this._changeDetectorRef.markForCheck()}get length(){return this._length}set length(t){this._length=(0,c.su)(t),this._changeDetectorRef.markForCheck()}get pageSize(){return this._pageSize}set pageSize(t){this._pageSize=Math.max((0,c.su)(t),0),this._updateDisplayedPageSizeOptions()}get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(t){this._pageSizeOptions=(t||[]).map(t=>(0,c.su)(t)),this._updateDisplayedPageSizeOptions()}get hidePageSize(){return this._hidePageSize}set hidePageSize(t){this._hidePageSize=(0,c.Ig)(t)}get showFirstLastButtons(){return this._showFirstLastButtons}set showFirstLastButtons(t){this._showFirstLastButtons=(0,c.Ig)(t)}ngOnInit(){this._initialized=!0,this._updateDisplayedPageSizeOptions(),this._markInitialized()}ngOnDestroy(){this._intlChanges.unsubscribe()}nextPage(){if(!this.hasNextPage())return;const t=this.pageIndex;this.pageIndex++,this._emitPageEvent(t)}previousPage(){if(!this.hasPreviousPage())return;const t=this.pageIndex;this.pageIndex--,this._emitPageEvent(t)}firstPage(){if(!this.hasPreviousPage())return;const t=this.pageIndex;this.pageIndex=0,this._emitPageEvent(t)}lastPage(){if(!this.hasNextPage())return;const t=this.pageIndex;this.pageIndex=this.getNumberOfPages()-1,this._emitPageEvent(t)}hasPreviousPage(){return this.pageIndex>=1&&0!=this.pageSize}hasNextPage(){const t=this.getNumberOfPages()-1;return this.pageIndext-e),this._changeDetectorRef.markForCheck())}_emitPageEvent(t){this.page.emit({previousPageIndex:t,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(b),r.Y36(r.sBO),r.Y36(void 0))},t.\u0275dir=r.lG2({type:t,inputs:{pageIndex:"pageIndex",length:"length",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions",hidePageSize:"hidePageSize",showFirstLastButtons:"showFirstLastButtons",color:"color"},outputs:{page:"page"},features:[r.qOj]}),t})(),A=(()=>{class t extends C{constructor(t,e,i){super(t,e,i),i&&null!=i.formFieldAppearance&&(this._formFieldAppearance=i.formFieldAppearance)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(b),r.Y36(r.sBO),r.Y36(_,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-paginator"],inputs:{disabled:"disabled"},exportAs:["matPaginator"],features:[r.qOj],decls:14,vars:14,consts:[[1,"mat-paginator-outer-container"],[1,"mat-paginator-container"],["class","mat-paginator-page-size",4,"ngIf"],[1,"mat-paginator-range-actions"],[1,"mat-paginator-range-label"],["mat-icon-button","","type","button","class","mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-previous",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["viewBox","0 0 24 24","focusable","false",1,"mat-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-next",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["mat-icon-button","","type","button","class","mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],[1,"mat-paginator-page-size"],[1,"mat-paginator-page-size-label"],["class","mat-paginator-page-size-select",3,"appearance","color",4,"ngIf"],["class","mat-paginator-page-size-value",4,"ngIf"],[1,"mat-paginator-page-size-select",3,"appearance","color"],[3,"value","disabled","aria-label","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"mat-paginator-page-size-value"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,m,5,3,"div",2),r.TgZ(3,"div",3),r.TgZ(4,"div",4),r._uU(5),r.qZA(),r.YNc(6,g,3,5,"button",5),r.TgZ(7,"button",6),r.NdJ("click",function(){return e.previousPage()}),r.O4$(),r.TgZ(8,"svg",7),r._UZ(9,"path",8),r.qZA(),r.qZA(),r.kcU(),r.TgZ(10,"button",9),r.NdJ("click",function(){return e.nextPage()}),r.O4$(),r.TgZ(11,"svg",7),r._UZ(12,"path",10),r.qZA(),r.qZA(),r.YNc(13,y,3,5,"button",11),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",!e.hidePageSize),r.xp6(3),r.hij(" ",e._intl.getRangeLabel(e.pageIndex,e.pageSize,e.length)," "),r.xp6(1),r.Q6J("ngIf",e.showFirstLastButtons),r.xp6(1),r.Q6J("matTooltip",e._intl.previousPageLabel)("matTooltipDisabled",e._previousButtonsDisabled())("matTooltipPosition","above")("disabled",e._previousButtonsDisabled()),r.uIk("aria-label",e._intl.previousPageLabel),r.xp6(3),r.Q6J("matTooltip",e._intl.nextPageLabel)("matTooltipDisabled",e._nextButtonsDisabled())("matTooltipPosition","above")("disabled",e._nextButtonsDisabled()),r.uIk("aria-label",e._intl.nextPageLabel),r.xp6(3),r.Q6J("ngIf",e.showFirstLastButtons))},directives:[n.O5,o.lW,l.gM,u.KE,a.gD,n.sg,s.ey],styles:[".mat-paginator{display:block}.mat-paginator-outer-container{display:flex}.mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}.mat-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-paginator-page-size{margin-right:0;margin-left:8px}.mat-paginator-page-size-label{margin:0 4px}.mat-paginator-page-size-select{margin:6px 4px 0 4px;width:56px}.mat-paginator-page-size-select.mat-form-field-appearance-outline{width:64px}.mat-paginator-page-size-select.mat-form-field-appearance-fill{width:64px}.mat-paginator-range-label{margin:0 32px 0 24px}.mat-paginator-range-actions{display:flex;align-items:center}.mat-paginator-icon{width:28px;fill:currentColor}[dir=rtl] .mat-paginator-icon{transform:rotate(180deg)}\n"],encapsulation:2,changeDetection:0}),t})(),S=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[v],imports:[[n.ez,o.ot,a.LD,l.AV,s.BQ]]}),t})()},5994:(t,e,i)=>{"use strict";i.d(e,{pW:()=>g,Cv:()=>b});var n=i(1572),r=i(1511),s=i(1522),o=i(9861),a=i(3490),l=i(6042),c=i(5960),h=i(8868);const u=["primaryValueBar"];class d{constructor(t){this._elementRef=t}}const f=(0,s.pj)(d,"primary"),p=new n.OlP("mat-progress-bar-location",{providedIn:"root",factory:function(){const t=(0,n.f3M)(r.K0),e=t?t.location:null;return{getPathname:()=>e?e.pathname+e.search:""}}});let m=0,g=(()=>{class t extends f{constructor(t,e,i,r){super(t),this._elementRef=t,this._ngZone=e,this._animationMode=i,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new n.vpe,this._animationEndSubscription=l.w0.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+m++;const s=r?r.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${s}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===i}get value(){return this._value}set value(t){this._value=y((0,o.su)(t)||0)}get bufferValue(){return this._bufferValue}set bufferValue(t){this._bufferValue=y(t||0)}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const t=this._primaryValueBar.nativeElement;this._animationEndSubscription=(0,c.R)(t,"transitionend").pipe((0,h.h)(e=>e.target===t)).subscribe(()=>{"determinate"!==this.mode&&"buffer"!==this.mode||this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(a.Qb,8),n.Y36(p,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-progress-bar"]],viewQuery:function(t,e){if(1&t&&n.Gf(u,5),2&t){let t;n.iGM(t=n.CRH())&&(e._primaryValueBar=t.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(t,e){2&t&&(n.uIk("aria-valuenow","indeterminate"===e.mode||"query"===e.mode?null:e.value)("mode",e.mode),n.ekj("_mat-animation-noopable",e._isNoopAnimation))},inputs:{color:"color",mode:"mode",value:"value",bufferValue:"bufferValue"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[n.qOj],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.O4$(),n.TgZ(1,"svg",1),n.TgZ(2,"defs"),n.TgZ(3,"pattern",2),n._UZ(4,"circle",3),n.qZA(),n.qZA(),n._UZ(5,"rect",4),n.qZA(),n.kcU(),n._UZ(6,"div",5),n._UZ(7,"div",6,7),n._UZ(9,"div",8),n.qZA()),2&t&&(n.xp6(3),n.Q6J("id",e.progressbarId),n.xp6(2),n.uIk("fill",e._rectangleFillValue),n.xp6(1),n.Q6J("ngStyle",e._bufferTransform()),n.xp6(1),n.Q6J("ngStyle",e._primaryTransform()))},directives:[r.PC],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}\n'],encapsulation:2,changeDetection:0}),t})();function y(t,e=0,i=100){return Math.max(e,Math.min(i,t))}let b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez,s.BQ],s.BQ]}),t})()},7806:(t,e,i)=>{"use strict";i.d(e,{Cq:()=>v,$g:()=>b});var n=i(1572),r=i(1511),s=i(1522),o=i(9861),a=i(1353),l=i(3490);function c(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function h(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function u(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function d(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}const f=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n";class p{constructor(t){this._elementRef=t}}const m=(0,s.pj)(p,"primary"),g=new n.OlP("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});let y=(()=>{class t extends m{constructor(e,i,n,r,s){super(e),this._elementRef=e,this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const o=t._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),o.has(n.head)||o.set(n.head,new Set([100])),this._fallbackAnimation=i.EDGE||i.TRIDENT,this._noopAnimations="NoopAnimations"===r&&!!s&&!s._forceAnimations,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=(0,o.su)(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=(0,o.su)(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,(0,o.su)(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=(0,a.kV)(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const e=this._styleRoot,i=this._diameter,n=t._diameters;let r=n.get(e);if(!r||!r.has(i)){const t=this._document.createElement("style");t.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),t.textContent=this._getAnimationText(),e.appendChild(t),r||(r=new Set,n.set(e,r)),r.add(i)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(a.t4),n.Y36(r.K0,8),n.Y36(l.Qb,8),n.Y36(g))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(n.uIk("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.ekj("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[n.qOj],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"svg",0),n.YNc(1,c,1,9,"circle",1),n.YNc(2,h,1,7,"circle",2),n.qZA()),2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.Q6J("ngSwitch","indeterminate"===e.mode),n.uIk("viewBox",e._getViewBox()),n.xp6(1),n.Q6J("ngSwitchCase",!0),n.xp6(1),n.Q6J("ngSwitchCase",!1))},directives:[r.RF,r.n9],styles:[f],encapsulation:2,changeDetection:0}),t._diameters=new WeakMap,t})(),b=(()=>{class t extends y{constructor(t,e,i,n,r){super(t,e,i,n,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(a.t4),n.Y36(r.K0,8),n.Y36(l.Qb,8),n.Y36(g))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.ekj("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[n.qOj],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"svg",0),n.YNc(1,u,1,9,"circle",1),n.YNc(2,d,1,7,"circle",2),n.qZA()),2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.Q6J("ngSwitch","indeterminate"===e.mode),n.uIk("viewBox",e._getViewBox()),n.xp6(1),n.Q6J("ngSwitchCase",!0),n.xp6(1),n.Q6J("ngSwitchCase",!1))},directives:[r.RF,r.n9],styles:[f],encapsulation:2,changeDetection:0}),t})(),v=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.BQ,r.ez],s.BQ]}),t})()},4810:(t,e,i)=>{"use strict";i.d(e,{U0:()=>C,VQ:()=>v,Fk:()=>A});var n=i(1572),r=i(1522),s=i(9861),o=i(6073),a=i(3490),l=i(4621),c=i(4230);const h=["input"],u=function(t){return{enterDuration:t}},d=["*"],f=new n.OlP("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let p=0;const m={provide:o.JU,useExisting:(0,n.Gpc)(()=>v),multi:!0};class g{constructor(t,e){this.source=t,this.value=e}}const y=new n.OlP("MatRadioGroup");let b=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+p++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new n.vpe}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=(0,s.Ig)(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new g(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO))},t.\u0275dir=n.lG2({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),v=(()=>{class t extends b{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,C,5),2&t){let t;n.iGM(t=n.CRH())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[n._Bn([m,{provide:y,useExisting:t}]),n.qOj]}),t})();class _{constructor(t){this._elementRef=t}}const w=(0,r.Kr)((0,r.sb)(_));let x=(()=>{class t extends w{constructor(t,e,i,r,o,a,l,c){super(e),this._changeDetector=i,this._focusMonitor=r,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++p,this.id=this._uniqueId,this.change=new n.vpe,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=(0,s.su)(c,0)),this._removeUniqueSelectionListener=o.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=(0,s.Ig)(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled((0,s.Ig)(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=(0,s.Ig)(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new g(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputChange(t){t.stopPropagation();const e=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),e&&this.radioGroup._emitChangeEvent())}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(b),n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(l.tE),n.Y36(c.A8),n.Y36(String),n.Y36(void 0),n.Y36(String))},t.\u0275dir=n.lG2({type:t,viewQuery:function(t,e){if(1&t&&n.Gf(h,5),2&t){let t;n.iGM(t=n.CRH())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[n.qOj]}),t})(),C=(()=>{class t extends x{constructor(t,e,i,n,r,s,o,a){super(t,e,i,n,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(y,8),n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(l.tE),n.Y36(c.A8),n.Y36(a.Qb,8),n.Y36(f,8),n.$8M("tabindex"))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&n.NdJ("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(n.uIk("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),n.ekj("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[n.qOj],ngContentSelectors:d,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(n.F$t(),n.TgZ(0,"label",0,1),n.TgZ(2,"span",2),n._UZ(3,"span",3),n._UZ(4,"span",4),n.TgZ(5,"input",5,6),n.NdJ("change",function(t){return e._onInputChange(t)})("click",function(t){return e._onInputClick(t)}),n.qZA(),n.TgZ(7,"span",7),n._UZ(8,"span",8),n.qZA(),n.qZA(),n.TgZ(9,"span",9),n.TgZ(10,"span",10),n._uU(11,"\xa0"),n.qZA(),n.Hsn(12),n.qZA(),n.qZA()),2&t){const t=n.MAs(1);n.uIk("for",e.inputId),n.xp6(5),n.Q6J("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),n.uIk("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),n.xp6(2),n.Q6J("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",n.VKq(18,u,e._noopAnimations?0:150)),n.xp6(2),n.ekj("mat-radio-label-before","before"==e.labelPosition)}},directives:[r.wG],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:transform ease 280ms,background-color ease 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5)}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})(),A=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.si,r.BQ],r.BQ]}),t})()},4786:(t,e,i)=>{"use strict";i.d(e,{gD:()=>V,LD:()=>Q,$L:()=>j});var n=i(369),r=i(1511),s=i(1572),o=i(1522),a=i(6283),l=i(4894),c=i(4621),h=i(9861),u=i(4230),d=i(5842),f=i(9666),p=i(970),m=i(5446),g=i(1258),y=i(4324),b=i(9056),v=i(8868),_=i(1681),w=i(6424),x=i(9568),C=i(709),A=i(2526),S=i(6073);const k=["trigger"],M=["panel"];function E(t,e){if(1&t&&(s.TgZ(0,"span",8),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.placeholder)}}function T(t,e){if(1&t&&(s.TgZ(0,"span",12),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.triggerValue)}}function L(t,e){1&t&&s.Hsn(0,0,["*ngSwitchCase","true"])}function I(t,e){if(1&t&&(s.TgZ(0,"span",9),s.YNc(1,T,2,1,"span",10),s.YNc(2,L,1,0,"ng-content",11),s.qZA()),2&t){const t=s.oxw();s.Q6J("ngSwitch",!!t.customTrigger),s.xp6(2),s.Q6J("ngSwitchCase",!0)}}function O(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",13),s.TgZ(1,"div",14,15),s.NdJ("@transformPanel.done",function(e){return s.CHM(t),s.oxw()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return s.CHM(t),s.oxw()._handleKeydown(e)}),s.Hsn(3,1),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("@transformPanelWrap",void 0),s.xp6(1),s.Gre("mat-select-panel ",t._getPanelTheme(),""),s.Udp("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),s.Q6J("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),s.uIk("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const D=[[["mat-select-trigger"]],"*"],R=["mat-select-trigger","*"],P={transformPanelWrap:(0,C.X$)("transformPanelWrap",[(0,C.eR)("* => void",(0,C.IO)("@transformPanel",[(0,C.pV)()],{optional:!0}))]),transformPanel:(0,C.X$)("transformPanel",[(0,C.SB)("void",(0,C.oB)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),(0,C.SB)("showing",(0,C.oB)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),(0,C.SB)("showing-multiple",(0,C.oB)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),(0,C.eR)("void => *",(0,C.jt)("120ms cubic-bezier(0, 0, 0.2, 1)")),(0,C.eR)("* => void",(0,C.jt)("100ms 25ms linear",(0,C.oB)({opacity:0})))])};let Z=0;const F=256,N=new s.OlP("mat-select-scroll-strategy"),B=new s.OlP("MAT_SELECT_CONFIG"),U={provide:N,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class q{constructor(t,e){this.source=t,this.value=e}}class z{constructor(t,e,i,n,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=i,this._parentFormGroup=n,this.ngControl=r}}const H=(0,o.Kr)((0,o.sb)((0,o.Id)((0,o.FD)(z)))),Y=new s.OlP("MatSelectTrigger");let j=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-select-trigger"]],features:[s._Bn([{provide:Y,useExisting:t}])]}),t})(),G=(()=>{class t extends H{constructor(t,e,i,n,r,o,a,l,c,h,u,d,w,x){var C,A,S;super(r,n,a,l,h),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=i,this._dir=o,this._parentFormField=c,this.ngControl=h,this._liveAnnouncer=w,this._defaultOptions=x,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+Z++,this._triggerAriaLabelledBy=null,this._destroy=new f.x,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+Z++,this._panelDoneAnimatingStream=new f.x,this._overlayPanelClass=(null===(C=this._defaultOptions)||void 0===C?void 0:C.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(S=null===(A=this._defaultOptions)||void 0===A?void 0:A.disableOptionCentering)&&void 0!==S&&S,this.ariaLabel="",this.optionSelectionChanges=(0,p.P)(()=>{const t=this.options;return t?t.changes.pipe((0,g.O)(t),(0,y.w)(()=>(0,m.T)(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe((0,b.q)(1),(0,y.w)(()=>this.optionSelectionChanges))}),this.openedChange=new s.vpe,this._openedStream=this.openedChange.pipe((0,v.h)(t=>t),(0,_.U)(()=>{})),this._closedStream=this.openedChange.pipe((0,v.h)(t=>!t),(0,_.U)(()=>{})),this.selectionChange=new s.vpe,this.valueChange=new s.vpe,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==x?void 0:x.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=x.typeaheadDebounceInterval),this._scrollStrategyFactory=d,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=(0,h.Ig)(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=(0,h.Ig)(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=(0,h.Ig)(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=(0,h.su)(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new u.Ov(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe((0,w.x)(),(0,x.R)(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe((0,x.R)(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe((0,g.O)(null),(0,x.R)(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,i=e===d.JH||e===d.LH||e===d.oh||e===d.SV,n=e===d.K5||e===d.L_,r=this._keyManager;if(!r.isTyping()&&n&&!(0,d.Vb)(t)||(this.multiple||t.altKey)&&i)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const i=this.selected;i&&e!==i&&this._liveAnnouncer.announce(i.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,i=t.keyCode,n=i===d.JH||i===d.LH,r=e.isTyping();if(n&&t.altKey)t.preventDefault(),this.close();else if(r||i!==d.K5&&i!==d.L_||!e.activeItem||(0,d.Vb)(t))if(!r&&this._multiple&&i===d.A&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const i=e.activeItemIndex;e.onKeydown(t),this._multiple&&n&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==i&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe((0,b.q)(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(i){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new c.s1(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe((0,x.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe((0,x.R)(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):this._panelOpen||this.multiple||!this._keyManager.activeItem||this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=(0,m.T)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe((0,x.R)(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),(0,m.T)(...this.options.map(t=>t._stateChanges)).pipe((0,x.R)(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const i=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(i!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),i!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,i)=>this.sortComparator?this.sortComparator(e,i,t):t.indexOf(e)-t.indexOf(i)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(l.rL),s.Y36(s.sBO),s.Y36(s.R0b),s.Y36(o.rD),s.Y36(s.SBq),s.Y36(A.Is,8),s.Y36(S.F,8),s.Y36(S.sg,8),s.Y36(a.G_,8),s.Y36(S.a5,10),s.$8M("tabindex"),s.Y36(N),s.Y36(c.Kd),s.Y36(B,8))},t.\u0275dir=s.lG2({type:t,viewQuery:function(t,e){if(1&t&&(s.Gf(k,5),s.Gf(M,5),s.Gf(n.pI,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.trigger=t.first),s.iGM(t=s.CRH())&&(e.panel=t.first),s.iGM(t=s.CRH())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[s.qOj,s.TTD]}),t})(),V=(()=>{class t extends G{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,i){const n=this._getItemHeight();return Math.min(Math.max(0,n*t-e+n/2),i)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe((0,x.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe((0,b.q)(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=(0,o.CB)(t,this.options,this.optionGroups),i=this._getItemHeight();this.panel.nativeElement.scrollTop=(0,o.jH)((t+e)*i,i,this.panel.nativeElement.scrollTop,F)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new q(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),i=this._isRtl(),n=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}i||(r*=-1);const s=0-(t.left+r-(i?n:0)),o=t.right+r-e.width+(i?0:n);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,i){const n=this._getItemHeight(),r=(n-this._triggerRect.height)/2,s=Math.floor(F/n);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*n:this._scrollTop===i?(t-(this._getItemCount()-s))*n+(n-(this._getItemCount()*n-F)%n):e-n/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),i=this._viewportRuler.getViewportSize(),n=this._triggerRect.top-8,r=i.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,F)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>n?this._adjustPanelDown(s,n,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const i=Math.round(t-e);this._scrollTop-=i,this._offsetY-=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,i){const n=Math.round(t-e);if(this._scrollTop+=n,this._offsetY+=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=i)return this._scrollTop=i,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),i=Math.min(e*t,F),n=e*t-i;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=(0,o.CB)(r,this.options,this.optionGroups);const s=i/2;this._scrollTop=this._calculateOverlayScroll(r,s,n),this._offsetY=this._calculateOverlayOffsetY(r,s,n),this._checkOverlayWithinViewport(n)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,Y,5),s.Suo(i,o.ey,5),s.Suo(i,o.K7,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.customTrigger=t.first),s.iGM(t=s.CRH())&&(e.options=t),s.iGM(t=s.CRH())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&s.NdJ("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(s.uIk("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),s.ekj("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[s._Bn([{provide:a.Eo,useExisting:t},{provide:o.HF,useExisting:t}]),s.qOj],ngContentSelectors:R,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(s.F$t(D),s.TgZ(0,"div",0,1),s.NdJ("click",function(){return e.toggle()}),s.TgZ(3,"div",2),s.YNc(4,E,2,1,"span",3),s.YNc(5,I,3,2,"span",4),s.qZA(),s.TgZ(6,"div",5),s._UZ(7,"div",6),s.qZA(),s.qZA(),s.YNc(8,O,4,14,"ng-template",7),s.NdJ("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=s.MAs(1);s.uIk("aria-owns",e.panelOpen?e.id+"-panel":null),s.xp6(3),s.Q6J("ngSwitch",e.empty),s.uIk("id",e._valueId),s.xp6(1),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngSwitchCase",!1),s.xp6(3),s.Q6J("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[n.xu,r.RF,r.n9,n.pI,r.ED,r.mk],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px}\n'],encapsulation:2,data:{animation:[P.transformPanelWrap,P.transformPanel]},changeDetection:0}),t})(),Q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({providers:[U],imports:[[r.ez,n.U8,o.Ng,o.BQ],l.ZD,a.lN,o.Ng,o.BQ]}),t})()},5122:(t,e,i)=>{"use strict";i.d(e,{JX:()=>z,TM:()=>H,Rh:()=>q,SJ:()=>Y});var n=i(1353),r=i(4894),s=i(1511),o=i(1572),a=i(1522),l=i(9861),c=i(5842),h=i(9666),u=i(5960),d=i(5446),f=i(8868),p=i(1681),m=i(1096),g=i(9568),y=i(6424),b=i(9056),v=i(1258),_=i(5057),w=i(709),x=i(3490),C=i(4621),A=i(2526);const S=["*"];function k(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",2),o.NdJ("click",function(){return o.CHM(t),o.oxw()._onBackdropClicked()}),o.qZA()}if(2&t){const t=o.oxw();o.ekj("mat-drawer-shown",t._isShowingBackdrop())}}function M(t,e){1&t&&(o.TgZ(0,"mat-drawer-content"),o.Hsn(1,2),o.qZA())}const E=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],T=["mat-drawer","mat-drawer-content","*"];function L(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",2),o.NdJ("click",function(){return o.CHM(t),o.oxw()._onBackdropClicked()}),o.qZA()}if(2&t){const t=o.oxw();o.ekj("mat-drawer-shown",t._isShowingBackdrop())}}function I(t,e){1&t&&(o.TgZ(0,"mat-sidenav-content",3),o.Hsn(1,2),o.qZA())}const O=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],D=["mat-sidenav","mat-sidenav-content","*"],R=".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n",P={transformDrawer:(0,w.X$)("transform",[(0,w.SB)("open, open-instant",(0,w.oB)({transform:"none",visibility:"visible"})),(0,w.SB)("void",(0,w.oB)({"box-shadow":"none",visibility:"hidden"})),(0,w.eR)("void => open-instant",(0,w.jt)("0ms")),(0,w.eR)("void <=> open, open-instant => void",(0,w.jt)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])},Z=new o.OlP("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function(){return!1}}),F=new o.OlP("MAT_DRAWER_CONTAINER");let N=(()=>{class t extends r.PQ{constructor(t,e,i,n,r){super(i,n,r),this._changeDetectorRef=t,this._container=e}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36((0,o.Gpc)(()=>U)),o.Y36(o.SBq),o.Y36(r.mF),o.Y36(o.R0b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(t,e){2&t&&o.Udp("margin-left",e._container._contentMargins.left,"px")("margin-right",e._container._contentMargins.right,"px")},features:[o.qOj],ngContentSelectors:S,decls:1,vars:0,template:function(t,e){1&t&&(o.F$t(),o.Hsn(0))},encapsulation:2,changeDetection:0}),t})(),B=(()=>{class t{constructor(t,e,i,n,r,s,a){this._elementRef=t,this._focusTrapFactory=e,this._focusMonitor=i,this._platform=n,this._ngZone=r,this._doc=s,this._container=a,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new h.x,this._animationEnd=new h.x,this._animationState="void",this.openedChange=new o.vpe(!0),this._openedStream=this.openedChange.pipe((0,f.h)(t=>t),(0,p.U)(()=>{})),this.openedStart=this._animationStarted.pipe((0,f.h)(t=>t.fromState!==t.toState&&0===t.toState.indexOf("open")),(0,m.h)(void 0)),this._closedStream=this.openedChange.pipe((0,f.h)(t=>!t),(0,p.U)(()=>{})),this.closedStart=this._animationStarted.pipe((0,f.h)(t=>t.fromState!==t.toState&&"void"===t.toState),(0,m.h)(void 0)),this._destroyed=new h.x,this.onPositionChanged=new o.vpe,this._modeChanged=new h.x,this.openedChange.subscribe(t=>{t?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus()}),this._ngZone.runOutsideAngular(()=>{(0,u.R)(this._elementRef.nativeElement,"keydown").pipe((0,f.h)(t=>t.keyCode===c.hY&&!this.disableClose&&!(0,c.Vb)(t)),(0,g.R)(this._destroyed)).subscribe(t=>this._ngZone.run(()=>{this.close(),t.stopPropagation(),t.preventDefault()}))}),this._animationEnd.pipe((0,y.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{const{fromState:e,toState:i}=t;(0===i.indexOf("open")&&"void"===e||"void"===i&&0===e.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(t){(t="end"===t?"end":"start")!=this._position&&(this._position=t,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(t){this._mode=t,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(t){this._disableClose=(0,l.Ig)(t)}get autoFocus(){const t=this._autoFocus;return null==t?"side"!==this.mode:t}set autoFocus(t){this._autoFocus=(0,l.Ig)(t)}get opened(){return this._opened}set opened(t){this.toggle((0,l.Ig)(t))}_takeFocus(){this.autoFocus&&this._focusTrap&&this._focusTrap.focusInitialElementWhenReady().then(t=>{t||"function"!=typeof this._elementRef.nativeElement.focus||this._elementRef.nativeElement.focus()})}_restoreFocus(){this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,this._openedVia):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null,this._openedVia=null)}_isFocusWithinDrawer(){var t;const e=null===(t=this._doc)||void 0===t?void 0:t.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterContentInit(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState()}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){this._focusTrap&&this._focusTrap.destroy(),this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(t){return this.toggle(!0,t)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0)}toggle(t=!this.opened,e){return this._setOpen(t,!t&&this._isFocusWithinDrawer(),e)}_setOpen(t,e,i="program"){return this._opened=t,t?(this._animationState=this._enableAnimations?"open":"open-instant",this._openedVia=i):(this._animationState="void",e&&this._restoreFocus()),this._updateFocusTrapState(),new Promise(t=>{this.openedChange.pipe((0,b.q)(1)).subscribe(e=>t(e?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_animationStartListener(t){this._animationStarted.next(t)}_animationDoneListener(t){this._animationEnd.next(t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(C.qV),o.Y36(C.tE),o.Y36(n.t4),o.Y36(o.R0b),o.Y36(s.K0,8),o.Y36(F,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer"]],hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(t,e){1&t&&o.WFA("@transform.start",function(t){return e._animationStartListener(t)})("@transform.done",function(t){return e._animationDoneListener(t)}),2&t&&(o.uIk("align",null),o.d8E("@transform",e._animationState),o.ekj("mat-drawer-end","end"===e.position)("mat-drawer-over","over"===e.mode)("mat-drawer-push","push"===e.mode)("mat-drawer-side","side"===e.mode)("mat-drawer-opened",e.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:S,decls:2,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,e){1&t&&(o.F$t(),o.TgZ(0,"div",0),o.Hsn(1),o.qZA())},directives:[r.PQ],encapsulation:2,data:{animation:[P.transformDrawer]},changeDetection:0}),t})(),U=(()=>{class t{constructor(t,e,i,n,r,s=!1,a){this._dir=t,this._element=e,this._ngZone=i,this._changeDetectorRef=n,this._animationMode=a,this._drawers=new o.n_E,this.backdropClick=new o.vpe,this._destroyed=new h.x,this._doCheckSubject=new h.x,this._contentMargins={left:null,right:null},this._contentMarginChanges=new h.x,t&&t.change.pipe((0,g.R)(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),r.change().pipe((0,g.R)(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=s}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(t){this._autosize=(0,l.Ig)(t)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(t){this._backdropOverride=null==t?null:(0,l.Ig)(t)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe((0,v.O)(this._allDrawers),(0,g.R)(this._destroyed)).subscribe(t=>{this._drawers.reset(t.filter(t=>!t._container||t._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe((0,v.O)(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(t=>{this._watchDrawerToggle(t),this._watchDrawerPosition(t),this._watchDrawerMode(t)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe((0,_.b)(10),(0,g.R)(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(t=>t.open())}close(){this._drawers.forEach(t=>t.close())}updateContentMargins(){let t=0,e=0;if(this._left&&this._left.opened)if("side"==this._left.mode)t+=this._left._getWidth();else if("push"==this._left.mode){const i=this._left._getWidth();t+=i,e-=i}if(this._right&&this._right.opened)if("side"==this._right.mode)e+=this._right._getWidth();else if("push"==this._right.mode){const i=this._right._getWidth();e+=i,t-=i}t=t||null,e=e||null,t===this._contentMargins.left&&e===this._contentMargins.right||(this._contentMargins={left:t,right:e},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(t){t._animationStarted.pipe((0,f.h)(t=>t.fromState!==t.toState),(0,g.R)(this._drawers.changes)).subscribe(t=>{"open-instant"!==t.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==t.mode&&t.openedChange.pipe((0,g.R)(this._drawers.changes)).subscribe(()=>this._setContainerClass(t.opened))}_watchDrawerPosition(t){t&&t.onPositionChanged.pipe((0,g.R)(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe((0,b.q)(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(t){t&&t._modeChanged.pipe((0,g.R)((0,d.T)(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(t){const e=this._element.nativeElement.classList,i="mat-drawer-container-has-open";t?e.add(i):e.remove(i)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(t=>{"end"==t.position?this._end=t:this._start=t}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(t=>t&&!t.disableClose&&this._canHaveBackdrop(t)).forEach(t=>t._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(t){return"side"!==t.mode||!!this._backdropOverride}_isDrawerOpen(t){return null!=t&&t.opened}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(A.Is,8),o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(r.rL),o.Y36(Z),o.Y36(x.Qb,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,N,5),o.Suo(i,B,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._content=t.first),o.iGM(t=o.CRH())&&(e._allDrawers=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(N,5),2&t){let t;o.iGM(t=o.CRH())&&(e._userContent=t.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(t,e){2&t&&o.ekj("mat-drawer-container-explicit-backdrop",e._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[o._Bn([{provide:F,useExisting:t}])],ngContentSelectors:T,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(t,e){1&t&&(o.F$t(E),o.YNc(0,k,1,2,"div",0),o.Hsn(1),o.Hsn(2,1),o.YNc(3,M,2,0,"mat-drawer-content",1)),2&t&&(o.Q6J("ngIf",e.hasBackdrop),o.xp6(3),o.Q6J("ngIf",!e._content))},directives:[s.O5,N],styles:[R],encapsulation:2,changeDetection:0}),t})(),q=(()=>{class t extends N{constructor(t,e,i,n,r){super(t,e,i,n,r)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36((0,o.Gpc)(()=>H)),o.Y36(o.SBq),o.Y36(r.mF),o.Y36(o.R0b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(t,e){2&t&&o.Udp("margin-left",e._container._contentMargins.left,"px")("margin-right",e._container._contentMargins.right,"px")},features:[o.qOj],ngContentSelectors:S,decls:1,vars:0,template:function(t,e){1&t&&(o.F$t(),o.Hsn(0))},encapsulation:2,changeDetection:0}),t})(),z=(()=>{class t extends B{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(t){this._fixedInViewport=(0,l.Ig)(t)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(t){this._fixedTopGap=(0,l.su)(t)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(t){this._fixedBottomGap=(0,l.su)(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(t,e){2&t&&(o.uIk("align",null),o.Udp("top",e.fixedInViewport?e.fixedTopGap:null,"px")("bottom",e.fixedInViewport?e.fixedBottomGap:null,"px"),o.ekj("mat-drawer-end","end"===e.position)("mat-drawer-over","over"===e.mode)("mat-drawer-push","push"===e.mode)("mat-drawer-side","side"===e.mode)("mat-drawer-opened",e.opened)("mat-sidenav-fixed",e.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[o.qOj],ngContentSelectors:S,decls:2,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,e){1&t&&(o.F$t(),o.TgZ(0,"div",0),o.Hsn(1),o.qZA())},directives:[r.PQ],encapsulation:2,data:{animation:[P.transformDrawer]},changeDetection:0}),t})(),H=(()=>{class t extends U{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav-container"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,q,5),o.Suo(i,z,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._content=t.first),o.iGM(t=o.CRH())&&(e._allDrawers=t)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(t,e){2&t&&o.ekj("mat-drawer-container-explicit-backdrop",e._backdropOverride)},exportAs:["matSidenavContainer"],features:[o._Bn([{provide:F,useExisting:t}]),o.qOj],ngContentSelectors:D,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],["cdkScrollable","",4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"],["cdkScrollable",""]],template:function(t,e){1&t&&(o.F$t(O),o.YNc(0,L,1,2,"div",0),o.Hsn(1),o.Hsn(2,1),o.YNc(3,I,2,0,"mat-sidenav-content",1)),2&t&&(o.Q6J("ngIf",e.hasBackdrop),o.xp6(3),o.Q6J("ngIf",!e._content))},directives:[s.O5,q,r.PQ],styles:[R],encapsulation:2,changeDetection:0}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({imports:[[s.ez,a.BQ,n.ud,r.ZD],r.ZD,a.BQ]}),t})()},7521:(t,e,i)=>{"use strict";i.d(e,{Rr:()=>w,rP:()=>C});var n=i(6337),r=i(1572),s=i(1522),o=i(9861),a=i(6073),l=i(3490),c=i(4621);const h=["thumbContainer"],u=["toggleBar"],d=["input"],f=function(t){return{enterDuration:t}},p=["*"],m=new r.OlP("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let g=0;const y={provide:a.JU,useExisting:(0,r.Gpc)(()=>w),multi:!0};class b{constructor(t,e){this.source=t,this.checked=e}}class v{constructor(t){this._elementRef=t}}const _=(0,s.sb)((0,s.pj)((0,s.Kr)((0,s.Id)(v))));let w=(()=>{class t extends _{constructor(t,e,i,n,s,o){super(t),this._focusMonitor=e,this._changeDetectorRef=i,this.defaults=s,this._onChange=t=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++g,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new r.vpe,this.toggleChange=new r.vpe,this.tabIndex=parseInt(n)||0,this.color=this.defaultColor=s.color||"accent",this._noopAnimations="NoopAnimations"===o}get required(){return this._required}set required(t){this._required=(0,o.Ig)(t)}get checked(){return this._checked}set checked(t){this._checked=(0,o.Ig)(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new b(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(c.tE),r.Y36(r.sBO),r.$8M("tabindex"),r.Y36(m),r.Y36(l.Qb,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(t,e){if(1&t&&(r.Gf(h,5),r.Gf(u,5),r.Gf(d,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._thumbEl=t.first),r.iGM(t=r.CRH())&&(e._thumbBarEl=t.first),r.iGM(t=r.CRH())&&(e._inputElement=t.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,e){2&t&&(r.Ikx("id",e.id),r.uIk("tabindex",e.disabled?null:-1)("aria-label",null)("aria-labelledby",null),r.ekj("mat-checked",e.checked)("mat-disabled",e.disabled)("mat-slide-toggle-label-before","before"==e.labelPosition)("_mat-animation-noopable",e._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked"},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[r._Bn([y]),r.qOj],ngContentSelectors:p,decls:16,vars:19,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,e){if(1&t&&(r.F$t(),r.TgZ(0,"label",0,1),r.TgZ(2,"div",2,3),r.TgZ(4,"input",4,5),r.NdJ("change",function(t){return e._onChangeEvent(t)})("click",function(t){return e._onInputClick(t)}),r.qZA(),r.TgZ(6,"div",6,7),r._UZ(8,"div",8),r.TgZ(9,"div",9),r._UZ(10,"div",10),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"span",11,12),r.NdJ("cdkObserveContent",function(){return e._onLabelTextChange()}),r.TgZ(13,"span",13),r._uU(14,"\xa0"),r.qZA(),r.Hsn(15),r.qZA(),r.qZA()),2&t){const t=r.MAs(1),i=r.MAs(12);r.uIk("for",e.inputId),r.xp6(2),r.ekj("mat-slide-toggle-bar-no-side-margin",!i.textContent||!i.textContent.trim()),r.xp6(2),r.Q6J("id",e.inputId)("required",e.required)("tabIndex",e.tabIndex)("checked",e.checked)("disabled",e.disabled),r.uIk("name",e.name)("aria-checked",e.checked.toString())("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby),r.xp6(5),r.Q6J("matRippleTrigger",t)("matRippleDisabled",e.disableRipple||e.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",r.VKq(17,f,e._noopAnimations?0:150))}},directives:[s.wG,n.wD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),t})(),x=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[x,s.si,s.BQ,n.Q8],x,s.BQ]}),t})()},1403:(t,e,i)=>{"use strict";i.d(e,{Ve:()=>k,ux:()=>M,ZX:()=>S});var n=i(369),r=i(6899),s=i(1511),o=i(1572),a=i(1522),l=i(5980),c=i(9666),h=i(9056),u=i(9568),d=i(709),f=i(4621),p=i(72),m=i(1353);function g(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",1),o.TgZ(1,"button",2),o.NdJ("click",function(){return o.CHM(t),o.oxw().action()}),o._uU(2),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.data.action)}}function y(t,e){}const b=new o.OlP("MatSnackBarData");class v{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const _=Math.pow(2,31)-1;class w{constructor(t,e){this._overlayRef=e,this._afterDismissed=new c.x,this._afterOpened=new c.x,this._onAction=new c.x,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,_))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let x=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(w),o.Y36(b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA(),o.YNc(2,g,3,1,"div",0)),2&t&&(o.xp6(1),o.Oqu(e.data.message),o.xp6(1),o.Q6J("ngIf",e.hasAction))},directives:[s.O5,l.lW],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const C={snackBarState:(0,d.X$)("state",[(0,d.SB)("void, hidden",(0,d.oB)({transform:"scale(0.8)",opacity:0})),(0,d.SB)("visible",(0,d.oB)({transform:"scale(1)",opacity:1})),(0,d.eR)("* => visible",(0,d.jt)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,d.eR)("* => void, * => hidden",(0,d.jt)("75ms cubic-bezier(0.4, 0.0, 1, 1)",(0,d.oB)({opacity:0})))])};let A=(()=>{class t extends r.en{constructor(t,e,i,n,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=i,this._platform=n,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new c.x,this._onExit=new c.x,this._onEnter=new c.x,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:i}=t;if(("void"===i&&"void"!==e||"hidden"===i)&&this._completeExit(),"visible"===i){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe((0,h.q)(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let i=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==i||i.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.R0b),o.Y36(o.SBq),o.Y36(o.sBO),o.Y36(m.t4),o.Y36(v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&o.Gf(r.Pl,7),2&t){let t;o.iGM(t=o.CRH())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&o.WFA("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&o.d8E("@state",e._animationState)},features:[o.qOj],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,y,0,0,"ng-template",1),o.qZA(),o._UZ(2,"div")),2&t&&(o.xp6(2),o.uIk("aria-live",e._live)("role",e._role))},directives:[r.Pl],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[C.snackBarState]}}),t})(),S=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({imports:[[n.U8,r.eL,s.ez,l.ot,a.BQ],a.BQ]}),t})();const k=new o.OlP("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new v}});let M=(()=>{class t{constructor(t,e,i,n,r,s){this._overlay=t,this._live=e,this._injector=i,this._breakpointObserver=n,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=x,this.snackBarContainerComponent=A,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",i){const n=Object.assign(Object.assign({},this._defaultConfig),i);return n.data={message:t,action:e},n.announcementMessage===t&&(n.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,n)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const i=o.zs3.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:v,useValue:e}]}),n=new r.C5(this.snackBarContainerComponent,e.viewContainerRef,i),s=t.attach(n);return s.instance.snackBarConfig=e,s.instance}_attach(t,e){const i=Object.assign(Object.assign(Object.assign({},new v),this._defaultConfig),e),n=this._createOverlay(i),s=this._attachSnackBarContainer(n,i),a=new w(s,n);if(t instanceof o.Rgc){const e=new r.UE(t,null,{$implicit:i.data,snackBarRef:a});a.instance=s.attachTemplatePortal(e)}else{const e=this._createInjector(i,a),n=new r.C5(t,void 0,e),o=s.attachComponentPortal(n);a.instance=o.instance}return this._breakpointObserver.observe(p.u3.HandsetPortrait).pipe((0,u.R)(n.detachments())).subscribe(t=>{const e=n.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),i.announcementMessage&&s._onAnnounce.subscribe(()=>{this._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new n.X_;e.direction=t.direction;let i=this._overlay.position().global();const r="rtl"===t.direction,s="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!s&&"center"!==t.horizontalPosition;return s?i.left("0"):o?i.right("0"):i.centerHorizontally(),"top"===t.verticalPosition?i.top("0"):i.bottom("0"),e.positionStrategy=i,this._overlay.create(e)}_createInjector(t,e){return o.zs3.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:w,useValue:e},{provide:b,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(o.LFG(n.aV),o.LFG(f.Kd),o.LFG(o.zs3),o.LFG(p.Yg),o.LFG(t,12),o.LFG(k))},t.\u0275prov=o.Yz7({factory:function(){return new t(o.LFG(n.aV),o.LFG(f.Kd),o.LFG(o.gxx),o.LFG(p.Yg),o.LFG(t,12),o.LFG(k))},token:t,providedIn:S}),t})()},2464:(t,e,i)=>{"use strict";i.d(e,{YE:()=>b,nU:()=>S,JX:()=>k});var n=i(1572),r=i(9861),s=i(1522),o=i(5842),a=i(9666),l=i(5446),c=i(709),h=i(1511),u=i(4621);const d=["mat-sort-header",""];function f(t,e){if(1&t){const t=n.EpF();n.TgZ(0,"div",3),n.NdJ("@arrowPosition.start",function(){return n.CHM(t),n.oxw()._disableViewStateAnimation=!0})("@arrowPosition.done",function(){return n.CHM(t),n.oxw()._disableViewStateAnimation=!1}),n._UZ(1,"div",4),n.TgZ(2,"div",5),n._UZ(3,"div",6),n._UZ(4,"div",7),n._UZ(5,"div",8),n.qZA(),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("@arrowOpacity",t._getArrowViewState())("@arrowPosition",t._getArrowViewState())("@allowChildren",t._getArrowDirectionState()),n.xp6(2),n.Q6J("@indicator",t._getArrowDirectionState()),n.xp6(1),n.Q6J("@leftPointer",t._getArrowDirectionState()),n.xp6(1),n.Q6J("@rightPointer",t._getArrowDirectionState())}}const p=["*"],m=new n.OlP("MAT_SORT_DEFAULT_OPTIONS");class g{}const y=(0,s.dB)((0,s.Id)(g));let b=(()=>{class t extends y{constructor(t){super(),this._defaultOptions=t,this.sortables=new Map,this._stateChanges=new a.x,this.start="asc",this._direction="",this.sortChange=new n.vpe}get direction(){return this._direction}set direction(t){this._direction=t}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,r.Ig)(t)}register(t){this.sortables.set(t.id,t)}deregister(t){this.sortables.delete(t.id)}sort(t){this.active!=t.id?(this.active=t.id,this.direction=t.start?t.start:this.start):this.direction=this.getNextSortDirection(t),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(t){var e,i,n;if(!t)return"";const r=null!==(i=null!==(e=null==t?void 0:t.disableClear)&&void 0!==e?e:this.disableClear)&&void 0!==i?i:!!(null===(n=this._defaultOptions)||void 0===n?void 0:n.disableClear);let s=function(t,e){let i=["asc","desc"];return"desc"==t&&i.reverse(),e||i.push(""),i}(t.start||this.start,r),o=s.indexOf(this.direction)+1;return o>=s.length&&(o=0),s[o]}ngOnInit(){this._markInitialized()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(m,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{disabled:["matSortDisabled","disabled"],start:["matSortStart","start"],direction:["matSortDirection","direction"],disableClear:["matSortDisableClear","disableClear"],active:["matSortActive","active"]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[n.qOj,n.TTD]}),t})();const v=s.mZ.ENTERING+" "+s.yN.STANDARD_CURVE,_={indicator:(0,c.X$)("indicator",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"translateY(0px)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"translateY(10px)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),leftPointer:(0,c.X$)("leftPointer",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"rotate(-45deg)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"rotate(45deg)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),rightPointer:(0,c.X$)("rightPointer",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"rotate(45deg)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"rotate(-45deg)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),arrowOpacity:(0,c.X$)("arrowOpacity",[(0,c.SB)("desc-to-active, asc-to-active, active",(0,c.oB)({opacity:1})),(0,c.SB)("desc-to-hint, asc-to-hint, hint",(0,c.oB)({opacity:.54})),(0,c.SB)("hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void",(0,c.oB)({opacity:0})),(0,c.eR)("* => asc, * => desc, * => active, * => hint, * => void",(0,c.jt)("0ms")),(0,c.eR)("* <=> *",(0,c.jt)(v))]),arrowPosition:(0,c.X$)("arrowPosition",[(0,c.eR)("* => desc-to-hint, * => desc-to-active",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(-25%)"}),(0,c.oB)({transform:"translateY(0)"})]))),(0,c.eR)("* => hint-to-desc, * => active-to-desc",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(0)"}),(0,c.oB)({transform:"translateY(25%)"})]))),(0,c.eR)("* => asc-to-hint, * => asc-to-active",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(25%)"}),(0,c.oB)({transform:"translateY(0)"})]))),(0,c.eR)("* => hint-to-asc, * => active-to-asc",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(0)"}),(0,c.oB)({transform:"translateY(-25%)"})]))),(0,c.SB)("desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active",(0,c.oB)({transform:"translateY(0)"})),(0,c.SB)("hint-to-desc, active-to-desc, desc",(0,c.oB)({transform:"translateY(-25%)"})),(0,c.SB)("hint-to-asc, active-to-asc, asc",(0,c.oB)({transform:"translateY(25%)"}))]),allowChildren:(0,c.X$)("allowChildren",[(0,c.eR)("* <=> *",[(0,c.IO)("@*",(0,c.pV)(),{optional:!0})])])};let w=(()=>{class t{constructor(){this.changes=new a.x}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const x={provide:w,deps:[[new n.FiY,new n.tp0,w]],useFactory:function(t){return t||new w}};class C{}const A=(0,s.Id)(C);let S=(()=>{class t extends A{constructor(t,e,i,n,r,s){super(),this._intl=t,this._changeDetectorRef=e,this._sort=i,this._columnDef=n,this._focusMonitor=r,this._elementRef=s,this._showIndicatorHint=!1,this._viewState={},this._arrowDirection="",this._disableViewStateAnimation=!1,this.arrowPosition="after",this._handleStateChanges()}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,r.Ig)(t)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._updateArrowDirection(),this._setAnimationTransitionState({toState:this._isSorted()?"active":this._arrowDirection}),this._sort.register(this)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{const e=!!t;e!==this._showIndicatorHint&&(this._setIndicatorHintVisible(e),this._changeDetectorRef.markForCheck())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._rerenderSubscription.unsubscribe()}_setIndicatorHintVisible(t){this._isDisabled()&&t||(this._showIndicatorHint=t,this._isSorted()||(this._updateArrowDirection(),this._setAnimationTransitionState(this._showIndicatorHint?{fromState:this._arrowDirection,toState:"hint"}:{fromState:"hint",toState:this._arrowDirection})))}_setAnimationTransitionState(t){this._viewState=t||{},this._disableViewStateAnimation&&(this._viewState={toState:t.toState})}_toggleOnInteraction(){this._sort.sort(this),"hint"!==this._viewState.toState&&"active"!==this._viewState.toState||(this._disableViewStateAnimation=!0)}_handleClick(){this._isDisabled()||this._sort.sort(this)}_handleKeydown(t){this._isDisabled()||t.keyCode!==o.L_&&t.keyCode!==o.K5||(t.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&("asc"===this._sort.direction||"desc"===this._sort.direction)}_getArrowDirectionState(){return`${this._isSorted()?"active-":""}${this._arrowDirection}`}_getArrowViewState(){const t=this._viewState.fromState;return(t?`${t}-to-`:"")+this._viewState.toState}_updateArrowDirection(){this._arrowDirection=this._isSorted()?this._sort.direction:this.start||this._sort.start}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?"asc"==this._sort.direction?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_handleStateChanges(){this._rerenderSubscription=(0,l.T)(this._sort.sortChange,this._sort._stateChanges,this._intl.changes).subscribe(()=>{this._isSorted()&&(this._updateArrowDirection(),"hint"!==this._viewState.toState&&"active"!==this._viewState.toState||(this._disableViewStateAnimation=!0),this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"active"}),this._showIndicatorHint=!1),!this._isSorted()&&this._viewState&&"active"===this._viewState.toState&&(this._disableViewStateAnimation=!1,this._setAnimationTransitionState({fromState:"active",toState:this._arrowDirection})),this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(w),n.Y36(n.sBO),n.Y36(b,8),n.Y36("MAT_SORT_HEADER_COLUMN_DEF",8),n.Y36(u.tE),n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._handleClick()})("keydown",function(t){return e._handleKeydown(t)})("mouseenter",function(){return e._setIndicatorHintVisible(!0)})("mouseleave",function(){return e._setIndicatorHintVisible(!1)}),2&t&&(n.uIk("aria-sort",e._getAriaSortAttribute()),n.ekj("mat-sort-header-disabled",e._isDisabled()))},inputs:{disabled:"disabled",arrowPosition:"arrowPosition",disableClear:"disableClear",id:["mat-sort-header","id"],start:"start"},exportAs:["matSortHeader"],features:[n.qOj],attrs:d,ngContentSelectors:p,decls:4,vars:6,consts:[["role","button",1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],["class","mat-sort-header-arrow",4,"ngIf"],[1,"mat-sort-header-arrow"],[1,"mat-sort-header-stem"],[1,"mat-sort-header-indicator"],[1,"mat-sort-header-pointer-left"],[1,"mat-sort-header-pointer-right"],[1,"mat-sort-header-pointer-middle"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.Hsn(2),n.qZA(),n.YNc(3,f,6,6,"div",2),n.qZA()),2&t&&(n.ekj("mat-sort-header-sorted",e._isSorted())("mat-sort-header-position-before","before"==e.arrowPosition),n.uIk("tabindex",e._isDisabled()?null:0),n.xp6(3),n.Q6J("ngIf",e._renderArrow()))},directives:[h.O5],styles:[".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"],encapsulation:2,data:{animation:[_.indicator,_.leftPointer,_.rightPointer,_.arrowOpacity,_.arrowPosition,_.allowChildren]},changeDetection:0}),t})(),k=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[x],imports:[[h.ez,s.BQ]]}),t})()},7753:(t,e,i)=>{"use strict";i.d(e,{C0:()=>Q,VY:()=>B,Vq:()=>K,z9:()=>G,T5:()=>et,Ic:()=>$,fd:()=>tt});var n=i(6899),r=i(8544),s=i(1511),o=i(1572),a=i(5980),l=i(1522),c=i(3691),h=i(9666),u=i(6042),d=i(4324),f=i(1681),p=i(1258),m=i(9568),g=i(6424),y=i(709),b=i(4621),v=i(2526);function _(t,e){if(1&t&&o.GkF(0,8),2&t){const t=o.oxw();o.Q6J("ngTemplateOutlet",t.iconOverrides[t.state])("ngTemplateOutletContext",t._getIconContext())}}function w(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t._getDefaultTextForState(t.state))}}function x(t,e){if(1&t&&(o.TgZ(0,"mat-icon"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t._getDefaultTextForState(t.state))}}function C(t,e){if(1&t&&(o.ynx(0,9),o.YNc(1,w,2,1,"span",10),o.YNc(2,x,2,1,"mat-icon",11),o.BQk()),2&t){const t=o.oxw();o.Q6J("ngSwitch",t.state),o.xp6(1),o.Q6J("ngSwitchCase","number")}}function A(t,e){if(1&t&&(o.TgZ(0,"div",12),o.GkF(1,13),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngTemplateOutlet",t._templateLabel().template)}}function S(t,e){if(1&t&&(o.TgZ(0,"div",12),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.label)}}function k(t,e){if(1&t&&(o.TgZ(0,"div",14),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t._intl.optionalLabel)}}function M(t,e){if(1&t&&(o.TgZ(0,"div",15),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function E(t,e){}function T(t,e){if(1&t&&(o.Hsn(0),o.YNc(1,E,0,0,"ng-template",0)),2&t){const t=o.oxw();o.xp6(1),o.Q6J("cdkPortalOutlet",t._portal)}}const L=["*"];function I(t,e){1&t&&o._UZ(0,"div",9)}const O=function(t,e){return{step:t,i:e}};function D(t,e){if(1&t&&(o.ynx(0),o.GkF(1,7),o.YNc(2,I,1,0,"div",8),o.BQk()),2&t){const t=e.$implicit,i=e.index,n=e.last;o.oxw(2);const r=o.MAs(4);o.xp6(1),o.Q6J("ngTemplateOutlet",r)("ngTemplateOutletContext",o.WLB(3,O,t,i)),o.xp6(1),o.Q6J("ngIf",!n)}}function R(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",10),o.NdJ("@horizontalStepTransition.done",function(e){return o.CHM(t),o.oxw(2)._animationDone.next(e)}),o.GkF(1,11),o.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=o.oxw(2);o.Q6J("@horizontalStepTransition",n._getAnimationDirection(i))("id",n._getStepContentId(i)),o.uIk("aria-labelledby",n._getStepLabelId(i))("aria-expanded",n.selectedIndex===i),o.xp6(1),o.Q6J("ngTemplateOutlet",t.content)}}function P(t,e){if(1&t&&(o.ynx(0),o.TgZ(1,"div",3),o.YNc(2,D,3,6,"ng-container",4),o.qZA(),o.TgZ(3,"div",5),o.YNc(4,R,2,5,"div",6),o.qZA(),o.BQk()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngForOf",t.steps),o.xp6(2),o.Q6J("ngForOf",t.steps)}}function Z(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",13),o.GkF(1,7),o.TgZ(2,"div",14),o.TgZ(3,"div",15),o.NdJ("@verticalStepTransition.done",function(e){return o.CHM(t),o.oxw(2)._animationDone.next(e)}),o.TgZ(4,"div",16),o.GkF(5,11),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=e.last,r=o.oxw(2),s=o.MAs(4);o.xp6(1),o.Q6J("ngTemplateOutlet",s)("ngTemplateOutletContext",o.WLB(9,O,t,i)),o.xp6(1),o.ekj("mat-stepper-vertical-line",!n),o.xp6(1),o.Q6J("@verticalStepTransition",r._getAnimationDirection(i))("id",r._getStepContentId(i)),o.uIk("aria-labelledby",r._getStepLabelId(i))("aria-expanded",r.selectedIndex===i),o.xp6(2),o.Q6J("ngTemplateOutlet",t.content)}}function F(t,e){if(1&t&&(o.ynx(0),o.YNc(1,Z,6,12,"div",12),o.BQk()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngForOf",t.steps)}}function N(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-step-header",17),o.NdJ("click",function(){return e.step.select()})("keydown",function(e){return o.CHM(t),o.oxw()._onKeydown(e)}),o.qZA()}if(2&t){const t=e.step,i=e.i,n=o.oxw();o.ekj("mat-horizontal-stepper-header","horizontal"===n.orientation)("mat-vertical-stepper-header","vertical"===n.orientation),o.Q6J("tabIndex",n._getFocusIndex()===i?0:-1)("id",n._getStepLabelId(i))("index",i)("state",n._getIndicatorType(i,t.state))("label",t.stepLabel||t.label)("selected",n.selectedIndex===i)("active",t.completed||n.selectedIndex===i||!n.linear)("optional",t.optional)("errorMessage",t.errorMessage)("iconOverrides",n._iconOverrides)("disableRipple",n.disableRipple)("color",t.color||n.color),o.uIk("aria-posinset",i+1)("aria-setsize",n.steps.length)("aria-controls",n._getStepContentId(i))("aria-selected",n.selectedIndex==i)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null)}}let B=(()=>{class t extends r.u6{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["","matStepLabel",""]],features:[o.qOj]}),t})(),U=(()=>{class t{constructor(){this.changes=new h.x,this.optionalLabel="Optional"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=o.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const q={provide:U,deps:[[new o.FiY,new o.tp0,U]],useFactory:function(t){return t||new U}};class z extends r.KL{constructor(t){super(t)}}const H=(0,l.pj)(z,"primary");let Y=(()=>{class t extends H{constructor(t,e,i,n){super(i),this._intl=t,this._focusMonitor=e,this._intlSubscription=t.changes.subscribe(()=>n.markForCheck())}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._elementRef,t,e):this._elementRef.nativeElement.focus(e)}_stringLabel(){return this.label instanceof B?null:this.label}_templateLabel(){return this.label instanceof B?this.label:null}_getHostElement(){return this._elementRef.nativeElement}_getIconContext(){return{index:this.index,active:this.active,optional:this.optional}}_getDefaultTextForState(t){return"number"==t?`${this.index+1}`:"edit"==t?"create":"error"==t?"warning":t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(U),o.Y36(b.tE),o.Y36(o.SBq),o.Y36(o.sBO))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-step-header"]],hostAttrs:["role","tab",1,"mat-step-header"],inputs:{color:"color",state:"state",label:"label",errorMessage:"errorMessage",iconOverrides:"iconOverrides",index:"index",selected:"selected",active:"active",optional:"optional",disableRipple:"disableRipple"},features:[o.qOj],decls:10,vars:19,consts:[["matRipple","",1,"mat-step-header-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-step-icon-content",3,"ngSwitch"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngSwitchCase"],[3,"ngSwitch",4,"ngSwitchDefault"],[1,"mat-step-label"],["class","mat-step-text-label",4,"ngIf"],["class","mat-step-optional",4,"ngIf"],["class","mat-step-sub-label-error",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[1,"mat-step-text-label"],[3,"ngTemplateOutlet"],[1,"mat-step-optional"],[1,"mat-step-sub-label-error"]],template:function(t,e){1&t&&(o._UZ(0,"div",0),o.TgZ(1,"div"),o.TgZ(2,"div",1),o.YNc(3,_,1,2,"ng-container",2),o.YNc(4,C,3,2,"ng-container",3),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.YNc(6,A,2,1,"div",5),o.YNc(7,S,2,1,"div",5),o.YNc(8,k,2,1,"div",6),o.YNc(9,M,2,1,"div",7),o.qZA()),2&t&&(o.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disableRipple),o.xp6(1),o.Gre("mat-step-icon-state-",e.state," mat-step-icon"),o.ekj("mat-step-icon-selected",e.selected),o.xp6(1),o.Q6J("ngSwitch",!(!e.iconOverrides||!e.iconOverrides[e.state])),o.xp6(1),o.Q6J("ngSwitchCase",!0),o.xp6(2),o.ekj("mat-step-label-active",e.active)("mat-step-label-selected",e.selected)("mat-step-label-error","error"==e.state),o.xp6(1),o.Q6J("ngIf",e._templateLabel()),o.xp6(1),o.Q6J("ngIf",e._stringLabel()),o.xp6(1),o.Q6J("ngIf",e.optional&&"error"!=e.state),o.xp6(1),o.Q6J("ngIf","error"==e.state))},directives:[l.wG,s.RF,s.n9,s.ED,s.O5,s.tP,c.Hw],styles:[".mat-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:transparent}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon-content,.mat-step-icon .mat-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"],encapsulation:2,changeDetection:0}),t})();const j={horizontalStepTransition:(0,y.X$)("horizontalStepTransition",[(0,y.SB)("previous",(0,y.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),(0,y.SB)("current",(0,y.oB)({transform:"none",visibility:"inherit"})),(0,y.SB)("next",(0,y.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),(0,y.eR)("* => *",(0,y.jt)("500ms cubic-bezier(0.35, 0, 0.25, 1)"))]),verticalStepTransition:(0,y.X$)("verticalStepTransition",[(0,y.SB)("previous",(0,y.oB)({height:"0px",visibility:"hidden"})),(0,y.SB)("next",(0,y.oB)({height:"0px",visibility:"hidden"})),(0,y.SB)("current",(0,y.oB)({height:"*",visibility:"inherit"})),(0,y.eR)("* <=> current",(0,y.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])};let G=(()=>{class t{constructor(t){this.templateRef=t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.Rgc))},t.\u0275dir=o.lG2({type:t,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:["matStepperIcon","name"]}}),t})(),V=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.Rgc))},t.\u0275dir=o.lG2({type:t,selectors:[["ng-template","matStepContent",""]]}),t})(),Q=(()=>{class t extends r.be{constructor(t,e,i,n){super(t,n),this._errorStateMatcher=e,this._viewContainerRef=i,this._isSelected=u.w0.EMPTY}ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe((0,d.w)(()=>this._stepper.selectionChange.pipe((0,f.U)(t=>t.selectedStep===this),(0,p.O)(this._stepper.selected===this)))).subscribe(t=>{t&&this._lazyContent&&!this._portal&&(this._portal=new n.UE(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(t,e){return this._errorStateMatcher.isErrorState(t,e)||!!(t&&t.invalid&&this.interacted)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36((0,o.Gpc)(()=>K)),o.Y36(l.rD,4),o.Y36(o.s_b),o.Y36(r.gx,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-step"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,B,5),o.Suo(i,V,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.stepLabel=t.first),o.iGM(t=o.CRH())&&(e._lazyContent=t.first)}},inputs:{color:"color"},exportAs:["matStep"],features:[o._Bn([{provide:l.rD,useExisting:t},{provide:r.be,useExisting:t}]),o.qOj],ngContentSelectors:L,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,T,2,1,"ng-template"))},directives:[n.Pl],encapsulation:2,changeDetection:0}),t})(),W=(()=>{class t extends r.B8{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,features:[o.qOj]}),t})(),J=(()=>{class t extends W{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["mat-horizontal-stepper"]],features:[o.qOj]}),t})(),X=(()=>{class t extends W{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["mat-vertical-stepper"]],features:[o.qOj]}),t})(),K=(()=>{class t extends r.B8{constructor(t,e,i,n){super(t,e,i,n),this.steps=new o.n_E,this.animationDone=new o.vpe,this.labelPosition="end",this._iconOverrides={},this._animationDone=new h.x;const r=i.nativeElement.nodeName.toLowerCase();this.orientation="mat-vertical-stepper"===r?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:t,templateRef:e})=>this._iconOverrides[t]=e),this.steps.changes.pipe((0,m.R)(this._destroyed)).subscribe(()=>{this._stateChanged()}),this._animationDone.pipe((0,g.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState),(0,m.R)(this._destroyed)).subscribe(t=>{"current"===t.toState&&this.animationDone.emit()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(v.Is,8),o.Y36(o.sBO),o.Y36(o.SBq),o.Y36(s.K0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,Q,5),o.Suo(i,G,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._steps=t),o.iGM(t=o.CRH())&&(e._icons=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(Y,5),2&t){let t;o.iGM(t=o.CRH())&&(e._stepHeader=t)}},hostAttrs:["role","tablist"],hostVars:9,hostBindings:function(t,e){2&t&&(o.uIk("aria-orientation",e.orientation),o.ekj("mat-stepper-horizontal","horizontal"===e.orientation)("mat-stepper-vertical","vertical"===e.orientation)("mat-stepper-label-position-end","horizontal"===e.orientation&&"end"==e.labelPosition)("mat-stepper-label-position-bottom","horizontal"===e.orientation&&"bottom"==e.labelPosition))},inputs:{selectedIndex:"selectedIndex",labelPosition:"labelPosition",disableRipple:"disableRipple",color:"color"},outputs:{animationDone:"animationDone"},exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"],features:[o._Bn([{provide:r.B8,useExisting:t},{provide:J,useExisting:t},{provide:X,useExisting:t}]),o.qOj],decls:5,vars:3,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],["stepTemplate",""],[1,"mat-horizontal-stepper-header-container"],[4,"ngFor","ngForOf"],[1,"mat-horizontal-content-container"],["class","mat-horizontal-stepper-content","role","tabpanel",3,"id",4,"ngFor","ngForOf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["class","mat-stepper-horizontal-line",4,"ngIf"],[1,"mat-stepper-horizontal-line"],["role","tabpanel",1,"mat-horizontal-stepper-content",3,"id"],[3,"ngTemplateOutlet"],["class","mat-step",4,"ngFor","ngForOf"],[1,"mat-step"],[1,"mat-vertical-content-container"],["role","tabpanel",1,"mat-vertical-stepper-content",3,"id"],[1,"mat-vertical-content"],[3,"tabIndex","id","index","state","label","selected","active","optional","errorMessage","iconOverrides","disableRipple","color","click","keydown"]],template:function(t,e){1&t&&(o.ynx(0,0),o.YNc(1,P,5,2,"ng-container",1),o.YNc(2,F,2,1,"ng-container",1),o.BQk(),o.YNc(3,N,1,22,"ng-template",null,2,o.W1O)),2&t&&(o.Q6J("ngSwitch",e.orientation),o.xp6(1),o.Q6J("ngSwitchCase","horizontal"),o.xp6(1),o.Q6J("ngSwitchCase","vertical"))},directives:[s.RF,s.n9,s.sg,s.tP,s.O5,Y],styles:['.mat-stepper-vertical,.mat-stepper-horizontal{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:"";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:"";position:absolute;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}\n'],encapsulation:2,data:{animation:[j.horizontalStepTransition,j.verticalStepTransition]},changeDetection:0}),t})(),$=(()=>{class t extends r.st{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(t,e){2&t&&o.Ikx("type",e.type)},inputs:{type:"type"},features:[o.qOj]}),t})(),tt=(()=>{class t extends r.po{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(t,e){2&t&&o.Ikx("type",e.type)},inputs:{type:"type"},features:[o.qOj]}),t})(),et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[q,l.rD],imports:[[l.BQ,s.ez,n.eL,a.ot,r.U5,c.Ps,l.si],l.BQ]}),t})()},7033:(t,e,i)=>{"use strict";i.d(e,{ev:()=>gt,Dz:()=>ht,w1:()=>ft,yh:()=>mt,mD:()=>dt,Q2:()=>wt,Ke:()=>bt,ge:()=>pt,fO:()=>ut,XQ:()=>_t,as:()=>yt,Gk:()=>xt,nj:()=>vt,BZ:()=>ct,by:()=>St,p0:()=>Ct});var n=i(9861),r=i(4230),s=i(1572),o=i(2526),a=i(1353),l=i(4894),c=i(1511),h=i(9666),u=i(5630),d=i(7425),f=i(4776),p=i(2041),m=i(9568),g=i(9056);const y=[[["caption"]],[["colgroup"],["col"]]],b=["caption","colgroup, col"];function v(t){return class extends t{constructor(...t){super(...t),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(t){const e=this._sticky;this._sticky=(0,n.Ig)(t),this._hasStickyChanged=e!==this._sticky}hasStickyChanged(){const t=this._hasStickyChanged;return this._hasStickyChanged=!1,t}resetStickyChanged(){this._hasStickyChanged=!1}}}const _=new s.OlP("CDK_TABLE");let w=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkCellDef",""]]}),t})(),x=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkHeaderCellDef",""]]}),t})(),C=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkFooterCellDef",""]]}),t})();class A{}const S=v(A);let k=(()=>{class t extends S{constructor(t){super(),this._table=t,this._stickyEnd=!1}get name(){return this._name}set name(t){this._setNameInput(t)}get stickyEnd(){return this._stickyEnd}set stickyEnd(t){const e=this._stickyEnd;this._stickyEnd=(0,n.Ig)(t),this._hasStickyChanged=e!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(t){t&&(this._name=t,this.cssClassFriendlyName=t.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,w,5),s.Suo(i,x,5),s.Suo(i,C,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.cell=t.first),s.iGM(t=s.CRH())&&(e.headerCell=t.first),s.iGM(t=s.CRH())&&(e.footerCell=t.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[s._Bn([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),s.qOj]}),t})();class M{constructor(t,e){const i=e.nativeElement.classList;for(const n of t._columnCssClassName)i.add(n)}}let E=(()=>{class t extends M{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(k),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[s.qOj]}),t})(),T=(()=>{class t extends M{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(k),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-footer-cell"],["td","cdk-footer-cell",""]],hostAttrs:["role","gridcell",1,"cdk-footer-cell"],features:[s.qOj]}),t})(),L=(()=>{class t extends M{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(k),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:["role","gridcell",1,"cdk-cell"],features:[s.qOj]}),t})();class I{constructor(){this.tasks=[],this.endTasks=[]}}const O=new s.OlP("_COALESCED_STYLE_SCHEDULER");let D=(()=>{class t{constructor(t){this._ngZone=t,this._currentSchedule=null,this._destroyed=new h.x}schedule(t){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(t)}scheduleEnd(t){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new I,this._getScheduleObservable().pipe((0,m.R)(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const t=this._currentSchedule;this._currentSchedule=new I;for(const e of t.tasks)e();for(const e of t.endTasks)e()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?(0,u.Dp)(Promise.resolve(void 0)):this._ngZone.onStable.pipe((0,g.q)(1))}}return t.\u0275fac=function(e){return new(e||t)(s.LFG(s.R0b))},t.\u0275prov=s.Yz7({token:t,factory:t.\u0275fac}),t})(),R=(()=>{class t{constructor(t,e){this.template=t,this._differs=e}ngOnChanges(t){if(!this._columnsDiffer){const e=t.columns&&t.columns.currentValue||[];this._columnsDiffer=this._differs.find(e).create(),this._columnsDiffer.diff(e)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(t){return this instanceof F?t.headerCell.template:this instanceof U?t.footerCell.template:t.cell.template}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4))},t.\u0275dir=s.lG2({type:t,features:[s.TTD]}),t})();class P extends R{}const Z=v(P);let F=(()=>{class t extends Z{constructor(t,e,i){super(t,e),this._table=i}ngOnChanges(t){super.ngOnChanges(t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[s.qOj,s.TTD]}),t})();class N extends R{}const B=v(N);let U=(()=>{class t extends B{constructor(t,e,i){super(t,e),this._table=i}ngOnChanges(t){super.ngOnChanges(t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[s.qOj,s.TTD]}),t})(),q=(()=>{class t extends R{constructor(t,e,i){super(t,e),this._table=i}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[s.qOj]}),t})(),z=(()=>{class t{constructor(e){this._viewContainer=e,t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkCellOutlet",""]]}),t.mostRecentCellOutlet=null,t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-footer-row"],["tr","cdk-footer-row",""]],hostAttrs:["role","row",1,"cdk-footer-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),j=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),G=(()=>{class t{constructor(t){this.templateRef=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["ng-template","cdkNoDataRow",""]]}),t})();const V=["top","bottom","left","right"];class Q{constructor(t,e,i,n,r=!0,s=!0,o){this._isNativeHtmlTable=t,this._stickCellCss=e,this.direction=i,this._coalescedStyleScheduler=n,this._isBrowser=r,this._needsPositionStickyOnElement=s,this._positionListener=o,this._cachedCellWidths=[],this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`}}clearStickyPositioning(t,e){const i=[];for(const n of t)if(n.nodeType===n.ELEMENT_NODE){i.push(n);for(let t=0;t{for(const t of i)this._removeStickyStyle(t,e)})}updateStickyColumns(t,e,i,n=!0){if(!t.length||!this._isBrowser||!e.some(t=>t)&&!i.some(t=>t))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const r=t[0],s=r.children.length,o=this._getCellWidths(r,n),a=this._getStickyStartColumnPositions(o,e),l=this._getStickyEndColumnPositions(o,i),c=e.lastIndexOf(!0),h=i.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const n="rtl"===this.direction,r=n?"right":"left",u=n?"left":"right";for(const o of t)for(let t=0;te[i]?t:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===h?[]:o.slice(h).map((t,e)=>i[e+h]?t:null).reverse()}))})}stickRows(t,e,i){if(!this._isBrowser)return;const n="bottom"===i?t.slice().reverse():t,r="bottom"===i?e.slice().reverse():e,s=[],o=[],a=[];for(let c=0,h=0;c{var t,e;for(let o=0;o{e.some(t=>!t)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1)})}_removeStickyStyle(t,e){for(const i of e)t.style[i]="",t.classList.remove(this._borderCellCss[i]);V.some(i=>-1===e.indexOf(i)&&t.style[i])?t.style.zIndex=this._getCalculatedZIndex(t):(t.style.zIndex="",this._needsPositionStickyOnElement&&(t.style.position=""),t.classList.remove(this._stickCellCss))}_addStickyStyle(t,e,i,n){t.classList.add(this._stickCellCss),n&&t.classList.add(this._borderCellCss[e]),t.style[e]=`${i}px`,t.style.zIndex=this._getCalculatedZIndex(t),this._needsPositionStickyOnElement&&(t.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(t){const e={top:100,bottom:10,left:1,right:1};let i=0;for(const n of V)t.style[n]&&(i+=e[n]);return i?`${i}`:""}_getCellWidths(t,e=!0){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;const i=[],n=t.children;for(let r=0;r0;r--)e[r]&&(i[r]=n,n+=t[r]);return i}}const W=new s.OlP("CDK_SPL");let J=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","rowOutlet",""]]}),t})(),X=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","headerRowOutlet",""]]}),t})(),K=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","footerRowOutlet",""]]}),t})(),$=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","noDataRowOutlet",""]]}),t})(),tt=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,u){this._differs=t,this._changeDetectorRef=e,this._elementRef=i,this._dir=r,this._platform=o,this._viewRepeater=a,this._coalescedStyleScheduler=l,this._viewportRuler=c,this._stickyPositioningListener=u,this._onDestroy=new h.x,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.viewChange=new d.X({start:0,end:Number.MAX_VALUE}),n||this._elementRef.nativeElement.setAttribute("role","grid"),this._document=s,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(t){this._trackByFn=t}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(t){this._multiTemplateDataRows=(0,n.Ig)(t),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(t){this._fixedLayout=(0,n.Ig)(t),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((t,e)=>this.trackBy?this.trackBy(e.dataIndex,e.data):e),this._viewportRuler.change().pipe((0,m.R)(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs();const t=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||t,this._forceRecalculateCellWidths=t,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){this._rowOutlet.viewContainer.clear(),this._noDataRowOutlet.viewContainer.clear(),this._headerRowOutlet.viewContainer.clear(),this._footerRowOutlet.viewContainer.clear(),this._cachedRenderRowsMap.clear(),this._onDestroy.next(),this._onDestroy.complete(),(0,r.Z9)(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const t=this._dataDiffer.diff(this._renderRows);if(!t)return void this._updateNoDataRow();const e=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(t,e,(t,e,i)=>this._getEmbeddedViewArgs(t.item,i),t=>t.item.data,t=>{1===t.operation&&t.context&&this._renderCellTemplateForItem(t.record.item.rowDef,t.context)}),this._updateRowIndexContext(),t.forEachIdentityChange(t=>{e.get(t.currentIndex).context.$implicit=t.item.data}),this._updateNoDataRow(),this.updateStickyColumnStyles()}addColumnDef(t){this._customColumnDefs.add(t)}removeColumnDef(t){this._customColumnDefs.delete(t)}addRowDef(t){this._customRowDefs.add(t)}removeRowDef(t){this._customRowDefs.delete(t)}addHeaderRowDef(t){this._customHeaderRowDefs.add(t),this._headerRowDefChanged=!0}removeHeaderRowDef(t){this._customHeaderRowDefs.delete(t),this._headerRowDefChanged=!0}addFooterRowDef(t){this._customFooterRowDefs.add(t),this._footerRowDefChanged=!0}removeFooterRowDef(t){this._customFooterRowDefs.delete(t),this._footerRowDefChanged=!0}setNoDataRow(t){this._customNoDataRow=t}updateStickyHeaderRowStyles(){const t=this._getRenderedRows(this._headerRowOutlet),e=this._elementRef.nativeElement.querySelector("thead");e&&(e.style.display=t.length?"":"none");const i=this._headerRowDefs.map(t=>t.sticky);this._stickyStyler.clearStickyPositioning(t,["top"]),this._stickyStyler.stickRows(t,i,"top"),this._headerRowDefs.forEach(t=>t.resetStickyChanged())}updateStickyFooterRowStyles(){const t=this._getRenderedRows(this._footerRowOutlet),e=this._elementRef.nativeElement.querySelector("tfoot");e&&(e.style.display=t.length?"":"none");const i=this._footerRowDefs.map(t=>t.sticky);this._stickyStyler.clearStickyPositioning(t,["bottom"]),this._stickyStyler.stickRows(t,i,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,i),this._footerRowDefs.forEach(t=>t.resetStickyChanged())}updateStickyColumnStyles(){const t=this._getRenderedRows(this._headerRowOutlet),e=this._getRenderedRows(this._rowOutlet),i=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...t,...e,...i],["left","right"]),this._stickyColumnStylesNeedReset=!1),t.forEach((t,e)=>{this._addStickyColumnStyles([t],this._headerRowDefs[e])}),this._rowDefs.forEach(t=>{const i=[];for(let n=0;n{this._addStickyColumnStyles([t],this._footerRowDefs[e])}),Array.from(this._columnDefsByName.values()).forEach(t=>t.resetStickyChanged())}_getAllRenderRows(){const t=[],e=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let i=0;i{const r=i&&i.has(n)?i.get(n):[];if(r.length){const t=r.shift();return t.dataIndex=e,t}return{data:t,rowDef:n,dataIndex:e}})}_cacheColumnDefs(){this._columnDefsByName.clear(),et(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(t=>{this._columnDefsByName.has(t.name),this._columnDefsByName.set(t.name,t)})}_cacheRowDefs(){this._headerRowDefs=et(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=et(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=et(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const t=this._rowDefs.filter(t=>!t.when);this._defaultRowDef=t[0]}_renderUpdatedColumns(){const t=(t,e)=>t||!!e.getColumnsDiff(),e=this._rowDefs.reduce(t,!1);e&&this._forceRenderDataRows();const i=this._headerRowDefs.reduce(t,!1);i&&this._forceRenderHeaderRows();const n=this._footerRowDefs.reduce(t,!1);return n&&this._forceRenderFooterRows(),e||i||n}_switchDataSource(t){this._data=[],(0,r.Z9)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),t||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=t}_observeRenderChanges(){if(!this.dataSource)return;let t;(0,r.Z9)(this.dataSource)?t=this.dataSource.connect(this):(0,f.b)(this.dataSource)?t=this.dataSource:Array.isArray(this.dataSource)&&(t=(0,p.of)(this.dataSource)),this._renderChangeSubscription=t.pipe((0,m.R)(this._onDestroy)).subscribe(t=>{this._data=t||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((t,e)=>this._renderRow(this._headerRowOutlet,t,e)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((t,e)=>this._renderRow(this._footerRowOutlet,t,e)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(t,e){const i=Array.from(e.columns||[]).map(t=>this._columnDefsByName.get(t)),n=i.map(t=>t.sticky),r=i.map(t=>t.stickyEnd);this._stickyStyler.updateStickyColumns(t,n,r,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(t){const e=[];for(let i=0;i!i.when||i.when(e,t));else{let n=this._rowDefs.find(i=>i.when&&i.when(e,t))||this._defaultRowDef;n&&i.push(n)}return i}_getEmbeddedViewArgs(t,e){return{templateRef:t.rowDef.template,context:{$implicit:t.data},index:e}}_renderRow(t,e,i,n={}){const r=t.viewContainer.createEmbeddedView(e.template,n,i);return this._renderCellTemplateForItem(e,n),r}_renderCellTemplateForItem(t,e){for(let i of this._getCellTemplates(t))z.mostRecentCellOutlet&&z.mostRecentCellOutlet._viewContainer.createEmbeddedView(i,e);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const t=this._rowOutlet.viewContainer;for(let e=0,i=t.length;e{const i=this._columnDefsByName.get(e);return t.extractCellTemplate(i)}):[]}_applyNativeTableSections(){const t=this._document.createDocumentFragment(),e=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const i of e){const e=this._document.createElement(i.tag);e.setAttribute("role","rowgroup");for(const t of i.outlets)e.appendChild(t.elementRef.nativeElement);t.appendChild(e)}this._elementRef.nativeElement.appendChild(t)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const t=(t,e)=>t||e.hasStickyChanged();this._headerRowDefs.reduce(t,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(t,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(t,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){this._stickyStyler=new Q(this._isNativeHtmlTable,this.stickyCssClass,this._dir?this._dir.value:"ltr",this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:(0,p.of)()).pipe((0,m.R)(this._onDestroy)).subscribe(t=>{this._stickyStyler.direction=t,this.updateStickyColumnStyles()})}_getOwnDefs(t){return t.filter(t=>!t._table||t._table===this)}_updateNoDataRow(){const t=this._customNoDataRow||this._noDataRow;if(t){const e=0===this._rowOutlet.viewContainer.length;if(e!==this._isShowingNoDataRow){const i=this._noDataRowOutlet.viewContainer;e?i.createEmbeddedView(t.templateRef):i.clear(),this._isShowingNoDataRow=e}}}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.ZZ4),s.Y36(s.sBO),s.Y36(s.SBq),s.$8M("role"),s.Y36(o.Is,8),s.Y36(c.K0),s.Y36(a.t4),s.Y36(r.k),s.Y36(O),s.Y36(l.rL),s.Y36(W,12))},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,G,5),s.Suo(i,k,5),s.Suo(i,q,5),s.Suo(i,F,5),s.Suo(i,U,5)),2&t){let t;s.iGM(t=s.CRH())&&(e._noDataRow=t.first),s.iGM(t=s.CRH())&&(e._contentColumnDefs=t),s.iGM(t=s.CRH())&&(e._contentRowDefs=t),s.iGM(t=s.CRH())&&(e._contentHeaderRowDefs=t),s.iGM(t=s.CRH())&&(e._contentFooterRowDefs=t)}},viewQuery:function(t,e){if(1&t&&(s.Gf(J,7),s.Gf(X,7),s.Gf(K,7),s.Gf($,7)),2&t){let t;s.iGM(t=s.CRH())&&(e._rowOutlet=t.first),s.iGM(t=s.CRH())&&(e._headerRowOutlet=t.first),s.iGM(t=s.CRH())&&(e._footerRowOutlet=t.first),s.iGM(t=s.CRH())&&(e._noDataRowOutlet=t.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("cdk-table-fixed-layout",e.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},exportAs:["cdkTable"],features:[s._Bn([{provide:_,useExisting:t},{provide:r.k,useClass:r.yy},{provide:O,useClass:D},{provide:W,useValue:null}])],ngContentSelectors:b,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,e){1&t&&(s.F$t(y),s.Hsn(0),s.Hsn(1,1),s.GkF(2,0),s.GkF(3,1),s.GkF(4,2),s.GkF(5,3))},directives:[X,J,$,K],styles:[".cdk-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})();function et(t,e){return t.concat(Array.from(e))}let it=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[l.Cl]]}),t})();var nt=i(1522),rt=i(5446),st=i(5868),ot=i(1681);const at=[[["caption"]],[["colgroup"],["col"]]],lt=["caption","colgroup, col"];let ct=(()=>{class t extends tt{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("mat-table-fixed-layout",e.fixedLayout)},exportAs:["matTable"],features:[s._Bn([{provide:r.k,useClass:r.yy},{provide:tt,useExisting:t},{provide:_,useExisting:t},{provide:O,useClass:D},{provide:W,useValue:null}]),s.qOj],ngContentSelectors:lt,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,e){1&t&&(s.F$t(at),s.Hsn(0),s.Hsn(1,1),s.GkF(2,0),s.GkF(3,1),s.GkF(4,2),s.GkF(5,3))},directives:[X,J,$,K],styles:['mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:""}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n'],encapsulation:2}),t})(),ht=(()=>{class t extends w{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matCellDef",""]],features:[s._Bn([{provide:w,useExisting:t}]),s.qOj]}),t})(),ut=(()=>{class t extends x{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matHeaderCellDef",""]],features:[s._Bn([{provide:x,useExisting:t}]),s.qOj]}),t})(),dt=(()=>{class t extends C{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matFooterCellDef",""]],features:[s._Bn([{provide:C,useExisting:t}]),s.qOj]}),t})(),ft=(()=>{class t extends k{get name(){return this._name}set name(t){this._setNameInput(t)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[s._Bn([{provide:k,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),s.qOj]}),t})(),pt=(()=>{class t extends E{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[s.qOj]}),t})(),mt=(()=>{class t extends T{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-footer-cell"],["td","mat-footer-cell",""]],hostAttrs:["role","gridcell",1,"mat-footer-cell"],features:[s.qOj]}),t})(),gt=(()=>{class t extends L{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[s.qOj]}),t})(),yt=(()=>{class t extends F{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[s._Bn([{provide:F,useExisting:t}]),s.qOj]}),t})(),bt=(()=>{class t extends U{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matFooterRowDef",""]],inputs:{columns:["matFooterRowDef","columns"],sticky:["matFooterRowDefSticky","sticky"]},features:[s._Bn([{provide:U,useExisting:t}]),s.qOj]}),t})(),vt=(()=>{class t extends q{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[s._Bn([{provide:q,useExisting:t}]),s.qOj]}),t})(),_t=(()=>{class t extends H{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[s._Bn([{provide:H,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),wt=(()=>{class t extends Y{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-footer-row"],["tr","mat-footer-row",""]],hostAttrs:["role","row",1,"mat-footer-row"],exportAs:["matFooterRow"],features:[s._Bn([{provide:Y,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),xt=(()=>{class t extends j{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[s._Bn([{provide:j,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),Ct=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[it,nt.BQ],nt.BQ]}),t})();class At extends r.o2{constructor(t=[]){super(),this._renderData=new d.X([]),this._filter=new d.X(""),this._internalPageChanges=new h.x,this._renderChangesSubscription=null,this.sortingDataAccessor=(t,e)=>{const i=t[e];if((0,n.t6)(i)){const t=Number(i);return t<9007199254740991?t:i}return i},this.sortData=(t,e)=>{const i=e.active,n=e.direction;return i&&""!=n?t.sort((t,e)=>{let r=this.sortingDataAccessor(t,i),s=this.sortingDataAccessor(e,i);const o=typeof r,a=typeof s;o!==a&&("number"===o&&(r+=""),"number"===a&&(s+=""));let l=0;return null!=r&&null!=s?r>s?l=1:r{const i=Object.keys(t).reduce((e,i)=>e+t[i]+"\u25ec","").toLowerCase(),n=e.trim().toLowerCase();return-1!=i.indexOf(n)},this._data=new d.X(t),this._updateChangeSubscription()}get data(){return this._data.value}set data(t){this._data.next(t),this._renderChangesSubscription||this._filterData(t)}get filter(){return this._filter.value}set filter(t){this._filter.next(t),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(t){this._sort=t,this._updateChangeSubscription()}get paginator(){return this._paginator}set paginator(t){this._paginator=t,this._updateChangeSubscription()}_updateChangeSubscription(){var t;const e=this._sort?(0,rt.T)(this._sort.sortChange,this._sort.initialized):(0,p.of)(null),i=this._paginator?(0,rt.T)(this._paginator.page,this._internalPageChanges,this._paginator.initialized):(0,p.of)(null),n=(0,st.a)([this._data,this._filter]).pipe((0,ot.U)(([t])=>this._filterData(t))),r=(0,st.a)([n,e]).pipe((0,ot.U)(([t])=>this._orderData(t))),s=(0,st.a)([r,i]).pipe((0,ot.U)(([t])=>this._pageData(t)));null===(t=this._renderChangesSubscription)||void 0===t||t.unsubscribe(),this._renderChangesSubscription=s.subscribe(t=>this._renderData.next(t))}_filterData(t){return this.filteredData=null==this.filter||""===this.filter?t:t.filter(t=>this.filterPredicate(t,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(t){return this.sort?this.sortData(t.slice(),this.sort):t}_pageData(t){if(!this.paginator)return t;const e=this.paginator.pageIndex*this.paginator.pageSize;return t.slice(e,e+this.paginator.pageSize)}_updatePaginator(t){Promise.resolve().then(()=>{const e=this.paginator;if(e&&(e.length=t,e.pageIndex>0)){const t=Math.ceil(e.length/e.pageSize)-1||0,i=Math.min(e.pageIndex,t);i!==e.pageIndex&&(e.pageIndex=i,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){var t;null===(t=this._renderChangesSubscription)||void 0===t||t.unsubscribe(),this._renderChangesSubscription=null}}class St extends At{}},5109:(t,e,i)=>{"use strict";i.d(e,{uX:()=>J,SP:()=>at,uD:()=>G,Nj:()=>_t,BU:()=>gt,Nh:()=>wt});var n=i(4621),r=i(6337),s=i(6899),o=i(1511),a=i(1572),l=i(1522),c=i(3490),h=i(9666),u=i(6042),d=i(5446),f=i(5960),p=i(2041),m=i(8431),g=i(709),y=i(1258),b=i(6424),v=i(9568),_=i(9861),w=i(1353),x=i(5842),C=i(2526),A=i(4894);function S(t,e){1&t&&a.Hsn(0)}const k=["*"];function M(t,e){}const E=function(t){return{animationDuration:t}},T=function(t,e){return{value:t,params:e}},L=["tabBodyWrapper"],I=["tabHeader"];function O(t,e){}function D(t,e){if(1&t&&a.YNc(0,O,0,0,"ng-template",9),2&t){const t=a.oxw().$implicit;a.Q6J("cdkPortalOutlet",t.templateLabel)}}function R(t,e){if(1&t&&a._uU(0),2&t){const t=a.oxw().$implicit;a.Oqu(t.textLabel)}}function P(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"div",6),a.NdJ("click",function(){const e=a.CHM(t),i=e.$implicit,n=e.index,r=a.oxw(),s=a.MAs(1);return r._handleClick(i,s,n)})("cdkFocusChange",function(e){const i=a.CHM(t).index;return a.oxw()._tabFocusChanged(e,i)}),a.TgZ(1,"div",7),a.YNc(2,D,1,1,"ng-template",8),a.YNc(3,R,1,1,"ng-template",8),a.qZA(),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.ekj("mat-tab-label-active",n.selectedIndex==i),a.Q6J("id",n._getTabLabelId(i))("disabled",t.disabled)("matRippleDisabled",t.disabled||n.disableRipple),a.uIk("tabIndex",n._getTabIndex(t,i))("aria-posinset",i+1)("aria-setsize",n._tabs.length)("aria-controls",n._getTabContentId(i))("aria-selected",n.selectedIndex==i)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),a.xp6(2),a.Q6J("ngIf",t.templateLabel),a.xp6(1),a.Q6J("ngIf",!t.templateLabel)}}function Z(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-tab-body",10),a.NdJ("_onCentered",function(){return a.CHM(t),a.oxw()._removeTabBodyWrapperHeight()})("_onCentering",function(e){return a.CHM(t),a.oxw()._setTabBodyWrapperHeight(e)}),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.ekj("mat-tab-body-active",n.selectedIndex==i),a.Q6J("id",n._getTabContentId(i))("content",t.content)("position",t.position)("origin",t.origin)("animationDuration",n.animationDuration),a.uIk("aria-labelledby",n._getTabLabelId(i))}}const F=["tabListContainer"],N=["tabList"],B=["nextPaginator"],U=["previousPaginator"],q=["mat-tab-nav-bar",""],z=new a.OlP("MatInkBarPositioner",{providedIn:"root",factory:function(){return t=>({left:t?(t.offsetLeft||0)+"px":"0",width:t?(t.offsetWidth||0)+"px":"0"})}});let H=(()=>{class t{constructor(t,e,i,n){this._elementRef=t,this._ngZone=e,this._inkBarPositioner=i,this._animationMode=n}alignToElement(t){this.show(),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._setStyles(t))}):this._setStyles(t)}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}_setStyles(t){const e=this._inkBarPositioner(t),i=this._elementRef.nativeElement;i.style.left=e.left,i.style.width=e.width}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.R0b),a.Y36(z),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(t,e){2&t&&a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)}}),t})();const Y=new a.OlP("MatTabContent"),j=new a.OlP("MatTabLabel");let G=(()=>{class t extends s.ig{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=a.n5z(t)))(i||t)}}(),t.\u0275dir=a.lG2({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[a._Bn([{provide:j,useExisting:t}]),a.qOj]}),t})();class V{}const Q=(0,l.Id)(V),W=new a.OlP("MAT_TAB_GROUP");let J=(()=>{class t extends Q{constructor(t,e){super(),this._viewContainerRef=t,this._closestTabGroup=e,this.textLabel="",this._contentPortal=null,this._stateChanges=new h.x,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(t){this._setTemplateLabelInput(t)}get content(){return this._contentPortal}ngOnChanges(t){(t.hasOwnProperty("textLabel")||t.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new s.UE(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(t){t&&(this._templateLabel=t)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.s_b),a.Y36(W,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab"]],contentQueries:function(t,e,i){if(1&t&&(a.Suo(i,j,5),a.Suo(i,Y,7,a.Rgc)),2&t){let t;a.iGM(t=a.CRH())&&(e.templateLabel=t.first),a.iGM(t=a.CRH())&&(e._explicitContent=t.first)}},viewQuery:function(t,e){if(1&t&&a.Gf(a.Rgc,7),2&t){let t;a.iGM(t=a.CRH())&&(e._implicitContent=t.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"]},exportAs:["matTab"],features:[a.qOj,a.TTD],ngContentSelectors:k,decls:1,vars:0,template:function(t,e){1&t&&(a.F$t(),a.YNc(0,S,1,0,"ng-template"))},encapsulation:2}),t})();const X={translateTab:(0,g.X$)("translateTab",[(0,g.SB)("center, void, left-origin-center, right-origin-center",(0,g.oB)({transform:"none"})),(0,g.SB)("left",(0,g.oB)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),(0,g.SB)("right",(0,g.oB)({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),(0,g.eR)("* => left, * => right, left => center, right => center",(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),(0,g.eR)("void => left-origin-center",[(0,g.oB)({transform:"translate3d(-100%, 0, 0)"}),(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),(0,g.eR)("void => right-origin-center",[(0,g.oB)({transform:"translate3d(100%, 0, 0)"}),(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let K=(()=>{class t extends s.Pl{constructor(t,e,i,n){super(t,e,n),this._host=i,this._centeringSub=u.w0.EMPTY,this._leavingSub=u.w0.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe((0,y.O)(this._host._isCenterPosition(this._host._position))).subscribe(t=>{t&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a._Vd),a.Y36(a.s_b),a.Y36((0,a.Gpc)(()=>tt)),a.Y36(o.K0))},t.\u0275dir=a.lG2({type:t,selectors:[["","matTabBodyHost",""]],features:[a.qOj]}),t})(),$=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._dir=e,this._dirChangeSubscription=u.w0.EMPTY,this._translateTabComplete=new h.x,this._onCentering=new a.vpe,this._beforeCentering=new a.vpe,this._afterLeavingCenter=new a.vpe,this._onCentered=new a.vpe(!0),this.animationDuration="500ms",e&&(this._dirChangeSubscription=e.change.subscribe(t=>{this._computePositionAnimationState(t),i.markForCheck()})),this._translateTabComplete.pipe((0,b.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{this._isCenterPosition(t.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(t.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(t){this._positionIndex=t,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(t){const e=this._isCenterPosition(t.toState);this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(t){return"center"==t||"left-origin-center"==t||"right-origin-center"==t}_computePositionAnimationState(t=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==t?"left":"right":this._positionIndex>0?"ltr"==t?"right":"left":"center"}_computePositionFromOrigin(t){const e=this._getLayoutDirection();return"ltr"==e&&t<=0||"rtl"==e&&t>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.sBO))},t.\u0275dir=a.lG2({type:t,inputs:{animationDuration:"animationDuration",position:"position",_content:["content","_content"],origin:"origin"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),tt=(()=>{class t extends ${constructor(t,e,i){super(t,e,i)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-body"]],viewQuery:function(t,e){if(1&t&&a.Gf(s.Pl,5),2&t){let t;a.iGM(t=a.CRH())&&(e._portalHost=t.first)}},hostAttrs:[1,"mat-tab-body"],features:[a.qOj],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(t,e){1&t&&(a.TgZ(0,"div",0,1),a.NdJ("@translateTab.start",function(t){return e._onTranslateTabStarted(t)})("@translateTab.done",function(t){return e._translateTabComplete.next(t)}),a.YNc(2,M,0,0,"ng-template",2),a.qZA()),2&t&&a.Q6J("@translateTab",a.WLB(3,T,e._position,a.VKq(1,E,e.animationDuration)))},directives:[K],styles:[".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}\n"],encapsulation:2,data:{animation:[X.translateTab]}}),t})();const et=new a.OlP("MAT_TABS_CONFIG");let it=0;class nt{}class rt{constructor(t){this._elementRef=t}}const st=(0,l.pj)((0,l.Kr)(rt),"primary");let ot=(()=>{class t extends st{constructor(t,e,i,n){super(t),this._changeDetectorRef=e,this._animationMode=n,this._tabs=new a.n_E,this._indexToSelect=0,this._tabBodyWrapperHeight=0,this._tabsSubscription=u.w0.EMPTY,this._tabLabelSubscription=u.w0.EMPTY,this._selectedIndex=null,this.headerPosition="above",this.selectedIndexChange=new a.vpe,this.focusChange=new a.vpe,this.animationDone=new a.vpe,this.selectedTabChange=new a.vpe(!0),this._groupId=it++,this.animationDuration=i&&i.animationDuration?i.animationDuration:"500ms",this.disablePagination=!(!i||null==i.disablePagination)&&i.disablePagination,this.dynamicHeight=!(!i||null==i.dynamicHeight)&&i.dynamicHeight}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(t){this._dynamicHeight=(0,_.Ig)(t)}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=(0,_.su)(t,null)}get animationDuration(){return this._animationDuration}set animationDuration(t){this._animationDuration=/^\d+$/.test(t)?t+"ms":t}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){const e=this._elementRef.nativeElement;e.classList.remove(`mat-background-${this.backgroundColor}`),t&&e.classList.add(`mat-background-${t}`),this._backgroundColor=t}ngAfterContentChecked(){const t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){const e=null==this._selectedIndex;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));const e=this._tabBodyWrapper.nativeElement;e.style.minHeight=e.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((e,i)=>e.isActive=i===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,i)=>{e.position=i-t,null==this._selectedIndex||0!=e.position||e.origin||(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{if(this._clampTabIndex(this._indexToSelect)===this._selectedIndex){const t=this._tabs.toArray();for(let e=0;e{this._tabs.reset(t.filter(t=>t._closestTabGroup===this||!t._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}focusTab(t){const e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){const e=new nt;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=(0,d.T)(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t){return`mat-tab-label-${this._groupId}-${t}`}_getTabContentId(t){return`mat-tab-content-${this._groupId}-${t}`}_setTabBodyWrapperHeight(t){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){const t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=t.clientHeight,t.style.height="",this.animationDone.emit()}_handleClick(t,e,i){t.disabled||(this.selectedIndex=e.focusIndex=i)}_getTabIndex(t,e){return t.disabled?null:this.selectedIndex===e?0:-1}_tabFocusChanged(t,e){t&&(this._tabHeader.focusIndex=e)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(et,8),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{headerPosition:"headerPosition",animationDuration:"animationDuration",disablePagination:"disablePagination",dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[a.qOj]}),t})(),at=(()=>{class t extends ot{constructor(t,e,i,n){super(t,e,i,n)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(et,8),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-group"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,J,5),2&t){let t;a.iGM(t=a.CRH())&&(e._allTabs=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(L,5),a.Gf(I,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._tabBodyWrapper=t.first),a.iGM(t=a.CRH())&&(e._tabHeader=t.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-group-dynamic-height",e.dynamicHeight)("mat-tab-group-inverted-header","below"===e.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[a._Bn([{provide:W,useExisting:t}]),a.qOj],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","content","position","origin","animationDuration","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","content","position","origin","animationDuration","_onCentered","_onCentering"]],template:function(t,e){1&t&&(a.TgZ(0,"mat-tab-header",0,1),a.NdJ("indexFocused",function(t){return e._focusChanged(t)})("selectFocusedIndex",function(t){return e.selectedIndex=t}),a.YNc(2,P,4,14,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.YNc(5,Z,1,8,"mat-tab-body",5),a.qZA()),2&t&&(a.Q6J("selectedIndex",e.selectedIndex||0)("disableRipple",e.disableRipple)("disablePagination",e.disablePagination),a.xp6(2),a.Q6J("ngForOf",e._tabs),a.xp6(1),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(2),a.Q6J("ngForOf",e._tabs))},directives:function(){return[pt,o.sg,ht,l.wG,n.kH,o.O5,s.Pl,tt]},styles:[".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"],encapsulation:2}),t})();class lt{}const ct=(0,l.Id)(lt);let ht=(()=>{class t extends ct{constructor(t){super(),this.elementRef=t}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq))},t.\u0275dir=a.lG2({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(t,e){2&t&&(a.uIk("aria-disabled",!!e.disabled),a.ekj("mat-tab-disabled",e.disabled))},inputs:{disabled:"disabled"},features:[a.qOj]}),t})();const ut=(0,w.i$)({passive:!0});let dt=(()=>{class t{constructor(t,e,i,n,r,s,o){this._elementRef=t,this._changeDetectorRef=e,this._viewportRuler=i,this._dir=n,this._ngZone=r,this._platform=s,this._animationMode=o,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new h.x,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new h.x,this.disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new a.vpe,this.indexFocused=new a.vpe,r.runOutsideAngular(()=>{(0,f.R)(t.nativeElement,"mouseleave").pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){t=(0,_.su)(t),this._selectedIndex!=t&&(this._selectedIndexChanged=!0,this._selectedIndex=t,this._keyManager&&this._keyManager.updateActiveItem(t))}ngAfterViewInit(){(0,f.R)(this._previousPaginator.nativeElement,"touchstart",ut).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),(0,f.R)(this._nextPaginator.nativeElement,"touchstart",ut).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const t=this._dir?this._dir.change:(0,p.of)("ltr"),e=this._viewportRuler.change(150),i=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new n.Em(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(i):i(),(0,d.T)(t,e,this._items.changes).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>Promise.resolve().then(i)),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe((0,v.R)(this._destroyed)).subscribe(t=>{this.indexFocused.emit(t),this._setTabFocus(t)})}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(t){if(!(0,x.Vb)(t))switch(t.keyCode){case x.K5:case x.L_:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(t));break;default:this._keyManager.onKeydown(t)}}_onContentChanges(){const t=this._elementRef.nativeElement.textContent;t!==this._currentTextContent&&(this._currentTextContent=t||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(t){this._isValidIndex(t)&&this.focusIndex!==t&&this._keyManager&&this._keyManager.setActiveItem(t)}_isValidIndex(t){if(!this._items)return!0;const e=this._items?this._items.toArray()[t]:null;return!!e&&!e.disabled}_setTabFocus(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._items&&this._items.length){this._items.toArray()[t].focus();const e=this._tabListContainer.nativeElement,i=this._getLayoutDirection();e.scrollLeft="ltr"==i?0:e.scrollWidth-e.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const t=this.scrollDistance,e="ltr"===this._getLayoutDirection()?-t:t;this._tabList.nativeElement.style.transform=`translateX(${Math.round(e)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(t){this._scrollTo(t)}_scrollHeader(t){return this._scrollTo(this._scrollDistance+("before"==t?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(t){this._stopInterval(),this._scrollHeader(t)}_scrollToLabel(t){if(this.disablePagination)return;const e=this._items?this._items.toArray()[t]:null;if(!e)return;const i=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:n,offsetWidth:r}=e.elementRef.nativeElement;let s,o;"ltr"==this._getLayoutDirection()?(s=n,o=s+r):(o=this._tabList.nativeElement.offsetWidth-n,s=o-r);const a=this.scrollDistance,l=this.scrollDistance+i;sl&&(this.scrollDistance+=o-l+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const t=this._tabList.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;t||(this.scrollDistance=0),t!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=t}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabList.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const t=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,e=t?t.elementRef.nativeElement:null;e?this._inkBar.alignToElement(e):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(t,e){e&&null!=e.button&&0!==e.button||(this._stopInterval(),(0,m.H)(650,100).pipe((0,v.R)((0,d.T)(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:e,distance:i}=this._scrollHeader(t);(0===i||i>=e)&&this._stopInterval()}))}_scrollTo(t){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),ft=(()=>{class t extends dt{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,_.Ig)(t)}_itemSelected(t){t.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{disableRipple:"disableRipple"},features:[a.qOj]}),t})(),pt=(()=>{class t extends ft{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-header"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,ht,4),2&t){let t;a.iGM(t=a.CRH())&&(e._items=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(H,7),a.Gf(F,7),a.Gf(N,7),a.Gf(B,5),a.Gf(U,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._inkBar=t.first),a.iGM(t=a.CRH())&&(e._tabListContainer=t.first),a.iGM(t=a.CRH())&&(e._tabList=t.first),a.iGM(t=a.CRH())&&(e._nextPaginator=t.first),a.iGM(t=a.CRH())&&(e._previousPaginator=t.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-header-pagination-controls-enabled",e._showPaginationControls)("mat-tab-header-rtl","rtl"==e._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[a.qOj],ngContentSelectors:k,decls:13,vars:8,consts:[["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0,1),a.NdJ("click",function(){return e._handlePaginatorClick("before")})("mousedown",function(t){return e._handlePaginatorPress("before",t)})("touchend",function(){return e._stopInterval()}),a._UZ(2,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.NdJ("keydown",function(t){return e._handleKeydown(t)}),a.TgZ(5,"div",5,6),a.NdJ("cdkObserveContent",function(){return e._onContentChanges()}),a.TgZ(7,"div",7),a.Hsn(8),a.qZA(),a._UZ(9,"mat-ink-bar"),a.qZA(),a.qZA(),a.TgZ(10,"div",8,9),a.NdJ("mousedown",function(t){return e._handlePaginatorPress("after",t)})("click",function(){return e._handlePaginatorClick("after")})("touchend",function(){return e._stopInterval()}),a._UZ(12,"div",2),a.qZA()),2&t&&(a.ekj("mat-tab-header-pagination-disabled",e._disableScrollBefore),a.Q6J("matRippleDisabled",e._disableScrollBefore||e.disableRipple),a.xp6(5),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(5),a.ekj("mat-tab-header-pagination-disabled",e._disableScrollAfter),a.Q6J("matRippleDisabled",e._disableScrollAfter||e.disableRipple))},directives:[l.wG,r.wD,H],styles:['.mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:"";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n'],encapsulation:2}),t})(),mt=(()=>{class t extends dt{constructor(t,e,i,n,r,s,o){super(t,n,r,e,i,s,o),this._disableRipple=!1,this.color="primary"}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){const e=this._elementRef.nativeElement.classList;e.remove(`mat-background-${this.backgroundColor}`),t&&e.add(`mat-background-${t}`),this._backgroundColor=t}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,_.Ig)(t)}_itemSelected(){}ngAfterContentInit(){this._items.changes.pipe((0,y.O)(null),(0,v.R)(this._destroyed)).subscribe(()=>{this.updateActiveLink()}),super.ngAfterContentInit()}updateActiveLink(){if(!this._items)return;const t=this._items.toArray();for(let e=0;e{class t extends mt{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["","mat-tab-nav-bar",""]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,_t,5),2&t){let t;a.iGM(t=a.CRH())&&(e._items=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(H,7),a.Gf(F,7),a.Gf(N,7),a.Gf(B,5),a.Gf(U,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._inkBar=t.first),a.iGM(t=a.CRH())&&(e._tabListContainer=t.first),a.iGM(t=a.CRH())&&(e._tabList=t.first),a.iGM(t=a.CRH())&&(e._nextPaginator=t.first),a.iGM(t=a.CRH())&&(e._previousPaginator=t.first)}},hostAttrs:[1,"mat-tab-nav-bar","mat-tab-header"],hostVars:10,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-header-pagination-controls-enabled",e._showPaginationControls)("mat-tab-header-rtl","rtl"==e._getLayoutDirection())("mat-primary","warn"!==e.color&&"accent"!==e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color)},inputs:{color:"color"},exportAs:["matTabNavBar","matTabNav"],features:[a.qOj],attrs:q,ngContentSelectors:k,decls:13,vars:8,consts:[["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-link-container",3,"keydown"],["tabListContainer",""],[1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-links"],["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0,1),a.NdJ("click",function(){return e._handlePaginatorClick("before")})("mousedown",function(t){return e._handlePaginatorPress("before",t)})("touchend",function(){return e._stopInterval()}),a._UZ(2,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.NdJ("keydown",function(t){return e._handleKeydown(t)}),a.TgZ(5,"div",5,6),a.NdJ("cdkObserveContent",function(){return e._onContentChanges()}),a.TgZ(7,"div",7),a.Hsn(8),a.qZA(),a._UZ(9,"mat-ink-bar"),a.qZA(),a.qZA(),a.TgZ(10,"div",8,9),a.NdJ("mousedown",function(t){return e._handlePaginatorPress("after",t)})("click",function(){return e._handlePaginatorClick("after")})("touchend",function(){return e._stopInterval()}),a._UZ(12,"div",2),a.qZA()),2&t&&(a.ekj("mat-tab-header-pagination-disabled",e._disableScrollBefore),a.Q6J("matRippleDisabled",e._disableScrollBefore||e.disableRipple),a.xp6(5),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(5),a.ekj("mat-tab-header-pagination-disabled",e._disableScrollAfter),a.Q6J("matRippleDisabled",e._disableScrollAfter||e.disableRipple))},directives:[l.wG,r.wD,H],styles:['.mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:"";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\n'],encapsulation:2}),t})();class yt{}const bt=(0,l.sb)((0,l.Kr)((0,l.Id)(yt)));let vt=(()=>{class t extends bt{constructor(t,e,i,n,r,s){super(),this._tabNavBar=t,this.elementRef=e,this._focusMonitor=r,this._isActive=!1,this.rippleConfig=i||{},this.tabIndex=parseInt(n)||0,"NoopAnimations"===s&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get active(){return this._isActive}set active(t){(0,_.Ig)(t)!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink())}get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.elementRef)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(mt),a.Y36(a.SBq),a.Y36(l.Y2,8),a.$8M("tabindex"),a.Y36(n.tE),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{active:"active"},features:[a.qOj]}),t})(),_t=(()=>{class t extends vt{constructor(t,e,i,n,r,s,o,a){super(t,e,r,s,o,a),this._tabLinkRipple=new l.IR(this,i,e,n),this._tabLinkRipple.setupTriggerEvents(e.nativeElement)}ngOnDestroy(){super.ngOnDestroy(),this._tabLinkRipple._removeTriggerEvents()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(gt),a.Y36(a.SBq),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(l.Y2,8),a.$8M("tabindex"),a.Y36(n.tE),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mat-tab-link","mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){2&t&&(a.uIk("aria-current",e.active?"page":null)("aria-disabled",e.disabled)("tabIndex",e.tabIndex),a.ekj("mat-tab-disabled",e.disabled)("mat-tab-label-active",e.active))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matTabLink"],features:[a.qOj]}),t})(),wt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[o.ez,l.BQ,s.eL,l.si,r.Q8,n.rt],l.BQ]}),t})()},3104:(t,e,i)=>{"use strict";i.d(e,{Ye:()=>d,g0:()=>f});var n=i(1522),r=i(1511),s=i(1572),o=i(1353);const a=["*",[["mat-toolbar-row"]]],l=["*","mat-toolbar-row"];class c{constructor(t){this._elementRef=t}}const h=(0,n.pj)(c);let u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),d=(()=>{class t extends h{constructor(t,e,i){super(t),this._platform=e,this._document=i}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(o.t4),s.Y36(r.K0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,i){if(1&t&&s.Suo(i,u,5),2&t){let t;s.iGM(t=s.CRH())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&s.ekj("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[s.qOj],ngContentSelectors:l,decls:2,vars:0,template:function(t,e){1&t&&(s.F$t(a),s.Hsn(0),s.Hsn(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[n.BQ],n.BQ]}),t})()},6828:(t,e,i)=>{"use strict";i.d(e,{gM:()=>S,AV:()=>E});var n=i(369),r=i(4621),s=i(1511),o=i(1572),a=i(1522),l=i(4894),c=i(9861),h=i(5842),u=i(72),d=i(1353),f=i(6899),p=i(9666),m=i(9568),g=i(9056),y=i(709),b=i(2526);const v={tooltipState:(0,y.X$)("state",[(0,y.SB)("initial, void, hidden",(0,y.oB)({opacity:0,transform:"scale(0)"})),(0,y.SB)("visible",(0,y.oB)({transform:"scale(1)"})),(0,y.eR)("* => visible",(0,y.jt)("200ms cubic-bezier(0, 0, 0.2, 1)",(0,y.F4)([(0,y.oB)({opacity:0,transform:"scale(0)",offset:0}),(0,y.oB)({opacity:.5,transform:"scale(0.99)",offset:.5}),(0,y.oB)({opacity:1,transform:"scale(1)",offset:1})]))),(0,y.eR)("* => hidden",(0,y.jt)("100ms cubic-bezier(0, 0, 0.2, 1)",(0,y.oB)({opacity:0})))])},_=(0,d.i$)({passive:!0}),w=new o.OlP("mat-tooltip-scroll-strategy"),x={provide:w,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},C=new o.OlP("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let A=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,u,d){this._overlay=t,this._elementRef=e,this._scrollDispatcher=i,this._viewContainerRef=n,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new p.x,this._handleKeydown=t=>{this._isTooltipVisible()&&t.keyCode===h.hY&&!(0,h.Vb)(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=d,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe((0,m.R)(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,c.Ig)(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,m.R)(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,i])=>{t.removeEventListener(e,i,_)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new f.C5(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe((0,m.R)(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe((0,m.R)(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,m.R)(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,i=this._getOrigin(),n=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},i.main),n.main)),this._addOffset(Object.assign(Object.assign({},i.fallback),n.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let i;"above"==e||"below"==e?i={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?i={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(i={originX:"end",originY:"center"});const{x:n,y:r}=this._invertPosition(i.originX,i.originY);return{main:i,fallback:{originX:n,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let i;"above"==e?i={overlayX:"center",overlayY:"bottom"}:"below"==e?i={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?i={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(i={overlayX:"start",overlayY:"center"});const{x:n,y:r}=this._invertPosition(i.overlayX,i.overlayY);return{main:i,fallback:{overlayX:n,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe((0,g.q)(1),(0,m.R)(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:i,originY:n}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===e&&"top"===n?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-tooltip-panel-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){!this._disabled&&this.message&&this._viewInitialized&&!this._passiveListeners.length&&(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,_)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),i=this._elementRef.nativeElement;e===i||i.contains(e)||this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,i=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(i.userSelect=i.msUserSelect=i.webkitUserSelect=i.MozUserSelect="none"),"on"!==t&&e.draggable||(i.webkitUserDrag="none"),i.touchAction="none",i.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.aV),o.Y36(o.SBq),o.Y36(l.mF),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(d.t4),o.Y36(r.$s),o.Y36(r.tE),o.Y36(void 0),o.Y36(b.Is),o.Y36(void 0),o.Y36(s.K0))},t.\u0275dir=o.lG2({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),S=(()=>{class t extends A{constructor(t,e,i,n,r,s,o,a,l,c,h,u){super(t,e,i,n,r,s,o,a,l,c,h,u),this._tooltipComponent=M}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.aV),o.Y36(o.SBq),o.Y36(l.mF),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(d.t4),o.Y36(r.$s),o.Y36(r.tE),o.Y36(w),o.Y36(b.Is,8),o.Y36(C,8),o.Y36(s.K0))},t.\u0275dir=o.lG2({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[o.qOj]}),t})(),k=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new p.x}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO))},t.\u0275dir=o.lG2({type:t}),t})(),M=(()=>{class t extends k{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe(u.u3.Handset)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36(u.Yg))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){1&t&&o.NdJ("click",function(){return e._handleBodyInteraction()},!1,o.pYS)("auxclick",function(){return e._handleBodyInteraction()},!1,o.pYS),2&t&&o.Udp("zoom","visible"===e._visibility?1:null)},features:[o.qOj],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.NdJ("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),o.ALo(1,"async"),o._uU(2),o.qZA()),2&t){let t;o.ekj("mat-tooltip-handset",null==(t=o.lcZ(1,5,e._isHandset))?null:t.matches),o.Q6J("ngClass",e.tooltipClass)("@state",e._visibility),o.xp6(2),o.Oqu(e.message)}},directives:[s.mk],pipes:[s.Ov],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[v.tooltipState]},changeDetection:0}),t})(),E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[x],imports:[[r.rt,s.ez,n.U8,a.BQ],a.BQ,l.ZD]}),t})()},1010:(t,e,i)=>{"use strict";i.d(e,{GZ:()=>p,gi:()=>g,dp:()=>b,WX:()=>v,uo:()=>d,fQ:()=>f,Ar:()=>m,eu:()=>y});var n=i(1709),r=i(1522),s=i(9861),o=i(4230),a=i(7425),l=i(5446),c=i(1681),h=i(1572);const u=(0,r.sb)((0,r.Id)(n.Hs));let d=(()=>{class t extends u{constructor(t,e,i){super(t,e),this._elementRef=t,this._tree=e,this.tabIndex=Number(i)||0,this._elementRef.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.SBq),h.Y36(n._0),h.$8M("tabindex"))},t.\u0275dir=h.lG2({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[h._Bn([{provide:n.Hs,useExisting:t}]),h.qOj]}),t})(),f=(()=>{class t extends n.rO{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[h._Bn([{provide:n.rO,useExisting:t}]),h.qOj]}),t})(),p=(()=>{class t extends n.Xx{constructor(t,e,i,n){super(t,e,i),this._elementRef=t,this._tree=e,this._differs=i,this._disabled=!1,this.tabIndex=Number(n)||0,this._elementRef.nativeElement.classList.add("mat-nested-tree-node")}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?t:0}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.SBq),h.Y36(n._0),h.Y36(h.ZZ4),h.$8M("tabindex"))},t.\u0275dir=h.lG2({type:t,selectors:[["mat-nested-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[h._Bn([{provide:n.Xx,useExisting:t},{provide:n.Hs,useExisting:t},{provide:n.HI,useExisting:t}]),h.qOj]}),t})(),m=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.s_b),h.Y36(n.HI,8))},t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[h._Bn([{provide:n.cu,useExisting:t}])]}),t})(),g=(()=>{class t extends n._0{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275cmp=h.Xpm({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&h.Gf(m,7),2&t){let t;h.iGM(t=h.CRH())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[h._Bn([{provide:n._0,useExisting:t}]),h.qOj],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&h.GkF(0,0)},directives:[m],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),y=(()=>{class t extends n.Ud{get recursive(){return this._recursive}set recursive(t){this._recursive=(0,s.Ig)(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[h._Bn([{provide:n.Ud,useExisting:t}]),h.qOj]}),t})(),b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=h.oAB({type:t}),t.\u0275inj=h.cJS({imports:[[n.nZ,r.BQ],r.BQ]}),t})();class v extends o.o2{constructor(){super(...arguments),this._data=new a.X([])}get data(){return this._data.value}set data(t){this._data.next(t)}connect(t){return(0,l.T)(t.viewChange,this._data).pipe((0,c.U)(()=>this.data))}disconnect(){}}},3490:(t,e,i)=>{"use strict";i.d(e,{Qb:()=>Oe,PW:()=>Ze});var n=i(1572),r=i(269),s=i(709);function o(){return"undefined"!=typeof window&&void 0!==window.document}function a(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function l(t){switch(t.length){case 0:return new s.ZN;case 1:return t[0];default:return new s.ZE(t)}}function c(t,e,i,n,r={},o={}){const a=[],l=[];let c=-1,h=null;if(n.forEach(t=>{const i=t.offset,n=i==c,u=n&&h||{};Object.keys(t).forEach(i=>{let n=i,l=t[i];if("offset"!==i)switch(n=e.normalizePropertyName(n,a),l){case s.k1:l=r[i];break;case s.l3:l=o[i];break;default:l=e.normalizeStyleValue(i,n,l,a)}u[n]=l}),n||l.push(u),h=u,c=i}),a.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${a.join(t)}`)}return l}function h(t,e,i,n){switch(e){case"start":t.onStart(()=>n(i&&u(i,"start",t)));break;case"done":t.onDone(()=>n(i&&u(i,"done",t)));break;case"destroy":t.onDestroy(()=>n(i&&u(i,"destroy",t)))}}function u(t,e,i){const n=i.totalTime,r=d(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==n?t.totalTime:n,!!i.disabled),s=t._data;return null!=s&&(r._data=s),r}function d(t,e,i,n,r="",s=0,o){return{element:t,triggerName:e,fromState:i,toState:n,phaseName:r,totalTime:s,disabled:!!o}}function f(t,e,i){let n;return t instanceof Map?(n=t.get(e),n||t.set(e,n=i)):(n=t[e],n||(n=t[e]=i)),n}function p(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let m=(t,e)=>!1,g=(t,e)=>!1,y=(t,e,i)=>[];const b=a();(b||"undefined"!=typeof Element)&&(m=o()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),g=(()=>{if(b||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):g}})(),y=(t,e,i)=>{let n=[];if(i){const i=t.querySelectorAll(e);for(let t=0;t{const n=i.replace(/([a-z])([A-Z])/g,"$1-$2");e[n]=t[i]}),e}let k=(()=>{class t{validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return i||""}animate(t,e,i,n,r,o=[],a){return new s.ZN(i,n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),M=(()=>{class t{}return t.NOOP=new k,t})();const E="ng-enter",T="ng-leave",L="ng-trigger",I=".ng-trigger",O="ng-animating",D=".ng-animating";function R(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:P(parseFloat(e[1]),e[2])}function P(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Z(t,e,i){return t.hasOwnProperty("duration")?t:function(t,e,i){let n,r=0,s="";if("string"==typeof t){const i=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===i)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};n=P(parseFloat(i[1]),i[2]);const o=i[3];null!=o&&(r=P(parseFloat(o),i[4]));const a=i[5];a&&(s=a)}else n=t;if(!i){let i=!1,s=e.length;n<0&&(e.push("Duration values below 0 are not allowed for this animation step."),i=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),i=!0),i&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:n,delay:r,easing:s}}(t,e,i)}function F(t,e={}){return Object.keys(t).forEach(i=>{e[i]=t[i]}),e}function N(t,e,i={}){if(e)for(let n in t)i[n]=t[n];else F(t,i);return i}function B(t,e,i){return i?e+":"+i+";":""}function U(t){let e="";for(let i=0;i{const r=W(n);i&&!i.hasOwnProperty(n)&&(i[n]=t.style[r]),t.style[r]=e[n]}),a()&&U(t))}function z(t,e){t.style&&(Object.keys(e).forEach(e=>{const i=W(e);t.style[i]=""}),a()&&U(t))}function H(t){return Array.isArray(t)?1==t.length?t[0]:(0,s.vP)(t):t}const Y=new RegExp("{{\\s*(.+?)\\s*}}","g");function j(t){let e=[];if("string"==typeof t){let i;for(;i=Y.exec(t);)e.push(i[1]);Y.lastIndex=0}return e}function G(t,e,i){const n=t.toString(),r=n.replace(Y,(t,n)=>{let r=e[n];return e.hasOwnProperty(n)||(i.push(`Please provide a value for the animation param ${n}`),r=""),r.toString()});return r==n?t:r}function V(t){const e=[];let i=t.next();for(;!i.done;)e.push(i.value),i=t.next();return e}const Q=/-+([a-z0-9])/g;function W(t){return t.replace(Q,(...t)=>t[1].toUpperCase())}function J(t,e){return 0===t||0===e}function X(t,e,i){const n=Object.keys(i);if(n.length&&e.length){let s=e[0],o=[];if(n.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=i[t]}),o.length)for(var r=1;rfunction(t,e,i){if(":"==t[0]){const n=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,i);if("function"==typeof n)return void e.push(n);t=n}const n=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==n||n.length<4)return i.push(`The provided transition expression "${t}" is not supported`),e;const r=n[1],s=n[2],o=n[3];e.push(rt(r,o)),"<"!=s[0]||r==tt&&o==tt||e.push(rt(o,r))}(t,i,e)):i.push(t),i}const it=new Set(["true","1"]),nt=new Set(["false","0"]);function rt(t,e){const i=it.has(t)||nt.has(t),n=it.has(e)||nt.has(e);return(r,s)=>{let o=t==tt||t==r,a=e==tt||e==s;return!o&&i&&"boolean"==typeof r&&(o=r?it.has(t):nt.has(t)),!a&&n&&"boolean"==typeof s&&(a=s?it.has(e):nt.has(e)),o&&a}}const st=new RegExp("s*:selfs*,?","g");function ot(t,e,i){return new at(t).build(e,i)}class at{constructor(t){this._driver=t}build(t,e){const i=new lt(e);return this._resetContextStyleTimingState(i),K(this,H(t),i)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,n=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const i=t,n=i.name;n.toString().split(/\s*,\s*/).forEach(t=>{i.name=t,r.push(this.visitState(i,e))}),i.name=n}else if(1==t.type){const r=this.visitTransition(t,e);i+=r.queryCount,n+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:i,depCount:n,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),n=t.options&&t.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=n||{};if(i.styles.forEach(t=>{if(ct(t)){const e=t;Object.keys(e).forEach(t=>{j(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const i=V(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${i.join(", ")}`)}}return{type:0,name:t.name,style:i,options:n?{params:n}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=K(this,H(t.animation),e);return{type:1,matchers:et(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:ht(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>K(this,t,e)),options:ht(t.options)}}visitGroup(t,e){const i=e.currentTime;let n=0;const r=t.steps.map(t=>{e.currentTime=i;const r=K(this,t,e);return n=Math.max(n,e.currentTime),r});return e.currentTime=n,{type:3,steps:r,options:ht(t.options)}}visitAnimate(t,e){const i=function(t,e){let i=null;if(t.hasOwnProperty("duration"))i=t;else if("number"==typeof t)return ut(Z(t,e).duration,0,"");const n=t;if(n.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=ut(0,0,"");return t.dynamic=!0,t.strValue=n,t}return i=i||Z(n,e),ut(i.duration,i.delay,i.easing)}(t.timings,e.errors);let n;e.currentAnimateTimings=i;let r=t.styles?t.styles:(0,s.oB)({});if(5==r.type)n=this.visitKeyframes(r,e);else{let r=t.styles,o=!1;if(!r){o=!0;const t={};i.easing&&(t.easing=i.easing),r=(0,s.oB)(t)}e.currentTime+=i.duration+i.delay;const a=this.visitStyle(r,e);a.isEmptyStep=o,n=a}return e.currentAnimateTimings=null,{type:4,timings:i,style:n,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==s.l3?i.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):i.push(t)}):i.push(t.styles);let n=!1,r=null;return i.forEach(t=>{if(ct(t)){const e=t,i=e.easing;if(i&&(r=i,delete e.easing),!n)for(let t in e)if(e[t].toString().indexOf("{{")>=0){n=!0;break}}}),{type:6,styles:i,easing:r,offset:t.offset,containsDynamicStyles:n,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let n=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(i=>{if(!this._driver.validateStyleProperty(i))return void e.errors.push(`The provided animation property "${i}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[i];let a=!0;o&&(r!=n&&r>=o.startTime&&n<=o.endTime&&(e.errors.push(`The CSS property "${i}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${n}ms"`),a=!1),r=o.startTime),a&&(s[i]={startTime:r,endTime:n}),e.options&&function(t,e,i){const n=e.params||{},r=j(t);r.length&&r.forEach(t=>{n.hasOwnProperty(t)||i.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[i],e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),i;let n=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const i=this._makeStyleAst(t,e);let l=null!=i.offset?i.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(ct(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(ct(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}return e}(i.styles),c=0;return null!=l&&(n++,c=i.offset=l),o=o||c<0||c>1,s=s||c0&&n{const s=h>0?n==u?1:h*n:r[n],o=s*p;e.currentTime=d+f.delay+o,f.duration=o,this._validateStyleAst(t,e),t.offset=s,i.styles.push(t)}),i}visitReference(t,e){return{type:8,animation:K(this,H(t.animation),e),options:ht(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:ht(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ht(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,n=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(st,"")),[t=t.replace(/@\*/g,I).replace(/@\w+/g,t=>".ng-trigger-"+t.substr(1)).replace(/:animating/g,D),e]}(t.selector);e.currentQuerySelector=i.length?i+" "+r:r,f(e.collectedStyles,e.currentQuerySelector,{});const o=K(this,H(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:r,limit:n.limit||0,optional:!!n.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:ht(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:Z(t.timings,e.errors,!0);return{type:12,animation:K(this,H(t.animation),e),timings:i,options:null}}}class lt{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function ct(t){return!Array.isArray(t)&&"object"==typeof t}function ht(t){var e;return t?(t=F(t)).params&&(t.params=(e=t.params)?F(e):null):t={},t}function ut(t,e,i){return{duration:t,delay:e,easing:i}}function dt(t,e,i,n,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:i,postStyleProps:n,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class ft{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const pt=new RegExp(":enter","g"),mt=new RegExp(":leave","g");function gt(t,e,i,n,r,s={},o={},a,l,c=[]){return(new yt).buildKeyframes(t,e,i,n,r,s,o,a,l,c)}class yt{buildKeyframes(t,e,i,n,r,s,o,a,l,c=[]){l=l||new ft;const h=new vt(t,e,l,n,r,c,[]);h.options=a,h.currentTimeline.setStyles([s],null,h.errors,a),K(this,i,h);const u=h.timelines.filter(t=>t.containsAnimation());if(u.length&&Object.keys(o).length){const t=u[u.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,h.errors,a)}return u.length?u.map(t=>t.buildKeyframes()):[dt(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.consume(e.element);if(i){const n=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,n,n.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,i){let n=e.currentTimeline.currentTime;const r=null!=i.duration?R(i.duration):null,s=null!=i.delay?R(i.delay):null;return 0!==r&&t.forEach(t=>{const i=e.appendInstructionToTimeline(t,r,s);n=Math.max(n,i.duration+i.delay)}),n}visitReference(t,e){e.updateOptions(t.options,!0),K(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let n=e;const r=t.options;if(r&&(r.params||r.delay)&&(n=e.createSubContext(r),n.transformIntoNewTimeline(),null!=r.delay)){6==n.previousNode.type&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=bt);const t=R(r.delay);n.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>K(this,t,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>i&&n.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let n=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?R(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),K(this,s,o),n=Math.max(n,o.currentTimeline.currentTime),i.push(o.currentTimeline)}),i.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(n),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return Z(e.params?G(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),n=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),n.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),n.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,n=e.currentAnimateTimings;!n&&i.getCurrentStyleProperties().length&&i.forwardFrame();const r=n&&n.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(r):i.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,n=e.currentTimeline.duration,r=i.duration,s=e.createSubContext().currentTimeline;s.easing=i.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(n+r),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,n=t.options||{},r=n.delay?R(n.delay):0;r&&(6===e.previousNode.type||0==i&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=bt);let s=i;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!n.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((i,n)=>{e.currentQueryIndex=n;const o=e.createSubContext(t.options,i);r&&o.delayNextStep(r),i===e.element&&(a=o.currentTimeline),K(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,n=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=i.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;K(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=n.currentTime-c+(n.startTime-i.currentTimeline.startTime)}}const bt={};class vt{constructor(t,e,i,n,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=n,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=bt,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new _t(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let n=this.options;null!=i.duration&&(n.duration=R(i.duration)),null!=i.delay&&(n.delay=R(i.delay));const r=i.params;if(r){let t=n.params;t||(t=this.options.params={}),Object.keys(r).forEach(i=>{e&&t.hasOwnProperty(i)||(t[i]=G(r[i],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(t=>{i[t]=e[t]})}}return t}createSubContext(t=null,e,i){const n=e||this.element,r=new vt(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=bt,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const n={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+t.delay,easing:""},r=new wt(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,n,t.stretchStartingKeyframe);return this.timelines.push(r),n}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,n,r,s){let o=[];if(n&&o.push(this.element),t.length>0){t=(t=t.replace(pt,"."+this._enterClassName)).replace(mt,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=i);0!==i&&(e=i<0?e.slice(e.length+i,e.length):e.slice(0,i)),o.push(...e)}return r||0!=o.length||s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class _t{constructor(t,e,i,n){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=n,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new _t(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||s.l3,this._currentKeyframe[t]=s.l3}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,n){e&&(this._previousKeyframe.easing=e);const r=n&&n.params||{},o=function(t,e){const i={};let n;return t.forEach(t=>{"*"===t?(n=n||Object.keys(e),n.forEach(t=>{i[t]=s.l3})):N(t,!1,i)}),i}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=G(o[t],r,i);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:s.l3),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const i=this._styleSummary[e],n=t._styleSummary[e];(!i||n.time>i.time)&&this._updateStyle(e,n.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let n=[];this._keyframes.forEach((r,o)=>{const a=N(r,!0);Object.keys(a).forEach(i=>{const n=a[i];n==s.k1?t.add(i):n==s.l3&&e.add(i)}),i||(a.offset=o/this.duration),n.push(a)});const r=t.size?V(t.values()):[],o=e.size?V(e.values()):[];if(i){const t=n[0],e=F(t);t.offset=0,e.offset=1,n=[t,e]}return dt(this.element,n,r,o,this.duration,this.startTime,this.easing,!1)}}class wt extends _t{constructor(t,e,i,n,r,s,o=!1){super(t,e,s.delay),this.element=e,this.keyframes=i,this.preStyleProps=n,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:i,easing:n}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,o=e/s,a=N(t[0],!1);a.offset=0,r.push(a);const l=N(t[0],!1);l.offset=xt(o),r.push(l);const c=t.length-1;for(let n=1;n<=c;n++){let o=N(t[n],!1);o.offset=xt((e+o.offset*i)/s),r.push(o)}i=s,e=0,n="",t=r}return dt(this.element,t,this.preStyleProps,this.postStyleProps,i,e,n,!0)}}function xt(t,e=3){const i=Math.pow(10,e-1);return Math.round(t*i)/i}class Ct{}class At extends Ct{normalizePropertyName(t,e){return W(t)}normalizeStyleValue(t,e,i,n){let r="";const s=i.toString().trim();if(St[e]&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const e=i.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&n.push(`Please provide a CSS unit value for ${t}:${i}`)}return s+r}}const St=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function kt(t,e,i,n,r,s,o,a,l,c,h,u,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:i,fromStyles:s,toState:n,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:d}}const Mt={};class Et{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,n){return function(t,e,i,n,r){return t.some(t=>t(e,i,n,r))}(this.ast.matchers,t,e,i,n)}buildStyles(t,e,i){const n=this._stateStyles["*"],r=this._stateStyles[t],s=n?n.buildStyles(e,i):{};return r?r.buildStyles(e,i):s}build(t,e,i,n,r,s,o,a,l,c){const h=[],u=this.ast.options&&this.ast.options.params||Mt,d=this.buildStyles(i,o&&o.params||Mt,h),p=a&&a.params||Mt,m=this.buildStyles(n,p,h),g=new Set,y=new Map,b=new Map,v="void"===n,_={params:Object.assign(Object.assign({},u),p)},w=c?[]:gt(t,e,this.ast.animation,r,s,d,m,_,l,h);let x=0;if(w.forEach(t=>{x=Math.max(t.duration+t.delay,x)}),h.length)return kt(e,this._triggerName,i,n,v,d,m,[],[],y,b,x,h);w.forEach(t=>{const i=t.element,n=f(y,i,{});t.preStyleProps.forEach(t=>n[t]=!0);const r=f(b,i,{});t.postStyleProps.forEach(t=>r[t]=!0),i!==e&&g.add(i)});const C=V(g.values());return kt(e,this._triggerName,i,n,v,d,m,w,C,y,b,x)}}class Tt{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const i={},n=F(this.defaultParams);return Object.keys(t).forEach(e=>{const i=t[e];null!=i&&(n[e]=i)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=G(s,n,e)),i[t]=s})}}),i}}class Lt{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Tt(t.style,t.options&&t.options.params||{})}),It(this.states,"true","1"),It(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Et(t,e,this.states))}),this.fallbackTransition=new Et(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,n){return this.transitionFactories.find(r=>r.match(t,e,i,n))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function It(t,e,i){t.hasOwnProperty(e)?t.hasOwnProperty(i)||(t[i]=t[e]):t.hasOwnProperty(i)&&(t[e]=t[i])}const Ot=new ft;class Dt{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(t,e){const i=[],n=ot(this._driver,e,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[t]=n}_buildPlayer(t,e,i){const n=t.element,r=c(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(n,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const n=[],r=this._animations[t];let o;const a=new Map;if(r?(o=gt(this._driver,e,r,E,T,{},{},i,Ot,n),o.forEach(t=>{const e=f(a,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(n.push("The requested animation doesn't exist or has already been destroyed"),o=[]),n.length)throw new Error(`Unable to create the animation due to the following errors: ${n.join("\n")}`);a.forEach((t,e)=>{Object.keys(t).forEach(i=>{t[i]=this._driver.computeStyle(e,i,s.l3)})});const c=l(o.map(t=>{const e=a.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=c,c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,i,n){const r=d(e,"","","");return h(this._getPlayer(t),i,r,n),()=>{}}command(t,e,i,n){if("register"==i)return void this.register(t,n[0]);if("create"==i)return void this.create(t,e,n[0]||{});const r=this._getPlayer(t);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(n[0]));break;case"destroy":this.destroy(t)}}}const Rt="ng-animate-queued",Pt="ng-animate-disabled",Zt=".ng-animate-disabled",Ft=[],Nt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Bt={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class Ut{constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=null!=(n=i?t.value:t)?n:null,i){const e=F(t);delete e.value,this.options=e}else this.options={};var n;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(i=>{null==t[i]&&(t[i]=e[i])})}}}const qt="void",zt=new Ut(qt);class Ht{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Jt(e,this._hostClassName)}listen(t,e,i,n){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${e}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=(r=i)&&"done"!=r)throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${e}" is not supported!`);var r;const s=f(this._elementListeners,t,[]),o={name:e,phase:i,callback:n};s.push(o);const a=f(this._engine.statesByElement,t,{});return a.hasOwnProperty(e)||(Jt(t,L),Jt(t,"ng-trigger-"+e),a[e]=zt),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete a[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,i,n=!0){const r=this._getTrigger(e),s=new jt(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(Jt(t,L),Jt(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new Ut(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=zt),l.value!==qt&&a.value===l.value){if(!function(t,e){const i=Object.keys(t),n=Object.keys(e);if(i.length!=n.length)return!1;for(let r=0;r{z(t,i),q(t,n)})}return}const c=f(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let h=r.matchTransition(a.value,l.value,t,l.params),u=!1;if(!h){if(!n)return;h=r.fallbackTransition,u=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:a,toState:l,player:s,isFallbackTransition:u}),u||(Jt(t,Rt),s.onStart(()=>{Xt(t,Rt)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const i=this._engine.playersByElement.get(t);if(i){let t=i.indexOf(s);t>=0&&i.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,i)=>{delete e[t]}),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,I,!0);i.forEach(t=>{if(t.__ng_removed)return;const i=this._engine.fetchNamespacesByElement(t);i.size?i.forEach(i=>i.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,i,n){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const i=this.trigger(t,e,qt,n);i&&s.push(i)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),i&&l(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const n=new Set;e.forEach(e=>{const r=e.name;if(n.has(r))return;n.add(r);const s=this._triggers[r].fallbackTransition,o=i[r]||zt,a=new Ut(qt),l=new jt(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let n=!1;if(i.totalAnimations){const e=i.players.length?i.playersByQueriedElement.get(t):[];if(e&&e.length)n=!0;else{let e=t;for(;e=e.parentNode;)if(i.statesByElement.get(e)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(t),n)i.markElementAsRemoved(this.id,t,!1,e);else{const n=t.__ng_removed;n&&n!==Nt||(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Jt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const n=i.player;if(n.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==i.triggerName){const n=d(r,i.triggerName,i.fromState.value,i.toState.value);n._data=t,h(i.player,e.phase,n,e.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):e.push(i)}),this._queue=[],e.sort((t,e)=>{const i=t.transition.ast.depCount,n=e.transition.ast.depCount;return 0==i||0==n?i-n:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Yt{constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const i=new Ht(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList.length-1;if(i>=0){let n=!1;for(let r=i;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),n=!0;break}n||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let n=this._namespaceLookup[t];n&&n.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(i);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i){const t=Object.keys(i);for(let n=0;n=0&&this.collectedLeaveElements.splice(t,1)}if(t){const n=this._fetchNamespace(t);n&&n.insertNode(e,i)}n&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Jt(t,Pt)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Xt(t,Pt))}removeNode(t,e,i,n){if(Gt(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n),i){const i=this.namespacesByHostElement.get(e);i&&i.id!==t&&i.removeNode(e,n)}}else this._onRemovalComplete(e,n)}markElementAsRemoved(t,e,i,n){this.collectedLeaveElements.push(e),e.__ng_removed={namespaceId:t,setForRemoval:n,hasAnimation:i,removedBeforeQueried:!1}}listen(t,e,i,n,r){return Gt(e)?this._fetchNamespace(t).listen(e,i,n,r):()=>{}}_buildInstruction(t,e,i,n,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,n,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,I,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,D,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return l(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t.__ng_removed;if(e&&e.setForRemoval){if(t.__ng_removed=Nt,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Zt)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Zt,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;it()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?l(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const i=new ft,n=[],r=new Map,o=[],a=new Map,c=new Map,h=new Map,u=new Set;this.disabledNodes.forEach(t=>{u.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let i=0;i{const i=E+y++;g.set(e,i),t.forEach(t=>Jt(t,i))});const b=[],v=new Set,_=new Set;for(let s=0;sv.add(t)):_.add(t))}const w=new Map,x=Wt(p,Array.from(v));x.forEach((t,e)=>{const i=T+y++;w.set(e,i),t.forEach(t=>Jt(t,i))}),t.push(()=>{m.forEach((t,e)=>{const i=g.get(e);t.forEach(t=>Xt(t,i))}),x.forEach((t,e)=>{const i=w.get(e);t.forEach(t=>Xt(t,i))}),b.forEach(t=>{this.processLeaveNode(t)})});const C=[],A=[];for(let s=this._namespaceList.length-1;s>=0;s--)this._namespaceList[s].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(C.push(e),this.collectedEnterElements.length){const t=r.__ng_removed;if(t&&t.setForMove)return void e.destroy()}const s=!d||!this.driver.containsElement(d,r),l=w.get(r),u=g.get(r),p=this._buildInstruction(t,i,u,l,s);if(p.errors&&p.errors.length)A.push(p);else{if(s)return e.onStart(()=>z(r,p.fromStyles)),e.onDestroy(()=>q(r,p.toStyles)),void n.push(e);if(t.isFallbackTransition)return e.onStart(()=>z(r,p.fromStyles)),e.onDestroy(()=>q(r,p.toStyles)),void n.push(e);p.timelines.forEach(t=>t.stretchStartingKeyframe=!0),i.append(r,p.timelines),o.push({instruction:p,player:e,element:r}),p.queriedElements.forEach(t=>f(a,t,[]).push(e)),p.preStyleProps.forEach((t,e)=>{const i=Object.keys(t);if(i.length){let t=c.get(e);t||c.set(e,t=new Set),i.forEach(e=>t.add(e))}}),p.postStyleProps.forEach((t,e)=>{const i=Object.keys(t);let n=h.get(e);n||h.set(e,n=new Set),i.forEach(t=>n.add(t))})}});if(A.length){const t=[];A.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),C.forEach(t=>t.destroy()),this.reportError(t)}const S=new Map,k=new Map;o.forEach(t=>{const e=t.element;i.has(e)&&(k.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,S))}),n.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{f(S,e,[]).push(t),t.destroy()})});const M=b.filter(t=>te(t,c,h)),L=new Map;Qt(L,this.driver,_,h,s.l3).forEach(t=>{te(t,c,h)&&M.push(t)});const I=new Map;m.forEach((t,e)=>{Qt(I,this.driver,new Set(t),c,s.k1)}),M.forEach(t=>{const e=L.get(t),i=I.get(t);L.set(t,Object.assign(Object.assign({},e),i))});const O=[],R=[],P={};o.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(i.has(e)){if(u.has(e))return s.onDestroy(()=>q(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void n.push(s);let t=P;if(k.size>1){let i=e;const n=[];for(;i=i.parentNode;){const e=k.get(i);if(e){t=e;break}n.push(i)}n.forEach(e=>k.set(e,t))}const i=this._buildAnimation(s.namespaceId,o,S,r,I,L);if(s.setRealPlayer(i),t===P)O.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=l(e)),n.push(s)}}else z(e,o.fromStyles),s.onDestroy(()=>q(e,o.toStyles)),R.push(s),u.has(e)&&n.push(s)}),R.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const i=l(e);t.setRealPlayer(i)}}),n.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let s=0;s!t.destroyed);n.length?Kt(this,t,n):this.processLeaveNode(t)}return b.length=0,O.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),O}elementContainsData(t,e){let i=!1;const n=e.__ng_removed;return n&&n.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,n,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==qt;e.forEach(e=>{e.queued||(t||e.triggerName==n)&&s.push(e)})}}return(i||n)&&(s=s.filter(t=>!(i&&i!=t.namespaceId||n&&n!=t.triggerName))),s}_beforeAnimationBuild(t,e,i){const n=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==n,l=f(i,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}z(n,e.fromStyles)}_buildAnimation(t,e,i,n,r,o){const a=e.triggerName,h=e.element,u=[],d=new Set,p=new Set,m=e.timelines.map(e=>{const l=e.element;d.add(l);const f=l.__ng_removed;if(f&&f.removedBeforeQueried)return new s.ZN(e.duration,e.delay);const m=l!==h,g=function(t){const e=[];return $t(t,e),e}((i.get(l)||Ft).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===l),y=r.get(l),b=o.get(l),v=c(0,this._normalizer,0,e.keyframes,y,b),_=this._buildPlayer(e,v,g);if(e.subTimeline&&n&&p.add(l),m){const e=new jt(t,a,l);e.setRealPlayer(_),u.push(e)}return _});u.forEach(t=>{f(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,i){let n;if(t instanceof Map){if(n=t.get(e),n){if(n.length){const t=n.indexOf(i);n.splice(t,1)}0==n.length&&t.delete(e)}}else if(n=t[e],n){if(n.length){const t=n.indexOf(i);n.splice(t,1)}0==n.length&&delete t[e]}return n}(this.playersByQueriedElement,t.element,t))}),d.forEach(t=>Jt(t,O));const g=l(m);return g.onDestroy(()=>{d.forEach(t=>Xt(t,O)),q(h,e.toStyles)}),p.forEach(t=>{f(n,t,[]).push(g)}),g}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new s.ZN(t.duration,t.delay)}}class jt{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new s.ZN,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(i=>h(t,e,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){f(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Gt(t){return t&&1===t.nodeType}function Vt(t,e){const i=t.style.display;return t.style.display=null!=e?e:"none",i}function Qt(t,e,i,n,r){const s=[];i.forEach(t=>s.push(Vt(t)));const o=[];n.forEach((i,n)=>{const s={};i.forEach(t=>{const i=s[t]=e.computeStyle(n,t,r);i&&0!=i.length||(n.__ng_removed=Bt,o.push(n))}),t.set(n,s)});let a=0;return i.forEach(t=>Vt(t,s[a++])),o}function Wt(t,e){const i=new Map;if(t.forEach(t=>i.set(t,[])),0==e.length)return i;const n=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=i.has(o)?o:n.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&i.get(e).push(t)}),i}function Jt(t,e){if(t.classList)t.classList.add(e);else{let i=t.$$classes;i||(i=t.$$classes={}),i[e]=!0}}function Xt(t,e){if(t.classList)t.classList.remove(e);else{let i=t.$$classes;i&&delete i[e]}}function Kt(t,e,i){l(i).onDone(()=>t.processLeaveNode(e))}function $t(t,e){for(let i=0;ir.add(t)):e.set(t,n),i.delete(t),!0}class ee{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Yt(t,e,i),this._timelineEngine=new Dt(t,e,i),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,i,n,r){const s=t+"-"+n;let o=this._triggerCache[s];if(!o){const t=[],e=ot(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${n}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e){return new Lt(t,e)}(n,e),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,n,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,n){this._transitionEngine.insertNode(t,e,i,n)}onRemove(t,e,i,n){this._transitionEngine.removeNode(t,e,n||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,n){if("@"==i.charAt(0)){const[t,r]=p(i);this._timelineEngine.command(t,e,r,n)}else this._transitionEngine.trigger(t,e,i,n)}listen(t,e,i,n,r){if("@"==i.charAt(0)){const[t,n]=p(i);return this._timelineEngine.listen(t,e,n,r)}return this._transitionEngine.listen(t,e,i,n,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ie(t,e){let i=null,n=null;return Array.isArray(e)&&e.length?(i=re(e[0]),e.length>1&&(n=re(e[e.length-1]))):e&&(i=re(e)),i||n?new ne(t,i,n):null}let ne=(()=>{class t{constructor(e,i,n){this._element=e,this._startStyles=i,this._endStyles=n,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&q(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(q(this._element,this._initialStyles),this._endStyles&&(q(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(z(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(z(this._element,this._endStyles),this._endStyles=null),q(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function re(t){let e=null;const i=Object.keys(t);for(let n=0;nthis._handleCallback(t)}apply(){!function(t,e){const i=pe(t,"").trim();i.length&&(function(t,e){let i=0;for(let n=0;n=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),de(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const i=pe(t,"").split(","),n=ue(i,e);n>=0&&(i.splice(n,1),fe(t,"",i.join(",")))}(this._element,this._name))}}function ce(t,e,i){fe(t,"PlayState",i,he(t,e))}function he(t,e){const i=pe(t,"");return i.indexOf(",")>0?ue(i.split(","),e):ue([i],e)}function ue(t,e){for(let i=0;i=0)return i;return-1}function de(t,e,i){i?t.removeEventListener(ae,e):t.addEventListener(ae,e)}function fe(t,e,i,n){const r=oe+e;if(null!=n){const e=t.style[r];if(e.length){const t=e.split(",");t[n]=i,i=t.join(",")}}t.style[r]=i}function pe(t,e){return t.style[oe+e]||""}class me{constructor(t,e,i,n,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=i,this._duration=n,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=n+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new le(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(t[i]=e?this._finalStyles[i]:$(this.element,i))})}this.currentSnapshot=t}}class ge extends s.ZN{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=S(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class ye{constructor(){this._count=0}validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,i){i=i.map(t=>S(t));let n=`@keyframes ${e} {\n`,r="";i.forEach(t=>{r=" ";const e=parseFloat(t.offset);n+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const i=t[e];switch(e){case"offset":return;case"easing":return void(i&&(n+=`${r}animation-timing-function: ${i};\n`));default:return void(n+=`${r}${e}: ${i};\n`)}}),n+=`${r}}\n`}),n+="}\n";const s=document.createElement("style");return s.textContent=n,s}animate(t,e,i,n,r,s=[],o){const a=s.filter(t=>t instanceof me),l={};J(i,n)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(i=>{"offset"!=i&&"easing"!=i&&(e[i]=t[i])})}),e}(e=X(t,e,l));if(0==i)return new ge(t,c);const h="gen_css_kf_"+this._count++,u=this.buildKeyframeElement(t,h,e);(function(t){var e;const i=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&i instanceof ShadowRoot?i:document.head})(t).appendChild(u);const d=ie(t,e),f=new me(t,e,h,i,n,r,c,d);return f.onDestroy(()=>{var t;(t=u).parentNode.removeChild(t)}),f}}class be{constructor(t,e,i,n){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,i){return t.animate(e,i)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:$(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class ve{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(_e().toString()),this._cssKeyframesDriver=new ye}validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,i,n,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,i,n,r,s);const a={duration:i,delay:n,fill:0==n?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof be);J(i,n)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=ie(t,e=X(t,e=e.map(t=>N(t,!1)),l));return new be(t,e,a,h)}}function _e(){return o()&&Element.prototype.animate||{}}var we=i(1511);let xe=(()=>{class t extends s._j{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:n.ifc.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const i=Array.isArray(t)?(0,s.vP)(t):t;return Se(this._renderer,null,e,"register",[i]),new Ce(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.FYo),n.LFG(we.K0))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();class Ce extends s.LC{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Ae(this._id,t,e||{},this._renderer)}}class Ae{constructor(t,e,i,n){this.id=t,this.element=e,this._renderer=n,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Se(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Se(t,e,i,n,r){return t.setProperty(e,`@@${i}:${n}`,r)}const ke="@",Me="@.disabled";let Ee=(()=>{class t{constructor(t,e,i){this.delegate=t,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const i=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(i);return t||(t=new Te("",i,this.engine),this._rendererCache.set(i,t)),t}const n=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(n,r,t,e.name,e)};return e.data.animation.forEach(s),new Le(this,r,i,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,i){t>=0&&te(i)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,i]=t;e(i)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,i]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.FYo),n.LFG(ee),n.LFG(n.R0b))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();class Te{constructor(t,e,i){this.namespaceId=t,this.delegate=e,this.engine=i,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,n=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,n)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,n){this.delegate.setAttribute(t,e,i,n)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,n){this.delegate.setStyle(t,e,i,n)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){e.charAt(0)==ke&&e==Me?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Le extends Te{constructor(t,e,i,n){super(e,i,n),this.factory=t,this.namespaceId=e}setProperty(t,e,i){e.charAt(0)==ke?"."==e.charAt(1)&&e==Me?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.substr(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if(e.charAt(0)==ke){const n=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return r.charAt(0)!=ke&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,n,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,i,t)})}return this.delegate.listen(t,e,i)}}let Ie=(()=>{class t extends ee{constructor(t,e,i){super(t.body,e,i)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(we.K0),n.LFG(M),n.LFG(Ct))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const Oe=new n.OlP("AnimationModuleType"),De=[{provide:s._j,useClass:xe},{provide:Ct,useFactory:function(){return new At}},{provide:ee,useClass:Ie},{provide:n.FYo,useFactory:function(t,e,i){return new Ee(t,e,i)},deps:[r.se,ee,n.R0b]}],Re=[{provide:M,useFactory:function(){return"function"==typeof _e()?new ve:new ye}},{provide:Oe,useValue:"BrowserAnimations"},...De],Pe=[{provide:M,useClass:k},{provide:Oe,useValue:"NoopAnimations"},...De];let Ze=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Pe:Re}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:Re,imports:[r.b2]}),t})()},269:(t,e,i)=>{"use strict";i.d(e,{b2:()=>Y,H7:()=>B,t6:()=>D,q6:()=>z,se:()=>C});var n=i(1511),r=i(1572);class s extends n.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class o extends s{static makeCurrent(){(0,n.HT)(new o)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(l=l||document.querySelector("base"),l?l.getAttribute("href"):null);return null==e?null:function(t){a=a||document.createElement("a"),a.setAttribute("href",t);const e=a.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){l=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return(0,n.Mx)(document.cookie,t)}}let a,l=null;const c=new r.OlP("TRANSITION_ID"),h=[{provide:r.ip1,useFactory:function(t,e,i){return()=>{i.get(r.CZH).donePromise.then(()=>{const i=(0,n.q)();Array.prototype.slice.apply(e.querySelectorAll("style[ng-transition]")).filter(e=>e.getAttribute("ng-transition")===t).forEach(t=>i.remove(t))})}},deps:[c,n.K0,r.zs3],multi:!0}];class u{static init(){(0,r.VLi)(new u)}addToWindow(t){r.dqk.getAngularTestability=(e,i=!0)=>{const n=t.findTestabilityInTree(e,i);if(null==n)throw new Error("Could not find testability for element.");return n},r.dqk.getAllAngularTestabilities=()=>t.getAllTestabilities(),r.dqk.getAllAngularRootElements=()=>t.getAllRootElements(),r.dqk.frameworkStabilizers||(r.dqk.frameworkStabilizers=[]),r.dqk.frameworkStabilizers.push(t=>{const e=r.dqk.getAllAngularTestabilities();let i=e.length,n=!1;const s=function(e){n=n||e,i--,0==i&&t(n)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,i){if(null==e)return null;const r=t.getTestability(e);return null!=r?r:i?(0,n.q)().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let d=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const f=new r.OlP("EventManagerPlugins");let p=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,i){return this._findPluginFor(e).addEventListener(t,e,i)}addGlobalEventListener(t,e,i){return this._findPluginFor(e).addGlobalEventListener(t,e,i)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const i=this._plugins;for(let n=0;n{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),y=(()=>{class t extends g{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,i){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,i.push(e.appendChild(n))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(b),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,i)=>{this._addStylesToHost(t,i,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(b))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();function b(t){(0,n.q)().remove(t)}const v={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},_=/%COMP%/g;function w(t,e,i){for(let n=0;n{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let C=(()=>{class t{constructor(t,e,i){this.eventManager=t,this.sharedStylesHost=e,this.appId=i,this.rendererByCompId=new Map,this.defaultRenderer=new A(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case r.ifc.Emulated:{let i=this.rendererByCompId.get(e.id);return i||(i=new S(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,i)),i.applyToHost(t),i}case 1:case r.ifc.ShadowDom:return new k(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=w(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(p),r.LFG(y),r.LFG(r.AFp))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();class A{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(v[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,i){t&&t.insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,n){if(n){e=n+":"+e;const r=v[n];r?t.setAttributeNS(r,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const n=v[i];n?t.removeAttributeNS(n,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,n){n&(r.JOm.DashCase|r.JOm.Important)?t.style.setProperty(e,i,n&r.JOm.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&r.JOm.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,x(i)):this.eventManager.addEventListener(t,e,x(i))}}class S extends A{constructor(t,e,i,n){super(t),this.component=i;const r=w(n+"-"+i.id,i.styles,[]);e.addStyles(r),this.contentAttr="_ngcontent-%COMP%".replace(_,n+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(_,n+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class k extends A{constructor(t,e,i,n){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=w(n.id,n.styles,[]);for(let s=0;s{class t extends m{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,i){return t.addEventListener(e,i,!1),()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,i){return t.removeEventListener(e,i)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const E={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},T=new r.OlP("HammerGestureConfig"),L=new r.OlP("HammerLoader");let I=(()=>{class t{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const i in this.overrides)e.get(i).set(this.overrides[i]);return e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const O=[{provide:f,useClass:(()=>{class t extends m{constructor(t,e,i,n){super(t),this._config=e,this.console=i,this.loader=n,this._loaderPromise=null}supports(t){return!(!E.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&!this.loader)}addEventListener(t,e,i){const n=this.manager.getZone();if(e=e.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||this.loader();let n=!1,r=()=>{n=!0};return this._loaderPromise.then(()=>{window.Hammer?n||(r=this.addEventListener(t,e,i)):r=()=>{}}).catch(()=>{r=()=>{}}),()=>{r()}}return n.runOutsideAngular(()=>{const r=this._config.buildHammer(t),s=function(t){n.runGuarded(function(){i(t)})};return r.on(e,s),()=>{r.off(e,s),"function"==typeof r.destroy&&r.destroy()}})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0),r.LFG(T),r.LFG(r.c2e),r.LFG(L,8))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),multi:!0,deps:[n.K0,T,r.c2e,[new r.FiY,L]]},{provide:T,useClass:I,deps:[]}];let D=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:O}),t})();const R=["alt","control","meta","shift"],P={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Z={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},F={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let N=(()=>{class t extends m{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const s=t.parseEventName(i),o=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,n.q)().onAndCancel(e,s.domEventName,o))}static parseEventName(e){const i=e.toLowerCase().split("."),n=i.shift();if(0===i.length||"keydown"!==n&&"keyup"!==n)return null;const r=t._normalizeKey(i.pop());let s="";if(R.forEach(t=>{const e=i.indexOf(t);e>-1&&(i.splice(e,1),s+=t+".")}),s+=r,0!=i.length||0===r.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",i=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&Z.hasOwnProperty(e)&&(e=Z[e]))}return P[e]||e}(t);return i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),R.forEach(n=>{n!=i&&(0,F[n])(t)&&(e+=n+".")}),e+=i,e}static eventCallback(e,i,n){return r=>{t.getEventFullKey(r)===e&&n.runGuarded(()=>i(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,r.Yz7)({factory:function(){return(0,r.LFG)(q)},token:t,providedIn:"root"}),t})();function U(t){return new q(t.get(n.K0))}let q=(()=>{class t extends B{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case r.q3G.NONE:return e;case r.q3G.HTML:return(0,r.qzn)(e,"HTML")?(0,r.z3N)(e):(0,r.EiD)(this._doc,String(e)).toString();case r.q3G.STYLE:return(0,r.qzn)(e,"Style")?(0,r.z3N)(e):e;case r.q3G.SCRIPT:if((0,r.qzn)(e,"Script"))return(0,r.z3N)(e);throw new Error("unsafe value used in a script context");case r.q3G.URL:return(0,r.yhl)(e),(0,r.qzn)(e,"URL")?(0,r.z3N)(e):(0,r.mCW)(String(e));case r.q3G.RESOURCE_URL:if((0,r.qzn)(e,"ResourceURL"))return(0,r.z3N)(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return(0,r.JVY)(t)}bypassSecurityTrustStyle(t){return(0,r.L6k)(t)}bypassSecurityTrustScript(t){return(0,r.eBb)(t)}bypassSecurityTrustUrl(t){return(0,r.LAX)(t)}bypassSecurityTrustResourceUrl(t){return(0,r.pB0)(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=(0,r.Yz7)({factory:function(){return U((0,r.LFG)(r.gxx))},token:t,providedIn:"root"}),t})();const z=(0,r.eFA)(r._c5,"browser",[{provide:r.Lbi,useValue:n.bD},{provide:r.g9A,useValue:function(){o.makeCurrent(),u.init()},multi:!0},{provide:n.K0,useFactory:function(){return(0,r.RDi)(document),document},deps:[]}]),H=[[],{provide:r.zSh,useValue:"root"},{provide:r.qLn,useFactory:function(){return new r.qLn},deps:[]},{provide:f,useClass:M,multi:!0,deps:[n.K0,r.R0b,r.Lbi]},{provide:f,useClass:N,multi:!0,deps:[n.K0]},[],{provide:C,useClass:C,deps:[p,y,r.AFp]},{provide:r.FYo,useExisting:C},{provide:g,useExisting:y},{provide:y,useClass:y,deps:[n.K0]},{provide:r.dDg,useClass:r.dDg,deps:[r.R0b]},{provide:p,useClass:p,deps:[f,r.R0b]},{provide:n.JF,useClass:d,deps:[]},[]];let Y=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:r.AFp,useValue:e.appId},{provide:c,useExisting:r.AFp},h]}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(t,12))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:H,imports:[n.ez,r.hGG]}),t})();"undefined"!=typeof window&&window},6853:(t,e,i)=>{"use strict";i.d(e,{gz:()=>jt,gk:()=>q,m2:()=>U,Q3:()=>z,OD:()=>B,Av:()=>V,F0:()=>fi,rH:()=>pi,Od:()=>yi,yS:()=>mi,Bz:()=>Ei,lC:()=>bi});var n=i(1511),r=i(1572),s=i(9162),o=i(2391),a=i(6042),l=i(3386),c=i(4659);function h(){return(0,l.e)(function(t,e){var i=null;t._refCount++;var n=new c.Q(e,void 0,void 0,void 0,function(){if(!t||t._refCount<=0||0<--t._refCount)i=null;else{var n=t._connection,r=i;i=null,!n||r&&n!==r||n.unsubscribe(),e.unsubscribe()}});t.subscribe(n),n.closed||(i=t.connect())})}var u=function(t){function e(e,i){var n=t.call(this)||this;return n.source=e,n.subjectFactory=i,n._subject=null,n._refCount=0,n._connection=null,(0,l.A)(e)&&(n.lift=e.lift),n}return(0,s.ZT)(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype._teardown=function(){this._refCount=0;var t=this._connection;this._subject=this._connection=null,null==t||t.unsubscribe()},e.prototype.connect=function(){var t=this,e=this._connection;if(!e){e=this._connection=new a.w0;var i=this.getSubject();e.add(this.source.subscribe(new c.Q(i,void 0,function(){t._teardown(),i.complete()},function(e){t._teardown(),i.error(e)},function(){return t._teardown()}))),e.closed&&(this._connection=null,e=a.w0.EMPTY)}return e},e.prototype.refCount=function(){return h()(this)},e}(o.y),d=i(5630),f=i(2041),p=i(7425),m=i(5868),g=i(7325),y=i(5613),b=i(970),v=i(4951),_=i(9666),w=i(8868);function x(t){return t<=0?function(){return v.E}:(0,l.e)(function(e,i){var n=[];e.subscribe(new c.Q(i,function(e){n.push(e),tt.length)return null;if("full"===i.pathMatch&&(e.hasChildren()||n.lengthn[e]===t)}return t===e}function lt(t){return Array.prototype.concat.apply([],t)}function ct(t){return t.length>0?t[t.length-1]:null}function ht(t,e){for(const i in t)t.hasOwnProperty(i)&&e(t[i],i)}function ut(t){return(0,r.CqO)(t)?t:(0,r.QGY)(t)?(0,d.Dp)(Promise.resolve(t)):(0,f.of)(t)}const dt={exact:function t(e,i,n){if(!wt(e.segments,i.segments))return!1;if(!yt(e.segments,i.segments,n))return!1;if(e.numberOfChildren!==i.numberOfChildren)return!1;for(const r in i.children){if(!e.children[r])return!1;if(!t(e.children[r],i.children[r],n))return!1}return!0},subset:mt},ft={exact:function(t,e){return ot(t,e)},subset:function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(i=>at(t[i],e[i]))},ignored:()=>!0};function pt(t,e,i){return dt[i.paths](t.root,e.root,i.matrixParams)&&ft[i.queryParams](t.queryParams,e.queryParams)&&!("exact"===i.fragment&&t.fragment!==e.fragment)}function mt(t,e,i){return gt(t,e,e.segments,i)}function gt(t,e,i,n){if(t.segments.length>i.length){const r=t.segments.slice(0,i.length);return!!wt(r,i)&&!e.hasChildren()&&!!yt(r,i,n)}if(t.segments.length===i.length){if(!wt(t.segments,i))return!1;if(!yt(t.segments,i,n))return!1;for(const i in e.children){if(!t.children[i])return!1;if(!mt(t.children[i],e.children[i],n))return!1}return!0}{const r=i.slice(0,t.segments.length),s=i.slice(t.segments.length);return!!wt(t.segments,r)&&!!yt(t.segments,r,n)&&!!t.children.primary&>(t.children.primary,e,s,n)}}function yt(t,e,i){return e.every((e,n)=>ft[i](t[n].parameters,e.parameters))}class bt{constructor(t,e,i){this.root=t,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=nt(this.queryParams)),this._queryParamMap}toString(){return At.serialize(this)}}class vt{constructor(t,e){this.segments=t,this.children=e,this.parent=null,ht(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return St(this)}}class _t{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=nt(this.parameters)),this._parameterMap}toString(){return Ot(this)}}function wt(t,e){return t.length===e.length&&t.every((t,i)=>t.path===e[i].path)}class xt{}class Ct{parse(t){const e=new Ft(t);return new bt(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`/${kt(t.root,!0)}${function(t){const e=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(t=>`${Et(e)}=${Et(t)}`).join("&"):`${Et(e)}=${Et(i)}`}).filter(t=>!!t);return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const At=new Ct;function St(t){return t.segments.map(t=>Ot(t)).join("/")}function kt(t,e){if(!t.hasChildren())return St(t);if(e){const e=t.children.primary?kt(t.children.primary,!1):"",i=[];return ht(t.children,(t,e)=>{e!==et&&i.push(`${e}:${kt(t,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function(t,e){let i=[];return ht(t.children,(t,n)=>{n===et&&(i=i.concat(e(t,n)))}),ht(t.children,(t,n)=>{n!==et&&(i=i.concat(e(t,n)))}),i}(t,(e,i)=>i===et?[kt(t.children.primary,!1)]:[`${i}:${kt(e,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children.primary?`${St(t)}/${e[0]}`:`${St(t)}/(${e.join("//")})`}}function Mt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Et(t){return Mt(t).replace(/%3B/gi,";")}function Tt(t){return Mt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Lt(t){return decodeURIComponent(t)}function It(t){return Lt(t.replace(/\+/g,"%20"))}function Ot(t){return`${Tt(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Tt(t)}=${Tt(e[t])}`).join("")}`;var e}const Dt=/^[^\/()?;=#]+/;function Rt(t){const e=t.match(Dt);return e?e[0]:""}const Pt=/^[^=?&#]+/,Zt=/^[^?&#]+/;class Ft{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new vt([],{}):new vt([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(i.primary=new vt(t,e)),i}parseSegment(){const t=Rt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new _t(Lt(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=Rt(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=Rt(this.remaining);t&&(i=t,this.capture(i))}t[Lt(e)]=Lt(i)}parseQueryParam(t){const e=function(t){const e=t.match(Pt);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(Zt);return e?e[0]:""}(this.remaining);t&&(i=t,this.capture(i))}const n=It(e),r=It(i);if(t.hasOwnProperty(n)){let e=t[n];Array.isArray(e)||(e=[e],t[n]=e),e.push(r)}else t[n]=r}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Rt(this.remaining),n=this.remaining[i.length];if("/"!==n&&")"!==n&&";"!==n)throw new Error(`Cannot parse url '${this.url}'`);let r;i.indexOf(":")>-1?(r=i.substr(0,i.indexOf(":")),this.capture(r),this.capture(":")):t&&(r=et);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s.primary:new vt([],s),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Nt{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Bt(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Bt(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=Ut(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return Ut(t,this._root).map(t=>t.value)}}function Bt(t,e){if(t===e.value)return e;for(const i of e.children){const e=Bt(t,i);if(e)return e}return null}function Ut(t,e){if(t===e.value)return[e];for(const i of e.children){const n=Ut(t,i);if(n.length)return n.unshift(e),n}return[]}class qt{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function zt(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Ht extends Nt{constructor(t,e){super(t),this.snapshot=e,Wt(this,t)}toString(){return this.snapshot.toString()}}function Yt(t,e){const i=function(t,e){const i=new Vt([],{},{},"",{},et,e,null,t.root,-1,{});return new Qt("",new qt(i,[]))}(t,e),n=new p.X([new _t("",{})]),r=new p.X({}),s=new p.X({}),o=new p.X({}),a=new p.X(""),l=new jt(n,r,o,a,s,et,e,i.root);return l.snapshot=i.root,new Ht(new qt(l,[]),i)}class jt{constructor(t,e,i,n,r,s,o,a){this.url=t,this.params=e,this.queryParams=i,this.fragment=n,this.data=r,this.outlet=s,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,k.U)(t=>nt(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,k.U)(t=>nt(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Gt(t,e="emptyOnly"){const i=t.pathFromRoot;let n=0;if("always"!==e)for(n=i.length-1;n>=1;){const t=i[n],e=i[n-1];if(t.routeConfig&&""===t.routeConfig.path)n--;else{if(e.component)break;n--}}return function(t){return t.reduce((t,e)=>({params:Object.assign(Object.assign({},t.params),e.params),data:Object.assign(Object.assign({},t.data),e.data),resolve:Object.assign(Object.assign({},t.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(i.slice(n))}class Vt{constructor(t,e,i,n,r,s,o,a,l,c,h){this.url=t,this.params=e,this.queryParams=i,this.fragment=n,this.data=r,this.outlet=s,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=c,this._resolve=h}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=nt(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=nt(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Qt extends Nt{constructor(t,e){super(e),this.url=t,Wt(this,e)}toString(){return Jt(this._root)}}function Wt(t,e){e.value._routerState=t,e.children.forEach(e=>Wt(t,e))}function Jt(t){const e=t.children.length>0?` { ${t.children.map(Jt).join(", ")} } `:"";return`${t.value}${e}`}function Xt(t){if(t.snapshot){const e=t.snapshot,i=t._futureSnapshot;t.snapshot=i,ot(e.queryParams,i.queryParams)||t.queryParams.next(i.queryParams),e.fragment!==i.fragment&&t.fragment.next(i.fragment),ot(e.params,i.params)||t.params.next(i.params),function(t,e){if(t.length!==e.length)return!1;for(let i=0;iot(t.parameters,n[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||Kt(t.parent,e.parent))}function $t(t,e,i){if(i&&t.shouldReuseRoute(e.value,i.value.snapshot)){const n=i.value;n._futureSnapshot=e.value;const r=function(t,e,i){return e.children.map(e=>{for(const n of i.children)if(t.shouldReuseRoute(e.value,n.value.snapshot))return $t(t,e,n);return $t(t,e)})}(t,e,i);return new qt(n,r)}{if(t.shouldAttach(e.value)){const i=t.retrieve(e.value);if(null!==i){const t=i.route;return te(e,t),t}}const i=new jt(new p.X((n=e.value).url),new p.X(n.params),new p.X(n.queryParams),new p.X(n.fragment),new p.X(n.data),n.outlet,n.component,n),r=e.children.map(e=>$t(t,e));return new qt(i,r)}var n}function te(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(let i=0;i{s[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new bt(i.root===t?e:re(i.root,t,e),s,r)}function re(t,e,i){const n={};return ht(t.children,(t,r)=>{n[r]=t===e?i:re(t,e,i)}),new vt(t.segments,n)}class se{constructor(t,e,i){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=i,t&&i.length>0&&ee(i[0]))throw new Error("Root segment cannot have matrix parameters");const n=i.find(ie);if(n&&n!==ct(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class oe{constructor(t,e,i){this.segmentGroup=t,this.processChildren=e,this.index=i}}function ae(t,e,i){if(t||(t=new vt([],{})),0===t.segments.length&&t.hasChildren())return le(t,e,i);const n=function(t,e,i){let n=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r=i.length)return s;const e=t.segments[r],o=i[n];if(ie(o))break;const a=`${o}`,l=n0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!de(a,l,e))return s;n+=2}else{if(!de(a,{},e))return s;n++}r++}return{match:!0,pathIndex:r,commandIndex:n}}(t,e,i),r=i.slice(n.commandIndex);if(n.match&&n.pathIndex{"string"==typeof i&&(i=[i]),null!==i&&(r[n]=ae(t.children[n],e,i))}),ht(t.children,(t,e)=>{void 0===n[e]&&(r[e]=t)}),new vt(t.segments,r)}}function ce(t,e,i){const n=t.segments.slice(0,e);let r=0;for(;r{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=ce(new vt([],{}),0,t))}),e}function ue(t){const e={};return ht(t,(t,i)=>e[i]=`${t}`),e}function de(t,e,i){return t==i.path&&ot(e,i.parameters)}class fe{constructor(t,e,i,n){this.routeReuseStrategy=t,this.futureState=e,this.currState=i,this.forwardEvent=n}activate(t){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,t),Xt(this.futureState.root),this.activateChildRoutes(e,i,t)}deactivateChildRoutes(t,e,i){const n=zt(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,n[e],i),delete n[e]}),ht(n,(t,e)=>{this.deactivateRouteAndItsChildren(t,i)})}deactivateRoutes(t,e,i){const n=t.value,r=e?e.value:null;if(n===r)if(n.component){const r=i.getContext(n.outlet);r&&this.deactivateChildRoutes(t,e,r.children)}else this.deactivateChildRoutes(t,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const i=e.getContext(t.value.outlet);if(i&&i.outlet){const e=i.outlet.detach(),n=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:n})}}deactivateRouteAndOutlet(t,e){const i=e.getContext(t.value.outlet),n=i&&t.value.component?i.children:e,r=zt(t);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],n);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,e,i){const n=zt(e);t.children.forEach(t=>{this.activateRoutes(t,n[t.value.outlet],i),this.forwardEvent(new $(t.value.snapshot))}),t.children.length&&this.forwardEvent(new X(t.value.snapshot))}activateRoutes(t,e,i){const n=t.value,r=e?e.value:null;if(Xt(n),n===r)if(n.component){const r=i.getOrCreateContext(n.outlet);this.activateChildRoutes(t,e,r.children)}else this.activateChildRoutes(t,e,i);else if(n.component){const e=i.getOrCreateContext(n.outlet);if(this.routeReuseStrategy.shouldAttach(n.snapshot)){const t=this.routeReuseStrategy.retrieve(n.snapshot);this.routeReuseStrategy.store(n.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),pe(t.route)}else{const i=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(n.snapshot),r=i?i.module.componentFactoryResolver:null;e.attachRef=null,e.route=n,e.resolver=r,e.outlet&&e.outlet.activateWith(n,r),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,i)}}function pe(t){Xt(t.value),t.children.forEach(pe)}class me{constructor(t,e){this.routes=t,this.module=e}}function ge(t){return"function"==typeof t}function ye(t){return t instanceof bt}const be=Symbol("INITIAL_VALUE");function ve(){return(0,M.w)(t=>(0,m.a)(t.map(t=>t.pipe((0,E.q)(1),(0,T.O)(be)))).pipe((0,L.R)((t,e)=>{let i=!1;return e.reduce((t,n,r)=>{if(t!==be)return t;if(n===be&&(i=!0),!i){if(!1===n)return n;if(r===e.length-1||ye(n))return n}return t},t)},be),(0,w.h)(t=>t!==be),(0,k.U)(t=>ye(t)?t:!0===t),(0,E.q)(1)))}let _e=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,e){1&t&&r._UZ(0,"router-outlet")},directives:function(){return[bi]},encapsulation:2}),t})();function we(t,e=""){for(let i=0;iSe(t)===e);return i.push(...t.filter(t=>Se(t)!==e)),i}const Me={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function Ee(t,e,i){var n;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||i.length>0)?Object.assign({},Me):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const r=(e.matcher||st)(i,t,e);if(!r)return Object.assign({},Me);const s={};ht(r.posParams,(t,e)=>{s[e]=t.path});const o=r.consumed.length>0?Object.assign(Object.assign({},s),r.consumed[r.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:o,positionalParamSegments:null!==(n=r.posParams)&&void 0!==n?n:{}}}function Te(t,e,i,n,r="corrected"){if(i.length>0&&function(t,e,i){return i.some(i=>Le(t,e,i)&&Se(i)!==et)}(t,i,n)){const r=new vt(e,function(t,e,i,n){const r={};r.primary=n,n._sourceSegment=t,n._segmentIndexShift=e.length;for(const s of i)if(""===s.path&&Se(s)!==et){const i=new vt([],{});i._sourceSegment=t,i._segmentIndexShift=e.length,r[Se(s)]=i}return r}(t,e,n,new vt(i,t.children)));return r._sourceSegment=t,r._segmentIndexShift=e.length,{segmentGroup:r,slicedSegments:[]}}if(0===i.length&&function(t,e,i){return i.some(i=>Le(t,e,i))}(t,i,n)){const s=new vt(t.segments,function(t,e,i,n,r,s){const o={};for(const a of n)if(Le(t,i,a)&&!r[Se(a)]){const i=new vt([],{});i._sourceSegment=t,i._segmentIndexShift="legacy"===s?t.segments.length:e.length,o[Se(a)]=i}return Object.assign(Object.assign({},r),o)}(t,e,i,n,t.children,r));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}const s=new vt(t.segments,t.children);return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}function Le(t,e,i){return(!(t.hasChildren()||e.length>0)||"full"!==i.pathMatch)&&""===i.path}function Ie(t,e,i,n){return!!(Se(t)===n||n!==et&&Le(e,i,t))&&("**"===t.path||Ee(e,t,i).matched)}function Oe(t,e,i){return 0===e.length&&!t.children[i]}class De{constructor(t){this.segmentGroup=t||null}}class Re{constructor(t){this.urlTree=t}}function Pe(t){return new o.y(e=>e.error(new De(t)))}function Ze(t){return new o.y(e=>e.error(new Re(t)))}function Fe(t){return new o.y(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class Ne{constructor(t,e,i,n,s){this.configLoader=e,this.urlSerializer=i,this.urlTree=n,this.config=s,this.allowRedirects=!0,this.ngModule=t.get(r.h0i)}apply(){const t=Te(this.urlTree.root,[],[],this.config).segmentGroup,e=new vt(t.segments,t.children);return this.expandSegmentGroup(this.ngModule,this.config,e,et).pipe((0,k.U)(t=>this.createUrlTree(Be(t),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,I.K)(t=>{if(t instanceof Re)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof De)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,et).pipe((0,k.U)(e=>this.createUrlTree(Be(e),t.queryParams,t.fragment))).pipe((0,I.K)(t=>{if(t instanceof De)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,i){const n=t.segments.length>0?new vt([],{[et]:t}):t;return new bt(n,e,i)}expandSegmentGroup(t,e,i,n){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,e,i).pipe((0,k.U)(t=>new vt([],t))):this.expandSegment(t,i,e,i.segments,n,!0)}expandChildren(t,e,i){const n=[];for(const r of Object.keys(i.children))"primary"===r?n.unshift(r):n.push(r);return(0,d.Dp)(n).pipe((0,O.b)(n=>{const r=i.children[n],s=ke(e,n);return this.expandSegmentGroup(t,s,r,n).pipe((0,k.U)(t=>({segment:t,outlet:n})))}),(0,L.R)((t,e)=>(t[e.outlet]=e.segment,t),{}),function(t,e){var i=arguments.length>=2;return function(n){return n.pipe(t?(0,w.h)(function(e,i){return t(e,i,n)}):S.y,x(1),i?(0,A.d)(e):(0,C.T)(function(){return new g.K}))}}())}expandSegment(t,e,i,n,r,s){return(0,d.Dp)(i).pipe((0,O.b)(o=>this.expandSegmentAgainstRoute(t,e,i,o,n,r,s).pipe((0,I.K)(t=>{if(t instanceof De)return(0,f.of)(null);throw t}))),(0,D.P)(t=>!!t),(0,I.K)((t,i)=>{if(t instanceof g.K||"EmptyError"===t.name){if(Oe(e,n,r))return(0,f.of)(new vt([],{}));throw new De(e)}throw t}))}expandSegmentAgainstRoute(t,e,i,n,r,s,o){return Ie(n,e,r,s)?void 0===n.redirectTo?this.matchSegmentAgainstRoute(t,e,n,r,s):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s):Pe(e):Pe(e)}expandSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s){return"**"===n.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,n,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,i,n){const r=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?Ze(r):this.lineralizeSegments(i,r).pipe((0,R.z)(i=>{const r=new vt(i,{});return this.expandSegment(t,r,e,i,n,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:c}=Ee(e,n,r);if(!o)return Pe(e);const h=this.applyRedirectCommands(a,n.redirectTo,c);return n.redirectTo.startsWith("/")?Ze(h):this.lineralizeSegments(n,h).pipe((0,R.z)(n=>this.expandSegment(t,e,i,n.concat(r.slice(l)),s,!1)))}matchSegmentAgainstRoute(t,e,i,n,r){if("**"===i.path)return i.loadChildren?(i._loadedConfig?(0,f.of)(i._loadedConfig):this.configLoader.load(t.injector,i)).pipe((0,k.U)(t=>(i._loadedConfig=t,new vt(n,{})))):(0,f.of)(new vt(n,{}));const{matched:s,consumedSegments:o,lastChild:a}=Ee(e,i,n);if(!s)return Pe(e);const l=n.slice(a);return this.getChildConfig(t,i,n).pipe((0,R.z)(t=>{const n=t.module,s=t.routes,{segmentGroup:a,slicedSegments:c}=Te(e,o,l,s),h=new vt(a.segments,a.children);if(0===c.length&&h.hasChildren())return this.expandChildren(n,s,h).pipe((0,k.U)(t=>new vt(o,t)));if(0===s.length&&0===c.length)return(0,f.of)(new vt(o,{}));const u=Se(i)===r;return this.expandSegment(n,h,s,c,u?et:r,!0).pipe((0,k.U)(t=>new vt(o.concat(t.segments),t.children)))}))}getChildConfig(t,e,i){return e.children?(0,f.of)(new me(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?(0,f.of)(e._loadedConfig):this.runCanLoadGuards(t.injector,e,i).pipe((0,R.z)(i=>i?this.configLoader.load(t.injector,e).pipe((0,k.U)(t=>(e._loadedConfig=t,t))):function(t){return new o.y(e=>e.error(rt(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):(0,f.of)(new me([],t))}runCanLoadGuards(t,e,i){const n=e.canLoad;if(!n||0===n.length)return(0,f.of)(!0);const r=n.map(n=>{const r=t.get(n);let s;if(function(t){return t&&ge(t.canLoad)}(r))s=r.canLoad(e,i);else{if(!ge(r))throw new Error("Invalid CanLoad guard");s=r(e,i)}return ut(s)});return(0,f.of)(r).pipe(ve(),(0,P.b)(t=>{if(!ye(t))return;const e=rt(`Redirecting to "${this.urlSerializer.serialize(t)}"`);throw e.url=t,e}),(0,k.U)(t=>!0===t))}lineralizeSegments(t,e){let i=[],n=e.root;for(;;){if(i=i.concat(n.segments),0===n.numberOfChildren)return(0,f.of)(i);if(n.numberOfChildren>1||!n.children.primary)return Fe(t.redirectTo);n=n.children.primary}}applyRedirectCommands(t,e,i){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,i)}applyRedirectCreatreUrlTree(t,e,i,n){const r=this.createSegmentGroup(t,e.root,i,n);return new bt(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const i={};return ht(t,(t,n)=>{if("string"==typeof t&&t.startsWith(":")){const r=t.substring(1);i[n]=e[r]}else i[n]=t}),i}createSegmentGroup(t,e,i,n){const r=this.createSegments(t,e.segments,i,n);let s={};return ht(e.children,(e,r)=>{s[r]=this.createSegmentGroup(t,e,i,n)}),new vt(r,s)}createSegments(t,e,i,n){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,n):this.findOrReturn(e,i))}findPosParam(t,e,i){const n=i[e.path.substring(1)];if(!n)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return n}findOrReturn(t,e){let i=0;for(const n of e){if(n.path===t.path)return e.splice(i),n;i++}return t}}function Be(t){const e={};for(const i of Object.keys(t.children)){const n=Be(t.children[i]);(n.segments.length>0||n.hasChildren())&&(e[i]=n)}return function(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new vt(t.segments.concat(e.segments),e.children)}return t}(new vt(t.segments,e))}class Ue{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class qe{constructor(t,e){this.component=t,this.route=e}}function ze(t,e,i){const n=t._root;return Ye(n,e?e._root:null,i,[n.value])}function He(t,e,i){const n=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(n?n.module.injector:i).get(t)}function Ye(t,e,i,n,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=zt(e);return t.children.forEach(t=>{!function(t,e,i,n,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=t.value,o=e?e.value:null,a=i?i.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(t,e,i){if("function"==typeof i)return i(t,e);switch(i){case"pathParamsChange":return!wt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!wt(t.url,e.url)||!ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Kt(t,e)||!ot(t.queryParams,e.queryParams);case"paramsChange":default:return!Kt(t,e)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new Ue(n)):(s.data=o.data,s._resolvedData=o._resolvedData),Ye(t,e,s.component?a?a.children:null:i,n,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new qe(a.outlet.component,o))}else o&&je(e,a,r),r.canActivateChecks.push(new Ue(n)),Ye(t,null,s.component?a?a.children:null:i,n,r)}(t,s[t.value.outlet],i,n.concat([t.value]),r),delete s[t.value.outlet]}),ht(s,(t,e)=>je(t,i.getContext(e),r)),r}function je(t,e,i){const n=zt(t),r=t.value;ht(n,(t,n)=>{je(t,r.component?e?e.children.getContext(n):null:e,i)}),i.canDeactivateChecks.push(new qe(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class Ge{}function Ve(t){return new o.y(e=>e.error(t))}class Qe{constructor(t,e,i,n,r,s){this.rootComponentType=t,this.config=e,this.urlTree=i,this.url=n,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=s}recognize(){const t=Te(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,et);if(null===e)return null;const i=new Vt([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},et,this.rootComponentType,null,this.urlTree.root,-1,{}),n=new qt(i,e),r=new Qt(this.url,n);return this.inheritParamsAndData(r._root),r}inheritParamsAndData(t){const e=t.value,i=Gt(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,i){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,i)}processChildren(t,e){const i=[];for(const r of Object.keys(e.children)){const n=e.children[r],s=ke(t,r),o=this.processSegmentGroup(s,n,r);if(null===o)return null;i.push(...o)}const n=Je(i);return n.sort((t,e)=>t.value.outlet===et?-1:e.value.outlet===et?1:t.value.outlet.localeCompare(e.value.outlet)),n}processSegment(t,e,i,n){for(const r of t){const t=this.processSegmentAgainstRoute(r,e,i,n);if(null!==t)return t}return Oe(e,i,n)?[]:null}processSegmentAgainstRoute(t,e,i,n){if(t.redirectTo||!Ie(t,e,i,n))return null;let r,s=[],o=[];if("**"===t.path){const n=i.length>0?ct(i).parameters:{};r=new Vt(i,n,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,$e(t),Se(t),t.component,t,Xe(e),Ke(e)+i.length,ti(t))}else{const n=Ee(e,t,i);if(!n.matched)return null;s=n.consumedSegments,o=i.slice(n.lastChild),r=new Vt(s,n.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,$e(t),Se(t),t.component,t,Xe(e),Ke(e)+s.length,ti(t))}const a=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:l,slicedSegments:c}=Te(e,s,o,a.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution);if(0===c.length&&l.hasChildren()){const t=this.processChildren(a,l);return null===t?null:[new qt(r,t)]}if(0===a.length&&0===c.length)return[new qt(r,[])];const h=Se(t)===n,u=this.processSegment(a,l,c,h?et:n);return null===u?null:[new qt(r,u)]}}function We(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function Je(t){const e=[],i=new Set;for(const n of t){if(!We(n)){e.push(n);continue}const t=e.find(t=>n.value.routeConfig===t.value.routeConfig);void 0!==t?(t.children.push(...n.children),i.add(t)):e.push(n)}for(const n of i){const t=Je(n.children);e.push(new qt(n.value,t))}return e.filter(t=>!i.has(t))}function Xe(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function Ke(t){let e=t,i=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,i+=e._segmentIndexShift?e._segmentIndexShift:0;return i-1}function $e(t){return t.data||{}}function ti(t){return t.resolve||{}}function ei(t){return(0,M.w)(e=>{const i=t(e);return i?(0,d.Dp)(i).pipe((0,k.U)(()=>e)):(0,f.of)(e)})}class ii extends class{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}{}const ni=new r.OlP("ROUTES");class ri{constructor(t,e,i,n){this.loader=t,this.compiler=e,this.onLoadStartListener=i,this.onLoadEndListener=n}load(t,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const i=this.loadModuleFactory(e.loadChildren).pipe((0,k.U)(i=>{this.onLoadEndListener&&this.onLoadEndListener(e);const n=i.create(t);return new me(lt(n.injector.get(ni,void 0,r.XFs.Self|r.XFs.Optional)).map(Ae),n)}),(0,I.K)(t=>{throw e._loader$=void 0,t}));return e._loader$=new u(i,()=>new _.x).pipe(h()),e._loader$}loadModuleFactory(t){return"string"==typeof t?(0,d.Dp)(this.loader.load(t)):ut(t()).pipe((0,R.z)(t=>t instanceof r.YKP?(0,f.of)(t):(0,d.Dp)(this.compiler.compileModuleAsync(t))))}}class si{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new oi,this.attachRef=null}}class oi{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const i=this.getOrCreateContext(t);i.outlet=e,this.contexts.set(t,i)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new si,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class ai{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function li(t){throw t}function ci(t,e,i){return e.parse("/")}function hi(t,e){return(0,f.of)(null)}const ui={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},di={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let fi=(()=>{class t{constructor(t,e,i,n,s,o,a,l){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=i,this.location=n,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new _.x,this.errorHandler=li,this.malformedUriErrorHandler=ci,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:hi,afterPreactivation:hi},this.urlHandlingStrategy=new ai,this.routeReuseStrategy=new ii,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=s.get(r.h0i),this.console=s.get(r.c2e);const c=s.get(r.R0b);this.isNgZoneEnabled=c instanceof r.R0b&&r.R0b.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=new bt(new vt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new ri(o,a,t=>this.triggerEvent(new Q(t)),t=>this.triggerEvent(new W(t))),this.routerState=Yt(this.currentUrlTree,this.rootComponentType),this.transitions=new p.X({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe((0,w.h)(t=>0!==t.id),(0,k.U)(t=>Object.assign(Object.assign({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),(0,M.w)(t=>{let i=!1,n=!1;return(0,f.of)(t).pipe((0,P.b)(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),(0,M.w)(t=>{const i=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||i)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return(0,f.of)(t).pipe((0,M.w)(t=>{const i=this.transitions.getValue();return e.next(new B(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),i!==this.transitions.getValue()?v.E:Promise.resolve(t)}),(n=this.ngModule.injector,r=this.configLoader,s=this.urlSerializer,o=this.config,(0,M.w)(t=>function(t,e,i,n,r){return new Ne(t,e,i,n,r).apply()}(n,r,s,t.extractedUrl,o).pipe((0,k.U)(e=>Object.assign(Object.assign({},t),{urlAfterRedirects:e}))))),(0,P.b)(t=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:t.urlAfterRedirects})}),function(t,e,i,n,r){return(0,R.z)(s=>function(t,e,i,n,r="emptyOnly",s="legacy"){try{const o=new Qe(t,e,i,n,r,s).recognize();return null===o?Ve(new Ge):(0,f.of)(o)}catch(o){return Ve(o)}}(t,e,s.urlAfterRedirects,i(s.urlAfterRedirects),n,r).pipe((0,k.U)(t=>Object.assign(Object.assign({},s),{targetSnapshot:t}))))}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),(0,P.b)(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,t),this.browserUrlTree=t.urlAfterRedirects);const i=new H(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(i)}));var n,r,s,o;if(i&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:i,extractedUrl:n,source:r,restoredState:s,extras:o}=t,a=new B(i,this.serializeUrl(n),r,s);e.next(a);const l=Yt(n,this.rootComponentType).snapshot;return(0,f.of)(Object.assign(Object.assign({},t),{targetSnapshot:l,urlAfterRedirects:n,extras:Object.assign(Object.assign({},o),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),v.E}),ei(t=>{const{targetSnapshot:e,id:i,extractedUrl:n,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:o}}=t;return this.hooks.beforePreactivation(e,{navigationId:i,appliedUrlTree:n,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!o})}),(0,P.b)(t=>{const e=new Y(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(0,k.U)(t=>Object.assign(Object.assign({},t),{guards:ze(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return(0,R.z)(i=>{const{targetSnapshot:n,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:o}}=i;return 0===o.length&&0===s.length?(0,f.of)(Object.assign(Object.assign({},i),{guardsResult:!0})):function(t,e,i,n){return(0,d.Dp)(t).pipe((0,R.z)(t=>function(t,e,i,n,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!s||0===s.length)return(0,f.of)(!0);const o=s.map(s=>{const o=He(s,e,r);let a;if(function(t){return t&&ge(t.canDeactivate)}(o))a=ut(o.canDeactivate(t,e,i,n));else{if(!ge(o))throw new Error("Invalid CanDeactivate guard");a=ut(o(t,e,i,n))}return a.pipe((0,D.P)())});return(0,f.of)(o).pipe(ve())}(t.component,t.route,i,e,n)),(0,D.P)(t=>!0!==t,!0))}(o,n,r,t).pipe((0,R.z)(i=>i&&"boolean"==typeof i?function(t,e,i,n){return(0,d.Dp)(e).pipe((0,O.b)(e=>(0,y.z)(function(t,e){return null!==t&&e&&e(new J(t)),(0,f.of)(!0)}(e.route.parent,n),function(t,e){return null!==t&&e&&e(new K(t)),(0,f.of)(!0)}(e.route,n),function(t,e,i){const n=e[e.length-1],r=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>(0,b.P)(()=>{const r=e.guards.map(r=>{const s=He(r,e.node,i);let o;if(function(t){return t&&ge(t.canActivateChild)}(s))o=ut(s.canActivateChild(n,t));else{if(!ge(s))throw new Error("Invalid CanActivateChild guard");o=ut(s(n,t))}return o.pipe((0,D.P)())});return(0,f.of)(r).pipe(ve())}));return(0,f.of)(r).pipe(ve())}(t,e.path,i),function(t,e,i){const n=e.routeConfig?e.routeConfig.canActivate:null;if(!n||0===n.length)return(0,f.of)(!0);const r=n.map(n=>(0,b.P)(()=>{const r=He(n,e,i);let s;if(function(t){return t&&ge(t.canActivate)}(r))s=ut(r.canActivate(e,t));else{if(!ge(r))throw new Error("Invalid CanActivate guard");s=ut(r(e,t))}return s.pipe((0,D.P)())}));return(0,f.of)(r).pipe(ve())}(t,e.route,i))),(0,D.P)(t=>!0!==t,!0))}(n,s,t,e):(0,f.of)(i)),(0,k.U)(t=>Object.assign(Object.assign({},i),{guardsResult:t})))})}(this.ngModule.injector,t=>this.triggerEvent(t)),(0,P.b)(t=>{if(ye(t.guardsResult)){const e=rt(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}const e=new j(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),(0,w.h)(t=>!!t.guardsResult||(this.cancelNavigationTransition(t,""),!1)),ei(t=>{if(t.guards.canActivateChecks.length)return(0,f.of)(t).pipe((0,P.b)(t=>{const e=new G(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(0,M.w)(t=>{let e=!1;return(0,f.of)(t).pipe((i=this.paramsInheritanceStrategy,n=this.ngModule.injector,(0,R.z)(t=>{const{targetSnapshot:e,guards:{canActivateChecks:r}}=t;if(!r.length)return(0,f.of)(t);let s=0;return(0,d.Dp)(r).pipe((0,O.b)(t=>function(t,e,i,n){return function(t,e,i,n){const r=Object.keys(t);if(0===r.length)return(0,f.of)({});const s={};return(0,d.Dp)(r).pipe((0,R.z)(r=>function(t,e,i,n){const r=He(t,e,n);return ut(r.resolve?r.resolve(e,i):r(e,i))}(t[r],e,i,n).pipe((0,P.b)(t=>{s[r]=t}))),x(1),(0,R.z)(()=>Object.keys(s).length===r.length?(0,f.of)(s):v.E))}(t._resolve,t,e,n).pipe((0,k.U)(e=>(t._resolvedData=e,t.data=Object.assign(Object.assign({},t.data),Gt(t,i).resolve),null)))}(t.route,e,i,n)),(0,P.b)(()=>s++),x(1),(0,R.z)(e=>s===r.length?(0,f.of)(t):v.E))})),(0,P.b)({next:()=>e=!0,complete:()=>{e||this.cancelNavigationTransition(t,"At least one route resolver didn't emit any value.")}}));var i,n}),(0,P.b)(t=>{const e=new V(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}))}),ei(t=>{const{targetSnapshot:e,id:i,extractedUrl:n,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:o}}=t;return this.hooks.afterPreactivation(e,{navigationId:i,appliedUrlTree:n,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!o})}),(0,k.U)(t=>{const e=function(t,e,i){const n=$t(t,e._root,i?i._root:void 0);return new Ht(n,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign(Object.assign({},t),{targetRouterState:e})}),(0,P.b)(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,t),this.browserUrlTree=t.urlAfterRedirects)}),(r=this.rootContexts,s=this.routeReuseStrategy,o=t=>this.triggerEvent(t),(0,k.U)(t=>(new fe(s,t.targetRouterState,t.currentRouterState,o).activate(r),t))),(0,P.b)({next(){i=!0},complete(){i=!0}}),(0,Z.x)(()=>{i||n||this.cancelNavigationTransition(t,`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`),this.currentNavigation=null}),(0,I.K)(i=>{if(n=!0,(r=i)&&r.ngNavigationCancelingError){const n=ye(i.url);n||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const r=new q(t.id,this.serializeUrl(t.extractedUrl),i.message);e.next(r),n?setTimeout(()=>{const e=this.urlHandlingStrategy.merge(i.url,this.rawUrlTree);this.scheduleNavigation(e,"imperative",null,{skipLocationChange:t.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:t.resolve,reject:t.reject,promise:t.promise})},0):t.resolve(!1)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const n=new z(t.id,this.serializeUrl(t.extractedUrl),i);e.next(n);try{t.resolve(this.errorHandler(i))}catch(s){t.reject(s)}}var r;return v.E}));var r,s,o}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const e=this.extractLocationChangeInfoFromEvent(t);this.shouldScheduleNavigation(this.lastLocationChangeInfo,e)&&setTimeout(()=>{const{source:t,state:i,urlTree:n}=e,r={replaceUrl:!0};if(i){const t=Object.assign({},i);delete t.navigationId,delete t.\u0275routerPageId,0!==Object.keys(t).length&&(r.state=t)}this.scheduleNavigation(n,t,i,r)},0),this.lastLocationChangeInfo=e}))}extractLocationChangeInfoFromEvent(t){var e;return{source:"popstate"===t.type?"popstate":"hashchange",urlTree:this.parseUrl(t.url),state:(null===(e=t.state)||void 0===e?void 0:e.navigationId)?t.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(t,e){if(!t)return!0;const i=e.urlTree.toString()===t.urlTree.toString();return!(e.transitionId===t.transitionId&&i&&("hashchange"===e.source&&"popstate"===t.source||"popstate"===e.source&&"hashchange"===t.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){we(t),this.config=t.map(Ae),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,e={}){const{relativeTo:i,queryParams:n,fragment:r,queryParamsHandling:s,preserveFragment:o}=e,a=i||this.routerState.root,l=o?this.currentUrlTree.fragment:r;let c=null;switch(s){case"merge":c=Object.assign(Object.assign({},this.currentUrlTree.queryParams),n);break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=n||null}return null!==c&&(c=this.removeEmptyProps(c)),function(t,e,i,n,r){if(0===i.length)return ne(e.root,e.root,e,n,r);const s=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new se(!0,0,t);let e=0,i=!1;const n=t.reduce((t,n,r)=>{if("object"==typeof n&&null!=n){if(n.outlets){const e={};return ht(n.outlets,(t,i)=>{e[i]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(n.segmentPath)return[...t,n.segmentPath]}return"string"!=typeof n?[...t,n]:0===r?(n.split("/").forEach((n,r)=>{0==r&&"."===n||(0==r&&""===n?i=!0:".."===n?e++:""!=n&&t.push(n))}),t):[...t,n]},[]);return new se(i,e,n)}(i);if(s.toRoot())return ne(e.root,new vt([],{}),e,n,r);const o=function(t,e,i){if(t.isAbsolute)return new oe(e.root,!0,0);if(-1===i.snapshot._lastPathIndex){const t=i.snapshot._urlSegment;return new oe(t,t===e.root,0)}const n=ee(t.commands[0])?0:1;return function(t,e,i){let n=t,r=e,s=i;for(;s>r;){if(s-=r,n=n.parent,!n)throw new Error("Invalid number of '../'");r=n.segments.length}return new oe(n,!1,r-s)}(i.snapshot._urlSegment,i.snapshot._lastPathIndex+n,t.numberOfDoubleDots)}(s,e,t),a=o.processChildren?le(o.segmentGroup,o.index,s.commands):ae(o.segmentGroup,o.index,s.commands);return ne(o.segmentGroup,a,e,n,r)}(a,this.currentUrlTree,t,c,null!=l?l:null)}navigateByUrl(t,e={skipLocationChange:!1}){const i=ye(t)?t:this.parseUrl(t),n=this.urlHandlingStrategy.merge(i,this.rawUrlTree);let r=null;return"computed"===this.canceledNavigationResolution&&(0===this.currentPageId||e.skipLocationChange||e.replaceUrl)&&(r=this.location.getState()),this.scheduleNavigation(n,"imperative",r,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e{const n=t[i];return null!=n&&(e[i]=n),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId,this.events.next(new U(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,i,n,r){if(this.disposed)return Promise.resolve(!1);const s=this.getTransition(),o="imperative"!==e&&"imperative"===(null==s?void 0:s.source),a=(this.lastSuccessfulId===s.id||this.currentNavigation?s.rawUrl:s.urlAfterRedirects).toString()===t.toString();if(o&&a)return Promise.resolve(!0);let l,c,h;r?(l=r.resolve,c=r.reject,h=r.promise):h=new Promise((t,e)=>{l=t,c=e});const u=++this.navigationId;let d;return d="computed"===this.canceledNavigationResolution?i&&i.\u0275routerPageId?i.\u0275routerPageId:this.currentPageId+1:0,this.setTransition({id:u,targetPageId:d,source:e,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:n,resolve:l,reject:c,promise:h,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),h.catch(t=>Promise.reject(t))}setBrowserUrl(t,e){const i=this.urlSerializer.serialize(t),n=Object.assign(Object.assign({},e.extras.state),this.generateNgRouterState(e.id,e.targetPageId));this.location.isCurrentPathEqualTo(i)||e.extras.replaceUrl?this.location.replaceState(i,"",n):this.location.go(i,"",n)}resetStateAndUrl(t,e,i){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,i),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(t,e){"computed"===this.canceledNavigationResolution?"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy||this.location.historyGo(this.currentPageId-t.targetPageId):this.resetUrlToCurrentUrlTree();const i=new q(t.id,this.serializeUrl(t.extractedUrl),e);this.triggerEvent(i),t.resolve(!1)}generateNgRouterState(t,e){return"computed"===this.canceledNavigationResolution?{navigationId:t,"\u0275routerPageId":e}:{navigationId:t}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.DyG),r.LFG(xt),r.LFG(oi),r.LFG(n.Ye),r.LFG(r.zs3),r.LFG(r.v3s),r.LFG(r.Sil),r.LFG(void 0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),pi=(()=>{class t{constructor(t,e,i,n,r){this.router=t,this.route=e,this.commands=[],this.onChanges=new _.x,null==i&&n.setAttribute(r.nativeElement,"tabindex","0")}ngOnChanges(t){this.onChanges.next(this)}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}onClick(){const t={skipLocationChange:gi(this.skipLocationChange),replaceUrl:gi(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,t),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:gi(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(fi),r.Y36(jt),r.$8M("tabindex"),r.Y36(r.Qsj),r.Y36(r.SBq))},t.\u0275dir=r.lG2({type:t,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(t,e){1&t&&r.NdJ("click",function(){return e.onClick()})},inputs:{routerLink:"routerLink",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[r.TTD]}),t})(),mi=(()=>{class t{constructor(t,e,i){this.router=t,this.route=e,this.locationStrategy=i,this.commands=[],this.onChanges=new _.x,this.subscription=t.events.subscribe(t=>{t instanceof U&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}ngOnChanges(t){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,i,n,r){if(0!==t||e||i||n||r)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const s={skipLocationChange:gi(this.skipLocationChange),replaceUrl:gi(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,s),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:gi(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(fi),r.Y36(jt),r.Y36(n.S$))},t.\u0275dir=r.lG2({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(t,e){1&t&&r.NdJ("click",function(t){return e.onClick(t.button,t.ctrlKey,t.shiftKey,t.altKey,t.metaKey)}),2&t&&(r.Ikx("href",e.href,r.LSH),r.uIk("target",e.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[r.TTD]}),t})();function gi(t){return""===t||!!t}let yi=(()=>{class t{constructor(t,e,i,n,r,s){this.router=t,this.element=e,this.renderer=i,this.cdr=n,this.link=r,this.linkWithHref=s,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.routerEventsSubscription=t.events.subscribe(t=>{t instanceof U&&this.update()})}ngAfterContentInit(){(0,f.of)(this.links.changes,this.linksWithHrefs.changes,(0,f.of)(null)).pipe((0,F.J)()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var t;null===(t=this.linkInputChangesSubscription)||void 0===t||t.unsubscribe();const e=[...this.links.toArray(),...this.linksWithHrefs.toArray(),this.link,this.linkWithHref].filter(t=>!!t).map(t=>t.onChanges);this.linkInputChangesSubscription=(0,d.Dp)(e).pipe((0,F.J)()).subscribe(t=>{this.isActive!==this.isLinkActive(this.router)(t)&&this.update()})}set routerLinkActive(t){const e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(t=>!!t)}ngOnChanges(t){this.update()}ngOnDestroy(){var t;this.routerEventsSubscription.unsubscribe(),null===(t=this.linkInputChangesSubscription)||void 0===t||t.unsubscribe()}update(){this.links&&this.linksWithHrefs&&this.router.navigated&&Promise.resolve().then(()=>{const t=this.hasActiveLinks();this.isActive!==t&&(this.isActive=t,this.cdr.markForCheck(),this.classes.forEach(e=>{t?this.renderer.addClass(this.element.nativeElement,e):this.renderer.removeClass(this.element.nativeElement,e)}))})}isLinkActive(t){const e="paths"in this.routerLinkActiveOptions?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>t.isActive(i.urlTree,e)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.linkWithHref&&t(this.linkWithHref)||this.links.some(t)||this.linksWithHrefs.some(t)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(fi),r.Y36(r.SBq),r.Y36(r.Qsj),r.Y36(r.sBO),r.Y36(pi,8),r.Y36(mi,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(t,e,i){if(1&t&&(r.Suo(i,pi,5),r.Suo(i,mi,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.links=t),r.iGM(t=r.CRH())&&(e.linksWithHrefs=t)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",routerLinkActive:"routerLinkActive"},exportAs:["routerLinkActive"],features:[r.TTD]}),t})(),bi=(()=>{class t{constructor(t,e,i,n,s){this.parentContexts=t,this.location=e,this.resolver=i,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new r.vpe,this.deactivateEvents=new r.vpe,this.name=n||et,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const i=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),n=this.parentContexts.getOrCreateContext(this.name).children,r=new vi(t,n,this.location.injector);this.activated=this.location.createComponent(i,this.location.length,r),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(oi),r.Y36(r.s_b),r.Y36(r._Vd),r.$8M("name"),r.Y36(r.sBO))},t.\u0275dir=r.lG2({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),t})();class vi{constructor(t,e,i){this.route=t,this.childContexts=e,this.parent=i}get(t,e){return t===jt?this.route:t===oi?this.childContexts:this.parent.get(t,e)}}class _i{}class wi{preload(t,e){return(0,f.of)(null)}}let xi=(()=>{class t{constructor(t,e,i,n,r){this.router=t,this.injector=n,this.preloadingStrategy=r,this.loader=new ri(e,i,e=>t.triggerEvent(new Q(e)),e=>t.triggerEvent(new W(e)))}setUpPreloading(){this.subscription=this.router.events.pipe((0,w.h)(t=>t instanceof U),(0,O.b)(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(r.h0i);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,e){const i=[];for(const n of e)if(n.loadChildren&&!n.canLoad&&n._loadedConfig){const t=n._loadedConfig;i.push(this.processRoutes(t.module,t.routes))}else n.loadChildren&&!n.canLoad?i.push(this.preloadConfig(t,n)):n.children&&i.push(this.processRoutes(t,n.children));return(0,d.Dp)(i).pipe((0,F.J)(),(0,k.U)(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>(e._loadedConfig?(0,f.of)(e._loadedConfig):this.loader.load(t.injector,e)).pipe((0,R.z)(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(fi),r.LFG(r.v3s),r.LFG(r.Sil),r.LFG(r.zs3),r.LFG(_i))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),Ci=(()=>{class t{constructor(t,e,i={}){this.router=t,this.viewportScroller=e,this.options=i,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},i.scrollPositionRestoration=i.scrollPositionRestoration||"disabled",i.anchorScrolling=i.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof B?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof U&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof tt&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new tt(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(fi),r.LFG(n.EM),r.LFG(void 0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const Ai=new r.OlP("ROUTER_CONFIGURATION"),Si=new r.OlP("ROUTER_FORROOT_GUARD"),ki=[n.Ye,{provide:xt,useClass:Ct},{provide:fi,useFactory:function(t,e,i,n,r,s,o,a={},l,c){const h=new fi(null,t,e,i,n,r,s,lt(o));return l&&(h.urlHandlingStrategy=l),c&&(h.routeReuseStrategy=c),function(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy)}(a,h),a.enableTracing&&h.events.subscribe(t=>{var e,i;null===(e=console.group)||void 0===e||e.call(console,`Router Event: ${t.constructor.name}`),console.log(t.toString()),console.log(t),null===(i=console.groupEnd)||void 0===i||i.call(console)}),h},deps:[xt,oi,n.Ye,r.zs3,r.v3s,r.Sil,ni,Ai,[class{},new r.FiY],[class{},new r.FiY]]},oi,{provide:jt,useFactory:function(t){return t.routerState.root},deps:[fi]},{provide:r.v3s,useClass:r.EAV},xi,wi,class{preload(t,e){return e().pipe((0,I.K)(()=>(0,f.of)(null)))}},{provide:Ai,useValue:{enableTracing:!1}}];function Mi(){return new r.PXZ("Router",fi)}let Ei=(()=>{class t{constructor(t,e){}static forRoot(e,i){return{ngModule:t,providers:[ki,Oi(e),{provide:Si,useFactory:Ii,deps:[[fi,new r.FiY,new r.tp0]]},{provide:Ai,useValue:i||{}},{provide:n.S$,useFactory:Li,deps:[n.lw,[new r.tBr(n.mr),new r.FiY],Ai]},{provide:Ci,useFactory:Ti,deps:[fi,n.EM,Ai]},{provide:_i,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:wi},{provide:r.PXZ,multi:!0,useFactory:Mi},[Di,{provide:r.ip1,multi:!0,useFactory:Ri,deps:[Di]},{provide:Zi,useFactory:Pi,deps:[Di]},{provide:r.tb,multi:!0,useExisting:Zi}]]}}static forChild(e){return{ngModule:t,providers:[Oi(e)]}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(Si,8),r.LFG(fi,8))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})();function Ti(t,e,i){return i.scrollOffset&&e.setOffset(i.scrollOffset),new Ci(t,e,i)}function Li(t,e,i={}){return i.useHash?new n.Do(t,e):new n.b0(t,e)}function Ii(t){return"guarded"}function Oi(t){return[{provide:r.deG,multi:!0,useValue:t},{provide:ni,multi:!0,useValue:t}]}let Di=(()=>{class t{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new _.x}appInitializer(){return this.injector.get(n.V_,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),i=this.injector.get(fi),n=this.injector.get(Ai);return"disabled"===n.initialNavigation?(i.setUpLocationChangeListener(),t(!0)):"enabled"===n.initialNavigation||"enabledBlocking"===n.initialNavigation?(i.hooks.afterPreactivation=()=>this.initNavigation?(0,f.of)(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),i.initialNavigation()):t(!0),e})}bootstrapListener(t){const e=this.injector.get(Ai),i=this.injector.get(xi),n=this.injector.get(Ci),s=this.injector.get(fi),o=this.injector.get(r.z2F);t===o.components[0]&&("enabledNonBlocking"!==e.initialNavigation&&void 0!==e.initialNavigation||s.initialNavigation(),i.setUpPreloading(),n.init(),s.resetRootComponentType(o.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.zs3))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();function Ri(t){return t.appInitializer.bind(t)}function Pi(t){return t.bootstrapListener.bind(t)}const Zi=new r.OlP("Router Initializer")},7592:(t,e,i)=>{"use strict";i.d(e,{BN:()=>Mt,uH:()=>Et});var n=i(1572);function r(t){return(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})(t)}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function o(t){for(var e=1;e0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function Q(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function W(t){return Object.keys(t||{}).reduce(function(e,i){return e+"".concat(i,": ").concat(t[i],";")},"")}function J(t){return t.size!==G.size||t.x!==G.x||t.y!==G.y||t.rotate!==G.rotate||t.flipX||t.flipY}function X(t){var e=t.transform,i=t.iconWidth,n={transform:"translate(".concat(t.containerWidth/2," 256)")},r="translate(".concat(32*e.x,", ").concat(32*e.y,") "),s="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),o="rotate(".concat(e.rotate," 0 0)");return{outer:n,inner:{transform:"".concat(r," ").concat(s," ").concat(o)},path:{transform:"translate(".concat(i/2*-1," -256)")}}}var K={x:0,y:0,width:"100%",height:"100%"};function $(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function tt(t){var e=t.icons,i=e.main,n=e.mask,r=t.prefix,s=t.iconName,a=t.transform,l=t.symbol,c=t.title,h=t.maskId,u=t.titleId,d=t.extra,f=t.watchable,p=void 0!==f&&f,m=n.found?n:i,g=m.width,y=m.height,b="fak"===r,v=b?"":"fa-w-".concat(Math.ceil(g/y*16)),_=[w.replacementClass,s?"".concat(w.familyPrefix,"-").concat(s):"",v].filter(function(t){return-1===d.classes.indexOf(t)}).filter(function(t){return""!==t||!!t}).concat(d.classes).join(" "),x={children:[],attributes:o({},d.attributes,{"data-prefix":r,"data-icon":s,class:_,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(y)})},C=b&&!~d.classes.indexOf("fa-fw")?{width:"".concat(g/y*16*.0625,"em")}:{};p&&(x.attributes["data-fa-i2svg"]=""),c&&x.children.push({tag:"title",attributes:{id:x.attributes["aria-labelledby"]||"title-".concat(u||V())},children:[c]});var A=o({},x,{prefix:r,iconName:s,main:i,mask:n,maskId:h,transform:a,symbol:l,styles:o({},C,d.styles)}),S=n.found&&i.found?function(t){var e,i=t.children,n=t.attributes,r=t.main,s=t.mask,a=t.maskId,l=r.icon,c=s.icon,h=X({transform:t.transform,containerWidth:s.width,iconWidth:r.width}),u={tag:"rect",attributes:o({},K,{fill:"white"})},d=l.children?{children:l.children.map($)}:{},f={tag:"g",attributes:o({},h.inner),children:[$(o({tag:l.tag,attributes:o({},l.attributes,h.path)},d))]},p={tag:"g",attributes:o({},h.outer),children:[f]},m="mask-".concat(a||V()),g="clip-".concat(a||V()),y={tag:"mask",attributes:o({},K,{id:m,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[u,p]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(e=c,"g"===e.tag?e.children:[e])},y]};return i.push(b,{tag:"rect",attributes:o({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(m,")")},K)}),{children:i,attributes:n}}(A):function(t){var e=t.children,i=t.attributes,n=t.main,r=t.transform,s=W(t.styles);if(s.length>0&&(i.style=s),J(r)){var a=X({transform:r,containerWidth:n.width,iconWidth:n.width});e.push({tag:"g",attributes:o({},a.outer),children:[{tag:"g",attributes:o({},a.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:o({},n.icon.attributes,a.path)}]}]})}else e.push(n.icon);return{children:e,attributes:i}}(A),k=S.attributes;return A.children=S.children,A.attributes=k,l?function(t){var e=t.iconName,i=t.children,n=t.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:o({},t.attributes,{id:!0===n?"".concat(t.prefix,"-").concat(w.familyPrefix,"-").concat(e):n}),children:i}]}]}(A):function(t){var e=t.children,i=t.main,n=t.mask,r=t.attributes,s=t.styles,a=t.transform;if(J(a)&&i.found&&!n.found){var l={x:i.width/i.height/2,y:.5};r.style=W(o({},s,{"transform-origin":"".concat(l.x+a.x/16,"em ").concat(l.y+a.y/16,"em")}))}return[{tag:"svg",attributes:r,children:e}]}(A)}var et=function(t,e,i,n){var r,s,o,a=Object.keys(t),l=a.length,c=void 0!==n?function(t,e){return function(i,n,r,s){return t.call(e,i,n,r,s)}}(e,n):e;for(void 0===i?(r=1,o=t[a[0]]):(r=0,o=i);r2&&void 0!==arguments[2]?arguments[2]:{},n=i.skipHooks,r=void 0!==n&&n,s=Object.keys(e).reduce(function(t,i){var n=e[i];return n.icon?t[n.iconName]=n.icon:t[i]=n,t},{});"function"!=typeof C.hooks.addPack||r?C.styles[t]=o({},C.styles[t]||{},s):C.hooks.addPack(t,s),"fas"===t&&it("fa",e)}var nt=C.styles,rt=C.shims,st=function(){var t=function(t){return et(nt,function(e,i,n){return e[n]=et(i,t,{}),e},{})};t(function(t,e,i){return e[3]&&(t[e[3]]=i),t}),t(function(t,e,i){var n=e[2];return t[i]=i,n.forEach(function(e){t[e]=i}),t});var e="far"in nt;et(rt,function(t,i){var n=i[1];return"far"!==n||e||(n="fas"),t[i[0]]={prefix:n,iconName:i[2]},t},{})};function ot(t,e,i){if(t&&t[e]&&t[e][i])return{prefix:e,iconName:i,icon:t[e][i]}}function at(t){var e=t.tag,i=t.attributes,n=void 0===i?{}:i,r=t.children,s=void 0===r?[]:r;return"string"==typeof t?Q(t):"<".concat(e," ").concat(function(t){return Object.keys(t||{}).reduce(function(e,i){return e+"".concat(i,'="').concat(Q(t[i]),'" ')},"").trim()}(n),">").concat(s.map(at).join(""),"")}function lt(t){this.name="MissingIcon",this.message=t||"Icon unavailable",this.stack=(new Error).stack}st(),(lt.prototype=Object.create(Error.prototype)).constructor=lt;var ct={fill:"currentColor"},ht={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ut=(o({},ct,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),o({},ht,{attributeName:"opacity"}));function dt(t){var e=t[0],i=t[1],n=a(t.slice(4),1)[0];return{found:!0,width:e,height:i,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.GROUP)},children:[{tag:"path",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}function ft(){w.autoAddCss&&!bt&&(function(t){if(t&&p){var e=f.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=t;for(var i=f.head.childNodes,n=null,r=i.length-1;r>-1;r--){var s=i[r],o=(s.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(n=s)}f.head.insertBefore(e,n)}}(function(){var t="fa",e=m,i=w.familyPrefix,n=w.replacementClass,r='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if(i!==t||n!==e){var s=new RegExp("\\.".concat(t,"\\-"),"g"),o=new RegExp("\\--".concat(t,"\\-"),"g"),a=new RegExp("\\.".concat(e),"g");r=r.replace(s,".".concat(i,"-")).replace(o,"--".concat(i,"-")).replace(a,".".concat(n))}return r}()),bt=!0)}function pt(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(function(t){return at(t)})}}),Object.defineProperty(t,"node",{get:function(){if(p){var e=f.createElement("div");return e.innerHTML=t.html,e.children}}}),t}function mt(t){var e=t.prefix,i=void 0===e?"fa":e,n=t.iconName;if(n)return ot(yt.definitions,i,n)||ot(C.styles,i,n)}o({},ct,{cx:"256",cy:"364",r:"28"}),o({},ht,{attributeName:"r",values:"28;14;28;28;14;28;"}),o({},ut,{values:"1;0;1;1;0;1;"}),o({},ct,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),o({},ut,{values:"1;0;0;0;0;1;"}),o({},ct,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),o({},ut,{values:"0;0;1;1;0;0;"});var gt,yt=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}var e;return(e=[{key:"add",value:function(){for(var t=this,e=arguments.length,i=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{},i=e.transform,n=void 0===i?G:i,r=e.symbol,s=void 0!==r&&r,a=e.mask,l=void 0===a?null:a,c=e.maskId,h=void 0===c?null:c,u=e.title,d=void 0===u?null:u,f=e.titleId,p=void 0===f?null:f,m=e.classes,g=void 0===m?[]:m,y=e.attributes,b=void 0===y?{}:y,v=e.styles,_=void 0===v?{}:v;if(t){var x=t.prefix,C=t.iconName,A=t.icon;return pt(o({type:"icon"},t),function(){return ft(),w.autoA11y&&(d?b["aria-labelledby"]="".concat(w.replacementClass,"-title-").concat(p||V()):(b["aria-hidden"]="true",b.focusable="false")),tt({icons:{main:dt(A),mask:l?dt(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:C,transform:o({},G,n),symbol:s,title:d,maskId:h,titleId:p,extra:{attributes:b,styles:_,classes:g}})})}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(t||{}).icon?t:mt(t||{}),n=e.mask;return n&&(n=(n||{}).icon?n:mt(n||{})),gt(i,o({},e,{mask:n}))}),_t=i(269);const wt=["*"];let xt=(()=>{class t{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null,this.globalLibrary=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Ct=(()=>{class t{constructor(){this.definitions={}}addIcons(...t){for(const e of t)e.prefix in this.definitions||(this.definitions[e.prefix]={}),this.definitions[e.prefix][e.iconName]=e}addIconPacks(...t){for(const e of t){const t=Object.keys(e).map(t=>e[t]);this.addIcons(...t)}}getIconDefinition(t,e){return t in this.definitions&&e in this.definitions[t]?this.definitions[t][e]:null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const At=t=>{const e={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-inverse":t.inverse,"fa-layers-counter":t.counter,"fa-flip-horizontal":"horizontal"===t.flip||"both"===t.flip,"fa-flip-vertical":"vertical"===t.flip||"both"===t.flip,[`fa-${t.size}`]:null!==t.size,[`fa-rotate-${t.rotate}`]:null!==t.rotate,[`fa-pull-${t.pull}`]:null!==t.pull,[`fa-stack-${t.stackItemSize}`]:null!=t.stackItemSize};return Object.keys(e).map(t=>e[t]?t:null).filter(t=>t)};let St=(()=>{class t{constructor(){this.stackItemSize="1x"}ngOnChanges(t){if("size"in t)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: ....')}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[n.TTD]}),t})(),kt=(()=>{class t{constructor(t,e){this.renderer=t,this.elementRef=e}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(t){"size"in t&&(null!=t.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${t.size.currentValue}`),null!=t.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${t.size.previousValue}`))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["fa-stack"]],inputs:{size:"size"},features:[n.TTD],ngContentSelectors:wt,decls:1,vars:0,template:function(t,e){1&t&&(n.F$t(),n.Hsn(0))},encapsulation:2}),t})(),Mt=(()=>{class t{constructor(t,e,i,n,r){this.sanitizer=t,this.config=e,this.iconLibrary=i,this.stackItem=n,this.classes=[],null!=r&&null==n&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: .')}ngOnChanges(t){if(null==this.icon&&null==this.config.fallbackIcon)return(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})();let e=null;if(e=null==this.icon?this.config.fallbackIcon:this.icon,t){const t=this.findIconDefinition(e);if(null!=t){const e=this.buildParams();this.renderIcon(t,e)}}}render(){this.ngOnChanges({})}findIconDefinition(t){const e=((t,e)=>{return void 0!==(i=t).prefix&&void 0!==i.iconName?t:Array.isArray(t)&&2===t.length?{prefix:t[0],iconName:t[1]}:"string"==typeof t?{prefix:e,iconName:t}:void 0;var i})(t,this.config.defaultPrefix);if("icon"in e)return e;const i=this.iconLibrary.getIconDefinition(e.prefix,e.iconName);if(null!=i)return i;const n=mt(e);if(null!=n){const t="Global icon library is deprecated. Consult https://github.com/FortAwesome/angular-fontawesome/blob/master/UPGRADING.md for the migration instructions.";if("unset"===this.config.globalLibrary)console.error("FontAwesome: "+t);else if(!this.config.globalLibrary)throw new Error(t);return n}return(t=>{throw new Error(`Could not find icon with iconName=${t.iconName} and prefix=${t.prefix} in the icon library.`)})(e),null}buildParams(){const t={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},e="string"==typeof this.transform?function(t){var e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t?t.toLowerCase().split(" ").reduce(function(t,e){var i=e.toLowerCase().split("-"),n=i[0],r=i.slice(1).join("-");if(n&&"h"===r)return t.flipX=!0,t;if(n&&"v"===r)return t.flipY=!0,t;if(r=parseFloat(r),isNaN(r))return t;switch(n){case"grow":t.size=t.size+r;break;case"shrink":t.size=t.size-r;break;case"left":t.x=t.x-r;break;case"right":t.x=t.x+r;break;case"up":t.y=t.y-r;break;case"down":t.y=t.y+r;break;case"rotate":t.rotate=t.rotate+r}return t},e):e}(this.transform):this.transform;return{title:this.title,transform:e,classes:[...At(t),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(t,e){const i=vt(t,e);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(i.html.join("\n"))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(_t.H7),n.Y36(xt),n.Y36(Ct),n.Y36(St,8),n.Y36(kt,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(t,e){2&t&&(n.Ikx("innerHTML",e.renderedIconHTML,n.oJD),n.uIk("title",e.title))},inputs:{classes:"classes",icon:"icon",title:"title",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",transform:"transform",a11yRole:"a11yRole"},features:[n.TTD],decls:0,vars:0,template:function(t,e){},encapsulation:2}),t})(),Et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},5291:(t,e,i)=>{"use strict";i.d(e,{Sbq:()=>n,Vfw:()=>r,N2j:()=>s,DL8:()=>o,BDt:()=>a,koM:()=>l,OS1:()=>c,mh3:()=>h,b7W:()=>u,kZ_:()=>d,q7m:()=>f,FlN:()=>p,KOR:()=>m,Ssp:()=>g,eHv:()=>y,Mdf:()=>b,Aq:()=>v,qO$:()=>_,vqe:()=>w,sqG:()=>x,Krp:()=>C,uli:()=>A,nNP:()=>S,byT:()=>k,SuH:()=>M,co4:()=>E,aj4:()=>T,kXW:()=>L,XsY:()=>I,USL:()=>O,r8p:()=>D,o4t:()=>R,Psp:()=>P,dLy:()=>Z,FpQ:()=>F,wn1:()=>N,xf3:()=>B,HLz:()=>U,NBC:()=>q,CgH:()=>z,B$L:()=>H,hkK:()=>Y,hnx:()=>j,gNZ:()=>G,FJU:()=>V,FVb:()=>Q,X5K:()=>W,wyP:()=>J});var n={prefix:"fas",iconName:"angle-double-down",icon:[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"]},r={prefix:"fas",iconName:"angle-double-up",icon:[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"]},s={prefix:"fas",iconName:"archive",icon:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"]},o={prefix:"fas",iconName:"balance-scale",icon:[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},a={prefix:"fas",iconName:"bolt",icon:[320,512,[],"f0e7","M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z"]},l={prefix:"fas",iconName:"chart-bar",icon:[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},c={prefix:"fas",iconName:"chart-pie",icon:[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"]},h={prefix:"fas",iconName:"code-branch",icon:[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"]},u={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},d={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},f={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},p={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"]},m={prefix:"fas",iconName:"eject",icon:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"]},g={prefix:"fas",iconName:"exchange-alt",icon:[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},y={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},b={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},v={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},_={prefix:"fas",iconName:"history",icon:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"]},w={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},x={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},C={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},A={prefix:"fas",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"]},S={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},k={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},M={prefix:"fas",iconName:"map-signs",icon:[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"]},E={prefix:"fas",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},T={prefix:"fas",iconName:"money-bill-wave",icon:[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"]},L={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"]},I={prefix:"fas",iconName:"paint-brush",icon:[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"]},O={prefix:"fas",iconName:"percentage",icon:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"]},D={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},R={prefix:"fas",iconName:"project-diagram",icon:[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"]},P={prefix:"fas",iconName:"question",icon:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"]},Z={prefix:"fas",iconName:"receipt",icon:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"]},F={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},N={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},B={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"]},U={prefix:"fas",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},q={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},z={prefix:"fas",iconName:"tools",icon:[512,512,[],"f7d9","M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"]},H={prefix:"fas",iconName:"unlock-alt",icon:[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"]},Y={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"]},j={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"]},G={prefix:"fas",iconName:"user-cog",icon:[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"]},V={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"]},Q={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},W={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},J={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]}},5573:(t,e,i)=>{"use strict";i.d(e,{eX:()=>F,sQ:()=>tt,GW:()=>L,l4:()=>N});var n,r=i(964),s=i(5446),o=i(2391),a=i(9666),l=i(4951),c=i(2041),h=i(9647),u=i(7849);!function(t){t.NEXT="N",t.ERROR="E",t.COMPLETE="C"}(n||(n={}));var d=function(){function t(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}return t.prototype.observe=function(t){return f(this,t)},t.prototype.do=function(t,e,i){var n=this,r=n.kind,s=n.error;return"N"===r?null==t?void 0:t(n.value):"E"===r?null==e?void 0:e(s):null==i?void 0:i()},t.prototype.accept=function(t,e,i){var n;return(0,u.m)(null===(n=t)||void 0===n?void 0:n.next)?this.observe(t):this.do(t,e,i)},t.prototype.toObservable=function(){var t=this,e=t.kind,i=t.error,n="N"===e?(0,c.of)(t.value):"E"===e?(0,h._)(function(){return i}):"C"===e?l.E:0;if(!n)throw new TypeError("Unexpected notification kind "+e);return n},t.createNext=function(e){return new t("N",e)},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t}();function f(t,e){var i,n,r,s=t.kind,o=t.value,a=t.error;if("string"!=typeof s)throw new TypeError('Invalid notification, missing "kind"');"N"===s?null===(i=e.next)||void 0===i||i.call(e,o):"E"===s?null===(n=e.error)||void 0===n||n.call(e,a):null===(r=e.complete)||void 0===r||r.call(e)}var p=i(3386),m=i(4659),g=i(9162),y=i(5630);function b(t,e,i,n){return(0,p.e)(function(r,s){var l;e&&"function"!=typeof e?(i=e.duration,l=e.element,n=e.connector):l=e;var c=new Map,h=function(t){c.forEach(t),t(s)},u=function(t){return h(function(e){return e.error(t)})},d=new v(s,function(e){try{var r=t(e),h=c.get(r);if(!h){c.set(r,h=n?n():new a.x);var f=(g=r,b=h,(v=new o.y(function(t){d.activeGroups++;var e=b.subscribe(t);return function(){e.unsubscribe(),0==--d.activeGroups&&d.teardownAttempted&&d.unsubscribe()}})).key=g,v);if(s.next(f),i){var p=new m.Q(h,function(){h.complete(),null==p||p.unsubscribe()},void 0,void 0,function(){return c.delete(r)});d.add((0,y.Xf)(i(f)).subscribe(p))}}h.next(l?l(e):e)}catch(_){u(_)}var g,b,v},function(){return h(function(t){return t.complete()})},u,function(){return c.clear()});r.subscribe(d)})}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.activeGroups=0,e.teardownAttempted=!1,e}return(0,g.ZT)(e,t),e.prototype.unsubscribe=function(){this.teardownAttempted=!0,0===this.activeGroups&&t.prototype.unsubscribe.call(this)},e}(m.Q),_=i(1681);function w(t,e){return e?function(i){return i.pipe(w(function(i,n){return(0,y.Xf)(t(i,n)).pipe((0,_.U)(function(t,r){return e(i,t,n,r)}))}))}:(0,p.e)(function(e,i){var n=0,r=null,s=!1;e.subscribe(new m.Q(i,function(e){r||(r=new m.Q(i,void 0,function(){r=null,s&&i.complete()}),(0,y.Xf)(t(e,n++)).subscribe(r))},function(){s=!0,!r&&i.complete()}))})}var x=i(3286),C=i(1816),A=i(8868),S=i(7228),k=i(9056),M=i(1572);const E={dispatch:!0,useEffectsErrorHandler:!0},T="__@ngrx/effects_create__";function L(t,e){const i=t(),n=Object.assign(Object.assign({},E),e);return Object.defineProperty(i,T,{value:n}),i}function I(t){return Object.getOwnPropertyNames(t).filter(e=>!(!t[e]||!t[e].hasOwnProperty(T))&&t[e][T].hasOwnProperty("dispatch")).map(e=>Object.assign({propertyName:e},t[e][T]))}function O(t){return Object.getPrototypeOf(t)}const D="__@ngrx/effects__";function R(t){return(0,r.qC)(P,O)(t)}function P(t){return function(t){return t.constructor.hasOwnProperty(D)}(t)?t.constructor[D]:[]}function Z(t,e,i=10){return t.pipe((0,C.K)(n=>(e&&e.handleError(n),i<=1?t:Z(t,e,i-1))))}let F=(()=>{class t extends o.y{constructor(t){super(),t&&(this.source=t)}lift(e){const i=new t;return i.source=this,i.operator=e,i}}return t.\u0275fac=function(e){return new(e||t)(M.LFG(r.Y$))},t.\u0275prov=M.Yz7({token:t,factory:t.\u0275fac}),t})();function N(...t){return(0,A.h)(e=>t.some(t=>"string"==typeof t?t===e.type:t.type===e.type))}function B(t){return U(t,"ngrxOnInitEffects")}function U(t,e){return t&&e in t&&"function"==typeof t[e]}const q=new M.OlP("@ngrx/effects Internal Root Guard"),z=new M.OlP("@ngrx/effects User Provided Effects"),H=new M.OlP("@ngrx/effects Internal Root Effects"),Y=new M.OlP("@ngrx/effects Root Effects"),j=new M.OlP("@ngrx/effects Internal Feature Effects"),G=new M.OlP("@ngrx/effects Feature Effects"),V=new M.OlP("@ngrx/effects Effects Error Handler");let Q=(()=>{class t extends a.x{constructor(t,e){super(),this.errorHandler=t,this.effectsErrorHandler=e}addEffects(t){this.next(t)}toActions(){return this.pipe(b(O),(0,S.z)(t=>t.pipe(b(W))),(0,S.z)(t=>{const e=t.pipe(w(t=>{return(e=this.errorHandler,i=this.effectsErrorHandler,t=>{const n=function(t,e,i){const n=O(t).constructor.name,r=(o=t,[R,I].reduce((t,e)=>t.concat(e(o)),[])).map(({propertyName:r,dispatch:s,useEffectsErrorHandler:o})=>{const a="function"==typeof t[r]?t[r]():t[r],l=o?i(a,e):a;return!1===s?l.pipe((0,x.l)()):l.pipe((0,p.e)(function(t,e){t.subscribe(new m.Q(e,function(t){e.next(d.createNext(t))},function(){e.next(d.createComplete()),e.complete()},function(t){e.next(d.createError(t)),e.complete()}))})).pipe((0,_.U)(e=>({effect:t[r],notification:e,propertyName:r,sourceName:n,sourceInstance:t})))});var o;return(0,s.T)(...r)}(t,e,i);return U(t,"ngrxOnRunEffects")?t.ngrxOnRunEffects(n):n})(t);var e,i}),(0,_.U)(t=>(function(t,e){if("N"===t.notification.kind){const i=t.notification.value;!function(t){return"function"!=typeof t&&t&&t.type&&"string"==typeof t.type}(i)&&e.handleError(new Error(`Effect ${function({propertyName:t,sourceInstance:e,sourceName:i}){const n="function"==typeof e[t];return`"${i}.${String(t)}${n?"()":""}"`}(t)} dispatched an invalid action: ${function(t){try{return JSON.stringify(t)}catch(e){return t}}(i)}`))}}(t,this.errorHandler),t.notification)),(0,A.h)(t=>"N"===t.kind&&null!=t.value),(0,p.e)(function(t,e){t.subscribe(new m.Q(e,function(t){return f(t,e)}))})),i=t.pipe((0,k.q)(1),(0,A.h)(B),(0,_.U)(t=>t.ngrxOnInitEffects()));return(0,s.T)(e,i)}))}}return t.\u0275fac=function(e){return new(e||t)(M.LFG(M.qLn),M.LFG(V))},t.\u0275prov=M.Yz7({token:t,factory:t.\u0275fac}),t})();function W(t){return U(t,"ngrxOnIdentifyEffects")?t.ngrxOnIdentifyEffects():""}let J=(()=>{class t{constructor(t,e){this.effectSources=t,this.store=e,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(M.LFG(Q),M.LFG(r.yh))},t.\u0275prov=M.Yz7({token:t,factory:t.\u0275fac}),t})();const X="@ngrx/effects/init";(0,r.PH)(X);let K=(()=>{class t{constructor(t,e,i,n,r,s,o){this.sources=t,e.start(),n.forEach(e=>t.addEffects(e)),i.dispatch({type:X})}addEffects(t){this.sources.addEffects(t)}}return t.\u0275fac=function(e){return new(e||t)(M.LFG(Q),M.LFG(J),M.LFG(r.yh),M.LFG(Y),M.LFG(r.cr,8),M.LFG(r.CK,8),M.LFG(q,8))},t.\u0275mod=M.oAB({type:t}),t.\u0275inj=M.cJS({}),t})(),$=(()=>{class t{constructor(t,e,i,n){e.forEach(e=>e.forEach(e=>t.addEffects(e)))}}return t.\u0275fac=function(e){return new(e||t)(M.LFG(K),M.LFG(G),M.LFG(r.cr,8),M.LFG(r.CK,8))},t.\u0275mod=M.oAB({type:t}),t.\u0275inj=M.cJS({}),t})(),tt=(()=>{class t{static forFeature(t=[]){return{ngModule:$,providers:[t,{provide:j,multi:!0,useValue:t},{provide:z,multi:!0,useValue:[]},{provide:G,multi:!0,useFactory:et,deps:[M.zs3,j,z]}]}}static forRoot(t=[]){return{ngModule:K,providers:[{provide:V,useValue:Z},J,Q,F,t,{provide:H,useValue:[t]},{provide:q,useFactory:it,deps:[[J,new M.FiY,new M.tp0],[H,new M.PiD]]},{provide:z,multi:!0,useValue:[]},{provide:Y,useFactory:et,deps:[M.zs3,H,z]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=M.oAB({type:t}),t.\u0275inj=M.cJS({}),t})();function et(t,e,i){const n=[];for(const r of e)n.push(...r);for(const r of i)n.push(...r);return function(t,e){return e.map(e=>t.get(e))}(t,n)}function it(t,e){if((1!==e.length||0!==e[0].length)&&t)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}},7876:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{FT:()=>StoreDevtoolsModule});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1572),_ngrx_store__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(964),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4951),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2391),rxjs__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2041),rxjs__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(5446),rxjs__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(2873),rxjs__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(6407),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7839),rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(8868),rxjs_operators__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1681),rxjs_operators__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(8196),rxjs_operators__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7411),rxjs_operators__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(5057),rxjs_operators__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(1816),rxjs_operators__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(9056),rxjs_operators__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(9568),rxjs_operators__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(4324),rxjs_operators__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(4444),rxjs_operators__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(8919),rxjs_operators__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(5653),rxjs_operators__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(8193);class StoreDevtoolsConfig{constructor(){this.maxAge=!1}}const STORE_DEVTOOLS_CONFIG=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Initial Config");function noMonitor(){return null}const DEFAULT_NAME="NgRx Store DevTools";function createConfig(t){const e={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0}},i="function"==typeof t?t():t,n=Object.assign({},e,{features:i.features||!!i.logOnly&&{pause:!0,export:!0,test:!0}||e.features},i);if(n.maxAge&&n.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${n.maxAge}`);return n}const PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING";class PerformAction{constructor(t,e){if(this.action=t,this.timestamp=e,this.type=PERFORM_ACTION,void 0===t.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}}class Refresh{constructor(){this.type=REFRESH}}class Reset{constructor(t){this.timestamp=t,this.type=RESET}}class Rollback{constructor(t){this.timestamp=t,this.type=ROLLBACK}}class Commit{constructor(t){this.timestamp=t,this.type=COMMIT}}class Sweep{constructor(){this.type=SWEEP}}class ToggleAction{constructor(t){this.id=t,this.type=TOGGLE_ACTION}}class SetActionsActive{constructor(t,e,i=!0){this.start=t,this.end=e,this.active=i,this.type=SET_ACTIONS_ACTIVE}}class JumpToState{constructor(t){this.index=t,this.type=JUMP_TO_STATE}}class JumpToAction{constructor(t){this.actionId=t,this.type=JUMP_TO_ACTION}}class ImportState{constructor(t){this.nextLiftedState=t,this.type=IMPORT_STATE}}class LockChanges{constructor(t){this.status=t,this.type=LOCK_CHANGES}}class PauseRecording{constructor(t){this.status=t,this.type=PAUSE_RECORDING}}let DevtoolsDispatcher=(()=>{class t extends _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=_angular_core__WEBPACK_IMPORTED_MODULE_0__.n5z(t)))(i||t)}}(),t.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:t,factory:t.\u0275fac}),t})();function difference(t,e){return t.filter(t=>e.indexOf(t)<0)}function unliftState(t){const{computedStates:e,currentStateIndex:i}=t;if(i>=e.length){const{state:t}=e[e.length-1];return t}const{state:n}=e[i];return n}function unliftAction(t){return t.actionsById[t.nextActionId-1]}function liftAction(t){return new PerformAction(t,+Date.now())}function sanitizeActions(t,e){return Object.keys(e).reduce((i,n)=>{const r=Number(n);return i[r]=sanitizeAction(t,e[r],r),i},{})}function sanitizeAction(t,e,i){return Object.assign(Object.assign({},e),{action:t(e.action,i)})}function sanitizeStates(t,e){return e.map((e,i)=>({state:sanitizeState(t,e.state,i),error:e.error}))}function sanitizeState(t,e,i){return t(e,i)}function shouldFilterActions(t){return t.predicate||t.actionsSafelist||t.actionsBlocklist}function filterLiftedState(t,e,i,n){const r=[],s={},o=[];return t.stagedActionIds.forEach((a,l)=>{const c=t.actionsById[a];c&&(l&&isActionFiltered(t.computedStates[l],c,e,i,n)||(s[a]=c,r.push(a),o.push(t.computedStates[l])))}),Object.assign(Object.assign({},t),{stagedActionIds:r,actionsById:s,computedStates:o})}function isActionFiltered(t,e,i,n,r){const s=i&&!i(t,e.action),o=n&&!e.action.type.match(n.map(t=>escapeRegExp(t)).join("|")),a=r&&e.action.type.match(r.map(t=>escapeRegExp(t)).join("|"));return s||o||a}function escapeRegExp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Redux Devtools Extension");let DevtoolsExtension=(()=>{class DevtoolsExtension{constructor(t,e,i){this.config=e,this.dispatcher=i,this.devtoolsExtension=t,this.createActionStreams()}notify(t,e){if(this.devtoolsExtension)if(t.type===PERFORM_ACTION){if(e.isLocked||e.isPaused)return;const i=unliftState(e);if(shouldFilterActions(this.config)&&isActionFiltered(i,t,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;const n=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,i,e.currentStateIndex):i,r=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,t,e.nextActionId):t;this.sendToReduxDevtools(()=>this.extensionConnection.send(r,n))}else{const t=Object.assign(Object.assign({},e),{stagedActionIds:e.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,e.actionsById):e.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,e.computedStates):e.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,t,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new rxjs__WEBPACK_IMPORTED_MODULE_3__.y(t=>{const e=this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=e,e.init(),e.subscribe(e=>t.next(e)),e.unsubscribe}):rxjs__WEBPACK_IMPORTED_MODULE_2__.E}createActionStreams(){const t=this.createChangesObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.B)()),e=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.START)),i=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.STOP)),n=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.DISPATCH),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(t=>this.unwrapAction(t.payload)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.b)(t=>t.type===IMPORT_STATE?this.dispatcher.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__.V)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__.b)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(()=>t),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.K)(()=>(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(t)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.q)(1)):(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(t))),r=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.ACTION),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(t=>this.unwrapAction(t.payload))).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i)),s=n.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i));this.start$=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i)),this.actions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>r)),this.liftedActions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>s))}unwrapAction(action){return"string"==typeof action?eval(`(${action})`):action}getExtensionConfig(t){var e;const i={name:t.name,features:t.features,serialize:t.serialize,autoPause:null!==(e=t.autoPause)&&void 0!==e&&e};return!1!==t.maxAge&&(i.maxAge=t.maxAge),i}sendToReduxDevtools(t){try{t()}catch(e){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",e)}}}return DevtoolsExtension.\u0275fac=function(t){return new(t||DevtoolsExtension)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(REDUX_DEVTOOLS_EXTENSION),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher))},DevtoolsExtension.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsExtension,factory:DevtoolsExtension.\u0275fac}),DevtoolsExtension})();const INIT_ACTION={type:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(t,e,i,n,r){if(n)return{state:i,error:"Interrupted by an error up the chain"};let s,o=i;try{o=t(i,e)}catch(a){s=a.toString(),r.handleError(a)}return{state:o,error:s}}function recomputeStates(t,e,i,n,r,s,o,a,l){if(e>=t.length&&t.length===s.length)return t;const c=t.slice(0,e),h=s.length-(l?1:0);for(let u=e;u-1?l:computeNextEntry(i,e,h,d,a);c.push(f)}return l&&c.push(t[t.length-1]),c}function liftInitialState(t,e){return{monitorState:e(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:t,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(t,e,i,n,r={}){return s=>(o,a)=>{let{monitorState:l,actionsById:c,nextActionId:h,stagedActionIds:u,skippedActionIds:d,committedState:f,currentStateIndex:p,computedStates:m,isLocked:g,isPaused:y}=o||e;function b(t){let e=t,i=u.slice(1,e+1);for(let n=0;n-1===i.indexOf(t)),u=[0,...u.slice(e+1)],f=m[e].state,m=m.slice(e),p=p>e?p-e:0}function v(){c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],f=m[p].state,p=0,m=[]}o||(c=Object.create(c));let _=0;switch(a.type){case LOCK_CHANGES:g=a.status,_=1/0;break;case PAUSE_RECORDING:y=a.status,y?(u=[...u,h],c[h]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),h++,_=u.length-1,m=m.concat(m[m.length-1]),p===u.length-2&&p++,_=1/0):v();break;case RESET:c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],f=t,p=0,m=[];break;case COMMIT:v();break;case ROLLBACK:c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],p=0,m=[];break;case TOGGLE_ACTION:{const{id:t}=a,e=d.indexOf(t);d=-1===e?[t,...d]:d.filter(e=>e!==t),_=u.indexOf(t);break}case SET_ACTIONS_ACTIVE:{const{start:t,end:e,active:i}=a,n=[];for(let r=t;rr.maxAge&&(m=recomputeStates(m,_,s,f,c,u,d,i,y),b(u.length-r.maxAge),_=1/0);break;case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb:if(m.filter(t=>t.error).length>0)_=0,r.maxAge&&u.length>r.maxAge&&(m=recomputeStates(m,_,s,f,c,u,d,i,y),b(u.length-r.maxAge),_=1/0);else{if(!y&&!g){p===u.length-1&&p++;const t=h++;c[t]=new PerformAction(a,+Date.now()),u=[...u,t],_=u.length-1,m=recomputeStates(m,_,s,f,c,u,d,i,y)}m=m.map(t=>Object.assign(Object.assign({},t),{state:s(t.state,RECOMPUTE_ACTION)})),p=u.length-1,r.maxAge&&u.length>r.maxAge&&b(u.length-r.maxAge),_=1/0}break;default:_=1/0}return m=recomputeStates(m,_,s,f,c,u,d,i,y),l=n(l,a),{monitorState:l,actionsById:c,nextActionId:h,stagedActionIds:u,skippedActionIds:d,committedState:f,currentStateIndex:p,computedStates:m,isLocked:g,isPaused:y}}}let StoreDevtools=(()=>{class t{constructor(t,e,i,n,r,s,o,a){const l=liftInitialState(o,a.monitor),c=liftReducerWith(o,l,s,a.monitor,a),h=(0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)((0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)(e.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_16__.T)(1)),n.actions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(liftAction)),t,n.liftedActions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_17__.Q)(rxjs__WEBPACK_IMPORTED_MODULE_18__.N)),u=i.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(c)),d=new rxjs__WEBPACK_IMPORTED_MODULE_19__.t(1),f=h.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_20__.M)(u),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_21__.R)(({state:t},[e,i])=>{let r=i(t,e);return e.type!==PERFORM_ACTION&&shouldFilterActions(a)&&(r=filterLiftedState(r,a.predicate,a.actionsSafelist,a.actionsBlocklist)),n.notify(e,r),{state:r,action:e}},{state:l,action:null})).subscribe(({state:t,action:e})=>{d.next(t),e.type===PERFORM_ACTION&&r.next(e.action)}),p=n.start$.subscribe(()=>{this.refresh()}),m=d.asObservable(),g=m.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(unliftState));this.extensionStartSubscription=p,this.stateSubscription=f,this.dispatcher=t,this.liftedState=m,this.state=g}dispatch(t){this.dispatcher.next(t)}next(t){this.dispatcher.next(t)}error(t){}complete(){}performAction(t){this.dispatch(new PerformAction(t,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(t){this.dispatch(new ToggleAction(t))}jumpToAction(t){this.dispatch(new JumpToAction(t))}jumpToState(t){this.dispatch(new JumpToState(t))}importState(t){this.dispatch(new ImportState(t))}lockChanges(t){this.dispatch(new LockChanges(t))}pauseRecording(t){this.dispatch(new PauseRecording(t))}}return t.\u0275fac=function(e){return new(e||t)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.n$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsExtension),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_angular_core__WEBPACK_IMPORTED_MODULE_0__.qLn),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y6),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG))},t.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:t,factory:t.\u0275fac}),t})();const IS_EXTENSION_OR_MONITOR_PRESENT=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(t,e){return Boolean(t)||e.monitor!==noMonitor}function createReduxDevtoolsExtension(){const t="__REDUX_DEVTOOLS_EXTENSION__";return"object"==typeof window&&void 0!==window[t]?window[t]:null}function createStateObservable(t){return t.state}let StoreDevtoolsModule=(()=>{class t{static instrument(e={}){return{ngModule:t,providers:[DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:e},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.FR,deps:[StoreDevtools],useFactory:createStateObservable},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.mK,useExisting:DevtoolsDispatcher}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_angular_core__WEBPACK_IMPORTED_MODULE_0__.oAB({type:t}),t.\u0275inj=_angular_core__WEBPACK_IMPORTED_MODULE_0__.cJS({}),t})()},964:(t,e,i)=>{"use strict";i.d(e,{UO:()=>y,qg:()=>g,Y6:()=>w,mK:()=>Y,n$:()=>H,Y$:()=>Q,FR:()=>J,yh:()=>tt,CK:()=>wt,Aw:()=>xt,cr:()=>_t,wb:()=>j,qC:()=>q,PH:()=>p});var n=i(1572),r=i(7425),s=i(2391),o=i(9666),a=i(2873),l=i(1681),c=i(8919),h=i(5653),u=i(8193),d=i(6424);const f={};function p(t,e){if(f[t]=(f[t]||0)+1,"function"==typeof e)return m(t,(...i)=>Object.assign(Object.assign({},e(...i)),{type:t}));switch(e?e._as:"empty"){case"empty":return m(t,()=>({type:t}));case"props":return m(t,e=>Object.assign(Object.assign({},e),{type:t}));default:throw new Error("Unexpected config.")}}function m(t,e){return Object.defineProperty(e,"type",{value:t,writable:!1})}const g="@ngrx/store/init";let y=(()=>{class t extends r.X{constructor(){super({type:g})}next(t){if("function"==typeof t)throw new TypeError("\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().");if(void 0===t)throw new TypeError("Actions must be objects");if(void 0===t.type)throw new TypeError("Actions must have a type property");super.next(t)}complete(){}ngOnDestroy(){super.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const b=[y],v=new n.OlP("@ngrx/store Internal Root Guard"),_=new n.OlP("@ngrx/store Internal Initial State"),w=new n.OlP("@ngrx/store Initial State"),x=new n.OlP("@ngrx/store Reducer Factory"),C=new n.OlP("@ngrx/store Internal Reducer Factory Provider"),A=new n.OlP("@ngrx/store Initial Reducers"),S=new n.OlP("@ngrx/store Internal Initial Reducers"),k=new n.OlP("@ngrx/store Store Features"),M=new n.OlP("@ngrx/store Internal Store Reducers"),E=new n.OlP("@ngrx/store Internal Feature Reducers"),T=new n.OlP("@ngrx/store Internal Feature Configs"),L=new n.OlP("@ngrx/store Internal Store Features"),I=new n.OlP("@ngrx/store Internal Feature Reducers Token"),O=new n.OlP("@ngrx/store Feature Reducers"),D=new n.OlP("@ngrx/store User Provided Meta Reducers"),R=new n.OlP("@ngrx/store Meta Reducers"),P=new n.OlP("@ngrx/store Internal Resolved Meta Reducers"),Z=new n.OlP("@ngrx/store User Runtime Checks Config"),F=new n.OlP("@ngrx/store Internal User Runtime Checks Config"),N=new n.OlP("@ngrx/store Internal Runtime Checks"),B=new n.OlP("@ngrx/store Check if Action types are unique");function U(t,e={}){const i=Object.keys(t),n={};for(let s=0;se(t),i(e))}}function z(t,e){return Array.isArray(e)&&e.length>0&&(t=q.apply(null,[...e,t])),(e,i)=>{const n=t(e);return(t,e)=>n(t=void 0===t?i:t,e)}}class H extends s.y{}class Y extends y{}const j="@ngrx/store/update-reducers";let G=(()=>{class t extends r.X{constructor(t,e,i,n){super(n(i,e)),this.dispatcher=t,this.initialState=e,this.reducers=i,this.reducerFactory=n}addFeature(t){this.addFeatures([t])}addFeatures(t){const e=t.reduce((t,{reducers:e,reducerFactory:i,metaReducers:n,initialState:r,key:s})=>{const o="function"==typeof e?function(t){const e=Array.isArray(t)&&t.length>0?q(...t):t=>t;return(t,i)=>(t=e(t),(e,n)=>t(e=void 0===e?i:e,n))}(n)(e,r):z(i,n)(e,r);return t[s]=o,t},{});this.addReducers(e)}removeFeature(t){this.removeFeatures([t])}removeFeatures(t){this.removeReducers(t.map(t=>t.key))}addReducer(t,e){this.addReducers({[t]:e})}addReducers(t){this.reducers=Object.assign(Object.assign({},this.reducers),t),this.updateReducers(Object.keys(t))}removeReducer(t){this.removeReducers([t])}removeReducers(t){t.forEach(t=>{var e,i;this.reducers=(e=this.reducers,i=t,Object.keys(e).filter(t=>t!==i).reduce((t,i)=>Object.assign(t,{[i]:e[i]}),{}))}),this.updateReducers(t)}updateReducers(t){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:j,features:t})}ngOnDestroy(){this.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(Y),n.LFG(w),n.LFG(A),n.LFG(x))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const V=[G,{provide:H,useExisting:G},{provide:Y,useExisting:y}];let Q=(()=>{class t extends o.x{ngOnDestroy(){this.complete()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const W=[Q];class J extends s.y{}let X=(()=>{class t extends r.X{constructor(t,e,i,n){super(n);const r=t.pipe((0,c.Q)(a.N)).pipe((0,h.M)(e)).pipe((0,u.R)(K,{state:n}));this.stateSubscription=r.subscribe(({state:t,action:e})=>{this.next(t),i.next(e)})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(y),n.LFG(H),n.LFG(Q),n.LFG(w))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t.INIT=g,t})();function K(t={state:void 0},[e,i]){const{state:n}=t;return{state:i(n,e),action:e}}const $=[X,{provide:J,useExisting:X}];let tt=(()=>{class t extends s.y{constructor(t,e,i){super(),this.actionsObserver=e,this.reducerManager=i,this.source=t}select(t,...e){return it.call(null,t,...e)(this)}lift(e){const i=new t(this,this.actionsObserver,this.reducerManager);return i.operator=e,i}dispatch(t){this.actionsObserver.next(t)}next(t){this.actionsObserver.next(t)}error(t){this.actionsObserver.error(t)}complete(){this.actionsObserver.complete()}addReducer(t,e){this.reducerManager.addReducer(t,e)}removeReducer(t){this.reducerManager.removeReducer(t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(J),n.LFG(y),n.LFG(G))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const et=[tt];function it(t,e,...i){return function(n){let r;if("string"==typeof t){const s=[e,...i].filter(Boolean);r=n.pipe(function(){for(var t=[],e=0;et(i,e)))}return r.pipe((0,d.x)())}}const nt="https://ngrx.io/guide/store/configuration/runtime-checks";function rt(t){return void 0===t}function st(t){return null===t}function ot(t){return Array.isArray(t)}function at(t){return"object"==typeof t&&null!==t}function lt(t){return"function"==typeof t}function ct(t){Object.freeze(t);const e=lt(t);return Object.getOwnPropertyNames(t).forEach(i=>{if(!i.startsWith("\u0275")&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)){const e=t[i];!at(e)&&!lt(e)||Object.isFrozen(e)||ct(e)}}),t}function ht(t,e=[]){return(rt(t)||st(t))&&0===e.length?{path:["root"],value:t}:Object.keys(t).reduce((i,n)=>{if(i)return i;const r=t[n];return function(t){return lt(t)&&t.hasOwnProperty("\u0275cmp")}(r)?i:!(rt(r)||st(r)||function(t){return"number"==typeof t}(r)||function(t){return"boolean"==typeof t}(r)||function(t){return"string"==typeof t}(r)||ot(r))&&(function(t){if(!function(t){return at(t)&&!ot(t)}(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}(r)?ht(r,[...e,n]):{path:[...e,n],value:r})},!1)}function ut(t,e){if(!1===t)return;const i=t.path.join("."),n=new Error(`Detected unserializable ${e} at "${i}". ${nt}#strict${e}serializability`);throw n.value=t.value,n.unserializablePath=i,n}function dt(t){return(0,n.X6Q)()?Object.assign({strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1},t):{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function ft({strictActionSerializability:t,strictStateSerializability:e}){return i=>t||e?function(t,e){return function(i,n){e.action(n)&&ut(ht(n),"action");const r=t(i,n);return e.state()&&ut(ht(r),"state"),r}}(i,{action:e=>t&&!mt(e),state:()=>e}):i}function pt({strictActionImmutability:t,strictStateImmutability:e}){return i=>t||e?function(t,e){return function(i,n){const r=e.action(n)?ct(n):n,s=t(i,r);return e.state()?ct(s):s}}(i,{action:e=>t&&!mt(e),state:()=>e}):i}function mt(t){return t.type.startsWith("@ngrx")}function gt({strictActionWithinNgZone:t}){return e=>t?function(t,e){return function(i,r){if(e.action(r)&&!n.R0b.isInAngularZone())throw new Error(`Action '${r.type}' running outside NgZone. ${nt}#strictactionwithinngzone`);return t(i,r)}}(e,{action:e=>t&&!mt(e)}):e}function yt(){return[{provide:B,multi:!0,deps:[N],useFactory:vt}]}function bt(t){return t}function vt(t){if(!t.strictActionTypeUniqueness)return;const e=Object.entries(f).filter(([,t])=>t>1).map(([t])=>t);if(e.length)throw new Error(`Action types are registered more than once, ${e.map(t=>`"${t}"`).join(", ")}. ${nt}#strictactiontypeuniqueness`)}let _t=(()=>{class t{constructor(t,e,i,n,r,s){}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(y),n.LFG(H),n.LFG(Q),n.LFG(tt),n.LFG(v,8),n.LFG(B,8))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})(),wt=(()=>{class t{constructor(t,e,i,n,r){this.features=t,this.featureReducers=e,this.reducerManager=i;const s=t.map((t,i)=>{const n=e.shift()[i];return Object.assign(Object.assign({},t),{reducers:n,initialState:kt(t.initialState)})});i.addFeatures(s)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(L),n.LFG(O),n.LFG(G),n.LFG(_t),n.LFG(B,8))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})(),xt=(()=>{class t{static forRoot(t,e={}){return{ngModule:_t,providers:[{provide:v,useFactory:Et,deps:[[tt,new n.FiY,new n.tp0]]},{provide:_,useValue:e.initialState},{provide:w,useFactory:kt,deps:[_]},{provide:S,useValue:t},{provide:M,useExisting:t instanceof n.OlP?t:S},{provide:A,deps:[n.zs3,S,[new n.tBr(M)]],useFactory:Ct},{provide:D,useValue:e.metaReducers?e.metaReducers:[]},{provide:P,deps:[R,D],useFactory:Mt},{provide:C,useValue:e.reducerFactory?e.reducerFactory:U},{provide:x,deps:[C,P],useFactory:z},b,V,W,$,et,(i=e.runtimeChecks,[{provide:F,useValue:i},{provide:Z,useFactory:bt,deps:[F]},{provide:N,deps:[Z],useFactory:dt},{provide:R,multi:!0,deps:[N],useFactory:pt},{provide:R,multi:!0,deps:[N],useFactory:ft},{provide:R,multi:!0,deps:[N],useFactory:gt}]),yt()]};var i}static forFeature(t,e,i={}){return{ngModule:wt,providers:[{provide:T,multi:!0,useValue:t instanceof Object?{}:i},{provide:k,multi:!0,useValue:{key:t instanceof Object?t.name:t,reducerFactory:i instanceof n.OlP||!i.reducerFactory?U:i.reducerFactory,metaReducers:i instanceof n.OlP||!i.metaReducers?[]:i.metaReducers,initialState:i instanceof n.OlP||!i.initialState?void 0:i.initialState}},{provide:L,deps:[n.zs3,T,k],useFactory:At},{provide:E,multi:!0,useValue:t instanceof Object?t.reducer:e},{provide:I,multi:!0,useExisting:e instanceof n.OlP?e:E},{provide:O,multi:!0,deps:[n.zs3,E,[new n.tBr(I)]],useFactory:St},yt()]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();function Ct(t,e){return e instanceof n.OlP?t.get(e):e}function At(t,e,i){return i.map((i,r)=>{if(e[r]instanceof n.OlP){const n=t.get(e[r]);return{key:i.key,reducerFactory:n.reducerFactory?n.reducerFactory:U,metaReducers:n.metaReducers?n.metaReducers:[],initialState:n.initialState}}return i})}function St(t,e){return e.map(e=>e instanceof n.OlP?t.get(e):e)}function kt(t){return"function"==typeof t?t():t}function Mt(t,e){return t.concat(e)}function Et(t){if(t)throw new TypeError("StoreModule.forRoot() called twice. Feature modules should use StoreModule.forFeature() instead.");return"guarded"}},2281:(t,e)=>{"use strict";function i(t){return Object.keys(t).map(e=>t[e])}var n;Object.defineProperty(e,"__esModule",{value:!0}),(n=e.HashAlgorithms||(e.HashAlgorithms={})).SHA1="sha1",n.SHA256="sha256",n.SHA512="sha512";const r=i(e.HashAlgorithms);var s;(s=e.KeyEncodings||(e.KeyEncodings={})).ASCII="ascii",s.BASE64="base64",s.HEX="hex",s.LATIN1="latin1",s.UTF8="utf8";const o=i(e.KeyEncodings);var a;(a=e.Strategy||(e.Strategy={})).HOTP="hotp",a.TOTP="totp";const l=i(e.Strategy),c=()=>{throw new Error("Please provide an options.createDigest implementation.")};function h(t){return/^(\d+)$/.test(t)}function u(t,e,i){return t.length>=e?t:`${Array(e+1).join(i)}${t}`.slice(-1*e)}function d(t){const e=`otpauth://${t.type}/{labelPrefix}:{accountName}?secret={secret}{query}`,i=[];if(l.indexOf(t.type)<0)throw new Error(`Expecting options.type to be one of ${l.join(", ")}. Received ${t.type}.`);if("hotp"===t.type){if(null==t.counter||"number"!=typeof t.counter)throw new Error('Expecting options.counter to be a number when options.type is "hotp".');i.push(`&counter=${t.counter}`)}return"totp"===t.type&&t.step&&i.push(`&period=${t.step}`),t.digits&&i.push(`&digits=${t.digits}`),t.algorithm&&i.push(`&algorithm=${t.algorithm.toUpperCase()}`),t.issuer&&i.push(`&issuer=${encodeURIComponent(t.issuer)}`),e.replace("{labelPrefix}",encodeURIComponent(t.issuer||t.accountName)).replace("{accountName}",encodeURIComponent(t.accountName)).replace("{secret}",t.secret).replace("{query}",i.join(""))}class f{constructor(t={}){this._defaultOptions=Object.freeze({...t}),this._options=Object.freeze({})}create(t={}){return new f(t)}clone(t={}){const e=this.create({...this._defaultOptions,...t});return e.options=this._options,e}get options(){return Object.freeze({...this._defaultOptions,...this._options})}set options(t){this._options=Object.freeze({...this._options,...t})}allOptions(){return this.options}resetOptions(){this._options=Object.freeze({})}}function p(t){if("function"!=typeof t.createDigest)throw new Error("Expecting options.createDigest to be a function.");if("function"!=typeof t.createHmacKey)throw new Error("Expecting options.createHmacKey to be a function.");if("number"!=typeof t.digits)throw new Error("Expecting options.digits to be a number.");if(!t.algorithm||r.indexOf(t.algorithm)<0)throw new Error(`Expecting options.algorithm to be one of ${r.join(", ")}. Received ${t.algorithm}.`);if(!t.encoding||o.indexOf(t.encoding)<0)throw new Error(`Expecting options.encoding to be one of ${o.join(", ")}. Received ${t.encoding}.`)}const m=(t,e,i)=>Buffer.from(e,i).toString("hex");function g(){return{algorithm:e.HashAlgorithms.SHA1,createHmacKey:m,createDigest:c,digits:6,encoding:e.KeyEncodings.ASCII}}function y(t){const e={...g(),...t};return p(e),Object.freeze(e)}function b(t){return u(t.toString(16),16,"0")}function v(t,e){const i=Buffer.from(t,"hex"),n=15&i[i.length-1],r=((127&i[n])<<24|(255&i[n+1])<<16|(255&i[n+2])<<8|255&i[n+3])%Math.pow(10,e);return u(String(r),e,"0")}function _(t,e,i){return v(i.digest||function(t,e,i){const n=b(e),r=i.createHmacKey(i.algorithm,t,i.encoding);return i.createDigest(i.algorithm,r,n)}(t,e,i),i.digits)}function w(t,e,i,n){return!!h(t)&&t===_(e,i,n)}function x(t,i,n,r,s){return d({algorithm:s.algorithm,digits:s.digits,type:e.Strategy.HOTP,accountName:t,counter:r,issuer:i,secret:n})}class C extends f{create(t={}){return new C(t)}allOptions(){return y(this.options)}generate(t,e){return _(t,e,this.allOptions())}check(t,e,i){return w(t,e,i,this.allOptions())}verify(t){if("object"!=typeof t)throw new Error("Expecting argument 0 of verify to be an object");return this.check(t.token,t.secret,t.counter)}keyuri(t,e,i,n){return x(t,e,i,n,this.allOptions())}}function A(t){if("number"==typeof t)return[Math.abs(t),Math.abs(t)];if(Array.isArray(t)){const[e,i]=t;if("number"==typeof e&&"number"==typeof i)return[Math.abs(e),Math.abs(i)]}throw new Error("Expecting options.window to be an number or [number, number].")}function S(t){if(p(t),A(t.window),"number"!=typeof t.epoch)throw new Error("Expecting options.epoch to be a number.");if("number"!=typeof t.step)throw new Error("Expecting options.step to be a number.")}const k=(t,e,i)=>{const n=t.length,r=Buffer.from(t,e).toString("hex");if(n{switch(t){case e.HashAlgorithms.SHA1:return k(i,n,20);case e.HashAlgorithms.SHA256:return k(i,n,32);case e.HashAlgorithms.SHA512:return k(i,n,64);default:throw new Error(`Expecting algorithm to be one of ${r.join(", ")}. Received ${t}.`)}};function E(){return{algorithm:e.HashAlgorithms.SHA1,createDigest:c,createHmacKey:M,digits:6,encoding:e.KeyEncodings.ASCII,epoch:Date.now(),step:30,window:0}}function T(t){const e={...E(),...t};return S(e),Object.freeze(e)}function L(t,e){return Math.floor(t/e/1e3)}function I(t,e){return _(t,L(e.epoch,e.step),e)}function O(t,e,i,n){const r=[];if(0===n)return r;for(let s=1;s<=n;s++)r.push(t+e*s*i);return r}function D(t,e,i){const n=A(i),r=1e3*e;return{current:t,past:O(t,-1,r,n[0]),future:O(t,1,r,n[1])}}function R(t,e,i){return!!h(t)&&t===I(e,i)}function P(t,e,i,n){let r=null;return t.some((t,s)=>!!R(e,i,{...n,epoch:t})&&(r=s+1,!0)),r}function Z(t,e,i){if(R(t,e,i))return 0;const n=D(i.epoch,i.step,i.window),r=P(n.past,t,e,i);return null!==r?-1*r:P(n.future,t,e,i)}function F(t,e){return Math.floor(t/1e3)%e}function N(t,e){return e-F(t,e)}function B(t,i,n,r){return d({algorithm:r.algorithm,digits:r.digits,step:r.step,type:e.Strategy.TOTP,accountName:t,issuer:i,secret:n})}class U extends C{create(t={}){return new U(t)}allOptions(){return T(this.options)}generate(t){return I(t,this.allOptions())}checkDelta(t,e){return Z(t,e,this.allOptions())}check(t,e){return"number"==typeof this.checkDelta(t,e)}verify(t){if("object"!=typeof t)throw new Error("Expecting argument 0 of verify to be an object");return this.check(t.token,t.secret)}timeRemaining(){const t=this.allOptions();return N(t.epoch,t.step)}timeUsed(){const t=this.allOptions();return F(t.epoch,t.step)}keyuri(t,e,i){return B(t,e,i,this.allOptions())}}function q(t){if(S(t),"function"!=typeof t.keyDecoder)throw new Error("Expecting options.keyDecoder to be a function.");if(t.keyEncoder&&"function"!=typeof t.keyEncoder)throw new Error("Expecting options.keyEncoder to be a function.")}function z(){return{algorithm:e.HashAlgorithms.SHA1,createDigest:c,createHmacKey:M,digits:6,encoding:e.KeyEncodings.HEX,epoch:Date.now(),step:30,window:0}}function H(t){const e={...z(),...t};return q(e),Object.freeze(e)}function Y(t,e){return e.keyEncoder(t,e.encoding)}function j(t,e){return e.keyDecoder(t,e.encoding)}function G(t,e){return Y(e.createRandomBytes(t,e.encoding),e)}function V(t,e){return I(j(t,e),e)}function Q(t,e,i){return Z(t,j(e,i),i)}class W extends U{create(t={}){return new W(t)}allOptions(){return H(this.options)}generate(t){return V(t,this.allOptions())}checkDelta(t,e){return Q(t,e,this.allOptions())}encode(t){return Y(t,this.allOptions())}decode(t){return j(t,this.allOptions())}generateSecret(t=10){return G(t,this.allOptions())}}e.Authenticator=W,e.HASH_ALGORITHMS=r,e.HOTP=C,e.KEY_ENCODINGS=o,e.OTP=f,e.STRATEGY=l,e.TOTP=U,e.authenticatorCheckWithWindow=Q,e.authenticatorDecoder=j,e.authenticatorDefaultOptions=z,e.authenticatorEncoder=Y,e.authenticatorGenerateSecret=G,e.authenticatorOptionValidator=q,e.authenticatorOptions=H,e.authenticatorToken=V,e.createDigestPlaceholder=c,e.hotpCheck=w,e.hotpCounter=b,e.hotpCreateHmacKey=m,e.hotpDefaultOptions=g,e.hotpDigestToToken=v,e.hotpKeyuri=x,e.hotpOptions=y,e.hotpOptionsValidator=p,e.hotpToken=_,e.isTokenValid=h,e.keyuri=d,e.objectValues=i,e.padStart=u,e.totpCheck=R,e.totpCheckByEpoch=P,e.totpCheckWithWindow=Z,e.totpCounter=L,e.totpCreateHmacKey=M,e.totpDefaultOptions=E,e.totpEpochAvailable=D,e.totpKeyuri=B,e.totpOptions=T,e.totpOptionsValidator=S,e.totpPadSecret=k,e.totpTimeRemaining=N,e.totpTimeUsed=F,e.totpToken=I},6801:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r=(n=i(7508))&&"object"==typeof n&&"default"in n?n.default:n;e.createDigest=(t,e,i)=>r.createHmac(t,Buffer.from(e,"hex")).update(Buffer.from(i,"hex")).digest().toString("hex"),e.createRandomBytes=(t,e)=>r.randomBytes(t).toString(e)},9906:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r=(n=i(115))&&"object"==typeof n&&"default"in n?n.default:n;e.keyDecoder=(t,e)=>r.decode(t).toString(e),e.keyEncoder=(t,e)=>r.encode(Buffer.from(t,e).toString("ascii")).toString().replace(/=/g,"")},5097:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(6801),r=i(9906),s=i(2281);const o=new s.HOTP({createDigest:n.createDigest}),a=new s.TOTP({createDigest:n.createDigest}),l=new s.Authenticator({createDigest:n.createDigest,createRandomBytes:n.createRandomBytes,keyDecoder:r.keyDecoder,keyEncoder:r.keyEncoder});e.authenticator=l,e.hotp=o,e.totp=a},1905:(t,e,i)=>{"use strict";i.d(e,{H5:()=>va,K$:()=>ba,a4:()=>Oa});var n=i(1572),r=i(1511),s=i(709),o=i(6899),a=i(5960),l=i(5057);function c(){}function h(t){return null==t?c:function(){return this.querySelector(t)}}function u(){return[]}function d(t){return null==t?u:function(){return this.querySelectorAll(t)}}function f(t){return function(){return this.matches(t)}}function p(t){return new Array(t.length)}function m(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function g(t,e,i,n,r,s){for(var o,a=0,l=e.length,c=s.length;ae?1:t>=e?0:NaN}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var v="http://www.w3.org/1999/xhtml";const _={svg:"http://www.w3.org/2000/svg",xhtml:v,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function w(t){var e=t+="",i=e.indexOf(":");return i>=0&&"xmlns"!==(e=t.slice(0,i))&&(t=t.slice(i+1)),_.hasOwnProperty(e)?{space:_[e],local:t}:t}function x(t){return function(){this.removeAttribute(t)}}function C(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e){return function(){this.setAttribute(t,e)}}function S(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function k(t,e){return function(){var i=e.apply(this,arguments);null==i?this.removeAttribute(t):this.setAttribute(t,i)}}function M(t,e){return function(){var i=e.apply(this,arguments);null==i?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,i)}}function E(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function T(t){return function(){this.style.removeProperty(t)}}function L(t,e,i){return function(){this.style.setProperty(t,e,i)}}function I(t,e,i){return function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,i)}}function O(t,e){return t.style.getPropertyValue(e)||E(t).getComputedStyle(t,null).getPropertyValue(e)}function D(t){return function(){delete this[t]}}function R(t,e){return function(){this[t]=e}}function P(t,e){return function(){var i=e.apply(this,arguments);null==i?delete this[t]:this[t]=i}}function Z(t){return t.trim().split(/^|\s+/)}function F(t){return t.classList||new N(t)}function N(t){this._node=t,this._names=Z(t.getAttribute("class")||"")}function B(t,e){for(var i=F(t),n=-1,r=e.length;++n=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var st={},ot=null;function at(t,e,i){return t=lt(t,e,i),function(e){var i=e.relatedTarget;i&&(i===this||8&i.compareDocumentPosition(this))||t.call(this,e)}}function lt(t,e,i){return function(n){var r=ot;ot=n;try{t.call(this,this.__data__,e,i)}finally{ot=r}}}function ct(t){return t.trim().split(/^|\s+/).map(function(t){var e="",i=t.indexOf(".");return i>=0&&(e=t.slice(i+1),t=t.slice(0,i)),{type:t,name:e}})}function ht(t){return function(){var e=this.__on;if(e){for(var i,n=0,r=-1,s=e.length;n=C&&(C=x+1);!(w=v[C])&&++C=0;)(n=r[s])&&(o&&4^n.compareDocumentPosition(o)&&o.parentNode.insertBefore(n,o),o=n);return this},sort:function(t){function e(e,i){return e&&i?t(e.__data__,i.__data__):!e-!i}t||(t=b);for(var i=this._groups,n=i.length,r=new Array(n),s=0;s1?this.each((null==e?T:"function"==typeof e?I:L)(t,e,null==i?"":i)):O(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?D:"function"==typeof e?P:R)(t,e)):this.node()[t]},classed:function(t,e){var i=Z(t+"");if(arguments.length<2){for(var n=F(this.node()),r=-1,s=i.length;++r=0&&(i=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:i}})}function Ct(t,e){for(var i,n=0,r=t.length;n0)for(var i,n,r=new Array(i),s=0;s>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===i?Gt(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===i?Gt(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Pt.exec(t))?new Wt(e[1],e[2],e[3],1):(e=Zt.exec(t))?new Wt(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Ft.exec(t))?Gt(e[1],e[2],e[3],e[4]):(e=Nt.exec(t))?Gt(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Bt.exec(t))?$t(e[1],e[2]/100,e[3]/100,1):(e=Ut.exec(t))?$t(e[1],e[2]/100,e[3]/100,e[4]):qt.hasOwnProperty(t)?jt(qt[t]):"transparent"===t?new Wt(NaN,NaN,NaN,0):null}function jt(t){return new Wt(t>>16&255,t>>8&255,255&t,1)}function Gt(t,e,i,n){return n<=0&&(t=e=i=NaN),new Wt(t,e,i,n)}function Vt(t){return t instanceof Et||(t=Yt(t)),t?new Wt((t=t.rgb()).r,t.g,t.b,t.opacity):new Wt}function Qt(t,e,i,n){return 1===arguments.length?Vt(t):new Wt(t,e,i,null==n?1:n)}function Wt(t,e,i,n){this.r=+t,this.g=+e,this.b=+i,this.opacity=+n}function Jt(){return"#"+Kt(this.r)+Kt(this.g)+Kt(this.b)}function Xt(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Kt(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function $t(t,e,i,n){return n<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new ee(t,e,i,n)}function te(t){if(t instanceof ee)return new ee(t.h,t.s,t.l,t.opacity);if(t instanceof Et||(t=Yt(t)),!t)return new ee;if(t instanceof ee)return t;var e=(t=t.rgb()).r/255,i=t.g/255,n=t.b/255,r=Math.min(e,i,n),s=Math.max(e,i,n),o=NaN,a=s-r,l=(s+r)/2;return a?(o=e===s?(i-n)/a+6*(i0&&l<1?0:o,new ee(o,a,l,t.opacity)}function ee(t,e,i,n){this.h=+t,this.s=+e,this.l=+i,this.opacity=+n}function ie(t,e,i){return 255*(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)}function ne(t,e,i,n,r){var s=t*t,o=s*t;return((1-3*t+3*s-o)*e+(4-6*s+3*o)*i+(1+3*t+3*s-3*o)*n+o*r)/6}function re(t){return function(){return t}}function se(t,e){var i=e-t;return i?function(t,e){return function(i){return t+i*e}}(t,i):re(isNaN(t)?e:t)}kt(Et,Yt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:zt,formatHex:zt,formatHsl:function(){return te(this).formatHsl()},formatRgb:Ht,toString:Ht}),kt(Wt,Qt,Mt(Et,{brighter:function(t){return t=null==t?Lt:Math.pow(Lt,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?Tt:Math.pow(Tt,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Jt,formatHex:Jt,formatRgb:Xt,toString:Xt})),kt(ee,function(t,e,i,n){return 1===arguments.length?te(t):new ee(t,e,i,null==n?1:n)},Mt(Et,{brighter:function(t){return t=null==t?Lt:Math.pow(Lt,t),new ee(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Tt:Math.pow(Tt,t),new ee(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,n=i+(i<.5?i:1-i)*e,r=2*i-n;return new Wt(ie(t>=240?t-240:t+120,r,n),ie(t,r,n),ie(t<120?t+240:t-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));const oe=function t(e){var i=function(t){return 1==(t=+t)?se:function(e,i){return i-e?function(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(n){return Math.pow(t+n*e,i)}}(e,i,t):re(isNaN(e)?i:e)}}(e);function n(t,e){var n=i((t=Qt(t)).r,(e=Qt(e)).r),r=i(t.g,e.g),s=i(t.b,e.b),o=se(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=r(e),t.b=s(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function ae(t){return function(e){var i,n,r=e.length,s=new Array(r),o=new Array(r),a=new Array(r);for(i=0;i=1?(i=1,e-1):Math.floor(i*e),r=t[n],s=t[n+1];return ne((i-n/e)*e,n>0?t[n-1]:2*r-s,r,s,ns&&(r=e.slice(s,r),a[o]?a[o]+=r:a[++o]=r),(i=i[0])===(n=n[0])?a[o]?a[o]+=n:a[++o]=n:(a[++o]=null,l.push({i:o,x:he(i,n)})),s=fe.lastIndex;return s=0&&e._call.call(null,t),e=e._next;--ve}()}finally{ve=0,function(){for(var t,e,i=ye,n=1/0;i;)i._call?(n>i._time&&(n=i._time),t=i,i=i._next):(e=i._next,i._next=null,i=t?t._next=e:ye=e);be=t,De(n)}(),Ce=0}}function Oe(){var t=Se.now(),e=t-xe;e>1e3&&(Ae-=e,xe=t)}function De(t){ve||(_e&&(_e=clearTimeout(_e)),t-Ce>24?(t<1/0&&(_e=setTimeout(Ie,t-Se.now()-Ae)),we&&(we=clearInterval(we))):(we||(xe=Se.now(),we=setInterval(Oe,1e3)),ve=1,ke(Ie)))}function Re(t,e,i){var n=new Te;return n.restart(function(i){n.stop(),t(i+e)},e=null==e?0:+e,i),n}Te.prototype=Le.prototype={constructor:Te,restart:function(t,e,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?Me():+i)+(null==e?0:+e),this._next||be===this||(be?be._next=this:ye=this,be=this),this._call=t,this._time=i,De()},stop:function(){this._call&&(this._call=null,this._time=1/0,De())}};var Pe=St("start","end","cancel","interrupt"),Ze=[];function Fe(t,e,i,n,r,s){var o=t.__transition;if(o){if(i in o)return}else t.__transition={};!function(t,e,i){var n,r=t.__transition;function s(l){var c,h,u,d;if(1!==i.state)return a();for(c in r)if((d=r[c]).name===i.name){if(3===d.state)return Re(s);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[c]):+c0)throw new Error("too late; already scheduled");return i}function Be(t,e){var i=Ue(t,e);if(i.state>3)throw new Error("too late; already running");return i}function Ue(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}var qe,ze,He,Ye,je=180/Math.PI,Ge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ve(t,e,i,n,r,s){var o,a,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*i+e*n)&&(i-=t*l,n-=e*l),(a=Math.sqrt(i*i+n*n))&&(i/=a,n/=a,l/=a),t*n180?e+=360:e-t>180&&(t+=360),s.push({i:i.push(r(i)+"rotate(",null,n)-2,x:he(t,e)})):e&&i.push(r(i)+"rotate("+e+n)}(s.rotate,o.rotate,a,l),function(t,e,i,s){t!==e?s.push({i:i.push(r(i)+"skewX(",null,n)-2,x:he(t,e)}):e&&i.push(r(i)+"skewX("+e+n)}(s.skewX,o.skewX,a,l),function(t,e,i,n,s,o){if(t!==i||e!==n){var a=s.push(r(s)+"scale(",null,",",null,")");o.push({i:a-4,x:he(t,i)},{i:a-2,x:he(e,n)})}else 1===i&&1===n||s.push(r(s)+"scale("+i+","+n+")")}(s.scaleX,s.scaleY,o.scaleX,o.scaleY,a,l),s=o=null,function(t){for(var e,i=-1,n=l.length;++i=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Ne:Be;return function(){var o=s(this,t),a=o.on;a!==n&&(r=(n=a).copy()).on(e,i),o.on=r}}var yi=bt.prototype.constructor;function bi(t){return function(){this.style.removeProperty(t)}}function vi(t,e,i){return function(n){this.style.setProperty(t,e.call(this,n),i)}}function _i(t,e,i){var n,r;function s(){var s=e.apply(this,arguments);return s!==r&&(n=(r=s)&&vi(t,s,i)),n}return s._value=e,s}function wi(t){return function(e){this.textContent=t.call(this,e)}}function xi(t){var e,i;function n(){var n=t.apply(this,arguments);return n!==i&&(e=(i=n)&&wi(n)),e}return n._value=t,n}var Ci=0;function Ai(t,e,i,n){this._groups=t,this._parents=e,this._name=i,this._id=n}function Si(){return++Ci}var ki=bt.prototype;Ai.prototype=(function(t){return bt().transition(t)}).prototype={constructor:Ai,select:function(t){var e=this._name,i=this._id;"function"!=typeof t&&(t=h(t));for(var n=this._groups,r=n.length,s=new Array(r),o=0;oe?1:t>=e?0:NaN}function Ii(t){let e=t,i=t;function n(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;i(t[s],e)<0?n=s+1:r=s}return n}return 1===t.length&&(e=(e,i)=>t(e)-i,i=function(t){return(e,i)=>Li(t(e),i)}(t)),{left:n,center:function(t,i,r,s){null==r&&(r=0),null==s&&(s=t.length);const o=n(t,i,r,s-1);return o>r&&e(t[o-1],i)>-e(t[o],i)?o-1:o},right:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;i(t[s],e)>0?r=s:n=s+1}return n}}}bt.prototype.interrupt=function(t){return this.each(function(){!function(t,e){var i,n,r,s=t.__transition,o=!0;if(s){for(r in e=null==e?null:e+"",s)(i=s[r]).name===e?(n=i.state>2&&i.state<5,i.state=6,i.timer.stop(),i.on.call(n?"interrupt":"cancel",t,t.__data__,i.index,i.group),delete s[r]):o=!1;o&&delete t.__transition}}(this,t)})},bt.prototype.transition=function(t){var e,i;t instanceof Ai?(e=t._id,t=t._name):(e=Si(),(i=Mi).time=Me(),t=null==t?null:t+"");for(var n=this._groups,r=n.length,s=0;s=0?(s>=Oi?10:s>=Di?5:s>=Ri?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(s>=Oi?10:s>=Di?5:s>=Ri?2:1)}function Zi(t,e,i){var n=Math.abs(e-t)/Math.max(0,i),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),s=n/r;return s>=Oi?r*=10:s>=Di?r*=5:s>=Ri&&(r*=2),e0))return a;do{a.push(o=new Date(+i)),e(i,s),t(i)}while(o=e)for(;t(e),!i(e);)e.setTime(e-1)},function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!i(t););else for(;--n>=0;)for(;e(t,1),!i(t););})},i&&(r.count=function(e,n){return Hi.setTime(+e),Yi.setTime(+n),t(Hi),t(Yi),Math.floor(i(Hi,Yi))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(n?function(e){return n(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var Gi=ji(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});Gi.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?ji(function(e){e.setTime(Math.floor(e/t)*t)},function(e,i){e.setTime(+e+i*t)},function(e,i){return(i-e)/t}):Gi:null};const Vi=Gi,Qi=ji(function(t){t.setTime(t-t.getMilliseconds())},function(t,e){t.setTime(+t+e*Fi)},function(t,e){return(e-t)/Fi},function(t){return t.getUTCSeconds()}),Wi=ji(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Fi)},function(t,e){t.setTime(+t+e*Ni)},function(t,e){return(e-t)/Ni},function(t){return t.getMinutes()}),Ji=ji(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Fi-t.getMinutes()*Ni)},function(t,e){t.setTime(+t+e*Bi)},function(t,e){return(e-t)/Bi},function(t){return t.getHours()}),Xi=ji(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ni)/Ui,t=>t.getDate()-1);function Ki(t){return ji(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ni)/qi})}var $i=Ki(0);const tn=(Ki(1),Ki(2),Ki(3),Ki(4),Ki(5),Ki(6),ji(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}));var en=ji(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});en.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ji(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,i){e.setFullYear(e.getFullYear()+i*t)}):null};const nn=en,rn=ji(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Ni)},function(t,e){return(e-t)/Ni},function(t){return t.getUTCMinutes()}),sn=ji(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*Bi)},function(t,e){return(e-t)/Bi},function(t){return t.getUTCHours()}),on=ji(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/Ui},function(t){return t.getUTCDate()-1});function an(t){return ji(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/qi})}var ln=an(0);const cn=(an(1),an(2),an(3),an(4),an(5),an(6),ji(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}));var hn=ji(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});hn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ji(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,i){e.setUTCFullYear(e.getUTCFullYear()+i*t)}):null};const un=hn;function dn(t,e,i,n,r,s){const o=[[Qi,1,Fi],[Qi,5,5e3],[Qi,15,15e3],[Qi,30,3e4],[s,1,Ni],[s,5,3e5],[s,15,9e5],[s,30,18e5],[r,1,Bi],[r,3,108e5],[r,6,216e5],[r,12,432e5],[n,1,Ui],[n,2,1728e5],[i,1,qi],[e,1,2592e6],[e,3,7776e6],[t,1,zi]];function a(e,i,n){const r=Math.abs(i-e)/n,s=Ii(([,,t])=>t).right(o,r);if(s===o.length)return t.every(Zi(e/zi,i/zi,n));if(0===s)return Vi.every(Math.max(Zi(e,i,n),1));const[a,l]=o[r/o[s-1][2]0))return a;do{a.push(o=new Date(+i)),e(i,s),t(i)}while(o=e)for(;t(e),!i(e);)e.setTime(e-1)},function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!i(t););else for(;--n>=0;)for(;e(t,1),!i(t););})},i&&(r.count=function(e,n){return yn.setTime(+e),bn.setTime(+n),t(yn),t(bn),Math.floor(i(yn,bn))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(n?function(e){return n(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var _n=864e5,wn=6048e5;function xn(t){return vn(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/wn})}var Cn=xn(0),An=xn(1),Sn=(xn(2),xn(3),xn(4));const kn=(xn(5),xn(6),vn(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/_n},function(t){return t.getUTCDate()-1}));function Mn(t){return vn(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/wn})}var En=Mn(0),Tn=Mn(1),Ln=(Mn(2),Mn(3),Mn(4));const In=(Mn(5),Mn(6),vn(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/_n},function(t){return t.getDate()-1}));var On=vn(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});On.every=function(t){return isFinite(t=Math.floor(t))&&t>0?vn(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,i){e.setFullYear(e.getFullYear()+i*t)}):null};const Dn=On;var Rn=vn(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Rn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?vn(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,i){e.setUTCFullYear(e.getUTCFullYear()+i*t)}):null};const Pn=Rn;var Zn={"-":"",_:" ",0:"0"},Fn=/[\\^$*+?|[\]().{}]/g;function Nn(t,e,i){var n=t<0?"-":"",r=(n?-t:t)+"",s=r.length;return n+(s=4||0===e?Ln(t):Ln.ceil(t)}function tr(t,e){return t=$n(t),Nn(Ln.count(Dn(t),t)+(4===Dn(t).getDay()),e,2)}function er(t){return t.getDay()}function ir(t,e){return Nn(Tn.count(Dn(t)-1,t),e,2)}function nr(t,e){return Nn(t.getFullYear()%100,e,2)}function rr(t,e){return Nn((t=$n(t)).getFullYear()%100,e,2)}function sr(t,e){return Nn(t.getFullYear()%1e4,e,4)}function or(t,e){var i=t.getDay();return Nn((t=i>=4||0===i?Ln(t):Ln.ceil(t)).getFullYear()%1e4,e,4)}function ar(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Nn(e/60|0,"0",2)+Nn(e%60,"0",2)}function lr(t,e){return Nn(t.getUTCDate(),e,2)}function cr(t,e){return Nn(t.getUTCHours(),e,2)}function hr(t,e){return Nn(t.getUTCHours()%12||12,e,2)}function ur(t,e){return Nn(1+kn.count(Pn(t),t),e,3)}function dr(t,e){return Nn(t.getUTCMilliseconds(),e,3)}function fr(t,e){return dr(t,e)+"000"}function pr(t,e){return Nn(t.getUTCMonth()+1,e,2)}function mr(t,e){return Nn(t.getUTCMinutes(),e,2)}function gr(t,e){return Nn(t.getUTCSeconds(),e,2)}function yr(t){var e=t.getUTCDay();return 0===e?7:e}function br(t,e){return Nn(Cn.count(Pn(t)-1,t),e,2)}function vr(t){var e=t.getUTCDay();return e>=4||0===e?Sn(t):Sn.ceil(t)}function _r(t,e){return t=vr(t),Nn(Sn.count(Pn(t),t)+(4===Pn(t).getUTCDay()),e,2)}function wr(t){return t.getUTCDay()}function xr(t,e){return Nn(An.count(Pn(t)-1,t),e,2)}function Cr(t,e){return Nn(t.getUTCFullYear()%100,e,2)}function Ar(t,e){return Nn((t=vr(t)).getUTCFullYear()%100,e,2)}function Sr(t,e){return Nn(t.getUTCFullYear()%1e4,e,4)}function kr(t,e){var i=t.getUTCDay();return Nn((t=i>=4||0===i?Sn(t):Sn.ceil(t)).getUTCFullYear()%1e4,e,4)}function Mr(){return"+0000"}function Er(){return"%"}function Tr(t){return+t}function Lr(t){return Math.floor(+t/1e3)}function Ir(t){return null===t?NaN:+t}!function(t){var e=t.dateTime,i=t.date,n=t.time,r=t.periods,s=t.days,o=t.shortDays,a=t.months,l=t.shortMonths,c=(Un(r),qn(r),Un(s),qn(s),Un(o),qn(o),Un(a),qn(a),Un(l),qn(l),{a:function(t){return o[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:zn,e:zn,f:Vn,g:rr,G:or,H:Hn,I:Yn,j:jn,L:Gn,m:Qn,M:Wn,p:function(t){return r[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Tr,s:Lr,S:Jn,u:Xn,U:Kn,V:tr,w:er,W:ir,x:null,X:null,y:nr,Y:sr,Z:ar,"%":Er}),h={a:function(t){return o[t.getUTCDay()]},A:function(t){return s[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:lr,e:lr,f:fr,g:Ar,G:kr,H:cr,I:hr,j:ur,L:dr,m:pr,M:mr,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Tr,s:Lr,S:gr,u:yr,U:br,V:_r,w:wr,W:xr,x:null,X:null,y:Cr,Y:Sr,Z:Mr,"%":Er};function u(t,e){return function(i){var n,r,s,o=[],a=-1,l=0,c=t.length;for(i instanceof Date||(i=new Date(+i));++a(e=o[l-1])&&(i=t,t=e,e=i),c=function(i){return Math.max(t,Math.min(e,i))}),n=l>2?Ur:Br,r=s=null,u}function u(e){return null==e||isNaN(e=+e)?i:(r||(r=n(o.map(t),a,l)))(t(c(e)))}return u.invert=function(i){return c(e((s||(s=n(a,o.map(t),he)))(i)))},u.domain=function(t){return arguments.length?(o=Array.from(t,Pr),h()):o.slice()},u.range=function(t){return arguments.length?(a=Array.from(t),h()):a.slice()},u.rangeRound=function(t){return a=Array.from(t),l=Rr,h()},u.clamp=function(t){return arguments.length?(c=!!t||Fr,h()):c!==Fr},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(i=t,u):i},function(i,n){return t=i,e=n,h()}}()(Fr,Fr)}function Hr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}var Yr,jr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Gr(t){if(!(e=jr.exec(t)))throw new Error("invalid format: "+t);var e;return new Vr({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Vr(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Qr(t,e){if((i=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var i,n=t.slice(0,i);return[n.length>1?n[0]+n.slice(2):n,+t.slice(i+1)]}function Wr(t){return(t=Qr(Math.abs(t)))?t[1]:NaN}function Jr(t,e){var i=Qr(t,e);if(!i)return t+"";var n=i[0],r=i[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")}Gr.prototype=Vr.prototype,Vr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Xr={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Jr(100*t,e)},r:Jr,s:function(t,e){var i=Qr(t,e);if(!i)return t+"";var n=i[0],r=i[1],s=r-(Yr=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return s===o?n:s>o?n+new Array(s-o+1).join("0"):s>0?n.slice(0,s)+"."+n.slice(s):"0."+new Array(1-s).join("0")+Qr(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Kr(t){return t}var $r,ts,es,is=Array.prototype.map,ns=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function rs(t){var e=t.domain;return t.ticks=function(t){var i=e();return function(t,e,i){var n,r,s,o,a=-1;if(i=+i,(t=+t)==(e=+e)&&i>0)return[t];if((n=e0){let i=Math.round(t/o),n=Math.round(e/o);for(i*oe&&--n,s=new Array(r=n-i+1);++ae&&--n,s=new Array(r=n-i+1);++a0;){if((r=Pi(l,c,i))===n)return s[o]=l,s[a]=c,e(s);if(r>0)l=Math.floor(l/r)*r,c=Math.ceil(c/r)*r;else{if(!(r<0))break;l=Math.ceil(l*r)/r,c=Math.floor(c*r)/r}n=r}return t},t}function ss(){var t=zr();return t.copy=function(){return qr(t,ss())},Hr.apply(t,arguments),rs(t)}function os(t,e,i){t=+t,e=+e,i=(r=arguments.length)<2?(e=t,t=0,1):r<3?1:+i;for(var n=-1,r=0|Math.max(0,Math.ceil((e-t)/i)),s=new Array(r);++n0&&a>0&&(l+a+1>n&&(a=Math.max(1,n-l)),s.push(t.substring(r-=a,r+a)),!((l+=a+1)>n));)a=e[o=(o+1)%e.length];return s.reverse().join(i)}),r=void 0===t.currency?"":t.currency[0]+"",s=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?Kr:function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(is.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"-":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=Gr(t)).fill,i=t.align,u=t.sign,d=t.symbol,f=t.zero,p=t.width,m=t.comma,g=t.precision,y=t.trim,b=t.type;"n"===b?(m=!0,b="g"):Xr[b]||(void 0===g&&(g=12),y=!0,b="g"),(f||"0"===e&&"="===i)&&(f=!0,e="0",i="=");var v="$"===d?r:"#"===d&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",_="$"===d?s:/[%p]/.test(b)?l:"",w=Xr[b],x=/[defgprs%]/.test(b);function C(t){var r,s,l,d=v,C=_;if("c"===b)C=w(t)+C,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:w(Math.abs(t),g),y&&(t=function(t){t:for(var e,i=t.length,n=1,r=-1;n0&&(r=0)}return r>0?t.slice(0,r)+t.slice(e+1):t}(t)),A&&0==+t&&"+"!==u&&(A=!1),d=(A?"("===u?u:c:"-"===u||"("===u?"":u)+d,C=("s"===b?ns[8+Yr/3]:"")+C+(A&&"("===u?")":""),x)for(r=-1,s=t.length;++r(l=t.charCodeAt(r))||l>57){C=(46===l?o+t.slice(r+1):t.slice(r))+C,t=t.slice(0,r);break}}m&&!f&&(t=n(t,1/0));var S=d.length+t.length+C.length,k=S>1)+d+t+C+k.slice(S);break;default:t=k+d+t+C}return a(t)}return g=void 0===g?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),C.toString=function(){return t+""},C}return{format:u,formatPrefix:function(t,e){var i=u(((t=Gr(t)).type="f",t)),n=3*Math.max(-8,Math.min(8,Math.floor(Wr(e)/3))),r=Math.pow(10,-n),s=ns[8+n/3];return function(t){return i(r*t)+s}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),ts=$r.format,es=$r.formatPrefix;const as=Symbol("implicit");function ls(){var t=new Map,e=[],i=[],n=as;function r(r){var s=r+"",o=t.get(s);if(!o){if(n!==as)return n;t.set(s,o=e.push(r))}return i[(o-1)%i.length]}return r.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new Map;for(const n of i){const i=n+"";t.has(i)||t.set(i,e.push(n))}return r},r.range=function(t){return arguments.length?(i=Array.from(t),r):i.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return ls(e,i).unknown(n)},Hr.apply(r,arguments),r}function cs(){var t,e,i=ls().unknown(void 0),n=i.domain,r=i.range,s=0,o=1,a=!1,l=0,c=0,h=.5;function u(){var i=n().length,u=o=1)return+i(t[n-1],n-1,t);var n,r=(n-1)*e,s=Math.floor(r),o=+i(t[s],s,t);return o+(+i(t[s+1],s+1,t)-o)*(r-s)}}function us(){var t,e=[],i=[],n=[];function r(){var t=0,r=Math.max(1,i.length);for(n=new Array(r-1);++t0?n[r-1]:e[0],r=0;)e+=i[n].value;else e=1;t.value=e}function ks(t,e){var i,n,r,s,o,a=new Ls(t),l=+t.value&&(a.value=t.value),c=[a];for(null==e&&(e=Ms);i=c.pop();)if(l&&(i.value=+i.data.value),(r=e(i.data))&&(o=r.length))for(i.children=new Array(o),s=o-1;s>=0;--s)c.push(n=i.children[s]=new Ls(r[s])),n.parent=i,n.depth=i.depth+1;return a.eachBefore(Ts)}function Ms(t){return t.children}function Es(t){t.data=t.data.data}function Ts(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Ls(t){this.data=t,this.depth=this.height=0,this.parent=null}ys.prototype=(function(){return new ys}).prototype={constructor:ys,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+n)},bezierCurveTo:function(t,e,i,n,r,s){this._+="C"+ +t+","+ +e+","+ +i+","+ +n+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,i,n,r){var s=this._x1,o=this._y1,a=(i=+i)-(t=+t),l=(n=+n)-(e=+e),c=s-t,h=o-e,u=c*c+h*h;if((r=+r)<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>ms)if(Math.abs(h*a-l*c)>ms&&r){var d=i-s,f=n-o,p=a*a+l*l,m=d*d+f*f,g=Math.sqrt(p),y=Math.sqrt(u),b=r*Math.tan((fs-Math.acos((p+u-m)/(2*g*y)))/2),v=b/y,_=b/g;Math.abs(v-1)>ms&&(this._+="L"+(t+v*c)+","+(e+v*h)),this._+="A"+r+","+r+",0,0,"+ +(h*d>c*f)+","+(this._x1=t+_*a)+","+(this._y1=e+_*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,i,n,r,s){t=+t,e=+e,s=!!s;var o=(i=+i)*Math.cos(n),a=i*Math.sin(n),l=t+o,c=e+a,h=1^s,u=s?n-r:r-n;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>ms||Math.abs(this._y1-c)>ms)&&(this._+="L"+l+","+c),i&&(u<0&&(u=u%ps+ps),u>gs?this._+="A"+i+","+i+",0,1,"+h+","+(t-o)+","+(e-a)+"A"+i+","+i+",0,1,"+h+","+(this._x1=l)+","+(this._y1=c):u>ms&&(this._+="A"+i+","+i+",0,"+ +(u>=fs)+","+h+","+(this._x1=t+i*Math.cos(r))+","+(this._y1=e+i*Math.sin(r))))},rect:function(t,e,i,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +n+"h"+-i+"Z"},toString:function(){return this._}},_s.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:vs(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:vs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},function t(e){function i(t){return new _s(t,e)}return i.tension=function(e){return t(+e)},i}(0),ws.prototype={areaStart:bs,areaEnd:bs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:vs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},function t(e){function i(t){return new ws(t,e)}return i.tension=function(e){return t(+e)},i}(0),xs.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}},Math,Math,Math,Math,Math,Math,Math,Math,function t(e){function i(t,i,n,r,s){!function(t,e,i,n,r,s){for(var o,a,l,c,h,u,d,f,p,m,g,y=[],b=e.children,v=0,_=0,w=b.length,x=e.value;vd&&(d=a),g=h*h*m,(f=Math.max(d/g,g/u))>p){h-=a;break}p=f}y.push(o={value:h,dice:l1?e:1)},i}((1+Math.sqrt(5))/2),Ls.prototype=ks.prototype={constructor:Ls,count:function(){return this.eachAfter(Ss)},each:function(t){var e,i,n,r,s=this,o=[s];do{for(e=o.reverse(),o=[];s=e.pop();)if(t(s),i=s.children)for(n=0,r=i.length;n=0;--i)r.push(e[i]);return this},sum:function(t){return this.eachAfter(function(e){for(var i=+t(e.data)||0,n=e.children,r=n&&n.length;--r>=0;)i+=n[r].value;e.value=i})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,i=function(t,e){if(t===e)return t;var i=t.ancestors(),n=e.ancestors(),r=null;for(t=i.pop(),e=n.pop();t===e;)r=t,t=i.pop(),e=n.pop();return r}(e,t),n=[e];e!==i;)n.push(e=e.parent);for(var r=n.length;t!==i;)n.splice(r,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(i){i!==t&&e.push({source:i.parent,target:i})}),e},copy:function(){return ks(this).eachBefore(Es)}};var Is=i(269);const Os=["caretElm"];function Ds(t,e){}const Rs=function(t){return{model:t}};function Ps(t,e){if(1&t&&(n.TgZ(0,"span"),n.YNc(1,Ds,0,0,"ng-template",5),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngTemplateOutlet",t.template)("ngTemplateOutletContext",n.VKq(2,Rs,t.context))}}function Zs(t,e){if(1&t&&n._UZ(0,"span",6),2&t){const t=n.oxw();n.Q6J("innerHTML",t.title,n.oJD)}}function Fs(t,e){if(1&t&&(n.O4$(),n.kcU(),n._UZ(0,"ngx-charts-scale-legend",4)),2&t){const t=n.oxw();n.Q6J("horizontal",t.legendOptions&&"below"===t.legendOptions.position)("valueRange",t.legendOptions.domain)("colors",t.legendOptions.colors)("height",t.view[1])("width",t.legendWidth)}}function Ns(t,e){if(1&t){const t=n.EpF();n.O4$(),n.kcU(),n.TgZ(0,"ngx-charts-legend",5),n.NdJ("labelClick",function(e){return n.CHM(t),n.oxw().legendLabelClick.emit(e)})("labelActivate",function(e){return n.CHM(t),n.oxw().legendLabelActivate.emit(e)})("labelDeactivate",function(e){return n.CHM(t),n.oxw().legendLabelDeactivate.emit(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("horizontal",t.legendOptions&&"below"===t.legendOptions.position)("data",t.legendOptions.domain)("title",t.legendOptions.title)("colors",t.legendOptions.colors)("height",t.view[1])("width",t.legendWidth)("activeEntries",t.activeEntries)}}const Bs=["*"],Us=["ngx-charts-axis-label",""],qs=["ticksel"],zs=["ngx-charts-x-axis-ticks",""];function Hs(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g",3),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",4),n._uU(4),n.qZA(),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.tickTransform(t)),n.xp6(2),n.Oqu(i.tickFormat(t)),n.xp6(1),n.Udp("font-size","12px"),n.uIk("text-anchor",i.textAnchor)("transform",i.textTransform),n.xp6(1),n.hij(" ",i.tickTrim(i.tickFormat(t))," ")}}function Ys(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n._UZ(1,"line",6),n.qZA()),2&t){const t=n.oxw(2);n.uIk("transform",t.gridLineTransform()),n.xp6(1),n.uIk("y1",-t.gridLineHeight)}}function js(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Ys,2,2,"g",5),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.tickTransform(t)),n.xp6(1),n.Q6J("ngIf",i.showGridLines)}}const Gs=["ngx-charts-x-axis",""];function Vs(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().emitTicksHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("trimTicks",t.trimTicks)("rotateTicks",t.rotateTicks)("maxTickLength",t.maxTickLength)("tickFormatting",t.tickFormatting)("tickArguments",t.tickArguments)("tickStroke",t.tickStroke)("scale",t.xScale)("orient",t.xOrient)("showGridLines",t.showGridLines)("gridLineHeight",t.dims.height)("width",t.dims.width)("tickValues",t.ticks)}}function Qs(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",3)),2&t){const t=n.oxw();n.Q6J("label",t.labelText)("offset",t.labelOffset)("orient","bottom")("height",t.dims.height)("width",t.dims.width)}}const Ws=["ngx-charts-y-axis-ticks",""];function Js(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g",4),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",5),n._uU(4),n.qZA(),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.transform(t)),n.xp6(2),n.Oqu(i.tickFormat(t)),n.xp6(1),n.Udp("font-size","12px"),n.uIk("dy",i.dy)("x",i.x1)("y",i.y1)("text-anchor",i.textAnchor),n.xp6(1),n.hij(" ",i.tickTrim(i.tickFormat(t))," ")}}function Xs(t,e){if(1&t&&(n.O4$(),n._UZ(0,"path",6)),2&t){const t=n.oxw();n.uIk("d",t.referenceAreaPath)("transform",t.gridLineTransform())}}function Ks(t,e){if(1&t&&(n.O4$(),n._UZ(0,"line",9)),2&t){const t=n.oxw(3);n.uIk("x2",t.gridLineWidth)}}function $s(t,e){if(1&t&&(n.O4$(),n._UZ(0,"line",9)),2&t){const t=n.oxw(3);n.uIk("x2",-t.gridLineWidth)}}function to(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Ks,1,1,"line",8),n.YNc(2,$s,1,1,"line",8),n.qZA()),2&t){const t=n.oxw(2);n.uIk("transform",t.gridLineTransform()),n.xp6(1),n.Q6J("ngIf","left"===t.orient),n.xp6(1),n.Q6J("ngIf","right"===t.orient)}}function eo(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,to,3,3,"g",7),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.transform(t)),n.xp6(1),n.Q6J("ngIf",i.showGridLines)}}function io(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",11),n._uU(4),n.qZA(),n.qZA()),2&t){const t=n.oxw(2).$implicit,e=n.oxw();n.xp6(2),n.Oqu(e.tickTrim(e.tickFormat(t.value))),n.xp6(1),n.uIk("dy",e.dy)("y",-6)("x",e.gridLineWidth)("text-anchor",e.textAnchor),n.xp6(1),n.hij(" ",t.name," ")}}function no(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n._UZ(1,"line",10),n.YNc(2,io,5,6,"g",7),n.qZA()),2&t){const t=n.oxw().$implicit,e=n.oxw();n.uIk("transform",e.transform(t.value)),n.xp6(1),n.uIk("x2",e.gridLineWidth)("transform",e.gridLineTransform()),n.xp6(1),n.Q6J("ngIf",e.showRefLabels)}}function ro(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,no,3,4,"g",7),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",t.showRefLines)}}const so=["ngx-charts-y-axis",""];function oo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().emitTicksWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("trimTicks",t.trimTicks)("maxTickLength",t.maxTickLength)("tickFormatting",t.tickFormatting)("tickArguments",t.tickArguments)("tickValues",t.ticks)("tickStroke",t.tickStroke)("scale",t.yScale)("orient",t.yOrient)("showGridLines",t.showGridLines)("gridLineWidth",t.dims.width)("referenceLines",t.referenceLines)("showRefLines",t.showRefLines)("showRefLabels",t.showRefLabels)("height",t.dims.height)}}function ao(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",3)),2&t){const t=n.oxw();n.Q6J("label",t.labelText)("offset",t.labelOffset)("orient",t.yOrient)("height",t.dims.height)("width",t.dims.width)}}const lo=["ngx-charts-grid-panel",""],co=["ngx-charts-grid-panel-series",""];function ho(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",1)),2&t){const t=e.$implicit;n.ekj("grid-panel",!0)("odd","odd"===t.class)("even","even"===t.class),n.Q6J("height",t.height)("width",t.width)("x",t.x)("y",t.y)}}const uo=["ngx-charts-svg-linear-gradient",""];function fo(t,e){if(1&t&&(n.O4$(),n._UZ(0,"stop")),2&t){const t=e.$implicit;n.Udp("stop-color",t.color)("stop-opacity",t.opacity),n.uIk("offset",t.offset+"%")}}function po(t,e){if(1&t&&(n.TgZ(0,"header",4),n.TgZ(1,"span",5),n._uU(2),n.qZA(),n.qZA()),2&t){const t=n.oxw();n.xp6(2),n.Oqu(t.title)}}function mo(t,e){if(1&t){const t=n.EpF();n.TgZ(0,"li",6),n.TgZ(1,"ngx-charts-legend-entry",7),n.NdJ("select",function(e){return n.CHM(t),n.oxw().labelClick.emit(e)})("activate",function(e){return n.CHM(t),n.oxw().activate(e)})("deactivate",function(e){return n.CHM(t),n.oxw().deactivate(e)}),n.qZA(),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.xp6(1),n.Q6J("label",t.label)("formattedLabel",t.formattedLabel)("color",t.color)("isActive",i.isActive(t))}}const go=["tooltipTemplate"],yo=function(t,e){return[t,e]},bo=".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}",vo=["ngx-charts-bar",""];function _o(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"defs"),n._UZ(1,"g",2),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("orientation",t.orientation)("name",t.gradientId)("stops",t.gradientStops)}}function wo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",5),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateXAxisHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("xScale",t.xScale)("dims",t.dims)("showLabel",t.showXAxisLabel)("labelText",t.xAxisLabel)("trimTicks",t.trimXAxisTicks)("rotateTicks",t.rotateXAxisTicks)("maxTickLength",t.maxXAxisTickLength)("tickFormatting",t.xAxisTickFormatting)("ticks",t.xAxisTicks)("xAxisOffset",t.dataLabelMaxHeight.negative)}}function xo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",6),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateYAxisWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("yScale",t.yScale)("dims",t.dims)("showGridLines",t.showGridLines)("showLabel",t.showYAxisLabel)("labelText",t.yAxisLabel)("trimTicks",t.trimYAxisTicks)("maxTickLength",t.maxYAxisTickLength)("tickFormatting",t.yAxisTickFormatting)("ticks",t.yAxisTicks)}}function Co(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",6),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateXAxisHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("xScale",t.groupScale)("dims",t.dims)("showLabel",t.showXAxisLabel)("labelText",t.xAxisLabel)("trimTicks",t.trimXAxisTicks)("rotateTicks",t.rotateXAxisTicks)("maxTickLength",t.maxXAxisTickLength)("tickFormatting",t.xAxisTickFormatting)("ticks",t.xAxisTicks)("xAxisOffset",t.dataLabelMaxHeight.negative)}}function Ao(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",7),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateYAxisWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("yScale",t.valueScale)("dims",t.dims)("showGridLines",t.showGridLines)("showLabel",t.showYAxisLabel)("labelText",t.yAxisLabel)("trimTicks",t.trimYAxisTicks)("maxTickLength",t.maxYAxisTickLength)("tickFormatting",t.yAxisTickFormatting)("ticks",t.yAxisTicks)}}function So(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",8),n.NdJ("select",function(e){const i=n.CHM(t).$implicit;return n.oxw().onClick(e,i)})("activate",function(e){const i=n.CHM(t).$implicit;return n.oxw().onActivate(e,i)})("deactivate",function(e){const i=n.CHM(t).$implicit;return n.oxw().onDeactivate(e,i)})("dataLabelHeightChanged",function(e){const i=n.CHM(t).index;return n.oxw().onDataLabelMaxHeightChanged(e,i)}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.Q6J("@animationState","active")("activeEntries",i.activeEntries)("xScale",i.innerScale)("yScale",i.valueScale)("colors",i.colors)("series",t.series)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("seriesName",t.name)("roundEdges",i.roundEdges)("animations",i.animations)("noBarWhenZero",i.noBarWhenZero),n.uIk("transform",i.groupTransform(t))}}const ko=["ngx-charts-series-vertical",""];function Mo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("select",function(e){return n.CHM(t),n.oxw().onClick(e)})("activate",function(e){return n.CHM(t),n.oxw().activate.emit(e)})("deactivate",function(e){return n.CHM(t),n.oxw().deactivate.emit(e)}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.Q6J("@animationState","active")("@.disabled",!i.animations)("width",t.width)("height",t.height)("x",t.x)("y",t.y)("fill",t.color)("stops",t.gradientStops)("data",t.data)("orientation","vertical")("roundEdges",t.roundEdges)("gradient",i.gradient)("ariaLabel",t.ariaLabel)("isActive",i.isActive(t.data))("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.tooltipPlacement)("tooltipType",i.tooltipType)("tooltipTitle",i.tooltipTemplate?void 0:t.tooltipText)("tooltipTemplate",i.tooltipTemplate)("tooltipContext",t.data)("noBarWhenZero",i.noBarWhenZero)("animations",i.animations)}}function Eo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",4),n.NdJ("dimensionsChanged",function(e){const i=n.CHM(t).index;return n.oxw(2).dataLabelHeightChanged.emit({size:e,index:i})}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw(2);n.Q6J("barX",t.x)("barY",t.y)("barWidth",t.width)("barHeight",t.height)("value",t.total)("valueFormatting",i.dataLabelFormatting)("orientation","vertical")}}function To(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Eo,1,7,"g",3),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.barsForDataLabels)("ngForTrackBy",t.trackDataLabelBy)}}const Lo=["ngx-charts-bar-label",""];let Io=(()=>{class t{constructor(t,e,i){this.applicationRef=t,this.componentFactoryResolver=e,this.injector=i}static setGlobalRootViewContainer(e){t.globalRootViewContainer=e}getRootViewContainer(){if(this._container)return this._container;if(t.globalRootViewContainer)return t.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(t){this._container=t}getComponentRootNode(t){return t.element?t.element.nativeElement:t.hostView&&t.hostView.rootNodes.length>0?t.hostView.rootNodes[0]:t.location.nativeElement}getRootViewContainerNode(t){return this.getComponentRootNode(t)}projectComponentBindings(t,e){if(e){if(void 0!==e.inputs){const i=Object.getOwnPropertyNames(e.inputs);for(const n of i)t.instance[n]=e.inputs[n]}if(void 0!==e.outputs){const i=Object.getOwnPropertyNames(e.outputs);for(const n of i)t.instance[n]=e.outputs[n]}}return t}appendComponent(t,e={},i){i||(i=this.getRootViewContainer());const n=this.getComponentRootNode(i),r=new o.F0(n,this.componentFactoryResolver,this.applicationRef,this.injector),s=new o.C5(t),a=r.attach(s);return this.projectComponentBindings(a,e),a}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.z2F),n.LFG(n._Vd),n.LFG(n.zs3))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t.globalRootViewContainer=null,t})();function Oo(t,e,i){let n,r,s;i=i||{};let o=null,a=0;function l(){a=!1===i.leading?0:+new Date,o=null,s=t.apply(n,r)}return function(){const c=+new Date;a||!1!==i.leading||(a=c);const h=e-(c-a);return n=this,r=arguments,h<=0?(clearTimeout(o),o=null,a=c,s=t.apply(n,r)):o||!1===i.trailing||(o=setTimeout(l,h)),s}}var Do=function(t){return t[t.top="top"]="top",t[t.bottom="bottom"]="bottom",t[t.left="left"]="left",t[t.right="right"]="right",t}({});function Ro(t,e,i){return"top"===i?t.top-7:"bottom"===i?t.top+t.height-e.height+7:"center"===i?t.top+t.height/2-e.height/2:void 0}function Po(t,e,i){return"left"===i?t.left-7:"right"===i?t.left+t.width-e.width+7:"center"===i?t.left+t.width/2-e.width/2:void 0}class Zo{static calculateVerticalAlignment(t,e,i){let n=Ro(t,e,i);return n+e.height>window.innerHeight&&(n=window.innerHeight-e.height),n}static calculateVerticalCaret(t,e,i,n){let r;"top"===n&&(r=t.height/2-i.height/2+7),"bottom"===n&&(r=e.height-t.height/2-i.height/2-7),"center"===n&&(r=e.height/2-i.height/2);const s=Ro(t,e,n);return s+e.height>window.innerHeight&&(r+=s+e.height-window.innerHeight),r}static calculateHorizontalAlignment(t,e,i){let n=Po(t,e,i);return n+e.width>window.innerWidth&&(n=window.innerWidth-e.width),n}static calculateHorizontalCaret(t,e,i,n){let r;"left"===n&&(r=t.width/2-i.width/2+7),"right"===n&&(r=e.width-t.width/2-i.width/2-7),"center"===n&&(r=e.width/2-i.width/2);const s=Po(t,e,n);return s+e.width>window.innerWidth&&(r+=s+e.width-window.innerWidth),r}static shouldFlip(t,e,i,n){let r=!1;return"right"===i&&t.left+t.width+e.width+n>window.innerWidth&&(r=!0),"left"===i&&t.left-e.width-n<0&&(r=!0),"top"===i&&t.top-e.height-n<0&&(r=!0),"bottom"===i&&t.top+t.height+e.height+n>window.innerHeight&&(r=!0),r}static positionCaret(t,e,i,n,r){let s=0,o=0;return t===Do.right?(o=-7,s=Zo.calculateVerticalCaret(i,e,n,r)):t===Do.left?(o=e.width,s=Zo.calculateVerticalCaret(i,e,n,r)):t===Do.top?(s=e.height,o=Zo.calculateHorizontalCaret(i,e,n,r)):t===Do.bottom&&(s=-7,o=Zo.calculateHorizontalCaret(i,e,n,r)),{top:s,left:o}}static positionContent(t,e,i,n,r){let s=0,o=0;return t===Do.right?(o=i.left+i.width+n,s=Zo.calculateVerticalAlignment(i,e,r)):t===Do.left?(o=i.left-e.width-n,s=Zo.calculateVerticalAlignment(i,e,r)):t===Do.top?(s=i.top-e.height-n,o=Zo.calculateHorizontalAlignment(i,e,r)):t===Do.bottom&&(s=i.top+i.height+n,o=Zo.calculateHorizontalAlignment(i,e,r)),{top:s,left:o}}static determinePlacement(t,e,i,n){if(Zo.shouldFlip(i,e,t,n)){if(t===Do.right)return Do.left;if(t===Do.left)return Do.right;if(t===Do.top)return Do.bottom;if(t===Do.bottom)return Do.top}return t}}let Fo=(()=>{class t{constructor(t,e){this.element=t,this.renderer=e}get cssClasses(){let t="ngx-charts-tooltip-content";return t+=` position-${this.placement}`,t+=` type-${this.type}`,t+=` ${this.cssClass}`,t}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){const t=this.element.nativeElement,e=this.host.nativeElement.getBoundingClientRect();if(!e.height&&!e.width)return;const i=t.getBoundingClientRect();this.checkFlip(e,i),this.positionContent(t,e,i),this.showCaret&&this.positionCaret(e,i),setTimeout(()=>this.renderer.addClass(t,"animate"),1)}positionContent(t,e,i){const{top:n,left:r}=Zo.positionContent(this.placement,i,e,this.spacing,this.alignment);this.renderer.setStyle(t,"top",`${n}px`),this.renderer.setStyle(t,"left",`${r}px`)}positionCaret(t,e){const i=this.caretElm.nativeElement,n=i.getBoundingClientRect(),{top:r,left:s}=Zo.positionCaret(this.placement,e,t,n,this.alignment);this.renderer.setStyle(i,"top",`${r}px`),this.renderer.setStyle(i,"left",`${s}px`)}checkFlip(t,e){this.placement=Zo.determinePlacement(this.placement,e,t,this.spacing)}onWindowResize(){this.position()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.Qsj))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-tooltip-content"]],viewQuery:function(t,e){if(1&t&&n.Gf(Os,5),2&t){let t;n.iGM(t=n.CRH())&&(e.caretElm=t.first)}},hostVars:2,hostBindings:function(t,e){1&t&&n.NdJ("resize",function(){return e.onWindowResize()},!1,n.Jf7),2&t&&n.Tol(e.cssClasses)},inputs:{placement:"placement",host:"host",showCaret:"showCaret",type:"type",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[[3,"hidden"],["caretElm",""],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(t,e){1&t&&(n.TgZ(0,"div"),n._UZ(1,"span",0,1),n.TgZ(3,"div",2),n.YNc(4,Ps,2,4,"span",3),n.YNc(5,Zs,1,1,"span",4),n.qZA(),n.qZA()),2&t&&(n.xp6(1),n.Gre("tooltip-caret position-",e.placement,""),n.Q6J("hidden",!e.showCaret),n.xp6(3),n.Q6J("ngIf",!e.title),n.xp6(1),n.Q6J("ngIf",e.title))},directives:[r.O5,r.tP],styles:[".ngx-charts-tooltip-content{border-radius:3px;display:block;font-weight:400;opacity:0;pointer-events:none!important;position:fixed;z-index:5000}.ngx-charts-tooltip-content.type-popover{background:#fff;border:1px solid #72809b;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);color:#060709;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-bottom:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip{background:rgba(0,0,0,.75);color:#fff;font-size:12px;padding:0 10px;pointer-events:auto;text-align:center}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-bottom:7px solid rgba(0,0,0,.75);border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content .tooltip-label{display:block;font-size:1em;line-height:1em;padding:8px 5px 5px}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.position-right{transform:translate3d(10px,0,0)}.ngx-charts-tooltip-content.position-left{transform:translate3d(-10px,0,0)}.ngx-charts-tooltip-content.position-top{transform:translate3d(0,-10px,0)}.ngx-charts-tooltip-content.position-bottom{transform:translate3d(0,10px,0)}.ngx-charts-tooltip-content.animate{opacity:1;pointer-events:auto;transform:translateZ(0);transition:opacity .3s,transform .3s}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{line-height:1.2em;padding:5px 0;text-align:left}.tooltip-item .tooltip-item-color{border-radius:3px;color:#5b646b;display:inline-block;height:12px;margin-right:5px;width:12px}"],encapsulation:2}),function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);s>3&&o&&Object.defineProperty(e,i,o)}([(100,function(t,e,i){return{configurable:!0,enumerable:i.enumerable,get:function(){return Object.defineProperty(this,e,{configurable:!0,enumerable:i.enumerable,value:Oo(i.value,100,undefined)}),this[e]}}})],t.prototype,"onWindowResize",null),t})(),No=(()=>{class t extends class{constructor(t){this.injectionService=t,this.defaults={},this.components=new Map}getByType(t=this.type){return this.components.get(t)}create(t){return this.createByType(this.type,t)}createByType(t,e){e=this.assignDefaults(e);const i=this.injectComponent(t,e);return this.register(t,i),i}destroy(t){const e=this.components.get(t.componentType);if(e&&e.length){const i=e.indexOf(t);i>-1&&(e[i].destroy(),e.splice(i,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(t){const e=this.components.get(t);if(e&&e.length){let t=e.length-1;for(;t>=0;)this.destroy(e[t--])}}injectComponent(t,e){return this.injectionService.appendComponent(t,e)}assignDefaults(t){const e=Object.assign({},this.defaults.inputs),i=Object.assign({},this.defaults.outputs);return t.inputs||t.outputs||(t={inputs:t}),e&&(t.inputs=Object.assign(Object.assign({},e),t.inputs)),i&&(t.outputs=Object.assign(Object.assign({},i),t.outputs)),t}register(t,e){this.components.has(t)||this.components.set(t,[]),this.components.get(t).push(e)}}{constructor(t){super(t),this.type=Fo}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(Io))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),Bo=(()=>{class t{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new n.vpe,this.legendLabelActivate=new n.vpe,this.legendLabelDeactivate=new n.vpe}ngOnChanges(t){this.update()}update(){let t=0;this.showLegend&&(this.legendType=this.getLegendType(),this.legendOptions&&"right"!==this.legendOptions.position||(t="scaleLegend"===this.legendType?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-t)/12),this.legendWidth=this.legendOptions&&"right"!==this.legendOptions.position?this.chartWidth:Math.floor(this.view[0]*t/12)}getLegendType(){return"linear"===this.legendOptions.scaleType?"scaleLegend":"legend"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-chart"]],inputs:{showLegend:"showLegend",animations:"animations",legendType:"legendType",view:"view",legendOptions:"legendOptions",data:"data",legendData:"legendData",colors:"colors",activeEntries:"activeEntries"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[n._Bn([No]),n.TTD],ngContentSelectors:Bs,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.O4$(),n.TgZ(1,"svg",1),n.Hsn(2),n.qZA(),n.YNc(3,Fs,1,5,"ngx-charts-scale-legend",2),n.YNc(4,Ns,1,7,"ngx-charts-legend",3),n.qZA()),2&t&&(n.Udp("width",e.view[0],"px"),n.Q6J("@animationState","active")("@.disabled",!e.animations),n.xp6(1),n.uIk("width",e.chartWidth)("height",e.view[1]),n.xp6(2),n.Q6J("ngIf",e.showLegend&&"scaleLegend"===e.legendType),n.xp6(1),n.Q6J("ngIf",e.showLegend&&"legend"===e.legendType))},directives:function(){return[r.O5,ua,ca]},encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("500ms 100ms",(0,s.oB)({opacity:1}))])])]},changeDetection:0}),t})(),Uo=(()=>{class t{constructor(t,e){this.element=t,this.zone=e,this.visible=new n.vpe,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const t=()=>{if(!this.element)return;const{offsetHeight:e,offsetWidth:i}=this.element.nativeElement;e&&i?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>t(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>t())})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b))},t.\u0275dir=n.lG2({type:t,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),t})(),qo=(()=>{class t{constructor(t,e,i){this.chartElement=t,this.zone=e,this.cd=i,this.scheme="cool",this.schemeType="ordinal",this.animations=!0,this.select=new n.vpe}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new Uo(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(t){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const t=this.getContainerDims();t&&(this.width=t.width,this.height=t.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let t,e;const i=this.chartElement.nativeElement;if(null!==i.parentNode){const n=i.parentNode.getBoundingClientRect();t=n.width,e=n.height}return t&&e?{width:t,height:e}:null}formatDates(){for(let t=0;t{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=t}cloneData(t){const e=[];for(const i of t){const t={name:i.name};if(void 0!==i.value&&(t.value=i.value),void 0!==i.series){t.series=[];for(const e of i.series){const i=Object.assign({},e);t.series.push(i)}}void 0!==i.extra&&(t.extra=JSON.parse(JSON.stringify(i.extra))),e.push(t)}return e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(n.sBO))},t.\u0275cmp=n.Xpm({type:t,selectors:[["base-chart"]],inputs:{scheme:"scheme",schemeType:"schemeType",animations:"animations",results:"results",view:"view",customColors:"customColors"},outputs:{select:"select"},features:[n.TTD],decls:1,vars:0,template:function(t,e){1&t&&n._UZ(0,"div")},encapsulation:2}),t})(),zo=(()=>{class t{constructor(t){this.textHeight=25,this.margin=5,this.element=t.nativeElement}ngOnChanges(t){this.update()}update(){switch(this.strokeWidth="0.01",this.textAnchor="middle",this.transform="",this.orient){case"top":case"bottom":this.y=this.offset,this.x=this.width/2;break;case"left":this.y=-(this.offset+this.textHeight+this.margin),this.x=-this.height/2,this.transform="rotate(270)";break;case"right":this.y=this.offset+this.margin,this.x=-this.height/2,this.transform="rotate(270)"}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-axis-label",""]],inputs:{orient:"orient",label:"label",offset:"offset",width:"width",height:"height"},features:[n.TTD],attrs:Us,decls:2,vars:6,template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"text"),n._uU(1),n.qZA()),2&t&&(n.uIk("stroke-width",e.strokeWidth)("x",e.x)("y",e.y)("text-anchor",e.textAnchor)("transform",e.transform),n.xp6(1),n.hij(" ",e.label," "))},encapsulation:2,changeDetection:0}),t})();function Ho(t,e=16){return"string"!=typeof t?"number"==typeof t?t+"":"":(t=t.trim()).length<=e?t:`${t.slice(0,e)}...`}function Yo(t,e){if(t.length>e){const i=[],n=Math.floor(t.length/e);for(let e=0;e{class t{constructor(){this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.rotateTicks=!0,this.dimensionsChanged=new n.vpe,this.verticalSpacing=20,this.rotateLabels=!1,this.innerTickSize=6,this.outerTickSize=6,this.tickPadding=3,this.textAnchor="middle",this.maxTicksLength=0,this.maxAllowedLength=16,this.height=0}ngOnChanges(t){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){const t=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height,10);t!==this.height&&(this.height=t,this.dimensionsChanged.emit({height:t}),setTimeout(()=>this.updateDims()))}update(){const t=this.scale;this.ticks=this.getTicks(),this.tickFormat=this.tickFormatting?this.tickFormatting:t.tickFormat?t.tickFormat.apply(t,this.tickArguments):function(t){return"Date"===t.constructor.name?t.toLocaleDateString():t.toLocaleString()};const e=this.rotateTicks?this.getRotationAngle(this.ticks):null;this.adjustedScale=this.scale.bandwidth?function(t){return this.scale(t)+.5*this.scale.bandwidth()}:this.scale,this.textTransform="",e&&0!==e?(this.textTransform=`rotate(${e})`,this.textAnchor="end",this.verticalSpacing=10):this.textAnchor="middle",setTimeout(()=>this.updateDims())}getRotationAngle(t){let e=0;this.maxTicksLength=0;for(let s=0;sthis.maxTicksLength&&(this.maxTicksLength=i)}const i=8*Math.min(this.maxTicksLength,this.maxAllowedLength);let n=i;const r=Math.floor(this.width/t.length);for(;n>r&&e>-90;)e-=30,n=Math.cos(e*(Math.PI/180))*i;return e}getTicks(){let t;const e=this.getMaxTicks(20),i=this.getMaxTicks(100);return this.tickValues?t=this.tickValues:this.scale.ticks?t=this.scale.ticks.apply(this.scale,[i]):(t=this.scale.domain(),t=Yo(t,e)),t}getMaxTicks(t){return Math.floor(this.width/t)}tickTransform(t){return"translate("+this.adjustedScale(t)+","+this.verticalSpacing+")"}gridLineTransform(){return`translate(0,${-this.verticalSpacing-5})`}tickTrim(t){return this.trimTicks?Ho(t,this.maxTickLength):t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-x-axis-ticks",""]],viewQuery:function(t,e){if(1&t&&n.Gf(qs,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksElement=t.first)}},inputs:{tickArguments:"tickArguments",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",showGridLines:"showGridLines",rotateTicks:"rotateTicks",scale:"scale",orient:"orient",tickValues:"tickValues",tickFormatting:"tickFormatting",gridLineHeight:"gridLineHeight",width:"width"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:zs,decls:4,vars:2,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[4,"ngIf"],["y2","0",1,"gridline-path","gridline-path-vertical"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g",null,0),n.YNc(2,Hs,5,7,"g",1),n.qZA(),n.YNc(3,js,2,2,"g",2)),2&t&&(n.xp6(2),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngForOf",e.ticks))},directives:[r.sg,r.O5],encapsulation:2,changeDetection:0}),t})(),Go=(()=>{class t{constructor(){this.rotateTicks=!0,this.showGridLines=!1,this.xOrient="bottom",this.xAxisOffset=0,this.dimensionsChanged=new n.vpe,this.xAxisClassName="x axis",this.labelOffset=0,this.fill="none",this.stroke="stroke",this.tickStroke="#ccc",this.strokeWidth="none",this.padding=5}ngOnChanges(t){this.update()}update(){this.transform=`translate(0,${this.xAxisOffset+this.padding+this.dims.height})`,void 0!==this.xAxisTickCount&&(this.tickArguments=[this.xAxisTickCount])}emitTicksHeight({height:t}){const e=t+25+5;e!==this.labelOffset&&(this.labelOffset=e,setTimeout(()=>{this.dimensionsChanged.emit({height:t})},0))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-x-axis",""]],viewQuery:function(t,e){if(1&t&&n.Gf(jo,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksComponent=t.first)}},inputs:{rotateTicks:"rotateTicks",showGridLines:"showGridLines",xOrient:"xOrient",xAxisOffset:"xAxisOffset",xScale:"xScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showLabel:"showLabel",labelText:"labelText",ticks:"ticks",xAxisTickInterval:"xAxisTickInterval",xAxisTickCount:"xAxisTickCount"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:Gs,decls:3,vars:4,consts:[["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Vs,1,12,"g",0),n.YNc(2,Qs,1,5,"g",1),n.qZA()),2&t&&(n.uIk("class",e.xAxisClassName)("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.xScale),n.xp6(1),n.Q6J("ngIf",e.showLabel))},directives:[r.O5,jo,zo],encapsulation:2,changeDetection:0}),t})();function Vo(t,e,i,n,r,[s,o,a,l]){let c="";return c=`M${[t+r,e]}`,c+="h"+((i=0===(i=Math.floor(i))?1:i)-2*r),c+=o?`a${[r,r]} 0 0 1 ${[r,r]}`:`h${r}v${r}`,c+="v"+((n=0===(n=Math.floor(n))?1:n)-2*r),c+=l?`a${[r,r]} 0 0 1 ${[-r,r]}`:`v${r}h${-r}`,c+="h"+(2*r-i),c+=a?`a${[r,r]} 0 0 1 ${[-r,-r]}`:`h${-r}v${-r}`,c+="v"+(2*r-n),c+=s?`a${[r,r]} 0 0 1 ${[r,-r]}`:`v${-r}h${r}`,c+="z",c}let Qo=(()=>{class t{constructor(){this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.showRefLabels=!1,this.showRefLines=!1,this.dimensionsChanged=new n.vpe,this.innerTickSize=6,this.tickPadding=3,this.verticalSpacing=20,this.textAnchor="middle",this.width=0,this.outerTickSize=6,this.rotateLabels=!1,this.referenceLineLength=0}ngOnChanges(t){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){const t=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width,10);t!==this.width&&(this.width=t,this.dimensionsChanged.emit({width:t}),setTimeout(()=>this.updateDims()))}update(){let t;const e="top"===this.orient||"right"===this.orient?-1:1;switch(this.tickSpacing=Math.max(this.innerTickSize,0)+this.tickPadding,t=this.scale,this.ticks=this.getTicks(),this.tickFormat=this.tickFormatting?this.tickFormatting:t.tickFormat?t.tickFormat.apply(t,this.tickArguments):function(t){return"Date"===t.constructor.name?t.toLocaleDateString():t.toLocaleString()},this.adjustedScale=t.bandwidth?function(e){return t(e)+.5*t.bandwidth()}:t,this.showRefLines&&this.referenceLines&&this.setReferencelines(),this.orient){case"top":case"bottom":this.transform=function(t){return"translate("+this.adjustedScale(t)+",0)"},this.textAnchor="middle",this.y2=this.innerTickSize*e,this.y1=this.tickSpacing*e,this.dy=e<0?"0em":".71em";break;case"left":this.transform=function(t){return"translate(0,"+this.adjustedScale(t)+")"},this.textAnchor="end",this.x2=this.innerTickSize*-e,this.x1=this.tickSpacing*-e,this.dy=".32em";break;case"right":this.transform=function(t){return"translate(0,"+this.adjustedScale(t)+")"},this.textAnchor="start",this.x2=this.innerTickSize*-e,this.x1=this.tickSpacing*-e,this.dy=".32em"}setTimeout(()=>this.updateDims())}setReferencelines(){this.refMin=this.adjustedScale(Math.min.apply(null,this.referenceLines.map(t=>t.value))),this.refMax=this.adjustedScale(Math.max.apply(null,this.referenceLines.map(t=>t.value))),this.referenceLineLength=this.referenceLines.length,this.referenceAreaPath=Vo(0,this.refMax,this.gridLineWidth,this.refMin-this.refMax,0,[!1,!1,!1,!1])}getTicks(){let t;const e=this.getMaxTicks(20),i=this.getMaxTicks(50);return this.tickValues?t=this.tickValues:this.scale.ticks?t=this.scale.ticks.apply(this.scale,[i]):(t=this.scale.domain(),t=Yo(t,e)),t}getMaxTicks(t){return Math.floor(this.height/t)}tickTransform(t){return`translate(${this.adjustedScale(t)},${this.verticalSpacing})`}gridLineTransform(){return"translate(5,0)"}tickTrim(t){return this.trimTicks?Ho(t,this.maxTickLength):t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-y-axis-ticks",""]],viewQuery:function(t,e){if(1&t&&n.Gf(qs,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksElement=t.first)}},inputs:{tickArguments:"tickArguments",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",showGridLines:"showGridLines",showRefLabels:"showRefLabels",showRefLines:"showRefLines",scale:"scale",orient:"orient",tickValues:"tickValues",tickFormatting:"tickFormatting",gridLineWidth:"gridLineWidth",height:"height",referenceLines:"referenceLines"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:Ws,decls:6,vars:4,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],["class","reference-area",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[1,"reference-area"],[4,"ngIf"],["class","gridline-path gridline-path-horizontal","x1","0",4,"ngIf"],["x1","0",1,"gridline-path","gridline-path-horizontal"],["x1","0",1,"refline-path","gridline-path-horizontal"],[1,"refline-label"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g",null,0),n.YNc(2,Js,5,9,"g",1),n.qZA(),n.YNc(3,Xs,1,2,"path",2),n.YNc(4,eo,2,2,"g",3),n.YNc(5,ro,2,1,"g",3)),2&t&&(n.xp6(2),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngIf",e.referenceLineLength>1&&e.refMax&&e.refMin&&e.showRefLines),n.xp6(1),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngForOf",e.referenceLines))},directives:[r.sg,r.O5],encapsulation:2,changeDetection:0}),t})(),Wo=(()=>{class t{constructor(){this.showGridLines=!1,this.yOrient="left",this.yAxisOffset=0,this.dimensionsChanged=new n.vpe,this.yAxisClassName="y axis",this.labelOffset=15,this.fill="none",this.stroke="#CCC",this.tickStroke="#CCC",this.strokeWidth=1,this.padding=5}ngOnChanges(t){this.update()}update(){this.offset=-(this.yAxisOffset+this.padding),"right"===this.yOrient?(this.labelOffset=65,this.transform=`translate(${this.offset+this.dims.width} , 0)`):(this.offset=this.offset,this.transform=`translate(${this.offset} , 0)`),void 0!==this.yAxisTickCount&&(this.tickArguments=[this.yAxisTickCount])}emitTicksWidth({width:t}){t!==this.labelOffset&&"right"===this.yOrient?(this.labelOffset=t+this.labelOffset,setTimeout(()=>{this.dimensionsChanged.emit({width:t})},0)):t!==this.labelOffset&&(this.labelOffset=t,setTimeout(()=>{this.dimensionsChanged.emit({width:t})},0))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-y-axis",""]],viewQuery:function(t,e){if(1&t&&n.Gf(Qo,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksComponent=t.first)}},inputs:{showGridLines:"showGridLines",yOrient:"yOrient",yAxisOffset:"yAxisOffset",yScale:"yScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",ticks:"ticks",showLabel:"showLabel",labelText:"labelText",yAxisTickInterval:"yAxisTickInterval",yAxisTickCount:"yAxisTickCount",referenceLines:"referenceLines",showRefLines:"showRefLines",showRefLabels:"showRefLabels"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:so,decls:3,vars:4,consts:[["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,oo,1,14,"g",0),n.YNc(2,ao,1,5,"g",1),n.qZA()),2&t&&(n.uIk("class",e.yAxisClassName)("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.yScale),n.xp6(1),n.Q6J("ngIf",e.showLabel))},directives:[r.O5,Qo,zo],encapsulation:2,changeDetection:0}),t})(),Jo=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez]]}),t})();var Xo=function(t){return t[t.popover="popover"]="popover",t[t.tooltip="tooltip"]="tooltip",t}({}),Ko=function(t){return t[t.left="left"]="left",t[t.center="center"]="center",t[t.right="right"]="right",t}({}),$o=function(t){return t[t.all="all"]="all",t[t.focus="focus"]="focus",t[t.mouseover="mouseover"]="mouseover",t}({});let ta=(()=>{class t{constructor(t,e,i){this.tooltipService=t,this.viewContainerRef=e,this.renderer=i,this.tooltipCssClass="",this.tooltipTitle="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Do.top,this.tooltipAlignment=Ko.center,this.tooltipType=Xo.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=$o.all,this.tooltipImmediateExit=!1,this.show=new n.vpe,this.hide=new n.vpe}get listensForFocus(){return this.tooltipShowEvent===$o.all||this.tooltipShowEvent===$o.focus}get listensForHover(){return this.tooltipShowEvent===$o.all||this.tooltipShowEvent===$o.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(t){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(t))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(t){if(this.component||this.tooltipDisabled)return;const e=t?0:this.tooltipShowTimeout;clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const t=this.createBoundOptions();this.component=this.tooltipService.create(t),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},e)}addHideListeners(t){this.mouseEnterContentEvent=this.renderer.listen(t,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(t,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen(document,"click",e=>{t.contains(e.target)||this.hideTooltip()}))}hideTooltip(t=!1){if(!this.component)return;const e=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),t?e():this.timeout=setTimeout(e,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(No),n.Y36(n.s_b),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngx-tooltip",""]],hostBindings:function(t,e){1&t&&n.NdJ("focusin",function(){return e.onFocus()})("blur",function(){return e.onBlur()})("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(t){return e.onMouseLeave(t.target)})("click",function(){return e.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipShowEvent:"tooltipShowEvent",tooltipImmediateExit:"tooltipImmediateExit",tooltipTemplate:"tooltipTemplate",tooltipContext:"tooltipContext"},outputs:{show:"show",hide:"hide"}}),t})(),ea=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[Io,No],imports:[[r.ez]]}),t})();function ia(t){return t instanceof Date?t.toLocaleDateString():t.toLocaleString()}const na={};function ra(){let t=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4);return t=`a${t}`,na[t]?ra():(na[t]=!0,t)}let sa,oa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-grid-panel",""]],inputs:{path:"path",width:"width",height:"height",x:"x",y:"y"},attrs:lo,decls:1,vars:4,consts:[["stroke","none",1,"gridpanel"]],template:function(t,e){1&t&&(n.O4$(),n._UZ(0,"rect",0)),2&t&&n.uIk("height",e.height)("width",e.width)("x",e.x)("y",e.y)},encapsulation:2,changeDetection:0}),t})(),aa=(()=>{class t{ngOnChanges(t){this.update()}update(){this.gridPanels=this.getGridPanels()}getGridPanels(){return this.data.map(t=>{let e,i,n,r,s,o="odd";if("vertical"===this.orient){const a=this.xScale(t.name);Number.parseInt((a/this.xScale.step()).toString(),10)%2==1&&(o="even"),e=this.xScale.bandwidth()*this.xScale.paddingInner(),i=this.xScale.bandwidth()+e,n=this.dims.height,r=this.xScale(t.name)-e/2,s=0}else if("horizontal"===this.orient){const a=this.yScale(t.name);Number.parseInt((a/this.yScale.step()).toString(),10)%2==1&&(o="even"),e=this.yScale.bandwidth()*this.yScale.paddingInner(),i=this.dims.width,n=this.yScale.bandwidth()+e,r=0,s=this.yScale(t.name)-e/2}return{name:t.name,class:o,height:n,width:i,x:r,y:s}})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-grid-panel-series",""]],inputs:{data:"data",dims:"dims",xScale:"xScale",yScale:"yScale",orient:"orient"},features:[n.TTD],attrs:co,decls:1,vars:1,consts:[["ngx-charts-grid-panel","",3,"height","width","x","y","grid-panel","odd","even",4,"ngFor","ngForOf"],["ngx-charts-grid-panel","",3,"height","width","x","y"]],template:function(t,e){1&t&&n.YNc(0,ho,1,10,"g",0),2&t&&n.Q6J("ngForOf",e.gridPanels)},directives:[r.sg,oa],encapsulation:2,changeDetection:0}),t})(),la=(()=>{class t{constructor(){this.orientation="vertical"}ngOnChanges(t){this.x1="0%",this.x2="0%",this.y1="0%",this.y2="0%","horizontal"===this.orientation?this.x2="100%":"vertical"===this.orientation&&(this.y1="100%")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-svg-linear-gradient",""]],inputs:{orientation:"orientation",name:"name",stops:"stops"},features:[n.TTD],attrs:uo,decls:2,vars:6,consts:[[3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"linearGradient",0),n.YNc(1,fo,1,5,"stop",1),n.qZA()),2&t&&(n.Q6J("id",e.name),n.uIk("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2),n.xp6(1),n.Q6J("ngForOf",e.stops))},directives:[r.sg],encapsulation:2,changeDetection:0}),t})();"undefined"!=typeof window?sa=window:"undefined"!=typeof global&&(sa=global);let ca=(()=>{class t{constructor(t){this.cd=t,this.horizontal=!1,this.labelClick=new n.vpe,this.labelActivate=new n.vpe,this.labelDeactivate=new n.vpe,this.legendEntries=[]}ngOnChanges(t){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const t=[];for(const e of this.data){const i=ia(e);-1===t.findIndex(t=>t.label===i)&&t.push({label:e,formattedLabel:i,color:this.colors.getColor(e)})}return t}isActive(t){return!!this.activeEntries&&void 0!==this.activeEntries.find(e=>t.label===e.name)}activate(t){this.labelActivate.emit(t)}deactivate(t){this.labelDeactivate.emit(t)}trackBy(t,e){return e.label}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-legend"]],inputs:{horizontal:"horizontal",data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[n.TTD],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"label","formattedLabel","color","isActive","select","activate","deactivate"]],template:function(t,e){1&t&&(n.TgZ(0,"div"),n.YNc(1,po,3,1,"header",0),n.TgZ(2,"div",1),n.TgZ(3,"ul",2),n.YNc(4,mo,2,4,"li",3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("width",e.width,"px"),n.xp6(1),n.Q6J("ngIf",(null==e.title?null:e.title.length)>0),n.xp6(2),n.Udp("max-height",e.height-45,"px"),n.ekj("horizontal-legend",e.horizontal),n.xp6(1),n.Q6J("ngForOf",e.legendEntries)("ngForTrackBy",e.trackBy))},directives:function(){return[r.O5,r.sg,ha]},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{font-size:14px;font-weight:700;margin-bottom:5px;margin-left:10px;overflow:hidden;white-space:nowrap}.chart-legend li,.chart-legend ul{list-style:none;margin:0;padding:0}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{background:rgba(0,0,0,.05);border-radius:3px;float:left;line-height:85%;list-style:none;overflow-x:hidden;overflow-y:auto;text-align:left;white-space:nowrap;width:100%}.chart-legend .legend-label{color:#afb7c8;cursor:pointer;font-size:90%;margin:8px}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{border-radius:3px;color:#5b646b;display:inline-block;height:15px;margin-right:5px;width:15px}.chart-legend .legend-label-text{font-size:12px;line-height:15px;vertical-align:top;width:calc(100% - 20px)}.chart-legend .legend-label-text,.chart-legend .legend-title-text{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend .legend-title-text{line-height:16px;vertical-align:bottom}"],encapsulation:2,changeDetection:0}),t})(),ha=(()=>{class t{constructor(){this.isActive=!1,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.toggle=new n.vpe}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(t,e){1&t&&n.NdJ("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(){return e.onMouseLeave()})},inputs:{isActive:"isActive",color:"color",label:"label",formattedLabel:"formattedLabel"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"title","click"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(t,e){1&t&&(n.TgZ(0,"span",0),n.NdJ("click",function(){return e.select.emit(e.formattedLabel)}),n.TgZ(1,"span",1),n.NdJ("click",function(){return e.toggle.emit(e.formattedLabel)}),n.qZA(),n.TgZ(2,"span",2),n._uU(3),n.qZA(),n.qZA()),2&t&&(n.ekj("active",e.isActive),n.Q6J("title",e.formattedLabel),n.xp6(1),n.Udp("background-color",e.color),n.xp6(2),n.hij(" ",e.trimmedLabel," "))},encapsulation:2,changeDetection:0}),t})(),ua=(()=>{class t{constructor(t){this.sanitizer=t,this.horizontal=!1}ngOnChanges(t){const e=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=this.sanitizer.bypassSecurityTrustStyle(`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${e})`)}gradientString(t,e){e.push(1);const i=[];return t.reverse().forEach((t,n)=>{i.push(`${t} ${Math.round(100*e[n])}%`)}),i.join(", ")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Is.H7))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-scale-legend"]],inputs:{horizontal:"horizontal",valueRange:"valueRange",colors:"colors",height:"height",width:"width"},features:[n.TTD],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n._UZ(4,"div",2),n.TgZ(5,"div",1),n.TgZ(6,"span"),n._uU(7),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("height",e.horizontal?void 0:e.height,"px")("width",e.width,"px"),n.ekj("horizontal-legend",e.horizontal),n.xp6(3),n.Oqu(e.valueRange[1].toLocaleString()),n.xp6(1),n.Udp("background",e.gradient),n.xp6(3),n.Oqu(e.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{display:flex;flex-direction:column;text-align:center}.chart-legend .scale-legend-wrap{border-radius:5px;display:inline-block;flex:1;margin:0 auto;width:30px}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{height:30px;margin:0 16px;width:auto}"],encapsulation:2,changeDetection:0}),t})(),da=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez,Jo,ea],r.ez,Jo,ea]}),t})();function fa({width:t,height:e,margins:i,showXAxis:n=!1,showYAxis:r=!1,xAxisHeight:s=0,yAxisWidth:o=0,showXLabel:a=!1,showYLabel:l=!1,showLegend:c=!1,legendType:h="ordinal",legendPosition:u="right",columns:d=12}){let f=i[3],p=t,m=e-i[0]-i[2];if(c&&"right"===u&&(d-="ordinal"===h?2:1),p=p*d/12,p=p-i[1]-i[3],n&&(m-=5,m-=s,a)&&(m-=30),r&&(p-=5,p-=o,f+=o,f+=10,l)){const t=30;p-=t,f+=t}return p=Math.max(0,p),m=Math.max(0,m),{width:Math.floor(p),height:Math.floor(m),xOffset:Math.floor(f)}}let pa=[{name:"vivid",selectable:!0,group:"Ordinal",domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:"Ordinal",domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:"Ordinal",domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:"Ordinal",domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:"Continuous",domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:"Continuous",domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:"Continuous",domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:"Ordinal",domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:"Ordinal",domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:"Ordinal",domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:"Ordinal",domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:"Ordinal",domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:"Ordinal",domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:"Ordinal",domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:"Ordinal",domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class ma{constructor(t,e,i,n){"string"==typeof t&&(t=pa.find(e=>e.name===t)),this.colorDomain=t.domain,this.scaleType=e,this.domain=i,this.customColors=n,this.scale=this.generateColorScheme(t,e,this.domain)}generateColorScheme(t,e,i){let n;if("string"==typeof t&&(t=pa.find(e=>e.name===t)),"quantile"===e)n=us().range(t.domain).domain(i);else if("ordinal"===e)n=ls().range(t.domain).domain(i);else if("linear"===e){const e=[...t.domain];1===e.length&&(e.push(e[0]),this.colorDomain=e);const i=os(0,1,1/e.length);n=ss().domain(i).range(e)}return n}getColor(t){if(null==t)throw new Error("Value can not be null");if("linear"===this.scaleType){const e=ss().domain(this.domain).range([0,1]);return this.scale(e(t))}{if("function"==typeof this.customColors)return this.customColors(t);const e=t.toString();let i;return this.customColors&&this.customColors.length>0&&(i=this.customColors.find(t=>t.name.toLowerCase()===e.toLowerCase())),i?i.value:this.scale(t)}}getLinearGradientStops(t,e){void 0===e&&(e=this.domain[0]);const i=ss().domain(this.domain).range([0,1]),n=cs().domain(this.colorDomain).range([0,1]),r=this.getColor(t),s=i(e),o=this.getColor(e),a=i(t);let l=1,c=s;const h=[];for(h.push({color:o,offset:s,originalOffset:s,opacity:1});c=(a-n.bandwidth()).toFixed(4))break;h.push({color:t,offset:e,opacity:1}),c=e,l++}}if(h[h.length-1].offset<100&&h.push({color:r,offset:a,opacity:1}),a===s)h[0].offset=0,h[1].offset=100;else if(100!==h[h.length-1].offset)for(const u of h)u.offset=(u.offset-s)/(a-s)*100;return h}}let ga=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),ya=(()=>{class t{constructor(t){this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.hasGradient=!1,this.hideBar=!1,this.element=t.nativeElement}ngOnChanges(t){t.roundEdges&&this.loadAnimation(),this.update()}update(){this.gradientId="grad"+ra().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl(),this.checkToHideBar()}loadAnimation(){this.path=this.getStartingPath(),setTimeout(this.update.bind(this),100)}updatePathEl(){const t=function(t){return"string"==typeof t?new gt([[document.querySelector(t)]],[document.documentElement]):new gt([[t]],mt)}(this.element).select(".bar"),e=this.getPath();this.animations?t.transition().duration(500).attr("d",e):t.attr("d",e)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartingPath(){if(!this.animations)return this.getPath();let t,e=this.getRadius();return this.roundEdges?"vertical"===this.orientation?(e=Math.min(this.height,e),t=Vo(this.x,this.y+this.height,this.width,1,0,this.edges)):"horizontal"===this.orientation&&(e=Math.min(this.width,e),t=Vo(this.x,this.y,1,this.height,0,this.edges)):"vertical"===this.orientation?t=Vo(this.x,this.y+this.height,this.width,1,0,this.edges):"horizontal"===this.orientation&&(t=Vo(this.x,this.y,1,this.height,0,this.edges)),t}getPath(){let t,e=this.getRadius();return this.roundEdges?"vertical"===this.orientation?(e=Math.min(this.height,e),t=Vo(this.x,this.y,this.width,this.height,e,this.edges)):"horizontal"===this.orientation&&(e=Math.min(this.width,e),t=Vo(this.x,this.y,this.width,this.height,e,this.edges)):t=Vo(this.x,this.y,this.width,this.height,e,this.edges),t}getRadius(){let t=0;return this.roundEdges&&this.height>5&&this.width>5&&(t=Math.floor(Math.min(5,this.height/2,this.width/2))),t}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let t=[!1,!1,!1,!1];return this.roundEdges&&("vertical"===this.orientation?t=this.data.value>0?[!0,!0,!1,!1]:[!1,!1,!0,!0]:"horizontal"===this.orientation&&(t=this.data.value>0?[!1,!0,!1,!0]:[!0,!1,!0,!1])),t}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&("vertical"===this.orientation&&0===this.height||"horizontal"===this.orientation&&0===this.width)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-bar",""]],hostBindings:function(t,e){1&t&&n.NdJ("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(){return e.onMouseLeave()})},inputs:{roundEdges:"roundEdges",gradient:"gradient",offset:"offset",isActive:"isActive",animations:"animations",noBarWhenZero:"noBarWhenZero",fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",orientation:"orientation",stops:"stops",ariaLabel:"ariaLabel"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[n.TTD],attrs:vo,decls:2,vars:8,consts:[[4,"ngIf"],["stroke","none","role","img","tabIndex","-1",1,"bar",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(t,e){1&t&&(n.YNc(0,_o,2,3,"defs",0),n.O4$(),n.TgZ(1,"path",1),n.NdJ("click",function(){return e.select.emit(e.data)}),n.qZA()),2&t&&(n.Q6J("ngIf",e.hasGradient),n.xp6(1),n.ekj("active",e.isActive)("hidden",e.hideBar),n.uIk("d",e.path)("aria-label",e.ariaLabel)("fill",e.hasGradient?e.gradientFill:e.fill))},directives:[r.O5,la],encapsulation:2,changeDetection:0}),t})(),ba=(()=>{class t extends qo{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition="right",this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new n.vpe,this.deactivate=new n.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fa({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getXScale(){this.xDomain=this.getXDomain();const t=this.xDomain.length/(this.dims.width/this.barPadding+1);return cs().range([0,this.dims.width]).paddingInner(t).domain(this.xDomain)}getYScale(){this.yDomain=this.getYDomain();const t=ss().range([this.dims.height,0]).domain(this.yDomain);return this.roundDomains?t.nice():t}getXDomain(){return this.results.map(t=>t.label)}getYDomain(){const t=this.results.map(t=>t.value);let e=this.yScaleMin?Math.min(this.yScaleMin,...t):Math.min(0,...t);this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(e=Math.min(e,...this.yAxisTicks));let i=this.yScaleMax?Math.max(this.yScaleMax,...t):Math.max(0,...t);return this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(i=Math.max(i,...this.yAxisTicks)),[e,i]}onClick(t){this.select.emit(t)}setColors(){let t;t="ordinal"===this.schemeType?this.xDomain:this.yDomain,this.colors=new ma(this.scheme,this.schemeType,t,this.customColors)}getLegendOptions(){const t={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===t.scaleType?(t.domain=this.xDomain,t.colors=this.colors,t.title=this.legendTitle):(t.domain=this.yDomain,t.colors=this.colors.scale),t}updateYAxisWidth({width:t}){this.yAxisWidth=t,this.update()}updateXAxisHeight({height:t}){this.xAxisHeight=t,this.update()}onDataLabelMaxHeightChanged(t){t.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,t.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,t.size.height),t.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(t,e=!1){t=this.results.find(i=>e?i.label===t.name:i.name===t.name),this.activeEntries.findIndex(e=>e.name===t.name&&e.value===t.value&&e.series===t.series)>-1||(this.activeEntries=[t,...this.activeEntries],this.activate.emit({value:t,entries:this.activeEntries}))}onDeactivate(t,e=!1){t=this.results.find(i=>e?i.label===t.name:i.name===t.name);const i=this.activeEntries.findIndex(e=>e.name===t.name&&e.value===t.value&&e.series===t.series);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:t,entries:this.activeEntries})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-bar-vertical"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,go,5),2&t){let t;n.iGM(t=n.CRH())&&(e.tooltipTemplate=t.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",tooltipDisabled:"tooltipDisabled",showGridLines:"showGridLines",activeEntries:"activeEntries",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",schemeType:"schemeType",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",yScaleMax:"yScaleMax",yScaleMin:"yScaleMin",dataLabelFormatting:"dataLabelFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[n.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","activeEntries","roundEdges","animations","noBarWhenZero","activate","deactivate","select","dataLabelHeightChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(t,e){1&t&&(n.TgZ(0,"ngx-charts-chart",0),n.NdJ("legendLabelClick",function(t){return e.onClick(t)})("legendLabelActivate",function(t){return e.onActivate(t,!0)})("legendLabelDeactivate",function(t){return e.onDeactivate(t,!0)}),n.O4$(),n.TgZ(1,"g",1),n.YNc(2,wo,1,10,"g",2),n.YNc(3,xo,1,9,"g",3),n.TgZ(4,"g",4),n.NdJ("activate",function(t){return e.onActivate(t)})("deactivate",function(t){return e.onDeactivate(t)})("select",function(t){return e.onClick(t)})("dataLabelHeightChanged",function(t){return e.onDataLabelMaxHeightChanged(t)}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("view",n.WLB(22,yo,e.width,e.height))("showLegend",e.legend)("legendOptions",e.legendOptions)("activeEntries",e.activeEntries)("animations",e.animations),n.xp6(1),n.uIk("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.xAxis),n.xp6(1),n.Q6J("ngIf",e.yAxis),n.xp6(1),n.Q6J("xScale",e.xScale)("yScale",e.yScale)("colors",e.colors)("series",e.results)("dims",e.dims)("gradient",e.gradient)("tooltipDisabled",e.tooltipDisabled)("tooltipTemplate",e.tooltipTemplate)("showDataLabel",e.showDataLabel)("dataLabelFormatting",e.dataLabelFormatting)("activeEntries",e.activeEntries)("roundEdges",e.roundEdges)("animations",e.animations)("noBarWhenZero",e.noBarWhenZero))},directives:function(){return[Bo,r.O5,wa,Go,Wo]},styles:[bo],encapsulation:2,changeDetection:0}),t})(),va=(()=>{class t extends qo{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition="right",this.tooltipDisabled=!1,this.scaleType="ordinal",this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new n.vpe,this.deactivate=new n.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fa({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valuesDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}onDataLabelMaxHeightChanged(t,e){t.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,t.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,t.size.height),e===this.results.length-1&&setTimeout(()=>this.update())}getGroupScale(){const t=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return cs().rangeRound([0,this.dims.width]).paddingInner(t).paddingOuter(t/2).domain(this.groupDomain)}getInnerScale(){const t=this.groupScale.bandwidth(),e=this.innerDomain.length/(t/this.barPadding+1);return cs().rangeRound([0,t]).paddingInner(e).domain(this.innerDomain)}getValueScale(){const t=ss().range([this.dims.height,0]).domain(this.valuesDomain);return this.roundDomains?t.nice():t}getGroupDomain(){const t=[];for(const e of this.results)t.includes(e.label)||t.push(e.label);return t}getInnerDomain(){const t=[];for(const e of this.results)for(const i of e.series)t.includes(i.label)||t.push(i.label);return t}getValueDomain(){const t=[];for(const e of this.results)for(const i of e.series)t.includes(i.value)||t.push(i.value);return[Math.min(0,...t),this.yScaleMax?Math.max(this.yScaleMax,...t):Math.max(0,...t)]}groupTransform(t){return`translate(${this.groupScale(t.label)}, 0)`}onClick(t,e){e&&(t.series=e.name),this.select.emit(t)}trackBy(t,e){return e.name}setColors(){let t;t="ordinal"===this.schemeType?this.innerDomain:this.valuesDomain,this.colors=new ma(this.scheme,this.schemeType,t,this.customColors)}getLegendOptions(){const t={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===t.scaleType?(t.domain=this.innerDomain,t.colors=this.colors,t.title=this.legendTitle):(t.domain=this.valuesDomain,t.colors=this.colors.scale),t}updateYAxisWidth({width:t}){this.yAxisWidth=t,this.update()}updateXAxisHeight({height:t}){this.xAxisHeight=t,this.update()}onActivate(t,e,i=!1){const n=Object.assign({},t);e&&(n.series=e.name);const r=this.results.map(t=>t.series).flat().filter(t=>i?t.label===n.name:t.name===n.name&&t.series===n.series);this.activeEntries=[...r],this.activate.emit({value:n,entries:this.activeEntries})}onDeactivate(t,e,i=!1){const n=Object.assign({},t);e&&(n.series=e.name),this.activeEntries=this.activeEntries.filter(t=>i?t.label!==n.name:!(t.name===n.name&&t.series===n.series)),this.deactivate.emit({value:n,entries:this.activeEntries})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-bar-vertical-2d"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,go,5),2&t){let t;n.iGM(t=n.CRH())&&(e.tooltipTemplate=t.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",tooltipDisabled:"tooltipDisabled",scaleType:"scaleType",showGridLines:"showGridLines",activeEntries:"activeEntries",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",schemeType:"schemeType",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",yScaleMax:"yScaleMax",dataLabelFormatting:"dataLabelFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[n.qOj],decls:6,vars:17,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","","orient","vertical",3,"xScale","yScale","data","dims"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(t,e){1&t&&(n.TgZ(0,"ngx-charts-chart",0),n.NdJ("legendLabelActivate",function(t){return e.onActivate(t,void 0,!0)})("legendLabelDeactivate",function(t){return e.onDeactivate(t,void 0,!0)})("legendLabelClick",function(t){return e.onClick(t)}),n.O4$(),n.TgZ(1,"g",1),n._UZ(2,"g",2),n.YNc(3,Co,1,10,"g",3),n.YNc(4,Ao,1,9,"g",4),n.YNc(5,So,1,17,"g",5),n.qZA(),n.qZA()),2&t&&(n.Q6J("view",n.WLB(14,yo,e.width,e.height))("showLegend",e.legend)("legendOptions",e.legendOptions)("activeEntries",e.activeEntries)("animations",e.animations),n.xp6(1),n.uIk("transform",e.transform),n.xp6(1),n.Q6J("xScale",e.groupScale)("yScale",e.valueScale)("data",e.results)("dims",e.dims),n.xp6(1),n.Q6J("ngIf",e.xAxis),n.xp6(1),n.Q6J("ngIf",e.yAxis),n.xp6(1),n.Q6J("ngForOf",e.results)("ngForTrackBy",e.trackBy))},directives:function(){return[Bo,aa,r.O5,r.sg,Go,Wo,wa]},styles:[bo],encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":leave",[(0,s.oB)({opacity:1,transform:"*"}),(0,s.jt)(500,(0,s.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0}),t})();var _a=function(t){return t.positive="positive",t.negative="negative",t}({});let wa=(()=>{class t{constructor(){this.type="standard",this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.dataLabelHeightChanged=new n.vpe,this.barsForDataLabels=[]}ngOnChanges(t){this.update()}update(){let t;this.updateTooltipSettings(),this.series.length&&(t=this.xScale.bandwidth()),t=Math.round(t);const e=Math.max(this.yScale.domain()[0],0),i={[_a.positive]:0,[_a.negative]:0};let n,r=_a.positive;"normalized"===this.type&&(n=this.series.map(t=>t.value).reduce((t,e)=>t+e,0)),this.bars=this.series.map((s,o)=>{let a=s.value;const l=this.getLabel(s),c=ia(l);r=a>0?_a.positive:_a.negative;const h={value:a,label:l,roundEdges:this.roundEdges,data:s,width:t,formattedLabel:c,height:0,x:0,y:0};if("standard"===this.type)h.height=Math.abs(this.yScale(a)-this.yScale(e)),h.x=this.xScale(l),h.y=this.yScale(a<0?0:a);else if("stacked"===this.type){const t=i[r],e=t+a;i[r]+=a,h.height=this.yScale(t)-this.yScale(e),h.x=0,h.y=this.yScale(e),h.offset0=t,h.offset1=e}else if("normalized"===this.type){let t=i[r],e=t+a;i[r]+=a,n>0?(t=100*t/n,e=100*e/n):(t=0,e=0),h.height=this.yScale(t)-this.yScale(e),h.x=0,h.y=this.yScale(e),h.offset0=t,h.offset1=e,a=(e-t).toFixed(2)+"%"}"ordinal"===this.colors.scaleType?h.color=this.colors.getColor(l):"standard"===this.type?(h.color=this.colors.getColor(a),h.gradientStops=this.colors.getLinearGradientStops(a)):(h.color=this.colors.getColor(h.offset1),h.gradientStops=this.colors.getLinearGradientStops(h.offset1,h.offset0));let u=c;return h.ariaLabel=c+" "+a.toLocaleString(),this.seriesName&&(u=`${this.seriesName} \u2022 ${c}`,h.data.series=this.seriesName,h.ariaLabel=this.seriesName+" "+h.ariaLabel),h.tooltipText=this.tooltipDisabled?void 0:`\n ${function(t){return t.toLocaleString().replace(/[&'`"<>]/g,t=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[t]))}(u)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(a):a.toLocaleString()}\n `,h}),this.updateDataLabels()}updateDataLabels(){if("stacked"===this.type){this.barsForDataLabels=[];const t={};t.series=this.seriesName;const e=this.series.map(t=>t.value).reduce((t,e)=>e>0?t+e:t,0),i=this.series.map(t=>t.value).reduce((t,e)=>e<0?t+e:t,0);t.total=e+i,t.x=0,t.y=0,t.height=this.yScale(t.total>0?e:i),t.width=this.xScale.bandwidth(),this.barsForDataLabels.push(t)}else this.barsForDataLabels=this.series.map(t=>{const e={};return e.series=this.seriesName?this.seriesName:t.label,e.total=t.value,e.x=this.xScale(t.label),e.y=this.yScale(0),e.height=this.yScale(e.total)-this.yScale(0),e.width=this.xScale.bandwidth(),e})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:"top",this.tooltipType=this.tooltipDisabled?void 0:"tooltip"}isActive(t){return!!this.activeEntries&&void 0!==this.activeEntries.find(e=>t.name===e.name&&t.series===e.series)}onClick(t){this.select.emit(t)}getLabel(t){return t.label?t.label:t.name}trackBy(t,e){return e.label}trackDataLabelBy(t,e){return t+"#"+e.series+"#"+e.total}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-series-vertical",""]],inputs:{type:"type",tooltipDisabled:"tooltipDisabled",animations:"animations",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",dims:"dims",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",dataLabelFormatting:"dataLabelFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelHeightChanged:"dataLabelHeightChanged"},features:[n.TTD],attrs:ko,decls:2,vars:3,consts:[["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(t,e){1&t&&(n.YNc(0,Mo,1,22,"g",0),n.YNc(1,To,2,2,"g",1)),2&t&&(n.Q6J("ngForOf",e.bars)("ngForTrackBy",e.trackBy),n.xp6(1),n.Q6J("ngIf",e.showDataLabel))},directives:function(){return[r.sg,r.O5,ya,ta,xa]},encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)(500,(0,s.oB)({opacity:0}))])])]},changeDetection:0}),t})(),xa=(()=>{class t{constructor(t){this.dimensionsChanged=new n.vpe,this.horizontalPadding=2,this.verticalPadding=5,this.element=t.nativeElement}ngOnChanges(t){this.update()}getSize(){return{height:this.element.getBoundingClientRect().height,width:this.element.getBoundingClientRect().width,negative:this.value<0}}ngAfterViewInit(){this.dimensionsChanged.emit(this.getSize())}update(){this.formatedValue=this.valueFormatting?this.valueFormatting(this.value):ia(this.value),"horizontal"===this.orientation?(this.x=this.barX+this.barWidth,this.value<0?(this.x=this.x-this.horizontalPadding,this.textAnchor="end"):(this.x=this.x+this.horizontalPadding,this.textAnchor="start"),this.y=this.barY+this.barHeight/2):(this.x=this.barX+this.barWidth/2,this.y=this.barY+this.barHeight,this.value<0?(this.y=this.y+this.verticalPadding,this.textAnchor="end"):(this.y=this.y-this.verticalPadding,this.textAnchor="start"),this.transform=`rotate(-45, ${this.x} , ${this.y})`)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-bar-label",""]],inputs:{value:"value",valueFormatting:"valueFormatting",barX:"barX",barY:"barY",barWidth:"barWidth",barHeight:"barHeight",orientation:"orientation"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:Lo,decls:2,vars:5,consts:[["alignment-baseline","middle",1,"textDataLabel"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"text",0),n._uU(1),n.qZA()),2&t&&(n.uIk("text-anchor",e.textAnchor)("transform",e.transform)("x",e.x)("y",e.y),n.xp6(1),n.hij(" ",e.formatedValue," "))},styles:[".textDataLabel[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0}),t})(),Ca=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Aa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Sa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),ka=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})();Math;let Ma=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Ea=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da,Ma,ka]]}),t})(),Ta=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),La=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Ia=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da,Ma,Ca]]}),t})(),Oa=(()=>{class t{constructor(){"undefined"!=typeof SVGElement&&void 0===SVGElement.prototype.contains&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[da,ga,Ca,Aa,Sa,ka,Ea,Ta,Ma,La,Ia]}),t})()},3600:(t,e,i)=>{"use strict";i.d(e,{V:()=>o,N:()=>a});var n=i(9176),r=i(1572);const s=["qrcElement"];let o=(()=>{class t{constructor(t){this.renderer=t,this.colordark="",this.colorlight="",this.level="",this.hidetitle=!1,this.size=0,this.usesvg=!1,this.allowEmptyString=!1,this.qrdata="",this.colorDark="#000000ff",this.colorLight="#ffffffff",this.cssClass="qrcode",this.elementType="canvas",this.errorCorrectionLevel="M",this.margin=4,this.scale=4,this.width=10,""!==this.colordark&&console.warn("[angularx-qrcode] colordark is deprecated, use colorDark."),""!==this.colorlight&&console.warn("[angularx-qrcode] colorlight is deprecated, use colorLight."),""!==this.level&&console.warn("[angularx-qrcode] level is deprecated, use errorCorrectionLevel."),!1!==this.hidetitle&&console.warn("[angularx-qrcode] hidetitle is deprecated."),0!==this.size&&console.warn("[angularx-qrcode] size is deprecated, use `width`. Defaults to 10."),!1!==this.usesvg&&console.warn("[angularx-qrcode] usesvg is deprecated, use [elementType]=\"'svg'\".")}ngOnChanges(){this.createQRCode()}isValidQrCodeText(t){return!1===this.allowEmptyString?!(void 0===t||""===t||"null"===t||null===t):!(void 0===t)}toDataURL(){return new Promise((t,e)=>{(0,n.hz)(this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,version:this.version,width:this.width},(i,n)=>{i?e(i):t(n)})})}toCanvas(t){return new Promise((e,i)=>{(0,n.rT)(t,this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,version:this.version,width:this.width},t=>{t?i(t):e("success")})})}toSVG(){return new Promise((t,e)=>{(0,n.toString)(this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,type:"svg",version:this.version,width:this.width},(i,n)=>{i?e(i):t(n)})})}renderElement(t){for(const e of this.qrcElement.nativeElement.childNodes)this.renderer.removeChild(this.qrcElement.nativeElement,e);this.renderer.appendChild(this.qrcElement.nativeElement,t)}createQRCode(){this.version&&this.version>40?(console.warn("[angularx-qrcode] max value for `version` is 40"),this.version=40):this.version&&this.version<1?(console.warn("[angularx-qrcode]`min value for `version` is 1"),this.version=1):void 0!==this.version&&isNaN(this.version)&&(console.warn("[angularx-qrcode] version should be a number, defaulting to auto."),this.version=void 0);try{if(!this.isValidQrCodeText(this.qrdata))throw new Error('[angularx-qrcode] Field `qrdata` is empty, set`allowEmptyString="true"` to overwrite this behaviour.');let t;switch(this.elementType){case"canvas":t=this.renderer.createElement("canvas"),this.toCanvas(t).then(()=>{this.renderElement(t)}).catch(t=>{console.error("[angularx-qrcode] canvas error: ",t)});break;case"svg":t=this.renderer.createElement("div"),this.toSVG().then(e=>{this.renderer.setProperty(t,"innerHTML",e);const i=t.firstChild;this.renderer.setAttribute(i,"height",`${this.width}`),this.renderer.setAttribute(i,"width",`${this.width}`),this.renderElement(i)}).catch(t=>{console.error("[angularx-qrcode] svg error: ",t)});break;case"url":case"img":default:t=this.renderer.createElement("img"),this.toDataURL().then(e=>{t.setAttribute("src",e),this.renderElement(t)}).catch(t=>{console.error("[angularx-qrcode] img/url error: ",t)})}}catch(t){console.error("[angularx-qrcode] Error generating QR Code: ",t.message)}}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.Qsj))},t.\u0275cmp=r.Xpm({type:t,selectors:[["qrcode"]],viewQuery:function(t,e){if(1&t&&r.Gf(s,7),2&t){let t;r.iGM(t=r.CRH())&&(e.qrcElement=t.first)}},inputs:{colordark:"colordark",colorlight:"colorlight",level:"level",hidetitle:"hidetitle",size:"size",usesvg:"usesvg",allowEmptyString:"allowEmptyString",qrdata:"qrdata",colorDark:"colorDark",colorLight:"colorLight",cssClass:"cssClass",elementType:"elementType",errorCorrectionLevel:"errorCorrectionLevel",margin:"margin",scale:"scale",width:"width",version:"version"},features:[r.TTD],decls:2,vars:2,consts:[["qrcElement",""]],template:function(t,e){1&t&&r._UZ(0,"div",null,0),2&t&&r.Tol(e.cssClass)},encapsulation:2,changeDetection:0}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[]}),t})()},6309:(t,e,i)=>{"use strict";const n=e;n.bignum=i(5514),n.define=i(4493).define,n.base=i(8887),n.constants=i(5537),n.decoders=i(9127),n.encoders=i(3939)},4493:(t,e,i)=>{"use strict";const n=i(3939),r=i(9127),s=i(5457);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(t){const e=this.name;function i(t){this._initNamed(t,e)}return s(i,t),i.prototype._initNamed=function(e,i){t.call(this,e,i)},new i(this)},o.prototype._getDecoder=function(t){return this.decoders.hasOwnProperty(t=t||"der")||(this.decoders[t]=this._createNamed(r[t])),this.decoders[t]},o.prototype.decode=function(t,e,i){return this._getDecoder(e).decode(t,i)},o.prototype._getEncoder=function(t){return this.encoders.hasOwnProperty(t=t||"der")||(this.encoders[t]=this._createNamed(n[t])),this.encoders[t]},o.prototype.encode=function(t,e,i){return this._getEncoder(e).encode(t,i)}},3914:(t,e,i)=>{"use strict";const n=i(5457),r=i(1034).b,s=i(5968).Buffer;function o(t,e){r.call(this,e),s.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map(function(t){return a.isEncoderBuffer(t)||(t=new a(t,e)),this.length+=t.length,t},this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=s.byteLength(t);else{if(!s.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(o,r),e.C=o,o.isDecoderBuffer=function(t){return t instanceof o||"object"==typeof t&&s.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},o.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},o.prototype.restore=function(t){const e=new o(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,r.prototype.restore.call(this,t.reporter),e},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},o.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const i=new o(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+t,this.offset+=t,i},o.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.R=a,a.isEncoderBuffer=function(t){return t instanceof a||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},a.prototype.join=function(t,e){return t||(t=s.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(i){i.join(t,e),e+=i.length}):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):s.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},8887:(t,e,i)=>{"use strict";const n=e;n.Reporter=i(1034).b,n.DecoderBuffer=i(3914).C,n.EncoderBuffer=i(3914).R,n.Node=i(5502)},5502:(t,e,i)=>{"use strict";const n=i(1034).b,r=i(3914).R,s=i(3914).C,o=i(523),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],l=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(t,e,i){const n={};this._baseState=n,n.name=i,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=c;const h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const t=this._baseState,e={};h.forEach(function(i){e[i]=t[i]});const i=new this.constructor(e.parent);return i._baseState=e,i},c.prototype._wrap=function(){const t=this._baseState;l.forEach(function(e){this[e]=function(){const i=new this.constructor(this);return t.children.push(i),i[e].apply(i,arguments)}},this)},c.prototype._init=function(t){const e=this._baseState;o(null===e.parent),t.call(this),e.children=e.children.filter(function(t){return t._baseState.parent===this},this),o.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){const e=this._baseState,i=t.filter(function(t){return t instanceof this.constructor},this);t=t.filter(function(t){return!(t instanceof this.constructor)},this),0!==i.length&&(o(null===e.children),e.children=i,i.forEach(function(t){t._baseState.parent=this},this)),0!==t.length&&(o(null===e.args),e.args=t,e.reverseArgs=t.map(function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach(function(i){i==(0|i)&&(i|=0),e[t[i]]=i}),e}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(t){c.prototype[t]=function(){throw new Error(t+" not implemented for encoding: "+this._baseState.enc)}}),a.forEach(function(t){c.prototype[t]=function(){const e=this._baseState,i=Array.prototype.slice.call(arguments);return o(null===e.tag),e.tag=t,this._useArgs(i),this}}),c.prototype.use=function(t){o(t);const e=this._baseState;return o(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){const e=this._baseState;return o(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){const e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){const e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){const e=this._baseState;return o(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){const e=this._baseState;return o(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map(function(e){return t[e]})),this},c.prototype.contains=function(t){const e=this._baseState;return o(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){const i=this._baseState;if(null===i.parent)return t.wrapResult(i.children[0]._decode(t,e));let n,r=i.default,o=!0,a=null;if(null!==i.key&&(a=t.enterKey(i.key)),i.optional){let n=null;if(null!==i.explicit?n=i.explicit:null!==i.implicit?n=i.implicit:null!==i.tag&&(n=i.tag),null!==n||i.any){if(o=this._peekTag(t,n,i.any),t.isError(o))return o}else{const n=t.save();try{null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e),o=!0}catch(l){o=!1}t.restore(n)}}if(i.obj&&o&&(n=t.enterObject()),o){if(null!==i.explicit){const e=this._decodeTag(t,i.explicit);if(t.isError(e))return e;t=e}const n=t.offset;if(null===i.use&&null===i.choice){let e;i.any&&(e=t.save());const n=this._decodeTag(t,null!==i.implicit?i.implicit:i.tag,i.any);if(t.isError(n))return n;i.any?r=t.raw(e):t=n}if(e&&e.track&&null!==i.tag&&e.track(t.path(),n,t.length,"tagged"),e&&e.track&&null!==i.tag&&e.track(t.path(),t.offset,t.length,"content"),i.any||(r=null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e)),t.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(i){i._decode(t,e)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){const n=new s(r);r=this._getUse(i.contains,t._reporterState.obj)._decode(n,e)}}return i.obj&&o&&(r=t.leaveObject(n)),null===i.key||null===r&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,i.key,r),r},c.prototype._decodeGeneric=function(t,e,i){const n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],i):/str$/.test(t)?this._decodeStr(e,t,i):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],i):"objid"===t?this._decodeObjid(e,null,null,i):"gentime"===t||"utctime"===t?this._decodeTime(e,t,i):"null_"===t?this._decodeNull(e,i):"bool"===t?this._decodeBool(e,i):"objDesc"===t?this._decodeStr(e,t,i):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],i):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,i):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){const i=this._baseState;return i.useDecoder=this._use(t,e),o(null===i.useDecoder._baseState.parent),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder},c.prototype._decodeChoice=function(t,e){const i=this._baseState;let n=null,r=!1;return Object.keys(i.choice).some(function(s){const o=t.save(),a=i.choice[s];try{const i=a._decode(t,e);if(t.isError(i))return!1;n={type:s,value:i},r=!0}catch(l){return t.restore(o),!1}return!0},this),r?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new r(t,this.reporter)},c.prototype._encode=function(t,e,i){const n=this._baseState;if(null!==n.default&&n.default===t)return;const r=this._encodeValue(t,e,i);return void 0===r||this._skipDefault(r,e,i)?void 0:r},c.prototype._encodeValue=function(t,e,i){const r=this._baseState;if(null===r.parent)return r.children[0]._encode(t,e||new n);let s=null;if(this.reporter=e,r.optional&&void 0===t){if(null===r.default)return;t=r.default}let o=null,a=!1;if(r.any)s=this._createEncoderBuffer(t);else if(r.choice)s=this._encodeChoice(t,e);else if(r.contains)o=this._getUse(r.contains,i)._encode(t,e),a=!0;else if(r.children)o=r.children.map(function(i){if("null_"===i._baseState.tag)return i._encode(null,e,t);if(null===i._baseState.key)return e.error("Child should have a key");const n=e.enterKey(i._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const r=i._encode(t[i._baseState.key],e,t);return e.leaveKey(n),r},this).filter(function(t){return t}),o=this._createEncoderBuffer(o);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return e.error("Too many args for : "+r.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const i=this.clone();i._baseState.implicit=null,o=this._createEncoderBuffer(t.map(function(i){return this._getUse(this._baseState.args[0],t)._encode(i,e)},i))}else null!==r.use?s=this._getUse(r.use,i)._encode(t,e):(o=this._encodePrimitive(r.tag,t),a=!0);if(!r.any&&null===r.choice){const t=null!==r.implicit?r.implicit:r.tag,i=null===r.implicit?"universal":"context";null===t?null===r.use&&e.error("Tag could be omitted only for .use()"):null===r.use&&(s=this._encodeComposite(t,a,i,o))}return null!==r.explicit&&(s=this._encodeComposite(r.explicit,!1,"context",s)),s},c.prototype._encodeChoice=function(t,e){const i=this._baseState,n=i.choice[t.type];return n||o(!1,t.type+" not found in "+JSON.stringify(Object.keys(i.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){const i=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&i.args)return this._encodeObjid(e,i.reverseArgs[0],i.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,i.args&&i.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}},1034:(t,e,i)=>{"use strict";const n=i(5457);function r(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function s(t,e){this.path=t,this.rethrow(e)}e.b=r,r.prototype.isError=function(t){return t instanceof s},r.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},r.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},r.prototype.enterKey=function(t){return this._reporterState.path.push(t)},r.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},r.prototype.leaveKey=function(t,e,i){const n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=i)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},r.prototype.leaveObject=function(t){const e=this._reporterState,i=e.obj;return e.obj=t,i},r.prototype.error=function(t){let e;const i=this._reporterState,n=t instanceof s;if(e=n?t:new s(i.path.map(function(t){return"["+JSON.stringify(t)+"]"}).join(""),t.message||t,t.stack),!i.options.partial)throw e;return n||i.errors.push(e),e},r.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(s,Error),s.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,s),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},901:(t,e)=>{"use strict";function i(t){const e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0),e[t[i]]=i}),e}e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=i(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=i(e.tag)},5537:(t,e,i)=>{"use strict";const n=e;n._reverse=function(t){const e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0),e[t[i]]=i}),e},n.der=i(901)},6797:(t,e,i)=>{"use strict";const n=i(5457),r=i(5514),s=i(3914).C,o=i(5502),a=i(901);function l(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new c,this.tree._init(t.body)}function c(t){o.call(this,"der",t)}function h(t,e){let i=t.readUInt8(e);if(t.isError(i))return i;const n=a.tagClass[i>>6],r=0==(32&i);if(31==(31&i)){let n=i;for(i=0;128==(128&n);){if(n=t.readUInt8(e),t.isError(n))return n;i<<=7,i|=127&n}}else i&=31;return{cls:n,primitive:r,tag:i,tagStr:a.tag[i]}}function u(t,e,i){let n=t.readUInt8(i);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;const r=127&n;if(r>4)return t.error("length octect is too long");n=0;for(let s=0;s{"use strict";const n=e;n.der=i(6797),n.pem=i(124)},124:(t,e,i)=>{"use strict";const n=i(5457),r=i(5968).Buffer,s=i(6797);function o(t){s.call(this,t),this.enc="pem"}n(o,s),t.exports=o,o.prototype.decode=function(t,e){const i=t.toString().split(/[\r\n]+/g),n=e.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/;let a=-1,l=-1;for(let r=0;r{"use strict";const n=i(5457),r=i(5968).Buffer,s=i(5502),o=i(901);function a(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new l,this.tree._init(t.body)}function l(t){s.call(this,"der",t)}function c(t){return t<10?"0"+t:t}t.exports=a,a.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(l,s),l.prototype._encodeComposite=function(t,e,i,n){const s=function(t,e,i,n){let r;if("seqof"===t?t="seq":"setof"===t&&(t="set"),o.tagByName.hasOwnProperty(t))r=o.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);r=t}return r>=31?n.error("Multi-octet tag encoding unsupported"):(e||(r|=32),r|=o.tagClassByName[i||"universal"]<<6,r)}(t,e,i,this.reporter);if(n.length<128){const t=r.alloc(2);return t[0]=s,t[1]=n.length,this._createEncoderBuffer([t,n])}let a=1;for(let r=n.length;r>=256;r>>=8)a++;const l=r.alloc(2+a);l[0]=s,l[1]=128|a;for(let r=1+a,o=n.length;o>0;r--,o>>=8)l[r]=255&o;return this._createEncoderBuffer([l,n])},l.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=r.alloc(2*t.length);for(let i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let n=0;for(let r=0;r=128;e>>=7)n++}const s=r.alloc(n);let o=s.length-1;for(let r=t.length-1;r>=0;r--){let e=t[r];for(s[o--]=127&e;(e>>=7)>0;)s[o--]=128|127&e}return this._createEncoderBuffer(s)},l.prototype._encodeTime=function(t,e){let i;const n=new Date(t);return"gentime"===e?i=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?i=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(i,"octstr")},l.prototype._encodeNull=function(){return this._createEncoderBuffer("")},l.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!r.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=r.from(e)}if(r.isBuffer(t)){let e=t.length;0===t.length&&e++;const i=r.alloc(e);return t.copy(i),0===t.length&&(i[0]=0),this._createEncoderBuffer(i)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let i=1;for(let r=t;r>=256;r>>=8)i++;const n=new Array(i);for(let r=n.length-1;r>=0;r--)n[r]=255&t,t>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(r.from(n))},l.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},l.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},l.prototype._skipDefault=function(t,e,i){const n=this._baseState;let r;if(null===n.default)return!1;const s=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,i).join()),s.length!==n.defaultBuffer.length)return!1;for(r=0;r{"use strict";const n=e;n.der=i(1965),n.pem=i(2191)},2191:(t,e,i)=>{"use strict";const n=i(5457),r=i(1965);function s(t){r.call(this,t),this.enc="pem"}n(s,r),t.exports=s,s.prototype.encode=function(t,e){const i=r.prototype.encode.call(this,t).toString("base64"),n=["-----BEGIN "+e.label+"-----"];for(let r=0;r=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},6698:(t,e)=>{"use strict";e.byteLength=function(t){var e=l(t),i=e[1];return 3*(e[0]+i)/4-i},e.toByteArray=function(t){var e,i,s=l(t),o=s[0],a=s[1],c=new r(function(t,e,i){return 3*(e+i)/4-i}(0,o,a)),h=0,u=a>0?o-4:o;for(i=0;i>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=n[t.charCodeAt(i)]<<2|n[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===a&&(e=n[t.charCodeAt(i)]<<10|n[t.charCodeAt(i+1)]<<4|n[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,n){for(var r,s=[],o=e;o>18&63]+i[r>>12&63]+i[r>>6&63]+i[63&r]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},4724:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(6601).Buffer}catch(E){}function a(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void n(!1,"Invalid character in "+t)}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,r){for(var s=0,o=0,a=Math.min(t.length,i),l=e;l=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&o0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this._strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this._strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=u}catch(E){s.prototype.inspect=u}else s.prototype.inspect=u;function u(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i._strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?d[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];i="";var u=this.clone();for(u.negative=0;!u.isZero();){var m=u.modrn(h).toString(t);i=(u=u.idivn(h)).isZero()?m+i:d[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){this._strip();var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0");var o=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,s);return this["_toArrayLike"+("le"===e?"LE":"BE")](o,r),o},s.prototype._toArrayLikeLE=function(t,e){for(var i=0,n=0,r=0,s=0;r>8&255),i>16&255),6===s?(i>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(i=0&&(t[i--]=o>>8&255),i>=0&&(t[i--]=o>>16&255),6===s?(i>=0&&(t[i--]=o>>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(i>=0)for(t[i--]=n;i>=0;)t[i--]=0},s.prototype._countBits=Math.clz32?function(t){return 32-Math.clz32(t)}:function(t){var e=t,i=0;return e>=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this._strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function y(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i._strip()}function b(t,e,i){return y(t,e,i)}function v(t,e){this.x=t,this.y=e}Math.imul||(g=m),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):i<63?m(this,t,e):i<1024?y(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,i+=s/67108864|0,i+=o>>>26,this.words[r]=67108863&o}return 0!==i&&(this.words[r]=i,this.length++),e?this.ineg():this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>i%26&1;return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this._strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this._strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modrn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=(1<<26)%t,r=0,s=this.length-1;s>=0;s--)r=(i*r+(0|this.words[s]))%t;return e?-r:r},s.prototype.modn=function(t){return this.modrn(t)},s.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=0,r=this.length-1;r>=0;r--){var s=(0|this.words[r])+67108864*i;this.words[r]=s/t|0,i=s%t}return this._strip(),e?this.ineg():this},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new k(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function C(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){k.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},r(x,w),x.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new C;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return _[t]=e,e},k.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},k.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},k.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},k.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},k.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},k.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},k.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},k.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},k.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},k.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},k.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},k.prototype.isqr=function(t){return this.imul(t,t.clone())},k.prototype.sqr=function(t){return this.mul(t,t)},k.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},k.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},k.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new M(t)},r(M,k),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},8520:(t,e,i)=>{var n;function r(t){this.rand=t}if(t.exports=function(t){return n||(n=new r(null)),n.generate(t)},t.exports.Rand=r,r.prototype.generate=function(t){return this._rand(t)},r.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),i=0;i{var n=i(545).Buffer;function r(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,i=new Array(e),r=0;r>>24]^h[p>>>16&255]^u[m>>>8&255]^d[255&g]^e[y++],o=c[p>>>24]^h[m>>>16&255]^u[g>>>8&255]^d[255&f]^e[y++],a=c[m>>>24]^h[g>>>16&255]^u[f>>>8&255]^d[255&p]^e[y++],l=c[g>>>24]^h[f>>>16&255]^u[p>>>8&255]^d[255&m]^e[y++],f=s,p=o,m=a,g=l;return s=(n[f>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&g])^e[y++],o=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[g>>>8&255]<<8|n[255&f])^e[y++],a=(n[m>>>24]<<24|n[g>>>16&255]<<16|n[f>>>8&255]<<8|n[255&p])^e[y++],l=(n[g>>>24]<<24|n[f>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[y++],[s>>>=0,o>>>=0,a>>>=0,l>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],l=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var i=[],n=[],r=[[],[],[],[]],s=[[],[],[],[]],o=0,a=0,l=0;l<256;++l){var c=a^a<<1^a<<2^a<<3^a<<4;i[o]=c=c>>>8^255&c^99,n[c]=o;var h=t[o],u=t[h],d=t[u],f=257*t[c]^16843008*c;r[0][o]=f<<24|f>>>8,r[1][o]=f<<16|f>>>16,r[2][o]=f<<8|f>>>24,r[3][o]=f,s[0][c]=(f=16843009*d^65537*u^257*h^16843008*o)<<24|f>>>8,s[1][c]=f<<16|f>>>16,s[2][c]=f<<8|f>>>24,s[3][c]=f,0===o?o=a=1:(o=h^t[t[t[d^h]]],a^=t[t[a]])}return{SBOX:i,INV_SBOX:n,SUB_MIX:r,INV_SUB_MIX:s}}();function c(t){this._key=r(t),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var t=this._key,e=t.length,i=e+6,n=4*(i+1),r=[],s=0;s>>24)>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o],o^=a[s/e|0]<<24):e>6&&s%e==4&&(o=l.SBOX[o>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o]),r[s]=r[s-e]^o}for(var c=[],h=0;h>>24]]^l.INV_SUB_MIX[1][l.SBOX[d>>>16&255]]^l.INV_SUB_MIX[2][l.SBOX[d>>>8&255]]^l.INV_SUB_MIX[3][l.SBOX[255&d]]}this._nRounds=i,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(t){return o(t=r(t),this._keySchedule,l.SUB_MIX,l.SBOX,this._nRounds)},c.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),i=n.allocUnsafe(16);return i.writeUInt32BE(e[0],0),i.writeUInt32BE(e[1],4),i.writeUInt32BE(e[2],8),i.writeUInt32BE(e[3],12),i},c.prototype.decryptBlock=function(t){var e=(t=r(t))[1];t[1]=t[3],t[3]=e;var i=o(t,this._invKeySchedule,l.INV_SUB_MIX,l.INV_SBOX,this._nRounds),s=n.allocUnsafe(16);return s.writeUInt32BE(i[0],0),s.writeUInt32BE(i[3],4),s.writeUInt32BE(i[2],8),s.writeUInt32BE(i[1],12),s},c.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=c},5266:(t,e,i)=>{var n=i(830),r=i(545).Buffer,s=i(478),o=i(5457),a=i(2104),l=i(9694),c=i(2305);function h(t,e,i,o){s.call(this);var l=r.alloc(4,0);this._cipher=new n.AES(e);var h=this._cipher.encryptBlock(l);this._ghash=new a(h),i=function(t,e,i){if(12===e.length)return t._finID=r.concat([e,r.from([0,0,0,1])]),r.concat([e,r.from([0,0,0,2])]);var n=new a(i),s=e.length,o=s%16;n.update(e),o&&n.update(r.alloc(o=16-o,0)),n.update(r.alloc(8,0));var l=8*s,h=r.alloc(8);h.writeUIntBE(l,0,8),n.update(h),t._finID=n.state;var u=r.from(t._finID);return c(u),u}(this,i,h),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}o(h,s),h.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=r.alloc(e,0),this._ghash.update(e))}this._called=!0;var i=this._mode.encrypt(this,t);return this._ghash.update(this._decrypt?t:i),this._len+=t.length,i},h.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var i=0;t.length!==e.length&&i++;for(var n=Math.min(t.length,e.length),r=0;r{var n=i(1898),r=i(1938),s=i(5415);e.createCipher=e.Cipher=n.createCipher,e.createCipheriv=e.Cipheriv=n.createCipheriv,e.createDecipher=e.Decipher=r.createDecipher,e.createDecipheriv=e.Decipheriv=r.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(s)}},1938:(t,e,i)=>{var n=i(5266),r=i(545).Buffer,s=i(7957),o=i(7750),a=i(478),l=i(830),c=i(8386);function h(t,e,i){a.call(this),this._cache=new u,this._last=void 0,this._cipher=new l.AES(e),this._prev=r.from(i),this._mode=t,this._autopadding=!0}function u(){this.cache=r.allocUnsafe(0)}function d(t,e,i){var a=s[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof i&&(i=r.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);if("string"==typeof e&&(e=r.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===a.type?new o(a.module,e,i,!0):"auth"===a.type?new n(a.module,e,i,!0):new h(a.module,e,i)}i(5457)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)i=this._mode.decrypt(this,e),n.push(i);return r.concat(n)},h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");for(var i=-1;++i16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},u.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var i=s[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var n=c(e,!1,i.key,i.iv);return d(t,n.key,n.iv)},e.createDecipheriv=d},1898:(t,e,i)=>{var n=i(7957),r=i(5266),s=i(545).Buffer,o=i(7750),a=i(478),l=i(830),c=i(8386);function h(t,e,i){a.call(this),this._cache=new d,this._cipher=new l.AES(e),this._prev=s.from(i),this._mode=t,this._autopadding=!0}i(5457)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get();)i=this._mode.encrypt(this,e),n.push(i);return s.concat(n)};var u=s.alloc(16,16);function d(){this.cache=s.allocUnsafe(0)}function f(t,e,i){var a=n[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=s.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof i&&(i=s.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===a.type?new o(a.module,e,i):"auth"===a.type?new r(a.module,e,i):new h(a.module,e,i)}h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(u))throw this._cipher.scrub(),new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},d.prototype.add=function(t){this.cache=s.concat([this.cache,t])},d.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=s.allocUnsafe(t),i=-1;++i{var n=i(545).Buffer,r=n.alloc(16,0);function s(t){var e=n.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}o.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,i&&(n[0]=n[0]^225<<24)}this.state=s(r)},o.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,r],16)),this.ghash(s([0,t,0,e])),this.state},t.exports=o},2305:t=>{t.exports=function(t){for(var e,i=t.length;i--;){if(255!==(e=t.readUInt8(i))){e++,t.writeUInt8(e,i);break}t.writeUInt8(0,i)}}},2570:(t,e,i)=>{var n=i(9694);e.encrypt=function(t,e){var i=n(e,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},e.decrypt=function(t,e){var i=t._prev;t._prev=e;var r=t._cipher.decryptBlock(e);return n(r,i)}},1722:(t,e,i)=>{var n=i(545).Buffer,r=i(9694);function s(t,e,i){var s=e.length,o=r(e,t._cache);return t._cache=t._cache.slice(s),t._prev=n.concat([t._prev,i?e:o]),o}e.encrypt=function(t,e,i){for(var r,o=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){o=n.concat([o,s(t,e,i)]);break}o=n.concat([o,s(t,e.slice(0,r=t._cache.length),i)]),e=e.slice(r)}return o}},3819:(t,e,i)=>{var n=i(545).Buffer;function r(t,e,i){for(var n,r,o=-1,a=0;++o<8;)a+=(128&(r=t._cipher.encryptBlock(t._prev)[0]^(n=e&1<<7-o?128:0)))>>o%8,t._prev=s(t._prev,i?n:r);return a}function s(t,e){var i=t.length,r=-1,s=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++r>7;return s}e.encrypt=function(t,e,i){for(var s=e.length,o=n.allocUnsafe(s),a=-1;++a{var n=i(545).Buffer;function r(t,e,i){var r=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=n.concat([t._prev.slice(1),n.from([i?e:r])]),r}e.encrypt=function(t,e,i){for(var s=e.length,o=n.allocUnsafe(s),a=-1;++a{var n=i(9694),r=i(545).Buffer,s=i(2305);function o(t){var e=t._cipher.encryptBlockRaw(t._prev);return s(t._prev),e}e.encrypt=function(t,e){var i=Math.ceil(e.length/16),s=t._cache.length;t._cache=r.concat([t._cache,r.allocUnsafe(16*i)]);for(var a=0;a{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},7957:(t,e,i)=>{var n={ECB:i(3021),CBC:i(2570),CFB:i(1722),CFB8:i(121),CFB1:i(3819),OFB:i(7373),CTR:i(2319),GCM:i(2319)},r=i(5415);for(var s in r)r[s].module=n[r[s].mode];t.exports=r},7373:(t,e,i)=>{var n=i(9694);function r(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length{var n=i(830),r=i(545).Buffer,s=i(478);function o(t,e,i,o){s.call(this),this._cipher=new n.AES(e),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=o,this._mode=t}i(5457)(o,s),o.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},t.exports=o},3320:(t,e,i)=>{var n=i(7321),r=i(3079),s=i(7957),o=i(1395),a=i(8386);function l(t,e,i){if(t=t.toLowerCase(),s[t])return r.createCipheriv(t,e,i);if(o[t])return new n({key:e,iv:i,mode:t});throw new TypeError("invalid suite type")}function c(t,e,i){if(t=t.toLowerCase(),s[t])return r.createDecipheriv(t,e,i);if(o[t])return new n({key:e,iv:i,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var i,n;if(t=t.toLowerCase(),s[t])i=s[t].key,n=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");i=8*o[t].key,n=o[t].iv}var r=a(e,!1,i,n);return l(t,r.key,r.iv)},e.createCipheriv=e.Cipheriv=l,e.createDecipher=e.Decipher=function(t,e){var i,n;if(t=t.toLowerCase(),s[t])i=s[t].key,n=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");i=8*o[t].key,n=o[t].iv}var r=a(e,!1,i,n);return c(t,r.key,r.iv)},e.createDecipheriv=e.Decipheriv=c,e.listCiphers=e.getCiphers=function(){return Object.keys(o).concat(r.getCiphers())}},7321:(t,e,i)=>{var n=i(478),r=i(6504),s=i(5457),o=i(545).Buffer,a={"des-ede3-cbc":r.CBC.instantiate(r.EDE),"des-ede3":r.EDE,"des-ede-cbc":r.CBC.instantiate(r.EDE),"des-ede":r.EDE,"des-cbc":r.CBC.instantiate(r.DES),"des-ecb":r.DES};function l(t){n.call(this);var e,i=t.mode.toLowerCase(),r=a[i];e=t.decrypt?"decrypt":"encrypt";var s=t.key;o.isBuffer(s)||(s=o.from(s)),"des-ede"!==i&&"des-ede-cbc"!==i||(s=o.concat([s,s.slice(0,8)]));var l=t.iv;o.isBuffer(l)||(l=o.from(l)),this._des=r.create({key:s,iv:l,type:e})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],t.exports=l,s(l,n),l.prototype._update=function(t){return o.from(this._des.update(t))},l.prototype._final=function(){return o.from(this._des.final())}},1395:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},4467:(t,e,i)=>{var n=i(4724),r=i(6716);function s(t){var e,i=t.modulus.byteLength();do{e=new n(r(i))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function o(t,e){var i=function(t){var e=s(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),r=e.modulus.byteLength(),o=new n(t).mul(i.blinder).umod(e.modulus),a=o.toRed(n.mont(e.prime1)),l=o.toRed(n.mont(e.prime2)),c=e.coefficient,h=e.prime1,u=e.prime2,d=a.redPow(e.exponent1).fromRed(),f=l.redPow(e.exponent2).fromRed(),p=d.isub(f).imul(c).umod(h).imul(u);return f.iadd(p).imul(i.unblinder).umod(e.modulus).toArrayLike(Buffer,"be",r)}o.getr=s,t.exports=o},3373:(t,e,i)=>{t.exports=i(2063)},6865:(t,e,i)=>{var n=i(9851).Buffer,r=i(4500),s=i(7612),o=i(5457),a=i(6360),l=i(2210),c=i(2063);function h(t){s.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function u(t){s.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function d(t){return new h(t)}function f(t){return new u(t)}Object.keys(c).forEach(function(t){c[t].id=n.from(c[t].id,"hex"),c[t.toLowerCase()]=c[t]}),o(h,s.Writable),h.prototype._write=function(t,e,i){this._hash.update(t),i()},h.prototype.update=function(t,e){return"string"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},h.prototype.sign=function(t,e){this.end();var i=this._hash.digest(),n=a(i,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},o(u,s.Writable),u.prototype._write=function(t,e,i){this._hash.update(t),i()},u.prototype.update=function(t,e){return"string"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},u.prototype.verify=function(t,e,i){"string"==typeof e&&(e=n.from(e,i)),this.end();var r=this._hash.digest();return l(e,r,t,this._signType,this._tag)},t.exports={Sign:d,Verify:f,createSign:d,createVerify:f}},6360:(t,e,i)=>{var n=i(9851).Buffer,r=i(9452),s=i(4467),o=i(905).ec,a=i(4724),l=i(2291),c=i(2236);function h(t,e,i,s){if((t=n.from(t.toArray())).length0&&i.ishrn(n),i}function d(t,e,i){var s,o;do{for(s=n.alloc(0);8*s.length{var n=i(9851).Buffer,r=i(4724),s=i(905).ec,o=i(2291),a=i(2236);function l(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=e)throw new Error("invalid sig")}t.exports=function(t,e,i,c,h){var u=o(i);if("ec"===u.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=a[i.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+i.data.algorithm.curve.join("."));return new s(n).verify(e,t,i.data.subjectPrivateKey.data)}(t,e,u)}if("dsa"===u.type){if("dsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=i.data.p,s=i.data.q,a=i.data.g,c=i.data.pub_key,h=o.signature.decode(t,"der"),u=h.s,d=h.r;l(u,s),l(d,s);var f=r.mont(n),p=u.invm(s);return 0===a.toRed(f).redPow(new r(e).mul(p).mod(s)).fromRed().mul(c.toRed(f).redPow(d.mul(p).mod(s)).fromRed()).mod(n).mod(s).cmp(d)}(t,e,u)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");e=n.concat([h,e]);for(var d=u.modulus.byteLength(),f=[1],p=0;e.length+f.length+2{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},9694:t=>{t.exports=function(t,e){for(var i=Math.min(t.length,e.length),n=new Buffer(i),r=0;r{"use strict";var n=i(6698),r=i(2390),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return c(t,e,i)}function c(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|m(t,e),n=a(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(q(t,Uint8Array)){var e=new Uint8Array(t);return f(e.buffer,e.byteOffset,e.byteLength)}return d(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(q(t,ArrayBuffer)||t&&q(t.buffer,ArrayBuffer))return f(t,e,i);if("undefined"!=typeof SharedArrayBuffer&&(q(t,SharedArrayBuffer)||t&&q(t.buffer,SharedArrayBuffer)))return f(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return l.from(n,e,i);var r=function(t){if(l.isBuffer(t)){var e=0|p(t.length),i=a(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||z(t.length)?a(0):d(t):"Buffer"===t.type&&Array.isArray(t.data)?d(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return h(t),a(t<0?0:0|p(t))}function d(t){for(var e=t.length<0?0:0|p(t.length),i=a(e),n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return N(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return B(t).length;default:if(r)return n?-1:N(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return L(this,e,i);case"utf8":case"utf-8":return k(this,e,i);case"ascii":return E(this,e,i);case"latin1":case"binary":return T(this,e,i);case"base64":return S(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function b(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),z(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:v(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):v(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,i,n,r){var s,o=1,a=t.length,l=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;o=2,a/=2,l/=2,i/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var h=-1;for(s=i;sa&&(i=a-l),s=i;s>=0;s--){for(var u=!0,d=0;dr&&(n=r):n=r;var s=e.length;n>s/2&&(n=s/2);for(var o=0;o>8,r.push(i%256),r.push(n);return r}(e,t.length-i),t,i,n)}function S(t,e,i){return n.fromByteArray(0===e&&i===t.length?t:t.slice(e,i))}function k(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(h=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(n.push((h-=65536)>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=M)return String.fromCharCode.apply(String,t);for(var i="",n=0;nn.length?l.from(s).copy(n,r):Uint8Array.prototype.set.call(n,s,r);else{if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r)}r+=s.length}return n},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;ei&&(t+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(t,e,i,n,r){if(q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(n>>>=0),o=(i>>>=0)-(e>>>=0),a=Math.min(s,o),c=this.slice(n,r),h=t.slice(e,i),u=0;u>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return w(this,t,e,i);case"ascii":case"latin1":case"binary":return x(this,t,e,i);case"base64":return C(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;function E(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;rn)&&(i=n);for(var r="",s=e;si)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,i,n,r,s){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function R(t,e,i,n,r,s){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function P(t,e,i,n,s){return e=+e,i>>>=0,s||R(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function Z(t,e,i,n,s){return e=+e,i>>>=0,s||R(t,0,i,8),r.write(t,e,i,n,52,8),i+8}l.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t],r=1,s=0;++s>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t],r=1,s=0;++s=(r*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||O(t,e,this.length);for(var n=e,r=1,s=this[t+--n];n>0&&(r*=256);)s+=this[t+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},l.prototype.readInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||O(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt16BE=function(t,e){t>>>=0,e||O(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||O(t,4,this.length),r.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||O(t,4,this.length),r.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||O(t,8,this.length),r.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||O(t,8,this.length),r.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||D(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,i>>>=0,n||D(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+i},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);D(this,t,e,i,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+i},l.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);D(this,t,e,i,r-1,-r)}var s=i-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+i},l.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,i){return P(this,t,e,!0,i)},l.prototype.writeFloatBE=function(t,e,i){return P(this,t,e,!1,i)},l.prototype.writeDoubleLE=function(t,e,i){return Z(this,t,e,!0,i)},l.prototype.writeDoubleBE=function(t,e,i){return Z(this,t,e,!1,i)},l.prototype.copy=function(t,e,i,n){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,i,n){for(var r=0;r=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function z(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},478:(t,e,i)=>{var n=i(545).Buffer,r=i(7562).Transform,s=i(4706).s;function o(t){r.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}i(5457)(o,r),o.prototype.update=function(t,e,i){"string"==typeof t&&(t=n.from(t,e));var r=this._update(t);return this.hashMode?this:(i&&(r=this._toString(r,i)),r)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(t,e,i){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(r){n=r}finally{i(n)}},o.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(i){e=i}t(e)},o.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},o.prototype._toString=function(t,e,i){if(this._decoder||(this._decoder=new s(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return i&&(n+=this._decoder.end()),n},t.exports=o},1774:function(t){!function(e){"use strict";var i={bytesToHex:function(t){return function(t){return t.map(function(t){return(e=t.toString(16)).length>2?e:Array(2-e.length+1).join("0")+e;var e}).join("")}(t)},hexToBytes:function(t){if(t.length%2==1)throw new Error("hexToBytes can't have a string with an odd number of characters.");return 0===t.indexOf("0x")&&(t=t.slice(2)),t.match(/../g).map(function(t){return parseInt(t,16)})}};t.exports?t.exports=i:e.convertHex=i}(this)},906:function(t){!function(e){"use strict";var i={bytesToString:function(t){return t.map(function(t){return String.fromCharCode(t)}).join("")},stringToBytes:function(t){return t.split("").map(function(t){return t.charCodeAt(0)})}};i.UTF8={bytesToString:function(t){return decodeURIComponent(escape(i.bytesToString(t)))},stringToBytes:function(t){return i.stringToBytes(unescape(encodeURIComponent(t)))}},t.exports?t.exports=i:e.convertString=i}(this)},3513:(t,e,i)=>{var n=i(905),r=i(9680);t.exports=function(t){return new o(t)};var s={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function o(t){this.curveType=s[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(t,e,i){Array.isArray(t)||(t=t.toArray());var n=new Buffer(t);if(i&&n.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},4500:(t,e,i)=>{"use strict";var n=i(5457),r=i(9233),s=i(3827),o=i(8687),a=i(478);function l(t){a.call(this,"digest"),this._hash=t}n(l,a),l.prototype._update=function(t){this._hash.update(t)},l.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new r:"rmd160"===t||"ripemd160"===t?new s:new l(o(t))}},3072:(t,e,i)=>{var n=i(9233);t.exports=function(t){return(new n).update(t).digest()}},9452:(t,e,i)=>{"use strict";var n=i(5457),r=i(7107),s=i(478),o=i(545).Buffer,a=i(3072),l=i(3827),c=i(8687),h=o.alloc(128);function u(t,e){s.call(this,"digest"),"string"==typeof e&&(e=o.from(e));var i="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>i?e=("rmd160"===t?new l:c(t)).update(e).digest():e.length{"use strict";var n=i(5457),r=i(545).Buffer,s=i(478),o=r.alloc(128),a=64;function l(t,e){s.call(this,"digest"),"string"==typeof e&&(e=r.from(e)),this._alg=t,this._key=e,e.length>a?e=t(e):e.length{"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=i(6716),e.createHash=e.Hash=i(4500),e.createHmac=e.Hmac=i(9452);var n=i(3373),r=Object.keys(n),s=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);e.getHashes=function(){return s};var o=i(8094);e.pbkdf2=o.pbkdf2,e.pbkdf2Sync=o.pbkdf2Sync;var a=i(3320);e.Cipher=a.Cipher,e.createCipher=a.createCipher,e.Cipheriv=a.Cipheriv,e.createCipheriv=a.createCipheriv,e.Decipher=a.Decipher,e.createDecipher=a.createDecipher,e.Decipheriv=a.Decipheriv,e.createDecipheriv=a.createDecipheriv,e.getCiphers=a.getCiphers,e.listCiphers=a.listCiphers;var l=i(223);e.DiffieHellmanGroup=l.DiffieHellmanGroup,e.createDiffieHellmanGroup=l.createDiffieHellmanGroup,e.getDiffieHellman=l.getDiffieHellman,e.createDiffieHellman=l.createDiffieHellman,e.DiffieHellman=l.DiffieHellman;var c=i(6865);e.createSign=c.createSign,e.Sign=c.Sign,e.createVerify=c.createVerify,e.Verify=c.Verify,e.createECDH=i(3513);var h=i(7351);e.publicEncrypt=h.publicEncrypt,e.privateEncrypt=h.privateEncrypt,e.publicDecrypt=h.publicDecrypt,e.privateDecrypt=h.privateDecrypt;var u=i(1999);e.randomFill=u.randomFill,e.randomFillSync=u.randomFillSync,e.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},6504:(t,e,i)=>{"use strict";e.utils=i(3777),e.Cipher=i(1887),e.DES=i(8276),e.CBC=i(7029),e.EDE=i(7e3)},7029:(t,e,i)=>{"use strict";var n=i(523),r=i(5457),s={};function o(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e{"use strict";var n=i(523);function r(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=r,r.prototype._init=function(){},r.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},r.prototype._buffer=function(t,e){for(var i=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n0;n--)e+=this._buffer(t,e),i+=this._flushBuffer(r,i);return e+=this._buffer(t,e),r},r.prototype.final=function(t){var e,i;return t&&(e=this.update(t)),i="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(i):i},r.prototype._pad=function(t,e){if(0===e)return!1;for(;e{"use strict";var n=i(523),r=i(5457),s=i(3777),o=i(1887);function a(){this.tmp=new Array(2),this.keys=null}function l(t){o.call(this,t);var e=new a;this._desState=e,this.deriveKeys(e,t.key)}r(l,o),t.exports=l,l.create=function(t){return new l(t)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];l.prototype.deriveKeys=function(t,e){t.keys=new Array(32),n.equal(e.length,this.blockSize,"Invalid key length");var i=s.readUInt32BE(e,0),r=s.readUInt32BE(e,4);s.pc1(i,r,t.tmp,0),i=t.tmp[0],r=t.tmp[1];for(var o=0;o>>1];i=s.r28shl(i,a),r=s.r28shl(r,a),s.pc2(i,r,t.keys,o)}},l.prototype._update=function(t,e,i,n){var r=this._desState,o=s.readUInt32BE(t,e),a=s.readUInt32BE(t,e+4);s.ip(o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,o,a,r.tmp,0):this._decrypt(r,o,a,r.tmp,0),a=r.tmp[1],s.writeUInt32BE(i,o=r.tmp[0],n),s.writeUInt32BE(i,a,n+4)},l.prototype._pad=function(t,e){for(var i=t.length-e,n=e;n>>0,o=d}s.rip(a,o,n,r)},l.prototype._decrypt=function(t,e,i,n,r){for(var o=i,a=e,l=t.keys.length-2;l>=0;l-=2){var c=t.keys[l],h=t.keys[l+1];s.expand(o,t.tmp,0);var u=s.substitute(c^=t.tmp[0],h^=t.tmp[1]),d=o;o=(a^s.permute(u))>>>0,a=d}s.rip(o,a,n,r)}},7e3:(t,e,i)=>{"use strict";var n=i(523),r=i(5457),s=i(1887),o=i(8276);function a(t,e){n.equal(e.length,24,"Invalid key length");var i=e.slice(0,8),r=e.slice(8,16),s=e.slice(16,24);this.ciphers="encrypt"===t?[o.create({type:"encrypt",key:i}),o.create({type:"decrypt",key:r}),o.create({type:"encrypt",key:s})]:[o.create({type:"decrypt",key:s}),o.create({type:"encrypt",key:r}),o.create({type:"decrypt",key:i})]}function l(t){s.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}r(l,s),t.exports=l,l.create=function(t){return new l(t)},l.prototype._update=function(t,e,i,n){var r=this._edeState;r.ciphers[0]._update(t,e,i,n),r.ciphers[1]._update(i,n,i,n),r.ciphers[2]._update(i,n,i,n)},l.prototype._pad=o.prototype._pad,l.prototype._unpad=o.prototype._unpad},3777:(t,e)=>{"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,i){t[0+i]=e>>>24,t[1+i]=e>>>16&255,t[2+i]=e>>>8&255,t[3+i]=255&e},e.ip=function(t,e,i,n){for(var r=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>>a+o&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>>a+o&1}for(o=6;o>=0;o-=2){for(a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1;for(a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1}i[n+0]=r>>>0,i[n+1]=s>>>0},e.rip=function(t,e,i,n){for(var r=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)r<<=1,r|=e>>>a+o&1,r<<=1,r|=t>>>a+o&1;for(o=4;o<8;o++)for(a=24;a>=0;a-=8)s<<=1,s|=e>>>a+o&1,s<<=1,s|=t>>>a+o&1;i[n+0]=r>>>0,i[n+1]=s>>>0},e.pc1=function(t,e,i,n){for(var r=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>a+o&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+o&1}for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+o&1;for(o=1;o<=3;o++){for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1}for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;i[n+0]=r>>>0,i[n+1]=s>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,r){for(var s=0,o=0,a=i.length>>>1,l=0;l>>i[l]&1;for(l=a;l>>i[l]&1;n[r+0]=s>>>0,n[r+1]=o>>>0},e.expand=function(t,e,i){var n=0,r=0;n=(1&t)<<5|t>>>27;for(var s=23;s>=15;s-=4)n<<=6,n|=t>>>s&63;for(s=11;s>=3;s-=4)r|=t>>>s&63,r<<=6;r|=(31&t)<<1|t>>>31,e[i+0]=n>>>0,e[i+1]=r>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var i=0,r=0;r<4;r++)i<<=4,i|=n[64*r+(t>>>18-6*r&63)];for(r=0;r<4;r++)i<<=4,i|=n[256+64*r+(e>>>18-6*r&63)];return i>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,i=0;i>>r[i]&1;return e>>>0},e.padSplit=function(t,e,i){for(var n=t.toString(2);n.length{var n=i(1901),r=i(1930),s=i(429),o={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(t){var e=new Buffer(r[t].prime,"hex"),i=new Buffer(r[t].gen,"hex");return new s(e,i)},e.createDiffieHellman=e.DiffieHellman=function t(e,i,r,a){return Buffer.isBuffer(i)||void 0===o[i]?t(e,"binary",i,r):(i=i||"binary",a=a||"binary",r=r||new Buffer([2]),Buffer.isBuffer(r)||(r=new Buffer(r,a)),"number"==typeof e?new s(n(e,r),r,!0):(Buffer.isBuffer(e)||(e=new Buffer(e,i)),new s(e,r,!0)))}},429:(t,e,i)=>{var n=i(7299),r=new(i(2533)),s=new n(24),o=new n(11),a=new n(10),l=new n(3),c=new n(7),h=i(1901),u=i(6716);function d(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._pub=new n(t),this}function f(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._priv=new n(t),this}t.exports=m;var p={};function m(t,e,i){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,i?(this.setPublicKey=d,this.setPrivateKey=f):this._primeCode=8}function g(t,e){var i=new Buffer(t.toArray());return e?i.toString(e):i}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var i=e.toString("hex"),n=[i,t.toString(16)].join("_");if(n in p)return p[n];var u,d=0;if(t.isEven()||!h.simpleSieve||!h.fermatTest(t)||!r.test(t))return d+=1,p[n]=d+="02"===i||"05"===i?8:4,d;switch(r.test(t.shrn(1))||(d+=2),i){case"02":t.mod(s).cmp(o)&&(d+=8);break;case"05":(u=t.mod(a)).cmp(l)&&u.cmp(c)&&(d+=8);break;default:d+=4}return p[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(u(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(t){var e=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new Buffer(e.toArray()),r=this.getPrime();if(i.length{var n=i(6716);t.exports=b,b.simpleSieve=g,b.fermatTest=y;var r=i(7299),s=new r(24),o=new(i(2533)),a=new r(1),l=new r(2),c=new r(5),h=(new r(16),new r(8),new r(10)),u=new r(3),d=(new r(7),new r(11)),f=new r(4),p=(new r(12),null);function m(){if(null!==p)return p;var t=[];t[0]=2;for(var e=1,i=3;i<1048576;i+=2){for(var n=Math.ceil(Math.sqrt(i)),r=0;rt;)i.ishrn(1);if(i.isEven()&&i.iadd(a),i.testn(1)||i.iadd(l),e.cmp(l)){if(!e.cmp(c))for(;i.mod(h).cmp(u);)i.iadd(f)}else for(;i.mod(s).cmp(d);)i.iadd(f);if(g(p=i.shrn(1))&&g(i)&&y(p)&&y(i)&&o.test(p)&&o.test(i))return i}}},7299:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(8623).Buffer}catch(S){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},45:t=>{"use strict";var e={single_source_shortest_paths:function(t,i,n){var r={},s={};s[i]=0;var o,a,l,c,h,u,d=e.PriorityQueue.make();for(d.push(i,0);!d.empty();)for(l in c=(o=d.pop()).cost,h=t[a=o.value]||{})h.hasOwnProperty(l)&&(u=c+h[l],(void 0===s[l]||s[l]>u)&&(s[l]=u,d.push(l,u),r[l]=a));if(void 0!==n&&void 0===s[n]){var f=["Could not find a path from ",i," to ",n,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),n=t[n];return i.reverse(),i},find_path:function(t,i,n){var r=e.single_source_shortest_paths(t,i,n);return e.extract_shortest_path_from_predecessor_list(r,n)},PriorityQueue:{make:function(t){var i,n=e.PriorityQueue,r={};for(i in t=t||{},n)n.hasOwnProperty(i)&&(r[i]=n[i]);return r.queue=[],r.sorter=t.sorter||n.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){this.queue.push({value:t,cost:e}),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=e},905:(t,e,i)=>{"use strict";var n=e;n.version=i(7519).i8,n.utils=i(3930),n.rand=i(8520),n.curve=i(4367),n.curves=i(2709),n.ec=i(260),n.eddsa=i(2038)},2134:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.getNAF,o=r.getJSF,a=r.assert;function l(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var i=this.n&&this.p.div(this.n);!i||i.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=l,l.prototype.point=function(){throw new Error("Not implemented")},l.prototype.validate=function(){throw new Error("Not implemented")},l.prototype._fixedNafMul=function(t,e){a(t.precomputed);var i=t._getDoubles(),n=s(e,1,this._bitLength),r=(1<=o;h--)l=(l<<1)+n[h];c.push(l)}for(var u=this.jpoint(null,null,null),d=this.jpoint(null,null,null),f=r;f>0;f--){for(o=0;o=0;c--){for(var h=0;c>=0&&0===o[c];c--)h++;if(c>=0&&h++,l=l.dblp(h),c<0)break;var u=o[c];a(0!==u),l="affine"===t.type?l.mixedAdd(u>0?r[u-1>>1]:r[-u-1>>1].neg()):l.add(u>0?r[u-1>>1]:r[-u-1>>1].neg())}return"affine"===t.type?l.toP():l},l.prototype._wnafMulAdd=function(t,e,i,n,r){var a,l,c,h=this._wnafT1,u=this._wnafT2,d=this._wnafT3,f=0;for(a=0;a=1;a-=2){var m=a-1,g=a;if(1===h[m]&&1===h[g]){var y=[e[m],null,null,e[g]];0===e[m].y.cmp(e[g].y)?(y[1]=e[m].add(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg())):0===e[m].y.cmp(e[g].y.redNeg())?(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].add(e[g].neg())):(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],v=o(i[m],i[g]);for(f=Math.max(v[0].length,f),d[m]=new Array(f),d[g]=new Array(f),l=0;l=0;a--){for(var x=0;a>=0;){var C=!0;for(l=0;l=0&&x++,_=_.dblp(x),a<0)break;for(l=0;l0?c=u[l][A-1>>1]:A<0&&(c=u[l][-A-1>>1].neg()),_="affine"===c.type?_.mixedAdd(c):_.add(c))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},c.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,r=0;r{"use strict";var n=i(3930),r=i(8183),s=i(5457),o=i(2134),a=n.assert;function l(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,o.call(this,"edwards",t),this.a=new r(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function c(t,e,i,n,s){o.BasePoint.call(this,t,"projective"),null===e&&null===i&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(e,16),this.y=new r(i,16),this.z=n?new r(n,16):this.curve.one,this.t=s&&new r(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(l,o),t.exports=l,l.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},l.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},l.prototype.jpoint=function(t,e,i,n){return this.point(t,e,i,n)},l.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var l=a.fromRed().isOdd();return(e&&!l||!e&&l)&&(a=a.redNeg()),this.point(t,a)},l.prototype.pointFromY=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},l.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),i=t.y.redSqr(),n=e.redMul(this.a).redAdd(i),r=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(i)));return 0===n.cmp(r)},s(c,o.BasePoint),l.prototype.pointFromJSON=function(t){return c.fromJSON(this,t)},l.prototype.point=function(t,e,i,n){return new c(this,t,e,i,n)},c.fromJSON=function(t,e){return new c(t,e[0],e[1],e[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(t),r=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=n.redAdd(e),o=s.redSub(i),a=n.redSub(e),l=r.redMul(o),c=s.redMul(a),h=r.redMul(a),u=o.redMul(s);return this.curve.point(l,c,u,h)},c.prototype._projDbl=function(){var t,e,i,n,r,s,o=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),l=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(a)).redAdd(l);this.zOne?(t=o.redSub(a).redSub(l).redMul(c.redSub(this.curve.two)),e=c.redMul(n.redSub(l)),i=c.redSqr().redSub(c).redSub(c)):(r=this.z.redSqr(),s=c.redSub(r).redISub(r),t=o.redSub(a).redISub(l).redMul(s),e=c.redMul(n.redSub(l)),i=c.redMul(s))}else n=a.redAdd(l),r=this.curve._mulC(this.z).redSqr(),s=n.redSub(r).redSub(r),t=this.curve._mulC(o.redISub(n)).redMul(s),e=this.curve._mulC(n).redMul(a.redISub(l)),i=n.redMul(s);return this.curve.point(t,e,i)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),i=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),r=this.z.redMul(t.z.redAdd(t.z)),s=i.redSub(e),o=r.redSub(n),a=r.redAdd(n),l=i.redAdd(e),c=s.redMul(o),h=a.redMul(l),u=s.redMul(l),d=o.redMul(a);return this.curve.point(c,h,d,u)},c.prototype._projAdd=function(t){var e,i,n=this.z.redMul(t.z),r=n.redSqr(),s=this.x.redMul(t.x),o=this.y.redMul(t.y),a=this.curve.d.redMul(s).redMul(o),l=r.redSub(a),c=r.redAdd(a),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(o),u=n.redMul(l).redMul(h);return this.curve.twisted?(e=n.redMul(c).redMul(o.redSub(this.curve._mulA(s))),i=l.redMul(c)):(e=n.redMul(c).redMul(o.redSub(s)),i=this.curve._mulC(l).redMul(c)),this.curve.point(u,e,i)},c.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},c.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!1)},c.prototype.jmulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},c.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},4367:(t,e,i)=>{"use strict";var n=e;n.base=i(2134),n.short=i(6460),n.mont=i(1289),n.edwards=i(4177)},1289:(t,e,i)=>{"use strict";var n=i(8183),r=i(5457),s=i(2134),o=i(3930);function a(t){s.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function l(t,e,i){s.BasePoint.call(this,t,"projective"),null===e&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(a,s),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,i=e.redSqr(),n=i.redMul(e).redAdd(i.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},r(l,s.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(o.toArray(t,e),1)},a.prototype.point=function(t,e){return new l(this,t,e)},a.prototype.pointFromJSON=function(t){return l.fromJSON(this,t)},l.prototype.precompute=function(){},l.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},l.fromJSON=function(t,e){return new l(t,e[0],e[1]||t.one)},l.prototype.inspect=function(){return this.isInfinity()?"":""},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},l.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),i=t.redSub(e),n=t.redMul(e),r=i.redMul(e.redAdd(this.curve.a24.redMul(i)));return this.curve.point(n,r)},l.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.diffAdd=function(t,e){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),r=t.x.redAdd(t.z),s=t.x.redSub(t.z).redMul(i),o=r.redMul(n),a=e.z.redMul(s.redAdd(o).redSqr()),l=e.x.redMul(s.redISub(o).redSqr());return this.curve.point(a,l)},l.prototype.mul=function(t){for(var e=t.clone(),i=this,n=this.curve.point(null,null),r=[];0!==e.cmpn(0);e.iushrn(1))r.push(e.andln(1));for(var s=r.length-1;s>=0;s--)0===r[s]?(i=i.diffAdd(n,this),n=n.dbl()):(n=i.diffAdd(n,this),i=i.dbl());return n},l.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},l.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},6460:(t,e,i)=>{"use strict";var n=i(3930),r=i(8183),s=i(5457),o=i(2134),a=n.assert;function l(t){o.call(this,"short",t),this.a=new r(t.a,16).toRed(this.red),this.b=new r(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(t,e,i,n){o.BasePoint.call(this,t,"affine"),null===e&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(e,16),this.y=new r(i,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(t,e,i,n){o.BasePoint.call(this,t,"jacobian"),null===e&&null===i&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(e,16),this.y=new r(i,16),this.z=new r(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(l,o),t.exports=l,l.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,i;if(t.beta)e=new r(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)i=new r(t.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(e))?i=s[0]:a(0===this.g.mul(i=s[1]).x.cmp(this.g.x.redMul(e)))}return{beta:e,lambda:i,basis:t.basis?t.basis.map(function(t){return{a:new r(t.a,16),b:new r(t.b,16)}}):this._getEndoBasis(i)}}},l.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:r.mont(t),i=new r(2).toRed(e).redInvm(),n=i.redNeg(),s=new r(3).toRed(e).redNeg().redSqrt().redMul(i);return[n.redAdd(s).fromRed(),n.redSub(s).fromRed()]},l.prototype._getEndoBasis=function(t){for(var e,i,n,s,o,a,l,c,h,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,f=this.n.clone(),p=new r(1),m=new r(0),g=new r(0),y=new r(1),b=0;0!==d.cmpn(0);){var v=f.div(d);c=f.sub(v.mul(d)),h=g.sub(v.mul(p));var _=y.sub(v.mul(m));if(!n&&c.cmp(u)<0)e=l.neg(),i=p,n=c.neg(),s=h;else if(n&&2==++b)break;l=c,f=d,d=c,g=p,p=h,y=m,m=_}o=c.neg(),a=h;var w=n.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(w)>=0&&(o=e,a=i),n.negative&&(n=n.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:s},{a:o,b:a}]},l.prototype._endoSplit=function(t){var e=this.endo.basis,i=e[0],n=e[1],r=n.b.mul(t).divRound(this.n),s=i.b.neg().mul(t).divRound(this.n),o=r.mul(i.a),a=s.mul(n.a),l=r.mul(i.b),c=s.mul(n.b);return{k1:t.sub(o).sub(a),k2:l.add(c).neg()}},l.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(0!==n.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var s=n.fromRed().isOdd();return(e&&!s||!e&&s)&&(n=n.redNeg()),this.point(t,n)},l.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,i=t.y,n=this.a.redMul(e),r=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===i.redSqr().redISub(r).cmpn(0)},l.prototype._endoWnafMulAdd=function(t,e,i){for(var n=this._endoWnafT1,r=this._endoWnafT2,s=0;s":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var i=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},c.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),r=i.redAdd(i).redIAdd(i).redIAdd(e).redMul(n),s=r.redSqr().redISub(this.x.redAdd(this.x)),o=r.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(t){return t=new r(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r):this.curve._wnafMulAdd(1,n,r,2)},c.prototype.jmulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r,!0):this.curve._wnafMulAdd(1,n,r,2,!0)},c.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},c.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return e},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(h,o.BasePoint),l.prototype.jpoint=function(t,e,i){return new h(this,t,e,i)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),i=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(i,n)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(e),r=t.x.redMul(i),s=this.y.redMul(e.redMul(t.z)),o=t.y.redMul(i.redMul(this.z)),a=n.redSub(r),l=s.redSub(o);if(0===a.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),u=n.redMul(c),d=l.redSqr().redIAdd(h).redISub(u).redISub(u),f=l.redMul(u.redISub(d)).redISub(s.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,f,p)},h.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),i=this.x,n=t.x.redMul(e),r=this.y,s=t.y.redMul(e).redMul(this.z),o=i.redSub(n),a=r.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),h=i.redMul(l),u=a.redSqr().redIAdd(c).redISub(h).redISub(h),d=a.redMul(h.redISub(u)).redISub(r.redMul(c)),f=this.z.redMul(o);return this.curve.jpoint(u,d,f)},h.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var i=this;for(e=0;e=0)return!1;if(i.redIAdd(r),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},2709:(t,e,i)=>{"use strict";var n,r=e,s=i(7749),o=i(4367),a=i(3930).assert;function l(t){this.curve="short"===t.type?new o.short(t):"edwards"===t.type?new o.edwards(t):new o.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new l(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=l,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=i(5621)}catch(h){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},260:(t,e,i)=>{"use strict";var n=i(8183),r=i(1753),s=i(3930),o=i(2709),a=i(8520),l=s.assert,c=i(3145),h=i(6032);function u(t){if(!(this instanceof u))return new u(t);"string"==typeof t&&(l(Object.prototype.hasOwnProperty.call(o,t),"Unknown curve "+t),t=o[t]),t instanceof o.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=u,u.prototype.keyPair=function(t){return new c(this,t)},u.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},u.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},u.prototype.genKeyPair=function(t){t||(t={});for(var e=new r({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),s=this.n.sub(new n(2));;){var o=new n(e.generate(i));if(!(o.cmp(s)>0))return o.iaddn(1),this.keyFromPrivate(o)}},u.prototype._truncateToN=function(t,e){var i=8*t.byteLength()-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},u.prototype.sign=function(t,e,i,s){"object"==typeof i&&(s=i,i=null),s||(s={}),e=this.keyFromPrivate(e,i),t=this._truncateToN(new n(t,16));for(var o=this.n.byteLength(),a=e.getPrivate().toArray("be",o),l=t.toArray("be",o),c=new r({hash:this.hash,entropy:a,nonce:l,pers:s.pers,persEnc:s.persEnc||"utf8"}),u=this.n.sub(new n(1)),d=0;;d++){var f=s.k?s.k(d):new n(c.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(u)>=0)){var p=this.g.mul(f);if(!p.isInfinity()){var m=p.getX(),g=m.umod(this.n);if(0!==g.cmpn(0)){var y=f.invm(this.n).mul(g.mul(e.getPrivate()).iadd(t));if(0!==(y=y.umod(this.n)).cmpn(0)){var b=(p.getY().isOdd()?1:0)|(0!==m.cmp(g)?2:0);return s.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),b^=1),new h({r:g,s:y,recoveryParam:b})}}}}}},u.prototype.verify=function(t,e,i,r){t=this._truncateToN(new n(t,16)),i=this.keyFromPublic(i,r);var s=(e=new h(e,"hex")).r,o=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,l=o.invm(this.n),c=l.mul(t).umod(this.n),u=l.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,i.getPublic(),u)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(c,i.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},u.prototype.recoverPubKey=function(t,e,i,r){l((3&i)===i,"The recovery param is more than two bits"),e=new h(e,r);var s=this.n,o=new n(t),a=e.r,c=e.s,u=1&i,d=i>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=this.curve.pointFromX(d?a.add(this.curve.n):a,u);var f=e.r.invm(s),p=s.sub(o).mul(f).umod(s),m=c.mul(f).umod(s);return this.g.mulAdd(p,a,m)},u.prototype.getKeyRecoveryParam=function(t,e,i,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var r=0;r<4;r++){var s;try{s=this.recoverPubKey(t,e,r)}catch(t){continue}if(s.eq(i))return r}throw new Error("Unable to find valid recovery factor")}},3145:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930).assert;function s(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=s,s.fromPublic=function(t,e,i){return e instanceof s?e:new s(t,{pub:e,pubEnc:i})},s.fromPrivate=function(t,e,i){return e instanceof s?e:new s(t,{priv:e,privEnc:i})},s.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},s.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?r(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},s.prototype.derive=function(t){return t.validate()||r(t.validate(),"public point not validated"),t.mul(this.priv).getX()},s.prototype.sign=function(t,e,i){return this.ec.sign(t,this,e,i)},s.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},s.prototype.inspect=function(){return""}},6032:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.assert;function o(t,e){if(t instanceof o)return t;this._importDER(t,e)||(s(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),this.recoveryParam=void 0===t.recoveryParam?null:t.recoveryParam)}function a(){this.place=0}function l(t,e){var i=t[e.place++];if(!(128&i))return i;var n=15&i;if(0===n||n>4)return!1;for(var r=0,s=0,o=e.place;s>>=0;return!(r<=127)&&(e.place=o,r)}function c(t){for(var e=0,i=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|i);--i;)t.push(e>>>(i<<3)&255);t.push(e)}}t.exports=o,o.prototype._importDER=function(t,e){t=r.toArray(t,e);var i=new a;if(48!==t[i.place++])return!1;var s=l(t,i);if(!1===s)return!1;if(s+i.place!==t.length)return!1;if(2!==t[i.place++])return!1;var o=l(t,i);if(!1===o)return!1;var c=t.slice(i.place,o+i.place);if(i.place+=o,2!==t[i.place++])return!1;var h=l(t,i);if(!1===h)return!1;if(t.length!==h+i.place)return!1;var u=t.slice(i.place,h+i.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}return this.r=new n(c),this.s=new n(u),this.recoveryParam=null,!0},o.prototype.toDER=function(t){var e=this.r.toArray(),i=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&i[0]&&(i=[0].concat(i)),e=c(e),i=c(i);!(i[0]||128&i[1]);)i=i.slice(1);var n=[2];h(n,e.length),(n=n.concat(e)).push(2),h(n,i.length);var s=n.concat(i),o=[48];return h(o,s.length),o=o.concat(s),r.encode(o,t)}},2038:(t,e,i)=>{"use strict";var n=i(7749),r=i(2709),s=i(3930),o=s.assert,a=s.parseBytes,l=i(3426),c=i(613);function h(t){if(o("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof h))return new h(t);this.curve=t=r[t].curve,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=h,h.prototype.sign=function(t,e){t=a(t);var i=this.keyFromSecret(e),n=this.hashInt(i.messagePrefix(),t),r=this.g.mul(n),s=this.encodePoint(r),o=this.hashInt(s,i.pubBytes(),t).mul(i.priv()),l=n.add(o).umod(this.curve.n);return this.makeSignature({R:r,S:l,Rencoded:s})},h.prototype.verify=function(t,e,i){t=a(t),e=this.makeSignature(e);var n=this.keyFromPublic(i),r=this.hashInt(e.Rencoded(),n.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(n.pub().mul(r)).eq(s)},h.prototype.hashInt=function(){for(var t=this.hash(),e=0;e{"use strict";var n=i(3930),r=n.assert,s=n.parseBytes,o=n.cachedProperty;function a(t,e){this.eddsa=t,this._secret=s(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s(e.pub)}a.fromPublic=function(t,e){return e instanceof a?e:new a(t,{pub:e})},a.fromSecret=function(t,e){return e instanceof a?e:new a(t,{secret:e})},a.prototype.secret=function(){return this._secret},o(a,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),o(a,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),o(a,"privBytes",function(){var t=this.eddsa,e=this.hash(),i=t.encodingLength-1,n=e.slice(0,t.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),o(a,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),o(a,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),o(a,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),a.prototype.sign=function(t){return r(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},a.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},a.prototype.getSecret=function(t){return r(this._secret,"KeyPair is public only"),n.encode(this.secret(),t)},a.prototype.getPublic=function(t){return n.encode(this.pubBytes(),t)},t.exports=a},613:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.assert,o=r.cachedProperty,a=r.parseBytes;function l(t,e){this.eddsa=t,"object"!=typeof e&&(e=a(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),s(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof n&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}o(l,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),o(l,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),o(l,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),o(l,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),l.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},l.prototype.toHex=function(){return r.encode(this.toBytes(),"hex").toUpperCase()},t.exports=l},5621:t=>{t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},3930:(t,e,i)=>{"use strict";var n=e,r=i(8183),s=i(523),o=i(5856);n.assert=s,n.toArray=o.toArray,n.zero2=o.zero2,n.toHex=o.toHex,n.encode=o.encode,n.getNAF=function(t,e,i){var n=new Array(Math.max(t.bitLength(),i)+1);n.fill(0);for(var r=1<(r>>1)-1?(r>>1)-l:l):a=0,n[o]=a,s.iushrn(1)}return n},n.getJSF=function(t,e){var i=[[],[]];t=t.clone(),e=e.clone();for(var n,r=0,s=0;t.cmpn(-r)>0||e.cmpn(-s)>0;){var o,a,l=t.andln(3)+r&3,c=e.andln(3)+s&3;3===l&&(l=-1),3===c&&(c=-1),o=0==(1&l)?0:3!=(n=t.andln(7)+r&7)&&5!==n||2!==c?l:-l,i[0].push(o),a=0==(1&c)?0:3!=(n=e.andln(7)+s&7)&&5!==n||2!==l?c:-c,i[1].push(a),2*r===o+1&&(r=1-r),2*s===a+1&&(s=1-s),t.iushrn(1),e.iushrn(1)}return i},n.cachedProperty=function(t,e,i){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=i.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new r(t,"hex","le")}},8183:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(8623).Buffer}catch(S){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},5068:t=>{"use strict";var e,i="object"==typeof Reflect?Reflect:null,n=i&&"function"==typeof i.apply?i.apply:function(t,e,i){return Function.prototype.apply.call(t,e,i)};e=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var r=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(t,e){return new Promise(function(i,n){function r(i){t.removeListener(e,s),n(i)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),i([].slice.call(arguments))}m(t,e,s,{once:!0}),"error"!==e&&function(t,e,i){"function"==typeof t.on&&m(t,"error",e,{once:!0})}(t,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function c(t,e,i,n){var r,s,o;if(a(i),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,i.listener?i.listener:i),s=t._events),o=s[e]),void 0===o)o=s[e]=i,++t._eventsCount;else if("function"==typeof o?o=s[e]=n?[i,o]:[o,i]:n?o.unshift(i):o.push(i),(r=l(t))>0&&o.length>r&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,console&&console.warn&&console.warn(c)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(t,e,i){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:i},r=h.bind(n);return r.listener=i,n.wrapFn=r,r}function d(t,e,i){var n=t._events;if(void 0===n)return[];var r=n[e];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(t){for(var e=new Array(t.length),i=0;i0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=s[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var c=l.length,h=p(l,c);for(i=0;i=0;s--)if(i[s]===e||i[s].listener===e){o=i[s].listener,r=s;break}if(r<0)return this;0===r?i.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):f.call(t,e)},s.prototype.listenerCount=f,s.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},8386:(t,e,i)=>{var n=i(545).Buffer,r=i(9233);t.exports=function(t,e,i,s){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=i/8,a=n.alloc(o),l=n.alloc(s||0),c=n.alloc(0);o>0||s>0;){var h=new r;h.update(c),h.update(t),e&&h.update(e),c=h.digest();var u=0;if(o>0){var d=a.length-o;u=Math.min(o,c.length),c.copy(a,d,0,u),o-=u}if(u0){var f=l.length-s,p=Math.min(s,c.length-u);c.copy(l,f,u,u+p),s-=p}}return c.fill(0),{key:a,iv:l}}},7338:(t,e,i)=>{"use strict";var n=i(932).Buffer,r=i(7612).Transform;function s(t){r.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}i(5457)(s,r),s.prototype._transform=function(t,e,i){var n=null;try{this.update(t,e)}catch(r){n=r}i(n)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(i){e=i}t(e)},s.prototype.update=function(t,e){if(function(t,e){if(!n.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer")}(t),this._finalized)throw new Error("Digest already called");n.isBuffer(t)||(t=n.from(t,e));for(var i=this._block,r=0;this._blockOffset+t.length-r>=this._blockSize;){for(var s=this._blockOffset;s0;++o)this._length[o]+=a,(a=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*a);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},932:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},7749:(t,e,i)=>{var n=e;n.utils=i(9898),n.common=i(4901),n.sha=i(3205),n.ripemd=i(6425),n.hmac=i(4554),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},4901:(t,e,i)=>{"use strict";var n=i(9898),r=i(523);function s(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=s,s.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending=this.pending?this.pending.concat(t):t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var i=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-i,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-i,this.endian);for(var r=0;r>>24&255,n[r++]=t>>>16&255,n[r++]=t>>>8&255,n[r++]=255&t}else for(n[r++]=255&t,n[r++]=t>>>8&255,n[r++]=t>>>16&255,n[r++]=t>>>24&255,n[r++]=0,n[r++]=0,n[r++]=0,n[r++]=0,s=8;s{"use strict";var n=i(9898),r=i(523);function s(t,e,i){if(!(this instanceof s))return new s(t,e,i);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(e,i))}t.exports=s,s.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e{"use strict";var n=i(9898),r=i(4901),s=n.rotl32,o=n.sum32,a=n.sum32_3,l=n.sum32_4,c=r.BlockHash;function h(){if(!(this instanceof h))return new h;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(t,e,i,n){return t<=15?e^i^n:t<=31?e&i|~e&n:t<=47?(e|~i)^n:t<=63?e&n|i&~n:e^(i|~n)}function d(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function f(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}n.inherits(h,c),e.ripemd160=h,h.blockSize=512,h.outSize=160,h.hmacStrength=192,h.padLength=64,h.prototype._update=function(t,e){for(var i=this.h[0],n=this.h[1],r=this.h[2],c=this.h[3],h=this.h[4],b=i,v=n,_=r,w=c,x=h,C=0;C<80;C++){var A=o(s(l(i,u(C,n,r,c),t[p[C]+e],d(C)),g[C]),h);i=h,h=c,c=s(r,10),r=n,n=A,A=o(s(l(b,u(79-C,v,_,w),t[m[C]+e],f(C)),y[C]),x),b=x,x=w,w=s(_,10),_=v,v=A}A=a(this.h[1],r,w),this.h[1]=a(this.h[2],c,x),this.h[2]=a(this.h[3],h,b),this.h[3]=a(this.h[4],i,v),this.h[4]=a(this.h[0],n,_),this.h[0]=A},h.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},3205:(t,e,i)=>{"use strict";e.sha1=i(6126),e.sha224=i(4615),e.sha256=i(1801),e.sha384=i(8391),e.sha512=i(940)},6126:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(1866),o=n.rotl32,a=n.sum32,l=n.sum32_5,c=s.ft_1,h=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,h),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(t,e){for(var i=this.W,n=0;n<16;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898),r=i(1801);function s(){if(!(this instanceof s))return new s;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(s,r),t.exports=s,s.blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},1801:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(1866),o=i(523),a=n.sum32,l=n.sum32_4,c=n.sum32_5,h=s.ch32,u=s.maj32,d=s.s0_256,f=s.s1_256,p=s.g0_256,m=s.g1_256,g=r.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(b,g),t.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(t,e){for(var i=this.W,n=0;n<16;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898),r=i(940);function s(){if(!(this instanceof s))return new s;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(s,r),t.exports=s,s.blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},940:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(523),o=n.rotr64_hi,a=n.rotr64_lo,l=n.shr64_hi,c=n.shr64_lo,h=n.sum64,u=n.sum64_hi,d=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,y=r.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function _(t,e,i,n,r){var s=t&i^~t&r;return s<0&&(s+=4294967296),s}function w(t,e,i,n,r,s){var o=e&n^~e&s;return o<0&&(o+=4294967296),o}function x(t,e,i,n,r){var s=t&i^t&r^i&r;return s<0&&(s+=4294967296),s}function C(t,e,i,n,r,s){var o=e&n^e&s^n&s;return o<0&&(o+=4294967296),o}function A(t,e){var i=o(t,e,28)^o(e,t,2)^o(e,t,7);return i<0&&(i+=4294967296),i}function S(t,e){var i=a(t,e,28)^a(e,t,2)^a(e,t,7);return i<0&&(i+=4294967296),i}function k(t,e){var i=a(t,e,14)^a(t,e,18)^a(e,t,9);return i<0&&(i+=4294967296),i}function M(t,e){var i=o(t,e,1)^o(t,e,8)^l(t,e,7);return i<0&&(i+=4294967296),i}function E(t,e){var i=a(t,e,1)^a(t,e,8)^c(t,e,7);return i<0&&(i+=4294967296),i}function T(t,e){var i=a(t,e,19)^a(e,t,29)^c(t,e,6);return i<0&&(i+=4294967296),i}n.inherits(v,y),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(t,e){for(var i=this.W,n=0;n<32;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898).rotr32;function r(t,e,i){return t&e^~t&i}function s(t,e,i){return t&e^t&i^e&i}function o(t,e,i){return t^e^i}e.ft_1=function(t,e,i,n){return 0===t?r(e,i,n):1===t||3===t?o(e,i,n):2===t?s(e,i,n):void 0},e.ch32=r,e.maj32=s,e.p32=o,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},9898:(t,e,i)=>{"use strict";var n=i(523),r=i(5457);function s(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function o(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function l(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var i=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r>6|192,i[n++]=63&o|128):s(t,r)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++r)),i[n++]=o>>18|240,i[n++]=o>>12&63|128,i[n++]=o>>6&63|128,i[n++]=63&o|128):(i[n++]=o>>12|224,i[n++]=o>>6&63|128,i[n++]=63&o|128)}else for(r=0;r>>0;return o},e.split32=function(t,e){for(var i=new Array(4*t.length),n=0,r=0;n>>24,i[r+1]=s>>>16&255,i[r+2]=s>>>8&255,i[r+3]=255&s):(i[r+3]=s>>>24,i[r+2]=s>>>16&255,i[r+1]=s>>>8&255,i[r]=255&s)}return i},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,i){return t+e+i>>>0},e.sum32_4=function(t,e,i,n){return t+e+i+n>>>0},e.sum32_5=function(t,e,i,n,r){return t+e+i+n+r>>>0},e.sum64=function(t,e,i,n){var r=n+t[e+1]>>>0;t[e]=(r>>0,t[e+1]=r},e.sum64_hi=function(t,e,i,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,i,n){return e+n>>>0},e.sum64_4_hi=function(t,e,i,n,r,s,o,a){var l=0,c=e;return l+=(c=c+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,i,n,r,s,o,a){return e+n+s+a>>>0},e.sum64_5_hi=function(t,e,i,n,r,s,o,a,l,c){var h=0,u=e;return h+=(u=u+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,i,n,r,s,o,a,l,c){return e+n+s+a+c>>>0},e.rotr64_hi=function(t,e,i){return(e<<32-i|t>>>i)>>>0},e.rotr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0},e.shr64_hi=function(t,e,i){return t>>>i},e.shr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0}},1753:(t,e,i)=>{"use strict";var n=i(7749),r=i(5856),s=i(523);function o(t){if(!(this instanceof o))return new o(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=r.toArray(t.entropy,t.entropyEnc||"hex"),i=r.toArray(t.nonce,t.nonceEnc||"hex"),n=r.toArray(t.pers,t.persEnc||"hex");s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,n)}t.exports=o,o.prototype._init=function(t,e,i){var n=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1},o.prototype.generate=function(t,e,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=i,i=e,e=null),i&&(i=r.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length{e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,l=(1<>1,h=-7,u=i?r-1:0,d=i?-1:1,f=t[e+u];for(u+=d,s=f&(1<<-h)-1,f>>=-h,h+=a;h>0;s=256*s+t[e+u],u+=d,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=256*o+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),s-=c}return(f?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,l,c=8*s-r-1,h=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(e*l-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;t[i+f]=255&a,f+=p,a/=256,r-=8);for(o=o<0;t[i+f]=255&o,f+=p,o/=256,c-=8);t[i+f-p]|=128*m}},5457:t=>{t.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}}},6265:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},9233:(t,e,i)=>{"use strict";var n=i(5457),r=i(7338),s=i(545).Buffer,o=new Array(16);function a(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function l(t,e){return t<>>32-e}function c(t,e,i,n,r,s,o){return l(t+(e&i|~e&n)+r+s|0,o)+e|0}function h(t,e,i,n,r,s,o){return l(t+(e&n|i&~n)+r+s|0,o)+e|0}function u(t,e,i,n,r,s,o){return l(t+(e^i^n)+r+s|0,o)+e|0}function d(t,e,i,n,r,s,o){return l(t+(i^(e|~n))+r+s|0,o)+e|0}n(a,r),a.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var i=this._a,n=this._b,r=this._c,s=this._d;i=c(i,n,r,s,t[0],3614090360,7),s=c(s,i,n,r,t[1],3905402710,12),r=c(r,s,i,n,t[2],606105819,17),n=c(n,r,s,i,t[3],3250441966,22),i=c(i,n,r,s,t[4],4118548399,7),s=c(s,i,n,r,t[5],1200080426,12),r=c(r,s,i,n,t[6],2821735955,17),n=c(n,r,s,i,t[7],4249261313,22),i=c(i,n,r,s,t[8],1770035416,7),s=c(s,i,n,r,t[9],2336552879,12),r=c(r,s,i,n,t[10],4294925233,17),n=c(n,r,s,i,t[11],2304563134,22),i=c(i,n,r,s,t[12],1804603682,7),s=c(s,i,n,r,t[13],4254626195,12),r=c(r,s,i,n,t[14],2792965006,17),i=h(i,n=c(n,r,s,i,t[15],1236535329,22),r,s,t[1],4129170786,5),s=h(s,i,n,r,t[6],3225465664,9),r=h(r,s,i,n,t[11],643717713,14),n=h(n,r,s,i,t[0],3921069994,20),i=h(i,n,r,s,t[5],3593408605,5),s=h(s,i,n,r,t[10],38016083,9),r=h(r,s,i,n,t[15],3634488961,14),n=h(n,r,s,i,t[4],3889429448,20),i=h(i,n,r,s,t[9],568446438,5),s=h(s,i,n,r,t[14],3275163606,9),r=h(r,s,i,n,t[3],4107603335,14),n=h(n,r,s,i,t[8],1163531501,20),i=h(i,n,r,s,t[13],2850285829,5),s=h(s,i,n,r,t[2],4243563512,9),r=h(r,s,i,n,t[7],1735328473,14),i=u(i,n=h(n,r,s,i,t[12],2368359562,20),r,s,t[5],4294588738,4),s=u(s,i,n,r,t[8],2272392833,11),r=u(r,s,i,n,t[11],1839030562,16),n=u(n,r,s,i,t[14],4259657740,23),i=u(i,n,r,s,t[1],2763975236,4),s=u(s,i,n,r,t[4],1272893353,11),r=u(r,s,i,n,t[7],4139469664,16),n=u(n,r,s,i,t[10],3200236656,23),i=u(i,n,r,s,t[13],681279174,4),s=u(s,i,n,r,t[0],3936430074,11),r=u(r,s,i,n,t[3],3572445317,16),n=u(n,r,s,i,t[6],76029189,23),i=u(i,n,r,s,t[9],3654602809,4),s=u(s,i,n,r,t[12],3873151461,11),r=u(r,s,i,n,t[15],530742520,16),i=d(i,n=u(n,r,s,i,t[2],3299628645,23),r,s,t[0],4096336452,6),s=d(s,i,n,r,t[7],1126891415,10),r=d(r,s,i,n,t[14],2878612391,15),n=d(n,r,s,i,t[5],4237533241,21),i=d(i,n,r,s,t[12],1700485571,6),s=d(s,i,n,r,t[3],2399980690,10),r=d(r,s,i,n,t[10],4293915773,15),n=d(n,r,s,i,t[1],2240044497,21),i=d(i,n,r,s,t[8],1873313359,6),s=d(s,i,n,r,t[15],4264355552,10),r=d(r,s,i,n,t[6],2734768916,15),n=d(n,r,s,i,t[13],1309151649,21),i=d(i,n,r,s,t[4],4149444226,6),s=d(s,i,n,r,t[11],3174756917,10),r=d(r,s,i,n,t[2],718787259,15),n=d(n,r,s,i,t[9],3951481745,21),this._a=this._a+i|0,this._b=this._b+n|0,this._c=this._c+r|0,this._d=this._d+s|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=s.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},2533:(t,e,i)=>{var n=i(4870),r=i(8520);function s(t){this.rand=t||new r.Rand}t.exports=s,s.create=function(t){return new s(t)},s.prototype._randbelow=function(t){var e=t.bitLength(),i=Math.ceil(e/8);do{var r=new n(this.rand.generate(i))}while(r.cmp(t)>=0);return r},s.prototype._randrange=function(t,e){var i=e.sub(t);return t.add(this._randbelow(i))},s.prototype.test=function(t,e,i){var r=t.bitLength(),s=n.mont(t),o=new n(1).toRed(s);e||(e=Math.max(1,r/48|0));for(var a=t.subn(1),l=0;!a.testn(l);l++);for(var c=t.shrn(l),h=a.toRed(s);e>0;e--){var u=this._randrange(new n(2),a);i&&i(u);var d=u.toRed(s).redPow(c);if(0!==d.cmp(o)&&0!==d.cmp(h)){for(var f=1;f0;e--){var h=this._randrange(new n(2),o),u=t.gcd(h);if(0!==u.cmpn(1))return u;var d=h.toRed(r).redPow(l);if(0!==d.cmp(s)&&0!==d.cmp(c)){for(var f=1;f=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},523:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,i){if(t!=e)throw new Error(i||"Assertion failed: "+t+" != "+e)}},5856:(t,e)=>{"use strict";var i=e;function n(t){return 1===t.length?"0"+t:t}function r(t){for(var e="",i=0;i>8,o=255&r;s?i.push(s,o):i.push(o)}return i},i.zero2=n,i.toHex=r,i.encode=function(t,e){return"hex"===e?r(t):t}},7038:(t,e,i)=>{"use strict";i.d(e,{op:()=>st,$V:()=>ht,Xd:()=>ut});var n=i(9666),r=i(5960),s=(i(5446),i(9610)),o=i(9568),a=(i(6424),i(1096),i(1572)),l=i(1511);function c(t){return getComputedStyle(t)}function h(t,e){for(var i in e){var n=e[i];"number"==typeof n&&(n+="px"),t.style[i]=n}return t}function u(t){var e=document.createElement("div");return e.className=t,e}var d="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function f(t,e){if(!d)throw new Error("No element matching method supported");return d.call(t,e)}function p(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function m(t,e){return Array.prototype.filter.call(t.children,function(t){return f(t,e)})}var g=function(t){return"ps__thumb-"+t},y=function(t){return"ps__rail-"+t},b="ps__child--consume",v="ps--focus",_="ps--clicking",w=function(t){return"ps--active-"+t},x=function(t){return"ps--scrolling-"+t},C={x:null,y:null};function A(t,e){var i=t.element.classList,n=x(e);i.contains(n)?clearTimeout(C[e]):i.add(n)}function S(t,e){C[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(x(e))},t.settings.scrollingThreshold)}var k=function(t){this.element=t,this.handlers={}},M={isEmpty:{configurable:!0}};k.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},k.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(n){return!(!e||n===e)||(i.element.removeEventListener(t,n,!1),!1)})},k.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},M.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(k.prototype,M);var E=function(){this.eventElements=[]};function T(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}function L(t,e,i,n,r){var s;if(void 0===n&&(n=!0),void 0===r&&(r=!1),"top"===e)s=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");s=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,i,n,r){var s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],h=i[5];void 0===n&&(n=!0),void 0===r&&(r=!1);var u=t.element;t.reach[l]=null,u[a]<1&&(t.reach[l]="start"),u[a]>t[s]-t[o]-1&&(t.reach[l]="end"),e&&(u.dispatchEvent(T("ps-scroll-"+l)),e<0?u.dispatchEvent(T("ps-scroll-"+c)):e>0&&u.dispatchEvent(T("ps-scroll-"+h)),n&&function(t,e){A(t,e),S(t,e)}(t,l)),t.reach[l]&&(e||r)&&u.dispatchEvent(T("ps-"+l+"-reach-"+t.reach[l]))}(t,i,s,n,r)}function I(t){return parseInt(t,10)||0}E.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new k(t),this.eventElements.push(e)),e},E.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},E.prototype.unbind=function(t,e,i){var n=this.eventElement(t);n.unbind(e,i),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},E.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},E.prototype.once=function(t,e,i){var n=this.eventElement(t),r=function(t){n.unbind(e,r),i(t)};n.bind(e,r)};var O={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function D(t){var e=t.element,i=Math.floor(e.scrollTop),n=e.getBoundingClientRect();t.containerWidth=Math.ceil(n.width),t.containerHeight=Math.ceil(n.height),t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(m(e,y("x")).forEach(function(t){return p(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(m(e,y("y")).forEach(function(t){return p(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var i={width:e.railXWidth},n=Math.floor(t.scrollTop);i.left=e.isRtl?e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:t.scrollLeft,e.isScrollbarXUsingBottom?i.bottom=e.scrollbarXBottom-n:i.top=e.scrollbarXTop+n,h(e.scrollbarXRail,i);var r={top:n,height:e.railYHeight};e.isScrollbarYUsingRight?r.right=e.isRtl?e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth-9:e.scrollbarYRight-t.scrollLeft:r.left=e.isRtl?e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:e.scrollbarYLeft+t.scrollLeft,h(e.scrollbarYRail,r),h(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),h(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(w("x")):(e.classList.remove(w("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=!0===t.isRtl?t.contentWidth:0),t.scrollbarYActive?e.classList.add(w("y")):(e.classList.remove(w("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)}function R(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function P(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=t.element,d=null,f=null,p=null;function m(e){e.touches&&e.touches[0]&&(e[r]=e.touches[0].pageY),u[l]=d+p*(e[r]-f),A(t,c),D(t),e.stopPropagation(),e.preventDefault()}function g(){S(t,c),t[h].classList.remove(_),t.event.unbind(t.ownerDocument,"mousemove",m)}function y(e,o){d=u[l],o&&e.touches&&(e[r]=e.touches[0].pageY),f=e[r],p=(t[n]-t[i])/(t[s]-t[a]),o?t.event.bind(t.ownerDocument,"touchmove",m):(t.event.bind(t.ownerDocument,"mousemove",m),t.event.once(t.ownerDocument,"mouseup",g),e.preventDefault()),t[h].classList.add(_),e.stopPropagation()}t.event.bind(t[o],"mousedown",function(t){y(t)}),t.event.bind(t[o],"touchstart",function(t){y(t,!0)})}var Z={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var i=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top;t.element.scrollTop+=(i>t.scrollbarYTop?1:-1)*t.containerHeight,D(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var i=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left;t.element.scrollLeft+=(i>t.scrollbarXLeft?1:-1)*t.containerWidth,D(t),e.stopPropagation()})},"drag-thumb":function(t){P(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),P(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",function(i){if(!(i.isDefaultPrevented&&i.isDefaultPrevented()||i.defaultPrevented)&&(f(e,":hover")||f(t.scrollbarX,":focus")||f(t.scrollbarY,":focus"))){var n,r=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(r){if("IFRAME"===r.tagName)r=r.contentDocument.activeElement;else for(;r.shadowRoot;)r=r.shadowRoot.activeElement;if(f(n=r,"input,[contenteditable]")||f(n,"select,[contenteditable]")||f(n,"textarea,[contenteditable]")||f(n,"button,[contenteditable]"))return}var s=0,o=0;switch(i.which){case 37:s=i.metaKey?-t.contentWidth:i.altKey?-t.containerWidth:-30;break;case 38:o=i.metaKey?t.contentHeight:i.altKey?t.containerHeight:30;break;case 39:s=i.metaKey?t.contentWidth:i.altKey?t.containerWidth:30;break;case 40:o=i.metaKey?-t.contentHeight:i.altKey?-t.containerHeight:-30;break;case 32:o=i.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:o=t.containerHeight;break;case 34:o=-t.containerHeight;break;case 36:o=t.contentHeight;break;case 35:o=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==o||(e.scrollTop-=o,e.scrollLeft+=s,D(t),function(i,n){var r=Math.floor(e.scrollTop);if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}var s=e.scrollLeft;if(0===n){if(!t.scrollbarXActive)return!1;if(0===s&&i<0||s>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,o)&&i.preventDefault())}})},wheel:function(t){var e=t.element;function i(i){var n=function(t){var e=t.deltaX,i=-1*t.deltaY;return void 0!==e&&void 0!==i||(e=-1*t.wheelDeltaX/6,i=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,i*=10),e!=e&&i!=i&&(e=0,i=t.wheelDelta),t.shiftKey?[-i,-e]:[e,i]}(i),r=n[0],s=n[1];if(!function(t,i,n){if(!O.isWebKit&&e.querySelector("select:focus"))return!0;if(!e.contains(t))return!1;for(var r=t;r&&r!==e;){if(r.classList.contains(b))return!0;var s=c(r);if(n&&s.overflowY.match(/(scroll|auto)/)){var o=r.scrollHeight-r.clientHeight;if(o>0&&(r.scrollTop>0&&n<0||r.scrollTop0))return!0}if(i&&s.overflowX.match(/(scroll|auto)/)){var a=r.scrollWidth-r.clientWidth;if(a>0&&(r.scrollLeft>0&&i<0||r.scrollLeft0))return!0}r=r.parentNode}return!1}(i.target,r,s)){var o=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(s?e.scrollTop-=s*t.settings.wheelSpeed:e.scrollTop+=r*t.settings.wheelSpeed,o=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(r?e.scrollLeft+=r*t.settings.wheelSpeed:e.scrollLeft-=s*t.settings.wheelSpeed,o=!0):(e.scrollTop-=s*t.settings.wheelSpeed,e.scrollLeft+=r*t.settings.wheelSpeed),D(t),(o=o||function(i,n){var r=Math.floor(e.scrollTop),s=0===e.scrollTop,o=r+e.offsetHeight===e.scrollHeight,a=0===e.scrollLeft,l=e.scrollLeft+e.offsetWidth===e.scrollWidth;return!(Math.abs(n)>Math.abs(i)?s||o:a||l)||!t.settings.wheelPropagation}(r,s))&&!i.ctrlKey&&(i.stopPropagation(),i.preventDefault())}}void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)},touch:function(t){if(O.supportsTouch||O.supportsIePointer){var e=t.element,i={},n=0,r={},s=null;O.supportsTouch?(t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",u),t.event.bind(e,"touchend",d)):O.supportsIePointer&&(window.PointerEvent?(t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",u),t.event.bind(e,"pointerup",d)):window.MSPointerEvent&&(t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",u),t.event.bind(e,"MSPointerUp",d)))}function o(i,n){e.scrollTop-=n,e.scrollLeft-=i,D(t)}function a(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return!(t.pointerType&&"pen"===t.pointerType&&0===t.buttons||(!t.targetTouches||1!==t.targetTouches.length)&&(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function h(t){if(l(t)){var e=a(t);i.pageX=e.pageX,i.pageY=e.pageY,n=(new Date).getTime(),null!==s&&clearInterval(s)}}function u(s){if(l(s)){var h=a(s),u={pageX:h.pageX,pageY:h.pageY},d=u.pageX-i.pageX,f=u.pageY-i.pageY;if(function(t,i,n){if(!e.contains(t))return!1;for(var r=t;r&&r!==e;){if(r.classList.contains(b))return!0;var s=c(r);if(n&&s.overflowY.match(/(scroll|auto)/)){var o=r.scrollHeight-r.clientHeight;if(o>0&&(r.scrollTop>0&&n<0||r.scrollTop0))return!0}if(i&&s.overflowX.match(/(scroll|auto)/)){var a=r.scrollWidth-r.clientWidth;if(a>0&&(r.scrollLeft>0&&i<0||r.scrollLeft0))return!0}r=r.parentNode}return!1}(s.target,d,f))return;o(d,f),i=u;var p=(new Date).getTime(),m=p-n;m>0&&(r.x=d/m,r.y=f/m,n=p),function(i,n){var r=Math.floor(e.scrollTop),s=e.scrollLeft,o=Math.abs(i),a=Math.abs(n);if(a>o){if(n<0&&r===t.contentHeight-t.containerHeight||n>0&&0===r)return 0===window.scrollY&&n>0&&O.isChrome}else if(o>a&&(i<0&&s===t.contentWidth-t.containerWidth||i>0&&0===s))return!0;return!0}(d,f)&&s.preventDefault()}}function d(){t.settings.swipeEasing&&(clearInterval(s),s=setInterval(function(){t.isInitialized?clearInterval(s):r.x||r.y?Math.abs(r.x)<.01&&Math.abs(r.y)<.01?clearInterval(s):(o(30*r.x,30*r.y),r.x*=.8,r.y*=.8):clearInterval(s)},10))}}},F=function(t,e){var i=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var n in this.element=t,t.classList.add("ps"),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},e)this.settings[n]=e[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var r,s,o=function(){return t.classList.add(v)},a=function(){return t.classList.remove(v)};this.isRtl="rtl"===c(t).direction,!0===this.isRtl&&t.classList.add("ps__rtl"),this.isNegativeScroll=(s=t.scrollLeft,t.scrollLeft=-1,r=t.scrollLeft<0,t.scrollLeft=s,r),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new E,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=u(y("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=u(g("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",o),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=c(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=I(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=I(l.borderLeftWidth)+I(l.borderRightWidth),h(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=I(l.marginLeft)+I(l.marginRight),h(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=u(y("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=u(g("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",o),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var d=c(this.scrollbarYRail);this.scrollbarYRight=parseInt(d.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=I(d.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var e=c(t);return I(e.width)+I(e.paddingLeft)+I(e.paddingRight)+I(e.borderLeftWidth)+I(e.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=I(d.borderTopWidth)+I(d.borderBottomWidth),h(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=I(d.marginTop)+I(d.marginBottom),h(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return Z[t](i)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return i.onScroll(t)}),D(this)};F.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,h(this.scrollbarXRail,{display:"block"}),h(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=I(c(this.scrollbarXRail).marginLeft)+I(c(this.scrollbarXRail).marginRight),this.railYMarginHeight=I(c(this.scrollbarYRail).marginTop)+I(c(this.scrollbarYRail).marginBottom),h(this.scrollbarXRail,{display:"none"}),h(this.scrollbarYRail,{display:"none"}),D(this),L(this,"top",0,!1,!0),L(this,"left",0,!1,!0),h(this.scrollbarXRail,{display:""}),h(this.scrollbarYRail,{display:""}))},F.prototype.onScroll=function(t){this.isAlive&&(D(this),L(this,"top",this.element.scrollTop-this.lastScrollTop),L(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},F.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),p(this.scrollbarX),p(this.scrollbarY),p(this.scrollbarXRail),p(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},F.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")};const N=F;var B=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var i=-1;return t.some(function(t,n){return t[0]===e&&(i=n,!0)}),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var i=t(this.__entries__,e),n=this.__entries__[i];return n&&n[1]},e.prototype.set=function(e,i){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=i:this.__entries__.push([e,i])},e.prototype.delete=function(e){var i=this.__entries__,n=t(i,e);~n&&i.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var i=0,n=this.__entries__;i0},t.prototype.connect_=function(){U&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){U&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,i=void 0===e?"":e;H.some(function(t){return!!~i.indexOf(t)})&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),G=function(t,e){for(var i=0,n=Object.keys(e);i0},t}(),it="undefined"!=typeof WeakMap?new WeakMap:new B,nt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=j.getInstance(),n=new et(e,i,this);it.set(this,n)};["observe","unobserve","disconnect"].forEach(function(t){nt.prototype[t]=function(){var e;return(e=it.get(this))[t].apply(e,arguments)}});const rt=void 0!==q.ResizeObserver?q.ResizeObserver:nt,st=new a.OlP("PERFECT_SCROLLBAR_CONFIG");class ot{constructor(t,e,i,n){this.x=t,this.y=e,this.w=i,this.h=n}}class at{constructor(t,e){this.x=t,this.y=e}}const lt=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"];class ct{constructor(t={}){this.assign(t)}assign(t={}){for(const e in t)this[e]=t[e]}}let ht=(()=>{class t{constructor(t,e,i,r,s){this.zone=t,this.differs=e,this.elementRef=i,this.platformId=r,this.defaults=s,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new n.x,this.disabled=!1,this.psScrollY=new a.vpe,this.psScrollX=new a.vpe,this.psScrollUp=new a.vpe,this.psScrollDown=new a.vpe,this.psScrollLeft=new a.vpe,this.psScrollRight=new a.vpe,this.psYReachEnd=new a.vpe,this.psYReachStart=new a.vpe,this.psXReachEnd=new a.vpe,this.psXReachStart=new a.vpe}ngOnInit(){if(!this.disabled&&(0,l.NF)(this.platformId)){const t=new ct(this.defaults);t.assign(this.config),this.zone.runOutsideAngular(()=>{this.instance=new N(this.elementRef.nativeElement,t)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(()=>{this.ro=new rt(()=>{this.update()}),this.elementRef.nativeElement.children[0]&&this.ro.observe(this.elementRef.nativeElement.children[0]),this.ro.observe(this.elementRef.nativeElement)}),this.zone.runOutsideAngular(()=>{lt.forEach(t=>{const e=t.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`);(0,r.R)(this.elementRef.nativeElement,e).pipe((0,s.e)(20),(0,o.R)(this.ngDestroy)).subscribe(e=>{this[t].emit(e)})})})}}ngOnDestroy(){(0,l.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&"undefined"!=typeof window&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.instance&&this.instance.destroy()}),this.instance=null)}ngDoCheck(){!this.disabled&&this.configDiff&&(0,l.NF)(this.platformId)&&this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit())}ngOnChanges(t){t.disabled&&!t.disabled.isFirstChange()&&(0,l.NF)(this.platformId)&&t.disabled.currentValue!==t.disabled.previousValue&&(!0===t.disabled.currentValue?this.ngOnDestroy():!1===t.disabled.currentValue&&this.ngOnInit())}ps(){return this.instance}update(){"undefined"!=typeof window&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{if(!this.disabled&&this.configDiff)try{this.zone.runOutsideAngular(()=>{this.instance&&this.instance.update()})}catch(t){}},0))}geometry(t="scroll"){return new ot(this.elementRef.nativeElement[t+"Left"],this.elementRef.nativeElement[t+"Top"],this.elementRef.nativeElement[t+"Width"],this.elementRef.nativeElement[t+"Height"])}position(t=!1){return!t&&this.instance?new at(this.instance.reach.x||0,this.instance.reach.y||0):new at(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)}scrollable(t="any"){const e=this.elementRef.nativeElement;return"any"===t?e.classList.contains("ps--active-x")||e.classList.contains("ps--active-y"):"both"===t?e.classList.contains("ps--active-x")&&e.classList.contains("ps--active-y"):e.classList.contains("ps--active-"+t)}scrollTo(t,e,i){this.disabled||(null==e&&null==i?this.animateScrolling("scrollTop",t,i):(null!=t&&this.animateScrolling("scrollLeft",t,i),null!=e&&this.animateScrolling("scrollTop",e,i)))}scrollToX(t,e){this.animateScrolling("scrollLeft",t,e)}scrollToY(t,e){this.animateScrolling("scrollTop",t,e)}scrollToTop(t,e){this.animateScrolling("scrollTop",t||0,e)}scrollToLeft(t,e){this.animateScrolling("scrollLeft",t||0,e)}scrollToRight(t,e){this.animateScrolling("scrollLeft",this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth-(t||0),e)}scrollToBottom(t,e){this.animateScrolling("scrollTop",this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight-(t||0),e)}scrollToElement(t,e,i){if("string"==typeof t&&(t=this.elementRef.nativeElement.querySelector(t)),t){const n=t.getBoundingClientRect(),r=this.elementRef.nativeElement.getBoundingClientRect();this.elementRef.nativeElement.classList.contains("ps--active-x")&&this.animateScrolling("scrollLeft",n.left-r.left+this.elementRef.nativeElement.scrollLeft+(e||0),i),this.elementRef.nativeElement.classList.contains("ps--active-y")&&this.animateScrolling("scrollTop",n.top-r.top+this.elementRef.nativeElement.scrollTop+(e||0),i)}}animateScrolling(t,e,i){if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),i&&"undefined"!=typeof window){if(e!==this.elementRef.nativeElement[t]){let n=0,r=0,s=performance.now(),o=this.elementRef.nativeElement[t];const a=(o-e)/2,l=c=>{r+=Math.PI/(i/(c-s)),n=Math.round(e+a+a*Math.cos(r)),this.elementRef.nativeElement[t]===o&&(r>=Math.PI?this.animateScrolling(t,e,0):(this.elementRef.nativeElement[t]=n,o=this.elementRef.nativeElement[t],s=c,this.animation=window.requestAnimationFrame(l)))};window.requestAnimationFrame(l)}}else this.elementRef.nativeElement[t]=e}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.R0b),a.Y36(a.aQg),a.Y36(a.SBq),a.Y36(a.Lbi),a.Y36(st,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","perfectScrollbar",""]],inputs:{disabled:"disabled",config:["perfectScrollbar","config"]},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],features:[a.TTD]}),t})(),ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[l.ez],l.ez]}),t})()},4499:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(5097);Object.keys(n).forEach(function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})},6730:(t,e,i)=>{"use strict";var n=i(6309);e.certificate=i(8840);var r=n.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});e.RSAPrivateKey=r;var s=n.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});e.RSAPublicKey=s;var o=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())});e.PublicKey=o;var a=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),l=n.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())});e.PrivateKey=l;var c=n.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});e.EncryptedPrivateKey=c;var h=n.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});e.DSAPrivateKey=h,e.DSAparam=n.define("DSAparam",function(){this.int()});var u=n.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())});e.ECPrivateKey=u;var d=n.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});e.signature=n.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},8840:(t,e,i)=>{"use strict";var n=i(6309),r=n.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),s=n.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),o=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}),l=n.define("RelativeDistinguishedName",function(){this.setof(s)}),c=n.define("RDNSequence",function(){this.seqof(l)}),h=n.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),u=n.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),d=n.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=n.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(h),this.key("validity").use(u),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())}),p=n.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())});t.exports=p},4153:(t,e,i)=>{var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,s=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=i(8386),a=i(3079),l=i(545).Buffer;t.exports=function(t,e){var i,c=t.toString(),h=c.match(n);if(h){var u="aes"+h[1],d=l.from(h[2],"hex"),f=l.from(h[3].replace(/[\r\n]/g,""),"base64"),p=o(e,d.slice(0,8),parseInt(h[1],10)).key,m=[],g=a.createDecipheriv(u,p,d);m.push(g.update(f)),m.push(g.final()),i=l.concat(m)}else{var y=c.match(s);i=l.from(y[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(r)[1],data:i}}},2291:(t,e,i)=>{var n=i(6730),r=i(873),s=i(4153),o=i(3079),a=i(8094),l=i(545).Buffer;function c(t){var e;"object"!=typeof t||l.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=l.from(t));var i,c,h=s(t,e),u=h.tag,d=h.data;switch(u){case"CERTIFICATE":c=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=n.PublicKey.decode(d,"der")),i=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=n.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"ENCRYPTED PRIVATE KEY":d=function(t,e){var i=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=r[t.algorithm.decrypt.cipher.algo.join(".")],c=t.algorithm.decrypt.cipher.iv,h=t.subjectPrivateKey,u=parseInt(s.split("-")[1],10)/8,d=a.pbkdf2Sync(e,i,n,u,"sha1"),f=o.createDecipheriv(s,d,c),p=[];return p.push(f.update(h)),p.push(f.final()),l.concat(p)}(d=n.EncryptedPrivateKey.decode(d,"der"),e);case"PRIVATE KEY":switch(i=(c=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:n.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=n.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+u)}}t.exports=c,c.signature=n.signature},8094:(t,e,i)=>{e.pbkdf2=i(2795),e.pbkdf2Sync=i(4315)},2795:(t,e,i)=>{var n,r,s=i(545).Buffer,o=i(5456),a=i(7072),l=i(4315),c=i(6123),h=global.crypto&&global.crypto.subtle,u={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function f(){return r||(r=global.process&&global.process.nextTick?global.process.nextTick:global.queueMicrotask?global.queueMicrotask:global.setImmediate?global.setImmediate:global.setTimeout)}function p(t,e,i,n,r){return h.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(function(t){return h.deriveBits({name:"PBKDF2",salt:e,iterations:i,hash:{name:r}},t,n<<3)}).then(function(t){return s.from(t)})}t.exports=function(t,e,i,r,m,g){"function"==typeof m&&(g=m,m=void 0);var y=u[(m=m||"sha1").toLowerCase()];if(y&&"function"==typeof global.Promise){if(o(i,r),t=c(t,a,"Password"),e=c(e,a,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then(function(t){f()(function(){e(null,t)})},function(t){f()(function(){e(t)})})}(function(t){if(global.process&&!global.process.browser)return Promise.resolve(!1);if(!h||!h.importKey||!h.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var e=p(n=n||s.alloc(8),n,10,128,t).then(function(){return!0}).catch(function(){return!1});return d[t]=e,e}(y).then(function(n){return n?p(t,e,i,r,y):l(t,e,i,r,m)}),g)}else f()(function(){var n;try{n=l(t,e,i,r,m)}catch(s){return g(s)}g(null,n)})}},7072:t=>{var e;e=global.process&&global.process.browser?"utf-8":global.process&&global.process.version?parseInt(process.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",t.exports=e},5456:t=>{var e=Math.pow(2,30)-1;t.exports=function(t,i){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof i)throw new TypeError("Key length not a number");if(i<0||i>e||i!=i)throw new TypeError("Bad key length")}},4315:(t,e,i)=>{var n=i(3072),r=i(3827),s=i(8687),o=i(545).Buffer,a=i(5456),l=i(7072),c=i(6123),h=o.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(t,e,i){var a=function(t){return"rmd160"===t||"ripemd160"===t?function(t){return(new r).update(t).digest()}:"md5"===t?n:function(e){return s(t).update(e).digest()}}(t),l="sha512"===t||"sha384"===t?128:64;e.length>l?e=a(e):e.length{var n=i(545).Buffer;t.exports=function(t,e,i){if(n.isBuffer(t))return t;if("string"==typeof t)return n.from(t,e);if(ArrayBuffer.isView(t))return n.from(t.buffer);throw new TypeError(i+" must be a string, a Buffer, a typed array or a DataView")}},7351:(t,e,i)=>{e.publicEncrypt=i(3714),e.privateDecrypt=i(864),e.privateEncrypt=function(t,i){return e.publicEncrypt(t,i,!0)},e.publicDecrypt=function(t,i){return e.privateDecrypt(t,i,!0)}},6859:(t,e,i)=>{var n=i(4500),r=i(545).Buffer;function s(t){var e=r.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){for(var i,o=r.alloc(0),a=0;o.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,f=0|o[1],p=8191&f,m=f>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],k=8191&S,M=S>>>13,E=0|o[6],T=8191&E,L=E>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],P=8191&R,Z=R>>>13,F=0|o[9],N=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,j=H>>>13,G=0|a[2],V=8191&G,Q=G>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),r=(r=Math.imul(p,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,j)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,j)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(p,Y)|0,r=(r=r+Math.imul(p,j)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,j)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,j)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,j)|0,n=n+Math.imul(p,V)|0,r=(r=r+Math.imul(p,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,j)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,j)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(p,J)|0,r=(r=r+Math.imul(p,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(k,q),r=(r=Math.imul(k,z))+Math.imul(M,q)|0,s=Math.imul(M,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,j)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,j)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(p,$)|0,r=(r=r+Math.imul(p,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(T,q),r=(r=Math.imul(T,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(k,Y)|0,r=(r=r+Math.imul(k,j)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,j)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(p,it)|0,r=(r=r+Math.imul(p,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(T,Y)|0,r=(r=r+Math.imul(T,j)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,j)|0,n=n+Math.imul(k,V)|0,r=(r=r+Math.imul(k,Q)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(p,st)|0,r=(r=r+Math.imul(p,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(Z,q)|0,s=Math.imul(Z,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,j)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,j)|0,n=n+Math.imul(T,V)|0,r=(r=r+Math.imul(T,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(k,J)|0,r=(r=r+Math.imul(k,X)|0)+Math.imul(M,J)|0,s=s+Math.imul(M,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(p,lt)|0,r=(r=r+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(P,Y)|0,r=(r=r+Math.imul(P,j)|0)+Math.imul(Z,Y)|0,s=s+Math.imul(Z,j)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(T,J)|0,r=(r=r+Math.imul(T,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(k,$)|0,r=(r=r+Math.imul(k,tt)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(p,ut)|0,r=(r=r+Math.imul(p,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,pt)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(N,Y),r=(r=Math.imul(N,j))+Math.imul(B,Y)|0,s=Math.imul(B,j),n=n+Math.imul(P,V)|0,r=(r=r+Math.imul(P,Q)|0)+Math.imul(Z,V)|0,s=s+Math.imul(Z,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(T,$)|0,r=(r=r+Math.imul(T,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(k,it)|0,r=(r=r+Math.imul(k,nt)|0)+Math.imul(M,it)|0,s=s+Math.imul(M,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var kt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(r=(r=r+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(N,V),r=(r=Math.imul(N,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(P,J)|0,r=(r=r+Math.imul(P,X)|0)+Math.imul(Z,J)|0,s=s+Math.imul(Z,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(T,it)|0,r=(r=r+Math.imul(T,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(k,st)|0,r=(r=r+Math.imul(k,ot)|0)+Math.imul(M,st)|0,s=s+Math.imul(M,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var Mt=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,pt)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(N,J),r=(r=Math.imul(N,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(P,$)|0,r=(r=r+Math.imul(P,tt)|0)+Math.imul(Z,$)|0,s=s+Math.imul(Z,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(T,st)|0,r=(r=r+Math.imul(T,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(k,lt)|0,r=(r=r+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,s=s+Math.imul(M,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Et=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(N,$),r=(r=Math.imul(N,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(P,it)|0,r=(r=r+Math.imul(P,nt)|0)+Math.imul(Z,it)|0,s=s+Math.imul(Z,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(T,lt)|0,r=(r=r+Math.imul(T,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(k,ut)|0,r=(r=r+Math.imul(k,dt)|0)+Math.imul(M,ut)|0,s=s+Math.imul(M,dt)|0;var Tt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(N,it),r=(r=Math.imul(N,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(P,st)|0,r=(r=r+Math.imul(P,ot)|0)+Math.imul(Z,st)|0,s=s+Math.imul(Z,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(T,ut)|0,r=(r=r+Math.imul(T,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(k,pt)|0)|0)+((8191&(r=(r=r+Math.imul(k,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((s=s+Math.imul(M,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(N,st),r=(r=Math.imul(N,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(P,lt)|0,r=(r=r+Math.imul(P,ct)|0)+Math.imul(Z,lt)|0,s=s+Math.imul(Z,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(r=(r=r+Math.imul(T,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(N,lt),r=(r=Math.imul(N,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(P,ut)|0,r=(r=r+Math.imul(P,dt)|0)+Math.imul(Z,ut)|0,s=s+Math.imul(Z,dt)|0;var Ot=(c+(n=n+Math.imul(O,pt)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(N,ut),r=(r=Math.imul(N,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(P,pt)|0)|0)+((8191&(r=(r=r+Math.imul(P,mt)|0)+Math.imul(Z,pt)|0))<<13)|0;c=((s=s+Math.imul(Z,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(N,pt))|0)+((8191&(r=(r=Math.imul(N,mt))+Math.imul(B,pt)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=kt,l[11]=Mt,l[12]=Et,l[13]=Tt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):i<63?f(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),f=this.pow(t,r),p=o;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},864:(t,e,i)=>{var n=i(2291),r=i(6859),s=i(5669),o=i(8466),a=i(4467),l=i(4500),c=i(9597),h=i(545).Buffer;t.exports=function(t,e,i){var u;u=t.padding?t.padding:i?1:4;var d,f=n(t),p=f.modulus.byteLength();if(e.length>p||new o(e).cmp(f.modulus)>=0)throw new Error("decryption error");d=i?c(new o(e),f):a(e,f);var m=h.alloc(p-d.length);if(d=h.concat([m,d],p),4===u)return function(t,e){var i=t.modulus.byteLength(),n=l("sha1").update(h.alloc(0)).digest(),o=n.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,o+1),c=e.slice(o+1),u=s(a,r(c,o)),d=s(c,r(u,i-o-1));if(function(t,e){t=h.from(t),e=h.from(e);var i=0,n=t.length;t.length!==e.length&&(i++,n=Math.min(t.length,e.length));for(var r=-1;++r=e.length){s++;break}var o=e.slice(2,r-1);if(("0002"!==n.toString("hex")&&!i||"0001"!==n.toString("hex")&&i)&&s++,o.length<8&&s++,s)throw new Error("decryption error");return e.slice(r)}(0,d,i);if(3===u)return d;throw new Error("unknown padding")}},3714:(t,e,i)=>{var n=i(2291),r=i(6716),s=i(4500),o=i(6859),a=i(5669),l=i(8466),c=i(9597),h=i(4467),u=i(545).Buffer;t.exports=function(t,e,i){var d;d=t.padding?t.padding:i?1:4;var f,p=n(t);if(4===d)f=function(t,e){var i=t.modulus.byteLength(),n=e.length,c=s("sha1").update(u.alloc(0)).digest(),h=c.length,d=2*h;if(n>i-d-2)throw new Error("message too long");var f=u.alloc(i-n-d-2),p=i-h-1,m=r(h),g=a(u.concat([c,f,u.alloc(1,1),e],p),o(m,p)),y=a(m,o(g,h));return new l(u.concat([u.alloc(1),y,g],i))}(p,e);else if(1===d)f=function(t,e,i){var n,s=e.length,o=t.modulus.byteLength();if(s>o-11)throw new Error("message too long");return n=i?u.alloc(o-s-3,255):function(t){for(var e,i=u.allocUnsafe(t),n=0,s=r(2*t),o=0;n=0)throw new Error("data too long for modulus")}return i?h(f,p):c(f,p)}},9597:(t,e,i)=>{var n=i(8466),r=i(545).Buffer;t.exports=function(t,e){return r.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},5669:t=>{t.exports=function(t,e){for(var i=t.length,n=-1;++n{var n=i(422),r=i(348),s=i(2253),o=i(3657);function a(t,e,i,s,o){var a=[].slice.call(arguments,1),l=a.length,c="function"==typeof a[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=s=void 0):2!==l||e.getContext||(s=i,i=e,e=void 0),new Promise(function(n,o){try{var a=r.create(i,s);n(t(a,e,s))}catch(l){o(l)}})}if(l<2)throw new Error("Too few arguments provided");2===l?(o=i,i=e,e=s=void 0):3===l&&(e.getContext&&void 0===o?(o=s,s=void 0):(o=s,s=i,i=e,e=void 0));try{var h=r.create(i,s);o(null,t(h,e,s))}catch(u){o(u)}}e.rT=a.bind(null,s.render),e.hz=a.bind(null,s.renderToDataURL),e.toString=a.bind(null,function(t,e,i){return o.render(t,i)})},422:t=>{t.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},6831:(t,e,i)=>{var n=i(1893).getSymbolSize;e.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),s=[i-7],o=1;o{var n=i(4358),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function s(t){this.mode=n.ALPHANUMERIC,this.data=t}s.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},t.exports=s},1401:t=>{function e(){this.buffer=[],this.length=0}e.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},t.exports=e},9834:(t,e,i)=>{var n=i(2060);function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},t.exports=r},3964:(t,e,i)=>{var n=i(2060),r=i(4358);function s(t){this.mode=r.BYTE,this.data=new n(t)}s.getBitsLength=function(t){return 8*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){for(var e=0,i=this.data.length;e{var n=i(3076),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],s=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},e.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return s[4*(t-1)+0];case n.M:return s[4*(t-1)+1];case n.Q:return s[4*(t-1)+2];case n.H:return s[4*(t-1)+3];default:return}}},3076:(t,e)=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},e.from=function(t,i){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(n){return i}}},8902:(t,e,i)=>{var n=i(1893).getSymbolSize;e.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},2256:(t,e,i)=>{var n=i(1893),r=n.getBCHDigit(1335);e.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,s=i<<10;n.getBCHDigit(s)-r>=0;)s^=1335<{var n,r,s=i(2060);s.alloc?(n=s.alloc(512),r=s.alloc(256)):(n=new s(512),r=new s(256)),function(){for(var t=1,e=0;e<255;e++)n[e]=t,r[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)n[e]=n[e-255]}(),e.log=function(t){if(t<1)throw new Error("log("+t+")");return r[t]},e.exp=function(t){return n[t]},e.mul=function(t,e){return 0===t||0===e?0:n[r[t]+r[e]]}},9889:(t,e,i)=>{var n=i(4358),r=i(1893);function s(t){this.mode=n.KANJI,this.data=t}s.getBitsLength=function(t){return 13*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}t.put(i=192*(i>>>8&255)+(255&i),13)}},t.exports=s},4740:(t,e)=>{function i(t,i,n){switch(t){case e.Patterns.PATTERN000:return(i+n)%2==0;case e.Patterns.PATTERN001:return i%2==0;case e.Patterns.PATTERN010:return n%3==0;case e.Patterns.PATTERN011:return(i+n)%3==0;case e.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(n/3))%2==0;case e.Patterns.PATTERN101:return i*n%2+i*n%3==0;case e.Patterns.PATTERN110:return(i*n%2+i*n%3)%2==0;case e.Patterns.PATTERN111:return(i*n%3+(i+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},e.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(t){for(var e=t.size,i=0,n=0,r=0,s=null,o=null,a=0;a=5&&(i+=n-5+3),s=c,n=1),(c=t.get(l,a))===o?r++:(r>=5&&(i+=r-5+3),o=c,r=1)}n>=5&&(i+=n-5+3),r>=5&&(i+=r-5+3)}return i},e.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,s),o>=10&&(1488===r||93===r)&&i++}return 40*i},e.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n{var n=i(3893),r=i(9947);e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},e.getBestModeForData=function(t){return r.testNumeric(t)?e.NUMERIC:r.testAlphanumeric(t)?e.ALPHANUMERIC:r.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},e.isValid=function(t){return t&&t.bit&&t.ccBits},e.from=function(t,i){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(n){return i}}},9246:(t,e,i)=>{var n=i(4358);function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},t.exports=r},507:(t,e,i)=>{var n=i(2060),r=i(5076);e.mul=function(t,e){var i=new n(t.length+e.length-1);i.fill(0);for(var s=0;s=0;){for(var s=i[0],o=0;o{var n=i(2060),r=i(1893),s=i(3076),o=i(1401),a=i(9834),l=i(6831),c=i(8902),h=i(4740),u=i(3347),d=i(278),f=i(9471),p=i(2256),m=i(4358),g=i(388),y=i(6265);function b(t,e,i){var n,r,s=t.size,o=p.getEncodedBits(e,i);for(n=0;n<15;n++)t.set(n<6?n:n<8?n+1:s-15+n,8,r=1==(o>>n&1),!0),t.set(8,n<8?s-n-1:n<9?15-n-1+1:15-n-1,r,!0);t.set(s-8,8,1,!0)}e.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,p,v=s.M;return void 0!==e&&(v=s.from(e.errorCorrectionLevel,s.M),i=f.from(e.version),p=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),function(t,e,i,s){var p;if(y(t))p=g.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var v=e;if(!v){var _=g.rawSplit(t);v=f.getBestVersionForData(_,i)}p=g.fromString(t,v||40)}var w=f.getBestVersionForData(p,i);if(!w)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e=0&&a<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===a||6===a)||a>=2&&a<=4&&l>=2&&l<=4,!0)}(A,e),function(t){for(var e=t.size,i=8;i=7&&function(t,e){for(var i,n,r,s=t.size,o=f.getEncodedBits(e),a=0;a<18;a++)i=Math.floor(a/3),t.set(i,n=a%3+s-8-3,r=1==(o>>a&1),!0),t.set(n,i,r,!0)}(A,e),function(t,e){for(var i=t.size,n=-1,r=i-1,s=7,o=0,a=i-1;a>0;a-=2)for(6===a&&a--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,a-l)){var c=!1;o>>s&1)),t.set(r,a-l,c),-1==--s&&(o++,s=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(A,x),isNaN(s)&&(s=h.getBestMask(A,b.bind(null,A,i))),h.applyMask(s,A),b(A,i,s),{modules:A,version:e,errorCorrectionLevel:i,maskPattern:s,segments:p}}(t,i,v,p)}},278:(t,e,i)=>{var n=i(2060),r=i(507);function s(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}s.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},s.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var i=n.concat([t,e],t.length+this.degree),s=r.mod(i,this.genPoly),o=this.degree-s.length;if(o>0){var a=new n(this.degree);return a.fill(0),s.copy(a,o),a}return s},t.exports=s},9947:(t,e)=>{var i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",n="(?:(?![A-Z0-9 $%*+\\-./:]|"+(i=i.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";e.KANJI=new RegExp(i,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(n,"g"),e.NUMERIC=new RegExp("[0-9]+","g"),e.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+i+"$"),s=new RegExp("^[0-9]+$"),o=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(t){return r.test(t)},e.testNumeric=function(t){return s.test(t)},e.testAlphanumeric=function(t){return o.test(t)}},388:(t,e,i)=>{var n=i(4358),r=i(9246),s=i(9946),o=i(3964),a=i(9889),l=i(9947),c=i(1893),h=i(45);function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function f(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),s=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(s,e,i).sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function p(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return s.getBitsLength(t);case n.KANJI:return a.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function m(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[]))},e.rawSplit=function(t){return e.fromArray(f(t,c.isKanjiModeEnabled()))}},1893:(t,e)=>{var i,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},e.getSymbolTotalCodewords=function(t){return n[t]},e.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},e.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');i=t},e.isKanjiModeEnabled=function(){return void 0!==i},e.toSJIS=function(t){return i(t)}},3893:(t,e)=>{e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},9471:(t,e,i)=>{var n=i(1893),r=i(3347),s=i(3076),o=i(4358),a=i(3893),l=i(6265),c=n.getBCHDigit(7973);function h(t,e){return o.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach(function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()}),i}e.from=function(t,e){return a.isValid(t)?parseInt(t,10):e},e.getCapacity=function(t,e,i){if(!a.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=o.BYTE);var s=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===o.MIXED)return s;var l=s-h(i,t);switch(i){case o.NUMERIC:return Math.floor(l/10*3);case o.ALPHANUMERIC:return Math.floor(l/11*2);case o.KANJI:return Math.floor(l/13);case o.BYTE:default:return Math.floor(l/8)}},e.getBestVersionForData=function(t,i){var n,r=s.from(i,s.M);if(l(t)){if(t.length>1)return function(t,i){for(var n=1;n<=40;n++)if(u(t,n)<=e.getCapacity(n,i,o.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,i,n){for(var r=1;r<=40;r++)if(i<=e.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},e.getEncodedBits=function(t){if(!a.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<{var n=i(717);e.render=function(t,e,i){var r=i,s=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(s=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var o=n.getImageWidth(t.modules.size,r),a=s.getContext("2d"),l=a.createImageData(o,o);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(a,s,o),a.putImageData(l,0,0),s},e.renderToDataURL=function(t,i,n){var r=n;return void 0!==r||i&&i.getContext||(r=i,i=void 0),r||(r={}),e.render(t,i,r).toDataURL(r.type||"image/png",(r.rendererOpts||{}).quality)}},3657:(t,e,i)=>{var n=i(717);function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function s(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}e.render=function(t,e,i){var o=n.getOptions(e),a=t.modules.size,l=t.modules.data,c=a+2*o.margin,h=o.color.light.a?"':"",u="0&&c>0&&t[l-1]||(n+=o?s("M",c+i,.5+h+i):s("m",r,0),r=0,o=!1),c+1',d=''+h+u+"\n";return"function"==typeof i&&i(null,d),d}},717:(t,e)=>{function i(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}e.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=t.width&&t.width>=21?t.width:void 0;return{width:e,scale:e?4:t.scale||4,margin:null==t.margin||t.margin<0?4:t.margin,color:{dark:i(t.color.dark||"#000000ff"),light:i(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},e.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},e.getImageWidth=function(t,i){var n=e.getScale(t,i);return Math.floor((t+2*i.margin)*n)},e.qrToImageData=function(t,i,n){for(var r=i.modules.size,s=i.modules.data,o=e.getScale(r,n),a=Math.floor((r+2*n.margin)*o),l=n.margin*o,c=[n.color.light,n.color.dark],h=0;h=l&&u>=l&&h{"use strict";var n=i(6265),r=(s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(e){return!1}}())?2147483647:1073741823;function s(t,e,i){return s.TYPED_ARRAY_SUPPORT||this instanceof s?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function a(t,e){var i;return s.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=s.prototype:(null===(i=t)&&(i=new s(e)),i.length=e),i}function l(t,e){var i=a(t,e<0?0:0|o(e));if(!s.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function u(t){return s.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),s.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},s.prototype.slice=function(t,e){var i,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),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;--r)t[r+e]=this[r+i];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r{"use strict";var n=65536,r=i(545).Buffer,s=global.crypto||global.msCrypto;t.exports=s&&s.getRandomValues?function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var i=r.allocUnsafe(t);if(t>0)if(t>n)for(var o=0;o{"use strict";function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var r=i(545),s=i(6716),o=r.Buffer,a=r.kMaxLength,l=global.crypto||global.msCrypto,c=Math.pow(2,32)-1;function h(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>c||t<0)throw new TypeError("offset must be a uint32");if(t>a||t>e)throw new RangeError("offset out of range")}function u(t,e,i){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>c||t<0)throw new TypeError("size must be a uint32");if(t+e>i||t>a)throw new RangeError("buffer too small")}function d(t,e,i,n){if(process.browser){var r=new Uint8Array(t.buffer,e,i);return l.getRandomValues(r),n?void process.nextTick(function(){n(null,t)}):t}if(!n)return s(i).copy(t,e),t;s(i,function(i,r){if(i)return n(i);r.copy(t,e),n(null,t)})}l&&l.getRandomValues||!process.browser?(e.randomFill=function(t,e,i,n){if(!(o.isBuffer(t)||t instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)n=e,e=0,i=t.length;else if("function"==typeof i)n=i,i=t.length-e;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return h(e,t.length),u(i,e,t.length),d(t,e,i,n)},e.randomFillSync=function(t,e,i){if(void 0===e&&(e=0),!(o.isBuffer(t)||t instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return h(e,t.length),void 0===i&&(i=t.length-e),u(i,e,t.length),d(t,e,i)}):(e.randomFill=n,e.randomFillSync=n)},1552:t=>{"use strict";var e={};function i(t,i,n){n||(n=Error);var r=function(t){var e,n;function r(e,n,r){return t.call(this,function(t,e,n){return"string"==typeof i?i:i(t,e,n)}(e,n,r))||this}return n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,r}(n);r.prototype.name=n.name,r.prototype.code=t,e[t]=r}function n(t,e){if(Array.isArray(t)){var i=t.length;return t=t.map(function(t){return String(t)}),i>2?"one of ".concat(e," ").concat(t.slice(0,i-1).join(", "),", or ")+t[i-1]:2===i?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}i("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),i("ERR_INVALID_ARG_TYPE",function(t,e,i){var r,s,o,a;if("string"==typeof e&&"not "===e.substr(0,"not ".length)?(r="must not be",e=e.replace(/^not /,"")):r="must be",function(t,e,i){return(void 0===i||i>t.length)&&(i=t.length),t.substring(i-e.length,i)===e}(t," argument"))s="The ".concat(t," ").concat(r," ").concat(n(e,"type"));else{var l=("number"!=typeof a&&(a=0),a+".".length>(o=t).length||-1===o.indexOf(".",a)?"argument":"property");s='The "'.concat(t,'" ').concat(l," ").concat(r," ").concat(n(e,"type"))}return s+". Received type ".concat(typeof i)},TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},9847:(t,e,i)=>{"use strict";var n=Object.keys||function(t){var e=[];for(var i in t)e.push(i);return e};t.exports=c;var r=i(617),s=i(4374);i(5457)(c,r);for(var o=n(s.prototype),a=0;a{"use strict";t.exports=r;var n=i(5774);function r(t){if(!(this instanceof r))return new r(t);n.call(this,t)}i(5457)(r,n),r.prototype._transform=function(t,e,i){i(null,t)}},617:(t,e,i)=>{"use strict";var n;t.exports=A,A.ReadableState=C,i(5068);var r,s=function(t,e){return t.listeners(e).length},o=i(6787),a=i(3833).Buffer,l=global.Uint8Array||function(){},c=i(4616);r=c&&c.debuglog?c.debuglog("stream"):function(){};var h,u,d,f=i(1062),p=i(2742),m=i(6187).getHighWaterMark,g=i(1552).q,y=g.ERR_INVALID_ARG_TYPE,b=g.ERR_STREAM_PUSH_AFTER_EOF,v=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;i(5457)(A,o);var w=p.errorOrDestroy,x=["error","close","destroy","pause","resume"];function C(t,e,r){n=n||i(9847),"boolean"!=typeof r&&(r=e instanceof n),this.objectMode=!!(t=t||{}).objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=m(this,t,"readableHighWaterMark",r),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=i(4706).s),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function A(t){if(n=n||i(9847),!(this instanceof A))return new A(t);this._readableState=new C(t,this,this instanceof n),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function S(t,e,i,n,s){r("readableAddChunk",e);var o,c=t._readableState;if(null===e)c.reading=!1,function(t,e){if(r("onEofChunk"),!e.ended){if(e.decoder){var i=e.decoder.end();i&&i.length&&(e.buffer.push(i),e.length+=e.objectMode?1:i.length)}e.ended=!0,e.sync?T(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,L(t)))}}(t,c);else if(s||(o=function(t,e){var i,n;return a.isBuffer(n=e)||n instanceof l||"string"==typeof e||void 0===e||t.objectMode||(i=new y("chunk",["string","Buffer","Uint8Array"],e)),i}(c,e)),o)w(t,o);else if(c.objectMode||e&&e.length>0)if("string"==typeof e||c.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),n)c.endEmitted?w(t,new _):k(t,c,e,!0);else if(c.ended)w(t,new b);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!i?(e=c.decoder.write(e),c.objectMode||0!==e.length?k(t,c,e,!1):I(t,c)):k(t,c,e,!1)}else n||(c.reading=!1,I(t,c));return!c.ended&&(c.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=M?t=M:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function T(t){var e=t._readableState;r("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(r("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(L,t))}function L(t){var e=t._readableState;r("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Z(t)}function I(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function R(t){r("readable nexttick read 0"),t.read(0)}function P(t,e){r("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Z(t),e.flowing&&!e.reading&&t.read(0)}function Z(t){var e=t._readableState;for(r("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?i=e.buffer.shift():!t||t>=e.length?(i=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):i=e.buffer.consume(t,e.decoder),i);var i}function N(t){var e=t._readableState;r("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(B,e,t))}function B(t,e){if(r("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var i=e._writableState;(!i||i.autoDestroy&&i.finished)&&e.destroy()}}function U(t,e){for(var i=0,n=t.length;i=e.highWaterMark:e.length>0)||e.ended))return r("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):T(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,s=e.needReadable;return r("need readable",s),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),i!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new v("_read()"))},A.prototype.pipe=function(t,e){var i=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,r("pipe count=%d opts=%j",n.pipesCount,e);var o=e&&!1===e.end||t===process.stdout||t===process.stderr?p:a;function a(){r("onend"),t.end()}n.endEmitted?process.nextTick(o):i.once("end",o),t.on("unpipe",function e(s,o){r("onunpipe"),s===i&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,r("cleanup"),t.removeListener("close",d),t.removeListener("finish",f),t.removeListener("drain",l),t.removeListener("error",u),t.removeListener("unpipe",e),i.removeListener("end",a),i.removeListener("end",p),i.removeListener("data",h),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||l())});var l=function(t){return function(){var e=t._readableState;r("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,Z(t))}}(i);t.on("drain",l);var c=!1;function h(e){r("ondata");var s=t.write(e);r("dest.write",s),!1===s&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(r("false write response, pause",n.awaitDrain),n.awaitDrain++),i.pause())}function u(e){r("onerror",e),p(),t.removeListener("error",u),0===s(t,"error")&&w(t,e)}function d(){t.removeListener("finish",f),p()}function f(){r("onfinish"),t.removeListener("close",d),p()}function p(){r("unpipe"),i.unpipe(t)}return i.on("data",h),function(t,e,i){if("function"==typeof t.prependListener)return t.prependListener(e,i);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(i):t._events.error=[i,t._events.error]:t.on(e,i)}(t,"error",u),t.once("close",d),t.once("finish",f),t.emit("pipe",i),n.flowing||(r("pipe resume"),i.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,i={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,i)),this;if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,r("on readable",n.length,n.reading),n.length?T(this):n.reading||process.nextTick(R,this))),i},A.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&process.nextTick(D,this),i},A.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||process.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(r("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(P,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,i=this._readableState,n=!1;for(var s in t.on("end",function(){if(r("wrapped end"),i.decoder&&!i.ended){var t=i.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(s){r("wrapped data"),i.decoder&&(s=i.decoder.write(s)),i.objectMode&&null==s||(i.objectMode||s&&s.length)&&(e.push(s)||(n=!0,t.pause()))}),t)void 0===this[s]&&"function"==typeof t[s]&&(this[s]=function(e){return function(){return t[e].apply(t,arguments)}}(s));for(var o=0;o{"use strict";t.exports=h;var n=i(1552).q,r=n.ERR_METHOD_NOT_IMPLEMENTED,s=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0,l=i(9847);function c(t,e){var i=this._transformState;i.transforming=!1;var n=i.writecb;if(null===n)return this.emit("error",new s);i.writechunk=null,i.writecb=null,null!=e&&this.push(e),n(t);var r=this._readableState;r.reading=!1,(r.needReadable||r.length{"use strict";function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,i){var n=t.entry;for(t.entry=null;n;){var r=n.callback;e.pendingcb--,r(void 0),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}var r;t.exports=A,A.WritableState=C;var s,o={deprecate:i(5435)},a=i(6787),l=i(3833).Buffer,c=global.Uint8Array||function(){},h=i(2742),u=i(6187).getHighWaterMark,d=i(1552).q,f=d.ERR_INVALID_ARG_TYPE,p=d.ERR_METHOD_NOT_IMPLEMENTED,m=d.ERR_MULTIPLE_CALLBACK,g=d.ERR_STREAM_CANNOT_PIPE,y=d.ERR_STREAM_DESTROYED,b=d.ERR_STREAM_NULL_VALUES,v=d.ERR_STREAM_WRITE_AFTER_END,_=d.ERR_UNKNOWN_ENCODING,w=h.errorOrDestroy;function x(){}function C(t,e,s){r=r||i(9847),"boolean"!=typeof s&&(s=e instanceof r),this.objectMode=!!(t=t||{}).objectMode,s&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=u(this,t,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=!(!1===t.decodeStrings),this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var i=t._writableState,n=i.sync,r=i.writecb;if("function"!=typeof r)throw new m;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(i),e)!function(t,e,i,n,r){--e.pendingcb,i?(process.nextTick(r,n),process.nextTick(L,t,e),t._writableState.errorEmitted=!0,w(t,n)):(r(n),t._writableState.errorEmitted=!0,w(t,n),L(t,e))}(t,i,n,e,r);else{var s=E(i)||t.destroyed;s||i.corked||i.bufferProcessing||!i.bufferedRequest||M(t,i),n?process.nextTick(k,t,i,s,r):k(t,i,s,r)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function A(t){var e=this instanceof(r=r||i(9847));if(!e&&!s.call(A,this))return new A(t);this._writableState=new C(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function S(t,e,i,n,r,s,o){e.writelen=n,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new y("write")):i?t._writev(r,e.onwrite):t._write(r,s,e.onwrite),e.sync=!1}function k(t,e,i,n){i||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),L(t,e)}function M(t,e){e.bufferProcessing=!0;var i=e.bufferedRequest;if(t._writev&&i&&i.next){var r=new Array(e.bufferedRequestCount),s=e.corkedRequestsFree;s.entry=i;for(var o=0,a=!0;i;)r[o]=i,i.isBuf||(a=!1),i=i.next,o+=1;r.allBuffers=a,S(t,e,!0,e.length,r,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new n(e),e.bufferedRequestCount=0}else{for(;i;){var l=i.chunk;if(S(t,e,!1,e.objectMode?1:l.length,l,i.encoding,i.callback),i=i.next,e.bufferedRequestCount--,e.writing)break}null===i&&(e.lastBufferedRequest=null)}e.bufferedRequest=i,e.bufferProcessing=!1}function E(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function T(t,e){t._final(function(i){e.pendingcb--,i&&w(t,i),e.prefinished=!0,t.emit("prefinish"),L(t,e)})}function L(t,e){var i=E(e);if(i&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,process.nextTick(T,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return i}i(5457)(A,a),C.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(C.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(A,Symbol.hasInstance,{value:function(t){return!!s.call(this,t)||this===A&&t&&t._writableState instanceof C}})):s=function(t){return t instanceof this},A.prototype.pipe=function(){w(this,new g)},A.prototype.write=function(t,e,i){var n,r=this._writableState,s=!1,o=!r.objectMode&&(l.isBuffer(n=t)||n instanceof c);return o&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),"function"==typeof e&&(i=e,e=null),o?e="buffer":e||(e=r.defaultEncoding),"function"!=typeof i&&(i=x),r.ending?function(t,e){var i=new v;w(t,i),process.nextTick(e,i)}(this,i):(o||function(t,e,i,n){var r;return null===i?r=new b:"string"==typeof i||e.objectMode||(r=new f("chunk",["string","Buffer"],i)),!r||(w(t,r),process.nextTick(n,r),!1)}(this,r,t,i))&&(r.pendingcb++,s=function(t,e,i,n,r,s){if(!i){var o=function(t,e,i){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=l.from(e,i)),e}(e,n,r);n!==o&&(i=!0,r="buffer",n=o)}var a=e.objectMode?1:n.length;e.length+=a;var c=e.length-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,i){i(new p("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,i){var n=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,i){e.ending=!0,L(t,e),i&&(e.finished?process.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,n,i),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}},4536:(t,e,i)=>{"use strict";var n;function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var s=i(6484),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),h=Symbol("lastPromise"),u=Symbol("handlePromise"),d=Symbol("stream");function f(t,e){return{value:t,done:e}}function p(t){var e=t[o];if(null!==e){var i=t[d].read();null!==i&&(t[h]=null,t[o]=null,t[a]=null,e(f(i,!1)))}}function m(t){process.nextTick(p,t)}var g=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((r(n={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){process.nextTick(function(){t[l]?i(t[l]):e(f(void 0,!0))})});var i,n=this[h];if(n)i=new Promise(function(t,e){return function(i,n){t.then(function(){e[c]?i(f(void 0,!0)):e[u](i,n)},n)}}(n,this));else{var r=this[d].read();if(null!==r)return Promise.resolve(f(r,!1));i=new Promise(this[u])}return this[h]=i,i}},Symbol.asyncIterator,function(){return this}),r(n,"return",function(){var t=this;return new Promise(function(e,i){t[d].destroy(null,function(t){t?i(t):e(f(void 0,!0))})})}),n),g);t.exports=function(t){var e,i=Object.create(y,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,u,{value:function(t,e){var n=i[d].read();n?(i[h]=null,i[o]=null,i[a]=null,t(f(n,!1))):(i[o]=t,i[a]=e)},writable:!0}),e));return i[h]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=i[a];return null!==e&&(i[h]=null,i[o]=null,i[a]=null,e(t)),void(i[l]=t)}var n=i[o];null!==n&&(i[h]=null,i[o]=null,i[a]=null,n(f(void 0,!0))),i[c]=!0}),t.on("readable",m.bind(null,i)),i}},1062:(t,e,i)=>{"use strict";function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,n)}return i}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var s=i(3833).Buffer,o=i(2361).inspect,a=o&&o.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e;return(e=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i}},{key:"concat",value:function(t){if(0===this.length)return s.alloc(0);for(var e=s.allocUnsafe(t>>>0),i=this.head,n=0;i;)s.prototype.copy.call(i.data,e,n),n+=i.data.length,i=i.next;return e}},{key:"consume",value:function(t,e){var i;return tr.length?r.length:t;if(n+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++i,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++i}return this.length-=i,n}},{key:"_getBuffer",value:function(t){var e=s.allocUnsafe(t),i=this.head,n=1;for(i.data.copy(e),t-=i.data.length;i=i.next;){var r=i.data,o=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,o),0==(t-=o)){o===r.length?(++n,this.head=i.next?i.next:this.tail=null):(this.head=i,i.data=r.slice(o));break}++n}return this.length-=n,e}},{key:a,value:function(t,e){return o(this,function(t){for(var e=1;e{"use strict";function e(t,e){n(t,e),i(t)}function i(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function n(t,e){t.emit("error",e)}t.exports={destroy:function(t,r){var s=this;return this._readableState&&this._readableState.destroyed||this._writableState&&this._writableState.destroyed?(r?r(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(n,this,t)):process.nextTick(n,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!r&&t?s._writableState?s._writableState.errorEmitted?process.nextTick(i,s):(s._writableState.errorEmitted=!0,process.nextTick(e,s,t)):process.nextTick(e,s,t):r?(process.nextTick(i,s),r(t)):process.nextTick(i,s)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var i=t._readableState,n=t._writableState;i&&i.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},6484:(t,e,i)=>{"use strict";var n=i(1552).q.ERR_STREAM_PREMATURE_CLOSE;function r(){}t.exports=function t(e,i,s){if("function"==typeof i)return t(e,null,i);i||(i={}),s=function(t){var e=!1;return function(){if(!e){e=!0;for(var i=arguments.length,n=new Array(i),r=0;r{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},5802:(t,e,i)=>{"use strict";var n,r=i(1552).q,s=r.ERR_MISSING_ARGS,o=r.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function l(t,e,r,s){s=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(s);var a=!1;t.on("close",function(){a=!0}),void 0===n&&(n=i(6484)),n(t,{readable:e,writable:r},function(t){if(t)return s(t);a=!0,s()});var l=!1;return function(e){if(!a&&!l)return l=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void s(e||new o("pipe"))}}function c(t){t()}function h(t,e){return t.pipe(e)}function u(t){return t.length?"function"!=typeof t[t.length-1]?a:t.pop():a}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i0,function(t){n||(n=t),t&&o.forEach(c),s||(o.forEach(c),r(n))})});return e.reduce(h)}},6187:(t,e,i)=>{"use strict";var n=i(1552).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,i,r){var s=function(t,e,i){return null!=t.highWaterMark?t.highWaterMark:e?t[i]:null}(e,r,i);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new n(r?i:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},6787:(t,e,i)=>{t.exports=i(5068).EventEmitter},7612:(t,e,i)=>{(e=t.exports=i(617)).Stream=e,e.Readable=e,e.Writable=i(4374),e.Duplex=i(9847),e.Transform=i(5774),e.PassThrough=i(9591),e.finished=i(6484),e.pipeline=i(5802)},3827:(t,e,i)=>{"use strict";var n=i(3833).Buffer,r=i(5457),s=i(7338),o=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],l=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],u=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function f(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(t,e){return t<>>32-e}function m(t,e,i,n,r,s,o,a){return p(t+(e^i^n)+s+o|0,a)+r|0}function g(t,e,i,n,r,s,o,a){return p(t+(e&i|~e&n)+s+o|0,a)+r|0}function y(t,e,i,n,r,s,o,a){return p(t+((e|~i)^n)+s+o|0,a)+r|0}function b(t,e,i,n,r,s,o,a){return p(t+(e&n|i&~n)+s+o|0,a)+r|0}function v(t,e,i,n,r,s,o,a){return p(t+(e^(i|~n))+s+o|0,a)+r|0}r(f,s),f.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var i=0|this._a,n=0|this._b,r=0|this._c,s=0|this._d,f=0|this._e,_=0|this._a,w=0|this._b,x=0|this._c,C=0|this._d,A=0|this._e,S=0;S<80;S+=1){var k,M;S<16?(k=m(i,n,r,s,f,t[a[S]],u[0],c[S]),M=v(_,w,x,C,A,t[l[S]],d[0],h[S])):S<32?(k=g(i,n,r,s,f,t[a[S]],u[1],c[S]),M=b(_,w,x,C,A,t[l[S]],d[1],h[S])):S<48?(k=y(i,n,r,s,f,t[a[S]],u[2],c[S]),M=y(_,w,x,C,A,t[l[S]],d[2],h[S])):S<64?(k=b(i,n,r,s,f,t[a[S]],u[3],c[S]),M=g(_,w,x,C,A,t[l[S]],d[3],h[S])):(k=v(i,n,r,s,f,t[a[S]],u[4],c[S]),M=m(_,w,x,C,A,t[l[S]],d[4],h[S])),i=f,f=s,s=p(r,10),r=n,n=k,_=A,A=C,C=p(x,10),x=w,w=M}var E=this._b+r+C|0;this._b=this._c+s+A|0,this._c=this._d+f+_|0,this._d=this._e+i+w|0,this._e=this._a+n+x|0,this._a=E},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=f},7425:(t,e,i)=>{"use strict";i.d(e,{X:()=>r});var n=i(9162),r=function(t){function e(e){var i=t.call(this)||this;return i._value=e,i}return(0,n.ZT)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var i=t.prototype._subscribe.call(this,e);return!i.closed&&e.next(this._value),i},e.prototype.getValue=function(){var t=this,e=t._value;if(t.hasError)throw t.thrownError;return this._throwIfClosed(),e},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(i(9666).x)},2391:(t,e,i)=>{"use strict";i.d(e,{y:()=>h});var n=i(9643),r=i(6042),s=i(3004),o=i(1879);function a(t){return 0===t.length?o.y:1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}}var l=i(7296),c=i(7849),h=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var i=new t;return i.source=this,i.operator=e,i},t.prototype.subscribe=function(t,e,i){var s,o=(s=t)&&s instanceof n.Lv||function(t){return t&&(0,c.m)(t.next)&&(0,c.m)(t.error)&&(0,c.m)(t.complete)}(s)&&(0,r.Nn)(s)?t:new n.Hp(t,e,i);if(l.v.useDeprecatedSynchronousErrorHandling)this._deprecatedSyncErrorSubscribe(o);else{var a=this.operator,h=this.source;o.add(a?a.call(o,h):h?this._subscribe(o):this._trySubscribe(o))}return o},t.prototype._deprecatedSyncErrorSubscribe=function(t){var e=t;e._syncErrorHack_isSubscribing=!0;var i=this.operator;if(i)t.add(i.call(t,this.source));else try{t.add(this._subscribe(t))}catch(r){e.__syncError=r}for(var n=e;n;){if("__syncError"in n)try{throw n.__syncError}finally{t.unsubscribe()}n=n.destination}e._syncErrorHack_isSubscribing=!1},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var i=this;return new(e=u(e))(function(e,n){var r;r=i.subscribe(function(e){try{t(e)}catch(i){n(i),null==r||r.unsubscribe()}},n,e)})},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[s.L]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e{"use strict";i.d(e,{t:()=>o});var n=i(9162),r=i(9666),s=i(5170),o=function(t){function e(e,i,n){void 0===e&&(e=1/0),void 0===i&&(i=1/0),void 0===n&&(n=s.l);var r=t.call(this)||this;return r._bufferSize=e,r._windowTime=i,r._timestampProvider=n,r._buffer=[],r._infiniteTimeWindow=!0,r._infiniteTimeWindow=i===1/0,r._bufferSize=Math.max(1,e),r._windowTime=Math.max(1,i),r}return(0,n.ZT)(e,t),e.prototype.next=function(e){var i=this,n=i._buffer,r=i._infiniteTimeWindow,s=i._timestampProvider,o=i._windowTime;i.isStopped||(n.push(e),!r&&n.push(s.now()+o)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),i=this._infiniteTimeWindow,n=this._buffer.slice(),r=0;r{"use strict";i.d(e,{x:()=>l});var n=i(9162),r=i(2391),s=i(6042),o=(0,i(9951).d)(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),a=i(8764),l=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return(0,n.ZT)(e,t),e.prototype.lift=function(t){var e=new c(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new o},e.prototype.next=function(t){var e,i;if(this._throwIfClosed(),!this.isStopped){var r=this.observers.slice();try{for(var s=(0,n.XA)(r),o=s.next();!o.done;o=s.next())o.value.next(t)}catch(a){e={error:a}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(e)throw e.error}}}},e.prototype.error=function(t){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;for(var e=this.observers;e.length;)e.shift().error(t)}},e.prototype.complete=function(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;for(var t=this.observers;t.length;)t.shift().complete()}},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,i=e.observers;return e.hasError||e.isStopped?s.Lc:(i.push(t),new s.w0(function(){return(0,a.P)(i,t)}))},e.prototype._checkFinalizedStatuses=function(t){var e=this,i=e.isStopped;e.hasError?t.error(e.thrownError):i&&t.complete()},e.prototype.asObservable=function(){var t=new r.y;return t.source=this,t},e.create=function(t,e){return new c(t,e)},e}(r.y),c=function(t){function e(e,i){var n=t.call(this)||this;return n.destination=e,n.source=i,n}return(0,n.ZT)(e,t),e.prototype.next=function(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,t)},e.prototype.error=function(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==i?i:s.Lc},e}(l)},9643:(t,e,i)=>{"use strict";i.d(e,{Hp:()=>f,Lv:()=>d});var n=i(9162),r=i(7849),s=i(6042),o=i(7296),a=i(2765),l=i(5397),c=h("C",void 0,void 0);function h(t,e,i){return{kind:t,value:e,error:i}}var u=i(4490),d=function(t){function e(e){var i=t.call(this)||this;return i.isStopped=!1,e?(i.destination=e,(0,s.Nn)(e)&&e.add(i)):i.destination=y,i}return(0,n.ZT)(e,t),e.create=function(t,e,i){return new f(t,e,i)},e.prototype.next=function(t){this.isStopped?g(function(t){return h("N",t,void 0)}(t),this):this._next(t)},e.prototype.error=function(t){this.isStopped?g(h("E",void 0,t),this):(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?g(c,this):(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(s.w0),f=function(t){function e(e,i,n){var s,a=t.call(this)||this;if((0,r.m)(e))s=e;else if(e){var c;s=e.next,i=e.error,n=e.complete,a&&o.v.useDeprecatedNextContext?(c=Object.create(e)).unsubscribe=function(){return a.unsubscribe()}:c=e,s=null==s?void 0:s.bind(c),i=null==i?void 0:i.bind(c),n=null==n?void 0:n.bind(c)}return a.destination={next:s?p(s,a):l.Z,error:p(null!=i?i:m,a),complete:n?p(n,a):l.Z},a}return(0,n.ZT)(e,t),e}(d);function p(t,e){return function(){for(var i=[],r=0;r{"use strict";i.d(e,{Lc:()=>l,w0:()=>a,Nn:()=>c});var n=i(9162),r=i(7849),s=(0,i(9951).d)(function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}),o=i(8764),a=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._teardowns=null}var e;return t.prototype.unsubscribe=function(){var t,e,i,o,a;if(!this.closed){this.closed=!0;var l=this._parentage;if(l)if(this._parentage=null,Array.isArray(l))try{for(var c=(0,n.XA)(l),u=c.next();!u.done;u=c.next())u.value.remove(this)}catch(y){t={error:y}}finally{try{u&&!u.done&&(e=c.return)&&e.call(c)}finally{if(t)throw t.error}}else l.remove(this);var d=this.initialTeardown;if((0,r.m)(d))try{d()}catch(b){a=b instanceof s?b.errors:[b]}var f=this._teardowns;if(f){this._teardowns=null;try{for(var p=(0,n.XA)(f),m=p.next();!m.done;m=p.next()){var g=m.value;try{h(g)}catch(v){a=null!=a?a:[],v instanceof s?a=(0,n.ev)((0,n.ev)([],(0,n.CR)(a)),(0,n.CR)(v.errors)):a.push(v)}}}catch(_){i={error:_}}finally{try{m&&!m.done&&(o=p.return)&&o.call(p)}finally{if(i)throw i.error}}}if(a)throw new s(a)}},t.prototype.add=function(e){var i;if(e&&e!==this)if(this.closed)h(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(i=this._teardowns)&&void 0!==i?i:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&(0,o.P)(e,t)},t.prototype.remove=function(e){var i=this._teardowns;i&&(0,o.P)(i,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),l=a.EMPTY;function c(t){return t instanceof a||t&&"closed"in t&&(0,r.m)(t.remove)&&(0,r.m)(t.add)&&(0,r.m)(t.unsubscribe)}function h(t){(0,r.m)(t)?t():t.unsubscribe()}},7296:(t,e,i)=>{"use strict";i.d(e,{v:()=>n});var n={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},5868:(t,e,i)=>{"use strict";i.d(e,{a:()=>u});var n=i(2391),r=i(2846),s=i(5630),o=i(1879),a=i(8432),l=i(7070),c=i(9211),h=i(4659);function u(){for(var t=[],e=0;e{"use strict";i.d(e,{z:()=>a});var n=i(5813);function r(){return(0,n.J)(1)}var s=i(5622),o=i(7070);function a(){for(var t=[],e=0;e{"use strict";i.d(e,{P:()=>s});var n=i(2391),r=i(5630);function s(t){return new n.y(function(e){(0,r.Xf)(t()).subscribe(e)})}},4951:(t,e,i)=>{"use strict";i.d(e,{E:()=>n});var n=new(i(2391).y)(function(t){return t.complete()})},6891:(t,e,i)=>{"use strict";i.d(e,{D:()=>h});var n=i(2391),r=i(2846),s=i(5630),o=i(7070),a=i(4659),l=i(8432),c=i(9211);function h(){for(var t=[],e=0;e{"use strict";i.d(e,{Dp:()=>w,OO:()=>C,Xf:()=>x});var n=i(9162),r=i(3345),s=i(7849);function o(t){return(0,s.m)(null==t?void 0:t.then)}var a=i(3004),l=i(2391),c=i(6042),h=i(8006),u="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator",d=i(7491);function f(t,e){if(!t)throw new Error("Iterable cannot be null");return new l.y(function(i){var n=new c.w0;return n.add(e.schedule(function(){var r=t[Symbol.asyncIterator]();n.add(e.schedule(function(){var t=this;r.next().then(function(e){e.done?i.complete():(i.next(e.value),t.schedule())})}))})),n})}function p(t){return(0,s.m)(t[a.L])}function m(t){return(0,s.m)(null==t?void 0:t[u])}function g(t){return Symbol.asyncIterator&&(0,s.m)(null==t?void 0:t[Symbol.asyncIterator])}function y(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function b(t){return(0,n.FC)(this,arguments,function(){var e,i,r;return(0,n.Jh)(this,function(s){switch(s.label){case 0:e=t.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,(0,n.qq)(e.read())];case 3:return i=s.sent(),r=i.value,i.done?[4,(0,n.qq)(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,(0,n.qq)(r)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function v(t){return(0,s.m)(null==t?void 0:t.getReader)}var _=i(2765);function w(t,e){return e?function(t,e){if(null!=t){if(p(t))return function(t,e){return new l.y(function(i){var n=new c.w0;return n.add(e.schedule(function(){var r=t[a.L]();n.add(r.subscribe({next:function(t){n.add(e.schedule(function(){return i.next(t)}))},error:function(t){n.add(e.schedule(function(){return i.error(t)}))},complete:function(){n.add(e.schedule(function(){return i.complete()}))}}))})),n})}(t,e);if((0,r.z)(t))return(0,h.r)(t,e);if(o(t))return function(t,e){return new l.y(function(i){return e.schedule(function(){return t.then(function(t){i.add(e.schedule(function(){i.next(t),i.add(e.schedule(function(){return i.complete()}))}))},function(t){i.add(e.schedule(function(){return i.error(t)}))})})})}(t,e);if(g(t))return f(t,e);if(m(t))return function(t,e){return new l.y(function(i){var n;return i.add(e.schedule(function(){n=t[u](),(0,d.A)(i,e,function(){var t=n.next(),e=t.value;t.done?i.complete():(i.next(e),this.schedule())})})),function(){return(0,s.m)(null==n?void 0:n.return)&&n.return()}})}(t,e);if(v(t))return function(t,e){return f(b(t),e)}(t,e)}throw y(t)}(t,e):x(t)}function x(t){if(t instanceof l.y)return t;if(null!=t){if(p(t))return c=t,new l.y(function(t){var e=c[a.L]();if((0,s.m)(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if((0,r.z)(t))return C(t);if(o(t))return i=t,new l.y(function(t){i.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,_.h)});if(g(t))return A(t);if(m(t))return e=t,new l.y(function(t){var i,r;try{for(var s=(0,n.XA)(e),o=s.next();!o.done;o=s.next())if(t.next(o.value),t.closed)return}catch(a){i={error:a}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}t.complete()});if(v(t))return A(b(t))}var e,i,c;throw y(t)}function C(t){return new l.y(function(e){for(var i=0;i{"use strict";i.d(e,{h:()=>s});var n=i(8006),r=i(5630);function s(t,e){return e?(0,n.r)(t,e):(0,r.OO)(t)}},5960:(t,e,i)=>{"use strict";i.d(e,{R:()=>f});var n=i(9162),r=i(2391),s=i(7228),o=i(3345),a=i(7849),l=i(8432),c=i(5622),h=["addListener","removeListener"],u=["addEventListener","removeEventListener"],d=["on","off"];function f(t,e,i,m){if((0,a.m)(i)&&(m=i,i=void 0),m)return f(t,e,i).pipe((0,l.Z)(m));var g=(0,n.CR)(function(t){return(0,a.m)(t.addEventListener)&&(0,a.m)(t.removeEventListener)}(t)?u.map(function(n){return function(r){return t[n](e,r,i)}}):function(t){return(0,a.m)(t.addListener)&&(0,a.m)(t.removeListener)}(t)?h.map(p(t,e)):function(t){return(0,a.m)(t.on)&&(0,a.m)(t.off)}(t)?d.map(p(t,e)):[],2),y=g[0],b=g[1];if(!y&&(0,o.z)(t))return(0,s.z)(function(t){return f(t,e,i)})((0,c.h)(t));if(!y)throw new TypeError("Invalid event target");return new r.y(function(t){var e=function(){for(var e=[],i=0;i{"use strict";i.d(e,{T:()=>l});var n=i(5813),r=i(5622),s=i(5630),o=i(4951),a=i(7070);function l(){for(var t=[],e=0;e{"use strict";i.d(e,{of:()=>o});var n=i(5622),r=i(8006),s=i(7070);function o(){for(var t=[],e=0;e{"use strict";i.d(e,{_:()=>s});var n=i(2391),r=i(7849);function s(t,e){var i=(0,r.m)(t)?t:function(){return t},s=function(t){return t.error(i())};return new n.y(e?function(t){return e.schedule(s,0,t)}:s)}},8431:(t,e,i)=>{"use strict";i.d(e,{H:()=>a});var n=i(2391),r=i(2948),s=i(1495),o=i(2841);function a(t,e,i){void 0===t&&(t=0),void 0===i&&(i=r.P);var a=-1;return null!=e&&((0,s.K)(e)?i=e:a=e),new n.y(function(e){var n=(0,o.q)(t)?+t-i.now():t;n<0&&(n=0);var r=0;return i.schedule(function(){e.closed||(e.next(r++),0<=a?this.schedule(void 0,a):e.complete())},n)})}},4659:(t,e,i)=>{"use strict";i.d(e,{Q:()=>r});var n=i(9162),r=function(t){function e(e,i,n,r,s){var o=t.call(this,e)||this;return o.onFinalize=s,o._next=i?function(t){try{i(t)}catch(n){e.error(n)}}:t.prototype._next,o._error=r?function(t){try{r(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,o._complete=n?function(){try{n()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,o}return(0,n.ZT)(e,t),e.prototype.unsubscribe=function(){var e,i=this.closed;t.prototype.unsubscribe.call(this),!i&&(null===(e=this.onFinalize)||void 0===e||e.call(this))},e}(i(9643).Lv)},9610:(t,e,i)=>{"use strict";i.d(e,{e:()=>l});var n=i(2948),r=i(3386),s=i(5630),o=i(4659),a=i(8431);function l(t,e){return void 0===e&&(e=n.P),i=function(){return(0,a.H)(t,e)},(0,r.e)(function(t,e){var n=!1,r=null,a=null,l=!1,c=function(){if(null==a||a.unsubscribe(),a=null,n){n=!1;var t=r;r=null,e.next(t)}l&&e.complete()},h=function(){a=null,l&&e.complete()};t.subscribe(new o.Q(e,function(t){n=!0,r=t,a||(0,s.Xf)(i()).subscribe(a=new o.Q(e,c,h))},function(){l=!0,(!n||!a||a.closed)&&e.complete()}))});var i}},1816:(t,e,i)=>{"use strict";i.d(e,{K:()=>o});var n=i(5630),r=i(4659),s=i(3386);function o(t){return(0,s.e)(function(e,i){var s,a=null,l=!1;a=e.subscribe(new r.Q(i,void 0,void 0,function(r){s=(0,n.Xf)(t(r,o(t)(e))),a?(a.unsubscribe(),a=null,s.subscribe(i)):l=!0})),l&&(a.unsubscribe(),a=null,s.subscribe(i))})}},8196:(t,e,i)=>{"use strict";i.d(e,{b:()=>s});var n=i(7228),r=i(7849);function s(t,e){return(0,r.m)(e)?(0,n.z)(t,e,1):(0,n.z)(t,1)}},5057:(t,e,i)=>{"use strict";i.d(e,{b:()=>o});var n=i(2948),r=i(3386),s=i(4659);function o(t,e){return void 0===e&&(e=n.z),(0,r.e)(function(i,n){var r=null,o=null,a=null,l=function(){if(r){r.unsubscribe(),r=null;var t=o;o=null,n.next(t)}};function c(){var i=a+t,n=e.now();n{"use strict";i.d(e,{d:()=>s});var n=i(3386),r=i(4659);function s(t){return(0,n.e)(function(e,i){var n=!1;e.subscribe(new r.Q(i,function(t){n=!0,i.next(t)},function(){n||i.next(t),i.complete()}))})}},6493:(t,e,i)=>{"use strict";i.d(e,{g:()=>u});var n=i(2948),r=i(5613),s=i(9056),o=i(3286),a=i(1096),l=i(7228);function c(t,e){return e?function(i){return(0,r.z)(e.pipe((0,s.q)(1),(0,o.l)()),i.pipe(c(t)))}:(0,l.z)(function(e,i){return t(e,i).pipe((0,s.q)(1),(0,a.h)(e))})}var h=i(8431);function u(t,e){void 0===e&&(e=n.z);var i=(0,h.H)(t,e);return c(function(){return i})}},6424:(t,e,i)=>{"use strict";i.d(e,{x:()=>o});var n=i(1879),r=i(3386),s=i(4659);function o(t,e){return void 0===e&&(e=n.y),t=null!=t?t:a,(0,r.e)(function(i,n){var r,o=!0;i.subscribe(new s.Q(n,function(i){var s=e(i);!o&&t(r,s)||(o=!1,r=s,n.next(i))}))})}function a(t,e){return t===e}},8868:(t,e,i)=>{"use strict";i.d(e,{h:()=>s});var n=i(3386),r=i(4659);function s(t,e){return(0,n.e)(function(i,n){var s=0;i.subscribe(new r.Q(n,function(i){return t.call(e,i,s++)&&n.next(i)}))})}},849:(t,e,i)=>{"use strict";i.d(e,{x:()=>r});var n=i(3386);function r(t){return(0,n.e)(function(e,i){try{e.subscribe(i)}finally{i.add(t)}})}},8606:(t,e,i)=>{"use strict";i.d(e,{P:()=>c});var n=i(7325),r=i(8868),s=i(9056),o=i(4370),a=i(5334),l=i(1879);function c(t,e){var i=arguments.length>=2;return function(c){return c.pipe(t?(0,r.h)(function(e,i){return t(e,i,c)}):l.y,(0,s.q)(1),i?(0,o.d)(e):(0,a.T)(function(){return new n.K}))}}},3286:(t,e,i)=>{"use strict";i.d(e,{l:()=>o});var n=i(3386),r=i(4659),s=i(5397);function o(){return(0,n.e)(function(t,e){t.subscribe(new r.Q(e,s.Z))})}},1681:(t,e,i)=>{"use strict";i.d(e,{U:()=>s});var n=i(3386),r=i(4659);function s(t,e){return(0,n.e)(function(i,n){var s=0;i.subscribe(new r.Q(n,function(i){n.next(t.call(e,i,s++))}))})}},1096:(t,e,i)=>{"use strict";i.d(e,{h:()=>r});var n=i(1681);function r(t){return(0,n.U)(function(){return t})}},5813:(t,e,i)=>{"use strict";i.d(e,{J:()=>s});var n=i(7228),r=i(1879);function s(t){return void 0===t&&(t=1/0),(0,n.z)(r.y,t)}},7228:(t,e,i)=>{"use strict";i.d(e,{z:()=>l});var n=i(1681),r=i(5630),s=i(3386),o=i(4659),a=i(7849);function l(t,e,i){return void 0===i&&(i=1/0),(0,a.m)(e)?l(function(i,s){return(0,n.U)(function(t,n){return e(i,t,s,n)})((0,r.Xf)(t(i,s)))},i):("number"==typeof e&&(i=e),(0,s.e)(function(e,n){return function(t,e,i,n,s,a,l,c){var h=[],u=0,d=0,f=!1,p=function(){!f||h.length||u||e.complete()},m=function(t){u++;var s=!1;(0,r.Xf)(i(t,d++)).subscribe(new o.Q(e,function(t){e.next(t)},function(){s=!0},void 0,function(){if(s)try{for(u--;h.length&&u{"use strict";i.d(e,{Q:()=>s});var n=i(3386),r=i(4659);function s(t,e){return void 0===e&&(e=0),(0,n.e)(function(i,n){i.subscribe(new r.Q(n,function(i){return n.add(t.schedule(function(){return n.next(i)},e))},function(){return n.add(t.schedule(function(){return n.complete()},e))},function(i){return n.add(t.schedule(function(){return n.error(i)},e))}))})}},8193:(t,e,i)=>{"use strict";i.d(e,{R:()=>o});var n=i(3386),r=i(4659);function s(t,e,i,n,s){return function(o,a){var l=i,c=e,h=0;o.subscribe(new r.Q(a,function(e){var i=h++;c=l?t(c,e,i):(l=!0,e),n&&a.next(c)},s&&function(){l&&a.next(c),a.complete()}))}}function o(t,e){return(0,n.e)(s(t,e,arguments.length>=2,!0))}},7839:(t,e,i)=>{"use strict";i.d(e,{B:()=>c});var n=i(9162),r=i(5630),s=i(9056),o=i(9666),a=i(9643),l=i(3386);function c(t){void 0===t&&(t={});var e=t.connector,i=void 0===e?function(){return new o.x}:e,n=t.resetOnError,s=void 0===n||n,c=t.resetOnComplete,u=void 0===c||c,d=t.resetOnRefCountZero,f=void 0===d||d;return function(t){var e=null,n=null,o=null,c=0,d=!1,p=!1,m=function(){null==n||n.unsubscribe(),n=null},g=function(){m(),e=o=null,d=p=!1},y=function(){var t=e;g(),null==t||t.unsubscribe()};return(0,l.e)(function(t,l){c++,p||d||m();var b=o=null!=o?o:i();l.add(function(){0!=--c||p||d||(n=h(y,f))}),b.subscribe(l),e||(e=new a.Hp({next:function(t){return b.next(t)},error:function(t){p=!0,m(),n=h(g,s,t),b.error(t)},complete:function(){d=!0,m(),n=h(g,u),b.complete()}}),(0,r.Dp)(t).subscribe(e))})(t)}}function h(t,e){for(var i=[],r=2;r{"use strict";i.d(e,{T:()=>r});var n=i(8868);function r(t){return(0,n.h)(function(e,i){return t<=i})}},1258:(t,e,i)=>{"use strict";i.d(e,{O:()=>o});var n=i(5613),r=i(7070),s=i(3386);function o(){for(var t=[],e=0;e{"use strict";i.d(e,{w:()=>o});var n=i(5630),r=i(3386),s=i(4659);function o(t,e){return(0,r.e)(function(i,r){var o=null,a=0,l=!1,c=function(){return l&&!o&&r.complete()};i.subscribe(new s.Q(r,function(i){null==o||o.unsubscribe();var l=0,h=a++;(0,n.Xf)(t(i,h)).subscribe(o=new s.Q(r,function(t){return r.next(e?e(i,t,h,l++):t)},function(){o=null,c()}))},function(){l=!0,c()}))})}},9056:(t,e,i)=>{"use strict";i.d(e,{q:()=>o});var n=i(4951),r=i(3386),s=i(4659);function o(t){return t<=0?function(){return n.E}:(0,r.e)(function(e,i){var n=0;e.subscribe(new s.Q(i,function(e){++n<=t&&(i.next(e),t<=n&&i.complete())}))})}},9568:(t,e,i)=>{"use strict";i.d(e,{R:()=>a});var n=i(3386),r=i(4659),s=i(5630),o=i(5397);function a(t){return(0,n.e)(function(e,i){(0,s.Xf)(t).subscribe(new r.Q(i,function(){return i.complete()},o.Z)),!i.closed&&e.subscribe(i)})}},343:(t,e,i)=>{"use strict";i.d(e,{b:()=>a});var n=i(7849),r=i(3386),s=i(4659),o=i(1879);function a(t,e,i){var a=(0,n.m)(t)||e||i?{next:t,error:e,complete:i}:t;return a?(0,r.e)(function(t,e){t.subscribe(new s.Q(e,function(t){var i;null===(i=a.next)||void 0===i||i.call(a,t),e.next(t)},function(){var t;null===(t=a.complete)||void 0===t||t.call(a),e.complete()},function(t){var i;null===(i=a.error)||void 0===i||i.call(a,t),e.error(t)}))}):o.y}},5334:(t,e,i)=>{"use strict";i.d(e,{T:()=>o});var n=i(7325),r=i(3386),s=i(4659);function o(t){return void 0===t&&(t=a),(0,r.e)(function(e,i){var n=!1;e.subscribe(new s.Q(i,function(t){n=!0,i.next(t)},function(){return n?i.complete():i.error(t())}))})}function a(){return new n.K}},7411:(t,e,i)=>{"use strict";i.d(e,{V:()=>u});var n=i(2948),r=i(2841),s=i(3386),o=i(5630),a=i(9951),l=i(7491),c=i(4659),h=(0,a.d)(function(t){return function(e){void 0===e&&(e=null),t(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=e}});function u(t,e){var i=(0,r.q)(t)?{first:t}:"number"==typeof t?{each:t}:t,a=i.first,h=i.each,u=i.with,f=void 0===u?d:u,p=i.scheduler,m=void 0===p?null!=e?e:n.z:p,g=i.meta,y=void 0===g?null:g;if(null==a&&null==h)throw new TypeError("No timeout provided.");return(0,s.e)(function(t,e){var i,n,r=null,s=0,u=function(t){n=(0,l.A)(e,m,function(){i.unsubscribe(),(0,o.Xf)(f({meta:y,lastValue:r,seen:s})).subscribe(e)},t)};i=t.subscribe(new c.Q(e,function(t){null==n||n.unsubscribe(),s++,e.next(r=t),h>0&&u(h)},void 0,void 0,function(){(null==n?void 0:n.closed)||null==n||n.unsubscribe(),r=null})),u(null!=a?"number"==typeof a?a:+a-m.now():h)})}function d(t){throw new h(t)}},5653:(t,e,i)=>{"use strict";i.d(e,{M:()=>h});var n=i(9162),r=i(3386),s=i(4659),o=i(5630),a=i(1879),l=i(5397),c=i(7070);function h(){for(var t=[],e=0;e{"use strict";i.d(e,{r:()=>r});var n=i(2391);function r(t,e){return new n.y(function(i){var n=0;return e.schedule(function(){n===t.length?i.complete():(i.next(t[n++]),i.closed||this.schedule())})})}},6551:(t,e,i)=>{"use strict";i.d(e,{o:()=>a});var n=i(9162),r=function(t){function e(e,i){return t.call(this)||this}return(0,n.ZT)(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(i(6042).w0),s={setInterval:function(){for(var t=[],e=0;e{"use strict";i.d(e,{v:()=>o});var n=i(9162),r=i(5170),s=function(){function t(e,i){void 0===i&&(i=t.now),this.schedulerActionCtor=e,this.now=i}return t.prototype.schedule=function(t,e,i){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(i,e)},t.now=r.l.now,t}(),o=function(t){function e(e,i){void 0===i&&(i=s.now);var n=t.call(this,e,i)||this;return n.actions=[],n._active=!1,n._scheduled=void 0,n}return(0,n.ZT)(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var i;this._active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}},e}(s)},7911:(t,e,i)=>{"use strict";i.d(e,{E:()=>f});var n,r=i(9162),s=i(6551),o=1,a={};function l(t){return t in a&&(delete a[t],!0)}var c=function(t){var e=o++;return a[e]=!0,n||(n=Promise.resolve()),n.then(function(){return l(e)&&t()}),e},h=function(t){l(t)},u={setImmediate:function(){for(var t=[],e=0;e0?t.prototype.requestAsyncId.call(this,e,i,n):(e.actions.push(this),e._scheduled||(e._scheduled=u.setImmediate(e.flush.bind(e,void 0))))},e.prototype.recycleAsyncId=function(e,i,n){if(void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,i,n);0===e.actions.length&&(u.clearImmediate(i),e._scheduled=void 0)},e}(s.o),f=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,r.ZT)(e,t),e.prototype.flush=function(t){this._active=!0,this._scheduled=void 0;var e,i=this.actions,n=-1;t=t||i.shift();var r=i.length;do{if(e=t.execute(t.state,t.delay))break}while(++n{"use strict";i.d(e,{z:()=>r,P:()=>s});var n=i(6551),r=new(i(8106).v)(n.o),s=r},5170:(t,e,i)=>{"use strict";i.d(e,{l:()=>n});var n={now:function(){return(n.delegate||Date).now()},delegate:void 0}},2873:(t,e,i)=>{"use strict";i.d(e,{N:()=>s});var n=i(9162),r=function(t){function e(e,i){var n=t.call(this,e,i)||this;return n.scheduler=e,n.work=i,n}return(0,n.ZT)(e,t),e.prototype.schedule=function(e,i){return void 0===i&&(i=0),i>0?t.prototype.schedule.call(this,e,i):(this.delay=i,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,i){return i>0||this.closed?t.prototype.execute.call(this,e,i):this._execute(e,i)},e.prototype.requestAsyncId=function(e,i,n){return void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0?t.prototype.requestAsyncId.call(this,e,i,n):e.flush(this)},e}(i(6551).o),s=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,n.ZT)(e,t),e}(i(8106).v))(r)},4490:(t,e,i)=>{"use strict";i.d(e,{z:()=>r});var n=i(9162),r={setTimeout:function(){for(var t=[],e=0;e{"use strict";i.d(e,{L:()=>n});var n="function"==typeof Symbol&&Symbol.observable||"@@observable"},7325:(t,e,i)=>{"use strict";i.d(e,{K:()=>n});var n=(0,i(9951).d)(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}})},7070:(t,e,i)=>{"use strict";i.d(e,{jO:()=>o,yG:()=>a,_6:()=>l});var n=i(7849),r=i(1495);function s(t){return t[t.length-1]}function o(t){return(0,n.m)(s(t))?t.pop():void 0}function a(t){return(0,r.K)(s(t))?t.pop():void 0}function l(t,e){return"number"==typeof s(t)?t.pop():e}},2846:(t,e,i)=>{"use strict";i.d(e,{D:()=>a});var n=Array.isArray,r=Object.getPrototypeOf,s=Object.prototype,o=Object.keys;function a(t){if(1===t.length){var e=t[0];if(n(e))return{args:e,keys:null};if((a=e)&&"object"==typeof a&&r(a)===s){var i=o(e);return{args:i.map(function(t){return e[t]}),keys:i}}}var a;return{args:t,keys:null}}},8764:(t,e,i)=>{"use strict";function n(t,e){if(t){var i=t.indexOf(e);0<=i&&t.splice(i,1)}}i.d(e,{P:()=>n})},7491:(t,e,i)=>{"use strict";function n(t,e,i,n){void 0===n&&(n=0);var r=e.schedule(function(){try{i.call(this)}catch(e){t.error(e)}},n);return t.add(r),r}i.d(e,{A:()=>n})},9951:(t,e,i)=>{"use strict";function n(t){var e=t(function(t){Error.call(t),t.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}i.d(e,{d:()=>n})},9211:(t,e,i)=>{"use strict";function n(t,e){return t.reduce(function(t,i,n){return t[i]=e[n],t},{})}i.d(e,{n:()=>n})},1879:(t,e,i)=>{"use strict";function n(t){return t}i.d(e,{y:()=>n})},3345:(t,e,i)=>{"use strict";i.d(e,{z:()=>n});var n=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t}},2841:(t,e,i)=>{"use strict";function n(t){return t instanceof Date&&!isNaN(t)}i.d(e,{q:()=>n})},7849:(t,e,i)=>{"use strict";function n(t){return"function"==typeof t}i.d(e,{m:()=>n})},4776:(t,e,i)=>{"use strict";i.d(e,{b:()=>s});var n=i(2391),r=i(7849);function s(t){return!!t&&(t instanceof n.y||(0,r.m)(t.lift)&&(0,r.m)(t.subscribe))}},1495:(t,e,i)=>{"use strict";i.d(e,{K:()=>r});var n=i(7849);function r(t){return t&&(0,n.m)(t.schedule)}},3386:(t,e,i)=>{"use strict";i.d(e,{A:()=>r,e:()=>s});var n=i(7849);function r(t){return(0,n.m)(null==t?void 0:t.lift)}function s(t){return function(e){if(r(e))return e.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}},8432:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var n=i(9162),r=i(1681),s=Array.isArray;function o(t){return(0,r.U)(function(e){return function(t,e){return s(e)?t.apply(void 0,(0,n.ev)([],(0,n.CR)(e))):t(e)}(t,e)})}},5397:(t,e,i)=>{"use strict";function n(){}i.d(e,{Z:()=>n})},2765:(t,e,i)=>{"use strict";i.d(e,{h:()=>s});var n=i(7296),r=i(4490);function s(t){r.z.setTimeout(function(){var e=n.v.onUnhandledError;if(!e)throw t;e(t)})}},545:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},5968:(t,e,i)=>{"use strict";var n,r=i(3833),s=r.Buffer,o={};for(n in r)r.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(o[n]=r[n]);var a=o.Buffer={};for(n in s)s.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(a[n]=s[n]);if(o.Buffer.prototype=s.prototype,a.from&&a.from!==Uint8Array.from||(a.from=function(t,e,i){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return s(t,e,i)}),a.alloc||(a.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=s(t);return e&&0!==e.length?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n}),!o.kStringMaxLength)try{o.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(l){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),t.exports=o},3747:(t,e,i)=>{var n=i(545).Buffer;function r(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}r.prototype.update=function(t,e){"string"==typeof t&&(t=n.from(t,e=e||"utf8"));for(var i=this._block,r=this._blockSize,s=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var n=(4294967295&i)>>>0;this._block.writeUInt32BE((i-n)/4294967296,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var r=this._hash();return t?r.toString(t):r},r.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=r},8687:(t,e,i)=>{var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=i(4673),n.sha1=i(766),n.sha224=i(3263),n.sha256=i(9201),n.sha384=i(7566),n.sha512=i(9248)},4673:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<30|t>>>2}function h(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(l,r),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,u=0;u<16;++u)i[u]=t.readInt32BE(4*u);for(;u<80;++u)i[u]=i[u-3]^i[u-8]^i[u-14]^i[u-16];for(var d=0;d<80;++d){var f=~~(d/20),p=0|((e=n)<<5|e>>>27)+h(f,r,s,a)+l+i[d]+o[f];l=a,a=s,s=c(r),r=n,n=p}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=l},766:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<5|t>>>27}function h(t){return t<<30|t>>>2}function u(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(l,r),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,d=0;d<16;++d)i[d]=t.readInt32BE(4*d);for(;d<80;++d)i[d]=(e=i[d-3]^i[d-8]^i[d-14]^i[d-16])<<1|e>>>31;for(var f=0;f<80;++f){var p=~~(f/20),m=c(n)+u(p,r,s,a)+l+i[f]+o[p]|0;l=a,a=s,s=h(r),r=n,n=m}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=l},3263:(t,e,i)=>{var n=i(5457),r=i(9201),s=i(3747),o=i(545).Buffer,a=new Array(64);function l(){this.init(),this._w=a,s.call(this,64,56)}n(l,r),l.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},l.prototype._hash=function(){var t=o.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=l},9201:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function u(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function f(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(l,r),l.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)i[y]=t.readInt32BE(4*y);for(;y<64;++y)i[y]=0|(((e=i[y-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+i[y-7]+f(i[y-15])+i[y-16];for(var b=0;b<64;++b){var v=g+d(l)+c(l,p,m)+o[b]+i[b]|0,_=u(n)+h(n,r,s)|0;g=m,m=p,p=l,l=a+v|0,a=s,s=r,r=n,n=v+_|0}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},l.prototype._hash=function(){var t=s.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=l},7566:(t,e,i)=>{var n=i(5457),r=i(9248),s=i(3747),o=i(545).Buffer,a=new Array(160);function l(){this.init(),this._w=a,s.call(this,128,112)}n(l,r),l.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},l.prototype._hash=function(){var t=o.allocUnsafe(48);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=l},9248:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function l(){this.init(),this._w=a,r.call(this,128,112)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function u(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function f(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function y(t,e){return t>>>0>>0?1:0}n(l,r),l.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},l.prototype._update=function(t){for(var e=this._w,i=0|this._ah,n=0|this._bh,r=0|this._ch,s=0|this._dh,a=0|this._eh,l=0|this._fh,b=0|this._gh,v=0|this._hh,_=0|this._al,w=0|this._bl,x=0|this._cl,C=0|this._dl,A=0|this._el,S=0|this._fl,k=0|this._gl,M=0|this._hl,E=0;E<32;E+=2)e[E]=t.readInt32BE(4*E),e[E+1]=t.readInt32BE(4*E+4);for(;E<160;E+=2){var T=e[E-30],L=e[E-30+1],I=f(T,L),O=p(L,T),D=m(T=e[E-4],L=e[E-4+1]),R=g(L,T),P=e[E-32],Z=e[E-32+1],F=O+e[E-14+1]|0,N=I+e[E-14]+y(F,O)|0;N=(N=N+D+y(F=F+R|0,R)|0)+P+y(F=F+Z|0,Z)|0,e[E]=N,e[E+1]=F}for(var B=0;B<160;B+=2){N=e[B],F=e[B+1];var U=h(i,n,r),q=h(_,w,x),z=u(i,_),H=u(_,i),Y=d(a,A),j=d(A,a),G=o[B],V=o[B+1],Q=c(a,l,b),W=c(A,S,k),J=M+j|0,X=v+Y+y(J,M)|0;X=(X=(X=X+Q+y(J=J+W|0,W)|0)+G+y(J=J+V|0,V)|0)+N+y(J=J+F|0,F)|0;var K=H+q|0,$=z+U+y(K,H)|0;v=b,M=k,b=l,k=S,l=a,S=A,a=s+X+y(A=C+J|0,C)|0,s=r,C=x,r=n,x=w,n=i,w=_,i=X+$+y(_=J+K|0,J)|0}this._al=this._al+_|0,this._bl=this._bl+w|0,this._cl=this._cl+x|0,this._dl=this._dl+C|0,this._el=this._el+A|0,this._fl=this._fl+S|0,this._gl=this._gl+k|0,this._hl=this._hl+M|0,this._ah=this._ah+i+y(this._al,_)|0,this._bh=this._bh+n+y(this._bl,w)|0,this._ch=this._ch+r+y(this._cl,x)|0,this._dh=this._dh+s+y(this._dl,C)|0,this._eh=this._eh+a+y(this._el,A)|0,this._fh=this._fh+l+y(this._fl,S)|0,this._gh=this._gh+b+y(this._gl,k)|0,this._hh=this._hh+v+y(this._hl,M)|0},l.prototype._hash=function(){var t=s.allocUnsafe(64);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=l},1339:function(t,e,i){!function(e){"use strict";var n={};t.exports?(n.bytesToHex=i(1774).bytesToHex,n.convertString=i(906),t.exports=a):(n.bytesToHex=e.convertHex.bytesToHex,n.convertString=e.convertString,e.sha256=a);var r=[];!function(){function t(t){for(var e=Math.sqrt(t),i=2;i<=e;i++)if(!(t%i))return!1;return!0}function e(t){return 4294967296*(t-(0|t))|0}for(var i=2,n=0;n<64;)t(i)&&(r[n]=e(Math.pow(i,1/3)),n++),i++}();var s=[],o=function(t,e,i){for(var n=t[0],o=t[1],a=t[2],l=t[3],c=t[4],h=t[5],u=t[6],d=t[7],f=0;f<64;f++){if(f<16)s[f]=0|e[i+f];else{var p=s[f-15],m=s[f-2];s[f]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+s[f-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+s[f-16]}var g=n&o^n&a^o&a,y=d+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&h^~c&u)+r[f]+s[f];d=u,u=h,h=c,c=l+y|0,l=a,a=o,o=n,n=y+(((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+g)|0}t[0]=t[0]+n|0,t[1]=t[1]+o|0,t[2]=t[2]+a|0,t[3]=t[3]+l|0,t[4]=t[4]+c|0,t[5]=t[5]+h|0,t[6]=t[6]+u|0,t[7]=t[7]+d|0};function a(t,e){t.constructor===String&&(t=n.convertString.UTF8.stringToBytes(t));var i=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],r=function(t){for(var e=[],i=0,n=0;i>>5]|=t[i]<<24-n%32;return e}(t),s=8*t.length;r[s>>5]|=128<<24-s%32,r[15+(s+64>>9<<4)]=s;for(var a=0;a>>5]>>>24-i%32&255);return e}(i);return e&&e.asBytes?l:e&&e.asString?n.convertString.bytesToString(l):n.bytesToHex(l)}a.x2=function(t,e){return a(a(t,{asBytes:!0}),e)}}(this)},7562:(t,e,i)=>{t.exports=r;var n=i(5068).EventEmitter;function r(){n.call(this)}i(5457)(r,n),r.Readable=i(617),r.Writable=i(4374),r.Duplex=i(9847),r.Transform=i(5774),r.PassThrough=i(9591),r.finished=i(6484),r.pipeline=i(5802),r.Stream=r,r.prototype.pipe=function(t,e){var i=this;function r(e){t.writable&&!1===t.write(e)&&i.pause&&i.pause()}function s(){i.readable&&i.resume&&i.resume()}i.on("data",r),t.on("drain",s),t._isStdio||e&&!1===e.end||(i.on("end",a),i.on("close",l));var o=!1;function a(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(h(),0===n.listenerCount(this,"error"))throw t}function h(){i.removeListener("data",r),t.removeListener("drain",s),i.removeListener("end",a),i.removeListener("close",l),i.removeListener("error",c),t.removeListener("error",c),i.removeListener("end",h),i.removeListener("close",h),t.removeListener("close",h)}return i.on("error",c),t.on("error",c),i.on("end",h),i.on("close",h),t.on("close",h),t.emit("pipe",i),t}},4706:(t,e,i)=>{"use strict";var n=i(4160).Buffer,r=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===r||!r(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,i=function(t,e,i){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var n=i.charCodeAt(i.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function h(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function f(t){return t&&t.length?this.write(t):""}e.s=s,s.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i=0?(r>0&&(t.lastNeed=r-1),r):--n=0?(r>0&&(t.lastNeed=r-2),r):--n=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},4160:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},115:(t,e,i)=>{var n=i(5370);e.encode=n.encode,e.decode=n.decode},5370:(t,e)=>{"use strict";var i=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];e.encode=function(t){Buffer.isBuffer(t)||(t=new Buffer(t));for(var e,i,n=0,r=0,s=0,o=0,a=new Buffer(8*(e=t,i=Math.floor(e.length/5),e.length%5==0?i:i+1));n3?(o=(o=l&255>>s)<<(s=(s+5)%8)|(n+1>8-s,n++):(o=l>>8-(s+5)&31,0==(s=(s+5)%8)&&n++),a[r]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(o),r++}for(n=r;n>>(n=(n+5)%8),s++,e=255&r<<8-n)}return o.slice(0,s)}},5435:t=>{function e(t){try{if(!global.localStorage)return!1}catch(i){return!1}var e=global.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,i){if(e("noDeprecation"))return t;var n=!1;return function(){if(!n){if(e("throwDeprecation"))throw new Error(i);e("traceDeprecation")?console.trace(i):console.warn(i),n=!0}return t.apply(this,arguments)}}},9939:(t,e,i)=>{"use strict";i.d(e,{uq:()=>n,Hq:()=>r,at:()=>s,Xj:()=>o,gj:()=>a,Ql:()=>l,yA:()=>c,iK:()=>h,j5:()=>u,XQ:()=>d,BI:()=>f,UO:()=>p,RA:()=>m,qt:()=>g,cd:()=>y,Un:()=>b,ei:()=>v,Q2:()=>_,hc:()=>w,sX:()=>x,HI:()=>C,ab:()=>A,W2:()=>S,AE:()=>k,qH:()=>M,GL:()=>E,zj:()=>T,rR:()=>L,as:()=>I,kL:()=>O,Vb:()=>D,FA:()=>R,nL:()=>P,bJ:()=>Z,q9:()=>F,dP:()=>N,zm:()=>B,l3:()=>U,PP:()=>q,IR:()=>z,RE:()=>H,LW:()=>Y,CR:()=>j,y3:()=>G,bH:()=>V,eW:()=>Q,yL:()=>W,tk:()=>J,G0:()=>X,zH:()=>K,IZ:()=>$,ob:()=>tt,iM:()=>et,De:()=>it,UA:()=>nt,vI:()=>rt,z6:()=>st,od:()=>ot,Nn:()=>at,D8:()=>lt,LT:()=>ct,ER:()=>ht,N9:()=>ut,RS:()=>dt,rF:()=>ft,yw:()=>pt,xt:()=>mt,pu:()=>gt,p$:()=>yt,Ar:()=>bt,bm:()=>vt,lO:()=>_t,iG:()=>wt,k:()=>xt,nb:()=>Ct,e8:()=>At,x$:()=>St,IG:()=>kt,qs:()=>Mt,KK:()=>Et,_O:()=>Tt,H1:()=>Lt,nB:()=>It,uj:()=>Ot,Zt:()=>Dt});const n="RESET_CL_STORE",r="CLEAR_EFFECT_ERROR_CL",s="EFFECT_ERROR_CL",o="SET_CHILD_NODE_SETTINGS_CL",a="FETCH_INFO_CL_CL",l="SET_INFO_CL",c="FETCH_FEES_CL",h="SET_FEES_CL",u="FETCH_FEE_RATES_CL",d="SET_FEE_RATES_CL",f="FETCH_BALANCE_CL",p="SET_BALANCE_CL",m="FETCH_LOCAL_REMOTE_BALANCE_CL",g="SET_LOCAL_REMOTE_BALANCE_CL",y="GET_NEW_ADDRESS_CL",b="SET_NEW_ADDRESS_CL",v="FETCH_UTXOS_CL",_="SET_UTXOS_CL",w="FETCH_PEERS_CL",x="SET_PEERS_CL",C="SAVE_NEW_PEER_CL",A="NEWLY_ADDED_PEER_CL",S="ADD_PEER_CL",k="DETACH_PEER_CL",M="REMOVE_PEER_CL",E="FETCH_CHANNELS_CL",T="SET_CHANNELS_CL",L="UPDATE_CHANNELS_CL",I="SAVE_NEW_CHANNEL_CL",O="CLOSE_CHANNEL_CL",D="REMOVE_CHANNEL_CL",R="FETCH_PAYMENTS_CL",P="SET_PAYMENTS_CL",Z="DECODE_PAYMENT_CL",F="SET_DECODED_PAYMENT_CL",N="SEND_PAYMENT_CL",B="SEND_PAYMENT_STATUS_CL",U="GET_QUERY_ROUTES_CL",q="SET_QUERY_ROUTES_CL",z="PEER_LOOKUP_CL",H="CHANNEL_LOOKUP_CL",Y="INVOICE_LOOKUP_CL",j="SET_LOOKUP_CL",G="GET_FORWARDING_HISTORY_CL",V="SET_FORWARDING_HISTORY_CL",Q="FETCH_INVOICES_CL",W="SET_INVOICES_CL",J="SAVE_NEW_INVOICE_CL",X="ADD_INVOICE_CL",K="DELETE_EXPIRED_INVOICE_CL",$="SET_CHANNEL_TRANSACTION_CL",tt="SET_CHANNEL_TRANSACTION_RES_CL";class et{constructor(t){this.payload=t,this.type=r}}class it{constructor(t){this.payload=t,this.type=s}}class nt{constructor(t){this.payload=t,this.type=n}}class rt{constructor(t){this.payload=t,this.type=o}}class st{constructor(t){this.payload=t,this.type=a}}class ot{constructor(){this.type=c}}class at{constructor(t){this.payload=t,this.type=u}}class lt{constructor(){this.type=f}}class ct{constructor(){this.type=m}}class ht{constructor(t){this.payload=t,this.type=y}}class ut{constructor(){this.type=w}}class dt{constructor(t){this.payload=t,this.type=x}}class ft{constructor(t){this.payload=t,this.type=C}}class pt{constructor(t){this.payload=t,this.type=k}}class mt{constructor(){this.type=R}}class gt{constructor(t){this.payload=t,this.type=Z}}class yt{constructor(t){this.payload=t,this.type=F}}class bt{constructor(t){this.payload=t,this.type=N}}class vt{constructor(t){this.payload=t,this.type=U}}class _t{constructor(t){this.payload=t,this.type=q}}class wt{constructor(){this.type=E}}class xt{constructor(t){this.payload=t,this.type=L}}class Ct{constructor(t){this.payload=t,this.type=I}}class At{constructor(t){this.payload=t,this.type=O}}class St{constructor(t){this.payload=t,this.type=z}}class kt{constructor(t){this.payload=t,this.type=H}}class Mt{constructor(t){this.payload=t,this.type=j}}class Et{constructor(){this.type=G}}class Tt{constructor(t){this.payload=t,this.type=Q}}class Lt{constructor(t){this.payload=t,this.type=J}}class It{constructor(t){this.payload=t,this.type=K}}class Ot{constructor(t){this.payload=t,this.type=$}}class Dt{constructor(){this.type=v}}},8640:(t,e,i)=>{"use strict";i.d(e,{s:()=>S});var n=i(5573),r=i(9666),s=i(2041),o=i(5653),a=i(7228),l=i(9568),c=i(1681),h=i(1816),u=i(5963),d=i(2427),f=i(3793),p=i(9421),m=i(3929),g=i(9939),y=i(1572),b=i(9063),v=i(964),_=i(3191),w=i(3869),x=i(1084),C=i(6853),A=i(1511);let S=(()=>{class t{constructor(t,e,i,d,y,b,v,_){this.actions$=t,this.httpClient=e,this.store=i,this.sessionService=d,this.logger=y,this.commonService=b,this.router=v,this.location=_,this.CHILD_API_URL=u.T+"/cl",this.unSubs=[new r.x,new r.x],this.infoFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.gj),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.store.dispatch(new m.Fk("Getting Node Information...")),this.store.dispatch(new g.iM("FetchInfo")),this.httpClient.get(this.CHILD_API_URL+u.N.GETINFO_API).pipe((0,l.R)(this.actions$.pipe((0,n.l4)(m.RP))),(0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),e.chains&&e.chains.length&&e.chains[0]&&"object"==typeof e.chains[0]&&e.chains[0].hasOwnProperty("chain")&&e.chains[0].chain.toLowerCase().indexOf("bitcoin")<0?(this.store.dispatch(new m.Ac),this.store.dispatch(new m.wu({data:{type:p.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}})),{type:m.Nv}):(this.initializeRemainingData(e,t.payload.loadPage),{type:g.Ql,payload:e||{}}))),(0,h.K)(t=>(this.store.dispatch(new m.Iv),this.router.navigate(["/error"],{state:{errorCode:t.error&&t.error.error&&t.error.error.message&&t.error.error.message.code?t.error.error.message.code:t.error&&t.error.error&&t.error.error.code?t.error.error.code:t.status?t.status:"",errorMessage:(t.error&&t.error.message?t.error.message+" ":"")+(t.error&&t.error.error&&t.error.error.error&&"string"==typeof t.error.error.error?t.error.error.error:t.error&&t.error.error&&t.error.error.errno&&"string"==typeof t.error.error.errno?t.error.error.errno:t.error&&t.error.error&&"string"==typeof t.error.error?t.error.error:t.error&&"string"==typeof t.error?t.error:"Unknown Error")}}),this.handleErrorWithoutAlert("FetchInfo","Fetching Node Info Failed.",t),(0,s.of)({type:m.Zn})))))))),this.fetchFeesCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.yA),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchFees")),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API))),(0,c.U)(t=>(this.logger.info(t),{type:g.iK,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchFees","Fetching Fees Failed.",t),(0,s.of)({type:m.Zn}))))),this.fetchFeeRatesCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.j5),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchFeeRates")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/feeRates/"+t.payload))),(0,c.U)(t=>(this.logger.info(t),{type:g.XQ,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchFeeRates","Fetching Fee Rates Failed.",t),(0,s.of)({type:m.Zn}))))),this.fetchBalanceCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.BI),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchBalance")),this.httpClient.get(this.CHILD_API_URL+u.N.BALANCE_API))),(0,c.U)(t=>(this.logger.info(t),{type:g.UO,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchBalance","Fetching Balances Failed.",t),(0,s.of)({type:m.Zn}))))),this.fetchLocalRemoteBalanceCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.RA),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchLocalRemoteBalance")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/localremotebalance"))),(0,c.U)(t=>(this.logger.info(t),{type:g.qt,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchLocalRemoteBalance","Fetching Balances Failed.",t),(0,s.of)({type:m.Zn}))))),this.getNewAddressCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.cd),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"?type="+t.payload.addressCode).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.Un,payload:t&&t.address?t.address:{}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Generate New Address Failed",this.CHILD_API_URL+u.N.ON_CHAIN_API+"?type="+t.payload.addressId,e),(0,s.of)({type:m.Zn}))))))),this.setNewAddressCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Un),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.peersFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.hc),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchPeers")),this.httpClient.get(this.CHILD_API_URL+u.N.PEERS_API).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.sX,payload:t||[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPeers","Fetching Peers Failed.",t),(0,s.of)({type:m.Zn})))))))),this.saveNewPeerCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.HI),(0,o.M)(this.store.select("cl")),(0,a.z)(([t,e])=>(this.store.dispatch(new g.iM("SaveNewPeer")),this.httpClient.post(this.CHILD_API_URL+u.N.PEERS_API,{id:t.payload.id}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new g.RS(e&&e.length>0?e:[])),{type:g.ab,payload:{peer:e.find(e=>0===t.payload.id.indexOf(e.id))}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer","Peer Connection Failed.",t),(0,s.of)({type:m.Zn})))))))),this.detachPeerCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.AE),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.id+"?force="+t.payload.force).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Peer Disconnected Successfully!")),{type:g.qH,payload:{id:t.payload.id}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Unable to Detach Peer. Try again later.",this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.id,e),(0,s.of)({type:m.Zn}))))))),this.channelsFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.GL),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchChannels")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/listChannels").pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.KK),{type:g.zj,payload:t&&t.length>0?t:[]}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannels","Fetching Channels Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.openNewChannelCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.as),(0,a.z)(t=>{this.store.dispatch(new g.iM("SaveNewChannel"));let e={id:t.payload.peerId,satoshis:t.payload.satoshis,feeRate:t.payload.feeRate,announce:t.payload.announce,minconf:t.payload.minconf?t.payload.minconf:null};return t.payload.utxos&&(e.utxos=t.payload.utxos),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API,e).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Channel Added Successfully!")),this.store.dispatch(new g.D8),this.store.dispatch(new g.Zt),{type:g.GL})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel","Opening Channel Failed.",t),(0,s.of)({type:m.Zn}))))}))),this.updateChannelCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.rR),(0,a.z)(t=>this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/setChannelFee",{id:t.payload.channelId,base:t.payload.baseFeeMsat,ppm:t.payload.feeRate}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("all"===t.payload.channelId?{message:"All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}:{message:"Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3})),{type:g.GL})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Update Channel Failed",this.CHILD_API_URL+u.N.CHANNELS_API,t),(0,s.of)({type:m.Zn}))))))),this.closeChannelCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.kL),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.CHANNELS_API+"/"+t.payload.channelId+(t.payload.force?"?force="+t.payload.force:"")).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new g.iG),this.store.dispatch(new m.Lw("Channel Closed Successfully!")),{type:g.Vb,payload:{channelId:t.payload.channelId}})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Unable to Close Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_API,t),(0,s.of)({type:m.Zn}))))))),this.paymentsFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.FA),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchPayments")),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API))),(0,c.U)(t=>(this.logger.info(t),{type:g.nL,payload:t||[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPayments","Fetching Payments Failed.",t),(0,s.of)({type:m.Zn}))))),this.decodePaymentCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.bJ),(0,a.z)(t=>(this.store.dispatch(new g.iM("DecodePayment")),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"/"+t.payload.routeParam).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.q9,payload:t||{}})),(0,h.K)(e=>(t.payload.fromDialog?this.handleErrorWithoutAlert("DecodePayment","Decode Payment Failed.",e):this.handleErrorWithAlert("ERROR","Decode Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API+"/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.setDecodedPaymentCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.q9),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.sendPaymentCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.dP),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.store.dispatch(new g.iM("SendPayment")),this.httpClient.post(t.payload.pubkey&&""!==t.payload.pubkey?this.CHILD_API_URL+u.N.PAYMENTS_API+"/keysend":this.CHILD_API_URL+u.N.PAYMENTS_API+"/invoice",t.payload).pipe((0,c.U)(e=>{if(this.logger.info(e),this.store.dispatch(new m.Iv),e.error){this.logger.error("Error: "+e.payment_error);const i={status:e.payment_error.status,error:e.payment_error.error&&e.payment_error.error.error&&"object"==typeof e.payment_error.error.error?e.payment_error.error.error:{error:e.payment_error.error&&e.payment_error.error.error?e.payment_error.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API,i),{type:m.Zn}}return this.store.dispatch(new m.Lw("Payment Sent Successfully!")),this.store.dispatch(new g.iG),this.store.dispatch(new g.D8),this.store.dispatch(new g.xt),this.store.dispatch(new g.p$({})),{type:g.zm,payload:e}}),(0,h.K)(e=>{this.logger.error("Error: "+JSON.stringify(e));const i={status:e.status,error:e.error&&e.error.error&&"object"==typeof e.error.error?e.error.error:{error:e.error&&e.error.error?e.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API,i),(0,s.of)({type:m.Zn})})))))),this.queryRoutesFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.l3),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/getRoute/"+t.payload.destPubkey+"/"+t.payload.amount).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.PP,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.lO({routes:[]})),this.handleErrorWithAlert("ERROR","Get Query Routes Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/getRoute/"+t.payload.destPubkey+"/"+t.payload.amount,e),(0,s.of)({type:m.Zn}))))))),this.setQueryRoutesCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.PP),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.peerLookupCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.IR),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/listNode/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.CR,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Peer Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/listNode/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.channelLookupCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.RE),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/listChannel/"+t.payload.shortChannelID).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.CR,payload:t})),(0,h.K)(e=>(t.payload.showError?(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Channel Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/listChannel/"+t.payload.shortChannelID,e)):this.store.dispatch(new m.Iv),this.store.dispatch(new g.qs([])),(0,s.of)({type:m.Zn})))))))),this.invoiceLookupCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.LW),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"/listInvoice?label="+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.CR,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Invoice Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/listInvoice?label="+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.setLookupCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.CR),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.fetchForwardingHistoryCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.y3),(0,a.z)(t=>(this.store.dispatch(new g.iM("GetForwardingHistory")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/listForwards").pipe((0,c.U)(t=>(this.logger.info(t),{type:g.bH,payload:t})),(0,h.K)(t=>(this.store.dispatch(new g.De({action:"GetForwardingHistory",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR","Get Forwarding History Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/listForwards",t),(0,s.of)({type:m.Zn})))))))),this.deleteExpiredInvoiceCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.zH),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.INVOICES_API+(t.payload?"?maxexpiry="+t.payload:"")).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Invoices Deleted Successfully!")),{type:g.eW,payload:{num_max_invoices:1e6,reversed:!0}})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Delete Invoice Failed",this.CHILD_API_URL+u.N.INVOICES_API,t),(0,s.of)({type:m.Zn}))))))),this.saveNewInvoiceCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.tk),(0,a.z)(t=>(this.store.dispatch(new g.iM("SaveNewInvoice")),this.httpClient.post(this.CHILD_API_URL+u.N.INVOICES_API,{label:t.payload.label,amount:t.payload.amount,description:t.payload.description,expiry:t.payload.expiry,private:t.payload.private}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),e.msatoshi=t.payload.amount,e.label=t.payload.label,e.expires_at=Math.round((new Date).getTime()/1e3+t.payload.expiry),e.description=t.payload.description,e.status="unpaid",this.store.dispatch(new m.wu({data:{invoice:e,newlyAdded:!1,component:f.$}})),{type:g.G0,payload:e})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewInvoice","Add Invoice Failed.",t),(0,s.of)({type:m.Zn})))))))),this.invoicesFetchCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.eW),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchInvoices")),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"?num_max_invoices="+(t.payload.num_max_invoices?t.payload.num_max_invoices:1e6)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!t.payload.reversed||t.payload.reversed)).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.yL,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices","Fetching Invoices Failed.",t),(0,s.of)({type:m.Zn})))))))),this.SetChannelTransactionCL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.IZ),(0,a.z)(t=>(this.store.dispatch(new g.iM("SetChannelTransaction")),this.httpClient.post(this.CHILD_API_URL+u.N.ON_CHAIN_API,t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new g.D8),this.store.dispatch(new g.Zt),{type:g.ob,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SetChannelTransaction","Sending Fund Failed.",t),(0,s.of)({type:m.Zn})))))))),this.utxosFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.ei),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchUTXOs")),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"/utxos"))),(0,c.U)(t=>(this.logger.info(t),{type:g.Q2,payload:t&&t.outputs&&t.outputs.length>0?t.outputs:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchUTXOs","Fetching UTXOs Failed.",t),(0,s.of)({type:m.Zn}))))),this.store.select("cl").pipe((0,l.R)(this.unSubs[0])).subscribe(t=>{"INCOMPLETE"===t.initialAPIResponseStatus[0]&&t.initialAPIResponseStatus.length>9&&(t.initialAPIResponseStatus[0]="COMPLETE",this.store.dispatch(new m.Iv))})}initializeRemainingData(t,e){this.sessionService.setItem("clUnlocked","true");const i={identity_pubkey:t.id,alias:t.alias,testnet:"testnet"===t.network.toLowerCase(),chains:t.chains,uris:t.uris,version:t.version,api_version:t.api_version,currency_unit:p.NT.BTC,smaller_currency_unit:p.NT.SATS,numberOfPendingChannels:t.num_pending_channels};this.store.dispatch(new m.Fk("Initializing Node Data...")),this.store.dispatch(new m.e6(i)),this.store.dispatch(new g._O({num_max_invoices:1e6,index_offset:0,reversed:!0})),this.store.dispatch(new g.od),this.store.dispatch(new g.iG),this.store.dispatch(new g.D8),this.store.dispatch(new g.LT),this.store.dispatch(new g.Nn("perkw")),this.store.dispatch(new g.Nn("perkb")),this.store.dispatch(new g.N9),this.store.dispatch(new g.Zt),this.store.dispatch(new g.xt);let n=this.location.path();n.includes("/lnd/")?n=n.replace("/lnd/","/cl/"):n.includes("/ecl/")&&(n=n.replace("/ecl/","/cl/")),(n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/cl/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),401===i.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new g.De({action:t,code:i.status.toString(),message:i.error.error&&i.error.error.error&&i.error.error.error.error&&i.error.error.error.error.message&&"string"==typeof i.error.error.error.error.message?i.error.error.error.error.message:i.error.error&&i.error.error.error&&i.error.error.error.message&&"string"==typeof i.error.error.error.message?i.error.error.error.message:i.error.error&&i.error.error.message&&"string"==typeof i.error.error.message?i.error.error.message:i.error.message&&"string"==typeof i.error.message?i.error.message:"string"==typeof i.error?i.error:e})))}handleErrorWithAlert(t,e,i,n){this.logger.error(n),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new m.wu({data:{type:t,alertTitle:e,message:{code:n.status,message:n.error.error&&n.error.error.error&&n.error.error.error.error&&n.error.error.error.error.message&&"string"==typeof n.error.error.error.error.message?n.error.error.error.error.message:n.error.error&&n.error.error.error&&n.error.error.error.message&&"string"==typeof n.error.error.error.message?n.error.error.error.message:n.error.error&&n.error.error.message&&"string"==typeof n.error.error.message?n.error.error.message:n.error.message&&"string"==typeof n.error.message?n.error.message:"string"==typeof n.error?n.error:"Unknown Error",URL:i},component:d.H}})))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eX),y.LFG(b.eN),y.LFG(v.yh),y.LFG(_.m),y.LFG(w.mQ),y.LFG(x.v),y.LFG(C.F0),y.LFG(A.Ye))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},3793:(t,e,i)=>{"use strict";i.d(e,{$:()=>P});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),f=i(7439),p=i(7592),m=i(5980),g=i(7679),y=i(3600),b=i(6880),v=i(2609);function _(t,e){if(1&t&&o._UZ(0,"qrcode",30),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.bolt11)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function w(t,e){1&t&&(o.TgZ(0,"span",31),o._uU(1,"N/A"),o.qZA())}function x(t,e){if(1&t&&o._UZ(0,"qrcode",30),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.bolt11)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function C(t,e){1&t&&(o.TgZ(0,"span",32),o._uU(1,"QR Code Not Applicable"),o.qZA())}function A(t,e){1&t&&o._UZ(0,"mat-divider",33),2&t&&o.Q6J("inset",!0)}function S(t,e){if(1&t&&(o.TgZ(0,"div",16),o.TgZ(1,"div",34),o._UZ(2,"fa-icon",35),o.TgZ(3,"span"),o._uU(4),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.invoice.warning_capacity)}}function k(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}function M(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",21),o.TgZ(2,"div",16),o.TgZ(3,"div",22),o.TgZ(4,"h4",18),o._uU(5,"Payment Hash"),o.qZA(),o.TgZ(6,"span",23),o._uU(7),o.qZA(),o.qZA(),o.qZA(),o._UZ(8,"mat-divider",21),o.TgZ(9,"div",16),o.TgZ(10,"div",17),o.TgZ(11,"h4",18),o._uU(12,"Status"),o.qZA(),o.TgZ(13,"span",23),o._uU(14),o.ALo(15,"titlecase"),o.qZA(),o.qZA(),o.TgZ(16,"div",17),o.TgZ(17,"h4",18),o._uU(18,"Label"),o.qZA(),o.TgZ(19,"span",23),o._uU(20),o.qZA(),o.qZA(),o.qZA(),o._UZ(21,"mat-divider",21),o.TgZ(22,"div",16),o.TgZ(23,"div",17),o.TgZ(24,"h4",18),o._uU(25,"Amount Received"),o.qZA(),o.TgZ(26,"span",23),o._uU(27),o.ALo(28,"number"),o.qZA(),o.qZA(),o.TgZ(29,"div",17),o.TgZ(30,"h4",18),o._uU(31,"Date Settled"),o.qZA(),o.TgZ(32,"span",19),o._uU(33),o.ALo(34,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(35,"mat-divider",21),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(t.invoice.payment_hash),o.xp6(7),o.Oqu(o.lcZ(15,6,t.invoice.status)),o.xp6(6),o.Oqu(t.invoice.label),o.xp6(7),o.AsE("",o.lcZ(28,8,t.invoice.msatoshi_received/1e3)," ",t.invoice.msatoshi_received?"Sats":"",""),o.xp6(6),o.Oqu(o.xi3(34,10,1e3*t.invoice.paid_at,"dd/MMM/YYYY HH:mm")||"-")}}function E(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function T(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function L(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",36),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1,"Copy Invoice"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.bolt11)}}function I(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",37),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const O=function(t){return{"display-none":t}},D=function(t){return{"xs-scroll-y":t}},R=function(t,e){return{"mt-2":t,"mt-1":e}};let P=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.faExclamationTriangle=r.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(t){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-invoice-information"]],decls:55,vars:39,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,_,1,5,"qrcode",2),o.YNc(3,w,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,x,1,5,"qrcode",2),o.YNc(16,C,2,0,"span",13),o.qZA(),o.YNc(17,A,1,1,"mat-divider",14),o.YNc(18,S,5,2,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"div",17),o.TgZ(21,"h4",18),o._uU(22),o.qZA(),o.TgZ(23,"span",19),o._uU(24),o.ALo(25,"number"),o.YNc(26,k,2,0,"ng-container",20),o.qZA(),o.qZA(),o.TgZ(27,"div",17),o.TgZ(28,"h4",18),o._uU(29,"Date Expiry"),o.qZA(),o.TgZ(30,"span",19),o._uU(31),o.ALo(32,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(33,"mat-divider",21),o.TgZ(34,"div",16),o.TgZ(35,"div",22),o.TgZ(36,"h4",18),o._uU(37,"Description"),o.qZA(),o.TgZ(38,"span",19),o._uU(39),o.qZA(),o.qZA(),o.qZA(),o._UZ(40,"mat-divider",21),o.TgZ(41,"div",16),o.TgZ(42,"div",22),o.TgZ(43,"h4",18),o._uU(44,"Invoice"),o.qZA(),o.TgZ(45,"span",23),o._uU(46),o.qZA(),o.qZA(),o.qZA(),o.YNc(47,M,36,13,"div",20),o.TgZ(48,"div",24),o.TgZ(49,"button",25),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(50,E,2,0,"p",26),o.YNc(51,T,2,0,"ng-template",null,27,o.W1O),o.qZA(),o.YNc(53,L,2,1,"button",28),o.YNc(54,I,2,0,"button",29),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(52);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.bolt11&&""!==e.invoice.bolt11?"center start":"center center")("ngClass",o.VKq(30,O,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(32,D,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.bolt11&&""!==e.invoice.bolt11?"center start":"center center")("ngClass",o.VKq(34,O,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(1),o.Q6J("ngIf",e.invoice.warning_capacity),o.xp6(4),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Amount":"Amount Requested"),o.xp6(2),o.hij("",o.lcZ(25,25,e.invoice.msatoshi/1e3||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.msatoshi),o.xp6(5),o.Oqu(o.xi3(32,27,1e3*e.invoice.expires_at,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(e.invoice.description||"-"),o.xp6(7),o.Oqu(e.invoice.bolt11||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngClass",o.WLB(36,R,!e.showAdvanced,e.showAdvanced)),o.xp6(2),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,f.dk,p.BN,m.lW,f.dn,g.d,y.V,b.h,v.y],pipes:[u.JJ,u.uU,u.rS],styles:[""]}),t})()},6124:(t,e,i)=>{"use strict";i.d(e,{ok:()=>n,mZ:()=>r,Wz:()=>s,gk:()=>o,Go:()=>a,ml:()=>l,iR:()=>c,UA:()=>h,M8:()=>u,L2:()=>d,JI:()=>f,ct:()=>p,Oy:()=>m,ro:()=>g,we:()=>y,CF:()=>b,$9:()=>v,mn:()=>_,Tt:()=>w,IH:()=>x,md:()=>C,Ae:()=>A,BX:()=>S,J4:()=>k,JR:()=>M,gu:()=>E,nG:()=>T,yH:()=>L,r7:()=>I,Cu:()=>O,GT:()=>D,Wn:()=>R,iW:()=>P,Ao:()=>Z,Pm:()=>F,qC:()=>N,k5:()=>B,Qu:()=>U,xX:()=>q,wL:()=>z,N$:()=>H,oY:()=>Y,WJ:()=>j,Wk:()=>G,d2:()=>V,ht:()=>Q,iM:()=>W,De:()=>J,IF:()=>X,vI:()=>K,z6:()=>$,od:()=>tt,iG:()=>et,vN:()=>it,SF:()=>nt,oI:()=>rt,DM:()=>st,eb:()=>ot,N9:()=>at,RS:()=>lt,rF:()=>ct,hF:()=>ht,ER:()=>ut,nb:()=>dt,k:()=>ft,e8:()=>pt,xt:()=>mt,bm:()=>gt,lO:()=>yt,Ar:()=>bt,T$:()=>vt,eL:()=>_t,J6:()=>wt,_O:()=>xt,Ks:()=>Ct,x$:()=>At});const n="RESET_ECL_STORE",r="CLEAR_EFFECT_ERROR_ECL",s="EFFECT_ERROR_ECL",o="SET_CHILD_NODE_SETTINGS_ECL",a="FETCH_INFO_ECL",l="SET_INFO_ECL",c="FETCH_FEES_ECL",h="SET_FEES_ECL",u="FETCH_CHANNELS_ECL",d="SET_ACTIVE_CHANNELS_ECL",f="SET_PENDING_CHANNELS_ECL",p="SET_INACTIVE_CHANNELS_ECL",m="FETCH_CHANNEL_STATS_ECL",g="SET_CHANNEL_STATS_ECL",y="FETCH_ONCHAIN_BALANCE_ECL",b="SET_ONCHAIN_BALANCE_ECL",v="SET_LIGHTNING_BALANCE_ECL",_="SET_CHANNELS_STATUS_ECL",w="FETCH_PEERS_ECL",x="SET_PEERS_ECL",C="SAVE_NEW_PEER_ECL",A="NEWLY_ADDED_PEER_ECL",S="DETACH_PEER_ECL",k="REMOVE_PEER_ECL",M="GET_NEW_ADDRESS_ECL",E="SET_NEW_ADDRESS_ECL",T="SAVE_NEW_CHANNEL_ECL",L="UPDATE_CHANNELS_ECL",I="CLOSE_CHANNEL_ECL",O="REMOVE_CHANNEL_ECL",D="FETCH_PAYMENTS_ECL",R="SET_PAYMENTS_ECL",P="GET_QUERY_ROUTES_ECL",Z="SET_QUERY_ROUTES_ECL",F="SEND_PAYMENT_ECL",N="SEND_PAYMENT_STATUS_ECL",B="FETCH_TRANSACTIONS_ECL",U="SET_TRANSACTIONS_ECL",q="SEND_ONCHAIN_FUNDS_ECL",z="SEND_ONCHAIN_FUNDS_RES_ECL",H="FETCH_INVOICES_ECL",Y="SET_INVOICES_ECL",j="CREATE_INVOICE_ECL",G="ADD_INVOICE_ECL",V="PEER_LOOKUP_ECL",Q="SET_LOOKUP_ECL";class W{constructor(t){this.payload=t,this.type=r}}class J{constructor(t){this.payload=t,this.type=s}}class X{constructor(t){this.payload=t,this.type=n}}class K{constructor(t){this.payload=t,this.type=o}}class ${constructor(t){this.payload=t,this.type=a}}class tt{constructor(){this.type=c}}class et{constructor(t){this.payload=t,this.type=u}}class it{constructor(t){this.payload=t,this.type=d}}class nt{constructor(t){this.payload=t,this.type=f}}class rt{constructor(t){this.payload=t,this.type=p}}class st{constructor(){this.type=y}}class ot{constructor(t){this.payload=t,this.type=v}}class at{constructor(){this.type=w}}class lt{constructor(t){this.payload=t,this.type=x}}class ct{constructor(t){this.payload=t,this.type=C}}class ht{constructor(t){this.payload=t,this.type=S}}class ut{constructor(){this.type=M}}class dt{constructor(t){this.payload=t,this.type=T}}class ft{constructor(t){this.payload=t,this.type=L}}class pt{constructor(t){this.payload=t,this.type=I}}class mt{constructor(){this.type=D}}class gt{constructor(t){this.payload=t,this.type=P}}class yt{constructor(t){this.payload=t,this.type=Z}}class bt{constructor(t){this.payload=t,this.type=F}}class vt{constructor(t){this.payload=t,this.type=N}}class _t{constructor(){this.type=B}}class wt{constructor(t){this.payload=t,this.type=q}}class xt{constructor(){this.type=H}}class Ct{constructor(t){this.payload=t,this.type=j}}class At{constructor(t){this.payload=t,this.type=V}}},4147:(t,e,i)=>{"use strict";i.d(e,{o:()=>A});var n=i(5573),r=i(9666),s=i(2041),o=i(5653),a=i(7228),l=i(9568),c=i(1681),h=i(1816),u=i(5963),d=i(2427),f=i(3921),p=i(6124),m=i(3929),g=i(1572),y=i(9063),b=i(964),v=i(3191),_=i(3869),w=i(1084),x=i(6853),C=i(1511);let A=(()=>{class t{constructor(t,e,i,d,g,y,b,v){this.actions$=t,this.httpClient=e,this.store=i,this.sessionService=d,this.logger=g,this.commonService=y,this.router=b,this.location=v,this.CHILD_API_URL=u.T+"/ecl",this.unSubs=[new r.x,new r.x],this.infoFetchECL=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.Go),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.store.dispatch(new m.Fk("Getting Node Information...")),this.store.dispatch(new p.iM("FetchInfo")),this.httpClient.get(this.CHILD_API_URL+u.N.GETINFO_API).pipe((0,l.R)(this.actions$.pipe((0,n.l4)(m.RP))),(0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.initializeRemainingData(e,t.payload.loadPage),{type:p.ml,payload:e||{}})),(0,h.K)(t=>(this.store.dispatch(new m.Iv),this.router.navigate(["/error"],{state:{errorCode:t.error&&t.error.error&&t.error.error.message&&t.error.error.message.code?t.error.error.message.code:t.error&&t.error.error&&t.error.error.code?t.error.error.code:t.status?t.status:"",errorMessage:(t.error&&t.error.message?t.error.message+" ":"")+(t.error&&t.error.error&&t.error.error.error&&"string"==typeof t.error.error.error?t.error.error.error:t.error&&t.error.error&&t.error.error.errno&&"string"==typeof t.error.error.errno?t.error.error.errno:t.error&&t.error.error&&"string"==typeof t.error.error?t.error.error:t.error&&"string"==typeof t.error?t.error:"Unknown Error")}}),this.handleErrorWithoutAlert("FetchInfo","Fetching Node Info Failed.",t),(0,s.of)({type:m.Zn})))))))),this.fetchFees=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.iR),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchFees")),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API+"/fees").pipe((0,c.U)(t=>(this.logger.info(t),{type:p.UA,payload:t||{}}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchFees","Fetching Fees Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.fetchPayments=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.GT),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchPayments")),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API+"/payments").pipe((0,c.U)(t=>(this.logger.info(t),{type:p.Wn,payload:t||{}}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPayments","Fetching Payments Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.channelsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.M8),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchChannels")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new p.vN(e&&e.activeChannels.length>0?e.activeChannels:[])),this.store.dispatch(new p.SF(e&&e.pendingChannels.length>0?e.pendingChannels:[])),this.store.dispatch(new p.oI(e&&e.inactiveChannels.length>0?e.inactiveChannels:[])),this.store.dispatch(new p.eb(e.lightningBalances)),t.payload&&t.payload.fetchPayments&&this.store.dispatch(new p.xt),{type:p.mn,payload:e.channelStatus}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannels","Fetching Channels Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.channelStatsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.Oy),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchChannelStats")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/stats").pipe((0,c.U)(t=>(this.logger.info(t),{type:p.ro,payload:t&&t.length>0?t:[]}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannelStats","Fetching Channel Stats Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.fetchOnchainBalance=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.we),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchOnchainBalance")),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"/balance"))),(0,c.U)(t=>(this.logger.info(t),{type:p.CF,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchOnchainBalance","Fetching Onchain Balances Failed.",t),(0,s.of)({type:m.Zn}))))),this.peersFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.Tt),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchPeers")),this.httpClient.get(this.CHILD_API_URL+u.N.PEERS_API).pipe((0,c.U)(t=>(this.logger.info(t),{type:p.IH,payload:t&&t.length?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPeers","Fetching Peers Failed.",t),(0,s.of)({type:m.Zn})))))))),this.getNewAddress=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.JR),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:p.gu,payload:t})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Generate New Address Failed",this.CHILD_API_URL+u.N.ON_CHAIN_API,t),(0,s.of)({type:m.Zn}))))))),this.setNewAddress=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.gu),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.saveNewPeer=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.md),(0,o.M)(this.store.select("ecl")),(0,a.z)(([t,e])=>(this.store.dispatch(new p.iM("SaveNewPeer")),this.httpClient.post(this.CHILD_API_URL+u.N.PEERS_API+(t.payload.id.includes("@")?"?uri=":"?nodeId=")+t.payload.id,{}).pipe((0,c.U)(e=>(this.logger.info(e),e=e&&e.length?e:[],this.store.dispatch(new m.Iv),this.store.dispatch(new p.RS(e)),{type:p.Ae,payload:{peer:e.find(e=>e.nodeId===(t.payload.id.includes("@")?t.payload.id.substring(0,t.payload.id.indexOf("@")):t.payload.id))}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer","Peer Connection Failed.",t),(0,s.of)({type:m.Zn})))))))),this.detachPeer=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.BX),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.nodeId).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Disconnecting Peer!")),{type:p.J4,payload:{nodeId:t.payload.nodeId}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Unable to Detach Peer. Try again later.",this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.nodeId,e),(0,s.of)({type:m.Zn}))))))),this.openNewChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.nG),(0,a.z)(t=>(this.store.dispatch(new p.iM("SaveNewChannel")),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API,t.payload.feeRate&&t.payload.feeRate>0?{nodeId:t.payload.nodeId,fundingSatoshis:t.payload.amount,channelFlags:+!t.payload.private,fundingFeerateSatByte:t.payload.feeRate}:{nodeId:t.payload.nodeId,fundingSatoshis:t.payload.amount,channelFlags:+!t.payload.private}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new p.N9),this.store.dispatch(new p.DM),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Channel Added Successfully!")),{type:p.M8,payload:{fetchPayments:!1}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel","Opening Channel Failed.",t),(0,s.of)({type:m.Zn})))))))),this.updateChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.yH),(0,a.z)(t=>{let e="?feeBaseMsat="+t.payload.baseFeeMsat+"&feeProportionalMillionths="+t.payload.feeRate;return e=t.payload.channelIds?e+"&channelIds="+t.payload.channelIds:e+"&channelId="+t.payload.channelId,this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/updateRelayFee"+e,{}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw(t.payload.channelIds?"Channels Updated Successfully.":"Channel Updated Successfully!")),{type:p.M8,payload:{fetchPayments:!1}})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Update Channel Failed",this.CHILD_API_URL+u.N.CHANNELS_API,t),(0,s.of)({type:m.Zn}))))}))),this.closeChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.r7),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.CHANNELS_API+"?channelId="+t.payload.channelId+"&force="+t.payload.force).pipe((0,c.U)(e=>(this.logger.info(e),setTimeout(()=>{this.store.dispatch(new m.Iv),this.store.dispatch(new p.iG({fetchPayments:!1})),this.store.dispatch(new m.Lw(t.payload.force?"Channel Force Closed Successfully!":"Channel Closed Successfully!"))},2e3),{type:m.Zn})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Unable to Close Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_API,t),(0,s.of)({type:m.Zn}))))))),this.queryRoutesFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.iW),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"/route?nodeId="+t.payload.nodeId+"&amountMsat="+t.payload.amount).pipe((0,c.U)(t=>(this.logger.info(t),{type:p.Ao,payload:t})),(0,h.K)(e=>(this.store.dispatch(new p.lO([])),this.handleErrorWithAlert("ERROR","Get Query Routes Failed",this.CHILD_API_URL+u.N.PAYMENTS_API+"/route?nodeId="+t.payload.nodeId+"&amountMsat="+t.payload.amount,e),(0,s.of)({type:m.Zn}))))))),this.setQueryRoutes=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.Ao),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.sendPayment=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.Pm),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.store.dispatch(new p.iM("SendPayment")),this.httpClient.post(this.CHILD_API_URL+u.N.PAYMENTS_API,t.payload).pipe((0,c.U)(e=>{if(this.logger.info(e),e.error){this.store.dispatch(new m.Iv),this.logger.error("Error: "+e.payment_error);const i={status:e.payment_error.status,error:e.payment_error.error&&e.payment_error.error.error&&"object"==typeof e.payment_error.error.error?e.payment_error.error.error:{error:e.payment_error.error&&e.payment_error.error.error?e.payment_error.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API,i),{type:m.Zn}}return setTimeout(()=>{this.store.dispatch(new p.T$(e)),this.store.dispatch(new m.Iv),this.store.dispatch(new p.iG({fetchPayments:!0})),this.store.dispatch(new p.xt),this.store.dispatch(new m.Lw("Payment Submitted!"))},3e3),{type:m.Zn}}),(0,h.K)(e=>{this.logger.error("Error: "+JSON.stringify(e));const i={status:e.status,error:e.error&&e.error.error&&"object"==typeof e.error.error?e.error.error:{error:e.error&&e.error.error?e.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API,i),(0,s.of)({type:m.Zn})})))))),this.transactionsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.k5),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchTransactions")),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"/transactions?count=1000&skip=0"))),(0,c.U)(t=>(this.logger.info(t),{type:p.Qu,payload:t&&t.length>0?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchTransactions","Fetching Transactions Failed.",t),(0,s.of)({type:m.Zn}))))),this.SendOnchainFunds=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.xX),(0,a.z)(t=>(this.store.dispatch(new p.iM("SendOnchainFunds")),this.httpClient.post(this.CHILD_API_URL+u.N.ON_CHAIN_API,t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new p.DM),{type:p.wL,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SendOnchainFunds","Sending Fund Failed.",t),(0,s.of)({type:m.Zn})))))))),this.createInvoice=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.WJ),(0,a.z)(t=>(this.store.dispatch(new p.iM("CreateInvoice")),this.httpClient.post(this.CHILD_API_URL+u.N.INVOICES_API,t.payload).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),e.timestamp=(new Date).getTime()/1e3,e.expiresAt=Math.round(e.timestamp+t.payload.expireIn),e.description=t.payload.description,e.status="unpaid",this.store.dispatch(new m.wu({data:{invoice:e,newlyAdded:!1,component:f.R}})),{type:p.Wk,payload:e})),(0,h.K)(t=>(this.handleErrorWithoutAlert("CreateInvoice","Create Invoice Failed.",t),(0,s.of)({type:m.Zn})))))))),this.invoicesFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.N$),(0,a.z)(t=>(this.store.dispatch(new p.iM("FetchInvoices")),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API).pipe((0,c.U)(t=>(this.logger.info(t),{type:p.oY,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices","Fetching Invoices Failed.",t),(0,s.of)({type:m.Zn})))))))),this.peerLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.d2),(0,a.z)(t=>(this.store.dispatch(new p.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/nodes/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:p.ht,payload:t})),(0,h.K)(e=>(this.store.dispatch(new p.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Peer Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/nodes/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.setLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(p.ht),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.store.select("ecl").pipe((0,l.R)(this.unSubs[0])).subscribe(t=>{"INCOMPLETE"===t.initialAPIResponseStatus[0]&&t.initialAPIResponseStatus.length>5&&(t.initialAPIResponseStatus[0]="COMPLETE",this.store.dispatch(new m.Iv))})}initializeRemainingData(t,e){this.sessionService.setItem("eclUnlocked","true");const i={identity_pubkey:t.nodeId,alias:t.alias,testnet:"testnet"===t.network,chains:t.publicAddresses,uris:t.uris,version:t.version,currency_unit:"BTC",smaller_currency_unit:"Sats",numberOfPendingChannels:0};this.store.dispatch(new m.Fk("Initializing Node Data...")),this.store.dispatch(new m.e6(i)),this.store.dispatch(new p._O),this.store.dispatch(new p.iG({fetchPayments:!0})),this.store.dispatch(new p.od),this.store.dispatch(new p.DM),this.store.dispatch(new p.N9);let n=this.location.path();n.includes("/lnd/")?n=n.replace("/lnd/","/ecl/"):n.includes("/cl/")&&(n=n.replace("/cl/","/ecl/")),(n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/ecl/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),401===i.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new p.De({action:t,code:i.status.toString(),message:i.error&&i.error.error&&"string"==typeof i.error.error?i.error.error:e})))}handleErrorWithAlert(t,e,i,n){this.logger.error(n),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new m.wu({data:{type:t,alertTitle:e,message:{code:n.status,message:n.error.error&&n.error.error.error&&n.error.error.error.error&&"string"==typeof n.error.error.error.error?n.error.error.error.error:n.error.error&&n.error.error.error&&"string"==typeof n.error.error.error?n.error.error.error:n.error&&n.error.error&&"string"==typeof n.error.error?n.error.error:"string"==typeof n.error?n.error:"Unknown Error",URL:i},component:d.H}})))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(g.LFG(n.eX),g.LFG(y.eN),g.LFG(b.yh),g.LFG(v.m),g.LFG(_.mQ),g.LFG(w.v),g.LFG(x.F0),g.LFG(C.Ye))},t.\u0275prov=g.Yz7({token:t,factory:t.\u0275fac}),t})()},3921:(t,e,i)=>{"use strict";i.d(e,{R:()=>Z});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),f=i(7439),p=i(7592),m=i(5980),g=i(7679),y=i(3600),b=i(6880),v=i(2609);function _(t,e){if(1&t&&o._UZ(0,"qrcode",29),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.serialized)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function w(t,e){1&t&&(o.TgZ(0,"span",30),o._uU(1,"N/A"),o.qZA())}function x(t,e){if(1&t&&o._UZ(0,"qrcode",29),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.serialized)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function C(t,e){1&t&&(o.TgZ(0,"span",31),o._uU(1,"QR Code Not Applicable"),o.qZA())}function A(t,e){1&t&&o._UZ(0,"mat-divider",32),2&t&&o.Q6J("inset",!0)}function S(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}function k(t,e){if(1&t&&(o.ynx(0),o._uU(1),o.ALo(2,"number"),o.BQk()),2&t){const t=o.oxw();o.xp6(1),o.hij("",o.lcZ(2,1,t.invoice.amountSettled)," Sats")}}function M(t,e){1&t&&(o.ynx(0),o._uU(1,"-"),o.BQk())}function E(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",20),o.TgZ(2,"div",15),o.TgZ(3,"div",33),o.TgZ(4,"h4",17),o._uU(5,"Date Expiry"),o.qZA(),o.TgZ(6,"span",18),o._uU(7),o.ALo(8,"date"),o.qZA(),o.qZA(),o.TgZ(9,"div",34),o.TgZ(10,"h4",17),o._uU(11,"Date Settled"),o.qZA(),o.TgZ(12,"span",21),o._uU(13),o.ALo(14,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(15,"mat-divider",20),o.TgZ(16,"div",15),o.TgZ(17,"div",22),o.TgZ(18,"h4",17),o._uU(19,"Payment Hash"),o.qZA(),o.TgZ(20,"span",21),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",20),o.TgZ(23,"div",15),o.TgZ(24,"div",22),o.TgZ(25,"h4",17),o._uU(26,"Node Id"),o.qZA(),o.TgZ(27,"span",21),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",20),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(o.xi3(8,4,1e3*t.invoice.expiresAt,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.xi3(14,7,1e3*t.invoice.receivedAt,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(t.invoice.paymentHash),o.xp6(7),o.Oqu(t.invoice.nodeId)}}function T(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function L(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function I(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",35),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1,"Copy Invoice"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.serialized)}}function O(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",36),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const D=function(t){return{"display-none":t}},R=function(t){return{"xs-scroll-y":t}},P=function(t,e){return{"mt-2":t,"mt-1":e}};let Z=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.faExclamationTriangle=r.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(t){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-invoice-information"]],decls:68,vars:42,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],[1,"overflow-wrap","foreground-secondary-text"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","40"],["fxFlex","60"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,_,1,5,"qrcode",2),o.YNc(3,w,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,x,1,5,"qrcode",2),o.YNc(16,C,2,0,"span",13),o.qZA(),o.YNc(17,A,1,1,"mat-divider",14),o.TgZ(18,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"h4",17),o._uU(21,"Amount Requested"),o.qZA(),o.TgZ(22,"span",18),o._uU(23),o.ALo(24,"number"),o.YNc(25,S,2,0,"ng-container",19),o.qZA(),o.qZA(),o.TgZ(26,"div",16),o.TgZ(27,"h4",17),o._uU(28,"Amount Settled"),o.qZA(),o.TgZ(29,"span",18),o.YNc(30,k,3,3,"ng-container",19),o.YNc(31,M,2,0,"ng-container",19),o.qZA(),o.qZA(),o.qZA(),o._UZ(32,"mat-divider",20),o.TgZ(33,"div",15),o.TgZ(34,"div",16),o.TgZ(35,"h4",17),o._uU(36,"Date Created"),o.qZA(),o.TgZ(37,"span",21),o._uU(38),o.ALo(39,"date"),o.qZA(),o.qZA(),o.TgZ(40,"div",16),o.TgZ(41,"h4",17),o._uU(42,"Status"),o.qZA(),o.TgZ(43,"span",21),o._uU(44),o.ALo(45,"titlecase"),o.qZA(),o.qZA(),o.qZA(),o._UZ(46,"mat-divider",20),o.TgZ(47,"div",15),o.TgZ(48,"div",22),o.TgZ(49,"h4",17),o._uU(50,"Description"),o.qZA(),o.TgZ(51,"span",18),o._uU(52),o.qZA(),o.qZA(),o.qZA(),o._UZ(53,"mat-divider",20),o.TgZ(54,"div",15),o.TgZ(55,"div",22),o.TgZ(56,"h4",17),o._uU(57,"Invoice"),o.qZA(),o.TgZ(58,"span",21),o._uU(59),o.qZA(),o.qZA(),o.qZA(),o.YNc(60,E,30,10,"div",19),o.TgZ(61,"div",23),o.TgZ(62,"button",24),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(63,T,2,0,"p",25),o.YNc(64,L,2,0,"ng-template",null,26,o.W1O),o.qZA(),o.YNc(66,I,2,1,"button",27),o.YNc(67,O,2,0,"button",28),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(65);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.serialized&&""!==e.invoice.serialized?"center start":"center center")("ngClass",o.VKq(33,D,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(35,R,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.serialized&&""!==e.invoice.serialized?"center start":"center center")("ngClass",o.VKq(37,D,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(6),o.hij("",o.lcZ(24,26,e.invoice.amount||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.amount),o.xp6(5),o.Q6J("ngIf",e.invoice.amountSettled),o.xp6(1),o.Q6J("ngIf",!e.invoice.amountSettled),o.xp6(7),o.Oqu(o.xi3(39,28,1e3*e.invoice.timestamp,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.lcZ(45,31,e.invoice.status)),o.xp6(8),o.Oqu(e.invoice.description||"-"),o.xp6(7),o.Oqu(e.invoice.serialized||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngClass",o.WLB(39,P,!e.showAdvanced,e.showAdvanced)),o.xp6(2),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,f.dk,p.BN,m.lW,f.dn,g.d,y.V,b.h,v.y],pipes:[u.JJ,u.uU,u.rS],styles:[""]}),t})()},5678:(t,e,i)=>{"use strict";i.d(e,{AL:()=>n,I8:()=>r,hL:()=>s,Os:()=>o,kY:()=>a,Uy:()=>l,lH:()=>c,Ah:()=>h,Qm:()=>u,X_:()=>d,Ff:()=>f,pK:()=>p,jc:()=>m,mZ:()=>g,c_:()=>y,VS:()=>b,HS:()=>v,Dn:()=>_,hn:()=>w,wE:()=>x,_s:()=>C,Mx:()=>A,W8:()=>S,nZ:()=>k,P2:()=>M,oS:()=>E,S1:()=>T,u9:()=>L,D3:()=>I,G4:()=>O,bq:()=>D,o4:()=>R,MQ:()=>P,ES:()=>Z,$i:()=>F,AV:()=>N,S:()=>B,Bg:()=>U,i9:()=>q,Ov:()=>z,_V:()=>H,mU:()=>Y,c4:()=>j,kz:()=>G,s0:()=>V,b:()=>Q,dG:()=>W,Bj:()=>J,xn:()=>X,ug:()=>K,Pp:()=>$,RN:()=>tt,t7:()=>et,i_:()=>it,s8:()=>nt,__:()=>rt,U8:()=>st,ZV:()=>ot,$L:()=>at,Qn:()=>lt,As:()=>ct,gk:()=>ht,K4:()=>ut,lf:()=>dt,RP:()=>ft,LC:()=>pt,x:()=>mt,on:()=>gt,qs:()=>yt,YA:()=>bt,tB:()=>vt,iM:()=>_t,De:()=>wt,Mo:()=>xt,vI:()=>Ct,z6:()=>At,N9:()=>St,RS:()=>kt,rF:()=>Mt,yw:()=>Et,H1:()=>Tt,od:()=>Lt,D8:()=>It,h7:()=>Ot,jh:()=>Dt,Zb:()=>Rt,Ao:()=>Pt,k:()=>Zt,nb:()=>Ft,e8:()=>Nt,FN:()=>Bt,gf:()=>Ut,gL:()=>qt,j4:()=>zt,Cd:()=>Ht,_O:()=>Yt,rc:()=>jt,eL:()=>Gt,Zt:()=>Vt,xt:()=>Qt,Ar:()=>Wt,RR:()=>Jt,ER:()=>Xt,uj:()=>Kt,$b:()=>$t,My:()=>te,l8:()=>ee,x$:()=>ie,IG:()=>ne,O_:()=>re,KK:()=>se,Fn:()=>oe,bm:()=>ae,lO:()=>le,dw:()=>ce});const n="RESET_LND_STORE",r="CLEAR_EFFECT_ERROR_LND",s="EFFECT_ERROR_LND",o="SET_CHILD_NODE_SETTINGS_LND",a="FETCH_INFO_LND",l="SET_INFO_LND",c="FETCH_PEERS_LND",h="SET_PEERS_LND",u="SAVE_NEW_PEER_LND",d="NEWLY_ADDED_PEER_LND",f="DETACH_PEER_LND",p="REMOVE_PEER_LND",m="SAVE_NEW_INVOICE_LND",g="NEWLY_SAVED_INVOICE_LND",y="ADD_INVOICE_LND",b="FETCH_FEES_LND",v="SET_FEES_LND",_="FETCH_BALANCE_LND",w="SET_BALANCE_LND",x="FETCH_NETWORK_LND",C="SET_NETWORK_LND",A="FETCH_ALL_CHANNELS_LND",S="FETCH_PENDING_CHANNELS_LND",k="FETCH_CLOSED_CHANNELS_LND",M="SET_ALL_CHANNELS_LND",E="SET_PENDING_CHANNELS_LND",T="SET_CLOSED_CHANNELS_LND",L="UPDATE_CHANNELS_LND",I="SAVE_NEW_CHANNEL_LND",O="CLOSE_CHANNEL_LND",D="REMOVE_CHANNEL_LND",R="BACKUP_CHANNELS_LND",P="VERIFY_CHANNELS_LND",Z="BACKUP_CHANNELS_RES_LND",F="VERIFY_CHANNELS_RES_LND",N="RESTORE_CHANNELS_LIST_LND",B="SET_RESTORE_CHANNELS_LIST_LND",U="RESTORE_CHANNELS_LND",q="RESTORE_CHANNELS_RES_LND",z="FETCH_INVOICES_LND",H="SET_INVOICES_LND",Y="SET_TOTAL_INVOICES_LND",j="FETCH_TRANSACTIONS_LND",G="SET_TRANSACTIONS_LND",V="FETCH_UTXOS_LND",Q="SET_UTXOS_LND",W="FETCH_PAYMENTS_LND",J="SET_PAYMENTS_LND",X="SEND_PAYMENT_LND",K="SEND_PAYMENT_STATUS_LND",$="FETCH_GRAPH_NODE_LND",tt="SET_GRAPH_NODE_LND",et="GET_NEW_ADDRESS_LND",it="SET_NEW_ADDRESS_LND",nt="SET_CHANNEL_TRANSACTION_LND",rt="SET_CHANNEL_TRANSACTION_RES_LND",st="GEN_SEED_LND",ot="GEN_SEED_RESPONSE_LND",at="INIT_WALLET_LND",lt="INIT_WALLET_RESPONSE_LND",ct="UNLOCK_WALLET_LND",ht="PEER_LOOKUP_LND",ut="CHANNEL_LOOKUP_LND",dt="INVOICE_LOOKUP_LND",ft="SET_LOOKUP_LND",pt="GET_FORWARDING_HISTORY_LND",mt="SET_FORWARDING_HISTORY_LND",gt="GET_QUERY_ROUTES_LND",yt="SET_QUERY_ROUTES_LND",bt="GET_ALL_LIGHTNING_TRANSATIONS_LND",vt="SET_ALL_LIGHTNING_TRANSATIONS_LND";class _t{constructor(t){this.payload=t,this.type=r}}class wt{constructor(t){this.payload=t,this.type=s}}class xt{constructor(t){this.payload=t,this.type=n}}class Ct{constructor(t){this.payload=t,this.type=o}}class At{constructor(t){this.payload=t,this.type=a}}class St{constructor(){this.type=c}}class kt{constructor(t){this.payload=t,this.type=h}}class Mt{constructor(t){this.payload=t,this.type=u}}class Et{constructor(t){this.payload=t,this.type=f}}class Tt{constructor(t){this.payload=t,this.type=m}}class Lt{constructor(){this.type=b}}class It{constructor(t){this.payload=t,this.type=_}}class Ot{constructor(){this.type=x}}class Dt{constructor(){this.type=A}}class Rt{constructor(){this.type=S}}class Pt{constructor(){this.type=k}}class Zt{constructor(t){this.payload=t,this.type=L}}class Ft{constructor(t){this.payload=t,this.type=I}}class Nt{constructor(t){this.payload=t,this.type=O}}class Bt{constructor(t){this.payload=t,this.type=R}}class Ut{constructor(t){this.payload=t,this.type=P}}class qt{constructor(){this.type=N}}class zt{constructor(t){this.payload=t,this.type=B}}class Ht{constructor(t){this.payload=t,this.type=U}}class Yt{constructor(t){this.payload=t,this.type=z}}class jt{constructor(t){this.payload=t,this.type=Y}}class Gt{constructor(){this.type=j}}class Vt{constructor(){this.type=V}}class Qt{constructor(t){this.payload=t,this.type=W}}class Wt{constructor(t){this.payload=t,this.type=X}}class Jt{constructor(t){this.payload=t,this.type=$}}class Xt{constructor(t){this.payload=t,this.type=et}}class Kt{constructor(t){this.payload=t,this.type=nt}}class $t{constructor(t){this.payload=t,this.type=st}}class te{constructor(t){this.payload=t,this.type=at}}class ee{constructor(t){this.payload=t,this.type=ct}}class ie{constructor(t){this.payload=t,this.type=ht}}class ne{constructor(t){this.payload=t,this.type=ut}}class re{constructor(t){this.payload=t,this.type=ft}}class se{constructor(t){this.payload=t,this.type=pt}}class oe{constructor(t){this.payload=t,this.type=mt}}class ae{constructor(t){this.payload=t,this.type=gt}}class le{constructor(t){this.payload=t,this.type=yt}}class ce{constructor(){this.type=bt}}},8248:(t,e,i)=>{"use strict";i.d(e,{l:()=>k});var n=i(5573),r=i(9666),s=i(2041),o=i(5653),a=i(7228),l=i(9568),c=i(1681),h=i(1816),u=i(5963),d=i(1827),f=i(2427),p=i(9421),m=i(3929),g=i(5678),y=i(1572),b=i(9063),v=i(964),_=i(3869),w=i(1084),x=i(3191),C=i(4608),A=i(6853),S=i(1511);let k=(()=>{class t{constructor(t,e,i,f,y,b,v,_,w){this.actions$=t,this.httpClient=e,this.store=i,this.logger=f,this.commonService=y,this.sessionService=b,this.dialog=v,this.router=_,this.location=w,this.CHILD_API_URL=u.T+"/lnd",this.unSubs=[new r.x,new r.x],this.infoFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.kY),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.store.dispatch(new m.Fk("Getting Node Information...")),this.store.dispatch(new g.iM("FetchInfo")),this.httpClient.get(this.CHILD_API_URL+u.N.GETINFO_API).pipe((0,l.R)(this.actions$.pipe((0,n.l4)(m.RP))),(0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),e.chains&&e.chains.length&&e.chains[0]&&("string"==typeof e.chains[0]&&e.chains[0].toLowerCase().indexOf("bitcoin")<0||"object"==typeof e.chains[0]&&e.chains[0].hasOwnProperty("chain")&&e.chains[0].chain.toLowerCase().indexOf("bitcoin")<0)?(this.store.dispatch(new m.Ac),this.store.dispatch(new m.wu({data:{type:p.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}})),{type:m.Nv}):e.identity_pubkey?(e.lnImplementation="LND",this.initializeRemainingData(e,t.payload.loadPage),{type:g.Uy,payload:e||{}}):(this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),{type:g.Uy,payload:{}}))),(0,h.K)(t=>(this.store.dispatch(new m.Iv),"string"==typeof t.error.error&&t.error.error.includes("Not Found")||502===t.status?(this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),this.handleErrorWithoutAlert("FetchInfo","Fetching Node Info Failed.",t)):(this.router.navigate(["/error"],{state:{errorCode:t.error&&t.error.error&&t.error.error.message&&t.error.error.message.code?t.error.error.message.code:t.error&&t.error.error&&t.error.error.code?t.error.error.code:t.status?t.status:"",errorMessage:(t.error.message?t.error.message+" ":"")+(t.error.error&&t.error.error.error&&t.error.error.error.error&&t.error.error.error.error.error&&"string"==typeof t.error.error.error.error.error?t.error.error.error.error.error:t.error.error&&t.error.error.error&&t.error.error.error.error&&"string"==typeof t.error.error.error.error?t.error.error.error.error:t.error.error&&t.error.error.error&&"string"==typeof t.error.error.error?t.error.error.error:t.error.error&&"string"==typeof t.error.error?t.error.error:"string"==typeof t.error?t.error:"Unknown Error")}}),this.handleErrorWithoutAlert("FetchInfo","Fetching Node Info Failed.",t)),(0,s.of)({type:m.Zn})))))))),this.peersFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.lH),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchPeers")),this.httpClient.get(this.CHILD_API_URL+u.N.PEERS_API).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.Ah,payload:t||[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPeers","Fetching Peers Failed.",t),(0,s.of)({type:m.Zn})))))))),this.saveNewPeer=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Qm),(0,o.M)(this.store.select("lnd")),(0,a.z)(([t,e])=>(this.store.dispatch(new g.iM("SaveNewPeer")),this.httpClient.post(this.CHILD_API_URL+u.N.PEERS_API,{pubkey:t.payload.pubkey,host:t.payload.host,perm:t.payload.perm}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new g.RS(t&&t.length>0?t:[])),{type:g.X_,payload:{peer:t[0]}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer","Peer Connection Failed.",t),(0,s.of)({type:m.Zn})))))))),this.detachPeer=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Ff),(0,a.z)(t=>this.httpClient.delete(this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.pubkey).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("Peer Disconnected Successfully.")),{type:g.pK,payload:{pubkey:t.payload.pubkey}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Unable to Detach Peer. Try again later.",this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.pubkey,e),(0,s.of)({type:m.Zn}))))))),this.saveNewInvoice=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.jc),(0,a.z)(t=>(this.store.dispatch(new g.iM("SaveNewInvoice")),this.httpClient.post(this.CHILD_API_URL+u.N.INVOICES_API,{memo:t.payload.memo,amount:t.payload.invoiceValue,private:t.payload.private,expiry:t.payload.expiry}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new g._O({num_max_invoices:t.payload.pageSize,reversed:!0})),t.payload.openModal?(e.memo=t.payload.memo,e.value=t.payload.invoiceValue,e.expiry=t.payload.expiry,e.cltv_expiry="144",e.private=t.payload.private,e.creation_date=Math.round((new Date).getTime()/1e3).toString(),this.store.dispatch(new m.Iv),{type:m.fW,payload:{data:{invoice:e,newlyAdded:!0,component:d.v}}}):{type:g.mZ,payload:{paymentRequest:e.payment_request}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewInvoice","Add Invoice Failed.",t),(0,s.of)({type:m.Zn})))))))),this.openNewChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.D3),(0,a.z)(t=>(this.store.dispatch(new g.iM("SaveNewChannel")),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API,{node_pubkey:t.payload.selectedPeerPubkey,local_funding_amount:t.payload.fundingAmount,private:t.payload.private,trans_type:t.payload.transType,trans_type_value:t.payload.transTypeValue,spend_unconfirmed:t.payload.spendUnconfirmed}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new g.D8("blockchain")),this.store.dispatch(new g.jh),this.store.dispatch(new g.FN({channelPoint:"ALL",showMessage:"Channel Added Successfully!"})),{type:g.W8})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel","Opening Channel Failed.",t),(0,s.of)({type:m.Zn})))))))),this.updateChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.u9),(0,a.z)(t=>this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/chanPolicy",{baseFeeMsat:t.payload.baseFeeMsat,feeRate:t.payload.feeRate,timeLockDelta:t.payload.timeLockDelta,chanPoint:t.payload.chanPoint}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw("all"===t.payload.chanPoint?"All Channels Updated Successfully.":"Channel Updated Successfully!")),{type:g.Mx})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Update Channel Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/chanPolicy",t),(0,s.of)({type:m.Zn}))))))),this.closeChannel=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.G4),(0,a.z)(t=>{let e=this.CHILD_API_URL+u.N.CHANNELS_API+"/"+t.payload.channelPoint+"?force="+t.payload.forcibly;return t.payload.targetConf&&(e=e+"&target_conf="+t.payload.targetConf),t.payload.satPerByte&&(e=e+"&sat_per_byte="+t.payload.satPerByte),this.httpClient.delete(e).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new g.D8("channels")),this.store.dispatch(new g.D8("blockchain")),this.store.dispatch(new g.jh),this.store.dispatch(t.payload.forcibly?new g.Zb:new g.Ao),this.store.dispatch(new g.FN({channelPoint:"ALL",showMessage:"Channel Closed Successfully!"})),{type:g.bq,payload:{channelPoint:t.payload.channelPoint}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Unable to Close Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_API+"/"+t.payload.channelPoint+"?force="+t.payload.forcibly,e),(0,s.of)({type:m.Zn}))))}))),this.backupChannels=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.o4),(0,a.z)(t=>(this.store.dispatch(new g.iM("BackupChannels")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/"+t.payload.channelPoint).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw(t.payload.showMessage+" "+e.message)),{type:g.ES,payload:e.message})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"BackupChannels",code:e.status,message:e.error.error})),this.handleErrorWithAlert("ERROR",t.payload.showMessage+" Unable to Backup Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.verifyChannels=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.MQ),(0,a.z)(t=>(this.store.dispatch(new g.iM("VerifyChannels")),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/verify/"+t.payload.channelPoint,{}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw(t.message)),{type:g.$i,payload:t.message})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"VerifyChannels",code:e.status,message:e.error.error})),this.handleErrorWithAlert("ERROR","Unable to Verify Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/verify/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.restoreChannels=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Bg),(0,a.z)(t=>(this.store.dispatch(new g.iM("RestoreChannels")),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/"+t.payload.channelPoint,{}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Lw(t.message)),this.store.dispatch(new g.j4(t.list)),{type:g.i9,payload:t.message})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"RestoreChannels",code:e.status,message:e.error.error})),this.handleErrorWithAlert("ERROR","Unable to Restore Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.fetchFees=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.VS),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchFees")),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API))),(0,c.U)(t=>(this.logger.info(t),t.forwarding_events_history&&(this.store.dispatch(new g.Fn(t.forwarding_events_history)),delete t.forwarding_events_history),{type:g.HS,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchFees","Fetching Fees Failed.",t),(0,s.of)({type:m.Zn}))))),this.balanceFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Dn),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchBalance/"+t.payload)),this.httpClient.get(this.CHILD_API_URL+u.N.BALANCE_API+"/"+t.payload).pipe((0,c.U)(e=>("channels"===t.payload&&this.store.dispatch(new g.D8("blockchain")),this.logger.info(e),{type:g.hn,payload:e?{target:t.payload,balance:e}:{target:t.payload,balance:"channels"===t.payload?{balance:"",btc_balance:""}:{total_balance:"",btc_total_balance:""}}})),(0,h.K)(e=>(this.handleErrorWithoutAlert("FetchBalance/"+t.payload,"Fetching"+this.commonService.titleCase(t.payload)+" Balance Failed.",e),(0,s.of)({type:m.Zn})))))))),this.networkInfoFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.wE),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchNetwork")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/info"))),(0,c.U)(t=>(this.logger.info(t),{type:g._s,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchNetwork","Fetching Network Failed.",t),(0,s.of)({type:m.Zn}))))),this.channelsAllFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Mx),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchChannels/all")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.P2,payload:t&&t.channels&&t.channels.length>0?t.channels:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannels/all","Fetching All Channels Failed.",t),(0,s.of)({type:m.Zn})))))))),this.channelsPendingFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.W8),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchChannels/pending")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/pending").pipe((0,c.U)(t=>{this.logger.info(t);let e={open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0};return t&&(e.total_limbo_balance=t.total_limbo_balance,t.pending_closing_channels&&(e.closing.num_channels=t.pending_closing_channels.length,e.total_channels=e.total_channels+t.pending_closing_channels.length,t.pending_closing_channels.forEach(t=>{e.closing.limbo_balance=+e.closing.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.pending_force_closing_channels&&(e.force_closing.num_channels=t.pending_force_closing_channels.length,e.total_channels=e.total_channels+t.pending_force_closing_channels.length,t.pending_force_closing_channels.forEach(t=>{e.force_closing.limbo_balance=+e.force_closing.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.pending_open_channels&&(e.open.num_channels=t.pending_open_channels.length,e.total_channels=e.total_channels+t.pending_open_channels.length,t.pending_open_channels.forEach(t=>{e.open.limbo_balance=+e.open.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.waiting_close_channels&&(e.waiting_close.num_channels=t.waiting_close_channels.length,e.total_channels=e.total_channels+t.waiting_close_channels.length,t.waiting_close_channels.forEach(t=>{e.waiting_close.limbo_balance=+e.waiting_close.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)}))),{type:g.oS,payload:t?{channels:t,pendingChannels:e}:{channels:{},pendingChannels:e}}}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannels/pending","Fetching Pending Channels Failed.",t),(0,s.of)({type:m.Zn})))))))),this.channelsClosedFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.nZ),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchChannels/closed")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/closed").pipe((0,c.U)(t=>(this.logger.info(t),{type:g.S1,payload:t&&t.channels&&t.channels.length>0?t.channels:[]}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchChannels/closed","Fetching Closed Channels Failed.",t),(0,s.of)({type:m.Zn}))))))))),this.invoicesFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Ov),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchInvoices")),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"?num_max_invoices="+(t.payload.num_max_invoices?t.payload.num_max_invoices:100)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!!t.payload.reversed&&t.payload.reversed)).pipe((0,c.U)(e=>(this.logger.info(e),t.payload.reversed&&!t.payload.index_offset&&this.store.dispatch(new g.rc(+e.last_index_offset)),{type:g._V,payload:e})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices","Fetching Invoices Failed.",t),(0,s.of)({type:m.Zn})))))))),this.transactionsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.c4),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchTransactions")),this.httpClient.get(this.CHILD_API_URL+u.N.TRANSACTIONS_API))),(0,c.U)(t=>(this.logger.info(t),{type:g.kz,payload:t&&t.length>0?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchTransactions","Fetching Transactions Failed.",t),(0,s.of)({type:m.Zn}))))),this.utxosFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.s0),(0,o.M)(this.store.select("lnd")),(0,a.z)(([t,e])=>(this.store.dispatch(new g.iM("FetchUTXOs")),this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/getUTXOs?max_confs="+(e.information&&e.information.block_height?e.information.block_height:1e9)))),(0,c.U)(t=>(this.logger.info(t),{type:g.b,payload:t&&t.length>0?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchUTXOs","Fetching UTXOs Failed.",t),(0,s.of)({type:m.Zn}))))),this.paymentsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.dG),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchPayments")),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"?max_payments="+(t.payload.max_payments?t.payload.max_payments:100)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!!t.payload.reversed&&t.payload.reversed)).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.Bj,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPayments","Fetching Payments Failed.",t),(0,s.of)({type:m.Zn})))))))),this.sendPayment=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.xn),(0,a.z)(t=>{this.store.dispatch(new g.iM("SendPayment"));let e={};return e.paymentReq=t.payload.paymentReq,t.payload.paymentAmount&&(e.paymentAmount=t.payload.paymentAmount),t.payload.outgoingChannel&&(e.outgoingChannel=t.payload.outgoingChannel.chan_id),t.payload.allowSelfPayment&&(e.allowSelfPayment=t.payload.allowSelfPayment),t.payload.lastHopPubkey&&(e.lastHopPubkey=t.payload.lastHopPubkey),t.payload.feeLimitType&&t.payload.feeLimitType!==p.Vc[0]&&(e.feeLimit={},e.feeLimit[t.payload.feeLimitType.id]=t.payload.feeLimit),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",e).pipe((0,c.U)(e=>{if(this.logger.info(e),e.payment_error){if(t.payload.allowSelfPayment)return this.store.dispatch(new g._O({num_max_invoices:p.IV,reversed:!0})),{type:g.ug,payload:e};{this.logger.error("Error: "+e.payment_error);const i={status:e.payment_error.status,error:e.payment_error.error&&e.payment_error.error.error&&"object"==typeof e.payment_error.error.error?e.payment_error.error.error:{error:e.payment_error.error&&e.payment_error.error.error?e.payment_error.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",i),{type:m.Zn}}}if(this.store.dispatch(new g.jh),this.store.dispatch(new g.D8("channels")),this.store.dispatch(new g.xt({max_payments:p.IV,reversed:!0})),t.payload.allowSelfPayment)this.store.dispatch(new g._O({num_max_invoices:p.IV,reversed:!0}));else{this.store.dispatch(new m.Iv);let t="Payment Sent Successfully.";e.payment_route&&e.payment_route.total_fees_msat&&(t="Payment sent successfully with the total fee "+e.payment_route.total_fees_msat+" (mSats)."),this.store.dispatch(new m.Lw(t))}return{type:g.ug,payload:e}}),(0,h.K)(e=>{if(t.payload.allowSelfPayment)return this.store.dispatch(new g._O({num_max_invoices:p.IV,reversed:!0})),(0,s.of)({type:g.ug,payload:e});{this.logger.error("Error: "+JSON.stringify(e));const i={status:e.status,error:e.error&&e.error.error&&"object"==typeof e.error.error?e.error.error:{error:e.error&&e.error.error?e.error.error:"Unknown Error"}};return t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment","Send Payment Failed.",i):this.handleErrorWithAlert("ERROR","Send Payment Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",i),(0,s.of)({type:m.Zn})}}))}))),this.graphNodeFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Pp),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchGraphNode")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload.pubkey).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.RN,payload:t&&t.node?{node:t.node}:{node:null}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchGraphNode","Fetching Graph Node Failed.",t),(0,s.of)({type:m.Zn})))))))),this.setGraphNode=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.RN),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.getNewAddress=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.t7),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.NEW_ADDRESS_API+"?type="+t.payload.addressId).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.i_,payload:t&&t.address?t.address:{}})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Generate New Address Failed",this.CHILD_API_URL+u.N.NEW_ADDRESS_API+"?type="+t.payload.addressId,e),(0,s.of)({type:m.Zn}))))))),this.setNewAddress=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.i_),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.SetChannelTransaction=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.s8),(0,a.z)(t=>(this.store.dispatch(new g.iM("SetChannelTransaction")),this.httpClient.post(this.CHILD_API_URL+u.N.TRANSACTIONS_API,{amount:t.payload.amount,address:t.payload.address,sendAll:t.payload.sendAll,fees:t.payload.fees,blocks:t.payload.blocks}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new g.eL),this.store.dispatch(new g.D8("blockchain")),{type:g.__,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SetChannelTransaction","Sending Fund Failed.",t),(0,s.of)({type:m.Zn})))))))),this.fetchForwardingHistory=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.LC),(0,a.z)(t=>(this.store.dispatch(new g.iM("GetForwardingHistory")),this.httpClient.post(this.CHILD_API_URL+u.N.SWITCH_API,{num_max_events:t.payload.num_max_events,index_offset:t.payload.index_offset,end_time:t.payload.end_time,start_time:t.payload.start_time}).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.x,payload:t})),(0,h.K)(t=>(this.store.dispatch(new g.De({action:"GetForwardingHistory",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR","Get Forwarding History Failed",this.CHILD_API_URL+u.N.SWITCH_API,t),(0,s.of)({type:m.Zn})))))))),this.queryRoutesFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.on),(0,a.z)(t=>{let e=this.CHILD_API_URL+u.N.NETWORK_API+"/routes/"+t.payload.destPubkey+"/"+t.payload.amount;return t.payload.outgoingChanId&&(e=e+"?outgoing_chan_id="+t.payload.outgoingChanId),this.httpClient.get(e).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.qs,payload:t})),(0,h.K)(t=>(this.store.dispatch(new g.lO({})),this.handleErrorWithAlert("ERROR","Get Query Routes Failed",this.CHILD_API_URL+u.N.NETWORK_API,t),(0,s.of)({type:m.Zn}))))}))),this.setQueryRoutes=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.qs),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.genSeed=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.U8),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/genseed/"+t.payload).pipe((0,c.U)(t=>(this.logger.info("Generated GenSeed!"),this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.ZV,payload:t.cipher_seed_mnemonic})),(0,h.K)(e=>(this.handleErrorWithAlert("ERROR","Genseed Generation Failed",this.CHILD_API_URL+u.N.WALLET_API+"/genseed/"+t.payload,e),(0,s.of)({type:m.Zn}))))))),this.updateSelNodeOptions=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(m.SK),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/updateSelNodeOptions").pipe((0,c.U)(t=>(this.logger.info("Update Sel Node Successfull"),this.logger.info(t),this.store.dispatch(new m.Iv),{type:m.Zn})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!","Update Macaroon",t),(0,s.of)({type:m.Zn}))))))),this.genSeedResponse=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.ZV),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.initWalletRes=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.Qn),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.initWallet=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.$L),(0,a.z)(t=>this.httpClient.post(this.CHILD_API_URL+u.N.WALLET_API+"/wallet/initwallet",{wallet_password:t.payload.pwd,cipher_seed_mnemonic:t.payload.cipher?t.payload.cipher:"",aezeed_passphrase:t.payload.passphrase?t.payload.passphrase:""}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.Qn,payload:t})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Wallet Initialization Failed",this.CHILD_API_URL+u.N.WALLET_API+"/initwallet",t),(0,s.of)({type:m.Zn}))))))),this.unlockWallet=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.As),(0,a.z)(t=>this.httpClient.post(this.CHILD_API_URL+u.N.WALLET_API+"/wallet/unlockwallet",{wallet_password:t.payload.pwd}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),this.store.dispatch(new m.Fk("Initializing Node...")),this.logger.info("Successfully Unlocked!"),this.sessionService.setItem("lndUnlocked","true"),setTimeout(()=>{this.store.dispatch(new m.Iv),this.logger.info("Successfully Initialized!"),this.store.dispatch(new g.z6({loadPage:"HOME"}))},5e3),{type:m.Zn})),(0,h.K)(t=>(this.handleErrorWithAlert("ERROR","Unlock Wallet Failed",this.CHILD_API_URL+u.N.WALLET_API+"/unlockwallet",t),(0,s.of)({type:m.Zn})))))),{dispatch:!1}),this.peerLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.gk),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.RP,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Peer Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.channelLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.K4),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/edge/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.RP,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Channel Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/edge/"+t.payload,e),this.store.dispatch(new g.O_({})),(0,s.of)({type:m.Zn})))))))),this.invoiceLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.lf),(0,a.z)(t=>(this.store.dispatch(new g.iM("Lookup")),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.RP,payload:t})),(0,h.K)(e=>(this.store.dispatch(new g.De({action:"Lookup",code:e.status,message:e.error.message})),this.handleErrorWithAlert("ERROR","Invoice Lookup Failed",this.CHILD_API_URL+u.N.INVOICES_API+"/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.setLookup=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.RP),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.getRestoreChannelList=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.AV),(0,a.z)(t=>(this.store.dispatch(new g.iM("RestoreChannelsList")),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/list").pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv),{type:g.S,payload:t||{all_restore_exists:!1,files:[]}})),(0,h.K)(t=>(this.store.dispatch(new g.De({action:"RestoreChannelsList",code:t.status,message:t.error.message})),this.handleErrorWithAlert("ERROR","Restore Channels List Failed",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API,t),(0,s.of)({type:m.Zn})))))))),this.setRestoreChannelList=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.S),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.allLightningTransactionsFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(g.YA),(0,a.z)(t=>(this.store.dispatch(new g.iM("FetchLightningTransactions")),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"/alltransactions").pipe((0,c.U)(t=>(this.logger.info(t),{type:g.tB,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchLightningTransactions","Fetching All Lightning Transaction Failed.",t),(0,s.of)({type:m.Zn})))))))),this.store.select("lnd").pipe((0,l.R)(this.unSubs[0])).subscribe(t=>{"INCOMPLETE"===t.initialAPIResponseStatus[0]&&t.initialAPIResponseStatus.length>8&&(t.initialAPIResponseStatus[0]="COMPLETE",this.store.dispatch(new m.Iv))})}initializeRemainingData(t,e){this.sessionService.setItem("lndUnlocked","true");const i={identity_pubkey:t.identity_pubkey,alias:t.alias,testnet:t.testnet,chains:t.chains,uris:t.uris,version:t.version?t.version.split(" ")[0]:"",currency_unit:p.NT.BTC,smaller_currency_unit:p.NT.SATS};this.store.dispatch(new m.Fk("Initializing Node Data...")),this.store.dispatch(new m.e6(i)),this.store.dispatch(new g.N9),this.store.dispatch(new g.D8("channels")),this.store.dispatch(new g.h7),this.store.dispatch(new g.dw),this.store.dispatch(new g.jh),this.store.dispatch(new g.Zb),this.store.dispatch(new g.Ao),this.store.dispatch(new g._O({num_max_invoices:10,reversed:!0})),this.store.dispatch(new g.xt({max_payments:10,reversed:!0})),this.store.dispatch(new g.od);let n=this.location.path();n.includes("/cl/")?n=n.replace("/cl/","/lnd/"):n.includes("/ecl/")&&(n=n.replace("/ecl/","/lnd/")),(n.includes("/unlock")||n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/lnd/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),401===i.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new g.De({action:t,code:i.status.toString(),message:i.error.error&&i.error.error.error&&i.error.error.error.error&&i.error.error.error.error.error&&"string"==typeof i.error.error.error.error.error?i.error.error.error.error.error:i.error.error&&i.error.error.error&&i.error.error.error.error&&"string"==typeof i.error.error.error.error?i.error.error.error.error:i.error.error&&i.error.error.error&&"string"==typeof i.error.error.error?i.error.error.error:i.error.error&&"string"==typeof i.error.error?i.error.error:"string"==typeof i.error?i.error:e})))}handleErrorWithAlert(t,e,i,n){this.logger.error(n),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv),this.store.dispatch(new m.wu({data:{type:t,alertTitle:e,message:{code:n.status,message:n.error.error&&n.error.error.error&&n.error.error.error.error&&n.error.error.error.error.error&&"string"==typeof n.error.error.error.error.error?n.error.error.error.error.error:n.error.error&&n.error.error.error&&n.error.error.error.error&&"string"==typeof n.error.error.error.error?n.error.error.error.error:n.error.error&&n.error.error.error&&"string"==typeof n.error.error.error?n.error.error.error:n.error.error&&"string"==typeof n.error.error?n.error.error:"string"==typeof n.error?n.error:"Unknown Error",URL:i},component:f.H}})))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eX),y.LFG(b.eN),y.LFG(v.yh),y.LFG(_.mQ),y.LFG(w.v),y.LFG(x.m),y.LFG(C.uw),y.LFG(A.F0),y.LFG(S.Ye))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},1827:(t,e,i)=>{"use strict";i.d(e,{v:()=>V});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),f=i(7439),p=i(7592),m=i(5980),g=i(7038),y=i(7679),b=i(3600),v=i(5001),_=i(6828),w=i(3691),x=i(6880),C=i(2609);const A=["scrollContainer"];function S(t,e){if(1&t&&o._UZ(0,"qrcode",32),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.payment_request)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function k(t,e){1&t&&(o.TgZ(0,"span",33),o._uU(1,"N/A"),o.qZA())}function M(t,e){if(1&t&&o._UZ(0,"qrcode",32),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.payment_request)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function E(t,e){1&t&&(o.TgZ(0,"span",34),o._uU(1,"QR Code Not Applicable"),o.qZA())}function T(t,e){1&t&&o._UZ(0,"mat-divider",22),2&t&&o.Q6J("inset",!0)}function L(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}const I=function(t){return{"mr-0":t}};function O(t,e){if(1&t&&o._UZ(0,"span",51),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function D(t,e){if(1&t&&o._UZ(0,"span",52),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function R(t,e){if(1&t&&o._UZ(0,"span",53),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function P(t,e){if(1&t&&(o.TgZ(0,"div",40),o.TgZ(1,"div",45),o.TgZ(2,"span",46),o.YNc(3,O,1,3,"span",47),o.YNc(4,D,1,3,"span",48),o.YNc(5,R,1,3,"span",49),o._uU(6),o.qZA(),o.TgZ(7,"span",50),o._uU(8),o.ALo(9,"number"),o.qZA(),o.qZA(),o._UZ(10,"mat-divider",22),o.qZA()),2&t){const t=e.$implicit,i=o.oxw(3);o.xp6(3),o.Q6J("ngIf","SETTLED"===t.state),o.xp6(1),o.Q6J("ngIf","ACCEPTED"===t.state),o.xp6(1),o.Q6J("ngIf","CANCELED"===t.state),o.xp6(1),o.hij(" ",t.chan_id," "),o.xp6(2),o.Oqu(o.xi3(9,6,+t.amt_msat/1e3||0,i.getDecimalFormat(t))),o.xp6(2),o.Q6J("inset",!0)}}function Z(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",17),o.TgZ(1,"mat-expansion-panel",38),o.NdJ("opened",function(){return o.CHM(t),o.oxw(2).flgOpened=!0})("closed",function(){return o.CHM(t),o.oxw(2).onExpansionClosed()}),o.TgZ(2,"mat-expansion-panel-header"),o.TgZ(3,"mat-panel-title"),o.TgZ(4,"h4",39),o._uU(5,"HTLCs"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(6,"div",40),o.TgZ(7,"div",41),o.TgZ(8,"span",42),o._uU(9,"Channel ID"),o.qZA(),o.TgZ(10,"span",43),o._uU(11,"Amount (Sats)"),o.qZA(),o.qZA(),o._UZ(12,"mat-divider",22),o.YNc(13,P,11,9,"div",44),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.xp6(12),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngForOf",t.invoice.htlcs)}}function F(t,e){1&t&&o._UZ(0,"mat-divider",22),2&t&&o.Q6J("inset",!0)}function N(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",22),o.TgZ(2,"div",17),o.TgZ(3,"div",23),o.TgZ(4,"h4",19),o._uU(5,"R Preimage"),o.qZA(),o.TgZ(6,"span",24),o._uU(7),o.qZA(),o.qZA(),o.qZA(),o._UZ(8,"mat-divider",22),o.TgZ(9,"div",17),o.TgZ(10,"div",35),o.TgZ(11,"h4",19),o._uU(12,"State"),o.qZA(),o.TgZ(13,"span",24),o._uU(14),o.qZA(),o.qZA(),o.TgZ(15,"div",36),o.TgZ(16,"h4",19),o._uU(17,"Expiry"),o.qZA(),o.TgZ(18,"span",24),o._uU(19),o.qZA(),o.qZA(),o.TgZ(20,"div",36),o.TgZ(21,"h4",19),o._uU(22,"Private Routing Hints"),o.qZA(),o.TgZ(23,"span",24),o._uU(24),o.qZA(),o.qZA(),o.qZA(),o._UZ(25,"mat-divider",22),o.YNc(26,Z,14,2,"div",37),o.YNc(27,F,1,1,"mat-divider",14),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.invoice.r_preimage||"-"),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.invoice.state),o.xp6(5),o.Oqu(t.invoice.expiry),o.xp6(5),o.Oqu(t.invoice.private?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngIf",t.invoice.htlcs&&t.invoice.htlcs.length>0),o.xp6(1),o.Q6J("ngIf",t.invoice.htlcs&&t.invoice.htlcs.length>0)}}function B(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",54),o.TgZ(1,"button",55),o.NdJ("click",function(){return o.CHM(t),o.oxw().onScrollDown()}),o.TgZ(2,"mat-icon",56),o._uU(3,"arrow_downward"),o.qZA(),o.qZA(),o.qZA()}}function U(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function q(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function z(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",57),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.payment_request),o.xp6(1),o.Oqu(t.screenSize===t.screenSizeEnum.XS?"Copy Payment":"Copy Payment Request")}}function H(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",58),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const Y=function(t){return{"display-none":t}},j=function(t){return{"xs-scroll-y":t}},G=function(t){return{"h-46":t}};let V=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOpened=!1}set container(t){t&&(this.scrollContainer=t)}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced,this.flgOpened=!1}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+60}onExpansionClosed(){this.flgOpened=!1,this.scrollContainer.nativeElement.scrollTop=0}onCopyPayment(t){this.snackBar.open("Payment request copied."),this.logger.info("Copied Text: "+t)}getDecimalFormat(t){return t.amt_msat<1e3?"1.0-4":"1.0-0"}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-invoice-information"]],viewQuery:function(t,e){if(1&t&&o.Gf(A,5),2&t){let t;o.iGM(t=o.CRH())&&(e.container=t.first)}},decls:63,vars:44,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxLayout","column","fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],[3,"perfectScrollbar","ngClass"],["scrollContainer",""],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"my-1",3,"inset"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],["fxFlex","34"],["fxFlex","33"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"flat-expansion-panel",3,"opened","closed"],["fxLayoutAlign","start center","fxFlex","100",1,"font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"mt-minus-1"],["fxFlex","60",1,"foreground-secondary-text","font-bold-500"],["fxFlex","40",1,"foreground-secondary-text","font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100"],["fxFlex","60",1,"foreground-secondary-text"],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Accepted","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Cancelled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["fxFlex","40",1,"foreground-secondary-text"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Accepted","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Cancelled","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,S,1,5,"qrcode",2),o.YNc(3,k,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,M,1,5,"qrcode",2),o.YNc(16,E,2,0,"span",13),o.qZA(),o.YNc(17,T,1,1,"mat-divider",14),o.TgZ(18,"div",15,16),o.TgZ(20,"div",17),o.TgZ(21,"div",18),o.TgZ(22,"h4",19),o._uU(23),o.qZA(),o.TgZ(24,"span",20),o._uU(25),o.ALo(26,"number"),o.YNc(27,L,2,0,"ng-container",21),o.qZA(),o.qZA(),o.TgZ(28,"div",18),o.TgZ(29,"h4",19),o._uU(30,"Memo"),o.qZA(),o.TgZ(31,"span",20),o._uU(32),o.qZA(),o.qZA(),o.qZA(),o._UZ(33,"mat-divider",22),o.TgZ(34,"div",17),o.TgZ(35,"div",18),o.TgZ(36,"h4",19),o._uU(37,"Date Created"),o.qZA(),o.TgZ(38,"span",20),o._uU(39),o.ALo(40,"date"),o.qZA(),o.qZA(),o.TgZ(41,"div",18),o.TgZ(42,"h4",19),o._uU(43,"Date Settled"),o.qZA(),o.TgZ(44,"span",20),o._uU(45),o.ALo(46,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(47,"mat-divider",22),o.TgZ(48,"div",17),o.TgZ(49,"div",23),o.TgZ(50,"h4",19),o._uU(51,"Payment Request"),o.qZA(),o.TgZ(52,"span",24),o._uU(53),o.qZA(),o.qZA(),o.qZA(),o.YNc(54,N,28,9,"div",21),o.qZA(),o.qZA(),o.qZA(),o.YNc(55,B,4,0,"div",25),o.TgZ(56,"div",26),o.TgZ(57,"button",27),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(58,U,2,0,"p",28),o.YNc(59,q,2,0,"ng-template",null,29,o.W1O),o.qZA(),o.YNc(61,z,2,2,"button",30),o.YNc(62,H,2,0,"button",31),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(60);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.payment_request&&""!==e.invoice.payment_request?"center start":"center center")("ngClass",o.VKq(36,Y,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(38,j,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.payment_request&&""!==e.invoice.payment_request?"center start":"center center")("ngClass",o.VKq(40,Y,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(1),o.Q6J("ngClass",o.VKq(42,G,e.invoice.htlcs&&e.invoice.htlcs.length>0&&e.showAdvanced)),o.xp6(5),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Amount":"Amount Requested"),o.xp6(2),o.hij("",o.lcZ(26,28,e.invoice.value||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.value),o.xp6(5),o.Oqu(e.invoice.memo),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.xi3(40,30,1e3*e.invoice.creation_date,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.xi3(46,33,1e3*e.invoice.settle_date,"dd/MMM/YYYY HH:mm")||"-"),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.invoice.payment_request||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngIf",e.invoice.htlcs&&e.invoice.htlcs.length>0&&e.showAdvanced&&e.flgOpened),o.xp6(3),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,f.dk,p.BN,m.lW,f.dn,g.$V,y.d,b.V,v.ib,v.yz,v.yK,u.sg,_.gM,w.Hw,x.h,C.y],pipes:[u.JJ,u.uU],styles:[""]}),t})()},4833:(t,e,i)=>{"use strict";i.d(e,{_:()=>r,J:()=>s});var n=i(709);const r=[(0,n.X$)("opacityAnimation",[(0,n.eR)(":enter",[(0,n.oB)({opacity:0}),(0,n.jt)("1000ms ease-in",(0,n.oB)({opacity:1}))]),(0,n.eR)(":leave",[(0,n.jt)("0ms",(0,n.oB)({opacity:0}))])])],s=[(0,n.X$)("fadeIn",[(0,n.eR)("void => *",[]),(0,n.eR)("* => void",[]),(0,n.eR)("* => *",[(0,n.jt)(800,(0,n.F4)([(0,n.oB)({opacity:0,transform:"translateY(100%)"}),(0,n.oB)({opacity:1,transform:"translateY(0%)"})]))])])]},2865:(t,e,i)=>{"use strict";i.d(e,{g:()=>r});var n=i(709);const r=(0,n.X$)("routeAnimation",[(0,n.eR)("* => *",[(0,n.IO)(":enter, :leave",(0,n.oB)({position:"fixed",width:"100%"}),{optional:!0}),(0,n.ru)([(0,n.IO)(":enter",[(0,n.oB)({transform:"translateX(100%)"}),(0,n.jt)("1000ms ease-in-out",(0,n.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,n.IO)(":leave",[(0,n.oB)({transform:"translateX(0%)"}),(0,n.jt)("1000ms ease-in-out",(0,n.oB)({transform:"translateX(-100%)"}))],{optional:!0})])])])},194:(t,e,i)=>{"use strict";i.d(e,{l:()=>r});var n=i(709);const r=[(0,n.X$)("sliderAnimation",[(0,n.SB)("*",(0,n.oB)({transform:"translateX(0)"})),(0,n.eR)("void => backward",[(0,n.oB)({transform:"translateX(-100%"}),(0,n.jt)("800ms")]),(0,n.eR)("backward => void",[(0,n.jt)("0ms",(0,n.oB)({transform:"translateX(100%)"}))]),(0,n.eR)("void => forward",[(0,n.oB)({transform:"translateX(100%"}),(0,n.jt)("800ms")]),(0,n.eR)("forward => void",[(0,n.jt)("0ms",(0,n.oB)({transform:"translateX(-100%)"}))])])]},2427:(t,e,i)=>{"use strict";i.d(e,{H:()=>f});var n=i(4608),r=i(1572),s=i(3869),o=i(3722),a=i(7439),l=i(5980),c=i(1511),h=i(7679),u=i(6880);function d(t,e){if(1&t&&(r.TgZ(0,"p",14),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.data.titleMessage)}}let f=(()=>{class t{constructor(t,e,i){this.dialogRef=t,this.data=e,this.logger=i,this.errorMessage=""}ngOnInit(){this.errorMessage="object"==typeof this.data.message.message?JSON.stringify(this.data.message.message):this.data.message.message,this.data.message||this.data.titleMessage||this.data.message||(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.data.message)}onClose(){this.dialogRef.close(!1)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(n.so),r.Y36(n.WI),r.Y36(s.mQ))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-error-message"]],decls:29,vars:6,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large","error-alert-block"],["fxLayout","column"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],[1,"word-break"],["fxLayout","row","fxLayoutAlign","end center"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","start center",1,"pb-1"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r.NdJ("click",function(){return e.onClose()}),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"div",7),r.YNc(10,d,2,1,"p",8),r.TgZ(11,"h4",9),r._uU(12,"Error Code"),r.qZA(),r.TgZ(13,"span"),r._uU(14),r.qZA(),r._UZ(15,"mat-divider",10),r.TgZ(16,"h4",9),r._uU(17,"Error Message"),r.qZA(),r.TgZ(18,"span",11),r._uU(19),r.qZA(),r._UZ(20,"mat-divider",10),r.TgZ(21,"h4",9),r._uU(22,"API URL"),r.qZA(),r.TgZ(23,"span",11),r._uU(24),r.qZA(),r._UZ(25,"mat-divider",10),r.TgZ(26,"div",12),r.TgZ(27,"button",13),r._uU(28,"OK"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(5),r.Oqu(e.data.alertTitle||"ERROR"),r.xp6(5),r.Q6J("ngIf",e.data.titleMessage),r.xp6(4),r.Oqu(e.data.message.code),r.xp6(5),r.Oqu(e.errorMessage),r.xp6(5),r.Oqu(e.data.message.URL),r.xp6(3),r.Q6J("mat-dialog-close",!1))},directives:[o.xw,o.yH,a.dk,o.Wh,l.lW,a.dn,c.O5,h.d,u.h,n.ZT],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]}),t})()},8016:(t,e,i)=>{"use strict";i.d(e,{w:()=>h});var n=i(5291),r=i(1572),s=i(6853),o=i(3722),a=i(7592),l=i(7439),c=i(5980);let h=(()=>{class t{constructor(t){this.router=t,this.faTimes=n.NBC}goToHelp(){this.router.navigate(["/help"])}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(s.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-not-found"]],decls:13,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column",1,"padding-gap-large"],["fxLayout","column","fxLayoutAlign","start start"],[1,"box-text"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Page Not Found"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"div",5),r.TgZ(8,"div",6),r._uU(9,"This page does not exist!"),r.qZA(),r.TgZ(10,"span",7),r.TgZ(11,"button",8),r.NdJ("click",function(){return e.goToHelp()}),r._uU(12,"Go To Help"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faTimes))},directives:[o.xw,o.Wh,a.BN,l.a8,l.dn,o.yH,c.lW],encapsulation:2}),t})()},5028:(t,e,i)=>{"use strict";i.d(e,{a:()=>Wt});var n=i(6073),r=i(9666),s=i(9568),o=i(4608),a=i(5291),l=i(4833),c=i(9421),h=i(3929),u=i(1572),d=i(964),f=i(2969),p=i(1511),m=i(3869),g=i(6853),y=i(1084),b=i(3722),v=i(7439),_=i(5980),w=i(7753),x=i(5001),C=i(377),A=i(6828),S=i(7679);function k(t,e){1&t&&u.GkF(0)}function M(t,e){1&t&&u.GkF(0)}const E=function(t){return{"h-5":t}};function T(t,e){if(1&t&&(u.TgZ(0,"mat-expansion-panel",3),u.TgZ(1,"mat-expansion-panel-header"),u.TgZ(2,"mat-panel-title"),u.TgZ(3,"span",4),u._uU(4),u.ALo(5,"number"),u.qZA(),u.qZA(),u.qZA(),u.YNc(6,M,1,0,"ng-container",0),u.qZA()),2&t){const t=u.oxw(),e=u.MAs(4);u.Q6J("expanded",t.panelExpanded)("ngClass",u.VKq(7,E,!t.flgShowPanel)),u.xp6(4),u.AsE("Quote for ",t.termCaption," amount (",u.lcZ(5,5,t.quote.amount)," Sats)"),u.xp6(2),u.Q6J("ngTemplateOutlet",e)}}function L(t,e){if(1&t&&(u.TgZ(0,"div",17),u.TgZ(1,"h4",8),u._uU(2,"Prepay Amount (Sats)"),u.qZA(),u.TgZ(3,"span",9),u._uU(4),u.ALo(5,"number"),u.qZA(),u.qZA()),2&t){const t=u.oxw(2);u.xp6(4),u.Oqu(u.lcZ(5,1,null==t.quote?null:t.quote.prepay_amt_sat))}}function I(t,e){1&t&&u._UZ(0,"mat-divider",12)}function O(t,e){if(1&t&&(u.TgZ(0,"div",6),u.TgZ(1,"div",18),u.TgZ(2,"h4",8),u._uU(3,"Swap Server Node Pubkey"),u.qZA(),u.TgZ(4,"span",9),u._uU(5),u.qZA(),u.qZA(),u.qZA()),2&t){const t=u.oxw(2);u.xp6(5),u.Oqu(null==t.quote?null:t.quote.swap_payment_dest)}}function D(t,e){if(1&t&&(u.TgZ(0,"div",5),u.TgZ(1,"div",6),u.TgZ(2,"div",7),u.TgZ(3,"h4",8),u._uU(4,"Swap Fee (Sats)"),u.qZA(),u.TgZ(5,"span",9),u._uU(6),u.ALo(7,"number"),u.qZA(),u.qZA(),u.TgZ(8,"div",10),u.TgZ(9,"h4",8),u._uU(10),u.qZA(),u.TgZ(11,"span",9),u._uU(12),u.ALo(13,"number"),u.qZA(),u.qZA(),u.YNc(14,L,6,3,"div",11),u.qZA(),u._UZ(15,"mat-divider",12),u.TgZ(16,"div",6),u.TgZ(17,"div",13),u.TgZ(18,"h4",8),u._uU(19,"Max Off-chain Swap Routing Fee (Sats)"),u.qZA(),u.TgZ(20,"span",9),u._uU(21),u.ALo(22,"number"),u.qZA(),u.qZA(),u.TgZ(23,"div",14),u.TgZ(24,"h4",8),u._uU(25,"Max Off-chain Prepay Routing Fee (Sats)"),u.qZA(),u.TgZ(26,"span",9),u._uU(27,"36"),u.qZA(),u.qZA(),u.qZA(),u.YNc(28,I,1,0,"mat-divider",15),u.YNc(29,O,6,1,"div",16),u.qZA()),2&t){const t=u.oxw();u.xp6(2),u.Q6J("fxFlex",null!=t.quote&&t.quote.prepay_amt_sat?"30":"50"),u.xp6(4),u.Oqu(u.lcZ(7,9,null==t.quote?null:t.quote.swap_fee_sat)),u.xp6(2),u.Q6J("fxFlex",null!=t.quote&&t.quote.prepay_amt_sat?"30":"50"),u.xp6(2),u.Oqu(null!=t.quote&&t.quote.htlc_sweep_fee_sat?"HTLC Sweep Fee (Sats)":null!=t.quote&&t.quote.htlc_publish_fee_sat?"HTLC Publish Fee (Sats)":""),u.xp6(2),u.Oqu(u.lcZ(13,11,null!=t.quote&&t.quote.htlc_sweep_fee_sat?t.quote.htlc_sweep_fee_sat:null!=t.quote&&t.quote.htlc_publish_fee_sat?t.quote.htlc_publish_fee_sat:0)),u.xp6(2),u.Q6J("ngIf",null==t.quote?null:t.quote.prepay_amt_sat),u.xp6(7),u.Oqu(u.lcZ(22,13,(null==t.quote?null:t.quote.amount)*((null!=t.quote&&t.quote.off_chain_swap_routing_fee_percentage?null==t.quote?null:t.quote.off_chain_swap_routing_fee_percentage:2)/100))),u.xp6(7),u.Q6J("ngIf",""!==(null==t.quote?null:t.quote.swap_payment_dest)),u.xp6(1),u.Q6J("ngIf",""!==(null==t.quote?null:t.quote.swap_payment_dest))}}let R=(()=>{class t{constructor(){this.quote={},this.termCaption="",this.showPanel=!0,this.panelExpanded=!1,this.flgShowPanel=!1}ngOnInit(){setTimeout(()=>{this.flgShowPanel=!0},1200)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=u.Xpm({type:t,selectors:[["rtl-loop-quote"]],inputs:{quote:"quote",termCaption:"termCaption",showPanel:"showPanel",panelExpanded:"panelExpanded"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["informationBlock",""],["quoteDetailsBlock",""],["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded","ngClass"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["matTooltip","Estimated fee charged by the loop server for the swap",3,"fxFlex"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],["matTooltip","An estimate of the on-chain fee that needs to be paid to sweep the HTLC",3,"fxFlex"],["fxFlex","40","matTooltip","The part of the swap fee that is requested as a prepayment",4,"ngIf"],[1,"w-100","my-1"],["fxFlex","50","matTooltip","Maximum off-chain fee that may be paid for routing the payment amount to the server"],["fxFlex","50","matTooltip","Maximum off-chain fee that may be paid for routing the pre-payment amount to the server"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxFlex","40","matTooltip","The part of the swap fee that is requested as a prepayment"],["fxFlex","100","matTooltip","The node pubkey, where the swap payments will be sent"]],template:function(t,e){if(1&t&&(u.YNc(0,k,1,0,"ng-container",0),u.YNc(1,T,7,9,"ng-template",null,1,u.W1O),u.YNc(3,D,30,15,"ng-template",null,2,u.W1O)),2&t){const t=u.MAs(2),i=u.MAs(4);u.Q6J("ngTemplateOutlet",e.showPanel?t:i)}},directives:[p.tP,x.ib,b.yH,p.mk,C.oO,x.yz,x.yK,b.Wh,b.xw,A.gM,p.O5,S.d],pipes:[p.JJ],styles:[""]}),t})();var P=i(6283),Z=i(6756),F=i(6880),N=i(7521),B=i(3691),U=i(4810),q=i(5994);function z(t,e){1&t&&u.GkF(0)}function H(t,e){if(1&t&&(u.TgZ(0,"div",3),u.TgZ(1,"span",4),u._uU(2),u.qZA(),u.qZA()),2&t){const t=u.oxw();u.xp6(2),u.Oqu("Error: "+(null!=t.loopStatus&&null!=t.loopStatus.error&&null!=t.loopStatus.error.error&&null!=t.loopStatus.error.error.error&&t.loopStatus.error.error.error.error?t.loopStatus.error.error.error.error:null!=t.loopStatus&&null!=t.loopStatus.error&&null!=t.loopStatus.error.error&&t.loopStatus.error.error.error?t.loopStatus.error.error.error:null!=t.loopStatus&&null!=t.loopStatus.error&&t.loopStatus.error.error?t.loopStatus.error.error:null!=t.loopStatus&&t.loopStatus.error?t.loopStatus.error:"Unknown"))}}function Y(t,e){if(1&t&&(u.TgZ(0,"div",3),u.TgZ(1,"div",5),u.TgZ(2,"div",6),u.TgZ(3,"h4",7),u._uU(4,"ID"),u.qZA(),u.TgZ(5,"span",4),u._uU(6),u.qZA(),u.qZA(),u.qZA(),u._UZ(7,"mat-divider",8),u.TgZ(8,"div",5),u.TgZ(9,"div",6),u.TgZ(10,"h4",7),u._uU(11,"HTLC Address"),u.qZA(),u.TgZ(12,"span",4),u._uU(13),u.qZA(),u.qZA(),u.qZA(),u.qZA()),2&t){const t=u.oxw();u.xp6(6),u.Oqu(null==t.loopStatus?null:t.loopStatus.id_bytes),u.xp6(7),u.Oqu(null==t.loopStatus?null:t.loopStatus.htlc_address)}}let j=(()=>{class t{constructor(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=u.Xpm({type:t,selectors:[["rtl-loop-status"]],inputs:{loopStatus:"loopStatus"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["loopFailedBlock",""],["loopSuccessfulBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"]],template:function(t,e){if(1&t&&(u.YNc(0,z,1,0,"ng-container",0),u.YNc(1,H,3,1,"ng-template",null,1,u.W1O),u.YNc(3,Y,14,2,"ng-template",null,2,u.W1O)),2&t){const t=u.MAs(2),i=u.MAs(4);u.Q6J("ngTemplateOutlet",null!=e.loopStatus&&e.loopStatus.error?t:i)}},directives:[p.tP,b.xw,b.yH,b.Wh,S.d],styles:[""]}),t})();var G=i(194);function V(t,e){1&t&&u.GkF(0)}const Q=function(t,e){return{"small-svg":t,"large-svg":e}};function W(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",7),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"g",8),u.TgZ(5,"g",9),u.TgZ(6,"g",10),u.TgZ(7,"g",11),u._UZ(8,"circle",12),u._UZ(9,"path",13),u.qZA(),u.TgZ(10,"g",14),u._UZ(11,"ellipse",15),u._UZ(12,"ellipse",16),u._UZ(13,"rect",17),u._UZ(14,"rect",18),u._UZ(15,"rect",19),u._UZ(16,"rect",20),u._UZ(17,"rect",21),u._UZ(18,"rect",22),u._UZ(19,"rect",23),u._UZ(20,"rect",24),u._UZ(21,"rect",25),u._UZ(22,"rect",26),u._UZ(23,"rect",27),u._UZ(24,"rect",28),u._UZ(25,"rect",29),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(26,"div",30),u.TgZ(27,"mat-card-title"),u._uU(28,"Loop Out explained."),u.qZA(),u.qZA(),u.TgZ(29,"div",31),u.TgZ(30,"mat-card-subtitle",32),u._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,Q,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function J(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",33),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",34),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",8),u.TgZ(10,"g",38),u.TgZ(11,"g",39),u.TgZ(12,"g",40),u.TgZ(13,"g",41),u.TgZ(14,"g",42),u._UZ(15,"rect",43),u._UZ(16,"rect",44),u._UZ(17,"rect",45),u._UZ(18,"circle",46),u._UZ(19,"rect",47),u._UZ(20,"rect",48),u._UZ(21,"circle",49),u._UZ(22,"rect",50),u._UZ(23,"rect",51),u._UZ(24,"rect",52),u._UZ(25,"rect",53),u._UZ(26,"circle",54),u._UZ(27,"circle",55),u.qZA(),u.TgZ(28,"g",56),u._UZ(29,"path",57),u._UZ(30,"rect",58),u._UZ(31,"polygon",59),u._UZ(32,"circle",60),u._UZ(33,"path",61),u._UZ(34,"rect",62),u._UZ(35,"rect",63),u._UZ(36,"rect",64),u._UZ(37,"rect",65),u._UZ(38,"rect",66),u._UZ(39,"rect",67),u._UZ(40,"rect",68),u._UZ(41,"path",69),u._UZ(42,"path",70),u.qZA(),u._UZ(43,"path",71),u.qZA(),u.qZA(),u._UZ(44,"circle",72),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(45,"div",30),u.TgZ(46,"mat-card-title"),u._uU(47,"Step 1: Deciding to Loop Out"),u.qZA(),u.qZA(),u.TgZ(48,"div",31),u.TgZ(49,"mat-card-subtitle",32),u._uU(50," You have a channel with a local balance amount and you want to gain inbound liquidity. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,Q,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function X(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",73),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",74),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",8),u.TgZ(10,"g",75),u.TgZ(11,"g",76),u._UZ(12,"circle",77),u._UZ(13,"path",78),u.TgZ(14,"g",79),u._UZ(15,"polygon",80),u._UZ(16,"polygon",81),u._UZ(17,"path",82),u.qZA(),u.TgZ(18,"g",83),u._UZ(19,"polygon",84),u._UZ(20,"path",85),u._UZ(21,"rect",86),u._UZ(22,"path",87),u._UZ(23,"rect",88),u._UZ(24,"rect",89),u._UZ(25,"rect",90),u._UZ(26,"rect",91),u._UZ(27,"circle",92),u._UZ(28,"path",93),u.TgZ(29,"g",94),u.TgZ(30,"g",95),u._UZ(31,"g",96),u.qZA(),u._UZ(32,"g",97),u.qZA(),u._UZ(33,"path",98),u.qZA(),u.TgZ(34,"g",99),u.TgZ(35,"g",41),u.TgZ(36,"g",42),u._UZ(37,"rect",43),u._UZ(38,"rect",44),u._UZ(39,"rect",45),u._UZ(40,"circle",46),u._UZ(41,"rect",47),u._UZ(42,"rect",48),u._UZ(43,"circle",49),u._UZ(44,"rect",50),u._UZ(45,"rect",51),u._UZ(46,"rect",52),u._UZ(47,"rect",53),u._UZ(48,"circle",100),u._UZ(49,"circle",54),u._UZ(50,"circle",55),u._UZ(51,"circle",101),u.qZA(),u.TgZ(52,"g",56),u._UZ(53,"path",57),u._UZ(54,"rect",102),u._UZ(55,"polygon",103),u._UZ(56,"circle",104),u._UZ(57,"path",61),u._UZ(58,"rect",105),u._UZ(59,"rect",106),u._UZ(60,"rect",107),u._UZ(61,"rect",108),u._UZ(62,"rect",109),u._UZ(63,"rect",110),u._UZ(64,"rect",68),u._UZ(65,"path",69),u._UZ(66,"path",70),u.qZA(),u._UZ(67,"path",111),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(68,"div",30),u.TgZ(69,"mat-card-title"),u._uU(70,"Step 2: Send lightning payment"),u.qZA(),u.qZA(),u.TgZ(71,"div",31),u.TgZ(72,"mat-card-subtitle",32),u._uU(73," Your node pays a lightning invoice for the amount requested via the loop service. This moves the local balance, for the amount paid, to the remote side of the channel. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,Q,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function K(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",112),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"g",8),u.TgZ(5,"g",113),u.TgZ(6,"g",114),u.TgZ(7,"g",115),u.TgZ(8,"g",116),u._UZ(9,"circle",12),u._UZ(10,"path",117),u.qZA(),u.TgZ(11,"g",14),u._UZ(12,"ellipse",118),u._UZ(13,"ellipse",16),u._UZ(14,"rect",17),u._UZ(15,"rect",18),u._UZ(16,"rect",19),u._UZ(17,"rect",20),u._UZ(18,"rect",21),u._UZ(19,"rect",22),u._UZ(20,"rect",23),u._UZ(21,"rect",24),u._UZ(22,"rect",25),u._UZ(23,"rect",26),u._UZ(24,"rect",27),u._UZ(25,"rect",28),u._UZ(26,"rect",29),u.qZA(),u.qZA(),u.TgZ(27,"g",119),u._UZ(28,"polygon",80),u._UZ(29,"polygon",120),u._UZ(30,"path",82),u.qZA(),u.TgZ(31,"g",121),u._UZ(32,"polygon",84),u._UZ(33,"path",85),u._UZ(34,"rect",86),u._UZ(35,"path",87),u._UZ(36,"rect",88),u._UZ(37,"rect",89),u._UZ(38,"rect",90),u._UZ(39,"rect",91),u._UZ(40,"circle",122),u._UZ(41,"path",93),u.TgZ(42,"g",94),u.TgZ(43,"g",95),u._UZ(44,"g",96),u.qZA(),u._UZ(45,"g",97),u.qZA(),u._UZ(46,"path",123),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(47,"div",30),u.TgZ(48,"mat-card-title"),u._uU(49,"Step 3: Receive funds back"),u.qZA(),u.qZA(),u.TgZ(50,"div",31),u.TgZ(51,"mat-card-subtitle",32),u._uU(52," Loop service then sends you a payment on-chain for the amount same as the lightning payment minus the fee. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,Q,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function $(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",124),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",34),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",8),u.TgZ(10,"g",125),u.TgZ(11,"g",126),u.TgZ(12,"g",42),u._UZ(13,"rect",127),u._UZ(14,"rect",128),u._UZ(15,"rect",129),u._UZ(16,"circle",130),u._UZ(17,"rect",131),u._UZ(18,"rect",132),u._UZ(19,"circle",133),u._UZ(20,"rect",134),u._UZ(21,"rect",135),u._UZ(22,"rect",136),u._UZ(23,"rect",137),u._UZ(24,"rect",138),u._UZ(25,"circle",139),u._UZ(26,"circle",140),u._UZ(27,"circle",141),u.qZA(),u.TgZ(28,"g",142),u.TgZ(29,"g",143),u.TgZ(30,"g",144),u._UZ(31,"path",145),u._UZ(32,"rect",146),u._UZ(33,"polygon",147),u.TgZ(34,"g",148),u._UZ(35,"path",149),u.qZA(),u._UZ(36,"rect",150),u._UZ(37,"rect",151),u._UZ(38,"rect",152),u._UZ(39,"rect",153),u._UZ(40,"rect",154),u._UZ(41,"rect",155),u._UZ(42,"rect",156),u._UZ(43,"path",157),u._UZ(44,"path",158),u.qZA(),u.TgZ(45,"g",159),u._UZ(46,"path",160),u._UZ(47,"path",161),u._UZ(48,"path",162),u._UZ(49,"path",163),u._UZ(50,"path",164),u._UZ(51,"path",165),u._UZ(52,"path",166),u._UZ(53,"path",167),u._UZ(54,"path",168),u._UZ(55,"path",169),u._UZ(56,"path",170),u._UZ(57,"circle",171),u._UZ(58,"circle",172),u.qZA(),u._UZ(59,"path",173),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(60,"div",30),u.TgZ(61,"mat-card-title"),u._uU(62,"Done!"),u.qZA(),u.qZA(),u.TgZ(63,"div",31),u.TgZ(64,"mat-card-subtitle",32),u._uU(65," Final settlement occurs when your node sweeps the on-chain payment and the loop server settles the lightning invoice. You receive the payment on-chain in your wallet and also move local balance to the remote side of the channel, gaining inbound capacity. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,Q,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let tt=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new u.vpe,this.screenSize="",this.screenSizeEnum=c.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(y.v))},t.\u0275cmp=u.Xpm({type:t,selectors:[["rtl-loop-out-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopOut_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopOut_Step02","transform","translate(-540.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(540.000000, 210.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["fxFlex","30","viewBox","0 0 373 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","LoopOut_Step03","transform","translate(-460.000000, -210.000000)"],["id","Loop_Step03","transform","translate(460.000000, 210.000000)"],["id","Oval","fill-rule","nonzero","cx","330.487742","cy","57.4877419","r","42.4877419",1,"fill-color-2"],["d","M345.082742,43.5000036 C349.446821,43.5000036 352.999928,40.1343958 352.999928,36.0000215 C352.999928,31.8656472 349.446821,28.5000393 345.082742,28.5000393 C341.98433,28.5000393 339.560889,30.4359631 337.999964,32.1843872 C336.43904,30.4359631 334.015599,28.5000393 330.917187,28.5000393 C326.553107,28.5000393 323,31.8656472 323,36.0000215 C323,40.1343958 326.553107,43.5000036 330.917187,43.5000036 C334.015599,43.5000036 336.43904,41.5640798 337.999964,39.8156557 C339.560889,41.5640798 341.98433,43.5000036 345.082742,43.5000036 Z M330.917187,39.0000143 C329.032807,39.0000143 327.499989,37.6546959 327.499989,36.0000286 C327.499989,34.3453471 329.032807,33.0000286 330.917187,33.0000286 C332.707771,33.0000286 334.357776,34.6921938 335.323426,36.0000286 C334.36716,37.2937501 332.703102,39.0000143 330.917187,39.0000143 Z M345.082742,39.0000143 C343.292157,39.0000143 341.642152,37.3078492 340.676502,36.0000286 C341.632768,34.7062929 343.296827,33.0000286 345.082742,33.0000286 C346.967121,33.0000286 348.499939,34.3453471 348.499939,36.0000286 C348.499939,37.6546959 346.967121,39.0000143 345.082742,39.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(113.000000, 79.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-22"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(265.000000, 50.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-3"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["d","M46.60483,51.432122 C46.8713708,51.432122 47.1252368,51.2924832 47.2648756,51.0513229 L52.8499289,41.4044125 C53.145042,40.8998413 52.7801095,40.2620153 52.1930443,40.2620153 L48.5310139,40.2620153 L49.8828693,36.1430446 C50.0098023,35.6606929 49.6448699,35.184694 49.1466515,35.184694 L44.5770624,35.184694 C44.1962633,35.184694 43.8725779,35.4671324 43.8218171,35.8447396 L42.8063528,43.4607214 C42.7460473,43.9176927 43.1014659,44.3238722 43.5615982,44.3238722 L47.3283421,44.3238722 L45.8654203,50.4959909 C45.751193,50.9783426 46.1192864,51.432122 46.60483,51.432122 Z","id","b","fill-rule","nonzero","transform","translate(47.877046, 43.308408) rotate(14.000000) translate(-47.877046, -43.308408) ",1,"fill-color-12"],["id","Group-34","fill-rule","nonzero"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","17.5648113","r","8.78679245"],["id","Oval","cx","76.317438","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-8"],["id","Path","opacity","0.222721354","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-18"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-8"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-14"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step04","transform","translate(-503.000000, -212.000000)"],["id","Loop_Step04","transform","translate(503.000000, 212.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M46.519593,50.6740439 L46.519593,48.5460252 C46.9395628,48.5560039 47.349554,48.5560039 47.739557,48.5560039 L47.739557,50.6740439 L49.2794877,50.6740439 L49.2794877,48.5160274 C51.8593644,48.3760168 53.5840235,47.7260428 53.8140277,45.2961554 C53.9939838,43.3462645 53.0739982,42.476265 51.6140824,42.1263004 C52.4940295,41.6763328 53.054041,40.8763386 52.92404,39.5463928 C52.7540005,37.7264719 51.2593765,37.1164744 49.2794567,36.9465279 L49.2794567,34.4266159 L47.739526,34.4266159 L47.739526,36.8765226 C47.3395134,36.8765226 46.9295222,36.8865012 46.519562,36.8965108 L46.519562,34.4266159 L44.9796003,34.4266159 L44.9796003,36.9465279 C44.413422,36.9636341 43.7539962,36.9552669 41.8897293,36.9465279 L41.8897293,38.5864308 C43.1055717,38.564924 43.7434908,38.4867995 43.8896683,39.2663716 L43.8896683,46.1661239 C43.7968547,46.7846435 43.3018283,46.6955796 42.1997174,46.6760872 L41.8897293,48.5060178 C44.6975648,48.5060178 44.9796313,48.5160274 44.9796313,48.5160274 L44.9796313,50.6740439 L46.519593,50.6740439 Z M46.5495908,41.7662953 L46.5495908,38.6964125 C47.4195593,38.6964125 50.1394466,38.4264629 50.1394466,40.2363742 C50.1394466,41.9663016 47.4195903,41.7662953 46.5495908,41.7662953 Z M46.5495908,46.6860969 L46.5495908,43.306257 C47.5895368,43.306257 50.7741427,43.0162572 50.7741427,44.9962079 C50.7741427,46.9060914 47.5895368,46.6860969 46.5495908,46.6860969 Z","id","B","fill-rule","nonzero","transform","translate(47.863077, 42.550330) rotate(14.000000) translate(-47.863077, -42.550330) ",1,"fill-color-29"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step05","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step05","transform","translate(542.000000, 210.000000)"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"]],template:function(t,e){if(1&t&&(u.YNc(0,V,1,0,"ng-container",0),u.YNc(1,W,32,5,"ng-template",null,1,u.W1O),u.YNc(3,J,51,5,"ng-template",null,2,u.W1O),u.YNc(5,X,74,5,"ng-template",null,3,u.W1O),u.YNc(7,K,53,5,"ng-template",null,4,u.W1O),u.YNc(9,$,66,5,"ng-template",null,5,u.W1O)),2&t){const t=u.MAs(2),i=u.MAs(4),n=u.MAs(6),r=u.MAs(8),s=u.MAs(10);u.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?r:s)}},directives:[p.tP,b.xw,b.yH,b.Wh,p.mk,C.oO,v.n5,v.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[G.l]}}),t})();function et(t,e){1&t&&u.GkF(0)}const it=function(t,e){return{"small-svg":t,"large-svg":e}};function nt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",7),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"g",8),u.TgZ(5,"g",9),u.TgZ(6,"g",10),u.TgZ(7,"g",11),u._UZ(8,"circle",12),u._UZ(9,"path",13),u.qZA(),u.TgZ(10,"g",14),u._UZ(11,"ellipse",15),u._UZ(12,"ellipse",16),u._UZ(13,"rect",17),u._UZ(14,"rect",18),u._UZ(15,"rect",19),u._UZ(16,"rect",20),u._UZ(17,"rect",21),u._UZ(18,"rect",22),u._UZ(19,"rect",23),u._UZ(20,"rect",24),u._UZ(21,"rect",25),u._UZ(22,"rect",26),u._UZ(23,"rect",27),u._UZ(24,"rect",28),u._UZ(25,"rect",29),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(26,"div",30),u.TgZ(27,"mat-card-title"),u._uU(28,"Loop In explained."),u.qZA(),u.qZA(),u.TgZ(29,"div",31),u.TgZ(30,"mat-card-subtitle",32),u._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,it,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function rt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",33),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",34),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",8),u.TgZ(10,"g",38),u.TgZ(11,"g",39),u.TgZ(12,"g",40),u._UZ(13,"rect",41),u._UZ(14,"rect",42),u._UZ(15,"rect",43),u._UZ(16,"circle",44),u._UZ(17,"rect",45),u._UZ(18,"rect",46),u._UZ(19,"circle",47),u._UZ(20,"rect",48),u._UZ(21,"rect",49),u._UZ(22,"rect",50),u._UZ(23,"rect",51),u._UZ(24,"rect",52),u._UZ(25,"circle",53),u._UZ(26,"circle",54),u._UZ(27,"circle",55),u.qZA(),u.TgZ(28,"g",56),u.TgZ(29,"g",57),u.TgZ(30,"g",58),u._UZ(31,"path",59),u._UZ(32,"rect",60),u._UZ(33,"polygon",61),u.TgZ(34,"g",62),u._UZ(35,"path",63),u.qZA(),u._UZ(36,"rect",64),u._UZ(37,"rect",65),u._UZ(38,"rect",66),u._UZ(39,"rect",67),u._UZ(40,"rect",68),u._UZ(41,"rect",69),u._UZ(42,"rect",70),u._UZ(43,"path",71),u._UZ(44,"path",72),u.qZA(),u.TgZ(45,"g",73),u._UZ(46,"path",74),u._UZ(47,"path",75),u._UZ(48,"path",76),u._UZ(49,"path",77),u._UZ(50,"path",78),u._UZ(51,"path",79),u._UZ(52,"path",80),u._UZ(53,"path",81),u._UZ(54,"path",82),u._UZ(55,"path",83),u._UZ(56,"path",84),u._UZ(57,"circle",85),u._UZ(58,"circle",86),u.qZA(),u._UZ(59,"path",87),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(60,"div",30),u.TgZ(61,"mat-card-title"),u._uU(62,"Step 1: Deciding to Loop In"),u.qZA(),u.qZA(),u.TgZ(63,"div",31),u.TgZ(64,"mat-card-subtitle",32),u._uU(65," Your outgoing capacity is depleted and you want to regain it without opening new channels. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,it,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function st(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",88),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",89),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",90),u.TgZ(10,"g",91),u.TgZ(11,"g",92),u.TgZ(12,"g",93),u.TgZ(13,"g",94),u._UZ(14,"circle",95),u._UZ(15,"path",96),u.TgZ(16,"g",97),u._UZ(17,"polygon",98),u._UZ(18,"polygon",99),u._UZ(19,"path",100),u.qZA(),u.TgZ(20,"g",101),u._UZ(21,"polygon",102),u._UZ(22,"path",103),u._UZ(23,"rect",104),u._UZ(24,"path",105),u._UZ(25,"rect",106),u._UZ(26,"rect",107),u._UZ(27,"rect",108),u._UZ(28,"rect",109),u._UZ(29,"circle",110),u._UZ(30,"path",111),u.TgZ(31,"g",112),u.TgZ(32,"g",113),u._UZ(33,"g",114),u.qZA(),u._UZ(34,"g",115),u.qZA(),u.qZA(),u.qZA(),u.TgZ(35,"g",116),u.TgZ(36,"g",40),u._UZ(37,"rect",117),u._UZ(38,"rect",42),u._UZ(39,"rect",43),u._UZ(40,"circle",118),u._UZ(41,"rect",45),u._UZ(42,"rect",46),u._UZ(43,"circle",119),u._UZ(44,"rect",48),u._UZ(45,"rect",49),u._UZ(46,"rect",50),u._UZ(47,"rect",51),u._UZ(48,"rect",52),u._UZ(49,"circle",120),u._UZ(50,"circle",54),u._UZ(51,"circle",55),u._UZ(52,"circle",121),u.qZA(),u.TgZ(53,"g",56),u.TgZ(54,"g",57),u.TgZ(55,"g",58),u._UZ(56,"path",59),u._UZ(57,"rect",60),u._UZ(58,"polygon",61),u.TgZ(59,"g",122),u._UZ(60,"path",63),u.qZA(),u._UZ(61,"rect",123),u._UZ(62,"rect",124),u._UZ(63,"rect",125),u._UZ(64,"rect",126),u._UZ(65,"rect",127),u._UZ(66,"rect",128),u._UZ(67,"rect",129),u._UZ(68,"path",130),u._UZ(69,"path",72),u.qZA(),u.TgZ(70,"g",73),u._UZ(71,"path",131),u._UZ(72,"path",132),u._UZ(73,"path",133),u._UZ(74,"path",134),u._UZ(75,"path",135),u._UZ(76,"path",136),u._UZ(77,"path",80),u._UZ(78,"path",81),u._UZ(79,"path",137),u._UZ(80,"path",83),u._UZ(81,"path",138),u._UZ(82,"circle",85),u._UZ(83,"circle",86),u.qZA(),u._UZ(84,"path",139),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u._UZ(85,"path",140),u._UZ(86,"path",141),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(87,"div",30),u.TgZ(88,"mat-card-title"),u._uU(89,"Step 2: Send payment out"),u.qZA(),u.qZA(),u.TgZ(90,"div",31),u.TgZ(91,"mat-card-subtitle",32),u._uU(92," Your node sends funds on-chain to loop server to be swapped with off-chain liquidity. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,it,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function ot(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",142),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"g",90),u.TgZ(5,"g",143),u.TgZ(6,"g",144),u.TgZ(7,"g"),u.TgZ(8,"g",145),u.TgZ(9,"g",146),u._UZ(10,"circle",12),u._UZ(11,"path",147),u.qZA(),u.TgZ(12,"g",14),u._UZ(13,"ellipse",148),u._UZ(14,"ellipse",16),u._UZ(15,"rect",17),u._UZ(16,"rect",18),u._UZ(17,"rect",19),u._UZ(18,"rect",20),u._UZ(19,"rect",21),u._UZ(20,"rect",22),u._UZ(21,"rect",23),u._UZ(22,"rect",24),u._UZ(23,"rect",25),u._UZ(24,"rect",26),u._UZ(25,"rect",27),u._UZ(26,"rect",28),u._UZ(27,"rect",29),u.qZA(),u.qZA(),u.TgZ(28,"g",149),u._UZ(29,"polygon",150),u._UZ(30,"polygon",99),u._UZ(31,"path",151),u.qZA(),u.TgZ(32,"g",152),u._UZ(33,"polygon",102),u._UZ(34,"path",103),u._UZ(35,"rect",104),u._UZ(36,"path",105),u._UZ(37,"rect",106),u._UZ(38,"rect",107),u._UZ(39,"rect",108),u._UZ(40,"rect",109),u._UZ(41,"circle",110),u._UZ(42,"path",111),u.TgZ(43,"g",112),u.TgZ(44,"g",113),u._UZ(45,"g",114),u.qZA(),u._UZ(46,"g",115),u.qZA(),u.qZA(),u.qZA(),u._UZ(47,"path",153),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(48,"div",30),u.TgZ(49,"mat-card-title"),u._uU(50,"Step 3: Recieve Funds Off-chain"),u.qZA(),u.qZA(),u.TgZ(51,"div",31),u.TgZ(52,"mat-card-subtitle",32),u._uU(53," Loop server sends equivalent funds off-chain to your node by making a lightning payment to you. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,it,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function at(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",6),u.NdJ("swipe",function(e){return u.CHM(t),u.oxw().onSwipe(e)}),u.O4$(),u.TgZ(1,"svg",154),u.TgZ(2,"desc"),u._uU(3,"Created with Sketch."),u.qZA(),u.TgZ(4,"defs"),u.TgZ(5,"linearGradient",34),u._UZ(6,"stop",35),u._UZ(7,"stop",36),u._UZ(8,"stop",37),u.qZA(),u.qZA(),u.TgZ(9,"g",90),u.TgZ(10,"g",155),u.TgZ(11,"g",156),u.TgZ(12,"g",157),u.TgZ(13,"g",158),u.TgZ(14,"g",40),u._UZ(15,"rect",159),u._UZ(16,"rect",160),u._UZ(17,"rect",161),u._UZ(18,"circle",162),u._UZ(19,"rect",163),u._UZ(20,"rect",164),u._UZ(21,"circle",165),u._UZ(22,"rect",166),u._UZ(23,"rect",167),u._UZ(24,"rect",168),u._UZ(25,"rect",169),u._UZ(26,"circle",170),u._UZ(27,"circle",171),u.qZA(),u.TgZ(28,"g",172),u._UZ(29,"path",173),u._UZ(30,"rect",174),u._UZ(31,"polygon",175),u._UZ(32,"circle",176),u._UZ(33,"path",177),u._UZ(34,"rect",178),u._UZ(35,"rect",179),u._UZ(36,"rect",180),u._UZ(37,"rect",181),u._UZ(38,"rect",182),u._UZ(39,"rect",183),u._UZ(40,"rect",184),u._UZ(41,"path",185),u._UZ(42,"path",186),u.qZA(),u._UZ(43,"path",187),u.qZA(),u.qZA(),u._UZ(44,"circle",188),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.kcU(),u.TgZ(45,"div",30),u.TgZ(46,"mat-card-title"),u._uU(47,"Done!"),u.qZA(),u.qZA(),u.TgZ(48,"div",31),u.TgZ(49,"mat-card-subtitle",32),u._uU(50," You send the payment on-chain from your wallet and also move remote balance to the local side of the node, gaining outgoing capacity. "),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@sliderAnimation",t.animationDirection),u.xp6(1),u.Q6J("ngClass",u.WLB(2,it,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let lt=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new u.vpe,this.screenSize="",this.screenSizeEnum=c.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(y.v))},t.\u0275cmp=u.Xpm({type:t,selectors:[["rtl-loop-in-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopIn_Step02","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(542.000000, 210.000000)"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"],["fxFlex","30","viewBox","0 0 364 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","Loopv0.3","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step03","transform","translate(-1127.000000, -164.000000)"],["id","LoopIn_Step03","transform","translate(1127.000000, 164.000000)"],["id","Group-21"],["id","Group-35","transform","translate(107.000000, 10.000000)"],["id","Oval","fill-rule","nonzero","cx","214.487742","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M232.082742,28.5000036 C236.446821,28.5000036 239.999928,25.1343958 239.999928,21.0000215 C239.999928,16.8656472 236.446821,13.5000393 232.082742,13.5000393 C228.98433,13.5000393 226.560889,15.4359631 224.999964,17.1843872 C223.43904,15.4359631 221.015599,13.5000393 217.917187,13.5000393 C213.553107,13.5000393 210,16.8656472 210,21.0000215 C210,25.1343958 213.553107,28.5000036 217.917187,28.5000036 C221.015599,28.5000036 223.43904,26.5640798 224.999964,24.8156557 C226.560889,26.5640798 228.98433,28.5000036 232.082742,28.5000036 Z M217.917187,24.0000143 C216.032807,24.0000143 214.499989,22.6546959 214.499989,21.0000286 C214.499989,19.3453471 216.032807,18.0000286 217.917187,18.0000286 C219.707771,18.0000286 221.357776,19.6921938 222.323426,21.0000286 C221.36716,22.2937501 219.703102,24.0000143 217.917187,24.0000143 Z M232.082742,24.0000143 C230.292157,24.0000143 228.642152,22.3078492 227.676502,21.0000286 C228.632768,19.7062929 230.296827,18.0000286 232.082742,18.0000286 C233.967121,18.0000286 235.499939,19.3453471 235.499939,21.0000286 C235.499939,22.6546959 233.967121,24.0000143 232.082742,24.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(0.000000, 64.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-20"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-20"],["id","Group-43","transform","translate(152.000000, 35.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["id","LoopIn_Step03","fill-rule","nonzero"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-10"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","15.8607624","r","7.93434243"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.35996418",1,"fill-color-31"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-4"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-20"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-20"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-16"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-9"],["d","M93.2292414,91.9116485 L93.2292414,89.7922708 C93.647506,89.8022089 94.0558324,89.8022089 94.4442517,89.8022089 L94.4442517,91.9116485 L95.9779294,91.9116485 L95.9779294,89.7623948 C98.5473303,89.6229527 100.264986,88.975618 100.494057,86.5555973 C100.673282,84.6136241 99.757032,83.7471573 98.3030443,83.3986138 C99.1794183,82.9504733 99.7371558,82.1537275 99.6076827,80.8291821 C99.4383337,79.0166511 97.9497787,78.4091306 95.9778985,78.2398742 L95.9778985,75.7301945 L94.4442208,75.7301945 L94.4442208,78.1701531 C94.0458325,78.1701531 93.6375061,78.1800912 93.2292106,78.1900602 L93.2292106,75.7301945 L91.695502,75.7301945 L91.695502,78.2398742 C91.1316227,78.2569109 90.4748746,78.2485777 88.6181777,78.2398742 L88.6181777,79.8731181 C89.8290831,79.8516987 90.4644118,79.7738914 90.6099957,80.5502979 L90.6099957,87.4220333 C90.517559,88.0380413 90.0245427,87.9493391 88.926907,87.9299259 L88.6181777,89.7524258 L89.5798445,89.7528809 C91.4824304,89.7548325 91.6955329,89.7623948 91.6955329,89.7623948 L91.6955329,91.9116485 L93.2292414,91.9116485 Z M93.2591175,83.0400705 L93.2591175,79.9826533 C94.1255534,79.9826533 96.8343964,79.7137998 96.8343964,81.5163618 C96.8343964,83.2392647 94.1255843,83.0400705 93.2591175,83.0400705 Z M93.2591175,87.9398948 L93.2591175,84.5737791 C94.2948407,84.5737791 97.4665153,84.2849568 97.4665153,86.2568678 C97.4665153,88.1589961 94.2948407,87.9398948 93.2591175,87.9398948 Z","id","b","fill-rule","nonzero","transform","translate(94.567271, 83.820921) rotate(14.000000) translate(-94.567271, -83.820921) ",1,"fill-color-9"],["d","M305.611064,96.181454 L305.611064,94.0620763 C306.029328,94.0720144 306.437655,94.0720144 306.826074,94.0720144 L306.826074,96.181454 L308.359752,96.181454 L308.359752,94.0322003 C310.929153,93.8927582 312.646809,93.2454235 312.875879,90.8254028 C313.055104,88.8834296 312.138854,88.0169628 310.684867,87.6684193 C311.561241,87.2202788 312.118978,86.423533 311.989505,85.0989876 C311.820156,83.2864566 310.331601,82.678936 308.359721,82.5096797 L308.359721,80 L306.826043,80 L306.826043,82.4399586 C306.427655,82.4399586 306.019328,82.4498967 305.611033,82.4598657 L305.611033,80 L304.077324,80 L304.077324,82.5096797 C303.513445,82.5267164 302.856697,82.5183832 301,82.5096797 L301,84.1429236 C302.210905,84.1215042 302.846234,84.0436969 302.991818,84.8201034 L302.991818,91.6918387 C302.899381,92.3078468 302.406365,92.2191446 301.308729,92.1997314 L301,94.0222313 L301.961667,94.0226864 C303.864253,94.024638 304.077355,94.0322003 304.077355,94.0322003 L304.077355,96.181454 L305.611064,96.181454 Z M305.64094,87.309876 L305.64094,84.2524587 C306.507376,84.2524587 309.216219,83.9836053 309.216219,85.7861673 C309.216219,87.5090702 306.507407,87.309876 305.64094,87.309876 Z M305.64094,92.2097003 L305.64094,88.8435846 C306.676663,88.8435846 309.848338,88.5547623 309.848338,90.5266733 C309.848338,92.4288016 306.676663,92.2097003 305.64094,92.2097003 Z","id","b","fill-rule","nonzero","transform","translate(306.949093, 88.090727) rotate(14.000000) translate(-306.949093, -88.090727) ",1,"fill-color-26"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step04","transform","translate(-1799.000000, -756.000000)"],["id","LoopIn_Step04","transform","translate(1799.000000, 756.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["d","M225.805162,92.2474279 C226.071703,92.2474279 226.325569,92.1077892 226.465207,91.8666288 L232.050261,82.2197185 C232.345374,81.7151473 231.980441,81.0773212 231.393376,81.0773212 L227.731346,81.0773212 L229.083201,76.9583506 C229.210134,76.4759989 228.845202,76 228.346983,76 L223.777394,76 C223.396595,76 223.07291,76.2824384 223.022149,76.6600456 L222.006685,84.2760274 C221.946379,84.7329987 222.301798,85.1391782 222.76193,85.1391782 L226.528674,85.1391782 L225.065752,91.3112968 C224.951525,91.7936485 225.319618,92.2474279 225.805162,92.2474279 Z","id","b","fill-rule","nonzero","transform","translate(227.077378, 84.123714) rotate(14.000000) translate(-227.077378, -84.123714) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step05","transform","translate(-2386.000000, -764.000000)","fill-rule","nonzero"],["id","LoopIn_Step05","transform","translate(2386.000000, 764.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"]],template:function(t,e){if(1&t&&(u.YNc(0,et,1,0,"ng-container",0),u.YNc(1,nt,32,5,"ng-template",null,1,u.W1O),u.YNc(3,rt,66,5,"ng-template",null,2,u.W1O),u.YNc(5,st,93,5,"ng-template",null,3,u.W1O),u.YNc(7,ot,54,5,"ng-template",null,4,u.W1O),u.YNc(9,at,51,5,"ng-template",null,5,u.W1O)),2&t){const t=u.MAs(2),i=u.MAs(4),n=u.MAs(6),r=u.MAs(8),s=u.MAs(10);u.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?r:s)}},directives:[p.tP,b.xw,b.yH,b.Wh,p.mk,C.oO,v.n5,v.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[G.l]}}),t})();const ct=["stepper"];function ht(t,e){if(1&t&&(u.TgZ(0,"div",48),u.TgZ(1,"p",49),u.TgZ(2,"strong"),u._uU(3,"Channel Peer:\xa0"),u.qZA(),u._uU(4),u.ALo(5,"titlecase"),u.qZA(),u.TgZ(6,"p",50),u.TgZ(7,"strong"),u._uU(8,"Channel ID:\xa0"),u.qZA(),u._uU(9),u.qZA(),u._UZ(10,"p",50),u.qZA()),2&t){const t=u.oxw(2);u.xp6(4),u.Oqu(u.lcZ(5,2,t.channel.remote_alias)),u.xp6(5),u.Oqu(t.channel.chan_id)}}function ut(t,e){if(1&t&&u._uU(0),2&t){const t=u.oxw(2);u.Oqu(t.inputFormLabel)}}function dt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Amount is required."),u.qZA())}function ft(t,e){if(1&t&&(u.TgZ(0,"mat-error"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&t){const t=u.oxw(2);u.xp6(1),u.hij("Amount must be greater than or equal to ",u.lcZ(2,1,t.minQuote.amount),".")}}function pt(t,e){if(1&t&&(u.TgZ(0,"mat-error"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&t){const t=u.oxw(2);u.xp6(1),u.hij("Amount must be less than or equal to ",u.lcZ(2,1,t.maxQuote.amount),".")}}function mt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Confirmation target is required."),u.qZA())}function gt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Confirmation target must be a positive number."),u.qZA())}function yt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Percentage is required."),u.qZA())}function bt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Percentage must be a positive number."),u.qZA())}function vt(t,e){if(1&t&&(u.TgZ(0,"mat-form-field",50),u._UZ(1,"input",51),u.YNc(2,yt,2,0,"mat-error",25),u.YNc(3,bt,2,0,"mat-error",25),u.qZA()),2&t){const t=u.oxw(2);u.xp6(1),u.Q6J("step",1),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.routingFeePercent.errors?null:t.inputFormGroup.controls.routingFeePercent.errors.required),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.routingFeePercent.errors?null:t.inputFormGroup.controls.routingFeePercent.errors.min)}}function _t(t,e){1&t&&(u.TgZ(0,"mat-slide-toggle",52),u._uU(1,"Fast"),u.qZA())}function wt(t,e){if(1&t&&u._uU(0),2&t){const t=u.oxw(2);u.Oqu(t.quoteFormLabel)}}function xt(t,e){1&t&&(u.TgZ(0,"p",53),u.TgZ(1,"mat-icon",54),u._uU(2,"close"),u.qZA(),u._uU(3,"Local balance amount is insufficient for swap."),u.qZA())}function Ct(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",55),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onValidateAmount()}),u._uU(1,"Next"),u.qZA()}}function At(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",56),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onLoop()}),u._uU(1),u.qZA()}if(2&t){const t=u.oxw(2);u.xp6(1),u.hij("Initiate ",t.loopDirectionCaption,"")}}function St(t,e){if(1&t&&u._uU(0),2&t){const t=u.oxw(3);u.Oqu(t.addressFormLabel)}}function kt(t,e){1&t&&(u.TgZ(0,"mat-error"),u._uU(1,"Address is required."),u.qZA())}function Mt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"mat-step",16),u.TgZ(1,"form",17),u.YNc(2,St,1,1,"ng-template",18),u.TgZ(3,"div",57),u.TgZ(4,"mat-radio-group",58),u.NdJ("change",function(e){return u.CHM(t),u.oxw(2).onAddressTypeChange(e)}),u.TgZ(5,"mat-radio-button",59),u._uU(6,"Node Local Address"),u.qZA(),u.TgZ(7,"mat-radio-button",60),u._uU(8,"External Address"),u.qZA(),u.qZA(),u.TgZ(9,"mat-form-field",61),u._UZ(10,"input",62),u.YNc(11,kt,2,0,"mat-error",25),u.qZA(),u.qZA(),u.TgZ(12,"div",29),u.TgZ(13,"button",63),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onLoop()}),u._uU(14),u.qZA(),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw(2);u.Q6J("stepControl",t.addressFormGroup)("editable",t.flgEditable),u.xp6(1),u.Q6J("formGroup",t.addressFormGroup),u.xp6(9),u.Q6J("required","external"===t.addressFormGroup.controls.addressType.value),u.xp6(1),u.Q6J("ngIf",null==t.addressFormGroup.controls.address.errors?null:t.addressFormGroup.controls.address.errors.required),u.xp6(3),u.hij("Initiate ",t.loopDirectionCaption,"")}}function Et(t,e){if(1&t&&u._uU(0),2&t){const t=u.oxw(2);u.hij("",t.loopDirectionCaption," Status")}}function Tt(t,e){if(1&t&&(u.TgZ(0,"mat-icon",64),u._uU(1),u.qZA()),2&t){const t=u.oxw(2);u.xp6(1),u.Oqu(t.loopStatus&&null!=t.loopStatus&&t.loopStatus.id_bytes?"check":"close")}}function Lt(t,e){1&t&&u._UZ(0,"div")}function It(t,e){1&t&&u._UZ(0,"mat-progress-bar",65)}function Ot(t,e){if(1&t&&(u.TgZ(0,"h4",66),u._uU(1),u.qZA()),2&t){const t=u.oxw(2);u.xp6(1),u.Oqu(t.loopStatus&&t.loopStatus.error?t.loopDirectionCaption+" failed.":t.loopStatus&&t.loopStatus.id_bytes&&t.channel?t.loopDirectionCaption+" request placed successfully. You can check the status of the request on the 'Loop' menu.":t.loopDirectionCaption+" request placed successfully.")}}function Dt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",67),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).goToLoop()}),u._uU(1,"Check Status"),u.qZA()}}function Rt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",68),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onRestart()}),u._uU(1,"Start Again"),u.qZA()}}function Pt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",3),u.TgZ(1,"div",4),u.TgZ(2,"mat-card-header",5),u.TgZ(3,"div",6),u.TgZ(4,"span",7),u._uU(5),u.qZA(),u.qZA(),u.TgZ(6,"div",8),u.TgZ(7,"button",9),u.NdJ("click",function(){return u.CHM(t),u.oxw().showInfo()}),u._uU(8,"?"),u.qZA(),u.TgZ(9,"button",10),u.NdJ("click",function(){return u.CHM(t),u.oxw().onClose()}),u._uU(10,"X"),u.qZA(),u.qZA(),u.qZA(),u.TgZ(11,"mat-card-content",11),u.TgZ(12,"div",12),u.YNc(13,ht,11,4,"div",13),u.TgZ(14,"mat-vertical-stepper",14,15),u.NdJ("selectionChange",function(e){return u.CHM(t),u.oxw().stepSelectionChanged(e)}),u.TgZ(16,"mat-step",16),u.TgZ(17,"form",17),u.YNc(18,ut,1,1,"ng-template",18),u.TgZ(19,"div",19),u._UZ(20,"rtl-loop-quote",20),u._UZ(21,"rtl-loop-quote",20),u.qZA(),u.TgZ(22,"div",21),u.TgZ(23,"mat-form-field",22),u._UZ(24,"input",23),u.TgZ(25,"mat-hint"),u._uU(26),u.ALo(27,"number"),u.ALo(28,"number"),u.qZA(),u.TgZ(29,"span",24),u._uU(30,"Sats"),u.qZA(),u.YNc(31,dt,2,0,"mat-error",25),u.YNc(32,ft,3,3,"mat-error",25),u.YNc(33,pt,3,3,"mat-error",25),u.qZA(),u.TgZ(34,"mat-form-field",22),u._UZ(35,"input",26),u.YNc(36,mt,2,0,"mat-error",25),u.YNc(37,gt,2,0,"mat-error",25),u.qZA(),u.YNc(38,vt,4,3,"mat-form-field",27),u.YNc(39,_t,2,0,"mat-slide-toggle",28),u.qZA(),u.TgZ(40,"div",29),u.TgZ(41,"button",30),u.NdJ("click",function(){return u.CHM(t),u.oxw().onEstimateQuote()}),u._uU(42,"Estimate Quote"),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.TgZ(43,"mat-step",16),u.TgZ(44,"form",17),u.YNc(45,wt,1,1,"ng-template",18),u._UZ(46,"rtl-loop-quote",31),u.YNc(47,xt,4,0,"p",32),u.TgZ(48,"div",29),u.YNc(49,Ct,2,0,"button",33),u.YNc(50,At,2,1,"button",34),u.qZA(),u.qZA(),u.qZA(),u.YNc(51,Mt,15,6,"mat-step",35),u.TgZ(52,"mat-step",36),u.TgZ(53,"form",17),u.YNc(54,Et,1,1,"ng-template",18),u.TgZ(55,"div",37),u.TgZ(56,"mat-expansion-panel",38),u.TgZ(57,"mat-expansion-panel-header"),u.TgZ(58,"mat-panel-title"),u.TgZ(59,"span",39),u._uU(60),u.YNc(61,Tt,2,1,"mat-icon",40),u.qZA(),u.qZA(),u.qZA(),u.YNc(62,Lt,1,0,"div",41),u.qZA(),u.YNc(63,It,1,0,"mat-progress-bar",42),u.qZA(),u.YNc(64,Ot,2,1,"h4",43),u.TgZ(65,"div",29),u.YNc(66,Dt,2,0,"button",44),u.YNc(67,Rt,2,0,"button",45),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.TgZ(68,"div",46),u.TgZ(69,"button",47),u._uU(70,"Close"),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw(),e=u.MAs(2);u.Q6J("@opacityAnimation",void 0),u.xp6(3),u.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"83":"91"),u.xp6(2),u.Oqu(t.channel?"Channel "+t.loopDirectionCaption:t.loopDirectionCaption),u.xp6(1),u.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"17":"9"),u.xp6(7),u.Q6J("ngIf",t.channel),u.xp6(1),u.Q6J("linear",!0),u.xp6(2),u.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),u.xp6(1),u.Q6J("formGroup",t.inputFormGroup),u.xp6(3),u.Q6J("quote",t.minQuote)("termCaption","min")("panelExpanded",!1)("showPanel",!0),u.xp6(1),u.Q6J("quote",t.maxQuote)("termCaption","max")("panelExpanded",!1)("showPanel",!0),u.xp6(2),u.Q6J("fxFlex",t.direction===t.LoopTypeEnum.LOOP_OUT?"30":"48"),u.xp6(1),u.Q6J("step",1e3),u.xp6(2),u.AsE("Range: ",u.lcZ(27,51,t.minQuote.amount),"-",u.lcZ(28,53,t.maxQuote.amount),""),u.xp6(5),u.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.required),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.min),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.max),u.xp6(1),u.Q6J("fxFlex",t.direction===t.LoopTypeEnum.LOOP_OUT?"20":"48"),u.xp6(1),u.Q6J("step",1),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.sweepConfTarget.errors?null:t.inputFormGroup.controls.sweepConfTarget.errors.required),u.xp6(1),u.Q6J("ngIf",null==t.inputFormGroup.controls.sweepConfTarget.errors?null:t.inputFormGroup.controls.sweepConfTarget.errors.min),u.xp6(1),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),u.xp6(1),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),u.xp6(4),u.Q6J("stepControl",t.quoteFormGroup)("editable",t.flgEditable),u.xp6(1),u.Q6J("formGroup",t.quoteFormGroup),u.xp6(2),u.Q6J("quote",t.quote)("showPanel",!1),u.xp6(1),u.Q6J("ngIf",t.inputFormGroup.controls.amount.value>t.localBalanceToCompare),u.xp6(2),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),u.xp6(1),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_IN),u.xp6(1),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),u.xp6(1),u.Q6J("stepControl",t.statusFormGroup),u.xp6(1),u.Q6J("formGroup",t.statusFormGroup),u.xp6(3),u.Q6J("expanded",!!t.loopStatus),u.xp6(4),u.Oqu(t.loopStatus?t.loopStatus.id_bytes?t.loopDirectionCaption+" request details":t.loopDirectionCaption+" error details":"Waiting for "+t.loopDirectionCaption+" request..."),u.xp6(1),u.Q6J("ngIf",t.loopStatus),u.xp6(1),u.Q6J("ngIf",!t.loopStatus)("ngIfElse",e),u.xp6(1),u.Q6J("ngIf",!t.loopStatus),u.xp6(1),u.Q6J("ngIf",t.loopStatus),u.xp6(2),u.Q6J("ngIf",t.loopStatus&&t.loopStatus.id_bytes&&t.channel),u.xp6(1),u.Q6J("ngIf",t.loopStatus&&(t.loopStatus.error||!t.loopStatus.id_bytes)),u.xp6(2),u.Q6J("mat-dialog-close",!1)}}function Zt(t,e){if(1&t&&u._UZ(0,"rtl-loop-status",69),2&t){const t=u.oxw();u.Q6J("loopStatus",t.loopStatus)}}function Ft(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"rtl-loop-out-info-graphics",86),u.NdJ("stepNumberChange",function(e){return u.CHM(t),u.oxw(2).stepNumber=e}),u.qZA()}if(2&t){const t=u.oxw(2);u.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}function Nt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"rtl-loop-in-info-graphics",86),u.NdJ("stepNumberChange",function(e){return u.CHM(t),u.oxw(2).stepNumber=e}),u.qZA()}if(2&t){const t=u.oxw(2);u.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}const Bt=function(t,e){return{"dot-primary":t,"dot-primary-lighter":e}};function Ut(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"span",87),u.NdJ("click",function(){const e=u.CHM(t).$implicit;return u.oxw(2).onStepChanged(e)}),u._UZ(1,"p",88),u.qZA()}if(2&t){const t=e.$implicit,i=u.oxw(2);u.xp6(1),u.Q6J("ngClass",u.WLB(1,Bt,i.stepNumber===t,i.stepNumber!==t))}}function qt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",89),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onReadMore()}),u._uU(1,"Read More"),u.qZA()}}function zt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",90),u.NdJ("click",function(){return u.CHM(t),u.oxw(2).onStepChanged(4)}),u._uU(1,"Back"),u.qZA()}}function Ht(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",91),u.NdJ("click",function(){u.CHM(t);const e=u.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),u._uU(1,"Close"),u.qZA()}}function Yt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",92),u.NdJ("click",function(){u.CHM(t);const e=u.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),u._uU(1,"Close"),u.qZA()}}function jt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",93),u.NdJ("click",function(){u.CHM(t);const e=u.oxw(2);return e.onStepChanged(e.stepNumber-1)}),u._uU(1,"Back"),u.qZA()}}function Gt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"button",94),u.NdJ("click",function(){u.CHM(t);const e=u.oxw(2);return e.onStepChanged(e.stepNumber+1)}),u._uU(1,"Next"),u.qZA()}}const Vt=function(){return[1,2,3,4,5]};function Qt(t,e){if(1&t){const t=u.EpF();u.TgZ(0,"div",70),u.TgZ(1,"div",19),u.TgZ(2,"mat-card-header",71),u.TgZ(3,"div",72),u._UZ(4,"span",7),u.qZA(),u.TgZ(5,"div",73),u.TgZ(6,"button",74),u.NdJ("click",function(){u.CHM(t);const e=u.oxw();return e.flgShowInfo=!1,e.stepNumber=1}),u._uU(7,"X"),u.qZA(),u.qZA(),u.qZA(),u.TgZ(8,"mat-card-content",75),u.YNc(9,Ft,1,2,"rtl-loop-out-info-graphics",76),u.YNc(10,Nt,1,2,"rtl-loop-in-info-graphics",76),u.qZA(),u.TgZ(11,"div",77),u.YNc(12,Ut,2,4,"span",78),u.qZA(),u.TgZ(13,"div",79),u.YNc(14,qt,2,0,"button",80),u.YNc(15,zt,2,0,"button",81),u.YNc(16,Ht,2,0,"button",82),u.YNc(17,Yt,2,0,"button",83),u.YNc(18,jt,2,0,"button",84),u.YNc(19,Gt,2,0,"button",85),u.qZA(),u.qZA(),u.qZA()}if(2&t){const t=u.oxw();u.Q6J("@opacityAnimation",void 0),u.xp6(9),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),u.xp6(1),u.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_IN),u.xp6(2),u.Q6J("ngForOf",u.DdM(10,Vt)),u.xp6(2),u.Q6J("ngIf",5===t.stepNumber),u.xp6(1),u.Q6J("ngIf",5===t.stepNumber),u.xp6(1),u.Q6J("ngIf",5===t.stepNumber),u.xp6(1),u.Q6J("ngIf",t.stepNumber<5),u.xp6(1),u.Q6J("ngIf",t.stepNumber>1&&t.stepNumber<5),u.xp6(1),u.Q6J("ngIf",t.stepNumber<5)}}let Wt=(()=>{class t{constructor(t,e,i,n,s,o,l,h,u){this.dialogRef=t,this.data=e,this.store=i,this.loopService=n,this.formBuilder=s,this.decimalPipe=o,this.logger=l,this.router=h,this.commonService=u,this.faInfoCircle=a.sqG,this.LoopTypeEnum=c.$I,this.direction=c.$I.LOOP_OUT,this.loopDirectionCaption="Loop out",this.loopStatus=null,this.inputFormLabel="Amount to loop out",this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address",this.prepayRoutingFee=36,this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=c.cu,this.animationDirection="forward",this.flgEditable=!0,this.localBalanceToCompare=null,this.unSubs=[new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.channel=this.data.channel,this.minQuote=this.data.minQuote?this.data.minQuote:{},this.maxQuote=this.data.maxQuote?this.data.maxQuote:{},this.direction=this.data.direction,this.loopDirectionCaption=this.direction===c.$I.LOOP_IN?"Loop in":"Loop out",this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.minQuote.amount,[n.kI.required,n.kI.min(this.minQuote.amount),n.kI.max(this.maxQuote.amount)]],sweepConfTarget:[6,[n.kI.required,n.kI.min(1)]],routingFeePercent:[2,[n.kI.required,n.kI.min(0)]],fast:[!1,[n.kI.required]]}),this.quoteFormGroup=this.formBuilder.group({}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[n.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges(),this.store.select("lnd").pipe((0,s.R)(this.unSubs[6])).subscribe(t=>{this.localBalanceToCompare=this.channel?+this.channel.local_balance:+t.totalLocalBalance})}ngAfterViewInit(){this.inputFormGroup.setErrors({Invalid:!0}),this.direction===c.$I.LOOP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.inputFormGroup.valueChanges.pipe((0,s.R)(this.unSubs[4])).subscribe(t=>{this.inputFormGroup.setErrors({Invalid:!0})}),this.direction===c.$I.LOOP_OUT&&this.addressFormGroup.valueChanges.pipe((0,s.R)(this.unSubs[5])).subscribe(t=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(t){"external"===t.value?(this.addressFormGroup.controls.address.setValidators([n.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onValidateAmount(){this.inputFormGroup.controls.amount.value<=this.localBalanceToCompare&&this.stepper.next()}onLoop(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2||this.direction===c.$I.LOOP_OUT&&(!this.inputFormGroup.controls.routingFeePercent.value||this.inputFormGroup.controls.routingFeePercent.value<0)||this.direction===c.$I.LOOP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected.stepControl.setErrors(null),this.stepper.next(),this.direction===c.$I.LOOP_IN)this.loopService.loopIn(this.inputFormGroup.controls.amount.value,+this.quote.swap_fee_sat,+this.quote.htlc_publish_fee_sat,"",!0).pipe((0,s.R)(this.unSubs[0])).subscribe(t=>{this.loopStatus=t,this.loopService.listSwaps(),this.flgEditable=!0},t=>{this.loopStatus={error:t.error.error?t.error.error:t.error?t.error:t},this.flgEditable=!0,this.logger.error(t)});else{let t=Math.ceil(this.inputFormGroup.controls.amount.value*(this.inputFormGroup.controls.routingFeePercent.value/100)),e="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"",i=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.loopService.loopOut(this.inputFormGroup.controls.amount.value,this.channel&&this.channel.chan_id?this.channel.chan_id:"",this.inputFormGroup.controls.sweepConfTarget.value,t,+this.quote.htlc_sweep_fee_sat,this.prepayRoutingFee,+this.quote.prepay_amt_sat,+this.quote.swap_fee_sat,i,e).pipe((0,s.R)(this.unSubs[1])).subscribe(t=>{this.loopStatus=t,this.loopService.listSwaps(),this.flgEditable=!0},t=>{this.loopStatus={error:t.error.error?t.error.error:t.error?t.error:t},this.flgEditable=!0,this.logger.error(t)})}}onEstimateQuote(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2)return!0;this.store.dispatch(new h.Fk("Getting Quotes..."));let t=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.direction===c.$I.LOOP_IN?this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,t).pipe((0,s.R)(this.unSubs[2])).subscribe(t=>{this.store.dispatch(new h.Iv),this.quote=t,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}):this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,t).pipe((0,s.R)(this.unSubs[3])).subscribe(t=>{this.store.dispatch(new h.Iv),this.quote=t,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}),this.stepper.selected.stepControl.setErrors(null),this.stepper.next()}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===c.$I.LOOP_IN?this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Percentage: "+(this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:"2")+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):"Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 2:this.inputFormLabel=this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===c.$I.LOOP_IN?this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):"Amount to "+this.loopDirectionCaption,this.quoteFormLabel=this.quote&&this.quote.swap_fee_sat&&(this.quote.htlc_sweep_fee_sat||this.quote.htlc_publish_fee_sat)&&this.quote.prepay_amt_sat?"Quote confirmed | Estimated Fees: "+this.decimalPipe.transform(+this.quote.swap_fee_sat+ +(this.quote.htlc_sweep_fee_sat?this.quote.htlc_sweep_fee_sat:this.quote.htlc_publish_fee_sat?this.quote.htlc_publish_fee_sat:0))+" Sats":"Quote confirmed",this.addressFormLabel=this.addressFormGroup.controls.addressType.value?"Withdrawal Address | Type: "+this.addressFormGroup.controls.addressType.value:"Withdrawal Address";break;default:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address"}(this.direction===c.$I.LOOP_OUT&&1!==t.selectedIndex&&t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(o.so),u.Y36(o.WI),u.Y36(d.yh),u.Y36(f.W),u.Y36(n.qu),u.Y36(p.JJ),u.Y36(m.mQ),u.Y36(g.F0),u.Y36(y.v))},t.\u0275cmp=u.Xpm({type:t,selectors:[["rtl-loop-modal"]],viewQuery:function(t,e){if(1&t&&u.Gf(ct,5),2&t){let t;u.iGM(t=u.CRH())&&(e.stepper=t.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["loopStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["class","padding-gap-large","fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngIf"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"quote","termCaption","panelExpanded","showPanel"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],[3,"fxFlex"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["matInput","","placeholder","Sweep Confirmation Target","type","number","tabindex","2","formControlName","sweepConfTarget","required","",3,"step"],["fxFlex","30",4,"ngIf"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","fxFlex","15","tabindex","4","color","primary","formControlName","fast",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","type","button",3,"click"],[3,"quote","showPanel"],["fxFlex","100","class","color-warn mt-2","fxLayoutAlign","start center",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","6","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","7","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","12","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-stroked-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],["matInput","","placeholder","Max Off-chain Routing Fee (%)","type","number","tabindex","3","formControlName","routingFeePercent","required","",3,"step"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","fxFlex","15","tabindex","4","color","primary","formControlName","fast"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn","mt-2"],[1,"mr-1","icon-small"],["mat-stroked-button","","color","primary","tabindex","6","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","7","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-stroked-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-flat-button","","color","primary","tabindex","12","type","button",3,"click"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"loopStatus"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-stroked-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(t,e){1&t&&(u.YNc(0,Pt,71,55,"div",0),u.YNc(1,Zt,1,1,"ng-template",null,1,u.W1O),u.YNc(3,Qt,20,11,"div",2)),2&t&&(u.Q6J("ngIf",!e.flgShowInfo),u.xp6(3),u.Q6J("ngIf",e.flgShowInfo))},directives:[p.O5,b.xw,b.yH,b.Wh,v.dk,_.lW,v.dn,w.Vq,w.C0,n._Y,n.JL,n.sg,w.VY,R,P.KE,Z.Nt,n.wV,n.Fj,F.h,n.JJ,n.u,n.Q7,P.bx,P.R9,x.ib,x.yz,x.yK,o.ZT,P.TO,N.Rr,A.gM,B.Hw,U.VQ,U.U0,q.pW,j,p.sg,tt,lt,p.mk,C.oO],pipes:[p.JJ,p.rS],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[l._]}}),t})()},6880:(t,e,i)=>{"use strict";i.d(e,{h:()=>r});var n=i(1572);let r=(()=>{class t{constructor(t){this.el=t}ngAfterContentInit(){setTimeout(()=>{this.el.nativeElement.focus()},500)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275dir=n.lG2({type:t,selectors:[["","autoFocus",""]],inputs:{appAutoFocus:"appAutoFocus"}}),t})()},2609:(t,e,i)=>{"use strict";i.d(e,{y:()=>r});var n=i(1572);let r=(()=>{class t{constructor(){this.copied=new n.vpe}onClick(t){if(t.preventDefault(),!this.payload)return;const e=t=>{(t.clipboardData||window.clipboardData).setData("text",this.payload.toString()),t.preventDefault(),this.copied.emit(this.payload)};document.addEventListener("copy",e,!1),document.execCommand("copy"),document.removeEventListener("copy",e,!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","rtlClipboard",""]],hostBindings:function(t,e){1&t&&n.NdJ("click",function(t){return e.onClick(t)})},inputs:{payload:"payload"},outputs:{copied:"copied"}}),t})()},5095:(t,e,i)=>{"use strict";i.d(e,{q:()=>s});var n=i(6073),r=i(1572);let s=(()=>{class t{validate(t){return this.min?n.kI.min(+this.min)(t):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["input","min",""]],inputs:{min:"min"},features:[r._Bn([{provide:n.Cf,useExisting:t,multi:!0}])]}),t})()},6013:(t,e,i)=>{"use strict";i.d(e,{a1:()=>a,QM:()=>l,lB:()=>c,fY:()=>h});var n=i(1681),r=i(1572),s=i(6853),o=i(3191);let a=(()=>{class t{constructor(t,e){this.router=t,this.sessionService=e}canActivate(t){return!(!this.sessionService.getItem("token")||"settings"!==t.url[0].path&&"auth"!==t.url[0].path&&"true"===this.sessionService.getItem("defaultPassword")&&(this.router.navigate(["/settings/auth"]),1))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(s.F0),r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),l=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.lndUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),c=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.clUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),h=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.eclUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},1084:(t,e,i)=>{"use strict";i.d(e,{v:()=>c});var n=i(2041),r=i(9056),s=i(1681),o=i(9421),a=i(1572),l=i(3556);let c=(()=>{class t{constructor(t){this.dataService=t,this.currencyUnits=[],this.CurrencyUnitEnum=o.NT,this.conversionData={data:null,last_fetched:null},this.screenSize=o.cu.MD,this.containerSize={width:1200,height:800}}getScreenSize(){return this.screenSize}setScreenSize(t){this.screenSize=t}getContainerSize(){return this.containerSize}setContainerSize(t,e){this.containerSize={width:t,height:e}}sortByKey(t,e,i,n="asc"){return t.sort("number"===i?"desc"===n?(t,i)=>+t[e]>+i[e]?-1:1:(t,i)=>+t[e]>+i[e]?1:-1:"desc"===n?(t,i)=>t[e]>i[e]?-1:1:(t,i)=>t[e]>i[e]?1:-1)}sortDescByKey(t,e){return t.sort(function(t,i){const n=+t[e],r=+i[e];return n>r?-1:nr?1:0})}camelCase(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0==e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,"")}titleCase(t){return t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()}convertCurrency(t,e,i,o){let a=(new Date).valueOf();return o&&i?this.conversionData.data&&this.conversionData.last_fetched&&a(this.conversionData.data=n&&"object"==typeof n?n:n&&"string"==typeof n?JSON.parse(n):{},this.conversionData.last_fetched=a,this.convertWithFiat(t,e,i)))):(0,n.of)(this.convertWithoutFiat(t,e))}convertWithoutFiat(t,e){let i={};switch(i[o.NT.SATS]=0,i[o.NT.BTC]=0,e){case o.NT.SATS:i[o.NT.SATS]=t,i[o.NT.BTC]=1e-8*t;break;case o.NT.BTC:i[o.NT.SATS]=1e8*t,i[o.NT.BTC]=t}return i}convertWithFiat(t,e,i){let n={unit:i,symbol:this.conversionData.data[i].symbol};switch(n[o.NT.SATS]=0,n[o.NT.BTC]=0,n[o.NT.OTHER]=0,e){case o.NT.SATS:n[o.NT.SATS]=t,n[o.NT.BTC]=1e-8*t,n[o.NT.OTHER]=1e-8*t*this.conversionData.data[i].last;break;case o.NT.BTC:n[o.NT.SATS]=1e8*t,n[o.NT.BTC]=t,n[o.NT.OTHER]=t*this.conversionData.data[i].last;break;case o.NT.OTHER:n[o.NT.SATS]=t/this.conversionData.data[i].last*1e8,n[o.NT.BTC]=t/this.conversionData.data[i].last,n[o.NT.OTHER]=t}return n}convertTime(t,e,i){switch(e){case o.Qk.SECS:switch(i){case o.Qk.MINS:t/=60;break;case o.Qk.HOURS:t/=3600;break;case o.Qk.DAYS:t/=86400}break;case o.Qk.MINS:switch(i){case o.Qk.SECS:t*=60;break;case o.Qk.HOURS:t/=60;break;case o.Qk.DAYS:t/=1440}break;case o.Qk.HOURS:switch(i){case o.Qk.SECS:t*=3600;break;case o.Qk.MINS:t*=60;break;case o.Qk.DAYS:t/=24}break;case o.Qk.DAYS:switch(i){case o.Qk.SECS:t=3600*t*24;break;case o.Qk.MINS:t=60*t*24;break;case o.Qk.HOURS:t*=24}}return t}downloadFile(t,e,i=".json",n=".csv"){let r=new Blob;r=".json"===i?new Blob(["\ufeff"+this.convertToCSV(t)],{type:"text/csv;charset=utf-8;"}):new Blob([t.toString()],{type:"text/plain;charset=utf-8"});let s=document.createElement("a"),o=URL.createObjectURL(r);-1!=navigator.userAgent.indexOf("Safari")&&-1==navigator.userAgent.indexOf("Chrome")&&s.setAttribute("target","_blank"),s.setAttribute("href",o),s.setAttribute("download",e+n),s.style.visibility="hidden",document.body.appendChild(s),s.click(),document.body.removeChild(s)}convertToCSV(t){let e=[],i="",n="",r="";"object"!=typeof t&&(t=JSON.parse(t)),t.forEach((t,i)=>{for(var n in t)e.findIndex(t=>t===n)<0&&e.push(n)});let s=e.join(",");return r=s+"\r\n",t.forEach(t=>{i="",e.forEach(e=>{t.hasOwnProperty(e)?Array.isArray(t[e])?(n="",t[e].forEach((t,e)=>{n+="object"==typeof t?"("+JSON.stringify(t).replace(/\,/g,";")+")":"("+t+")"}),i+=n+","):i+="object"==typeof t[e]?JSON.stringify(t[e]).replace(/\,/g,";")+",":t[e]+",":i+=","}),r+=i.slice(0,-1)+"\r\n"}),r}isVersionCompatible(t,e){let i=t.trim().replace("v","").split("-")[0].split("."),n=e.split(".");return+i[0]>+n[0]||+i[0]==+n[0]&&+i[1]>+n[1]||+i[0]==+n[0]&&+i[1]==+n[1]&&+i[2]>=+n[2]}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(l.D))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})()},9421:(t,e,i)=>{"use strict";i.d(e,{pt:()=>r,uA:()=>s,Xz:()=>o,Er:()=>a,LO:()=>l,IV:()=>c,TJ:()=>h,_t:()=>u,Dr:()=>d,Vc:()=>f,vn:()=>p,wZ:()=>m,ol:()=>g,n_:()=>y,OJ:()=>b,Qk:()=>v,NT:()=>_,Gi:()=>w,cu:()=>x,HW:()=>C,x$:()=>A,Fq:()=>S,$I:()=>k,hc:()=>M,Qw:()=>E,gg:()=>T,op:()=>L,JX:()=>I,kO:()=>O});var n=i(3005);function r(t){const e=new n.ye;return e.itemsPerPageLabel=t+" per page:",e}const s=["Sats","BTC"],o={Sats:"1.0-0",BTC:"1.6-6",OTHER:"1.2-2"},a=[{id:"USD",name:"USD"},{id:"AUD",name:"AUD"},{id:"BRL",name:"BRL"},{id:"CAD",name:"CAD"},{id:"CHF",name:"CHF"},{id:"CLP",name:"CLP"},{id:"CNY",name:"CNY"},{id:"DKK",name:"DKK"},{id:"EUR",name:"EUR"},{id:"GBP",name:"GBP"},{id:"HKD",name:"HKD"},{id:"INR",name:"INR"},{id:"ISK",name:"ISK"},{id:"JPY",name:"JPY"},{id:"KRW",name:"KRW"},{id:"NZD",name:"NZD"},{id:"PLN",name:"PLN"},{id:"RUB",name:"RUB"},{id:"SEK",name:"SEK"},{id:"SGD",name:"SGD"},{id:"THB",name:"THB"},{id:"TWD",name:"TWD"}],l=["SECS","MINS","HOURS","DAYS"],c=10,h=[5,10,25,100],u=[{addressId:"0",addressCode:"bech32",addressTp:"Bech32 (P2WKH)",addressDetails:"Pay to witness key hash"},{addressId:"1",addressCode:"p2sh-segwit",addressTp:"P2SH (NP2WKH)",addressDetails:"Pay to nested witness key hash (default)"}],d=[{id:"0",name:"Priority (Default)"},{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],f=[{id:"none",name:"No Fee Limit",placeholder:"No Limit"},{id:"fixed",name:"Fixed Limit (Sats)",placeholder:"Fixed Limit in Sats"},{id:"percent",name:"Percentage of Payment Amount",placeholder:"Percentage Limit"}],p=[{feeRateId:"urgent",feeRateType:"Urgent"},{feeRateId:"normal",feeRateType:"Normal"},{feeRateId:"slow",feeRateType:"Slow"}],m={themes:[{id:"PURPLE",name:"Diogo"},{id:"TEAL",name:"My2Sats"},{id:"INDIGO",name:"RTL"},{id:"PINK",name:"BK"},{id:"YELLOW",name:"Gold"}],modes:[{id:"DAY",name:"Day"},{id:"NIGHT",name:"Night"}]};var g=function(t){return t.OPERATOR="OPERATOR",t.MERCHANT="MERCHANT",t.ALL="ALL",t}({}),y=function(t){return t.INFORMATION="Information",t.WARNING="Warning",t.ERROR="Error",t.SUCCESS="Success",t.CONFIRM="Confirm",t}({}),b=function(t){return t.JWT="JWT",t.PASSWORD="PASSWORD",t}({}),v=function(t){return t.SECS="SECS",t.MINS="MINS",t.HOURS="HOURS",t.DAYS="DAYS",t}({}),_=function(t){return t.SATS="Sats",t.BTC="BTC",t.OTHER="OTHER",t}({}),w=function(t){return t.ARRAY="ARRAY",t.NUMBER="NUMBER",t.STRING="STRING",t.BOOLEAN="BOOLEAN",t.PASSWORD="PASSWORD",t.DATE="DATE",t.DATE_TIME="DATE_TIME",t}({}),x=function(t){return t.XS="XS",t.SM="SM",t.MD="MD",t.LG="LG",t.XL="XL",t}({});const C={COOPERATIVE_CLOSE:{name:"Co-operative Close",tooltip:"Channel closed cooperatively"},LOCAL_FORCE_CLOSE:{name:"Local Force Close",tooltip:"Channel force-closed by the local node"},REMOTE_FORCE_CLOSE:{name:"Remote Force Close",tooltip:"Channel force-closed by the remote node"},BREACH_CLOSE:{name:"Breach Close",tooltip:"Remote node attempted to broadcast a prior revoked channel state"},FUNDING_CANCELED:{name:"Funding Canceled",tooltip:"Channel never fully opened"},ABANDONED:{name:"Abandoned",tooltip:"Channel abandoned by the local node"}},A={WITNESS_PUBKEY_HASH:{name:"Witness Pubkey Hash",tooltip:""},NESTED_PUBKEY_HASH:{name:"Nested Pubkey Hash",tooltip:""},UNUSED_WITNESS_PUBKEY_HASH:{name:"Unused Witness Pubkey Hash",tooltip:""},UNUSED_NESTED_PUBKEY_HASH:{name:"Unused Nested Pubkey Hash",tooltip:""}};var S=function(t){return t.INITIATED="Initiated",t.PREIMAGE_REVEALED="Preimage Revealed",t.HTLC_PUBLISHED="HTLC Published",t.SUCCESS="Successful",t.FAILED="Failed",t.INVOICE_SETTLED="Invoice Settled",t}({}),k=function(t){return t.LOOP_OUT="LOOP_OUT",t.LOOP_IN="LOOP_IN",t}({}),M=function(t){return t.SWAP_OUT="SWAP_OUT",t.SWAP_IN="SWAP_IN",t}({}),E=function(t){return t["swap.created"]="Swap Created",t["swap.expired"]="Swap Expired",t["invoice.set"]="Invoice Set",t["invoice.paid"]="Invoice Paid",t["invoice.pending"]="Invoice Pending",t["invoice.settled"]="Invoice Settled",t["invoice.failedToPay"]="Invoice Failed To Pay",t["channel.created"]="Channel Created",t["transaction.failed"]="Transaction Failed",t["transaction.mempool"]="Transaction Mempool",t["transaction.claimed"]="Transaction Claimed",t["transaction.refunded"]="Transaction Refunded",t["transaction.confirmed"]="Transaction Confirmed",t["swap.refunded"]="Swap Refunded",t["swap.abandoned"]="Swap Abandoned",t}({});const T=[{name:"Jan",days:31},{name:"Feb",days:28},{name:"Mar",days:31},{name:"Apr",days:30},{name:"May",days:31},{name:"Jun",days:30},{name:"Jul",days:31},{name:"Aug",days:31},{name:"Sep",days:30},{name:"Oct",days:31},{name:"Nov",days:30},{name:"Dec",days:31}],L=["MONTHLY","YEARLY"];var I=function(t){return t.LOOP="LOOP",t.BOLTZ="BOLTZ",t}({});const O=["password","changeme","moneyprintergobrrr"]},3556:(t,e,i)=>{"use strict";i.d(e,{D:()=>_});var n=i(9063),r=i(9666),s=i(9647),o=i(2041),a=i(9568),l=i(1681),c=i(1816),h=i(5653),u=i(7228),d=i(5963),f=i(2427),p=i(3929),m=i(5678),g=i(1572),y=i(964),b=i(3869),v=i(1403);let _=(()=>{class t{constructor(t,e,i,n){this.httpClient=t,this.store=e,this.logger=i,this.snackBar=n,this.lnImplementation="LND",this.childAPIUrl=d.T,this.unSubs=[new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x]}getChildAPIUrl(){return this.childAPIUrl}getLnImplementation(){return this.lnImplementation}setChildAPIUrl(t){switch(this.lnImplementation=t,t){case"CLT":this.childAPIUrl=d.T+"/cl";break;case"ECL":this.childAPIUrl=d.T+"/ecl";break;default:this.childAPIUrl=d.T+"/lnd"}}getFiatRates(){return this.httpClient.get(d.N.CONF_API+"/rates")}decodePayment(t,e){let i=this.childAPIUrl+d.N.PAYREQUEST_API+"/"+t;return"ECL"===this.getLnImplementation()&&(i=this.childAPIUrl+d.N.PAYMENTS_API+"/"+t),this.store.dispatch(new p.Fk("Decoding Payment...")),this.httpClient.get(i).pipe((0,a.R)(this.unSubs[0]),(0,l.U)(t=>(this.store.dispatch(new p.Iv),t)),(0,c.K)(t=>(e?this.handleErrorWithoutAlert("Decode Payment",t):this.handleErrorWithAlert("ERROR","Decode Payment Failed",this.childAPIUrl+d.N.PAYREQUEST_API,t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}decodePayments(t){let e=this.childAPIUrl+d.N.PAYREQUEST_API,i="Decoding Payments";return"ECL"===this.getLnImplementation()&&(e=this.childAPIUrl+d.N.PAYMENTS_API+"/getsentinfos",i="Getting Sent Payments"),this.store.dispatch(new p.Fk(i+"...")),this.httpClient.post(e,{payments:t}).pipe((0,a.R)(this.unSubs[1]),(0,l.U)(t=>(this.store.dispatch(new p.Iv),t)),(0,c.K)(t=>(this.handleErrorWithAlert("ERROR",i+" Failed",e,t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}getAliasesFromPubkeys(t,e){if(e){let e=(new n.LE).set("pubkeys",t);return this.httpClient.get(this.childAPIUrl+d.N.NETWORK_API+"/nodes",{params:e})}return this.httpClient.get(this.childAPIUrl+d.N.NETWORK_API+"/node/"+t)}signMessage(t){return this.store.dispatch(new p.Fk("Signing Message...")),this.httpClient.post(this.childAPIUrl+d.N.MESSAGE_API+"/sign",{message:t}).pipe((0,a.R)(this.unSubs[2]),(0,l.U)(t=>(this.store.dispatch(new p.Iv),t)),(0,c.K)(t=>(this.handleErrorWithAlert("ERROR","Sign Message Failed",this.childAPIUrl+d.N.MESSAGE_API+"/sign",t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}verifyMessage(t,e){return this.store.dispatch(new p.Fk("Verifying Message...")),this.httpClient.post(this.childAPIUrl+d.N.MESSAGE_API+"/verify",{message:t,signature:e}).pipe((0,a.R)(this.unSubs[3]),(0,l.U)(t=>(this.store.dispatch(new p.Iv),t)),(0,c.K)(t=>(this.handleErrorWithAlert("ERROR","Verify Message Failed",this.childAPIUrl+d.N.MESSAGE_API+"/verify",t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}bumpFee(t,e,i,n){let r={txid:t,outputIndex:e};return i&&(r.targetConf=i),n&&(r.satPerByte=n),this.store.dispatch(new p.Fk("Bumping Fee...")),this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/bumpfee",r).pipe((0,a.R)(this.unSubs[4]),(0,l.U)(t=>(this.store.dispatch(new p.Iv),this.snackBar.open("Successfully bumped the fee. Use the block explorer to verify transaction."),t)),(0,c.K)(t=>(this.handleErrorWithoutAlert("Bump Fee",t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}labelUTXO(t,e,i=!0){return this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/label",{txid:t,label:e,overwrite:i})}leaseUTXO(t,e){let i={txid:t,outputIndex:e};return this.store.dispatch(new p.Fk("Leasing UTXO...")),this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/lease",i).pipe((0,a.R)(this.unSubs[7])).subscribe(t=>{this.store.dispatch(new p.Iv),this.store.dispatch(new m.eL),this.store.dispatch(new m.Zt);const e=new Date(1e3*t.expiration),i=Math.round(e.getTime())-60*e.getTimezoneOffset();this.snackBar.open("The UTXO has been leased till "+new Date(i).toString().substring(4,21).replace(" ","/").replace(" ","/").toUpperCase()+".")},t=>(this.handleErrorWithoutAlert("Lease UTXO",t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t)))}getForwardingHistory(t,e){return this.httpClient.post(this.childAPIUrl+d.N.SWITCH_API,{end_time:e,start_time:t}).pipe((0,a.R)(this.unSubs[5]),(0,h.M)(this.store.select("lnd")),(0,u.z)(([t,e])=>{if(t.forwarding_events){const i=[...e.allChannels,...e.closedChannels];t.forwarding_events.forEach(t=>{if(i&&i.length>0)for(let e=0;e(this.handleErrorWithAlert("ERROR","Forwarding History Failed",this.childAPIUrl+d.N.SWITCH_API,t),(0,s._)(t.error&&t.error.error?t.error.error:t.error?t.error:t))))}handleErrorWithoutAlert(t,e){this.store.dispatch(new p.Iv),this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(e)),401===e.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch(new p.RD))}handleErrorWithAlert(t,e,i,n){this.logger.error(n),this.store.dispatch(new p.Iv),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new p.RD)):this.store.dispatch(new p.wu({data:{type:t,alertTitle:e,message:{code:n.status,message:n.error.error,URL:i},component:f.H}}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(g.LFG(n.eN),g.LFG(y.yh),g.LFG(b.mQ),g.LFG(v.ux))},t.\u0275prov=g.Yz7({token:t,factory:t.\u0275fac}),t})()},3869:(t,e,i)=>{"use strict";i.d(e,{mQ:()=>a,LG:()=>l});var n=i(5963),r=i(1572);let s=n.N.isDebugMode;const o=()=>{};let a=(()=>{class t{invokeConsoleMethod(t,e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),l=(()=>{class t{get info(){return s?console.log.bind(console):o}get warn(){return s?console.warn.bind(console):o}get error(){return s?console.error.bind(console):o}invokeConsoleMethod(t,e){(console[t]||console.log||o).apply(console,[e])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},2969:(t,e,i)=>{"use strict";i.d(e,{W:()=>g});var n=i(9063),r=i(7425),s=i(9666),o=i(9647),a=i(9568),l=i(1816),c=i(5963),h=i(2427),u=i(9421),d=i(3929),f=i(1572),p=i(3869),m=i(964);let g=(()=>{class t{constructor(t,e,i){this.httpClient=t,this.logger=e,this.store=i,this.CHILD_API_URL=c.T+"/lnd",this.loopUrl="",this.swaps=[],this.swapsChanged=new r.X([]),this.unSubs=[new s.x,new s.x,new s.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch(new d.Fk("Getting List Swaps...")),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/swaps",this.httpClient.get(this.loopUrl).pipe((0,a.R)(this.unSubs[0])).subscribe(t=>{this.store.dispatch(new d.Iv),this.swaps=t,this.swapsChanged.next(this.swaps)},t=>this.handleErrorWithAlert("Loop Swaps",t))}loopOut(t,e,i,n,r,s,o,a,h,u){let d={amount:t,targetConf:i,swapRoutingFee:n,minerFee:r,prepayRoutingFee:s,prepayAmt:o,swapFee:a,swapPublicationDeadline:h,destAddress:u};return""!==e&&(d.chanId=e),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/out",this.httpClient.post(this.loopUrl,d).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out for Channel: "+e,t)))}getLoopOutTerms(){return this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/out/terms",this.httpClient.get(this.loopUrl).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out Terms",t)))}getLoopOutQuote(t,e,i){let r=new n.LE;return r=r.append("targetConf",e.toString()),r=r.append("swapPublicationDeadline",i.toString()),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/out/quote/"+t,this.httpClient.get(this.loopUrl,{params:r}).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out Quote",t)))}getLoopOutTermsAndQuotes(t){let e=new n.LE;return e=e.append("targetConf",t.toString()),e=e.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/out/termsAndQuotes",this.httpClient.get(this.loopUrl,{params:e}).pipe((0,l.K)(t=>this.handleErrorWithAlert(this.loopUrl,t)))}loopIn(t,e,i,n,r){const s={amount:t,swapFee:e,minerFee:i,lastHop:n,externalHtlc:r};return this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/in",this.httpClient.post(this.loopUrl,s).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop In",t)))}getLoopInTerms(){return this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/in/terms",this.httpClient.get(this.loopUrl).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop In Terms",t)))}getLoopInQuote(t,e,i){let r=new n.LE;return r=r.append("targetConf",e.toString()),r=r.append("swapPublicationDeadline",i.toString()),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/in/quote/"+t,this.httpClient.get(this.loopUrl,{params:r}).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop In Qoute",t)))}getLoopInTermsAndQuotes(t){let e=new n.LE;return e=e.append("targetConf",t.toString()),e=e.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/in/termsAndQuotes",this.httpClient.get(this.loopUrl,{params:e}).pipe((0,l.K)(t=>this.handleErrorWithAlert(this.loopUrl,t)))}getSwap(t){return this.loopUrl=this.CHILD_API_URL+c.N.LOOP_API+"/swap/"+t,this.httpClient.get(this.loopUrl).pipe((0,l.K)(e=>this.handleErrorWithoutAlert("Loop Get Swap for ID: "+t,e)))}handleErrorWithoutAlert(t,e){return this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(e)),this.store.dispatch(new d.Iv),401===e.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new d.RD)):"ECONNREFUSED"!==e.error.errno&&"ECONNREFUSED"!==e.error.error.errno||this.store.dispatch(new d.wu({data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:"ECONNREFUSED",message:"Unable to Connect to Loop Server",URL:t},component:h.H}})),(0,o._)(e)}handleErrorWithAlert(t,e){return 401===e.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch(new d.RD)),e.message=e.error&&e.error.error&&e.error.error.error&&"string"==typeof e.error.error.error?e.error.error.error:e.error&&e.error.error&&"string"==typeof e.error.error?e.error.error:e.error&&"string"==typeof e.error?e.error:"Unknown Error",this.logger.error(e),this.store.dispatch(new d.Iv),401===e.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new d.RD)):this.store.dispatch(new d.wu("ECONNREFUSED"===e.error.errno||"ECONNREFUSED"===e.error.error.errno?{data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:"ECONNREFUSED",message:"Unable to Connect to Loop Server",URL:t},component:h.H}}:{data:{type:u.n_.ERROR,alertTitle:"ERROR",message:{code:e.code?e.code:e.status,message:e.message?e.message:"Unknown Error",URL:t},component:h.H}})),(0,o._)(e)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(f.LFG(n.eN),f.LFG(p.mQ),f.LFG(m.yh))},t.\u0275prov=f.Yz7({token:t,factory:t.\u0275fac}),t})()},3191:(t,e,i)=>{"use strict";i.d(e,{m:()=>s});var n=i(9666),r=i(1572);let s=(()=>{class t{constructor(){this.sessionSub=new n.x}watchSession(){return this.sessionSub.asObservable()}getItem(t){return sessionStorage.getItem(t)}getAllItems(){return sessionStorage}setItem(t,e){sessionStorage.setItem(t,e),this.sessionSub.next(sessionStorage)}removeItem(t){sessionStorage.removeItem(t),this.sessionSub.next(sessionStorage)}clearAll(){sessionStorage.clear(),this.sessionSub.next(sessionStorage)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},253:(t,e,i)=>{"use strict";i.d(e,{m:()=>it});var n=i(1511),r=i(6853),s=i(6073),o=i(9063),a=i(7592),l=i(1572),c=i(1463),h=i(377),u=i(3722);i(9861),new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map;let d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[c.IR]]}),t})();new l.GfV("12.0.0-beta.34");let f=(()=>{class t{constructor(t,e){(0,n.PM)(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}static withConfig(e,i=[]){return{ngModule:t,providers:e.serverLoaded?[{provide:c.WU,useValue:Object.assign(Object.assign({},c.g5),e)},{provide:c.Bs,useValue:i,multi:!0},{provide:c.wY,useValue:!0}]:[{provide:c.WU,useValue:Object.assign(Object.assign({},c.g5),e)},{provide:c.Bs,useValue:i,multi:!0}]}}}return t.\u0275fac=function(e){return new(e||t)(l.LFG(c.wY),l.LFG(l.Lbi))},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[u.ae,h.aT,d],u.ae,h.aT,d]}),t})();var p=i(72),m=i(1522),g=i(4608),y=i(84),b=i(1050),v=i(5980);i(4230),i(4621);let _=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[m.BQ,m.si],m.BQ]}),t})();var w=i(7439),x=i(9236),C=i(5812),A=i(5001),S=i(7271),k=i(3691),M=i(6756),E=i(5250),T=i(8055),L=i(3005),I=i(5994),O=i(7806),D=i(4810),R=i(4786),P=i(5122),Z=i(7521);i(5842),i(3490),i(1353),i(6042),i(2526);let F=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[n.ez,m.BQ],m.BQ]}),t})();var N=i(1403),B=i(2464),U=i(7753),q=i(7033),z=i(5109),H=i(3104),Y=i(6828),j=i(1010),G=i(1905),V=i(3600),Q=i(7038),W=i(369);let J=(()=>{class t extends W.Xj{_createContainer(){const t=document.createElement("div");t.classList.add("cdk-overlay-container"),document.getElementById("rtl-container").appendChild(t),this._containerElement=t}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=l.n5z(t)))(i||t)}}(),t.\u0275prov=l.Yz7({token:t,factory:t.\u0275fac}),t})();var X=i(3869),K=i(9421);const $={suppressScrollX:!1,suppressScrollY:!1};let tt=(()=>{class t extends m.LF{format(t,e){if("input"===e){let e=t.getDate().toString();return e=+e<10?"0"+e:e,e+"/"+K.gg[t.getMonth()].name.toUpperCase()+"/"+t.getFullYear()}return K.gg[t.getMonth()].name.toUpperCase()+" "+t.getFullYear()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=l.n5z(t)))(i||t)}}(),t.\u0275prov=l.Yz7({token:t,factory:t.\u0275fac}),t})();const et={parse:{dateInput:{day:"numeric",month:"short",year:"numeric"}},display:{dateInput:"input",monthYearLabel:{month:"short",year:"numeric"},dateA11yLabel:{day:"numeric",month:"short",year:"numeric"},monthYearA11yLabel:{month:"short",year:"numeric"}}};let it=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({providers:[{provide:X.mQ,useClass:X.LG},{provide:Q.op,useValue:$},{provide:N.Ve,useValue:{duration:2e3,verticalPosition:"bottom",panelClass:"rtl-snack-bar"}},{provide:g.Bq,useValue:{hasBackdrop:!0,autoFocus:!0,disableClose:!0,role:"dialog",width:"55%"}},{provide:m._A,useClass:tt},{provide:m.sG,useValue:et},{provide:W.Xj,useClass:J},n.JJ,n.rS,n.uU],imports:[[n.ez,s.u5,s.UX,a.uH,f,p.xu,g.Is,v.ot,_,w.QW,x.p9,A.To,S.N6,C.FA,m.XK,k.Ps,M.c,E.ie,T.Tx,I.Cv,O.Cq,D.Fk,j.dp,R.LD,P.SJ,Z.rP,B.JX,q.p0,H.g0,Y.AV,b.g,L.TU,U.T5,F,z.Nh,N.ZX,y.Bb,G.a4,V.N,r.Bz,o.JF,Q.Xd],s.u5,s.UX,a.uH,f,p.xu,g.Is,v.ot,_,w.QW,x.p9,A.To,S.N6,C.FA,m.XK,k.Ps,M.c,E.ie,T.Tx,I.Cv,O.Cq,D.Fk,j.dp,R.LD,P.SJ,Z.rP,B.JX,q.p0,H.g0,Y.AV,b.g,L.TU,U.T5,F,z.Nh,N.ZX,y.Bb,G.a4,V.N,Q.Xd]}),t})()},3929:(t,e,i)=>{"use strict";i.d(e,{Zn:()=>n,SK:()=>r,dh:()=>s,G$:()=>o,Y8:()=>a,VO:()=>l,mm:()=>c,ow:()=>h,S7:()=>u,fW:()=>d,r3:()=>f,yL:()=>p,Vt:()=>m,oO:()=>g,Ih:()=>y,mG:()=>b,vH:()=>v,rZ:()=>_,ao:()=>w,Ol:()=>x,xh:()=>C,RP:()=>A,Tb:()=>S,zH:()=>k,s3:()=>M,JU:()=>E,ym:()=>T,gK:()=>L,Nv:()=>I,bk:()=>O,Gs:()=>D,bE:()=>R,BQ:()=>P,ih:()=>Z,Re:()=>F,Ac:()=>N,Lw:()=>B,Fk:()=>U,Iv:()=>q,wu:()=>z,YY:()=>H,b_:()=>Y,Ws:()=>j,fD:()=>G,Fj:()=>V,uQ:()=>Q,$A:()=>W,XF:()=>J,j_:()=>X,z2:()=>K,ZG:()=>$,wq:()=>tt,e6:()=>et,RD:()=>it,tq:()=>nt,ZF:()=>rt,m3:()=>st,nw:()=>ot});const n="VOID",r="UPDATE_SELECTED_NODE_OPTIONS",s="RESET_ROOT_STORE",o="CLEAR_EFFECT_ERROR_ROOT",a="EFFECT_ERROR_ROOT",l="CLOSE_ALL_DIALOGS",c="OPEN_SNACKBAR",h="OPEN_SPINNER",u="CLOSE_SPINNER",d="OPEN_ALERT",f="CLOSE_ALERT",p="OPEN_CONFIRMATION",m="CLOSE_CONFIRMATION",g="SHOW_PUBKEY",y="FETCH_CONFIG",b="SHOW_CONFIG",v="FETCH_RTL_CONFIG",_="SET_RTL_CONFIG",w="SAVE_SSO",x="SAVE_SETTINGS",C="TWO_FA_SAVE_SETTINGS",A="SET_SELECTED_NODE",S="UPDATE_SERVICE_SETTINGS",k="SET_NODE_DATA",M="IS_AUTHORIZED",E="IS_AUTHORIZED_RES",T="LOGIN",L="VERIFY_TWO_FA",I="LOGOUT",O="RESET_PASSWORD",D="RESET_PASSWORD_RES",R="FETCH_FILE",P="SHOW_FILE";class Z{constructor(t){this.payload=t,this.type=o}}class F{constructor(t){this.payload=t,this.type=a}}class N{constructor(){this.type=l}}class B{constructor(t){this.payload=t,this.type=c}}class U{constructor(t){this.payload=t,this.type=h}}class q{constructor(){this.type=u}}class z{constructor(t){this.payload=t,this.type=d}}class H{constructor(t){this.payload=t,this.type=f}}class Y{constructor(t){this.payload=t,this.type=p}}class j{constructor(t){this.payload=t,this.type=m}}class G{constructor(){this.type=g}}class V{constructor(t){this.payload=t,this.type=y}}class Q{constructor(){this.type=r}}class W{constructor(t){this.payload=t,this.type=s}}class J{constructor(){this.type=v}}class X{constructor(t){this.payload=t,this.type=x}}class K{constructor(t){this.payload=t,this.type=C}}class ${constructor(t){this.payload=t,this.type=A}}class tt{constructor(t){this.payload=t,this.type=S}}class et{constructor(t){this.payload=t,this.type=k}}class it{constructor(){this.type=I}}class nt{constructor(t){this.payload=t,this.type=O}}class rt{constructor(t){this.payload=t,this.type=M}}class st{constructor(t){this.payload=t,this.type=T}}class ot{constructor(t){this.payload=t,this.type=R}}},8914:(t,e,i)=>{"use strict";i.d(e,{V:()=>re});var n=i(5573),r=i(9666),s=i(2041),o=i(6891),a=i(1681),l=i(9056),c=i(5653),h=i(7228),u=i(1816),d=i(5963),f=i(9421),p=i(4608),m=i(1572),g=i(3722),y=i(7806);let b=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e}}return t.\u0275fac=function(e){return new(e||t)(m.Y36(p.so),m.Y36(p.WI))},t.\u0275cmp=m.Xpm({type:t,selectors:[["rtl-spinner-dialog"]],decls:5,vars:1,consts:[[1,"spinner-container"],["fxLayout","column","fxLayoutAlign","center center",1,"spinner-circle"]],template:function(t,e){1&t&&(m.TgZ(0,"div",0),m.TgZ(1,"div",1),m._UZ(2,"mat-spinner"),m.TgZ(3,"h1"),m._uU(4),m.qZA(),m.qZA(),m.qZA()),2&t&&(m.xp6(4),m.Oqu(e.data.titleMessage))},directives:[g.xw,g.Wh,y.$g],styles:[".spinner-container[_ngcontent-%COMP%]{position:absolute;left:40%;top:35%}"]}),t})();var v=i(3869),_=i(1403),w=i(1084),x=i(1511),C=i(377),A=i(7439),S=i(5980),k=i(3600),M=i(7038),E=i(3691),T=i(6880),L=i(2609),I=i(7679);const O=["scrollContainer"];function D(t,e){if(1&t&&m._UZ(0,"qrcode",15),2&t){const t=m.oxw();m.Q6J("qrdata",t.showQRField)("margin",2)("width",240)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function R(t,e){1&t&&m.GkF(0)}const P=function(t){return{"h-40":t}};function Z(t,e){if(1&t&&(m.ynx(0),m.TgZ(1,"mat-card-content",16,17),m.YNc(3,R,1,0,"ng-container",18),m.qZA(),m.BQk()),2&t){const t=m.oxw(),e=m.MAs(20);m.xp6(1),m.Q6J("ngClass",m.VKq(2,P,t.data.scrollable)),m.xp6(2),m.Q6J("ngTemplateOutlet",e)}}function F(t,e){1&t&&m.GkF(0)}function N(t,e){if(1&t&&(m.ynx(0),m.TgZ(1,"mat-card-content",19),m.YNc(2,F,1,0,"ng-container",18),m.qZA(),m.BQk()),2&t){m.oxw();const t=m.MAs(20);m.xp6(2),m.Q6J("ngTemplateOutlet",t)}}function B(t,e){1&t&&(m.TgZ(0,"mat-icon",23),m._uU(1,"arrow_downward"),m.qZA())}function U(t,e){1&t&&(m.TgZ(0,"mat-icon",23),m._uU(1,"arrow_upward"),m.qZA())}function q(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"div",20),m.TgZ(1,"button",21),m.NdJ("click",function(){return m.CHM(t),m.oxw().onScroll()}),m.YNc(2,B,2,0,"mat-icon",22),m.YNc(3,U,2,0,"mat-icon",22),m.qZA(),m.qZA()}if(2&t){const t=m.oxw();m.xp6(2),m.Q6J("ngIf","DOWN"===t.scrollDirection),m.xp6(1),m.Q6J("ngIf","UP"===t.scrollDirection)}}function z(t,e){1&t&&(m.TgZ(0,"button",24),m._uU(1,"OK"),m.qZA()),2&t&&m.Q6J("mat-dialog-close",!1)}function H(t,e){1&t&&(m.TgZ(0,"button",25),m._uU(1,"Close"),m.qZA()),2&t&&m.Q6J("mat-dialog-close",!1)}function Y(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"button",26),m.NdJ("copied",function(e){return m.CHM(t),m.oxw().onCopyField(e)}),m._uU(1),m.qZA()}if(2&t){const t=m.oxw();m.Q6J("payload",t.showCopyField),m.xp6(1),m.hij("Copy ",t.showCopyName,"")}}function j(t,e){1&t&&(m.TgZ(0,"button",25),m._uU(1,"Close"),m.qZA()),2&t&&m.Q6J("mat-dialog-close",!1)}function G(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"button",26),m.NdJ("copied",function(e){return m.CHM(t),m.oxw().onCopyField(e)}),m._uU(1),m.qZA()}if(2&t){const t=m.oxw();m.Q6J("payload",t.showQRField),m.xp6(1),m.hij("Copy ",t.showQRName,"")}}function V(t,e){if(1&t&&m._UZ(0,"qrcode",15),2&t){const t=m.oxw(2);m.Q6J("qrdata",t.showQRField)("margin",2)("width",240)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function Q(t,e){if(1&t&&(m.TgZ(0,"p",32),m._uU(1),m.qZA()),2&t){const t=m.oxw(2);m.xp6(1),m.Oqu(t.data.titleMessage)}}function W(t,e){1&t&&m._UZ(0,"span",46),2&t&&m.Q6J("innerHTML",e.$implicit,m.oJD)}function J(t,e){if(1&t&&(m.ynx(0),m.YNc(1,W,1,1,"span",45),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Q6J("ngForOf",t.value)}}function X(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.ALo(2,"date"),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(m.xi3(2,1,1e3*t.value,"dd/MMM/YYYY HH:mm"))}}function K(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.ALo(2,"number"),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(m.xi3(2,1,t.value,t.digitsInfo?t.digitsInfo:"1.0-3"))}}function $(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(t.value?"True":"False")}}function tt(t,e){1&t&&(m.TgZ(0,"mat-icon",51),m._uU(1,"info"),m.qZA())}const et=function(t){return{"failed-status":t}};function it(t,e){if(1&t&&(m.TgZ(0,"p",49),m._uU(1),m.YNc(2,tt,2,0,"mat-icon",50),m.qZA()),2&t){const t=m.oxw(3).$implicit,e=m.oxw(4);m.Q6J("ngClass",m.VKq(3,et,t.value===e.LoopStateEnum.FAILED)),m.xp6(1),m.hij(" ",t.value," "),m.xp6(1),m.Q6J("ngIf",t.value===e.LoopStateEnum.FAILED)}}function nt(t,e){if(1&t&&m._uU(0),2&t){const t=m.oxw(3).$implicit;m.Oqu(t.value)}}function rt(t,e){if(1&t&&(m.ynx(0),m.YNc(1,it,3,5,"p",47),m.YNc(2,nt,1,1,"ng-template",null,48,m.W1O),m.BQk()),2&t){const t=m.MAs(3),e=m.oxw(2).$implicit,i=m.oxw(4);m.xp6(1),m.Q6J("ngIf","SWAP"===i.data.openedBy&&"state"===e.key)("ngIfElse",t)}}function st(t,e){if(1&t&&(m.TgZ(0,"span"),m.TgZ(1,"span",42),m.YNc(2,J,2,1,"ng-container",43),m.YNc(3,X,3,4,"ng-container",43),m.YNc(4,K,3,4,"ng-container",43),m.YNc(5,$,2,1,"ng-container",43),m.YNc(6,rt,4,2,"ng-container",44),m.qZA(),m.qZA()),2&t){const t=m.oxw().$implicit,e=m.oxw(4);m.xp6(1),m.Q6J("ngSwitch",t.type),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.ARRAY),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.DATE_TIME),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.NUMBER),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.BOOLEAN)}}function ot(t,e){1&t&&(m.TgZ(0,"span",52),m._uU(1,"\xa0"),m.qZA())}function at(t,e){if(1&t&&(m.TgZ(0,"div",37),m.TgZ(1,"h4",38),m._uU(2),m.qZA(),m.YNc(3,st,7,5,"span",39),m.YNc(4,ot,2,0,"ng-template",null,40,m.W1O),m._UZ(6,"mat-divider",41),m.qZA()),2&t){const t=e.$implicit,i=m.MAs(5);m.s9C("fxFlex.gt-md",t.width),m.xp6(2),m.Oqu(t.title),m.xp6(1),m.Q6J("ngIf",t&&(!!t.value||0===t.value))("ngIfElse",i)}}function lt(t,e){if(1&t&&(m.TgZ(0,"div"),m.TgZ(1,"div",35),m.YNc(2,at,7,4,"div",36),m.qZA(),m.qZA()),2&t){const t=e.$implicit;m.xp6(2),m.Q6J("ngForOf",t)}}function ct(t,e){if(1&t&&(m.TgZ(0,"div",33),m.YNc(1,lt,3,1,"div",34),m.qZA()),2&t){const t=m.oxw(2);m.xp6(1),m.Q6J("ngForOf",t.messageObjs)}}const ht=function(t){return{"display-none":t}};function ut(t,e){if(1&t&&(m.TgZ(0,"div",27),m.TgZ(1,"div",28),m.YNc(2,V,1,5,"qrcode",2),m.qZA(),m.TgZ(3,"div",29),m.YNc(4,Q,2,1,"p",30),m.YNc(5,ct,2,1,"div",31),m.qZA(),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Q6J("ngClass",m.VKq(4,ht,""===t.showQRField||t.screenSize!==t.screenSizeEnum.XS&&t.screenSize!==t.screenSizeEnum.SM)),m.xp6(1),m.Q6J("ngIf",""!==t.showQRField),m.xp6(2),m.Q6J("ngIf",t.data.titleMessage),m.xp6(1),m.Q6J("ngIf",(null==t.messageObjs?null:t.messageObjs.length)>0)}}let dt=(()=>{class t{constructor(t,e,i,n,r,s){this.dialogRef=t,this.data=e,this.logger=i,this.snackBar=n,this.commonService=r,this.renderer=s,this.LoopStateEnum=f.Fq,this.showQRField="",this.showQRName="",this.showCopyName="",this.showCopyField="",this.errorMessage="",this.messageObjs=[],this.alertTypeEnum=f.n_,this.dataTypeEnum=f.Gi,this.screenSize="",this.screenSizeEnum=f.cu,this.scrollDirection="DOWN",this.shouldScroll=!0}set container(t){t&&(this.scrollContainer=t,this.scrollContainer&&this.scrollContainer.nativeElement&&(this.unlistenEnd=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-end",t=>{this.scrollDirection="UP"}),this.unlistenStart=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-start",t=>{this.scrollDirection="DOWN"})))}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.messageObjs=this.data.message,this.showQRField=this.data.showQRField?this.data.showQRField:"",this.showQRName=this.data.showQRName?this.data.showQRName:"",this.showCopyName=this.data.showCopyName?this.data.showCopyName:"",this.showCopyField=this.data.showCopyField?this.data.showCopyField:"",this.data.type===f.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.messageObjs)}ngAfterViewChecked(){setTimeout(()=>{this.shouldScroll=this.scrollContainer&&this.scrollContainer.nativeElement&&this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")},500)}onScroll(){this.scrollContainer.nativeElement.scrollTop="DOWN"===this.scrollDirection?this.scrollContainer.nativeElement.scrollTop+62.6:this.scrollContainer.nativeElement.scrollTop-62.6}onCopyField(t){this.snackBar.open((this.showQRName?this.showQRName:this.showCopyName)+" copied."),this.logger.info("Copied Text: "+t)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unlistenStart&&this.unlistenStart(),this.unlistenEnd&&this.unlistenEnd()}}return t.\u0275fac=function(e){return new(e||t)(m.Y36(p.so),m.Y36(p.WI),m.Y36(v.mQ),m.Y36(_.ux),m.Y36(w.v),m.Y36(m.Qsj))},t.\u0275cmp=m.Xpm({type:t,selectors:[["rtl-alert-message"]],viewQuery:function(t,e){if(1&t&&m.Gf(O,5),2&t){let t;m.iGM(t=m.CRH())&&(e.container=t.first)}},decls:21,vars:14,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],[3,"fxFlex"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close",4,"ngIf"],["class","mr-1","fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",3,"mat-dialog-close",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["contentBlock",""],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"padding-gap-x-large",3,"perfectScrollbar","ngClass"],["scrollContainer",""],[4,"ngTemplateOutlet"],[1,"padding-gap-x-large"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center",4,"ngIf"],["fxLayoutAlign","center center"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","mb-1",3,"ngClass"],["fxLayout","row","fxFlex","100"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxLayoutAlign","start center",1,"pb-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block w-100",3,"innerHTML",4,"ngFor","ngForOf"],[1,"display-block","w-100",3,"innerHTML"],["fxLayout","row",3,"ngClass",4,"ngIf","ngIfElse"],["noStyleBlock",""],["fxLayout","row",3,"ngClass"],["fxLayoutAlign","end end","class","icon-failed-status",4,"ngIf"],["fxLayoutAlign","end end",1,"icon-failed-status"],["fxFlex","100",1,"foreground-secondary-text"]],template:function(t,e){1&t&&(m.TgZ(0,"div",0),m.TgZ(1,"div",1),m.YNc(2,D,1,5,"qrcode",2),m.qZA(),m.TgZ(3,"div",3),m.TgZ(4,"mat-card-header",4),m.TgZ(5,"div",5),m.TgZ(6,"span",6),m._uU(7),m.qZA(),m.qZA(),m.TgZ(8,"button",7),m.NdJ("click",function(){return e.onClose()}),m._uU(9,"X"),m.qZA(),m.qZA(),m.YNc(10,Z,4,4,"ng-container",8),m.YNc(11,N,3,1,"ng-container",8),m.YNc(12,q,4,2,"div",9),m.TgZ(13,"div",10),m.YNc(14,z,2,1,"button",11),m.YNc(15,H,2,1,"button",12),m.YNc(16,Y,2,2,"button",13),m.YNc(17,j,2,1,"button",12),m.YNc(18,G,2,2,"button",13),m.qZA(),m.qZA(),m.qZA(),m.YNc(19,ut,6,6,"ng-template",null,14,m.W1O)),2&t&&(m.xp6(1),m.Q6J("ngClass",m.VKq(12,ht,""===e.showQRField||e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),m.xp6(1),m.Q6J("ngIf",""!==e.showQRField),m.xp6(1),m.Q6J("fxFlex",""===e.showQRField||e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM?"100":"70"),m.xp6(4),m.Oqu(e.data.alertTitle||e.alertTypeEnum[e.data.type]),m.xp6(3),m.Q6J("ngIf",e.data.scrollable),m.xp6(1),m.Q6J("ngIf",!e.data.scrollable),m.xp6(1),m.Q6J("ngIf",e.data.scrollable&&e.shouldScroll),m.xp6(2),m.Q6J("ngIf",(!e.showQRField||""===e.showQRField)&&""===e.showCopyName),m.xp6(1),m.Q6J("ngIf",""!==e.showCopyName),m.xp6(1),m.Q6J("ngIf",""!==e.showCopyName),m.xp6(1),m.Q6J("ngIf",""!==e.showQRField),m.xp6(1),m.Q6J("ngIf",""!==e.showQRField))},directives:[g.xw,g.Wh,g.yH,x.mk,C.oO,x.O5,A.dk,S.lW,k.V,A.dn,M.$V,x.tP,E.Hw,T.h,p.ZT,L.y,x.sg,I.d,x.RF,x.n9,x.ED],pipes:[x.uU,x.JJ],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]}),t})();var ft=i(5291),pt=i(3929),mt=i(964),gt=i(6073),yt=i(7592),bt=i(6283),vt=i(6756),_t=i(5095);function wt(t,e){if(1&t&&(m.TgZ(0,"div",17),m._UZ(1,"fa-icon",18),m.TgZ(2,"span"),m._uU(3),m.qZA(),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Q6J("icon",t.faExclamationTriangle),m.xp6(2),m.Oqu(t.warningMessage)}}function xt(t,e){if(1&t&&(m.TgZ(0,"div",19),m._UZ(1,"fa-icon",18),m.TgZ(2,"span"),m._uU(3),m.qZA(),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Q6J("icon",t.faInfoCircle),m.xp6(2),m.Oqu(t.informationMessage)}}function Ct(t,e){if(1&t&&(m.TgZ(0,"p",20),m._uU(1),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Oqu(t.data.titleMessage)}}function At(t,e){if(1&t&&(m.TgZ(0,"span",33),m._uU(1),m.qZA()),2&t){const t=e.$implicit;m.xp6(1),m.Oqu(t)}}function St(t,e){if(1&t&&(m.ynx(0),m.YNc(1,At,2,1,"span",32),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Q6J("ngForOf",t.value)}}function kt(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.ALo(2,"date"),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(m.xi3(2,1,1e3*t.value,"dd/MMM/YYYY HH:mm"))}}function Mt(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.ALo(2,"number"),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(m.xi3(2,1,t.value,"1.0-3"))}}function Et(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(!0===t.value?"True":"False")}}function Tt(t,e){if(1&t&&(m.ynx(0),m._uU(1),m.BQk()),2&t){const t=m.oxw(2).$implicit;m.xp6(1),m.Oqu(t.value)}}function Lt(t,e){if(1&t&&(m.TgZ(0,"span"),m.TgZ(1,"span",29),m.YNc(2,St,2,1,"ng-container",30),m.YNc(3,kt,3,4,"ng-container",30),m.YNc(4,Mt,3,4,"ng-container",30),m.YNc(5,Et,2,1,"ng-container",30),m.YNc(6,Tt,2,1,"ng-container",31),m.qZA(),m.qZA()),2&t){const t=m.oxw().$implicit,e=m.oxw(3);m.xp6(1),m.Q6J("ngSwitch",t.type),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.ARRAY),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.DATE_TIME),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.NUMBER),m.xp6(1),m.Q6J("ngSwitchCase",e.dataTypeEnum.BOOLEAN)}}function It(t,e){1&t&&(m.TgZ(0,"span",34),m._uU(1,"\xa0"),m.qZA())}function Ot(t,e){if(1&t&&(m.TgZ(0,"div",24),m.TgZ(1,"h4",25),m._uU(2),m.qZA(),m.YNc(3,Lt,7,5,"span",26),m.YNc(4,It,2,0,"ng-template",null,27,m.W1O),m._UZ(6,"mat-divider",28),m.qZA()),2&t){const t=e.$implicit,i=m.MAs(5);m.s9C("fxFlex.gt-md",t.width),m.xp6(2),m.Oqu(t.title),m.xp6(1),m.Q6J("ngIf",t&&t.value)("ngIfElse",i)}}function Dt(t,e){if(1&t&&(m.TgZ(0,"div"),m.TgZ(1,"div",22),m.YNc(2,Ot,7,4,"div",23),m.qZA(),m.qZA()),2&t){const t=e.$implicit;m.xp6(2),m.Q6J("ngForOf",t)}}function Rt(t,e){if(1&t&&(m.TgZ(0,"div"),m.YNc(1,Dt,3,1,"div",21),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Q6J("ngForOf",t.messageObjs)}}function Pt(t,e){if(1&t&&(m.TgZ(0,"p",20),m._uU(1),m.qZA()),2&t){const t=m.oxw(2);m.xp6(1),m.Oqu(t.data.titleMessage)}}function Zt(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"input",41),m.NdJ("ngModelChange",function(e){return m.CHM(t),m.oxw().$implicit.inputValue=e}),m.ALo(1,"lowercase"),m.qZA()}if(2&t){const t=m.oxw(),e=t.index,i=t.$implicit;m.MGl("name","input",e,""),m.Q6J("placeholder",i.placeholder)("min",i.min)("step",i.step)("type",m.lcZ(1,7,i.inputType))("ngModel",i.inputValue)("tabindex",e+1)}}function Ft(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"input",42),m.NdJ("ngModelChange",function(e){return m.CHM(t),m.oxw().$implicit.inputValue=e}),m.ALo(1,"lowercase"),m.qZA()}if(2&t){const t=m.oxw(),e=t.index,i=t.$implicit;m.MGl("name","input",e,""),m.Q6J("placeholder",i.placeholder)("min",i.min)("step",i.step)("type",m.lcZ(1,7,i.inputType))("ngModel",i.inputValue)("tabindex",e+1)}}function Nt(t,e){if(1&t&&(m.TgZ(0,"mat-error"),m._uU(1),m.qZA()),2&t){const t=m.oxw().$implicit;m.xp6(1),m.hij("",t.placeholder," is required.")}}function Bt(t,e){if(1&t&&(m.TgZ(0,"mat-form-field",38),m.YNc(1,Zt,2,9,"input",39),m.YNc(2,Ft,2,9,"input",40),m.YNc(3,Nt,2,1,"mat-error",11),m.TgZ(4,"mat-hint"),m._uU(5),m.qZA(),m.qZA()),2&t){const t=e.$implicit,i=e.index;m.Q6J("fxFlex",t.width),m.xp6(1),m.Q6J("ngIf",0===i),m.xp6(1),m.Q6J("ngIf",0!==i),m.xp6(1),m.Q6J("ngIf",!t.inputValue),m.xp6(2),m.Oqu(t.hintFunction?t.hintFunction(t.inputValue):t.hintText)}}function Ut(t,e){if(1&t&&(m.TgZ(0,"div",35),m.YNc(1,Pt,2,1,"p",10),m.TgZ(2,"div",36),m.YNc(3,Bt,6,5,"mat-form-field",37),m.qZA(),m.qZA()),2&t){const t=m.oxw();m.xp6(1),m.Q6J("ngIf",t.data.titleMessage),m.xp6(2),m.Q6J("ngForOf",t.getInputs)}}function qt(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"button",43),m.NdJ("click",function(){m.CHM(t);const e=m.oxw();return e.onClose(e.getInputs)}),m._uU(1),m.qZA()}if(2&t){const t=m.oxw();m.xp6(1),m.Oqu(t.yesBtnText)}}function zt(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"button",44),m.NdJ("click",function(){return m.CHM(t),m.oxw().onClose(!0)}),m._uU(1),m.qZA()}if(2&t){const t=m.oxw();m.xp6(1),m.Oqu(t.yesBtnText)}}let Ht=(()=>{class t{constructor(t,e,i,n){this.dialogRef=t,this.data=e,this.logger=i,this.store=n,this.faInfoCircle=ft.sqG,this.faExclamationTriangle=ft.eHv,this.informationMessage="",this.warningMessage="",this.noBtnText="No",this.yesBtnText="Yes",this.messageObjs=[],this.flgShowInput=!1,this.alertTypeEnum=f.n_,this.dataTypeEnum=f.Gi,this.getInputs=[{placeholder:"",inputType:"text",inputValue:"",hintText:"",hintFunction:null}]}ngOnInit(){this.informationMessage=this.data.informationMessage,this.warningMessage=this.data.warningMessage,this.flgShowInput=this.data.flgShowInput,this.getInputs=this.data.getInputs,this.noBtnText=this.data.noBtnText?this.data.noBtnText:"No",this.yesBtnText=this.data.yesBtnText?this.data.yesBtnText:"Yes",this.messageObjs=this.data.message,this.data.type===f.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection")}onClose(t){if(t&&this.getInputs&&this.getInputs.some(t=>!t.inputValue))return!0;this.store.dispatch(new pt.Ws(t))}}return t.\u0275fac=function(e){return new(e||t)(m.Y36(p.so),m.Y36(p.WI),m.Y36(v.mQ),m.Y36(mt.yh))},t.\u0275cmp=m.Xpm({type:t,selectors:[["rtl-confirmation-message"]],decls:20,vars:9,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","100","class","alert alert-warn",4,"ngIf"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],[4,"ngIf"],["fxLayout","column","class","bordered-box my-2 p-2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","tabindex","2",1,"mr-1",3,"click"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","3","default","",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","4","default","",3,"click",4,"ngIf"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayoutAlign","start center",1,"pb-1"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],[1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block",4,"ngFor","ngForOf"],[1,"display-block"],["fxFlex","100",1,"foreground-secondary-text"],["fxLayout","column",1,"bordered-box","my-2","p-2"],["fxLayoutAlign","space-between center"],[3,"fxFlex",4,"ngFor","ngForOf"],[3,"fxFlex"],["autoFocus","","matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange",4,"ngIf"],["matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange",4,"ngIf"],["autoFocus","","matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange"],["matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","3","default","",3,"click"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","4","default","",3,"click"]],template:function(t,e){1&t&&(m.TgZ(0,"div",0),m.TgZ(1,"div",1),m.TgZ(2,"mat-card-header",2),m.TgZ(3,"div",3),m.TgZ(4,"span",4),m._uU(5),m.qZA(),m.qZA(),m.TgZ(6,"button",5),m.NdJ("click",function(){return e.onClose(!1)}),m._uU(7,"X"),m.qZA(),m.qZA(),m.TgZ(8,"mat-card-content",6),m.TgZ(9,"form",7),m.YNc(10,wt,4,2,"div",8),m.YNc(11,xt,4,2,"div",9),m.YNc(12,Ct,2,1,"p",10),m.YNc(13,Rt,2,1,"div",11),m.YNc(14,Ut,4,2,"div",12),m.TgZ(15,"div",13),m.TgZ(16,"button",14),m.NdJ("click",function(){return e.onClose(!1)}),m._uU(17),m.qZA(),m.YNc(18,qt,2,1,"button",15),m.YNc(19,zt,2,1,"button",16),m.qZA(),m.qZA(),m.qZA(),m.qZA(),m.qZA()),2&t&&(m.xp6(5),m.Oqu(e.data.alertTitle||e.alertTypeEnum[e.data.type]),m.xp6(5),m.Q6J("ngIf",e.warningMessage&&""!==e.warningMessage),m.xp6(1),m.Q6J("ngIf",e.informationMessage&&""!==e.informationMessage),m.xp6(1),m.Q6J("ngIf",e.data.titleMessage&&!e.flgShowInput),m.xp6(1),m.Q6J("ngIf",(null==e.messageObjs?null:e.messageObjs.length)>0),m.xp6(1),m.Q6J("ngIf",e.flgShowInput),m.xp6(3),m.Oqu(e.noBtnText),m.xp6(1),m.Q6J("ngIf",e.flgShowInput),m.xp6(1),m.Q6J("ngIf",!e.flgShowInput))},directives:[g.xw,g.yH,A.dk,g.Wh,S.lW,A.dn,gt._Y,gt.JL,gt.F,x.O5,yt.BN,x.sg,I.d,x.RF,x.n9,x.ED,bt.KE,bt.bx,vt.Nt,_t.q,gt.Fj,T.h,gt.Q7,gt.JJ,gt.On,bt.TO],pipes:[x.uU,x.JJ,x.i8],styles:[""]}),t})();var Yt=i(2427),jt=i(4786),Gt=i(1522);function Vt(t,e){if(1&t&&(m.TgZ(0,"mat-option",23),m._uU(1),m.qZA()),2&t){const t=e.$implicit;m.Q6J("value",t),m.xp6(1),m.hij(" ",t.infoName," ")}}function Qt(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"div",13),m.TgZ(1,"mat-form-field",20),m.TgZ(2,"mat-select",21),m.NdJ("valueChange",function(e){return m.CHM(t),m.oxw().selInfoType=e}),m.YNc(3,Vt,2,2,"mat-option",22),m.qZA(),m.qZA(),m.qZA()}if(2&t){const t=m.oxw();m.xp6(2),m.Q6J("value",t.selInfoType),m.xp6(1),m.Q6J("ngForOf",t.infoTypes)}}const Wt=function(t){return{"display-none":t}};let Jt=(()=>{class t{constructor(t,e,i,n,r){this.dialogRef=t,this.data=e,this.logger=i,this.snackBar=n,this.commonService=r,this.faReceipt=ft.dLy,this.infoTypes=[{infoID:0,infoKey:"node pubkey",infoName:"Node pubkey"}],this.selInfoType=this.infoTypes[0],this.qrWidth=210,this.screenSize="",this.screenSizeEnum=f.cu}ngOnInit(){this.information=this.data.information,this.information.uris&&(1===this.information.uris.length?this.infoTypes.push({infoID:1,infoKey:"node URI",infoName:"Node URI"}):this.information.uris.length>1&&this.information.uris.forEach((t,e)=>{this.infoTypes.push({infoID:e+1,infoKey:"node URI "+(e+1),infoName:"Node URI "+(e+1)})})),this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyPubkey(t){this.snackBar.open(this.selInfoType.infoName+" copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(m.Y36(p.so),m.Y36(p.WI),m.Y36(v.mQ),m.Y36(_.ux),m.Y36(w.v))},t.\u0275cmp=m.Xpm({type:t,selectors:[["rtl-show-pubkey"]],decls:26,vars:23,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","100","fxFlex.gt-sm","70"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxFlex","100","fxFlex.gt-sm","40","fxLayoutAlign","start end"],["tabindex","1",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(m.TgZ(0,"div",0),m.TgZ(1,"div",1),m._UZ(2,"qrcode",2),m.qZA(),m.TgZ(3,"div",3),m.TgZ(4,"mat-card-header",4),m.TgZ(5,"div",5),m._UZ(6,"fa-icon",6),m.TgZ(7,"span",7),m._uU(8),m.qZA(),m.qZA(),m.TgZ(9,"button",8),m.NdJ("click",function(){return e.onClose()}),m._uU(10,"X"),m.qZA(),m.qZA(),m.TgZ(11,"mat-card-content",9),m.TgZ(12,"div",10),m.TgZ(13,"div",11),m._UZ(14,"qrcode",2),m.qZA(),m.YNc(15,Qt,4,2,"div",12),m.TgZ(16,"div",13),m.TgZ(17,"div",14),m.TgZ(18,"h4",15),m._uU(19),m.qZA(),m.TgZ(20,"span",16),m._uU(21),m.qZA(),m.qZA(),m.qZA(),m._UZ(22,"mat-divider",17),m.TgZ(23,"div",18),m.TgZ(24,"button",19),m.NdJ("copied",function(t){return e.onCopyPubkey(t)}),m._uU(25),m.qZA(),m.qZA(),m.qZA(),m.qZA(),m.qZA(),m.qZA()),2&t&&(m.xp6(1),m.Q6J("ngClass",m.VKq(19,Wt,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),m.xp6(1),m.s9C("qrdata",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),m.Q6J("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),m.xp6(4),m.Q6J("icon",e.faReceipt),m.xp6(2),m.Oqu(e.selInfoType.infoName),m.xp6(5),m.Q6J("ngClass",m.VKq(21,Wt,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),m.xp6(1),m.s9C("qrdata",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),m.Q6J("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),m.xp6(1),m.Q6J("ngIf",e.information.uris&&e.information.uris.length>0),m.xp6(4),m.Oqu(e.selInfoType.infoName),m.xp6(2),m.Oqu(0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),m.xp6(3),m.s9C("payload",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),m.xp6(1),m.hij("Copy ",e.selInfoType.infoKey,""))},directives:[g.xw,g.Wh,g.yH,x.mk,C.oO,k.V,A.dk,yt.BN,S.lW,A.dn,x.O5,I.d,T.h,L.y,bt.KE,jt.gD,x.sg,Gt.ey],styles:[""]}),t})();var Xt=i(6124),Kt=i(9939),$t=i(5678),te=i(9063),ee=i(3191),ie=i(3556),ne=i(6853);let re=(()=>{class t{constructor(t,e,i,p,m,g,y,v,_,w){this.actions$=t,this.httpClient=e,this.store=i,this.logger=p,this.sessionService=m,this.commonService=g,this.dataService=y,this.dialog=v,this.snackBar=_,this.router=w,this.CHILD_API_URL=d.T+"/lnd",this.screenSize="",this.alertWidth="55%",this.confirmWidth="70%",this.unSubs=[new r.x,new r.x],this.closeAllDialogs=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.VO),(0,a.U)(t=>{this.dialog.closeAll()})),{dispatch:!1}),this.openSnackBar=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.mm),(0,a.U)(t=>{"string"==typeof t.payload?this.snackBar.open(t.payload):this.snackBar.open(t.payload.message,"",{duration:t.payload.duration})})),{dispatch:!1}),this.openSpinner=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.ow),(0,a.U)(t=>{this.dialogRef=this.dialog.open(b,{data:{titleMessage:t.payload}})})),{dispatch:!1}),this.closeSpinner=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.S7),(0,a.U)(t=>{this.dialogRef&&this.dialogRef.componentInstance&&this.dialogRef.componentInstance.data&&this.dialogRef.componentInstance.data.titleMessage&&this.dialogRef.componentInstance.data.titleMessage.includes("...")&&this.dialogRef.close();try{this.dialog.openDialogs.forEach(t=>{t.componentInstance&&t.componentInstance.data&&t.componentInstance.data.titleMessage&&t.componentInstance.data.titleMessage.includes("...")&&t.close()})}catch(e){this.logger.error(e)}})),{dispatch:!1}),this.openAlert=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.fW),(0,a.U)(t=>{t.payload.width=this.alertWidth,this.dialogRef=this.dialog.open(t.payload.data.component?t.payload.data.component:dt,t.payload)})),{dispatch:!1}),this.closeAlert=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.r3),(0,a.U)(t=>(this.dialogRef&&this.dialogRef.close(),t.payload))),{dispatch:!1}),this.openConfirm=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.yL),(0,a.U)(t=>{t.payload.width=this.confirmWidth,this.dialogRef=this.dialog.open(Ht,t.payload)})),{dispatch:!1}),this.closeConfirm=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.Vt),(0,l.q)(1),(0,a.U)(t=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.showNodePubkey=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.oO),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(this.sessionService.getItem("token")&&e.nodeData.identity_pubkey?this.store.dispatch(new pt.wu({width:"70%",data:{information:e.nodeData,component:Jt}})):this.snackBar.open("Node Pubkey does not exist."),(0,s.of)({type:pt.Zn}))))),this.appConfigFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.vH),(0,h.z)(t=>(this.screenSize=this.commonService.getScreenSize(),this.screenSize===f.cu.XS||this.screenSize===f.cu.SM?(this.alertWidth="95%",this.confirmWidth="95%"):this.screenSize===f.cu.MD?(this.alertWidth="80%",this.confirmWidth="80%"):(this.alertWidth="55%",this.confirmWidth="60%"),this.store.dispatch(new pt.ih("FetchRTLConfig")),this.httpClient.get(d.N.CONF_API+"/rtlconf"))),(0,a.U)(t=>{let e;return this.logger.info(t),t.nodes.forEach(i=>{i.settings.currencyUnits=[...f.uA,i.settings.currencyUnit],+i.index===t.selectedNodeIndex&&(e=i)}),e?(this.store.dispatch(new pt.ZG({lnNode:e,isInitialSetup:!0})),{type:pt.rZ,payload:t}):{type:pt.Zn}},(0,u.K)(t=>(this.handleErrorWithoutAlert("FetchRTLConfig",t),(0,s.of)({type:pt.Zn})))))),this.settingSave=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.Ol),(0,h.z)(t=>{if(this.store.dispatch(new pt.ih("UpdateSettings")),t.payload.settings&&t.payload.defaultNodeIndex){let e=this.httpClient.post(d.N.CONF_API,{updatedSettings:t.payload.settings}),i=this.httpClient.post(d.N.CONF_API+"/updateDefaultNode",{defaultNodeIndex:t.payload.defaultNodeIndex});return(0,o.D)([e,i])}return t.payload.settings&&!t.payload.defaultNodeIndex?this.httpClient.post(d.N.CONF_API,{updatedSettings:t.payload.settings}):!t.payload.settings&&t.payload.defaultNodeIndex?this.httpClient.post(d.N.CONF_API+"/updateDefaultNode",{defaultNodeIndex:t.payload.defaultNodeIndex}):(0,s.of)({type:pt.Zn})}),(0,a.U)(t=>(this.store.dispatch(new pt.Iv),this.logger.info(t),{type:pt.mm,payload:t.length?t[0].message+".":t.message+"."}),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"UpdateSettings",code:t.length?t[0].status:t.status,message:t.length?t[0].error.error:t.error.error})),this.handleErrorWithAlert("ERROR","Update Settings Failed!",d.N.CONF_API,t.length?t[0]:t),(0,s.of)({type:pt.Zn})))))),this.updateServicesettings=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.Tb),(0,h.z)(t=>(this.store.dispatch(new pt.ih("UpdateServiceSettings")),this.httpClient.post(d.N.CONF_API+"/updateServiceSettings",t.payload))),(0,a.U)(t=>(this.store.dispatch(new pt.Iv),this.logger.info(t),{type:pt.mm,payload:t.message+"."}),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"UpdateServiceSettings",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR","Update Service Settings Failed!",d.N.CONF_API,t),(0,s.of)({type:pt.Zn})))))),this.ssoSave=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.ao),(0,h.z)(t=>(this.store.dispatch(new pt.ih("UpdateSSO")),this.httpClient.post(d.N.CONF_API+"/updateSSO",{SSO:t.payload}))),(0,a.U)(t=>(this.store.dispatch(new pt.Iv),this.logger.info(t),{type:pt.mm,payload:t.message+"."}),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"UpdateSSO",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR","Update SSO Failed!",d.N.CONF_API,t),(0,s.of)({type:pt.Zn})))))),this.twoFASettingSave=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.xh),(0,h.z)(t=>(this.store.dispatch(new pt.ih("Update2FASettings")),this.httpClient.post(d.N.CONF_API+"/update2FA",{secret2fa:t.payload.secret2fa}))),(0,a.U)(t=>(this.store.dispatch(new pt.Iv),this.logger.info(t),{type:pt.Zn}),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"Update2FASettings",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR","Update 2FA Settings Failed!",d.N.CONF_API,t),(0,s.of)({type:pt.Zn})))))),this.configFetch=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.Ih),(0,h.z)(t=>(this.store.dispatch(new pt.ih("fetchConfig")),this.httpClient.get(d.N.CONF_API+"/config/"+t.payload).pipe((0,a.U)(t=>(this.store.dispatch(new pt.Iv),{type:pt.mG,payload:t})),(0,u.K)(e=>(this.store.dispatch(new pt.Re({action:"fetchConfig",code:e.status,message:e.error.error})),this.handleErrorWithAlert("ERROR","Fetch Config Failed!",d.N.CONF_API+"/config/"+t.payload,e),(0,s.of)({type:pt.Zn})))))))),this.showLnConfig=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.mG),(0,a.U)(t=>t.payload)),{dispatch:!1}),this.isAuthorized=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.s3),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(this.store.dispatch(new pt.ih("IsAuthorized")),this.httpClient.post(d.N.AUTHENTICATE_API,{authenticateWith:t.payload&&""!==t.payload.trim()?f.OJ.PASSWORD:f.OJ.JWT,authenticationValue:t.payload&&""!==t.payload.trim()?t.payload:this.sessionService.getItem("token")?this.sessionService.getItem("token"):""}).pipe((0,a.U)(t=>(this.logger.info(t),this.logger.info("Successfully Authorized!"),{type:pt.JU,payload:t})),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"IsAuthorized",code:t.status,message:t.error.message})),this.handleErrorWithAlert("ERROR","Authorization Failed",d.N.AUTHENTICATE_API,t),(0,s.of)({type:pt.JU,payload:"ERROR"})))))))),this.isAuthorizedRes=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.JU),(0,a.U)(t=>t.payload)),{dispatch:!1}),this.authLogin=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.ym),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(this.store.dispatch(new $t.iM("FetchInfo")),this.store.dispatch(new Kt.iM("FetchInfo")),this.store.dispatch(new Xt.iM("FetchInfo")),this.store.dispatch(new pt.ih("Login")),this.httpClient.post(d.N.AUTHENTICATE_API,{authenticateWith:t.payload.password?f.OJ.PASSWORD:f.OJ.JWT,authenticationValue:t.payload.password?t.payload.password:this.sessionService.getItem("token")?this.sessionService.getItem("token"):"",twoFAToken:t.payload.twoFAToken?t.payload.twoFAToken:""}).pipe((0,a.U)(i=>{this.logger.info(i),this.setLoggedInDetails(t.payload.defaultPassword,i,e)}),(0,u.K)(t=>(this.logger.info("Redirecting to Login Error Page"),this.handleErrorWithoutAlert("ERROR",t),this.store.dispatch(new pt.Re({action:"Login",code:t.status,message:t.error.error})),+e.appConfig.sso.rtlSSO?this.router.navigate(["/error"],{state:{errorCode:"406",errorMessage:t.error&&t.error.error?t.error.error:"Single Sign On Failed!"}}):this.router.navigate(["./login"]),(0,s.of)({type:pt.Zn}))))))),{dispatch:!1}),this.tokenVerify=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.gK),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(this.store.dispatch(new pt.ih("VerifyToken")),this.httpClient.post(d.N.AUTHENTICATE_API+"/token",{authentication2FA:t.payload.token}).pipe((0,a.U)(i=>{this.logger.info(i),this.logger.info("Token Successfully Verified!"),this.setLoggedInDetails(!1,t.payload.authResponse,e)}),(0,u.K)(t=>(this.handleErrorWithAlert("ERROR","Authorization Failed!",d.N.AUTHENTICATE_API+"/token",t),this.store.dispatch(new pt.Re({action:"VerifyToken",code:t.status,message:t.error.error})),(0,s.of)({type:pt.Zn}))))))),{dispatch:!1}),this.logOut=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.Nv),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(+e.appConfig.sso.rtlSSO?window.location.href=e.appConfig.sso.logoutRedirectLink:this.router.navigate(["./login"]),this.sessionService.clearAll(),this.store.dispatch(new pt.e6({})),this.logger.warn("LOGGED OUT"),(0,s.of)()))),{dispatch:!1}),this.resetPassword=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.bk),(0,c.M)(this.store.select("root")),(0,h.z)(([t,e])=>(this.store.dispatch(new pt.ih("ResetPassword")),this.httpClient.post(d.N.AUTHENTICATE_API+"/reset",{currPassword:t.payload.currPassword,newPassword:t.payload.newPassword}).pipe((0,a.U)(t=>(this.logger.info(t),this.sessionService.setItem("defaultPassword",!1),this.logger.info("Password Reset Successful!"),this.store.dispatch(new pt.Lw("Password Reset Successful!")),this.SetToken(t.token),{type:pt.Gs,payload:t.token})),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"ResetPassword",code:t.status,message:t.error.message})),this.handleErrorWithAlert("ERROR","Password Reset Failed!",d.N.AUTHENTICATE_API+"/reset",t),(0,s.of)({type:pt.Zn})))))))),this.setSelectedNode=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.RP),(0,h.z)(t=>(this.store.dispatch(new pt.ih("UpdateSelNode")),this.httpClient.post(d.N.CONF_API+"/updateSelNode",{selNodeIndex:t.payload.lnNode.index}).pipe((0,a.U)(e=>(this.logger.info(e),this.store.dispatch(new pt.Iv),this.initializeNode(t.payload.lnNode,t.payload.isInitialSetup),{type:pt.Zn})),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"UpdateSelNode",code:t.status,message:t.error.message})),this.handleErrorWithAlert("ERROR","Update Selected Node Failed!",d.N.CONF_API+"/updateSelNode",t),(0,s.of)({type:pt.Zn})))))))),this.fetchFile=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.bE),(0,h.z)(t=>{this.store.dispatch(new pt.ih("fetchFile"));let e="?channel="+t.payload.channelPoint+(t.payload.path?"&path="+t.payload.path:"");return this.httpClient.get(d.N.CONF_API+"/file"+e).pipe((0,a.U)(t=>(this.store.dispatch(new pt.Iv),{type:pt.BQ,payload:t})),(0,u.K)(t=>(this.store.dispatch(new pt.Re({action:"fetchFile",code:t.status,message:t.error.error})),this.handleErrorWithAlert("ERROR",t.error.message,d.N.CONF_API+"/file"+e,{status:t.error.error.errno,error:t.error.error.code}),(0,s.of)({type:pt.Zn}))))}))),this.showFile=(0,n.GW)(()=>this.actions$.pipe((0,n.l4)(pt.BQ),(0,a.U)(t=>t.payload)),{dispatch:!1})}initializeNode(t,e){const i=e?"":"HOME";let n={};if(n=t.settings.fiatConversion&&t.settings.currencyUnit?{userPersona:t.settings.userPersona,channelBackupPath:t.settings.channelBackupPath,selCurrencyUnit:t.settings.currencyUnit,currencyUnits:[...f.uA,t.settings.currencyUnit],fiatConversion:t.settings.fiatConversion,lnImplementation:t.lnImplementation,swapServerUrl:t.settings.swapServerUrl,boltzServerUrl:t.settings.boltzServerUrl}:{userPersona:t.settings.userPersona,channelBackupPath:t.settings.channelBackupPath,selCurrencyUnit:t.settings.currencyUnit,currencyUnits:f.uA,fiatConversion:t.settings.fiatConversion,lnImplementation:t.lnImplementation,swapServerUrl:t.settings.swapServerUrl,boltzServerUrl:t.settings.boltzServerUrl},this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("clUnlocked"),this.sessionService.removeItem("eclUnlocked"),this.store.dispatch(new pt.$A(t)),this.store.dispatch(new $t.Mo(n)),this.store.dispatch(new Kt.UA(n)),this.store.dispatch(new Xt.IF(n)),this.sessionService.getItem("token"))switch(t.lnImplementation=t.lnImplementation.toUpperCase(),this.dataService.setChildAPIUrl(t.lnImplementation),t.lnImplementation){case"CLT":this.CHILD_API_URL=d.T+"/cl",this.store.dispatch(new Kt.z6({loadPage:i}));break;case"ECL":this.CHILD_API_URL=d.T+"/ecl",this.store.dispatch(new Xt.z6({loadPage:i}));break;default:this.CHILD_API_URL=d.T+"/lnd",this.store.dispatch(new $t.z6({loadPage:i}))}}SetToken(t){t?(this.sessionService.setItem("lndUnlocked","true"),this.sessionService.setItem("token",t)):(this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("token"))}setLoggedInDetails(t,e,i){this.logger.info("Successfully Authorized!"),this.SetToken(e.token),i.selNode.settings.currencyUnits=[...f.uA,i.selNode.settings.currencyUnit],this.sessionService.setItem("defaultPassword",t),t?(this.sessionService.setItem("defaultPassword","true"),this.store.dispatch(new pt.Lw("Reset your password.")),this.router.navigate(["/settings/auth"])):this.store.dispatch(new pt.ZG({lnNode:i.selNode,isInitialSetup:!0}))}handleErrorWithoutAlert(t,e){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(e)),401===e.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new pt.Ac),this.store.dispatch(new pt.RD),this.store.dispatch(new pt.Lw("Authentication Failed. Redirecting to Login."))):this.store.dispatch(new pt.Re({action:t,code:e.status.toString(),message:e.error.error}))}handleErrorWithAlert(t,e,i,n){this.logger.error(n),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new pt.Ac),this.store.dispatch(new pt.RD),this.store.dispatch(new pt.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new pt.Iv),this.store.dispatch(new pt.wu({data:{type:t,alertTitle:e,message:{code:n.status?n.status:"Unknown Error",message:n.error.error&&n.error.error.error&&n.error.error.error.error&&n.error.error.error.error.error&&"string"==typeof n.error.error.error.error.error?n.error.error.error.error.error:n.error.error&&n.error.error.error&&n.error.error.error.error&&"string"==typeof n.error.error.error.error?n.error.error.error.error:n.error.error&&n.error.error.error&&"string"==typeof n.error.error.error?n.error.error.error:n.error.error&&"string"==typeof n.error.error?n.error.error:"string"==typeof n.error?n.error:"Unknown Error",URL:i},component:Yt.H}})))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(m.LFG(n.eX),m.LFG(te.eN),m.LFG(mt.yh),m.LFG(v.mQ),m.LFG(ee.m),m.LFG(w.v),m.LFG(ie.D),m.LFG(p.uw),m.LFG(_.ux),m.LFG(ne.F0))},t.\u0275prov=m.Yz7({token:t,factory:t.\u0275fac}),t})()},5963:(t,e,i)=>{"use strict";i.d(e,{T:()=>n,N:()=>r});const n="./api",r={production:!0,isDebugMode:!1,AUTHENTICATE_API:n+"/authenticate",CONF_API:n+"/conf",BALANCE_API:"/balance",FEES_API:"/fees",PEERS_API:"/peers",CHANNELS_API:"/channels",CHANNELS_BACKUP_API:"/channels/backup",GETINFO_API:"/getinfo",WALLET_API:"/wallet",NETWORK_API:"/network",NEW_ADDRESS_API:"/newaddress",TRANSACTIONS_API:"/transactions",PAYREQUEST_API:"/payreq",PAYMENTS_API:"/payments",INVOICES_API:"/invoices",SWITCH_API:"/switch",ON_CHAIN_API:"/onchain",MESSAGE_API:"/message",LOOP_API:"/loop",BOLTZ_API:"/boltz",VERSION:"0.11.0-beta"}},7015:(t,e,i)=>{"use strict";var n=i(269),r=i(1572),s=i(3490),o=i(9063),a=i(964),l=i(5573),c=i(7876),h=i(9666),u=i(5446),d=i(5960),f=i(5630),p=i(2948),m=i(8431);function g(t,e){return void 0===t&&(t=0),void 0===e&&(e=p.z),t<0&&(t=0),(0,m.H)(t,t,e)}var y=i(2041),b=i(9162),v=i(6042),_=i(3386),w=i(4659),x=i(8764),C=i(7070),A=i(8868),S=i(343),k=i(4324),M=i(9568),E=i(849),T=i(6424),L=i(1681);class I{}let O=(()=>{class t{constructor(t,e){this._ngZone=e,this.timerStart$=new h.x,this.idleDetected$=new h.x,this.timeout$=new h.x,this.idleMillisec=6e5,this.idleSensitivityMillisec=1e3,this.timeout=300,this.pingMillisec=12e4,t&&this.setConfig(t)}startWatching(){this.activityEvents$||(this.activityEvents$=(0,u.T)((0,d.R)(window,"mousemove"),(0,d.R)(window,"resize"),(0,d.R)(document,"keydown"))),this.idle$=(0,f.Dp)(this.activityEvents$),this.idleSubscription&&this.idleSubscription.unsubscribe(),this.idleSubscription=this.idle$.pipe(function(t){for(var e,i,n=[],r=1;r=0?i.add(s.schedule(function(){c(),!this.closed&&i.add(this.schedule(null,o))},o)):r=!0,c();var h=new w.Q(i,function(t){var e,i,r=n.slice();try{for(var s=(0,b.XA)(r),o=s.next();!o.done;o=s.next()){var c=o.value,h=c.buffer;h.push(t),a<=h.length&&l(c)}}catch(u){e={error:u}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(e)throw e.error}}},function(){for(;null==n?void 0:n.length;)i.next(n.shift().buffer);null==h||h.unsubscribe(),i.complete(),i.unsubscribe()},void 0,function(){return n=null});e.subscribe(h)})}(this.idleSensitivityMillisec),(0,A.h)(t=>!t.length&&!this.isIdleDetected&&!this.isInactivityTimer),(0,S.b)(()=>{this.isIdleDetected=!0,this.idleDetected$.next(!0)}),(0,k.w)(()=>this._ngZone.runOutsideAngular(()=>g(1e3).pipe((0,M.R)((0,u.T)(this.activityEvents$,(0,m.H)(this.idleMillisec).pipe((0,S.b)(()=>{this.isInactivityTimer=!0,this.timerStart$.next(!0)})))),(0,E.x)(()=>{this.isIdleDetected=!1,this.idleDetected$.next(!1)}))))).subscribe(),this.setupTimer(this.timeout),this.setupPing(this.pingMillisec)}stopWatching(){this.stopTimer(),this.idleSubscription&&this.idleSubscription.unsubscribe()}stopTimer(){this.isInactivityTimer=!1,this.timerStart$.next(!1)}resetTimer(){this.stopTimer(),this.isTimeout=!1}onTimerStart(){return this.timerStart$.pipe((0,T.x)(),(0,k.w)(t=>t?this.timer$:(0,y.of)(null)))}onIdleStatusChanged(){return this.idleDetected$.asObservable()}onTimeout(){return this.timeout$.pipe((0,A.h)(t=>!!t),(0,S.b)(()=>this.isTimeout=!0),(0,L.U)(()=>!0))}getConfigValue(){return{idle:this.idleMillisec/1e3,idleSensitivity:this.idleSensitivityMillisec/1e3,timeout:this.timeout,ping:this.pingMillisec/1e3}}setConfigValues(t){!this.idleSubscription||this.idleSubscription.closed?this.setConfig(t):console.error("Call stopWatching() before set config values")}setConfig(t){t.idle&&(this.idleMillisec=1e3*t.idle),t.ping&&(this.pingMillisec=1e3*t.ping),t.idleSensitivity&&(this.idleSensitivityMillisec=1e3*t.idleSensitivity),t.timeout&&(this.timeout=t.timeout)}setCustomActivityEvents(t){!this.idleSubscription||this.idleSubscription.closed?this.activityEvents$=t:console.error("Call stopWatching() before set custom activity events")}setupTimer(t){this._ngZone.runOutsideAngular(()=>{this.timer$=(0,y.of)(new Date).pipe((0,k.w)(e=>g(1e3).pipe((0,L.U)(()=>Math.round(((new Date).valueOf()-e.valueOf())/1e3)),(0,S.b)(e=>{e>=t&&this.timeout$.next(!0)}))))})}setupPing(t){this.ping$=g(t).pipe((0,A.h)(()=>!this.isTimeout))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(I,8),r.LFG(r.R0b))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t.ngInjectableDef=(0,r.Ez6)({factory:function(){return new t((0,r.f3M)(I,8),(0,r.f3M)(r.R0b))},token:t,providedIn:"root"}),t})(),D=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:I,useValue:e}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[]]}),t})();var R=i(6853),P=i(5291),Z=i(3722),F=i(7592),N=i(7439),B=i(5109),U=i(1511);const q=function(){return{initial:!1}};function z(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[1].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[1].link),r.Q6J("active",t.activeLink===t.links[1].link)("state",r.DdM(4,q)),r.xp6(1),r.Oqu(t.links[1].name)}}function H(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[2].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[2].link),r.Q6J("active",t.activeLink===t.links[2].link),r.xp6(1),r.Oqu(t.links[2].name)}}let Y=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faUserCog=P.gNZ,this.showBitcoind=!1,this.links=[{link:"app",name:"Application"},{link:"auth",name:"Authentication"},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.showBitcoind=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-settings"]],decls:14,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Settings"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.YNc(10,z,2,5,"div",7),r.YNc(11,H,2,3,"div",8),r.qZA(),r.TgZ(12,"div",9),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faUserCog),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.Q6J("ngIf",!e.appConfig.sso.rtlSSO),r.xp6(1),r.Q6J("ngIf",e.showBitcoind))},directives:[Z.xw,Z.Wh,F.BN,N.a8,N.dn,B.BU,B.Nj,R.rH,U.O5,Z.yH,R.lC],styles:[""]}),t})();var j=i(3929),G=i(3869),V=i(7038),Q=i(6073),W=i(6283),J=i(4786),X=i(6880),K=i(5980),$=i(1522);function tt(t,e){if(1&t&&(r.TgZ(0,"mat-option",16),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t.index),r.xp6(1),r.AsE(" ",t.lnNode," (",t.lnImplementation,") ")}}function et(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"form",2,3),r.TgZ(2,"div",4),r._UZ(3,"fa-icon",5),r.TgZ(4,"span",6),r._uU(5,"Default Node"),r.qZA(),r.qZA(),r.TgZ(6,"div",7),r.TgZ(7,"div",8),r._UZ(8,"fa-icon",9),r.TgZ(9,"span"),r._uU(10,"The setting will apply after RTL server restart."),r.qZA(),r.qZA(),r.TgZ(11,"div",10),r.TgZ(12,"mat-form-field",10),r.TgZ(13,"mat-select",11),r.NdJ("ngModelChange",function(e){return r.CHM(t),r.oxw().appConfig.defaultNodeIndex=e}),r.YNc(14,tt,2,3,"mat-option",12),r.qZA(),r.qZA(),r.qZA(),r.TgZ(15,"div",13),r.TgZ(16,"div",10),r.TgZ(17,"button",14),r.NdJ("click",function(){return r.CHM(t),r.oxw().onResetSettings()}),r._uU(18,"Reset"),r.qZA(),r.TgZ(19,"button",15),r.NdJ("click",function(){return r.CHM(t),r.oxw().onUpdateSettings()}),r._uU(20,"Update"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.xp6(3),r.Q6J("icon",t.faWindowRestore),r.xp6(5),r.Q6J("icon",t.faInfoCircle),r.xp6(5),r.Q6J("ngModel",t.appConfig.defaultNodeIndex),r.xp6(1),r.Q6J("ngForOf",t.appConfig.nodes)}}let it=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=P.sqG,this.faWindowRestore=P.wyP,this.faPlus=P.r8p,this.previousDefaultNode=0,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.previousDefaultNode=this.appConfig.defaultNodeIndex,this.selNode=t.selNode,this.logger.info(t)})}onAddNewNode(){console.warn("ADD NEW NODE")}onUpdateSettings(){let t=this.appConfig.defaultNodeIndex?this.appConfig.defaultNodeIndex:+this.appConfig.nodes[0].index;this.store.dispatch(new j.Fk("Updating Defaule Node Settings...")),this.store.dispatch(new j.j_({defaultNodeIndex:t}))}onResetSettings(){this.appConfig.defaultNodeIndex=this.previousDefaultNode}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-app-settings"]],decls:2,vars:1,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap-x-large",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","settings-container page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"my-2"],["fxLayout","row","fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row","fxLayoutAlign","start start"],["autoFocus","","tabindex","1","name","defaultNode",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],[3,"value"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.YNc(1,et,21,4,"form",1),r.qZA()),2&t&&(r.xp6(1),r.Q6J("ngIf",e.appConfig.nodes&&e.appConfig.nodes.length&&e.appConfig.nodes.length>1))},directives:[Z.xw,Z.yH,V.$V,U.O5,Q._Y,Q.JL,Q.F,Z.Wh,F.BN,W.KE,J.gD,X.h,Q.JJ,Q.On,U.sg,K.lW,$.ey],styles:[""]}),t})();var nt=i(1339),rt=i(9056),st=i(4608),ot=i(4499),at=i(8914),lt=i(1403),ct=i(7753),ht=i(6756),ut=i(3600),dt=i(2609);const ft=["stepper"];function pt(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw();r.Oqu(t.passwordFormLabel)}}function mt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Password is required."),r.qZA())}function gt(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.secretFormLabel)}}function yt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Secret Code is required."),r.qZA())}function bt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-step",10),r.TgZ(1,"form",21),r.YNc(2,gt,1,1,"ng-template",22),r.TgZ(3,"div",23),r._UZ(4,"qrcode",24),r.qZA(),r.TgZ(5,"div",25),r._UZ(6,"fa-icon",26),r.TgZ(7,"span"),r._uU(8,"You can use a compatible authentication app to get an authentication code when you log in to RTL. e.g.: Google Authenticator."),r.qZA(),r.qZA(),r.TgZ(9,"div",27),r.TgZ(10,"mat-form-field",1),r._UZ(11,"input",28),r.TgZ(12,"fa-icon",29),r.NdJ("copied",function(e){return r.CHM(t),r.oxw().onCopySecret(e)}),r.qZA(),r.YNc(13,yt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(14,"div",30),r.TgZ(15,"button",31),r._uU(16,"Next"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("stepControl",t.secretFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.secretFormGroup),r.xp6(3),r.Q6J("qrdata",t.otpauth)("margin",1)("width",180)("errorCorrectionLevel","L")("allowEmptyString",!0),r.xp6(2),r.Q6J("icon",t.faInfoCircle),r.xp6(6),r.Q6J("icon",t.faCopy)("payload",null==t.secretFormGroup||null==t.secretFormGroup.controls||null==t.secretFormGroup.controls.secret?null:t.secretFormGroup.controls.secret.value),r.xp6(1),r.Q6J("ngIf",null==t.secretFormGroup||null==t.secretFormGroup.controls||null==t.secretFormGroup.controls.secret||null==t.secretFormGroup.controls.secret.errors?null:t.secretFormGroup.controls.secret.errors.required)}}function vt(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.tokenFormLabel)}}function _t(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is required."),r.qZA())}function wt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is invalid."),r.qZA())}function xt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",7),r.TgZ(1,"div",27),r.TgZ(2,"mat-form-field",1),r._UZ(3,"input",35),r.YNc(4,_t,2,0,"mat-error",14),r.YNc(5,wt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(6,"div",30),r.TgZ(7,"button",36),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onVerifyToken()}),r._uU(8),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(4),r.Q6J("ngIf",null==t.tokenFormGroup||null==t.tokenFormGroup.controls||null==t.tokenFormGroup.controls.token||null==t.tokenFormGroup.controls.token.errors?null:t.tokenFormGroup.controls.token.errors.required),r.xp6(1),r.Q6J("ngIf",null==t.tokenFormGroup||null==t.tokenFormGroup.controls||null==t.tokenFormGroup.controls.token||null==t.tokenFormGroup.controls.token.errors?null:t.tokenFormGroup.controls.token.errors.notValid),r.xp6(3),r.Oqu(null!=t.tokenFormGroup&&null!=t.tokenFormGroup.controls&&null!=t.tokenFormGroup.controls.token&&null!=t.tokenFormGroup.controls.token.errors&&t.tokenFormGroup.controls.token.errors.notValid?"Retry":"Verify")}}function Ct(t,e){1&t&&(r.TgZ(0,"div"),r.TgZ(1,"strong"),r._uU(2,"Success! You are all set."),r.qZA(),r.qZA())}function At(t,e){if(1&t&&(r.TgZ(0,"mat-step",32),r.TgZ(1,"form",33),r.YNc(2,vt,1,1,"ng-template",12),r.YNc(3,xt,9,3,"div",34),r.YNc(4,Ct,3,0,"div",14),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.Q6J("stepControl",t.tokenFormGroup),r.xp6(1),r.Q6J("formGroup",t.tokenFormGroup),r.xp6(2),r.Q6J("ngIf",!t.flgValidated||!t.isTokenValid),r.xp6(1),r.Q6J("ngIf",t.flgValidated&&t.isTokenValid)}}function St(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.disableFormLabel)}}function kt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",7),r.TgZ(1,"div",37),r._UZ(2,"fa-icon",26),r.TgZ(3,"span"),r._uU(4,"You are about to disable two-factor authentication security from RTL. Are you sure you want to turn it off?"),r.qZA(),r.qZA(),r.TgZ(5,"div",30),r.TgZ(6,"button",36),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onVerifyToken()}),r._uU(7,"Disable"),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(2),r.Q6J("icon",t.faExclamationTriangle)}}function Mt(t,e){1&t&&(r.TgZ(0,"div"),r.TgZ(1,"strong"),r._uU(2,"Two factor authentication removed from RTL."),r.qZA(),r.qZA())}function Et(t,e){if(1&t&&(r.TgZ(0,"mat-step",32),r.TgZ(1,"form",33),r.YNc(2,St,1,1,"ng-template",12),r.YNc(3,kt,8,1,"div",34),r.YNc(4,Mt,3,0,"div",14),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.Q6J("stepControl",t.disableFormGroup),r.xp6(1),r.Q6J("formGroup",t.disableFormGroup),r.xp6(2),r.Q6J("ngIf",!t.flgValidated||!t.isTokenValid),r.xp6(1),r.Q6J("ngIf",t.flgValidated&&t.isTokenValid)}}let Tt=(()=>{class t{constructor(t,e,i,n,r,s){this.dialogRef=t,this.data=e,this.store=i,this.formBuilder=n,this.rtlEffects=r,this.snackBar=s,this.faExclamationTriangle=P.eHv,this.faCopy=P.kZ_,this.faInfoCircle=P.sqG,this.flgValidated=!1,this.isTokenValid=!0,this.flgEditable=!0,this.showDisableStepper=!1,this.passwordFormLabel="Authenticate with your RTL password",this.secretFormLabel="Scan or copy the secret",this.tokenFormLabel="Verify your authentication is working",this.disableFormLabel="Disable two factor authentication",this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[Q.kI.required]],password:["",[Q.kI.required]]}),this.secretFormGroup=this.formBuilder.group({secret:[{value:"",disabled:!0},Q.kI.required]}),this.tokenFormGroup=this.formBuilder.group({token:["",Q.kI.required]}),this.disableFormGroup=this.formBuilder.group({}),this.unSubs=[new h.x,new h.x]}ngOnInit(){this.appConfig=this.data.appConfig,this.showDisableStepper=!!this.appConfig.enable2FA,this.secretFormGroup=this.formBuilder.group({secret:[{value:this.appConfig.enable2FA?"":this.generateSecret(),disabled:!0},Q.kI.required]})}generateSecret(){let t=ot.authenticator.generateSecret();return this.otpauth=ot.authenticator.keyuri("","Ride The Lightning (RTL)",t),t}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new j.ZF(nt(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,rt.q)(1)).subscribe(t=>{"ERROR"!==t?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onCopySecret(t){this.snackBar.open("Secret code "+this.secretFormGroup.controls.secret.value+" copied.")}onVerifyToken(){if(this.appConfig.enable2FA)this.store.dispatch(new j.Fk("Updating Settings...")),this.store.dispatch(new j.z2({secret2fa:""})),this.generateSecret(),this.isTokenValid=!0;else{if(!this.tokenFormGroup.controls.token.value)return!0;if(this.isTokenValid=ot.authenticator.check(this.tokenFormGroup.controls.token.value,this.secretFormGroup.controls.secret.value),!this.isTokenValid)return this.tokenFormGroup.controls.token.setErrors({notValid:!0}),!0;this.store.dispatch(new j.Fk("Updating Settings...")),this.store.dispatch(new j.z2({secret2fa:this.secretFormGroup.controls.secret.value})),this.tokenFormGroup.controls.token.setValue("")}this.flgValidated=!0,this.appConfig.enable2FA=!this.appConfig.enable2FA}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password";break;case 1:case 2:this.passwordFormLabel="User authenticated successfully";break;default:this.passwordFormLabel="Authenticate with your RTL password"}t.selectedIndex{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(st.so),r.Y36(st.WI),r.Y36(a.yh),r.Y36(Q.qu),r.Y36(at.V),r.Y36(lt.ux))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-two-factor-auth"]],viewQuery:function(t,e){if(1&t&&r.Gf(ft,5),2&t){let t;r.iGM(t=r.CRH())&&(e.stepper=t.first)}},decls:28,vars:11,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","100",1,"w-100","alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["autoFocus","","matInput","","placeholder","Secret Code","type","text","tabindex","4","formControlName","secret","required",""],["matSuffix","","rtlClipboard","",3,"icon","payload","copied"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","6","type","button","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["fxLayout","column",4,"ngIf"],["autoFocus","","matInput","","placeholder","Token","type","text","tabindex","7","formControlName","token","required",""],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxFlex","100",1,"w-100","alert","alert-warn"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5,"Setup Two Factor Authentication"),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"div",7),r.TgZ(10,"mat-vertical-stepper",8,9),r.NdJ("selectionChange",function(t){return e.stepSelectionChanged(t)}),r.TgZ(12,"mat-step",10),r.TgZ(13,"form",11),r.YNc(14,pt,1,1,"ng-template",12),r.TgZ(15,"div",0),r.TgZ(16,"mat-form-field",1),r._UZ(17,"input",13),r.YNc(18,mt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(19,"div",15),r.TgZ(20,"button",16),r.NdJ("click",function(){return e.onAuthenticate()}),r._uU(21,"Confirm"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.YNc(22,bt,17,12,"mat-step",17),r.YNc(23,At,5,4,"mat-step",18),r.YNc(24,Et,5,4,"mat-step",18),r.qZA(),r.TgZ(25,"div",19),r.TgZ(26,"button",20),r._uU(27),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(6),r.Q6J("mat-dialog-close",!1),r.xp6(4),r.Q6J("linear",!0),r.xp6(2),r.Q6J("stepControl",e.passwordFormGroup)("editable",e.flgEditable),r.xp6(1),r.Q6J("formGroup",e.passwordFormGroup),r.xp6(5),r.Q6J("ngIf",null==e.passwordFormGroup||null==e.passwordFormGroup.controls||null==e.passwordFormGroup.controls.password||null==e.passwordFormGroup.controls.password.errors?null:e.passwordFormGroup.controls.password.errors.required),r.xp6(4),r.Q6J("ngIf",!e.showDisableStepper),r.xp6(1),r.Q6J("ngIf",!e.showDisableStepper),r.xp6(1),r.Q6J("ngIf",e.showDisableStepper),r.xp6(2),r.Q6J("mat-dialog-close",!1),r.xp6(1),r.Oqu(e.flgValidated&&e.isTokenValid?"Close":"Cancel"))},directives:[Z.xw,Z.yH,N.dk,Z.Wh,K.lW,st.ZT,N.dn,ct.Vq,ct.C0,Q._Y,Q.JL,Q.sg,ct.VY,W.KE,ht.Nt,Q.Fj,X.h,Q.JJ,Q.u,Q.Q7,U.O5,W.TO,ut.V,F.BN,W.R9,dt.y,ct.Ic],styles:[""]}),t})();var Lt=i(9421),It=i(3191),Ot=i(7679);const Dt=["authForm"];function Rt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Current password is required."),r.qZA())}function Pt(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.errorMsg)}}function Zt(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.errorConfirmMsg)}}let Ft=(()=>{class t{constructor(t,e,i,n,r){this.store=t,this.logger=e,this.actions$=i,this.router=n,this.sessionService=r,this.faInfoCircle=P.sqG,this.faUserLock=P.FJU,this.faUserClock=P.hnx,this.faLock=P.byT,this.currPassword="",this.newPassword="",this.confirmPassword="",this.errorMsg="",this.errorConfirmMsg="",this.initializeNodeData=!1,this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){this.initializeNodeData="true"===this.sessionService.getItem("defaultPassword"),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.logger.info(t)}),this.actions$.pipe((0,M.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Gs)).subscribe(t=>{if(Lt.kO.includes(this.currPassword.toLowerCase()))switch(this.selNode.lnImplementation.toUpperCase()){case"CLT":this.router.navigate(["/cl/home"]);break;case"ECL":this.router.navigate(["/ecl/home"]);break;default:this.router.navigate(["/lnd/home"])}this.form.resetForm()})}onChangePassword(){if(!this.currPassword||!this.newPassword||!this.confirmPassword||this.currPassword===this.newPassword||this.newPassword!==this.confirmPassword||Lt.kO.includes(this.newPassword.toLowerCase()))return!0;this.store.dispatch(new j.tq({currPassword:nt(this.currPassword),newPassword:nt(this.newPassword)}))}matchOldAndNewPasswords(){let t=!1;return this.form.controls.newpassword&&(this.newPassword?""!==this.currPassword&&""!==this.newPassword&&this.currPassword===this.newPassword?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg="Old and New password cannot be same.",t=!0):Lt.kO.includes(this.newPassword.toLowerCase())?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg=Lt.kO.reduce((t,e,i)=>i{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(G.mQ),r.Y36(l.eX),r.Y36(R.F0),r.Y36(It.m))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-auth-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(Dt,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:35,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["authForm","ngForm"],["fxLayout","row","fxLayoutAlign","start start",1,"mb-2"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["matInput","","placeholder","Current Password","type","password","id","currpassword","name","currpassword","tabindex","6","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["matInput","","placeholder","New Password","type","password","id","newpassword","name","newpassword","tabindex","7","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Confirm New Password","type","password","id","confirmpassword","name","confirmpassword","tabindex","8","required","",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","9",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10","type","button",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end stretch",1,"my-2"],[3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],[1,"mb-1","settings-container","page-sub-title-container","mt-1"],[1,"alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],[1,"mt-1"],["mat-flat-button","","color","primary","tabindex","11",1,"mb-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"form",1,2),r.TgZ(3,"div",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6,"Password"),r.qZA(),r.qZA(),r.TgZ(7,"mat-form-field"),r.TgZ(8,"input",6),r.NdJ("ngModelChange",function(t){return e.currPassword=t}),r.qZA(),r.YNc(9,Rt,2,0,"mat-error",7),r.qZA(),r.TgZ(10,"mat-form-field"),r.TgZ(11,"input",8),r.NdJ("ngModelChange",function(t){return e.newPassword=t}),r.qZA(),r.YNc(12,Pt,2,1,"mat-error",7),r.qZA(),r.TgZ(13,"mat-form-field"),r.TgZ(14,"input",9),r.NdJ("ngModelChange",function(t){return e.confirmPassword=t}),r.qZA(),r.YNc(15,Zt,2,1,"mat-error",7),r.qZA(),r.TgZ(16,"div",10),r.TgZ(17,"button",11),r.NdJ("click",function(){return e.onResetPassword()}),r._uU(18,"Reset"),r.qZA(),r.TgZ(19,"button",12),r.NdJ("click",function(){return e.onChangePassword()}),r._uU(20,"Change Password"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(21,"div",13),r._UZ(22,"mat-divider",14),r.qZA(),r.TgZ(23,"div",15),r.TgZ(24,"div",16),r._UZ(25,"fa-icon",4),r.TgZ(26,"span",5),r._uU(27,"Two Factor Authentication"),r.qZA(),r.qZA(),r.TgZ(28,"div",17),r._UZ(29,"fa-icon",18),r.TgZ(30,"span"),r._uU(31,"Protect your account from unauthorized access by requiring a second authentication method in addition to your password."),r.qZA(),r.qZA(),r.TgZ(32,"div",19),r.TgZ(33,"button",20),r.NdJ("click",function(){return e.on2FAuth()}),r._uU(34),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faLock),r.xp6(4),r.Q6J("ngModel",e.currPassword),r.xp6(1),r.Q6J("ngIf",!e.currPassword),r.xp6(2),r.Q6J("ngModel",e.newPassword),r.xp6(1),r.Q6J("ngIf",e.matchOldAndNewPasswords()),r.xp6(2),r.Q6J("ngModel",e.confirmPassword),r.xp6(1),r.Q6J("ngIf",e.matchNewPasswords()),r.xp6(7),r.Q6J("inset",!0),r.xp6(3),r.Q6J("icon",e.faUserClock),r.xp6(4),r.Q6J("icon",e.faInfoCircle),r.xp6(5),r.Oqu(e.appConfig.enable2FA?"Disable 2FA":"Enable 2FA"))},directives:[Z.xw,Z.yH,Z.Wh,Q._Y,Q.JL,Q.F,F.BN,W.KE,ht.Nt,Q.Fj,Q.Q7,Q.JJ,Q.On,U.O5,K.lW,Ot.d,W.TO],styles:[""]}),t})();var Nt=i(5250);function Bt(t,e){1&t&&r._UZ(0,"mat-divider",7)}function Ut(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"pre",5),r._uU(2),r.ALo(3,"json"),r.qZA(),r.YNc(4,Bt,1,0,"mat-divider",6),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu(r.lcZ(3,2,t.configData)),r.xp6(2),r.Q6J("ngIf",""!==t.configData)}}function qt(t,e){if(1&t&&(r.TgZ(0,"h2"),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function zt(t,e){if(1&t&&(r.TgZ(0,"h4",14),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function Ht(t,e){1&t&&r._UZ(0,"mat-divider",15),2&t&&r.Q6J("inset",!0)}function Yt(t,e){if(1&t&&(r.TgZ(0,"mat-list-item"),r.TgZ(1,"mat-card-subtitle",7),r.YNc(2,qt,2,1,"h2",10),r.qZA(),r.TgZ(3,"mat-card-subtitle",11),r.YNc(4,zt,2,1,"h4",12),r.qZA(),r.YNc(5,Ht,1,1,"mat-divider",13),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Q6J("ngIf",t.indexOf("[")>=0),r.xp6(2),r.Q6J("ngIf",t.indexOf("[")<0),r.xp6(1),r.Q6J("ngIf",t.indexOf("[")<0)}}function jt(t,e){if(1&t&&(r.TgZ(0,"div",8),r.TgZ(1,"mat-list"),r.YNc(2,Yt,6,3,"mat-list-item",9),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Q6J("ngForOf",t.configData)}}let Gt=(()=>{class t{constructor(t,e,i){this.store=t,this.rtlEffects=e,this.router=i,this.selectedNodeType="",this.configData="",this.fileFormat="INI",this.faCog=P.b7W,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.selectedNodeType=this.router.url.includes("bconfig")?"bitcoind":"ln",this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{this.selectedNodeType=t.urlAfterRedirects.includes("bconfig")?"bitcoind":"ln"}),this.store.dispatch(new j.Fk("Opening Config File...")),this.store.dispatch(new j.Fj(this.selectedNodeType)),this.rtlEffects.showLnConfig.pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{const e=t.data;this.fileFormat=t.format,this.configData=""===e||!e||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==e&&e&&"JSON"===this.fileFormat?e:"":e.split("\n")})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(at.V),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-bitcoin-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Ut,5,4,"div",2),r.YNc(3,jt,3,1,"div",3),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",""!==e.configData&&"JSON"===e.fileFormat),r.xp6(1),r.Q6J("ngIf",""!==e.configData&&("INI"===e.fileFormat||"HOCON"===e.fileFormat)))},directives:[Z.xw,Z.yH,Z.Wh,U.O5,Ot.d,Nt.i$,U.sg,Nt.Tg,N.$j],pipes:[U.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();const Vt=function(){return{initial:!1}};function Qt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[1].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[1].link),r.Q6J("active",t.activeLink===t.links[1].link)("state",r.DdM(4,Vt)),r.xp6(1),r.Oqu(t.links[1].name)}}function Wt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[2].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[2].link),r.Q6J("active",t.activeLink===t.links[2].link),r.xp6(1),r.Oqu(t.links[2].name)}}let Jt=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faTools=P.CgH,this.showLnConfig=!1,this.lnImplementationStr="",this.links=[{link:"node",name:"Node"},{link:"services",name:"Services"},{link:"lnconfig",name:this.lnImplementationStr}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{switch(this.showLnConfig=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.lnImplementationStr="C-Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[2].name=this.lnImplementationStr,this.showLnConfig=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-node-config"]],decls:14,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Node Config"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.YNc(10,Qt,2,5,"div",7),r.YNc(11,Wt,2,3,"div",8),r.qZA(),r.TgZ(12,"div",9),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faTools),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.Q6J("ngIf","LND"===e.selNode.lnImplementation.toUpperCase()),r.xp6(1),r.Q6J("ngIf",e.showLnConfig))},directives:[Z.xw,Z.Wh,F.BN,N.a8,N.dn,B.BU,B.Nj,R.rH,U.O5,Z.yH,R.lC],styles:[""]}),t})();function Xt(t,e){1&t&&r._UZ(0,"mat-divider",7)}function Kt(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"pre",5),r._uU(2),r.ALo(3,"json"),r.qZA(),r.YNc(4,Xt,1,0,"mat-divider",6),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu(r.lcZ(3,2,t.configData)),r.xp6(2),r.Q6J("ngIf",""!==t.configData)}}function $t(t,e){if(1&t&&(r.TgZ(0,"h2"),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function te(t,e){if(1&t&&(r.TgZ(0,"h4",14),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function ee(t,e){1&t&&r._UZ(0,"mat-divider",15),2&t&&r.Q6J("inset",!0)}function ie(t,e){if(1&t&&(r.TgZ(0,"mat-list-item"),r.TgZ(1,"mat-card-subtitle",7),r.YNc(2,$t,2,1,"h2",10),r.qZA(),r.TgZ(3,"mat-card-subtitle",11),r.YNc(4,te,2,1,"h4",12),r.qZA(),r.YNc(5,ee,1,1,"mat-divider",13),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Q6J("ngIf",t.indexOf("[")>=0),r.xp6(2),r.Q6J("ngIf",t.indexOf("[")<0),r.xp6(1),r.Q6J("ngIf",t.indexOf("[")<0)}}function ne(t,e){if(1&t&&(r.TgZ(0,"div",8),r.TgZ(1,"mat-list"),r.YNc(2,ie,6,3,"mat-list-item",9),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Q6J("ngForOf",t.configData)}}let re=(()=>{class t{constructor(t,e,i){this.store=t,this.rtlEffects=e,this.router=i,this.selectedNodeType="",this.configData="",this.fileFormat="INI",this.faCog=P.b7W,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.selectedNodeType=this.router.url.includes("bconfig")?"bitcoind":"ln",this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{this.selectedNodeType=t.urlAfterRedirects.includes("bconfig")?"bitcoind":"ln"}),this.store.dispatch(new j.Fk("Opening Config File...")),this.store.dispatch(new j.Fj(this.selectedNodeType)),this.rtlEffects.showLnConfig.pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{const e=t.data;this.fileFormat=t.format,this.configData=""===e||!e||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==e&&e&&"JSON"===this.fileFormat?e:"":e.split("\n")})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(at.V),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-lnp-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Kt,5,4,"div",2),r.YNc(3,ne,3,1,"div",3),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",""!==e.configData&&"JSON"===e.fileFormat),r.xp6(1),r.Q6J("ngIf",""!==e.configData&&("INI"===e.fileFormat||"HOCON"===e.fileFormat)))},directives:[Z.xw,Z.yH,Z.Wh,U.O5,Ot.d,Nt.i$,U.sg,Nt.Tg,N.$j],pipes:[U.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();var se=i(6124),oe=i(9939),ae=i(5678),le=i(1084),ce=i(7521),he=i(4810),ue=i(377);function de(t,e){if(1&t&&(r.TgZ(0,"mat-option",35),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t.id),r.xp6(1),r.hij(" ",t.id," ")}}function fe(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Currency unit is required."),r.qZA())}function pe(t,e){if(1&t&&(r.TgZ(0,"mat-radio-button",36),r._uU(1),r.ALo(2,"titlecase"),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.Q6J("value",t)("checked",i.selNode.settings.userPersona===t),r.xp6(1),r.hij(" ",r.lcZ(2,3,t)," ")}}const me=function(t){return{"mr-4":t}};function ge(t,e){if(1&t&&(r.TgZ(0,"mat-radio-button",37),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.Q6J("value",t)("ngClass",r.VKq(3,me,i.screenSize===i.screenSizeEnum.XS||i.screenSize===i.screenSizeEnum.SM)),r.xp6(1),r.hij("",t.name," ")}}const ye=function(t){return{skin:!0,"selected-color":t}};function be(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"span",38),r.TgZ(1,"div",39),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().changeThemeColor(e.id)}),r.ALo(2,"lowercase"),r.qZA(),r._uU(3),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Tol(r.lcZ(2,4,t.id)),r.Q6J("ngClass",r.VKq(6,ye,i.selectedThemeColor===t.id)),r.xp6(2),r.hij(" ",t.name," ")}}let ve=(()=>{class t{constructor(t,e,i){this.logger=t,this.commonService=e,this.store=i,this.faExclamationTriangle=P.eHv,this.faMoneyBillAlt=P.co4,this.faPaintBrush=P.XsY,this.faInfoCircle=P.sqG,this.information={},this.userPersonas=[Lt.ol.OPERATOR,Lt.ol.MERCHANT],this.currencyUnits=Lt.Er,this.themeModes=Lt.wZ.modes,this.themeColors=Lt.wZ.themes,this.selectedThemeMode=Lt.wZ.modes[0],this.selectedThemeColor=Lt.wZ.themes[0].id,this.currencyUnit="BTC",this.smallerCurrencyUnit="Sats",this.showSettingOption=!0,this.screenSize="",this.screenSizeEnum=Lt.cu,this.unSubs=[new h.x,new h.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.selectedThemeMode=this.themeModes.find(t=>this.selNode.settings.themeMode===t.id),this.selectedThemeColor=this.selNode.settings.themeColor,this.information=t.nodeData,this.smallerCurrencyUnit=this.information&&this.information.smaller_currency_unit?this.information.smaller_currency_unit:"Sats",this.currencyUnit=this.information&&this.information.currency_unit?this.information.currency_unit:"BTC",this.selNode.settings.fiatConversion||(this.selNode.settings.currencyUnit=null),this.previousSettings=JSON.parse(JSON.stringify(this.selNode.settings)),this.logger.info(t)})}onCurrencyChange(t){this.selNode.settings.currencyUnits=[...Lt.uA,t.value],this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}toggleSettings(t,e){this.selNode.settings[t]=!this.selNode.settings[t]}changeThemeColor(t){this.selectedThemeColor=t,this.selNode.settings.themeColor=t}chooseThemeMode(){this.selNode.settings.themeMode=this.selectedThemeMode.id}onUpdateSettings(){if(this.selNode.settings.fiatConversion&&!this.selNode.settings.currencyUnit)return!0;this.logger.info(this.selNode.settings),this.store.dispatch(new j.Fk("Updating Node Settings...")),this.store.dispatch(new j.j_({settings:this.selNode.settings})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}onResetSettings(){this.selNode.settings=this.previousSettings,this.selectedThemeMode=this.themeModes.find(t=>t.id===this.previousSettings.themeMode),this.selectedThemeColor=this.previousSettings.themeColor,this.store.dispatch(new j.ZG({lnNode:this.selNode,isInitialSetup:!0}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(le.v),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-node-settings"]],decls:60,vars:17,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","start stretch",1,"mt-1","bordered-box","padding-gap-large"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["href","https://www.blockchain.com/api/exchange_rates_api","target","blank"],["fxLayout","row wrap","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","fiatConversion",3,"ngModel","ngModelChange","change"],["autoFocus","","placeholder","Fiat Currency","tabindex","3","name","currencyUnit",3,"ngModel","disabled","required","ngModelChange","selectionChange"],["currencyUnit","ngModel"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","space-between stretch",1,"settings-container","page-sub-title-container","mt-1"],[1,"mt-1"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-0"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100"],["color","primary","tabindex","1","name","userPersona",3,"ngModel","ngModelChange"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],[1,"mt-1",3,"inset"],["fxLayout","column","fxLayout.gt-xs","row","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-xs","start stretch"],["fxFlex.gt-xs","20","fxFlex.gt-md","15","fxLayout","column","fxLayoutAlign","space-between stretch"],["color","primary","name","themeMode",3,"ngModel","ngModelChange","change"],["tabindex","5",3,"value","ngClass",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex.gt-xs","50","fxFlex.gt-md","40","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","row","class","theme-name",4,"ngFor","ngForOf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","10",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","11",3,"click"],[3,"value"],[1,"mr-4",3,"value","checked"],["tabindex","5",3,"value","ngClass"],["fxLayout","row",1,"theme-name"],["tabindex","9",3,"ngClass","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"form",1,2),r.TgZ(3,"div",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6,"Balance Display"),r.qZA(),r.qZA(),r.TgZ(7,"div",6),r.TgZ(8,"div",7),r._UZ(9,"fa-icon",8),r.TgZ(10,"span"),r._uU(11,"Fiat conversion calls "),r.TgZ(12,"strong"),r.TgZ(13,"a",9),r._uU(14,"Blockchain.com"),r.qZA(),r.qZA(),r._uU(15," API to get conversion rates."),r.qZA(),r.qZA(),r.TgZ(16,"div",10),r.TgZ(17,"mat-slide-toggle",11),r.NdJ("ngModelChange",function(t){return e.selNode.settings.fiatConversion=t})("change",function(t){return e.selNode.settings.currencyUnit=t.checked?e.selNode.settings.currencyUnit:null}),r._uU(18,"Enable Fiat Conversion"),r.qZA(),r.TgZ(19,"mat-form-field"),r.TgZ(20,"mat-select",12,13),r.NdJ("ngModelChange",function(t){return e.selNode.settings.currencyUnit=t})("selectionChange",function(t){return e.onCurrencyChange(t)}),r.YNc(22,de,2,2,"mat-option",14),r.qZA(),r.YNc(23,fe,2,0,"mat-error",15),r.qZA(),r.qZA(),r.qZA(),r.TgZ(24,"div",16),r.TgZ(25,"div",17),r.TgZ(26,"div",18),r._UZ(27,"fa-icon",4),r.TgZ(28,"span",5),r._uU(29,"Customization"),r.qZA(),r.qZA(),r.TgZ(30,"div",6),r.TgZ(31,"div",19),r.TgZ(32,"div",20),r._UZ(33,"fa-icon",8),r.TgZ(34,"span"),r._uU(35,"Dashboard layout will be tailored based on the role selected to better serve its needs."),r.qZA(),r.qZA(),r.TgZ(36,"div",21),r.TgZ(37,"h4"),r._uU(38,"Dashboard Layout"),r.qZA(),r.TgZ(39,"mat-radio-group",22),r.NdJ("ngModelChange",function(t){return e.selNode.settings.userPersona=t}),r.YNc(40,pe,3,5,"mat-radio-button",23),r.qZA(),r.qZA(),r.qZA(),r._UZ(41,"mat-divider",24),r.TgZ(42,"div",25),r.TgZ(43,"div",26),r.TgZ(44,"h4"),r._uU(45,"Mode"),r.qZA(),r.TgZ(46,"mat-radio-group",27),r.NdJ("ngModelChange",function(t){return e.selectedThemeMode=t})("change",function(){return e.chooseThemeMode()}),r.YNc(47,ge,2,5,"mat-radio-button",28),r.qZA(),r.qZA(),r.qZA(),r._UZ(48,"mat-divider",24),r.TgZ(49,"div",25),r.TgZ(50,"div",29),r.TgZ(51,"h4"),r._uU(52,"Themes"),r.qZA(),r.TgZ(53,"div",30),r.YNc(54,be,4,8,"span",31),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.TgZ(55,"div",32),r.TgZ(56,"button",33),r.NdJ("click",function(){return e.onResetSettings()}),r._uU(57,"Reset"),r.qZA(),r.TgZ(58,"button",34),r.NdJ("click",function(){return e.onUpdateSettings()}),r._uU(59,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faMoneyBillAlt),r.xp6(5),r.Q6J("icon",e.faExclamationTriangle),r.xp6(8),r.Q6J("ngModel",e.selNode.settings.fiatConversion),r.xp6(3),r.Q6J("ngModel",e.selNode.settings.currencyUnit)("disabled",!e.selNode.settings.fiatConversion)("required",e.selNode.settings.fiatConversion),r.xp6(2),r.Q6J("ngForOf",e.currencyUnits),r.xp6(1),r.Q6J("ngIf",e.selNode.settings.fiatConversion&&!e.selNode.settings.currencyUnit),r.xp6(4),r.Q6J("icon",e.faPaintBrush),r.xp6(6),r.Q6J("icon",e.faInfoCircle),r.xp6(6),r.Q6J("ngModel",e.selNode.settings.userPersona),r.xp6(1),r.Q6J("ngForOf",e.userPersonas),r.xp6(1),r.Q6J("inset",!0),r.xp6(5),r.Q6J("ngModel",e.selectedThemeMode),r.xp6(1),r.Q6J("ngForOf",e.themeModes),r.xp6(1),r.Q6J("inset",!0),r.xp6(6),r.Q6J("ngForOf",e.themeColors))},directives:[Z.xw,Z.yH,V.$V,Q._Y,Q.JL,Q.F,Z.Wh,F.BN,ce.Rr,Q.JJ,Q.On,W.KE,J.gD,X.h,Q.Q7,U.sg,U.O5,he.VQ,Ot.d,K.lW,$.ey,W.TO,he.U0,U.mk,ue.oO],pipes:[U.rS,U.i8],styles:[""]}),t})();const _e=function(){return{initial:!1}};let we=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faLayerGroup=P.Krp,this.links=[{link:"loop",name:"Loop"},{link:"boltz",name:"Boltz"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-services-settings"]],decls:14,vars:9,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Services"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.TgZ(10,"div",7),r.NdJ("click",function(){return e.activeLink=e.links[1].link}),r._uU(11),r.qZA(),r.qZA(),r.TgZ(12,"div",8),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faLayerGroup),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.s9C("routerLink",e.links[1].link),r.Q6J("active",e.activeLink===e.links[1].link)("state",r.DdM(8,_e)),r.xp6(1),r.Oqu(e.links[1].name))},directives:[Z.xw,Z.Wh,F.BN,N.a8,N.dn,B.BU,B.Nj,R.rH,Z.yH,R.lC],styles:[""]}),t})();const xe=["form"];function Ce(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Loop server URL is required."),r.qZA())}function Ae(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Specify the loop server url with 'https://'."),r.qZA())}function Se(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Loop macaroon path is required."),r.qZA())}let ke=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=P.sqG,this.enableLoop=!1,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.enableLoop=t.selNode.settings.swapServerUrl&&""!==t.selNode.settings.swapServerUrl.trim(),this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(t)})}onEnableServiceChanged(t){this.enableLoop=t.checked,this.enableLoop||(this.selNode.authentication.swapMacaroonPath="",this.selNode.settings.swapServerUrl="")}onUpdateService(){if(this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableLoop&&(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim()||!this.selNode.authentication.swapMacaroonPath||""===this.selNode.authentication.swapMacaroonPath.trim()))return!0;this.logger.info(this.selNode),this.store.dispatch(new j.Fk("Updating Loop Service Settings...")),this.store.dispatch(new j.wq({service:Lt.JX.LOOP,settings:{enable:this.enableLoop,serverUrl:this.selNode.settings.swapServerUrl,macaroonPath:this.selNode.authentication.swapMacaroonPath}})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.enableLoop=this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-loop-service-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(xe,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://github.com/lightninglabs/loop","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","loop",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Loop Server URL","type","text","id","swapServerUrl","name","srvrUrl","tabindex","2",3,"ngModel","required","disabled","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Loop Macaroon Path","type","text","id","swapMacaroonPath","name","swapMacaroonPath","tabindex","3",3,"ngModel","required","disabled","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span"),r._uU(4,"Please ensure that "),r.TgZ(5,"strong"),r._uU(6,"loopd"),r.qZA(),r._uU(7," is running and accessible to RTL before enabling this service. Click "),r.TgZ(8,"strong"),r.TgZ(9,"a",3),r._uU(10,"here"),r.qZA(),r.qZA(),r._uU(11," to learn more about the installation."),r.qZA(),r.qZA(),r.TgZ(12,"form",4,5),r.TgZ(14,"div",6),r.TgZ(15,"mat-slide-toggle",7),r.NdJ("ngModelChange",function(t){return e.enableLoop=t})("change",function(t){return e.onEnableServiceChanged(t)}),r._uU(16,"Enable Loop Service"),r.qZA(),r.TgZ(17,"mat-form-field",8),r.TgZ(18,"input",9,10),r.NdJ("ngModelChange",function(t){return e.selNode.settings.swapServerUrl=t}),r.qZA(),r.TgZ(20,"mat-hint"),r._uU(21,"Service url for loop server REST APIs, eg. https://localhost:8081"),r.qZA(),r.YNc(22,Ce,2,0,"mat-error",11),r.YNc(23,Ae,2,0,"mat-error",11),r.qZA(),r.TgZ(24,"mat-form-field"),r.TgZ(25,"input",12),r.NdJ("ngModelChange",function(t){return e.selNode.authentication.swapMacaroonPath=t}),r.qZA(),r.TgZ(26,"mat-hint"),r._uU(27,"Path for the folder containing service 'loop.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Local\\\\Loop\\\\testnet"),r.qZA(),r.YNc(28,Se,2,0,"mat-error",11),r.qZA(),r.qZA(),r.qZA(),r.TgZ(29,"div",13),r.TgZ(30,"button",14),r.NdJ("click",function(){return e.onReset()}),r._uU(31,"Reset"),r.qZA(),r.TgZ(32,"button",15),r.NdJ("click",function(){return e.onUpdateService()}),r._uU(33,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.MAs(19);r.xp6(2),r.Q6J("icon",e.faInfoCircle),r.xp6(13),r.Q6J("ngModel",e.enableLoop),r.xp6(3),r.Q6J("ngModel",e.selNode.settings.swapServerUrl)("required",e.enableLoop)("disabled",!e.enableLoop),r.xp6(4),r.Q6J("ngIf",!e.selNode.settings.swapServerUrl&&e.enableLoop),r.xp6(1),r.Q6J("ngIf",(null==t||null==t.errors?null:t.errors.invalid)&&e.enableLoop),r.xp6(2),r.Q6J("ngModel",e.selNode.authentication.swapMacaroonPath)("required",e.enableLoop)("disabled",!e.enableLoop),r.xp6(3),r.Q6J("ngIf",!e.selNode.authentication.swapMacaroonPath&&e.enableLoop)}},directives:[Z.xw,Z.yH,V.$V,F.BN,Q._Y,Q.JL,Q.F,Z.Wh,ce.Rr,X.h,Q.JJ,Q.On,W.KE,ht.Nt,Q.Fj,Q.Q7,W.bx,U.O5,K.lW,W.TO],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();const Me=["form"];function Ee(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Boltz server URL is required."),r.qZA())}function Te(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Specify the boltz server url with 'https://'."),r.qZA())}function Le(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Boltz macaroon path is required."),r.qZA())}let Ie=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=P.sqG,this.enableBoltz=!1,this.serverUrl="",this.macaroonPath="",this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.enableBoltz=t.selNode.settings.boltzServerUrl&&""!==t.selNode.settings.boltzServerUrl.trim(),this.serverUrl=this.selNode.settings.boltzServerUrl,this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(t)})}onEnableServiceChanged(t){this.enableBoltz=t.checked,this.enableBoltz||(this.macaroonPath="",this.serverUrl="")}onUpdateService(){if(this.serverUrl&&""!==this.serverUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableBoltz&&(!this.serverUrl||""===this.serverUrl.trim()||!this.serverUrl.includes("https://")||!this.macaroonPath||""===this.macaroonPath.trim()))return!0;this.logger.info(this.selNode),this.selNode.settings.boltzServerUrl=this.serverUrl,this.selNode.authentication.boltzMacaroonPath=this.macaroonPath,this.store.dispatch(new j.Fk("Updating Boltz Service Settings...")),this.store.dispatch(new j.wq({service:Lt.JX.BOLTZ,settings:{enable:this.enableBoltz,serverUrl:this.serverUrl,macaroonPath:this.macaroonPath}})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.serverUrl=this.selNode.settings.boltzServerUrl,this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.enableBoltz=this.serverUrl&&""!==this.serverUrl.trim()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-service-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(Me,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://lnd.docs.boltz.exchange/en/latest/","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","boltz",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Boltz Server URL","type","text","id","boltzServerUrl","name","srvrUrl","tabindex","2",3,"ngModel","required","disabled","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Boltz Macaroon Path","type","text","id","boltzMacaroonPath","name","boltzMacaroonPath","tabindex","3",3,"ngModel","required","disabled","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span"),r._uU(4,"Please ensure that "),r.TgZ(5,"strong"),r._uU(6,"boltzd"),r.qZA(),r._uU(7," is running and accessible to RTL before enabling this service. Click "),r.TgZ(8,"strong"),r.TgZ(9,"a",3),r._uU(10,"here"),r.qZA(),r.qZA(),r._uU(11," to learn more about the installation."),r.qZA(),r.qZA(),r.TgZ(12,"form",4,5),r.TgZ(14,"div",6),r.TgZ(15,"mat-slide-toggle",7),r.NdJ("ngModelChange",function(t){return e.enableBoltz=t})("change",function(t){return e.onEnableServiceChanged(t)}),r._uU(16,"Enable Boltz Service"),r.qZA(),r.TgZ(17,"mat-form-field",8),r.TgZ(18,"input",9,10),r.NdJ("ngModelChange",function(t){return e.serverUrl=t}),r.qZA(),r.TgZ(20,"mat-hint"),r._uU(21,"Service url for boltz server REST APIs, eg. https://localhost:9003"),r.qZA(),r.YNc(22,Ee,2,0,"mat-error",11),r.YNc(23,Te,2,0,"mat-error",11),r.qZA(),r.TgZ(24,"mat-form-field"),r.TgZ(25,"input",12),r.NdJ("ngModelChange",function(t){return e.macaroonPath=t}),r.qZA(),r.TgZ(26,"mat-hint"),r._uU(27,"Path for the folder containing boltz 'admin.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Boltz\\\\testnet"),r.qZA(),r.YNc(28,Le,2,0,"mat-error",11),r.qZA(),r.qZA(),r.qZA(),r.TgZ(29,"div",13),r.TgZ(30,"button",14),r.NdJ("click",function(){return e.onReset()}),r._uU(31,"Reset"),r.qZA(),r.TgZ(32,"button",15),r.NdJ("click",function(){return e.onUpdateService()}),r._uU(33,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.MAs(19);r.xp6(2),r.Q6J("icon",e.faInfoCircle),r.xp6(13),r.Q6J("ngModel",e.enableBoltz),r.xp6(3),r.Q6J("ngModel",e.serverUrl)("required",e.enableBoltz)("disabled",!e.enableBoltz),r.xp6(4),r.Q6J("ngIf",(!e.serverUrl||""===e.serverUrl.trim())&&e.enableBoltz),r.xp6(1),r.Q6J("ngIf",(null==t||null==t.errors?null:t.errors.invalid)&&e.enableBoltz),r.xp6(2),r.Q6J("ngModel",e.macaroonPath)("required",e.enableBoltz)("disabled",!e.enableBoltz),r.xp6(3),r.Q6J("ngIf",!e.macaroonPath&&e.enableBoltz)}},directives:[Z.xw,Z.yH,V.$V,F.BN,Q._Y,Q.JL,Q.F,Z.Wh,ce.Rr,X.h,Q.JJ,Q.On,W.KE,ht.Nt,Q.Fj,Q.Q7,W.bx,U.O5,K.lW,W.TO],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})(),Oe=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faLayerGroup=P.Krp,this.showLnConfig=!1,this.showBitcoind=!1,this.lnImplementationStr="",this.links=[{link:"layout",name:"Layout"},{link:"auth",name:"Authentication"},{link:"lnconfig",name:this.lnImplementationStr},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){let t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{switch(this.showLnConfig=!1,this.showBitcoind=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.lnImplementationStr="C-Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[2].name=this.lnImplementationStr,this.showLnConfig=!0),this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-services"]],decls:1,vars:0,template:function(t,e){1&t&&r._UZ(0,"router-outlet")},directives:[R.lC],styles:[""]}),t})();var De=i(5028),Re=i(2969),Pe=i(3005),Ze=i(2464),Fe=i(7033),Ne=i(5994);function Be(t,e){1&t&&r._UZ(0,"mat-progress-bar",34)}function Ue(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Initiation Time "),r.qZA())}function qe(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.ALo(2,"date"),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(r.xi3(2,1,t.initiation_time/1e6,"dd/MMM/YYYY HH:mm"))}}function ze(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Last Update Time "),r.qZA())}function He(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.ALo(2,"date"),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(r.xi3(2,1,t.last_update_time/1e6,"dd/MMM/YYYY HH:mm"))}}function Ye(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," ID "),r.qZA())}function je(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id)}}function Ge(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," ID (Bytes) "),r.qZA())}function Ve(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id_bytes)}}function Qe(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," State "),r.qZA())}function We(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Oqu(i.LoopStateEnum[t.state])}}function Je(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," HTLC Address "),r.qZA())}function Xe(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.htlc_address)}}function Ke(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Amount (Sats) "),r.qZA())}function $e(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.amt))}}function ti(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Server (Sats) "),r.qZA())}function ei(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.cost_server))}}function ii(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Offchain (Sats) "),r.qZA())}function ni(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.cost_offchain))}}function ri(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Onchain (Sats) "),r.qZA())}function si(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.hij(" ",r.lcZ(3,1,null==t?null:t.cost_onchain)," ")}}function oi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"th",39),r.TgZ(1,"div",40),r.TgZ(2,"mat-select",41),r._UZ(3,"mat-select-trigger"),r.TgZ(4,"mat-option",42),r.NdJ("click",function(){return r.CHM(t),r.oxw().onDownloadCSV()}),r._uU(5,"Download CSV"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}}function ai(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"td",43),r.TgZ(1,"button",44),r.NdJ("click",function(e){const i=r.CHM(t).$implicit;return r.oxw().onSwapClick(i,e)}),r._uU(2,"View Info"),r.qZA(),r.qZA()}}function li(t,e){if(1&t&&(r.TgZ(0,"p"),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.emptyTableMessage)}}function ci(t,e){if(1&t&&(r.TgZ(0,"td",45),r.YNc(1,li,2,1,"p",46),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("ngIf",!(null!=t.listSwaps&&t.listSwaps.data)||(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)<1)}}const hi=function(t){return{"display-none":t}};function ui(t,e){if(1&t&&r._UZ(0,"tr",47),2&t){const t=r.oxw();r.Q6J("ngClass",r.VKq(1,hi,(null==t.listSwaps?null:t.listSwaps.data)&&(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)>0))}}function di(t,e){1&t&&r._UZ(0,"tr",48)}function fi(t,e){1&t&&r._UZ(0,"tr",49)}const pi=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},mi=function(){return["no_swap"]};let gi=(()=>{class t{constructor(t,e,i,n,r){this.logger=t,this.commonService=e,this.store=i,this.actions$=n,this.loopService=r,this.selectedSwapType=Lt.$I.LOOP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.LoopStateEnum=Lt.Fq,this.faHistory=P.qO$,this.swapCaption="Loop Out",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=Lt.IV,this.pageSizeOptions=Lt.TJ,this.screenSize="",this.screenSizeEnum=Lt.cu,this.unSubs=[new h.x,new h.x,new h.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===Lt.cu.XS||this.screenSize===Lt.cu.SM?(this.flgSticky=!1,this.displayedColumns=["state","amt","actions"]):this.screenSize===Lt.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","initiation_time","amt","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","initiation_time","amt","cost_server","cost_offchain","cost_onchain","actions"])}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(t){this.swapCaption=this.selectedSwapType===Lt.$I.LOOP_IN?"Loop In":"Loop Out",this.loadSwapsTable(this.swapsData)}applyFilter(t){this.listSwaps.filter=t.value.trim().toLowerCase()}onSwapClick(t,e){this.loopService.getSwap(t.id_bytes.replace(/\//g,"_").replace(/\+/g,"-")).pipe((0,M.R)(this.unSubs[2])).subscribe(t=>{this.store.dispatch(new j.wu({data:{type:Lt.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:[[{key:"state",value:Lt.Fq[t.state],title:"Status",width:50,type:Lt.Gi.STRING},{key:"amt",value:t.amt,title:"Amount (Sats)",width:50,type:Lt.Gi.NUMBER}],[{key:"initiation_time",value:t.initiation_time/1e9,title:"Initiation Time",width:50,type:Lt.Gi.DATE_TIME},{key:"last_update_time",value:t.last_update_time/1e9,title:"Last Update Time",width:50,type:Lt.Gi.DATE_TIME}],[{key:"cost_server",value:t.cost_server,title:"Server Cost (Sats)",width:33,type:Lt.Gi.NUMBER},{key:"cost_offchain",value:t.cost_offchain,title:"Offchain Cost (Sats)",width:33,type:Lt.Gi.NUMBER},{key:"cost_onchain",value:t.cost_onchain,title:"Onchain Cost (Sats)",width:34,type:Lt.Gi.NUMBER}],[{key:"id_bytes",value:t.id_bytes,title:"ID",width:100,type:Lt.Gi.STRING}],[{key:"htlc_address",value:t.htlc_address,title:"HTLC Address",width:100,type:Lt.Gi.STRING}]],openedBy:"SWAP"}}))})}loadSwapsTable(t){this.listSwaps=new Fe.by([...t]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listSwaps.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.listSwaps.paginator=this.paginator,this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Lt.$I.LOOP_IN?"Loop in":"Loop out")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(l.eX),r.Y36(Re.W))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-swaps"]],viewQuery:function(t,e){if(1&t&&(r.Gf(Ze.YE,5),r.Gf(Pe.NW,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sort=t.first),r.iGM(t=r.CRH())&&(e.paginator=t.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[r._Bn([{provide:Pe.ye,useValue:(0,Lt.pt)("Swaps")}]),r.TTD],decls:52,vars:15,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","initiation_time"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","last_update_time"],["matColumnDef","id"],["matColumnDef","id_bytes"],["matColumnDef","state"],["matColumnDef","htlc_address"],["matColumnDef","amt"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","cost_server"],["matColumnDef","cost_offchain"],["matColumnDef","cost_onchain"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"div",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"mat-form-field",5),r.TgZ(7,"input",6),r.NdJ("keyup",function(t){return e.applyFilter(t.target)}),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.TgZ(9,"div",8),r.YNc(10,Be,1,0,"mat-progress-bar",9),r.TgZ(11,"table",10,11),r.ynx(13,12),r.YNc(14,Ue,2,0,"th",13),r.YNc(15,qe,3,4,"td",14),r.BQk(),r.ynx(16,15),r.YNc(17,ze,2,0,"th",13),r.YNc(18,He,3,4,"td",14),r.BQk(),r.ynx(19,16),r.YNc(20,Ye,2,0,"th",13),r.YNc(21,je,2,1,"td",14),r.BQk(),r.ynx(22,17),r.YNc(23,Ge,2,0,"th",13),r.YNc(24,Ve,2,1,"td",14),r.BQk(),r.ynx(25,18),r.YNc(26,Qe,2,0,"th",13),r.YNc(27,We,2,1,"td",14),r.BQk(),r.ynx(28,19),r.YNc(29,Je,2,0,"th",13),r.YNc(30,Xe,2,1,"td",14),r.BQk(),r.ynx(31,20),r.YNc(32,Ke,2,0,"th",21),r.YNc(33,$e,4,3,"td",14),r.BQk(),r.ynx(34,22),r.YNc(35,ti,2,0,"th",21),r.YNc(36,ei,4,3,"td",14),r.BQk(),r.ynx(37,23),r.YNc(38,ii,2,0,"th",21),r.YNc(39,ni,4,3,"td",14),r.BQk(),r.ynx(40,24),r.YNc(41,ri,2,0,"th",21),r.YNc(42,si,4,3,"td",14),r.BQk(),r.ynx(43,25),r.YNc(44,oi,6,0,"th",26),r.YNc(45,ai,3,0,"td",27),r.BQk(),r.ynx(46,28),r.YNc(47,ci,2,1,"td",29),r.BQk(),r.YNc(48,ui,1,3,"tr",30),r.YNc(49,di,1,0,"tr",31),r.YNc(50,fi,1,0,"tr",32),r.qZA(),r._UZ(51,"mat-paginator",33),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(3),r.Q6J("icon",e.faHistory),r.xp6(2),r.hij("",e.swapCaption," History"),r.xp6(5),r.Q6J("ngIf",!0===e.flgLoading[0]),r.xp6(1),r.Q6J("dataSource",e.listSwaps)("ngClass",r.VKq(12,pi,"error"===e.flgLoading[0])),r.xp6(37),r.Q6J("matFooterRowDef",r.DdM(14,mi)),r.xp6(1),r.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),r.xp6(1),r.Q6J("matRowDefColumns",e.displayedColumns),r.xp6(1),r.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[Z.xw,Z.yH,Z.Wh,F.BN,W.KE,ht.Nt,V.$V,U.O5,Fe.BZ,Ze.YE,U.mk,ue.oO,Fe.w1,Fe.fO,Fe.Dz,Fe.mD,Fe.Ke,Fe.as,Fe.nj,Pe.NW,Ne.pW,Fe.ge,Ze.nU,Fe.ev,J.gD,J.$L,$.ey,K.lW,Fe.yh,Fe.Q2,Fe.XQ,Fe.Gk],pipes:[U.uU,U.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const yi=function(t){return["../",t]};function bi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onSelectedIndexChange(e)}),r._uU(1),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.Q6J("active",i.activeTab.link===t.link)("routerLink",r.VKq(3,yi,t.link)),r.xp6(1),r.Oqu(t.name)}}let vi=(()=>{class t{constructor(t,e,i){this.router=t,this.loopService=e,this.store=i,this.faInfinity=P.vqe,this.targetConf=2,this.inAmount=25e4,this.quotes=[],this.LoopTypeEnum=Lt.$I,this.selectedSwapType=Lt.$I.LOOP_OUT,this.storedSwaps=[],this.filteredSwaps=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"loopout",name:"Loop Out"},{link:"loopin",name:"Loop In"}],this.activeTab=this.links[0],this.unSubs=[new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.loopService.listSwaps();let t=this.links.find(t=>this.router.url.includes(t.link));this.activeTab=t||this.links[0],this.selectedSwapType=t&&"loopin"===t.link?Lt.$I.LOOP_IN:Lt.$I.LOOP_OUT,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeTab=e||this.links[0],this.selectedSwapType=e&&"loopin"===e.link?Lt.$I.LOOP_IN:Lt.$I.LOOP_OUT}),this.loopService.swapsChanged.pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.flgLoading[0]=!1,this.storedSwaps=t,this.filteredSwaps=this.storedSwaps.filter(t=>t.type===this.selectedSwapType)},t=>{this.flgLoading[0]="error",this.emptyTableMessage=t.message?t.message:"No loop "+(this.selectedSwapType===Lt.$I.LOOP_IN?"in":"out")+" available."})}onSelectedIndexChange(t){this.selectedSwapType="loopin"===t.link?Lt.$I.LOOP_IN:Lt.$I.LOOP_OUT,this.filteredSwaps=this.storedSwaps.filter(t=>t.type===this.selectedSwapType)}onLoop(t){this.store.dispatch(new j.Fk("Getting Terms and Quotes...")),t===Lt.$I.LOOP_IN?this.loopService.getLoopInTermsAndQuotes(this.targetConf).pipe((0,M.R)(this.unSubs[2])).subscribe(e=>{this.store.dispatch(new j.Iv),this.store.dispatch(new j.wu({data:{minQuote:e[0],maxQuote:e[1],direction:t,component:De.a}}))}):this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,M.R)(this.unSubs[3])).subscribe(e=>{this.store.dispatch(new j.Iv),this.store.dispatch(new j.wu({data:{minQuote:e[0],maxQuote:e[1],direction:t,component:De.a}}))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.F0),r.Y36(Re.W),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-loop"]],decls:13,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Loop"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.YNc(8,bi,2,5,"div",6),r.qZA(),r.TgZ(9,"div",7),r.TgZ(10,"button",8),r.NdJ("click",function(){return e.onLoop(e.selectedSwapType)}),r._uU(11),r.qZA(),r.qZA(),r._UZ(12,"rtl-swaps",9),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faInfinity),r.xp6(7),r.Q6J("ngForOf",e.links),r.xp6(3),r.hij("Start ",e.activeTab.name,""),r.xp6(1),r.Q6J("selectedSwapType",e.selectedSwapType)("swapsData",e.filteredSwaps)("flgLoading",e.flgLoading)("emptyTableMessage",e.emptyTableMessage))},directives:[Z.xw,Z.Wh,F.BN,N.a8,N.dn,B.BU,U.sg,K.lW,gi,Z.yH,B.Nj,R.rH],styles:[""]}),t})();var _i=i(4833),wi=i(7425),xi=i(9647),Ci=i(1816),Ai=i(5963),Si=i(2427);let ki=(()=>{class t{constructor(t,e,i){this.httpClient=t,this.logger=e,this.store=i,this.swapUrl="",this.swaps={},this.swapsChanged=new wi.X({}),this.unSubs=[new h.x,new h.x,new h.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch(new j.Fk("Getting Boltz Swaps...")),this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/listSwaps",this.httpClient.get(this.swapUrl).pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{this.store.dispatch(new j.Iv),this.swaps=t,this.swapsChanged.next(this.swaps)},t=>this.handleErrorWithAlert("List Swaps",t))}swapInfo(t){return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/swapInfo/"+t,this.httpClient.get(this.swapUrl).pipe((0,Ci.K)(t=>this.handleErrorWithAlert(this.swapUrl,t)))}serviceInfo(){return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/serviceInfo",this.httpClient.get(this.swapUrl).pipe((0,Ci.K)(t=>this.handleErrorWithAlert("Service Info",t)))}swapOut(t,e){let i={amount:t,address:e};return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/createreverseswap",this.httpClient.post(this.swapUrl,i).pipe((0,Ci.K)(t=>this.handleErrorWithoutAlert("Swap Out for Address: "+e,t)))}swapIn(t){let e={amount:t};return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/createswap",this.httpClient.post(this.swapUrl,e).pipe((0,Ci.K)(e=>this.handleErrorWithoutAlert("Swap In for Amount: "+t,e)))}handleErrorWithoutAlert(t,e){if(this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(e)),this.store.dispatch(new j.Iv),401===e.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD);else if("ECONNREFUSED"===e.error.errno||"ECONNREFUSED"===e.error.error.errno)this.store.dispatch(new j.wu({data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:"ECONNREFUSED",message:"Unable to Connect to Boltz Server.",URL:t},component:Si.H}}));else if(e.error){let t="";return e.error.error?"string"==typeof e.error.error?t=e.error.error:(e.error.error.code&&(t=t+"Code: "+e.error.error.code+", "),e.error.error.message&&(t+=e.error.error.message)):t=e.error.message?e.error.message:"object"==typeof e.error?JSON.stringify(e.error):e.error,(0,xi._)({code:e.status,message:t})}return(0,xi._)(JSON.stringify(e))}handleErrorWithAlert(t,e){if(401===e.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD)),this.logger.error(e),this.store.dispatch(new j.Iv),401===e.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD);else if("ECONNREFUSED"===e.errno||"ECONNREFUSED"===e.error.errno||"ECONNREFUSED"===e.error.error.errno)this.store.dispatch(new j.wu({data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:"ECONNREFUSED",message:"Unable to Connect to Boltz Server",URL:t},component:Si.H}}));else{let i="";e.error.error?"string"==typeof e.error.error?i=e.error.error:(e.error.error.code&&(i=i+"Code: "+e.error.error.code+", "),e.error.error.message&&(i+=e.error.error.message)):i=e.error.message?e.error.message:"object"==typeof e.error?JSON.stringify(e.error):e.error,this.store.dispatch(new j.wu({data:{type:Lt.n_.ERROR,alertTitle:"ERROR",message:{code:e.error&&e.error.error&&e.error.error.code?e.error.error.code:e.status,message:""!=i?i:"Unknown Error",URL:t},component:Si.H}}))}return(0,xi._)(e)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.eN),r.LFG(G.mQ),r.LFG(a.yh))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();var Mi=i(5001);let Ei=(()=>{class t{constructor(){this.serviceInfo={},this.direction=Lt.hc.SWAP_OUT,this.swapTypeEnum=Lt.hc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-service-info"]],inputs:{serviceInfo:"serviceInfo",direction:"direction"},decls:33,vars:13,consts:[["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"]],template:function(t,e){1&t&&(r.TgZ(0,"mat-expansion-panel",0),r.TgZ(1,"mat-expansion-panel-header"),r.TgZ(2,"mat-panel-title"),r.TgZ(3,"span",1),r._uU(4,"Service Information"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(5,"div",2),r.TgZ(6,"div",3),r.TgZ(7,"div",4),r.TgZ(8,"h4",5),r._uU(9,"Minimum Amount (Sats)"),r.qZA(),r.TgZ(10,"span",6),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.TgZ(13,"div",4),r.TgZ(14,"h4",5),r._uU(15,"Maximum Amount (Sats)"),r.qZA(),r.TgZ(16,"span",6),r._uU(17),r.ALo(18,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(19,"mat-divider",7),r.TgZ(20,"div",3),r.TgZ(21,"div",4),r.TgZ(22,"h4",5),r._uU(23,"Fee Percentage"),r.qZA(),r.TgZ(24,"span",6),r._uU(25),r.ALo(26,"number"),r.qZA(),r.qZA(),r.TgZ(27,"div",4),r.TgZ(28,"h4",5),r._uU(29,"Miner Fee (Sats)"),r.qZA(),r.TgZ(30,"span",6),r._uU(31),r.ALo(32,"number"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.Q6J("expanded",!0),r.xp6(11),r.Oqu(r.lcZ(12,5,null==e.serviceInfo||null==e.serviceInfo.limits?null:e.serviceInfo.limits.minimal)),r.xp6(6),r.Oqu(r.lcZ(18,7,null==e.serviceInfo||null==e.serviceInfo.limits?null:e.serviceInfo.limits.maximal)),r.xp6(8),r.Oqu(r.lcZ(26,9,null==e.serviceInfo||null==e.serviceInfo.fees?null:e.serviceInfo.fees.percentage)),r.xp6(6),r.Oqu(r.lcZ(32,11,e.direction===e.swapTypeEnum.SWAP_OUT?null==e.serviceInfo||null==e.serviceInfo.fees||null==e.serviceInfo.fees.miner?null:e.serviceInfo.fees.miner.reverse:null==e.serviceInfo||null==e.serviceInfo.fees||null==e.serviceInfo.fees.miner?null:e.serviceInfo.fees.miner.normal)))},directives:[Mi.ib,Z.yH,Mi.yz,Mi.yK,Z.Wh,Z.xw,Ot.d],pipes:[U.JJ],styles:[""]}),t})();var Ti=i(3691);function Li(t,e){1&t&&r.GkF(0)}function Ii(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"span",5),r._uU(2),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu("Error: "+(t.swapStatus.error&&t.swapStatus.error.message?t.swapStatus.error.message:"Unknown"))}}function Oi(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"div",6),r.TgZ(2,"div",7),r.TgZ(3,"h4",8),r._uU(4,"ID"),r.qZA(),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.TgZ(7,"div",7),r.TgZ(8,"h4",8),r._uU(9,"Routing Fee (mSats)"),r.qZA(),r.TgZ(10,"span",5),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(13,"mat-divider",9),r.TgZ(14,"div",6),r.TgZ(15,"div",7),r.TgZ(16,"h4",8),r._uU(17,"Claim Transaction ID"),r.qZA(),r.TgZ(18,"span",5),r._uU(19),r.qZA(),r.qZA(),r.TgZ(20,"div",7),r.TgZ(21,"h4",8),r._uU(22,"Lockup Address"),r.qZA(),r.TgZ(23,"span",5),r._uU(24),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(6),r.Oqu(null==t.swapStatus?null:t.swapStatus.id),r.xp6(5),r.Oqu(r.lcZ(12,4,null==t.swapStatus?null:t.swapStatus.routingFeeMilliSat)),r.xp6(8),r.Oqu(null==t.swapStatus?null:t.swapStatus.claimTransactionId),r.xp6(5),r.Oqu(null==t.swapStatus?null:t.swapStatus.lockupAddress)}}function Di(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"div",6),r.TgZ(2,"div",7),r.TgZ(3,"h4",8),r._uU(4,"ID"),r.qZA(),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.TgZ(7,"div",7),r.TgZ(8,"h4",8),r._uU(9,"Expected Amount (Sats)"),r.qZA(),r.TgZ(10,"span",5),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(13,"mat-divider",9),r.TgZ(14,"div",6),r.TgZ(15,"div",10),r.TgZ(16,"h4",8),r._uU(17,"Address"),r.qZA(),r.TgZ(18,"span",5),r._uU(19),r.qZA(),r.qZA(),r.qZA(),r._UZ(20,"mat-divider",9),r.TgZ(21,"div",6),r.TgZ(22,"div",10),r.TgZ(23,"h4",8),r._uU(24,"BIP 21"),r.qZA(),r.TgZ(25,"span",5),r._uU(26),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(6),r.Oqu(null==t.swapStatus?null:t.swapStatus.id),r.xp6(5),r.Oqu(r.lcZ(12,4,null==t.swapStatus?null:t.swapStatus.expectedAmount)),r.xp6(8),r.Oqu(null==t.swapStatus?null:t.swapStatus.address),r.xp6(7),r.Oqu(null==t.swapStatus?null:t.swapStatus.bip21)}}let Ri=(()=>{class t{constructor(){this.swapStatus=null,this.direction=Lt.hc.SWAP_OUT,this.swapTypeEnum=Lt.hc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swap-status"]],inputs:{swapStatus:"swapStatus",direction:"direction"},decls:7,vars:1,consts:[[4,"ngTemplateOutlet"],["swapFailedBlock",""],["swapOutBlock",""],["swapInBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","100"]],template:function(t,e){if(1&t&&(r.YNc(0,Li,1,0,"ng-container",0),r.YNc(1,Ii,3,1,"ng-template",null,1,r.W1O),r.YNc(3,Oi,25,6,"ng-template",null,2,r.W1O),r.YNc(5,Di,27,6,"ng-template",null,3,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6);r.Q6J("ngTemplateOutlet",e.swapStatus.error?t:e.direction===e.swapTypeEnum.SWAP_OUT?i:n)}},directives:[U.tP,Z.xw,Z.yH,Z.Wh,Ot.d],pipes:[U.JJ],styles:[""]}),t})();var Pi=i(194);function Zi(t,e){1&t&&r.GkF(0)}const Fi=function(t,e){return{"small-svg":t,"large-svg":e}};function Ni(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",8),r._UZ(3,"path",9),r._UZ(4,"path",10),r._UZ(5,"path",11),r._UZ(6,"path",12),r._UZ(7,"path",13),r._UZ(8,"path",14),r._UZ(9,"path",15),r._UZ(10,"path",16),r._UZ(11,"path",17),r.qZA(),r.kcU(),r.TgZ(12,"div",18),r.TgZ(13,"mat-card-title"),r._uU(14,"Boltz Reverse Submarine Swap explained."),r.qZA(),r.qZA(),r.TgZ(15,"div",19),r.TgZ(16,"mat-card-subtitle",20),r._uU(17," Boltz is a privacy-first account free exchange and a Lightning Service Provider. By doing a Reverse Submarine Swap on Boltz, you can swap your Lightning Bitcoin for on-chain Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Bi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",21),r.TgZ(2,"g",22),r._UZ(3,"path",23),r._UZ(4,"path",24),r._UZ(5,"path",25),r._UZ(6,"path",26),r._UZ(7,"path",27),r._UZ(8,"path",28),r.qZA(),r._UZ(9,"path",29),r.TgZ(10,"defs"),r.TgZ(11,"clipPath",30),r._UZ(12,"rect",31),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 1: Deciding to Reverse Submarine Swap"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," You have one or more channels that are running low on inbound capacity or you want to move some of your Lightning Bitcoin to your onchain wallet. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Ui(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",32),r._UZ(2,"path",33),r._UZ(3,"path",34),r._UZ(4,"path",35),r._UZ(5,"path",36),r._UZ(6,"path",37),r._UZ(7,"circle",38),r._UZ(8,"rect",39),r.TgZ(9,"defs"),r.TgZ(10,"pattern",40),r._UZ(11,"use",41),r.qZA(),r._UZ(12,"image",42),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 2: Paying the Lightning Invoice"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," Your Boltz client generates a secret which is sent to Boltz. In return Boltz sends a Lightning invoice based on that secret. Your Lightning node pays that invoice which moves some of your local balance to the other side of the channel. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function qi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",43),r.TgZ(2,"g",22),r._UZ(3,"path",44),r._UZ(4,"path",45),r._UZ(5,"path",46),r._UZ(6,"path",47),r._UZ(7,"path",48),r.qZA(),r.TgZ(8,"defs"),r.TgZ(9,"clipPath",30),r._UZ(10,"rect",49),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(11,"div",18),r.TgZ(12,"mat-card-title"),r._uU(13,"Step 3: Receiving the funds on-chain"),r.qZA(),r.qZA(),r.TgZ(14,"div",19),r.TgZ(15,"mat-card-subtitle",20),r._uU(16," In return for paying the invoice, Boltz locks on-chain BTC. Your node claims that onchain BTC to your wallet and by doing that, reveals the secret. With that secret Boltz can settle the Lightning invoice paid by your node. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function zi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",50),r._UZ(2,"path",51),r._UZ(3,"path",52),r._UZ(4,"path",53),r._UZ(5,"path",54),r._UZ(6,"path",55),r.qZA(),r.kcU(),r.TgZ(7,"div",18),r.TgZ(8,"mat-card-title"),r._uU(9,"Done!"),r.qZA(),r.qZA(),r.TgZ(10,"div",19),r.TgZ(11,"mat-card-subtitle",20),r._uU(12," You have now successfully received your funds in your on-chain wallet and also spent your local balance to increase the inbound capacity of your node - all in a non-custodial manner. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let Hi=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new r.vpe,this.screenSize="",this.screenSizeEnum=Lt.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swapout-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","368","height","368","viewBox","0 0 368 368","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M306.667 153.333H276L260.667 184L233.797 153.763C229.441 148.861 224.595 144.24 218.529 141.746C212.54 139.284 206.099 138 199.561 138H92C41.19 138 1.52588e-05 179.19 1.52588e-05 230C1.52588e-05 280.81 41.19 322 92 322H199.561C206.099 322 212.54 320.715 218.529 318.254C224.595 315.761 229.441 311.139 233.797 306.237L260.667 276L276 306.667H306.667L291.333 260.667L306.667 230L291.333 199.333L306.667 153.333Z",1,"fill-color-0"],["d","M337.333 122.667H306.667L291.333 153.333L264.464 123.097C260.107 118.194 255.261 113.573 249.195 111.079C243.206 108.618 236.766 107.333 230.228 107.333H122.667C71.8566 107.333 30.6667 148.523 30.6667 199.333C30.6667 250.143 71.8566 291.333 122.667 291.333H230.228C236.766 291.333 243.206 290.048 249.195 287.587C255.261 285.094 260.107 280.473 264.464 275.571L291.333 245.333L306.667 276H337.333L322 230L337.333 199.333L322 168.667L337.333 122.667Z",1,"stroke-color-thicker"],["d","M214.667 245.333C206.198 245.333 199.333 238.468 199.333 230C199.333 221.532 206.198 214.667 214.667 214.667C223.135 214.667 230 221.532 230 230C230 238.468 223.135 245.333 214.667 245.333Z",1,"fill-color-15"],["d","M245.333 214.667C236.865 214.667 230 207.802 230 199.333C230 190.865 236.865 184 245.333 184C253.802 184 260.667 190.865 260.667 199.333C260.667 207.802 253.802 214.667 245.333 214.667Z",1,"stroke-color-thicker"],["d","M138 245.333C129.532 245.333 122.667 238.468 122.667 230C122.667 221.532 129.532 214.667 138 214.667C146.468 214.667 153.333 221.532 153.333 230C153.333 238.468 146.468 245.333 138 245.333Z",1,"fill-color-15"],["d","M168.667 214.667C160.198 214.667 153.333 207.802 153.333 199.333C153.333 190.865 160.198 184 168.667 184C177.135 184 184 190.865 184 199.333C184 207.802 177.135 214.667 168.667 214.667Z",1,"stroke-color-thicker"],["d","M61.3334 245.333C52.865 245.333 46 238.468 46 230C46 221.532 52.865 214.667 61.3334 214.667C69.8017 214.667 76.6667 221.532 76.6667 230C76.6667 238.468 69.8017 245.333 61.3334 245.333Z",1,"fill-color-15"],["d","M92 214.667C83.5316 214.667 76.6666 207.802 76.6666 199.333C76.6666 190.865 83.5316 184 92 184C100.468 184 107.333 190.865 107.333 199.333C107.333 207.802 100.468 214.667 92 214.667Z",1,"stroke-color-thicker"],["d","M239.077 111C241.796 111 244 113.204 244 115.923V126.077C244 128.796 241.796 131 239.077 131H191.923C189.204 131 187 128.796 187 126.077V115.923C187 113.204 189.204 111 191.923 111H239.077Z",1,"fill-color-15"],["d","M184 76.6666V107.333H122.667V76.6666H184Z",1,"stroke-color-thicker"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","383","height","279","viewBox","0 0 383 279","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M267.882 220.417V104.583C267.882 98.2125 263.809 93 258.832 93H114.029C109.051 93 104.978 98.2125 104.978 104.583V220.417C104.978 226.787 109.051 232 114.029 232H258.832C263.809 232 267.882 226.787 267.882 220.417Z",1,"fill-color-0"],["d","M357.75 197.625V81.375C357.75 74.9812 352.069 69.75 345.125 69.75H143.125C136.181 69.75 130.5 74.9812 130.5 81.375V197.625C130.5 204.019 136.181 209.25 143.125 209.25H345.125C352.069 209.25 357.75 204.019 357.75 197.625Z",1,"stroke-color-thin"],["d","M86.3125 186H105.25V139.5H86.3125C82.7775 139.5 80 142.057 80 145.312V180.188C80 183.443 82.7775 186 86.3125 186Z",1,"fill-color-15"],["d","M111.562 162.75H130.5V116.25H111.562C108.027 116.25 105.25 118.807 105.25 122.062V156.938C105.25 160.193 108.027 162.75 111.562 162.75Z",1,"stroke-color-thin"],["d","M205.979 116V150.875",1,"stroke-color-thin"],["d","M205.979 185.634V185.749",1,"stroke-color-thin"],["d","M2.44963 159.45C0.488815 161.41 0.488815 164.59 2.44963 166.55L34.403 198.504C36.3638 200.465 39.5429 200.465 41.5037 198.504C43.4645 196.543 43.4645 193.364 41.5037 191.403L13.1007 163L41.5037 134.597C43.4645 132.636 43.4645 129.457 41.5037 127.496C39.5429 125.535 36.3638 125.535 34.403 127.496L2.44963 159.45ZM65 157.979H6V168.021H65V157.979Z",1,"fill-color-15"],["id","clip0"],["width","303","height","279","transform","matrix(-1 0 0 1 383 0)",1,"fill-color-30"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["d","M138.762 67C136.099 73.913 133.436 81.3578 130.24 88.8025C130.24 88.8025 130.24 89.8661 131.305 89.8661H153.143C153.143 89.8661 153.143 90.3979 153.676 90.9296L121.718 126.558C121.185 126.026 121.185 125.495 121.185 124.963L132.371 101.033V98.9062H110V96.7791L137.164 67H138.762Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","317","y","81","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAACTCAYAAADFh8BYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACHKADAAQAAAABAAAAkwAAAABS37hiAABAAElEQVR4Aex9CaAkVXV2VfebfWWG1QWQRYddNgmCO6CiIGrAKC6gUWOIUROz/CYm+OdP/P9f82viEmNUcCFRUVFQlMUIgpIoCgwO2ww7IjLMMMub5b3XXfWf75z7Vd2urn69vK5+/d7Ufa/qnDr33HPPdm/drqquDoNdvMTxhSPBE5vODuL6BUEcHiDumBcE8Y+DYORT4V4fu3YXd09pfumB0gOlB0oPlB7oiwfCvkiZoULiDe9eGtSCH8RxfCJMCOUvlj/AIAyjoBL/abjHJz4+Q80r1S49UHqg9EDpgdIDQ+OBXXbBEW/8i2XB+ParZYHxHDohlrAAB0QJw2AiCOccGu75sXVGKfelB0oPlB4oPVB6oPRALx6o9NJopreJ469Xg4ltX8NiA8sLLDD8xQYWHbrwiOM5QVC7YKbbW+pfeqD0QOmB0gOlB6bbAyPTrcC09P/bH39EbqO8NF1mRKoGbqbYAgRQCkAU47mOspQeKD1QeqD0QOmB0gNT8MAud4UjfvyCt8Rx9D5dbMg9kwT6OK95xHrtY/EU/Fs2LT1QeqD0QOmB0gOlB8QDu9SCI37sghPievyvSeR1QSFHgD7uGPRmSxj8POEvkdIDpQdKD5QeKD1QeqAnD+wyt1TiJ9731Hhi52WytJinFzDy3OUueOitFNTjAkcU3ZDHWtJKD5QeKD3QLw/Ej55/TL0e7tcveamcmqCY5gGDoFqdf0P4lM8+oQflrvTAgD2wSyw45F0b84PHHr9MntvYJ5RbJ/aYqHgat1FwZUNvp7gHRYWEdQdKWAk3BXvt+UM7KvelB0oPlB4oxgMT9VjeAxS9FXMTv56vPeFDDz8IAW2cspLpixdos/XWGIsNm9XiaOeL5eBHspWl9MDAPbBLLDii3zz2OfHs8fCuLDpSJxN3kDUpjP+9Gl64M21QYqUHSg+UHijAA3Gkc5N+IBIcEAVzkbfeUJq/c2z8zJSzAJEljAgJQ85qfusSLz0wWA/M+gVH/Ngf/GW9Hp8Lt+av/jmkwUHcBmclnnMRqGUpPVB6oPRAoR6QVYVe2ZDVgS06bA5Cn/xcZP1z+eEWJBl+tk0WLNl6d6WjUFtK4aUHWnhgVi844t+883T5sPD3/BQAH/i4fFvFDW77WqwNVqMJfke4zydvbuG3klx6oPRA6YH+eUDWF7z6Sgjh7RYQ4PH5iRNm24O/LKUHpssDs/ZbKvGj71glnxX+I4qj1EZ+VAD0ced9DlLAOIi+MF1BKfstPVB6YNfzgLtmwactxAG4HYIrHQZ9HDRsfhvDcaUkLfhQhQJIPK0tsdIDg/VAejIebL+F9hY/+d7lcRxeHkX1pRh8HGxYRigO6AYrIQcpoFwFqVeqI5cUqmQpvPRA6YHSA4kHbE7CIbC0ELcFhtFJw9xmuH5I8hYnkGKbzoCC68yWii2x0gPT4IFZd0sFry2v/+bar8lgOxj+bBi8GIMcf6jDg1T45wNVimuj74d7fvoxwcrSgwfih9940EQU/lleU/mcJS9/CQNAFOKARRR8vsOq2j7npThX2j3rE8by6H+4Qz447qxUgh0y4T8hv/b368pI8Os54fyHy68eFhHNXVAmhok3ZyV4h8MFCxF7ds3GmwnbBf1YmjwUHph1C47oNz/8R3l3xmnwbu5YFWIyVjkGCW1kBtVK9aKhiM4MVaIWB/vIQu8deerb3MlLwRKjzHM0CEXD/CoxsUkziVqDWNYBorAtubP3sPP5PX2kYSiyYiegiZ/6JD3JzTcwY2IP6kFcC4PxeFsw/uCbHpeF7K2ShLdVK+F/VaPFPwr3+5cnG5QvD0oP0AO6IraPR0i9dErKyX+Xm2iKFv7XaN1nKMlhE4z819wELEvpgWn2wKxacNQeeft5UVR7j/68vDhWx5gMPH+sNQw7DEoQ3ODEya8ShhuCffb57jTHZeZ37xYAGRc32WXzoUyaLjCMD6Gd8DFnWpAYLtarQFfXJFwI2t7BpN7jt/7THMntT/iT/og7GWqf4C6FbLGCjuJoTyGeJvTT5FtSQT3cUh974I03i6Dvz60El4RP/8q6RJ8SKT2AS26SLMwzwtx8FFbWq+NcLuY5MTf/8xhLWumBAXhg1iw44kfeeWI9qH/GX+0nZwF3NsAgBcrBqrjsXLW6Wz5oXCLv3hgfgO/LLsQDmBAREYNwSWOU9EhY0phlPtGhrfxxkWnS/JhaLSnMD/Ij+CobDbUIopc3SGjUh32lSwxKZvtGflLFzKpwniD9nTBWDy4ce+Dcm8KwctGcfatfDsOLy3e90FG7KIwj3NxDzjXmjx4JGRAlm3/ZfPYl+C2yWWp15b70wGA9wFvZg+21z73FG37/aVFY+5YMxnkNA4srf0DZ9KTmoL/yx2DmgB4JRi7us3q7pDhMjPiz5YBB4IgDIXAthDggDigb/ggVBwtorUqmvbKRJgdsC6h/rg/kAxc9hGgLHkIfV6LsmDfMIfAABzQ8hbRbfRLHJ8pDzZ8de3Di/rEHz/3zeP1bl1BmCXdhDzBXAV1uEiKTUAhzvZRpbw388YK3jpal9MD0eGDGLzji+H0Lajvib0dRvLcORR1wGGCy6XV6B5Nr9jxFpAPXTgloE94ePvUzt0xPKGZnrzx5Jyd0cb/S3BlaoyE7d6gIaQ1n8xbuwW0wFP32keISTQc1B6xW9z3tMhO46iY06qtZg/7dhj6As7S3P95beP7PxLaxdeMPveE8wbULti/hruEB5hMSSxMgIYj9Ssj3Q+H5n99tSS090JMHZvyCo/7o5s/LGeZYWN80ucuJR2k4AelJCEx2gsrjr5Tv3oBbBlqyMcOxv8mBi6Gcxj2cPFCWMlRxf2HpP6AhbdG+adOn7IQO6OPk9WUIrn05SB182KSPKtV6R93lfTF7RvX4op0PnnvD2P2vX9W6RVkzGz0gjx5rbvm5pLnh5Txy16cxdwjVL8hXFEBsyGNC4OUFDvNPuZ8WD8zoZzgmHnnrB+Iofr0MIy0YajIkGz4QuOGn9awDRPH55WnuWmVk7r9rRbnrgwfMx00+F7LSGDT0hInQFcaLEEHSJ+4dgXRChFLnWIqgLELI9XF21ClkW8K28hJFtIeu7Y/jk8Tmn8szHu+ct/8lZT52GqdZwse8Jpz2/J9mv8oPb86dePjeI+WL7cfJkuy4MIqPkxl+N3m4/6Nz97vkE9OsXtl9lx6YsQuO2iPnv1Im878zeznJY5gCt+GKlT+/Fgk+4vpVMRCkJAM7Dr4b7v2Zx41a7qfqAX7q0ofaEAfGROLDB93QB/FW9RpOMDLEwLPFq2snrzFDbC2iNCdD20+ib7brqcrL01ceWl0s32u5ZOcDb3juvP2e+cdheGF6WS6rQHk8qzxgC1R9ysfsYm4T5lnr1eXlE2nWNJnx8iRNKw3vUBp/5LLDwnrluCiMj5c55LixB+46UsybS8XMVHgpWEZaCWeOB2bkgiP+zfmH1iaiS+TUJbeEkIJuEOklcRxaWloYUtzud+KyOOfv9HQRVoOLjb/c98MDnNZs0YcTu8XBru5iIWi9NF0BEDJpnejB6HtRds1SiuVIvjTqSZjVF6mlujsGAPZJiWyLY+KEWXld2R9HF4w/ePfKOH7Hm8PwsxPsr4Sz0wPMe8JOrGQuptlOjBBSfLwTqcXzyJWLyvgDdz8zrITHy92k4+phdNzYg986WlRdEMn7bDCFcwwRFq9V2UPRHphxC45407t2m9i6/TvimKXpQLIB5c5p3hV0d889Sd2sO62dnATWV58y58psbXncuwe4wMDKwk7Y3rSRg5JkJ2jGLad/O2PLbORaSNBj0oSd32jlo5f8dAeIgogDs8gDEcxrn70KppO/1AOiaI6JAOZa0tbTJ6GhAdqyDxyjONV9lKSs/XL8e2MPbFkon/5eE4bn1LV9uZuVHtC8lFxhDuYayVz18q2b/J+uRzh2PvSWA8OgJrdEouPltTTHyWLjGBlTS+SWuJrJz4jZ/G/ygbPfv0rdxFMShtYDM2rBgUtuEw999+syIg+CR/VkILM3TwbZkws4rPBkYZ+s9QQgFRzYMtC/Un6CdK7qC5BpLT2DGu7O0I0RyelM2ml8kvYIlGyuIdGkWhClJYRG/uzr67M5ArHaXmBPhSsPQhUmUhN9HD4F+yW/zxy7/5v/LPpd0JOOZaPh94DkB/OeUJXOJChzNUkvQZSWEKSVEszkbP4PYsKXH85cOD6++WVRGB4X1oPj5LcFjotrO3eDKSy8xszjBIrundif8JfIjPLAIPKvbw6pP/Ldj8kq4ZTk7KODUXbM5MwtFczx/EBAJTSZeeDgSDjn4gypPJyqB5KYiCDgLSbEpm7YjhCNedkCopSOyZktudx0BAY8+QTo+nbV+DYAlDEIGbgCYTQcEfdvu7EN6pPJvJU91IsQfMBb8UOmX9iO0NkvVv7hzvted9f8A75WPijn+2u24Yw7YZ/zvxYWf41jorbtMHmP2TeR+Dp00+GVjoXEvkwASSdsYX8QcUBl2peHQ+2BGfO12PGH3vzWehS/GycCLBq4cCCEl4m3quc5CNDOSxGucvwyfPrnVg91lGagclgG4E+CkkDgWgjlQHkcNNzxoy02DZqDPs56E6h7Q70+0I+e8B3kHEWYtmqJNenXZI/IVnvQb6q7YVanMsCjfGADr5Um+Z4MyGu0P/jo2MPnHsG2JZw9HojwtVjEe9L4azKnOaH88EGaT0luMd/y8r9wt9WcFaKX6NG//Pftb3mNpHDryg5698CMWHBM/Pr858oPav0LzGw8V3Cg2UA1N5CGcWk4IDYsRAi5OJGnky7q3X1lyzwP4DMU4uSmhwRaNGxatUlS4qECDOby64QlTG4C1biB5jY0T2Kpshp3eGU0ir46Wl8f7XDQrCaBoJh2BrE3nVL90MR01saurcmCPN8GH0ddXn8mK5Xvy1B+z36xc259fOJieeBuRl2ZNE+V+8k8gIk4N1+8+GMMTDX/J9Ohn3WwJdceN8I4YrrJf9/+crnRz2gNTtbQLzjiX5//9Hhi4luRTLZ6QpBBx2RFAioOqDgOdZpWD/JEBJi3SbKPzwmD/1Dmctc3D/hnQ5tQbPLRCUhiQagxwQSE+Lg/rRMc0MeTernKARzP3yTP4IDmYgwjgLOAB4X8yBejudzR2pRfDyfZUTb7Ux2dTdaT6U0RPs3nZXu1qyv7g2N2PHjHeyi/hLPDAziBal57UPMF+epozHvC3vJ/sP7qf/7b+B/6E9dg3TxjehvquMUPv2/BRG3i23I62CvXo9lslsGpoxNQN7TyTybErV72V4RP+9KGXNklsWcP1OQSR3JCdQsBHkMo8NaFdRYjC5/gyaHheqJ2sQWeFuLWwPoSDqeHTt6CA/o46yFK21hzE0uROMrknPIKje3bQYjQNkByCztzCuih7JJDQerBX8aPn704t3lJnOEe0ICLDUnADU8OBdF/GwEwtpv8B3/hRb7A3WocoO8p57/YX17hKDyKhXQw1AuOiejxi+TKxjE6wjCs9ESVnjyyyctEbpXs/gnG4RcV4tVSqJ2Yxcl6gcFB4NkNk6fyCNSJFDHGv1sgZGOMuKEAGm6LhzRHUIscgQyTTYh+iLNeuYWPRXWRA+qJZ4asHZ4dElzqCPP6N6XQMYSYHELK9GFv9se7j28P/5g6l3CWeEBzFjvkGOc7w2mh5VySXkLuLv8pp3BYaP4H8sWXssxEDwxt3MYeOvev5Cvar8OAkvGnG3IYuMvlZOK3B0ndvXr9xoGFonlwWltX+9i8/Q66yvBy33cPuDO6LgLd5MlJ1IcaX/C6KPN2R6tbICpPeCkDehuNFkAWisls5udEnvZJXsBm/kb57AvQx61PdOv6BySPg2zjQ79P4J3aX69H7ymf5Ui8PgsQu6nSafyZQzCceWhOcPnXMv8H5KqC8x8P2ZZl5nlgKBcctYfeeKY8JCqvLc+u3u0k0fFg46ATmP2Th0W/LK+MLv47YjMvJ6ZVY06erWM8repJ540TumlD2tR168L+PcfuX3P61HssJQyTB7qI/zCp3TdddnX7++bIIRU0dAuOsQffclg9ir4it1L0AgUWCmkhDujjKUcDhlU2ilttN8Bg5ItWWe6L8ECrBUO7CaW5nlcSGPMshPbMBYTa8LT/ydsbv/H4uMnM9sV+CJs919x/qpNq2qRfu/rW+ssYOa9Zg5Iykz3QnD+t4285CmvTfGzffjDegR6+LuzVp/l463rKyY5FtijhTPLAUC044offtiKOJy6XRFyCMYRbJYSKi2cJ4WQ/YRVnkmNSx4YlC6F3f0W+3/Czeft9cQ1klKUID9S82152lQrxwWbPQxgELgFSGqCP8zkHcBgfsObSlAPCQlozd/cUpA8KoI8bVWsc6vTXI7PZ0s/wIuwXv7w8jt89L9WlxGa2B9KxMCz536s/kftF53+vupXtps8D/jcYp08L6Rn3o8cevPtSQQ7gkxZ6PpI6QijYiGOSt5dVo86ODOJYCR60AYAHjsKLQS5LgR5wgdJXoQjuXomiHfoxtEWIfa21F200+ljIMDM0yCKJnaAOs7dbLWRzBHXUAf0TB0RpV69M3i7LX6T9ouP8nQ/85kTp/jpPhRKdgR6I8JsiLue6Ub/b/A+C4u8i41cGMeRQisp/ueVuHZT7GeWBoVlwjD14z8fl5Uwv1kz1HvxMVw2WxHZCMB8Tb3VyyEYCfJUwHJtTCb6arSuP++0BmxCw5xpAe+A84aDWSVzc/NS0aGRb1ifChCAn97rE9F91cvMnoITZdQ6pjsYqQsyIirsVEfGkXtpCvkxwc+VHslbIBL+b4PuKxAPzPdZoII4gi9QEcQSt69F+7T+WMVMuONQVM3mHS81IiWy+MHcAtWQJyB1LIq3GMPAOHZ6OLydlAMASPGtP3/J/qK7ND8Cds6SLoVhw7Hjg9b8fx/ULbOZ3IwYObsrWyb0uF+2VgbCpvYxEuUnz7XC/f39yckll7VQ94J//fbw5qE0zqHRNmnFDF4ushxhhYuGB35qWHzSL7z977x1x/WR51Oj8MIjk1oZO+8mHVN9mH++z/dJf+Bz4pyyzxQONkx7znjAZCAlB7PZwveIhBF7xw1xIGjxEetHe8nPex/uV/2H5WypFh7AQ+dO+4Jh48PUny0Oin9Ixg8zEvJ1kKHGcgGSxoO9BkOndXQEBVR6c09OTMigGScZvNG8P3rBysUcp0cI84GZBhsMdWojkwIWIi0NCqOPjWfU4eQIOavLM6oDj8BmXPibgG9jG1r3u8CisfVqutjwvO8HryQC2FmC/SIUfn6mw3M1oD/hf8+w0/2FwNt/YlhB5x1+MHZSD5khHE0x45H0B+T8oW8p++uuBab0wFT/65n0narVvykQ9N1lkJIsNGMpZGpALC4NcUhAqt2uLWyfYdDg6qLLC8NF5+7/6GvCWpWAPmPvTyQaBYrAI81RoDLmETQgqCxDTaAqTSTVPzgBp8w762q/mH3AEbm18QtWznekNW6F/QfZLnu8Xx2fLa//LMis8gFxBAdRNdglszn+d64RBoRsrwJP2efmnHRS3m5DlxqT992H8F6d9KblID0zbgiN+9B0Lx8Z2fkeM25MG6kCRAw6eLAQfeXycfPqWfRlsgNhQCPUgir4UhufUFS93xXqAJ1hMfjrpYRK0iZGQcfMheDXGbA8tgQ95wTtdFh70rT+W50q+1qB/8fZXxu6L9hty95TqtfMAvpDncoUwyftJ8h8PKaMAYsOShBC4jjUHgQ+scPwWn/8DM6nsaOoemLZbKmM7N10st0OebXdQ0oGgg83ZZXUYTEawwSRjCAPIFR8njRBfodXB527ByAOjF7OuhAV7gJMbYsdJR9C8p9Z9TRB/a5LG2J8o8XQ6aob1KfUFixe9bcfW0ZPEjqepXQXbD1/Uw2CZ78OZiss31So7fr36KSPj8cpaVF1UqdQX1aPKokoYLZKoy53UyrZKpbItrkTbqlF129xKsN7d2pqpJjfozbwnTCo5loSQzX8dC0LnaGFbQJRs/QC+pOI6dhqZQqK4kfs1/stfUzF/zrT9tCw4xu4754PyyxRn5wyHBv9xnBGikgMrYfQI5CNUfncgC4+b5h9w6d1JuxIp1APJQpDxSeYf+RQmMeHzF+ADTn7irNeJCm3dhKVt8UlO40rhhZrSlfBw7y9v237vWR+V0+PHtSFVLMR+U60S1WfUD7lJ7MLxB1+zKqoFJ8s8cKRYcYDE/8Dt627ZXwI9b1xzIg7quBYZ1oMIb7FG/MMoqEd1OemGwURcDyaEvm3dq7ZLBt0nGXGfpMS91aB6SzCneuOC/S+9X1rMoIIRkI6FzvLfzGOK2ZGe4QW1AaMf1oSBH9oG5RCOZzHJioM6vvsw/pESZZl5Hhj4gmPs/nPOiuL6h/R8If6yEwcd1zhYSE0hspY8oBK3wdW8gPHrw4tSOSVWrAcmJDIWk8YFgkQIH3Hwn3wN1RYbCb836UJHx65QdUYKqAA9GsrdgiVzPr9jc+0jMunOKdp+nEiiOBz6BceO+16zX1yPXytxf/62ta8+WQK6EsHTE5CLOY79k67WW7pMFv+FMokcLoIOR8bV5S+cqAfb1r7qUfni0I3ybYYfLawE3woPuuxxyBveYiOgW/sRf8ylXFBYe/Oj2srFGs/QHd5E37b2LDyPdHpWftZ/GI7wuw5LxWU8R/V5yXjG4kKEcJ7v1/iX/v5k2z1nnZ/VL6uPKtaooCkLmuqbHoqm/2/RwZd9ymo63+9Yd9YH5TUq56FFUz5n7E+clfTfZv4TmbQJ8hlrQJR+2g957eSDxy/UzamTb381+OeFB377n9BuoAuOsYded3h9vP5l1crXOsGptsF845HA1sAmczjJ+M35ab15TwfEjvlx/PWkmxIp3AOY+FA0JoI3xsybgBwf+cGob5N1DRozAgJtAOrAdXmgHQ3RLtzz0tFt6866WfLyxELtF5t1DFT1GsAQecBUGZWvDlfqE2dLDF8vJ6HfERjKlR8JcZ/i7+y3nHGZQtlh+BRxzjlygjtnexB+cnTtWf8ZVsKvLqzE3wqf8e1NQ+csGQfMe0LoOGn+T26/mcgxQmjUTvZ7ie/kypMUjjngOZOyzr/JeG3UuLD8D4LdRL/d2LdC1dXlltNH5wmlY+dKxhfUuBIGu5GlG1iP4t2lnwPQhvMYIdSQq3iTzH/WE3Xoav5Dfy4e/bBf9Xe+sR8WcfnXQ/x9++WJhhVm5QAXHPEjb165c2z75TLlLOYoglJcEUIhTkSAVhAG4AwH8U7rnZggviw88BubeVTCAXjALQIZOUL0nAyOTtTITnCdtBkCHrH3Z2LoibSbEKr12/5KUNkyBCYnKoze9+qjglr0l2Ft/Gx5TquqNie1/bdfHOpJz6BSJ7VV4TlV7sKcKvdfPiW3YS6uzhn5yPz9vnlfhnv4DjvJ/zb269mOPGGnbxqVSyLiuOycDE9zFlZnUS5hxoOMDCGq+53/7eLfaD8UkM2dQlRtwQEjd9UVOnZdZoH9tNmPVT/in57P8ZbvARS8tnzHztFL5amvZ2D1jinAFhuIPRYdLonxkKfgyuMe9NTVvtORiQqIzXj99ilNebC2NL6LBmBm2UWeBxAkFAY5C1mnTBZ7oK1yQOWwDWW7tsME5OE+u4RPHbN285i2OOWZ753aj/FTCYdjwbHj3lefvG3tmVcGtfqtEsHfk7FXbYoX7Sbsg/3oA37AnyROAoFr/4TgiwK52Bn/QX28ds/oPWf++9h9r8UzJENTeol/N/Z3ZSj85XwH6OPqV8QQhdCOGvesA8zbwE0eQQu3H2dT9AeIDYXQjrrfT3YWpW15tvt1rtdpt9/XSXA/5j6exBJ6s02e5zJ1A7mlsuO+1bh/8yJE1r+iwTgTQl+dNBLFWUMI7YGbFeaA9PIsyBgfqQO0t4fnHXDkfwbBNxOpJTIID1jMONdrXHK61QhJJSCKroalKVfFiDFX2VovdRpiE69thnMXy9tsMUlbOhZpfxTWp/UKx7aHznxKPBZ8rFavndM4Qm08Kq1FvPoS/1bOlcTQ/JHc0rmCiSK6SGRw5eX1ovPrtq494zOLR6p/NQy3WnrK/y7sryVXj+mMfKiPfIhcxs5Gp/DqtXY40CiYr/EQL+dt5Rc28kM1pQ1Z/Gm15h9sSDRmTRdQLwaZgTPd/ux4YewYz57i7105mmxt1oXHW7PKvex3iBF/iISEMQlEJuLfQeBaCPNEuqse+Jiim3pDcEDFPQg5wiep9EV5R4KOnzyRJa1YDzBRGaIsRD5Y6Cw3JCGEoomB5LBpwEHjS0M9WaoUa1V76TKvLwQXdEbJ2s3jqdoPOfNrizZqJwPeyQvHqqNrz3hvtCO4S8bxOXndD8J+5AH9KUnjfK4TgFMpzZSsPvKJsiLz4R9uq0V37Vh75hvzbBgELdY7/aJnl/kPe7qxf6qfMHW+Rp/QUzYUQj3I7LL+ZpwI+5H/3dif1QfeM5rZklG/w8PWp5dsf7SbcLjspw8Im81nrLuNPyUVuuCQJ9OfL6vfT7IzLq4BsamzHQSeHWzgAE0hcC2E7tAHXEkBygbO6rzqF32WEh+MB1olZDZhJfw6YQH6ONtnIXLBZCC6k+TCYMxs2YvcPlzp20pGnwbct9nHUZe3Ze2XNr8OD75k4Fc4tq99zdO2rxu7UULwsTCMl0D3PP1hN232cdrmt/Fx1mdh1n7I9POAfbGdL1NxUZgQM4TyAUbRXrUo+rIsoC6P7z9ruckd3B46+bpS/yycqv2dPsFBy+EjFPWV7P15W+dxqUsg+LycBo5C6OO0y7fZx1mfhVO1H3ZoP7QI4wx/0HUKz15DZp7+vs0+Trv8Nj7O+iws0n71gShJqPqKbwjVd6IkYRJ3oUH3PP3R1ndrYQsOfA0uqsffkN8ImCMWwAozxEEY5SuouJhCCKPU2YSQIaXBGe6KB+576b0v7QZXP8AoD6iEwQ3zn37pOm1Y7qbFA4yXxjInhk1KIQFQAGVDUhMqjkPyCD6sJY7CQ6Fb0faLS28ftA+2rjvjxVEw8UuxTb554sYlxqmHU6fi7Xf9iyP8vti/TQY4sknBUsfmGaYRobaJ4zNGJ+o364OvqZDBYVQGULZ2+e/b7OOpwuYf2t/pFY6K+As3SvBPqC6EYIpU1A4s+inO/n2dfJz1TbBg+038JPFvUqgzwmyxX2MtJgMy7oRJ3HuIP71YyIIjfuxNi6J69B25TLgHAtwyGM4C1pMX0BIjhaYwLQX0cVebWYDI9/AvtppyP1APTMjnqFZB9AMruC4UHbRFo2QD4ojFiZ5ERHMHQSLO+oHa1WFnMrHKLeH4eblJ3G/7w3CgC47Re854v1w8vFq+3rqHnkA0NhYrjQnsQ6AAfVvpO58meF/ir4lhHXAxCohNVXEQOHROIRLKaNba4XF8YFCbuElsfQPpRUP4gXlPCEWhK6GPa4USrJ76tbO/0ysc+IFMja/6Lo2nT5uN8acfu4aIBTbxVwKBoxD6OGiyDWX+i2o2Tswextz0TWkdx99bZXgovDH1IkqE27du/aIMlaPgeFHPApAzODQwXr1vgI8rnycLMimXUHm8GUa+c7994dLdLoX4skynBzRCooCLmuaB4IB5OdFWVY5eN2Lb8g+eYdu6M0+VXt13z4u2P75lUBbKw5V/LxPkR+T2gzxw6eKpndPGPE1Y5/j7Hn/IRS6YfJ03BAf0cdabhtTJNQXRTyfBpe0CuRj8lW33vOId1mZY9lAUhQr3Yr9J6Gjvj1E/drMx/j2fDb18anIq6wBl833o+7apXStCP+JPnaSPrDh0SxpwX0df967jD2EFfC12+7pX/Y1MSq9tUNT6EuXdwzX6CdbDWU9DAX2c9WokDlzwlO45r8E5wTfCPb6wNWlaIoP1AGLhx8P17pagEkH7A5m0fAUZX4s5Hq6zFngg2OVQfsPpo8bx/1DbC7ZfrqLUFy2Yf9UgDB295xUfkZuxH2CsWsbPt9nHnZJt2zcZ0z7+k+WBLTqQitKz04dQu/J19HGplEM8DfaZrXe/8o+a1BoYof/2T0X1tvHzfejjrtO27ZuU67/9LePf43RCDVV132Yfnwn25+ibDUfb+PkyiHsPcfS8pssqguPt9575GgF/C6VMsRSmpxXWmAQ/WEwEQMNTqO3VAKMpD3oBb9Jf2os8en6x9VDup9MDFkdM3hYrrCOBp2tKwxE526CtnxU4Tgu/vgZIPK2dfmzb2jPeJva9kJoUbP8N4dMvLfwbKlvufsVHxY73Iy7mc4P0PyFt9mHB9ktXqU5p3rTOH1+3PDyrrxzLK1WiTxS/6Og1//trf+ITOfmaL2zcmm/TvhBzxp0waeshWX/2f/ynOvUj/p7qHaP8bJzXYKbZn9UXPmUeALdYG2TcCSezn3WdPkNE/pZw9L4zj4xr8ZfkzYLyVfI0BCkmTbFg4G0PHFr28SvdYoyapxAdYQgaDUcp3iDTqnSP+2H2Pfb4gfkHXn5depnEYyrRgXiAiWvhlgT1gubjWWXQjm2ydTi2OoN59dNJ27H2jBfUorr+FgNSHYW2+Db7uHGl++7sD7+dtiwG23L3K98eBtGf0h4blejLDMzGIzPEC7ZftMjNF+d80TLr/3z+1HfN/My1+OOjd52+bvGqK3+Qcvcf60w/6tS9/fi1mY6KfBTF5Z1sPBl3wtkU/17fNKoX7uEsKVl/ZfMJPKC1KkXHvzP56XydtYdxJ+wk/r6tfbnCET/6+t3ljbnfkcXGIpzwYZRubnUkR/qHjoGlhTigtSFEe0SPEDjqEpjHDw600XdvuAxIOyuxAXlgQvpBIloypgsIjY2LaSvcbwMcMSfU+KsNyIXhKqP3nP4eeYnUNaLVPNgGnX1bWtmbpfttaDehb7/QxoKRyleL9MKOe05/fiWIdAEFHagHIfSB/oS0mxB8xAE72fw27IfQt59288MNoOHwPRKHeoETfUMXxsQg5RLmy2dPcTWuBF/ded+ZzyKlnzCSy86+r6AT9SLM1w+2grcz+7vV2fpu7S/obP61+IKfdvh4J7FnO0Lre/Lxb7Hu3H7TqZU93XqH/BY76k048+xHLFEIzU+gwJa8eMDWdvFHe5YpX+GI43fMGV376Dcky/aHRrjK4DRD5hmuSqFLzUaDOFQ6aSBISW0VMbZ4YVI1idOJRNqzkfCjRXVu/EWVVe6mzQOWiAh/NoZ2QmB9VkHSCVGfh/u0rIxBHcuLr+Zuu3v7OfJR8M+jKD5C+3W5Tv0KtP+LSw64/LdF2brj3jP2rdXq3xQ75vh9tLOHdhO24/dlA2c7Qp/m43496H5prOOEYpBTESHa+fzECX25Ms0sm5ioXR6vPff4ot59wn4Ju9LPKeu3TeZGzpHJ9eMGy5oP5Ef28Jct7eLJvgnb8Wflsx0h6vNwn9ZKhtFpQ2fxz8rq5DisyJeII7tyRL0IZ5r91Jswa387e9iOEPzy8HUiZsoLDlls/LMsMl4AiXoJTpK04dqCP7KTBGbwbfXqKwfclEwTjfUG7QSm/enJzN1GAQF9heH1C/a/4n4clmU6PcAYQwf7hEltGE87Bp+3aExw0NIaO4KklCb34iryfMHzlLHFDmdLXHHhWZM4YDelEtTnxpVwtyCurJCHJ/eVtieN3rPtBLFsQZLWKrBBQ03JfttfCcNoZKTy0W7075ZXFhuflzjtnvF41/bY8C8o/h0YxczKzZ8O2ufY/8zRaCN8X8C3V/zc6SD/O9A/a38HTTIsvk7iDRx2MZ675U9HdzH2N1qTMbXHQ/nWlteysYeZb//U7IH9uuZwHprSgmPb2le8Sz7Z/QEHM2T6eM5g1c4tCKZB48nHadUjUFmVcK3odaaKkKWn5EJVf66yA5lYo4KXdzmJd9q+XRe+fFmkPb5k4cI1g3jor51exdS7TGDGMeggM4e14wwhwy9PBOkspxBNXT2g/M2Va1o/Bs5Faiocnchiw/WlEAQRRxoOmwp1s+Y2WkR+BD00MbBzOkOXpuLqOBLA42xQ1kx1IqsFf579ssT+4vwDv7u2qes+EbbcffrvyyR6iukrCtMGJWQdlO00YyDb0leZ6l7shz81D6Tr7CeubPy1W2eC2WPm0N1Z7ZPcZGgZO0AtWDyFb5dv7Xx98TO/d21T+ykRnKLsU2TlxX8q9tOK9mrKSVRD7emkjWZz/Dv3TqP//AUHZNBHQAX34smpI82/yfn7HX/0yzHRaIM7ouqAKNTdy/90zBpL476FPY6p5wWHfCf/BVG99k/UK+3UpxAn5EQBpZptsRMHHEJ+QBoAfrRPr2gQBzR5Ul+vv11ODm/HcSy/Rw0/1SguSQQjZCcrdFsXfnZPHNDk2Ykt1c/o6Z66ugaZ/mBLLaEFwej2bcHWu1/x9cqC6vsW7Xv5o6mc2YA5p6srBG/lEvUH7PX4EQDyg04ZwmV5b1fGtJXwgsaYEDc+NACXFEJ0A9x1l+CsB29DIaNBVU0u4TFHrD/qhYaN/Nav0Cgf1X7/efyT2F+phOsXL5r3Zw0q9vFg+92vfGotqHlXTxrtmW77La7TH/96VP+3+PGzjwj3vHS0b+5n3AlVMHPH4jBl+zt981di1K4e/8QRHSKN/ur3+J9y/KGeP/8Q5/zUZGWjPb2N/1RoTw+N7rj/rP2DqP4NUYVXqp1EXzlOCgYbHQU+TNop9HGbtH1ZqcKTYTzpAPYmz++zUYYvu7UOje19m32c9pme0Tn17RM/ie89e1lruTOtRpZVjIEHcZbGH6HiSoHfuMFW+hGshreSp7zK02F7GVgqEwPMwylfNXR6mn7oIdVHlrRQUJpKXqNGeAkTGWjvNkGsP4GKoz1o7s+kQyY3SAduBXJQKE/WOu8Ln3bZBqvt/34invhHeYvoslQ/05A9Tbf96jvnS+DqK8LEb63958fcx+lftVvk8Q92A2dJ7Jdn1rZt2PpXpE8d4kMT+yEUitpmUHHoBho3tFEetGE7QmsH3Whf0OFHTJNmcnLtl76Y94Tsw4fQzddXZYHm/qCz0mTfkf4ZedqmG/u9MZ+Nf8OPfsBpXRTfZh+fSfar3ohGQ3wsQnRFkv/Cx7gT+nYTh/14IJql6wUHXlteGxu/XAS6+7sQxWRphOhU1YUBHp7ysy2gFOVx0Me1EtWmOKCPu2o0JKfhrk+V2w95Kp194IC42WnHKe7b7OMpXyJj/9Hatn9Q8bNk587nelIHjsGNjbg7VA8CT7wmcVIcUDatc9BvS3kQbUIV0zbA0FbbSyNCLPqIJ/WOF7LzNuX35IEJtIRZ6vz+IQOFsoAozRGIu8Pu7A+DLyxe9f1LrIf+70fvfuVRMiHoT8wn+nkxoN2Eid1qlOlDlO37aj+6EMHaR9KB0ax3Fxs5gI7Y/Jj7eFLveCkuC1WGJw+dg6YwDP5YXgewF/ueKkzy3usP+lAH4FO1Xy6xdlToB/YNmNjt7LdAmE4Uqjo6Up6+Pg04bCYchP1qj3RIe7Rv5AkNmCKkHEDFZUcIhDggtmGynzr5UP0FPacQf3+R4eMidvIinYajm5/4sqxZ5Il8uAqF0I6627MtoI9Tik/zcav3Fx0+ztYWXTmiB9EHcO0rT57REueCE4MrKcQBfTxh6BLxZUQv7rLxULPTQ+pL0ZQ+lWnLcED5QzgINUyyS6AgWuegthDBCVT3yZGDqEFbQuDol9BiCf5EO+UGPwtko2gfHs76hJUiQNAmRlBUCHZk/SsufaoPUAfc/aluggPqJrsECgI+vToWxj9Z8qyl70r0KACJ4trf4T06EE39iCfdmYFms+KyI9RWaQuQzVYHaTchbAOPg4ndQoPNukBAneDUR5oaDuj6JUQNZBACR/+EwFFHCNwKodYqif3hAHhSiAoUOQvj8Z0fSOqmiEBPtZtQCOi7v/Z3tuLoxH5zCxwBw7GjpwwqRXyeQMXlmFBqNDYODsZ+65/6QnNngKE972eH/RYti6SPJ26BmShmriFKa21/en0j6PQCm3YRyLsGLpRkebUdSZ+SOHwOgjQfWjLZBAo6VCINx8QBtejIEi5AFJFvow0tc9oLH3UwBtNH2+XxS49wIr48i0KcjlV90KXWYqdfs1WYkDyEfQPmFZUnFZQHLtLAT9zBfUCbLaWVzVn76HtCTRIwOZeqb5BnrqHFzGKXykr9TzmEJiqtt4i2zoFm/jTvtC6b86KYxt8pqPoKY6pvGme0zxbqSUi7CVVOHKwJ5yx6TRheOp5t36/jzfecfkJcr50BeYkugjfZMwD7ZU65TZT4mSx9HpdPRL+Vr709XonDqiizRxQGe1biYC+ZxE4Sv68y+9P4UnfCZnsmnwOa+dvFP3zn9nWnfXThQVc/bLr0vledaYqD6v8+5n+XU/60xF89WJD9k41/nhe6jqC78o52TePFo+XJZZ4SctwT9jv+k9lP/RJdPN2hB0rTOU8q2s1/Fe97qx3e0QuCrXee/to4rn3QPgBZNqjy4mwGClQ6XLXjgdNWvy4rOL8228QvA0uLg9rcG2xW6e8dP6NjjT2Gxh7oSEJz/iT6Z/RJpx7rt5/2i6yB/QiX56DCUF5xwoJR8RaLyGRB2aLelhqIGJMICS5qu8MmA1AJWYwdcSefsScEH994q7La8UM08s3v38Npax/tvzWszj11yUGXPdFkax8JYX3C3iY6TfbLF8puFDdeUh2Jv7fwoKs6OnnvvOcVB0zEtdPlm3LniSuOVXcMOP4y2c6r1cI/kr7/Qvuf6i6jf7/zXx6h70jDyrzqH4/U6+7qjZfgSeL7tFTk+ER8thz9Qx/zX8RhxLn+BMBF8vD0x+eMBPpSurT3TjFfd+JhMG9Otbdno0aq/2teGH0i7Z0yQSFOmHINCpOYnCQuuxj9cd4jLHr+kx9R/fXI3MpFtLWjBcfo3S89qh7VvmhRF9VdodKEIKe1lhhKIzELJQZIniQmYPYK6xSCnuEnnVCbsg9ln/zTDPUmtAUIUtuSA3TSVHamA7YjRLXXvdkGGolZ6NsTB9eo+Nm2o/GEsM/Hs/aa61vmhHpYFw/OmQBoQ99C3mTyUd9NgSyehNGOuOoAQq4CqLBCXQhB9XHHloAG+8Nrls5feE74jG9vSuoLQLaue/We8fjoWbmii7Y/DO6vBJU/W7Lqqm/m9j8Jcf4zv3efVH9STvqf2nLPy94YRtGHJRpPndS/k8jLrerI/uA8eQncB/tyBaoh/nkauXxkwuemH4hTK4ufceVjvUjYctdpv23wP3OdEEJ9PNtJ5/ZvmH/Q1euyzafjeMnB318v/WIbuhLff9by8Yntf9KzYh3lf9MErN3JFLkhrMw5dcEB33uQ/bd9hmPr2pfvUY+C70iDRUmiQAkmDaEw+Lni4+zMJmccYUBwUBCmXAnmC/HxhCGDUBenn66yBQfkiptQWzbxm124RKSXiYSJMI+/gSYHvoo+rnzG7NCM/TLpLlm89GMp3yzGfMcIrv51kH73oTAYD2Ll4eSBp1QGXZaRjza2IGF7uRivcvJzgvmR5IzqJm0gF1uTPMptkTPUizCjn+qufVh7s0WvI3546arnvqzoxQbUqo+Pni9W6DfOBmm/vKDxn5ZWq4csOaT7xQbdCSi3YOJlz7rqy0uWzX+m4F/UOvgZW1O8+h9/+VbPnpvvfjJ/wabKtN/JVRpRtXmzXLUc83HyQrLljOsDNqO0sN8qi9036JPtKqOf8gqN9mShb7OPSxTL0sYD8aNnLNy6c/uVklVHwnfmv/7nP+PCuFtMw63VcM7Lljzze3f6ak664MBry6OJ+jflva37qcJIFg5glyRI7CRJZBGhOKCPu4FE3laDQRX1Bh36Ig249GT9Azr5hMrn6ZT0AZ25QQZwQMW1gdAEygadCRUXHkLjd22dPL9P4PpHiCPigLKhb0LqEcpbcQW/QF4AtkOkz7oCn6Cob3J8AlfCJ86lTRBtUcfCq0+APs569a8cAPo469tB9kV9oL7SYIaZksJ2wrRJ9/bLPZ4nlyyc+5EwvLDweVV8hMx/O00ZlP0SnP+1ZNU17w0P/v4Y+54qDJ9yxXa5UnJ+UAk/PfD4R+GU3jyKiZg550P4hDEx3I6Kyn/00c9S1Pif9MTVTwNmqCz87MKWzTsvk3FwIufBTkxhrjEHe5n/ZNE/Jm9DftWiVVfenO1z0rhtvuu+T8rs+rxOTxYyibjJWSZZD6fyMBx4q8kgayz6VX6BmrgQK3/4x4YlAqGPs14dDZZWJx+hawF0uhGyX0LVAHLwB+j4CVV3TwblEKocrw3aoch8/z+XPevq7+vBLNo5TyXxg/3qIw+auS4GLmjOKwyh+VsYKU99jyPxXwPuONTPgrM/8CjN8aNP0FggF4XyiSvR0UlTHsjBX4fysvpAFmhpoS6AkIwSrdiybXzd5jtOex8mDiUVtNt892nHSp8HOqu0F2qBA+Ksb/C58+Nk/syzX57+/Jtlh177wSJM0qsdq66+oFqpfJxxJ6SehHn2+TQfb2e/rNpehKvBvduEtaXvbRwZJYVSn8k/1Ys0aZH1N/iz9veuY+ct6a+sPpAAWlos41NrUWN+SO2mH1L7vVc7pKJKTD0QxxdWtt616RJJltPy4l9E/ieuD+XdmWHldbLw/1FC85CWC47Nd5x6QRDF79DQY2LBhkJoB7pHOlhK4LB1sqS1wFCcTLZX2S6pBOdAATQcD3hKK3eLRHsFnkiyvk2uL1sYwCO8hCoDump7tGv+g634A9TNGqsM2/l9KKeQDaLGtXbQeMmF9rJI+vbSVVd9CPhsK2nM0jgy0Qlhc6MHXZyFzvbgAc6Ci1EogD5u1GZ5jIfV+L1ZC8oGxNZugPp9qg5oB11c+yxsJ8/XCLjqIFA0WSELj/+3+a5Nd2258zT99oiS+7yrxvErIJJ6t9N3qvbLguCaJYde83d9NqNJ3OJnLXu/PAz8y0HFXxKnEtfqpzcp0iHBlhtp/BkPNAfOkvU/6KQBz+ZTvv3gLK5Qd8B2+ZTVV9tIO8qAlsBZaKvcjitLCw9svuunn5Gvt/+u+ZZnHBz53rbG9C393S5e9D+gbiKGsIJP/XHlrXJOwyMYuSU3bFvveumLpO3HIUkVUomC4cQL3J2AoRxwQMXRH2hqmJ1ogEOGypE6Qm0HPrR1fyoa/MJk3RieyBe6yocQFeRB9Kp9GwQOFsIcdtTKhmI6G4+1U1yUIEzsNsUg2Ppz0Pruwv4guH3J7ru9CZ/ITIfZtYc/zCcWA1rnxwF4dmO8kvaUI1B9jliB5v6IA+Zt4l+lA/o4eVVH14fiyi6yqBjkAnfys/yqB9rzjzgg2mhTg8AhCoXisxBtrDvXPoqeEUX1yzff8ZKPF3G1Qx4deCVsQ7+qr3ROmNhtCqkPtM7jl1bWthP7w2DHvOrcPzAPFLuXBzjrc6Lg9yuVSl0U1NgXHf8oiHTx1otlmIgZd0Lf17ABG/4IfZz1WejbrHgvynXTRh74Uy1djqCp2uFkwDYUwLwNvJ3YL75WOeWu0QOb7jjlf8tbwN/OPGiKP/w72TlMnK/xYnCE3wXE8g7HsoFHN0QbOP7C8H3LDr3qS40aNR41LTh23HWaTHC1S6M4GpFnN0SYBJabZoIcO2WgN3BAxaVjQmmoihCqEU45ESgNoTiUcRBA+zGouNQROmbjRzMU8BP6uFGtf8HpHMigHiqvXf8iswj7xUcb5lUqr+rr7zA4m4cC1OSrdy43VB/grlg8ERPzbRainfK0aE85CaTshF+CqjQEN413kgNSpzmQ8Aub8icSGxHWJfyN8kWY9qMQOPgI/bZOaq/2i8j3bL7zyZ9uuueUAxoV7P1o9P7T9xZljx2U/fJtlAvdN0t6V7qLlosOu/YWyTJ5GNvygHEnTOxmnPJksw5Q8Unj/1I895Ynph1N9JS0sbmVsB/6qa2+/e0UmWo9fumygPyfqlq7QvtNd57yl3JO/IskTwc4/4Vx+KFlq675p3Z+blhwyI8RLR6LIry2fGVuQyQSCqBsmswOWmKD7HiMUfdCRSMPd2gDLa8+M9pVttAA2Q8hRXpQNNQjQB/3WLpD2Zfrvxf75cpRTR6o+d0Fq66+v7vOZxi385FqTb91YgJ5k/aMNWLp4a6+OQbiYZXBMwTaAbf2VifZIDw+znrLK9cPdfAhVtQ4BtTVNcRDviuoQ2Eb4krsYNfU3umitkfHhrX4xi13vuSZHUhqy1LfOf5i8UFIP6gPtP8i7JcHYeeMtJ2Q2irdJUN1ZM7/lWtbE4wvbQX0cdZPKf5xvHTrXfce16WKjeyTxb8P+S8/zNfYX7+P9BeVRSjs8G3ptB+/jeKUI9C3333W7FTsbOfbdOdL3im/8PxhzHWW15iTsMFvhI0536/8l3fofGLZYddeKB21LcmCQzoPNz+x8ctxVD+crUwh5A0VNbxVvXAZL6AaCnNhcH5pJ1/uYbuGgPhEDFkG/bapdPYFaJfmCHlKIESb7KdNn2a4yeur/WH4niWHXHsd5M/mkvrMcgJxsA1WM06IweQ+bucjxhPQ8DTuaT9pf838bJffU5N+HAvQ2+meQFjWZE9/7Rf5+0gXP9q87qUH5WvcBTWO9ORIn+S1bLJHOlca7HS2JnAS+8Mw+mo/v5GSp2seTd+REAZXso62Avo467Owa/ujuLcFh7rT8pR9ZnXJO/ZtMHzy/O/oxUt5HXVIqwe24oANZkcK88YjbU350zHUYZe7PNumNaecIzfmP91J/JvzJR0HeY5sig/j6sa/3J75ytJV17wnr20eLVlwbFrzkv8pKyT9Lnnr4NuAsMQRXLV3UHA9dFBx76SPNqa8Qd+QVLGMfK0gLeVKMdYB5slPaYnOerIzfpNDGcLhJtCi7Jf+/mXZoT/8dKr/7MVwnxAbfEno+5eWow6lU35fho9TnkRcUUD9wwDBH2DOBmbK8XHyUnfqBx7q3Ak/5FAG+yH0ZVF+O37Uy/aUaOf4j7avffnTIKPXIs9v6Ns5fX2Iu34S3akf+urFfgnBxb3qOdV28nHlYtqThZBNm32cfIxdp/aLc3pbcGDe7GC8UFfq5+usuDiaMMl7L/8Lvr4RVOUPutFfxFvpCz6UTvkhxwo/jLrDXRRsvuslLwvi+lfEL3ouR8xRNPaMO6HNHRqfVvGgf1nv56QfK/QhM/wVSw953vlCZ1BAnrSokpvXvPjlouJfQ00rgEgaHBkEDiUIVTFngFSgUusJqbAPIUvbaT/t5fttrZ3pYDqmOPmoG6CPsz4L1TronhTiBdgfBNcvO/SgjleCiUozFunMh9mY+HHzcfL5NB9nPdwFnAU8KIA+blTsyWv6Gp205nqTbXkM3NfB5Kd5Ddk+zeelvlno8/g4+Tza08YndspEc2HyocF072xv7eJjBmG/uP7OZYf9588606z/XMsPOfB78q2GJ+A7FEI7Yqz7Fn97xboJ73wv3eflk0/zcdjg5YK2RT0KIXDaSn7Qii31JOeLzP9ibZgZ0rfc+eLnRrX4m3Lmn4OYM+6EsCIv/qSZlT3mfxBfv3Th08+RdwV1tYatxA+fvUB+/VXeSc8Bl0JTPJ1coaBvjCnc+56yAH28tcTJnePL8PHO5aW2wx8mow/2h+GDI3Pnnx2Gn5V7ybtGge9ss5zBXIjN/GoQuBVCd9gAWAcImag06OMmS07w2tYgcOhAaPE0mrK5euDUF3KMz/ozPupgR/7el0kZjZCyAdEytQG4FUJ32ABYB5i2hSx5xvAFm++4vqff8Nh69/UHi7jFWf2tD+urE/2y7RttN33lJui0vrYf4070utHXlS72aYZPOf6HYE6l/KnDSeKvVWlOIF6d5P/UdWotATdU4Md04zEg2jXqa5Joox017lkH6Ldt5NrVjkbvftFRUT3+njxisJB+hX86iT9zHj4jzniZj83XwK0QusMw+MXy6pIzwmdcvNNROgaVzVvX/4l0HVEB2gAAPCxJREFU9ow84c3KpAqih+Z6SzSTleKJMS4RNfPMSxCSKNtOnvEKP9qwHaEpZLJcvcoTPOlfExb9tdpUiMkAl5Odtk9pytlUn9qMPlz7bXG1cqZ7334ie1dBuJr2P2GRZj5ALFAsJuYzP2aNPmfbVvKaYiaMSksaSD8qhDnAvlWJpl2TPGjq4t7EnEPQroSedO/wlHWK9sfxhzbd+aKuP1XH9fAA8zk0oQ6pVsRoK6CPs74dNPun/4cJw0r1liTuBcZffFQZ3fHk/u380lyPWwT0cZH539xzkZSi8r9InYdd9uY1Lz2oXguvktXFcuhKHwP3x6jiUknYj/yXBc1dleril4WrLt+K/rotFXkG8xQ2yioLQ0AD9HHQSCdEPQqhj7O9TwOeTnSc/LPQ5xHc9aFQdZNB6qD/AChaoVCX1v0bH/ewBaWVfbS1VT3ask/gchlXflQ7fMuKVT9cjeNdsWR9ipgbjbGGV8zv+f5hnfGzLWPQVh6+aogCqLjIIUz6ZR/KqOyQa5tP83HWZ6HPIxIyOQWZtCFfPtr7hbpZP2xL+0XanKAef8Rv0QkuVzX3ze+/sT+TRRqOiJs+duzjPo/Uiv1zRuJbTM707WXavSWJe8Hxr9ejp/fP0kZ/Z+MP/5PWGBungdoqOCDx/inXQhJ1li4Lyv8WHc968va7X/zUOBi7Rl5bsRfjTthZ/CU2veZ/GD40d978U5c+64qef7m6Im8kOxoK+4nRKmp8NgQQG9oQUsak0A0OaWl/6Jc0lZU+ZOg/rNJKJtYfqoNAxUUWYSLXk99KDumwG3ir0rX9QXDh8kN+1PWvYLbqf2bS6U9AH6c1Po08PrSIWoR9nDw+zcdZj36As4AHBdDHldh2x/zoNGfSvlvpQ91Yn4W+TT5OPhkzQfyiLWtOObmt8g0MoSw4irdfFuBji5558B0NXU/DwchI5BY9vs0+3plSHcU/xmKu2yILAs1TxpXQj7mPd1oPPcA7XYV9U1/oQZqPsz4LfZt9HP7atYp8HX7lWK1+tZyi9k9zxfeJj9OP8JHvb/CgAPq4Elvu5AHRx+XnAk5dePD3H2nJ1EGFfEsq/o3wLTNeKEalpcadfAlVbzyQSv1lNpFfSpQmVLyxvSgprFgEWH1jLXpspFh30gJkKaqJHKTSTRZkWlEOx+lIDaBRfkOVHmTbN/LTbkJTV3iS7lvbLwumby0/9Dp5hTO1b+59NlPoM6QGcKaI4eI3F2R/YQl/gGxt6B0626BFzHJC8kqeUAsu8n0MLkYVErI5aFLTmDA/mVPt+MNKuESU3COoBHsI7x5ix960DbJpa2pfSkvr+2O/2uLGYxRO/I0cn6a0DnYybuWkCKsbx5TFQ35CgEZpQERgEi/DWY2ufDzH/juG4dmlhQdf98imX73gSdFvN0sQy6ci7Jdrm+Lb3ko3+a89cD4GlNLsf8u1JJ5dPeKnInvaFZ3/QZSO4Z4UnGGN4jUvXLypVv+BqH2o5awzoNv4Z8ZzR/lfCTcL30uXHvLDe6bqthF5//l/ylWOVakgS9z02MMYY8KM8saZtpdXCmFOk/sKjqa4cLnDZOC3kEc2QvBrIjt+4kxuqxf5lKcKJa1NvYY96whR6eMNzKlcym9hv0zAty3fff6bZZBPIiwje9YdmulwEQqh4a3dQtcSWo5Iq4TgoWEwsfyw65JfOoXsQZcda07ZdyysnSYGnio2vlIsXWgaDsB+MRa5j5OJ/Lz5qXiWQ66o/aITH8ivFON9Hpbu8G2LkDRNSBII0vL7gaBUoHweWZ/PNw3UMMCl4N20Z+ZTo7pNStFWQJT8BanfTOIRxfv4lG5wqkWYuDIhePkvghn/ZA50tJZ9Fv0iDn0PB5Q1f3HcE0IvX9esnjSTsKX9PX03K9vbzDiO17583uax7ZeLL5rem9N1/OlYwvb5v2MkGDlj6WE/vLUf3hqJFsz9QLBt7HQZUPtDB/avwvHRBZniPsJkjVN+VFOTDH/StiHbyJwDtZ+0v+b2WQ2pLaBT1UEcZ7lB80tj6xz+jD2d2C99PhGMVM8K9756m9/XroTjbYbMiXY+Vp+KcwCT4qFu3rLETBgM8dkyVQM7XHDYtQ9JZ5/DNrrmhXtPBPFfibLvEPv1V16LtJ9G0ndRPTpHaB0tOGSBIgsj8yDbQx5xQhsCWNRYb6CTZpTGPdiUJyGHWxJ0mhG5dY1Pak1a0FZUECekrd3YL9/KEd92V3BbPdHNV5E4YY5Y6ooqLD5xzCsaxMkT4mcHCi7ap+sDamtOuGPiLp2SXKF+yubbSpzQyYl2kSsc8vtJ1U2/evyrkhsvcqY3Ad937eLf1FgIfnvigBKjiWo1+N2lh/7whrx2vdAqKw68dvO8ufNPkjz9OhJeB5imvkRYOtVBIBC4DjoHyUdIPkK/rUkRGWKB1iPbgCOJHLQu8BZR0AFlk+oEwjqpBA3Q8BSihroAYkMhBK5tHQRu/AYNT2VoT9qf9YH+VJaDefzyjuiJoBq+drdDrntAxJdFPdDodYsg9vYHFqN15i4XVqSN3NUYrrL4sOse2+3wH79bHhY+XD4J323aFWe/7wv0Jcev7tQj8uZPXXCYDMlta6/NKRcHGGqEPm5UrXEoGH1bHTmMNzts+kEYy+LH19HsBq2f9ocxfFtMYWxa6ysrFymcQ4krcWA7+lh7d71afthY5+g3vl7G/7CN/SJcKyf9cNOa335e/KMv5EQfU48/Y2PxMHnN+S/nt0h+guMtyw79cfKW3n7YqBfYFq265lER9jr5us276sHOw6pxtGcqnCY6in+oZ2ChEypLA0NzI5+XrIQN7nRNE5oMokiu11XkC31yI12uIZ8pE+DbyAXor84SOv0rBHSDQ3aHCVRpjkcvlwoREAUDgZdQHUGBChHM2lqwUCH8715x6I9/bEy79t6fRHxcfaeOc/4hbi5HEMWxcgCIkqlXsqt2HMY3RHsZpGs3PfiKE4MtWy4TtV5QlP1qMl2lMD546x0vPHzJodf9qgN36LsiqBshHG44HI8CLwN33s4cukFgLMplfJQnNxWH5gqH5JTpojkmyubo2xf7w7D393CobgyqKEjXu3D4+a8GkNXV5zZoGE8JozYvasf4Q76PZ9Mpa1+n439X+LVYeeboY+K7tyQ+gy/d+FMI53YdfyfEpQFjQ5jkf1z5o2VHXP8f6KKfpeGO3rLDrtoowvt2+aSfimZlbVx90vvh/dRR4ioZWHopyC1qsnOjLkgcD+XZ9GhHMYIAmRyTxBldDlwnnzIAZWHyqd2OvPFffVqJw52yIPN8ThzQikRAURcJ4qwGUx4Omk83YUOzX77f956Ue69nPrljK97/cAAXw321n9Z6fqjZzxO0XXDIh6fklgrFAOKTselon5SJJ/FiX4Ro5OM49koUD88tFZksNqe5lq90P+wXyT1c4UD+e2PBVy8Pz6Op39040rMUCNljZRrYrrDxPzALpqejJ9c8/2/lwe73aO95sc6jKXM23tljNATNF6ANrbWO/+pfrTji+n9Jqf3DGhYc/RNbrKRNq08+QFa4J6vPPN/ZggKTpnOy+FTRBt8yAKJjk++lTnnT9hoctocwbWP1jkto4XXLjxh5b7FWzzDpLgbmzvQqEKygO3MtUh8Lh2sPH6vLHTPxSWXkCh48UX6sbMum21/4ujiu/VR6T362fFLdu7S/2T/xczqyNI70qnRTe7c4TBYYoo/iLh5NsrMByQisVMLiHxpoUqoFIZRvNcmEKga1zq8+2C8fWKotNGhPnnL8dcZKxxhtBRxE0XWqJAHyQIr2ihyyw5TmHTegndo/KHsalBvMwZNrXvDuuF6/EL1lhlMyF9Kf7eqTXKe/2vi3Elb+cbcjrv+HoiydkbfC6kF0PnKYCwtAw1OoodKklx2gAsNxVQR/Pk1xBAP/Tl4WagKAh0WiLlc27h+ZN0deW37d8Eys1G86IUaEbOotB4GrTwnVz3heB3Gz53agMnAWiEFx4hRRWkKw+mHdLz/iupuDSniJ2i5K9tt+nUfEF4DY5MpF8mvPk/lEvqWyQ50KJvgyKcxvaowK0lKMtRgOigMCUR0MGh4vhYShKHG0RG2ForCZdhOqkjACBdDHldhAUQ7ZJRAI7I/i7cbd+R63CJj3hGhN1QAVlx0hkKb4g0/oqhMEYGw5aAHCQYFFzijMA+infXv69C3/CzRhOkVvvP15b4yj2j9RB3GdFkDFZUfYU/zRuFX+h+FFyw+//s+sx2L2M27BIQmLL5u+yaUyvNfSMxy4gD6eNmBbQK7CDSIu2Q1DV+Ml0A3j0SCsvmrps67r+c1rqS6zDDOX2uAQnL70/Wy4eRTPyuDPfGzQvNy4FwbzvZM/E7w2Uqn+Y1H2YwJXn+DEIpsMjv3xnf12fpGT4g7lF0ZCjQRkOJrKdjjloQ6llT3QxRQyIMLdO35An94ShfEy2KR/9Jeo1G/75YS/o1tLMRH3kv8aI6RAK3vEWo2nWd2tWt3z+1c4RC/NFwctd0wfzRHVzbTrevx3r9nQt9j4qxecIYG8SO7pyyku/0/IWgOouMSdkHlMyLgTJnkPCZl8kaciv7Xi8L3fLlczIbmwMuMWHBtuP/El8lrX/eAwdb2DPk5nItuVDx6XDYAQOOoITZ7jB58Un+bzoo0ESJY+8ZtXHPnj25W53DV4AP7SjckNKH/qbwfpe0Lf3xSGiQil1YREvmGG+hBnGN9alP2QyyLv1JGHJuqH8rgVlDnNfQpnWxtPxk9a8xjQKCK27g/8fv9+DBUPg6G5whHGoerCnGq0tZ/293CFQ7r3fWe6Wd4Dnyz/G/zvcoHxQTvgbE+5xUG7OglbdEPvXr70a/zLj5YVZ8I0SH5y9fNeEEd1fFN0hHkANZirjB9jCYg/FEIfZ31e/ClTG6uM8Nrl85e8IQwvxW/vFVpm3IJDTvXntfYIJ0qbPOxUZSc5TXRJfEIGlRAy/asgPp72l8qXoP3N7kfchG8hlCXrAfmuPy7r6uVe+NycDgfbEHEQ3kQdIfkIjV9qld+GEHFA3bJ9D+mxaH+96S4K9tF+uBbyABUXKFNx2wWHfHVzB/UgRByIA2JjLAAVRz/syPEDtOQfoiscEoOlah9u2Tn7fJt9nPW92C+iu7/CQf96PlddMTqExj/iiX7O9wgJw0JoVVwA8CrvAO78Oht831Ff38fAwUOYz9/C/lm03pBnEo+Nw+gKWRrOh5/oBz/WfYs/cqkh/8P/XlEdebU8bzaGfCm6zKiHRuO7TlqyYWctfdeAZq+4iBDeEoeycDGRQK1P2TEwwe0P0LTWMQO4DjzR31h+xE/+PttSWctdEIyMBHF9wjwhoweDJTlLwYk6y1icbE8PSxNMQMrjHEmcztegQYbxOq6hB2E88vNYnlnU/OyX/WI1fcUch1/kpV4r2zlELoRs8Lzekl1jh37cGACwb3O5JrQFkHyCk18u0eovWjru6Qami+ZQZ6rQDsJO7A/Date3WOWqrYVDdGNMVcPJ8l8YyOvHX4eKhcPGCZTmcWdmT43Liz/GuvrO5Uff8r86SIOm5o7JWm9Z/cJVtXjiBxK/JcpXdPwx4cJ1mhLhmmp10enhYVeNTqZjP+tm1BWOjeP13xNPeV85g/dQAH1cic07nrQAfdxxctACGp5Cypfhc+uKPfZ8S9H3upqVn0EUvM2QIVFfi+7O5zr5wL/uD1YprVPz/DAT77TtNPJVwvrj8IHa2m/7s36IApu8JrM3DB5CtX8lz8cna+rX+W3sk5OTmcQ/8H42wW85WHzjvacsk7G7j/bq+atJf2EgrRMNyQuouMiW1wU93EnbnnioO/0LIaTlCWSdz5/H10ca/aB66biHjqJAP/N/Flzh2Ljm5H0ngvFr5IHh3Tt2f148ScsTwjpAD5cr9PfPmxec5l6FkdeyENqMWnDE9eg8eCFdEBhOz2QXDOQjZNtW/FiEgxfQ8BRivEjt+nDO3FeFT7mi66fQ2eeuDnn/ENBw3A5wS26cjtXRBg1vjLGywologm2GlDAc2QRVzVaDtJtQLO3afl3AiB8AFYf/Qvk2RtsSy0kRvkcxSHcSao0lfssxR15AH0dbFInhbpvuev4z7Gj69uG2sWeLKaKiN+sWZH81jnUx1721EsEu819jrlal8U/ywMVOhHavyhRaMA/yRPQt/2fUmavZE1vXnbZnXIuuldg8rd/jf/L4Y34IH6tU4lMXrfoJXvg50DJjbqlsvuOEgyfG4+diQOp7AcRNxG2Qmt/8sQU+8uR6FeMQo8ONR+UVQp48YZuQV72+dsVhN/Y4meRqMIuJ5tSMi5vsNffzxNd80sLgIQ8a4xlqlWnim+QNKyEOJ5boRJBRkLYBomRhW/vVD84pFBB38qBm/DDGir+wRvOm/jwa6sFhOloATIa0skORZzgfdldyrXaMNLxfm0/TTm5ZHA3bkuRJ9BWS4PADSj/sl9dw9HyFo0/xTxIpa09SYeYWsJdXnag/zcHYwyY7au7O6phTqXb0Q1Z/jn+5b9gsbIZQcLVtfHT0KrHt4F7thx+0KJQdj+ls58Am/wXhk5Kfpy0/4sf3Toe7Zsw6cWIM796wJEsuX4rHSMtzHhcOgLkbphfUuT/IAM7CpAeU7YIVR/3sBtaVsDcPZHyq/gaNMYD3DQdMJysXgyb+3rQYfKt6LViBXvttvy4YxCuAhmsfba9wjFSrD/EkS6hewdkCBdDHjarjxaolSqjXBYZBXQ2iMpkNrVFUj481bPr28lsIRyOjzNbUX9Co3/ZX5o082L2lHAHQEn+AGssEIndQQ6i4HBDCDm3jIHCrNWi1Six2l4m/3xl0RwHElrXH7AbV2eJBn7/wr1NIv0WU+OGzF8Sj278r1j3btwcW25/5pJ395LaYp/mMdswD4CbNoODbxOmvmM5vVs6IBUccX1gRL75J/TfpzlwMJ+umE6bgnDyzUOPANnrgpFt7nVAhK44/ufLon/+bqyxBBx7gAk+uF+mJCdDHWQ9R5mcnVGOmRI2b1gkt4ddwYAce12YGAPmxtAMKs9/3A3zVwZsul9YWyuvP5W0cnm/V1zILEuKMQJx8Pg04Jk1C4OAjNDzGt2aeO90hkicsToQOao+DtMmHUF55YISHk8enAQcbIXAx/9EpvZdHBGgBlE11cdBwpx/YGHdCNMy0T2QpUvwukpWA+SEd99C77+O/eFP63kMcv2POxo0Pf0Oe8jk5ySfpRePK3jLxs5i3mf86iL8sQsbDSuU1K4/86U3sajrgjFhwbLztylOjqP40OMi/okG85RUPnQ2kEaCPQ5AWRgrQx121AAnUj1Yevfh9KaXEuvEAB1OrAeaHxceTPnyijycMMwOJ4uAk3xfU2jfJx1nfkLc5DM1jQPI4jrYl7Vsg4VFX49PO3Zr3KrfVGPDHhS0m0AZNsGF+JPTnSnYLm+Vk8/wn73jufqQNGj6x5kS87v1g7VdtFYwGYNwrDXZiQyH0cau35pPYHwa/UBE97HzVkuY+0ccdQ178jdbKnkRyYQjzAB34Oe/j7Nw3ycdZb7GRI1R6DJJTyU8FJLxDjOBD88bVq78kvjmdfoC6nkkNeGJKG4ZO4i+3N2W9XTl35RE/vTqRO03IjFhwRFF0nvmHE0H+YGIgAfM2TCTGY+2J5/FqXRjcN3depXxteYHJaTGwiUnj4GIkkdI/nNHwB6gbcUDdClSuT6LxyUbmjZPzxPXHfvjCFVkhy1HbBQe4ZRqykyN8y0I88bdorjTMfCLb4RorwfWP0MVD40V5AqU6jCY4hr2KQaG14Hy1AbpnN+gAGgtx8uE0oLTO7BcP9bjgwLdccvzpaIne8LHqA52pN6GQcD0dBRAbeAm1nVUXuc/Gf7K+es7/OBqaF8pNZh/rNqz+wafEVvmWZWPp2X6NPeNOKLLz4h+E71x51E/lysr0l6FfcGy899hlksBnYXDZeDHo4zbw7FMHcJsaxPfwv7dhIOAY0MfJw7YqL4xHq5XgVUsP+dmG6Q/TTNQAg8D8TIgj4upjPYZt6YBBLFDSmBhu1Jm537D69tfLQ4srBmK/DAw56XW04JCHqjs4OTI2FjuLAGlpbNJ4pePQj7VMrOfJxvAOLJDx/S+cLx/wmib6zhWgrZ3ZL28z7cCnrXung1J/pj5u3cqr4aIC0Mc9lqJRs8H85ee8j095/Mfh0Lwyv50/N972O38vVyL+oK/2t+rUj7ng8mNsf77yqP/6XCv2QdOHfsFR3xq8XpJzPhwjE6n6B9DH6TQLKKc5ORKH6x+gCwQh2qCO0MdlkRhXgsobVxx1s9znLkv3HsBLv2zC4Ve+APEH/xMyFoTohzig4SnUiGkcjUbe7vUbXAtcSpUHFt9flP30EyEsk9s3v+3EwmqlcqPvY/qTEDKIA+ZtfkyAZzfYbbRg/w2/eq58cBhseWLz9reIVsupe1Zfsy+1DdoZzfQkzvZZ6MsTS+vVOQF+Gbjnku3Pl+/jWT14jI4pw8fTenlHTqEFD/anecD49z3/g2jfQs3ok/ANt534fvmw8YG+299yPHrxr1T+94qjbvpIn0zpi5ihX3DI15/OZwLLE25itDyEJlBxD8ooM4cQ6pGjuQFgA9GbXIRXaWjjbXL017sfffN3+uLhXVwIJz9OeHZ1VxYdMjv7eKt6uA98LMTZnvRhhRtXX/lBse2IVvaBTj/4uG8fbYaNxFvVY3yEQeW+Tvyx7PAbfxFWQl2cUJ6vg4+zPgt9nfL6hAwUhfXoExvWnjCwS+Gja164t0z0H4ZPWhXYg0K7fJt9nPVZyLYqJAj+a9lhN210eFcAX8DL6y8jv6P4W8ewmXYTdqVSX5g17tBE8iDPPp/m4/QzlADOQlxIxwq/V0OO4YEbbj3hrfLsoZ7wYVuefT7Nx9vaL5YnvmjwgsVaSP+6+5E3/Y/h8YZpMtQLjidWH7tK3Pcct17Qz0rA4V/6mBDmND1AI5VKcw2UV3buUD2gNMVkp3Xh1/c8+pf/QFIJe/MABxhaA29V/EED3B90lNEIjQciJxHbqruB0jeu/p2Xi45/U6z9mMhgFnY2qVWq0b2dGKpvy42D75svO5sQG2NhfRvN4pHiJk81c4GSuqfK0yUD+8S1c3z7J0Sr3aATJ3CoYnmWr6+fgz5udplNjTjkOD+Ewfc68XseTygzcdf9ubibe9P4i0ZOp3QxC9nY8BLgogv0oY/QF/BWBTqhUD/wAmf7Zmh1chVv+cbbTm77m0EmffD7Dbed8FrR/bPoGTa0Kr3abz5W6SLfoPRkfYXx11Yc9fI/bNXndNKHesERT9Tf6idc4lBOrh4UV6sfCe3ABdpFR+sE55/KczKAS7Ru2X2f8PzpDMhs6RvziM0l+MSNgliI53V0GPRjS1w5bQQBbSrZAdrEMCSEjbcd/664Xv+O2CW3VFCKsV/9LDuF0ov4J96tsqCjKxzQSvi/x9uTOO6+uDHm7KOt1Ad2k6bxD6K3r7/td87svp/uWjxx23PeLFn2u5Zv0jPGvWywlZB2E3bXA7lT+yuV3hcc8gVlNzZMV0rPwmz+q59ll/rbcLbL2l/0mx7lF7Tli7EWc8adUOPfx/EfhLXfp53DBDfcfsKp8kT2v4u9VfoCsN/2Ixc07oRwQhj+YPejjn5TGF4o18yGrwztgiOOz5ZghW+UUagrXjgXISPUYY5JBD5FEoPP4RoEJRuNkw14dAA6frBrW8AweLw6d468tvwX5WvL4Y8pFsRFY+PB3kT6UjgpG+Rk2pvcYlqtv+2kZ62/9fiv1qPg0zLi9at7tKC3HtkasNl+oWhOK4TH4/DO8LDrRjvua2FwtbRKft206SohenUv3OtEZqO21oI0HGGYhlH9Gxtuec7ZncjrhWfDrce9VTq6KK8t/ISS+MvhSgTubAX0cdZPAu9dccR/r56kvscqeg/QYk2o85qjtbIn22nRFzjkMcUn0adpa73TgqwunR2zdZ790Xmb15yoL9TrTFbxXHJl43eienSZrB/n+pr33rMvpU38w/gnu++512vD8LPulzN777WolkO74HjiF2tfJg/b7APDO1owOL4Gfo8Guq1IHMQCBgsPXcjE43I38DUrj/h5z68kVvnlLvFAEjNvkrRpCCwcREAdniwC5VhpoGPD8pHQx1kv1dNcnrzlhcs33vqcVz5x6/HfCKKxO0T/1w3WfvjCinzCvJF4J3Dlwf+9Rbz69Va8OkaksrU9jINB47eJ0ccthqan1M4R7D823Pact7Xqt1f6hluOe6/I/pz0LXOb9ZfC7qWaDe3tlw9CU/smAD6PMu8Jk7yHHcj9VvlPO2EfcUAfR13xpRoF8q2+yeOf6iX6qK0O0m7CNvZLbJZPjE98oXirOuth423HHS6vcLhSbFqEvLHcSWFqN+MyNfsb5YW3jcSLXznsv/NV9BW2ziKVwyUhOa+ZjEBx0KGWOCBKpl4vhwgNMKda+WWlEVbiP9zz6Nt+Ykzlvh8eSFwuA4+/aQO5FhLQXC8KESM7xlxjPHbc9NscKk8iBxjH1fWrn/OGoC5XcatyQQxF0AAooJYsgZWOP3OYyIJMFMj15FfqMpmEoXyqimSr7C56HFsPR4+QD8S2eIcdfsoVaD/Uo28B9TgIblCki10lqP5bPai9BU3UryLKJstm+eBJYqcNQJBNbEbRug7slzdzVMVnn5NF2tmVMH7/VL8Rtn71CccG9egf5WHyF6giTh+85xTfEND3nUI/hwNqwWu4wetex92L/eL72vw5wcUmsMc9sgeqyNZp/qOnbPzNFpOF+ib78bBIgSWqhhsCuYzCHDF/iv9hmBSzrT/j3wl81eO3HPfJPZ69+L1heF3RF3C0y7zdptXHHzBRi6+WPNoNMRiU/S7+6xbOqb508RHX6Q9E5uk3LLShXHDgMtnOndvOwH1NDig4zHCZQFw0ccmTtPx6aS8VTHYdzaAkyY+JKP7nvY5Z/Xm0L0v/PcBYEWYnoGyPFk+Lu9a5E7YfM+BO3py4Vr9E29RsgaAnlBrizhMK4i0fH5Ocqbuccfx1mwxDgdaf7OV+iE7cINTw0TOF8tNUMqdo3gjRZEUuT5UPOydKUddvQfaLK8wXBoNowdwFP0z06BBZcfR//eSJW46/Q8bCoVSdUCdPyLHzhQDzLSBKU7yUqFW6o92Evr5gkOOXisRT1t963MVBFH5596MX/aTTE0e85uy5G8YeeL4s9d4S12vnqivE+dqHC4L2qycAsyjbvy1AzCboQ7sJYabik9gvi5zLFx9282No33ORHyNT30q+UEeVxVwXiGL2WMxxTF5AFLUHbZwlWfsloZWvqN28BSMbdo6mV/QZd8Ksvlk9wEcerevM/gvW3zr67A23HP/n8hMUXX0tGeeasfHxl4Rh5Qj5APNb+Xbip7I6tTtef8ex+0yMB9eIy/WKvHO9NqPdhLSN8crK7sX+kcrI+YsOf/n6OH55savJrLIdH/+tfEazFf1QLjjGdm5/g2TdPLPHjfQ84zgrEGZmB5IJIYmnChUXBj/c65gVf5onuqT17gGd0twE2CxFplUNKeOK6FhkjJd0g1bD05vETxorzZfv402fWDFJY2I26dqbHCQ54fCGCYDM0iR7hcV1bipDc8dLaL1Mti/U/usXHXrDbybrfZI6vAnRJtsB2y+fwquy2HibePNtG24d3fL4L4+7RmL233Ll8fGoHj4ezqmsD+tRRZ4P2LMSxHvEUbSXROa5T4zf92IJ66LQWx/qlQpLEDUVphQdf5lM5dsw/SouUTXRLM38OWvK+c/E75e6GTmLD9p7485b78NwaNFTYfl/knwYkIXzcT+X24o/qFbCm+TK2T2VkeqmJavqWzbfvmDxRLxzz5Ew3GuiHu1ViStHSq6cNj4+fpxMGRV9ZicIbhdzul5wBGPBp6X9ARlXtDjsv/31qHbD+luu0P6Y64AoufkvdAZHhwr4wJxT2snLadJECoMr7hLiIagYygWHBO88m8BttUv3ICmAG8REYjggima50lq6T3kgQ9junT9/0TmdfprSDspdhx6owcMteEl3MZNU109lnGBd6NJzXmMONAttHDL21XwMapOPvQ4617CR24h+tii/kK21yyk5snzUzFGc9klPDfrTFta7bj1AyQaz7Wk3IXrkWPCEeGiDRf/hVXSFrpy7/+eeGLvvL6TRvpQIATqmEh2Kt1+uFuA9HfKVQtnsIlQQT9TUy7iihBnA9JM9EHfkDkRfi+Cg4i8K/OceR998HTSZWrEraYw7YZfxb2v/1HRs3zoML62v/+Wxj0gUnp7PXWj+46V3x4sTjueFyXCiHuy8BV6056InXCZFyCTNn3wtu6HKFc8ljbfsbE7Il1Gs/YPO/+z8lTf/0WL4Y+guwWy87cjDZZI71oLFjAD0cVfrRiUmRZuUhSsdqcbk753lstjYKpehzuz1JT2+yBLP9wASMfcPscJfi5jxRA1oOAev5QDaIhf4h0OlGVnrQLN8Ma5GfkdDnmiueBCSHK2VftqXp0G2f62HyFZ/sBt/gNoX1FCFobSz2WB39ofb51QX9vx7CeFhl45L539nurTWD7qjACrubFWyh7O+CRZmvyplO1URO6ejg6avo8Hn6ncPgs/RABkXQhGokgghSZ5/+Wsc96tYzHuJv2hAuwlVWxyYzdgPqNyQ9pjB4Ff8tfBv4fa7/jX2gqvTCHt0ji42KAo+1v+M3Wa12T209ltcNF9axAdWodA6HCoNZA9nvUFtoruhW3BMTNTPT9Uz49QSmOUSo1WyGh9aO+uzUNrjl/MqYXjuymNuuSPtp8QG5gEudwGxIVSEOQkLvTShgaA0pkTalvLAA5ylW/6mDiCIQoA6HNDH2V87SN2oL8QBB4RI2ymk3YQqGnwojp9tK9Xgc8uPvFG/kmgM3e93f/aSi0XeOmvJDnDEToE6fMjsVz/4vjUjUtVpDn1N/4OP7bQNbWUDEEkD6nCBcu3pypXH/OwmbdaPnYjuNf4d298PPdvJiOPrW7LQ1/Q/3AkccBD2sy/2D0WBD6qwL/Y/dPZDIRQXkARXRMiuvsfxP1QLjjh+4Ugchee2NNbZnILJnZP1jS5UovCv9zh2td3wSgWVWL890CIhbdGIvJWpFTwy8Ah9PKknXyJP2gBvMSBUFmrZTm7Qmnz05doSksdBv23iDu1LBVq/mChA44SRhawD9Ns6gX4fppfpSnk+TXGRQWjyKFeg+kBVmQirlY+6LnoGuL0orvkT7Y9SfBuAD6H99ANUpu6AihcV/0owFo5U/pRu6gsU35rOBhWnHfA9Nj0rM/aAKITWTilsl7Vf+YvdhXPCH6uuqi/Um0w/p7MbR4XbD13ajP+evMN5QOU7m2k3oZLNF7DTt3Uq47+r+Kt+ogMgdXBQ9fF0VD+AD8XxT3X8D9WC47c3rz9dkmEvBiML5ROFBgnQx8nnOxC4PtrhIHDZvrr3c371YfNguR+IBzIJi3GpsRGguMZSiahooGk94oZq7BTxoKD+IPFxqcovvgzB9dBBv4qN3XATzaCdFUI9ytjXQMNBpl77QE5KlfWX2tyz/WHwhX69Q2aPY395hbwaVd6SaIW2DrX9omoyBzjcqd8M/CALrocO+lVs2Mp++XHHD+1+5C/wMFwfS5oL0MXXzUsYJo726+e8j/dRqa5FqV9C9wOCg8h/0bCf8e/aYDSAnb6tFOLTBNeYOmj5lsZcBFi9g4XE3zq1HBLc78OvStR3yJTHv5MzVA+NysLzPHw5jIbDSOAc9E7nlkCWI9rCIBsKTcnhL/bee+lbWzYuKwrygMUkjSIjalHGRIH7tpwsVQk0YSFOCLqHN0qTOqwsMch1tQlekU+aa8o2cpj0zXvHyB3Vx3VCPKlvo2+W35Rt7DGlQb0p2h+G6+fOm/cB2NKvMm9R5T07tkXyeuZ4j6w97fTN8qe2Mmj0BWAf7IcM2UwaEMEKjr8sNn658tlL+vqbMPqlWOiNQlf5eB5N6hu9CcLk9kPkIIpo8UNR+Q1pdGhAo8bt8inxBZtDeQ9vlCZ1bexHU7aBKM1XNwZx3EtB7KjUrpD/9Fniq4Z46KUA9avV0+N2NDRXOLbcfOzuMtm/EoFDEmLDxEGoOAILmvsjDqgbUgm4phTTCu4Jfjt3bvWs8Ok3Ja9wTpxVIgV5AHFA/CDeoIaJuIuhRQknXYsauIGzEGd9FoKPPMA1Xxz0cdTlF1VQqkxf4yENR8St3vpqrW+Wv2j7ZQC/v98PPy991i+eEMPf1eiL4bQfOg42/uEOeRXc+f3+dhsmYtpB6NsGWt7m8wD3c97HUTfIUqniq8Izdfx356nGk2jjfFH0+Iemfr74Mffx1hY16mt8pOGIOKDNe4Tsl7CxrfHTfqsbom+pbI+2nyvpqb89kYwsGKvWmPKNBuEIdBTWZyCsDYNx+bnu16w8avUjxlvuB+EBiaX+IX7AkphaTIQoNMvGFEIxnya4tnVQj4gD5mxIF9ABfZy81gXyxIo/KNmOMK895RBCCnAW1Rc091ek/dLLFbsfc8uX2Hc/4V7H3PJNuTL0YfqC9mYh+pwu+7O64NiPmY+Tt0lfFzvW+218PKkPg7euOPb/t3etMXZVVfieM3f6VCxtZ4YpD1tUhLRAOzNtobwMglhNeBiRYtSUABHjDxOj+E78YQw+0R8S+SMxEiQSFDUgjxgaUAq10047FJGBQqEPoEUstPIovcfvW2uvc/Y9c2/n0XvPnal7z9zzrbPPfq1vrb3Pvvuex4YmvDPFWc98iYiP+JND2TOZWOPjt9mXLa2rpekw5/QNj8IYDzXT/00nH32dfdnSHNr+emvyWMnBKzjSLGIv7ImtsJ1c+o/cf4xHw2F8Uudh+mf8VE/OJGnLNquphJjKdSS2ROO0TSabspKaaSWXpE7VZTkSktJ1XcseH9PT5zRj2DaEAbEpSiLyo6NAOgERmyLObCod1NIxLYMhRS6ZOvRlicRmWIf34jSN8wvzGinOtQvysPYwv+nAAlz9gpAlu0NtWVVzmdlVCzS9DGvV58WlelvBUr3uxHE8VJ5V/qwW3pxtx5JLvg3V/jwR9afti7Y/6vt+R8/G25vBNk9avu+J7c3uhp79x69/c5806nMDE/2wWf4/fv0P3f/99o9axuPiaSIzk6Hkb1L/b5b+vg9avzcUfWDUFNkHuePQ9DaUdKa/7EyQFY6X1y1cjA63mA2lckSRcVIwtGmFIVKqsg79vCxDyomin3Uve+IWp2uAohjgmMZ+7fftenXTcAxENXaGUgY2KapdOYiZjekPIhOZUP4tT67MUZTPprD8usGOEV07DNkOqd8hZQmGtQodh/542uTrcVy5bPb7+vfWKrJRcXzFdTTzXbhrTJ7AqMVSNwbRUbkvWn+/PrE62mJ/TbN/FP0Bk42GPnNDiXTbovy/uPlGae7ijfegM29J+0GVwp7eFIvSn+5r4wDltK9ix3yb7RlLcJPFovp/S/zf+DCOhLex9/8JscLxTkmfvSEGg2JyAskpRJJlbHYoPgNDG9rTRw0x63qga+mirxhPAVvFgDtByahjndohbKmdVNG3/2hb6+bY8AP9g/eIRJQP/YgyUWTuMq5OECfDMaIvu+Q8sTEQVc6QsRoMNWUWh/hce8aqP75M7Eva4pVzFm/a4iprKnSc/PfXZ8Qx3jURbVJtWqt/Xtli7B/d1TntA6vAgW/YfFMOax9PyIRrOG4P5Z+5Wsalf66MZu2SL7z78FtaPnUTJTOEnmP1/3xbx6X/GPjN11d73+lWQP/P199w/f0xz5ddxTrm0ZLZuKdxxgETUrbgyxNghSNZ39sOr+O7U9BCfAwpy/KNQ8iimENVUhU31QxhhKdnTGu/go/ZtbiARTPg7CnVUq4dfJ+mTLsaUtZSDFmGykSRnb9w4Ko1YFvNmho5+G2EOeVbif62mE5SJV5zZOVZuVqCtlfb6LcdWV3Q/NY+jbQ4S5OhX4bpbUhNtVZFELMviaOPdi0ZKPTNxu/u2bh76rTp5+P80a/tbY3+yqLjwphpsv2h7x2dPbMulyexZmZruMRvfmZ3w7z9G6F/wxs+QoFzlwz8EX7z83rJ1J+y+T11bqb+I/X/eu0cfbz1de25ms/ihpcy0fT3x1CVYRHvnKztHX//b/kKx64K3gqbVHiHiljDUHecoaiwnVAc+sSkZsQxzEdeS8rli2edNnhYT11MywzCuBigfeQDu6ZYw8a+HSnLYOOQcv7DE7k5vZzU5Usn/INoX0ANXX4qkJYDQWQiBR5zKLJrI6e3MsWVtjgdqBP/DF1axlnI6zPW9GyK8UDZ+zwfJ+3nFT3ZML14J0w5af8wGvRwi/QXLoq0P17+9auO3pOubPQdKcapjxW+Ldb5vaFn+9QPDld/v86i5I6k/avoIY9ZPzFk/dTV0PQ2bIb+7OtSLpECgqHuHd42r08D+3/h/t+o8U+/4imvLZ9wJMnB1ZmJbeAm1vowpaXxZZcWjy3H8U/P6338nzwaQqsYwMvb0Iv5obkMKctg45CyJlEUmYMus/GkLoNRhpKbpmYpLAMfjhmGKnOiwDjNNxztmObDVvITfTktX9qigxLbxbJTdPX49VFX1tlQ/UulB6eX2ns7+vo3oMqWhdl9/Xs7e2afH8XxjcIDWiK6OjS9Dc3uhqQYbAvVRP6JrR2KLNxpuSxHcjhUmeojJ4vBR7l3dnHt8O3BMqo/zJflt7KIqRwlb2Px9wudvYNXF7VKGmMkLkJ/sld0iPr6D0wptX8KFL9Cm+s/pYlm//EzYz7WlP5PRydpZIzgkHJT/N8vHxVIPUD6J+tLkS3BQcYdSn+9pBaJEFo64XhpcFEX3rS3UpRAY8QBHYo7QpkUPcXS9F6cKh5/s3v50N1ULITWMpA5oHNKGI2OSu81pMx0hiIjjSE9mYcNfVk9P0tr9VFryU8BQepyqLKrH56FlEyCYKh7/lbqZAok0Q/bTFnbzjIpE3253nFmlnZoIZKXcZZedUUFKA8J38At3d/o6p39kaP65NkYftNaIvPbflfvpi+jeTiBJK/7Ovuy6ePHmd6Gprch81Trr5xrXLWs/Cj3lkfyi61QjgtSF2SiyiPYPyo939YWn9PVt+mXVkYRiAUO8QHTJdOPjVfdSY/J2fGMs9HpX4Q2w+vAZPX59nLblVDyzQlt/+FNHzkGF+CYf9EGlIm+bMcRqX5IY7o0hmI/lzezL6pvqP1H8P+ctmwmg2sucOzj34RZ4ajsf/szeNNe2YyjijkNRc38xo4RfZk2iW7rXv6vH+RzhP1WMaA2kk4EW43axr5ZRcbGkIL0AId+b6ijptbPbNoGJrM4X86OWzpWmnXOdMBALGULVla9/Hp87PpjIv7XqNR+amffphuKWNI3fUaLnX2Dd5SiqUtA0b3M02j9xeZmd8Mm2h8a8Ar0m6dNKS2eu3jTutHy0PB0oisJdR/RmbW4iAb4P0trRZizZOCBtlJ5JZzl9br1F6C/9Vm2wWTrp3XbNcKBye7/9dqvY52OgzbuGeb5Mw4N6bMqZ+S1dIUD126sRouy1phM9DuW62ymCFFkNxvEbdDru4859uqsoCBNXgb0Qs5SiejLtTUyh059InVyN0BLNs/HahdTN9YuKJWLzfiLHYLF1c10GAfwg8wjUdR2UdfSzRd09fU/cxhFNT0r29e1dHAlXhz3SVT2QmMq9G3uy7VLb4T98WVlY1spXtHVO3hd66/98nX25ebpX7vk5sR2LB1YE5XL5+KkNVS7Bl9nX66duhH2r11yq2J9nX25dnuarb+NdY0a/1o24dj52Af7MG1YpDTqyQH72OVW/3hM4zRVfptgHRKO++KUg/Gl0YI1b+aPh/1WMuBO+P7E0SaKDv3OkrXUlg+Iej2EoaaHR1iZ8A4NhlkpqSRpsUd09RrWqt+P8+W0vJzgp1E51z5r6yHqhxrv4KT3p6gturBr6eNnYTn//lw1E3q3q2fznaUp8Sm4aPc7MNlu44G9V3g3HAX/tLWG5tsfbRvCe1Gu6ew7eencvs2PTQySm6v/O6UCH8RRh9DOJQMD0fS5PfCO3zCJ9SFN3lz9pS7nh1avYZ3mjiqaZWg5GU50/ze9DamoyURfrkeCn0Zly8cx2ev/roCWvbwtOXhgNZvkB/+CG43HUo4MQJoSHLjfx/Qo0r+FC1Ium7viqR1+OUGeQAz44wealdsVp+YSnTmuympnasF9Oq6iiCo755F45xdMmaV1PoMYudpajml55kcaZWW7AiXSl11GB5zpq5/atw9OiiibZtXp02h32FLhjaxsNS8C/W1pWunWrlMHX8rlnFS7x5y+eT8a/L3khTN/8vKu164Cq3gGTrKgnv7GA+2uNlfOVVY7kQC1u9kIEWSNmZ2JTNZ0zGFpNQG3w+xfivqxonFDR98nfs+Hm5VKzXtSOVs0uqADNfXw/VP1Mp1Q0mHq37IBP0dC58I1+xD1uV3rF94SR9GNlUpyOpM0W/98+Xl/yTVzVLu48YEtr53Woh3mdv9/xj/HTkv8Lxl6/9Sdeyq8gAgOxgHbDQ4C7HjaOnUOr7PJKEOTaYI4jj5/zPKnH61t6RDbSgbMpmZfIoOeYDKbj3S8pg7OP3iME1J4jCD3h5XP4/Qz/KXHXZxE5DZS3iHS549LsQnK1uKH1+/8G77Ka6eextntMTyW/L4ZUfl+Pt8iV/2k33UvSLwpSS6/eff6Jy+CbVZhQnYJOvpRVG6YfRw/9fyjJiHjsD++mLwIL/gdVpFuP6ZncK2WOxEmGpmG2XiX9Y/sqCeNQ3/z/9avb3h6QOzu2/Jgkny356X+O1fhJ9QvJZVkmY0J1Sm9vcPQ38YCYqOCcDtC/6/n36ZrveM12+g1XcajSTD+mR4tmXDs2H3wYjRgNhtRbXhjUtF8wtBPj1nxT7uXP/NrxoUwcRkw+xqypb48Ust1ENZvPpKWrsHO7VyFZcmu5yTV5Vf7FMtDA/RbsorptyrsMkYhRT8OstVNlIDljTh+Az/v4Se96A0Utg9ZdwJ3YBDZjju1t0Xlts1JW7TZrQJYxiMa3e2keLR16Z7k2Q9Ne/nfe1biW+ylGCDPgX0WjFb58dof+WjILcCHYIs7O3suX6OrGaOtufB0qUf5NY9X/6yMan8u28w4S9ByydnlNjTkthf7TzsjqhzEzQTRJeiLxzVaf5ZX1f9L0au4ruBhfBG4v9xevmtcZKBMf8ypJdeKG01dTdcf7mF1aHuq/aU6DnvCn0MA9bJJk6atwYWQrkdrOrllbBZuXzv/bgwHHxvW+mEVUnnTkAdVxqB137wz+z5e1D3yw5oVIgIDgYFxM7B7fW837o48C9357EqSLER/PhED1wlYDSnLNKGqy2OHk8l00Ko5JrxZiuLnkHBrFMWb4iT6G27BfOToJQP/GXcjQ8aWMgB/iF75x6K+g3FyLqb0y9CYZbD8fNgYYpWDYN/isiNMwWBHkijCs1VKz+ILwBB85IlSnGzGz2ob5vQMPokTJpOFUAADZpcCqtIqdq8/pfvtt994ARZuy7xBj9nSOJEhv1xEP8Ptgk/NmPGe5WEwUc7CNjBwJDCAn2DaXhwYOj6qHDgRPz4dDZ1morPPEMQr5JK4UsEzSf6Lycd+DA/7S23xfuzviduirXNOH9gZThpHghccWgeulO3Z++oJlQMH34s5wjxMRGZiSgEfiWbgiVI8acA3nH/QV+LSPlwUvKcytbKjc9Hgy8FHDs1vEUcLn3DsWDv/eiytyvMyWDm9JG2Ere24bzP55Ro84XBvnCRnzFvx3JNFkBPqCAwEBgIDgYHAQGCgMQwUflssVkdX6zRDVzFUVmX0an/EYOrqyzyKOQie51a5Mkw2lKuwDQwEBgIDgYHAwGRioNAJxwtr5y/HTOIUWdbAfEN+OnGoP6doHFc8dNVDLwhkLPa/fvyZ2/4ymcgNbQ0MBAYCA4GBwEBgQBko9C6V6GDlKt5ByAmEBu5QdtMLd3EYf0qxIEej6NZjV2z7kcUFDAwEBgIDgYHAQGBgcjFQ2ApH8uz8aZg8XIEVjowhk4m+bCk4D4lK646dF19rUQEDA4GBwEBgIDAQGJh8DBQ24dixq3IBZhWz7A4UUmUrGUSVM+TKB6J3YZZyWbTgufDY8snnW6HFgYHAQGAgMBAYSBko7CcV3P/Me+7dQ0L4KGgGPlGPsv6kIlHpJnqrPU4u7VixfWcaFYTAQGAgMBAYCAwEBiYlA4WtcOAWk6VkyFY1KNuzfIj88FiGlWu7V2xv3Wui2cAQAgOBgcBAYCAwEBhoCAOFTTiSKOHLeqoWM/xbX30ZD2j58XFn7ZA3CTZEy1BIYCAwEBgIDAQGAgMtZaCwCQcuydjK6zfkeg0i/hgMReYKR6l073FnXfM1ORg2gYHAQGAgMBAYCAwcEQwUNuGIytFNmE0c0Ks1ONmwu1UMufiRrJs5fdqqCf6SpSPC8EGJwEBgIDAQGAgMFMlAYROO48/YPoRJxvX48DGiAF3tMMTu2plTZl44u2/r3iIJCHUFBgIDgYHAQGAgMNB8BnTBofn1pDVse3jeBaj0i5hynIe5x1t4y+Mz2P/F8WefdEcUrXknTRiEwEBgIDAQGAgMBAaOGAb+B5nwCpLPLNx7AAAAAElFTkSuQmCC"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["fill-rule","evenodd","clip-rule","evenodd","d","M169.522 122.093C171.059 115.241 166.054 111.136 159.022 108.13L162.04 98.916L156.431 97.0797L153.493 106.051C152.019 105.569 150.502 105.104 148.995 104.643L151.953 95.613L146.348 93.7769L143.329 102.988C142.106 102.615 140.906 102.247 139.743 101.867L139.752 101.838L132.017 99.3019L130.057 105.293C130.057 105.293 134.224 106.57 134.131 106.624C136.402 107.369 136.71 108.93 136.552 110.138L133.115 120.635C133.271 120.687 133.473 120.761 133.695 120.869C133.66 120.857 133.626 120.846 133.591 120.834C133.562 120.825 133.534 120.816 133.505 120.806C133.375 120.763 133.24 120.719 133.102 120.675L128.284 135.38C127.95 136.062 127.157 137.065 125.569 136.548C125.62 136.635 121.492 135.211 121.492 135.211L118.184 141.544L125.483 143.935C126.298 144.203 127.103 144.476 127.899 144.746L127.901 144.747C128.431 144.927 128.956 145.105 129.479 145.28L126.429 154.6L132.031 156.436L135.051 147.215C136.579 147.75 138.064 148.25 139.517 148.725L136.509 157.902L142.118 159.739L145.166 150.437C154.773 152.984 162.15 152.77 165.87 144.183C168.867 137.27 166.555 132.99 161.623 129.952C165.417 129.361 168.406 127.109 169.522 122.093ZM155.149 139.449C153.059 145.84 143.068 142.413 138.496 140.845L138.496 140.845C138.085 140.704 137.718 140.578 137.404 140.476L141.449 128.129C141.831 128.254 142.299 128.395 142.829 128.555L142.829 128.555C147.571 129.985 157.289 132.916 155.149 139.449ZM144.22 122.79C148.031 124.108 156.343 126.982 158.247 121.175C160.192 115.234 152.086 112.815 148.127 111.634C147.682 111.501 147.289 111.383 146.969 111.279L143.301 122.477C143.565 122.563 143.874 122.67 144.22 122.79Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["width","225.692","height","225.692","transform","translate(0 85.983) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","298","height","300","viewBox","0 0 298 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M248.333 237.5V112.5C248.333 105.625 242.746 100 235.917 100H37.2501C30.421 100 24.8335 105.625 24.8335 112.5V237.5C24.8335 244.375 30.421 250 37.2501 250H235.917C242.746 250 248.333 244.375 248.333 237.5Z",1,"fill-color-0"],["d","M273.167 212.5V87.5C273.167 80.625 267.579 75 260.75 75H62.0832C55.254 75 49.6665 80.625 49.6665 87.5V212.5C49.6665 219.375 55.254 225 62.0832 225H260.75C267.579 225 273.167 219.375 273.167 212.5Z",1,"stroke-color"],["d","M6.20851 200H24.8335V150H6.20851C2.73185 150 0.000183105 152.75 0.000183105 156.25V193.75C0.000183105 197.25 2.73185 200 6.20851 200Z",1,"fill-color-0"],["d","M31.0415 175H49.6665V125H31.0415C27.5648 125 24.8331 127.75 24.8331 131.25V168.75C24.8331 172.25 27.5648 175 31.0415 175Z",1,"stroke-color"],["d","M161.417 187.5L142.792 150H180.042L161.417 112.5",1,"stroke-color"]],template:function(t,e){if(1&t&&(r.YNc(0,Zi,1,0,"ng-container",0),r.YNc(1,Ni,18,5,"ng-template",null,1,r.W1O),r.YNc(3,Bi,19,5,"ng-template",null,2,r.W1O),r.YNc(5,Ui,19,5,"ng-template",null,3,r.W1O),r.YNc(7,qi,17,5,"ng-template",null,4,r.W1O),r.YNc(9,zi,13,5,"ng-template",null,5,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6),s=r.MAs(8),o=r.MAs(10);r.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?s:o)}},directives:[U.tP,Z.xw,Z.yH,Z.Wh,U.mk,ue.oO,N.n5,N.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Pi.l]}}),t})();function Yi(t,e){1&t&&r.GkF(0)}const ji=function(t,e){return{"small-svg":t,"large-svg":e}};function Gi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",8),r._UZ(3,"path",9),r._UZ(4,"path",10),r._UZ(5,"path",11),r._UZ(6,"path",12),r._UZ(7,"path",13),r._UZ(8,"path",14),r._UZ(9,"path",15),r._UZ(10,"path",16),r._UZ(11,"path",17),r.qZA(),r.kcU(),r.TgZ(12,"div",18),r.TgZ(13,"mat-card-title"),r._uU(14,"Boltz Submarine Swaps explained."),r.qZA(),r.qZA(),r.TgZ(15,"div",19),r.TgZ(16,"mat-card-subtitle",20),r._uU(17," Boltz is a privacy-first account free exchange and a Lightning service provider. By doing a Submarine Swap on Boltz, you can swap your on-chain Bitcoin for Lightning Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,ji,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Vi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",21),r._UZ(2,"path",22),r._UZ(3,"path",23),r._UZ(4,"path",24),r._UZ(5,"path",25),r._UZ(6,"path",26),r._UZ(7,"path",27),r._UZ(8,"path",28),r.qZA(),r.kcU(),r.TgZ(9,"div",18),r.TgZ(10,"mat-card-title"),r._uU(11,"Step 1: Deciding to Submarine Swap"),r.qZA(),r.qZA(),r.TgZ(12,"div",19),r.TgZ(13,"mat-card-subtitle",20),r._uU(14," You have one or more Lightning channels that are running low on outbound liquidity and you want to fund it using your on-chain Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,ji,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Qi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",29),r._UZ(2,"path",30),r._UZ(3,"path",31),r._UZ(4,"path",32),r._UZ(5,"path",33),r._UZ(6,"path",34),r._UZ(7,"circle",35),r._UZ(8,"rect",36),r.TgZ(9,"defs"),r.TgZ(10,"pattern",37),r._UZ(11,"use",38),r.qZA(),r._UZ(12,"image",39),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 2: Sending the on-chain funds"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," You send the on-chain funds to an address which can only be spent by Boltz when it pays a Lightning invoice to your node. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,ji,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Wi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",40),r.TgZ(2,"g",41),r._UZ(3,"path",42),r._UZ(4,"path",43),r._UZ(5,"path",44),r._UZ(6,"path",45),r._UZ(7,"path",46),r.qZA(),r.TgZ(8,"defs"),r.TgZ(9,"clipPath",47),r._UZ(10,"rect",48),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(11,"div",18),r.TgZ(12,"mat-card-title"),r._uU(13,"Step 3: Receiving the funds on Lightning"),r.qZA(),r.qZA(),r.TgZ(14,"div",19),r.TgZ(15,"mat-card-subtitle",20),r._uU(16," Boltz pays the Lightning invoice to your node and claims the on-chain funds locked in the previous step. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,ji,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Ji(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",49),r._UZ(2,"path",50),r._UZ(3,"path",51),r._UZ(4,"path",52),r._UZ(5,"path",53),r._UZ(6,"path",54),r.qZA(),r.kcU(),r.TgZ(7,"div",18),r.TgZ(8,"mat-card-title"),r._uU(9,"Done!"),r.qZA(),r.qZA(),r.TgZ(10,"div",19),r.TgZ(11,"mat-card-subtitle",20),r._uU(12," You swapped your on-chain Bitcoin for Lightning Bitcoin, while also adding outbound capacity for your channels in the process - all in a non-custodial manner. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,ji,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let Xi=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new r.vpe,this.screenSize="",this.screenSizeEnum=Lt.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swapin-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","323","height","323","viewBox","0 0 323 323","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M53.8333 134.583H80.75L94.2083 161.5L117.792 134.961C121.616 130.658 125.869 126.602 131.194 124.413C136.45 122.252 142.103 121.125 147.842 121.125H242.25C286.847 121.125 323 157.278 323 201.875C323 246.472 286.847 282.625 242.25 282.625H147.842C142.103 282.625 136.45 281.497 131.194 279.337C125.869 277.149 121.616 273.092 117.792 268.79L94.2083 242.25L80.75 269.167H53.8333L67.2917 228.792L53.8333 201.875L67.2917 174.958L53.8333 134.583Z",1,"fill-color-0"],["d","M26.9167 107.667H53.8333L67.2917 134.583L90.8755 108.044C94.6993 103.741 98.9527 99.6849 104.277 97.4963C109.534 95.3357 115.187 94.2083 120.925 94.2083H215.333C259.93 94.2083 296.083 130.361 296.083 174.958C296.083 219.555 259.93 255.708 215.333 255.708H120.925C115.187 255.708 109.534 254.581 104.277 252.42C98.9527 250.232 94.6993 246.176 90.8755 241.873L67.2917 215.333L53.8333 242.25H26.9167L40.375 201.875L26.9167 174.958L40.375 148.042L26.9167 107.667Z",1,"stroke-color-thick"],["d","M134.583 215.333C142.016 215.333 148.042 209.308 148.042 201.875C148.042 194.442 142.016 188.417 134.583 188.417C127.151 188.417 121.125 194.442 121.125 201.875C121.125 209.308 127.151 215.333 134.583 215.333Z",1,"fill-color-15"],["d","M107.667 188.417C115.1 188.417 121.125 182.391 121.125 174.958C121.125 167.526 115.1 161.5 107.667 161.5C100.234 161.5 94.2083 167.526 94.2083 174.958C94.2083 182.391 100.234 188.417 107.667 188.417Z",1,"stroke-color-thick"],["d","M201.875 215.333C209.308 215.333 215.333 209.308 215.333 201.875C215.333 194.442 209.308 188.417 201.875 188.417C194.442 188.417 188.417 194.442 188.417 201.875C188.417 209.308 194.442 215.333 201.875 215.333Z",1,"fill-color-15"],["d","M174.958 188.417C182.391 188.417 188.417 182.391 188.417 174.958C188.417 167.526 182.391 161.5 174.958 161.5C167.526 161.5 161.5 167.526 161.5 174.958C161.5 182.391 167.526 188.417 174.958 188.417Z",1,"stroke-color-thick"],["d","M269.167 215.333C276.599 215.333 282.625 209.308 282.625 201.875C282.625 194.442 276.599 188.417 269.167 188.417C261.734 188.417 255.708 194.442 255.708 201.875C255.708 209.308 261.734 215.333 269.167 215.333Z",1,"fill-color-15"],["d","M242.25 188.417C249.683 188.417 255.708 182.391 255.708 174.958C255.708 167.526 249.683 161.5 242.25 161.5C234.817 161.5 228.792 167.526 228.792 174.958C228.792 182.391 234.817 188.417 242.25 188.417Z",1,"stroke-color-thick"],["d","M189.321 97C186.935 97 185 98.9345 185 101.321V112.679C185 115.065 186.935 117 189.321 117H237.679C240.065 117 242 115.065 242 112.679V101.321C242 98.9345 240.065 97 237.679 97H189.321Z",1,"fill-color-15"],["d","M161.5 67.2917V94.2083H215.333V67.2917H161.5Z",1,"stroke-color-thick"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","347","height","169","viewBox","0 0 347 169","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M89 157.417V41.5833C89 35.2125 92.75 30 97.3333 30H230.667C235.25 30 239 35.2125 239 41.5833V157.417C239 163.787 235.25 169 230.667 169H97.3333C92.75 169 89 163.787 89 157.417Z",1,"fill-color-0"],["d","M6.25 134.625V18.375C6.25 11.9812 11.4812 6.75 17.875 6.75H203.875C210.269 6.75 215.5 11.9812 215.5 18.375V134.625C215.5 141.019 210.269 146.25 203.875 146.25H17.875C11.4812 146.25 6.25 141.019 6.25 134.625Z",1,"stroke-color-thin"],["d","M256.188 123H238.75V76.5H256.188C259.442 76.5 262 79.0575 262 82.3125V117.188C262 120.443 259.442 123 256.188 123Z",1,"fill-color-15"],["d","M232.938 99.75H215.5V53.25H232.938C236.193 53.25 238.75 55.8075 238.75 59.0625V93.9375C238.75 97.1925 236.193 99.75 232.938 99.75Z",1,"stroke-color-thin"],["d","M146 53V87.875",1,"stroke-color-thin"],["d","M146 122.634V122.749",1,"stroke-color-thin"],["d","M344.698 95.3022C346.74 97.3445 346.74 100.656 344.698 102.698L311.418 135.978C309.376 138.02 306.065 138.02 304.022 135.978C301.98 133.935 301.98 130.624 304.022 128.582L333.604 99L304.022 69.418C301.98 67.3758 301.98 64.0647 304.022 62.0225C306.065 59.9803 309.376 59.9803 311.418 62.0225L344.698 95.3022ZM277 93.7706L341 93.7706V104.229L277 104.229V93.7706Z",1,"fill-color-15"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["fill-rule","evenodd","clip-rule","evenodd","d","M161.033 82.5635C162.307 74.0523 155.826 69.4769 146.965 66.4247L149.84 54.8952L142.822 53.1462L140.023 64.3718C138.178 63.9121 136.283 63.4783 134.4 63.0486L137.219 51.749L130.205 50L127.328 61.5255C125.801 61.1777 124.302 60.8338 122.847 60.4721L122.855 60.4361L113.177 58.0194L111.31 65.5152C111.31 65.5152 116.517 66.7085 116.407 66.7825C119.249 67.4921 119.763 69.373 119.677 70.8641L116.403 83.9987C116.599 84.0487 116.852 84.1206 117.132 84.2326C117.096 84.2236 117.06 84.2146 117.023 84.2054C116.981 84.1948 116.938 84.184 116.894 84.1731C116.732 84.1323 116.563 84.09 116.391 84.0487L111.801 102.448C111.453 103.312 110.572 104.607 108.585 104.115C108.655 104.217 103.484 102.842 103.484 102.842L100 110.875L109.133 113.152C110.152 113.408 111.16 113.67 112.156 113.93L112.158 113.931L112.159 113.931C112.823 114.104 113.481 114.276 114.136 114.443L111.232 126.105L118.242 127.854L121.118 116.316C123.033 116.836 124.892 117.316 126.711 117.768L123.844 129.251L130.862 131L133.767 119.361C145.734 121.625 154.733 120.712 158.521 109.888C161.573 101.173 158.369 96.1458 152.072 92.8677C156.658 91.8103 160.112 88.794 161.033 82.5635ZM144.998 105.049C143.008 113.044 130.493 109.739 124.766 108.226L124.766 108.226C124.251 108.09 123.791 107.969 123.398 107.871L127.252 92.4219C127.73 92.5412 128.314 92.6723 128.976 92.8208L128.976 92.8208C134.899 94.1498 147.037 96.8734 144.998 105.049ZM130.167 85.6513C134.942 86.9255 145.356 89.7047 147.17 82.4376C149.022 75.0044 138.901 72.7637 133.957 71.6694C133.401 71.5463 132.911 71.4377 132.51 71.3379L129.016 85.3499C129.346 85.4322 129.733 85.5356 130.167 85.6513Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","313.615","y","82.836","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAACTCAYAAADFh8BYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACHKADAAQAAAABAAAAkwAAAABS37hiAABAAElEQVR4Aex9CaAkVXV2VfebfWWG1QWQRYddNgmCO6CiIGrAKC6gUWOIUROz/CYm+OdP/P9f82viEmNUcCFRUVFQlMUIgpIoCgwO2ww7IjLMMMub5b3XXfWf75z7Vd2urn69vK5+/d7Ufa/qnDr33HPPdm/drqquDoNdvMTxhSPBE5vODuL6BUEcHiDumBcE8Y+DYORT4V4fu3YXd09pfumB0gOlB0oPlB7oiwfCvkiZoULiDe9eGtSCH8RxfCJMCOUvlj/AIAyjoBL/abjHJz4+Q80r1S49UHqg9EDpgdIDQ+OBXXbBEW/8i2XB+ParZYHxHDohlrAAB0QJw2AiCOccGu75sXVGKfelB0oPlB4oPVB6oPRALx6o9NJopreJ469Xg4ltX8NiA8sLLDD8xQYWHbrwiOM5QVC7YKbbW+pfeqD0QOmB0gOlB6bbAyPTrcC09P/bH39EbqO8NF1mRKoGbqbYAgRQCkAU47mOspQeKD1QeqD0QOmB0gNT8MAud4UjfvyCt8Rx9D5dbMg9kwT6OK95xHrtY/EU/Fs2LT1QeqD0QOmB0gOlB8QDu9SCI37sghPievyvSeR1QSFHgD7uGPRmSxj8POEvkdIDpQdKD5QeKD1QeqAnD+wyt1TiJ9731Hhi52WytJinFzDy3OUueOitFNTjAkcU3ZDHWtJKD5QeKD3QLw/Ej55/TL0e7tcveamcmqCY5gGDoFqdf0P4lM8+oQflrvTAgD2wSyw45F0b84PHHr9MntvYJ5RbJ/aYqHgat1FwZUNvp7gHRYWEdQdKWAk3BXvt+UM7KvelB0oPlB4oxgMT9VjeAxS9FXMTv56vPeFDDz8IAW2cspLpixdos/XWGIsNm9XiaOeL5eBHspWl9MDAPbBLLDii3zz2OfHs8fCuLDpSJxN3kDUpjP+9Gl64M21QYqUHSg+UHijAA3Gkc5N+IBIcEAVzkbfeUJq/c2z8zJSzAJEljAgJQ85qfusSLz0wWA/M+gVH/Ngf/GW9Hp8Lt+av/jmkwUHcBmclnnMRqGUpPVB6oPRAoR6QVYVe2ZDVgS06bA5Cn/xcZP1z+eEWJBl+tk0WLNl6d6WjUFtK4aUHWnhgVi844t+883T5sPD3/BQAH/i4fFvFDW77WqwNVqMJfke4zydvbuG3klx6oPRA6YH+eUDWF7z6Sgjh7RYQ4PH5iRNm24O/LKUHpssDs/ZbKvGj71glnxX+I4qj1EZ+VAD0ced9DlLAOIi+MF1BKfstPVB6YNfzgLtmwactxAG4HYIrHQZ9HDRsfhvDcaUkLfhQhQJIPK0tsdIDg/VAejIebL+F9hY/+d7lcRxeHkX1pRh8HGxYRigO6AYrIQcpoFwFqVeqI5cUqmQpvPRA6YHSA4kHbE7CIbC0ELcFhtFJw9xmuH5I8hYnkGKbzoCC68yWii2x0gPT4IFZd0sFry2v/+bar8lgOxj+bBi8GIMcf6jDg1T45wNVimuj74d7fvoxwcrSgwfih9940EQU/lleU/mcJS9/CQNAFOKARRR8vsOq2j7npThX2j3rE8by6H+4Qz447qxUgh0y4T8hv/b368pI8Os54fyHy68eFhHNXVAmhok3ZyV4h8MFCxF7ds3GmwnbBf1YmjwUHph1C47oNz/8R3l3xmnwbu5YFWIyVjkGCW1kBtVK9aKhiM4MVaIWB/vIQu8deerb3MlLwRKjzHM0CEXD/CoxsUkziVqDWNYBorAtubP3sPP5PX2kYSiyYiegiZ/6JD3JzTcwY2IP6kFcC4PxeFsw/uCbHpeF7K2ShLdVK+F/VaPFPwr3+5cnG5QvD0oP0AO6IraPR0i9dErKyX+Xm2iKFv7XaN1nKMlhE4z819wELEvpgWn2wKxacNQeeft5UVR7j/68vDhWx5gMPH+sNQw7DEoQ3ODEya8ShhuCffb57jTHZeZ37xYAGRc32WXzoUyaLjCMD6Gd8DFnWpAYLtarQFfXJFwI2t7BpN7jt/7THMntT/iT/og7GWqf4C6FbLGCjuJoTyGeJvTT5FtSQT3cUh974I03i6Dvz60El4RP/8q6RJ8SKT2AS26SLMwzwtx8FFbWq+NcLuY5MTf/8xhLWumBAXhg1iw44kfeeWI9qH/GX+0nZwF3NsAgBcrBqrjsXLW6Wz5oXCLv3hgfgO/LLsQDmBAREYNwSWOU9EhY0phlPtGhrfxxkWnS/JhaLSnMD/Ij+CobDbUIopc3SGjUh32lSwxKZvtGflLFzKpwniD9nTBWDy4ce+Dcm8KwctGcfatfDsOLy3e90FG7KIwj3NxDzjXmjx4JGRAlm3/ZfPYl+C2yWWp15b70wGA9wFvZg+21z73FG37/aVFY+5YMxnkNA4srf0DZ9KTmoL/yx2DmgB4JRi7us3q7pDhMjPiz5YBB4IgDIXAthDggDigb/ggVBwtorUqmvbKRJgdsC6h/rg/kAxc9hGgLHkIfV6LsmDfMIfAABzQ8hbRbfRLHJ8pDzZ8de3Di/rEHz/3zeP1bl1BmCXdhDzBXAV1uEiKTUAhzvZRpbw388YK3jpal9MD0eGDGLzji+H0Lajvib0dRvLcORR1wGGCy6XV6B5Nr9jxFpAPXTgloE94ePvUzt0xPKGZnrzx5Jyd0cb/S3BlaoyE7d6gIaQ1n8xbuwW0wFP32keISTQc1B6xW9z3tMhO46iY06qtZg/7dhj6As7S3P95beP7PxLaxdeMPveE8wbULti/hruEB5hMSSxMgIYj9Ssj3Q+H5n99tSS090JMHZvyCo/7o5s/LGeZYWN80ucuJR2k4AelJCEx2gsrjr5Tv3oBbBlqyMcOxv8mBi6Gcxj2cPFCWMlRxf2HpP6AhbdG+adOn7IQO6OPk9WUIrn05SB182KSPKtV6R93lfTF7RvX4op0PnnvD2P2vX9W6RVkzGz0gjx5rbvm5pLnh5Txy16cxdwjVL8hXFEBsyGNC4OUFDvNPuZ8WD8zoZzgmHnnrB+Iofr0MIy0YajIkGz4QuOGn9awDRPH55WnuWmVk7r9rRbnrgwfMx00+F7LSGDT0hInQFcaLEEHSJ+4dgXRChFLnWIqgLELI9XF21ClkW8K28hJFtIeu7Y/jk8Tmn8szHu+ct/8lZT52GqdZwse8Jpz2/J9mv8oPb86dePjeI+WL7cfJkuy4MIqPkxl+N3m4/6Nz97vkE9OsXtl9lx6YsQuO2iPnv1Im878zeznJY5gCt+GKlT+/Fgk+4vpVMRCkJAM7Dr4b7v2Zx41a7qfqAX7q0ofaEAfGROLDB93QB/FW9RpOMDLEwLPFq2snrzFDbC2iNCdD20+ib7brqcrL01ceWl0s32u5ZOcDb3juvP2e+cdheGF6WS6rQHk8qzxgC1R9ysfsYm4T5lnr1eXlE2nWNJnx8iRNKw3vUBp/5LLDwnrluCiMj5c55LixB+46UsybS8XMVHgpWEZaCWeOB2bkgiP+zfmH1iaiS+TUJbeEkIJuEOklcRxaWloYUtzud+KyOOfv9HQRVoOLjb/c98MDnNZs0YcTu8XBru5iIWi9NF0BEDJpnejB6HtRds1SiuVIvjTqSZjVF6mlujsGAPZJiWyLY+KEWXld2R9HF4w/ePfKOH7Hm8PwsxPsr4Sz0wPMe8JOrGQuptlOjBBSfLwTqcXzyJWLyvgDdz8zrITHy92k4+phdNzYg986WlRdEMn7bDCFcwwRFq9V2UPRHphxC45407t2m9i6/TvimKXpQLIB5c5p3hV0d889Sd2sO62dnATWV58y58psbXncuwe4wMDKwk7Y3rSRg5JkJ2jGLad/O2PLbORaSNBj0oSd32jlo5f8dAeIgogDs8gDEcxrn70KppO/1AOiaI6JAOZa0tbTJ6GhAdqyDxyjONV9lKSs/XL8e2MPbFkon/5eE4bn1LV9uZuVHtC8lFxhDuYayVz18q2b/J+uRzh2PvSWA8OgJrdEouPltTTHyWLjGBlTS+SWuJrJz4jZ/G/ygbPfv0rdxFMShtYDM2rBgUtuEw999+syIg+CR/VkILM3TwbZkws4rPBkYZ+s9QQgFRzYMtC/Un6CdK7qC5BpLT2DGu7O0I0RyelM2ml8kvYIlGyuIdGkWhClJYRG/uzr67M5ArHaXmBPhSsPQhUmUhN9HD4F+yW/zxy7/5v/LPpd0JOOZaPh94DkB/OeUJXOJChzNUkvQZSWEKSVEszkbP4PYsKXH85cOD6++WVRGB4X1oPj5LcFjotrO3eDKSy8xszjBIrundif8JfIjPLAIPKvbw6pP/Ldj8kq4ZTk7KODUXbM5MwtFczx/EBAJTSZeeDgSDjn4gypPJyqB5KYiCDgLSbEpm7YjhCNedkCopSOyZktudx0BAY8+QTo+nbV+DYAlDEIGbgCYTQcEfdvu7EN6pPJvJU91IsQfMBb8UOmX9iO0NkvVv7hzvted9f8A75WPijn+2u24Yw7YZ/zvxYWf41jorbtMHmP2TeR+Dp00+GVjoXEvkwASSdsYX8QcUBl2peHQ+2BGfO12PGH3vzWehS/GycCLBq4cCCEl4m3quc5CNDOSxGucvwyfPrnVg91lGagclgG4E+CkkDgWgjlQHkcNNzxoy02DZqDPs56E6h7Q70+0I+e8B3kHEWYtmqJNenXZI/IVnvQb6q7YVanMsCjfGADr5Um+Z4MyGu0P/jo2MPnHsG2JZw9HojwtVjEe9L4azKnOaH88EGaT0luMd/y8r9wt9WcFaKX6NG//Pftb3mNpHDryg5698CMWHBM/Pr858oPav0LzGw8V3Cg2UA1N5CGcWk4IDYsRAi5OJGnky7q3X1lyzwP4DMU4uSmhwRaNGxatUlS4qECDOby64QlTG4C1biB5jY0T2Kpshp3eGU0ir46Wl8f7XDQrCaBoJh2BrE3nVL90MR01saurcmCPN8GH0ddXn8mK5Xvy1B+z36xc259fOJieeBuRl2ZNE+V+8k8gIk4N1+8+GMMTDX/J9Ohn3WwJdceN8I4YrrJf9/+crnRz2gNTtbQLzjiX5//9Hhi4luRTLZ6QpBBx2RFAioOqDgOdZpWD/JEBJi3SbKPzwmD/1Dmctc3D/hnQ5tQbPLRCUhiQagxwQSE+Lg/rRMc0MeTernKARzP3yTP4IDmYgwjgLOAB4X8yBejudzR2pRfDyfZUTb7Ux2dTdaT6U0RPs3nZXu1qyv7g2N2PHjHeyi/hLPDAziBal57UPMF+epozHvC3vJ/sP7qf/7b+B/6E9dg3TxjehvquMUPv2/BRG3i23I62CvXo9lslsGpoxNQN7TyTybErV72V4RP+9KGXNklsWcP1OQSR3JCdQsBHkMo8NaFdRYjC5/gyaHheqJ2sQWeFuLWwPoSDqeHTt6CA/o46yFK21hzE0uROMrknPIKje3bQYjQNkByCztzCuih7JJDQerBX8aPn704t3lJnOEe0ICLDUnADU8OBdF/GwEwtpv8B3/hRb7A3WocoO8p57/YX17hKDyKhXQw1AuOiejxi+TKxjE6wjCs9ESVnjyyyctEbpXs/gnG4RcV4tVSqJ2Yxcl6gcFB4NkNk6fyCNSJFDHGv1sgZGOMuKEAGm6LhzRHUIscgQyTTYh+iLNeuYWPRXWRA+qJZ4asHZ4dElzqCPP6N6XQMYSYHELK9GFv9se7j28P/5g6l3CWeEBzFjvkGOc7w2mh5VySXkLuLv8pp3BYaP4H8sWXssxEDwxt3MYeOvev5Cvar8OAkvGnG3IYuMvlZOK3B0ndvXr9xoGFonlwWltX+9i8/Q66yvBy33cPuDO6LgLd5MlJ1IcaX/C6KPN2R6tbICpPeCkDehuNFkAWisls5udEnvZJXsBm/kb57AvQx61PdOv6BySPg2zjQ79P4J3aX69H7ymf5Ui8PgsQu6nSafyZQzCceWhOcPnXMv8H5KqC8x8P2ZZl5nlgKBcctYfeeKY8JCqvLc+u3u0k0fFg46ATmP2Th0W/LK+MLv47YjMvJ6ZVY06erWM8repJ540TumlD2tR168L+PcfuX3P61HssJQyTB7qI/zCp3TdddnX7++bIIRU0dAuOsQffclg9ir4it1L0AgUWCmkhDujjKUcDhlU2ilttN8Bg5ItWWe6L8ECrBUO7CaW5nlcSGPMshPbMBYTa8LT/ydsbv/H4uMnM9sV+CJs919x/qpNq2qRfu/rW+ssYOa9Zg5Iykz3QnD+t4285CmvTfGzffjDegR6+LuzVp/l463rKyY5FtijhTPLAUC044offtiKOJy6XRFyCMYRbJYSKi2cJ4WQ/YRVnkmNSx4YlC6F3f0W+3/Czeft9cQ1klKUID9S82152lQrxwWbPQxgELgFSGqCP8zkHcBgfsObSlAPCQlozd/cUpA8KoI8bVWsc6vTXI7PZ0s/wIuwXv7w8jt89L9WlxGa2B9KxMCz536s/kftF53+vupXtps8D/jcYp08L6Rn3o8cevPtSQQ7gkxZ6PpI6QijYiGOSt5dVo86ODOJYCR60AYAHjsKLQS5LgR5wgdJXoQjuXomiHfoxtEWIfa21F200+ljIMDM0yCKJnaAOs7dbLWRzBHXUAf0TB0RpV69M3i7LX6T9ouP8nQ/85kTp/jpPhRKdgR6I8JsiLue6Ub/b/A+C4u8i41cGMeRQisp/ueVuHZT7GeWBoVlwjD14z8fl5Uwv1kz1HvxMVw2WxHZCMB8Tb3VyyEYCfJUwHJtTCb6arSuP++0BmxCw5xpAe+A84aDWSVzc/NS0aGRb1ifChCAn97rE9F91cvMnoITZdQ6pjsYqQsyIirsVEfGkXtpCvkxwc+VHslbIBL+b4PuKxAPzPdZoII4gi9QEcQSt69F+7T+WMVMuONQVM3mHS81IiWy+MHcAtWQJyB1LIq3GMPAOHZ6OLydlAMASPGtP3/J/qK7ND8Cds6SLoVhw7Hjg9b8fx/ULbOZ3IwYObsrWyb0uF+2VgbCpvYxEuUnz7XC/f39yckll7VQ94J//fbw5qE0zqHRNmnFDF4ushxhhYuGB35qWHzSL7z977x1x/WR51Oj8MIjk1oZO+8mHVN9mH++z/dJf+Bz4pyyzxQONkx7znjAZCAlB7PZwveIhBF7xw1xIGjxEetHe8nPex/uV/2H5WypFh7AQ+dO+4Jh48PUny0Oin9Ixg8zEvJ1kKHGcgGSxoO9BkOndXQEBVR6c09OTMigGScZvNG8P3rBysUcp0cI84GZBhsMdWojkwIWIi0NCqOPjWfU4eQIOavLM6oDj8BmXPibgG9jG1r3u8CisfVqutjwvO8HryQC2FmC/SIUfn6mw3M1oD/hf8+w0/2FwNt/YlhB5x1+MHZSD5khHE0x45H0B+T8oW8p++uuBab0wFT/65n0narVvykQ9N1lkJIsNGMpZGpALC4NcUhAqt2uLWyfYdDg6qLLC8NF5+7/6GvCWpWAPmPvTyQaBYrAI81RoDLmETQgqCxDTaAqTSTVPzgBp8w762q/mH3AEbm18QtWznekNW6F/QfZLnu8Xx2fLa//LMis8gFxBAdRNdglszn+d64RBoRsrwJP2efmnHRS3m5DlxqT992H8F6d9KblID0zbgiN+9B0Lx8Z2fkeM25MG6kCRAw6eLAQfeXycfPqWfRlsgNhQCPUgir4UhufUFS93xXqAJ1hMfjrpYRK0iZGQcfMheDXGbA8tgQ95wTtdFh70rT+W50q+1qB/8fZXxu6L9hty95TqtfMAvpDncoUwyftJ8h8PKaMAYsOShBC4jjUHgQ+scPwWn/8DM6nsaOoemLZbKmM7N10st0OebXdQ0oGgg83ZZXUYTEawwSRjCAPIFR8njRBfodXB527ByAOjF7OuhAV7gJMbYsdJR9C8p9Z9TRB/a5LG2J8o8XQ6aob1KfUFixe9bcfW0ZPEjqepXQXbD1/Uw2CZ78OZiss31So7fr36KSPj8cpaVF1UqdQX1aPKokoYLZKoy53UyrZKpbItrkTbqlF129xKsN7d2pqpJjfozbwnTCo5loSQzX8dC0LnaGFbQJRs/QC+pOI6dhqZQqK4kfs1/stfUzF/zrT9tCw4xu4754PyyxRn5wyHBv9xnBGikgMrYfQI5CNUfncgC4+b5h9w6d1JuxIp1APJQpDxSeYf+RQmMeHzF+ADTn7irNeJCm3dhKVt8UlO40rhhZrSlfBw7y9v237vWR+V0+PHtSFVLMR+U60S1WfUD7lJ7MLxB1+zKqoFJ8s8cKRYcYDE/8Dt627ZXwI9b1xzIg7quBYZ1oMIb7FG/MMoqEd1OemGwURcDyaEvm3dq7ZLBt0nGXGfpMS91aB6SzCneuOC/S+9X1rMoIIRkI6FzvLfzGOK2ZGe4QW1AaMf1oSBH9oG5RCOZzHJioM6vvsw/pESZZl5Hhj4gmPs/nPOiuL6h/R8If6yEwcd1zhYSE0hspY8oBK3wdW8gPHrw4tSOSVWrAcmJDIWk8YFgkQIH3Hwn3wN1RYbCb836UJHx65QdUYKqAA9GsrdgiVzPr9jc+0jMunOKdp+nEiiOBz6BceO+16zX1yPXytxf/62ta8+WQK6EsHTE5CLOY79k67WW7pMFv+FMokcLoIOR8bV5S+cqAfb1r7qUfni0I3ybYYfLawE3woPuuxxyBveYiOgW/sRf8ylXFBYe/Oj2srFGs/QHd5E37b2LDyPdHpWftZ/GI7wuw5LxWU8R/V5yXjG4kKEcJ7v1/iX/v5k2z1nnZ/VL6uPKtaooCkLmuqbHoqm/2/RwZd9ymo63+9Yd9YH5TUq56FFUz5n7E+clfTfZv4TmbQJ8hlrQJR+2g957eSDxy/UzamTb381+OeFB377n9BuoAuOsYded3h9vP5l1crXOsGptsF845HA1sAmczjJ+M35ab15TwfEjvlx/PWkmxIp3AOY+FA0JoI3xsybgBwf+cGob5N1DRozAgJtAOrAdXmgHQ3RLtzz0tFt6866WfLyxELtF5t1DFT1GsAQecBUGZWvDlfqE2dLDF8vJ6HfERjKlR8JcZ/i7+y3nHGZQtlh+BRxzjlygjtnexB+cnTtWf8ZVsKvLqzE3wqf8e1NQ+csGQfMe0LoOGn+T26/mcgxQmjUTvZ7ie/kypMUjjngOZOyzr/JeG3UuLD8D4LdRL/d2LdC1dXlltNH5wmlY+dKxhfUuBIGu5GlG1iP4t2lnwPQhvMYIdSQq3iTzH/WE3Xoav5Dfy4e/bBf9Xe+sR8WcfnXQ/x9++WJhhVm5QAXHPEjb165c2z75TLlLOYoglJcEUIhTkSAVhAG4AwH8U7rnZggviw88BubeVTCAXjALQIZOUL0nAyOTtTITnCdtBkCHrH3Z2LoibSbEKr12/5KUNkyBCYnKoze9+qjglr0l2Ft/Gx5TquqNie1/bdfHOpJz6BSJ7VV4TlV7sKcKvdfPiW3YS6uzhn5yPz9vnlfhnv4DjvJ/zb269mOPGGnbxqVSyLiuOycDE9zFlZnUS5hxoOMDCGq+53/7eLfaD8UkM2dQlRtwQEjd9UVOnZdZoH9tNmPVT/in57P8ZbvARS8tnzHztFL5amvZ2D1jinAFhuIPRYdLonxkKfgyuMe9NTVvtORiQqIzXj99ilNebC2NL6LBmBm2UWeBxAkFAY5C1mnTBZ7oK1yQOWwDWW7tsME5OE+u4RPHbN285i2OOWZ753aj/FTCYdjwbHj3lefvG3tmVcGtfqtEsHfk7FXbYoX7Sbsg/3oA37AnyROAoFr/4TgiwK52Bn/QX28ds/oPWf++9h9r8UzJENTeol/N/Z3ZSj85XwH6OPqV8QQhdCOGvesA8zbwE0eQQu3H2dT9AeIDYXQjrrfT3YWpW15tvt1rtdpt9/XSXA/5j6exBJ6s02e5zJ1A7mlsuO+1bh/8yJE1r+iwTgTQl+dNBLFWUMI7YGbFeaA9PIsyBgfqQO0t4fnHXDkfwbBNxOpJTIID1jMONdrXHK61QhJJSCKroalKVfFiDFX2VovdRpiE69thnMXy9tsMUlbOhZpfxTWp/UKx7aHznxKPBZ8rFavndM4Qm08Kq1FvPoS/1bOlcTQ/JHc0rmCiSK6SGRw5eX1ovPrtq494zOLR6p/NQy3WnrK/y7sryVXj+mMfKiPfIhcxs5Gp/DqtXY40CiYr/EQL+dt5Rc28kM1pQ1Z/Gm15h9sSDRmTRdQLwaZgTPd/ux4YewYz57i7105mmxt1oXHW7PKvex3iBF/iISEMQlEJuLfQeBaCPNEuqse+Jiim3pDcEDFPQg5wiep9EV5R4KOnzyRJa1YDzBRGaIsRD5Y6Cw3JCGEoomB5LBpwEHjS0M9WaoUa1V76TKvLwQXdEbJ2s3jqdoPOfNrizZqJwPeyQvHqqNrz3hvtCO4S8bxOXndD8J+5AH9KUnjfK4TgFMpzZSsPvKJsiLz4R9uq0V37Vh75hvzbBgELdY7/aJnl/kPe7qxf6qfMHW+Rp/QUzYUQj3I7LL+ZpwI+5H/3dif1QfeM5rZklG/w8PWp5dsf7SbcLjspw8Im81nrLuNPyUVuuCQJ9OfL6vfT7IzLq4BsamzHQSeHWzgAE0hcC2E7tAHXEkBygbO6rzqF32WEh+MB1olZDZhJfw6YQH6ONtnIXLBZCC6k+TCYMxs2YvcPlzp20pGnwbct9nHUZe3Ze2XNr8OD75k4Fc4tq99zdO2rxu7UULwsTCMl0D3PP1hN232cdrmt/Fx1mdh1n7I9POAfbGdL1NxUZgQM4TyAUbRXrUo+rIsoC6P7z9ruckd3B46+bpS/yycqv2dPsFBy+EjFPWV7P15W+dxqUsg+LycBo5C6OO0y7fZx1mfhVO1H3ZoP7QI4wx/0HUKz15DZp7+vs0+Trv8Nj7O+iws0n71gShJqPqKbwjVd6IkYRJ3oUH3PP3R1ndrYQsOfA0uqsffkN8ImCMWwAozxEEY5SuouJhCCKPU2YSQIaXBGe6KB+576b0v7QZXP8AoD6iEwQ3zn37pOm1Y7qbFA4yXxjInhk1KIQFQAGVDUhMqjkPyCD6sJY7CQ6Fb0faLS28ftA+2rjvjxVEw8UuxTb554sYlxqmHU6fi7Xf9iyP8vti/TQY4sknBUsfmGaYRobaJ4zNGJ+o364OvqZDBYVQGULZ2+e/b7OOpwuYf2t/pFY6K+As3SvBPqC6EYIpU1A4s+inO/n2dfJz1TbBg+038JPFvUqgzwmyxX2MtJgMy7oRJ3HuIP71YyIIjfuxNi6J69B25TLgHAtwyGM4C1pMX0BIjhaYwLQX0cVebWYDI9/AvtppyP1APTMjnqFZB9AMruC4UHbRFo2QD4ojFiZ5ERHMHQSLO+oHa1WFnMrHKLeH4eblJ3G/7w3CgC47Re854v1w8vFq+3rqHnkA0NhYrjQnsQ6AAfVvpO58meF/ir4lhHXAxCohNVXEQOHROIRLKaNba4XF8YFCbuElsfQPpRUP4gXlPCEWhK6GPa4USrJ76tbO/0ysc+IFMja/6Lo2nT5uN8acfu4aIBTbxVwKBoxD6OGiyDWX+i2o2Tswextz0TWkdx99bZXgovDH1IkqE27du/aIMlaPgeFHPApAzODQwXr1vgI8rnycLMimXUHm8GUa+c7994dLdLoX4skynBzRCooCLmuaB4IB5OdFWVY5eN2Lb8g+eYdu6M0+VXt13z4u2P75lUBbKw5V/LxPkR+T2gzxw6eKpndPGPE1Y5/j7Hn/IRS6YfJ03BAf0cdabhtTJNQXRTyfBpe0CuRj8lW33vOId1mZY9lAUhQr3Yr9J6Gjvj1E/drMx/j2fDb18anIq6wBl833o+7apXStCP+JPnaSPrDh0SxpwX0df967jD2EFfC12+7pX/Y1MSq9tUNT6EuXdwzX6CdbDWU9DAX2c9WokDlzwlO45r8E5wTfCPb6wNWlaIoP1AGLhx8P17pagEkH7A5m0fAUZX4s5Hq6zFngg2OVQfsPpo8bx/1DbC7ZfrqLUFy2Yf9UgDB295xUfkZuxH2CsWsbPt9nHnZJt2zcZ0z7+k+WBLTqQitKz04dQu/J19HGplEM8DfaZrXe/8o+a1BoYof/2T0X1tvHzfejjrtO27ZuU67/9LePf43RCDVV132Yfnwn25+ibDUfb+PkyiHsPcfS8pssqguPt9575GgF/C6VMsRSmpxXWmAQ/WEwEQMNTqO3VAKMpD3oBb9Jf2os8en6x9VDup9MDFkdM3hYrrCOBp2tKwxE526CtnxU4Tgu/vgZIPK2dfmzb2jPeJva9kJoUbP8N4dMvLfwbKlvufsVHxY73Iy7mc4P0PyFt9mHB9ktXqU5p3rTOH1+3PDyrrxzLK1WiTxS/6Og1//trf+ITOfmaL2zcmm/TvhBzxp0waeshWX/2f/ynOvUj/p7qHaP8bJzXYKbZn9UXPmUeALdYG2TcCSezn3WdPkNE/pZw9L4zj4xr8ZfkzYLyVfI0BCkmTbFg4G0PHFr28SvdYoyapxAdYQgaDUcp3iDTqnSP+2H2Pfb4gfkHXn5depnEYyrRgXiAiWvhlgT1gubjWWXQjm2ydTi2OoN59dNJ27H2jBfUorr+FgNSHYW2+Db7uHGl++7sD7+dtiwG23L3K98eBtGf0h4blejLDMzGIzPEC7ZftMjNF+d80TLr/3z+1HfN/My1+OOjd52+bvGqK3+Qcvcf60w/6tS9/fi1mY6KfBTF5Z1sPBl3wtkU/17fNKoX7uEsKVl/ZfMJPKC1KkXHvzP56XydtYdxJ+wk/r6tfbnCET/6+t3ljbnfkcXGIpzwYZRubnUkR/qHjoGlhTigtSFEe0SPEDjqEpjHDw600XdvuAxIOyuxAXlgQvpBIloypgsIjY2LaSvcbwMcMSfU+KsNyIXhKqP3nP4eeYnUNaLVPNgGnX1bWtmbpfttaDehb7/QxoKRyleL9MKOe05/fiWIdAEFHagHIfSB/oS0mxB8xAE72fw27IfQt59288MNoOHwPRKHeoETfUMXxsQg5RLmy2dPcTWuBF/ded+ZzyKlnzCSy86+r6AT9SLM1w+2grcz+7vV2fpu7S/obP61+IKfdvh4J7FnO0Lre/Lxb7Hu3H7TqZU93XqH/BY76k048+xHLFEIzU+gwJa8eMDWdvFHe5YpX+GI43fMGV376Dcky/aHRrjK4DRD5hmuSqFLzUaDOFQ6aSBISW0VMbZ4YVI1idOJRNqzkfCjRXVu/EWVVe6mzQOWiAh/NoZ2QmB9VkHSCVGfh/u0rIxBHcuLr+Zuu3v7OfJR8M+jKD5C+3W5Tv0KtP+LSw64/LdF2brj3jP2rdXq3xQ75vh9tLOHdhO24/dlA2c7Qp/m43496H5prOOEYpBTESHa+fzECX25Ms0sm5ioXR6vPff4ot59wn4Ju9LPKeu3TeZGzpHJ9eMGy5oP5Ef28Jct7eLJvgnb8Wflsx0h6vNwn9ZKhtFpQ2fxz8rq5DisyJeII7tyRL0IZ5r91Jswa387e9iOEPzy8HUiZsoLDlls/LMsMl4AiXoJTpK04dqCP7KTBGbwbfXqKwfclEwTjfUG7QSm/enJzN1GAQF9heH1C/a/4n4clmU6PcAYQwf7hEltGE87Bp+3aExw0NIaO4KklCb34iryfMHzlLHFDmdLXHHhWZM4YDelEtTnxpVwtyCurJCHJ/eVtieN3rPtBLFsQZLWKrBBQ03JfttfCcNoZKTy0W7075ZXFhuflzjtnvF41/bY8C8o/h0YxczKzZ8O2ufY/8zRaCN8X8C3V/zc6SD/O9A/a38HTTIsvk7iDRx2MZ675U9HdzH2N1qTMbXHQ/nWlteysYeZb//U7IH9uuZwHprSgmPb2le8Sz7Z/QEHM2T6eM5g1c4tCKZB48nHadUjUFmVcK3odaaKkKWn5EJVf66yA5lYo4KXdzmJd9q+XRe+fFmkPb5k4cI1g3jor51exdS7TGDGMeggM4e14wwhwy9PBOkspxBNXT2g/M2Va1o/Bs5Faiocnchiw/WlEAQRRxoOmwp1s+Y2WkR+BD00MbBzOkOXpuLqOBLA42xQ1kx1IqsFf579ssT+4vwDv7u2qes+EbbcffrvyyR6iukrCtMGJWQdlO00YyDb0leZ6l7shz81D6Tr7CeubPy1W2eC2WPm0N1Z7ZPcZGgZO0AtWDyFb5dv7Xx98TO/d21T+ykRnKLsU2TlxX8q9tOK9mrKSVRD7emkjWZz/Dv3TqP//AUHZNBHQAX34smpI82/yfn7HX/0yzHRaIM7ouqAKNTdy/90zBpL476FPY6p5wWHfCf/BVG99k/UK+3UpxAn5EQBpZptsRMHHEJ+QBoAfrRPr2gQBzR5Ul+vv11ODm/HcSy/Rw0/1SguSQQjZCcrdFsXfnZPHNDk2Ykt1c/o6Z66ugaZ/mBLLaEFwej2bcHWu1/x9cqC6vsW7Xv5o6mc2YA5p6srBG/lEvUH7PX4EQDyg04ZwmV5b1fGtJXwgsaYEDc+NACXFEJ0A9x1l+CsB29DIaNBVU0u4TFHrD/qhYaN/Nav0Cgf1X7/efyT2F+phOsXL5r3Zw0q9vFg+92vfGotqHlXTxrtmW77La7TH/96VP+3+PGzjwj3vHS0b+5n3AlVMHPH4jBl+zt981di1K4e/8QRHSKN/ur3+J9y/KGeP/8Q5/zUZGWjPb2N/1RoTw+N7rj/rP2DqP4NUYVXqp1EXzlOCgYbHQU+TNop9HGbtH1ZqcKTYTzpAPYmz++zUYYvu7UOje19m32c9pme0Tn17RM/ie89e1lruTOtRpZVjIEHcZbGH6HiSoHfuMFW+hGshreSp7zK02F7GVgqEwPMwylfNXR6mn7oIdVHlrRQUJpKXqNGeAkTGWjvNkGsP4GKoz1o7s+kQyY3SAduBXJQKE/WOu8Ln3bZBqvt/34invhHeYvoslQ/05A9Tbf96jvnS+DqK8LEb63958fcx+lftVvk8Q92A2dJ7Jdn1rZt2PpXpE8d4kMT+yEUitpmUHHoBho3tFEetGE7QmsH3Whf0OFHTJNmcnLtl76Y94Tsw4fQzddXZYHm/qCz0mTfkf4ZedqmG/u9MZ+Nf8OPfsBpXRTfZh+fSfar3ohGQ3wsQnRFkv/Cx7gT+nYTh/14IJql6wUHXlteGxu/XAS6+7sQxWRphOhU1YUBHp7ysy2gFOVx0Me1EtWmOKCPu2o0JKfhrk+V2w95Kp194IC42WnHKe7b7OMpXyJj/9Hatn9Q8bNk587nelIHjsGNjbg7VA8CT7wmcVIcUDatc9BvS3kQbUIV0zbA0FbbSyNCLPqIJ/WOF7LzNuX35IEJtIRZ6vz+IQOFsoAozRGIu8Pu7A+DLyxe9f1LrIf+70fvfuVRMiHoT8wn+nkxoN2Eid1qlOlDlO37aj+6EMHaR9KB0ax3Fxs5gI7Y/Jj7eFLveCkuC1WGJw+dg6YwDP5YXgewF/ueKkzy3usP+lAH4FO1Xy6xdlToB/YNmNjt7LdAmE4Uqjo6Up6+Pg04bCYchP1qj3RIe7Rv5AkNmCKkHEDFZUcIhDggtmGynzr5UP0FPacQf3+R4eMidvIinYajm5/4sqxZ5Il8uAqF0I6627MtoI9Tik/zcav3Fx0+ztYWXTmiB9EHcO0rT57REueCE4MrKcQBfTxh6BLxZUQv7rLxULPTQ+pL0ZQ+lWnLcED5QzgINUyyS6AgWuegthDBCVT3yZGDqEFbQuDol9BiCf5EO+UGPwtko2gfHs76hJUiQNAmRlBUCHZk/SsufaoPUAfc/aluggPqJrsECgI+vToWxj9Z8qyl70r0KACJ4trf4T06EE39iCfdmYFms+KyI9RWaQuQzVYHaTchbAOPg4ndQoPNukBAneDUR5oaDuj6JUQNZBACR/+EwFFHCNwKodYqif3hAHhSiAoUOQvj8Z0fSOqmiEBPtZtQCOi7v/Z3tuLoxH5zCxwBw7GjpwwqRXyeQMXlmFBqNDYODsZ+65/6QnNngKE972eH/RYti6SPJ26BmShmriFKa21/en0j6PQCm3YRyLsGLpRkebUdSZ+SOHwOgjQfWjLZBAo6VCINx8QBtejIEi5AFJFvow0tc9oLH3UwBtNH2+XxS49wIr48i0KcjlV90KXWYqdfs1WYkDyEfQPmFZUnFZQHLtLAT9zBfUCbLaWVzVn76HtCTRIwOZeqb5BnrqHFzGKXykr9TzmEJiqtt4i2zoFm/jTvtC6b86KYxt8pqPoKY6pvGme0zxbqSUi7CVVOHKwJ5yx6TRheOp5t36/jzfecfkJcr50BeYkugjfZMwD7ZU65TZT4mSx9HpdPRL+Vr709XonDqiizRxQGe1biYC+ZxE4Sv68y+9P4UnfCZnsmnwOa+dvFP3zn9nWnfXThQVc/bLr0vledaYqD6v8+5n+XU/60xF89WJD9k41/nhe6jqC78o52TePFo+XJZZ4SctwT9jv+k9lP/RJdPN2hB0rTOU8q2s1/Fe97qx3e0QuCrXee/to4rn3QPgBZNqjy4mwGClQ6XLXjgdNWvy4rOL8228QvA0uLg9rcG2xW6e8dP6NjjT2Gxh7oSEJz/iT6Z/RJpx7rt5/2i6yB/QiX56DCUF5xwoJR8RaLyGRB2aLelhqIGJMICS5qu8MmA1AJWYwdcSefsScEH994q7La8UM08s3v38Npax/tvzWszj11yUGXPdFkax8JYX3C3iY6TfbLF8puFDdeUh2Jv7fwoKs6OnnvvOcVB0zEtdPlm3LniSuOVXcMOP4y2c6r1cI/kr7/Qvuf6i6jf7/zXx6h70jDyrzqH4/U6+7qjZfgSeL7tFTk+ER8thz9Qx/zX8RhxLn+BMBF8vD0x+eMBPpSurT3TjFfd+JhMG9Otbdno0aq/2teGH0i7Z0yQSFOmHINCpOYnCQuuxj9cd4jLHr+kx9R/fXI3MpFtLWjBcfo3S89qh7VvmhRF9VdodKEIKe1lhhKIzELJQZIniQmYPYK6xSCnuEnnVCbsg9ln/zTDPUmtAUIUtuSA3TSVHamA7YjRLXXvdkGGolZ6NsTB9eo+Nm2o/GEsM/Hs/aa61vmhHpYFw/OmQBoQ99C3mTyUd9NgSyehNGOuOoAQq4CqLBCXQhB9XHHloAG+8Nrls5feE74jG9vSuoLQLaue/We8fjoWbmii7Y/DO6vBJU/W7Lqqm/m9j8Jcf4zv3efVH9STvqf2nLPy94YRtGHJRpPndS/k8jLrerI/uA8eQncB/tyBaoh/nkauXxkwuemH4hTK4ufceVjvUjYctdpv23wP3OdEEJ9PNtJ5/ZvmH/Q1euyzafjeMnB318v/WIbuhLff9by8Yntf9KzYh3lf9MErN3JFLkhrMw5dcEB33uQ/bd9hmPr2pfvUY+C70iDRUmiQAkmDaEw+Lni4+zMJmccYUBwUBCmXAnmC/HxhCGDUBenn66yBQfkiptQWzbxm124RKSXiYSJMI+/gSYHvoo+rnzG7NCM/TLpLlm89GMp3yzGfMcIrv51kH73oTAYD2Ll4eSBp1QGXZaRjza2IGF7uRivcvJzgvmR5IzqJm0gF1uTPMptkTPUizCjn+qufVh7s0WvI3546arnvqzoxQbUqo+Pni9W6DfOBmm/vKDxn5ZWq4csOaT7xQbdCSi3YOJlz7rqy0uWzX+m4F/UOvgZW1O8+h9/+VbPnpvvfjJ/wabKtN/JVRpRtXmzXLUc83HyQrLljOsDNqO0sN8qi9036JPtKqOf8gqN9mShb7OPSxTL0sYD8aNnLNy6c/uVklVHwnfmv/7nP+PCuFtMw63VcM7Lljzze3f6ak664MBry6OJ+jflva37qcJIFg5glyRI7CRJZBGhOKCPu4FE3laDQRX1Bh36Ig249GT9Azr5hMrn6ZT0AZ25QQZwQMW1gdAEygadCRUXHkLjd22dPL9P4PpHiCPigLKhb0LqEcpbcQW/QF4AtkOkz7oCn6Cob3J8AlfCJ86lTRBtUcfCq0+APs569a8cAPo469tB9kV9oL7SYIaZksJ2wrRJ9/bLPZ4nlyyc+5EwvLDweVV8hMx/O00ZlP0SnP+1ZNU17w0P/v4Y+54qDJ9yxXa5UnJ+UAk/PfD4R+GU3jyKiZg550P4hDEx3I6Kyn/00c9S1Pif9MTVTwNmqCz87MKWzTsvk3FwIufBTkxhrjEHe5n/ZNE/Jm9DftWiVVfenO1z0rhtvuu+T8rs+rxOTxYyibjJWSZZD6fyMBx4q8kgayz6VX6BmrgQK3/4x4YlAqGPs14dDZZWJx+hawF0uhGyX0LVAHLwB+j4CVV3TwblEKocrw3aoch8/z+XPevq7+vBLNo5TyXxg/3qIw+auS4GLmjOKwyh+VsYKU99jyPxXwPuONTPgrM/8CjN8aNP0FggF4XyiSvR0UlTHsjBX4fysvpAFmhpoS6AkIwSrdiybXzd5jtOex8mDiUVtNt892nHSp8HOqu0F2qBA+Ksb/C58+Nk/syzX57+/Jtlh177wSJM0qsdq66+oFqpfJxxJ6SehHn2+TQfb2e/rNpehKvBvduEtaXvbRwZJYVSn8k/1Ys0aZH1N/iz9veuY+ct6a+sPpAAWlos41NrUWN+SO2mH1L7vVc7pKJKTD0QxxdWtt616RJJltPy4l9E/ieuD+XdmWHldbLw/1FC85CWC47Nd5x6QRDF79DQY2LBhkJoB7pHOlhK4LB1sqS1wFCcTLZX2S6pBOdAATQcD3hKK3eLRHsFnkiyvk2uL1sYwCO8hCoDump7tGv+g634A9TNGqsM2/l9KKeQDaLGtXbQeMmF9rJI+vbSVVd9CPhsK2nM0jgy0Qlhc6MHXZyFzvbgAc6Ci1EogD5u1GZ5jIfV+L1ZC8oGxNZugPp9qg5oB11c+yxsJ8/XCLjqIFA0WSELj/+3+a5Nd2258zT99oiS+7yrxvErIJJ6t9N3qvbLguCaJYde83d9NqNJ3OJnLXu/PAz8y0HFXxKnEtfqpzcp0iHBlhtp/BkPNAfOkvU/6KQBz+ZTvv3gLK5Qd8B2+ZTVV9tIO8qAlsBZaKvcjitLCw9svuunn5Gvt/+u+ZZnHBz53rbG9C393S5e9D+gbiKGsIJP/XHlrXJOwyMYuSU3bFvveumLpO3HIUkVUomC4cQL3J2AoRxwQMXRH2hqmJ1ogEOGypE6Qm0HPrR1fyoa/MJk3RieyBe6yocQFeRB9Kp9GwQOFsIcdtTKhmI6G4+1U1yUIEzsNsUg2Ppz0Pruwv4guH3J7ru9CZ/ITIfZtYc/zCcWA1rnxwF4dmO8kvaUI1B9jliB5v6IA+Zt4l+lA/o4eVVH14fiyi6yqBjkAnfys/yqB9rzjzgg2mhTg8AhCoXisxBtrDvXPoqeEUX1yzff8ZKPF3G1Qx4deCVsQ7+qr3ROmNhtCqkPtM7jl1bWthP7w2DHvOrcPzAPFLuXBzjrc6Lg9yuVSl0U1NgXHf8oiHTx1otlmIgZd0Lf17ABG/4IfZz1WejbrHgvynXTRh74Uy1djqCp2uFkwDYUwLwNvJ3YL75WOeWu0QOb7jjlf8tbwN/OPGiKP/w72TlMnK/xYnCE3wXE8g7HsoFHN0QbOP7C8H3LDr3qS40aNR41LTh23HWaTHC1S6M4GpFnN0SYBJabZoIcO2WgN3BAxaVjQmmoihCqEU45ESgNoTiUcRBA+zGouNQROmbjRzMU8BP6uFGtf8HpHMigHiqvXf8iswj7xUcb5lUqr+rr7zA4m4cC1OSrdy43VB/grlg8ERPzbRainfK0aE85CaTshF+CqjQEN413kgNSpzmQ8Aub8icSGxHWJfyN8kWY9qMQOPgI/bZOaq/2i8j3bL7zyZ9uuueUAxoV7P1o9P7T9xZljx2U/fJtlAvdN0t6V7qLlosOu/YWyTJ5GNvygHEnTOxmnPJksw5Q8Unj/1I895Ynph1N9JS0sbmVsB/6qa2+/e0UmWo9fumygPyfqlq7QvtNd57yl3JO/IskTwc4/4Vx+KFlq675p3Z+blhwyI8RLR6LIry2fGVuQyQSCqBsmswOWmKD7HiMUfdCRSMPd2gDLa8+M9pVttAA2Q8hRXpQNNQjQB/3WLpD2Zfrvxf75cpRTR6o+d0Fq66+v7vOZxi385FqTb91YgJ5k/aMNWLp4a6+OQbiYZXBMwTaAbf2VifZIDw+znrLK9cPdfAhVtQ4BtTVNcRDviuoQ2Eb4krsYNfU3umitkfHhrX4xi13vuSZHUhqy1LfOf5i8UFIP6gPtP8i7JcHYeeMtJ2Q2irdJUN1ZM7/lWtbE4wvbQX0cdZPKf5xvHTrXfce16WKjeyTxb8P+S8/zNfYX7+P9BeVRSjs8G3ptB+/jeKUI9C3333W7FTsbOfbdOdL3im/8PxhzHWW15iTsMFvhI0536/8l3fofGLZYddeKB21LcmCQzoPNz+x8ctxVD+crUwh5A0VNbxVvXAZL6AaCnNhcH5pJ1/uYbuGgPhEDFkG/bapdPYFaJfmCHlKIESb7KdNn2a4yeur/WH4niWHXHsd5M/mkvrMcgJxsA1WM06IweQ+bucjxhPQ8DTuaT9pf838bJffU5N+HAvQ2+meQFjWZE9/7Rf5+0gXP9q87qUH5WvcBTWO9ORIn+S1bLJHOlca7HS2JnAS+8Mw+mo/v5GSp2seTd+REAZXso62Avo467Owa/ujuLcFh7rT8pR9ZnXJO/ZtMHzy/O/oxUt5HXVIqwe24oANZkcK88YjbU350zHUYZe7PNumNaecIzfmP91J/JvzJR0HeY5sig/j6sa/3J75ytJV17wnr20eLVlwbFrzkv8pKyT9Lnnr4NuAsMQRXLV3UHA9dFBx76SPNqa8Qd+QVLGMfK0gLeVKMdYB5slPaYnOerIzfpNDGcLhJtCi7Jf+/mXZoT/8dKr/7MVwnxAbfEno+5eWow6lU35fho9TnkRcUUD9wwDBH2DOBmbK8XHyUnfqBx7q3Ak/5FAG+yH0ZVF+O37Uy/aUaOf4j7avffnTIKPXIs9v6Ns5fX2Iu34S3akf+urFfgnBxb3qOdV28nHlYtqThZBNm32cfIxdp/aLc3pbcGDe7GC8UFfq5+usuDiaMMl7L/8Lvr4RVOUPutFfxFvpCz6UTvkhxwo/jLrDXRRsvuslLwvi+lfEL3ouR8xRNPaMO6HNHRqfVvGgf1nv56QfK/QhM/wVSw953vlCZ1BAnrSokpvXvPjlouJfQ00rgEgaHBkEDiUIVTFngFSgUusJqbAPIUvbaT/t5fttrZ3pYDqmOPmoG6CPsz4L1TronhTiBdgfBNcvO/SgjleCiUozFunMh9mY+HHzcfL5NB9nPdwFnAU8KIA+blTsyWv6Gp205nqTbXkM3NfB5Kd5Ddk+zeelvlno8/g4+Tza08YndspEc2HyocF072xv7eJjBmG/uP7OZYf9588606z/XMsPOfB78q2GJ+A7FEI7Yqz7Fn97xboJ73wv3eflk0/zcdjg5YK2RT0KIXDaSn7Qii31JOeLzP9ibZgZ0rfc+eLnRrX4m3Lmn4OYM+6EsCIv/qSZlT3mfxBfv3Th08+RdwV1tYatxA+fvUB+/VXeSc8Bl0JTPJ1coaBvjCnc+56yAH28tcTJnePL8PHO5aW2wx8mow/2h+GDI3Pnnx2Gn5V7ybtGge9ss5zBXIjN/GoQuBVCd9gAWAcImag06OMmS07w2tYgcOhAaPE0mrK5euDUF3KMz/ozPupgR/7el0kZjZCyAdEytQG4FUJ32ABYB5i2hSx5xvAFm++4vqff8Nh69/UHi7jFWf2tD+urE/2y7RttN33lJui0vrYf4070utHXlS72aYZPOf6HYE6l/KnDSeKvVWlOIF6d5P/UdWotATdU4Md04zEg2jXqa5Joox017lkH6Ldt5NrVjkbvftFRUT3+njxisJB+hX86iT9zHj4jzniZj83XwK0QusMw+MXy6pIzwmdcvNNROgaVzVvX/4l0HVEB2gAAPCxJREFU9ow84c3KpAqih+Z6SzSTleKJMS4RNfPMSxCSKNtOnvEKP9qwHaEpZLJcvcoTPOlfExb9tdpUiMkAl5Odtk9pytlUn9qMPlz7bXG1cqZ7334ie1dBuJr2P2GRZj5ALFAsJuYzP2aNPmfbVvKaYiaMSksaSD8qhDnAvlWJpl2TPGjq4t7EnEPQroSedO/wlHWK9sfxhzbd+aKuP1XH9fAA8zk0oQ6pVsRoK6CPs74dNPun/4cJw0r1liTuBcZffFQZ3fHk/u380lyPWwT0cZH539xzkZSi8r9InYdd9uY1Lz2oXguvktXFcuhKHwP3x6jiUknYj/yXBc1dleril4WrLt+K/rotFXkG8xQ2yioLQ0AD9HHQSCdEPQqhj7O9TwOeTnSc/LPQ5xHc9aFQdZNB6qD/AChaoVCX1v0bH/ewBaWVfbS1VT3ask/gchlXflQ7fMuKVT9cjeNdsWR9ipgbjbGGV8zv+f5hnfGzLWPQVh6+aogCqLjIIUz6ZR/KqOyQa5tP83HWZ6HPIxIyOQWZtCFfPtr7hbpZP2xL+0XanKAef8Rv0QkuVzX3ze+/sT+TRRqOiJs+duzjPo/Uiv1zRuJbTM707WXavSWJe8Hxr9ejp/fP0kZ/Z+MP/5PWGBungdoqOCDx/inXQhJ1li4Lyv8WHc968va7X/zUOBi7Rl5bsRfjTthZ/CU2veZ/GD40d978U5c+64qef7m6Im8kOxoK+4nRKmp8NgQQG9oQUsak0A0OaWl/6Jc0lZU+ZOg/rNJKJtYfqoNAxUUWYSLXk99KDumwG3ir0rX9QXDh8kN+1PWvYLbqf2bS6U9AH6c1Po08PrSIWoR9nDw+zcdZj36As4AHBdDHldh2x/zoNGfSvlvpQ91Yn4W+TT5OPhkzQfyiLWtOObmt8g0MoSw4irdfFuBji5558B0NXU/DwchI5BY9vs0+3plSHcU/xmKu2yILAs1TxpXQj7mPd1oPPcA7XYV9U1/oQZqPsz4LfZt9HP7atYp8HX7lWK1+tZyi9k9zxfeJj9OP8JHvb/CgAPq4Elvu5AHRx+XnAk5dePD3H2nJ1EGFfEsq/o3wLTNeKEalpcadfAlVbzyQSv1lNpFfSpQmVLyxvSgprFgEWH1jLXpspFh30gJkKaqJHKTSTRZkWlEOx+lIDaBRfkOVHmTbN/LTbkJTV3iS7lvbLwumby0/9Dp5hTO1b+59NlPoM6QGcKaI4eI3F2R/YQl/gGxt6B0626BFzHJC8kqeUAsu8n0MLkYVErI5aFLTmDA/mVPt+MNKuESU3COoBHsI7x5ix960DbJpa2pfSkvr+2O/2uLGYxRO/I0cn6a0DnYybuWkCKsbx5TFQ35CgEZpQERgEi/DWY2ufDzH/juG4dmlhQdf98imX73gSdFvN0sQy6ci7Jdrm+Lb3ko3+a89cD4GlNLsf8u1JJ5dPeKnInvaFZ3/QZSO4Z4UnGGN4jUvXLypVv+BqH2o5awzoNv4Z8ZzR/lfCTcL30uXHvLDe6bqthF5//l/ylWOVakgS9z02MMYY8KM8saZtpdXCmFOk/sKjqa4cLnDZOC3kEc2QvBrIjt+4kxuqxf5lKcKJa1NvYY96whR6eMNzKlcym9hv0zAty3fff6bZZBPIiwje9YdmulwEQqh4a3dQtcSWo5Iq4TgoWEwsfyw65JfOoXsQZcda07ZdyysnSYGnio2vlIsXWgaDsB+MRa5j5OJ/Lz5qXiWQ66o/aITH8ivFON9Hpbu8G2LkDRNSBII0vL7gaBUoHweWZ/PNw3UMMCl4N20Z+ZTo7pNStFWQJT8BanfTOIRxfv4lG5wqkWYuDIhePkvghn/ZA50tJZ9Fv0iDn0PB5Q1f3HcE0IvX9esnjSTsKX9PX03K9vbzDiO17583uax7ZeLL5rem9N1/OlYwvb5v2MkGDlj6WE/vLUf3hqJFsz9QLBt7HQZUPtDB/avwvHRBZniPsJkjVN+VFOTDH/StiHbyJwDtZ+0v+b2WQ2pLaBT1UEcZ7lB80tj6xz+jD2d2C99PhGMVM8K9756m9/XroTjbYbMiXY+Vp+KcwCT4qFu3rLETBgM8dkyVQM7XHDYtQ9JZ5/DNrrmhXtPBPFfibLvEPv1V16LtJ9G0ndRPTpHaB0tOGSBIgsj8yDbQx5xQhsCWNRYb6CTZpTGPdiUJyGHWxJ0mhG5dY1Pak1a0FZUECekrd3YL9/KEd92V3BbPdHNV5E4YY5Y6ooqLD5xzCsaxMkT4mcHCi7ap+sDamtOuGPiLp2SXKF+yubbSpzQyYl2kSsc8vtJ1U2/evyrkhsvcqY3Ad937eLf1FgIfnvigBKjiWo1+N2lh/7whrx2vdAqKw68dvO8ufNPkjz9OhJeB5imvkRYOtVBIBC4DjoHyUdIPkK/rUkRGWKB1iPbgCOJHLQu8BZR0AFlk+oEwjqpBA3Q8BSihroAYkMhBK5tHQRu/AYNT2VoT9qf9YH+VJaDefzyjuiJoBq+drdDrntAxJdFPdDodYsg9vYHFqN15i4XVqSN3NUYrrL4sOse2+3wH79bHhY+XD4J323aFWe/7wv0Jcev7tQj8uZPXXCYDMlta6/NKRcHGGqEPm5UrXEoGH1bHTmMNzts+kEYy+LH19HsBq2f9ocxfFtMYWxa6ysrFymcQ4krcWA7+lh7d71afthY5+g3vl7G/7CN/SJcKyf9cNOa335e/KMv5EQfU48/Y2PxMHnN+S/nt0h+guMtyw79cfKW3n7YqBfYFq265lER9jr5us276sHOw6pxtGcqnCY6in+oZ2ChEypLA0NzI5+XrIQN7nRNE5oMokiu11XkC31yI12uIZ8pE+DbyAXor84SOv0rBHSDQ3aHCVRpjkcvlwoREAUDgZdQHUGBChHM2lqwUCH8715x6I9/bEy79t6fRHxcfaeOc/4hbi5HEMWxcgCIkqlXsqt2HMY3RHsZpGs3PfiKE4MtWy4TtV5QlP1qMl2lMD546x0vPHzJodf9qgN36LsiqBshHG44HI8CLwN33s4cukFgLMplfJQnNxWH5gqH5JTpojkmyubo2xf7w7D393CobgyqKEjXu3D4+a8GkNXV5zZoGE8JozYvasf4Q76PZ9Mpa1+n439X+LVYeeboY+K7tyQ+gy/d+FMI53YdfyfEpQFjQ5jkf1z5o2VHXP8f6KKfpeGO3rLDrtoowvt2+aSfimZlbVx90vvh/dRR4ioZWHopyC1qsnOjLkgcD+XZ9GhHMYIAmRyTxBldDlwnnzIAZWHyqd2OvPFffVqJw52yIPN8ThzQikRAURcJ4qwGUx4Omk83YUOzX77f956Ue69nPrljK97/cAAXw321n9Z6fqjZzxO0XXDIh6fklgrFAOKTselon5SJJ/FiX4Ro5OM49koUD88tFZksNqe5lq90P+wXyT1c4UD+e2PBVy8Pz6Op39040rMUCNljZRrYrrDxPzALpqejJ9c8/2/lwe73aO95sc6jKXM23tljNATNF6ANrbWO/+pfrTji+n9Jqf3DGhYc/RNbrKRNq08+QFa4J6vPPN/ZggKTpnOy+FTRBt8yAKJjk++lTnnT9hoctocwbWP1jkto4XXLjxh5b7FWzzDpLgbmzvQqEKygO3MtUh8Lh2sPH6vLHTPxSWXkCh48UX6sbMum21/4ujiu/VR6T362fFLdu7S/2T/xczqyNI70qnRTe7c4TBYYoo/iLh5NsrMByQisVMLiHxpoUqoFIZRvNcmEKga1zq8+2C8fWKotNGhPnnL8dcZKxxhtBRxE0XWqJAHyQIr2ihyyw5TmHTegndo/KHsalBvMwZNrXvDuuF6/EL1lhlMyF9Kf7eqTXKe/2vi3Elb+cbcjrv+HoiydkbfC6kF0PnKYCwtAw1OoodKklx2gAsNxVQR/Pk1xBAP/Tl4WagKAh0WiLlc27h+ZN0deW37d8Eys1G86IUaEbOotB4GrTwnVz3heB3Gz53agMnAWiEFx4hRRWkKw+mHdLz/iupuDSniJ2i5K9tt+nUfEF4DY5MpF8mvPk/lEvqWyQ50KJvgyKcxvaowK0lKMtRgOigMCUR0MGh4vhYShKHG0RG2ForCZdhOqkjACBdDHldhAUQ7ZJRAI7I/i7cbd+R63CJj3hGhN1QAVlx0hkKb4g0/oqhMEYGw5aAHCQYFFzijMA+infXv69C3/CzRhOkVvvP15b4yj2j9RB3GdFkDFZUfYU/zRuFX+h+FFyw+//s+sx2L2M27BIQmLL5u+yaUyvNfSMxy4gD6eNmBbQK7CDSIu2Q1DV+Ml0A3j0SCsvmrps67r+c1rqS6zDDOX2uAQnL70/Wy4eRTPyuDPfGzQvNy4FwbzvZM/E7w2Uqn+Y1H2YwJXn+DEIpsMjv3xnf12fpGT4g7lF0ZCjQRkOJrKdjjloQ6llT3QxRQyIMLdO35An94ShfEy2KR/9Jeo1G/75YS/o1tLMRH3kv8aI6RAK3vEWo2nWd2tWt3z+1c4RC/NFwctd0wfzRHVzbTrevx3r9nQt9j4qxecIYG8SO7pyyku/0/IWgOouMSdkHlMyLgTJnkPCZl8kaciv7Xi8L3fLlczIbmwMuMWHBtuP/El8lrX/eAwdb2DPk5nItuVDx6XDYAQOOoITZ7jB58Un+bzoo0ESJY+8ZtXHPnj25W53DV4AP7SjckNKH/qbwfpe0Lf3xSGiQil1YREvmGG+hBnGN9alP2QyyLv1JGHJuqH8rgVlDnNfQpnWxtPxk9a8xjQKCK27g/8fv9+DBUPg6G5whHGoerCnGq0tZ/293CFQ7r3fWe6Wd4Dnyz/G/zvcoHxQTvgbE+5xUG7OglbdEPvXr70a/zLj5YVZ8I0SH5y9fNeEEd1fFN0hHkANZirjB9jCYg/FEIfZ31e/ClTG6uM8Nrl85e8IQwvxW/vFVpm3IJDTvXntfYIJ0qbPOxUZSc5TXRJfEIGlRAy/asgPp72l8qXoP3N7kfchG8hlCXrAfmuPy7r6uVe+NycDgfbEHEQ3kQdIfkIjV9qld+GEHFA3bJ9D+mxaH+96S4K9tF+uBbyABUXKFNx2wWHfHVzB/UgRByIA2JjLAAVRz/syPEDtOQfoiscEoOlah9u2Tn7fJt9nPW92C+iu7/CQf96PlddMTqExj/iiX7O9wgJw0JoVVwA8CrvAO78Oht831Ff38fAwUOYz9/C/lm03pBnEo+Nw+gKWRrOh5/oBz/WfYs/cqkh/8P/XlEdebU8bzaGfCm6zKiHRuO7TlqyYWctfdeAZq+4iBDeEoeycDGRQK1P2TEwwe0P0LTWMQO4DjzR31h+xE/+PttSWctdEIyMBHF9wjwhoweDJTlLwYk6y1icbE8PSxNMQMrjHEmcztegQYbxOq6hB2E88vNYnlnU/OyX/WI1fcUch1/kpV4r2zlELoRs8Lzekl1jh37cGACwb3O5JrQFkHyCk18u0eovWjru6Qami+ZQZ6rQDsJO7A/Date3WOWqrYVDdGNMVcPJ8l8YyOvHX4eKhcPGCZTmcWdmT43Liz/GuvrO5Uff8r86SIOm5o7JWm9Z/cJVtXjiBxK/JcpXdPwx4cJ1mhLhmmp10enhYVeNTqZjP+tm1BWOjeP13xNPeV85g/dQAH1cic07nrQAfdxxctACGp5Cypfhc+uKPfZ8S9H3upqVn0EUvM2QIVFfi+7O5zr5wL/uD1YprVPz/DAT77TtNPJVwvrj8IHa2m/7s36IApu8JrM3DB5CtX8lz8cna+rX+W3sk5OTmcQ/8H42wW85WHzjvacsk7G7j/bq+atJf2EgrRMNyQuouMiW1wU93EnbnnioO/0LIaTlCWSdz5/H10ca/aB66biHjqJAP/N/Flzh2Ljm5H0ngvFr5IHh3Tt2f148ScsTwjpAD5cr9PfPmxec5l6FkdeyENqMWnDE9eg8eCFdEBhOz2QXDOQjZNtW/FiEgxfQ8BRivEjt+nDO3FeFT7mi66fQ2eeuDnn/ENBw3A5wS26cjtXRBg1vjLGywologm2GlDAc2QRVzVaDtJtQLO3afl3AiB8AFYf/Qvk2RtsSy0kRvkcxSHcSao0lfssxR15AH0dbFInhbpvuev4z7Gj69uG2sWeLKaKiN+sWZH81jnUx1721EsEu819jrlal8U/ywMVOhHavyhRaMA/yRPQt/2fUmavZE1vXnbZnXIuuldg8rd/jf/L4Y34IH6tU4lMXrfoJXvg50DJjbqlsvuOEgyfG4+diQOp7AcRNxG2Qmt/8sQU+8uR6FeMQo8ONR+UVQp48YZuQV72+dsVhN/Y4meRqMIuJ5tSMi5vsNffzxNd80sLgIQ8a4xlqlWnim+QNKyEOJ5boRJBRkLYBomRhW/vVD84pFBB38qBm/DDGir+wRvOm/jwa6sFhOloATIa0skORZzgfdldyrXaMNLxfm0/TTm5ZHA3bkuRJ9BWS4PADSj/sl9dw9HyFo0/xTxIpa09SYeYWsJdXnag/zcHYwyY7au7O6phTqXb0Q1Z/jn+5b9gsbIZQcLVtfHT0KrHt4F7thx+0KJQdj+ls58Am/wXhk5Kfpy0/4sf3Toe7Zsw6cWIM796wJEsuX4rHSMtzHhcOgLkbphfUuT/IAM7CpAeU7YIVR/3sBtaVsDcPZHyq/gaNMYD3DQdMJysXgyb+3rQYfKt6LViBXvttvy4YxCuAhmsfba9wjFSrD/EkS6hewdkCBdDHjarjxaolSqjXBYZBXQ2iMpkNrVFUj481bPr28lsIRyOjzNbUX9Co3/ZX5o082L2lHAHQEn+AGssEIndQQ6i4HBDCDm3jIHCrNWi1Six2l4m/3xl0RwHElrXH7AbV2eJBn7/wr1NIv0WU+OGzF8Sj278r1j3btwcW25/5pJ395LaYp/mMdswD4CbNoODbxOmvmM5vVs6IBUccX1gRL75J/TfpzlwMJ+umE6bgnDyzUOPANnrgpFt7nVAhK44/ufLon/+bqyxBBx7gAk+uF+mJCdDHWQ9R5mcnVGOmRI2b1gkt4ddwYAce12YGAPmxtAMKs9/3A3zVwZsul9YWyuvP5W0cnm/V1zILEuKMQJx8Pg04Jk1C4OAjNDzGt2aeO90hkicsToQOao+DtMmHUF55YISHk8enAQcbIXAx/9EpvZdHBGgBlE11cdBwpx/YGHdCNMy0T2QpUvwukpWA+SEd99C77+O/eFP63kMcv2POxo0Pf0Oe8jk5ySfpRePK3jLxs5i3mf86iL8sQsbDSuU1K4/86U3sajrgjFhwbLztylOjqP40OMi/okG85RUPnQ2kEaCPQ5AWRgrQx121AAnUj1Yevfh9KaXEuvEAB1OrAeaHxceTPnyijycMMwOJ4uAk3xfU2jfJx1nfkLc5DM1jQPI4jrYl7Vsg4VFX49PO3Zr3KrfVGPDHhS0m0AZNsGF+JPTnSnYLm+Vk8/wn73jufqQNGj6x5kS87v1g7VdtFYwGYNwrDXZiQyH0cau35pPYHwa/UBE97HzVkuY+0ccdQ178jdbKnkRyYQjzAB34Oe/j7Nw3ycdZb7GRI1R6DJJTyU8FJLxDjOBD88bVq78kvjmdfoC6nkkNeGJKG4ZO4i+3N2W9XTl35RE/vTqRO03IjFhwRFF0nvmHE0H+YGIgAfM2TCTGY+2J5/FqXRjcN3depXxteYHJaTGwiUnj4GIkkdI/nNHwB6gbcUDdClSuT6LxyUbmjZPzxPXHfvjCFVkhy1HbBQe4ZRqykyN8y0I88bdorjTMfCLb4RorwfWP0MVD40V5AqU6jCY4hr2KQaG14Hy1AbpnN+gAGgtx8uE0oLTO7BcP9bjgwLdccvzpaIne8LHqA52pN6GQcD0dBRAbeAm1nVUXuc/Gf7K+es7/OBqaF8pNZh/rNqz+wafEVvmWZWPp2X6NPeNOKLLz4h+E71x51E/lysr0l6FfcGy899hlksBnYXDZeDHo4zbw7FMHcJsaxPfwv7dhIOAY0MfJw7YqL4xHq5XgVUsP+dmG6Q/TTNQAg8D8TIgj4upjPYZt6YBBLFDSmBhu1Jm537D69tfLQ4srBmK/DAw56XW04JCHqjs4OTI2FjuLAGlpbNJ4pePQj7VMrOfJxvAOLJDx/S+cLx/wmib6zhWgrZ3ZL28z7cCnrXung1J/pj5u3cqr4aIC0Mc9lqJRs8H85ee8j095/Mfh0Lwyv50/N972O38vVyL+oK/2t+rUj7ng8mNsf77yqP/6XCv2QdOHfsFR3xq8XpJzPhwjE6n6B9DH6TQLKKc5ORKH6x+gCwQh2qCO0MdlkRhXgsobVxx1s9znLkv3HsBLv2zC4Ve+APEH/xMyFoTohzig4SnUiGkcjUbe7vUbXAtcSpUHFt9flP30EyEsk9s3v+3EwmqlcqPvY/qTEDKIA+ZtfkyAZzfYbbRg/w2/eq58cBhseWLz9reIVsupe1Zfsy+1DdoZzfQkzvZZ6MsTS+vVOQF+Gbjnku3Pl+/jWT14jI4pw8fTenlHTqEFD/anecD49z3/g2jfQs3ok/ANt534fvmw8YG+299yPHrxr1T+94qjbvpIn0zpi5ihX3DI15/OZwLLE25itDyEJlBxD8ooM4cQ6pGjuQFgA9GbXIRXaWjjbXL017sfffN3+uLhXVwIJz9OeHZ1VxYdMjv7eKt6uA98LMTZnvRhhRtXX/lBse2IVvaBTj/4uG8fbYaNxFvVY3yEQeW+Tvyx7PAbfxFWQl2cUJ6vg4+zPgt9nfL6hAwUhfXoExvWnjCwS+Gja164t0z0H4ZPWhXYg0K7fJt9nPVZyLYqJAj+a9lhN210eFcAX8DL6y8jv6P4W8ewmXYTdqVSX5g17tBE8iDPPp/m4/QzlADOQlxIxwq/V0OO4YEbbj3hrfLsoZ7wYVuefT7Nx9vaL5YnvmjwgsVaSP+6+5E3/Y/h8YZpMtQLjidWH7tK3Pcct17Qz0rA4V/6mBDmND1AI5VKcw2UV3buUD2gNMVkp3Xh1/c8+pf/QFIJe/MABxhaA29V/EED3B90lNEIjQciJxHbqruB0jeu/p2Xi45/U6z9mMhgFnY2qVWq0b2dGKpvy42D75svO5sQG2NhfRvN4pHiJk81c4GSuqfK0yUD+8S1c3z7J0Sr3aATJ3CoYnmWr6+fgz5udplNjTjkOD+Ewfc68XseTygzcdf9ubibe9P4i0ZOp3QxC9nY8BLgogv0oY/QF/BWBTqhUD/wAmf7Zmh1chVv+cbbTm77m0EmffD7Dbed8FrR/bPoGTa0Kr3abz5W6SLfoPRkfYXx11Yc9fI/bNXndNKHesERT9Tf6idc4lBOrh4UV6sfCe3ABdpFR+sE55/KczKAS7Ru2X2f8PzpDMhs6RvziM0l+MSNgliI53V0GPRjS1w5bQQBbSrZAdrEMCSEjbcd/664Xv+O2CW3VFCKsV/9LDuF0ov4J96tsqCjKxzQSvi/x9uTOO6+uDHm7KOt1Ad2k6bxD6K3r7/td87svp/uWjxx23PeLFn2u5Zv0jPGvWywlZB2E3bXA7lT+yuV3hcc8gVlNzZMV0rPwmz+q59ll/rbcLbL2l/0mx7lF7Tli7EWc8adUOPfx/EfhLXfp53DBDfcfsKp8kT2v4u9VfoCsN/2Ixc07oRwQhj+YPejjn5TGF4o18yGrwztgiOOz5ZghW+UUagrXjgXISPUYY5JBD5FEoPP4RoEJRuNkw14dAA6frBrW8AweLw6d468tvwX5WvL4Y8pFsRFY+PB3kT6UjgpG+Rk2pvcYlqtv+2kZ62/9fiv1qPg0zLi9at7tKC3HtkasNl+oWhOK4TH4/DO8LDrRjvua2FwtbRKft206SohenUv3OtEZqO21oI0HGGYhlH9Gxtuec7ZncjrhWfDrce9VTq6KK8t/ISS+MvhSgTubAX0cdZPAu9dccR/r56kvscqeg/QYk2o85qjtbIn22nRFzjkMcUn0adpa73TgqwunR2zdZ790Xmb15yoL9TrTFbxXHJl43eienSZrB/n+pr33rMvpU38w/gnu++512vD8LPulzN777WolkO74HjiF2tfJg/b7APDO1owOL4Gfo8Guq1IHMQCBgsPXcjE43I38DUrj/h5z68kVvnlLvFAEjNvkrRpCCwcREAdniwC5VhpoGPD8pHQx1kv1dNcnrzlhcs33vqcVz5x6/HfCKKxO0T/1w3WfvjCinzCvJF4J3Dlwf+9Rbz69Va8OkaksrU9jINB47eJ0ccthqan1M4R7D823Pact7Xqt1f6hluOe6/I/pz0LXOb9ZfC7qWaDe3tlw9CU/smAD6PMu8Jk7yHHcj9VvlPO2EfcUAfR13xpRoF8q2+yeOf6iX6qK0O0m7CNvZLbJZPjE98oXirOuth423HHS6vcLhSbFqEvLHcSWFqN+MyNfsb5YW3jcSLXznsv/NV9BW2ziKVwyUhOa+ZjEBx0KGWOCBKpl4vhwgNMKda+WWlEVbiP9zz6Nt+Ykzlvh8eSFwuA4+/aQO5FhLQXC8KESM7xlxjPHbc9NscKk8iBxjH1fWrn/OGoC5XcatyQQxF0AAooJYsgZWOP3OYyIJMFMj15FfqMpmEoXyqimSr7C56HFsPR4+QD8S2eIcdfsoVaD/Uo28B9TgIblCki10lqP5bPai9BU3UryLKJstm+eBJYqcNQJBNbEbRug7slzdzVMVnn5NF2tmVMH7/VL8Rtn71CccG9egf5WHyF6giTh+85xTfEND3nUI/hwNqwWu4wetex92L/eL72vw5wcUmsMc9sgeqyNZp/qOnbPzNFpOF+ib78bBIgSWqhhsCuYzCHDF/iv9hmBSzrT/j3wl81eO3HPfJPZ69+L1heF3RF3C0y7zdptXHHzBRi6+WPNoNMRiU/S7+6xbOqb508RHX6Q9E5uk3LLShXHDgMtnOndvOwH1NDig4zHCZQFw0ccmTtPx6aS8VTHYdzaAkyY+JKP7nvY5Z/Xm0L0v/PcBYEWYnoGyPFk+Lu9a5E7YfM+BO3py4Vr9E29RsgaAnlBrizhMK4i0fH5Ocqbuccfx1mwxDgdaf7OV+iE7cINTw0TOF8tNUMqdo3gjRZEUuT5UPOydKUddvQfaLK8wXBoNowdwFP0z06BBZcfR//eSJW46/Q8bCoVSdUCdPyLHzhQDzLSBKU7yUqFW6o92Evr5gkOOXisRT1t963MVBFH5596MX/aTTE0e85uy5G8YeeL4s9d4S12vnqivE+dqHC4L2qycAsyjbvy1AzCboQ7sJYabik9gvi5zLFx9282No33ORHyNT30q+UEeVxVwXiGL2WMxxTF5AFLUHbZwlWfsloZWvqN28BSMbdo6mV/QZd8Ksvlk9wEcerevM/gvW3zr67A23HP/n8hMUXX0tGeeasfHxl4Rh5Qj5APNb+Xbip7I6tTtef8ex+0yMB9eIy/WKvHO9NqPdhLSN8crK7sX+kcrI+YsOf/n6OH55savJrLIdH/+tfEazFf1QLjjGdm5/g2TdPLPHjfQ84zgrEGZmB5IJIYmnChUXBj/c65gVf5onuqT17gGd0twE2CxFplUNKeOK6FhkjJd0g1bD05vETxorzZfv402fWDFJY2I26dqbHCQ54fCGCYDM0iR7hcV1bipDc8dLaL1Mti/U/usXHXrDbybrfZI6vAnRJtsB2y+fwquy2HibePNtG24d3fL4L4+7RmL233Ll8fGoHj4ezqmsD+tRRZ4P2LMSxHvEUbSXROa5T4zf92IJ66LQWx/qlQpLEDUVphQdf5lM5dsw/SouUTXRLM38OWvK+c/E75e6GTmLD9p7485b78NwaNFTYfl/knwYkIXzcT+X24o/qFbCm+TK2T2VkeqmJavqWzbfvmDxRLxzz5Ew3GuiHu1ViStHSq6cNj4+fpxMGRV9ZicIbhdzul5wBGPBp6X9ARlXtDjsv/31qHbD+luu0P6Y64AoufkvdAZHhwr4wJxT2snLadJECoMr7hLiIagYygWHBO88m8BttUv3ICmAG8REYjggima50lq6T3kgQ9junT9/0TmdfprSDspdhx6owcMteEl3MZNU109lnGBd6NJzXmMONAttHDL21XwMapOPvQ4617CR24h+tii/kK21yyk5snzUzFGc9klPDfrTFta7bj1AyQaz7Wk3IXrkWPCEeGiDRf/hVXSFrpy7/+eeGLvvL6TRvpQIATqmEh2Kt1+uFuA9HfKVQtnsIlQQT9TUy7iihBnA9JM9EHfkDkRfi+Cg4i8K/OceR998HTSZWrEraYw7YZfxb2v/1HRs3zoML62v/+Wxj0gUnp7PXWj+46V3x4sTjueFyXCiHuy8BV6056InXCZFyCTNn3wtu6HKFc8ljbfsbE7Il1Gs/YPO/+z8lTf/0WL4Y+guwWy87cjDZZI71oLFjAD0cVfrRiUmRZuUhSsdqcbk753lstjYKpehzuz1JT2+yBLP9wASMfcPscJfi5jxRA1oOAev5QDaIhf4h0OlGVnrQLN8Ma5GfkdDnmiueBCSHK2VftqXp0G2f62HyFZ/sBt/gNoX1FCFobSz2WB39ofb51QX9vx7CeFhl45L539nurTWD7qjACrubFWyh7O+CRZmvyplO1URO6ejg6avo8Hn6ncPgs/RABkXQhGokgghSZ5/+Wsc96tYzHuJv2hAuwlVWxyYzdgPqNyQ9pjB4Ff8tfBv4fa7/jX2gqvTCHt0ji42KAo+1v+M3Wa12T209ltcNF9axAdWodA6HCoNZA9nvUFtoruhW3BMTNTPT9Uz49QSmOUSo1WyGh9aO+uzUNrjl/MqYXjuymNuuSPtp8QG5gEudwGxIVSEOQkLvTShgaA0pkTalvLAA5ylW/6mDiCIQoA6HNDH2V87SN2oL8QBB4RI2ymk3YQqGnwojp9tK9Xgc8uPvFG/kmgM3e93f/aSi0XeOmvJDnDEToE6fMjsVz/4vjUjUtVpDn1N/4OP7bQNbWUDEEkD6nCBcu3pypXH/OwmbdaPnYjuNf4d298PPdvJiOPrW7LQ1/Q/3AkccBD2sy/2D0WBD6qwL/Y/dPZDIRQXkARXRMiuvsfxP1QLjjh+4Ugchee2NNbZnILJnZP1jS5UovCv9zh2td3wSgWVWL890CIhbdGIvJWpFTwy8Ah9PKknXyJP2gBvMSBUFmrZTm7Qmnz05doSksdBv23iDu1LBVq/mChA44SRhawD9Ns6gX4fppfpSnk+TXGRQWjyKFeg+kBVmQirlY+6LnoGuL0orvkT7Y9SfBuAD6H99ANUpu6AihcV/0owFo5U/pRu6gsU35rOBhWnHfA9Nj0rM/aAKITWTilsl7Vf+YvdhXPCH6uuqi/Um0w/p7MbR4XbD13ajP+evMN5QOU7m2k3oZLNF7DTt3Uq47+r+Kt+ogMgdXBQ9fF0VD+AD8XxT3X8D9WC47c3rz9dkmEvBiML5ROFBgnQx8nnOxC4PtrhIHDZvrr3c371YfNguR+IBzIJi3GpsRGguMZSiahooGk94oZq7BTxoKD+IPFxqcovvgzB9dBBv4qN3XATzaCdFUI9ytjXQMNBpl77QE5KlfWX2tyz/WHwhX69Q2aPY395hbwaVd6SaIW2DrX9omoyBzjcqd8M/CALrocO+lVs2Mp++XHHD+1+5C/wMFwfS5oL0MXXzUsYJo726+e8j/dRqa5FqV9C9wOCg8h/0bCf8e/aYDSAnb6tFOLTBNeYOmj5lsZcBFi9g4XE3zq1HBLc78OvStR3yJTHv5MzVA+NysLzPHw5jIbDSOAc9E7nlkCWI9rCIBsKTcnhL/bee+lbWzYuKwrygMUkjSIjalHGRIH7tpwsVQk0YSFOCLqHN0qTOqwsMch1tQlekU+aa8o2cpj0zXvHyB3Vx3VCPKlvo2+W35Rt7DGlQb0p2h+G6+fOm/cB2NKvMm9R5T07tkXyeuZ4j6w97fTN8qe2Mmj0BWAf7IcM2UwaEMEKjr8sNn658tlL+vqbMPqlWOiNQlf5eB5N6hu9CcLk9kPkIIpo8UNR+Q1pdGhAo8bt8inxBZtDeQ9vlCZ1bexHU7aBKM1XNwZx3EtB7KjUrpD/9Fniq4Z46KUA9avV0+N2NDRXOLbcfOzuMtm/EoFDEmLDxEGoOAILmvsjDqgbUgm4phTTCu4Jfjt3bvWs8Ok3Ja9wTpxVIgV5AHFA/CDeoIaJuIuhRQknXYsauIGzEGd9FoKPPMA1Xxz0cdTlF1VQqkxf4yENR8St3vpqrW+Wv2j7ZQC/v98PPy991i+eEMPf1eiL4bQfOg42/uEOeRXc+f3+dhsmYtpB6NsGWt7m8wD3c97HUTfIUqniq8Izdfx356nGk2jjfFH0+Iemfr74Mffx1hY16mt8pOGIOKDNe4Tsl7CxrfHTfqsbom+pbI+2nyvpqb89kYwsGKvWmPKNBuEIdBTWZyCsDYNx+bnu16w8avUjxlvuB+EBiaX+IX7AkphaTIQoNMvGFEIxnya4tnVQj4gD5mxIF9ABfZy81gXyxIo/KNmOMK895RBCCnAW1Rc091ek/dLLFbsfc8uX2Hc/4V7H3PJNuTL0YfqC9mYh+pwu+7O64NiPmY+Tt0lfFzvW+218PKkPg7euOPb/t3etMXZVVfieM3f6VCxtZ4YpD1tUhLRAOzNtobwMglhNeBiRYtSUABHjDxOj+E78YQw+0R8S+SMxEiQSFDUgjxgaUAq10047FJGBQqEPoEUstPIovcfvW2uvc/Y9c2/n0XvPnal7z9zzrbPPfq1vrb3Pvvuex4YmvDPFWc98iYiP+JND2TOZWOPjt9mXLa2rpekw5/QNj8IYDzXT/00nH32dfdnSHNr+emvyWMnBKzjSLGIv7ImtsJ1c+o/cf4xHw2F8Uudh+mf8VE/OJGnLNquphJjKdSS2ROO0TSabspKaaSWXpE7VZTkSktJ1XcseH9PT5zRj2DaEAbEpSiLyo6NAOgERmyLObCod1NIxLYMhRS6ZOvRlicRmWIf34jSN8wvzGinOtQvysPYwv+nAAlz9gpAlu0NtWVVzmdlVCzS9DGvV58WlelvBUr3uxHE8VJ5V/qwW3pxtx5JLvg3V/jwR9afti7Y/6vt+R8/G25vBNk9avu+J7c3uhp79x69/c5806nMDE/2wWf4/fv0P3f/99o9axuPiaSIzk6Hkb1L/b5b+vg9avzcUfWDUFNkHuePQ9DaUdKa/7EyQFY6X1y1cjA63mA2lckSRcVIwtGmFIVKqsg79vCxDyomin3Uve+IWp2uAohjgmMZ+7fftenXTcAxENXaGUgY2KapdOYiZjekPIhOZUP4tT67MUZTPprD8usGOEV07DNkOqd8hZQmGtQodh/542uTrcVy5bPb7+vfWKrJRcXzFdTTzXbhrTJ7AqMVSNwbRUbkvWn+/PrE62mJ/TbN/FP0Bk42GPnNDiXTbovy/uPlGae7ijfegM29J+0GVwp7eFIvSn+5r4wDltK9ix3yb7RlLcJPFovp/S/zf+DCOhLex9/8JscLxTkmfvSEGg2JyAskpRJJlbHYoPgNDG9rTRw0x63qga+mirxhPAVvFgDtByahjndohbKmdVNG3/2hb6+bY8AP9g/eIRJQP/YgyUWTuMq5OECfDMaIvu+Q8sTEQVc6QsRoMNWUWh/hce8aqP75M7Eva4pVzFm/a4iprKnSc/PfXZ8Qx3jURbVJtWqt/Xtli7B/d1TntA6vAgW/YfFMOax9PyIRrOG4P5Z+5Wsalf66MZu2SL7z78FtaPnUTJTOEnmP1/3xbx6X/GPjN11d73+lWQP/P199w/f0xz5ddxTrm0ZLZuKdxxgETUrbgyxNghSNZ39sOr+O7U9BCfAwpy/KNQ8iimENVUhU31QxhhKdnTGu/go/ZtbiARTPg7CnVUq4dfJ+mTLsaUtZSDFmGykSRnb9w4Ko1YFvNmho5+G2EOeVbif62mE5SJV5zZOVZuVqCtlfb6LcdWV3Q/NY+jbQ4S5OhX4bpbUhNtVZFELMviaOPdi0ZKPTNxu/u2bh76rTp5+P80a/tbY3+yqLjwphpsv2h7x2dPbMulyexZmZruMRvfmZ3w7z9G6F/wxs+QoFzlwz8EX7z83rJ1J+y+T11bqb+I/X/eu0cfbz1de25ms/ihpcy0fT3x1CVYRHvnKztHX//b/kKx64K3gqbVHiHiljDUHecoaiwnVAc+sSkZsQxzEdeS8rli2edNnhYT11MywzCuBigfeQDu6ZYw8a+HSnLYOOQcv7DE7k5vZzU5Usn/INoX0ANXX4qkJYDQWQiBR5zKLJrI6e3MsWVtjgdqBP/DF1axlnI6zPW9GyK8UDZ+zwfJ+3nFT3ZML14J0w5af8wGvRwi/QXLoq0P17+9auO3pOubPQdKcapjxW+Ldb5vaFn+9QPDld/v86i5I6k/avoIY9ZPzFk/dTV0PQ2bIb+7OtSLpECgqHuHd42r08D+3/h/t+o8U+/4imvLZ9wJMnB1ZmJbeAm1vowpaXxZZcWjy3H8U/P6338nzwaQqsYwMvb0Iv5obkMKctg45CyJlEUmYMus/GkLoNRhpKbpmYpLAMfjhmGKnOiwDjNNxztmObDVvITfTktX9qigxLbxbJTdPX49VFX1tlQ/UulB6eX2ns7+vo3oMqWhdl9/Xs7e2afH8XxjcIDWiK6OjS9Dc3uhqQYbAvVRP6JrR2KLNxpuSxHcjhUmeojJ4vBR7l3dnHt8O3BMqo/zJflt7KIqRwlb2Px9wudvYNXF7VKGmMkLkJ/sld0iPr6D0wptX8KFL9Cm+s/pYlm//EzYz7WlP5PRydpZIzgkHJT/N8vHxVIPUD6J+tLkS3BQcYdSn+9pBaJEFo64XhpcFEX3rS3UpRAY8QBHYo7QpkUPcXS9F6cKh5/s3v50N1ULITWMpA5oHNKGI2OSu81pMx0hiIjjSE9mYcNfVk9P0tr9VFryU8BQepyqLKrH56FlEyCYKh7/lbqZAok0Q/bTFnbzjIpE3253nFmlnZoIZKXcZZedUUFKA8J38At3d/o6p39kaP65NkYftNaIvPbflfvpi+jeTiBJK/7Ovuy6ePHmd6Gprch81Trr5xrXLWs/Cj3lkfyi61QjgtSF2SiyiPYPyo939YWn9PVt+mXVkYRiAUO8QHTJdOPjVfdSY/J2fGMs9HpX4Q2w+vAZPX59nLblVDyzQlt/+FNHzkGF+CYf9EGlIm+bMcRqX5IY7o0hmI/lzezL6pvqP1H8P+ctmwmg2sucOzj34RZ4ajsf/szeNNe2YyjijkNRc38xo4RfZk2iW7rXv6vH+RzhP1WMaA2kk4EW43axr5ZRcbGkIL0AId+b6ijptbPbNoGJrM4X86OWzpWmnXOdMBALGULVla9/Hp87PpjIv7XqNR+amffphuKWNI3fUaLnX2Dd5SiqUtA0b3M02j9xeZmd8Mm2h8a8Ar0m6dNKS2eu3jTutHy0PB0oisJdR/RmbW4iAb4P0trRZizZOCBtlJ5JZzl9br1F6C/9Vm2wWTrp3XbNcKBye7/9dqvY52OgzbuGeb5Mw4N6bMqZ+S1dIUD126sRouy1phM9DuW62ymCFFkNxvEbdDru4859uqsoCBNXgb0Qs5SiejLtTUyh059InVyN0BLNs/HahdTN9YuKJWLzfiLHYLF1c10GAfwg8wjUdR2UdfSzRd09fU/cxhFNT0r29e1dHAlXhz3SVT2QmMq9G3uy7VLb4T98WVlY1spXtHVO3hd66/98nX25ebpX7vk5sR2LB1YE5XL5+KkNVS7Bl9nX66duhH2r11yq2J9nX25dnuarb+NdY0a/1o24dj52Af7MG1YpDTqyQH72OVW/3hM4zRVfptgHRKO++KUg/Gl0YI1b+aPh/1WMuBO+P7E0SaKDv3OkrXUlg+Iej2EoaaHR1iZ8A4NhlkpqSRpsUd09RrWqt+P8+W0vJzgp1E51z5r6yHqhxrv4KT3p6gturBr6eNnYTn//lw1E3q3q2fznaUp8Sm4aPc7MNlu44G9V3g3HAX/tLWG5tsfbRvCe1Gu6ew7eencvs2PTQySm6v/O6UCH8RRh9DOJQMD0fS5PfCO3zCJ9SFN3lz9pS7nh1avYZ3mjiqaZWg5GU50/ze9DamoyURfrkeCn0Zly8cx2ev/roCWvbwtOXhgNZvkB/+CG43HUo4MQJoSHLjfx/Qo0r+FC1Ium7viqR1+OUGeQAz44wealdsVp+YSnTmuympnasF9Oq6iiCo755F45xdMmaV1PoMYudpajml55kcaZWW7AiXSl11GB5zpq5/atw9OiiibZtXp02h32FLhjaxsNS8C/W1pWunWrlMHX8rlnFS7x5y+eT8a/L3khTN/8vKu164Cq3gGTrKgnv7GA+2uNlfOVVY7kQC1u9kIEWSNmZ2JTNZ0zGFpNQG3w+xfivqxonFDR98nfs+Hm5VKzXtSOVs0uqADNfXw/VP1Mp1Q0mHq37IBP0dC58I1+xD1uV3rF94SR9GNlUpyOpM0W/98+Xl/yTVzVLu48YEtr53Woh3mdv9/xj/HTkv8Lxl6/9Sdeyq8gAgOxgHbDQ4C7HjaOnUOr7PJKEOTaYI4jj5/zPKnH61t6RDbSgbMpmZfIoOeYDKbj3S8pg7OP3iME1J4jCD3h5XP4/Qz/KXHXZxE5DZS3iHS549LsQnK1uKH1+/8G77Ka6eextntMTyW/L4ZUfl+Pt8iV/2k33UvSLwpSS6/eff6Jy+CbVZhQnYJOvpRVG6YfRw/9fyjJiHjsD++mLwIL/gdVpFuP6ZncK2WOxEmGpmG2XiX9Y/sqCeNQ3/z/9avb3h6QOzu2/Jgkny356X+O1fhJ9QvJZVkmY0J1Sm9vcPQ38YCYqOCcDtC/6/n36ZrveM12+g1XcajSTD+mR4tmXDs2H3wYjRgNhtRbXhjUtF8wtBPj1nxT7uXP/NrxoUwcRkw+xqypb48Ust1ENZvPpKWrsHO7VyFZcmu5yTV5Vf7FMtDA/RbsorptyrsMkYhRT8OstVNlIDljTh+Az/v4Se96A0Utg9ZdwJ3YBDZjju1t0Xlts1JW7TZrQJYxiMa3e2keLR16Z7k2Q9Ne/nfe1biW+ylGCDPgX0WjFb58dof+WjILcCHYIs7O3suX6OrGaOtufB0qUf5NY9X/6yMan8u28w4S9ByydnlNjTkthf7TzsjqhzEzQTRJeiLxzVaf5ZX1f9L0au4ruBhfBG4v9xevmtcZKBMf8ypJdeKG01dTdcf7mF1aHuq/aU6DnvCn0MA9bJJk6atwYWQrkdrOrllbBZuXzv/bgwHHxvW+mEVUnnTkAdVxqB137wz+z5e1D3yw5oVIgIDgYFxM7B7fW837o48C9357EqSLER/PhED1wlYDSnLNKGqy2OHk8l00Ko5JrxZiuLnkHBrFMWb4iT6G27BfOToJQP/GXcjQ8aWMgB/iF75x6K+g3FyLqb0y9CYZbD8fNgYYpWDYN/isiNMwWBHkijCs1VKz+ILwBB85IlSnGzGz2ob5vQMPokTJpOFUAADZpcCqtIqdq8/pfvtt994ARZuy7xBj9nSOJEhv1xEP8Ptgk/NmPGe5WEwUc7CNjBwJDCAn2DaXhwYOj6qHDgRPz4dDZ1morPPEMQr5JK4UsEzSf6Lycd+DA/7S23xfuzviduirXNOH9gZThpHghccWgeulO3Z++oJlQMH34s5wjxMRGZiSgEfiWbgiVI8acA3nH/QV+LSPlwUvKcytbKjc9Hgy8FHDs1vEUcLn3DsWDv/eiytyvMyWDm9JG2Ere24bzP55Ro84XBvnCRnzFvx3JNFkBPqCAwEBgIDgYHAQGCgMQwUflssVkdX6zRDVzFUVmX0an/EYOrqyzyKOQie51a5Mkw2lKuwDQwEBgIDgYHAwGRioNAJxwtr5y/HTOIUWdbAfEN+OnGoP6doHFc8dNVDLwhkLPa/fvyZ2/4ymcgNbQ0MBAYCA4GBwEBgQBko9C6V6GDlKt5ByAmEBu5QdtMLd3EYf0qxIEej6NZjV2z7kcUFDAwEBgIDgYHAQGBgcjFQ2ApH8uz8aZg8XIEVjowhk4m+bCk4D4lK646dF19rUQEDA4GBwEBgIDAQGJh8DBQ24dixq3IBZhWz7A4UUmUrGUSVM+TKB6J3YZZyWbTgufDY8snnW6HFgYHAQGAgMBAYSBko7CcV3P/Me+7dQ0L4KGgGPlGPsv6kIlHpJnqrPU4u7VixfWcaFYTAQGAgMBAYCAwEBiYlA4WtcOAWk6VkyFY1KNuzfIj88FiGlWu7V2xv3Wui2cAQAgOBgcBAYCAwEBhoCAOFTTiSKOHLeqoWM/xbX30ZD2j58XFn7ZA3CTZEy1BIYCAwEBgIDAQGAgMtZaCwCQcuydjK6zfkeg0i/hgMReYKR6l073FnXfM1ORg2gYHAQGAgMBAYCAwcEQwUNuGIytFNmE0c0Ks1ONmwu1UMufiRrJs5fdqqCf6SpSPC8EGJwEBgIDAQGAgMFMlAYROO48/YPoRJxvX48DGiAF3tMMTu2plTZl44u2/r3iIJCHUFBgIDgYHAQGAgMNB8BnTBofn1pDVse3jeBaj0i5hynIe5x1t4y+Mz2P/F8WefdEcUrXknTRiEwEBgIDAQGAgMBAaOGAb+B5nwCpLPLNx7AAAAAElFTkSuQmCC"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["d","M154.81 93.8059C152.146 100.719 149.483 108.164 146.287 115.608C146.287 115.608 146.287 116.672 147.353 116.672H169.191C169.191 116.672 169.191 117.204 169.723 117.736L137.765 153.364C137.233 152.832 137.233 152.301 137.233 151.769L148.418 127.839V125.712H126.047V123.585L153.212 93.8059H154.81Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["id","clip0"],["width","225.692","height","225.692","transform","translate(0 85.9831) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","300","height","300","viewBox","0 0 300 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M50 237.5V112.5C50 105.625 55.625 100 62.5 100H262.5C269.375 100 275 105.625 275 112.5V237.5C275 244.375 269.375 250 262.5 250H62.5C55.625 250 50 244.375 50 237.5Z",1,"fill-color-0"],["d","M25 212.5V87.5C25 80.625 30.625 75 37.5 75H237.5C244.375 75 250 80.625 250 87.5V212.5C250 219.375 244.375 225 237.5 225H37.5C30.625 225 25 219.375 25 212.5Z",1,"stroke-color"],["d","M293.75 200H275V150H293.75C297.25 150 300 152.75 300 156.25V193.75C300 197.25 297.25 200 293.75 200Z",1,"fill-color-0"],["d","M268.75 175H250V125H268.75C272.25 125 275 127.75 275 131.25V168.75C275 172.25 272.25 175 268.75 175Z",1,"stroke-color"],["d","M137.5 187.5L156.25 150H118.75L137.5 112.5",1,"stroke-color"]],template:function(t,e){if(1&t&&(r.YNc(0,Yi,1,0,"ng-container",0),r.YNc(1,Gi,18,5,"ng-template",null,1,r.W1O),r.YNc(3,Vi,15,5,"ng-template",null,2,r.W1O),r.YNc(5,Qi,19,5,"ng-template",null,3,r.W1O),r.YNc(7,Wi,17,5,"ng-template",null,4,r.W1O),r.YNc(9,Ji,13,5,"ng-template",null,5,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6),s=r.MAs(8),o=r.MAs(10);r.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?s:o)}},directives:[U.tP,Z.xw,Z.yH,Z.Wh,U.mk,ue.oO,N.n5,N.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Pi.l]}}),t})();const Ki=["stepper"];function $i(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.inputFormLabel)}}function tn(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Amount is required."),r.qZA())}function en(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.hij("Amount must be greater than or equal to ",r.lcZ(2,1,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.minimal),".")}}function nn(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.hij("Amount must be less than or equal to ",r.lcZ(2,1,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.maximal),".")}}function rn(t,e){1&t&&(r.TgZ(0,"button",40),r._uU(1,"Next"),r.qZA())}function sn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",41),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onSwap()}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(1),r.hij("Initiate ",t.swapDirectionCaption,"")}}function on(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(3);r.Oqu(t.addressFormLabel)}}function an(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Address is required."),r.qZA())}function ln(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-step",15),r.TgZ(1,"form",16),r.YNc(2,on,1,1,"ng-template",17),r.TgZ(3,"div",42),r.TgZ(4,"mat-radio-group",43),r.NdJ("change",function(e){return r.CHM(t),r.oxw(2).onAddressTypeChange(e)}),r.TgZ(5,"mat-radio-button",44),r._uU(6,"Node Local Address"),r.qZA(),r.TgZ(7,"mat-radio-button",45),r._uU(8,"External Address"),r.qZA(),r.qZA(),r.TgZ(9,"mat-form-field",46),r._UZ(10,"input",47),r.YNc(11,an,2,0,"mat-error",24),r.qZA(),r.qZA(),r.TgZ(12,"div",25),r.TgZ(13,"button",48),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onSwap()}),r._uU(14),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepControl",t.addressFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.addressFormGroup),r.xp6(9),r.Q6J("required","external"===t.addressFormGroup.controls.addressType.value),r.xp6(1),r.Q6J("ngIf",null==t.addressFormGroup.controls.address.errors?null:t.addressFormGroup.controls.address.errors.required),r.xp6(3),r.hij("Initiate ",t.swapDirectionCaption,"")}}function cn(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.hij("",t.swapDirectionCaption," Status")}}function hn(t,e){if(1&t&&(r.TgZ(0,"mat-icon",49),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.swapStatus&&null!=t.swapStatus&&t.swapStatus.id?"check":"close")}}function un(t,e){1&t&&r._UZ(0,"div")}function dn(t,e){1&t&&r._UZ(0,"mat-progress-bar",50)}function fn(t,e){if(1&t&&(r.TgZ(0,"h4",51),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.swapStatus&&t.swapStatus.error?t.swapDirectionCaption+" failed.":t.swapStatus&&t.swapStatus.id?t.swapDirectionCaption+" request placed successfully. You can check the status of the request on the 'Boltz' menu.":t.swapDirectionCaption+" request placed successfully.")}}function pn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",52),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onRestart()}),r._uU(1,"Start Again"),r.qZA()}}function mn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",3),r.TgZ(1,"div",4),r.TgZ(2,"mat-card-header",5),r.TgZ(3,"div",6),r.TgZ(4,"span",7),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"div",8),r.TgZ(7,"button",9),r.NdJ("click",function(){return r.CHM(t),r.oxw().showInfo()}),r._uU(8,"?"),r.qZA(),r.TgZ(9,"button",10),r.NdJ("click",function(){return r.CHM(t),r.oxw().onClose()}),r._uU(10,"X"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"mat-card-content",11),r.TgZ(12,"div",12),r.TgZ(13,"mat-vertical-stepper",13,14),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw().stepSelectionChanged(e)}),r.TgZ(15,"mat-step",15),r.TgZ(16,"form",16),r.YNc(17,$i,1,1,"ng-template",17),r.TgZ(18,"div",18),r._UZ(19,"rtl-boltz-service-info",19),r.qZA(),r.TgZ(20,"div",20),r.TgZ(21,"mat-form-field",21),r._UZ(22,"input",22),r.TgZ(23,"mat-hint"),r._uU(24),r.ALo(25,"number"),r.ALo(26,"number"),r.qZA(),r.TgZ(27,"span",23),r._uU(28,"Sats"),r.qZA(),r.YNc(29,tn,2,0,"mat-error",24),r.YNc(30,en,3,3,"mat-error",24),r.YNc(31,nn,3,3,"mat-error",24),r.qZA(),r.qZA(),r.TgZ(32,"div",25),r.YNc(33,rn,2,0,"button",26),r.YNc(34,sn,2,1,"button",27),r.qZA(),r.qZA(),r.qZA(),r.YNc(35,ln,15,6,"mat-step",28),r.TgZ(36,"mat-step",29),r.TgZ(37,"form",16),r.YNc(38,cn,1,1,"ng-template",17),r.TgZ(39,"div",30),r.TgZ(40,"mat-expansion-panel",31),r.TgZ(41,"mat-expansion-panel-header"),r.TgZ(42,"mat-panel-title"),r.TgZ(43,"span",32),r._uU(44),r.YNc(45,hn,2,1,"mat-icon",33),r.qZA(),r.qZA(),r.qZA(),r.YNc(46,un,1,0,"div",34),r.qZA(),r.YNc(47,dn,1,0,"mat-progress-bar",35),r.qZA(),r.YNc(48,fn,2,1,"h4",36),r.TgZ(49,"div",25),r.YNc(50,pn,2,0,"button",37),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.TgZ(51,"div",38),r.TgZ(52,"button",39),r._uU(53,"Close"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(),e=r.MAs(2);r.Q6J("@opacityAnimation",void 0),r.xp6(3),r.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"83":"91"),r.xp6(2),r.Oqu(t.swapDirectionCaption),r.xp6(1),r.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"17":"9"),r.xp6(7),r.Q6J("linear",!0),r.xp6(2),r.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.inputFormGroup),r.xp6(3),r.Q6J("serviceInfo",t.serviceInfo)("direction",t.direction),r.xp6(3),r.Q6J("step",1e3),r.xp6(2),r.AsE("Range: ",r.lcZ(25,30,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.minimal),"-",r.lcZ(26,32,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.maximal),""),r.xp6(5),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.required),r.xp6(1),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.min),r.xp6(1),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.max),r.xp6(2),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_IN),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("stepControl",t.statusFormGroup),r.xp6(1),r.Q6J("formGroup",t.statusFormGroup),r.xp6(3),r.Q6J("expanded",!!t.swapStatus),r.xp6(4),r.Oqu(t.swapStatus?t.swapStatus.id?t.swapDirectionCaption+" request details":t.swapDirectionCaption+" error details":"Waiting for "+t.swapDirectionCaption+" request..."),r.xp6(1),r.Q6J("ngIf",t.swapStatus),r.xp6(1),r.Q6J("ngIf",!t.swapStatus)("ngIfElse",e),r.xp6(1),r.Q6J("ngIf",!t.swapStatus),r.xp6(1),r.Q6J("ngIf",t.swapStatus),r.xp6(2),r.Q6J("ngIf",t.swapStatus&&(t.swapStatus.error||!t.swapStatus.id)),r.xp6(2),r.Q6J("mat-dialog-close",!1)}}function gn(t,e){if(1&t&&r._UZ(0,"rtl-boltz-swap-status",53),2&t){const t=r.oxw();r.Q6J("swapStatus",t.swapStatus)("direction",t.direction)}}function yn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"rtl-boltz-swapout-info-graphics",70),r.NdJ("stepNumberChange",function(e){return r.CHM(t),r.oxw(2).stepNumber=e}),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}function bn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"rtl-boltz-swapin-info-graphics",70),r.NdJ("stepNumberChange",function(e){return r.CHM(t),r.oxw(2).stepNumber=e}),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}const vn=function(t,e){return{"dot-primary":t,"dot-primary-lighter":e}};function _n(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"span",71),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onStepChanged(e)}),r._UZ(1,"p",72),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw(2);r.xp6(1),r.Q6J("ngClass",r.WLB(1,vn,i.stepNumber===t,i.stepNumber!==t))}}function wn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",73),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onReadMore()}),r._uU(1,"Read More"),r.qZA()}}function xn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",74),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onStepChanged(4)}),r._uU(1,"Back"),r.qZA()}}function Cn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",75),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(1,"Close"),r.qZA()}}function An(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",76),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(1,"Close"),r.qZA()}}function Sn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",77),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.onStepChanged(e.stepNumber-1)}),r._uU(1,"Back"),r.qZA()}}function kn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",78),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.onStepChanged(e.stepNumber+1)}),r._uU(1,"Next"),r.qZA()}}const Mn=function(){return[1,2,3,4,5]};function En(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",54),r.TgZ(1,"div",18),r.TgZ(2,"mat-card-header",55),r.TgZ(3,"div",56),r._UZ(4,"span",7),r.qZA(),r.TgZ(5,"div",57),r.TgZ(6,"button",58),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(7,"X"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",59),r.YNc(9,yn,1,2,"rtl-boltz-swapout-info-graphics",60),r.YNc(10,bn,1,2,"rtl-boltz-swapin-info-graphics",60),r.qZA(),r.TgZ(11,"div",61),r.YNc(12,_n,2,4,"span",62),r.qZA(),r.TgZ(13,"div",63),r.YNc(14,wn,2,0,"button",64),r.YNc(15,xn,2,0,"button",65),r.YNc(16,Cn,2,0,"button",66),r.YNc(17,An,2,0,"button",67),r.YNc(18,Sn,2,0,"button",68),r.YNc(19,kn,2,0,"button",69),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@opacityAnimation",void 0),r.xp6(9),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_IN),r.xp6(2),r.Q6J("ngForOf",r.DdM(10,Mn)),r.xp6(2),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",t.stepNumber<5),r.xp6(1),r.Q6J("ngIf",t.stepNumber>1&&t.stepNumber<5),r.xp6(1),r.Q6J("ngIf",t.stepNumber<5)}}let Tn=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this.dialogRef=t,this.data=e,this.store=i,this.boltzService=n,this.formBuilder=r,this.decimalPipe=s,this.logger=o,this.router=a,this.commonService=l,this.faInfoCircle=P.sqG,this.serviceInfo={fees:{percentage:null,miner:{normal:null,reverse:null}},limits:{minimal:1e4,maximal:5e7}},this.swapTypeEnum=Lt.hc,this.direction=Lt.hc.SWAP_OUT,this.swapDirectionCaption="Swap out",this.swapStatus=null,this.inputFormLabel="Amount to swap out",this.addressFormLabel="Withdrawal Address",this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=Lt.cu,this.animationDirection="forward",this.flgEditable=!0,this.unSubs=[new h.x,new h.x,new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.serviceInfo=this.data.serviceInfo,this.direction=this.data.direction,this.swapDirectionCaption=this.direction===Lt.hc.SWAP_OUT?"Swap Out":"Swap in",this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.serviceInfo.limits.minimal,[Q.kI.required,Q.kI.min(this.serviceInfo.limits.minimal),Q.kI.max(this.serviceInfo.limits.maximal)]]}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[Q.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges()}ngAfterViewInit(){this.direction===Lt.hc.SWAP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.direction===Lt.hc.SWAP_OUT&&this.addressFormGroup.valueChanges.pipe((0,M.R)(this.unSubs[2])).subscribe(t=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(t){"external"===t.value?(this.addressFormGroup.controls.address.setValidators([Q.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onSwap(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.value<+this.serviceInfo.limits.minimal||this.inputFormGroup.controls.amount.value>+this.serviceInfo.limits.maximal||this.direction===Lt.hc.SWAP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;this.flgEditable=!1,this.stepper.selected.stepControl.setErrors(null),this.stepper.next(),this.direction===Lt.hc.SWAP_IN?this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe((0,M.R)(this.unSubs[3])).subscribe(t=>{this.swapStatus=t,this.boltzService.listSwaps(),this.flgEditable=!0},t=>{this.swapStatus={error:t.error&&t.error.error?t.error.error:t.error?t.error:t},this.flgEditable=!0,this.logger.error(t)}):this.boltzService.swapOut(this.inputFormGroup.controls.amount.value,"external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"").pipe((0,M.R)(this.unSubs[4])).subscribe(t=>{this.swapStatus=t,this.boltzService.listSwaps(),this.flgEditable=!0},t=>{this.swapStatus={error:t.error&&t.error.error?t.error.error:t.error?t.error:t},this.flgEditable=!0,this.logger.error(t)})}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.amount.value?this.swapDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats":"Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;default:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address"}t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(st.so),r.Y36(st.WI),r.Y36(a.yh),r.Y36(ki),r.Y36(Q.qu),r.Y36(U.JJ),r.Y36(G.mQ),r.Y36(R.F0),r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swap-modal"]],viewQuery:function(t,e){if(1&t&&r.Gf(Ki,5),2&t){let t;r.iGM(t=r.CRH())&&(e.stepper=t.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["swapStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"serviceInfo","direction"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","button","matStepperNext","",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-stroked-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["mat-stroked-button","","color","primary","tabindex","2","type","button","matStepperNext",""],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-stroked-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"swapStatus","direction"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-stroked-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(t,e){1&t&&(r.YNc(0,mn,54,34,"div",0),r.YNc(1,gn,1,2,"ng-template",null,1,r.W1O),r.YNc(3,En,20,11,"div",2)),2&t&&(r.Q6J("ngIf",!e.flgShowInfo),r.xp6(3),r.Q6J("ngIf",e.flgShowInfo))},directives:[U.O5,Z.xw,Z.yH,Z.Wh,N.dk,K.lW,N.dn,ct.Vq,ct.C0,Q._Y,Q.JL,Q.sg,ct.VY,Ei,W.KE,ht.Nt,Q.wV,Q.Fj,X.h,Q.JJ,Q.u,Q.Q7,W.bx,W.R9,Mi.ib,Mi.yz,Mi.yK,st.ZT,W.TO,ct.Ic,he.VQ,he.U0,Ti.Hw,Ne.pW,Ri,U.sg,Hi,Xi,U.mk,ue.oO],pipes:[U.JJ],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[_i._]}}),t})();function Ln(t,e){1&t&&r._UZ(0,"mat-progress-bar",32)}function In(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Status "),r.qZA())}function On(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Oqu(i.swapStateEnum[t.status])}}function Dn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Swap ID "),r.qZA())}function Rn(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id)}}function Pn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Claim Address "),r.qZA())}function Zn(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.claimAddress)}}function Fn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Onchain Amount (Sats) "),r.qZA())}function Nn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.onchainAmount))}}function Bn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Lockup Address "),r.qZA())}function Un(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.lockupAddress)}}function qn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Expected Amount (Sats) "),r.qZA())}function zn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.expectedAmount))}}function Hn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Timeout Block Height "),r.qZA())}function Yn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.timeoutBlockHeight))}}function jn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Amount (Sats) "),r.qZA())}function Gn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.amt))}}function Vn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"th",37),r.TgZ(1,"div",38),r.TgZ(2,"mat-select",39),r._UZ(3,"mat-select-trigger"),r.TgZ(4,"mat-option",40),r.NdJ("click",function(){return r.CHM(t),r.oxw().onDownloadCSV()}),r._uU(5,"Download CSV"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}}function Qn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"td",41),r.TgZ(1,"button",42),r.NdJ("click",function(e){const i=r.CHM(t).$implicit;return r.oxw().onSwapClick(i,e)}),r._uU(2,"View Info"),r.qZA(),r.qZA()}}function Wn(t,e){if(1&t&&(r.TgZ(0,"p"),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.emptyTableMessage)}}function Jn(t,e){if(1&t&&(r.TgZ(0,"td",43),r.YNc(1,Wn,2,1,"p",44),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("ngIf",!(null!=t.listSwaps&&t.listSwaps.data)||(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)<1)}}const Xn=function(t){return{"display-none":t}};function Kn(t,e){if(1&t&&r._UZ(0,"tr",45),2&t){const t=r.oxw();r.Q6J("ngClass",r.VKq(1,Xn,(null==t.listSwaps?null:t.listSwaps.data)&&(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)>0))}}function $n(t,e){1&t&&r._UZ(0,"tr",46)}function tr(t,e){1&t&&r._UZ(0,"tr",47)}const er=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ir=function(){return["no_swap"]};let nr=(()=>{class t{constructor(t,e,i,n){this.logger=t,this.commonService=e,this.store=i,this.boltzService=n,this.selectedSwapType=Lt.hc.SWAP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.swapStateEnum=Lt.Qw,this.faHistory=P.qO$,this.swapCaption="Swap Out",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=Lt.IV,this.pageSizeOptions=Lt.TJ,this.screenSize="",this.screenSizeEnum=Lt.cu,this.unSubs=[new h.x,new h.x,new h.x],this.screenSize=this.commonService.getScreenSize(),this.setTableColumns()}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(t){t.selectedSwapType&&!t.selectedSwapType.firstChange&&this.setTableColumns(),this.swapCaption=this.selectedSwapType===Lt.hc.SWAP_IN?"Swap In":"Swap Out",this.loadSwapsTable(this.swapsData)}setTableColumns(){this.screenSize===Lt.cu.XS||this.screenSize===Lt.cu.SM?(this.flgSticky=!1,this.displayedColumns=this.selectedSwapType===Lt.hc.SWAP_IN?["status","id","expectedAmount","actions"]:["status","id","onchainAmount","actions"]):this.screenSize===Lt.cu.MD?(this.flgSticky=!1,this.displayedColumns=this.selectedSwapType===Lt.hc.SWAP_IN?["status","id","expectedAmount","timeoutBlockHeight","actions"]:["status","id","onchainAmount","timeoutBlockHeight","actions"]):(this.flgSticky=!0,this.displayedColumns=this.selectedSwapType===Lt.hc.SWAP_IN?["status","id","lockupAddress","expectedAmount","timeoutBlockHeight","actions"]:["status","id","claimAddress","onchainAmount","timeoutBlockHeight","actions"])}applyFilter(t){this.listSwaps&&(this.listSwaps.filter=t.value.trim().toLowerCase())}onSwapClick(t,e){this.boltzService.swapInfo(t.id).pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.store.dispatch(new j.wu({data:{type:Lt.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:[[{key:"status",value:Lt.Qw[(t=this.selectedSwapType===Lt.hc.SWAP_IN?t.swap:t.reverseSwap).status],title:"Status",width:50,type:Lt.Gi.STRING},{key:"id",value:t.id,title:"ID",width:50,type:Lt.Gi.STRING}],[{key:"amount",value:t.onchainAmount?t.onchainAmount:t.expectedAmount?t.expectedAmount:0,title:t.onchainAmount?"Onchain Amount (Sats)":t.expectedAmount?"Expected Amount (Sats)":"Amount (Sats)",width:50,type:Lt.Gi.NUMBER},{key:"timeoutBlockHeight",value:t.timeoutBlockHeight,title:"Timeout Block Height",width:50,type:Lt.Gi.NUMBER}],[{key:"address",value:t.claimAddress?t.claimAddress:t.lockupAddress?t.lockupAddress:"",title:t.claimAddress?"Claim Address":t.lockupAddress?"Lockup Address":"Address",width:100,type:Lt.Gi.STRING}],[{key:"invoice",value:t.invoice,title:"Invoice",width:100,type:Lt.Gi.STRING}],[{key:"privateKey",value:t.privateKey,title:"Private Key",width:100,type:Lt.Gi.STRING}],[{key:"preimage",value:t.preimage,title:"Preimage",width:100,type:Lt.Gi.STRING}],[{key:"redeemScript",value:t.redeemScript,title:"Redeem Script",width:100,type:Lt.Gi.STRING}],[{key:"lockupTransactionId",value:t.lockupTransactionId,title:"Lockup Transaction ID",width:50,type:Lt.Gi.STRING},{key:"transactionId",value:t.claimTransactionId?t.claimTransactionId:t.refundTransactionId?t.refundTransactionId:"",title:t.claimTransactionId?"Claim Transaction ID":t.refundTransactionId?"Refund Transaction ID":"Transaction ID",width:50,type:Lt.Gi.STRING}]],openedBy:"SWAP"}}))})}loadSwapsTable(t){this.listSwaps=new Fe.by(t?[...t]:[]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listSwaps.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.paginator&&this.paginator.firstPage(),this.listSwaps.paginator=this.paginator,this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Lt.hc.SWAP_IN?"Swap in":"Swap out")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(ki))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swaps"]],viewQuery:function(t,e){if(1&t&&(r.Gf(Ze.YE,5),r.Gf(Pe.NW,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sort=t.first),r.iGM(t=r.CRH())&&(e.paginator=t.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[r._Bn([{provide:Pe.ye,useValue:(0,Lt.pt)("Swaps")}]),r.TTD],decls:46,vars:15,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","claimAddress"],["matColumnDef","onchainAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","lockupAddress"],["matColumnDef","expectedAmount"],["matColumnDef","timeoutBlockHeight"],["matColumnDef","amt"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"div",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"mat-form-field",5),r.TgZ(7,"input",6),r.NdJ("keyup",function(t){return e.applyFilter(t.target)}),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.TgZ(9,"div",8),r.YNc(10,Ln,1,0,"mat-progress-bar",9),r.TgZ(11,"table",10,11),r.ynx(13,12),r.YNc(14,In,2,0,"th",13),r.YNc(15,On,2,1,"td",14),r.BQk(),r.ynx(16,15),r.YNc(17,Dn,2,0,"th",13),r.YNc(18,Rn,2,1,"td",14),r.BQk(),r.ynx(19,16),r.YNc(20,Pn,2,0,"th",13),r.YNc(21,Zn,2,1,"td",14),r.BQk(),r.ynx(22,17),r.YNc(23,Fn,2,0,"th",18),r.YNc(24,Nn,4,3,"td",14),r.BQk(),r.ynx(25,19),r.YNc(26,Bn,2,0,"th",13),r.YNc(27,Un,2,1,"td",14),r.BQk(),r.ynx(28,20),r.YNc(29,qn,2,0,"th",18),r.YNc(30,zn,4,3,"td",14),r.BQk(),r.ynx(31,21),r.YNc(32,Hn,2,0,"th",18),r.YNc(33,Yn,4,3,"td",14),r.BQk(),r.ynx(34,22),r.YNc(35,jn,2,0,"th",18),r.YNc(36,Gn,4,3,"td",14),r.BQk(),r.ynx(37,23),r.YNc(38,Vn,6,0,"th",24),r.YNc(39,Qn,3,0,"td",25),r.BQk(),r.ynx(40,26),r.YNc(41,Jn,2,1,"td",27),r.BQk(),r.YNc(42,Kn,1,3,"tr",28),r.YNc(43,$n,1,0,"tr",29),r.YNc(44,tr,1,0,"tr",30),r.qZA(),r._UZ(45,"mat-paginator",31),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(3),r.Q6J("icon",e.faHistory),r.xp6(2),r.hij("",e.swapCaption," History"),r.xp6(5),r.Q6J("ngIf",!0===e.flgLoading[0]),r.xp6(1),r.Q6J("dataSource",e.listSwaps)("ngClass",r.VKq(12,er,"error"===e.flgLoading[0])),r.xp6(31),r.Q6J("matFooterRowDef",r.DdM(14,ir)),r.xp6(1),r.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),r.xp6(1),r.Q6J("matRowDefColumns",e.displayedColumns),r.xp6(1),r.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[Z.xw,Z.yH,Z.Wh,F.BN,W.KE,ht.Nt,V.$V,U.O5,Fe.BZ,Ze.YE,U.mk,ue.oO,Fe.w1,Fe.fO,Fe.Dz,Fe.mD,Fe.Ke,Fe.as,Fe.nj,Pe.NW,Ne.pW,Fe.ge,Ze.nU,Fe.ev,J.gD,J.$L,$.ey,K.lW,Fe.yh,Fe.Q2,Fe.XQ,Fe.Gk],pipes:[U.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const rr=function(t){return["../",t]};function sr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",15),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onSelectedIndexChange(e)}),r._uU(1),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.Q6J("active",i.activeTab.link===t.link)("routerLink",r.VKq(3,rr,t.link)),r.xp6(1),r.Oqu(t.name)}}let or=(()=>{class t{constructor(t,e,i){this.router=t,this.store=e,this.boltzService=i,this.swapTypeEnum=Lt.hc,this.selectedSwapType=Lt.hc.SWAP_OUT,this.swaps={},this.swapsData=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"swapout",name:"Swap Out"},{link:"swapin",name:"Swap In"}],this.activeTab=this.links[0],this.unSubs=[new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.boltzService.listSwaps();let t=this.links.find(t=>this.router.url.includes(t.link));this.activeTab=t||this.links[0],this.selectedSwapType=t&&"swapin"===t.link?Lt.hc.SWAP_IN:Lt.hc.SWAP_OUT,this.router.events.pipe((0,M.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{let e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeTab=e||this.links[0],this.selectedSwapType=e&&"swapin"===e.link?Lt.hc.SWAP_IN:Lt.hc.SWAP_OUT}),this.boltzService.swapsChanged.pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.swaps=t,this.swapsData=this.selectedSwapType===Lt.hc.SWAP_IN?t.swaps:t.reverseSwaps,this.flgLoading[0]=!1},t=>{this.flgLoading[0]="error",this.emptyTableMessage=t.message?t.message:"No swap "+(this.selectedSwapType===Lt.hc.SWAP_IN?"in":"out")+" available."})}onSelectedIndexChange(t){"swapin"===t.link?(this.selectedSwapType=Lt.hc.SWAP_IN,this.swapsData=this.swaps.swaps):(this.selectedSwapType=Lt.hc.SWAP_OUT,this.swapsData=this.swaps.reverseSwaps)}onSwap(t){this.store.dispatch(new j.Fk("Getting Service Info...")),this.boltzService.serviceInfo().pipe((0,M.R)(this.unSubs[2])).subscribe(e=>{this.store.dispatch(new j.Iv),this.store.dispatch(new j.wu({data:{serviceInfo:e,direction:t,component:Tn}}))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.F0),r.Y36(a.yh),r.Y36(ki))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-root"]],decls:18,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"botlz-icon-sm","mr-1"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.O4$(),r.TgZ(1,"svg",1),r.TgZ(2,"g",2),r.TgZ(3,"g",3),r._UZ(4,"circle",4),r._UZ(5,"path",5),r._UZ(6,"path",6),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(7,"span",7),r._uU(8,"Boltz"),r.qZA(),r.qZA(),r.TgZ(9,"div",8),r.TgZ(10,"mat-card"),r.TgZ(11,"mat-card-content",9),r.TgZ(12,"nav",10),r.YNc(13,sr,2,5,"div",11),r.qZA(),r.TgZ(14,"div",12),r.TgZ(15,"button",13),r.NdJ("click",function(){return e.onSwap(e.selectedSwapType)}),r._uU(16),r.qZA(),r.qZA(),r._UZ(17,"rtl-boltz-swaps",14),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(13),r.Q6J("ngForOf",e.links),r.xp6(3),r.hij("Start ",e.activeTab.name,""),r.xp6(1),r.Q6J("selectedSwapType",e.selectedSwapType)("swapsData",e.swapsData)("flgLoading",e.flgLoading)("emptyTableMessage",e.emptyTableMessage))},directives:[Z.xw,Z.Wh,N.a8,N.dn,Z.yH,B.BU,U.sg,K.lW,nr,B.Nj,R.rH],styles:[""]}),t})();class ar{constructor(t){this.help=t}}function lr(t,e){if(1&t&&(r.TgZ(0,"mat-expansion-panel",8),r.TgZ(1,"mat-expansion-panel-header"),r.TgZ(2,"mat-panel-title"),r._uU(3),r.qZA(),r.qZA(),r.TgZ(4,"mat-panel-description",9),r._UZ(5,"span",10),r.TgZ(6,"a",11),r._uU(7),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw();r.xp6(3),r.Oqu(t.help.question),r.xp6(2),r.Q6J("innerHTML",t.help.answer,r.oJD),r.xp6(1),r.Q6J("routerLink",e.flgLoggedIn?e.LNPLink+t.help.link:"/login"),r.xp6(1),r.Oqu(e.flgLoggedIn?t.help.linkCaption:"Login to go to the page")}}function cr(t,e){if(1&t&&(r.TgZ(0,"div",6),r.YNc(1,lr,8,4,"mat-expansion-panel",7),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Q6J("ngIf","ALL"===t.help.lnImplementation||t.help.lnImplementation===i.selNode.lnImplementation)}}let hr=(()=>{class t{constructor(t,e){this.store=t,this.sessionService=e,this.helpTopics=[],this.faQuestion=P.Psp,this.LNPLink="/lnd/",this.flgLoggedIn=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.helpTopics.push(new ar({question:"Getting started",answer:'Funding your node is the first step to get started.\nGo to the "On-chain" page of the app:\n1. Generate a new address on the "Recieve" tab.\n2. Send funds to the address.\n3. Wait for the balance to be confirmed on-chain before proceeding further.\n3. Connecting with network peers and opening channels is next.\n',link:"onchain",linkCaption:"On-Chain page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Connect with peers",answer:'Connect with network peers to open channels with them.\nGo to "Peer/Channels" page under the "Lightning" menu :\n1. Get the peer pubkey and host address in the pubkey@ip:port format.\n2. On the "Peers" enter the peer address and connect.\n3. Once the peer is connected, you can open channel with the peer.\n4. A variety of actions can be performed on the connected peers page for each peer:\n a. View Info - View the peer details.\n b. Open Channel - Open channel with the peer.\n c. Disconnect - Disconnect from the peer.\n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Opening Channels",answer:'Open channels with a connected network peer.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. On the "Channels" section, select the alias of the connected peer from the drop-down\n2. Specify the amount to commit to the channel and click on "Open Channel".\n3. There are a variety of options available while opening a channel. \n a. Private Channel - When this option is selected, a private channel is opened with the peer. \n b. Priority (advanced option) - Specify either Target confirmation Block or Fee in Sat/vByte. \n c. Spend Unconfirmd Output (advanced option) - Allow channels to be opened with unconfirmed UTXOs.\n4. Track the pending open channels under the "Pending" tab . \n5. Wait for the channel to be confirmed. Only a confimed channel can be used for payments or routing. \n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Channel Management",answer:'Channel maintenance and balance score.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. A variety of actions can be perfomed on the open channels under the "Open" tab, with the "Actions" button:\n a. View Info - View the channel details.\n b. View Remote Fee - View the fee policy on the channel of the remote peer.\n c. Update Fee Policy - Modify the fee policy on the channel.\n d. Close Channel - Close the channel.\n2. Balance Score is a "balancedness" metric score for the channel. \n a. It helps measure how balanced the remote and local balances are, on a channel.\n b. A perfectly balanced channel has a score of one, where as a completely lopsided one has a score of zero.\n c. The formula for calculating the score is "1 - abs((local bal - remote bal)/total bal)".\n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Payments",answer:'Sending Payments from your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayments tab is for making payments via your node\n 1. Input a non-expired lightning invoice (Bolt11 format) in the "Payment request" field and click on "Send Payment" to send.\n 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\n 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Invoices",answer:'Receiving Payments on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nInvoices tab is for receiving payments on your node.\n 1. Memo - Description you want to provide on the invoice.\n 2. Expiry - The time period, after which the invoice will be invalid.\n 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Query Route",answer:'Querying Payment Routes.\nGo to the "Transactions" page under the "Lightning" menu :\nQuery Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\n 2. Amount - Amount in Sats, which you want to send to the node.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Channel Backups",answer:'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\nBackup folder location can be customized in the RTL config file with the channelBackupPath field.\nRTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\nYou can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\nYou can also backup each channel individually and verify them.\n** Keep taking backups of your channels regularly and store them in redundant locations **.\n',link:"backup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new ar({question:"Channel Restore",answer:'Channel Restore is used to recover funds from the channel backup files in case of node failures.\nFollow the below steps to perform fund restoration.\n\nPrerequisite:\n1. The node has been restored with the LND recovery seed.\n2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\nRecovery:\n1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n2. Place the channel backup file in the restore folder.\n3. Go to the "Restore" tab under the "Backup" page of RTL.\n4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n5. Click on the Restore icon on the grid to restore the funds.\n6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n7. Restore function will force close the channels and recover the funds from them.\n8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\n',link:"backup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new ar({question:"Forwarding History",answer:'Transactions routed by the node.\nGo to "Routing" page under the "Lightning" menu :\nTransactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n',link:"routing",linkCaption:"Forwarding History",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Graph Lookup",answer:'Querying your node graph for network node and channel information.\nGo to "Graph Lookup" page under the "Lightning" menu :\nEach node maintains a network graph for the information on all the nodes and channels on the network.\nYou can lookup information on nodes and channels from your graph:\n 1. Node Lookup - Enter the pubkey to perform the lookup.\n 2. Channel Lookup - Enter the short channel ID to perform the lookup.\n',link:"lookups",linkCaption:"Graph Lookup page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Settings",answer:'RTL Offers certain customizations on the UI to personalize your experience on the app\nGo to "Settings" page to access the customization options.\nNode Layout Options\n 1. User Persona - Two options are available to change the dashboard based on the persona.\n 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n 3. Default Node - If you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\nOther Customizations include day and night mode and a choice of color themes to select from.\n',lnImplementation:"ALL"}))}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{switch(this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.LNPLink="/cl/";break;case"ECL":this.LNPLink="/ecl/";break;default:this.LNPLink="/lnd/"}}),this.sessionService.watchSession().pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.flgLoggedIn=!!t.token}),this.sessionService.getItem("token")&&(this.flgLoggedIn=!0)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(It.m))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-help"]],decls:8,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxFlex","100",4,"ngFor","ngForOf"],["fxFlex","100"],["class","flat-expansion-panel help-expansion mb-2px",4,"ngIf"],[1,"flat-expansion-panel","help-expansion","mb-2px"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],[1,"pre-wrap",3,"innerHTML"],[1,"mt-2",3,"routerLink"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span",3),r._uU(4,"Help"),r.qZA(),r.qZA(),r.TgZ(5,"div",4),r.TgZ(6,"div",0),r.YNc(7,cr,2,1,"div",5),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("icon",e.faQuestion),r.xp6(5),r.Q6J("ngForOf",e.helpTopics))},directives:[Z.xw,Z.yH,Z.Wh,F.BN,U.sg,U.O5,Mi.ib,Mi.yz,Mi.yK,Mi.u4,R.yS],styles:[".mat-card-content[_ngcontent-%COMP%]{margin-bottom:4px}"]}),t})();function ur(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is required."),r.qZA())}let dr=(()=>{class t{constructor(t,e){this.dialogRef=t,this.store=e,this.faUserClock=P.hnx,this.token=""}onClose(){this.dialogRef.close(null)}onVerifyToken(){if(!this.token)return!0;this.dialogRef.close(),this.store.dispatch(new j.YY({twoFAToken:this.token}))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(st.so),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-login-token"]],decls:17,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100",3,"ngSubmit"],["tokenForm","ngForm"],["autoFocus","","matInput","","placeholder","Token","type","text","id","token","name","token","tabindex","2","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-flat-button","","color","primary","tabindex","4","type","submit"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5,"Two Factor Token"),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r.NdJ("click",function(){return e.onClose()}),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"form",7,8),r.NdJ("ngSubmit",function(){return e.onVerifyToken()}),r.TgZ(11,"mat-form-field"),r.TgZ(12,"input",9),r.NdJ("ngModelChange",function(t){return e.token=t}),r.qZA(),r.YNc(13,ur,2,0,"mat-error",10),r.qZA(),r.TgZ(14,"div",11),r.TgZ(15,"button",12),r._uU(16,"Verify Token"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(12),r.Q6J("ngModel",e.token),r.xp6(1),r.Q6J("ngIf",!e.token))},directives:[Z.xw,Z.Wh,Z.yH,N.dk,K.lW,N.dn,Q._Y,Q.JL,Q.F,W.KE,ht.Nt,Q.Fj,X.h,Q.Q7,Q.JJ,Q.On,U.O5,W.TO],styles:[""]}),t})();function fr(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Password is required."),r.qZA())}function pr(t,e){if(1&t&&(r.TgZ(0,"p",20),r.TgZ(1,"mat-icon",21),r._uU(2,"close"),r.qZA(),r._uU(3),r.qZA()),2&t){const t=r.oxw();r.xp6(3),r.hij(" ",t.loginErrorMessage," ")}}const mr=function(t){return{"padding-gap-large":t}},gr=function(t,e){return{"font-size-200":t,"font-size-300":e}};let yr=(()=>{class t{constructor(t,e,i,n){this.logger=t,this.store=e,this.rtlEffects=i,this.commonService=n,this.faUnlockAlt=P.B$L,this.password="",this.rtlSSO=0,this.rtlCookiePath="",this.accessKey="",this.loginErrorMessage="",this.flgShow=!1,this.screenSize="",this.screenSizeEnum=Lt.cu,this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{t.effectErrorsRoot.forEach(t=>{"Login"!==t.action&&"IsAuthorized"!==t.action||(this.loginErrorMessage=this.loginErrorMessage+t.message+" "),this.logger.error(t)}),this.selNode=t.selNode,this.appConfig=t.appConfig,this.logger.info(t)})}onLogin(){if(!this.password)return!0;this.loginErrorMessage="",this.appConfig.enable2FA?(this.store.dispatch(new j.wu({maxWidth:"35rem",data:{component:dr}})),this.rtlEffects.closeAlert.pipe((0,rt.q)(1)).subscribe(t=>{t&&this.store.dispatch(new j.m3({password:nt(this.password),defaultPassword:Lt.kO.includes(this.password.toLowerCase()),twoFAToken:t.twoFAToken}))})):this.store.dispatch(new j.m3({password:nt(this.password),defaultPassword:Lt.kO.includes(this.password.toLowerCase())}))}resetData(){this.password="",this.loginErrorMessage="",this.flgShow=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(a.yh),r.Y36(at.V),r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-login"]],decls:25,vars:12,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","center stretch",1,"login-container"],["fxLayout","row","fxFlex","50","fxLayoutAlign","center stretch"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign","stretch stretch"],["fxFlex","35","fxLayoutAlign","center center",1,"bg-primary"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",1,"rtl-logo-svg"],["fxFlex","65","fxLayout","column","fxLayoutAlign","center stretch",3,"ngClass"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","p-0"],[1,"font-bold-500",3,"ngClass"],[1,"page-title"],[1,"mt-5px","mb-0","px-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["loginForm","ngForm"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","placeholder","Password","id","password","name","password","tabindex","1","required","",3,"type","ngModel","ngModelChange"],["tabindex","2","matSuffix","",3,"click"],[4,"ngIf"],["fxFlex","100","class","color-warn pre-wrap","fxLayoutAlign","start start",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],["fxFlex","100","fxLayoutAlign","start start",1,"color-warn","pre-wrap"],[1,"mr-1","icon-small"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card",1),r.TgZ(3,"div",2),r.TgZ(4,"div",3),r._UZ(5,"img",4),r.qZA(),r.TgZ(6,"div",5),r.TgZ(7,"mat-card-header",6),r.TgZ(8,"mat-card-title",7),r.TgZ(9,"span",8),r._uU(10,"Welcome"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"mat-card-content",9),r.TgZ(12,"form",10,11),r.TgZ(14,"mat-form-field",12),r.TgZ(15,"input",13),r.NdJ("ngModelChange",function(t){return e.password=t}),r.qZA(),r.TgZ(16,"mat-icon",14),r.NdJ("click",function(){return e.flgShow=!e.flgShow}),r._uU(17),r.qZA(),r.YNc(18,fr,2,0,"mat-error",15),r.qZA(),r.YNc(19,pr,4,1,"p",16),r.TgZ(20,"div",17),r.TgZ(21,"button",18),r.NdJ("click",function(){return e.resetData()}),r._uU(22,"Clear"),r.qZA(),r.TgZ(23,"button",19),r.NdJ("click",function(){return e.onLogin()}),r._uU(24,"Login"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(6),r.Q6J("ngClass",r.VKq(7,mr,e.screenSize===e.screenSizeEnum.XS)),r.xp6(2),r.Q6J("ngClass",r.WLB(9,gr,e.screenSize===e.screenSizeEnum.XS,e.screenSize!==e.screenSizeEnum.XS)),r.xp6(7),r.Q6J("type",e.flgShow?"text":"password")("ngModel",e.password),r.xp6(2),r.Oqu(e.flgShow?"visibility_off":"visibility"),r.xp6(1),r.Q6J("ngIf",!e.password),r.xp6(1),r.Q6J("ngIf",""!==e.loginErrorMessage))},directives:[Z.xw,Z.yH,Z.Wh,N.a8,U.mk,ue.oO,N.dk,N.n5,N.dn,Q._Y,Q.JL,Q.F,W.KE,ht.Nt,Q.Fj,X.h,Q.Q7,Q.JJ,Q.On,Ti.Hw,W.R9,U.O5,K.lW,W.TO],styles:[".login-container[_ngcontent-%COMP%]{height:90vh}.login-container[_ngcontent-%COMP%] .mat-card[_ngcontent-%COMP%]{height:30rem}.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:100%}@media only screen and (max-width:56.25em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:37%}}@media only screen and (max-width:37.5em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:70%}}.login-container[_ngcontent-%COMP%] .material-icons.mat-icon[_ngcontent-%COMP%]{font-size:120%;cursor:pointer}"]}),t})();var br=i(8016);let vr=(()=>{class t{constructor(t,e){this.activatedRoute=t,this.router=e,this.error={errorCode:"",errorMessage:""},this.faTimes=P.NBC,this.unsubs=[new h.x,new h.x]}ngOnInit(){this.activatedRoute.paramMap.pipe((0,M.R)(this.unsubs[0])).subscribe(t=>{this.error=window.history.state})}goToHelp(){this.router.navigate(["/help"])}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.gz),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-error"]],decls:13,vars:3,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","center center"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start center"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","padding-gap-large"],[1,"font-size-300","font-bold-500"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","center center",1,"padding-gap-large"],[1,"box-text","font-size-120"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"mat-card",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"mat-card-title",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.qZA(),r.TgZ(7,"mat-card-content",6),r.TgZ(8,"div",7),r._uU(9),r.qZA(),r.TgZ(10,"span",8),r.TgZ(11,"button",9),r.NdJ("click",function(){return e.goToHelp()}),r._uU(12,"Go To Help"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faTimes),r.xp6(2),r.hij("Error ",e.error.errorCode,""),r.xp6(3),r.Oqu(e.error.errorMessage))},directives:[Z.xw,Z.yH,Z.Wh,N.a8,N.dk,N.n5,F.BN,N.dn,K.lW],encapsulation:2}),t})();var _r=i(6013);const wr=R.Bz.forRoot([{path:"",pathMatch:"full",redirectTo:"login"},{path:"lnd",loadChildren:()=>Promise.all([i.e(958),i.e(891)]).then(i.bind(i,7891)).then(t=>t.LNDModule),canActivate:[_r.a1]},{path:"cl",loadChildren:()=>Promise.all([i.e(958),i.e(646)]).then(i.bind(i,5646)).then(t=>t.CLModule),canActivate:[_r.a1]},{path:"ecl",loadChildren:()=>Promise.all([i.e(958),i.e(432)]).then(i.bind(i,1432)).then(t=>t.ECLModule),canActivate:[_r.a1]},{path:"settings",component:Y,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"app"},{path:"app",component:it,canActivate:[_r.a1]},{path:"auth",component:Ft,canActivate:[_r.a1]},{path:"bconfig",component:Gt,canActivate:[_r.a1]}]},{path:"config",component:Jt,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"node"},{path:"node",component:ve,canActivate:[_r.a1]},{path:"services",component:we,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",component:ke,canActivate:[_r.a1]},{path:"boltz",component:Ie,canActivate:[_r.a1]}]},{path:"lnconfig",component:re,canActivate:[_r.a1]}]},{path:"services",component:Oe,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",pathMatch:"full",redirectTo:"loop/loopout"},{path:"loop/:selTab",component:vi},{path:"boltz",pathMatch:"full",redirectTo:"boltz/swapout"},{path:"boltz/:selTab",component:or}]},{path:"help",component:hr},{path:"login",component:yr},{path:"error",component:vr},{path:"**",component:br.w}]);var xr=i(253),Cr=i(72),Ar=i(2865),Sr=i(3104),kr=i(8055);function Mr(t,e){if(1&t&&(r.TgZ(0,"a",10),r._UZ(1,"fa-icon",3),r.TgZ(2,"span",11),r._uU(3,"Settings"),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faUserCog)}}function Er(t,e){if(1&t&&(r.TgZ(0,"a",12),r._UZ(1,"fa-icon",3),r.TgZ(2,"span",13),r._uU(3,"Help"),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faLifeRing)}}function Tr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"a",14),r.NdJ("click",function(){return r.CHM(t),r.oxw().onClick()}),r._UZ(1,"fa-icon",3),r.TgZ(2,"span"),r._uU(3,"Logout"),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faEject)}}let Lr=(()=>{class t{constructor(t,e,i,n,r){this.logger=t,this.sessionService=e,this.store=i,this.rtlEffects=n,this.actions$=r,this.faUserCog=P.gNZ,this.faCodeBranch=P.mh3,this.faCog=P.b7W,this.faLifeRing=P.uli,this.faEject=P.KOR,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.showLogout=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.version=Ai.N.VERSION}ngOnInit(){this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{if(this.selNode=t.selNode,this.information=t.nodeData,this.flgLoading=!this.information.identity_pubkey,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if("object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const t=this.information.chains[0];this.informationChain.chain=t.chain,this.informationChain.network=t.network}}else this.informationChain.chain="",this.informationChain.network="";this.logger.info(t)}),this.sessionService.watchSession().pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.showLogout=!!t.token,this.flgLoading=!!t.token}),this.actions$.pipe((0,M.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Nv)).subscribe(()=>{this.showLogout=!1})}onClick(){this.store.dispatch(new j.b_({data:{type:Lt.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}})),this.rtlEffects.closeConfirm.pipe((0,M.R)(this.unSubs[3])).subscribe(t=>{t&&(this.showLogout=!1,this.store.dispatch(new j.RD))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(It.m),r.Y36(a.yh),r.Y36(at.V),r.Y36(l.eX))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-top-menu"]],decls:13,vars:7,consts:[[1,"top-menu",3,"overlapTrigger"],["topMenu","matMenu"],["mat-menu-item",""],[1,"fa-icon-small","mr-1",3,"icon"],["mat-menu-item","","routerLink","/settings",4,"ngIf"],["mat-menu-item","","routerLink","/help",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],["mat-icon-button","",1,"top-toolbar-icon",3,"matMenuTriggerFor"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",2,"width","3.2rem"],[2,"font-size","2rem","text-align","start"],["mat-menu-item","","routerLink","/settings"],["routerLink","/settings"],["mat-menu-item","","routerLink","/help"],["routerLink","/help"],["mat-menu-item","",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"mat-menu",0,1),r.TgZ(2,"p",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span"),r._uU(5),r.qZA(),r.qZA(),r.YNc(6,Mr,4,1,"a",4),r.YNc(7,Er,4,1,"a",5),r.YNc(8,Tr,4,1,"a",6),r.qZA(),r.TgZ(9,"button",7),r._UZ(10,"img",8),r.TgZ(11,"mat-icon",9),r._uU(12,"arrow_drop_down"),r.qZA(),r.qZA()),2&t){const t=r.MAs(1);r.Q6J("overlapTrigger",!1),r.xp6(3),r.Q6J("icon",e.faCodeBranch),r.xp6(2),r.hij("Version: ",e.version,""),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("matMenuTriggerFor",t)}},directives:[kr.VK,kr.OP,F.BN,U.O5,K.lW,kr.p6,Ti.Hw,R.yS,R.rH],styles:[".mat-menu-content,.mat-menu-content p.mat-menu-item,.mat-menu-content p.mat-menu-item div,.mat-menu-content p.mat-menu-item fa-icon,.mat-menu-content p.mat-menu-item span{cursor:default}.mat-menu-content p.mat-menu-item:hover{cursor:default!important}"],encapsulation:2}),t})();var Ir=i(5122),Or=i(1709),Dr=i(1010);const Rr={LNDChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:P.HLz,link:"/lnd/home",userPersona:Lt.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:P.nNP,link:"/lnd/onchain",userPersona:Lt.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:P.BDt,link:"/lnd/connections",userPersona:Lt.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:P.FVb,link:"/lnd/connections",userPersona:Lt.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:P.Ssp,link:"/lnd/transactions",userPersona:Lt.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:P.SuH,link:"/lnd/routing",userPersona:Lt.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:P.koM,link:"/lnd/reports",userPersona:Lt.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:P.wn1,link:"/lnd/lookups",userPersona:Lt.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:P.hkK,link:"/lnd/messages",userPersona:Lt.ol.ALL},{id:37,parentId:3,name:"Backup",iconType:"FA",icon:P.q7m,link:"/lnd/channelbackup",userPersona:Lt.ol.ALL},{id:38,parentId:3,name:"Network",iconType:"FA",icon:P.o4t,link:"/lnd/network",userPersona:Lt.ol.OPERATOR},{id:39,parentId:3,name:"Node/Network",iconType:"FA",icon:P.xf3,link:"/lnd/network",userPersona:Lt.ol.MERCHANT}]},{id:4,parentId:0,name:"Services",iconType:"FA",icon:P.Krp,link:"/services/loop",userPersona:Lt.ol.ALL,children:[{id:41,parentId:4,name:"Loop",iconType:"FA",icon:P.vqe,link:"/services/loop",userPersona:Lt.ol.ALL},{id:42,parentId:4,name:"Boltz",iconType:"SVG",icon:"boltzIconBlock",link:"/services/boltz",userPersona:Lt.ol.ALL}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:P.CgH,link:"/config",userPersona:Lt.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:P.Psp,link:"/help",userPersona:Lt.ol.ALL}],CLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:P.HLz,link:"/cl/home",userPersona:Lt.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:P.nNP,link:"/cl/onchain",userPersona:Lt.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:P.BDt,link:"/cl/connections",userPersona:Lt.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:P.FVb,link:"/cl/connections",userPersona:Lt.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:P.Ssp,link:"/cl/transactions",userPersona:Lt.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:P.SuH,link:"/cl/routing",userPersona:Lt.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:P.koM,link:"/cl/reports",userPersona:Lt.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:P.wn1,link:"/cl/lookups",userPersona:Lt.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:P.hkK,link:"/cl/messages",userPersona:Lt.ol.ALL},{id:37,parentId:3,name:"Fee Rates",iconType:"FA",icon:P.USL,link:"/cl/rates",userPersona:Lt.ol.OPERATOR},{id:38,parentId:3,name:"Node/Fee Rates",iconType:"FA",icon:P.xf3,link:"/cl/rates",userPersona:Lt.ol.MERCHANT}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:P.CgH,link:"/config",userPersona:Lt.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:P.Psp,link:"/help",userPersona:Lt.ol.ALL}],ECLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:P.HLz,link:"/ecl/home",userPersona:Lt.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:P.nNP,link:"/ecl/onchain",userPersona:Lt.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:P.BDt,link:"/ecl/connections",userPersona:Lt.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:P.FVb,link:"/ecl/connections",userPersona:Lt.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:P.Ssp,link:"/ecl/transactions",userPersona:Lt.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:P.SuH,link:"/ecl/routing",userPersona:Lt.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:P.koM,link:"/ecl/reports",userPersona:Lt.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:P.wn1,link:"/ecl/lookups",userPersona:Lt.ol.ALL}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:P.CgH,link:"/config",userPersona:Lt.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:P.Psp,link:"/help",userPersona:Lt.ol.ALL}]};var Pr=i(6828);function Zr(t,e){if(1&t&&(r.TgZ(0,"mat-option",11),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t),r.xp6(1),r.AsE(" ",t.lnNode," (",t.lnImplementation,") ")}}function Fr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-select",9),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw().onNodeSelectionChange(e.value)}),r.YNc(1,Zr,2,3,"mat-option",10),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("value",t.selNode),r.xp6(1),r.Q6J("ngForOf",t.appConfig.nodes)}}function Nr(t,e){if(1&t&&(r.TgZ(0,"span",21),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.oxw(2);const e=r.MAs(11);r.xp6(1),r.Q6J("ngTemplateOutlet","boltzIconBlock"===t.icon?e:null)}}function Br(t,e){if(1&t&&r._UZ(0,"fa-icon",23),2&t){const t=r.oxw().$implicit;r.Q6J("icon",t.icon)}}function Ur(t,e){if(1&t&&(r.TgZ(0,"mat-icon",24),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t.icon)}}function qr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",15),r.TgZ(1,"div",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onChildNavClicked(e)}),r.TgZ(2,"div",17),r.YNc(3,Nr,2,1,"span",18),r.YNc(4,Br,1,1,"fa-icon",19),r.YNc(5,Ur,2,1,"mat-icon",20),r.TgZ(6,"span"),r._uU(7),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.s9C("routerLink",t.link),r.xp6(3),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name)}}function zr(t,e){if(1&t&&(r.TgZ(0,"span",33),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Hr(t,e){if(1&t&&r._UZ(0,"fa-icon",23),2&t){const t=r.oxw().$implicit;r.Q6J("icon",t.icon)}}function Yr(t,e){if(1&t&&(r.TgZ(0,"mat-icon",24),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t.icon)}}function jr(t,e){if(1&t&&(r.TgZ(0,"mat-nested-tree-node",25),r.TgZ(1,"div",26),r.TgZ(2,"div",27),r.YNc(3,zr,2,1,"span",28),r.YNc(4,Hr,1,1,"fa-icon",19),r.YNc(5,Yr,2,1,"mat-icon",20),r.TgZ(6,"span"),r._uU(7),r.qZA(),r.qZA(),r.TgZ(8,"button",29),r.TgZ(9,"mat-icon",30),r._uU(10),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"div",31),r.GkF(12,32),r.qZA(),r.qZA()),2&t){const t=e.$implicit,i=r.oxw(2);r.xp6(3),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name),r.xp6(1),r.uIk("aria-label","toggle "+t.name),r.xp6(2),r.Oqu(i.treeControlNested.isExpanded(t)?"arrow_drop_up":"arrow_drop_down"),r.xp6(1),r.ekj("tree-children-invisible",!i.treeControlNested.isExpanded(t))}}function Gr(t,e){if(1&t&&(r.TgZ(0,"mat-tree",5,12),r.YNc(2,qr,8,5,"mat-tree-node",13),r.YNc(3,jr,13,8,"mat-nested-tree-node",14),r.qZA()),2&t){const t=r.oxw();r.Q6J("dataSource",t.navMenus)("treeControl",t.treeControlNested),r.xp6(3),r.Q6J("matTreeNodeDefWhen",t.hasChild)}}function Vr(t,e){if(1&t&&(r.TgZ(0,"span",21),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Qr(t,e){if(1&t&&r._UZ(0,"fa-icon",36),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.Q6J("icon",t.icon)}}function Wr(t,e){if(1&t&&(r.TgZ(0,"mat-icon",37),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.xp6(1),r.Oqu(t.icon)}}function Jr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onShowData(e)}),r.YNc(1,Vr,2,1,"span",18),r.YNc(2,Qr,1,2,"fa-icon",34),r.YNc(3,Wr,2,2,"mat-icon",35),r.TgZ(4,"span"),r._uU(5),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.xp6(1),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name)}}function Xr(t,e){if(1&t&&(r.TgZ(0,"span",33),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Kr(t,e){if(1&t&&r._UZ(0,"fa-icon",36),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.Q6J("icon",t.icon)}}function $r(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onClick(e)}),r.YNc(1,Xr,2,1,"span",28),r.YNc(2,Kr,1,2,"fa-icon",34),r.TgZ(3,"span"),r._uU(4),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.xp6(1),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(2),r.Oqu(t.name)}}function ts(t,e){if(1&t&&(r.TgZ(0,"mat-tree",5),r.YNc(1,$r,5,3,"mat-tree-node",6),r.qZA()),2&t){const t=r.oxw();r.Q6J("dataSource",t.navMenusLogout)("treeControl",t.treeControlLogout)}}function es(t,e){1&t&&(r.O4$(),r.TgZ(0,"svg",38),r.TgZ(1,"g",39),r.TgZ(2,"g",40),r._UZ(3,"circle",41),r._UZ(4,"path",42),r._UZ(5,"path",43),r.qZA(),r.qZA(),r.qZA())}let is=(()=>{class t{constructor(t,e,i,n,s,o){this.logger=t,this.commonService=e,this.sessionService=i,this.store=n,this.actions$=s,this.rtlEffects=o,this.ChildNavClicked=new r.vpe,this.faEject=P.KOR,this.faEye=P.Mdf,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.logoutNode=[{id:200,parentId:0,name:"Logout",iconType:"FA",icon:P.KOR}],this.showDataNodes=[{id:1e3,parentId:0,name:"Public Key",iconType:"FA",icon:P.Mdf}],this.showLogout=!1,this.numPendingChannels=0,this.smallScreen=!1,this.childRootRoute="",this.userPersonaEnum=Lt.ol,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.treeControlNested=new Or.VY(t=>t.children),this.treeControlLogout=new Or.VY(t=>t.children),this.treeControlShowData=new Or.VY(t=>t.children),this.navMenus=new Dr.WX,this.navMenusLogout=new Dr.WX,this.navMenusShowData=new Dr.WX,this.hasChild=(t,e)=>!!e.children&&e.children.length>0,this.version=Ai.N.VERSION,200===Rr.LNDChildren[Rr.LNDChildren.length-1].id&&Rr.LNDChildren.pop(),this.navMenus.data=Rr.LNDChildren,this.navMenusLogout.data=this.logoutNode,this.navMenusShowData.data=this.showDataNodes}ngOnInit(){let t=this.sessionService.getItem("token");this.showLogout=!!t,this.flgLoading=!!t,this.store.select("root").pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{if(this.appConfig=t.appConfig,this.selNode=t.selNode,this.settings=this.selNode.settings,this.information=t.nodeData,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if("object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const t=this.information.chains[0];this.informationChain.chain=t.chain,this.informationChain.network=t.network}}else this.informationChain.chain="",this.informationChain.network="";this.flgLoading=!this.information.identity_pubkey,window.innerWidth<=414&&(this.smallScreen=!0),this.settings.lnServerUrl&&this.filterSideMenuNodes(),this.logger.info(t)}),this.sessionService.watchSession().pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.showLogout=!!t.token,this.flgLoading=!!t.token}),this.actions$.pipe((0,M.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Nv)).subscribe(t=>{this.showLogout=!1})}onClick(t){"Logout"===t.name&&(this.store.dispatch(new j.b_({data:{type:Lt.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}})),this.rtlEffects.closeConfirm.pipe((0,M.R)(this.unSubs[3])).subscribe(t=>{t&&(this.showLogout=!1,this.store.dispatch(new j.RD))})),this.ChildNavClicked.emit(t)}onChildNavClicked(t){this.ChildNavClicked.emit(t)}filterSideMenuNodes(){if(this.selNode&&this.selNode.lnImplementation)switch(this.selNode.lnImplementation.toUpperCase()){case"CLT":this.loadCLTMenu();break;case"ECL":this.loadECLMenu();break;default:this.loadLNDMenu()}else this.loadLNDMenu()}loadLNDMenu(){let t=[];t=JSON.parse(JSON.stringify(Rr.LNDChildren)),this.navMenus.data=t.filter(t=>t.children&&t.children.length?(t.children=t.children.filter(t=>(t.userPersona===Lt.ol.ALL||t.userPersona===this.settings.userPersona)&&"/services/loop"!==t.link&&"/services/boltz"!==t.link||"/services/loop"===t.link&&this.settings.swapServerUrl&&""!==this.settings.swapServerUrl.trim()||"/services/boltz"===t.link&&this.settings.boltzServerUrl&&""!==this.settings.boltzServerUrl.trim()),t.children.length>0):t.userPersona===Lt.ol.ALL||t.userPersona===this.settings.userPersona)}loadCLTMenu(){let t=[];t=JSON.parse(JSON.stringify(Rr.CLChildren)),this.navMenus.data=t.filter(t=>(t.children&&t.children.length&&(t.children=t.children.filter(t=>(t.userPersona===Lt.ol.ALL||t.userPersona===this.settings.userPersona)&&"/cl/messages"!==t.link||"/cl/messages"===t.link&&this.information.api_version&&this.commonService.isVersionCompatible(this.information.api_version,"0.2.2"))),t.userPersona===Lt.ol.ALL||t.userPersona===this.settings.userPersona))}loadECLMenu(){this.navMenus.data=JSON.parse(JSON.stringify(Rr.ECLChildren))}onShowData(t){this.store.dispatch(new j.fD),this.ChildNavClicked.emit("showData")}onNodeSelectionChange(t){this.selNode=t,this.store.dispatch(new j.Fk("Updating Selected Node...")),this.store.dispatch(new j.ZG({lnNode:t,isInitialSetup:!1})),this.ChildNavClicked.emit("selectNode")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(le.v),r.Y36(It.m),r.Y36(a.yh),r.Y36(l.eX),r.Y36(at.V))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-side-navigation"]],viewQuery:function(t,e){if(1&t&&r.Gf(Dr.gi,5),2&t){let t;r.iGM(t=r.CRH())&&(e.tree=t.first)}},outputs:{ChildNavClicked:"ChildNavClicked"},decls:12,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","90","fxLayoutAlign","start stretch",1,"w-100"],["class","m-2 multi-node-select",3,"value","selectionChange",4,"ngIf"],[1,"w-100"],[3,"dataSource","treeControl",4,"ngIf"],[3,"dataSource","treeControl"],[3,"click",4,"matTreeNodeDef"],["fxLayout","column","fxFlex","10","fxLayoutAlign","end stretch",1,"w-100"],["boltzIconBlock",""],[1,"m-2","multi-node-select",3,"value","selectionChange"],["tabindex","1",3,"value",4,"ngFor","ngForOf"],["tabindex","1",3,"value"],["tree",""],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink",4,"matTreeNodeDef"],["fxLayout","column","matTreeNodeToggle","",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink"],[3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["class","fa-icon-small mr-2",4,"ngIf"],["class","fa-icon-small mr-2",3,"icon",4,"ngIf"],["class","mat-icon-36",4,"ngIf"],[1,"fa-icon-small","mr-2"],[3,"ngTemplateOutlet"],[1,"fa-icon-small","mr-2",3,"icon"],[1,"mat-icon-36"],["fxLayout","column","matTreeNodeToggle",""],["fxLayout","row","fxLayoutAlign","start center",1,"mat-nested-tree-node-parent"],["fxFlex","89","fxLayoutAlign","start center"],["class","mr-2",4,"ngIf"],["fxFlex","11","mat-icon-button","","fxLayoutAlign","end center"],[1,"mat-icon-rtl-mirror"],[1,"mat-nested-tree-node-child"],["matTreeNodeOutlet",""],[1,"mr-2"],["class","fa-icon-small mr-2","matTooltipPosition","right",3,"icon","matTooltip",4,"ngIf"],["class","mat-icon-36","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],["matTooltipPosition","right",1,"fa-icon-small","mr-2",3,"icon","matTooltip"],["matTooltipPosition","right",1,"mat-icon-36",3,"matTooltip"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Fr,2,2,"mat-select",2),r._UZ(3,"mat-divider",3),r.YNc(4,Gr,4,3,"mat-tree",4),r._UZ(5,"mat-divider",3),r.TgZ(6,"mat-tree",5),r.YNc(7,Jr,6,4,"mat-tree-node",6),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.YNc(9,ts,2,2,"mat-tree",4),r.qZA(),r.qZA(),r.YNc(10,es,6,0,"ng-template",null,8,r.W1O)),2&t&&(r.xp6(2),r.Q6J("ngIf",e.appConfig.nodes.length>1),r.xp6(2),r.Q6J("ngIf",e.settings.lnServerUrl),r.xp6(2),r.Q6J("dataSource",e.navMenusShowData)("treeControl",e.treeControlShowData),r.xp6(3),r.Q6J("ngIf",e.showLogout))},directives:[Z.xw,Z.yH,Z.Wh,V.$V,U.O5,Ot.d,Dr.gi,Dr.fQ,J.gD,U.sg,$.ey,Dr.uo,Dr.eu,R.Od,R.rH,U.tP,F.BN,Ti.Hw,Dr.GZ,K.lW,Dr.Ar,Pr.gM],styles:[".tree-children-invisible[_ngcontent-%COMP%]{display:none}"]}),t})();var ns=i(7806);const rs=["sideNavigation"],ss=["sideNavContent"];function os(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",13),r.NdJ("click",function(){return r.CHM(t),r.oxw().sideNavToggle()}),r.TgZ(1,"mat-icon"),r._uU(2,"menu"),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t.flgSideNavOpened?"Hide Navigation Menu":"Show Navigation Menu")("matTooltipDisabled",t.smallScreen)}}function as(t,e){1&t&&(r.O4$(),r._UZ(0,"path",18))}function ls(t,e){1&t&&(r.O4$(),r._UZ(0,"path",19))}function cs(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",14),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.flgSidenavPinned=!e.flgSidenavPinned}),r.O4$(),r.TgZ(1,"svg",15),r.YNc(2,as,1,0,"path",16),r.YNc(3,ls,1,0,"path",17),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t.flgSidenavPinned?"Unpin Navigation Menu":"Pin Navigation Menu"),r.xp6(2),r.Q6J("ngIf",!t.flgSidenavPinned),r.xp6(1),r.Q6J("ngIf",t.flgSidenavPinned)}}function hs(t,e){if(1&t&&(r.TgZ(0,"span"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.information.alias?"RTL - "+t.information.alias:"RTL")}}function us(t,e){if(1&t&&(r.TgZ(0,"span"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.information.alias?"Ride The Lightning - "+t.information.alias:"Ride The Lightning")}}function ds(t,e){1&t&&(r.TgZ(0,"div",20),r._UZ(1,"mat-spinner",21),r.TgZ(2,"h4"),r._uU(3,"Loading RTL..."),r.qZA(),r.qZA())}const fs=function(t,e){return[t,e]};let ps=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this.logger=t,this.commonService=e,this.store=i,this.actions$=n,this.userIdle=r,this.router=s,this.sessionService=o,this.breakpointObserver=a,this.renderer=l,this.information={},this.flgLoading=[!0],this.flgSideNavOpened=!0,this.flgCopied=!1,this.accessKey="",this.xSmallScreen=!1,this.smallScreen=!1,this.flgSidenavPinned=!0,this.flgLoggedIn=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.router.events.subscribe(t=>{t instanceof R.m2&&document.getElementsByTagName("mat-sidenav-content")[0].scrollTo(0,0)}),this.breakpointObserver.observe([Cr.u3.XSmall,Cr.u3.TabletPortrait,Cr.u3.Small,Cr.u3.Medium,Cr.u3.Large,Cr.u3.XLarge]).pipe((0,M.R)(this.unSubs[0])).subscribe(t=>{t.breakpoints[Cr.u3.XSmall]?(this.commonService.setScreenSize(Lt.cu.XS),this.smallScreen=!0):t.breakpoints[Cr.u3.TabletPortrait]?(this.commonService.setScreenSize(Lt.cu.SM),this.smallScreen=!0):t.breakpoints[Cr.u3.Small]||t.breakpoints[Cr.u3.Medium]?(this.commonService.setScreenSize(Lt.cu.MD),this.smallScreen=!1):t.breakpoints[Cr.u3.Large]?(this.commonService.setScreenSize(Lt.cu.LG),this.smallScreen=!1):(this.commonService.setScreenSize(Lt.cu.XL),this.smallScreen=!1)}),this.store.dispatch(new j.XF),this.accessKey=this.readAccessKey(),this.store.select("root").pipe((0,M.R)(this.unSubs[1])).subscribe(t=>{this.selNode=t.selNode,this.settings=this.selNode.settings,this.appConfig=t.appConfig,this.information=t.nodeData,this.flgLoading[0]=!this.information.identity_pubkey,this.logger.info(this.settings),this.sessionService.getItem("token")?(this.flgLoggedIn=!0,this.userIdle.startWatching()):(this.flgLoggedIn=!1,this.flgLoading[0]=!1)}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1),this.actions$.pipe((0,M.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.rZ||t.type===j.Nv)).subscribe(t=>{t.type===j.rZ&&(this.sessionService.getItem("token")||(+t.payload.sso.rtlSSO?!this.accessKey||this.accessKey.trim().length<32?this.router.navigate(["./error"],{state:{errorCode:"406",errorMessage:"Access key too short. It should be at least 32 characters long."}}):this.store.dispatch(new j.m3({password:nt(this.accessKey),defaultPassword:!1})):this.router.navigate(["./login"]))),t.type===j.Nv&&(this.flgLoggedIn=!1,this.userIdle.stopWatching(),this.userIdle.stopTimer())}),this.userIdle.onTimerStart().pipe((0,M.R)(this.unSubs[3])).subscribe(t=>{this.logger.info("Counting Down: "+(11-t))}),this.userIdle.onTimeout().pipe((0,M.R)(this.unSubs[4])).subscribe(()=>{this.logger.info("Time Out!"),this.sessionService.getItem("token")&&(this.flgLoggedIn=!1,this.logger.warn("Time limit exceeded for session inactivity."),this.store.dispatch(new j.Ac),this.store.dispatch(new j.wu({data:{type:Lt.n_.WARNING,alertTitle:"Logging out",titleMessage:"Time limit exceeded for session inactivity."}})),this.store.dispatch(new j.RD))}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1)}readAccessKey(){const t=window.location.href;return t.includes("access-key=")?t.substring(t.lastIndexOf("access-key=")+11).trim():null}ngAfterViewInit(){this.smallScreen?(this.sideNavigation.close(),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)):setTimeout(()=>{this.flgLoggedIn&&this.renderer.setStyle(this.sideNavContent.elementRef.nativeElement,"marginLeft","22rem"),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)},100)}sideNavToggle(){this.flgSideNavOpened=!this.flgSideNavOpened,this.sideNavigation.toggle()}onNavigationClicked(t){this.smallScreen&&this.sideNavigation.close()}copiedText(t){this.flgCopied=!0,setTimeout(()=>{this.flgCopied=!1},5e3),this.logger.info("Copied Text: "+t)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(G.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(l.eX),r.Y36(O),r.Y36(R.F0),r.Y36(It.m),r.Y36(Cr.Yg),r.Y36(r.Qsj))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-app"]],viewQuery:function(t,e){if(1&t&&(r.Gf(rs,5),r.Gf(ss,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sideNavigation=t.first),r.iGM(t=r.CRH())&&(e.sideNavContent=t.first)}},decls:23,vars:15,consts:[["fxLayout","column","id","rtl-container",1,"rtl-container","medium",3,"ngClass"],["fxLayout","row","fxLayoutAlign","space-between center",1,"padding-gap-x","bg-primary","rtl-top-toolbar"],["class","top-toolbar-icon mr-1","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","matTooltipDisabled","click",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click",4,"ngIf"],[4,"ngIf"],[1,"sidenav","mat-elevation-z6",3,"perfectScrollbar","opened","mode"],["sideNavigation",""],["fxFlex","100",3,"ChildNavClicked"],[3,"perfectScrollbar"],["sideNavContent",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["outlet","outlet"],["class","rtl-spinner",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon","mr-1",3,"matTooltip","matTooltipDisabled","click"],["mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click"],["viewBox","0 0 32 32",1,"top-toolbar-icon","icon-pinned"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z",4,"ngIf"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z",4,"ngIf"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z"],[1,"rtl-spinner"],["color","accent"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.ALo(1,"lowercase"),r.ALo(2,"lowercase"),r.TgZ(3,"mat-toolbar",1),r.TgZ(4,"div"),r.YNc(5,os,3,2,"button",2),r.YNc(6,cs,4,3,"button",3),r.qZA(),r.TgZ(7,"div"),r.YNc(8,hs,2,1,"span",4),r.YNc(9,us,2,1,"span",4),r.qZA(),r.TgZ(10,"div"),r._UZ(11,"rtl-top-menu"),r.qZA(),r.qZA(),r.TgZ(12,"mat-sidenav-container"),r.TgZ(13,"mat-sidenav",5,6),r.TgZ(15,"rtl-side-navigation",7),r.NdJ("ChildNavClicked",function(t){return e.onNavigationClicked(t)}),r.qZA(),r.qZA(),r.TgZ(16,"mat-sidenav-content",8,9),r.TgZ(18,"div",10),r._UZ(19,"router-outlet",null,11),r.qZA(),r.qZA(),r._uU(21,"> "),r.qZA(),r.YNc(22,ds,4,0,"div",12),r.qZA()),2&t&&(r.Q6J("ngClass",r.WLB(12,fs,r.lcZ(1,8,e.settings.themeColor),r.lcZ(2,10,e.settings.themeMode))),r.xp6(5),r.Q6J("ngIf",e.flgLoggedIn),r.xp6(1),r.Q6J("ngIf",!e.smallScreen&&e.flgLoggedIn),r.xp6(2),r.Q6J("ngIf",e.smallScreen),r.xp6(1),r.Q6J("ngIf",!e.smallScreen),r.xp6(4),r.Q6J("opened",e.flgSideNavOpened&&e.flgLoggedIn)("mode",e.flgSidenavPinned&&!e.smallScreen?"side":"over"),r.xp6(9),r.Q6J("ngIf",!e.settings.themeColor))},directives:[Z.xw,U.mk,ue.oO,Sr.Ye,Z.Wh,U.O5,Lr,Ir.TM,Ir.JX,V.$V,is,Z.yH,Ir.Rh,R.lC,K.lW,Pr.gM,Ti.Hw,ns.$g],pipes:[U.i8],styles:[".inline-spinner[_ngcontent-%COMP%]{display:inline-flex!important;top:0!important}"],data:{animation:[Ar.g]}}),t})(),ms=(()=>{class t{constructor(t){this.sessionService=t}intercept(t,e){if(this.sessionService.getItem("token")){const i=t.clone({headers:t.headers.set("Authorization","Bearer "+this.sessionService.getItem("token"))});return e.handle(i)}return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(It.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();var gs=i(3556);const ys={initialAPIResponseStatus:["INCOMPLETE"],effectErrors:[],nodeSettings:{userPersona:Lt.ol.OPERATOR,selCurrencyUnit:"USD",fiatConversion:!1,channelBackupPath:"",currencyUnits:[]},information:{},fees:{},activeChannels:[],pendingChannels:[],inactiveChannels:[],channelsStatus:{},channelStats:[],onchainBalance:{total:0,confirmed:0,unconfirmed:0},lightningBalance:{localBalance:-1,remoteBalance:-1},peers:[],payments:{},transactions:[],invoices:[]},bs={initialAPIResponseStatus:["INCOMPLETE"],effectErrors:[],nodeSettings:{userPersona:Lt.ol.OPERATOR,selCurrencyUnit:"USD",fiatConversion:!1,channelBackupPath:"",currencyUnits:[]},information:{},fees:{},feeRatesPerKB:{},feeRatesPerKW:{},balance:{},localRemoteBalance:{localBalance:-1,remoteBalance:-1},peers:[],allChannels:[],payments:[],forwardingHistory:{},invoices:{invoices:[]},utxos:[]};let vs=!1,_s=!1;const ws={initialAPIResponseStatus:["INCOMPLETE"],effectErrors:[],nodeSettings:{userPersona:Lt.ol.OPERATOR,fiatConversion:!1,channelBackupPath:"",currencyUnits:[],selCurrencyUnit:"",lnImplementation:"",swapServerUrl:""},information:{},peers:[],fees:{},networkInfo:{},channelBalance:{balance:-1,btc_balance:-1},blockchainBalance:{total_balance:-1,btc_total_balance:-1},allChannels:[],closedChannels:[],pendingChannels:{},numberOfActiveChannels:0,numberOfInactiveChannels:0,numberOfPendingChannels:{open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0},totalCapacityActive:0,totalCapacityInactive:0,totalLocalBalance:-1,totalRemoteBalance:-1,totalInvoices:-1,transactions:[],utxos:[],payments:{payments:[]},invoices:{invoices:[]},allLightningTransactions:{paymentsAll:null,invoicesAll:null},forwardingHistory:{}},xs={userPersona:"OPERATOR",themeMode:"DAY",themeColor:"PURPLE",channelBackupPath:"",selCurrencyUnit:"USD",fiatConversion:!1,currencyUnits:["Sats","BTC","USD"],bitcoindConfigPath:""},Cs={configPath:"",swapMacaroonPath:"",boltzMacaroonPath:""},As={effectErrorsRoot:[],selNode:{settings:xs,authentication:Cs,lnImplementation:"LND"},appConfig:{defaultNodeIndex:-1,selectedNodeIndex:-1,sso:{rtlSSO:0,logoutRedirectLink:""},enable2FA:!1,nodes:[{settings:xs,authentication:Cs}]},nodeData:{}},Ss={root:function(t=As,e){switch(e.type){case j.G$:const i=[...t.effectErrorsRoot],n=t.effectErrorsRoot.findIndex(t=>t.action===e.payload);return n>-1&&i.splice(n,1),Object.assign(Object.assign({},t),{effectErrorsRoot:i});case j.Y8:return Object.assign(Object.assign({},t),{effectErrorsRoot:[...t.effectErrorsRoot,e.payload]});case j.dh:return Object.assign(Object.assign({},As),{appConfig:t.appConfig,selNode:e.payload});case j.RP:return Object.assign(Object.assign({},t),{selNode:e.payload.lnNode});case j.zH:return Object.assign(Object.assign({},t),{nodeData:e.payload});case j.rZ:return Object.assign(Object.assign({},t),{appConfig:e.payload});default:return t}},lnd:function(t=ws,e){let i=t.initialAPIResponseStatus;switch(e.type){case ae.I8:const n=[...t.effectErrors],r=t.effectErrors.findIndex(t=>t.action===e.payload);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{effectErrors:n});case ae.hL:return Object.assign(Object.assign({},t),{effectErrors:[...t.effectErrors,e.payload]});case ae.Os:return Object.assign(Object.assign({},t),{nodeSettings:e.payload});case ae.AL:return Object.assign(Object.assign({},ws),{nodeSettings:e.payload});case ae.Uy:return Object.assign(Object.assign({},t),{information:e.payload});case ae.Ah:return i=[...t.initialAPIResponseStatus,"PEERS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,peers:e.payload});case ae.pK:const s=[...t.peers],o=t.peers.findIndex(t=>t.pub_key===e.payload.pubkey);return o>-1&&s.splice(o,1),Object.assign(Object.assign({},t),{peers:s});case ae.c_:const a=t.invoices;return a.invoices.unshift(e.payload),Object.assign(Object.assign({},t),{invoices:a});case ae.HS:return i=[...t.initialAPIResponseStatus,"FEES"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,fees:e.payload});case ae.S1:return i=[...t.initialAPIResponseStatus,"CLOSEDCHANNELS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,closedChannels:e.payload});case ae.oS:return i=[...t.initialAPIResponseStatus,"PENDINGCHANNELS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,pendingChannels:e.payload.channels,numberOfPendingChannels:e.payload.pendingChannels});case ae.P2:let l=0,c=0,h=0,u=0,d=0,f=0;return e.payload&&e.payload.forEach(t=>{t.local_balance||(t.local_balance=0),!0===t.active?(d+=+t.local_balance,h+=1,t.local_balance?l=+l+ +t.local_balance:t.local_balance=0,t.remote_balance?c=+c+ +t.remote_balance:t.remote_balance=0):(f+=+t.local_balance,u+=1)}),i=[...t.initialAPIResponseStatus,"ALLCHANNELS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,allChannels:e.payload,numberOfActiveChannels:h,numberOfInactiveChannels:u,totalCapacityActive:d,totalCapacityInactive:f,totalLocalBalance:l,totalRemoteBalance:c});case ae.bq:const p=[...t.allChannels],m=t.allChannels.findIndex(t=>t.channel_point===e.payload.channelPoint);return m>-1&&p.splice(m,1),Object.assign(Object.assign({},t),{allChannels:p});case ae.hn:return"channels"===e.payload.target?(i=[...t.initialAPIResponseStatus,"BALANCE"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,channelBalance:e.payload.balance})):Object.assign(Object.assign({},t),{blockchainBalance:e.payload.balance});case ae._s:return Object.assign(Object.assign({},t),{networkInfo:e.payload});case ae._V:return i=[...t.initialAPIResponseStatus,"INVOICES"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,invoices:e.payload});case ae.mU:return Object.assign(Object.assign({},t),{totalInvoices:e.payload});case ae.kz:if(vs=!0,e.payload.length&&_s){let i=[...t.utxos];return i.forEach(t=>{let i=e.payload.find(e=>e.tx_hash===t.outpoint.txid_str);t.label=i&&i.label?i.label:""}),Object.assign(Object.assign({},t),{utxos:i,transactions:e.payload})}return Object.assign(Object.assign({},t),{transactions:e.payload});case ae.b:if(_s=!0,e.payload.length&&vs){let i=[...t.transactions];e.payload.forEach(t=>{let e=i.find(e=>e.tx_hash===t.outpoint.txid_str);t.label=e&&e.label?e.label:""})}return Object.assign(Object.assign({},t),{utxos:e.payload});case ae.Bj:return i=[...t.initialAPIResponseStatus,"PAYMENTS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,payments:e.payload});case ae.tB:return Object.assign(Object.assign({},t),{allLightningTransactions:e.payload});case ae.x:if(e.payload.forwarding_events){const i=[...t.allChannels,...t.closedChannels];e.payload.forwarding_events.forEach(t=>{if(i&&i.length>0)for(let e=0;et.action===e.payload);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{effectErrors:n});case oe.at:return Object.assign(Object.assign({},t),{effectErrors:[...t.effectErrors,e.payload]});case oe.Xj:return Object.assign(Object.assign({},t),{nodeSettings:e.payload});case oe.uq:return Object.assign(Object.assign({},bs),{nodeSettings:e.payload});case oe.Ql:return Object.assign(Object.assign({},t),{information:e.payload});case oe.iK:return i=[...t.initialAPIResponseStatus,"FEES"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,fees:e.payload});case oe.XQ:return e.payload.perkb?(i=[...t.initialAPIResponseStatus,"FEERATEKB"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,feeRatesPerKB:e.payload})):e.payload.perkw?(i=[...t.initialAPIResponseStatus,"FEERATEKW"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,feeRatesPerKW:e.payload})):Object.assign({},t);case oe.UO:return i=[...t.initialAPIResponseStatus,"BALANCE"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,balance:e.payload});case oe.qt:return i=[...t.initialAPIResponseStatus,"CHANNELBALANCE"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,localRemoteBalance:e.payload});case oe.sX:return i=[...t.initialAPIResponseStatus,"PEERS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,peers:e.payload});case oe.W2:return Object.assign(Object.assign({},t),{peers:[...t.peers,e.payload]});case oe.qH:const s=[...t.peers],o=t.peers.findIndex(t=>t.id===e.payload.id);return o>-1&&s.splice(o,1),Object.assign(Object.assign({},t),{peers:s});case oe.zj:return i=[...t.initialAPIResponseStatus,"CHANNELS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,allChannels:e.payload});case oe.Vb:const a=[...t.allChannels],l=t.allChannels.findIndex(t=>t.channel_id===e.payload.channelId);return l>-1&&a.splice(l,1),Object.assign(Object.assign({},t),{allChannels:a});case oe.nL:return i=[...t.initialAPIResponseStatus,"PAYMENTS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,payments:e.payload});case oe.bH:const c=t.fees;if(e.payload.forwarding_events&&e.payload.forwarding_events.length>0){const i=[...t.allChannels];e.payload.forwarding_events.forEach(t=>{if(i&&i.length>0)for(let e=0;e"settled"===t.status).length}else e.payload={};return Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,fee:c,forwardingHistory:e.payload});case oe.G0:const h=t.invoices;return h.invoices.unshift(e.payload),Object.assign(Object.assign({},t),{invoices:h});case oe.yL:return Object.assign(Object.assign({},t),{invoices:e.payload});case oe.Q2:return i=[...t.initialAPIResponseStatus,"UTXOS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,utxos:e.payload});default:return t}},ecl:function(t=ys,e){let i=t.initialAPIResponseStatus;switch(e.type){case se.mZ:const n=[...t.effectErrors],r=t.effectErrors.findIndex(t=>t.action===e.payload);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{effectErrors:n});case se.Wz:return Object.assign(Object.assign({},t),{effectErrors:[...t.effectErrors,e.payload]});case se.gk:return Object.assign(Object.assign({},t),{nodeSettings:e.payload});case se.ok:return Object.assign(Object.assign({},ys),{nodeSettings:e.payload});case se.ml:return Object.assign(Object.assign({},t),{information:e.payload});case se.UA:return i=[...t.initialAPIResponseStatus,"FEES"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,fees:e.payload});case se.L2:return Object.assign(Object.assign({},t),{activeChannels:e.payload});case se.JI:return Object.assign(Object.assign({},t),{pendingChannels:e.payload});case se.ct:return Object.assign(Object.assign({},t),{inactiveChannels:e.payload});case se.mn:return i=[...t.initialAPIResponseStatus,"CHANNELS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,channelsStatus:e.payload});case se.ro:return Object.assign(Object.assign({},t),{channelStats:e.payload});case se.CF:return i=[...t.initialAPIResponseStatus,"ONCHAINBALANCE"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,onchainBalance:e.payload});case se.$9:return Object.assign(Object.assign({},t),{lightningBalance:e.payload});case se.IH:return i=[...t.initialAPIResponseStatus,"PEERS"],Object.assign(Object.assign({},t),{initialAPIResponseStatus:i,peers:e.payload});case se.J4:const s=[...t.peers],o=t.peers.findIndex(t=>t.nodeId===e.payload.nodeId);return o>-1&&s.splice(o,1),Object.assign(Object.assign({},t),{peers:s});case se.Cu:const a=[...t.activeChannels],l=t.activeChannels.findIndex(t=>t.channelId===e.payload.channelId);return l>-1&&a.splice(l,1),Object.assign(Object.assign({},t),{activeChannels:a});case se.Wn:if(e.payload&&e.payload.relayed){const i=[...t.activeChannels,...t.pendingChannels,...t.inactiveChannels];e.payload.relayed.forEach(t=>{if(i&&i.length>0)for(let e=0;e{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t,bootstrap:[ps]}),t.\u0275inj=r.cJS({providers:[{provide:o.TP,useClass:ms,multi:!0},_r.a1,It.m,gs.D,Re.W,le.v,ki],imports:[[n.b2,s.PW,xr.m,wr,Cr.xu,n.t6,D.forRoot({idle:3590,timeout:10,ping:12e3}),a.Aw.forRoot(Ss,{runtimeChecks:{strictStateImmutability:!1,strictActionImmutability:!1}}),l.sQ.forRoot([at.V,ks.l,Ms.s,Es.o]),Ai.N.production?[]:c.FT.instrument()]]}),t})();Ai.N.production&&(0,r.G48)(),n.q6().bootstrapModule(Ts).catch(t=>console.log(t))},9162:(t,e,i)=>{"use strict";i.d(e,{ZT:()=>r,mG:()=>s,Jh:()=>o,XA:()=>a,CR:()=>l,ev:()=>c,qq:()=>h,FC:()=>u,KL:()=>d});var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function s(t,e,i,n){return new(i||(i=Promise))(function(r,s){function o(t){try{l(n.next(t))}catch(e){s(e)}}function a(t){try{l(n.throw(t))}catch(e){s(e)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}l((n=n.apply(t,e||[])).next())})}function o(t,e){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function l(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(a){r={error:a}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function c(t,e){for(var i=0,n=e.length,r=t.length;i1||a(t,e)})})}function a(t,e){try{(i=r[t](e)).value instanceof h?Promise.resolve(i.value.v).then(l,c):u(s[0][2],i)}catch(n){u(s[0][3],n)}var i}function l(t){a("next",t)}function c(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}}function d(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t=a(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,r){!function(t,e,i,n){Promise.resolve(n).then(function(e){t({value:e,done:i})},e)}(n,r,(e=t[i](e)).done,e.value)})}}}},5415:t=>{"use strict";t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},2063:t=>{"use strict";t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},2236:t=>{"use strict";t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},1930:t=>{"use strict";t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},7519:t=>{"use strict";t.exports={i8:"6.5.4"}},873:t=>{"use strict";t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},6601:()=>{},8623:()=>{},2361:()=>{},4616:()=>{}},t=>{"use strict";t(t.s=7015)}]); \ No newline at end of file +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[179],{8255:t=>{function e(t){return Promise.resolve().then(()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}e.keys=()=>[],e.resolve=e,e.id=8255,t.exports=e},709:(t,e,i)=>{"use strict";i.d(e,{l3:()=>s,_j:()=>n,LC:()=>r,ZN:()=>y,jt:()=>a,pV:()=>f,ru:()=>l,F4:()=>d,IO:()=>m,vP:()=>c,SB:()=>u,oB:()=>h,eR:()=>p,X$:()=>o,ZE:()=>b,k1:()=>v});class n{}class r{}const s="*";function o(t,e){return{type:7,name:t,definitions:e,options:{}}}function a(t,e=null){return{type:4,styles:e,timings:t}}function l(t,e=null){return{type:3,steps:t,options:e}}function c(t,e=null){return{type:2,steps:t,options:e}}function h(t){return{type:6,styles:t,offset:null}}function u(t,e,i){return{type:0,name:t,styles:e,options:i}}function d(t){return{type:5,steps:t}}function p(t,e,i=null){return{type:1,expr:t,animation:e,options:i}}function f(t=null){return{type:9,options:t}}function m(t,e,i=null){return{type:11,selector:t,animation:e,options:i}}function g(t){Promise.resolve(null).then(t)}class y{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){g(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class b{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,n=0;const r=this.players.length;0==r?g(()=>this._onFinish()):this.players.forEach(t=>{t.onDone(()=>{++e==r&&this._onFinish()}),t.onDestroy(()=>{++i==r&&this._onDestroy()}),t.onStart(()=>{++n==r&&this._onStart()})}),this.totalTime=this.players.reduce((t,e)=>Math.max(t,e.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(t=>{const i=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(i)})}getPosition(){const t=this.players.reduce((t,e)=>null===t||e.totalTime>t.totalTime?e:t,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}const v="!"},4621:(t,e,i)=>{"use strict";i.d(e,{rt:()=>J,s1:()=>k,$s:()=>C,Qr:()=>Z,kH:()=>G,mK:()=>R,Em:()=>T,tE:()=>H,qV:()=>D,qm:()=>W,Kd:()=>F,X6:()=>B,yG:()=>U});var n=i(1511),r=i(1572),s=i(9666),o=i(6042),a=i(2041),l=i(5842),c=i(343),h=i(5057),u=i(8868),d=i(1681),p=i(9056),f=i(9861),m=i(1353),g=i(6337);function y(t,e){return(t.getAttribute(e)||"").match(/\S+/g)||[]}const b="cdk-describedby-message-container",v="cdk-describedby-host";let _=0;const w=new Map;let x=null,C=(()=>{class t{constructor(t){this._document=t}describe(t,e,i){if(!this._canBeDescribed(t,e))return;const n=A(e,i);"string"!=typeof e?(S(e),w.set(n,{messageElement:e,referenceCount:0})):w.has(n)||this._createMessageElement(e,i),this._isElementDescribedByMessage(t,n)||this._addMessageReference(t,n)}removeDescription(t,e,i){if(!e||!this._isElementNode(t))return;const n=A(e,i);if(this._isElementDescribedByMessage(t,n)&&this._removeMessageReference(t,n),"string"==typeof e){const t=w.get(n);t&&0===t.referenceCount&&this._deleteMessageElement(n)}x&&0===x.childNodes.length&&this._deleteMessagesContainer()}ngOnDestroy(){const t=this._document.querySelectorAll("[cdk-describedby-host]");for(let e=0;e0!=t.indexOf("cdk-describedby-message"));t.setAttribute("aria-describedby",e.join(" "))}_addMessageReference(t,e){const i=w.get(e);!function(t,e,i){const n=y(t,e);n.some(t=>t.trim()==i.trim())||(n.push(i.trim()),t.setAttribute(e,n.join(" ")))}(t,"aria-describedby",i.messageElement.id),t.setAttribute(v,""),i.referenceCount++}_removeMessageReference(t,e){const i=w.get(e);i.referenceCount--,function(t,e,i){const n=y(t,e).filter(t=>t!=i.trim());n.length?t.setAttribute(e,n.join(" ")):t.removeAttribute(e)}(t,"aria-describedby",i.messageElement.id),t.removeAttribute(v)}_isElementDescribedByMessage(t,e){const i=y(t,"aria-describedby"),n=w.get(e),r=n&&n.messageElement.id;return!!r&&-1!=i.indexOf(r)}_canBeDescribed(t,e){if(!this._isElementNode(t))return!1;if(e&&"object"==typeof e)return!0;const i=null==e?"":`${e}`.trim(),n=t.getAttribute("aria-label");return!(!i||n&&n.trim()===i)}_isElementNode(t){return t.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.K0))},token:t,providedIn:"root"}),t})();function A(t,e){return"string"==typeof t?`${e||""}/${t}`:t}function S(t){t.id||(t.id="cdk-describedby-message-"+_++)}class E{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new s.x,this._typeaheadSubscription=o.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=t=>t.disabled,this._pressedLetters=[],this.tabOut=new s.x,this.change=new s.x,t instanceof r.n_E&&t.changes.subscribe(t=>{if(this._activeItem){const e=t.toArray().indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}})}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,c.b)(t=>this._pressedLetters.push(t)),(0,h.b)(t),(0,u.h)(()=>this._pressedLetters.length>0),(0,d.U)(()=>this._pressedLetters.join(""))).subscribe(t=>{const e=this._getItemsArray();for(let i=1;i!t[e]||this._allowedModifierKeys.indexOf(e)>-1);switch(e){case l.Mf:return void this.tabOut.next();case l.JH:if(this._vertical&&i){this.setNextItemActive();break}return;case l.LH:if(this._vertical&&i){this.setPreviousItemActive();break}return;case l.SV:if(this._horizontal&&i){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case l.oh:if(this._horizontal&&i){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case l.Sd:if(this._homeAndEnd&&i){this.setFirstItemActive();break}return;case l.uR:if(this._homeAndEnd&&i){this.setLastItemActive();break}return;default:return void((i||(0,l.Vb)(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(e>=l.A&&e<=l.Z||e>=l.xE&&e<=l.aO)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),i="number"==typeof t?t:e.indexOf(t),n=e[i];this._activeItem=null==n?null:n,this._activeItemIndex=i}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const n=(this._activeItemIndex+t*i+e.length)%e.length;if(!this._skipPredicateFn(e[n]))return void this.setActiveItem(n)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const i=this._getItemsArray();if(i[t]){for(;this._skipPredicateFn(i[t]);)if(!i[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof r.n_E?this._items.toArray():this._items}}class k extends E{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class T extends E{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}let M=(()=>{class t{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return function(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(t)&&"visible"===getComputedStyle(t).visibility}isTabbable(t){if(!this._platform.isBrowser)return!1;const e=function(t){try{return t.frameElement}catch(e){return null}}((i=t).ownerDocument&&i.ownerDocument.defaultView||window);var i;if(e){if(-1===I(e))return!1;if(!this.isVisible(e))return!1}let n=t.nodeName.toLowerCase(),r=I(t);return t.hasAttribute("contenteditable")?-1!==r:"iframe"!==n&&"object"!==n&&!(this._platform.WEBKIT&&this._platform.IOS&&!function(t){let e=t.nodeName.toLowerCase(),i="input"===e&&t.type;return"text"===i||"password"===i||"select"===e||"textarea"===e}(t))&&("audio"===n?!!t.hasAttribute("controls")&&-1!==r:"video"===n?-1!==r&&(null!==r||this._platform.FIREFOX||t.hasAttribute("controls")):t.tabIndex>=0)}isFocusable(t,e){return function(t){return!function(t){return function(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function(t){let e=t.nodeName.toLowerCase();return"input"===e||"select"===e||"button"===e||"textarea"===e}(t)||function(t){return function(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||L(t))}(t)&&!this.isDisabled(t)&&((null==e?void 0:e.ignoreVisibility)||this.isVisible(t))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(m.t4))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(m.t4))},token:t,providedIn:"root"}),t})();function L(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let e=t.getAttribute("tabindex");return"-32768"!=e&&!(!e||isNaN(parseInt(e,10)))}function I(t){if(!L(t))return null;const e=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(e)?-1:e}class O{constructor(t,e,i,n,r=!1){this._element=t,this._checker=e,this._ngZone=i,this._document=n,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,r||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){let e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);for(let i=0;i=0;i--){let t=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(t)return t}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe((0,p.q)(1)).subscribe(t)}}let D=(()=>{class t{constructor(t,e,i){this._checker=t,this._ngZone=e,this._document=i}create(t,e=!1){return new O(t,this._checker,this._ngZone,this._document,e)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(M),r.LFG(r.R0b),r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(M),r.LFG(r.R0b),r.LFG(n.K0))},token:t,providedIn:"root"}),t})(),R=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._focusTrapFactory=e,this._previouslyFocusedElement=null,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}get enabled(){return this.focusTrap.enabled}set enabled(t){this.focusTrap.enabled=(0,f.Ig)(t)}get autoCapture(){return this._autoCapture}set autoCapture(t){this._autoCapture=(0,f.Ig)(t)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(t){const e=t.autoCapture;e&&!e.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=(0,m.ht)(),this.focusTrap.focusInitialElementWhenReady()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(D),r.Y36(n.K0))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:["cdkTrapFocus","enabled"],autoCapture:["cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["cdkTrapFocus"],features:[r.TTD]}),t})();"undefined"!=typeof Element&∈const N=new r.OlP("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),P=new r.OlP("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let F=(()=>{class t{constructor(t,e,i,n){this._ngZone=e,this._defaultOptions=n,this._document=i,this._liveElement=t||this._createLiveElement()}announce(t,...e){const i=this._defaultOptions;let n,r;return 1===e.length&&"number"==typeof e[0]?r=e[0]:[n,r]=e,this.clear(),clearTimeout(this._previousTimeout),n||(n=i&&i.politeness?i.politeness:"polite"),null==r&&i&&(r=i.duration),this._liveElement.setAttribute("aria-live",n),this._ngZone.runOutsideAngular(()=>new Promise(e=>{clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=t,e(),"number"==typeof r&&(this._previousTimeout=setTimeout(()=>this.clear(),r))},100)}))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)}_createLiveElement(){const t="cdk-live-announcer-element",e=this._document.getElementsByClassName(t),i=this._document.createElement("div");for(let n=0;n{class t{constructor(t,e,i,n){this._elementRef=t,this._liveAnnouncer=e,this._contentObserver=i,this._ngZone=n,this._politeness="polite"}get politeness(){return this._politeness}set politeness(t){this._politeness="off"===t||"assertive"===t?t:"polite","off"===this._politeness?this._subscription&&(this._subscription.unsubscribe(),this._subscription=null):this._subscription||(this._subscription=this._ngZone.runOutsideAngular(()=>this._contentObserver.observe(this._elementRef).subscribe(()=>{const t=this._elementRef.nativeElement.textContent;t!==this._previousAnnouncedText&&(this._liveAnnouncer.announce(t,this._politeness),this._previousAnnouncedText=t)})))}ngOnDestroy(){this._subscription&&this._subscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(F),r.Y36(g.yq),r.Y36(r.R0b))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkAriaLive",""]],inputs:{politeness:["cdkAriaLive","politeness"]},exportAs:["cdkAriaLive"]}),t})();function B(t){return 0===t.buttons}function U(t){const e=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!e||-1!==e.identifier||null!=e.radiusX&&1!==e.radiusX||null!=e.radiusY&&1!==e.radiusY)}const q=new r.OlP("cdk-focus-monitor-default-options"),z=(0,m.i$)({passive:!0,capture:!0});let H=(()=>{class t{constructor(t,e,i,n){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._documentKeydownListener=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},this._documentMousedownListener=t=>{if(!this._lastTouchTarget){const e=B(t)?"keyboard":"mouse";this._setOriginForCurrentEventQueue(e)}},this._documentTouchstartListener=t=>{U(t)?this._lastTouchTarget||this._setOriginForCurrentEventQueue("keyboard"):(null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=Y(t),this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,650))},this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)},this._rootNodeFocusAndBlurListener=t=>{const e=Y(t),i="focus"===t.type?this._onFocus:this._onBlur;for(let n=e;n;n=n.parentElement)i.call(this,t,n)},this._document=i,this._detectionMode=(null==n?void 0:n.detectionMode)||0}monitor(t,e=!1){const i=(0,f.fI)(t);if(!this._platform.isBrowser||1!==i.nodeType)return(0,a.of)(null);const n=(0,m.kV)(i)||this._getDocument(),r=this._elementInfo.get(i);if(r)return e&&(r.checkChildren=!0),r.subject;const o={checkChildren:e,subject:new s.x,rootNode:n};return this._elementInfo.set(i,o),this._registerGlobalListeners(o),o.subject}stopMonitoring(t){const e=(0,f.fI)(t),i=this._elementInfo.get(e);i&&(i.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._removeGlobalListeners(i))}focusVia(t,e,i){const n=(0,f.fI)(t);n===this._getDocument().activeElement?this._getClosestElementsInfo(n).forEach(([t,i])=>this._originChanged(t,e,i)):(this._setOriginForCurrentEventQueue(e),"function"==typeof n.focus&&n.focus(i))}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_toggleClass(t,e,i){i?t.classList.add(e):t.classList.remove(e)}_getFocusOrigin(t){return this._origin?this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"}_setClasses(t,e){this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e)}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,0===this._detectionMode&&(this._originTimeoutId=setTimeout(()=>this._origin=null,1))})}_wasCausedByTouch(t){const e=Y(t);return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const i=this._elementInfo.get(e);i&&(i.checkChildren||e===Y(t))&&this._originChanged(e,this._getFocusOrigin(t),i)}_onBlur(t,e){const i=this._elementInfo.get(e);!i||i.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(i.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;const e=t.rootNode,i=this._rootNodeFocusListenerCount.get(e)||0;i||this._ngZone.runOutsideAngular(()=>{e.addEventListener("focus",this._rootNodeFocusAndBlurListener,z),e.addEventListener("blur",this._rootNodeFocusAndBlurListener,z)}),this._rootNodeFocusListenerCount.set(e,i+1),1==++this._monitoredElementCount&&this._ngZone.runOutsideAngular(()=>{const t=this._getDocument(),e=this._getWindow();t.addEventListener("keydown",this._documentKeydownListener,z),t.addEventListener("mousedown",this._documentMousedownListener,z),t.addEventListener("touchstart",this._documentTouchstartListener,z),e.addEventListener("focus",this._windowFocusListener)})}_removeGlobalListeners(t){const e=t.rootNode;if(this._rootNodeFocusListenerCount.has(e)){const t=this._rootNodeFocusListenerCount.get(e);t>1?this._rootNodeFocusListenerCount.set(e,t-1):(e.removeEventListener("focus",this._rootNodeFocusAndBlurListener,z),e.removeEventListener("blur",this._rootNodeFocusAndBlurListener,z),this._rootNodeFocusListenerCount.delete(e))}if(!--this._monitoredElementCount){const t=this._getDocument(),e=this._getWindow();t.removeEventListener("keydown",this._documentKeydownListener,z),t.removeEventListener("mousedown",this._documentMousedownListener,z),t.removeEventListener("touchstart",this._documentTouchstartListener,z),e.removeEventListener("focus",this._windowFocusListener),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)}}_originChanged(t,e,i){this._setClasses(t,e),this._emitOrigin(i.subject,e),this._lastFocusOrigin=e}_getClosestElementsInfo(t){const e=[];return this._elementInfo.forEach((i,n)=>{(n===t||i.checkChildren&&n.contains(t))&&e.push([n,i])}),e}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.R0b),r.LFG(m.t4),r.LFG(n.K0,8),r.LFG(q,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(r.R0b),r.LFG(m.t4),r.LFG(n.K0,8),r.LFG(q,8))},token:t,providedIn:"root"}),t})();function Y(t){return t.composedPath?t.composedPath()[0]:t.target}let G=(()=>{class t{constructor(t,e){this._elementRef=t,this._focusMonitor=e,this.cdkFocusChange=new r.vpe}ngAfterViewInit(){const t=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(t,1===t.nodeType&&t.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(t=>this.cdkFocusChange.emit(t))}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(H))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"}}),t})();const j="cdk-high-contrast-black-on-white",V="cdk-high-contrast-white-on-black",Q="cdk-high-contrast-active";let W=(()=>{class t{constructor(t,e){this._platform=t,this._document=e}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);const e=this._document.defaultView||window,i=e&&e.getComputedStyle?e.getComputedStyle(t):null,n=(i&&i.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(t),n){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const t=this._document.body.classList;t.remove(Q),t.remove(j),t.remove(V),this._hasCheckedHighContrastMode=!0;const e=this.getHighContrastMode();1===e?(t.add(Q),t.add(j)):2===e&&(t.add(Q),t.add(V))}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(m.t4),r.LFG(n.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(m.t4),r.LFG(n.K0))},token:t,providedIn:"root"}),t})(),J=(()=>{class t{constructor(t){t._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(W))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[m.ud,g.Q8]]}),t})()},2526:(t,e,i)=>{"use strict";i.d(e,{vT:()=>a,Is:()=>o});var n=i(1572),r=i(1511);const s=new n.OlP("cdk-dir-doc",{providedIn:"root",factory:function(){return(0,n.f3M)(r.K0)}});let o=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new n.vpe,t){const e=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||e;this.value="ltr"===i||"rtl"===i?i:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(s,8))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(s,8))},token:t,providedIn:"root"}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},9861:(t,e,i)=>{"use strict";i.d(e,{t6:()=>o,Eq:()=>a,Ig:()=>r,HM:()=>l,fI:()=>c,su:()=>s,du:()=>h});var n=i(1572);function r(t){return null!=t&&"false"!=`${t}`}function s(t,e=0){return o(t)?Number(t):e}function o(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function a(t){return Array.isArray(t)?t:[t]}function l(t){return null==t?"":"string"==typeof t?t:`${t}px`}function c(t){return t instanceof n.SBq?t.nativeElement:t}function h(t,e=/\s+/){const i=[];if(null!=t){const n=Array.isArray(t)?t:`${t}`.split(e);for(const t of n){const e=`${t}`.trim();e&&i.push(e)}}return i}},4230:(t,e,i)=>{"use strict";i.d(e,{P3:()=>c,o2:()=>a,Ov:()=>d,A8:()=>p,yy:()=>h,eX:()=>u,k:()=>f,Z9:()=>l});var n=i(4776),r=i(2041),s=i(9666),o=i(1572);class a{}function l(t){return t&&"function"==typeof t.connect}class c extends a{constructor(t){super(),this._data=t}connect(){return(0,n.b)(this._data)?this._data:(0,r.of)(this._data)}disconnect(){}}class h{applyChanges(t,e,i,n,r){t.forEachOperation((t,n,s)=>{let o,a;if(null==t.previousIndex){const r=i(t,n,s);o=e.createEmbeddedView(r.templateRef,r.context,r.index),a=1}else null==s?(e.remove(n),a=3):(o=e.get(n),e.move(o,s),a=2);r&&r({context:null==o?void 0:o.context,operation:a,record:t})})}detach(){}}class u{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(t,e,i,n,r){t.forEachOperation((t,s,o)=>{let a,l;null==t.previousIndex?(a=this._insertView(()=>i(t,s,o),o,e,n(t)),l=a?1:0):null==o?(this._detachAndCacheView(s,e),l=3):(a=this._moveView(s,o,e,n(t)),l=2),r&&r({context:null==a?void 0:a.context,operation:l,record:t})})}detach(){for(const t of this._viewCache)t.destroy();this._viewCache=[]}_insertView(t,e,i,n){const r=this._insertViewFromCache(e,i);if(r)return void(r.context.$implicit=n);const s=t();return i.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(t,e){const i=e.detach(t);this._maybeCacheView(i,e)}_moveView(t,e,i,n){const r=i.get(t);return i.move(r,e),r.context.$implicit=n,r}_maybeCacheView(t,e){if(this._viewCache.lengththis._markSelected(t)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(t=>this._markSelected(t)),this._emitChangeEvent()}deselect(...t){this._verifyValueAssignment(t),t.forEach(t=>this._unmarkSelected(t)),this._emitChangeEvent()}toggle(t){this.isSelected(t)?this.deselect(t):this.select(t)}clear(){this._unmarkAll(),this._emitChangeEvent()}isSelected(t){return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}}let p=(()=>{class t{constructor(){this._listeners=[]}notify(t,e){for(let i of this._listeners)i(t,e)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(e=>t!==e)}}ngOnDestroy(){this._listeners=[]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=o.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const f=new o.OlP("_ViewRepeater")},5842:(t,e,i)=>{"use strict";i.d(e,{A:()=>b,ZH:()=>n,JH:()=>m,uR:()=>h,K5:()=>s,hY:()=>o,Sd:()=>u,oh:()=>d,aO:()=>y,VM:()=>c,Ku:()=>l,SV:()=>f,L_:()=>a,Mf:()=>r,LH:()=>p,Z:()=>v,xE:()=>g,Vb:()=>_});const n=8,r=9,s=13,o=27,a=32,l=33,c=34,h=35,u=36,d=37,p=38,f=39,m=40,g=48,y=57,b=65,v=90;function _(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}},72:(t,e,i)=>{"use strict";i.d(e,{Yg:()=>w,u3:()=>C,xu:()=>g});var n=i(1572),r=i(9861),s=i(9666),o=i(5868),a=i(5613),l=i(2391),c=i(9056),h=i(4444),u=i(5057),d=i(1681),p=i(1258),f=i(9568),m=i(1353);let g=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const y=new Set;let b,v=(()=>{class t{constructor(t){this._platform=t,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):_}matchMedia(t){return this._platform.WEBKIT&&function(t){if(!y.has(t))try{b||(b=document.createElement("style"),b.setAttribute("type","text/css"),document.head.appendChild(b)),b.sheet&&(b.sheet.insertRule(`@media ${t} {.fx-query-test{ }}`,0),y.add(t))}catch(e){console.error(e)}}(t),this._matchMedia(t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(m.t4))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(m.t4))},token:t,providedIn:"root"}),t})();function _(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let w=(()=>{class t{constructor(t,e){this._mediaMatcher=t,this._zone=e,this._queries=new Map,this._destroySubject=new s.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return x((0,r.Eq)(t)).some(t=>this._registerQuery(t).mql.matches)}observe(t){const e=x((0,r.Eq)(t)).map(t=>this._registerQuery(t).observable);let i=(0,o.a)(e);return i=(0,a.z)(i.pipe((0,c.q)(1)),i.pipe((0,h.T)(1),(0,u.b)(0))),i.pipe((0,d.U)(t=>{const e={matches:!1,breakpoints:{}};return t.forEach(({matches:t,query:i})=>{e.matches=e.matches||t,e.breakpoints[i]=t}),e}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);const e=this._mediaMatcher.matchMedia(t),i={observable:new l.y(t=>{const i=e=>this._zone.run(()=>t.next(e));return e.addListener(i),()=>{e.removeListener(i)}}).pipe((0,p.O)(e),(0,d.U)(({matches:e})=>({query:t,matches:e})),(0,f.R)(this._destroySubject)),mql:e};return this._queries.set(t,i),i}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(v),n.LFG(n.R0b))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(v),n.LFG(n.R0b))},token:t,providedIn:"root"}),t})();function x(t){return t.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}const C={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"}},6337:(t,e,i)=>{"use strict";i.d(e,{wD:()=>h,yq:()=>c,Q8:()=>u});var n=i(9861),r=i(1572),s=i(2391),o=i(9666),a=i(5057);let l=(()=>{class t{create(t){return"undefined"==typeof MutationObserver?null:new MutationObserver(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})(),c=(()=>{class t{constructor(t){this._mutationObserverFactory=t,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((t,e)=>this._cleanupObserver(e))}observe(t){const e=(0,n.fI)(t);return new s.y(t=>{const i=this._observeElement(e).subscribe(t);return()=>{i.unsubscribe(),this._unobserveElement(e)}})}_observeElement(t){if(this._observedElements.has(t))this._observedElements.get(t).count++;else{const e=new o.x,i=this._mutationObserverFactory.create(t=>e.next(t));i&&i.observe(t,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(t,{observer:i,stream:e,count:1})}return this._observedElements.get(t).stream}_unobserveElement(t){this._observedElements.has(t)&&(this._observedElements.get(t).count--,this._observedElements.get(t).count||this._cleanupObserver(t))}_cleanupObserver(t){if(this._observedElements.has(t)){const{observer:e,stream:i}=this._observedElements.get(t);e&&e.disconnect(),i.complete(),this._observedElements.delete(t)}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(l))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(l))},token:t,providedIn:"root"}),t})(),h=(()=>{class t{constructor(t,e,i){this._contentObserver=t,this._elementRef=e,this._ngZone=i,this.event=new r.vpe,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,n.Ig)(t),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(t){this._debounce=(0,n.su)(t),this._subscribe()}ngAfterContentInit(){this._currentSubscription||this.disabled||this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const t=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?t.pipe((0,a.b)(this.debounce)):t).subscribe(this.event)})}_unsubscribe(){var t;null===(t=this._currentSubscription)||void 0===t||t.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(c),r.Y36(r.SBq),r.Y36(r.R0b))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[l]}),t})()},369:(t,e,i)=>{"use strict";i.d(e,{pI:()=>J,xu:()=>W,_G:()=>F,aV:()=>j,X_:()=>E,Xj:()=>D,U8:()=>K});var n=i(4894),r=i(1572),s=i(1353),o=i(2526),a=i(1511),l=i(9861),c=i(6899),h=i(9666),u=i(6042),d=i(5446),p=i(3386),f=i(4659),m=i(9056),g=i(9568),y=i(5842);const b=(0,s.Mq)();class v{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=(0,l.HM)(-this._previousScrollPosition.left),t.style.top=(0,l.HM)(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,e=t.style,i=this._document.body.style,n=e.scrollBehavior||"",r=i.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),b&&(e.scrollBehavior=i.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),b&&(e.scrollBehavior=n,i.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}}class _{constructor(t,e,i,n){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=i,this._config=n,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class w{enable(){}disable(){}attach(){}}function x(t,e){return e.some(e=>t.bottome.bottom||t.righte.right)}function C(t,e){return e.some(e=>t.tope.bottom||t.lefte.right)}class A{constructor(t,e,i,n){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this._config=n,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:i}=this._viewportRuler.getViewportSize();x(t,[{width:e,height:i,bottom:i,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let S=(()=>{class t{constructor(t,e,i,n){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this.noop=()=>new w,this.close=t=>new _(this._scrollDispatcher,this._ngZone,this._viewportRuler,t),this.block=()=>new v(this._viewportRuler,this._document),this.reposition=t=>new A(this._scrollDispatcher,this._viewportRuler,this._ngZone,t),this._document=n}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.mF),r.LFG(n.rL),r.LFG(r.R0b),r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.mF),r.LFG(n.rL),r.LFG(r.R0b),r.LFG(a.K0))},token:t,providedIn:"root"}),t})();class E{constructor(t){if(this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const i of e)void 0!==t[i]&&(this[i]=t[i])}}}class k{constructor(t,e,i,n,r){this.offsetX=i,this.offsetY=n,this.panelClass=r,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}class T{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let M=(()=>{class t{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){const e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0))},token:t,providedIn:"root"}),t})(),L=(()=>{class t extends M{constructor(t){super(t),this._keydownListener=t=>{const e=this._attachedOverlays;for(let i=e.length-1;i>-1;i--)if(e[i]._keydownEvents.observers.length>0){e[i]._keydownEvents.next(t);break}}}add(t){super.add(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0))},token:t,providedIn:"root"}),t})(),I=(()=>{class t extends M{constructor(t,e){super(t),this._platform=e,this._cursorStyleIsSet=!1,this._clickListener=t=>{const e=t.composedPath?t.composedPath()[0]:t.target,i=this._attachedOverlays.slice();for(let n=i.length-1;n>-1;n--){const r=i[n];if(!(r._outsidePointerEvents.observers.length<1)&&r.hasAttached()){if(r.overlayElement.contains(e))break;r._outsidePointerEvents.next(t)}}}}add(t){if(super.add(t),!this._isAttached){const t=this._document.body;t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const t=this._document.body;t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(a.K0),r.LFG(s.t4))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(a.K0),r.LFG(s.t4))},token:t,providedIn:"root"}),t})();const O="undefined"!=typeof __karma__&&!!__karma__||"undefined"!=typeof jasmine&&!!jasmine||"undefined"!=typeof jest&&!!jest||"undefined"!=typeof Mocha&&!!Mocha;let D=(()=>{class t{constructor(t,e){this._platform=e,this._document=t}ngOnDestroy(){const t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const t="cdk-overlay-container";if(this._platform.isBrowser||O){const e=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let t=0;tthis._backdropClick.next(t),this._keydownEvents=new h.x,this._outsidePointerEvents=new h.x,n.scrollStrategy&&(this._scrollStrategy=n.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=n.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){let e=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,m.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()}setDirection(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=(0,l.HM)(this._config.width),t.height=(0,l.HM)(this._config.height),t.minWidth=(0,l.HM)(this._config.minWidth),t.minHeight=(0,l.HM)(this._config.minHeight),t.maxWidth=(0,l.HM)(this._config.maxWidth),t.maxHeight=(0,l.HM)(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let t,e=this._backdropElement;if(!e)return;let i=()=>{e&&(e.removeEventListener("click",this._backdropClickHandler),e.removeEventListener("transitionend",i),e.parentNode&&e.parentNode.removeChild(e)),this._backdropElement==e&&(this._backdropElement=null),this._config.backdropClass&&this._toggleClasses(e,this._config.backdropClass,!1),clearTimeout(t)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{e.addEventListener("transitionend",i)}),e.style.pointerEvents="none",t=this._ngZone.runOutsideAngular(()=>setTimeout(i,500))}_toggleClasses(t,e,i){const n=t.classList;(0,l.Eq)(e).forEach(t=>{t&&(i?n.add(t):n.remove(t))})}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe((0,g.R)((0,d.T)(this._attachments,this._detachments))).subscribe(()=>{this._pane&&this._host&&0!==this._pane.children.length||(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._previousHostParent.removeChild(this._host)),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}}const N="cdk-overlay-connected-position-bounding-box",P=/([A-Za-z%]+)$/;class F{constructor(t,e,i,n,r){this._viewportRuler=e,this._document=i,this._platform=n,this._overlayContainer=r,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new h.x,this._resizeSubscription=u.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(N),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();const t=this._originRect,e=this._overlayRect,i=this._viewportRect,n=[];let r;for(let s of this._preferredPositions){let o=this._getOriginPoint(t,s),a=this._getOverlayPoint(o,e,s),l=this._getOverlayFit(a,e,i,s);if(l.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(s,o);this._canFitWithFlexibleDimensions(l,a,i)?n.push({position:s,origin:o,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(o,s)}):(!r||r.overlayFit.visibleAreae&&(e=n,t=i)}return this._isPushed=!1,void this._applyPosition(t.position,t.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(r.position,r.originPoint);this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Z(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(N),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();const t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e){let i,n;if("center"==e.originX)i=t.left+t.width/2;else{const n=this._isRtl()?t.right:t.left,r=this._isRtl()?t.left:t.right;i="start"==e.originX?n:r}return n="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom,{x:i,y:n}}_getOverlayPoint(t,e,i){let n,r;return n="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,r="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:t.x+n,y:t.y+r}}_getOverlayFit(t,e,i,n){const r=U(e);let{x:s,y:o}=t,a=this._getOffset(n,"x"),l=this._getOffset(n,"y");a&&(s+=a),l&&(o+=l);let c=0-o,h=o+r.height-i.height,u=this._subtractOverflows(r.width,0-s,s+r.width-i.width),d=this._subtractOverflows(r.height,c,h),p=u*d;return{visibleArea:p,isCompletelyWithinViewport:r.width*r.height===p,fitsInViewportVertically:d===r.height,fitsInViewportHorizontally:u==r.width}}_canFitWithFlexibleDimensions(t,e,i){if(this._hasFlexibleDimensions){const n=i.bottom-e.y,r=i.right-e.x,s=B(this._overlayRef.getConfig().minHeight),o=B(this._overlayRef.getConfig().minWidth),a=t.fitsInViewportHorizontally||null!=o&&o<=r;return(t.fitsInViewportVertically||null!=s&&s<=n)&&a}return!1}_pushOverlayOnScreen(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const n=U(e),r=this._viewportRect,s=Math.max(t.x+n.width-r.width,0),o=Math.max(t.y+n.height-r.height,0),a=Math.max(r.top-i.top-t.y,0),l=Math.max(r.left-i.left-t.x,0);let c=0,h=0;return c=n.width<=r.width?l||-s:t.xn&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-n/2)}if("end"===e.overlayX&&!n||"start"===e.overlayX&&n)c=i.width-t.x+this._viewportMargin,a=t.x-this._viewportMargin;else if("start"===e.overlayX&&!n||"end"===e.overlayX&&n)l=t.x,a=i.right-t.x;else{const e=Math.min(i.right-t.x+i.left,t.x),n=this._lastBoundingBoxSize.width;a=2*e,l=t.x-e,a>n&&!this._isInitialRender&&!this._growAfterOpen&&(l=t.x-n/2)}return{top:s,left:l,bottom:o,right:c,width:a,height:r}}_setBoundingBoxStyles(t,e){const i=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const n={};if(this._hasExactPosition())n.top=n.left="0",n.bottom=n.right=n.maxHeight=n.maxWidth="",n.width=n.height="100%";else{const t=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;n.height=(0,l.HM)(i.height),n.top=(0,l.HM)(i.top),n.bottom=(0,l.HM)(i.bottom),n.width=(0,l.HM)(i.width),n.left=(0,l.HM)(i.left),n.right=(0,l.HM)(i.right),n.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",n.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",t&&(n.maxHeight=(0,l.HM)(t)),r&&(n.maxWidth=(0,l.HM)(r))}this._lastBoundingBoxSize=i,Z(this._boundingBox.style,n)}_resetBoundingBoxStyles(){Z(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Z(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const i={},n=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(n){const n=this._viewportRuler.getViewportScrollPosition();Z(i,this._getExactOverlayY(e,t,n)),Z(i,this._getExactOverlayX(e,t,n))}else i.position="static";let o="",a=this._getOffset(e,"x"),c=this._getOffset(e,"y");a&&(o+=`translateX(${a}px) `),c&&(o+=`translateY(${c}px)`),i.transform=o.trim(),s.maxHeight&&(n?i.maxHeight=(0,l.HM)(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(n?i.maxWidth=(0,l.HM)(s.maxWidth):r&&(i.maxWidth="")),Z(this._pane.style,i)}_getExactOverlayY(t,e,i){let n={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i));let s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?n.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":n.top=(0,l.HM)(r.y),n}_getExactOverlayX(t,e,i){let n,r={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),n=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===n?r.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":r.left=(0,l.HM)(s.x),r}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(t=>t.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:C(t,i),isOriginOutsideView:x(t,i),isOverlayClipped:C(e,i),isOverlayOutsideView:x(e,i)}}_subtractOverflows(t,...e){return e.reduce((t,e)=>t-Math.max(e,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&(0,l.Eq)(t).forEach(t=>{""!==t&&-1===this._appliedPanelClasses.indexOf(t)&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof r.SBq)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}}}function Z(t,e){for(let i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function B(t){if("number"!=typeof t&&null!=t){const[e,i]=t.split(P);return i&&"px"!==i?null:parseFloat(e)}return t||null}function U(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}class q{constructor(t,e,i,n,r,s,o){this._preferredPositions=[],this._positionStrategy=new F(i,n,r,s,o).withFlexibleDimensions(!1).withPush(!1).withViewportMargin(0),this.withFallbackPosition(t,e),this.onPositionChange=this._positionStrategy.positionChanges}get positions(){return this._preferredPositions}attach(t){this._overlayRef=t,this._positionStrategy.attach(t),this._direction&&(t.setDirection(this._direction),this._direction=null)}dispose(){this._positionStrategy.dispose()}detach(){this._positionStrategy.detach()}apply(){this._positionStrategy.apply()}recalculateLastPosition(){this._positionStrategy.reapplyLastPosition()}withScrollableContainers(t){this._positionStrategy.withScrollableContainers(t)}withFallbackPosition(t,e,i,n){const r=new k(t,e,i,n);return this._preferredPositions.push(r),this._positionStrategy.withPositions(this._preferredPositions),this}withDirection(t){return this._overlayRef?this._overlayRef.setDirection(t):this._direction=t,this}withOffsetX(t){return this._positionStrategy.withDefaultOffsetX(t),this}withOffsetY(t){return this._positionStrategy.withDefaultOffsetY(t),this}withLockedPosition(t){return this._positionStrategy.withLockedPosition(t),this}withPositions(t){return this._preferredPositions=t.slice(),this._positionStrategy.withPositions(this._preferredPositions),this}setOrigin(t){return this._positionStrategy.setOrigin(t),this}}const z="cdk-global-overlay-wrapper";class H{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height=""}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(z),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._justifyContent="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:n,height:r,maxWidth:s,maxHeight:o}=i,a=!("100%"!==n&&"100vw"!==n||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==r&&"100vh"!==r||o&&"100%"!==o&&"100vh"!==o);t.position=this._cssPosition,t.marginLeft=a?"0":this._leftOffset,t.marginTop=l?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,a?e.justifyContent="flex-start":"center"===this._justifyContent?e.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?e.justifyContent="flex-end":"flex-end"===this._justifyContent&&(e.justifyContent="flex-start"):e.justifyContent=this._justifyContent,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(z),i.justifyContent=i.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let Y=(()=>{class t{constructor(t,e,i,n){this._viewportRuler=t,this._document=e,this._platform=i,this._overlayContainer=n}global(){return new H}connectedTo(t,e,i){return new q(e,i,t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}flexibleConnectedTo(t){return new F(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.rL),r.LFG(a.K0),r.LFG(s.t4),r.LFG(D))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.rL),r.LFG(a.K0),r.LFG(s.t4),r.LFG(D))},token:t,providedIn:"root"}),t})(),G=0,j=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,h){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=i,this._positionBuilder=n,this._keyboardDispatcher=r,this._injector=s,this._ngZone=o,this._document=a,this._directionality=l,this._location=c,this._outsideClickDispatcher=h}create(t){const e=this._createHostElement(),i=this._createPaneElement(e),n=this._createPortalOutlet(i),r=new E(t);return r.direction=r.direction||this._directionality.value,new R(n,e,i,r,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}position(){return this._positionBuilder}_createPaneElement(t){const e=this._document.createElement("div");return e.id="cdk-overlay-"+G++,e.classList.add("cdk-overlay-pane"),t.appendChild(e),e}_createHostElement(){const t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(r.z2F)),new c.u0(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(S),r.LFG(D),r.LFG(r._Vd),r.LFG(Y),r.LFG(L),r.LFG(r.zs3),r.LFG(r.R0b),r.LFG(a.K0),r.LFG(o.Is),r.LFG(a.Ye),r.LFG(I))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const V=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Q=new r.OlP("cdk-connected-overlay-scroll-strategy");let W=(()=>{class t{constructor(t){this.elementRef=t}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),t})(),J=(()=>{class t{constructor(t,e,i,n,s){this._overlay=t,this._dir=s,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=u.w0.EMPTY,this._attachSubscription=u.w0.EMPTY,this._detachSubscription=u.w0.EMPTY,this._positionSubscription=u.w0.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new r.vpe,this.positionChange=new r.vpe,this.attach=new r.vpe,this.detach=new r.vpe,this.overlayKeydown=new r.vpe,this.overlayOutsideClick=new r.vpe,this._templatePortal=new c.UE(e,i),this._scrollStrategyFactory=n,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=(0,l.Ig)(t)}get lockPosition(){return this._lockPosition}set lockPosition(t){this._lockPosition=(0,l.Ig)(t)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(t){this._flexibleDimensions=(0,l.Ig)(t)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(t){this._growAfterOpen=(0,l.Ig)(t)}get push(){return this._push}set push(t){this._push=(0,l.Ig)(t)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){this.positions&&this.positions.length||(this.positions=V);const t=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),t.keyCode!==y.hY||this.disableClose||(0,y.Vb)(t)||(t.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{this.overlayOutsideClick.next(t)})}_buildConfig(){const t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new E({direction:this._dir,positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){const e=this.positions.map(t=>({originX:t.originX,originY:t.originY,overlayX:t.overlayX,overlayY:t.overlayY,offsetX:t.offsetX||this.offsetX,offsetY:t.offsetY||this.offsetY,panelClass:t.panelClass||void 0}));return t.setOrigin(this.origin.elementRef).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.origin.elementRef);return this._updatePositionStrategy(t),t}_attachOverlay(){var t,e;this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe((t=()=>this.positionChange.observers.length>0,void 0===e&&(e=!1),(0,p.e)(function(i,n){i.subscribe(new f.Q(n,function(i){var r=t();(r||e)&&n.next(i),!r&&n.complete()}))}))).subscribe(t=>{this.positionChange.emit(t),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(j),r.Y36(r.Rgc),r.Y36(r.s_b),r.Y36(Q),r.Y36(o.Is,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"],positions:["cdkConnectedOverlayPositions","positions"],origin:["cdkConnectedOverlayOrigin","origin"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[r.TTD]}),t})();const X={provide:Q,deps:[j],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};let K=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[j,X],imports:[[o.vT,c.eL,n.Cl],n.Cl]}),t})()},1353:(t,e,i)=>{"use strict";i.d(e,{t4:()=>a,ud:()=>l,ht:()=>v,kV:()=>b,_i:()=>y,qK:()=>h,i$:()=>m,Mq:()=>g});var n=i(1572),r=i(1511);let s;try{s="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(_){s=!1}let o,a=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?(0,r.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!s)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.Lbi))},t.\u0275prov=n.Yz7({factory:function(){return new t(n.LFG(n.Lbi))},token:t,providedIn:"root"}),t})(),l=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const c=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function h(){if(o)return o;if("object"!=typeof document||!document)return o=new Set(c),o;let t=document.createElement("input");return o=new Set(c.filter(e=>(t.setAttribute("type",e),t.type===e))),o}let u,d,p,f;function m(t){return function(){if(null==u&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>u=!0}))}finally{u=u||!1}return u}()?t:!!t.capture}function g(){if(null==p){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return p=!1,p;if("scrollBehavior"in document.documentElement.style)p=!0;else{const t=Element.prototype.scrollTo;p=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return p}function y(){if("object"!=typeof document||!document)return 0;if(null==d){const t=document.createElement("div"),e=t.style;t.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";const i=document.createElement("div"),n=i.style;n.width="2px",n.height="1px",t.appendChild(i),document.body.appendChild(t),d=0,0===t.scrollLeft&&(t.scrollLeft=1,d=0===t.scrollLeft?1:2),t.parentNode.removeChild(t)}return d}function b(t){if(function(){if(null==f){const t="undefined"!=typeof document?document.head:null;f=!(!t||!t.createShadowRoot&&!t.attachShadow)}return f}()){const e=t.getRootNode?t.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&e instanceof ShadowRoot)return e}return null}function v(){let t="undefined"!=typeof document&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const e=t.shadowRoot.activeElement;if(e===t)break;t=e}return t}},6899:(t,e,i)=>{"use strict";i.d(e,{en:()=>c,ig:()=>d,Pl:()=>p,C5:()=>o,F0:()=>u,u0:()=>h,eL:()=>f,UE:()=>a});var n=i(1572),r=i(1511);class s{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class o extends s{constructor(t,e,i,n){super(),this.component=t,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=n}}class a extends s{constructor(t,e,i){super(),this.templateRef=t,this.viewContainerRef=e,this.context=i}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class l extends s{constructor(t){super(),this.element=t instanceof n.SBq?t.nativeElement:t}}class c{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof o?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof a?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof l?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class h extends c{constructor(t,e,i,n,r){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=n,this.attachDomPortal=t=>{const e=t.element,i=this._document.createComment("dom-portal");e.parentNode.insertBefore(i,e),this.outletElement.appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(e,i)})},this._document=r}attachComponentPortal(t){const e=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let i;return t.viewContainerRef?(i=t.viewContainerRef.createComponent(e,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn(()=>i.destroy())):(i=e.create(t.injector||this._defaultInjector),this._appRef.attachView(i.hostView),this.setDisposeFn(()=>{this._appRef.detachView(i.hostView),i.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(i)),this._attachedPortal=t,i}attachTemplatePortal(t){let e=t.viewContainerRef,i=e.createEmbeddedView(t.templateRef,t.context);return i.rootNodes.forEach(t=>this.outletElement.appendChild(t)),i.detectChanges(),this.setDisposeFn(()=>{let t=e.indexOf(i);-1!==t&&e.remove(t)}),this._attachedPortal=t,i}dispose(){super.dispose(),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}class u extends h{}let d=(()=>{class t extends a{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Rgc),n.Y36(n.s_b))},t.\u0275dir=n.lG2({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[n.qOj]}),t})(),p=(()=>{class t extends c{constructor(t,e,i){super(),this._componentFactoryResolver=t,this._viewContainerRef=e,this._isInitialized=!1,this.attached=new n.vpe,this.attachDomPortal=t=>{const e=t.element,i=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(i,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{i.parentNode&&i.parentNode.replaceChild(e,i)})},this._document=i}get portal(){return this._attachedPortal}set portal(t){(!this.hasAttached()||t||this._isInitialized)&&(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(t){t.setAttachedHost(this);const e=null!=t.viewContainerRef?t.viewContainerRef:this._viewContainerRef,i=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),n=e.createComponent(i,e.length,t.injector||e.injector);return e!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=t,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(t){t.setAttachedHost(this);const e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context);return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}_getRootNode(){const t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n._Vd),n.Y36(n.s_b),n.Y36(r.K0))},t.\u0275dir=n.lG2({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[n.qOj]}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},4894:(t,e,i)=>{"use strict";i.d(e,{PQ:()=>w,ZD:()=>C,mF:()=>_,Cl:()=>A,rL:()=>x});var n=i(9861),r=i(1572),s=i(9162),o=i(6551),a=i(6042),l={schedule:function(t){var e=requestAnimationFrame,i=cancelAnimationFrame,n=l.delegate;n&&(e=n.requestAnimationFrame,i=n.cancelAnimationFrame);var r=e(function(e){i=void 0,t(e)});return new a.w0(function(){return null==i?void 0:i(r)})},requestAnimationFrame:function(){for(var t=[],e=0;e0?t.prototype.requestAsyncId.call(this,e,i,n):(e.actions.push(this),e._scheduled||(e._scheduled=l.requestAnimationFrame(function(){return e.flush(void 0)})))},e.prototype.recycleAsyncId=function(e,i,n){if(void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,i,n);0===e.actions.length&&(l.cancelAnimationFrame(i),e._scheduled=void 0)},e}(o.o),h=(new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,s.ZT)(e,t),e.prototype.flush=function(t){this._active=!0,this._scheduled=void 0;var e,i=this.actions,n=-1;t=t||i.shift();var r=i.length;do{if(e=t.execute(t.state,t.delay))break}while(++n{class t{constructor(t,e,i){this._ngZone=t,this._platform=e,this._scrolled=new h.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=i}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){const e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=20){return this._platform.isBrowser?new d.y(e=>{this._globalSubscription||this._addGlobalListener();const i=t>0?this._scrolled.pipe((0,f.e)(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{i.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,u.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){const i=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe((0,m.h)(t=>!t||i.indexOf(t)>-1))}getAncestorScrollContainers(t){const e=[];return this.scrollContainers.forEach((i,n)=>{this._scrollableContainsElement(n,t)&&e.push(n)}),e}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,e){let i=(0,n.fI)(e),r=t.getElementRef().nativeElement;do{if(i==r)return!0}while(i=i.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const t=this._getWindow();return(0,p.R)(t.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.R0b),r.LFG(y.t4),r.LFG(b.K0,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(r.R0b),r.LFG(y.t4),r.LFG(b.K0,8))},token:t,providedIn:"root"}),t})(),w=(()=>{class t{constructor(t,e,i,n){this.elementRef=t,this.scrollDispatcher=e,this.ngZone=i,this.dir=n,this._destroyed=new h.x,this._elementScrolled=new d.y(t=>this.ngZone.runOutsideAngular(()=>(0,p.R)(this.elementRef.nativeElement,"scroll").pipe((0,g.R)(this._destroyed)).subscribe(t)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(t){const e=this.elementRef.nativeElement,i=this.dir&&"rtl"==this.dir.value;null==t.left&&(t.left=i?t.end:t.start),null==t.right&&(t.right=i?t.start:t.end),null!=t.bottom&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),i&&0!=(0,y._i)()?(null!=t.left&&(t.right=e.scrollWidth-e.clientWidth-t.left),2==(0,y._i)()?t.left=t.right:1==(0,y._i)()&&(t.left=t.right?-t.right:t.right)):null!=t.right&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)}_applyScrollToOptions(t){const e=this.elementRef.nativeElement;(0,y.Mq)()?e.scrollTo(t):(null!=t.top&&(e.scrollTop=t.top),null!=t.left&&(e.scrollLeft=t.left))}measureScrollOffset(t){const e="left",i="right",n=this.elementRef.nativeElement;if("top"==t)return n.scrollTop;if("bottom"==t)return n.scrollHeight-n.clientHeight-n.scrollTop;const r=this.dir&&"rtl"==this.dir.value;return"start"==t?t=r?i:e:"end"==t&&(t=r?e:i),r&&2==(0,y._i)()?t==e?n.scrollWidth-n.clientWidth-n.scrollLeft:n.scrollLeft:r&&1==(0,y._i)()?t==e?n.scrollLeft+n.scrollWidth-n.clientWidth:-n.scrollLeft:t==e?n.scrollLeft:n.scrollWidth-n.clientWidth-n.scrollLeft}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(_),r.Y36(r.R0b),r.Y36(v.Is,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]}),t})(),x=(()=>{class t{constructor(t,e,i){this._platform=t,this._change=new h.x,this._changeListener=t=>{this._change.next(t)},this._document=i,e.runOutsideAngular(()=>{if(t.isBrowser){const t=this._getWindow();t.addEventListener("resize",this._changeListener),t.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._updateViewportSize())})}ngOnDestroy(){if(this._platform.isBrowser){const t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){const t=this.getViewportScrollPosition(),{width:e,height:i}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+i,right:t.left+e,height:i,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const t=this._document,e=this._getWindow(),i=t.documentElement,n=i.getBoundingClientRect();return{top:-n.top||t.body.scrollTop||e.scrollY||i.scrollTop||0,left:-n.left||t.body.scrollLeft||e.scrollX||i.scrollLeft||0}}change(t=20){return t>0?this._change.pipe((0,f.e)(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(y.t4),r.LFG(r.R0b),r.LFG(b.K0,8))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(y.t4),r.LFG(r.R0b),r.LFG(b.K0,8))},token:t,providedIn:"root"}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),A=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[v.vT,y.ud,C],v.vT,C]}),t})()},8544:(t,e,i)=>{"use strict";i.d(e,{be:()=>x,KL:()=>m,u6:()=>g,B8:()=>C,U5:()=>E,st:()=>A,po:()=>S,gx:()=>w});var n=i(4621),r=i(2526),s=i(9861),o=i(5842),a=i(1511),l=i(1572),c=i(9666),h=i(2041),u=i(1258),d=i(9568);function p(t,e){1&t&&l.Hsn(0)}const f=["*"];let m=(()=>{class t{constructor(t){this._elementRef=t}focus(){this._elementRef.nativeElement.focus()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(l.SBq))},t.\u0275dir=l.lG2({type:t,selectors:[["","cdkStepHeader",""]],hostAttrs:["role","tab"]}),t})(),g=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(l.Rgc))},t.\u0275dir=l.lG2({type:t,selectors:[["","cdkStepLabel",""]]}),t})(),y=0;const b="edit",v="done",_="error",w=new l.OlP("STEPPER_GLOBAL_OPTIONS");let x=(()=>{class t{constructor(t,e){this._stepper=t,this.interacted=!1,this.interactedStream=new l.vpe,this._editable=!0,this._optional=!1,this._completedOverride=null,this._customError=null,this._stepperOptions=e||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType,this._showError=!!this._stepperOptions.showError}get editable(){return this._editable}set editable(t){this._editable=(0,s.Ig)(t)}get optional(){return this._optional}set optional(t){this._optional=(0,s.Ig)(t)}get completed(){return null==this._completedOverride?this._getDefaultCompleted():this._completedOverride}set completed(t){this._completedOverride=(0,s.Ig)(t)}_getDefaultCompleted(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted}get hasError(){return null==this._customError?this._getDefaultError():this._customError}set hasError(t){this._customError=(0,s.Ig)(t)}_getDefaultError(){return this.stepControl&&this.stepControl.invalid&&this.interacted}select(){this._stepper.selected=this}reset(){this.interacted=!1,null!=this._completedOverride&&(this._completedOverride=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()}ngOnChanges(){this._stepper._stateChanged()}_markAsInteracted(){this.interacted||(this.interacted=!0,this.interactedStream.emit(this))}}return t.\u0275fac=function(e){return new(e||t)(l.Y36((0,l.Gpc)(()=>C)),l.Y36(w,8))},t.\u0275cmp=l.Xpm({type:t,selectors:[["cdk-step"]],contentQueries:function(t,e,i){if(1&t&&l.Suo(i,g,5),2&t){let t;l.iGM(t=l.CRH())&&(e.stepLabel=t.first)}},viewQuery:function(t,e){if(1&t&&l.Gf(l.Rgc,7),2&t){let t;l.iGM(t=l.CRH())&&(e.content=t.first)}},inputs:{editable:"editable",optional:"optional",completed:"completed",hasError:"hasError",stepControl:"stepControl",label:"label",errorMessage:"errorMessage",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],state:"state"},outputs:{interactedStream:"interacted"},exportAs:["cdkStep"],features:[l.TTD],ngContentSelectors:f,decls:1,vars:0,template:function(t,e){1&t&&(l.F$t(),l.YNc(0,p,1,0,"ng-template"))},encapsulation:2,changeDetection:0}),t})(),C=(()=>{class t{constructor(t,e,i,n){this._dir=t,this._changeDetectorRef=e,this._elementRef=i,this._destroyed=new c.x,this.steps=new l.n_E,this._linear=!1,this._selectedIndex=0,this.selectionChange=new l.vpe,this._orientation="horizontal",this._groupId=y++,this._document=n}get linear(){return this._linear}set linear(t){this._linear=(0,s.Ig)(t)}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){var e;const i=(0,s.su)(t);this.steps&&this._steps?(this._isValidIndex(t),null===(e=this.selected)||void 0===e||e._markAsInteracted(),this._selectedIndex!==i&&!this._anyControlsInvalidOrPending(i)&&(i>=this._selectedIndex||this.steps.toArray()[i].editable)&&this._updateSelectedItemIndex(t)):this._selectedIndex=i}get selected(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0}set selected(t){this.selectedIndex=t&&this.steps?this.steps.toArray().indexOf(t):-1}get orientation(){return this._orientation}set orientation(t){this._orientation=t,this._keyManager&&this._keyManager.withVerticalOrientation("vertical"===t)}ngAfterContentInit(){this._steps.changes.pipe((0,u.O)(this._steps),(0,d.R)(this._destroyed)).subscribe(t=>{this.steps.reset(t.filter(t=>t._stepper===this)),this.steps.notifyOnChanges()})}ngAfterViewInit(){this._keyManager=new n.Em(this._stepHeader).withWrap().withHomeAndEnd().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:(0,h.of)()).pipe((0,u.O)(this._layoutDirection()),(0,d.R)(this._destroyed)).subscribe(t=>this._keyManager.withHorizontalOrientation(t)),this._keyManager.updateActiveItem(this._selectedIndex),this.steps.changes.subscribe(()=>{this.selected||(this._selectedIndex=Math.max(this._selectedIndex-1,0))}),this._isValidIndex(this._selectedIndex)||(this._selectedIndex=0)}ngOnDestroy(){this.steps.destroy(),this._destroyed.next(),this._destroyed.complete()}next(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)}previous(){this.selectedIndex=Math.max(this._selectedIndex-1,0)}reset(){this._updateSelectedItemIndex(0),this.steps.forEach(t=>t.reset()),this._stateChanged()}_getStepLabelId(t){return`cdk-step-label-${this._groupId}-${t}`}_getStepContentId(t){return`cdk-step-content-${this._groupId}-${t}`}_stateChanged(){this._changeDetectorRef.markForCheck()}_getAnimationDirection(t){const e=t-this._selectedIndex;return e<0?"rtl"===this._layoutDirection()?"next":"previous":e>0?"rtl"===this._layoutDirection()?"previous":"next":"current"}_getIndicatorType(t,e="number"){const i=this.steps.toArray()[t],n=this._isCurrentStep(t);return i._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(i,n):this._getGuidelineLogic(i,n,e)}_getDefaultIndicatorLogic(t,e){return t._showError&&t.hasError&&!e?_:!t.completed||e?"number":t.editable?b:v}_getGuidelineLogic(t,e,i="number"){return t._showError&&t.hasError&&!e?_:t.completed&&!e?v:t.completed&&e?i:t.editable&&e?b:i}_isCurrentStep(t){return this._selectedIndex===t}_getFocusIndex(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex}_updateSelectedItemIndex(t){const e=this.steps.toArray();this.selectionChange.emit({selectedIndex:t,previouslySelectedIndex:this._selectedIndex,selectedStep:e[t],previouslySelectedStep:e[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem(t):this._keyManager.updateActiveItem(t),this._selectedIndex=t,this._stateChanged()}_onKeydown(t){const e=(0,o.Vb)(t),i=t.keyCode,n=this._keyManager;null==n.activeItemIndex||e||i!==o.L_&&i!==o.K5?n.onKeydown(t):(this.selectedIndex=n.activeItemIndex,t.preventDefault())}_anyControlsInvalidOrPending(t){return!!(this._linear&&t>=0)&&this.steps.toArray().slice(0,t).some(t=>{const e=t.stepControl;return(e?e.invalid||e.pending||!t.interacted:!t.completed)&&!t.optional&&!t._completedOverride})}_layoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_containsFocus(){const t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)}_isValidIndex(t){return t>-1&&(!this.steps||t{class t{constructor(t){this._stepper=t,this.type="submit"}_handleClick(){this._stepper.next()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(C))},t.\u0275dir=l.lG2({type:t,selectors:[["button","cdkStepperNext",""]],hostVars:1,hostBindings:function(t,e){1&t&&l.NdJ("click",function(){return e._handleClick()}),2&t&&l.Ikx("type",e.type)},inputs:{type:"type"}}),t})(),S=(()=>{class t{constructor(t){this._stepper=t,this.type="button"}_handleClick(){this._stepper.previous()}}return t.\u0275fac=function(e){return new(e||t)(l.Y36(C))},t.\u0275dir=l.lG2({type:t,selectors:[["button","cdkStepperPrevious",""]],hostVars:1,hostBindings:function(t,e){1&t&&l.NdJ("click",function(){return e._handleClick()}),2&t&&l.Ikx("type",e.type)},inputs:{type:"type"}}),t})(),E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[r.vT]]}),t})()},1709:(t,e,i)=>{"use strict";i.d(e,{HI:()=>m,Xx:()=>x,_0:()=>v,nZ:()=>E,Hs:()=>_,rO:()=>b,cu:()=>g,XJ:()=>A,Ud:()=>S,VY:()=>f});var n=i(4230),r=i(4776),s=i(9666),o=i(7425),a=i(2041),l=i(9056),c=i(8868),h=i(9568),u=i(1572),d=i(9861),p=i(2526);class f extends class{constructor(){this.expansionModel=new n.Ov(!0)}toggle(t){this.expansionModel.toggle(this._trackByValue(t))}expand(t){this.expansionModel.select(this._trackByValue(t))}collapse(t){this.expansionModel.deselect(this._trackByValue(t))}isExpanded(t){return this.expansionModel.isSelected(this._trackByValue(t))}toggleDescendants(t){this.expansionModel.isSelected(this._trackByValue(t))?this.collapseDescendants(t):this.expandDescendants(t)}collapseAll(){this.expansionModel.clear()}expandDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.select(...e.map(t=>this._trackByValue(t)))}collapseDescendants(t){let e=[t];e.push(...this.getDescendants(t)),this.expansionModel.deselect(...e.map(t=>this._trackByValue(t)))}_trackByValue(t){return this.trackBy?this.trackBy(t):t}}{constructor(t,e){super(),this.getChildren=t,this.options=e,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const t=this.dataNodes.reduce((t,e)=>[...t,...this.getDescendants(e),e],[]);this.expansionModel.select(...t.map(t=>this._trackByValue(t)))}getDescendants(t){const e=[];return this._getDescendants(e,t),e.splice(1)}_getDescendants(t,e){t.push(e);const i=this.getChildren(e);Array.isArray(i)?i.forEach(e=>this._getDescendants(t,e)):(0,r.b)(i)&&i.pipe((0,l.q)(1),(0,c.h)(Boolean)).subscribe(e=>{for(const i of e)this._getDescendants(t,i)})}}const m=new u.OlP("CDK_TREE_NODE_OUTLET_NODE");let g=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.s_b),u.Y36(m,8))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeOutlet",""]]}),t})();class y{constructor(t){this.$implicit=t}}let b=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.Rgc))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}}),t})(),v=(()=>{class t{constructor(t,e){this._differs=t,this._changeDetectorRef=e,this._onDestroy=new s.x,this._levels=new Map,this.viewChange=new o.X({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy)}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const t=this._nodeDefs.filter(t=>!t.when);this._defaultNodeDef=t[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(t){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),t||this._nodeOutlet.viewContainer.clear(),this._dataSource=t,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let t;(0,n.Z9)(this._dataSource)?t=this._dataSource.connect(this):(0,r.b)(this._dataSource)?t=this._dataSource:Array.isArray(this._dataSource)&&(t=(0,a.of)(this._dataSource)),t&&(this._dataSubscription=t.pipe((0,h.R)(this._onDestroy)).subscribe(t=>this.renderNodeChanges(t)))}renderNodeChanges(t,e=this._dataDiffer,i=this._nodeOutlet.viewContainer,n){const r=e.diff(t);r&&(r.forEachOperation((e,r,s)=>{if(null==e.previousIndex)this.insertNode(t[s],s,i,n);else if(null==s)i.remove(r),this._levels.delete(e.item);else{const t=i.get(r);i.move(t,s)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(t,e){return 1===this._nodeDefs.length?this._nodeDefs.first:this._nodeDefs.find(i=>i.when&&i.when(e,t))||this._defaultNodeDef}insertNode(t,e,i,n){const r=this._getNodeDef(t,e),s=new y(t);s.level=this.treeControl.getLevel?this.treeControl.getLevel(t):void 0!==n&&this._levels.has(n)?this._levels.get(n)+1:0,this._levels.set(t,s.level),(i||this._nodeOutlet.viewContainer).createEmbeddedView(r.template,s,e),_.mostRecentTreeNode&&(_.mostRecentTreeNode.data=t)}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.ZZ4),u.Y36(u.sBO))},t.\u0275cmp=u.Xpm({type:t,selectors:[["cdk-tree"]],contentQueries:function(t,e,i){if(1&t&&u.Suo(i,b,5),2&t){let t;u.iGM(t=u.CRH())&&(e._nodeDefs=t)}},viewQuery:function(t,e){if(1&t&&u.Gf(g,7),2&t){let t;u.iGM(t=u.CRH())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(t,e){1&t&&u.GkF(0,0)},directives:[g],encapsulation:2}),t})(),_=(()=>{class t{constructor(e,i){this._elementRef=e,this._tree=i,this._destroyed=new s.x,this._dataChanges=new s.x,t.mostRecentTreeNode=this,this._elementRef.nativeElement.classList.add("cdk-tree-node"),this.role="treeitem"}get role(){return"treeitem"}set role(t){this._elementRef.nativeElement.setAttribute("role",t)}get data(){return this._data}set data(t){t!==this._data&&(this._data=t,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}_setExpanded(t){this._isAriaExpanded=t,this._elementRef.nativeElement.setAttribute("aria-expanded",`${t}`)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function(t){let e=t.parentElement;for(;e&&!w(e);)e=e.parentElement;return e?e.classList.contains("cdk-nested-tree-node")?(0,d.su)(e.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngDoCheck(){this.isExpanded!=this._isAriaExpanded&&this._setExpanded(this.isExpanded)}ngOnDestroy(){t.mostRecentTreeNode===this&&(t.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){this.role="treeitem"}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.SBq),u.Y36(v))},t.\u0275dir=u.lG2({type:t,selectors:[["cdk-tree-node"]],inputs:{role:"role"},exportAs:["cdkTreeNode"]}),t.mostRecentTreeNode=null,t})();function w(t){const e=t.classList;return!(!(null==e?void 0:e.contains("cdk-nested-tree-node"))&&!(null==e?void 0:e.contains("cdk-tree")))}let x=(()=>{class t extends _{constructor(t,e,i){super(t,e),this._elementRef=t,this._tree=e,this._differs=i,this._elementRef.nativeElement.classList.add("cdk-nested-tree-node")}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy);const t=this._tree.treeControl.getChildren(this.data);Array.isArray(t)?this.updateChildrenNodes(t):(0,r.b)(t)&&t.pipe((0,h.R)(this._destroyed)).subscribe(t=>this.updateChildrenNodes(t)),this.nodeOutlet.changes.pipe((0,h.R)(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(t){const e=this._getNodeOutlet();t&&(this._children=t),e&&this._children?this._tree.renderNodeChanges(this._children,this._dataDiffer,e.viewContainer,this._data):this._dataDiffer.diff([])}_clear(){const t=this._getNodeOutlet();t&&(t.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const t=this.nodeOutlet;return t&&t.find(t=>!t._node||t._node===this)}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(u.SBq),u.Y36(v),u.Y36(u.ZZ4))},t.\u0275dir=u.lG2({type:t,selectors:[["cdk-nested-tree-node"]],contentQueries:function(t,e,i){if(1&t&&u.Suo(i,g,5),2&t){let t;u.iGM(t=u.CRH())&&(e.nodeOutlet=t)}},inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[u._Bn([{provide:_,useExisting:t},{provide:m,useExisting:t}]),u.qOj]}),t})();const C=/([A-Za-z%]+)$/;let A=(()=>{class t{constructor(t,e,i,n){this._treeNode=t,this._tree=e,this._element=i,this._dir=n,this._destroyed=new s.x,this.indentUnits="px",this._indent=40,this._setPadding(),n&&n.change.pipe((0,h.R)(this._destroyed)).subscribe(()=>this._setPadding(!0)),t._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(t){this._setLevelInput(t)}get indent(){return this._indent}set indent(t){this._setIndentInput(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const t=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,e=null==this._level?t:this._level;return"number"==typeof e?`${e*this._indent}${this.indentUnits}`:null}_setPadding(t=!1){const e=this._paddingIndent();if(e!==this._currentPadding||t){const t=this._element.nativeElement,i=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",n="paddingLeft"===i?"paddingRight":"paddingLeft";t.style[i]=e||"",t.style[n]="",this._currentPadding=e}}_setLevelInput(t){this._level=(0,d.su)(t,null),this._setPadding()}_setIndentInput(t){let e=t,i="px";if("string"==typeof t){const n=t.split(C);e=n[0],i=n[1]||i}this.indentUnits=i,this._indent=(0,d.su)(e),this._setPadding()}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(_),u.Y36(v),u.Y36(u.SBq),u.Y36(p.Is,8))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}}),t})(),S=(()=>{class t{constructor(t,e){this._tree=t,this._treeNode=e,this._recursive=!1}get recursive(){return this._recursive}set recursive(t){this._recursive=(0,d.Ig)(t)}_toggle(t){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),t.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(u.Y36(v),u.Y36(_))},t.\u0275dir=u.lG2({type:t,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(t,e){1&t&&u.NdJ("click",function(t){return e._toggle(t)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}}),t})(),E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=u.oAB({type:t}),t.\u0275inj=u.cJS({}),t})()},1511:(t,e,i)=>{"use strict";i.d(e,{mr:()=>_,Ov:()=>It,ez:()=>Ut,K0:()=>l,uU:()=>Pt,JJ:()=>Zt,Do:()=>x,Ts:()=>Ft,V_:()=>u,Ye:()=>C,S$:()=>b,i8:()=>Ot,mk:()=>pt,sg:()=>mt,O5:()=>yt,PC:()=>At,RF:()=>wt,n9:()=>xt,ED:()=>Ct,tP:()=>St,b0:()=>w,lw:()=>c,OU:()=>Bt,rS:()=>Rt,gd:()=>Nt,EM:()=>Yt,JF:()=>Vt,NF:()=>zt,PM:()=>Ht,w_:()=>a,bD:()=>qt,q:()=>s,Mx:()=>dt,HT:()=>o});var n=i(1572);let r=null;function s(){return r}function o(t){r||(r=t)}class a{}const l=new n.OlP("DocumentToken");let c=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:h,token:t,providedIn:"platform"}),t})();function h(){return(0,n.LFG)(d)}const u=new n.OlP("Location Initialized");let d=(()=>{class t extends c{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return s().getBaseHref(this._doc)}onPopState(t){const e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("popstate",t,!1),()=>e.removeEventListener("popstate",t)}onHashChange(t){const e=s().getGlobalEventTarget(this._doc,"window");return e.addEventListener("hashchange",t,!1),()=>e.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,e,i){p()?this._history.pushState(t,e,i):this.location.hash=i}replaceState(t,e,i){p()?this._history.replaceState(t,e,i):this.location.hash=i}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(l))},t.\u0275prov=(0,n.Yz7)({factory:f,token:t,providedIn:"platform"}),t})();function p(){return!!window.history.pushState}function f(){return new d((0,n.LFG)(l))}function m(t,e){if(0==t.length)return e;if(0==e.length)return t;let i=0;return t.endsWith("/")&&i++,e.startsWith("/")&&i++,2==i?t+e.substring(1):1==i?t+e:t+"/"+e}function g(t){const e=t.match(/#|\?|$/),i=e&&e.index||t.length;return t.slice(0,i-("/"===t[i-1]?1:0))+t.slice(i)}function y(t){return t&&"?"!==t[0]?"?"+t:t}let b=(()=>{class t{historyGo(t){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:v,token:t,providedIn:"root"}),t})();function v(t){const e=(0,n.LFG)(l).location;return new w((0,n.LFG)(c),e&&e.origin||"")}const _=new n.OlP("appBaseHref");let w=(()=>{class t extends b{constructor(t,e){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==e&&(e=this._platformLocation.getBaseHrefFromDOM()),null==e)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=e}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return m(this._baseHref,t)}path(t=!1){const e=this._platformLocation.pathname+y(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${e}${i}`:e}pushState(t,e,i,n){const r=this.prepareExternalUrl(i+y(n));this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,n){const r=this.prepareExternalUrl(i+y(n));this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(c),n.LFG(_,8))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),x=(()=>{class t extends b{constructor(t,e){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=e&&(this._baseHref=e)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let e=this._platformLocation.hash;return null==e&&(e="#"),e.length>0?e.substring(1):e}prepareExternalUrl(t){const e=m(this._baseHref,t);return e.length>0?"#"+e:e}pushState(t,e,i,n){let r=this.prepareExternalUrl(i+y(n));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.pushState(t,e,r)}replaceState(t,e,i,n){let r=this.prepareExternalUrl(i+y(n));0==r.length&&(r=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,r)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformLocation).historyGo)||void 0===i||i.call(e,t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(c),n.LFG(_,8))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),C=(()=>{class t{constructor(t,e){this._subject=new n.vpe,this._urlChangeListeners=[],this._platformStrategy=t;const i=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=g(S(i)),this._platformStrategy.onPopState(t=>{this._subject.emit({url:this.path(!0),pop:!0,state:t.state,type:t.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,e=""){return this.path()==this.normalize(t+y(e))}normalize(e){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,S(e)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,e="",i=null){this._platformStrategy.pushState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+y(e)),i)}replaceState(t,e="",i=null){this._platformStrategy.replaceState(i,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+y(e)),i)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var e,i;null===(i=(e=this._platformStrategy).historyGo)||void 0===i||i.call(e,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}))}_notifyUrlChangeListeners(t="",e){this._urlChangeListeners.forEach(i=>i(t,e))}subscribe(t,e,i){return this._subject.subscribe({next:t,error:e,complete:i})}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(b),n.LFG(c))},t.normalizeQueryParams=y,t.joinWithSlash=m,t.stripTrailingSlash=g,t.\u0275prov=(0,n.Yz7)({factory:A,token:t,providedIn:"root"}),t})();function A(){return new C((0,n.LFG)(b),(0,n.LFG)(c))}function S(t){return t.replace(/\/index.html$/,"")}var E=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}({}),k=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({}),T=function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t}({}),M=function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t}({}),L=function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t}({}),I=function(t){return t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t[1/0]=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup",t}({});function O(t,e){return Z((0,n.cg1)(t)[n.wAp.DateFormat],e)}function D(t,e){return Z((0,n.cg1)(t)[n.wAp.TimeFormat],e)}function R(t,e){return Z((0,n.cg1)(t)[n.wAp.DateTimeFormat],e)}function N(t,e){const i=(0,n.cg1)(t),r=i[n.wAp.NumberSymbols][e];if(void 0===r){if(e===I.CurrencyDecimal)return i[n.wAp.NumberSymbols][I.Decimal];if(e===I.CurrencyGroup)return i[n.wAp.NumberSymbols][I.Group]}return r}const P=n.kL8;function F(t){if(!t[n.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[n.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Z(t,e){for(let i=e;i>-1;i--)if(void 0!==t[i])return t[i];throw new Error("Locale data API: locale data undefined")}function B(t){const[e,i]=t.split(":");return{hours:+e,minutes:+i}}const U=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,q={},z=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var H=function(t){return t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended",t}({}),Y=function(t){return t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day",t}({}),G=function(t){return t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras",t}({});function j(t,e,i,n){let r=function(t){if(st(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){const[e,i=1,n=1]=t.split("-").map(t=>+t);return V(e,i-1,n)}const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(U))return function(t){const e=new Date(0);let i=0,n=0;const r=t[8]?e.setUTCFullYear:e.setFullYear,s=t[8]?e.setUTCHours:e.setHours;t[9]&&(i=Number(t[9]+t[10]),n=Number(t[9]+t[11])),r.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));const o=Number(t[4]||0)-i,a=Number(t[5]||0)-n,l=Number(t[6]||0),c=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return s.call(e,o,a,l,c),e}(i)}const e=new Date(t);if(!st(e))throw new Error(`Unable to convert "${t}" into a date`);return e}(t);e=Q(i,e)||e;let s,o=[];for(;e;){if(s=z.exec(e),!s){o.push(e);break}{o=o.concat(s.slice(1));const t=o.pop();if(!t)break;e=t}}let a=r.getTimezoneOffset();n&&(a=rt(n,a),r=function(t,e,i){const n=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(rt(e,n)-n))}(r,n));let l="";return o.forEach(t=>{const e=function(t){if(nt[t])return nt[t];let e;switch(t){case"G":case"GG":case"GGG":e=K(G.Eras,M.Abbreviated);break;case"GGGG":e=K(G.Eras,M.Wide);break;case"GGGGG":e=K(G.Eras,M.Narrow);break;case"y":e=X(Y.FullYear,1,0,!1,!0);break;case"yy":e=X(Y.FullYear,2,0,!0,!0);break;case"yyy":e=X(Y.FullYear,3,0,!1,!0);break;case"yyyy":e=X(Y.FullYear,4,0,!1,!0);break;case"Y":e=it(1);break;case"YY":e=it(2,!0);break;case"YYY":e=it(3);break;case"YYYY":e=it(4);break;case"M":case"L":e=X(Y.Month,1,1);break;case"MM":case"LL":e=X(Y.Month,2,1);break;case"MMM":e=K(G.Months,M.Abbreviated);break;case"MMMM":e=K(G.Months,M.Wide);break;case"MMMMM":e=K(G.Months,M.Narrow);break;case"LLL":e=K(G.Months,M.Abbreviated,T.Standalone);break;case"LLLL":e=K(G.Months,M.Wide,T.Standalone);break;case"LLLLL":e=K(G.Months,M.Narrow,T.Standalone);break;case"w":e=et(1);break;case"ww":e=et(2);break;case"W":e=et(1,!0);break;case"d":e=X(Y.Date,1);break;case"dd":e=X(Y.Date,2);break;case"c":case"cc":e=X(Y.Day,1);break;case"ccc":e=K(G.Days,M.Abbreviated,T.Standalone);break;case"cccc":e=K(G.Days,M.Wide,T.Standalone);break;case"ccccc":e=K(G.Days,M.Narrow,T.Standalone);break;case"cccccc":e=K(G.Days,M.Short,T.Standalone);break;case"E":case"EE":case"EEE":e=K(G.Days,M.Abbreviated);break;case"EEEE":e=K(G.Days,M.Wide);break;case"EEEEE":e=K(G.Days,M.Narrow);break;case"EEEEEE":e=K(G.Days,M.Short);break;case"a":case"aa":case"aaa":e=K(G.DayPeriods,M.Abbreviated);break;case"aaaa":e=K(G.DayPeriods,M.Wide);break;case"aaaaa":e=K(G.DayPeriods,M.Narrow);break;case"b":case"bb":case"bbb":e=K(G.DayPeriods,M.Abbreviated,T.Standalone,!0);break;case"bbbb":e=K(G.DayPeriods,M.Wide,T.Standalone,!0);break;case"bbbbb":e=K(G.DayPeriods,M.Narrow,T.Standalone,!0);break;case"B":case"BB":case"BBB":e=K(G.DayPeriods,M.Abbreviated,T.Format,!0);break;case"BBBB":e=K(G.DayPeriods,M.Wide,T.Format,!0);break;case"BBBBB":e=K(G.DayPeriods,M.Narrow,T.Format,!0);break;case"h":e=X(Y.Hours,1,-12);break;case"hh":e=X(Y.Hours,2,-12);break;case"H":e=X(Y.Hours,1);break;case"HH":e=X(Y.Hours,2);break;case"m":e=X(Y.Minutes,1);break;case"mm":e=X(Y.Minutes,2);break;case"s":e=X(Y.Seconds,1);break;case"ss":e=X(Y.Seconds,2);break;case"S":e=X(Y.FractionalSeconds,1);break;case"SS":e=X(Y.FractionalSeconds,2);break;case"SSS":e=X(Y.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=$(H.Short);break;case"ZZZZZ":e=$(H.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=$(H.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=$(H.Long);break;default:return null}return nt[t]=e,e}(t);l+=e?e(r,i,a):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function V(t,e,i){const n=new Date(0);return n.setFullYear(t,e,i),n.setHours(0,0,0),n}function Q(t,e){const i=function(t){return(0,n.cg1)(t)[n.wAp.LocaleId]}(t);if(q[i]=q[i]||{},q[i][e])return q[i][e];let r="";switch(e){case"shortDate":r=O(t,L.Short);break;case"mediumDate":r=O(t,L.Medium);break;case"longDate":r=O(t,L.Long);break;case"fullDate":r=O(t,L.Full);break;case"shortTime":r=D(t,L.Short);break;case"mediumTime":r=D(t,L.Medium);break;case"longTime":r=D(t,L.Long);break;case"fullTime":r=D(t,L.Full);break;case"short":const e=Q(t,"shortTime"),i=Q(t,"shortDate");r=W(R(t,L.Short),[e,i]);break;case"medium":const n=Q(t,"mediumTime"),s=Q(t,"mediumDate");r=W(R(t,L.Medium),[n,s]);break;case"long":const o=Q(t,"longTime"),a=Q(t,"longDate");r=W(R(t,L.Long),[o,a]);break;case"full":const l=Q(t,"fullTime"),c=Q(t,"fullDate");r=W(R(t,L.Full),[l,c])}return r&&(q[i][e]=r),r}function W(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,function(t,i){return null!=e&&i in e?e[i]:t})),t}function J(t,e,i="-",n,r){let s="";(t<0||r&&t<=0)&&(r?t=1-t:(t=-t,s=i));let o=String(t);for(;o.length0||a>-i)&&(a+=i),t===Y.Hours)0===a&&-12===i&&(a=12);else if(t===Y.FractionalSeconds)return l=e,J(a,3).substr(0,l);var l;const c=N(o,I.MinusSign);return J(a,e,c,n,r)}}function K(t,e,i=T.Format,r=!1){return function(s,o){return function(t,e,i,r,s,o){switch(i){case G.Months:return function(t,e,i){const r=(0,n.cg1)(t),s=Z([r[n.wAp.MonthsFormat],r[n.wAp.MonthsStandalone]],e);return Z(s,i)}(e,s,r)[t.getMonth()];case G.Days:return function(t,e,i){const r=(0,n.cg1)(t),s=Z([r[n.wAp.DaysFormat],r[n.wAp.DaysStandalone]],e);return Z(s,i)}(e,s,r)[t.getDay()];case G.DayPeriods:const a=t.getHours(),l=t.getMinutes();if(o){const t=function(t){const e=(0,n.cg1)(t);return F(e),(e[n.wAp.ExtraData][2]||[]).map(t=>"string"==typeof t?B(t):[B(t[0]),B(t[1])])}(e),i=function(t,e,i){const r=(0,n.cg1)(t);F(r);const s=Z([r[n.wAp.ExtraData][0],r[n.wAp.ExtraData][1]],e)||[];return Z(s,i)||[]}(e,s,r),o=t.findIndex(t=>{if(Array.isArray(t)){const[e,i]=t,n=a>=e.hours&&l>=e.minutes,r=a0?Math.floor(r/60):Math.ceil(r/60);switch(t){case H.Short:return(r>=0?"+":"")+J(o,2,s)+J(Math.abs(r%60),2,s);case H.ShortGMT:return"GMT"+(r>=0?"+":"")+J(o,1,s);case H.Long:return"GMT"+(r>=0?"+":"")+J(o,2,s)+":"+J(Math.abs(r%60),2,s);case H.Extended:return 0===n?"Z":(r>=0?"+":"")+J(o,2,s)+":"+J(Math.abs(r%60),2,s);default:throw new Error(`Unknown zone width "${t}"`)}}}function tt(t){return V(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function et(t,e=!1){return function(i,n){let r;if(e){const t=new Date(i.getFullYear(),i.getMonth(),1).getDay()-1,e=i.getDate();r=1+Math.floor((e+t)/7)}else{const t=tt(i),e=function(t){const e=V(t,0,1).getDay();return V(t,0,1+(e<=4?4:11)-e)}(t.getFullYear()),n=t.getTime()-e.getTime();r=1+Math.round(n/6048e5)}return J(r,t,N(n,I.MinusSign))}}function it(t,e=!1){return function(i,n){return J(tt(i).getFullYear(),t,N(n,I.MinusSign),e)}}const nt={};function rt(t,e){t=t.replace(/:/g,"");const i=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(i)?e:i}function st(t){return t instanceof Date&&!isNaN(t.valueOf())}const ot=/^(\d+)?\.((\d+)(-(\d+))?)?$/,at=".",lt="0";function ct(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}class ht{}let ut=(()=>{class t extends ht{constructor(t){super(),this.locale=t}getPluralCategory(t,e){switch(P(e||this.locale)(t)){case k.Zero:return"zero";case k.One:return"one";case k.Two:return"two";case k.Few:return"few";case k.Many:return"many";default:return"other"}}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.soG))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();function dt(t,e){e=encodeURIComponent(e);for(const i of t.split(";")){const t=i.indexOf("="),[n,r]=-1==t?[i,""]:[i.slice(0,t),i.slice(t+1)];if(n.trim()===e)return decodeURIComponent(r)}return null}let pt=(()=>{class t{constructor(t,e,i,n){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=i,this._renderer=n,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&((0,n.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){const t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}}_applyKeyValueChanges(t){t.forEachAddedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachChangedItem(t=>this._toggleClass(t.key,t.currentValue)),t.forEachRemovedItem(t=>{t.previousValue&&this._toggleClass(t.key,!1)})}_applyIterableChanges(t){t.forEachAddedItem(t=>{if("string"!=typeof t.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,n.AaK)(t.item)}`);this._toggleClass(t.item,!0)}),t.forEachRemovedItem(t=>this._toggleClass(t.item,!1))}_applyClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!0)):Object.keys(t).forEach(e=>this._toggleClass(e,!!t[e])))}_removeClasses(t){t&&(Array.isArray(t)||t instanceof Set?t.forEach(t=>this._toggleClass(t,!1)):Object.keys(t).forEach(t=>this._toggleClass(t,!1)))}_toggleClass(t,e){(t=t.trim())&&t.split(/\s+/g).forEach(t=>{e?this._renderer.addClass(this._ngEl.nativeElement,t):this._renderer.removeClass(this._ngEl.nativeElement,t)})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.ZZ4),n.Y36(n.aQg),n.Y36(n.SBq),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t})();class ft{constructor(t,e,i,n){this.$implicit=t,this.ngForOf=e,this.index=i,this.count=n}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let mt=(()=>{class t{constructor(t,e,i){this._viewContainer=t,this._template=e,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const i=this._ngForOf;if(!this._differ&&i)try{this._differ=this._differs.find(i).create(this.ngForTrackBy)}catch(e){throw new Error(`Cannot find a differ supporting object '${i}' of type '${t=i,t.name||typeof t}'. NgFor only supports binding to Iterables such as Arrays.`)}}var t;if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const e=[];t.forEachOperation((t,i,n)=>{if(null==t.previousIndex){const i=this._viewContainer.createEmbeddedView(this._template,new ft(null,this._ngForOf,-1,-1),null===n?void 0:n),r=new gt(t,i);e.push(r)}else if(null==n)this._viewContainer.remove(null===i?void 0:i);else if(null!==i){const r=this._viewContainer.get(i);this._viewContainer.move(r,n);const s=new gt(t,r);e.push(s)}});for(let i=0;i{this._viewContainer.get(t.currentIndex).context.$implicit=t.item})}_perViewChange(t,e){t.context.$implicit=e.item}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(n.ZZ4))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),t})();class gt{constructor(t,e){this.record=t,this.view=e}}let yt=(()=>{class t{constructor(t,e){this._viewContainer=t,this._context=new bt,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){vt("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){vt("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,e){return!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),t})();class bt{constructor(){this.$implicit=null,this.ngIf=null}}function vt(t,e){if(e&&!e.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${(0,n.AaK)(e)}'.`)}class _t{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let wt=(()=>{class t{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)}_matchCase(t){const e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e}_updateDefaultCases(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(let e=0;e{class t{constructor(t,e,i){this.ngSwitch=i,i._addCase(),this._view=new _t(t,e)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(wt,9))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}}),t})(),Ct=(()=>{class t{constructor(t,e,i){i._addDefault(new _t(t,e))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b),n.Y36(n.Rgc),n.Y36(wt,9))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngSwitchDefault",""]]}),t})(),At=(()=>{class t{constructor(t,e,i){this._ngEl=t,this._differs=e,this._renderer=i,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,e){const[i,n]=t.split(".");null!=(e=null!=e&&n?`${e}${n}`:e)?this._renderer.setStyle(this._ngEl.nativeElement,i,e):this._renderer.removeStyle(this._ngEl.nativeElement,i)}_applyChanges(t){t.forEachRemovedItem(t=>this._setStyle(t.key,null)),t.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),t.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.aQg),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}}),t})(),St=(()=>{class t{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(t){if(t.ngTemplateOutlet){const t=this._viewContainerRef;this._viewRef&&t.remove(t.indexOf(this._viewRef)),this._viewRef=this.ngTemplateOutlet?t.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext):null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.s_b))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet"},features:[n.TTD]}),t})();function Et(t,e){return Error(`InvalidPipeArgument: '${e}' for pipe '${(0,n.AaK)(t)}'`)}class kt{createSubscription(t,e){return t.subscribe({next:e,error:t=>{throw t}})}dispose(t){t.unsubscribe()}onDestroy(t){t.unsubscribe()}}class Tt{createSubscription(t,e){return t.then(e,t=>{throw t})}dispose(t){}onDestroy(t){}}const Mt=new Tt,Lt=new kt;let It=(()=>{class t{constructor(t){this._ref=t,this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null}ngOnDestroy(){this._subscription&&this._dispose()}transform(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue:(t&&this._subscribe(t),this._latestValue)}_subscribe(t){this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,e=>this._updateLatestValue(t,e))}_selectStrategy(e){if((0,n.QGY)(e))return Mt;if((0,n.F4k)(e))return Lt;throw Et(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO,16))},t.\u0275pipe=n.Yjl({name:"async",type:t,pure:!1}),t})(),Ot=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw Et(t,e);return e.toLowerCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"lowercase",type:t,pure:!0}),t})();const Dt=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g;let Rt=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw Et(t,e);return e.replace(Dt,t=>t[0].toUpperCase()+t.substr(1).toLowerCase())}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"titlecase",type:t,pure:!0}),t})(),Nt=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw Et(t,e);return e.toUpperCase()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"uppercase",type:t,pure:!0}),t})(),Pt=(()=>{class t{constructor(t){this.locale=t}transform(e,i="mediumDate",n,r){if(null==e||""===e||e!=e)return null;try{return j(e,i,r||this.locale,n)}catch(s){throw Et(t,s.message)}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.soG,16))},t.\u0275pipe=n.Yjl({name:"date",type:t,pure:!0}),t})(),Ft=(()=>{class t{transform(t){return JSON.stringify(t,null,2)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"json",type:t,pure:!1}),t})(),Zt=(()=>{class t{constructor(t){this._locale=t}transform(e,i,r){if(!function(t){return!(null==t||""===t||t!=t)}(e))return null;r=r||this._locale;try{return function(t,e,i){return function(t,e,i,n,r,s,o=!1){let a="",l=!1;if(isFinite(t)){let c=function(t){let e,i,n,r,s,o=Math.abs(t)+"",a=0;for((i=o.indexOf(at))>-1&&(o=o.replace(at,"")),(n=o.search(/e/i))>0?(i<0&&(i=n),i+=+o.slice(n+1),o=o.substring(0,n)):i<0&&(i=o.length),n=0;o.charAt(n)===lt;n++);if(n===(s=o.length))e=[0],i=1;else{for(s--;o.charAt(s)===lt;)s--;for(i-=n,e=[],r=0;n<=s;n++,r++)e[r]=Number(o.charAt(n))}return i>22&&(e=e.splice(0,21),a=i-1,i=1),{digits:e,exponent:a,integerLen:i}}(t);o&&(c=function(t){if(0===t.digits[0])return t;const e=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===e?t.digits.push(0,0):1===e&&t.digits.push(0),t.integerLen+=2),t}(c));let h=e.minInt,u=e.minFrac,d=e.maxFrac;if(s){const t=s.match(ot);if(null===t)throw new Error(`${s} is not a valid digit info`);const e=t[1],i=t[3],n=t[5];null!=e&&(h=ct(e)),null!=i&&(u=ct(i)),null!=n?d=ct(n):null!=i&&u>d&&(d=u)}!function(t,e,i){if(e>i)throw new Error(`The minimum number of digits after fraction (${e}) is higher than the maximum (${i}).`);let n=t.digits,r=n.length-t.integerLen;const s=Math.min(Math.max(e,r),i);let o=s+t.integerLen,a=n[o];if(o>0){n.splice(Math.max(t.integerLen,o));for(let t=o;t=5)if(o-1<0){for(let e=0;e>o;e--)n.unshift(0),t.integerLen++;n.unshift(1),t.integerLen++}else n[o-1]++;for(;r=c?n.pop():l=!1),e>=10?1:0},0);h&&(n.unshift(h),t.integerLen++)}(c,u,d);let p=c.digits,f=c.integerLen;const m=c.exponent;let g=[];for(l=p.every(t=>!t);f0?g=p.splice(f,p.length):(g=p,p=[0]);const y=[];for(p.length>=e.lgSize&&y.unshift(p.splice(-e.lgSize,p.length).join(""));p.length>e.gSize;)y.unshift(p.splice(-e.gSize,p.length).join(""));p.length&&y.unshift(p.join("")),a=y.join(N(i,n)),g.length&&(a+=N(i,r)+g.join("")),m&&(a+=N(i,I.Exponential)+"+"+m)}else a=N(i,I.Infinity);return a=t<0&&!l?e.negPre+a+e.negSuf:e.posPre+a+e.posSuf,a}(t,function(t,e="-"){const i={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},n=t.split(";"),r=n[0],s=n[1],o=-1!==r.indexOf(at)?r.split(at):[r.substring(0,r.lastIndexOf(lt)+1),r.substring(r.lastIndexOf(lt)+1)],a=o[0],l=o[1]||"";i.posPre=a.substr(0,a.indexOf("#"));for(let h=0;h{class t{transform(e,i,n){if(null==e)return null;if(!this.supports(e))throw Et(t,e);return e.slice(i,n)}supports(t){return"string"==typeof t||Array.isArray(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=n.Yjl({name:"slice",type:t,pure:!1}),t})(),Ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:ht,useClass:ut}]}),t})();const qt="browser";function zt(t){return t===qt}function Ht(t){return"server"===t}let Yt=(()=>{class t{}return t.\u0275prov=(0,n.Yz7)({token:t,providedIn:"root",factory:()=>new Gt((0,n.LFG)(l),window)}),t})();class Gt{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function(t,e){const i=t.getElementById(e)||t.getElementsByName(e)[0];if(i)return i;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow)){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let n=i.currentNode;for(;n;){const t=n.shadowRoot;if(t){const i=t.getElementById(e)||t.querySelector(`[name="${e}"]`);if(i)return i}n=i.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),this.attemptFocus(e))}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),i=e.left+this.window.pageXOffset,n=e.top+this.window.pageYOffset,r=this.offset();this.window.scrollTo(i-r[0],n-r[1])}attemptFocus(t){return t.focus(),this.document.activeElement===t}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=jt(this.window.history)||jt(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch(t){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(t){return!1}}}function jt(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class Vt{}},9063:(t,e,i)=>{"use strict";i.d(e,{TP:()=>L,eN:()=>T,JF:()=>q,LE:()=>g});var n=i(1511),r=i(1572),s=i(2041),o=i(2391),a=i(8196),l=i(8868),c=i(1681);class h{}class u{}class d{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(t=>{const e=t.indexOf(":");if(e>0){const i=t.slice(0,e),n=i.toLowerCase(),r=t.slice(e+1).trim();this.maybeSetNormalizedName(i,n),this.headers.has(n)?this.headers.get(n).push(r):this.headers.set(n,[r])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const n=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(n,i),this.maybeSetNormalizedName(e,n))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof d?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new d;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof d?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const n=("a"===t.op?this.headers.get(e):void 0)||[];n.push(...i),this.headers.set(e,n);break;case"d":const r=t.value;if(r){let t=this.headers.get(e);if(!t)return;t=t.filter(t=>-1===r.indexOf(t)),0===t.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,t)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class p{encodeKey(t){return f(t)}encodeValue(t){return f(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}function f(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function m(t){return`${t}`}class g{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new p,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(t,e){const i=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(t=>{const n=t.indexOf("="),[r,s]=-1==n?[e.decodeKey(t),""]:[e.decodeKey(t.slice(0,n)),e.decodeValue(t.slice(n+1))],o=i.get(r)||[];o.push(s),i.set(r,o)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e];this.map.set(e,Array.isArray(i)?i:[i])})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const n=t[i];Array.isArray(n)?n.forEach(t=>{e.push({param:i,value:t,op:"a"})}):e.push({param:i,value:n,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new g({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(m(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let e=this.map.get(t.param)||[];const i=e.indexOf(m(t.value));-1!==i&&e.splice(i,1),e.length>0?this.map.set(t.param,e):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class y{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}keys(){return this.map.keys()}}function b(t){return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer}function v(t){return"undefined"!=typeof Blob&&t instanceof Blob}function _(t){return"undefined"!=typeof FormData&&t instanceof FormData}class w{constructor(t,e,i,n){let r;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||n?(this.body=void 0!==i?i:null,r=n):r=i,r&&(this.reportProgress=!!r.reportProgress,this.withCredentials=!!r.withCredentials,r.responseType&&(this.responseType=r.responseType),r.headers&&(this.headers=r.headers),r.context&&(this.context=r.context),r.params&&(this.params=r.params)),this.headers||(this.headers=new d),this.context||(this.context=new y),this.params){const t=this.params.toString();if(0===t.length)this.urlWithParams=e;else{const i=e.indexOf("?");this.urlWithParams=e+(-1===i?"?":ie.set(i,t.setHeaders[i]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((e,i)=>e.set(i,t.setParams[i]),c)),new w(i,n,s,{params:c,headers:l,context:h,reportProgress:a,responseType:r,withCredentials:o})}}var x=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}({});class C{constructor(t,e=200,i="OK"){this.headers=t.headers||new d,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class A extends C{constructor(t={}){super(t),this.type=x.ResponseHeader}clone(t={}){return new A({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class S extends C{constructor(t={}){super(t),this.type=x.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new S({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class E extends C{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function k(t,e){return{body:e,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let T=(()=>{class t{constructor(t){this.handler=t}request(t,e,i={}){let n;if(t instanceof w)n=t;else{let r,s;r=i.headers instanceof d?i.headers:new d(i.headers),i.params&&(s=i.params instanceof g?i.params:new g({fromObject:i.params})),n=new w(t,e,void 0!==i.body?i.body:null,{headers:r,context:i.context,params:s,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const r=(0,s.of)(n).pipe((0,a.b)(t=>this.handler.handle(t)));if(t instanceof w||"events"===i.observe)return r;const o=r.pipe((0,l.h)(t=>t instanceof S));switch(i.observe||"body"){case"body":switch(n.responseType){case"arraybuffer":return o.pipe((0,c.U)(t=>{if(null!==t.body&&!(t.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return t.body}));case"blob":return o.pipe((0,c.U)(t=>{if(null!==t.body&&!(t.body instanceof Blob))throw new Error("Response is not a Blob.");return t.body}));case"text":return o.pipe((0,c.U)(t=>{if(null!==t.body&&"string"!=typeof t.body)throw new Error("Response is not a string.");return t.body}));case"json":default:return o.pipe((0,c.U)(t=>t.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(t,e={}){return this.request("DELETE",t,e)}get(t,e={}){return this.request("GET",t,e)}head(t,e={}){return this.request("HEAD",t,e)}jsonp(t,e){return this.request("JSONP",t,{params:(new g).append(e,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,e={}){return this.request("OPTIONS",t,e)}patch(t,e,i={}){return this.request("PATCH",t,k(i,e))}post(t,e,i={}){return this.request("POST",t,k(i,e))}put(t,e,i={}){return this.request("PUT",t,k(i,e))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(h))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();class M{constructor(t,e){this.next=t,this.interceptor=e}handle(t){return this.interceptor.intercept(t,this.next)}}const L=new r.OlP("HTTP_INTERCEPTORS");let I=(()=>{class t{intercept(t,e){return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const O=/^\)\]\}',?\n/;let D=(()=>{class t{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new o.y(e=>{const i=this.xhrFactory.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((t,e)=>i.setRequestHeader(t,e.join(","))),t.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const e=t.detectContentTypeHeader();null!==e&&i.setRequestHeader("Content-Type",e)}if(t.responseType){const e=t.responseType.toLowerCase();i.responseType="json"!==e?e:"text"}const n=t.serializeBody();let r=null;const s=()=>{if(null!==r)return r;const e=1223===i.status?204:i.status,n=i.statusText||"OK",s=new d(i.getAllResponseHeaders()),o=function(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(i)||t.url;return r=new A({headers:s,status:e,statusText:n,url:o}),r},o=()=>{let{headers:n,status:r,statusText:o,url:a}=s(),l=null;204!==r&&(l=void 0===i.response?i.responseText:i.response),0===r&&(r=l?200:0);let c=r>=200&&r<300;if("json"===t.responseType&&"string"==typeof l){const t=l;l=l.replace(O,"");try{l=""!==l?JSON.parse(l):null}catch(h){l=t,c&&(c=!1,l={error:h,text:l})}}c?(e.next(new S({body:l,headers:n,status:r,statusText:o,url:a||void 0})),e.complete()):e.error(new E({error:l,headers:n,status:r,statusText:o,url:a||void 0}))},a=t=>{const{url:n}=s(),r=new E({error:t,status:i.status||0,statusText:i.statusText||"Unknown Error",url:n||void 0});e.error(r)};let l=!1;const c=n=>{l||(e.next(s()),l=!0);let r={type:x.DownloadProgress,loaded:n.loaded};n.lengthComputable&&(r.total=n.total),"text"===t.responseType&&i.responseText&&(r.partialText=i.responseText),e.next(r)},h=t=>{let i={type:x.UploadProgress,loaded:t.loaded};t.lengthComputable&&(i.total=t.total),e.next(i)};return i.addEventListener("load",o),i.addEventListener("error",a),i.addEventListener("timeout",a),i.addEventListener("abort",a),t.reportProgress&&(i.addEventListener("progress",c),null!==n&&i.upload&&i.upload.addEventListener("progress",h)),i.send(n),e.next({type:x.Sent}),()=>{i.removeEventListener("error",a),i.removeEventListener("abort",a),i.removeEventListener("load",o),i.removeEventListener("timeout",a),t.reportProgress&&(i.removeEventListener("progress",c),null!==n&&i.upload&&i.upload.removeEventListener("progress",h)),i.readyState!==i.DONE&&i.abort()}})}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.JF))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const R=new r.OlP("XSRF_COOKIE_NAME"),N=new r.OlP("XSRF_HEADER_NAME");class P{}let F=(()=>{class t{constructor(t,e,i){this.doc=t,this.platform=e,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,n.Mx)(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0),r.LFG(r.Lbi),r.LFG(R))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),Z=(()=>{class t{constructor(t,e){this.tokenService=t,this.headerName=e}intercept(t,e){const i=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||i.startsWith("http://")||i.startsWith("https://"))return e.handle(t);const n=this.tokenService.getToken();return null===n||t.headers.has(this.headerName)||(t=t.clone({headers:t.headers.set(this.headerName,n)})),e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(P),r.LFG(N))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{constructor(t,e){this.backend=t,this.injector=e,this.chain=null}handle(t){if(null===this.chain){const t=this.injector.get(L,[]);this.chain=t.reduceRight((t,e)=>new M(t,e),this.backend)}return this.chain.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(u),r.LFG(r.zs3))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),U=(()=>{class t{static disable(){return{ngModule:t,providers:[{provide:Z,useClass:I}]}}static withOptions(e={}){return{ngModule:t,providers:[e.cookieName?{provide:R,useValue:e.cookieName}:[],e.headerName?{provide:N,useValue:e.headerName}:[]]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[Z,{provide:L,useExisting:Z,multi:!0},{provide:P,useClass:F},{provide:R,useValue:"XSRF-TOKEN"},{provide:N,useValue:"X-XSRF-TOKEN"}]}),t})(),q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[T,{provide:h,useClass:B},D,{provide:u,useExisting:D}],imports:[[U.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),t})()},1572:(t,e,i)=>{"use strict";i.d(e,{deG:()=>li,tb:()=>hc,AFp:()=>sc,ip1:()=>nc,CZH:()=>rc,hGG:()=>nh,z2F:()=>Vc,sBO:()=>Wa,Sil:()=>wc,_Vd:()=>va,EJc:()=>pc,SBq:()=>Ca,qLn:()=>Ln,vpe:()=>Fl,gxx:()=>vs,tBr:()=>Mi,XFs:()=>L,OlP:()=>ai,zs3:()=>Rs,ZZ4:()=>za,aQg:()=>Ya,soG:()=>dc,YKP:()=>sl,v3s:()=>Wc,h0i:()=>rl,PXZ:()=>zc,R0b:()=>Ac,FiY:()=>Li,Lbi:()=>cc,g9A:()=>lc,n_E:()=>Bl,Qsj:()=>Ea,FYo:()=>Sa,JOm:()=>Nn,Tiy:()=>Ta,q3G:()=>wn,PiD:()=>Ii,tp0:()=>Oi,EAV:()=>Kc,Rgc:()=>tl,dDg:()=>Ic,DyG:()=>ci,GfV:()=>Ma,s_b:()=>al,ifc:()=>P,eFA:()=>Hc,Ez6:()=>w,G48:()=>Uc,Gpc:()=>p,f3M:()=>Ei,X6Q:()=>Bc,_c5:()=>eh,VLi:()=>Rc,c2e:()=>uc,zSh:()=>ws,wAp:()=>sa,vHH:()=>g,EiD:()=>vn,mCW:()=>en,qzn:()=>Yi,JVY:()=>ji,pB0:()=>Ji,eBb:()=>Qi,L6k:()=>Vi,LAX:()=>Wi,cg1:()=>ia,Tjo:()=>th,kL8:()=>na,yhl:()=>Gi,dqk:()=>q,sIi:()=>Ys,CqO:()=>po,QGY:()=>ho,F4k:()=>uo,RDi:()=>Et,AaK:()=>h,z3N:()=>Hi,qOj:()=>Ps,TTD:()=>vt,_Bn:()=>ga,xp6:()=>xr,uIk:()=>Ws,Tol:()=>Do,Gre:()=>Jo,ekj:()=>Oo,Suo:()=>Xl,Xpm:()=>K,lG2:()=>st,Yz7:()=>_,cJS:()=>x,oAB:()=>it,Yjl:()=>ot,Y36:()=>$s,_UZ:()=>so,GkF:()=>lo,BQk:()=>ao,ynx:()=>oo,qZA:()=>ro,TgZ:()=>no,EpF:()=>co,n5z:()=>ii,Ikx:()=>Xo,LFG:()=>Si,$8M:()=>ri,$Z:()=>to,NdJ:()=>fo,CRH:()=>Kl,kcU:()=>_e,O4$:()=>ve,oxw:()=>vo,ALo:()=>Ll,lcZ:()=>Il,xi3:()=>Ol,Dn7:()=>Dl,Hsn:()=>xo,F$t:()=>wo,Q6J:()=>eo,s9C:()=>Co,MGl:()=>Ao,DdM:()=>xl,VKq:()=>Cl,WLB:()=>Al,kEZ:()=>Sl,iGM:()=>Wl,MAs:()=>Ks,pYS:()=>Dn,Jf7:()=>On,CHM:()=>Gt,oJD:()=>xn,LSH:()=>Cn,kYT:()=>nt,Udp:()=>Io,WFA:()=>mo,d8E:()=>Ko,YNc:()=>Xs,W1O:()=>ic,_uU:()=>Go,Oqu:()=>jo,hij:()=>Vo,AsE:()=>Qo,HOy:()=>Wo,Gf:()=>Jl});var n=i(9666),r=i(6042),s=i(2391),o=i(5446),a=i(7839);function l(t){for(let e in t)if(t[e]===l)return e;throw Error("Could not find renamed property on target object.")}function c(t,e){for(const i in e)e.hasOwnProperty(i)&&!t.hasOwnProperty(i)&&(t[i]=e[i])}function h(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(h).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const e=t.toString();if(null==e)return""+e;const i=e.indexOf("\n");return-1===i?e:e.substring(0,i)}function u(t,e){return null==t||""===t?null===e?"":e:null==e||""===e?t:t+" "+e}const d=l({__forward_ref__:l});function p(t){return t.__forward_ref__=p,t.toString=function(){return h(this())},t}function f(t){return m(t)?t():t}function m(t){return"function"==typeof t&&t.hasOwnProperty(d)&&t.__forward_ref__===p}class g extends Error{constructor(t,e){super(function(t,e){return`${t?`NG0${t}: `:""}${e}`}(t,e)),this.code=t}}function y(t){return"string"==typeof t?t:null==t?"":String(t)}function b(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():y(t)}function v(t,e){const i=e?` in ${e}`:"";throw new g("201",`No provider for ${b(t)} found${i}`)}function _(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}const w=_;function x(t){return{providers:t.providers||[],imports:t.imports||[]}}function C(t){return A(t,E)||A(t,T)}function A(t,e){return t.hasOwnProperty(e)?t[e]:null}function S(t){return t&&(t.hasOwnProperty(k)||t.hasOwnProperty(M))?t[k]:null}const E=l({"\u0275prov":l}),k=l({"\u0275inj":l}),T=l({ngInjectableDef:l}),M=l({ngInjectorDef:l});var L=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});let I;function O(t){const e=I;return I=t,e}function D(t,e,i){const n=C(t);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&L.Optional?null:void 0!==e?e:void v(h(t),"Injector")}function R(t){return{toString:t}.toString()}var N=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),P=function(t){return t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({});const F="undefined"!=typeof globalThis&&globalThis,Z="undefined"!=typeof window&&window,B="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,U="undefined"!=typeof global&&global,q=F||U||Z||B,z={},H=[],Y=l({"\u0275cmp":l}),G=l({"\u0275dir":l}),j=l({"\u0275pipe":l}),V=l({"\u0275mod":l}),Q=l({"\u0275loc":l}),W=l({"\u0275fac":l}),J=l({__NG_ELEMENT_ID__:l});let X=0;function K(t){return R(()=>{const e={},i={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===N.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||H,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||P.Emulated,id:"c",styles:t.styles||H,_:null,setInput:null,schemas:t.schemas||null,tView:null},n=t.directives,r=t.features,s=t.pipes;return i.id+=X++,i.inputs=rt(t.inputs,e),i.outputs=rt(t.outputs),r&&r.forEach(t=>t(i)),i.directiveDefs=n?()=>("function"==typeof n?n():n).map($):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(tt):null,i})}function $(t){return at(t)||function(t){return t[G]||null}(t)}function tt(t){return function(t){return t[j]||null}(t)}const et={};function it(t){return R(()=>{const e={type:t.type,bootstrap:t.bootstrap||H,declarations:t.declarations||H,imports:t.imports||H,exports:t.exports||H,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(et[t.id]=t.type),e})}function nt(t,e){return R(()=>{const i=lt(t,!0);i.declarations=e.declarations||H,i.imports=e.imports||H,i.exports=e.exports||H})}function rt(t,e){if(null==t)return z;const i={};for(const n in t)if(t.hasOwnProperty(n)){let r=t[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,e&&(e[r]=s)}return i}const st=K;function ot(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function at(t){return t[Y]||null}function lt(t,e){const i=t[V]||null;if(!i&&!0===e)throw new Error(`Type ${h(t)} does not have '\u0275mod' property.`);return i}const ct=20,ht=10;function ut(t){return Array.isArray(t)&&"object"==typeof t[1]}function dt(t){return Array.isArray(t)&&!0===t[1]}function pt(t){return 0!=(8&t.flags)}function ft(t){return 2==(2&t.flags)}function mt(t){return 1==(1&t.flags)}function gt(t){return null!==t.template}function yt(t,e){return t.hasOwnProperty(W)?t[W]:null}class bt{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function vt(){return _t}function _t(t){return t.type.prototype.ngOnChanges&&(t.setInput=xt),wt}function wt(){const t=Ct(this),e=null==t?void 0:t.current;if(e){const i=t.previous;if(i===z)t.previous=e;else for(let t in e)i[t]=e[t];t.current=null,this.ngOnChanges(e)}}function xt(t,e,i,n){const r=Ct(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:z,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[i],l=o[a];s[a]=new bt(l&&l.currentValue,e,o===z),t[n]=e}function Ct(t){return t.__ngSimpleChanges__||null}vt.ngInherit=!0;const At="http://www.w3.org/2000/svg";let St;function Et(t){St=t}function kt(){return void 0!==St?St:"undefined"!=typeof document?document:void 0}function Tt(t){return!!t.listen}const Mt={createRenderer:(t,e)=>kt()};function Lt(t){for(;Array.isArray(t);)t=t[0];return t}function It(t,e){return Lt(e[t])}function Ot(t,e){return Lt(e[t.index])}function Dt(t,e){return t.data[e]}function Rt(t,e){return t[e]}function Nt(t,e){const i=e[t];return ut(i)?i:i[0]}function Pt(t){return 4==(4&t[2])}function Ft(t){return 128==(128&t[2])}function Zt(t,e){return null==e?null:t[e]}function Bt(t){t[18]=0}function Ut(t,e){t[5]+=e;let i=t,n=t[3];for(;null!==n&&(1===e&&1===i[5]||-1===e&&0===i[5]);)n[5]+=e,i=n,n=n[3]}const qt={lFrame:de(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function zt(){return qt.bindingsEnabled}function Ht(){return qt.lFrame.lView}function Yt(){return qt.lFrame.tView}function Gt(t){return qt.lFrame.contextLView=t,t[8]}function jt(){let t=Vt();for(;null!==t&&64===t.type;)t=t.parent;return t}function Vt(){return qt.lFrame.currentTNode}function Qt(t,e){const i=qt.lFrame;i.currentTNode=t,i.isParent=e}function Wt(){return qt.lFrame.isParent}function Jt(){qt.lFrame.isParent=!1}function Xt(){return qt.isInCheckNoChangesMode}function Kt(t){qt.isInCheckNoChangesMode=t}function $t(){const t=qt.lFrame;let e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function te(){return qt.lFrame.bindingIndex}function ee(){return qt.lFrame.bindingIndex++}function ie(t){const e=qt.lFrame,i=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,i}function ne(t,e){const i=qt.lFrame;i.bindingIndex=i.bindingRootIndex=t,re(e)}function re(t){qt.lFrame.currentDirectiveIndex=t}function se(t){const e=qt.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}function oe(){return qt.lFrame.currentQueryIndex}function ae(t){qt.lFrame.currentQueryIndex=t}function le(t){const e=t[1];return 2===e.type?e.declTNode:1===e.type?t[6]:null}function ce(t,e,i){if(i&L.SkipSelf){let n=e,r=t;for(;n=n.parent,!(null!==n||i&L.Host||(n=le(r),null===n)||(r=r[15],10&n.type)););if(null===n)return!1;e=n,t=r}const n=qt.lFrame=ue();return n.currentTNode=e,n.lView=t,!0}function he(t){const e=ue(),i=t[1];qt.lFrame=e,e.currentTNode=i.firstChild,e.lView=t,e.tView=i,e.contextLView=t,e.bindingIndex=i.bindingStartIndex,e.inI18n=!1}function ue(){const t=qt.lFrame,e=null===t?null:t.child;return null===e?de(t):e}function de(t){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=e),e}function pe(){const t=qt.lFrame;return qt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const fe=pe;function me(){const t=pe();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function ge(){return qt.lFrame.selectedIndex}function ye(t){qt.lFrame.selectedIndex=t}function be(){const t=qt.lFrame;return Dt(t.tView,t.selectedIndex)}function ve(){qt.lFrame.currentNamespace=At}function _e(){qt.lFrame.currentNamespace=null}function we(t,e){for(let i=e.directiveStart,n=e.directiveEnd;i=n)break}else e[a]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e){t[2]+=2048;try{s.call(o)}finally{}}}else try{s.call(o)}finally{}}const ke=-1;class Te{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function Me(t,e,i){const n=Tt(t);let r=0;for(;re){o=s-1;break}}}for(;s>16,n=e;for(;i>0;)n=n[15],i--;return n}let Fe=!0;function Ze(t){const e=Fe;return Fe=t,e}let Be=0;function Ue(t,e){const i=ze(t,e);if(-1!==i)return i;const n=e[1];n.firstCreatePass&&(t.injectorIndex=e.length,qe(n.data,t),qe(e,null),qe(n.blueprint,null));const r=He(t,e),s=t.injectorIndex;if(Re(r)){const t=Ne(r),i=Pe(r,e),n=i[1].data;for(let r=0;r<8;r++)e[s+r]=i[t+r]|n[t+r]}return e[s+8]=r,s}function qe(t,e){t.push(0,0,0,0,0,0,0,0,e)}function ze(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===e[t.injectorIndex+8]?-1:t.injectorIndex}function He(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let i=0,n=null,r=e;for(;null!==r;){const t=r[1],e=t.type;if(n=2===e?t.declTNode:1===e?r[6]:null,null===n)return ke;if(i++,r=r[15],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return ke}function Ye(t,e,i){!function(t,e,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(J)&&(n=i[J]),null==n&&(n=i[J]=Be++);const r=255&n;e.data[t+(r>>5)]|=1<=0?255&e:We:e}(i);if("function"==typeof s){if(!ce(e,t,n))return n&L.Host?Ge(r,i,n):je(e,i,n,r);try{const t=s(n);if(null!=t||n&L.Optional)return t;v(i)}finally{fe()}}else if("number"==typeof s){let r=null,o=ze(t,e),a=ke,l=n&L.Host?e[16][6]:null;for((-1===o||n&L.SkipSelf)&&(a=-1===o?He(t,e):e[o+8],a!==ke&&ti(n,!1)?(r=e[1],o=Ne(a),e=Pe(a,e)):o=-1);-1!==o;){const t=e[1];if($e(s,o,t.data)){const t=Je(o,e,i,r,n,l);if(t!==Qe)return t}a=e[o+8],a!==ke&&ti(n,e[1].data[o+8]===l)&&$e(s,o,e)?(r=t,o=Ne(a),e=Pe(a,e)):o=-1}}}return je(e,i,n,r)}const Qe={};function We(){return new ei(jt(),Ht())}function Je(t,e,i,n,r,s){const o=e[1],a=o.data[t+8],l=Xe(a,o,i,null==n?ft(a)&&Fe:n!=o&&0!=(3&a.type),r&L.Host&&s===a);return null!==l?Ke(e,o,l,a):Qe}function Xe(t,e,i,n,r){const s=t.providerIndexes,o=e.data,a=1048575&s,l=t.directiveStart,c=s>>20,h=r?a+c:t.directiveEnd;for(let u=n?a:a+c;u=l&&t.type===i)return u}if(r){const t=o[l];if(t&>(t)&&t.type===i)return l}return null}function Ke(t,e,i,n){let r=t[i];const s=e.data;if(r instanceof Te){const o=r;o.resolving&&function(t,e){throw new g("200",`Circular dependency in DI detected for ${t}`)}(b(s[i]));const a=Ze(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?O(o.injectImpl):null;ce(t,n,L.Default);try{r=t[i]=o.factory(void 0,s,t,n),e.firstCreatePass&&i>=n.directiveStart&&function(t,e,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(n){const n=_t(e);(i.preOrderHooks||(i.preOrderHooks=[])).push(t,n),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,n)}r&&(i.preOrderHooks||(i.preOrderHooks=[])).push(0-t,r),s&&((i.preOrderHooks||(i.preOrderHooks=[])).push(t,s),(i.preOrderCheckHooks||(i.preOrderCheckHooks=[])).push(t,s))}(i,s[i],e)}finally{null!==l&&O(l),Ze(a),o.resolving=!1,fe()}}return r}function $e(t,e,i){return!!(i[e+(t>>5)]&1<{const e=t.prototype.constructor,i=e[W]||ni(e),n=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==n;){const t=r[W]||ni(r);if(t&&t!==i)return t;r=Object.getPrototypeOf(r)}return t=>new t})}function ni(t){return m(t)?()=>{const e=ni(f(t));return e&&e()}:yt(t)}function ri(t){return function(t,e){if("class"===e)return t.classes;if("style"===e)return t.styles;const i=t.attrs;if(i){const t=i.length;let n=0;for(;n{const n=function(t){return function(...e){if(t){const i=t(...e);for(const t in i)this[t]=i[t]}}}(e);function r(...t){if(this instanceof r)return n.apply(this,t),this;const e=new r(...t);return i.annotation=e,i;function i(t,i,n){const r=t.hasOwnProperty(si)?t[si]:Object.defineProperty(t,si,{value:[]})[si];for(;r.length<=n;)r.push(null);return(r[n]=r[n]||[]).push(e),t}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}class ai{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=_({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}toString(){return`InjectionToken ${this._desc}`}}const li=new ai("AnalyzeForEntryComponents"),ci=Function;function hi(t,e){void 0===e&&(e=t);for(let i=0;iArray.isArray(t)?ui(t,e):e(t))}function di(t,e,i){e>=t.length?t.push(i):t.splice(e,0,i)}function pi(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function fi(t,e){const i=[];for(let n=0;n=0?t[1|n]=i:(n=~n,function(t,e,i,n){let r=t.length;if(r==e)t.push(i,n);else if(1===r)t.push(n,t[0]),t[0]=i;else{for(r--,t.push(t[r-1],t[r]);r>e;)t[r]=t[r-2],r--;t[e]=i,t[e+1]=n}}(t,n,e,i)),n}function gi(t,e){const i=yi(t,e);if(i>=0)return t[1|i]}function yi(t,e){return function(t,e,i){let n=0,r=t.length>>1;for(;r!==n;){const i=n+(r-n>>1),s=t[i<<1];if(e===s)return i<<1;s>e?r=i:n=i+1}return~(r<<1)}(t,e)}const bi={},vi=/\n/gm,_i="__source",wi=l({provide:String,useValue:l});let xi;function Ci(t){const e=xi;return xi=t,e}function Ai(t,e=L.Default){if(void 0===xi)throw new Error("inject() must be called from an injection context");return null===xi?D(t,void 0,e):xi.get(t,e&L.Optional?null:void 0,e)}function Si(t,e=L.Default){return(I||Ai)(f(t),e)}const Ei=Si;function ki(t){const e=[];for(let i=0;i({token:t})),-1),Li=Ti(oi("Optional"),8),Ii=Ti(oi("Self"),2),Oi=Ti(oi("SkipSelf"),4);let Di,Ri;function Ni(t){var e;return(null===(e=function(){if(void 0===Di&&(Di=null,q.trustedTypes))try{Di=q.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(e){}return Di}())||void 0===e?void 0:e.createHTML(t))||t}function Pi(t){var e;return(null===(e=function(){if(void 0===Ri&&(Ri=null,q.trustedTypes))try{Ri=q.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch(e){}return Ri}())||void 0===e?void 0:e.createHTML(t))||t}class Fi{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class Zi extends Fi{getTypeName(){return"HTML"}}class Bi extends Fi{getTypeName(){return"Style"}}class Ui extends Fi{getTypeName(){return"Script"}}class qi extends Fi{getTypeName(){return"URL"}}class zi extends Fi{getTypeName(){return"ResourceURL"}}function Hi(t){return t instanceof Fi?t.changingThisBreaksApplicationSecurity:t}function Yi(t,e){const i=Gi(t);if(null!=i&&i!==e){if("ResourceURL"===i&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${i} (see https://g.co/ng/security#xss)`)}return i===e}function Gi(t){return t instanceof Fi&&t.getTypeName()||null}function ji(t){return new Zi(t)}function Vi(t){return new Bi(t)}function Qi(t){return new Ui(t)}function Wi(t){return new qi(t)}function Ji(t){return new zi(t)}class Xi{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Ni(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch(e){return null}}}class Ki{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const e=this.inertDocument.createElement("body");t.appendChild(e)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Ni(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Ni(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let n=e.length-1;0en(t.trim())).join(", ")),this.buf.push(" ",e,'="',yn(o),'"')}var n;return this.buf.push(">"),!0}endElement(t){const e=t.nodeName.toLowerCase();cn.hasOwnProperty(e)&&!sn.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(yn(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const mn=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,gn=/([^\#-~ |!])/g;function yn(t){return t.replace(/&/g,"&").replace(mn,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(gn,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let bn;function vn(t,e){let i=null;try{bn=bn||function(t){const e=new Ki(t);return function(){try{return!!(new window.DOMParser).parseFromString(Ni(""),"text/html")}catch(t){return!1}}()?new Xi(e):e}(t);let n=e?String(e):"";i=bn.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=bn.getInertBodyElement(n)}while(n!==s);return Ni((new fn).sanitizeChildren(_n(i)||i))}finally{if(i){const t=_n(i)||i;for(;t.firstChild;)t.removeChild(t.firstChild)}}}function _n(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var wn=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}({});function xn(t){const e=An();return e?Pi(e.sanitize(wn.HTML,t)||""):Yi(t,"HTML")?Pi(Hi(t)):vn(kt(),y(t))}function Cn(t){const e=An();return e?e.sanitize(wn.URL,t)||"":Yi(t,"URL")?Hi(t):en(y(t))}function An(){const t=Ht();return t&&t[12]}function Sn(t,e){t.__ngContext__=e}function En(t){const e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function kn(t){return t.ngDebugContext}function Tn(t){return t.ngOriginalError}function Mn(t,...e){t.error(...e)}class Ln{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t),i=this._findContext(t),n=function(t){return t.ngErrorLogger||Mn}(t);n(this._console,"ERROR",t),e&&n(this._console,"ORIGINAL ERROR",e),i&&n(this._console,"ERROR CONTEXT",i)}_findContext(t){return t?kn(t)?kn(t):this._findContext(Tn(t)):null}_findOriginalError(t){let e=Tn(t);for(;e&&Tn(e);)e=Tn(e);return e}}const In=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(q))();function On(t){return t.ownerDocument.defaultView}function Dn(t){return t.ownerDocument.body}function Rn(t){return t instanceof Function?t():t}var Nn=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}({});function Pn(t,e){return(void 0)(t,e)}function Fn(t){const e=t[3];return dt(e)?e[3]:e}function Zn(t){return Un(t[13])}function Bn(t){return Un(t[4])}function Un(t){for(;null!==t&&!dt(t);)t=t[4];return t}function qn(t,e,i,n,r){if(null!=n){let s,o=!1;dt(n)?s=n:ut(n)&&(o=!0,n=n[0]);const a=Lt(n);0===t&&null!==i?null==r?Wn(e,i,a):Qn(e,i,a,r||null,!0):1===t&&null!==i?Qn(e,i,a,r||null,!0):2===t?function(t,e,i){const n=Xn(t,e);n&&function(t,e,i,n){Tt(t)?t.removeChild(e,i,n):e.removeChild(i)}(t,n,e,i)}(e,a,o):3===t&&e.destroyNode(a),null!=s&&function(t,e,i,n,r){const s=i[7];s!==Lt(i)&&qn(e,t,n,s,r);for(let o=ht;o0&&(t[i-1][4]=n[4]);const o=pi(t,ht+e);sr(n[1],r=n,r[11],2,null,null),r[0]=null,r[6]=null;const a=o[19];null!==a&&a.detachView(o[1]),n[3]=null,n[4]=null,n[2]&=-129}var r;return n}function Gn(t,e){if(!(256&e[2])){const i=e[11];Tt(i)&&i.destroyNode&&sr(t,e,i,3,null,null),function(t){let e=t[13];if(!e)return jn(t[1],t);for(;e;){let i=null;if(ut(e))i=e[13];else{const t=e[10];t&&(i=t)}if(!i){for(;e&&!e[4]&&e!==t;)ut(e)&&jn(e[1],e),e=e[3];null===e&&(e=t),ut(e)&&jn(e[1],e),i=e&&e[4]}e=i}}(e)}}function jn(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){let i;if(null!=t&&null!=(i=t.destroyHooks))for(let n=0;n=0?n[r=l]():n[r=-l].unsubscribe(),s+=2}else{const t=n[r=i[s+1]];i[s].call(t)}if(null!==n){for(let t=r+1;ts?"":r[h+1].toLowerCase();const e=8&n?t:null;if(e&&-1!==cr(e,c,0)||2&n&&c!==t){if(mr(n))return!1;o=!0}}}}else{if(!o&&!mr(n)&&!mr(l))return!1;if(o&&mr(l))continue;o=!1,n=l|1&n}}return mr(n)||o}function mr(t){return 0==(1&t)}function gr(t,e,i,n){if(null===e)return-1;let r=0;if(n||!i){let i=!1;for(;r-1)for(i++;i0?'="'+e+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""===r||mr(o)||(e+=vr(s,r),r=""),n=o,s=s||!mr(n);i++}return""!==r&&(e+=vr(s,r)),e}const wr={};function xr(t){Cr(Yt(),Ht(),ge()+t,Xt())}function Cr(t,e,i,n){if(!n)if(3==(3&e[2])){const n=t.preOrderCheckHooks;null!==n&&xe(e,n,i)}else{const n=t.preOrderHooks;null!==n&&Ce(e,n,0,i)}ye(i)}function Ar(t,e){return t<<17|e<<2}function Sr(t){return t>>17&32767}function Er(t){return 2|t}function kr(t){return(131068&t)>>2}function Tr(t,e){return-131069&t|e<<2}function Mr(t){return 1|t}function Lr(t,e){const i=t.contentQueries;if(null!==i)for(let n=0;nct&&Cr(t,e,ct,Xt()),i(n,r)}finally{ye(s)}}function Zr(t,e,i){if(pt(e)){const n=e.directiveEnd;for(let r=e.directiveStart;r0;){const i=t[--e];if("number"==typeof i&&i<0)return i}return 0})(i)!=s&&i.push(s),i.push(n,r,o)}}function Qr(t,e){null!==t.hostBindings&&t.hostBindings(1,e)}function Wr(t,e){e.flags|=2,(t.components||(t.components=[])).push(e.index)}function Jr(t,e,i){if(i){if(e.exportAs)for(let n=0;n0&&rs(i)}}function rs(t){for(let i=Zn(t);null!==i;i=Bn(i))for(let t=ht;t0&&rs(e)}const e=t[1].components;if(null!==e)for(let i=0;i0&&rs(n)}}function ss(t,e){const i=Nt(e,t),n=i[1];!function(t,e){for(let i=e.length;iPromise.resolve(null))();function ds(t){return t[7]||(t[7]=[])}function ps(t){return t.cleanup||(t.cleanup=[])}function fs(t,e,i){return(null===t||gt(t))&&(i=function(t){for(;Array.isArray(t);){if("object"==typeof t[1])return t;t=t[0]}return null}(i[e.index])),i[11]}function ms(t,e){const i=t[9],n=i?i.get(Ln,null):null;n&&n.handleError(e)}function gs(t,e,i,n,r){for(let s=0;sthis.processProvider(i,t,e)),ui([t],t=>this.processInjectorType(t,[],r)),this.records.set(vs,Ls(void 0,this));const s=this.records.get(ws);this.scope=null!=s?s.value:null,this.source=n||("object"==typeof t?null:h(t))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(t=>t.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(t,e=bi,i=L.Default){this.assertNotDestroyed();const n=Ci(this);try{if(!(i&L.SkipSelf)){let e=this.records.get(t);if(void 0===e){const i=("function"==typeof(r=t)||"object"==typeof r&&r instanceof ai)&&C(t);e=i&&this.injectableDefInScope(i)?Ls(Ts(t),xs):null,this.records.set(t,e)}if(null!=e)return this.hydrate(t,e)}return(i&L.Self?Ss():this.parent).get(t,e=i&L.Optional&&e===bi?null:e)}catch(s){if("NullInjectorError"===s.name){if((s.ngTempTokenPath=s.ngTempTokenPath||[]).unshift(h(t)),n)throw s;return function(t,e,i,n){const r=t.ngTempTokenPath;throw e[_i]&&r.unshift(e[_i]),t.message=function(t,e,i,n=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;let r=h(e);if(Array.isArray(e))r=e.map(h).join(" -> ");else if("object"==typeof e){let t=[];for(let i in e)if(e.hasOwnProperty(i)){let n=e[i];t.push(i+":"+("string"==typeof n?JSON.stringify(n):h(n)))}r=`{${t.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${t.replace(vi,"\n ")}`}("\n"+t.message,r,i,n),t.ngTokenPath=r,t.ngTempTokenPath=null,t}(s,t,"R3InjectorError",this.source)}throw s}finally{Ci(n)}var r}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(t=>this.get(t))}toString(){const t=[];return this.records.forEach((e,i)=>t.push(h(i))),`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(t,e,i){if(!(t=f(t)))return!1;let n=S(t);const r=null==n&&t.ngModule||void 0,s=void 0===r?t:r,o=-1!==i.indexOf(s);if(void 0!==r&&(n=S(r)),null==n)return!1;if(null!=n.imports&&!o){let t;i.push(s);try{ui(n.imports,n=>{this.processInjectorType(n,e,i)&&(void 0===t&&(t=[]),t.push(n))})}finally{}if(void 0!==t)for(let e=0;ethis.processProvider(t,i,n||H))}}this.injectorDefTypes.add(s);const a=yt(s)||(()=>new s);this.records.set(s,Ls(a,xs));const l=n.providers;if(null!=l&&!o){const e=t;ui(l,t=>this.processProvider(t,e,l))}return void 0!==r&&void 0!==t.providers}processProvider(t,e,i){let n=Os(t=f(t))?t:f(t&&t.provide);const r=function(t,e,i){return Is(t)?Ls(void 0,t.useValue):Ls(Ms(t),xs)}(t);if(Os(t)||!0!==t.multi)this.records.get(n);else{let e=this.records.get(n);e||(e=Ls(void 0,xs,!0),e.factory=()=>ki(e.multi),this.records.set(n,e)),n=t,e.multi.push(t)}this.records.set(n,r)}hydrate(t,e){var i;return e.value===xs&&(e.value=Cs,e.value=e.factory()),"object"==typeof e.value&&e.value&&null!==(i=e.value)&&"object"==typeof i&&"function"==typeof i.ngOnDestroy&&this.onDestroy.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=f(t.providedIn);return"string"==typeof e?"any"===e||e===this.scope:this.injectorDefTypes.has(e)}}function Ts(t){const e=C(t),i=null!==e?e.factory:yt(t);if(null!==i)return i;if(t instanceof ai)throw new Error(`Token ${h(t)} is missing a \u0275prov definition.`);if(t instanceof Function)return function(t){const e=t.length;if(e>0){const i=fi(e,"?");throw new Error(`Can't resolve all parameters for ${h(t)}: (${i.join(", ")}).`)}const i=function(t){const e=t&&(t[E]||t[T]);if(e){const i=function(t){if(t.hasOwnProperty("name"))return t.name;const e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn(`DEPRECATED: DI is instantiating a token "${i}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${i}" class.`),e}return null}(t);return null!==i?()=>i.factory(t):()=>new t}(t);throw new Error("unreachable")}function Ms(t,e,i){let n;if(Os(t)){const e=f(t);return yt(e)||Ts(e)}if(Is(t))n=()=>f(t.useValue);else if((r=t)&&r.useFactory)n=()=>t.useFactory(...ki(t.deps||[]));else if(function(t){return!(!t||!t.useExisting)}(t))n=()=>Si(f(t.useExisting));else{const e=f(t&&(t.useClass||t.provide));if(!function(t){return!!t.deps}(t))return yt(e)||Ts(e);n=()=>new e(...ki(t.deps))}var r;return n}function Ls(t,e,i=!1){return{factory:t,value:e,multi:i?[]:void 0}}function Is(t){return null!==t&&"object"==typeof t&&wi in t}function Os(t){return"function"==typeof t}const Ds=function(t,e,i){return function(t,e=null,i=null,n){const r=Es(t,e,i,n);return r._resolveInjectorDefTypes(),r}({name:i},e,t,i)};let Rs=(()=>{class t{static create(t,e){return Array.isArray(t)?Ds(t,e,""):Ds(t.providers,t.parent,t.name||"")}}return t.THROW_IF_NOT_FOUND=bi,t.NULL=new _s,t.\u0275prov=_({token:t,providedIn:"any",factory:()=>Si(vs)}),t.__NG_ELEMENT_ID__=-1,t})();function Ns(t,e){we(En(t)[1],jt())}function Ps(t){let e=Object.getPrototypeOf(t.type.prototype).constructor,i=!0;const n=[t];for(;e;){let r;if(gt(t))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(i){n.push(r);const e=t;e.inputs=Fs(t.inputs),e.declaredInputs=Fs(t.declaredInputs),e.outputs=Fs(t.outputs);const i=r.hostBindings;i&&Us(t,i);const s=r.viewQuery,o=r.contentQueries;if(s&&Zs(t,s),o&&Bs(t,o),c(t.inputs,r.inputs),c(t.declaredInputs,r.declaredInputs),c(t.outputs,r.outputs),gt(r)&&r.data.animation){const e=t.data;e.animation=(e.animation||[]).concat(r.data.animation)}}const e=r.features;if(e)for(let n=0;n=0;n--){const r=t[n];r.hostVars=e+=r.hostVars,r.hostAttrs=Oe(r.hostAttrs,i=Oe(i,r.hostAttrs))}}(n)}function Fs(t){return t===z?{}:t===H?[]:t}function Zs(t,e){const i=t.viewQuery;t.viewQuery=i?(t,n)=>{e(t,n),i(t,n)}:e}function Bs(t,e){const i=t.contentQueries;t.contentQueries=i?(t,n,r)=>{e(t,n,r),i(t,n,r)}:e}function Us(t,e){const i=t.hostBindings;t.hostBindings=i?(t,n)=>{e(t,n),i(t,n)}:e}let qs=null;function zs(){if(!qs){const t=q.Symbol;if(t&&t.iterator)qs=t.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(Lt(t[n.index])):n.index;if(Tt(i)){let o=null;if(!a&&l&&(o=function(t,e,i,n){const r=t.cleanup;if(null!=r)for(let s=0;si?t[i]:null}"string"==typeof t&&(s+=2)}return null}(t,e,r,n.index)),null!==o)(o.__ngLastListenerFn__||o).__ngNextListenerFn__=s,o.__ngLastListenerFn__=s,u=!1;else{s=bo(n,e,0,s,!1);const t=i.listen(p,r,s);h.push(s,t),c&&c.push(r,m,f,f+1)}}else s=bo(n,e,0,s,!0),p.addEventListener(r,s,o),h.push(s),c&&c.push(r,m,f,o)}else s=bo(n,e,0,s,!1);const d=n.outputs;let p;if(u&&null!==d&&(p=d[r])){const t=p.length;if(t)for(let i=0;i0;)e=e[15],t--;return e}(t,qt.lFrame.contextLView))[8]}(t)}function _o(t,e){let i=null;const n=function(t){const e=t.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(t);for(let r=0;r=0}const ko={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function To(t){return t.substring(ko.key,ko.keyEnd)}function Mo(t,e){const i=ko.textEnd;return i===e?-1:(e=ko.keyEnd=function(t,e,i){for(;e32;)e++;return e}(t,ko.key=e,i),Lo(t,e,i))}function Lo(t,e,i){for(;e=0;i=Mo(e,i))mi(t,To(e),!0)}function No(t,e,i,n){const r=Ht(),s=Yt(),o=ie(2);s.firstUpdatePass&&Zo(s,t,o,n),e!==wr&&Vs(r,o,e)&&qo(s,s.data[ge()],r,r[11],t,r[o+1]=function(t,e){return null==t||("string"==typeof e?t+=e:"object"==typeof t&&(t=h(Hi(t)))),t}(e,i),n,o)}function Po(t,e,i,n){const r=Yt(),s=ie(2);r.firstUpdatePass&&Zo(r,null,s,n);const o=Ht();if(i!==wr&&Vs(o,s,i)){const a=r.data[ge()];if(Yo(a,n)&&!Fo(r,s)){let t=n?a.classesWithoutHost:a.stylesWithoutHost;null!==t&&(i=u(t,i||"")),io(r,a,o,i,n)}else!function(t,e,i,n,r,s,o,a){r===wr&&(r=H);let l=0,c=0,h=0=t.expandoStartIndex}function Zo(t,e,i,n){const r=t.data;if(null===r[i+1]){const s=r[ge()],o=Fo(t,i);Yo(s,n)&&null===e&&!o&&(e=!1),e=function(t,e,i,n){const r=se(t);let s=n?e.residualClasses:e.residualStyles;if(null===r)0===(n?e.classBindings:e.styleBindings)&&(i=Uo(i=Bo(null,t,e,i,n),e.attrs,n),s=null);else{const o=e.directiveStylingLast;if(-1===o||t[o]!==r)if(i=Bo(r,t,e,i,n),null===s){let i=function(t,e,i){const n=i?e.classBindings:e.styleBindings;if(0!==kr(n))return t[Sr(n)]}(t,e,n);void 0!==i&&Array.isArray(i)&&(i=Bo(null,t,e,i[1],n),i=Uo(i,e.attrs,n),function(t,e,i,n){t[Sr(i?e.classBindings:e.styleBindings)]=n}(t,e,n,i))}else s=function(t,e,i){let n;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s0)&&(h=!0)}else c=i;if(r)if(0!==l){const e=Sr(t[a+1]);t[n+1]=Ar(e,a),0!==e&&(t[e+1]=Tr(t[e+1],n)),t[a+1]=131071&t[a+1]|n<<17}else t[n+1]=Ar(a,0),0!==a&&(t[a+1]=Tr(t[a+1],n)),a=n;else t[n+1]=Ar(l,0),0===a?a=n:t[l+1]=Tr(t[l+1],n),l=n;h&&(t[n+1]=Er(t[n+1])),So(t,c,n,!0),So(t,c,n,!1),function(t,e,i,n,r){const s=r?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof e&&yi(s,e)>=0&&(i[n+1]=Mr(i[n+1]))}(e,c,t,n,s),o=Ar(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,i,o,n)}}function Bo(t,e,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const e=t[r],s=Array.isArray(e),l=s?e[1]:e,c=null===l;let h=i[r+1];h===wr&&(h=c?H:void 0);let u=c?gi(h,n):l===n?h:void 0;if(s&&!Ho(u)&&(u=gi(e,n)),Ho(u)&&(a=u,o))return a;const d=t[r+1];r=o?Sr(d):kr(d)}if(null!==e){let t=s?e.residualClasses:e.residualStyles;null!=t&&(a=gi(t,n))}return a}function Ho(t){return void 0!==t}function Yo(t,e){return 0!=(t.flags&(e?16:32))}function Go(t,e=""){const i=Ht(),n=Yt(),r=t+ct,s=n.firstCreatePass?Or(n,r,1,e,null):n.data[r],o=i[r]=function(t,e){return Tt(t)?t.createText(e):t.createTextNode(e)}(i[11],e);tr(n,i,o,s),Qt(s,!1)}function jo(t){return Vo("",t,""),jo}function Vo(t,e,i){const n=Ht(),r=Js(n,t,e,i);return r!==wr&&ys(n,ge(),r),Vo}function Qo(t,e,i,n,r){const s=Ht(),o=function(t,e,i,n,r,s){const o=Qs(t,te(),i,r);return ie(2),o?e+y(i)+n+y(r)+s:wr}(s,t,e,i,n,r);return o!==wr&&ys(s,ge(),o),Qo}function Wo(t,e,i,n,r,s,o,a,l){const c=Ht(),h=function(t,e,i,n,r,s,o,a,l,c){const h=function(t,e,i,n,r,s){const o=Qs(t,e,i,n);return Qs(t,e+2,r,s)||o}(t,te(),i,r,o,l);return ie(4),h?e+y(i)+n+y(r)+s+y(o)+a+y(l)+c:wr}(c,t,e,i,n,r,s,o,a,l);return h!==wr&&ys(c,ge(),h),Wo}function Jo(t,e,i){Po(mi,Ro,Js(Ht(),t,e,i),!0)}function Xo(t,e,i){const n=Ht();return Vs(n,ee(),e)&&Gr(Yt(),be(),n,t,e,n[11],i,!0),Xo}function Ko(t,e,i){const n=Ht();if(Vs(n,ee(),e)){const r=Yt(),s=be();Gr(r,s,n,t,e,fs(se(r.data),s,n),i,!0)}return Ko}const $o=void 0;var ta=["en",[["a","p"],["AM","PM"],$o],[["AM","PM"],$o,$o],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],$o,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],$o,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",$o,"{1} 'at' {0}",$o],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(t){let e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let ea={};function ia(t){const e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t);let i=ra(e);if(i)return i;const n=e.split("-")[0];if(i=ra(n),i)return i;if("en"===n)return ta;throw new Error(`Missing locale data for the locale "${t}".`)}function na(t){return ia(t)[sa.PluralCase]}function ra(t){return t in ea||(ea[t]=q.ng&&q.ng.common&&q.ng.common.locales&&q.ng.common.locales[t]),ea[t]}var sa=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}({});const oa="en-US";let aa=oa;function la(t){var e,i;i="Expected localeId to be defined",null==(e=t)&&function(t,e,i,n){throw new Error(`ASSERTION ERROR: ${t} [Expected=> null != ${e} <=Actual]`)}(i,e),"string"==typeof t&&(aa=t.toLowerCase().replace(/_/g,"-"))}function ca(t,e,i,n,r){if(t=f(t),Array.isArray(t))for(let s=0;s>20;if(Os(t)||!t.multi){const n=new Te(l,r,$s),p=da(a,e,r?h:h+d,u);-1===p?(Ye(Ue(c,o),s,a),ha(s,t,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),i.push(n),o.push(n)):(i[p]=n,o[p]=n)}else{const p=da(a,e,h+d,u),f=da(a,e,h,h+d),m=p>=0&&i[p],g=f>=0&&i[f];if(r&&!g||!r&&!m){Ye(Ue(c,o),s,a);const h=function(t,e,i,n,r){const s=new Te(t,i,$s);return s.multi=[],s.index=e,s.componentProviders=0,ua(s,r,n&&!i),s}(r?fa:pa,i.length,r,n,l);!r&&g&&(i[f].providerFactory=h),ha(s,t,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),i.push(h),o.push(h)}else ha(s,t,p>-1?p:f,ua(i[r?f:p],l,!r&&n));!r&&n&&g&&i[f].componentProviders++}}}function ha(t,e,i,n){const r=Os(e);if(r||e.useClass){const s=(e.useClass||e).prototype.ngOnDestroy;if(s){const o=t.destroyHooks||(t.destroyHooks=[]);if(!r&&e.multi){const t=o.indexOf(i);-1===t?o.push(i,[n,s]):o[t+1].push(n,s)}else o.push(i,s)}}}function ua(t,e,i){return i&&t.componentProviders++,t.multi.push(e)-1}function da(t,e,i,n){for(let r=i;r{i.providersResolver=(i,n)=>function(t,e,i){const n=Yt();if(n.firstCreatePass){const r=gt(t);ca(i,n.data,n.blueprint,r,!0),ca(e,n.data,n.blueprint,r,!1)}}(i,n?n(t):t,e)}}class ya{}class ba{resolveComponentFactory(t){throw function(t){const e=Error(`No component factory found for ${h(t)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=t,e}(t)}}let va=(()=>{class t{}return t.NULL=new ba,t})();function _a(...t){}function wa(t,e){return new Ca(Ot(t,e))}const xa=function(){return wa(jt(),Ht())};let Ca=(()=>{class t{constructor(t){this.nativeElement=t}}return t.__NG_ELEMENT_ID__=xa,t})();function Aa(t){return t instanceof Ca?t.nativeElement:t}class Sa{}let Ea=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>ka(),t})();const ka=function(){const t=Ht(),e=Nt(jt().index,t);return function(t){return t[11]}(ut(e)?e:t)};let Ta=(()=>{class t{}return t.\u0275prov=_({token:t,providedIn:"root",factory:()=>null}),t})();class Ma{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const La=new Ma("12.0.5");class Ia{constructor(){}supports(t){return Ys(t)}create(t){return new Da(t)}}const Oa=(t,e)=>e;class Da{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||Oa}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,n=0,r=null;for(;e||i;){const s=!i||e&&e.currentIndex{n=this._trackByFn(e,t),null!==r&&Object.is(r.trackById,n)?(s&&(r=this._verifyReinsertion(r,t,n,e)),Object.is(r.item,t)||this._addIdentityChange(r,t)):(r=this._mismatch(r,t,n,e),s=!0),r=r._next,e++}),this.length=e;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,n){let r;return null===t?r=this._itTail:(r=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,r,n)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,n))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,r,n)):t=this._addAfter(new Ra(e,i),r,n),t}_verifyReinsertion(t,e,i,n){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?t=this._reinsertAfter(r,t._prev,n):t.currentIndex!=n&&(t.currentIndex=n,this._addToMoves(t,n)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const n=t._prevRemoved,r=t._nextRemoved;return null===n?this._removalsHead=r:n._nextRemoved=r,null===r?this._removalsTail=n:r._prevRemoved=n,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const n=null===e?this._itHead:e._next;return t._next=n,t._prev=e,null===n?this._itTail=t:n._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new Pa),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Pa),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Ra{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Na{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class Pa{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new Na,this.map.set(e,i)),i.add(t)}get(t,e){const i=this.map.get(t);return i?i.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Fa(t,e,i){const n=t.previousIndex;if(null===n)return n;let r=0;return i&&n{if(e&&e.key===i)this._maybeAddToChanges(e,t),this._appendAfter=e,e=e._next;else{const n=this._getOrCreateRecordForKey(i,t);e=this._insertBeforeOrAppend(e,n)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let t=e;null!==t;t=t._nextRemoved)t===this._mapHead&&(this._mapHead=null),this._records.delete(t.key),t._nextRemoved=t._next,t.previousValue=t.currentValue,t.currentValue=null,t._prev=null,t._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const i=this._records.get(t);this._maybeAddToChanges(i,e);const n=i._prev,r=i._next;return n&&(n._next=r),r&&(r._prev=n),i._next=null,i._prev=null,i}const i=new Ua(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class Ua{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function qa(){return new za([new Ia])}let za=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(null!=i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||qa()),deps:[[t,new Oi,new Li]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(null!=e)return e;throw new Error(`Cannot find a differ supporting object '${t}' of type '${i=t,i.name||typeof i}'`);var i}}return t.\u0275prov=_({token:t,providedIn:"root",factory:qa}),t})();function Ha(){return new Ya([new Za])}let Ya=(()=>{class t{constructor(t){this.factories=t}static create(e,i){if(i){const t=i.factories.slice();e=e.concat(t)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||Ha()),deps:[[t,new Oi,new Li]]}}find(t){const e=this.factories.find(e=>e.supports(t));if(e)return e;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return t.\u0275prov=_({token:t,providedIn:"root",factory:Ha}),t})();function Ga(t,e,i,n,r=!1){for(;null!==i;){const s=e[i.index];if(null!==s&&n.push(Lt(s)),dt(s))for(let t=ht;t-1&&(Yn(t,i),pi(e,i))}this._attachedToViewContainer=!1}Gn(this._lView[1],this._lView)}onDestroy(t){Hr(this._lView[1],this._lView,null,t)}markForCheck(){as(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){ls(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(t,e,i){Kt(!0);try{ls(t,e,i)}finally{Kt(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var t;this._appRef=null,sr(this._lView[1],t=this._lView,t[11],2,null,null)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}class Va extends ja{constructor(t){super(t),this._view=t}detectChanges(){cs(this._view)}checkNoChanges(){!function(t){Kt(!0);try{cs(t)}finally{Kt(!1)}}(this._view)}get context(){return null}}const Qa=function(t){return function(t,e,i){if(ft(t)&&!i){const i=Nt(t.index,e);return new ja(i,i)}return 47&t.type?new ja(e[16],e):null}(jt(),Ht(),16==(16&t))};let Wa=(()=>{class t{}return t.__NG_ELEMENT_ID__=Qa,t})();const Ja=[new Za],Xa=new za([new Ia]),Ka=new Ya(Ja),$a=function(){return nl(jt(),Ht())};let tl=(()=>{class t{}return t.__NG_ELEMENT_ID__=$a,t})();const el=tl,il=class extends el{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t){const e=this._declarationTContainer.tViews,i=Ir(this._declarationLView,e,t,16,null,e.declTNode,null,null,null,null);i[17]=this._declarationLView[this._declarationTContainer.index];const n=this._declarationLView[19];return null!==n&&(i[19]=n.createEmbeddedView(e)),Rr(e,i,t),new ja(i)}};function nl(t,e){return 4&t.type?new il(e,t,wa(t,e)):null}class rl{}class sl{}const ol=function(){return dl(jt(),Ht())};let al=(()=>{class t{}return t.__NG_ELEMENT_ID__=ol,t})();const ll=al,cl=class extends ll{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return wa(this._hostTNode,this._hostLView)}get injector(){return new ei(this._hostTNode,this._hostLView)}get parentInjector(){const t=He(this._hostTNode,this._hostLView);if(Re(t)){const e=Pe(t,this._hostLView),i=Ne(t);return new ei(e[1].data[i+8],e)}return new ei(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=hl(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-ht}createEmbeddedView(t,e,i){const n=t.createEmbeddedView(e||{});return this.insert(n,i),n}createComponent(t,e,i,n,r){const s=i||this.parentInjector;if(!r&&null==t.ngModule&&s){const t=s.get(rl,null);t&&(r=t)}const o=t.create(s,n,void 0,r);return this.insert(o.hostView,e),o}insert(t,e){const i=t._lView,n=i[1];if(dt(i[3])){const e=this.indexOf(t);if(-1!==e)this.detach(e);else{const e=i[3],n=new cl(e,e[6],e[3]);n.detach(n.indexOf(t))}}const r=this._adjustIndex(e),s=this._lContainer;!function(t,e,i,n){const r=ht+n,s=i.length;n>0&&(i[r-1][4]=e),nIn});class yl extends ya{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=t.selectors.map(_r).join(","),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return ml(this.componentDef.inputs)}get outputs(){return ml(this.componentDef.outputs)}create(t,e,i,n){const r=(n=n||this.ngModule)?function(t,e){return{get:(i,n,r)=>{const s=t.get(i,pl,r);return s!==pl||n===pl?s:e.get(i,n,r)}}}(t,n.injector):t,s=r.get(Sa,Mt),o=r.get(Ta,null),a=s.createRenderer(null,this.componentDef),l=this.componentDef.selectors[0][0]||"div",c=i?function(t,e,i){if(Tt(t))return t.selectRootElement(e,i===P.ShadowDom);let n="string"==typeof e?t.querySelector(e):e;return n.textContent="",n}(a,i,this.componentDef.encapsulation):zn(s.createRenderer(null,this.componentDef),l,function(t){const e=t.toLowerCase();return"svg"===e?At:"math"===e?"http://www.w3.org/1998/MathML/":null}(l)),h=this.componentDef.onPush?576:528,u={components:[],scheduler:In,clean:us,playerHandler:null,flags:0},d=zr(0,null,null,1,0,null,null,null,null,null),p=Ir(null,d,u,h,null,null,s,a,o,r);let f,m;he(p);try{const t=function(t,e,i,n,r,s){const o=i[1];i[20]=t;const a=Or(o,20,2,"#host",null),l=a.mergedAttrs=e.hostAttrs;null!==l&&(bs(a,l,!0),null!==t&&(Me(r,t,l),null!==a.classes&&lr(r,t,a.classes),null!==a.styles&&ar(r,t,a.styles)));const c=n.createRenderer(t,e),h=Ir(i,qr(e),null,e.onPush?64:16,i[20],a,n,c,null,null);return o.firstCreatePass&&(Ye(Ue(a,i),o,e.type),Wr(o,a),Xr(a,i.length,1)),os(i,h),i[20]=h}(c,this.componentDef,p,s,a);if(c)if(i)Me(a,c,["ng-version",La.full]);else{const{attrs:t,classes:e}=function(t){const e=[],i=[];let n=1,r=2;for(;n0&&lr(a,c,e.join(" "))}if(m=Dt(d,ct),void 0!==e){const t=m.projection=[];for(let i=0;it(o,e)),e.contentQueries){const t=jt();e.contentQueries(1,o,t.directiveStart)}const a=jt();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(ye(a.index),Vr(i[1],a,0,a.directiveStart,a.directiveEnd,e),Qr(e,o)),o}(t,this.componentDef,p,u,[Ns]),Rr(d,p,null)}finally{me()}return new bl(this.componentType,f,wa(m,p),p,m)}}class bl extends class{}{constructor(t,e,i,n,r){super(),this.location=i,this._rootLView=n,this._tNode=r,this.instance=e,this.hostView=this.changeDetectorRef=new Va(n),this.componentType=t}get injector(){return new ei(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}const vl=new Map;class _l extends rl{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new fl(this);const i=lt(t),n=t[Q]||null;n&&la(n),this._bootstrapComponents=Rn(i.bootstrap),this._r3Injector=Es(t,e,[{provide:rl,useValue:this},{provide:va,useValue:this.componentFactoryResolver}],h(t)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(t)}get(t,e=Rs.THROW_IF_NOT_FOUND,i=L.Default){return t===Rs||t===rl||t===vs?this:this._r3Injector.get(t,e,i)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class wl extends sl{constructor(t){super(),this.moduleType=t,null!==lt(t)&&function(t){const e=new Set;!function t(i){const n=lt(i,!0),r=n.id;null!==r&&(function(t,e,i){if(e&&e!==i)throw new Error(`Duplicate module registered for ${t} - ${h(e)} vs ${h(e.name)}`)}(r,vl.get(r),i),vl.set(r,i));const s=Rn(n.imports);for(const o of s)e.has(o)||(e.add(o),t(o))}(t)}(t)}create(t){return new _l(this.moduleType,t)}}function xl(t,e,i){const n=$t()+t,r=Ht();return r[n]===wr?js(r,n,i?e.call(i):e()):function(t,e){return t[e]}(r,n)}function Cl(t,e,i,n){return kl(Ht(),$t(),t,e,i,n)}function Al(t,e,i,n,r){return Tl(Ht(),$t(),t,e,i,n,r)}function Sl(t,e,i,n,r,s){return Ml(Ht(),$t(),t,e,i,n,r,s)}function El(t,e){const i=t[e];return i===wr?void 0:i}function kl(t,e,i,n,r,s){const o=e+i;return Vs(t,o,r)?js(t,o+1,s?n.call(s,r):n(r)):El(t,o+1)}function Tl(t,e,i,n,r,s,o){const a=e+i;return Qs(t,a,r,s)?js(t,a+2,o?n.call(o,r,s):n(r,s)):El(t,a+2)}function Ml(t,e,i,n,r,s,o,a){const l=e+i;return function(t,e,i,n,r){const s=Qs(t,e,i,n);return Vs(t,e+2,r)||s}(t,l,r,s,o)?js(t,l+3,a?n.call(a,r,s,o):n(r,s,o)):El(t,l+3)}function Ll(t,e){const i=Yt();let n;const r=t+ct;i.firstCreatePass?(n=function(t,e){if(e)for(let i=e.length-1;i>=0;i--){const n=e[i];if(t===n.name)return n}throw new g("302",`The pipe '${t}' could not be found!`)}(e,i.pipeRegistry),i.data[r]=n,n.onDestroy&&(i.destroyHooks||(i.destroyHooks=[])).push(r,n.onDestroy)):n=i.data[r];const s=n.factory||(n.factory=yt(n.type)),o=O($s);try{const t=Ze(!1),e=s();return Ze(t),function(t,e,i,n){i>=t.data.length&&(t.data[i]=null,t.blueprint[i]=null),e[i]=n}(i,Ht(),r,e),e}finally{O(o)}}function Il(t,e,i){const n=t+ct,r=Ht(),s=Rt(r,n);return Nl(r,Rl(r,n)?kl(r,$t(),e,s.transform,i,s):s.transform(i))}function Ol(t,e,i,n){const r=t+ct,s=Ht(),o=Rt(s,r);return Nl(s,Rl(s,r)?Tl(s,$t(),e,o.transform,i,n,o):o.transform(i,n))}function Dl(t,e,i,n,r){const s=t+ct,o=Ht(),a=Rt(o,s);return Nl(o,Rl(o,s)?Ml(o,$t(),e,a.transform,i,n,r,a):a.transform(i,n,r))}function Rl(t,e){return t[1].data[e].pure}function Nl(t,e){return Hs.isWrapped(e)&&(e=Hs.unwrap(e),t[te()]=wr),e}function Pl(t){return e=>{setTimeout(t,void 0,e)}}const Fl=class extends n.x{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){var n,s,o;let a=t,l=e||(()=>null),c=i;if(t&&"object"==typeof t){const e=t;a=null===(n=e.next)||void 0===n?void 0:n.bind(e),l=null===(s=e.error)||void 0===s?void 0:s.bind(e),c=null===(o=e.complete)||void 0===o?void 0:o.bind(e)}this.__isAsync&&(l=Pl(l),a&&(a=Pl(a)),c&&(c=Pl(c)));const h=super.subscribe({next:a,error:l,complete:c});return t instanceof r.w0&&t.add(h),h}};function Zl(){return this._results[zs()]()}class Bl{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=zs(),i=Bl.prototype;i[e]||(i[e]=Zl)}get changes(){return this._changes||(this._changes=new Fl)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const i=this;i.dirty=!1;const n=hi(t);(this._changesDetected=!function(t,e,i){if(t.length!==e.length)return!1;for(let n=0;n0)n.push(o[t/2]);else{const r=s[t+1],o=e[-i];for(let t=ht;t{class t{constructor(t){this.appInits=t,this.resolve=_a,this.reject=_a,this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}runInitializers(){if(this.initialized)return;const t=[],e=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let i=0;i{e.subscribe({complete:t,error:i})});t.push(i)}}Promise.all(t).then(()=>{e()}).catch(t=>{this.reject(t)}),0===t.length&&e(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)(Si(nc,8))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const sc=new ai("AppId"),oc={provide:sc,useFactory:function(){return`${ac()}${ac()}${ac()}`},deps:[]};function ac(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const lc=new ai("Platform Initializer"),cc=new ai("Platform ID"),hc=new ai("appBootstrapListener");let uc=(()=>{class t{log(t){console.log(t)}warn(t){console.warn(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const dc=new ai("LocaleId"),pc=new ai("DefaultCurrencyCode");class fc{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}const mc=function(t){return new wl(t)},gc=mc,yc=function(t){return Promise.resolve(mc(t))},bc=function(t){const e=mc(t),i=Rn(lt(t).declarations).reduce((t,e)=>{const i=at(e);return i&&t.push(new yl(i)),t},[]);return new fc(e,i)},vc=bc,_c=function(t){return Promise.resolve(bc(t))};let wc=(()=>{class t{constructor(){this.compileModuleSync=gc,this.compileModuleAsync=yc,this.compileModuleAndAllComponentsSync=vc,this.compileModuleAndAllComponentsAsync=_c}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();const xc=(()=>Promise.resolve(0))();function Cc(t){"undefined"==typeof Zone?xc.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}class Ac{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Fl(!1),this.onMicrotaskEmpty=new Fl(!1),this.onStable=new Fl(!1),this.onError=new Fl(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const n=this;n._nesting=0,n._outer=n._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(n._inner=n._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(n._inner=n._inner.fork(Zone.longStackTraceZoneSpec)),n.shouldCoalesceEventChangeDetection=!i&&e,n.shouldCoalesceRunChangeDetection=i,n.lastRequestAnimationFrameId=-1,n.nativeRequestAnimationFrame=function(){let t=q.requestAnimationFrame,e=q.cancelAnimationFrame;if("undefined"!=typeof Zone&&t&&e){const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i);const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(t){const e=()=>{!function(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(q,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,kc(t),t.isCheckStableRunning=!0,Ec(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),kc(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return Tc(t),i.invokeTask(r,s,o,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&e(),Mc(t)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return Tc(t),i.invoke(r,s,o,a,l)}finally{t.shouldCoalesceRunChangeDetection&&e(),Mc(t)}},onHasTask:(e,i,n,r)=>{e.hasTask(n,r),i===n&&("microTask"==r.change?(t._hasPendingMicrotasks=r.microTask,kc(t),Ec(t)):"macroTask"==r.change&&(t.hasPendingMacrotasks=r.macroTask))},onHandleError:(e,i,n,r)=>(e.handleError(n,r),t.runOutsideAngular(()=>t.onError.emit(r)),!1)})}(n)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ac.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Ac.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,n){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+n,t,Sc,_a,_a);try{return r.runTask(s,e,i)}finally{r.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const Sc={};function Ec(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function kc(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function Tc(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function Mc(t){t._nesting--,Ec(t)}class Lc{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Fl,this.onMicrotaskEmpty=new Fl,this.onStable=new Fl,this.onError=new Fl}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,n){return t.apply(e,i)}}let Ic=(()=>{class t{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ac.assertNotInAngularZone(),Cc(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Cc(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(e=>!e.updateCb||!e.updateCb(t)||(clearTimeout(e.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,e,i){let n=-1;e&&e>0&&(n=setTimeout(()=>{this._callbacks=this._callbacks.filter(t=>t.timeoutId!==n),t(this._didWork,this.getPendingTasks())},e)),this._callbacks.push({doneCb:t,timeoutId:n,updateCb:i})}whenStable(t,e,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,e,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,e,i){return[]}}return t.\u0275fac=function(e){return new(e||t)(Si(Ac))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})(),Oc=(()=>{class t{constructor(){this._applications=new Map,Pc.addToWindow(this)}registerApplication(t,e){this._applications.set(t,e)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,e=!0){return Pc.findTestabilityInTree(this,t,e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();class Dc{addToWindow(t){}findTestabilityInTree(t,e,i){return null}}function Rc(t){Pc=t}let Nc,Pc=new Dc,Fc=!0,Zc=!1;function Bc(){return Zc=!0,Fc}function Uc(){if(Zc)throw new Error("Cannot enable prod mode after platform setup.");Fc=!1}const qc=new ai("AllowMultipleToken");class zc{constructor(t,e){this.name=t,this.token=e}}function Hc(t,e,i=[]){const n=`Platform: ${e}`,r=new ai(n);return(e=[])=>{let s=Yc();if(!s||s.injector.get(qc,!1))if(t)t(i.concat(e).concat({provide:r,useValue:!0}));else{const t=i.concat(e).concat({provide:r,useValue:!0},{provide:ws,useValue:"platform"});!function(t){if(Nc&&!Nc.destroyed&&!Nc.injector.get(qc,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Nc=t.get(Gc);const e=t.get(lc,null);e&&e.forEach(t=>t())}(Rs.create({providers:t,name:n}))}return function(t){const e=Yc();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(r)}}function Yc(){return Nc&&!Nc.destroyed?Nc:null}let Gc=(()=>{class t{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,e){const i=function(t,e){let i;return i="noop"===t?new Lc:("zone.js"===t?void 0:t)||new Ac({enableLongStackTrace:Bc(),shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),i}(e?e.ngZone:void 0,{ngZoneEventCoalescing:e&&e.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:e&&e.ngZoneRunCoalescing||!1}),n=[{provide:Ac,useValue:i}];return i.run(()=>{const e=Rs.create({providers:n,parent:this.injector,name:t.moduleType.name}),r=t.create(e),s=r.injector.get(Ln,null);if(!s)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.runOutsideAngular(()=>{const t=i.onError.subscribe({next:t=>{s.handleError(t)}});r.onDestroy(()=>{Qc(this._modules,r),t.unsubscribe()})}),function(t,e,i){try{const n=i();return ho(n)?n.catch(i=>{throw e.runOutsideAngular(()=>t.handleError(i)),i}):n}catch(n){throw e.runOutsideAngular(()=>t.handleError(n)),n}}(s,i,()=>{const t=r.injector.get(rc);return t.runInitializers(),t.donePromise.then(()=>(la(r.injector.get(dc,oa)||oa),this._moduleDoBootstrap(r),r))})})}bootstrapModule(t,e=[]){const i=jc({},e);return function(t,e,i){const n=new wl(i);return Promise.resolve(n)}(0,0,t).then(t=>this.bootstrapModuleFactory(t,i))}_moduleDoBootstrap(t){const e=t.injector.get(Vc);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(t=>e.bootstrap(t));else{if(!t.instance.ngDoBootstrap)throw new Error(`The module ${h(t.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.`);t.instance.ngDoBootstrap(e)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(Si(Rs))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function jc(t,e){return Array.isArray(e)?e.reduce(jc,t):Object.assign(Object.assign({},t),e)}let Vc=(()=>{class t{constructor(t,e,i,n,r){this._zone=t,this._injector=e,this._exceptionHandler=i,this._componentFactoryResolver=n,this._initStatus=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const l=new s.y(t=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{t.next(this._stable),t.complete()})}),c=new s.y(t=>{let e;this._zone.runOutsideAngular(()=>{e=this._zone.onStable.subscribe(()=>{Ac.assertNotInAngularZone(),Cc(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,t.next(!0))})})});const i=this._zone.onUnstable.subscribe(()=>{Ac.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{t.next(!1)}))});return()=>{e.unsubscribe(),i.unsubscribe()}});this.isStable=(0,o.T)(l,c.pipe((0,a.B)()))}bootstrap(t,e){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let i;i=t instanceof ya?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(i.componentType);const n=i.isBoundToModule?void 0:this._injector.get(rl),r=i.create(Rs.NULL,[],e||i.selector,n),s=r.location.nativeElement,o=r.injector.get(Ic,null),a=o&&r.injector.get(Oc);return o&&a&&a.registerApplication(s,o),r.onDestroy(()=>{this.detachView(r.hostView),Qc(this.components,r),a&&a.unregisterApplication(s)}),this._loadComponent(r),r}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const e=t;this._views.push(e),e.attachToAppRef(this)}detachView(t){const e=t;Qc(this._views,e),e.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(hc,[]).concat(this._bootstrapListeners).forEach(e=>e(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return t.\u0275fac=function(e){return new(e||t)(Si(Ac),Si(Rs),Si(Ln),Si(va),Si(rc))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function Qc(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}class Wc{}class Jc{}const Xc={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};let Kc=(()=>{class t{constructor(t,e){this._compiler=t,this._config=e||Xc}load(t){return this.loadAndCompile(t)}loadAndCompile(t){let[e,n]=t.split("#");return void 0===n&&(n="default"),i(8255)(e).then(t=>t[n]).then(t=>$c(t,e,n)).then(t=>this._compiler.compileModuleAsync(t))}loadFactory(t){let[e,n]=t.split("#"),r="NgFactory";return void 0===n&&(n="default",r=""),i(8255)(this._config.factoryPathPrefix+e+this._config.factoryPathSuffix).then(t=>t[n+r]).then(t=>$c(t,e,n))}}return t.\u0275fac=function(e){return new(e||t)(Si(wc),Si(Jc,8))},t.\u0275prov=_({token:t,factory:t.\u0275fac}),t})();function $c(t,e,i){if(!t)throw new Error(`Cannot find '${i}' in '${e}'`);return t}const th=function(t){return null},eh=Hc(null,"core",[{provide:cc,useValue:"unknown"},{provide:Gc,deps:[Rs]},{provide:Oc,deps:[]},{provide:uc,deps:[]}]),ih=[{provide:Vc,useClass:Vc,deps:[Ac,Rs,Ln,va,rc]},{provide:gl,deps:[Ac],useFactory:function(t){let e=[];return t.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:rc,useClass:rc,deps:[[new Li,nc]]},{provide:wc,useClass:wc,deps:[]},oc,{provide:za,useFactory:function(){return Xa},deps:[]},{provide:Ya,useFactory:function(){return Ka},deps:[]},{provide:dc,useFactory:function(t){return la(t=t||"undefined"!=typeof $localize&&$localize.locale||oa),t},deps:[[new Mi(dc),new Li,new Oi]]},{provide:pc,useValue:"USD"}];let nh=(()=>{class t{constructor(t){}}return t.\u0275fac=function(e){return new(e||t)(Si(Vc))},t.\u0275mod=it({type:t}),t.\u0275inj=x({providers:ih}),t})()},1463:(t,e,i)=>{"use strict";i.d(e,{IR:()=>p,g5:()=>g,WU:()=>y,wY:()=>b,Bs:()=>v,iR:()=>A,RK:()=>V,QI:()=>Q,Ot:()=>W,yB:()=>X});var n=i(1572),r=i(1511),s=i(9666),o=i(7425),a=i(2391),l=i(5446),c=i(8868),h=i(343);const u={provide:n.tb,useFactory:function(t,e){return()=>{if((0,r.NF)(e)){const e=Array.from(t.querySelectorAll(`[class*=${d}]`)),i=/\bflex-layout-.+?\b/g;e.forEach(t=>{t.classList.contains(`${d}ssr`)&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(i,"")})}}},deps:[r.K0,n.Lbi],multi:!0},d="flex-layout-";let p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[u]}),t})();class f{constructor(t=!1,e="all",i="",n="",r=0){this.matches=t,this.mediaQuery=e,this.mqAlias=i,this.suffix=n,this.priority=r,this.property=""}clone(){return new f(this.matches,this.mediaQuery,this.mqAlias,this.suffix)}}let m=(()=>{class t{constructor(){this.stylesheet=new Map}addStyleToElement(t,e,i){const n=this.stylesheet.get(t);n?n.set(e,i):this.stylesheet.set(t,new Map([[e,i]]))}clearStyles(){this.stylesheet.clear()}getStyleForElement(t,e){const i=this.stylesheet.get(t);let n="";if(i){const t=i.get(e);"number"!=typeof t&&"string"!=typeof t||(n=t+"")}return n}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const g={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},y=new n.OlP("Flex Layout token, config options for the library",{providedIn:"root",factory:()=>g}),b=new n.OlP("FlexLayoutServerLoaded",{providedIn:"root",factory:()=>!1}),v=new n.OlP("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:()=>null});function _(t,e){return t=t?t.clone():new f,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}const w="inline",x=["row","column","row-reverse","column-reverse"];function C(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}let A=(()=>{class t{constructor(t,e,i,n){this.elementRef=t,this.styleBuilder=e,this.styler=i,this.marshal=n,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new s.x,this.styleCache=new Map}get parentElement(){return this.elementRef.nativeElement.parentElement}get nativeElement(){return this.elementRef.nativeElement}get activatedValue(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)}set activatedValue(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)}ngOnChanges(t){Object.keys(t).forEach(e=>{if(-1!==this.inputs.indexOf(e)){const i=e.split(".").slice(1).join(".");this.setValue(t[e].currentValue,i)}})}ngOnDestroy(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)}init(t=[]){this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)}addStyles(t,e){const i=this.styleBuilder,n=i.shouldCache;let r=this.styleCache.get(t);r&&n||(r=i.buildStyles(t,e),n&&this.styleCache.set(t,r)),this.mru=Object.assign({},r),this.applyStyleToElement(r),i.sideEffect(t,r,e)}clearStyles(){Object.keys(this.mru).forEach(t=>{this.mru[t]=""}),this.applyStyleToElement(this.mru),this.mru={}}triggerUpdate(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)}getFlexFlowDirection(t,e=!1){if(t){const[i,n]=this.styler.getFlowDirection(t);if(!n&&e){const e=function(t){let[e,i,n]=function(t){t=t?t.toLowerCase():"";let[e,i,n]=t.split(" ");return x.find(t=>t===e)||(e=x[0]),i===w&&(i=n!==w?n:"",n=w),[e,C(i),!!n]}(t);return function(t,e=null,i=!1){return{display:i?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e,i,n)}(i);this.styler.applyStyleToElements(e,[t])}return i.trim()}return"row"}hasWrap(t){return this.styler.hasWrap(t)}applyStyleToElement(t,e,i=this.nativeElement){this.styler.applyStyleToElement(i,t,e)}setValue(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)}updateWithValue(t){this.currentValue!==t&&(this.addStyles(t),this.currentValue=t)}}return t.\u0275fac=function(t){n.$Z()},t.\u0275dir=n.lG2({type:t,features:[n.TTD]}),t})();const S=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.98px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.98px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.98px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.98px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.98px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.98px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.98px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.98px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.98px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],E="(orientation: portrait) and (max-width: 599.98px)",k="(orientation: landscape) and (max-width: 959.98px)",T="(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)",M="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)",L="(orientation: portrait) and (min-width: 840px)",I="(orientation: landscape) and (min-width: 1280px)",O={HANDSET:`${E}, ${k}`,TABLET:`${T} , ${M}`,WEB:`${L}, ${I} `,HANDSET_PORTRAIT:`${E}`,TABLET_PORTRAIT:`${T} `,WEB_PORTRAIT:`${L}`,HANDSET_LANDSCAPE:`${k}`,TABLET_LANDSCAPE:`${M}`,WEB_LANDSCAPE:`${I}`},D=[{alias:"handset",priority:2e3,mediaQuery:O.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:O.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:O.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:O.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:O.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:O.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:O.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:O.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:O.WEB_PORTRAIT,overlapping:!0}],R=/(\.|-|_)/g;function N(t){let e=t.length>0?t.charAt(0):"",i=t.length>1?t.slice(1):"";return e.toUpperCase()+i}const P=new n.OlP("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:()=>{const t=(0,n.f3M)(v),e=(0,n.f3M)(y),i=[].concat.apply([],(t||[]).map(t=>Array.isArray(t)?t:[t]));return function(t,e=[]){const i={};return t.forEach(t=>{i[t.alias]=t}),e.forEach(t=>{i[t.alias]?function(t,...e){if(null==t)throw TypeError("Cannot convert undefined or null to object");for(let i of e)if(null!=i)for(let e in i)i.hasOwnProperty(e)&&(t[e]=i[e])}(i[t.alias],t):i[t.alias]=t}),(n=Object.keys(i).map(t=>i[t])).forEach(t=>{t.suffix||(t.suffix=t.alias.replace(R,"|").split("|").map(N).join(""),t.overlapping=!!t.overlapping)}),n;var n}((e.disableDefaultBps?[]:S).concat(e.addOrientationBps?D:[]),i)}});function F(t,e){return(e&&e.priority||0)-(t&&t.priority||0)}function Z(t,e){return(t.priority||0)-(e.priority||0)}let B=(()=>{class t{constructor(t){this.findByMap=new Map,this.items=[...t].sort(Z)}findByAlias(t){return t?this.findWithPredicate(t,e=>e.alias==t):null}findByQuery(t){return this.findWithPredicate(t,e=>e.mediaQuery==t)}get overlappings(){return this.items.filter(t=>1==t.overlapping)}get aliases(){return this.items.map(t=>t.alias)}get suffixes(){return this.items.map(t=>t.suffix?t.suffix:"")}findWithPredicate(t,e){let i=this.findByMap.get(t);return i||(i=this.items.find(e)||null,this.findByMap.set(t,i)),i||null}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(P))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(P))},token:t,providedIn:"root"}),t})(),U=(()=>{class t{constructor(t,e,i){this._zone=t,this._platformId=e,this._document=i,this.source=new o.X(new f(!0)),this.registry=new Map,this.pendingRemoveListenerFns=[],this._observable$=this.source.asObservable()}get activations(){const t=[];return this.registry.forEach((e,i)=>{e.matches&&t.push(i)}),t}isActive(t){const e=this.registry.get(t);return e?e.matches:this.registerQuery(t).some(t=>t.matches)}observe(t,e=!1){if(t&&t.length){const i=this._observable$.pipe((0,c.h)(i=>!e||t.indexOf(i.mediaQuery)>-1)),n=new a.y(e=>{const i=this.registerQuery(t);if(i.length){const t=i.pop();i.forEach(t=>{e.next(t)}),this.source.next(t)}e.complete()});return(0,l.T)(n,i)}return this._observable$}registerQuery(t){const e=Array.isArray(t)?t:[t],i=[];return function(t,e){const i=t.filter(t=>!q[t]);if(i.length>0){const t=i.join(", ");try{const n=e.createElement("style");n.setAttribute("type","text/css"),n.styleSheet||n.appendChild(e.createTextNode(`\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ${t} {.fx-query-test{ }}\n`)),e.head.appendChild(n),i.forEach(t=>q[t]=n)}catch(n){console.error(n)}}}(e,this._document),e.forEach(t=>{const e=e=>{this._zone.run(()=>this.source.next(new f(e.matches,t)))};let n=this.registry.get(t);n||(n=this.buildMQL(t),n.addListener(e),this.pendingRemoveListenerFns.push(()=>n.removeListener(e)),this.registry.set(t,n)),n.matches&&i.push(new f(!0,t))}),i}ngOnDestroy(){let t;for(;t=this.pendingRemoveListenerFns.pop();)t()}buildMQL(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{},onchange:null,addEventListener(){},removeEventListener(){},dispatchEvent:()=>!1}}(t,(0,r.NF)(this._platformId))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.R0b),n.LFG(n.Lbi),n.LFG(r.K0))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(n.R0b),(0,n.LFG)(n.Lbi),(0,n.LFG)(r.K0))},token:t,providedIn:"root"}),t})();const q={},z="print",H={alias:z,mediaQuery:z,priority:1e3};let Y=(()=>{class t{constructor(t,e,i){this.breakpoints=t,this.layoutConfig=e,this._document=i,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.isPrinting=!1,this.queue=new G,this.deactivations=[]}withPrintQuery(t){return[...t,z]}isPrintEvent(t){return t.mediaQuery.startsWith(z)}get printAlias(){return this.layoutConfig.printWithBreakpoints||[]}get printBreakPoints(){return this.printAlias.map(t=>this.breakpoints.findByAlias(t)).filter(t=>null!==t)}getEventBreakpoints({mediaQuery:t}){const e=this.breakpoints.findByQuery(t);return(e?[...this.printBreakPoints,e]:this.printBreakPoints).sort(F)}updateEvent(t){let e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),_(t,e)}registerBeforeAfterPrintHooks(t){if(!this._document.defaultView||this.registeredBeforeAfterPrintHooks)return;this.registeredBeforeAfterPrintHooks=!0;const e=()=>{this.isPrinting||(this.isPrintingBeforeAfterEvent=!0,this.startPrinting(t,this.getEventBreakpoints(new f(!0,z))),t.updateStyles())},i=()=>{this.isPrintingBeforeAfterEvent=!1,this.isPrinting&&(this.stopPrinting(t),t.updateStyles())};this._document.defaultView.addEventListener("beforeprint",e),this._document.defaultView.addEventListener("afterprint",i),this.beforePrintEventListeners.push(e),this.afterPrintEventListeners.push(i)}interceptEvents(t){return this.registerBeforeAfterPrintHooks(t),e=>{this.isPrintEvent(e)?e.matches&&!this.isPrinting?(this.startPrinting(t,this.getEventBreakpoints(e)),t.updateStyles()):e.matches||!this.isPrinting||this.isPrintingBeforeAfterEvent||(this.stopPrinting(t),t.updateStyles()):this.collectActivations(e)}}blockPropagation(){return t=>!(this.isPrinting||this.isPrintEvent(t))}startPrinting(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)}stopPrinting(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1}collectActivations(t){if(!this.isPrinting||this.isPrintingBeforeAfterEvent)if(t.matches)this.isPrintingBeforeAfterEvent||(this.deactivations=[]);else{const e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(F))}}ngOnDestroy(){this._document.defaultView&&(this.beforePrintEventListeners.forEach(t=>this._document.defaultView.removeEventListener("beforeprint",t)),this.afterPrintEventListeners.forEach(t=>this._document.defaultView.removeEventListener("afterprint",t)))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(B),n.LFG(y),n.LFG(r.K0))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(B),(0,n.LFG)(y),(0,n.LFG)(r.K0))},token:t,providedIn:"root"}),t})();class G{constructor(){this.printBreakpoints=[]}addPrintBreakpoints(t){return t.push(H),t.sort(F),t.forEach(t=>this.addBreakpoint(t)),this.printBreakpoints}addBreakpoint(t){t&&void 0===this.printBreakpoints.find(e=>e.mediaQuery===t.mediaQuery)&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith(z)}(t)?[t,...this.printBreakpoints]:[...this.printBreakpoints,t])}clear(){this.printBreakpoints=[]}}function j(t){for(let e in t){let i=t[e]||"";switch(e){case"display":t.display="flex"===i?["-webkit-flex","flex"]:"inline-flex"===i?["-webkit-inline-flex","inline-flex"]:i;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=i;break;case"flex-direction":i=i||"row",t["-webkit-flex-direction"]=i,t["flex-direction"]=i;break;case"order":t.order=t["-webkit-"+e]=isNaN(+i)?"0":i}}return t}let V=(()=>{class t{constructor(t,e,i,n){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=i,this.layoutConfig=n}applyStyleToElement(t,e,i=null){let n={};"string"==typeof e&&(n[e]=i,e=n),n=this.layoutConfig.disableVendorPrefixes?e:j(e),this._applyMultiValueStyleToElement(n,t)}applyStyleToElements(t,e=[]){const i=this.layoutConfig.disableVendorPrefixes?t:j(t);e.forEach(t=>{this._applyMultiValueStyleToElement(i,t)})}getFlowDirection(t){const e="flex-direction";let i=this.lookupStyle(t,e);return[i||"row",this.lookupInlineStyle(t,e)||(0,r.PM)(this._platformId)&&this._serverModuleLoaded?i:""]}hasWrap(t){return"wrap"===this.lookupStyle(t,"flex-wrap")}lookupAttributeValue(t,e){return t.getAttribute(e)||""}lookupInlineStyle(t,e){return(0,r.NF)(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)}lookupStyle(t,e,i=!1){let n="";return t&&((n=this.lookupInlineStyle(t,e))||((0,r.NF)(this._platformId)?i||(n=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(n=this._serverStylesheet.getStyleForElement(t,e)))),n?n.trim():""}_applyMultiValueStyleToElement(t,e){Object.keys(t).sort().forEach(i=>{const n=t[i],s=Array.isArray(n)?n:[n];s.sort();for(let t of s)t=t?t+"":"",(0,r.NF)(this._platformId)||!this._serverModuleLoaded?(0,r.NF)(this._platformId)?e.style.setProperty(i,t):this._setServerStyle(e,i,t):this._serverStylesheet.addStyleToElement(e,i,t)})}_setServerStyle(t,e,i){e=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const n=this._readStyleAttribute(t);n[e]=i||"",this._writeStyleAttribute(t,n)}_getServerStyle(t,e){return this._readStyleAttribute(t)[e]||""}_readStyleAttribute(t){const e={},i=t.getAttribute("style");if(i){const t=i.split(/;+/g);for(let i=0;i0){const t=n.indexOf(":");if(-1===t)throw new Error(`Invalid CSS style: ${n}`);e[n.substr(0,t).trim()]=n.substr(t+1).trim()}}}return e}_writeStyleAttribute(t,e){let i="";for(const n in e)e[n]&&(i+=n+":"+e[n]+";");t.setAttribute("style",i)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(m),n.LFG(b),n.LFG(n.Lbi),n.LFG(y))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(m),(0,n.LFG)(b),(0,n.LFG)(n.Lbi),(0,n.LFG)(y))},token:t,providedIn:"root"}),t})();class Q{constructor(){this.shouldCache=!0}sideEffect(t,e,i){}}function W(t,e="1",i="1"){let n=[e,i,t],r=t.indexOf("calc");if(r>0){n[2]=J(t.substring(r).trim());let e=t.substr(0,r).trim().split(" ");2==e.length&&(n[0]=e[0],n[1]=e[1])}else if(0==r)n[2]=J(t.trim());else{let r=t.split(" ");n=3===r.length?r:[e,i,t]}return n}function J(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}let X=(()=>{class t{constructor(t,e,i){this.matchMedia=t,this.breakpoints=e,this.hook=i,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new s.x,this.observeActivations()}get activatedAlias(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""}onMediaChange(t){const e=this.findByQuery(t.mediaQuery);e&&((t=_(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(F),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(F),this.updateStyles()))}init(t,e,i,n,r=[]){K(this.updateMap,t,e,i),K(this.clearMap,t,e,n),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,r)}getValue(t,e,i){const n=this.elementMap.get(t);if(n){const t=void 0!==i?n.get(i):this.getActivatedValues(n,e);if(t)return t.get(e)}}hasValue(t,e){const i=this.elementMap.get(t);if(i){const t=this.getActivatedValues(i,e);if(t)return void 0!==t.get(e)||!1}return!1}setValue(t,e,i,n){let r=this.elementMap.get(t);if(r){const s=(r.get(n)||new Map).set(e,i);r.set(n,s),this.elementMap.set(t,r)}else r=(new Map).set(n,(new Map).set(e,i)),this.elementMap.set(t,r);const s=this.getValue(t,e);void 0!==s&&this.updateElement(t,e,s)}trackValue(t,e){return this.subject.asObservable().pipe((0,c.h)(i=>i.element===t&&i.key===e))}updateStyles(){this.elementMap.forEach((t,e)=>{const i=new Set(this.elementKeyMap.get(e));let n=this.getActivatedValues(t);n&&n.forEach((t,n)=>{this.updateElement(e,n,t),i.delete(n)}),i.forEach(i=>{if(n=this.getActivatedValues(t,i),n){const t=n.get(i);this.updateElement(e,i,t)}else this.clearElement(e,i)})})}clearElement(t,e){const i=this.clearMap.get(t);if(i){const n=i.get(e);n&&(n(),this.subject.next({element:t,key:e,value:""}))}}updateElement(t,e,i){const n=this.updateMap.get(t);if(n){const r=n.get(e);r&&(r(i),this.subject.next({element:t,key:e,value:i}))}}releaseElement(t){const e=this.watcherMap.get(t);e&&(e.forEach(t=>t.unsubscribe()),this.watcherMap.delete(t));const i=this.elementMap.get(t);i&&(i.forEach((t,e)=>i.delete(e)),this.elementMap.delete(t))}triggerUpdate(t,e){const i=this.elementMap.get(t);if(i){const n=this.getActivatedValues(i,e);n&&(e?this.updateElement(t,e,n.get(e)):n.forEach((e,i)=>this.updateElement(t,i,e)))}}buildElementKeyMap(t,e){let i=this.elementKeyMap.get(t);i||(i=new Set,this.elementKeyMap.set(t,i)),i.add(e)}watchExtraTriggers(t,e,i){if(i&&i.length){let n=this.watcherMap.get(t);if(n||(n=new Map,this.watcherMap.set(t,n)),!n.get(e)){const r=(0,l.T)(...i).subscribe(()=>{const i=this.getValue(t,e);this.updateElement(t,e,i)});n.set(e,r)}}}findByQuery(t){return this.breakpoints.findByQuery(t)}getActivatedValues(t,e){for(let n=0;nt.mediaQuery);this.matchMedia.observe(this.hook.withPrintQuery(t)).pipe((0,h.b)(this.hook.interceptEvents(this)),(0,c.h)(this.hook.blockPropagation())).subscribe(this.onMediaChange.bind(this))}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(U),n.LFG(B),n.LFG(Y))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(U),(0,n.LFG)(B),(0,n.LFG)(Y))},token:t,providedIn:"root"}),t})();function K(t,e,i,n){if(void 0!==n){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(i,n)}}},377:(t,e,i)=>{"use strict";i.d(e,{aT:()=>b,oO:()=>c,Zl:()=>g});var n=i(1572),r=i(1511),s=i(1463),o=(i(9861),i(9568),i(269));new Map;let a=(()=>{class t extends s.iR{constructor(t,e,i,n,s,o,a){super(t,null,e,i),this.ngClassInstance=a,this.DIRECTIVE_KEY="ngClass",this.ngClassInstance||(this.ngClassInstance=new r.mk(n,s,t,o)),this.init(),this.setValue("","")}set klass(t){this.ngClassInstance.klass=t,this.setValue(t,"")}updateWithValue(t){this.ngClassInstance.ngClass=t,this.ngClassInstance.ngDoCheck()}ngDoCheck(){this.ngClassInstance.ngDoCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(s.RK),n.Y36(s.yB),n.Y36(n.ZZ4),n.Y36(n.aQg),n.Y36(n.Qsj),n.Y36(r.mk,10))},t.\u0275dir=n.lG2({type:t,inputs:{klass:["class","klass"]},features:[n.qOj]}),t})();const l=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"];let c=(()=>{class t extends a{constructor(){super(...arguments),this.inputs=l}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","ngClass",""],["","ngClass.xs",""],["","ngClass.sm",""],["","ngClass.md",""],["","ngClass.lg",""],["","ngClass.xl",""],["","ngClass.lt-sm",""],["","ngClass.lt-md",""],["","ngClass.lt-lg",""],["","ngClass.lt-xl",""],["","ngClass.gt-xs",""],["","ngClass.gt-sm",""],["","ngClass.gt-md",""],["","ngClass.gt-lg",""]],inputs:{ngClass:"ngClass","ngClass.xs":"ngClass.xs","ngClass.sm":"ngClass.sm","ngClass.md":"ngClass.md","ngClass.lg":"ngClass.lg","ngClass.xl":"ngClass.xl","ngClass.lt-sm":"ngClass.lt-sm","ngClass.lt-md":"ngClass.lt-md","ngClass.lt-lg":"ngClass.lt-lg","ngClass.lt-xl":"ngClass.lt-xl","ngClass.gt-xs":"ngClass.gt-xs","ngClass.gt-sm":"ngClass.gt-sm","ngClass.gt-md":"ngClass.gt-md","ngClass.gt-lg":"ngClass.gt-lg"},features:[n.qOj]}),t})();new WeakMap;class h{constructor(t,e,i=!0){this.key=t,this.value=e,this.key=i?t.replace(/['"]/g,"").trim():t.trim(),this.value=i?e.replace(/['"]/g,"").trim():e.trim(),this.value=this.value.replace(/;/,"")}}function u(t){let e=typeof t;return"object"===e?t.constructor===Array?"array":t.constructor===Set?"set":"object":e}function d(t){const[e,...i]=t.split(":");return new h(e,i.join(":"))}function p(t,e){return e.key&&(t[e.key]=e.value),t}let f=(()=>{class t extends s.iR{constructor(t,e,i,n,s,o,a,l,c){super(t,null,e,i),this.sanitizer=n,this.ngStyleInstance=a,this.DIRECTIVE_KEY="ngStyle",this.ngStyleInstance||(this.ngStyleInstance=new r.PC(t,s,o)),this.init();const h=this.nativeElement.getAttribute("style")||"";this.fallbackStyles=this.buildStyleMap(h),this.isServer=l&&(0,r.PM)(c)}updateWithValue(t){const e=this.buildStyleMap(t);this.ngStyleInstance.ngStyle=Object.assign(Object.assign({},this.fallbackStyles),e),this.isServer&&this.applyStyleToElement(e),this.ngStyleInstance.ngDoCheck()}clearStyles(){this.ngStyleInstance.ngStyle=this.fallbackStyles,this.ngStyleInstance.ngDoCheck()}buildStyleMap(t){const e=t=>this.sanitizer.sanitize(n.q3G.STYLE,t)||"";if(t)switch(u(t)){case"string":return y(function(t,e=";"){return String(t).trim().split(e).map(t=>t.trim()).filter(t=>""!==t)}(t),e);case"array":return y(t,e);case"set":default:return function(t,e){let i=[];return"set"===u(t)?t.forEach(t=>i.push(t)):Object.keys(t).forEach(e=>{i.push(`${e}:${t[e]}`)}),function(t,e){return t.map(d).filter(t=>!!t).map(t=>(e&&(t.value=e(t.value)),t)).reduce(p,{})}(i,e)}(t,e)}return{}}ngDoCheck(){this.ngStyleInstance.ngDoCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(s.RK),n.Y36(s.yB),n.Y36(o.H7),n.Y36(n.aQg),n.Y36(n.Qsj),n.Y36(r.PC,10),n.Y36(s.wY),n.Y36(n.Lbi))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();const m=["ngStyle","ngStyle.xs","ngStyle.sm","ngStyle.md","ngStyle.lg","ngStyle.xl","ngStyle.lt-sm","ngStyle.lt-md","ngStyle.lt-lg","ngStyle.lt-xl","ngStyle.gt-xs","ngStyle.gt-sm","ngStyle.gt-md","ngStyle.gt-lg"];let g=(()=>{class t extends f{constructor(){super(...arguments),this.inputs=m}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","ngStyle",""],["","ngStyle.xs",""],["","ngStyle.sm",""],["","ngStyle.md",""],["","ngStyle.lg",""],["","ngStyle.xl",""],["","ngStyle.lt-sm",""],["","ngStyle.lt-md",""],["","ngStyle.lt-lg",""],["","ngStyle.lt-xl",""],["","ngStyle.gt-xs",""],["","ngStyle.gt-sm",""],["","ngStyle.gt-md",""],["","ngStyle.gt-lg",""]],inputs:{ngStyle:"ngStyle","ngStyle.xs":"ngStyle.xs","ngStyle.sm":"ngStyle.sm","ngStyle.md":"ngStyle.md","ngStyle.lg":"ngStyle.lg","ngStyle.xl":"ngStyle.xl","ngStyle.lt-sm":"ngStyle.lt-sm","ngStyle.lt-md":"ngStyle.lt-md","ngStyle.lt-lg":"ngStyle.lt-lg","ngStyle.lt-xl":"ngStyle.lt-xl","ngStyle.gt-xs":"ngStyle.gt-xs","ngStyle.gt-sm":"ngStyle.gt-sm","ngStyle.gt-md":"ngStyle.gt-md","ngStyle.gt-lg":"ngStyle.gt-lg"},features:[n.qOj]}),t})();function y(t,e){return t.map(d).filter(t=>!!t).map(t=>(e&&(t.value=e(t.value)),t)).reduce(p,{})}let b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.IR]]}),t})()},3722:(t,e,i)=>{"use strict";i.d(e,{ae:()=>Z,yH:()=>w,xw:()=>m,Wh:()=>M});var n=i(1572),r=i(1463),s=i(2526),o=(i(9666),i(9568));const a="inline",l=["row","column","row-reverse","column-reverse"];function c(t){t=t?t.toLowerCase():"";let[e,i,n]=t.split(" ");return l.find(t=>t===e)||(e=l[0]),i===a&&(i=n!==a?n:"",n=a),[e,u(i),!!n]}function h(t){let[e]=c(t);return e.indexOf("row")>-1}function u(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}let d=(()=>{class t extends r.QI{buildStyles(t){return function(t){let[e,i,n]=c(t);return function(t,e=null,i=!1){return{display:i?"inline-flex":"flex","box-sizing":"border-box","flex-direction":t,"flex-wrap":e||null}}(e,i,n)}(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const p=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"];let f=(()=>{class t extends r.iR{constructor(t,e,i,n){super(t,i,e,n),this.DIRECTIVE_KEY="layout",this.styleCache=g,this.init()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(d),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})(),m=(()=>{class t extends f{constructor(){super(...arguments),this.inputs=p}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[n.qOj]}),t})();const g=new Map;function y(t,...e){if(null==t)throw TypeError("Cannot convert undefined or null to object");for(let i of e)if(null!=i)for(let e in i)i.hasOwnProperty(e)&&(t[e]=i[e]);return t}new Map,new Map,new Map,new Map;let b=(()=>{class t extends r.QI{constructor(t){super(),this.layoutConfig=t}buildStyles(t,e){let[i,n,...r]=t.split(" "),s=r.join(" ");const o=e.direction.indexOf("column")>-1?"column":"row",a=h(o)?"max-width":"max-height",l=h(o)?"min-width":"min-height",c=String(s).indexOf("calc")>-1,u=c||"auto"===s,d=String(s).indexOf("%")>-1&&!c,p=String(s).indexOf("px")>-1||String(s).indexOf("rem")>-1||String(s).indexOf("em")>-1||String(s).indexOf("vw")>-1||String(s).indexOf("vh")>-1;let f=c||p;i="0"==i?0:i,n="0"==n?0:n;const m=!i&&!n;let g={};const b={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(s||""){case"":const t=!1!==this.layoutConfig.useColumnBasisZero;s="row"===o?"0%":t?"0.000000001px":"auto";break;case"initial":case"nogrow":i=0,s="auto";break;case"grow":s="100%";break;case"noshrink":n=0,s="auto";break;case"auto":break;case"none":i=0,n=0,s="auto";break;default:f||d||isNaN(s)||(s+="%"),"0%"===s&&(f=!0),"0px"===s&&(s="0%"),g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":f?s:"100%"}:{flex:`${i} ${n} ${f?s:"100%"}`})}return g.flex||g["flex-grow"]||(g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":s}:{flex:`${i} ${n} ${s}`})),"0%"!==s&&"0px"!==s&&"0.000000001px"!==s&&"auto"!==s&&(g[l]=m||f&&i?s:null,g[a]=m||!u&&n?s:null),g[l]||g[a]?e.hasWrap&&(g[c?"flex-basis":"flex"]=g[a]?c?g[a]:`${i} ${n} ${g[a]}`:c?g[l]:`${i} ${n} ${g[l]}`):g=y(b,c?{"flex-grow":i,"flex-shrink":n,"flex-basis":s}:{flex:`${i} ${n} ${s}`}),y(g,{"box-sizing":"border-box"})}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(r.WU))},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t((0,n.LFG)(r.WU))},token:t,providedIn:"root"}),t})();const v=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"];let _=(()=>{class t extends r.iR{constructor(t,e,i,n,r){super(t,n,e,r),this.layoutConfig=i,this.marshal=r,this.DIRECTIVE_KEY="flex",this.direction=void 0,this.wrap=void 0,this.flexGrow="1",this.flexShrink="1",this.init()}get shrink(){return this.flexShrink}set shrink(t){this.flexShrink=t||"1",this.triggerReflow()}get grow(){return this.flexGrow}set grow(t){this.flexGrow=t||"1",this.triggerReflow()}ngOnInit(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe((0,o.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe((0,o.R)(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))}onLayoutChange(t){const e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()}updateWithValue(t){void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,!1!==this.layoutConfig.addFlexToParent)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));const e=this.direction,i=e.startsWith("row"),n=this.wrap;i&&n?this.styleCache=A:i&&!n?this.styleCache=x:!i&&n?this.styleCache=S:i||n||(this.styleCache=C);const s=String(t).replace(";",""),o=(0,r.Ot)(s,this.flexGrow,this.flexShrink);this.addStyles(o.join(" "),{direction:e,hasWrap:n})}triggerReflow(){const t=this.activatedValue;if(void 0!==t){const e=(0,r.Ot)(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(r.WU),n.Y36(b),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[n.qOj]}),t})(),w=(()=>{class t extends _{constructor(){super(...arguments),this.inputs=v}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[n.qOj]}),t})();const x=new Map,C=new Map,A=new Map,S=new Map;new Map,new Map,new Map,new Map,new Map,new Map,new Map;let E=(()=>{class t extends r.QI{buildStyles(t,e){const i={},[n,r]=t.split(" ");switch(n){case"center":i["justify-content"]="center";break;case"space-around":i["justify-content"]="space-around";break;case"space-between":i["justify-content"]="space-between";break;case"space-evenly":i["justify-content"]="space-evenly";break;case"end":case"flex-end":i["justify-content"]="flex-end";break;case"start":case"flex-start":default:i["justify-content"]="flex-start"}switch(r){case"start":case"flex-start":i["align-items"]=i["align-content"]="flex-start";break;case"center":i["align-items"]=i["align-content"]="center";break;case"end":case"flex-end":i["align-items"]=i["align-content"]="flex-end";break;case"space-between":i["align-content"]="space-between",i["align-items"]="stretch";break;case"space-around":i["align-content"]="space-around",i["align-items"]="stretch";break;case"baseline":i["align-content"]="stretch",i["align-items"]="baseline";break;case"stretch":default:i["align-items"]=i["align-content"]="stretch"}return y(i,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===r?h(e.layout)?null:"100%":null,"max-height":"stretch"===r&&h(e.layout)?"100%":null})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const k=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"];let T=(()=>{class t extends r.iR{constructor(t,e,i,n){super(t,i,e,n),this.DIRECTIVE_KEY="layout-align",this.layout="row",this.inline=!1,this.init(),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,o.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}updateWithValue(t){const e=this.layout||"row",i=this.inline;"row"===e&&i?this.styleCache=R:"row"!==e||i?"row-reverse"===e&&i?this.styleCache=P:"row-reverse"!==e||i?"column"===e&&i?this.styleCache=N:"column"!==e||i?"column-reverse"===e&&i?this.styleCache=F:"column-reverse"!==e||i||(this.styleCache=D):this.styleCache=I:this.styleCache=O:this.styleCache=L,this.addStyles(t,{layout:e,inline:i})}onLayoutChange(t){const e=t.value.split(" ");this.layout=e[0],this.inline=t.value.includes("inline"),l.find(t=>t===this.layout)||(this.layout="row"),this.triggerUpdate()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(r.RK),n.Y36(E),n.Y36(r.yB))},t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})(),M=(()=>{class t extends T{constructor(){super(...arguments),this.inputs=k}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[n.qOj]}),t})();const L=new Map,I=new Map,O=new Map,D=new Map,R=new Map,N=new Map,P=new Map,F=new Map;let Z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.IR,s.vT]]}),t})()},6073:(t,e,i)=>{"use strict";i.d(e,{Zs:()=>Bt,gN:()=>Z,Fj:()=>p,qu:()=>Ht,NI:()=>ut,oH:()=>Et,u:()=>Lt,sg:()=>Tt,u5:()=>qt,Fd:()=>Dt,qQ:()=>Nt,Cf:()=>g,JU:()=>h,a5:()=>B,JJ:()=>q,JL:()=>z,F:()=>gt,On:()=>vt,wV:()=>xt,UX:()=>zt,Q7:()=>Zt,kI:()=>v,_Y:()=>_t});var n=i(1572),r=i(1511),s=i(5630),o=i(6891),a=i(1681);let l=(()=>{class t{constructor(t,e){this._renderer=t,this._elementRef=e,this.onChange=t=>{},this.onTouched=()=>{}}setProperty(t,e){this._renderer.setProperty(this._elementRef.nativeElement,t,e)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq))},t.\u0275dir=n.lG2({type:t}),t})(),c=(()=>{class t extends l{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();const h=new n.OlP("NgValueAccessor"),u={provide:h,useExisting:(0,n.Gpc)(()=>p),multi:!0},d=new n.OlP("CompositionEventMode");let p=(()=>{class t extends l{constructor(t,e,i){super(t,e),this._compositionMode=i,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const t=(0,r.q)()?(0,r.q)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq),n.Y36(d,8))},t.\u0275dir=n.lG2({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,e){1&t&&n.NdJ("input",function(t){return e._handleInput(t.target.value)})("blur",function(){return e.onTouched()})("compositionstart",function(){return e._compositionStart()})("compositionend",function(t){return e._compositionEnd(t.target.value)})},features:[n._Bn([u]),n.qOj]}),t})();function f(t){return null==t||0===t.length}function m(t){return null!=t&&"number"==typeof t.length}const g=new n.OlP("NgValidators"),y=new n.OlP("NgAsyncValidators"),b=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class v{static min(t){return _(t)}static max(t){return w(t)}static required(t){return x(t)}static requiredTrue(t){return C(t)}static email(t){return function(t){return f(t.value)||b.test(t.value)?null:{email:!0}}(t)}static minLength(t){return function(t){return e=>f(e.value)||!m(e.value)?null:e.value.lengthm(e.value)&&e.value.length>t?{maxlength:{requiredLength:t,actualLength:e.value.length}}:null}(t)}static pattern(t){return function(t){if(!t)return A;let e,i;return"string"==typeof t?(i="","^"!==t.charAt(0)&&(i+="^"),i+=t,"$"!==t.charAt(t.length-1)&&(i+="$"),e=new RegExp(i)):(i=t.toString(),e=t),t=>{if(f(t.value))return null;const n=t.value;return e.test(n)?null:{pattern:{requiredPattern:i,actualValue:n}}}}(t)}static nullValidator(t){return null}static compose(t){return L(t)}static composeAsync(t){return O(t)}}function _(t){return e=>{if(f(e.value)||f(t))return null;const i=parseFloat(e.value);return!isNaN(i)&&i{if(f(e.value)||f(t))return null;const i=parseFloat(e.value);return!isNaN(i)&&i>t?{max:{max:t,actual:e.value}}:null}}function x(t){return f(t.value)?{required:!0}:null}function C(t){return!0===t.value?null:{required:!0}}function A(t){return null}function S(t){return null!=t}function E(t){const e=(0,n.QGY)(t)?(0,s.Dp)(t):t;return(0,n.CqO)(e),e}function k(t){let e={};return t.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function T(t,e){return e.map(e=>e(t))}function M(t){return t.map(t=>function(t){return!t.validate}(t)?t:e=>t.validate(e))}function L(t){if(!t)return null;const e=t.filter(S);return 0==e.length?null:function(t){return k(T(t,e))}}function I(t){return null!=t?L(M(t)):null}function O(t){if(!t)return null;const e=t.filter(S);return 0==e.length?null:function(t){const i=T(t,e).map(E);return(0,o.D)(i).pipe((0,a.U)(k))}}function D(t){return null!=t?O(M(t)):null}function R(t,e){return null===t?[e]:Array.isArray(t)?[...t,e]:[t,e]}function N(t){return t._rawValidators}function P(t){return t._rawAsyncValidators}let F=(()=>{class t{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=I(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=D(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t}),t})(),Z=(()=>{class t extends F{get formDirective(){return null}get path(){return null}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,features:[n.qOj]}),t})();class B extends F{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class U{constructor(t){this._cd=t}is(t){var e,i;return!!(null===(i=null===(e=this._cd)||void 0===e?void 0:e.control)||void 0===i?void 0:i[t])}}let q=(()=>{class t extends U{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(B,2))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,e){2&t&&n.ekj("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[n.qOj]}),t})(),z=(()=>{class t extends U{constructor(t){super(t)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Z,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:14,hostBindings:function(t,e){2&t&&n.ekj("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[n.qOj]}),t})();function H(t,e){return[...e.path,t]}function Y(t,e){V(t,e),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(i=>{t._pendingValue=i,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&W(t,e)})}(t,e),function(t,e){const i=(t,i)=>{e.valueAccessor.writeValue(t),i&&e.viewToModelUpdate(t)};t.registerOnChange(i),e._registerOnDestroy(()=>{t._unregisterOnChange(i)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&W(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),function(t,e){if(e.valueAccessor.setDisabledState){const i=t=>{e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(i),e._registerOnDestroy(()=>{t._unregisterOnDisabledChange(i)})}}(t,e)}function G(t,e,i=!0){const n=()=>{};e.valueAccessor&&(e.valueAccessor.registerOnChange(n),e.valueAccessor.registerOnTouched(n)),Q(t,e),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function j(t,e){t.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function V(t,e){const i=N(t);null!==e.validator?t.setValidators(R(i,e.validator)):"function"==typeof i&&t.setValidators([i]);const n=P(t);null!==e.asyncValidator?t.setAsyncValidators(R(n,e.asyncValidator)):"function"==typeof n&&t.setAsyncValidators([n]);const r=()=>t.updateValueAndValidity();j(e._rawValidators,r),j(e._rawAsyncValidators,r)}function Q(t,e){let i=!1;if(null!==t){if(null!==e.validator){const n=N(t);if(Array.isArray(n)&&n.length>0){const r=n.filter(t=>t!==e.validator);r.length!==n.length&&(i=!0,t.setValidators(r))}}if(null!==e.asyncValidator){const n=P(t);if(Array.isArray(n)&&n.length>0){const r=n.filter(t=>t!==e.asyncValidator);r.length!==n.length&&(i=!0,t.setAsyncValidators(r))}}}const n=()=>{};return j(e._rawValidators,n),j(e._rawAsyncValidators,n),i}function W(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function J(t,e){V(t,e)}function X(t,e){if(!t.hasOwnProperty("model"))return!1;const i=t.model;return!!i.isFirstChange()||!Object.is(e,i.currentValue)}function K(t,e){t._syncPendingControls(),e.forEach(t=>{const e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)})}function $(t,e){if(!e)return null;let i,n,r;return Array.isArray(e),e.forEach(t=>{t.constructor===p?i=t:Object.getPrototypeOf(t.constructor)===c?n=t:r=t}),r||n||i||null}function tt(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}const et="VALID",it="INVALID",nt="PENDING",rt="DISABLED";function st(t){return(ct(t)?t.validators:t)||null}function ot(t){return Array.isArray(t)?I(t):t||null}function at(t,e){return(ct(e)?e.asyncValidators:t)||null}function lt(t){return Array.isArray(t)?D(t):t||null}function ct(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class ht{constructor(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=ot(this._rawValidators),this._composedAsyncValidatorFn=lt(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===et}get invalid(){return this.status===it}get pending(){return this.status==nt}get disabled(){return this.status===rt}get enabled(){return this.status!==rt}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._rawValidators=t,this._composedValidatorFn=ot(t)}setAsyncValidators(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=lt(t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=nt,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=rt,this.errors=null,this._forEachChild(e=>{e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=et,this._forEachChild(e=>{e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach(t=>t(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==et&&this.status!==nt||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?rt:et}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=nt,this._hasOwnPendingAsyncValidator=!0;const e=E(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(e=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(e,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){return function(t,e,i){if(null==e)return null;if(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length)return null;let n=t;return e.forEach(t=>{n=n instanceof dt?n.controls.hasOwnProperty(t)?n.controls[t]:null:n instanceof pt&&n.at(t)||null}),n}(this,t)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new n.vpe,this.statusChanges=new n.vpe}_calculateStatus(){return this._allControlsDisabled()?rt:this.errors?it:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(nt)?nt:this._anyControlsHaveStatus(it)?it:et}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_isBoxedValue(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){ct(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class ut extends ht{constructor(t=null,e,i){super(st(e),at(i,e)),this._onChange=[],this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(t=>t(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=null,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){tt(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){tt(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}}class dt extends ht{constructor(t,e,i){super(st(e),at(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){this._checkAllValuesPresent(t),Object.keys(t).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,n)=>{i.reset(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e instanceof ut?e.value:e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(t,e)=>!!e._syncPendingControls()||t);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error(`Cannot find form control with name: ${t}.`)}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const e of Object.keys(this.controls)){const i=this.controls[e];if(this.contains(e)&&t(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(t,e,i)=>((e.enabled||this.disabled)&&(t[i]=e.value),t))}_reduceChildren(t,e){let i=t;return this._forEachChild((t,n)=>{i=e(i,t,n)}),i}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(t){this._forEachChild((e,i)=>{if(void 0===t[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class pt extends ht{constructor(t,e,i){super(st(e),at(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[t]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){this._checkAllValuesPresent(t),t.forEach((t,i)=>{this._throwIfControlMissing(i),this.at(i).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((t,i)=>{this.at(i)&&this.at(i).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,n)=>{i.reset(t[n],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t instanceof ut?t.value:t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_syncPendingControls(){let t=this.controls.reduce((t,e)=>!!e._syncPendingControls()||t,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_throwIfControlMissing(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error(`Cannot find form control at index ${t}`)}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_checkAllValuesPresent(t){this._forEachChild((e,i)=>{if(void 0===t[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}}const ft={provide:Z,useExisting:(0,n.Gpc)(()=>gt)},mt=(()=>Promise.resolve(null))();let gt=(()=>{class t extends Z{constructor(t,e){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new n.vpe,this.form=new dt({},I(t),D(e))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){mt.then(()=>{const e=this._findContainer(t.path);t.control=e.registerControl(t.name,t.control),Y(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){mt.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name),tt(this._directives,t)})}addFormGroup(t){mt.then(()=>{const e=this._findContainer(t.path),i=new dt({});J(i,t),e.registerControl(t.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){mt.then(()=>{const e=this._findContainer(t.path);e&&e.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,e){mt.then(()=>{this.form.get(t.path).setValue(e)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,K(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10))},t.\u0275dir=n.lG2({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&n.NdJ("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[n._Bn([ft]),n.qOj]}),t})();const yt={provide:B,useExisting:(0,n.Gpc)(()=>vt)},bt=(()=>Promise.resolve(null))();let vt=(()=>{class t extends B{constructor(t,e,i,r){super(),this.control=new ut,this._registered=!1,this.update=new n.vpe,this._parent=t,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=$(0,r)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),X(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?H(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Y(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){bt.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const e=t.isDisabled.currentValue,i=""===e||e&&"false"!==e;bt.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable()})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Z,9),n.Y36(g,10),n.Y36(y,10),n.Y36(h,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[n._Bn([yt]),n.qOj,n.TTD]}),t})(),_t=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const wt={provide:h,useExisting:(0,n.Gpc)(()=>xt),multi:!0};let xt=(()=>{class t extends c{writeValue(t){this.setProperty("value",null==t?"":t)}registerOnChange(t){this.onChange=e=>{t(""==e?null:parseFloat(e))}}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(t,e){1&t&&n.NdJ("input",function(t){return e.onChange(t.target.value)})("blur",function(){return e.onTouched()})},features:[n._Bn([wt]),n.qOj]}),t})(),Ct=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();const At=new n.OlP("NgModelWithFormControlWarning"),St={provide:B,useExisting:(0,n.Gpc)(()=>Et)};let Et=(()=>{class t extends B{constructor(t,e,i,r){super(),this._ngModelWarningConfig=r,this.update=new n.vpe,this._ngModelWarningSent=!1,this._setValidators(t),this._setAsyncValidators(e),this.valueAccessor=$(0,i)}set isDisabled(t){}ngOnChanges(t){if(this._isControlChanged(t)){const e=t.form.previousValue;e&&G(e,this,!1),Y(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}X(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&G(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_isControlChanged(t){return t.hasOwnProperty("form")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10),n.Y36(h,10),n.Y36(At,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[n._Bn([St]),n.qOj,n.TTD]}),t._ngModelWarningSentOnce=!1,t})();const kt={provide:Z,useExisting:(0,n.Gpc)(()=>Tt)};let Tt=(()=>{class t extends Z{constructor(t,e){super(),this.validators=t,this.asyncValidators=e,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new n.vpe,this._setValidators(t),this._setAsyncValidators(e)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Q(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const e=this.form.get(t.path);return Y(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e}getControl(t){return this.form.get(t.path)}removeControl(t){G(t.control||null,t,!1),tt(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,e){this.form.get(t.path).setValue(e)}onSubmit(t){return this.submitted=!0,K(this.form,this.directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{const e=t.control,i=this.form.get(t.path);e!==i&&(G(e||null,t),i instanceof ut&&(Y(i,t),t.control=i))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const e=this.form.get(t.path);J(e,t),e.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const e=this.form.get(t.path);e&&function(t,e){return Q(t,e)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){V(this.form,this),this._oldForm&&Q(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(g,10),n.Y36(y,10))},t.\u0275dir=n.lG2({type:t,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&n.NdJ("submit",function(t){return e.onSubmit(t)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[n._Bn([kt]),n.qOj,n.TTD]}),t})();const Mt={provide:B,useExisting:(0,n.Gpc)(()=>Lt)};let Lt=(()=>{class t extends B{constructor(t,e,i,r,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new n.vpe,this._ngModelWarningSent=!1,this._parent=t,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=$(0,r)}set isDisabled(t){}ngOnChanges(t){this._added||this._setUpControl(),X(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return H(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Z,13),n.Y36(g,10),n.Y36(y,10),n.Y36(h,10),n.Y36(At,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[n._Bn([Mt]),n.qOj,n.TTD]}),t._ngModelWarningSentOnce=!1,t})(),It=(()=>{class t{constructor(){this._validator=A}handleChanges(t){if(this.inputName in t){const e=this.normalizeInput(t[this.inputName].currentValue);this._validator=this.createValidator(e),this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t}),t})();const Ot={provide:g,useExisting:(0,n.Gpc)(()=>Dt),multi:!0};let Dt=(()=>{class t extends It{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=t=>parseFloat(t),this.createValidator=t=>w(t)}ngOnChanges(t){this.handleChanges(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(t,e){if(2&t){let t;n.uIk("max",null!==(t=e.max)&&void 0!==t?t:null)}},inputs:{max:"max"},features:[n._Bn([Ot]),n.qOj,n.TTD]}),t})();const Rt={provide:g,useExisting:(0,n.Gpc)(()=>Nt),multi:!0};let Nt=(()=>{class t extends It{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=t=>parseFloat(t),this.createValidator=t=>_(t)}ngOnChanges(t){this.handleChanges(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(t,e){if(2&t){let t;n.uIk("min",null!==(t=e.min)&&void 0!==t?t:null)}},inputs:{min:"min"},features:[n._Bn([Rt]),n.qOj,n.TTD]}),t})();const Pt={provide:g,useExisting:(0,n.Gpc)(()=>Zt),multi:!0},Ft={provide:g,useExisting:(0,n.Gpc)(()=>Bt),multi:!0};let Zt=(()=>{class t{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?x(t):null}registerOnValidatorChange(t){this._onChange=t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("required",e.required?"":null)},inputs:{required:"required"},features:[n._Bn([Pt])]}),t})(),Bt=(()=>{class t extends Zt{validate(t){return this.required?C(t):null}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("required",e.required?"":null)},features:[n._Bn([Ft]),n.qOj]}),t})(),Ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[Ct]]}),t})(),qt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[Ut]}),t})(),zt=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:At,useValue:e.warnOnNgModelWithFormControl}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[Ut]}),t})(),Ht=(()=>{class t{group(t,e=null){const i=this._reduceControls(t);let n,r=null,s=null;return null!=e&&(function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validators?e.validators:null,s=null!=e.asyncValidators?e.asyncValidators:null,n=null!=e.updateOn?e.updateOn:void 0):(r=null!=e.validator?e.validator:null,s=null!=e.asyncValidator?e.asyncValidator:null)),new dt(i,{asyncValidators:s,updateOn:n,validators:r})}control(t,e,i){return new ut(t,e,i)}array(t,e,i){const n=t.map(t=>this._createControl(t));return new pt(n,e,i)}_reduceControls(t){const e={};return Object.keys(t).forEach(i=>{e[i]=this._createControl(t[i])}),e}_createControl(t){return t instanceof ut||t instanceof dt||t instanceof pt?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:zt}),t})()},84:(t,e,i)=>{"use strict";i.d(e,{XC:()=>F,Bb:()=>H,ZL:()=>z});var n=i(4621),r=i(9861),s=i(1353),o=i(1572),a=i(1522),l=i(6042),c=i(9666),h=i(970),u=i(5446),d=i(2041),p=i(5960),f=i(1511),m=i(369),g=i(4894),y=i(5842),b=i(6899),v=i(6073),_=i(6283),w=i(9056),x=i(4324),C=i(8868),A=i(1681),S=i(343),E=i(6493),k=i(2526);const T=["panel"];function M(t,e){if(1&t&&(o.TgZ(0,"div",0,1),o.Hsn(2),o.qZA()),2&t){const t=e.id,i=o.oxw();o.Q6J("id",i.id)("ngClass",i._classList),o.uIk("aria-label",i.ariaLabel||null)("aria-labelledby",i._getPanelAriaLabelledby(t))}}const L=["*"];let I=0;class O{constructor(t,e){this.source=t,this.option=e}}class D{}const R=(0,a.Kr)(D),N=new o.OlP("mat-autocomplete-default-options",{providedIn:"root",factory:function(){return{autoActiveFirstOption:!1}}});let P=(()=>{class t extends R{constructor(t,e,i,n){super(),this._changeDetectorRef=t,this._elementRef=e,this._activeOptionChanges=l.w0.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new o.vpe,this.opened=new o.vpe,this.closed=new o.vpe,this.optionActivated=new o.vpe,this._classList={},this.id="mat-autocomplete-"+I++,this.inertGroups=(null==n?void 0:n.SAFARI)||!1,this._autoActiveFirstOption=!!i.autoActiveFirstOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(t){this._autoActiveFirstOption=(0,r.Ig)(t)}set classList(t){this._classList=t&&t.length?(0,r.du)(t).reduce((t,e)=>(t[e]=!0,t),{}):{},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new n.s1(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(t=>{this.optionActivated.emit({source:this,option:this.options.toArray()[t]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(t){this.panel&&(this.panel.nativeElement.scrollTop=t)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(t){const e=new O(this,t);this.optionSelected.emit(e)}_getPanelAriaLabelledby(t){return this.ariaLabel?null:this.ariaLabelledby?(t?t+" ":"")+this.ariaLabelledby:t}_setVisibilityClasses(t){t[this._visibleClass]=this.showPanel,t[this._hiddenClass]=!this.showPanel}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36(o.SBq),o.Y36(N),o.Y36(s.t4))},t.\u0275dir=o.lG2({type:t,viewQuery:function(t,e){if(1&t&&(o.Gf(o.Rgc,7),o.Gf(T,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.template=t.first),o.iGM(t=o.CRH())&&(e.panel=t.first)}},inputs:{displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",classList:["class","classList"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],panelWidth:"panelWidth"},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[o.qOj]}),t})(),F=(()=>{class t extends P{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-autocomplete"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,a.K7,5),o.Suo(i,a.ey,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.optionGroups=t),o.iGM(t=o.CRH())&&(e.options=t)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[o._Bn([{provide:a.HF,useExisting:t}]),o.qOj],ngContentSelectors:L,decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,M,3,4,"ng-template"))},directives:[f.mk],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}\n"],encapsulation:2,changeDetection:0}),t})();const Z=new o.OlP("mat-autocomplete-scroll-strategy"),B={provide:Z,deps:[m.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},U={provide:v.JU,useExisting:(0,o.Gpc)(()=>z),multi:!0};let q=(()=>{class t{constructor(t,e,i,n,r,s,o,a,d,p,f){this._element=t,this._overlay=e,this._viewContainerRef=i,this._zone=n,this._changeDetectorRef=r,this._dir=o,this._formField=a,this._document=d,this._viewportRuler=p,this._defaults=f,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=l.w0.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new c.x,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=(0,h.P)(()=>this.autocomplete&&this.autocomplete.options?(0,u.T)(...this.autocomplete.options.map(t=>t.onSelectionChange)):this._zone.onStable.pipe((0,w.q)(1),(0,x.w)(()=>this.optionSelections))),this._scrollStrategy=s}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(t){this._autocompleteDisabled=(0,r.Ig)(t)}ngAfterViewInit(){const t=this._getWindow();void 0!==t&&this._zone.runOutsideAngular(()=>t.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(t){t.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const t=this._getWindow();void 0!==t&&t.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this.autocomplete.closed.emit(),this.autocomplete._isOpen=this._overlayAttached=!1,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return(0,u.T)(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe((0,C.h)(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe((0,C.h)(()=>this._overlayAttached)):(0,d.of)()).pipe((0,A.U)(t=>t instanceof a.rN?t:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return(0,u.T)((0,p.R)(this._document,"click"),(0,p.R)(this._document,"auxclick"),(0,p.R)(this._document,"touchend")).pipe((0,C.h)(t=>{const e=this._isInsideShadowRoot&&t.composedPath?t.composedPath()[0]:t.target,i=this._formField?this._formField._elementRef.nativeElement:null,n=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&e!==this._element.nativeElement&&(!i||!i.contains(e))&&(!n||!n.contains(e))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(e)}))}writeValue(t){Promise.resolve(null).then(()=>this._setTriggerValue(t))}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this._element.nativeElement.disabled=t}_handleKeydown(t){const e=t.keyCode;if(e!==y.hY||(0,y.Vb)(t)||t.preventDefault(),this.activeOption&&e===y.K5&&this.panelOpen)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){const i=this.autocomplete._keyManager.activeItem,n=e===y.LH||e===y.JH;this.panelOpen||e===y.Mf?this.autocomplete._keyManager.onKeydown(t):n&&this._canOpen()&&this.openPanel(),(n||this.autocomplete._keyManager.activeItem!==i)&&this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0)}}_handleInput(t){let e=t.target,i=e.value;"number"===e.type&&(i=""==i?null:parseFloat(i)),this._previousValue!==i&&(this._previousValue=i,this._onChange(i),this._canOpen()&&this._document.activeElement===t.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_floatLabel(t=!1){this._formField&&"auto"===this._formField.floatLabel&&(t?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){const t=this._zone.onStable.pipe((0,w.q)(1)),e=this.autocomplete.options.changes.pipe((0,S.b)(()=>this._positionStrategy.reapplyLastPosition()),(0,E.g)(0));return(0,u.T)(t,e).pipe((0,x.w)(()=>{const t=this.panelOpen;return this._resetActiveItem(),this.autocomplete._setVisibility(),this.panelOpen&&(this._overlayRef.updatePosition(),t!==this.panelOpen&&this.autocomplete.opened.emit()),this.panelClosingActions}),(0,w.q)(1)).subscribe(t=>this._setValueAndClose(t))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_setTriggerValue(t){const e=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(t):t,i=null!=e?e:"";this._formField?this._formField._control.value=i:this._element.nativeElement.value=i,this._previousValue=i}_setValueAndClose(t){t&&t.source&&(this._clearPreviousSelectedOption(t.source),this._setTriggerValue(t.source.value),this._onChange(t.source.value),this._element.nativeElement.focus(),this.autocomplete._emitSelectEvent(t.source)),this.closePanel()}_clearPreviousSelectedOption(t){this.autocomplete.options.forEach(e=>{e!==t&&e.selected&&e.deselect()})}_attachOverlay(){var t;null==this._isInsideShadowRoot&&(this._isInsideShadowRoot=!!(0,s.kV)(this._element.nativeElement));let e=this._overlayRef;e?(this._positionStrategy.setOrigin(this._getConnectedElement()),e.updateSize({width:this._getPanelWidth()})):(this._portal=new b.UE(this.autocomplete.template,this._viewContainerRef,{id:null===(t=this._formField)||void 0===t?void 0:t.getLabelId()}),e=this._overlay.create(this._getOverlayConfig()),this._overlayRef=e,e.keydownEvents().subscribe(t=>{(t.keyCode===y.hY&&!(0,y.Vb)(t)||t.keyCode===y.LH&&(0,y.Vb)(t,"altKey"))&&(this._resetActiveItem(),this._closeKeyEventStream.next(),t.stopPropagation(),t.preventDefault())}),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&e&&e.updateSize({width:this._getPanelWidth()})})),e&&!e.hasAttached()&&(e.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const i=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&i!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){var t;return new m.X_({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:null===(t=this._defaults)||void 0===t?void 0:t.overlayPanelClass})}_getOverlayPosition(){const t=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(t),this._positionStrategy=t,t}_setStrategyPositions(t){const e=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],i=this._aboveClass,n=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:i},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:i}];let r;r="above"===this.position?n:"below"===this.position?e:[...e,...n],t.withPositions(r)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const t=this.autocomplete;t.autoActiveFirstOption?t._keyManager.setFirstItemActive():t._keyManager.setActiveItem(-1)}_canOpen(){const t=this._element.nativeElement;return!t.readOnly&&!t.disabled&&!this._autocompleteDisabled}_getWindow(){var t;return(null===(t=this._document)||void 0===t?void 0:t.defaultView)||window}_scrollToOption(t){const e=this.autocomplete,i=(0,a.CB)(t,e.options,e.optionGroups);if(0===t&&1===i)e._setScrollTop(0);else if(e.panel){const i=e.options.toArray()[t];if(i){const t=i._getHostElement(),n=(0,a.jH)(t.offsetTop,t.offsetHeight,e._getScrollTop(),e.panel.nativeElement.offsetHeight);e._setScrollTop(n)}}}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(m.aV),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(Z),o.Y36(k.Is,8),o.Y36(_.G_,9),o.Y36(f.K0,8),o.Y36(g.rL),o.Y36(N,8))},t.\u0275dir=o.lG2({type:t,inputs:{position:["matAutocompletePosition","position"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"],autocomplete:["matAutocomplete","autocomplete"],connectedTo:["matAutocompleteConnectedTo","connectedTo"]},features:[o.TTD]}),t})(),z=(()=>{class t extends q{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(t,e){1&t&&o.NdJ("focusin",function(){return e._handleFocus()})("blur",function(){return e._onTouched()})("input",function(t){return e._handleInput(t)})("keydown",function(t){return e._handleKeydown(t)}),2&t&&o.uIk("autocomplete",e.autocompleteAttribute)("role",e.autocompleteDisabled?null:"combobox")("aria-autocomplete",e.autocompleteDisabled?null:"list")("aria-activedescendant",e.panelOpen&&e.activeOption?e.activeOption.id:null)("aria-expanded",e.autocompleteDisabled?null:e.panelOpen.toString())("aria-owns",e.autocompleteDisabled||!e.panelOpen||null==e.autocomplete?null:e.autocomplete.id)("aria-haspopup",!e.autocompleteDisabled)},exportAs:["matAutocompleteTrigger"],features:[o._Bn([U]),o.qOj]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[B],imports:[[m.U8,a.Ng,a.BQ,f.ez],g.ZD,a.Ng,a.BQ]}),t})()},1050:(t,e,i)=>{"use strict";i.d(e,{k:()=>u,g:()=>d});var n=i(1522),r=i(4621),s=i(9861),o=i(3490),a=i(1572);let l=0;class c{}const h=(0,n.Id)(c);let u=(()=>{class t extends h{constructor(t,e,i,n,r){super(),this._ngZone=t,this._elementRef=e,this._ariaDescriber=i,this._renderer=n,this._animationMode=r,this._hasContent=!1,this._color="primary",this._overlap=!0,this.position="above after",this.size="medium",this._id=l++}get color(){return this._color}set color(t){this._setColor(t),this._color=t}get overlap(){return this._overlap}set overlap(t){this._overlap=(0,s.Ig)(t)}get description(){return this._description}set description(t){if(t!==this._description){const e=this._badgeElement;this._updateHostAriaDescription(t,this._description),this._description=t,e&&(t?e.setAttribute("aria-label",t):e.removeAttribute("aria-label"))}}get hidden(){return this._hidden}set hidden(t){this._hidden=(0,s.Ig)(t)}isAbove(){return-1===this.position.indexOf("below")}isAfter(){return-1===this.position.indexOf("before")}ngOnChanges(t){const e=t.content;if(e){const t=e.currentValue;this._hasContent=null!=t&&`${t}`.trim().length>0,this._updateTextContent()}}ngOnDestroy(){const t=this._badgeElement;t&&(this.description&&this._ariaDescriber.removeDescription(t,this.description),this._renderer.destroyNode&&this._renderer.destroyNode(t))}getBadgeElement(){return this._badgeElement}_updateTextContent(){return this._badgeElement?this._badgeElement.textContent=this._stringifyContent():this._badgeElement=this._createBadgeElement(),this._badgeElement}_createBadgeElement(){const t=this._renderer.createElement("span"),e="mat-badge-active",i="mat-badge-content";return this._clearExistingBadges(i),t.setAttribute("id",`mat-badge-content-${this._id}`),t.classList.add(i),t.textContent=this._stringifyContent(),"NoopAnimations"===this._animationMode&&t.classList.add("_mat-animation-noopable"),this.description&&t.setAttribute("aria-label",this.description),this._elementRef.nativeElement.appendChild(t),"function"==typeof requestAnimationFrame&&"NoopAnimations"!==this._animationMode?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{t.classList.add(e)})}):t.classList.add(e),t}_updateHostAriaDescription(t,e){const i=this._updateTextContent();e&&this._ariaDescriber.removeDescription(i,e),t&&this._ariaDescriber.describe(i,t)}_setColor(t){if(t!==this._color){const e=this._elementRef.nativeElement.classList;this._color&&e.remove(`mat-badge-${this._color}`),t&&e.add(`mat-badge-${t}`)}}_clearExistingBadges(t){const e=this._elementRef.nativeElement;let i=e.children.length;for(;i--;){const n=e.children[i];n.classList.contains(t)&&e.removeChild(n)}}_stringifyContent(){const t=this.content;return null==t?"":`${t}`}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.R0b),a.Y36(a.SBq),a.Y36(r.$s),a.Y36(a.Qsj),a.Y36(o.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(t,e){2&t&&a.ekj("mat-badge-overlap",e.overlap)("mat-badge-above",e.isAbove())("mat-badge-below",!e.isAbove())("mat-badge-before",!e.isAfter())("mat-badge-after",e.isAfter())("mat-badge-small","small"===e.size)("mat-badge-medium","medium"===e.size)("mat-badge-large","large"===e.size)("mat-badge-hidden",e.hidden||!e._hasContent)("mat-badge-disabled",e.disabled)},inputs:{disabled:["matBadgeDisabled","disabled"],position:["matBadgePosition","position"],size:["matBadgeSize","size"],color:["matBadgeColor","color"],overlap:["matBadgeOverlap","overlap"],description:["matBadgeDescription","description"],hidden:["matBadgeHidden","hidden"],content:["matBadge","content"]},features:[a.qOj,a.TTD]}),t})(),d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[r.rt,n.BQ],n.BQ]}),t})()},5980:(t,e,i)=>{"use strict";i.d(e,{lW:()=>d,ot:()=>p});var n=i(1522),r=i(3490),s=i(1572),o=i(4621);const a=["mat-button",""],l=["*"],c=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"];class h{constructor(t){this._elementRef=t}}const u=(0,n.pj)((0,n.Id)((0,n.Kr)(h)));let d=(()=>{class t extends u{constructor(t,e,i){super(t),this._focusMonitor=e,this._animationMode=i,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const n of c)this._hasHostAttributes(n)&&this._getHostElement().classList.add(n);t.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...t){return t.some(t=>this._getHostElement().hasAttribute(t))}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(o.tE),s.Y36(r.Qb,8))},t.\u0275cmp=s.Xpm({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(t,e){if(1&t&&s.Gf(n.wG,5),2&t){let t;s.iGM(t=s.CRH())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(t,e){2&t&&(s.uIk("disabled",e.disabled||null),s.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-button-disabled",e.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[s.qOj],attrs:a,ngContentSelectors:l,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(t,e){1&t&&(s.F$t(),s.TgZ(0,"span",0),s.Hsn(1),s.qZA(),s._UZ(2,"span",1),s._UZ(3,"span",2)),2&t&&(s.xp6(2),s.ekj("mat-button-ripple-round",e.isRoundButton||e.isIconButton),s.Q6J("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",e.isIconButton)("matRippleTrigger",e._getHostElement()))},directives:[n.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"],encapsulation:2,changeDetection:0}),t})(),p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[n.si,n.BQ],n.BQ]}),t})()},7439:(t,e,i)=>{"use strict";i.d(e,{a8:()=>p,dn:()=>h,dk:()=>f,QW:()=>m,$j:()=>d,n5:()=>u});var n=i(3490),r=i(1522),s=i(1572);const o=["*",[["mat-card-footer"]]],a=["*","mat-card-footer"],l=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],c=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"];let h=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-content"],["","mat-card-content",""],["","matCardContent",""]],hostAttrs:[1,"mat-card-content"]}),t})(),u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]}),t})(),d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]}),t})(),p=(()=>{class t{constructor(t){this._animationMode=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(n.Qb,8))},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)},exportAs:["matCard"],ngContentSelectors:a,decls:2,vars:0,template:function(t,e){1&t&&(s.F$t(o),s.Hsn(0),s.Hsn(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}._mat-animation-noopable.mat-card{transition:none;animation:none}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:c,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function(t,e){1&t&&(s.F$t(l),s.Hsn(0),s.TgZ(1,"div",0),s.Hsn(2,1),s.qZA(),s.Hsn(3,2))},encapsulation:2,changeDetection:0}),t})(),m=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.BQ],r.BQ]}),t})()},9236:(t,e,i)=>{"use strict";i.d(e,{oG:()=>w,p9:()=>C});var n=i(9861),r=i(1572),s=i(6073),o=i(1522),a=i(3490),l=i(6337),c=i(4621);const h=["input"],u=function(t){return{enterDuration:t}},d=["*"],p=new r.OlP("mat-checkbox-default-options",{providedIn:"root",factory:f});function f(){return{color:"accent",clickAction:"check-indeterminate"}}let m=0;const g=f(),y={provide:s.JU,useExisting:(0,r.Gpc)(()=>w),multi:!0};class b{}class v{constructor(t){this._elementRef=t}}const _=(0,o.sb)((0,o.pj)((0,o.Kr)((0,o.Id)(v))));let w=(()=>{class t extends _{constructor(t,e,i,n,s,o,a){super(t),this._changeDetectorRef=e,this._focusMonitor=i,this._ngZone=n,this._animationMode=o,this._options=a,this.ariaLabel="",this.ariaLabelledby=null,this._uniqueId="mat-checkbox-"+ ++m,this.id=this._uniqueId,this.labelPosition="after",this.name=null,this.change=new r.vpe,this.indeterminateChange=new r.vpe,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||g,this.color=this.defaultColor=this._options.color||g.color,this.tabIndex=parseInt(s)||0}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(t){this._required=(0,n.Ig)(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t||Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}),this._syncIndeterminate(this._indeterminate)}ngAfterViewChecked(){}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}get checked(){return this._checked}set checked(t){t!=this.checked&&(this._checked=t,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){const e=(0,n.Ig)(t);e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(t){const e=t!=this._indeterminate;this._indeterminate=(0,n.Ig)(t),e&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(t){this.checked=!!t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(t){let e=this._currentCheckState,i=this._elementRef.nativeElement;if(e!==t&&(this._currentAnimationClass.length>0&&i.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(e,t),this._currentCheckState=t,this._currentAnimationClass.length>0)){i.classList.add(this._currentAnimationClass);const t=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{i.classList.remove(t)},1e3)})}}_emitChangeEvent(){const t=new b;t.source=this,t.checked=this.checked,this._controlValueAccessorChangeFn(this.checked),this.change.emit(t),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked}_onInputClick(t){var e;const i=null===(e=this._options)||void 0===e?void 0:e.clickAction;t.stopPropagation(),this.disabled||"noop"===i?this.disabled||"noop"!==i||(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==i&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this.toggle(),this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}focus(t,e){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_onInteractionEvent(t){t.stopPropagation()}_getAnimationClassForCheckStateTransition(t,e){if("NoopAnimations"===this._animationMode)return"";let i="";switch(t){case 0:if(1===e)i="unchecked-checked";else{if(3!=e)return"";i="unchecked-indeterminate"}break;case 2:i=1===e?"unchecked-checked":"unchecked-indeterminate";break;case 1:i=2===e?"checked-unchecked":"checked-indeterminate";break;case 3:i=1===e?"indeterminate-checked":"indeterminate-unchecked"}return`mat-checkbox-anim-${i}`}_syncIndeterminate(t){const e=this._inputElement;e&&(e.nativeElement.indeterminate=t)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(r.sBO),r.Y36(c.tE),r.Y36(r.R0b),r.$8M("tabindex"),r.Y36(a.Qb,8),r.Y36(p,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-checkbox"]],viewQuery:function(t,e){if(1&t&&(r.Gf(h,5),r.Gf(o.wG,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._inputElement=t.first),r.iGM(t=r.CRH())&&(e.ripple=t.first)}},hostAttrs:[1,"mat-checkbox"],hostVars:12,hostBindings:function(t,e){2&t&&(r.Ikx("id",e.id),r.uIk("tabindex",null),r.ekj("mat-checkbox-indeterminate",e.indeterminate)("mat-checkbox-checked",e.checked)("mat-checkbox-disabled",e.disabled)("mat-checkbox-label-before","before"==e.labelPosition)("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",labelPosition:"labelPosition",name:"name",required:"required",checked:"checked",disabled:"disabled",indeterminate:"indeterminate",ariaDescribedby:["aria-describedby","ariaDescribedby"],value:"value"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[r._Bn([y]),r.qOj],ngContentSelectors:d,decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24",0,"xml","space","preserve",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function(t,e){if(1&t&&(r.F$t(),r.TgZ(0,"label",0,1),r.TgZ(2,"span",2),r.TgZ(3,"input",3,4),r.NdJ("change",function(t){return e._onInteractionEvent(t)})("click",function(t){return e._onInputClick(t)}),r.qZA(),r.TgZ(5,"span",5),r._UZ(6,"span",6),r.qZA(),r._UZ(7,"span",7),r.TgZ(8,"span",8),r.O4$(),r.TgZ(9,"svg",9),r._UZ(10,"path",10),r.qZA(),r.kcU(),r._UZ(11,"span",11),r.qZA(),r.qZA(),r.TgZ(12,"span",12,13),r.NdJ("cdkObserveContent",function(){return e._onLabelTextChange()}),r.TgZ(14,"span",14),r._uU(15,"\xa0"),r.qZA(),r.Hsn(16),r.qZA(),r.qZA()),2&t){const t=r.MAs(1),i=r.MAs(13);r.uIk("for",e.inputId),r.xp6(2),r.ekj("mat-checkbox-inner-container-no-side-margin",!i.textContent||!i.textContent.trim()),r.xp6(1),r.Q6J("id",e.inputId)("required",e.required)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex),r.uIk("value",e.value)("name",e.name)("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby)("aria-checked",e._getAriaChecked())("aria-describedby",e.ariaDescribedby),r.xp6(2),r.Q6J("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",r.VKq(19,u,"NoopAnimations"===e._animationMode?0:150))}},directives:[o.wG,l.wD],styles:["@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:transparent}._mat-animation-noopable.mat-checkbox{transition:none;animation:none}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.cdk-high-contrast-active .mat-checkbox.cdk-keyboard-focused .mat-checkbox-ripple{outline:solid 3px}.mat-checkbox-layout{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:transparent;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:transparent}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}\n"],encapsulation:2,changeDetection:0}),t})(),x=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[o.si,o.BQ,l.Q8,x],o.BQ,x]}),t})()},1522:(t,e,i)=>{"use strict";i.d(e,{yN:()=>b,mZ:()=>v,_A:()=>L,rD:()=>z,sG:()=>I,K7:()=>ct,HF:()=>rt,Y2:()=>$,BQ:()=>x,X2:()=>H,uc:()=>j,XK:()=>q,ey:()=>pt,Ng:()=>gt,rN:()=>ut,nP:()=>it,us:()=>nt,wG:()=>tt,si:()=>et,LF:()=>Z,IR:()=>K,CB:()=>ft,jH:()=>mt,pj:()=>A,Kr:()=>S,Id:()=>C,FD:()=>k,dB:()=>T,sb:()=>E,E0:()=>Y});var n=i(1572),r=i(4621),s=i(2526);const o=new n.GfV("12.0.5");var a=i(1511),l=i(9861),c=i(9666),h=i(2391),u=i(1353),d=i(1258),p=i(3490),f=i(5842);function m(t,e){if(1&t&&n._UZ(0,"mat-pseudo-checkbox",4),2&t){const t=n.oxw();n.Q6J("state",t.selected?"checked":"unchecked")("disabled",t.disabled)}}function g(t,e){if(1&t&&(n.TgZ(0,"span",5),n._uU(1),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.hij("(",t.group.label,")")}}const y=["*"];let b=(()=>{class t{}return t.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",t.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",t.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",t.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)",t})(),v=(()=>{class t{}return t.COMPLEX="375ms",t.ENTERING="225ms",t.EXITING="195ms",t})();const _=new n.GfV("12.0.5"),w=new n.OlP("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});let x=(()=>{class t{constructor(t,e,i){this._hasDoneGlobalChecks=!1,this._document=i,t._applyBodyHighContrastModeCssClasses(),this._sanityChecks=e,this._hasDoneGlobalChecks||(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_getWindow(){const t=this._document.defaultView||window;return"object"==typeof t&&t?t:null}_checksAreEnabled(){return(0,n.X6Q)()&&!this._isTestEnv()}_isTestEnv(){const t=this._getWindow();return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._checksAreEnabled()&&(!0===this._sanityChecks||this._sanityChecks.doctype)&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._checksAreEnabled()||!1===this._sanityChecks||!this._sanityChecks.theme||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){this._checksAreEnabled()&&(!0===this._sanityChecks||this._sanityChecks.version)&&_.full!==o.full&&console.warn("The Angular Material version ("+_.full+") does not match the Angular CDK version ("+o.full+").\nPlease ensure the versions of these two packages exactly match.")}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(r.qm),n.LFG(w,8),n.LFG(a.K0))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.vT],s.vT]}),t})();function C(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,l.Ig)(t)}}}function A(t,e){return class extends t{constructor(...t){super(...t),this.defaultColor=e,this.color=e}get color(){return this._color}set color(t){const e=t||this.defaultColor;e!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),e&&this._elementRef.nativeElement.classList.add(`mat-${e}`),this._color=e)}}}function S(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,l.Ig)(t)}}}function E(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e,this.defaultTabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?(0,l.su)(t):this.defaultTabIndex}}}function k(t){return class extends t{constructor(...t){super(...t),this.errorState=!1,this.stateChanges=new c.x}updateErrorState(){const t=this.errorState,e=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);e!==t&&(this.errorState=e,this.stateChanges.next())}}}function T(t){return class extends t{constructor(...t){super(...t),this._isInitialized=!1,this._pendingSubscribers=[],this.initialized=new h.y(t=>{this._isInitialized?this._notifySubscriber(t):this._pendingSubscribers.push(t)})}_markInitialized(){this._isInitialized=!0,this._pendingSubscribers.forEach(this._notifySubscriber),this._pendingSubscribers=null}_notifySubscriber(t){t.next(),t.complete()}}}const M=new n.OlP("MAT_DATE_LOCALE",{providedIn:"root",factory:function(){return(0,n.f3M)(n.soG)}});class L{constructor(){this._localeChanges=new c.x,this.localeChanges=this._localeChanges}getValidDateOrNull(t){return this.isDateInstance(t)&&this.isValid(t)?t:null}deserialize(t){return null==t||this.isDateInstance(t)&&this.isValid(t)?t:this.invalid()}setLocale(t){this.locale=t,this._localeChanges.next()}compareDate(t,e){return this.getYear(t)-this.getYear(e)||this.getMonth(t)-this.getMonth(e)||this.getDate(t)-this.getDate(e)}sameDate(t,e){if(t&&e){let i=this.isValid(t),n=this.isValid(e);return i&&n?!this.compareDate(t,e):i==n}return t==e}clampDate(t,e,i){return e&&this.compareDate(t,e)<0?e:i&&this.compareDate(t,i)>0?i:t}}const I=new n.OlP("mat-date-formats");let O;try{O="undefined"!=typeof Intl}catch(yt){O=!1}const D={long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],narrow:["J","F","M","A","M","J","J","A","S","O","N","D"]},R=F(31,t=>String(t+1)),N={long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],narrow:["S","M","T","W","T","F","S"]},P=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function F(t,e){const i=Array(t);for(let n=0;n{class t extends L{constructor(t,e){super(),this.useUtcForDisplay=!0,super.setLocale(t),this.useUtcForDisplay=!e.TRIDENT,this._clampDate=e.TRIDENT||e.EDGE}getYear(t){return t.getFullYear()}getMonth(t){return t.getMonth()}getDate(t){return t.getDate()}getDayOfWeek(t){return t.getDay()}getMonthNames(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{month:t,timeZone:"utc"});return F(12,t=>this._stripDirectionalityCharacters(this._format(e,new Date(2017,t,1))))}return D[t]}getDateNames(){if(O){const t=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return F(31,e=>this._stripDirectionalityCharacters(this._format(t,new Date(2017,0,e+1))))}return R}getDayOfWeekNames(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{weekday:t,timeZone:"utc"});return F(7,t=>this._stripDirectionalityCharacters(this._format(e,new Date(2017,0,t+1))))}return N[t]}getYearName(t){if(O){const e=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._stripDirectionalityCharacters(this._format(e,t))}return String(this.getYear(t))}getFirstDayOfWeek(){return 0}getNumDaysInMonth(t){return this.getDate(this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+1,0))}clone(t){return new Date(t.getTime())}createDate(t,e,i){let n=this._createDateWithOverflow(t,e,i);return n.getMonth(),n}today(){return new Date}parse(t){return"number"==typeof t?new Date(t):t?new Date(Date.parse(t)):null}format(t,e){if(!this.isValid(t))throw Error("NativeDateAdapter: Cannot format invalid date.");if(O){this._clampDate&&(t.getFullYear()<1||t.getFullYear()>9999)&&(t=this.clone(t)).setFullYear(Math.max(1,Math.min(9999,t.getFullYear()))),e=Object.assign(Object.assign({},e),{timeZone:"utc"});const i=new Intl.DateTimeFormat(this.locale,e);return this._stripDirectionalityCharacters(this._format(i,t))}return this._stripDirectionalityCharacters(t.toDateString())}addCalendarYears(t,e){return this.addCalendarMonths(t,12*e)}addCalendarMonths(t,e){let i=this._createDateWithOverflow(this.getYear(t),this.getMonth(t)+e,this.getDate(t));return this.getMonth(i)!=((this.getMonth(t)+e)%12+12)%12&&(i=this._createDateWithOverflow(this.getYear(i),this.getMonth(i),0)),i}addCalendarDays(t,e){return this._createDateWithOverflow(this.getYear(t),this.getMonth(t),this.getDate(t)+e)}toIso8601(t){return[t.getUTCFullYear(),this._2digit(t.getUTCMonth()+1),this._2digit(t.getUTCDate())].join("-")}deserialize(t){if("string"==typeof t){if(!t)return null;if(P.test(t)){let e=new Date(t);if(this.isValid(e))return e}}return super.deserialize(t)}isDateInstance(t){return t instanceof Date}isValid(t){return!isNaN(t.getTime())}invalid(){return new Date(NaN)}_createDateWithOverflow(t,e,i){const n=new Date;return n.setFullYear(t,e,i),n.setHours(0,0,0,0),n}_2digit(t){return("00"+t).slice(-2)}_stripDirectionalityCharacters(t){return t.replace(/[\u200e\u200f]/g,"")}_format(t,e){const i=new Date;return i.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),i.setUTCHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),t.format(i)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(M,8),n.LFG(u.t4))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:L,useClass:Z}],imports:[[u.ud]]}),t})();const U={parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}};let q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[{provide:I,useValue:U}],imports:[[B]]}),t})(),z=(()=>{class t{isErrorState(t,e){return!!(t&&t.invalid&&(t.touched||e&&e.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]}),t})();function Y(t,e,i="mat"){t.changes.pipe((0,d.O)(t)).subscribe(({length:t})=>{G(e,`${i}-2-line`,!1),G(e,`${i}-3-line`,!1),G(e,`${i}-multi-line`,!1),2===t||3===t?G(e,`${i}-${t}-line`,!0):t>3&&G(e,`${i}-multi-line`,!0)})}function G(t,e,i){const n=t.nativeElement.classList;i?n.add(e):n.remove(e)}let j=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x],x]}),t})();class V{constructor(t,e,i){this._renderer=t,this.element=e,this.config=i,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const Q={enterDuration:450,exitDuration:400},W=(0,u.i$)({passive:!0}),J=["mousedown","touchstart"],X=["mouseup","mouseleave","touchend","touchcancel"];class K{constructor(t,e,i,n){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._activeRipples=new Set,this._pointerUpEventsRegistered=!1,n.isBrowser&&(this._containerElement=(0,l.fI)(i))}fadeInRipple(t,e,i={}){const n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=Object.assign(Object.assign({},Q),i.animation);i.centered&&(t=n.left+n.width/2,e=n.top+n.height/2);const s=i.radius||function(t,e,i){const n=Math.max(Math.abs(t-i.left),Math.abs(t-i.right)),r=Math.max(Math.abs(e-i.top),Math.abs(e-i.bottom));return Math.sqrt(n*n+r*r)}(t,e,n),o=t-n.left,a=e-n.top,l=r.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=o-s+"px",c.style.top=a-s+"px",c.style.height=2*s+"px",c.style.width=2*s+"px",null!=i.color&&(c.style.backgroundColor=i.color),c.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(c),window.getComputedStyle(c).getPropertyValue("opacity"),c.style.transform="scale(1)";const h=new V(this,c,i);return h.state=0,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(()=>{const t=h===this._mostRecentTransientRipple;h.state=1,i.persistent||t&&this._isPointerDown||h.fadeOut()},l),h}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const i=t.element,n=Object.assign(Object.assign({},Q),t.config.animation);i.style.transitionDuration=`${n.exitDuration}ms`,i.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(()=>{t.state=3,i.parentNode.removeChild(i)},n.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._activeRipples.forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=(0,l.fI)(t);e&&e!==this._triggerElement&&(this._removeTriggerEvents(),this._triggerElement=e,this._registerEvents(J))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(X),this._pointerUpEventsRegistered=!0)}_onMousedown(t){const e=(0,r.X6)(t),i=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_registerEvents(t){this._ngZone.runOutsideAngular(()=>{t.forEach(t=>{this._triggerElement.addEventListener(t,this,W)})})}_removeTriggerEvents(){this._triggerElement&&(J.forEach(t=>{this._triggerElement.removeEventListener(t,this,W)}),this._pointerUpEventsRegistered&&X.forEach(t=>{this._triggerElement.removeEventListener(t,this,W)}))}}const $=new n.OlP("mat-ripple-global-options");let tt=(()=>{class t{constructor(t,e,i,n,r){this._elementRef=t,this._animationMode=r,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=n||{},this._rippleRenderer=new K(this,e,t,i)}get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign(Object.assign(Object.assign({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,i){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign(Object.assign({},this.rippleConfig),i)):this._rippleRenderer.fadeInRipple(0,0,Object.assign(Object.assign({},this.rippleConfig),t))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(u.t4),n.Y36($,8),n.Y36(p.Qb,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,e){2&t&&n.ekj("mat-ripple-unbounded",e.unbounded)},inputs:{radius:["matRippleRadius","radius"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"],color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],animation:["matRippleAnimation","animation"]},exportAs:["matRipple"]}),t})(),et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x,u.ud],x]}),t})(),it=(()=>{class t{constructor(t){this._animationMode=t,this.state="unchecked",this.disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(p.Qb,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,e){2&t&&n.ekj("mat-pseudo-checkbox-indeterminate","indeterminate"===e.state)("mat-pseudo-checkbox-checked","checked"===e.state)("mat-pseudo-checkbox-disabled",e.disabled)("_mat-animation-noopable","NoopAnimations"===e._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,e){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),t})(),nt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[x]]}),t})();const rt=new n.OlP("MAT_OPTION_PARENT_COMPONENT");class st{}const ot=C(st);let at=0,lt=(()=>{class t extends ot{constructor(t){var e;super(),this._labelId="mat-optgroup-label-"+at++,this._inert=null!==(e=null==t?void 0:t.inertGroups)&&void 0!==e&&e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(rt,8))},t.\u0275dir=n.lG2({type:t,inputs:{label:"label"},features:[n.qOj]}),t})();const ct=new n.OlP("MatOptgroup");let ht=0;class ut{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let dt=(()=>{class t{constructor(t,e,i,r){this._element=t,this._changeDetectorRef=e,this._parent=i,this.group=r,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+ht++,this.onSelectionChange=new n.vpe,this._stateChanges=new c.x}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(t){this._disabled=(0,l.Ig)(t)}get disableRipple(){return this._parent&&this._parent.disableRipple}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(t,e){const i=this._getHostElement();"function"==typeof i.focus&&i.focus(e)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){t.keyCode!==f.K5&&t.keyCode!==f.L_||(0,f.Vb)(t)||(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue=t,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new ut(this,t))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(void 0),n.Y36(lt))},t.\u0275dir=n.lG2({type:t,inputs:{id:"id",disabled:"disabled",value:"value"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),pt=(()=>{class t extends dt{constructor(t,e,i,n){super(t,e,i,n)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(rt,8),n.Y36(ct,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._selectViaInteraction()})("keydown",function(t){return e._handleKeydown(t)}),2&t&&(n.Ikx("id",e.id),n.uIk("tabindex",e._getTabIndex())("aria-selected",e._getAriaSelected())("aria-disabled",e.disabled.toString()),n.ekj("mat-selected",e.selected)("mat-option-multiple",e.multiple)("mat-active",e.active)("mat-option-disabled",e.disabled))},exportAs:["matOption"],features:[n.qOj],ngContentSelectors:y,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,e){1&t&&(n.F$t(),n.YNc(0,m,1,2,"mat-pseudo-checkbox",0),n.TgZ(1,"span",1),n.Hsn(2),n.qZA(),n.YNc(3,g,2,1,"span",2),n._UZ(4,"div",3)),2&t&&(n.Q6J("ngIf",e.multiple),n.xp6(3),n.Q6J("ngIf",e.group&&e.group._inert),n.xp6(1),n.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disabled||e.disableRipple))},directives:[a.O5,tt,it],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),t})();function ft(t,e,i){if(i.length){let n=e.toArray(),r=i.toArray(),s=0;for(let e=0;ei+n?Math.max(0,t-n+e):i}let gt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[et,a.ez,x,nt]]}),t})()},5812:(t,e,i)=>{"use strict";i.d(e,{Mq:()=>bt,hl:()=>Ct,FA:()=>Et,nW:()=>St});var n=i(4621),r=i(369),s=i(6899),o=i(1511),a=i(1572),l=i(5980),c=i(4894),h=i(1522),u=i(9666),d=i(6042),p=i(5446),f=i(2041),m=i(5842),g=i(9056),y=i(1258),b=i(8868),v=i(9861),_=i(1353),w=i(709),x=i(6073),C=i(6283),A=i(6756),S=i(2526);const E=["mat-calendar-body",""];function k(t,e){if(1&t&&(a.TgZ(0,"tr",2),a.TgZ(1,"td",3),a._uU(2),a.qZA(),a.qZA()),2&t){const t=a.oxw();a.xp6(1),a.Udp("padding-top",t._cellPadding)("padding-bottom",t._cellPadding),a.uIk("colspan",t.numCols),a.xp6(1),a.hij(" ",t.label," ")}}function T(t,e){if(1&t&&(a.TgZ(0,"td",7),a._uU(1),a.qZA()),2&t){const t=a.oxw(2);a.Udp("padding-top",t._cellPadding)("padding-bottom",t._cellPadding),a.uIk("colspan",t._firstRowOffset),a.xp6(1),a.hij(" ",t._firstRowOffset>=t.labelMinRequiredCells?t.label:""," ")}}function M(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"td",8),a.NdJ("click",function(e){const i=a.CHM(t).$implicit;return a.oxw(2)._cellClicked(i,e)}),a.TgZ(1,"div",9),a._uU(2),a.qZA(),a._UZ(3,"div",10),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw().index,r=a.oxw();a.Udp("width",r._cellWidth)("padding-top",r._cellPadding)("padding-bottom",r._cellPadding),a.ekj("mat-calendar-body-disabled",!t.enabled)("mat-calendar-body-active",r._isActiveCell(n,i))("mat-calendar-body-range-start",r._isRangeStart(t.compareValue))("mat-calendar-body-range-end",r._isRangeEnd(t.compareValue))("mat-calendar-body-in-range",r._isInRange(t.compareValue))("mat-calendar-body-comparison-bridge-start",r._isComparisonBridgeStart(t.compareValue,n,i))("mat-calendar-body-comparison-bridge-end",r._isComparisonBridgeEnd(t.compareValue,n,i))("mat-calendar-body-comparison-start",r._isComparisonStart(t.compareValue))("mat-calendar-body-comparison-end",r._isComparisonEnd(t.compareValue))("mat-calendar-body-in-comparison-range",r._isInComparisonRange(t.compareValue))("mat-calendar-body-preview-start",r._isPreviewStart(t.compareValue))("mat-calendar-body-preview-end",r._isPreviewEnd(t.compareValue))("mat-calendar-body-in-preview",r._isInPreview(t.compareValue)),a.Q6J("ngClass",t.cssClasses)("tabindex",r._isActiveCell(n,i)?0:-1),a.uIk("data-mat-row",n)("data-mat-col",i)("aria-label",t.ariaLabel)("aria-disabled",!t.enabled||null)("aria-selected",r._isSelected(t.compareValue)),a.xp6(1),a.ekj("mat-calendar-body-selected",r._isSelected(t.compareValue))("mat-calendar-body-comparison-identical",r._isComparisonIdentical(t.compareValue))("mat-calendar-body-today",r.todayValue===t.compareValue),a.xp6(1),a.hij(" ",t.displayValue," ")}}function L(t,e){if(1&t&&(a.TgZ(0,"tr",4),a.YNc(1,T,2,6,"td",5),a.YNc(2,M,4,46,"td",6),a.qZA()),2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.xp6(1),a.Q6J("ngIf",0===i&&n._firstRowOffset),a.xp6(1),a.Q6J("ngForOf",t)}}function I(t,e){if(1&t&&(a.TgZ(0,"th",5),a._uU(1),a.qZA()),2&t){const t=e.$implicit;a.uIk("aria-label",t.long),a.xp6(1),a.Oqu(t.narrow)}}const O=["*"];function D(t,e){}function R(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-month-view",5),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("_userSelection",function(e){return a.CHM(t),a.oxw()._dateSelected(e)}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)("comparisonStart",t.comparisonStart)("comparisonEnd",t.comparisonEnd)}}function N(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-year-view",6),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("monthSelected",function(e){return a.CHM(t),a.oxw()._monthSelectedInYearView(e)})("selectedChange",function(e){return a.CHM(t),a.oxw()._goToDateInView(e,"month")}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)}}function P(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-multi-year-view",7),a.NdJ("activeDateChange",function(e){return a.CHM(t),a.oxw().activeDate=e})("yearSelected",function(e){return a.CHM(t),a.oxw()._yearSelectedInMultiYearView(e)})("selectedChange",function(e){return a.CHM(t),a.oxw()._goToDateInView(e,"year")}),a.qZA()}if(2&t){const t=a.oxw();a.Q6J("activeDate",t.activeDate)("selected",t.selected)("dateFilter",t.dateFilter)("maxDate",t.maxDate)("minDate",t.minDate)("dateClass",t.dateClass)}}function F(t,e){}const Z=["button"];function B(t,e){1&t&&(a.O4$(),a.TgZ(0,"svg",3),a._UZ(1,"path",4),a.qZA())}const U=[[["","matDatepickerToggleIcon",""]]],q=["[matDatepickerToggleIcon]"];let z=(()=>{class t{constructor(){this.changes=new u.x,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.closeCalendarLabel="Close calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 24 years",this.nextMultiYearLabel="Next 24 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year"}formatYearRange(t,e){return`${t} \u2013 ${e}`}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=a.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();class H{constructor(t,e,i,n,r={},s=t,o){this.value=t,this.displayValue=e,this.ariaLabel=i,this.enabled=n,this.cssClasses=r,this.compareValue=s,this.rawValue=o}}let Y=(()=>{class t{constructor(t,e){this._elementRef=t,this._ngZone=e,this.numCols=7,this.activeCell=0,this.isRange=!1,this.cellAspectRatio=1,this.previewStart=null,this.previewEnd=null,this.selectedValueChange=new a.vpe,this.previewChange=new a.vpe,this._enterHandler=t=>{if(this._skipNextFocus&&"focus"===t.type)this._skipNextFocus=!1;else if(t.target&&this.isRange){const e=this._getCellFromElement(t.target);e&&this._ngZone.run(()=>this.previewChange.emit({value:e.enabled?e:null,event:t}))}},this._leaveHandler=t=>{null!==this.previewEnd&&this.isRange&&t.target&&G(t.target)&&this._ngZone.run(()=>this.previewChange.emit({value:null,event:t}))},e.runOutsideAngular(()=>{const e=t.nativeElement;e.addEventListener("mouseenter",this._enterHandler,!0),e.addEventListener("focus",this._enterHandler,!0),e.addEventListener("mouseleave",this._leaveHandler,!0),e.addEventListener("blur",this._leaveHandler,!0)})}_cellClicked(t,e){t.enabled&&this.selectedValueChange.emit({value:t.value,event:e})}_isSelected(t){return this.startValue===t||this.endValue===t}ngOnChanges(t){const e=t.numCols,{rows:i,numCols:n}=this;(t.rows||e)&&(this._firstRowOffset=i&&i.length&&i[0].length?n-i[0].length:0),(t.cellAspectRatio||e||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/n+"%"),!e&&this._cellWidth||(this._cellWidth=100/n+"%")}ngOnDestroy(){const t=this._elementRef.nativeElement;t.removeEventListener("mouseenter",this._enterHandler,!0),t.removeEventListener("focus",this._enterHandler,!0),t.removeEventListener("mouseleave",this._leaveHandler,!0),t.removeEventListener("blur",this._leaveHandler,!0)}_isActiveCell(t,e){let i=t*this.numCols+e;return t&&(i-=this._firstRowOffset),i==this.activeCell}_focusActiveCell(t=!0){this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,g.q)(1)).subscribe(()=>{const e=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");e&&(t||(this._skipNextFocus=!0),e.focus())})})}_isRangeStart(t){return j(t,this.startValue,this.endValue)}_isRangeEnd(t){return V(t,this.startValue,this.endValue)}_isInRange(t){return Q(t,this.startValue,this.endValue,this.isRange)}_isComparisonStart(t){return j(t,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(t,e,i){if(!this._isComparisonStart(t)||this._isRangeStart(t)||!this._isInRange(t))return!1;let n=this.rows[e][i-1];if(!n){const t=this.rows[e-1];n=t&&t[t.length-1]}return n&&!this._isRangeEnd(n.compareValue)}_isComparisonBridgeEnd(t,e,i){if(!this._isComparisonEnd(t)||this._isRangeEnd(t)||!this._isInRange(t))return!1;let n=this.rows[e][i+1];if(!n){const t=this.rows[e+1];n=t&&t[0]}return n&&!this._isRangeStart(n.compareValue)}_isComparisonEnd(t){return V(t,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(t){return Q(t,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(t){return this.comparisonStart===this.comparisonEnd&&t===this.comparisonStart}_isPreviewStart(t){return j(t,this.previewStart,this.previewEnd)}_isPreviewEnd(t){return V(t,this.previewStart,this.previewEnd)}_isInPreview(t){return Q(t,this.previewStart,this.previewEnd,this.isRange)}_getCellFromElement(t){let e;if(G(t)?e=t:G(t.parentNode)&&(e=t.parentNode),e){const t=e.getAttribute("data-mat-row"),i=e.getAttribute("data-mat-col");if(t&&i)return this.rows[parseInt(t)][parseInt(i)]}return null}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.R0b))},t.\u0275cmp=a.Xpm({type:t,selectors:[["","mat-calendar-body",""]],hostAttrs:["role","grid","aria-readonly","true",1,"mat-calendar-body"],inputs:{numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",previewStart:"previewStart",previewEnd:"previewEnd",label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange"},exportAs:["matCalendarBody"],features:[a.TTD],attrs:E,decls:2,vars:2,consts:[["aria-hidden","true",4,"ngIf"],["role","row",4,"ngFor","ngForOf"],["aria-hidden","true"],[1,"mat-calendar-body-label"],["role","row"],["aria-hidden","true","class","mat-calendar-body-label",3,"paddingTop","paddingBottom",4,"ngIf"],["role","gridcell","class","mat-calendar-body-cell",3,"ngClass","tabindex","mat-calendar-body-disabled","mat-calendar-body-active","mat-calendar-body-range-start","mat-calendar-body-range-end","mat-calendar-body-in-range","mat-calendar-body-comparison-bridge-start","mat-calendar-body-comparison-bridge-end","mat-calendar-body-comparison-start","mat-calendar-body-comparison-end","mat-calendar-body-in-comparison-range","mat-calendar-body-preview-start","mat-calendar-body-preview-end","mat-calendar-body-in-preview","width","paddingTop","paddingBottom","click",4,"ngFor","ngForOf"],["aria-hidden","true",1,"mat-calendar-body-label"],["role","gridcell",1,"mat-calendar-body-cell",3,"ngClass","tabindex","click"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],[1,"mat-calendar-body-cell-preview"]],template:function(t,e){1&t&&(a.YNc(0,k,3,6,"tr",0),a.YNc(1,L,3,2,"tr",1)),2&t&&(a.Q6J("ngIf",e._firstRowOffset.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-high-contrast-active .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){outline:dotted 2px}[dir=rtl] .mat-calendar-body-label{text-align:right}@media(hover: none){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:transparent}}\n'],encapsulation:2,changeDetection:0}),t})();function G(t){return"TD"===t.nodeName}function j(t,e,i){return null!==i&&e!==i&&t=e&&t===i}function Q(t,e,i,n){return n&&null!==e&&null!==i&&e!==i&&t>=e&&t<=i}class W{constructor(t,e){this.start=t,this.end=e}}let J=(()=>{class t{constructor(t,e){this.selection=t,this._adapter=e,this._selectionChanged=new u.x,this.selectionChanged=this._selectionChanged,this.selection=t}updateSelection(t,e){const i=this.selection;this.selection=t,this._selectionChanged.next({selection:t,source:e,oldValue:i})}ngOnDestroy(){this._selectionChanged.complete()}_isValidDateInstance(t){return this._adapter.isDateInstance(t)&&this._adapter.isValid(t)}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(void 0),a.LFG(h._A))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})(),X=(()=>{class t extends J{constructor(t){super(null,t)}add(t){super.updateSelection(t,this)}isValid(){return null!=this.selection&&this._isValidDateInstance(this.selection)}isComplete(){return null!=this.selection}clone(){const e=new t(this._adapter);return e.updateSelection(this.selection,this),e}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(h._A))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac}),t})();const K={provide:J,deps:[[new a.FiY,new a.tp0,J],h._A],useFactory:function(t,e){return t||new X(e)}},$=new a.OlP("MAT_DATE_RANGE_SELECTION_STRATEGY");let tt=(()=>{class t{constructor(t,e,i,n,r){this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=i,this._dir=n,this._rangeStrategy=r,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this._userSelection=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){const e=this._activeDate,i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),this._hasSameMonthAndYear(e,this._activeDate)||this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setRanges(this._selected)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnChanges(t){const e=t.comparisonStart||t.comparisonEnd;e&&!e.firstChange&&this._setRanges(this.selected)}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_dateSelected(t){const e=t.value,i=this._dateAdapter.getYear(this.activeDate),n=this._dateAdapter.getMonth(this.activeDate),r=this._dateAdapter.createDate(i,n,e);let s,o;this._selected instanceof W?(s=this._getDateInCurrentMonth(this._selected.start),o=this._getDateInCurrentMonth(this._selected.end)):s=o=this._getDateInCurrentMonth(this._selected),s===e&&o===e||this.selectedChange.emit(r),this._userSelection.emit({value:r,event:t.event}),this._previewStart=this._previewEnd=null,this._changeDetectorRef.markForCheck()}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case m.Ku:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case m.VM:this.activeDate=t.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case m.K5:case m.L_:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:t}),t.preventDefault()));case m.hY:return void(null==this._previewEnd||(0,m.Vb)(t)||(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:t}),t.preventDefault(),t.stopPropagation()));default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_init(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateFormats.display.monthLabel?this._dateAdapter.format(this.activeDate,this._dateFormats.display.monthLabel):this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();let t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(t)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()}_focusActiveCell(t){this._matCalendarBody._focusActiveCell(t)}_previewChanged({event:t,value:e}){if(this._rangeStrategy){const i=this._rangeStrategy.createPreview(e?e.rawValue:null,this.selected,t);this._previewStart=this._getCellCompareValue(i.start),this._previewEnd=this._getCellCompareValue(i.end),this._changeDetectorRef.detectChanges()}}_initWeekdays(){const t=this._dateAdapter.getFirstDayOfWeek(),e=this._dateAdapter.getDayOfWeekNames("narrow");let i=this._dateAdapter.getDayOfWeekNames("long").map((t,i)=>({long:t,narrow:e[i]}));this._weekdays=i.slice(t).concat(i.slice(0,t))}_createWeekCells(){const t=this._dateAdapter.getNumDaysInMonth(this.activeDate),e=this._dateAdapter.getDateNames();this._weeks=[[]];for(let i=0,n=this._firstWeekOffset;i=0)&&(!this.maxDate||this._dateAdapter.compareDate(t,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(t))}_getDateInCurrentMonth(t){return t&&this._hasSameMonthAndYear(t,this.activeDate)?this._dateAdapter.getDate(t):null}_hasSameMonthAndYear(t,e){return!(!t||!e||this._dateAdapter.getMonth(t)!=this._dateAdapter.getMonth(e)||this._dateAdapter.getYear(t)!=this._dateAdapter.getYear(e))}_getCellCompareValue(t){if(t){const e=this._dateAdapter.getYear(t),i=this._dateAdapter.getMonth(t),n=this._dateAdapter.getDate(t);return new Date(e,i,n).getTime()}return null}_isRtl(){return this._dir&&"rtl"===this._dir.value}_setRanges(t){t instanceof W?(this._rangeStart=this._getCellCompareValue(t.start),this._rangeEnd=this._getCellCompareValue(t.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(t),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.sBO),a.Y36(h.sG,8),a.Y36(h._A,8),a.Y36(S.Is,8),a.Y36($,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-month-view"]],viewQuery:function(t,e){if(1&t&&a.Gf(Y,5),2&t){let t;a.iGM(t=a.CRH())&&(e._matCalendarBody=t.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",_userSelection:"_userSelection",activeDateChange:"activeDateChange"},exportAs:["matMonthView"],features:[a.TTD],decls:7,vars:13,consts:[["role","presentation",1,"mat-calendar-table"],[1,"mat-calendar-table-header"],["scope","col",4,"ngFor","ngForOf"],["colspan","7","aria-hidden","true",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"label","rows","todayValue","startValue","endValue","comparisonStart","comparisonEnd","previewStart","previewEnd","isRange","labelMinRequiredCells","activeCell","selectedValueChange","previewChange","keydown"],["scope","col"]],template:function(t,e){1&t&&(a.TgZ(0,"table",0),a.TgZ(1,"thead",1),a.TgZ(2,"tr"),a.YNc(3,I,2,2,"th",2),a.qZA(),a.TgZ(4,"tr"),a._UZ(5,"th",3),a.qZA(),a.qZA(),a.TgZ(6,"tbody",4),a.NdJ("selectedValueChange",function(t){return e._dateSelected(t)})("previewChange",function(t){return e._previewChanged(t)})("keydown",function(t){return e._handleCalendarBodyKeydown(t)}),a.qZA(),a.qZA()),2&t&&(a.xp6(3),a.Q6J("ngForOf",e._weekdays),a.xp6(3),a.Q6J("label",e._monthLabel)("rows",e._weeks)("todayValue",e._todayDate)("startValue",e._rangeStart)("endValue",e._rangeEnd)("comparisonStart",e._comparisonRangeStart)("comparisonEnd",e._comparisonRangeEnd)("previewStart",e._previewStart)("previewEnd",e._previewEnd)("isRange",e._isRange)("labelMinRequiredCells",3)("activeCell",e._dateAdapter.getDate(e.activeDate)-1))},directives:[o.sg,Y],encapsulation:2,changeDetection:0}),t})();const et=24;let it=(()=>{class t{constructor(t,e,i){this._changeDetectorRef=t,this._dateAdapter=e,this._dir=i,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this.yearSelected=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){let e=this._activeDate;const i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),nt(this._dateAdapter,e,this._activeDate,this.minDate,this.maxDate)||this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setSelectedYear(t)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_init(){this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());const t=this._dateAdapter.getYear(this._activeDate)-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(let e=0,i=[];ethis._createCellForYear(t))),i=[]);this._changeDetectorRef.markForCheck()}_yearSelected(t){const e=t.value;this.yearSelected.emit(this._dateAdapter.createDate(e,0,1));let i=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(e,i,1));this.selectedChange.emit(this._dateAdapter.createDate(e,i,Math.min(this._dateAdapter.getDate(this.activeDate),n)))}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,et-rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case m.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-240:-24);break;case m.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?240:et);break;case m.K5:case m.L_:this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:t});break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_getActiveCell(){return rt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_createCellForYear(t){const e=this._dateAdapter.createDate(t,0,1),i=this._dateAdapter.getYearName(e),n=this.dateClass?this.dateClass(e,"multi-year"):void 0;return new H(t,i,i,this._shouldEnableYear(t),n)}_shouldEnableYear(t){if(null==t||this.maxDate&&t>this._dateAdapter.getYear(this.maxDate)||this.minDate&&t{class t{constructor(t,e,i,n){this._changeDetectorRef=t,this._dateFormats=e,this._dateAdapter=i,this._dir=n,this._rerenderSubscription=d.w0.EMPTY,this.selectedChange=new a.vpe,this.monthSelected=new a.vpe,this.activeDateChange=new a.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(t){let e=this._activeDate;const i=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(i,this.minDate,this.maxDate),this._dateAdapter.getYear(e)!==this._dateAdapter.getYear(this._activeDate)&&this._init()}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t)),this._setSelectedMonth(t)}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,y.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_monthSelected(t){const e=t.value,i=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1);this.monthSelected.emit(i);const n=this._dateAdapter.getNumDaysInMonth(i);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,Math.min(this._dateAdapter.getDate(this.activeDate),n)))}_handleCalendarBodyKeydown(t){const e=this._activeDate,i=this._isRtl();switch(t.keyCode){case m.oh:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,i?1:-1);break;case m.SV:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,i?-1:1);break;case m.LH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case m.JH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case m.Sd:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case m.uR:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case m.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?-10:-1);break;case m.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,t.altKey?10:1);break;case m.K5:case m.L_:this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:t});break;default:return}this._dateAdapter.compareDate(e,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),t.preventDefault()}_init(){this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);let t=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(e=>e.map(e=>this._createCellForMonth(e,t[e]))),this._changeDetectorRef.markForCheck()}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_getMonthInCurrentYear(t){return t&&this._dateAdapter.getYear(t)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(t):null}_createCellForMonth(t,e){const i=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1),n=this._dateAdapter.format(i,this._dateFormats.display.monthYearA11yLabel),r=this.dateClass?this.dateClass(i,"year"):void 0;return new H(t,e.toLocaleUpperCase(),n,this._shouldEnableMonth(t),r)}_shouldEnableMonth(t){const e=this._dateAdapter.getYear(this.activeDate);if(null==t||this._isYearAndMonthAfterMaxDate(e,t)||this._isYearAndMonthBeforeMinDate(e,t))return!1;if(!this.dateFilter)return!0;for(let i=this._dateAdapter.createDate(e,t,1);this._dateAdapter.getMonth(i)==t;i=this._dateAdapter.addCalendarDays(i,1))if(this.dateFilter(i))return!0;return!1}_isYearAndMonthAfterMaxDate(t,e){if(this.maxDate){const i=this._dateAdapter.getYear(this.maxDate),n=this._dateAdapter.getMonth(this.maxDate);return t>i||t===i&&e>n}return!1}_isYearAndMonthBeforeMinDate(t,e){if(this.minDate){const i=this._dateAdapter.getYear(this.minDate),n=this._dateAdapter.getMonth(this.minDate);return t{class t{constructor(t,e,i,n,r){this._intl=t,this.calendar=e,this._dateAdapter=i,this._dateFormats=n,this._buttonDescriptionId="mat-calendar-button-"+at++,this.calendar.stateChanges.subscribe(()=>r.markForCheck())}get periodButtonText(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);const t=this._dateAdapter.getYear(this.calendar.activeDate)-rt(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),e=t+et-1,i=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1)),n=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1));return this._intl.formatYearRange(i,n)}get periodButtonLabel(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel}get prevButtonLabel(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]}get nextButtonLabel(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]}currentPeriodClicked(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"}previousClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)}nextClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:et)}previousEnabled(){return!this.calendar.minDate||!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate)}nextEnabled(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)}_isSameView(t,e){return"month"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e)&&this._dateAdapter.getMonth(t)==this._dateAdapter.getMonth(e):"year"==this.calendar.currentView?this._dateAdapter.getYear(t)==this._dateAdapter.getYear(e):nt(this._dateAdapter,t,e,this.calendar.minDate,this.calendar.maxDate)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36((0,a.Gpc)(()=>ct)),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-calendar-header"]],exportAs:["matCalendarHeader"],ngContentSelectors:O,decls:10,vars:10,consts:[[1,"mat-calendar-header"],[1,"mat-calendar-controls"],["mat-button","","type","button","cdkAriaLive","polite",1,"mat-calendar-period-button",3,"click"],[1,"mat-calendar-arrow"],[1,"mat-calendar-spacer"],["mat-icon-button","","type","button",1,"mat-calendar-previous-button",3,"disabled","click"],["mat-icon-button","","type","button",1,"mat-calendar-next-button",3,"disabled","click"]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0),a.TgZ(1,"div",1),a.TgZ(2,"button",2),a.NdJ("click",function(){return e.currentPeriodClicked()}),a.TgZ(3,"span"),a._uU(4),a.qZA(),a._UZ(5,"div",3),a.qZA(),a._UZ(6,"div",4),a.Hsn(7),a.TgZ(8,"button",5),a.NdJ("click",function(){return e.previousClicked()}),a.qZA(),a.TgZ(9,"button",6),a.NdJ("click",function(){return e.nextClicked()}),a.qZA(),a.qZA(),a.qZA()),2&t&&(a.xp6(2),a.uIk("aria-label",e.periodButtonLabel)("aria-describedby",e._buttonDescriptionId),a.xp6(1),a.uIk("id",e._buttonDescriptionId),a.xp6(1),a.Oqu(e.periodButtonText),a.xp6(1),a.ekj("mat-calendar-invert","month"!==e.calendar.currentView),a.xp6(3),a.Q6J("disabled",!e.previousEnabled()),a.uIk("aria-label",e.prevButtonLabel),a.xp6(1),a.Q6J("disabled",!e.nextEnabled()),a.uIk("aria-label",e.nextButtonLabel))},directives:[l.lW,n.Qr],encapsulation:2,changeDetection:0}),t})(),ct=(()=>{class t{constructor(t,e,i,n){this._dateAdapter=e,this._dateFormats=i,this._changeDetectorRef=n,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new a.vpe,this.yearSelected=new a.vpe,this.monthSelected=new a.vpe,this.viewChanged=new a.vpe(!0),this._userSelection=new a.vpe,this.stateChanges=new u.x,this._intlChanges=t.changes.subscribe(()=>{n.markForCheck(),this.stateChanges.next()})}get startAt(){return this._startAt}set startAt(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get selected(){return this._selected}set selected(t){this._selected=t instanceof W?t:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get minDate(){return this._minDate}set minDate(t){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get activeDate(){return this._clampedActiveDate}set activeDate(t){this._clampedActiveDate=this._dateAdapter.clampDate(t,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()}get currentView(){return this._currentView}set currentView(t){const e=this._currentView!==t?t:null;this._currentView=t,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck(),e&&this.viewChanged.emit(e)}ngAfterContentInit(){this._calendarHeaderPortal=new s.C5(this.headerComponent||lt),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView}ngAfterViewChecked(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())}ngOnDestroy(){this._intlChanges.unsubscribe(),this.stateChanges.complete()}ngOnChanges(t){const e=t.minDate||t.maxDate||t.dateFilter;if(e&&!e.firstChange){const t=this._getCurrentViewComponent();t&&(this._changeDetectorRef.detectChanges(),t._init())}this.stateChanges.next()}focusActiveCell(){this._getCurrentViewComponent()._focusActiveCell(!1)}updateTodaysDate(){const t=this.currentView;let e;e="month"===t?this.monthView:"year"===t?this.yearView:this.multiYearView,e._init()}_dateSelected(t){const e=t.value;(this.selected instanceof W||e&&!this._dateAdapter.sameDate(e,this.selected))&&this.selectedChange.emit(e),this._userSelection.emit(t)}_yearSelectedInMultiYearView(t){this.yearSelected.emit(t)}_monthSelectedInYearView(t){this.monthSelected.emit(t)}_goToDateInView(t,e){this.activeDate=t,this.currentView=e}_getCurrentViewComponent(){return this.monthView||this.yearView||this.multiYearView}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-calendar"]],viewQuery:function(t,e){if(1&t&&(a.Gf(tt,5),a.Gf(ot,5),a.Gf(it,5)),2&t){let t;a.iGM(t=a.CRH())&&(e.monthView=t.first),a.iGM(t=a.CRH())&&(e.yearView=t.first),a.iGM(t=a.CRH())&&(e.multiYearView=t.first)}},hostAttrs:[1,"mat-calendar"],inputs:{startView:"startView",startAt:"startAt",selected:"selected",minDate:"minDate",maxDate:"maxDate",headerComponent:"headerComponent",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",_userSelection:"_userSelection"},exportAs:["matCalendar"],features:[a._Bn([K]),a.TTD],decls:5,vars:5,consts:[[3,"cdkPortalOutlet"],["cdkMonitorSubtreeFocus","","tabindex","-1",1,"mat-calendar-content",3,"ngSwitch"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange"]],template:function(t,e){1&t&&(a.YNc(0,D,0,0,"ng-template",0),a.TgZ(1,"div",1),a.YNc(2,R,1,8,"mat-month-view",2),a.YNc(3,N,1,6,"mat-year-view",3),a.YNc(4,P,1,6,"mat-multi-year-view",4),a.qZA()),2&t&&(a.Q6J("cdkPortalOutlet",e._calendarHeaderPortal),a.xp6(1),a.Q6J("ngSwitch",e.currentView),a.xp6(1),a.Q6J("ngSwitchCase","month"),a.xp6(1),a.Q6J("ngSwitchCase","year"),a.xp6(1),a.Q6J("ngSwitchCase","multi-year"))},directives:[s.Pl,n.kH,o.RF,o.n9,tt,ot,it],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}\n'],encapsulation:2,changeDetection:0}),t})();const ht={transformPanel:(0,w.X$)("transformPanel",[(0,w.eR)("void => enter-dropdown",(0,w.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,w.F4)([(0,w.oB)({opacity:0,transform:"scale(1, 0.8)"}),(0,w.oB)({opacity:1,transform:"scale(1, 1)"})]))),(0,w.eR)("void => enter-dialog",(0,w.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,w.F4)([(0,w.oB)({opacity:0,transform:"scale(0.7)"}),(0,w.oB)({transform:"none",opacity:1})]))),(0,w.eR)("* => void",(0,w.jt)("100ms linear",(0,w.oB)({opacity:0})))]),fadeInCalendar:(0,w.X$)("fadeInCalendar",[(0,w.SB)("void",(0,w.oB)({opacity:0})),(0,w.SB)("enter",(0,w.oB)({opacity:1})),(0,w.eR)("void => *",(0,w.jt)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])};let ut=0;const dt=new a.OlP("mat-datepicker-scroll-strategy"),pt={provide:dt,deps:[r.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class ft{constructor(t){this._elementRef=t}}const mt=(0,h.pj)(ft);let gt=(()=>{class t extends mt{constructor(t,e,i,n,r,s){super(t),this._changeDetectorRef=e,this._globalModel=i,this._dateAdapter=n,this._rangeSelectionStrategy=r,this._subscriptions=new d.w0,this._animationDone=new u.x,this._actionsPortal=null,this._closeButtonText=s.closeCalendarLabel}ngOnInit(){this._model=this._actionsPortal?this._globalModel.clone():this._globalModel,this._animationState=this.datepicker.touchUi?"enter-dialog":"enter-dropdown"}ngAfterViewInit(){this._subscriptions.add(this.datepicker.stateChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})),this._calendar.focusActiveCell()}ngOnDestroy(){this._subscriptions.unsubscribe(),this._animationDone.complete()}_handleUserSelection(t){const e=this._model.selection,i=t.value,n=e instanceof W;if(n&&this._rangeSelectionStrategy){const n=this._rangeSelectionStrategy.selectionFinished(i,e,t.event);this._model.updateSelection(n,this)}else!i||!n&&this._dateAdapter.sameDate(i,e)||this._model.add(i);this._model&&!this._model.isComplete()||this._actionsPortal||this.datepicker.close()}_startExitAnimation(){this._animationState="void",this._changeDetectorRef.markForCheck()}_getSelected(){return this._model.selection}_applyPendingSelection(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(J),a.Y36(h._A),a.Y36($,8),a.Y36(z))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker-content"]],viewQuery:function(t,e){if(1&t&&a.Gf(ct,5),2&t){let t;a.iGM(t=a.CRH())&&(e._calendar=t.first)}},hostAttrs:[1,"mat-datepicker-content"],hostVars:3,hostBindings:function(t,e){1&t&&a.WFA("@transformPanel.done",function(){return e._animationDone.next()}),2&t&&(a.d8E("@transformPanel",e._animationState),a.ekj("mat-datepicker-content-touch",e.datepicker.touchUi))},inputs:{color:"color"},exportAs:["matDatepickerContent"],features:[a.qOj],decls:5,vars:20,consts:[["cdkTrapFocus","",1,"mat-datepicker-content-container"],[3,"id","ngClass","startAt","startView","minDate","maxDate","dateFilter","headerComponent","selected","dateClass","comparisonStart","comparisonEnd","yearSelected","monthSelected","viewChanged","_userSelection"],[3,"cdkPortalOutlet"],["type","button","mat-raised-button","",1,"mat-datepicker-close-button",3,"color","focus","blur","click"]],template:function(t,e){1&t&&(a.TgZ(0,"div",0),a.TgZ(1,"mat-calendar",1),a.NdJ("yearSelected",function(t){return e.datepicker._selectYear(t)})("monthSelected",function(t){return e.datepicker._selectMonth(t)})("viewChanged",function(t){return e.datepicker._viewChanged(t)})("_userSelection",function(t){return e._handleUserSelection(t)}),a.qZA(),a.YNc(2,F,0,0,"ng-template",2),a.TgZ(3,"button",3),a.NdJ("focus",function(){return e._closeButtonFocused=!0})("blur",function(){return e._closeButtonFocused=!1})("click",function(){return e.datepicker.close()}),a._uU(4),a.qZA(),a.qZA()),2&t&&(a.ekj("mat-datepicker-content-container-with-actions",e._actionsPortal),a.xp6(1),a.Q6J("id",e.datepicker.id)("ngClass",e.datepicker.panelClass)("startAt",e.datepicker.startAt)("startView",e.datepicker.startView)("minDate",e.datepicker._getMinDate())("maxDate",e.datepicker._getMaxDate())("dateFilter",e.datepicker._getDateFilter())("headerComponent",e.datepicker.calendarHeaderComponent)("selected",e._getSelected())("dateClass",e.datepicker.dateClass)("comparisonStart",e.comparisonStart)("comparisonEnd",e.comparisonEnd)("@fadeInCalendar","enter"),a.xp6(1),a.Q6J("cdkPortalOutlet",e._actionsPortal),a.xp6(1),a.ekj("cdk-visually-hidden",!e._closeButtonFocused),a.Q6J("color",e.color||"primary"),a.xp6(1),a.Oqu(e._closeButtonText))},directives:[n.mK,ct,o.mk,s.Pl,l.lW],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\n"],encapsulation:2,data:{animation:[ht.transformPanel,ht.fadeInCalendar]},changeDetection:0}),t})(),yt=(()=>{class t{constructor(t,e,i,n,r,s,o,l,c){this._overlay=e,this._ngZone=i,this._viewContainerRef=n,this._dateAdapter=s,this._dir=o,this._model=c,this._inputStateChanges=d.w0.EMPTY,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this._restoreFocus=!0,this.yearSelected=new a.vpe,this.monthSelected=new a.vpe,this.viewChanged=new a.vpe(!0),this.openedStream=new a.vpe,this.closedStream=new a.vpe,this._opened=!1,this.id="mat-datepicker-"+ut++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=`${this.id}-backdrop`,this.stateChanges=new u.x,this._scrollStrategy=r}get startAt(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)}set startAt(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))}get color(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)}set color(t){this._color=t}get touchUi(){return this._touchUi}set touchUi(t){this._touchUi=(0,v.Ig)(t)}get disabled(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled}set disabled(t){const e=(0,v.Ig)(t);e!==this._disabled&&(this._disabled=e,this.stateChanges.next(void 0))}get restoreFocus(){return this._restoreFocus}set restoreFocus(t){this._restoreFocus=(0,v.Ig)(t)}get panelClass(){return this._panelClass}set panelClass(t){this._panelClass=(0,v.du)(t)}get opened(){return this._opened}set opened(t){(0,v.Ig)(t)?this.open():this.close()}_getMinDate(){return this.datepickerInput&&this.datepickerInput.min}_getMaxDate(){return this.datepickerInput&&this.datepickerInput.max}_getDateFilter(){return this.datepickerInput&&this.datepickerInput.dateFilter}ngOnChanges(t){const e=t.xPosition||t.yPosition;if(e&&!e.firstChange&&this._overlayRef){const t=this._overlayRef.getConfig().positionStrategy;t instanceof r._G&&(this._setConnectedPositions(t),this.opened&&this._overlayRef.updatePosition())}this.stateChanges.next(void 0)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()}select(t){this._model.add(t)}_selectYear(t){this.yearSelected.emit(t)}_selectMonth(t){this.monthSelected.emit(t)}_viewChanged(t){this.viewChanged.emit(t)}registerInput(t){return this._inputStateChanges.unsubscribe(),this.datepickerInput=t,this._inputStateChanges=t.stateChanges.subscribe(()=>this.stateChanges.next(void 0)),this._model}registerActions(t){this._actionsPortal=t}removeActions(t){t===this._actionsPortal&&(this._actionsPortal=null)}open(){this._opened||this.disabled||(this._focusedElementBeforeOpen=(0,_.ht)(),this._openOverlay(),this._opened=!0,this.openedStream.emit())}close(){if(!this._opened)return;if(this._componentRef){const t=this._componentRef.instance;t._startExitAnimation(),t._animationDone.pipe((0,g.q)(1)).subscribe(()=>this._destroyOverlay())}const t=()=>{this._opened&&(this._opened=!1,this.closedStream.emit(),this._focusedElementBeforeOpen=null)};this._restoreFocus&&this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(t)):t()}_applyPendingSelection(){var t,e;null===(e=null===(t=this._componentRef)||void 0===t?void 0:t.instance)||void 0===e||e._applyPendingSelection()}_forwardContentValues(t){t.datepicker=this,t.color=this.color,t._actionsPortal=this._actionsPortal}_openOverlay(){this._destroyOverlay();const t=this.touchUi,e=this.datepickerInput.getOverlayLabelId(),i=new s.C5(gt,this._viewContainerRef),n=this._overlayRef=this._overlay.create(new r.X_({positionStrategy:t?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[t?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:t?this._overlay.scrollStrategies.block():this._scrollStrategy(),panelClass:"mat-datepicker-"+(t?"dialog":"popup")})),o=n.overlayElement;o.setAttribute("role","dialog"),e&&o.setAttribute("aria-labelledby",e),t&&o.setAttribute("aria-modal","true"),this._getCloseStream(n).subscribe(t=>{t&&t.preventDefault(),this.close()}),this._componentRef=n.attach(i),this._forwardContentValues(this._componentRef.instance),t||this._ngZone.onStable.pipe((0,g.q)(1)).subscribe(()=>n.updatePosition())}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return this._overlay.position().global().centerHorizontally().centerVertically()}_getDropdownStrategy(){const t=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(t)}_setConnectedPositions(t){const e="end"===this.xPosition?"end":"start",i="start"===e?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return t.withPositions([{originX:e,originY:r,overlayX:e,overlayY:n},{originX:e,originY:n,overlayX:e,overlayY:r},{originX:i,originY:r,overlayX:i,overlayY:n},{originX:i,originY:n,overlayX:i,overlayY:r}])}_getCloseStream(t){return(0,p.T)(t.backdropClick(),t.detachments(),t.keydownEvents().pipe((0,b.h)(t=>t.keyCode===m.hY&&!(0,m.Vb)(t)||this.datepickerInput&&(0,m.Vb)(t,"altKey")&&t.keyCode===m.LH)))}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(r.aV),a.Y36(a.R0b),a.Y36(a.s_b),a.Y36(dt),a.Y36(h._A,8),a.Y36(S.Is,8),a.Y36(o.K0,8),a.Y36(J))},t.\u0275dir=a.lG2({type:t,inputs:{startView:"startView",xPosition:"xPosition",yPosition:"yPosition",startAt:"startAt",color:"color",touchUi:"touchUi",disabled:"disabled",restoreFocus:"restoreFocus",panelClass:"panelClass",opened:"opened",calendarHeaderComponent:"calendarHeaderComponent",dateClass:"dateClass"},outputs:{yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",openedStream:"opened",closedStream:"closed"},features:[a.TTD]}),t})(),bt=(()=>{class t extends yt{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=a.n5z(t)))(i||t)}}(),t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker"]],exportAs:["matDatepicker"],features:[a._Bn([K,{provide:yt,useExisting:t}]),a.qOj],decls:0,vars:0,template:function(t,e){},encapsulation:2,changeDetection:0}),t})();class vt{constructor(t,e){this.target=t,this.targetElement=e,this.value=this.target.value}}let _t=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._dateAdapter=e,this._dateFormats=i,this.dateChange=new a.vpe,this.dateInput=new a.vpe,this.stateChanges=new u.x,this._onTouched=()=>{},this._validatorOnChange=()=>{},this._cvaOnChange=()=>{},this._valueChangesSubscription=d.w0.EMPTY,this._localeSubscription=d.w0.EMPTY,this._parseValidator=()=>this._lastValueValid?null:{matDatepickerParse:{text:this._elementRef.nativeElement.value}},this._filterValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value));return!e||this._matchesFilter(e)?null:{matDatepickerFilter:!0}},this._minValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value)),i=this._getMinDate();return!i||!e||this._dateAdapter.compareDate(i,e)<=0?null:{matDatepickerMin:{min:i,actual:e}}},this._maxValidator=t=>{const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t.value)),i=this._getMaxDate();return!i||!e||this._dateAdapter.compareDate(i,e)>=0?null:{matDatepickerMax:{max:i,actual:e}}},this._lastValueValid=!1,this._localeSubscription=e.localeChanges.subscribe(()=>{this._assignValueProgrammatically(this.value)})}get value(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue}set value(t){this._assignValueProgrammatically(t)}get disabled(){return!!this._disabled||this._parentDisabled()}set disabled(t){const e=(0,v.Ig)(t),i=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this.stateChanges.next(void 0)),e&&this._isInitialized&&i.blur&&i.blur()}_getValidators(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]}_registerModel(t){this._model=t,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe(t=>{if(this._shouldHandleChangeEvent(t)){const e=this._getValueFromModel(t.selection);this._lastValueValid=this._isValidValue(e),this._cvaOnChange(e),this._onTouched(),this._formatValue(e),this.dateInput.emit(new vt(this,this._elementRef.nativeElement)),this.dateChange.emit(new vt(this,this._elementRef.nativeElement))}})}ngAfterViewInit(){this._isInitialized=!0}ngOnChanges(t){(function(t,e){const i=Object.keys(t);for(let n of i){const{previousValue:i,currentValue:r}=t[n];if(!e.isDateInstance(i)||!e.isDateInstance(r))return!0;if(!e.sameDate(i,r))return!0}return!1})(t,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()}registerOnValidatorChange(t){this._validatorOnChange=t}validate(t){return this._validator?this._validator(t):null}writeValue(t){this._assignValueProgrammatically(t)}registerOnChange(t){this._cvaOnChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t}_onKeydown(t){t.altKey&&t.keyCode===m.JH&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),t.preventDefault())}_onInput(t){const e=this._lastValueValid;let i=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(i),i=this._dateAdapter.getValidDateOrNull(i),this._dateAdapter.sameDate(i,this.value)?(t&&!this.value&&this._cvaOnChange(i),e!==this._lastValueValid&&this._validatorOnChange()):(this._assignValue(i),this._cvaOnChange(i),this.dateInput.emit(new vt(this,this._elementRef.nativeElement)))}_onChange(){this.dateChange.emit(new vt(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}_formatValue(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""}_assignValue(t){this._model?(this._assignValueToModel(t),this._pendingValue=null):this._pendingValue=t}_isValidValue(t){return!t||this._dateAdapter.isValid(t)}_parentDisabled(){return!1}_assignValueProgrammatically(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=this._isValidValue(t),t=this._dateAdapter.getValidDateOrNull(t),this._assignValue(t),this._formatValue(t)}_matchesFilter(t){const e=this._getDateFilter();return!e||e(t)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(h._A,8),a.Y36(h.sG,8))},t.\u0275dir=a.lG2({type:t,inputs:{value:"value",disabled:"disabled"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[a.TTD]}),t})();const wt={provide:x.JU,useExisting:(0,a.Gpc)(()=>Ct),multi:!0},xt={provide:x.Cf,useExisting:(0,a.Gpc)(()=>Ct),multi:!0};let Ct=(()=>{class t extends _t{constructor(t,e,i,n){super(t,e,i),this._formField=n,this._closedSubscription=d.w0.EMPTY,this._validator=x.kI.compose(super._getValidators())}set matDatepicker(t){t&&(this._datepicker=t,this._closedSubscription=t.closedStream.subscribe(()=>this._onTouched()),this._registerModel(t.registerInput(this)))}get min(){return this._min}set min(t){const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._min)||(this._min=e,this._validatorOnChange())}get max(){return this._max}set max(t){const e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._max)||(this._max=e,this._validatorOnChange())}get dateFilter(){return this._dateFilter}set dateFilter(t){const e=this._matchesFilter(this.value);this._dateFilter=t,this._matchesFilter(this.value)!==e&&this._validatorOnChange()}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}getThemePalette(){return this._formField?this._formField.color:void 0}getStartValue(){return this.value}ngOnDestroy(){super.ngOnDestroy(),this._closedSubscription.unsubscribe()}_openPopup(){this._datepicker&&this._datepicker.open()}_getValueFromModel(t){return t}_assignValueToModel(t){this._model&&this._model.updateSelection(t,this)}_getMinDate(){return this._min}_getMaxDate(){return this._max}_getDateFilter(){return this._dateFilter}_shouldHandleChangeEvent(t){return t.source!==this}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(h._A,8),a.Y36(h.sG,8),a.Y36(C.G_,8))},t.\u0275dir=a.lG2({type:t,selectors:[["input","matDatepicker",""]],hostAttrs:[1,"mat-datepicker-input"],hostVars:6,hostBindings:function(t,e){1&t&&a.NdJ("input",function(t){return e._onInput(t.target.value)})("change",function(){return e._onChange()})("blur",function(){return e._onBlur()})("keydown",function(t){return e._onKeydown(t)}),2&t&&(a.Ikx("disabled",e.disabled),a.uIk("aria-haspopup",e._datepicker?"dialog":null)("aria-owns",(null==e._datepicker?null:e._datepicker.opened)&&e._datepicker.id||null)("min",e.min?e._dateAdapter.toIso8601(e.min):null)("max",e.max?e._dateAdapter.toIso8601(e.max):null)("data-mat-calendar",e._datepicker?e._datepicker.id:null))},inputs:{matDatepicker:"matDatepicker",min:"min",max:"max",dateFilter:["matDatepickerFilter","dateFilter"]},exportAs:["matDatepickerInput"],features:[a._Bn([wt,xt,{provide:A.Jk,useExisting:t}]),a.qOj]}),t})(),At=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=a.lG2({type:t,selectors:[["","matDatepickerToggleIcon",""]]}),t})(),St=(()=>{class t{constructor(t,e,i){this._intl=t,this._changeDetectorRef=e,this._stateChanges=d.w0.EMPTY;const n=Number(i);this.tabIndex=n||0===n?n:null}get disabled(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled}set disabled(t){this._disabled=(0,v.Ig)(t)}ngOnChanges(t){t.datepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())}_watchStateChanges(){const t=this.datepicker?this.datepicker.stateChanges:(0,f.of)(),e=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:(0,f.of)(),i=this.datepicker?(0,p.T)(this.datepicker.openedStream,this.datepicker.closedStream):(0,f.of)();this._stateChanges.unsubscribe(),this._stateChanges=(0,p.T)(this._intl.changes,t,e,i).subscribe(()=>this._changeDetectorRef.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(z),a.Y36(a.sBO),a.$8M("tabindex"))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-datepicker-toggle"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,At,5),2&t){let t;a.iGM(t=a.CRH())&&(e._customIcon=t.first)}},viewQuery:function(t,e){if(1&t&&a.Gf(Z,5),2&t){let t;a.iGM(t=a.CRH())&&(e._button=t.first)}},hostAttrs:[1,"mat-datepicker-toggle"],hostVars:8,hostBindings:function(t,e){1&t&&a.NdJ("click",function(t){return e._open(t)}),2&t&&(a.uIk("tabindex",null)("data-mat-calendar",e.datepicker?e.datepicker.id:null),a.ekj("mat-datepicker-toggle-active",e.datepicker&&e.datepicker.opened)("mat-accent",e.datepicker&&"accent"===e.datepicker.color)("mat-warn",e.datepicker&&"warn"===e.datepicker.color))},inputs:{tabIndex:"tabIndex",disabled:"disabled",datepicker:["for","datepicker"],ariaLabel:["aria-label","ariaLabel"],disableRipple:"disableRipple"},exportAs:["matDatepickerToggle"],features:[a.TTD],ngContentSelectors:q,decls:4,vars:6,consts:[["mat-icon-button","","type","button",3,"disabled","disableRipple"],["button",""],["class","mat-datepicker-toggle-default-icon","viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",4,"ngIf"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",1,"mat-datepicker-toggle-default-icon"],["d","M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"]],template:function(t,e){1&t&&(a.F$t(U),a.TgZ(0,"button",0,1),a.YNc(2,B,2,0,"svg",2),a.Hsn(3),a.qZA()),2&t&&(a.Q6J("disabled",e.disabled)("disableRipple",e.disableRipple),a.uIk("aria-haspopup",e.datepicker?"dialog":null)("aria-label",e.ariaLabel||e._intl.openCalendarLabel)("tabindex",e.disabled?-1:e.tabIndex),a.xp6(2),a.Q6J("ngIf",!e._customIcon))},directives:[l.lW,o.O5],styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}\n"],encapsulation:2,changeDetection:0}),t})(),Et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({providers:[z,pt],imports:[[o.ez,l.ot,r.U8,n.rt,s.eL,h.BQ],c.ZD]}),t})()},4608:(t,e,i)=>{"use strict";i.d(e,{WI:()=>k,Bq:()=>T,uw:()=>O,ZT:()=>D,Is:()=>R,so:()=>S});var n=i(369),r=i(6899),s=i(1572),o=i(1522),a=i(2526),l=i(1511),c=i(9666),h=i(970),u=i(2041),d=i(8868),p=i(9056),f=i(1258),m=i(1353),g=i(709),y=i(5842),b=i(4621);function v(t,e){}class _{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0}}const w={dialogContainer:(0,g.X$)("dialogContainer",[(0,g.SB)("void, exit",(0,g.oB)({opacity:0,transform:"scale(0.7)"})),(0,g.SB)("enter",(0,g.oB)({transform:"none"})),(0,g.eR)("* => enter",(0,g.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,g.oB)({transform:"none",opacity:1}))),(0,g.eR)("* => void, * => exit",(0,g.jt)("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",(0,g.oB)({opacity:0})))])};let x=(()=>{class t extends r.en{constructor(t,e,i,n,r,o){super(),this._elementRef=t,this._focusTrapFactory=e,this._changeDetectorRef=i,this._config=r,this._focusMonitor=o,this._animationStateChanged=new s.vpe,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=t=>(this._portalOutlet.hasAttached(),this._portalOutlet.attachDomPortal(t)),this._ariaLabelledBy=r.ariaLabelledBy||null,this._document=n}_initializeWithAttachedContent(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()}attachComponentPortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)}_recaptureFocus(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()}_trapFocus(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()}_restoreFocus(){const t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){const e=(0,m.ht)(),i=this._elementRef.nativeElement;e&&e!==this._document.body&&e!==i&&!i.contains(e)||(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_setupFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)}_capturePreviouslyFocusedElement(){this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,m.ht)())}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const t=this._elementRef.nativeElement,e=(0,m.ht)();return t===e||t.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(b.qV),s.Y36(s.sBO),s.Y36(l.K0,8),s.Y36(_),s.Y36(b.tE))},t.\u0275dir=s.lG2({type:t,viewQuery:function(t,e){if(1&t&&s.Gf(r.Pl,7),2&t){let t;s.iGM(t=s.CRH())&&(e._portalOutlet=t.first)}},features:[s.qOj]}),t})(),C=(()=>{class t extends x{constructor(){super(...arguments),this._state="enter"}_onAnimationDone({toState:t,totalTime:e}){"enter"===t?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})):"exit"===t&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:e}))}_onAnimationStart({toState:t,totalTime:e}){"enter"===t?this._animationStateChanged.next({state:"opening",totalTime:e}):"exit"!==t&&"void"!==t||this._animationStateChanged.next({state:"closing",totalTime:e})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1","aria-modal","true",1,"mat-dialog-container"],hostVars:6,hostBindings:function(t,e){1&t&&s.WFA("@dialogContainer.start",function(t){return e._onAnimationStart(t)})("@dialogContainer.done",function(t){return e._onAnimationDone(t)}),2&t&&(s.Ikx("id",e._id),s.uIk("role",e._config.role)("aria-labelledby",e._config.ariaLabel?null:e._ariaLabelledBy)("aria-label",e._config.ariaLabel)("aria-describedby",e._config.ariaDescribedBy||null),s.d8E("@dialogContainer",e._state))},features:[s.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,e){1&t&&s.YNc(0,v,0,0,"ng-template",0)},directives:[r.Pl],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[w.dialogContainer]}}),t})(),A=0;class S{constructor(t,e,i="mat-dialog-"+A++){this._overlayRef=t,this._containerInstance=e,this.id=i,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new c.x,this._afterClosed=new c.x,this._beforeClosed=new c.x,this._state=0,e._id=i,e._animationStateChanged.pipe((0,d.h)(t=>"opened"===t.state),(0,p.q)(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe((0,d.h)(t=>"closed"===t.state),(0,p.q)(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._afterClosed.next(this._result),this._afterClosed.complete(),this.componentInstance=null,this._overlayRef.dispose()}),t.keydownEvents().pipe((0,d.h)(t=>t.keyCode===y.hY&&!this.disableClose&&!(0,y.Vb)(t))).subscribe(t=>{t.preventDefault(),E(this,"keyboard")}),t.backdropClick().subscribe(()=>{this.disableClose?this._containerInstance._recaptureFocus():E(this,"mouse")})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe((0,d.h)(t=>"closing"===t.state),(0,p.q)(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._afterClosed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._overlayRef.backdropClick()}keydownEvents(){return this._overlayRef.keydownEvents()}updatePosition(t){let e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this}updateSize(t="",e=""){return this._overlayRef.updateSize({width:t,height:e}),this._overlayRef.updatePosition(),this}addPanelClass(t){return this._overlayRef.addPanelClass(t),this}removePanelClass(t){return this._overlayRef.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._overlayRef.dispose()}_getPositionStrategy(){return this._overlayRef.getConfig().positionStrategy}}function E(t,e,i){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(i)}const k=new s.OlP("MatDialogData"),T=new s.OlP("mat-dialog-default-options"),M=new s.OlP("mat-dialog-scroll-strategy"),L={provide:M,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.block()}};let I=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this._overlay=t,this._injector=e,this._defaultOptions=i,this._parentDialog=n,this._overlayContainer=r,this._dialogRefConstructor=o,this._dialogContainerType=a,this._dialogDataToken=l,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new c.x,this._afterOpenedAtThisLevel=new c.x,this._ariaHiddenElements=new Map,this.afterAllClosed=(0,h.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,f.O)(void 0))),this._scrollStrategy=s}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(t,e){(e=function(t,e){return Object.assign(Object.assign({},e),t)}(e,this._defaultOptions||new _)).id&&this.getDialogById(e.id);const i=this._createOverlay(e),n=this._attachDialogContainer(i,e),r=this._attachDialogContent(t,n,i,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe(()=>this._removeOpenDialog(r)),this.afterOpened.next(r),n._initializeWithAttachedContent(),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_createOverlay(t){const e=this._getOverlayConfig(t);return this._overlay.create(e)}_getOverlayConfig(t){const e=new n.X_({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachDialogContainer(t,e){const i=s.zs3.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:_,useValue:e}]}),n=new r.C5(this._dialogContainerType,e.viewContainerRef,i,e.componentFactoryResolver);return t.attach(n).instance}_attachDialogContent(t,e,i,n){const o=new this._dialogRefConstructor(i,e,n.id);if(t instanceof s.Rgc)e.attachTemplatePortal(new r.UE(t,null,{$implicit:n.data,dialogRef:o}));else{const i=this._createInjector(n,o,e),s=e.attachComponentPortal(new r.C5(t,n.viewContainerRef,i));o.componentInstance=s.instance}return o.updateSize(n.width,n.height).updatePosition(n.position),o}_createInjector(t,e,i){const n=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:i},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return!t.direction||n&&n.get(a.Is,null,s.XFs.Optional)||r.push({provide:a.Is,useValue:{value:t.direction,change:(0,u.of)()}}),s.zs3.create({parent:n||this._injector,providers:r})}_removeOpenDialog(t){const e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((t,e)=>{t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const t=this._overlayContainer.getContainerElement();if(t.parentElement){const e=t.parentElement.children;for(let i=e.length-1;i>-1;i--){let n=e[i];n===t||"SCRIPT"===n.nodeName||"STYLE"===n.nodeName||n.hasAttribute("aria-live")||(this._ariaHiddenElements.set(n,n.getAttribute("aria-hidden")),n.setAttribute("aria-hidden","true"))}}}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(n.aV),s.Y36(s.zs3),s.Y36(void 0),s.Y36(void 0),s.Y36(n.Xj),s.Y36(void 0),s.Y36(s.DyG),s.Y36(s.DyG),s.Y36(s.OlP))},t.\u0275dir=s.lG2({type:t}),t})(),O=(()=>{class t extends I{constructor(t,e,i,n,r,s,o){super(t,e,n,s,o,r,S,C,k)}}return t.\u0275fac=function(e){return new(e||t)(s.LFG(n.aV),s.LFG(s.zs3),s.LFG(l.Ye,8),s.LFG(T,8),s.LFG(M),s.LFG(t,12),s.LFG(n.Xj))},t.\u0275prov=s.Yz7({token:t,factory:t.\u0275fac}),t})(),D=(()=>{class t{constructor(t,e,i){this.dialogRef=t,this._elementRef=e,this._dialog=i,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=function(t,e){let i=t.nativeElement.parentElement;for(;i&&!i.classList.contains("mat-dialog-container");)i=i.parentElement;return i?e.find(t=>t.id===i.id):null}(this._elementRef,this._dialog.openDialogs))}ngOnChanges(t){const e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)}_onButtonClick(t){E(this.dialogRef,0===t.screenX&&0===t.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(S,8),s.Y36(s.SBq),s.Y36(O))},t.\u0275dir=s.lG2({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(t,e){1&t&&s.NdJ("click",function(t){return e._onButtonClick(t)}),2&t&&s.uIk("aria-label",e.ariaLabel||null)("type",e.type)},inputs:{type:"type",dialogResult:["mat-dialog-close","dialogResult"],ariaLabel:["aria-label","ariaLabel"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[s.TTD]}),t})(),R=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({providers:[O,L],imports:[[n.U8,r.eL,o.BQ],o.BQ]}),t})()},7679:(t,e,i)=>{"use strict";i.d(e,{d:()=>o,t:()=>a});var n=i(9861),r=i(1522),s=i(1572);let o=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(t){this._vertical=(0,n.Ig)(t)}get inset(){return this._inset}set inset(t){this._inset=(0,n.Ig)(t)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(s.uIk("aria-orientation",e.vertical?"vertical":"horizontal"),s.ekj("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.BQ],r.BQ]}),t})()},5001:(t,e,i)=>{"use strict";i.d(e,{pp:()=>Y,To:()=>G,ib:()=>U,u4:()=>z,yz:()=>q,yK:()=>H});var n=i(1572),r=i(9861),s=i(9666),o=i(6042),a=i(4230);let l=0;const c=new n.OlP("CdkAccordion");let h=(()=>{class t{constructor(){this._stateChanges=new s.x,this._openCloseAllActions=new s.x,this.id="cdk-accordion-"+l++,this._multi=!1}get multi(){return this._multi}set multi(t){this._multi=(0,r.Ig)(t)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(t){this._stateChanges.next(t)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[n._Bn([{provide:c,useExisting:t}]),n.TTD]}),t})(),u=0,d=(()=>{class t{constructor(t,e,i){this.accordion=t,this._changeDetectorRef=e,this._expansionDispatcher=i,this._openCloseAllSubscription=o.w0.EMPTY,this.closed=new n.vpe,this.opened=new n.vpe,this.destroyed=new n.vpe,this.expandedChange=new n.vpe,this.id="cdk-accordion-child-"+u++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=i.listen((t,e)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===e&&this.id!==t&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(t){t=(0,r.Ig)(t),this._expanded!==t&&(this._expanded=t,this.expandedChange.emit(t),t?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,r.Ig)(t)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(t=>{this.disabled||(this.expanded=t)})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(c,12),n.Y36(n.sBO),n.Y36(a.A8))},t.\u0275dir=n.lG2({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[n._Bn([{provide:c,useValue:void 0}])]}),t})(),p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();var f=i(6899),m=i(1511),g=i(1522),y=i(4621),b=i(6424),v=i(1258),_=i(8868),w=i(9056),x=i(5842),C=i(3490),A=i(4951),S=i(5446),E=i(709);const k=["body"];function T(t,e){}const M=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],L=["mat-expansion-panel-header","*","mat-action-row"];function I(t,e){if(1&t&&n._UZ(0,"span",2),2&t){const t=n.oxw();n.Q6J("@indicatorRotate",t._getExpandedState())}}const O=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],D=["mat-panel-title","mat-panel-description","*"],R=new n.OlP("MAT_ACCORDION"),N="225ms cubic-bezier(0.4,0.0,0.2,1)",P={indicatorRotate:(0,E.X$)("indicatorRotate",[(0,E.SB)("collapsed, void",(0,E.oB)({transform:"rotate(0deg)"})),(0,E.SB)("expanded",(0,E.oB)({transform:"rotate(180deg)"})),(0,E.eR)("expanded <=> collapsed, void => collapsed",(0,E.jt)(N))]),bodyExpansion:(0,E.X$)("bodyExpansion",[(0,E.SB)("collapsed, void",(0,E.oB)({height:"0px",visibility:"hidden"})),(0,E.SB)("expanded",(0,E.oB)({height:"*",visibility:"visible"})),(0,E.eR)("expanded <=> collapsed, void => collapsed",(0,E.jt)(N))])};let F=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Rgc))},t.\u0275dir=n.lG2({type:t,selectors:[["ng-template","matExpansionPanelContent",""]]}),t})(),Z=0;const B=new n.OlP("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let U=(()=>{class t extends d{constructor(t,e,i,r,o,a,l){super(t,e,i),this._viewContainerRef=r,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new n.vpe,this.afterCollapse=new n.vpe,this._inputChanges=new s.x,this._headerId="mat-expansion-panel-header-"+Z++,this._bodyAnimationDone=new s.x,this.accordion=t,this._document=o,this._bodyAnimationDone.pipe((0,b.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{"void"!==t.fromState&&("expanded"===t.toState?this.afterExpand.emit():"collapsed"===t.toState&&this.afterCollapse.emit())}),l&&(this.hideToggle=l.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(t){this._hideToggle=(0,r.Ig)(t)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(t){this._togglePosition=t}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this.opened.pipe((0,v.O)(null),(0,_.h)(()=>this.expanded&&!this._portal),(0,w.q)(1)).subscribe(()=>{this._portal=new f.UE(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(t){this._inputChanges.next(t)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const t=this._document.activeElement,e=this._body.nativeElement;return t===e||e.contains(t)}return!1}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(R,12),n.Y36(n.sBO),n.Y36(a.A8),n.Y36(n.s_b),n.Y36(m.K0),n.Y36(C.Qb,8),n.Y36(B,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,F,5),2&t){let t;n.iGM(t=n.CRH())&&(e._lazyContent=t.first)}},viewQuery:function(t,e){if(1&t&&n.Gf(k,5),2&t){let t;n.iGM(t=n.CRH())&&(e._body=t.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(t,e){2&t&&n.ekj("mat-expanded",e.expanded)("_mat-animation-noopable","NoopAnimations"===e._animationMode)("mat-expansion-panel-spacing",e._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[n._Bn([{provide:R,useValue:void 0}]),n.qOj,n.TTD],ngContentSelectors:L,decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(n.F$t(M),n.Hsn(0),n.TgZ(1,"div",0,1),n.NdJ("@bodyExpansion.done",function(t){return e._bodyAnimationDone.next(t)}),n.TgZ(3,"div",2),n.Hsn(4,1),n.YNc(5,T,0,0,"ng-template",3),n.qZA(),n.Hsn(6,2),n.qZA()),2&t&&(n.xp6(1),n.Q6J("@bodyExpansion",e._getExpandedState())("id",e.id),n.uIk("aria-labelledby",e._headerId),n.xp6(4),n.Q6J("cdkPortalOutlet",e._portal))},directives:[f.Pl],styles:[".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button-base,.mat-action-row button.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button-base,[dir=rtl] .mat-action-row button.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"],encapsulation:2,data:{animation:[P.bodyExpansion]},changeDetection:0}),t})(),q=(()=>{class t{constructor(t,e,i,n,r,s){this.panel=t,this._element=e,this._focusMonitor=i,this._changeDetectorRef=n,this._animationMode=s,this._parentChangeSubscription=o.w0.EMPTY;const a=t.accordion?t.accordion._stateChanges.pipe((0,_.h)(t=>!(!t.hideToggle&&!t.togglePosition))):A.E;this._parentChangeSubscription=(0,S.T)(t.opened,t.closed,a,t._inputChanges.pipe((0,_.h)(t=>!!(t.hideToggle||t.disabled||t.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),t.closed.pipe((0,_.h)(()=>t._containsFocus())).subscribe(()=>i.focusVia(e,"program")),r&&(this.expandedHeight=r.expandedHeight,this.collapsedHeight=r.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const t=this._isExpanded();return t&&this.expandedHeight?this.expandedHeight:!t&&this.collapsedHeight?this.collapsedHeight:null}_keydown(t){switch(t.keyCode){case x.L_:case x.K5:(0,x.Vb)(t)||(t.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(t))}}focus(t,e){t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(t=>{t&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(U,1),n.Y36(n.SBq),n.Y36(y.tE),n.Y36(n.sBO),n.Y36(B,8),n.Y36(C.Qb,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._toggle()})("keydown",function(t){return e._keydown(t)}),2&t&&(n.uIk("id",e.panel._headerId)("tabindex",e.disabled?-1:0)("aria-controls",e._getPanelId())("aria-expanded",e._isExpanded())("aria-disabled",e.panel.disabled),n.Udp("height",e._getHeaderHeight()),n.ekj("mat-expanded",e._isExpanded())("mat-expansion-toggle-indicator-after","after"===e._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===e._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===e._animationMode))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},ngContentSelectors:D,decls:5,vars:1,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(t,e){1&t&&(n.F$t(O),n.TgZ(0,"span",0),n.Hsn(1),n.Hsn(2,1),n.Hsn(3,2),n.qZA(),n.YNc(4,I,1,1,"span",1)),2&t&&(n.xp6(4),n.Q6J("ngIf",e._showToggle()))},directives:[m.O5],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;margin-right:16px}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true])::before,.cdk-high-contrast-active .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true])::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;border:3px solid;border-radius:4px;content:""}\n'],encapsulation:2,data:{animation:[P.indicatorRotate]},changeDetection:0}),t})(),z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]}),t})(),Y=(()=>{class t extends h{constructor(){super(...arguments),this._ownHeaders=new n.n_E,this._hideToggle=!1,this.displayMode="default",this.togglePosition="after"}get hideToggle(){return this._hideToggle}set hideToggle(t){this._hideToggle=(0,r.Ig)(t)}ngAfterContentInit(){this._headers.changes.pipe((0,v.O)(this._headers)).subscribe(t=>{this._ownHeaders.reset(t.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new y.Em(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(t){this._keyManager.onKeydown(t)}_handleHeaderFocus(t){this._keyManager.updateActiveItem(t)}ngOnDestroy(){super.ngOnDestroy(),this._ownHeaders.destroy()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["mat-accordion"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,q,5),2&t){let t;n.iGM(t=n.CRH())&&(e._headers=t)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,e){2&t&&n.ekj("mat-accordion-multi",e.multi)},inputs:{multi:"multi",displayMode:"displayMode",togglePosition:"togglePosition",hideToggle:"hideToggle"},exportAs:["matAccordion"],features:[n._Bn([{provide:R,useExisting:t}]),n.qOj]}),t})(),G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[m.ez,g.BQ,p,f.eL]]}),t})()},6283:(t,e,i)=>{"use strict";i.d(e,{G_:()=>K,TO:()=>F,KE:()=>$,Eo:()=>B,lN:()=>tt,bx:()=>z,R9:()=>V});var n=i(6337),r=i(1511),s=i(1572),o=i(1522),a=i(9861),l=i(9666),c=i(5446),h=i(5960),u=i(1258),d=i(9568),p=i(9056),f=i(709),m=i(3490),g=i(2526),y=i(1353);const b=["underline"],v=["connectionContainer"],_=["inputContainer"],w=["label"];function x(t,e){1&t&&(s.ynx(0),s.TgZ(1,"div",14),s._UZ(2,"div",15),s._UZ(3,"div",16),s._UZ(4,"div",17),s.qZA(),s.TgZ(5,"div",18),s._UZ(6,"div",15),s._UZ(7,"div",16),s._UZ(8,"div",17),s.qZA(),s.BQk())}function C(t,e){1&t&&(s.TgZ(0,"div",19),s.Hsn(1,1),s.qZA())}function A(t,e){if(1&t&&(s.ynx(0),s.Hsn(1,2),s.TgZ(2,"span"),s._uU(3),s.qZA(),s.BQk()),2&t){const t=s.oxw(2);s.xp6(3),s.Oqu(t._control.placeholder)}}function S(t,e){1&t&&s.Hsn(0,3,["*ngSwitchCase","true"])}function E(t,e){1&t&&(s.TgZ(0,"span",23),s._uU(1," *"),s.qZA())}function k(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"label",20,21),s.NdJ("cdkObserveContent",function(){return s.CHM(t),s.oxw().updateOutlineGap()}),s.YNc(2,A,4,1,"ng-container",12),s.YNc(3,S,1,0,"ng-content",12),s.YNc(4,E,2,0,"span",22),s.qZA()}if(2&t){const t=s.oxw();s.ekj("mat-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-form-field-empty",t._control.empty&&!t._shouldAlwaysFloat())("mat-accent","accent"==t.color)("mat-warn","warn"==t.color),s.Q6J("cdkObserveContentDisabled","outline"!=t.appearance)("id",t._labelId)("ngSwitch",t._hasLabel()),s.uIk("for",t._control.id)("aria-owns",t._control.id),s.xp6(2),s.Q6J("ngSwitchCase",!1),s.xp6(1),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngIf",!t.hideRequiredMarker&&t._control.required&&!t._control.disabled)}}function T(t,e){1&t&&(s.TgZ(0,"div",24),s.Hsn(1,4),s.qZA())}function M(t,e){if(1&t&&(s.TgZ(0,"div",25,26),s._UZ(2,"span",27),s.qZA()),2&t){const t=s.oxw();s.xp6(2),s.ekj("mat-accent","accent"==t.color)("mat-warn","warn"==t.color)}}function L(t,e){if(1&t&&(s.TgZ(0,"div"),s.Hsn(1,5),s.qZA()),2&t){const t=s.oxw();s.Q6J("@transitionMessages",t._subscriptAnimationState)}}function I(t,e){if(1&t&&(s.TgZ(0,"div",31),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.Q6J("id",t._hintLabelId),s.xp6(1),s.Oqu(t.hintLabel)}}function O(t,e){if(1&t&&(s.TgZ(0,"div",28),s.YNc(1,I,2,2,"div",29),s.Hsn(2,6),s._UZ(3,"div",30),s.Hsn(4,7),s.qZA()),2&t){const t=s.oxw();s.Q6J("@transitionMessages",t._subscriptAnimationState),s.xp6(1),s.Q6J("ngIf",t.hintLabel)}}const D=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],R=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"];let N=0;const P=new s.OlP("MatError");let F=(()=>{class t{constructor(t,e){this.id="mat-error-"+N++,t||e.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(s.$8M("aria-live"),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(t,e){2&t&&s.uIk("id",e.id)},inputs:{id:"id"},features:[s._Bn([{provide:P,useExisting:t}])]}),t})();const Z={transitionMessages:(0,f.X$)("transitionMessages",[(0,f.SB)("enter",(0,f.oB)({opacity:1,transform:"translateY(0%)"})),(0,f.eR)("void => enter",[(0,f.oB)({opacity:0,transform:"translateY(-5px)"}),(0,f.jt)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t}),t})(),U=0;const q=new s.OlP("MatHint");let z=(()=>{class t{constructor(){this.align="start",this.id="mat-hint-"+U++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(t,e){2&t&&(s.uIk("id",e.id)("align",null),s.ekj("mat-form-field-hint-end","end"===e.align))},inputs:{align:"align",id:"id"},features:[s._Bn([{provide:q,useExisting:t}])]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-label"]]}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-placeholder"]]}),t})();const G=new s.OlP("MatPrefix"),j=new s.OlP("MatSuffix");let V=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["","matSuffix",""]],features:[s._Bn([{provide:j,useExisting:t}])]}),t})(),Q=0;class W{constructor(t){this._elementRef=t}}const J=(0,o.pj)(W,"primary"),X=new s.OlP("MAT_FORM_FIELD_DEFAULT_OPTIONS"),K=new s.OlP("MatFormField");let $=(()=>{class t extends J{constructor(t,e,i,n,r,s,o,a){super(t),this._elementRef=t,this._changeDetectorRef=e,this._dir=n,this._defaults=r,this._platform=s,this._ngZone=o,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new l.x,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+Q++,this._labelId="mat-form-field-label-"+Q++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==a,this.appearance=r&&r.appearance?r.appearance:"legacy",this._hideRequiredMarker=!(!r||null==r.hideRequiredMarker)&&r.hideRequiredMarker}get appearance(){return this._appearance}set appearance(t){const e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(t){this._hideRequiredMarker=(0,a.Ig)(t)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(t){this._hintLabel=t,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(t){this._explicitFormFieldControl=t}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const t=this._control;t.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${t.controlType}`),t.stateChanges.pipe((0,u.O)(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),t.ngControl&&t.ngControl.valueChanges&&t.ngControl.valueChanges.pipe((0,d.R)(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,d.R)(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),(0,c.T)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe((0,u.O)(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe((0,u.O)(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe((0,d.R)(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(t){const e=this._control?this._control.ngControl:null;return e&&e[t]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,(0,h.R)(this._label.nativeElement,"transitionend").pipe((0,p.q)(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let t=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&t.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const e=this._hintChildren?this._hintChildren.find(t=>"start"===t.align):null,i=this._hintChildren?this._hintChildren.find(t=>"end"===t.align):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),i&&t.push(i.id)}else this._errorChildren&&t.push(...this._errorChildren.map(t=>t.id));this._control.setDescribedByIds(t)}}_validateControlChild(){}updateOutlineGap(){const t=this._label?this._label.nativeElement:null;if("outline"!==this.appearance||!t||!t.children.length||!t.textContent.trim())return;if(!this._platform.isBrowser)return;if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);let e=0,i=0;const n=this._connectionContainerRef.nativeElement,r=n.querySelectorAll(".mat-form-field-outline-start"),s=n.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){const r=n.getBoundingClientRect();if(0===r.width&&0===r.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);const s=this._getStartEnd(r),o=t.children,a=this._getStartEnd(o[0].getBoundingClientRect());let l=0;for(let t=0;t0?.75*l+10:0}for(let o=0;o{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[r.ez,o.BQ,n.Q8],o.BQ]}),t})()},7271:(t,e,i)=>{"use strict";i.d(e,{Il:()=>_,N6:()=>w,DX:()=>d});var n=i(1572),r=i(1522),s=i(9861),o=i(2526);const a=["*"],l=".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}\n";class c{constructor(){this.columnIndex=0,this.rowIndex=0}get rowCount(){return this.rowIndex+1}get rowspan(){const t=Math.max(...this.tracker);return t>1?this.rowCount+t-1:this.rowCount}update(t,e){this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(t),this.tracker.fill(0,0,this.tracker.length),this.positions=e.map(t=>this._trackTile(t))}_trackTile(t){const e=this._findMatchingGap(t.colspan);return this._markTilePosition(e,t),this.columnIndex=e+t.colspan,new h(this.rowIndex,e)}_findMatchingGap(t){let e=-1,i=-1;do{this.columnIndex+t>this.tracker.length?(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)):(e=this.tracker.indexOf(0,this.columnIndex),-1!=e?(i=this._findGapEndIndex(e),this.columnIndex=e+1):(this._nextRow(),e=this.tracker.indexOf(0,this.columnIndex),i=this._findGapEndIndex(e)))}while(i-e{class t{constructor(t,e){this._element=t,this._gridList=e,this._rowspan=1,this._colspan=1}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=Math.round((0,s.su)(t))}get colspan(){return this._colspan}set colspan(t){this._colspan=Math.round((0,s.su)(t))}_setStyle(t,e){this._element.nativeElement.style[t]=e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(u,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-grid-tile"]],hostAttrs:[1,"mat-grid-tile"],hostVars:2,hostBindings:function(t,e){2&t&&n.uIk("rowspan",e.rowspan)("colspan",e.colspan)},inputs:{rowspan:"rowspan",colspan:"colspan"},exportAs:["matGridTile"],ngContentSelectors:a,decls:2,vars:0,consts:[[1,"mat-grid-tile-content"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.Hsn(1),n.qZA())},styles:[l],encapsulation:2,changeDetection:0}),t})();const p=/^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;class f{constructor(){this._rows=0,this._rowspan=0}init(t,e,i,n){this._gutterSize=v(t),this._rows=e.rowCount,this._rowspan=e.rowspan,this._cols=i,this._direction=n}getBaseTileSize(t,e){return`(${t}% - (${this._gutterSize} * ${e}))`}getTilePosition(t,e){return 0===e?"0":b(`(${t} + ${this._gutterSize}) * ${e}`)}getTileSize(t,e){return`(${t} * ${e}) + (${e-1} * ${this._gutterSize})`}setStyle(t,e,i){let n=100/this._cols,r=(this._cols-1)/this._cols;this.setColStyles(t,i,n,r),this.setRowStyles(t,e,n,r)}setColStyles(t,e,i,n){let r=this.getBaseTileSize(i,n);t._setStyle("rtl"===this._direction?"right":"left",this.getTilePosition(r,e)),t._setStyle("width",b(this.getTileSize(r,t.colspan)))}getGutterSpan(){return`${this._gutterSize} * (${this._rowspan} - 1)`}getTileSpan(t){return`${this._rowspan} * ${this.getTileSize(t,1)}`}getComputedHeight(){return null}}class m extends f{constructor(t){super(),this.fixedRowHeight=t}init(t,e,i,n){super.init(t,e,i,n),this.fixedRowHeight=v(this.fixedRowHeight),p.test(this.fixedRowHeight)}setRowStyles(t,e){t._setStyle("top",this.getTilePosition(this.fixedRowHeight,e)),t._setStyle("height",b(this.getTileSize(this.fixedRowHeight,t.rowspan)))}getComputedHeight(){return["height",b(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)]}reset(t){t._setListStyle(["height",null]),t._tiles&&t._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}class g extends f{constructor(t){super(),this._parseRatio(t)}setRowStyles(t,e,i,n){this.baseTileHeight=this.getBaseTileSize(i/this.rowHeightRatio,n),t._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,e)),t._setStyle("paddingTop",b(this.getTileSize(this.baseTileHeight,t.rowspan)))}getComputedHeight(){return["paddingBottom",b(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)]}reset(t){t._setListStyle(["paddingBottom",null]),t._tiles.forEach(t=>{t._setStyle("marginTop",null),t._setStyle("paddingTop",null)})}_parseRatio(t){const e=t.split(":");this.rowHeightRatio=parseFloat(e[0])/parseFloat(e[1])}}class y extends f{setRowStyles(t,e){let i=this.getBaseTileSize(100/this._rowspan,(this._rows-1)/this._rows);t._setStyle("top",this.getTilePosition(i,e)),t._setStyle("height",b(this.getTileSize(i,t.rowspan)))}reset(t){t._tiles&&t._tiles.forEach(t=>{t._setStyle("top",null),t._setStyle("height",null)})}}function b(t){return`calc(${t})`}function v(t){return t.match(/([A-Za-z%]+)$/)?t:`${t}px`}let _=(()=>{class t{constructor(t,e){this._element=t,this._dir=e,this._gutter="1px"}get cols(){return this._cols}set cols(t){this._cols=Math.max(1,Math.round((0,s.su)(t)))}get gutterSize(){return this._gutter}set gutterSize(t){this._gutter=`${null==t?"":t}`}get rowHeight(){return this._rowHeight}set rowHeight(t){const e=`${null==t?"":t}`;e!==this._rowHeight&&(this._rowHeight=e,this._setTileStyler(this._rowHeight))}ngOnInit(){this._checkCols(),this._checkRowHeight()}ngAfterContentChecked(){this._layoutTiles()}_checkCols(){}_checkRowHeight(){this._rowHeight||this._setTileStyler("1:1")}_setTileStyler(t){this._tileStyler&&this._tileStyler.reset(this),this._tileStyler="fit"===t?new y:t&&t.indexOf(":")>-1?new g(t):new m(t)}_layoutTiles(){this._tileCoordinator||(this._tileCoordinator=new c);const t=this._tileCoordinator,e=this._tiles.filter(t=>!t._gridList||t._gridList===this),i=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,e),this._tileStyler.init(this.gutterSize,t,this.cols,i),e.forEach((e,i)=>{const n=t.positions[i];this._tileStyler.setStyle(e,n.row,n.col)}),this._setListStyle(this._tileStyler.getComputedHeight())}_setListStyle(t){t&&(this._element.nativeElement.style[t[0]]=t[1])}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(o.Is,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-grid-list"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,d,5),2&t){let t;n.iGM(t=n.CRH())&&(e._tiles=t)}},hostAttrs:[1,"mat-grid-list"],hostVars:1,hostBindings:function(t,e){2&t&&n.uIk("cols",e.cols)},inputs:{cols:"cols",gutterSize:"gutterSize",rowHeight:"rowHeight"},exportAs:["matGridList"],features:[n._Bn([{provide:u,useExisting:t}])],ngContentSelectors:a,decls:2,vars:0,template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div"),n.Hsn(1),n.qZA())},styles:[l],encapsulation:2,changeDetection:0}),t})(),w=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.uc,r.BQ],r.uc,r.BQ]}),t})()},3691:(t,e,i)=>{"use strict";i.d(e,{Hw:()=>D,Ps:()=>R});var n=i(1572),r=i(1522),s=i(9861),o=i(1511),a=i(2041),l=i(9647),c=i(6891),h=i(6042),u=i(343),d=i(1681),p=i(1816),f=i(849),m=i(7839),g=i(9056),y=i(9063),b=i(269);const v=["*"];function _(t){return Error(`Unable to find icon with the name "${t}"`)}function w(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function x(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class C{constructor(t,e,i){this.url=t,this.svgText=e,this.options=i}}let A=(()=>{class t{constructor(t,e,i,n){this._httpClient=t,this._sanitizer=e,this._errorHandler=n,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass="material-icons",this._document=i}addSvgIcon(t,e,i){return this.addSvgIconInNamespace("",t,e,i)}addSvgIconLiteral(t,e,i){return this.addSvgIconLiteralInNamespace("",t,e,i)}addSvgIconInNamespace(t,e,i,n){return this._addSvgIconConfig(t,e,new C(i,null,n))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,i,r){const s=this._sanitizer.sanitize(n.q3G.HTML,i);if(!s)throw x(i);return this._addSvgIconConfig(t,e,new C("",s,r))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,i){return this._addSvgIconSetConfig(t,new C(e,null,i))}addSvgIconSetLiteralInNamespace(t,e,i){const r=this._sanitizer.sanitize(n.q3G.HTML,e);if(!r)throw x(e);return this._addSvgIconSetConfig(t,new C("",r,i))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const e=this._sanitizer.sanitize(n.q3G.RESOURCE_URL,t);if(!e)throw w(t);const i=this._cachedIconsByUrl.get(e);return i?(0,a.of)(S(i)):this._loadSvgIconFromConfig(new C(t,null)).pipe((0,u.b)(t=>this._cachedIconsByUrl.set(e,t)),(0,d.U)(t=>S(t)))}getNamedSvgIcon(t,e=""){const i=E(e,t);let n=this._svgIconConfigs.get(i);if(n)return this._getSvgFromConfig(n);if(n=this._getIconConfigFromResolvers(e,t),n)return this._svgIconConfigs.set(i,n),this._getSvgFromConfig(n);const r=this._iconSetConfigs.get(e);return r?this._getSvgFromIconSetConfigs(t,r):(0,l._)(_(i))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?(0,a.of)(S(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe((0,d.U)(t=>S(t)))}_getSvgFromIconSetConfigs(t,e){const i=this._extractIconWithNameFromAnySet(t,e);if(i)return(0,a.of)(i);const r=e.filter(t=>!t.svgText).map(t=>this._loadSvgIconSetFromConfig(t).pipe((0,p.K)(e=>{const i=this._sanitizer.sanitize(n.q3G.RESOURCE_URL,t.url);return this._errorHandler.handleError(new Error(`Loading icon set URL: ${i} failed: ${e.message}`)),(0,a.of)(null)})));return(0,c.D)(r).pipe((0,d.U)(()=>{const i=this._extractIconWithNameFromAnySet(t,e);if(!i)throw _(t);return i}))}_extractIconWithNameFromAnySet(t,e){for(let i=e.length-1;i>=0;i--){const n=e[i];if(n.svgText&&n.svgText.indexOf(t)>-1){const e=this._svgElementFromConfig(n),i=this._extractSvgIconFromSet(e,t,n.options);if(i)return i}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe((0,u.b)(e=>t.svgText=e),(0,d.U)(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?(0,a.of)(null):this._fetchIcon(t).pipe((0,u.b)(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,i){const n=t.querySelector(`[id="${e}"]`);if(!n)return null;const r=n.cloneNode(!0);if(r.removeAttribute("id"),"svg"===r.nodeName.toLowerCase())return this._setSvgAttributes(r,i);if("symbol"===r.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(r),i);const s=this._svgElementFromString("");return s.appendChild(r),this._setSvgAttributes(s,i)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const i=e.querySelector("svg");if(!i)throw Error(" tag not found");return i}_toSvgElement(t){const e=this._svgElementFromString(""),i=t.attributes;for(let n=0;nthis._inProgressUrlFetches.delete(o)),(0,m.B)());return this._inProgressUrlFetches.set(o,l),l}_addSvgIconConfig(t,e,i){return this._svgIconConfigs.set(E(t,e),i),this}_addSvgIconSetConfig(t,e){const i=this._iconSetConfigs.get(t);return i?i.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;ne?e.pathname+e.search:""}}}),L=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],I=L.map(t=>`[${t}]`).join(", "),O=/^url\(['"]?#(.*?)['"]?\)$/;let D=(()=>{class t extends T{constructor(t,e,i,n,r){super(t),this._iconRegistry=e,this._location=n,this._errorHandler=r,this._inline=!1,this._currentIconFetch=h.w0.EMPTY,i||t.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(t){this._inline=(0,s.Ig)(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=t.querySelectorAll("style");for(let n=0;n{e.forEach(e=>{i.setAttribute(e.name,`url('${t}#${e.value}')`)})})}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(I),i=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let n=0;n{const r=e[n],s=r.getAttribute(t),o=s?s.match(O):null;if(o){let e=i.get(r);e||(e=[],i.set(r,e)),e.push({name:t,value:o[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,i]=this._splitIconName(t);e&&(this._svgNamespace=e),i&&(this._svgName=i),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(i,e).pipe((0,g.q)(1)).subscribe(t=>this._setSvgElement(t),t=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${e}:${i}! ${t.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(A),n.$8M("aria-hidden"),n.Y36(M),n.Y36(n.qLn))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:7,hostBindings:function(t,e){2&t&&(n.uIk("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet),n.ekj("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[n.qOj],ngContentSelectors:v,decls:1,vars:0,template:function(t,e){1&t&&(n.F$t(),n.Hsn(0))},styles:[".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"],encapsulation:2,changeDetection:0}),t})(),R=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.BQ],r.BQ]}),t})()},6756:(t,e,i)=>{"use strict";i.d(e,{Jk:()=>_,Nt:()=>S,c:()=>E,D7:()=>v});var n=i(1353),r=i(1572),s=i(9861),o=i(4951),a=i(9666),l=i(5960),c=i(9610),h=i(9568),u=i(1511);const d=(0,n.i$)({passive:!0});let p=(()=>{class t{constructor(t,e){this._platform=t,this._ngZone=e,this._monitoredElements=new Map}monitor(t){if(!this._platform.isBrowser)return o.E;const e=(0,s.fI)(t),i=this._monitoredElements.get(e);if(i)return i.subject;const n=new a.x,r="cdk-text-field-autofilled",l=t=>{"cdk-text-field-autofill-start"!==t.animationName||e.classList.contains(r)?"cdk-text-field-autofill-end"===t.animationName&&e.classList.contains(r)&&(e.classList.remove(r),this._ngZone.run(()=>n.next({target:t.target,isAutofilled:!1}))):(e.classList.add(r),this._ngZone.run(()=>n.next({target:t.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{e.addEventListener("animationstart",l,d),e.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(e,{subject:n,unlisten:()=>{e.removeEventListener("animationstart",l,d)}}),n}stopMonitoring(t){const e=(0,s.fI)(t),i=this._monitoredElements.get(e);i&&(i.unlisten(),i.subject.complete(),e.classList.remove("cdk-text-field-autofill-monitored"),e.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(e))}ngOnDestroy(){this._monitoredElements.forEach((t,e)=>this.stopMonitoring(e))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.t4),r.LFG(r.R0b))},t.\u0275prov=r.Yz7({factory:function(){return new t(r.LFG(n.t4),r.LFG(r.R0b))},token:t,providedIn:"root"}),t})(),f=(()=>{class t{constructor(t,e,i,n){this._elementRef=t,this._platform=e,this._ngZone=i,this._destroyed=new a.x,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._document=n,this._textareaElement=this._elementRef.nativeElement,this._measuringClass=e.FIREFOX?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring"}get minRows(){return this._minRows}set minRows(t){this._minRows=(0,s.su)(t),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(t){this._maxRows=(0,s.su)(t),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(t){t=(0,s.Ig)(t),this._enabled!==t&&((this._enabled=t)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(t){this._cachedPlaceholderHeight=void 0,this._textareaElement.placeholder=t,this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const t=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.minHeight=t)}_setMaxHeight(){const t=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;t&&(this._textareaElement.style.maxHeight=t)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{const t=this._getWindow();(0,l.R)(t,"resize").pipe((0,c.e)(16),(0,h.R)(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0))}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let t=this._textareaElement.cloneNode(!1);t.rows=1,t.style.position="absolute",t.style.visibility="hidden",t.style.border="none",t.style.padding="0",t.style.height="",t.style.minHeight="",t.style.maxHeight="",t.style.overflow="hidden",this._textareaElement.parentNode.appendChild(t),this._cachedLineHeight=t.clientHeight,this._textareaElement.parentNode.removeChild(t),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){this._textareaElement.classList.add(this._measuringClass);const t=this._textareaElement.scrollHeight-4;return this._textareaElement.classList.remove(this._measuringClass),t}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const t=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=t}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(t=!1){if(!this._enabled)return;if(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight)return;const e=this._elementRef.nativeElement,i=e.value;if(!t&&this._minRows===this._previousMinRows&&i===this._previousValue)return;const n=this._measureScrollHeight(),r=Math.max(n,this._cachedPlaceholderHeight||0);e.style.height=`${r}px`,this._ngZone.runOutsideAngular(()=>{"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(()=>this._scrollToCaretPosition(e)):setTimeout(()=>this._scrollToCaretPosition(e))}),this._previousValue=i,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(t){const{selectionStart:e,selectionEnd:i}=t,n=this._getDocument();this._destroyed.isStopped||n.activeElement!==t||t.setSelectionRange(e,i)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(n.t4),r.Y36(r.R0b),r.Y36(u.K0,8))},t.\u0275dir=r.lG2({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(t,e){1&t&&r.NdJ("input",function(){return e._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]}),t})(),m=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[n.ud]]}),t})();var g=i(1522),y=i(6283),b=i(6073);let v=(()=>{class t extends f{get matAutosizeMinRows(){return this.minRows}set matAutosizeMinRows(t){this.minRows=t}get matAutosizeMaxRows(){return this.maxRows}set matAutosizeMaxRows(t){this.maxRows=t}get matAutosize(){return this.enabled}set matAutosize(t){this.enabled=t}get matTextareaAutosize(){return this.enabled}set matTextareaAutosize(t){this.enabled=t}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=r.n5z(t)))(i||t)}}(),t.\u0275dir=r.lG2({type:t,selectors:[["textarea","mat-autosize",""],["textarea","matTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize","mat-autosize"],inputs:{cdkAutosizeMinRows:"cdkAutosizeMinRows",cdkAutosizeMaxRows:"cdkAutosizeMaxRows",matAutosizeMinRows:"matAutosizeMinRows",matAutosizeMaxRows:"matAutosizeMaxRows",matAutosize:["mat-autosize","matAutosize"],matTextareaAutosize:"matTextareaAutosize"},exportAs:["matTextareaAutosize"],features:[r.qOj]}),t})();const _=new r.OlP("MAT_INPUT_VALUE_ACCESSOR"),w=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let x=0;class C{constructor(t,e,i,n){this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=i,this.ngControl=n}}const A=(0,g.FD)(C);let S=(()=>{class t extends A{constructor(t,e,i,r,s,o,l,c,h,u){super(o,r,s,i),this._elementRef=t,this._platform=e,this.ngControl=i,this._autofillMonitor=c,this._formField=u,this._uid="mat-input-"+x++,this.focused=!1,this.stateChanges=new a.x,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._required=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(t=>(0,n.qK)().has(t));const d=this._elementRef.nativeElement,p=d.nodeName.toLowerCase();this._inputValueAccessor=l||d,this._previousNativeValue=this.value,this.id=this.id,e.IOS&&h.runOutsideAngular(()=>{t.nativeElement.addEventListener("keyup",t=>{const e=t.target;e.value||0!==e.selectionStart||0!==e.selectionEnd||(e.setSelectionRange(1,1),e.setSelectionRange(0,0))})}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===p,this._isTextarea="textarea"===p,this._isNativeSelect&&(this.controlType=d.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(t){this._id=t||this._uid}get required(){return this._required}set required(t){this._required=(0,s.Ig)(t)}get type(){return this._type}set type(t){this._type=t||"text",this._validateType(),!this._isTextarea&&(0,n.qK)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(t){t!==this.value&&(this._inputValueAccessor.value=t,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(t){this._readonly=(0,s.Ig)(t)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(t=>{this.autofilled=t.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(t){this._elementRef.nativeElement.focus(t)}_focusChanged(t){t===this.focused||this.readonly&&t||(this.focused=t,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){var t,e;const i=(null===(e=null===(t=this._formField)||void 0===t?void 0:t._hideControlPlaceholder)||void 0===e?void 0:e.call(t))?null:this.placeholder;if(i!==this._previousPlaceholder){const t=this._elementRef.nativeElement;this._previousPlaceholder=i,i?t.setAttribute("placeholder",i):t.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const t=this._elementRef.nativeElement.value;this._previousNativeValue!==t&&(this._previousNativeValue=t,this.stateChanges.next())}_validateType(){w.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let t=this._elementRef.nativeElement.validity;return t&&t.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const t=this._elementRef.nativeElement,e=t.options[0];return this.focused||t.multiple||!this.empty||!!(t.selectedIndex>-1&&e&&e.label)}return this.focused||!this.empty}setDescribedByIds(t){t.length?this._elementRef.nativeElement.setAttribute("aria-describedby",t.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(n.t4),r.Y36(b.a5,10),r.Y36(b.F,8),r.Y36(b.sg,8),r.Y36(g.rD),r.Y36(_,10),r.Y36(p),r.Y36(r.R0b),r.Y36(y.G_,8))},t.\u0275dir=r.lG2({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:9,hostBindings:function(t,e){1&t&&r.NdJ("focus",function(){return e._focusChanged(!0)})("blur",function(){return e._focusChanged(!1)})("input",function(){return e._onInput()}),2&t&&(r.Ikx("disabled",e.disabled)("required",e.required),r.uIk("id",e.id)("data-placeholder",e.placeholder)("readonly",e.readonly&&!e._isNativeSelect||null)("aria-invalid",e.empty&&e.required?null:e.errorState)("aria-required",e.required),r.ekj("mat-input-server",e._isServer))},inputs:{id:"id",disabled:"disabled",required:"required",type:"type",value:"value",readonly:"readonly",placeholder:"placeholder",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"]},exportAs:["matInput"],features:[r._Bn([{provide:y.Eo,useExisting:t}]),r.qOj,r.TTD]}),t})(),E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[g.rD],imports:[[m,y.lN,g.BQ],m,y.lN]}),t})()},5250:(t,e,i)=>{"use strict";i.d(e,{i$:()=>v,Tg:()=>x,ie:()=>C});var n=i(1511),r=i(1572),s=i(1522),o=i(9861),a=i(9666),l=i(9568),c=(i(1258),i(4621),i(4230),i(5842),i(6073),i(7679));const h=["*"],u=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],d=["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"];class p{}const f=(0,s.Id)((0,s.Kr)(p));class m{}const g=(0,s.Kr)(m),y=new r.OlP("MatList"),b=new r.OlP("MatNavList");let v=(()=>{class t extends f{constructor(t){super(),this._elementRef=t,this._stateChanges=new a.x,"action-list"===this._getListType()&&t.nativeElement.classList.add("mat-action-list")}_getListType(){const t=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===t?"list":"mat-action-list"===t?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[r._Bn([{provide:y,useExisting:t}]),r.qOj,r.TTD],ngContentSelectors:h,decls:1,vars:0,template:function(t,e){1&t&&(r.F$t(),r.Hsn(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:transparent}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:transparent;width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:transparent;text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-selection-list:focus{outline-style:dotted}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-list-option:focus,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:focus,.cdk-high-contrast-active mat-action-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:focus{outline:dotted 1px}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}\n'],encapsulation:2,changeDetection:0}),t})(),_=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]}),t})(),w=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]}),t})(),x=(()=>{class t extends g{constructor(t,e,i,n){super(),this._element=t,this._isInteractiveList=!1,this._destroyed=new a.x,this._disabled=!1,this._isInteractiveList=!!(i||n&&"action-list"===n._getListType()),this._list=i||n;const r=this._getHostElement();"button"!==r.nodeName.toLowerCase()||r.hasAttribute("type")||r.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe((0,l.R)(this._destroyed)).subscribe(()=>{e.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(t){this._disabled=(0,o.Ig)(t)}ngAfterContentInit(){(0,s.E0)(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(r.sBO),r.Y36(b,8),r.Y36(y,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(t,e,i){if(1&t&&(r.Suo(i,_,5),r.Suo(i,w,5),r.Suo(i,s.X2,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._avatar=t.first),r.iGM(t=r.CRH())&&(e._icon=t.first),r.iGM(t=r.CRH())&&(e._lines=t)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:6,hostBindings:function(t,e){2&t&&r.ekj("mat-list-item-disabled",e.disabled)("mat-list-item-avatar",e._avatar||e._icon)("mat-list-item-with-avatar",e._avatar||e._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[r.qOj],ngContentSelectors:d,decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(t,e){1&t&&(r.F$t(u),r.TgZ(0,"div",0),r._UZ(1,"div",1),r.Hsn(2),r.TgZ(3,"div",2),r.Hsn(4,1),r.qZA(),r.Hsn(5,2),r.qZA()),2&t&&(r.xp6(1),r.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e._isRippleDisabled()))},directives:[s.wG],encapsulation:2,changeDetection:0}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[s.uc,s.si,s.BQ,s.us,n.ez],s.uc,s.BQ,s.us,c.t]}),t})()},8055:(t,e,i)=>{"use strict";i.d(e,{VK:()=>Z,OP:()=>R,Tx:()=>Y,p6:()=>z});var n=i(4621),r=i(9861),s=i(5842),o=i(1572),a=i(9666),l=i(6042),c=i(5446),h=i(2041),u=i(7911),d=i(1258),p=i(4324),f=i(9056),m=i(8868),g=i(9568),y=i(6493),b=i(709),v=i(6899),_=i(1511),w=i(1522),x=i(369),C=i(1353),A=i(4894),S=i(2526);const E=["mat-menu-item",""],k=["*"];function T(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",0),o.NdJ("keydown",function(e){return o.CHM(t),o.oxw()._handleKeydown(e)})("click",function(){return o.CHM(t),o.oxw().closed.emit("click")})("@transformMenu.start",function(e){return o.CHM(t),o.oxw()._onAnimationStart(e)})("@transformMenu.done",function(e){return o.CHM(t),o.oxw()._onAnimationDone(e)}),o.TgZ(1,"div",1),o.Hsn(2),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("id",t.panelId)("ngClass",t._classList)("@transformMenu",t._panelAnimationState),o.uIk("aria-label",t.ariaLabel||null)("aria-labelledby",t.ariaLabelledby||null)("aria-describedby",t.ariaDescribedby||null)}}const M={transformMenu:(0,b.X$)("transformMenu",[(0,b.SB)("void",(0,b.oB)({opacity:0,transform:"scale(0.8)"})),(0,b.eR)("void => enter",(0,b.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,b.oB)({opacity:1,transform:"scale(1)"}))),(0,b.eR)("* => void",(0,b.jt)("100ms 25ms linear",(0,b.oB)({opacity:0})))]),fadeInItems:(0,b.X$)("fadeInItems",[(0,b.SB)("showing",(0,b.oB)({opacity:1})),(0,b.eR)("void => *",[(0,b.oB)({opacity:0}),(0,b.jt)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},L=new o.OlP("MatMenuContent"),I=new o.OlP("MAT_MENU_PANEL");class O{}const D=(0,w.Kr)((0,w.Id)(O));let R=(()=>{class t extends D{constructor(t,e,i,n){super(),this._elementRef=t,this._focusMonitor=i,this._parentMenu=n,this.role="menuitem",this._hovered=new a.x,this._focused=new a.x,this._highlighted=!1,this._triggersSubmenu=!1,n&&n.addItem&&n.addItem(this)}focus(t,e){this._focusMonitor&&t?this._focusMonitor.focusVia(this._getHostElement(),t,e):this._getHostElement().focus(e),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(t){this.disabled&&(t.preventDefault(),t.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){var t,e;const i=this._elementRef.nativeElement.cloneNode(!0),n=i.querySelectorAll("mat-icon, .material-icons");for(let r=0;r{class t{constructor(t,e,i){this._elementRef=t,this._ngZone=e,this._defaultOptions=i,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._directDescendantItems=new o.n_E,this._tabSubscription=l.w0.EMPTY,this._classList={},this._panelAnimationState="void",this._animationDone=new a.x,this.overlayPanelClass=this._defaultOptions.overlayPanelClass||"",this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new o.vpe,this.close=this.closed,this.panelId="mat-menu-panel-"+P++}get xPosition(){return this._xPosition}set xPosition(t){this._xPosition=t,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(t){this._yPosition=t,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(t){this._overlapTrigger=(0,r.Ig)(t)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(t){this._hasBackdrop=(0,r.Ig)(t)}set panelClass(t){const e=this._previousPanelClass;e&&e.length&&e.split(" ").forEach(t=>{this._classList[t]=!1}),this._previousPanelClass=t,t&&t.length&&(t.split(" ").forEach(t=>{this._classList[t]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(t){this.panelClass=t}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new n.Em(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe((0,d.O)(this._directDescendantItems),(0,p.w)(t=>(0,c.T)(...t.map(t=>t._focused)))).subscribe(t=>this._keyManager.updateActiveItem(t))}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe((0,d.O)(this._directDescendantItems),(0,p.w)(t=>(0,c.T)(...t.map(t=>t._hovered))))}addItem(t){}removeItem(t){}_handleKeydown(t){const e=t.keyCode,i=this._keyManager;switch(e){case s.hY:(0,s.Vb)(t)||(t.preventDefault(),this.closed.emit("keydown"));break;case s.oh:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case s.SV:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:e!==s.LH&&e!==s.JH||i.setFocusOrigin("keyboard"),i.onKeydown(t)}}focusFirstItem(t="program"){this.lazyContent?this._ngZone.onStable.pipe((0,f.q)(1)).subscribe(()=>this._focusFirstItem(t)):this._focusFirstItem(t)}_focusFirstItem(t){const e=this._keyManager;if(e.setFocusOrigin(t).setFirstItemActive(),!e.activeItem&&this._directDescendantItems.length){let t=this._directDescendantItems.first._getHostElement().parentElement;for(;t;){if("menu"===t.getAttribute("role")){t.focus();break}t=t.parentElement}}}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(t){const e=`mat-elevation-z${Math.min(4+t,24)}`,i=Object.keys(this._classList).find(t=>t.startsWith("mat-elevation-z"));i&&i!==this._previousElevation||(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[e]=!0,this._previousElevation=e)}setPositionClasses(t=this.xPosition,e=this.yPosition){const i=this._classList;i["mat-menu-before"]="before"===t,i["mat-menu-after"]="after"===t,i["mat-menu-above"]="above"===e,i["mat-menu-below"]="below"===e}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(t){this._animationDone.next(t),this._isAnimating=!1}_onAnimationStart(t){this._isAnimating=!0,"enter"===t.toState&&0===this._keyManager.activeItemIndex&&(t.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe((0,d.O)(this._allItems)).subscribe(t=>{this._directDescendantItems.reset(t.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(N))},t.\u0275dir=o.lG2({type:t,contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,L,5),o.Suo(i,R,5),o.Suo(i,R,4)),2&t){let t;o.iGM(t=o.CRH())&&(e.lazyContent=t.first),o.iGM(t=o.CRH())&&(e._allItems=t),o.iGM(t=o.CRH())&&(e.items=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(o.Rgc,5),2&t){let t;o.iGM(t=o.CRH())&&(e.templateRef=t.first)}},inputs:{backdropClass:"backdropClass",xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{closed:"closed",close:"close"}}),t})(),Z=(()=>{class t extends F{constructor(t,e,i){super(t,e,i)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(N))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(t,e){2&t&&o.uIk("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[o._Bn([{provide:I,useExisting:t}]),o.qOj],ngContentSelectors:k,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,T,3,6,"ng-template"))},directives:[_.mk],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]{pointer-events:none}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}.mat-menu-item-submenu-trigger::after{width:0;height:0;border-style:solid;border-width:5px 0 5px 5px;border-color:transparent transparent transparent currentColor;content:"";display:inline-block;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}[dir=rtl] .mat-menu-item-submenu-trigger::after{right:auto;left:16px;transform:rotateY(180deg) translateY(-50%)}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n'],encapsulation:2,data:{animation:[M.transformMenu,M.fadeInItems]},changeDetection:0}),t})();const B=new o.OlP("mat-menu-scroll-strategy"),U={provide:B,deps:[x.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}},q=(0,C.i$)({passive:!0});let z=(()=>{class t{constructor(t,e,i,r,s,a,c,h){this._overlay=t,this._element=e,this._viewContainerRef=i,this._menuItemInstance=a,this._dir=c,this._focusMonitor=h,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=l.w0.EMPTY,this._hoverSubscription=l.w0.EMPTY,this._menuCloseSubscription=l.w0.EMPTY,this._handleTouchStart=t=>{(0,n.yG)(t)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new o.vpe,this.onMenuOpen=this.menuOpened,this.menuClosed=new o.vpe,this.onMenuClose=this.menuClosed,this._scrollStrategy=r,this._parentMaterialMenu=s instanceof F?s:void 0,e.nativeElement.addEventListener("touchstart",this._handleTouchStart,q),a&&(a._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(t){this.menu=t}get menu(){return this._menu}set menu(t){t!==this._menu&&(this._menu=t,this._menuCloseSubscription.unsubscribe(),t&&(this._menuCloseSubscription=t.close.subscribe(t=>{this._destroyMenu(t),"click"!==t&&"tab"!==t||!this._parentMaterialMenu||this._parentMaterialMenu.closed.emit(t)})))}ngAfterContentInit(){this._checkMenu(),this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,q),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){if(this._menuOpen)return;this._checkMenu();const t=this._createOverlay(),e=t.getConfig();this._setPosition(e.positionStrategy),e.hasBackdrop=null==this.menu.hasBackdrop?!this.triggersSubmenu():this.menu.hasBackdrop,t.attach(this._getPortal()),this.menu.lazyContent&&this.menu.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(),this.menu instanceof F&&this.menu._startAnimation()}closeMenu(){this.menu.close.emit()}focus(t,e){this._focusMonitor&&t?this._focusMonitor.focusVia(this._element,t,e):this._element.nativeElement.focus(e)}updatePosition(){var t;null===(t=this._overlayRef)||void 0===t||t.updatePosition()}_destroyMenu(t){if(!this._overlayRef||!this.menuOpen)return;const e=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),!this.restoreFocus||"keydown"!==t&&this._openedBy&&this.triggersSubmenu()||this.focus(this._openedBy),this._openedBy=void 0,e instanceof F?(e._resetAnimation(),e.lazyContent?e._animationDone.pipe((0,m.h)(t=>"void"===t.toState),(0,f.q)(1),(0,g.R)(e.lazyContent._attached)).subscribe({next:()=>e.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),e.lazyContent&&e.lazyContent.detach())}_initMenu(){this.menu.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,this.menu.direction=this.dir,this._setMenuElevation(),this.menu.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(){if(this.menu.setElevation){let t=0,e=this.menu.parentMenu;for(;e;)t++,e=e.parentMenu;this.menu.setElevation(t)}}_setIsMenuOpen(t){this._menuOpen=t,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&(this._menuItemInstance._highlighted=t)}_checkMenu(){}_createOverlay(){if(!this._overlayRef){const t=this._getOverlayConfig();this._subscribeToPositions(t.positionStrategy),this._overlayRef=this._overlay.create(t),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(){return new x.X_({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:this.menu.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:this.menu.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(t){this.menu.setPositionClasses&&t.positionChanges.subscribe(t=>{this.menu.setPositionClasses("start"===t.connectionPair.overlayX?"after":"before","top"===t.connectionPair.overlayY?"below":"above")})}_setPosition(t){let[e,i]="before"===this.menu.xPosition?["end","start"]:["start","end"],[n,r]="above"===this.menu.yPosition?["bottom","top"]:["top","bottom"],[s,o]=[n,r],[a,l]=[e,i],c=0;this.triggersSubmenu()?(l=e="before"===this.menu.xPosition?"start":"end",i=a="end"===e?"start":"end",c="bottom"===n?8:-8):this.menu.overlapTrigger||(s="top"===n?"bottom":"top",o="top"===r?"bottom":"top"),t.withPositions([{originX:e,originY:s,overlayX:a,overlayY:n,offsetY:c},{originX:i,originY:s,overlayX:l,overlayY:n,offsetY:c},{originX:e,originY:o,overlayX:a,overlayY:r,offsetY:-c},{originX:i,originY:o,overlayX:l,overlayY:r,offsetY:-c}])}_menuClosingActions(){const t=this._overlayRef.backdropClick(),e=this._overlayRef.detachments(),i=this._parentMaterialMenu?this._parentMaterialMenu.closed:(0,h.of)(),n=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe((0,m.h)(t=>t!==this._menuItemInstance),(0,m.h)(()=>this._menuOpen)):(0,h.of)();return(0,c.T)(t,i,n,e)}_handleMousedown(t){(0,n.X6)(t)||(this._openedBy=0===t.button?"mouse":void 0,this.triggersSubmenu()&&t.preventDefault())}_handleKeydown(t){const e=t.keyCode;e!==s.K5&&e!==s.L_||(this._openedBy="keyboard"),this.triggersSubmenu()&&(e===s.SV&&"ltr"===this.dir||e===s.oh&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(t){this.triggersSubmenu()?(t.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe((0,m.h)(t=>t===this._menuItemInstance&&!t.disabled),(0,y.g)(0,u.E)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof F&&this.menu._isAnimating?this.menu._animationDone.pipe((0,f.q)(1),(0,y.g)(0,u.E),(0,g.R)(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(){return this._portal&&this._portal.templateRef===this.menu.templateRef||(this._portal=new v.UE(this.menu.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(x.aV),o.Y36(o.SBq),o.Y36(o.s_b),o.Y36(B),o.Y36(I,8),o.Y36(R,10),o.Y36(S.Is,8),o.Y36(n.tE))},t.\u0275dir=o.lG2({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:["aria-haspopup","true",1,"mat-menu-trigger"],hostVars:2,hostBindings:function(t,e){1&t&&o.NdJ("mousedown",function(t){return e._handleMousedown(t)})("keydown",function(t){return e._handleKeydown(t)})("click",function(t){return e._handleClick(t)}),2&t&&o.uIk("aria-expanded",e.menuOpen||null)("aria-controls",e.menuOpen?e.menu.panelId:null)},inputs:{restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"],_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"]}),t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[U],imports:[w.BQ]}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[U],imports:[[_.ez,w.BQ,w.si,x.U8,H],A.ZD,w.BQ,H]}),t})()},3005:(t,e,i)=>{"use strict";i.d(e,{NW:()=>A,ye:()=>b,TU:()=>S});var n=i(1511),r=i(1572),s=i(1522),o=i(5980),a=i(4786),l=i(6828),c=i(9861),h=i(9666),u=i(6283);function d(t,e){if(1&t&&(r.TgZ(0,"mat-option",19),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t),r.xp6(1),r.hij(" ",t," ")}}function p(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-form-field",16),r.TgZ(1,"mat-select",17),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw(2)._changePageSize(e.value)}),r.YNc(2,d,2,2,"mat-option",18),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("appearance",t._formFieldAppearance)("color",t.color),r.xp6(1),r.Q6J("value",t.pageSize)("disabled",t.disabled)("aria-label",t._intl.itemsPerPageLabel),r.xp6(1),r.Q6J("ngForOf",t._displayedPageSizeOptions)}}function f(t,e){if(1&t&&(r.TgZ(0,"div",20),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.pageSize)}}function m(t,e){if(1&t&&(r.TgZ(0,"div",12),r.TgZ(1,"div",13),r._uU(2),r.qZA(),r.YNc(3,p,3,6,"mat-form-field",14),r.YNc(4,f,2,1,"div",15),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.hij(" ",t._intl.itemsPerPageLabel," "),r.xp6(1),r.Q6J("ngIf",t._displayedPageSizeOptions.length>1),r.xp6(1),r.Q6J("ngIf",t._displayedPageSizeOptions.length<=1)}}function g(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",21),r.NdJ("click",function(){return r.CHM(t),r.oxw().firstPage()}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",22),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t._intl.firstPageLabel)("matTooltipDisabled",t._previousButtonsDisabled())("matTooltipPosition","above")("disabled",t._previousButtonsDisabled()),r.uIk("aria-label",t._intl.firstPageLabel)}}function y(t,e){if(1&t){const t=r.EpF();r.O4$(),r.kcU(),r.TgZ(0,"button",23),r.NdJ("click",function(){return r.CHM(t),r.oxw().lastPage()}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",24),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t._intl.lastPageLabel)("matTooltipDisabled",t._nextButtonsDisabled())("matTooltipPosition","above")("disabled",t._nextButtonsDisabled()),r.uIk("aria-label",t._intl.lastPageLabel)}}let b=(()=>{class t{constructor(){this.changes=new h.x,this.itemsPerPageLabel="Items per page:",this.nextPageLabel="Next page",this.previousPageLabel="Previous page",this.firstPageLabel="First page",this.lastPageLabel="Last page",this.getRangeLabel=(t,e,i)=>{if(0==i||0==e)return`0 of ${i}`;const n=t*e;return`${n+1} \u2013 ${n<(i=Math.max(i,0))?Math.min(n+e,i):n+e} of ${i}`}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const v={provide:b,deps:[[new r.FiY,new r.tp0,b]],useFactory:function(t){return t||new b}},_=new r.OlP("MAT_PAGINATOR_DEFAULT_OPTIONS");class w{}const x=(0,s.Id)((0,s.dB)(w));let C=(()=>{class t extends x{constructor(t,e,i){if(super(),this._intl=t,this._changeDetectorRef=e,this._pageIndex=0,this._length=0,this._pageSizeOptions=[],this._hidePageSize=!1,this._showFirstLastButtons=!1,this.page=new r.vpe,this._intlChanges=t.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),i){const{pageSize:t,pageSizeOptions:e,hidePageSize:n,showFirstLastButtons:r}=i;null!=t&&(this._pageSize=t),null!=e&&(this._pageSizeOptions=e),null!=n&&(this._hidePageSize=n),null!=r&&(this._showFirstLastButtons=r)}}get pageIndex(){return this._pageIndex}set pageIndex(t){this._pageIndex=Math.max((0,c.su)(t),0),this._changeDetectorRef.markForCheck()}get length(){return this._length}set length(t){this._length=(0,c.su)(t),this._changeDetectorRef.markForCheck()}get pageSize(){return this._pageSize}set pageSize(t){this._pageSize=Math.max((0,c.su)(t),0),this._updateDisplayedPageSizeOptions()}get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(t){this._pageSizeOptions=(t||[]).map(t=>(0,c.su)(t)),this._updateDisplayedPageSizeOptions()}get hidePageSize(){return this._hidePageSize}set hidePageSize(t){this._hidePageSize=(0,c.Ig)(t)}get showFirstLastButtons(){return this._showFirstLastButtons}set showFirstLastButtons(t){this._showFirstLastButtons=(0,c.Ig)(t)}ngOnInit(){this._initialized=!0,this._updateDisplayedPageSizeOptions(),this._markInitialized()}ngOnDestroy(){this._intlChanges.unsubscribe()}nextPage(){if(!this.hasNextPage())return;const t=this.pageIndex;this.pageIndex++,this._emitPageEvent(t)}previousPage(){if(!this.hasPreviousPage())return;const t=this.pageIndex;this.pageIndex--,this._emitPageEvent(t)}firstPage(){if(!this.hasPreviousPage())return;const t=this.pageIndex;this.pageIndex=0,this._emitPageEvent(t)}lastPage(){if(!this.hasNextPage())return;const t=this.pageIndex;this.pageIndex=this.getNumberOfPages()-1,this._emitPageEvent(t)}hasPreviousPage(){return this.pageIndex>=1&&0!=this.pageSize}hasNextPage(){const t=this.getNumberOfPages()-1;return this.pageIndext-e),this._changeDetectorRef.markForCheck())}_emitPageEvent(t){this.page.emit({previousPageIndex:t,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(b),r.Y36(r.sBO),r.Y36(void 0))},t.\u0275dir=r.lG2({type:t,inputs:{pageIndex:"pageIndex",length:"length",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions",hidePageSize:"hidePageSize",showFirstLastButtons:"showFirstLastButtons",color:"color"},outputs:{page:"page"},features:[r.qOj]}),t})(),A=(()=>{class t extends C{constructor(t,e,i){super(t,e,i),i&&null!=i.formFieldAppearance&&(this._formFieldAppearance=i.formFieldAppearance)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(b),r.Y36(r.sBO),r.Y36(_,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-paginator"],inputs:{disabled:"disabled"},exportAs:["matPaginator"],features:[r.qOj],decls:14,vars:14,consts:[[1,"mat-paginator-outer-container"],[1,"mat-paginator-container"],["class","mat-paginator-page-size",4,"ngIf"],[1,"mat-paginator-range-actions"],[1,"mat-paginator-range-label"],["mat-icon-button","","type","button","class","mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-previous",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["viewBox","0 0 24 24","focusable","false",1,"mat-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-next",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["mat-icon-button","","type","button","class","mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],[1,"mat-paginator-page-size"],[1,"mat-paginator-page-size-label"],["class","mat-paginator-page-size-select",3,"appearance","color",4,"ngIf"],["class","mat-paginator-page-size-value",4,"ngIf"],[1,"mat-paginator-page-size-select",3,"appearance","color"],[3,"value","disabled","aria-label","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"mat-paginator-page-size-value"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,m,5,3,"div",2),r.TgZ(3,"div",3),r.TgZ(4,"div",4),r._uU(5),r.qZA(),r.YNc(6,g,3,5,"button",5),r.TgZ(7,"button",6),r.NdJ("click",function(){return e.previousPage()}),r.O4$(),r.TgZ(8,"svg",7),r._UZ(9,"path",8),r.qZA(),r.qZA(),r.kcU(),r.TgZ(10,"button",9),r.NdJ("click",function(){return e.nextPage()}),r.O4$(),r.TgZ(11,"svg",7),r._UZ(12,"path",10),r.qZA(),r.qZA(),r.YNc(13,y,3,5,"button",11),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",!e.hidePageSize),r.xp6(3),r.hij(" ",e._intl.getRangeLabel(e.pageIndex,e.pageSize,e.length)," "),r.xp6(1),r.Q6J("ngIf",e.showFirstLastButtons),r.xp6(1),r.Q6J("matTooltip",e._intl.previousPageLabel)("matTooltipDisabled",e._previousButtonsDisabled())("matTooltipPosition","above")("disabled",e._previousButtonsDisabled()),r.uIk("aria-label",e._intl.previousPageLabel),r.xp6(3),r.Q6J("matTooltip",e._intl.nextPageLabel)("matTooltipDisabled",e._nextButtonsDisabled())("matTooltipPosition","above")("disabled",e._nextButtonsDisabled()),r.uIk("aria-label",e._intl.nextPageLabel),r.xp6(3),r.Q6J("ngIf",e.showFirstLastButtons))},directives:[n.O5,o.lW,l.gM,u.KE,a.gD,n.sg,s.ey],styles:[".mat-paginator{display:block}.mat-paginator-outer-container{display:flex}.mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}.mat-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-paginator-page-size{margin-right:0;margin-left:8px}.mat-paginator-page-size-label{margin:0 4px}.mat-paginator-page-size-select{margin:6px 4px 0 4px;width:56px}.mat-paginator-page-size-select.mat-form-field-appearance-outline{width:64px}.mat-paginator-page-size-select.mat-form-field-appearance-fill{width:64px}.mat-paginator-range-label{margin:0 32px 0 24px}.mat-paginator-range-actions{display:flex;align-items:center}.mat-paginator-icon{width:28px;fill:currentColor}[dir=rtl] .mat-paginator-icon{transform:rotate(180deg)}\n"],encapsulation:2,changeDetection:0}),t})(),S=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[v],imports:[[n.ez,o.ot,a.LD,l.AV,s.BQ]]}),t})()},5994:(t,e,i)=>{"use strict";i.d(e,{pW:()=>g,Cv:()=>b});var n=i(1572),r=i(1511),s=i(1522),o=i(9861),a=i(3490),l=i(6042),c=i(5960),h=i(8868);const u=["primaryValueBar"];class d{constructor(t){this._elementRef=t}}const p=(0,s.pj)(d,"primary"),f=new n.OlP("mat-progress-bar-location",{providedIn:"root",factory:function(){const t=(0,n.f3M)(r.K0),e=t?t.location:null;return{getPathname:()=>e?e.pathname+e.search:""}}});let m=0,g=(()=>{class t extends p{constructor(t,e,i,r){super(t),this._elementRef=t,this._ngZone=e,this._animationMode=i,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new n.vpe,this._animationEndSubscription=l.w0.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+m++;const s=r?r.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${s}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===i}get value(){return this._value}set value(t){this._value=y((0,o.su)(t)||0)}get bufferValue(){return this._bufferValue}set bufferValue(t){this._bufferValue=y(t||0)}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const t=this._primaryValueBar.nativeElement;this._animationEndSubscription=(0,c.R)(t,"transitionend").pipe((0,h.h)(e=>e.target===t)).subscribe(()=>{"determinate"!==this.mode&&"buffer"!==this.mode||this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(a.Qb,8),n.Y36(f,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-progress-bar"]],viewQuery:function(t,e){if(1&t&&n.Gf(u,5),2&t){let t;n.iGM(t=n.CRH())&&(e._primaryValueBar=t.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(t,e){2&t&&(n.uIk("aria-valuenow","indeterminate"===e.mode||"query"===e.mode?null:e.value)("mode",e.mode),n.ekj("_mat-animation-noopable",e._isNoopAnimation))},inputs:{color:"color",mode:"mode",value:"value",bufferValue:"bufferValue"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[n.qOj],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.O4$(),n.TgZ(1,"svg",1),n.TgZ(2,"defs"),n.TgZ(3,"pattern",2),n._UZ(4,"circle",3),n.qZA(),n.qZA(),n._UZ(5,"rect",4),n.qZA(),n.kcU(),n._UZ(6,"div",5),n._UZ(7,"div",6,7),n._UZ(9,"div",8),n.qZA()),2&t&&(n.xp6(3),n.Q6J("id",e.progressbarId),n.xp6(2),n.uIk("fill",e._rectangleFillValue),n.xp6(1),n.Q6J("ngStyle",e._bufferTransform()),n.xp6(1),n.Q6J("ngStyle",e._primaryTransform()))},directives:[r.PC],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}\n'],encapsulation:2,changeDetection:0}),t})();function y(t,e=0,i=100){return Math.max(e,Math.min(i,t))}let b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez,s.BQ],s.BQ]}),t})()},7806:(t,e,i)=>{"use strict";i.d(e,{Cq:()=>v,$g:()=>b});var n=i(1572),r=i(1511),s=i(1522),o=i(9861),a=i(1353),l=i(3490);function c(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function h(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function u(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+t._spinnerAnimationLabel)("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}function d(t,e){if(1&t&&(n.O4$(),n._UZ(0,"circle",3)),2&t){const t=n.oxw();n.Udp("stroke-dashoffset",t._getStrokeDashOffset(),"px")("stroke-dasharray",t._getStrokeCircumference(),"px")("stroke-width",t._getCircleStrokeWidth(),"%"),n.uIk("r",t._getCircleRadius())}}const p=".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n";class f{constructor(t){this._elementRef=t}}const m=(0,s.pj)(f,"primary"),g=new n.OlP("mat-progress-spinner-default-options",{providedIn:"root",factory:function(){return{diameter:100}}});let y=(()=>{class t extends m{constructor(e,i,n,r,s){super(e),this._elementRef=e,this._document=n,this._diameter=100,this._value=0,this._fallbackAnimation=!1,this.mode="determinate";const o=t._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),o.has(n.head)||o.set(n.head,new Set([100])),this._fallbackAnimation=i.EDGE||i.TRIDENT,this._noopAnimations="NoopAnimations"===r&&!!s&&!s._forceAnimations,s&&(s.diameter&&(this.diameter=s.diameter),s.strokeWidth&&(this.strokeWidth=s.strokeWidth))}get diameter(){return this._diameter}set diameter(t){this._diameter=(0,o.su)(t),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),!this._fallbackAnimation&&this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(t){this._strokeWidth=(0,o.su)(t)}get value(){return"determinate"===this.mode?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,(0,o.su)(t)))}ngOnInit(){const t=this._elementRef.nativeElement;this._styleRoot=(0,a.kV)(t)||this._document.head,this._attachStyleNode(),t.classList.add(`mat-progress-spinner-indeterminate${this._fallbackAnimation?"-fallback":""}-animation`)}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const t=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${t} ${t}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:this._fallbackAnimation&&"indeterminate"===this.mode?.2*this._getStrokeCircumference():null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_attachStyleNode(){const e=this._styleRoot,i=this._diameter,n=t._diameters;let r=n.get(e);if(!r||!r.has(i)){const t=this._document.createElement("style");t.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),t.textContent=this._getAnimationText(),e.appendChild(t),r||(r=new Set,n.set(e,r)),r.add(i)}}_getAnimationText(){const t=this._getStrokeCircumference();return"\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n".replace(/START_VALUE/g,""+.95*t).replace(/END_VALUE/g,""+.2*t).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(a.t4),n.Y36(r.K0,8),n.Y36(l.Qb,8),n.Y36(g))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-progress-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner"],hostVars:10,hostBindings:function(t,e){2&t&&(n.uIk("aria-valuemin","determinate"===e.mode?0:null)("aria-valuemax","determinate"===e.mode?100:null)("aria-valuenow","determinate"===e.mode?e.value:null)("mode",e.mode),n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.ekj("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color",mode:"mode",diameter:"diameter",strokeWidth:"strokeWidth",value:"value"},exportAs:["matProgressSpinner"],features:[n.qOj],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"svg",0),n.YNc(1,c,1,9,"circle",1),n.YNc(2,h,1,7,"circle",2),n.qZA()),2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.Q6J("ngSwitch","indeterminate"===e.mode),n.uIk("viewBox",e._getViewBox()),n.xp6(1),n.Q6J("ngSwitchCase",!0),n.xp6(1),n.Q6J("ngSwitchCase",!1))},directives:[r.RF,r.n9],styles:[p],encapsulation:2,changeDetection:0}),t._diameters=new WeakMap,t})(),b=(()=>{class t extends y{constructor(t,e,i,n,r){super(t,e,i,n,r),this.mode="indeterminate"}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(a.t4),n.Y36(r.K0,8),n.Y36(l.Qb,8),n.Y36(g))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-spinner"]],hostAttrs:["role","progressbar","mode","indeterminate",1,"mat-spinner","mat-progress-spinner"],hostVars:6,hostBindings:function(t,e){2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.ekj("_mat-animation-noopable",e._noopAnimations))},inputs:{color:"color"},features:[n.qOj],decls:3,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"svg",0),n.YNc(1,u,1,9,"circle",1),n.YNc(2,d,1,7,"circle",2),n.qZA()),2&t&&(n.Udp("width",e.diameter,"px")("height",e.diameter,"px"),n.Q6J("ngSwitch","indeterminate"===e.mode),n.uIk("viewBox",e._getViewBox()),n.xp6(1),n.Q6J("ngSwitchCase",!0),n.xp6(1),n.Q6J("ngSwitchCase",!1))},directives:[r.RF,r.n9],styles:[p],encapsulation:2,changeDetection:0}),t})(),v=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[s.BQ,r.ez],s.BQ]}),t})()},4810:(t,e,i)=>{"use strict";i.d(e,{U0:()=>C,VQ:()=>v,Fk:()=>A});var n=i(1572),r=i(1522),s=i(9861),o=i(6073),a=i(3490),l=i(4621),c=i(4230);const h=["input"],u=function(t){return{enterDuration:t}},d=["*"],p=new n.OlP("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let f=0;const m={provide:o.JU,useExisting:(0,n.Gpc)(()=>v),multi:!0};class g{constructor(t,e){this.source=t,this.value=e}}const y=new n.OlP("MatRadioGroup");let b=(()=>{class t{constructor(t){this._changeDetector=t,this._value=null,this._name="mat-radio-group-"+f++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new n.vpe}get name(){return this._name}set name(t){this._name=t,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(t){this._labelPosition="before"===t?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(t){this._selected=t,this.value=t?t.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t),this._markRadiosForCheck()}get required(){return this._required}set required(t){this._required=(0,s.Ig)(t),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(t=>{t.name=this.name,t._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new g(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(t=>t._markForCheck())}writeValue(t){this.value=t,this._changeDetector.markForCheck()}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetector.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO))},t.\u0275dir=n.lG2({type:t,inputs:{name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"}}),t})(),v=(()=>{class t extends b{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275dir=n.lG2({type:t,selectors:[["mat-radio-group"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,C,5),2&t){let t;n.iGM(t=n.CRH())&&(e._radios=t)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[n._Bn([m,{provide:y,useExisting:t}]),n.qOj]}),t})();class _{constructor(t){this._elementRef=t}}const w=(0,r.Kr)((0,r.sb)(_));let x=(()=>{class t extends w{constructor(t,e,i,r,o,a,l,c){super(e),this._changeDetector=i,this._focusMonitor=r,this._radioDispatcher=o,this._providerOverride=l,this._uniqueId="mat-radio-"+ ++f,this.id=this._uniqueId,this.change=new n.vpe,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=t,this._noopAnimations="NoopAnimations"===a,c&&(this.tabIndex=(0,s.su)(c,0)),this._removeUniqueSelectionListener=o.listen((t,e)=>{t!==this.id&&e===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(t){const e=(0,s.Ig)(t);this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===t),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(t){this._labelPosition=t}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(t){this._setDisabled((0,s.Ig)(t))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(t){this._required=(0,s.Ig)(t)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(t){this._color=t}get inputId(){return`${this.id||this._uniqueId}-input`}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{!t&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new g(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(t){t.stopPropagation()}_onInputChange(t){t.stopPropagation();const e=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),e&&this.radioGroup._emitChangeEvent())}_setDisabled(t){this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(b),n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(l.tE),n.Y36(c.A8),n.Y36(String),n.Y36(void 0),n.Y36(String))},t.\u0275dir=n.lG2({type:t,viewQuery:function(t,e){if(1&t&&n.Gf(h,5),2&t){let t;n.iGM(t=n.CRH())&&(e._inputElement=t.first)}},inputs:{id:"id",checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"]},outputs:{change:"change"},features:[n.qOj]}),t})(),C=(()=>{class t extends x{constructor(t,e,i,n,r,s,o,a){super(t,e,i,n,r,s,o,a)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(y,8),n.Y36(n.SBq),n.Y36(n.sBO),n.Y36(l.tE),n.Y36(c.A8),n.Y36(a.Qb,8),n.Y36(p,8),n.$8M("tabindex"))},t.\u0275cmp=n.Xpm({type:t,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(t,e){1&t&&n.NdJ("focus",function(){return e._inputElement.nativeElement.focus()}),2&t&&(n.uIk("tabindex",null)("id",e.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),n.ekj("mat-radio-checked",e.checked)("mat-radio-disabled",e.disabled)("_mat-animation-noopable",e._noopAnimations)("mat-primary","primary"===e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[n.qOj],ngContentSelectors:d,decls:13,vars:20,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input","cdk-visually-hidden",3,"id","checked","disabled","tabIndex","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(t,e){if(1&t&&(n.F$t(),n.TgZ(0,"label",0,1),n.TgZ(2,"span",2),n._UZ(3,"span",3),n._UZ(4,"span",4),n.TgZ(5,"input",5,6),n.NdJ("change",function(t){return e._onInputChange(t)})("click",function(t){return e._onInputClick(t)}),n.qZA(),n.TgZ(7,"span",7),n._UZ(8,"span",8),n.qZA(),n.qZA(),n.TgZ(9,"span",9),n.TgZ(10,"span",10),n._uU(11,"\xa0"),n.qZA(),n.Hsn(12),n.qZA(),n.qZA()),2&t){const t=n.MAs(1);n.uIk("for",e.inputId),n.xp6(5),n.Q6J("id",e.inputId)("checked",e.checked)("disabled",e.disabled)("tabIndex",e.tabIndex)("required",e.required),n.uIk("name",e.name)("value",e.value)("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby)("aria-describedby",e.ariaDescribedby),n.xp6(2),n.Q6J("matRippleTrigger",t)("matRippleDisabled",e._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",n.VKq(18,u,e._noopAnimations?0:150)),n.xp6(2),n.ekj("mat-radio-label-before","before"==e.labelPosition)}},directives:[r.wG],styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:transform ease 280ms,background-color ease 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5)}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-ripple,.cdk-high-contrast-active .mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-ripple{outline:solid 3px}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\n"],encapsulation:2,changeDetection:0}),t})(),A=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.si,r.BQ],r.BQ]}),t})()},4786:(t,e,i)=>{"use strict";i.d(e,{gD:()=>V,LD:()=>Q,$L:()=>G});var n=i(369),r=i(1511),s=i(1572),o=i(1522),a=i(6283),l=i(4894),c=i(4621),h=i(9861),u=i(4230),d=i(5842),p=i(9666),f=i(970),m=i(5446),g=i(1258),y=i(4324),b=i(9056),v=i(8868),_=i(1681),w=i(6424),x=i(9568),C=i(709),A=i(2526),S=i(6073);const E=["trigger"],k=["panel"];function T(t,e){if(1&t&&(s.TgZ(0,"span",8),s._uU(1),s.qZA()),2&t){const t=s.oxw();s.xp6(1),s.Oqu(t.placeholder)}}function M(t,e){if(1&t&&(s.TgZ(0,"span",12),s._uU(1),s.qZA()),2&t){const t=s.oxw(2);s.xp6(1),s.Oqu(t.triggerValue)}}function L(t,e){1&t&&s.Hsn(0,0,["*ngSwitchCase","true"])}function I(t,e){if(1&t&&(s.TgZ(0,"span",9),s.YNc(1,M,2,1,"span",10),s.YNc(2,L,1,0,"ng-content",11),s.qZA()),2&t){const t=s.oxw();s.Q6J("ngSwitch",!!t.customTrigger),s.xp6(2),s.Q6J("ngSwitchCase",!0)}}function O(t,e){if(1&t){const t=s.EpF();s.TgZ(0,"div",13),s.TgZ(1,"div",14,15),s.NdJ("@transformPanel.done",function(e){return s.CHM(t),s.oxw()._panelDoneAnimatingStream.next(e.toState)})("keydown",function(e){return s.CHM(t),s.oxw()._handleKeydown(e)}),s.Hsn(3,1),s.qZA(),s.qZA()}if(2&t){const t=s.oxw();s.Q6J("@transformPanelWrap",void 0),s.xp6(1),s.Gre("mat-select-panel ",t._getPanelTheme(),""),s.Udp("transform-origin",t._transformOrigin)("font-size",t._triggerFontSize,"px"),s.Q6J("ngClass",t.panelClass)("@transformPanel",t.multiple?"showing-multiple":"showing"),s.uIk("id",t.id+"-panel")("aria-multiselectable",t.multiple)("aria-label",t.ariaLabel||null)("aria-labelledby",t._getPanelAriaLabelledby())}}const D=[[["mat-select-trigger"]],"*"],R=["mat-select-trigger","*"],N={transformPanelWrap:(0,C.X$)("transformPanelWrap",[(0,C.eR)("* => void",(0,C.IO)("@transformPanel",[(0,C.pV)()],{optional:!0}))]),transformPanel:(0,C.X$)("transformPanel",[(0,C.SB)("void",(0,C.oB)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),(0,C.SB)("showing",(0,C.oB)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),(0,C.SB)("showing-multiple",(0,C.oB)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),(0,C.eR)("void => *",(0,C.jt)("120ms cubic-bezier(0, 0, 0.2, 1)")),(0,C.eR)("* => void",(0,C.jt)("100ms 25ms linear",(0,C.oB)({opacity:0})))])};let P=0;const F=256,Z=new s.OlP("mat-select-scroll-strategy"),B=new s.OlP("MAT_SELECT_CONFIG"),U={provide:Z,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition()}};class q{constructor(t,e){this.source=t,this.value=e}}class z{constructor(t,e,i,n,r){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=i,this._parentFormGroup=n,this.ngControl=r}}const H=(0,o.Kr)((0,o.sb)((0,o.Id)((0,o.FD)(z)))),Y=new s.OlP("MatSelectTrigger");let G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-select-trigger"]],features:[s._Bn([{provide:Y,useExisting:t}])]}),t})(),j=(()=>{class t extends H{constructor(t,e,i,n,r,o,a,l,c,h,u,d,w,x){var C,A,S;super(r,n,a,l,h),this._viewportRuler=t,this._changeDetectorRef=e,this._ngZone=i,this._dir=o,this._parentFormField=c,this.ngControl=h,this._liveAnnouncer=w,this._defaultOptions=x,this._panelOpen=!1,this._compareWith=(t,e)=>t===e,this._uid="mat-select-"+P++,this._triggerAriaLabelledBy=null,this._destroy=new p.x,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+P++,this._panelDoneAnimatingStream=new p.x,this._overlayPanelClass=(null===(C=this._defaultOptions)||void 0===C?void 0:C.overlayPanelClass)||"",this._focused=!1,this.controlType="mat-select",this._required=!1,this._multiple=!1,this._disableOptionCentering=null!==(S=null===(A=this._defaultOptions)||void 0===A?void 0:A.disableOptionCentering)&&void 0!==S&&S,this.ariaLabel="",this.optionSelectionChanges=(0,f.P)(()=>{const t=this.options;return t?t.changes.pipe((0,g.O)(t),(0,y.w)(()=>(0,m.T)(...t.map(t=>t.onSelectionChange)))):this._ngZone.onStable.pipe((0,b.q)(1),(0,y.w)(()=>this.optionSelectionChanges))}),this.openedChange=new s.vpe,this._openedStream=this.openedChange.pipe((0,v.h)(t=>t),(0,_.U)(()=>{})),this._closedStream=this.openedChange.pipe((0,v.h)(t=>!t),(0,_.U)(()=>{})),this.selectionChange=new s.vpe,this.valueChange=new s.vpe,this.ngControl&&(this.ngControl.valueAccessor=this),null!=(null==x?void 0:x.typeaheadDebounceInterval)&&(this._typeaheadDebounceInterval=x.typeaheadDebounceInterval),this._scrollStrategyFactory=d,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(u)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.stateChanges.next()}get required(){return this._required}set required(t){this._required=(0,h.Ig)(t),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(t){this._multiple=(0,h.Ig)(t)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(t){this._disableOptionCentering=(0,h.Ig)(t)}get compareWith(){return this._compareWith}set compareWith(t){this._compareWith=t,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(t){(t!==this._value||this._multiple&&Array.isArray(t))&&(this.options&&this._setSelectionByValue(t),this._value=t)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(t){this._typeaheadDebounceInterval=(0,h.su)(t)}get id(){return this._id}set id(t){this._id=t||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new u.Ov(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe((0,w.x)(),(0,x.R)(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe((0,x.R)(this._destroy)).subscribe(t=>{t.added.forEach(t=>t.select()),t.removed.forEach(t=>t.deselect())}),this.options.changes.pipe((0,g.O)(null),(0,x.R)(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const t=this._getTriggerAriaLabelledby();if(t!==this._triggerAriaLabelledBy){const e=this._elementRef.nativeElement;this._triggerAriaLabelledBy=t,t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}ngOnChanges(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(t){this.value=t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const t=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))}_handleClosedKeydown(t){const e=t.keyCode,i=e===d.JH||e===d.LH||e===d.oh||e===d.SV,n=e===d.K5||e===d.L_,r=this._keyManager;if(!r.isTyping()&&n&&!(0,d.Vb)(t)||(this.multiple||t.altKey)&&i)t.preventDefault(),this.open();else if(!this.multiple){const e=this.selected;r.onKeydown(t);const i=this.selected;i&&e!==i&&this._liveAnnouncer.announce(i.viewValue,1e4)}}_handleOpenKeydown(t){const e=this._keyManager,i=t.keyCode,n=i===d.JH||i===d.LH,r=e.isTyping();if(n&&t.altKey)t.preventDefault(),this.close();else if(r||i!==d.K5&&i!==d.L_||!e.activeItem||(0,d.Vb)(t))if(!r&&this._multiple&&i===d.A&&t.ctrlKey){t.preventDefault();const e=this.options.some(t=>!t.disabled&&!t.selected);this.options.forEach(t=>{t.disabled||(e?t.select():t.deselect())})}else{const i=e.activeItemIndex;e.onKeydown(t),this._multiple&&n&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==i&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe((0,b.q)(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value),this.stateChanges.next()})}_setSelectionByValue(t){if(this._selectionModel.selected.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&t)Array.isArray(t),t.forEach(t=>this._selectValue(t)),this._sortValues();else{const e=this._selectValue(t);e?this._keyManager.updateActiveItem(e):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectValue(t){const e=this.options.find(e=>{if(this._selectionModel.isSelected(e))return!1;try{return null!=e.value&&this._compareWith(e.value,t)}catch(i){return!1}});return e&&this._selectionModel.select(e),e}_initKeyManager(){this._keyManager=new c.s1(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe((0,x.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe((0,x.R)(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):this._panelOpen||this.multiple||!this._keyManager.activeItem||this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const t=(0,m.T)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe((0,x.R)(t)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),(0,m.T)(...this.options.map(t=>t._stateChanges)).pipe((0,x.R)(t)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(t,e){const i=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(i!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(t.value)),i!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const t=this.options.toArray();this._selectionModel.sort((e,i)=>this.sortComparator?this.sortComparator(e,i,t):t.indexOf(e)-t.indexOf(i)),this.stateChanges.next()}}_propagateChanges(t){let e=null;e=this.multiple?this.selected.map(t=>t.value):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(this._getChangeEvent(e)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){var t;return!this._panelOpen&&!this.disabled&&(null===(t=this.options)||void 0===t?void 0:t.length)>0}focus(t){this._elementRef.nativeElement.focus(t)}_getPanelAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){var t;if(this.ariaLabel)return null;const e=null===(t=this._parentFormField)||void 0===t?void 0:t.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(t){this.openedChange.emit(t)}setDescribedByIds(t){this._ariaDescribedby=t.join(" ")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(l.rL),s.Y36(s.sBO),s.Y36(s.R0b),s.Y36(o.rD),s.Y36(s.SBq),s.Y36(A.Is,8),s.Y36(S.F,8),s.Y36(S.sg,8),s.Y36(a.G_,8),s.Y36(S.a5,10),s.$8M("tabindex"),s.Y36(Z),s.Y36(c.Kd),s.Y36(B,8))},t.\u0275dir=s.lG2({type:t,viewQuery:function(t,e){if(1&t&&(s.Gf(E,5),s.Gf(k,5),s.Gf(n.pI,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.trigger=t.first),s.iGM(t=s.CRH())&&(e.panel=t.first),s.iGM(t=s.CRH())&&(e._overlayDir=t.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],id:"id",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",typeaheadDebounceInterval:"typeaheadDebounceInterval",panelClass:"panelClass",ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",sortComparator:"sortComparator"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[s.qOj,s.TTD]}),t})(),V=(()=>{class t extends j{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(t,e,i){const n=this._getItemHeight();return Math.min(Math.max(0,n*t-e+n/2),i)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe((0,x.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe((0,b.q)(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(t){const e=(0,o.CB)(t,this.options,this.optionGroups),i=this._getItemHeight();this.panel.nativeElement.scrollTop=(0,o.jH)((t+e)*i,i,this.panel.nativeElement.scrollTop,F)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(t){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(t)}_getChangeEvent(t){return new q(this,t)}_calculateOverlayOffsetX(){const t=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),e=this._viewportRuler.getViewportSize(),i=this._isRtl(),n=this.multiple?56:32;let r;if(this.multiple)r=40;else if(this.disableOptionCentering)r=16;else{let t=this._selectionModel.selected[0]||this.options.first;r=t&&t.group?32:16}i||(r*=-1);const s=0-(t.left+r-(i?n:0)),o=t.right+r-e.width+(i?0:n);s>0?r+=s+8:o>0&&(r-=o+8),this._overlayDir.offsetX=Math.round(r),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(t,e,i){const n=this._getItemHeight(),r=(n-this._triggerRect.height)/2,s=Math.floor(F/n);let o;return this.disableOptionCentering?0:(o=0===this._scrollTop?t*n:this._scrollTop===i?(t-(this._getItemCount()-s))*n+(n-(this._getItemCount()*n-F)%n):e-n/2,Math.round(-1*o-r))}_checkOverlayWithinViewport(t){const e=this._getItemHeight(),i=this._viewportRuler.getViewportSize(),n=this._triggerRect.top-8,r=i.height-this._triggerRect.bottom-8,s=Math.abs(this._offsetY),o=Math.min(this._getItemCount()*e,F)-s-this._triggerRect.height;o>r?this._adjustPanelUp(o,r):s>n?this._adjustPanelDown(s,n,t):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(t,e){const i=Math.round(t-e);this._scrollTop-=i,this._offsetY-=i,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(t,e,i){const n=Math.round(t-e);if(this._scrollTop+=n,this._offsetY+=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=i)return this._scrollTop=i,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const t=this._getItemHeight(),e=this._getItemCount(),i=Math.min(e*t,F),n=e*t-i;let r;r=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),r+=(0,o.CB)(r,this.options,this.optionGroups);const s=i/2;this._scrollTop=this._calculateOverlayScroll(r,s,n),this._offsetY=this._calculateOverlayOffsetY(r,s,n),this._checkOverlayWithinViewport(n)}_getOriginBasedOnOption(){const t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-e+t/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-select"]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,Y,5),s.Suo(i,o.ey,5),s.Suo(i,o.K7,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.customTrigger=t.first),s.iGM(t=s.CRH())&&(e.options=t),s.iGM(t=s.CRH())&&(e.optionGroups=t)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,e){1&t&&s.NdJ("keydown",function(t){return e._handleKeydown(t)})("focus",function(){return e._onFocus()})("blur",function(){return e._onBlur()}),2&t&&(s.uIk("id",e.id)("tabindex",e.tabIndex)("aria-controls",e.panelOpen?e.id+"-panel":null)("aria-expanded",e.panelOpen)("aria-label",e.ariaLabel||null)("aria-required",e.required.toString())("aria-disabled",e.disabled.toString())("aria-invalid",e.errorState)("aria-describedby",e._ariaDescribedby||null)("aria-activedescendant",e._getAriaActiveDescendant()),s.ekj("mat-select-disabled",e.disabled)("mat-select-invalid",e.errorState)("mat-select-required",e.required)("mat-select-empty",e.empty)("mat-select-multiple",e.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[s._Bn([{provide:a.Eo,useExisting:t},{provide:o.HF,useExisting:t}]),s.qOj],ngContentSelectors:R,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,e){if(1&t&&(s.F$t(D),s.TgZ(0,"div",0,1),s.NdJ("click",function(){return e.toggle()}),s.TgZ(3,"div",2),s.YNc(4,T,2,1,"span",3),s.YNc(5,I,3,2,"span",4),s.qZA(),s.TgZ(6,"div",5),s._UZ(7,"div",6),s.qZA(),s.qZA(),s.YNc(8,O,4,14,"ng-template",7),s.NdJ("backdropClick",function(){return e.close()})("attach",function(){return e._onAttached()})("detach",function(){return e.close()})),2&t){const t=s.MAs(1);s.uIk("aria-owns",e.panelOpen?e.id+"-panel":null),s.xp6(3),s.Q6J("ngSwitch",e.empty),s.uIk("id",e._valueId),s.xp6(1),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngSwitchCase",!1),s.xp6(3),s.Q6J("cdkConnectedOverlayPanelClass",e._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",e._scrollStrategy)("cdkConnectedOverlayOrigin",t)("cdkConnectedOverlayOpen",e.panelOpen)("cdkConnectedOverlayPositions",e._positions)("cdkConnectedOverlayMinWidth",null==e._triggerRect?null:e._triggerRect.width)("cdkConnectedOverlayOffsetY",e._offsetY)}},directives:[n.xu,r.RF,r.n9,n.pI,r.ED,r.mk],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px}\n'],encapsulation:2,data:{animation:[N.transformPanelWrap,N.transformPanel]},changeDetection:0}),t})(),Q=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({providers:[U],imports:[[r.ez,n.U8,o.Ng,o.BQ],l.ZD,a.lN,o.Ng,o.BQ]}),t})()},5122:(t,e,i)=>{"use strict";i.d(e,{JX:()=>z,TM:()=>H,Rh:()=>q,SJ:()=>Y});var n=i(1353),r=i(4894),s=i(1511),o=i(1572),a=i(1522),l=i(9861),c=i(5842),h=i(9666),u=i(5960),d=i(5446),p=i(8868),f=i(1681),m=i(1096),g=i(9568),y=i(6424),b=i(9056),v=i(1258),_=i(5057),w=i(709),x=i(3490),C=i(4621),A=i(2526);const S=["*"];function E(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",2),o.NdJ("click",function(){return o.CHM(t),o.oxw()._onBackdropClicked()}),o.qZA()}if(2&t){const t=o.oxw();o.ekj("mat-drawer-shown",t._isShowingBackdrop())}}function k(t,e){1&t&&(o.TgZ(0,"mat-drawer-content"),o.Hsn(1,2),o.qZA())}const T=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],M=["mat-drawer","mat-drawer-content","*"];function L(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",2),o.NdJ("click",function(){return o.CHM(t),o.oxw()._onBackdropClicked()}),o.qZA()}if(2&t){const t=o.oxw();o.ekj("mat-drawer-shown",t._isShowingBackdrop())}}function I(t,e){1&t&&(o.TgZ(0,"mat-sidenav-content",3),o.Hsn(1,2),o.qZA())}const O=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],D=["mat-sidenav","mat-sidenav-content","*"],R=".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\n",N={transformDrawer:(0,w.X$)("transform",[(0,w.SB)("open, open-instant",(0,w.oB)({transform:"none",visibility:"visible"})),(0,w.SB)("void",(0,w.oB)({"box-shadow":"none",visibility:"hidden"})),(0,w.eR)("void => open-instant",(0,w.jt)("0ms")),(0,w.eR)("void <=> open, open-instant => void",(0,w.jt)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])},P=new o.OlP("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function(){return!1}}),F=new o.OlP("MAT_DRAWER_CONTAINER");let Z=(()=>{class t extends r.PQ{constructor(t,e,i,n,r){super(i,n,r),this._changeDetectorRef=t,this._container=e}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36((0,o.Gpc)(()=>U)),o.Y36(o.SBq),o.Y36(r.mF),o.Y36(o.R0b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(t,e){2&t&&o.Udp("margin-left",e._container._contentMargins.left,"px")("margin-right",e._container._contentMargins.right,"px")},features:[o.qOj],ngContentSelectors:S,decls:1,vars:0,template:function(t,e){1&t&&(o.F$t(),o.Hsn(0))},encapsulation:2,changeDetection:0}),t})(),B=(()=>{class t{constructor(t,e,i,n,r,s,a){this._elementRef=t,this._focusTrapFactory=e,this._focusMonitor=i,this._platform=n,this._ngZone=r,this._doc=s,this._container=a,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new h.x,this._animationEnd=new h.x,this._animationState="void",this.openedChange=new o.vpe(!0),this._openedStream=this.openedChange.pipe((0,p.h)(t=>t),(0,f.U)(()=>{})),this.openedStart=this._animationStarted.pipe((0,p.h)(t=>t.fromState!==t.toState&&0===t.toState.indexOf("open")),(0,m.h)(void 0)),this._closedStream=this.openedChange.pipe((0,p.h)(t=>!t),(0,f.U)(()=>{})),this.closedStart=this._animationStarted.pipe((0,p.h)(t=>t.fromState!==t.toState&&"void"===t.toState),(0,m.h)(void 0)),this._destroyed=new h.x,this.onPositionChanged=new o.vpe,this._modeChanged=new h.x,this.openedChange.subscribe(t=>{t?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus()}),this._ngZone.runOutsideAngular(()=>{(0,u.R)(this._elementRef.nativeElement,"keydown").pipe((0,p.h)(t=>t.keyCode===c.hY&&!this.disableClose&&!(0,c.Vb)(t)),(0,g.R)(this._destroyed)).subscribe(t=>this._ngZone.run(()=>{this.close(),t.stopPropagation(),t.preventDefault()}))}),this._animationEnd.pipe((0,y.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{const{fromState:e,toState:i}=t;(0===i.indexOf("open")&&"void"===e||"void"===i&&0===e.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(t){(t="end"===t?"end":"start")!=this._position&&(this._position=t,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(t){this._mode=t,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(t){this._disableClose=(0,l.Ig)(t)}get autoFocus(){const t=this._autoFocus;return null==t?"side"!==this.mode:t}set autoFocus(t){this._autoFocus=(0,l.Ig)(t)}get opened(){return this._opened}set opened(t){this.toggle((0,l.Ig)(t))}_takeFocus(){this.autoFocus&&this._focusTrap&&this._focusTrap.focusInitialElementWhenReady().then(t=>{t||"function"!=typeof this._elementRef.nativeElement.focus||this._elementRef.nativeElement.focus()})}_restoreFocus(){this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,this._openedVia):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null,this._openedVia=null)}_isFocusWithinDrawer(){var t;const e=null===(t=this._doc)||void 0===t?void 0:t.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterContentInit(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState()}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){this._focusTrap&&this._focusTrap.destroy(),this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(t){return this.toggle(!0,t)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0)}toggle(t=!this.opened,e){return this._setOpen(t,!t&&this._isFocusWithinDrawer(),e)}_setOpen(t,e,i="program"){return this._opened=t,t?(this._animationState=this._enableAnimations?"open":"open-instant",this._openedVia=i):(this._animationState="void",e&&this._restoreFocus()),this._updateFocusTrapState(),new Promise(t=>{this.openedChange.pipe((0,b.q)(1)).subscribe(e=>t(e?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_animationStartListener(t){this._animationStarted.next(t)}_animationDoneListener(t){this._animationEnd.next(t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.SBq),o.Y36(C.qV),o.Y36(C.tE),o.Y36(n.t4),o.Y36(o.R0b),o.Y36(s.K0,8),o.Y36(F,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer"]],hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(t,e){1&t&&o.WFA("@transform.start",function(t){return e._animationStartListener(t)})("@transform.done",function(t){return e._animationDoneListener(t)}),2&t&&(o.uIk("align",null),o.d8E("@transform",e._animationState),o.ekj("mat-drawer-end","end"===e.position)("mat-drawer-over","over"===e.mode)("mat-drawer-push","push"===e.mode)("mat-drawer-side","side"===e.mode)("mat-drawer-opened",e.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:S,decls:2,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,e){1&t&&(o.F$t(),o.TgZ(0,"div",0),o.Hsn(1),o.qZA())},directives:[r.PQ],encapsulation:2,data:{animation:[N.transformDrawer]},changeDetection:0}),t})(),U=(()=>{class t{constructor(t,e,i,n,r,s=!1,a){this._dir=t,this._element=e,this._ngZone=i,this._changeDetectorRef=n,this._animationMode=a,this._drawers=new o.n_E,this.backdropClick=new o.vpe,this._destroyed=new h.x,this._doCheckSubject=new h.x,this._contentMargins={left:null,right:null},this._contentMarginChanges=new h.x,t&&t.change.pipe((0,g.R)(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),r.change().pipe((0,g.R)(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=s}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(t){this._autosize=(0,l.Ig)(t)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(t){this._backdropOverride=null==t?null:(0,l.Ig)(t)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe((0,v.O)(this._allDrawers),(0,g.R)(this._destroyed)).subscribe(t=>{this._drawers.reset(t.filter(t=>!t._container||t._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe((0,v.O)(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(t=>{this._watchDrawerToggle(t),this._watchDrawerPosition(t),this._watchDrawerMode(t)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe((0,_.b)(10),(0,g.R)(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(t=>t.open())}close(){this._drawers.forEach(t=>t.close())}updateContentMargins(){let t=0,e=0;if(this._left&&this._left.opened)if("side"==this._left.mode)t+=this._left._getWidth();else if("push"==this._left.mode){const i=this._left._getWidth();t+=i,e-=i}if(this._right&&this._right.opened)if("side"==this._right.mode)e+=this._right._getWidth();else if("push"==this._right.mode){const i=this._right._getWidth();e+=i,t-=i}t=t||null,e=e||null,t===this._contentMargins.left&&e===this._contentMargins.right||(this._contentMargins={left:t,right:e},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(t){t._animationStarted.pipe((0,p.h)(t=>t.fromState!==t.toState),(0,g.R)(this._drawers.changes)).subscribe(t=>{"open-instant"!==t.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==t.mode&&t.openedChange.pipe((0,g.R)(this._drawers.changes)).subscribe(()=>this._setContainerClass(t.opened))}_watchDrawerPosition(t){t&&t.onPositionChanged.pipe((0,g.R)(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe((0,b.q)(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(t){t&&t._modeChanged.pipe((0,g.R)((0,d.T)(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(t){const e=this._element.nativeElement.classList,i="mat-drawer-container-has-open";t?e.add(i):e.remove(i)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(t=>{"end"==t.position?this._end=t:this._start=t}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(t=>t&&!t.disableClose&&this._canHaveBackdrop(t)).forEach(t=>t._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(t){return"side"!==t.mode||!!this._backdropOverride}_isDrawerOpen(t){return null!=t&&t.opened}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(A.Is,8),o.Y36(o.SBq),o.Y36(o.R0b),o.Y36(o.sBO),o.Y36(r.rL),o.Y36(P),o.Y36(x.Qb,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-drawer-container"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,Z,5),o.Suo(i,B,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._content=t.first),o.iGM(t=o.CRH())&&(e._allDrawers=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(Z,5),2&t){let t;o.iGM(t=o.CRH())&&(e._userContent=t.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(t,e){2&t&&o.ekj("mat-drawer-container-explicit-backdrop",e._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[o._Bn([{provide:F,useExisting:t}])],ngContentSelectors:M,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(t,e){1&t&&(o.F$t(T),o.YNc(0,E,1,2,"div",0),o.Hsn(1),o.Hsn(2,1),o.YNc(3,k,2,0,"mat-drawer-content",1)),2&t&&(o.Q6J("ngIf",e.hasBackdrop),o.xp6(3),o.Q6J("ngIf",!e._content))},directives:[s.O5,Z],styles:[R],encapsulation:2,changeDetection:0}),t})(),q=(()=>{class t extends Z{constructor(t,e,i,n,r){super(t,e,i,n,r)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36((0,o.Gpc)(()=>H)),o.Y36(o.SBq),o.Y36(r.mF),o.Y36(o.R0b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(t,e){2&t&&o.Udp("margin-left",e._container._contentMargins.left,"px")("margin-right",e._container._contentMargins.right,"px")},features:[o.qOj],ngContentSelectors:S,decls:1,vars:0,template:function(t,e){1&t&&(o.F$t(),o.Hsn(0))},encapsulation:2,changeDetection:0}),t})(),z=(()=>{class t extends B{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(t){this._fixedInViewport=(0,l.Ig)(t)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(t){this._fixedTopGap=(0,l.su)(t)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(t){this._fixedBottomGap=(0,l.su)(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(t,e){2&t&&(o.uIk("align",null),o.Udp("top",e.fixedInViewport?e.fixedTopGap:null,"px")("bottom",e.fixedInViewport?e.fixedBottomGap:null,"px"),o.ekj("mat-drawer-end","end"===e.position)("mat-drawer-over","over"===e.mode)("mat-drawer-push","push"===e.mode)("mat-drawer-side","side"===e.mode)("mat-drawer-opened",e.opened)("mat-sidenav-fixed",e.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[o.qOj],ngContentSelectors:S,decls:2,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,e){1&t&&(o.F$t(),o.TgZ(0,"div",0),o.Hsn(1),o.qZA())},directives:[r.PQ],encapsulation:2,data:{animation:[N.transformDrawer]},changeDetection:0}),t})(),H=(()=>{class t extends U{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-sidenav-container"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,q,5),o.Suo(i,z,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._content=t.first),o.iGM(t=o.CRH())&&(e._allDrawers=t)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(t,e){2&t&&o.ekj("mat-drawer-container-explicit-backdrop",e._backdropOverride)},exportAs:["matSidenavContainer"],features:[o._Bn([{provide:F,useExisting:t}]),o.qOj],ngContentSelectors:D,decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],["cdkScrollable","",4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"],["cdkScrollable",""]],template:function(t,e){1&t&&(o.F$t(O),o.YNc(0,L,1,2,"div",0),o.Hsn(1),o.Hsn(2,1),o.YNc(3,I,2,0,"mat-sidenav-content",1)),2&t&&(o.Q6J("ngIf",e.hasBackdrop),o.xp6(3),o.Q6J("ngIf",!e._content))},directives:[s.O5,q,r.PQ],styles:[R],encapsulation:2,changeDetection:0}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({imports:[[s.ez,a.BQ,n.ud,r.ZD],r.ZD,a.BQ]}),t})()},7521:(t,e,i)=>{"use strict";i.d(e,{Rr:()=>w,rP:()=>C});var n=i(6337),r=i(1572),s=i(1522),o=i(9861),a=i(6073),l=i(3490),c=i(4621);const h=["thumbContainer"],u=["toggleBar"],d=["input"],p=function(t){return{enterDuration:t}},f=["*"],m=new r.OlP("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let g=0;const y={provide:a.JU,useExisting:(0,r.Gpc)(()=>w),multi:!0};class b{constructor(t,e){this.source=t,this.checked=e}}class v{constructor(t){this._elementRef=t}}const _=(0,s.sb)((0,s.pj)((0,s.Kr)((0,s.Id)(v))));let w=(()=>{class t extends _{constructor(t,e,i,n,s,o){super(t),this._focusMonitor=e,this._changeDetectorRef=i,this.defaults=s,this._onChange=t=>{},this._onTouched=()=>{},this._uniqueId="mat-slide-toggle-"+ ++g,this._required=!1,this._checked=!1,this.name=null,this.id=this._uniqueId,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new r.vpe,this.toggleChange=new r.vpe,this.tabIndex=parseInt(n)||0,this.color=this.defaultColor=s.color||"accent",this._noopAnimations="NoopAnimations"===o}get required(){return this._required}set required(t){this._required=(0,o.Ig)(t)}get checked(){return this._checked}set checked(t){this._checked=(0,o.Ig)(t),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{"keyboard"===t||"program"===t?this._inputElement.nativeElement.focus():t||Promise.resolve().then(()=>this._onTouched())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onChangeEvent(t){t.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(t){t.stopPropagation()}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}focus(t,e){e?this._focusMonitor.focusVia(this._inputElement,e,t):this._inputElement.nativeElement.focus(t)}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(new b(this,this.checked))}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.SBq),r.Y36(c.tE),r.Y36(r.sBO),r.$8M("tabindex"),r.Y36(m),r.Y36(l.Qb,8))},t.\u0275cmp=r.Xpm({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(t,e){if(1&t&&(r.Gf(h,5),r.Gf(u,5),r.Gf(d,5)),2&t){let t;r.iGM(t=r.CRH())&&(e._thumbEl=t.first),r.iGM(t=r.CRH())&&(e._thumbBarEl=t.first),r.iGM(t=r.CRH())&&(e._inputElement=t.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:12,hostBindings:function(t,e){2&t&&(r.Ikx("id",e.id),r.uIk("tabindex",e.disabled?null:-1)("aria-label",null)("aria-labelledby",null),r.ekj("mat-checked",e.checked)("mat-disabled",e.disabled)("mat-slide-toggle-label-before","before"==e.labelPosition)("_mat-animation-noopable",e._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex",name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],required:"required",checked:"checked"},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[r._Bn([y]),r.qOj],ngContentSelectors:f,decls:16,vars:19,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["toggleBar",""],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],["thumbContainer",""],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(t,e){if(1&t&&(r.F$t(),r.TgZ(0,"label",0,1),r.TgZ(2,"div",2,3),r.TgZ(4,"input",4,5),r.NdJ("change",function(t){return e._onChangeEvent(t)})("click",function(t){return e._onInputClick(t)}),r.qZA(),r.TgZ(6,"div",6,7),r._UZ(8,"div",8),r.TgZ(9,"div",9),r._UZ(10,"div",10),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"span",11,12),r.NdJ("cdkObserveContent",function(){return e._onLabelTextChange()}),r.TgZ(13,"span",13),r._uU(14,"\xa0"),r.qZA(),r.Hsn(15),r.qZA(),r.qZA()),2&t){const t=r.MAs(1),i=r.MAs(12);r.uIk("for",e.inputId),r.xp6(2),r.ekj("mat-slide-toggle-bar-no-side-margin",!i.textContent||!i.textContent.trim()),r.xp6(2),r.Q6J("id",e.inputId)("required",e.required)("tabIndex",e.tabIndex)("checked",e.checked)("disabled",e.disabled),r.uIk("name",e.name)("aria-checked",e.checked.toString())("aria-label",e.ariaLabel)("aria-labelledby",e.ariaLabelledby),r.xp6(5),r.Q6J("matRippleTrigger",t)("matRippleDisabled",e.disableRipple||e.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",r.VKq(17,p,e._noopAnimations?0:150))}},directives:[s.wG,n.wD],styles:[".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}.cdk-high-contrast-active .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:2px dotted;outline-offset:5px}\n"],encapsulation:2,changeDetection:0}),t})(),x=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})(),C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[x,s.si,s.BQ,n.Q8],x,s.BQ]}),t})()},1403:(t,e,i)=>{"use strict";i.d(e,{Ve:()=>E,ux:()=>k,ZX:()=>S});var n=i(369),r=i(6899),s=i(1511),o=i(1572),a=i(1522),l=i(5980),c=i(9666),h=i(9056),u=i(9568),d=i(709),p=i(4621),f=i(72),m=i(1353);function g(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",1),o.TgZ(1,"button",2),o.NdJ("click",function(){return o.CHM(t),o.oxw().action()}),o._uU(2),o.qZA(),o.qZA()}if(2&t){const t=o.oxw();o.xp6(2),o.Oqu(t.data.action)}}function y(t,e){}const b=new o.OlP("MatSnackBarData");class v{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const _=Math.pow(2,31)-1;class w{constructor(t,e){this._overlayRef=e,this._afterDismissed=new c.x,this._afterOpened=new c.x,this._onAction=new c.x,this._dismissedByAction=!1,this.containerInstance=t,this.onAction().subscribe(()=>this.dismiss()),t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,_))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let x=(()=>{class t{constructor(t,e){this.snackBarRef=t,this.data=e}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(w),o.Y36(b))},t.\u0275cmp=o.Xpm({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(t,e){1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA(),o.YNc(2,g,3,1,"div",0)),2&t&&(o.xp6(1),o.Oqu(e.data.message),o.xp6(1),o.Q6J("ngIf",e.hasAction))},directives:[s.O5,l.lW],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}\n"],encapsulation:2,changeDetection:0}),t})();const C={snackBarState:(0,d.X$)("state",[(0,d.SB)("void, hidden",(0,d.oB)({transform:"scale(0.8)",opacity:0})),(0,d.SB)("visible",(0,d.oB)({transform:"scale(1)",opacity:1})),(0,d.eR)("* => visible",(0,d.jt)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,d.eR)("* => void, * => hidden",(0,d.jt)("75ms cubic-bezier(0.4, 0.0, 1, 1)",(0,d.oB)({opacity:0})))])};let A=(()=>{class t extends r.en{constructor(t,e,i,n,r){super(),this._ngZone=t,this._elementRef=e,this._changeDetectorRef=i,this._platform=n,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new c.x,this._onExit=new c.x,this._onEnter=new c.x,this._animationState="void",this.attachDomPortal=t=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(t)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(t)}attachTemplatePortal(t){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(t)}onAnimationEnd(t){const{fromState:e,toState:i}=t;if(("void"===i&&"void"!==e||"hidden"===i)&&this._completeExit(),"visible"===i){const t=this._onEnter;this._ngZone.run(()=>{t.next(),t.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe((0,h.q)(1)).subscribe(()=>{this._onExit.next(),this._onExit.complete()})}_applySnackBarClasses(){const t=this._elementRef.nativeElement,e=this.snackBarConfig.panelClass;e&&(Array.isArray(e)?e.forEach(e=>t.classList.add(e)):t.classList.add(e)),"center"===this.snackBarConfig.horizontalPosition&&t.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&t.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const t=this._elementRef.nativeElement.querySelector("[aria-hidden]"),e=this._elementRef.nativeElement.querySelector("[aria-live]");if(t&&e){let i=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&t.contains(document.activeElement)&&(i=document.activeElement),t.removeAttribute("aria-hidden"),e.appendChild(t),null==i||i.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.R0b),o.Y36(o.SBq),o.Y36(o.sBO),o.Y36(m.t4),o.Y36(v))},t.\u0275cmp=o.Xpm({type:t,selectors:[["snack-bar-container"]],viewQuery:function(t,e){if(1&t&&o.Gf(r.Pl,7),2&t){let t;o.iGM(t=o.CRH())&&(e._portalOutlet=t.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(t,e){1&t&&o.WFA("@state.done",function(t){return e.onAnimationEnd(t)}),2&t&&o.d8E("@state",e._animationState)},features:[o.qOj],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(t,e){1&t&&(o.TgZ(0,"div",0),o.YNc(1,y,0,0,"ng-template",1),o.qZA(),o._UZ(2,"div")),2&t&&(o.xp6(2),o.uIk("aria-live",e._live)("role",e._role))},directives:[r.Pl],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[C.snackBarState]}}),t})(),S=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({imports:[[n.U8,r.eL,s.ez,l.ot,a.BQ],a.BQ]}),t})();const E=new o.OlP("mat-snack-bar-default-options",{providedIn:"root",factory:function(){return new v}});let k=(()=>{class t{constructor(t,e,i,n,r,s){this._overlay=t,this._live=e,this._injector=i,this._breakpointObserver=n,this._parentSnackBar=r,this._defaultConfig=s,this._snackBarRefAtThisLevel=null,this.simpleSnackBarComponent=x,this.snackBarContainerComponent=A,this.handsetCssClass="mat-snack-bar-handset"}get _openedSnackBarRef(){const t=this._parentSnackBar;return t?t._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(t){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=t:this._snackBarRefAtThisLevel=t}openFromComponent(t,e){return this._attach(t,e)}openFromTemplate(t,e){return this._attach(t,e)}open(t,e="",i){const n=Object.assign(Object.assign({},this._defaultConfig),i);return n.data={message:t,action:e},n.announcementMessage===t&&(n.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,n)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(t,e){const i=o.zs3.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:v,useValue:e}]}),n=new r.C5(this.snackBarContainerComponent,e.viewContainerRef,i),s=t.attach(n);return s.instance.snackBarConfig=e,s.instance}_attach(t,e){const i=Object.assign(Object.assign(Object.assign({},new v),this._defaultConfig),e),n=this._createOverlay(i),s=this._attachSnackBarContainer(n,i),a=new w(s,n);if(t instanceof o.Rgc){const e=new r.UE(t,null,{$implicit:i.data,snackBarRef:a});a.instance=s.attachTemplatePortal(e)}else{const e=this._createInjector(i,a),n=new r.C5(t,void 0,e),o=s.attachComponentPortal(n);a.instance=o.instance}return this._breakpointObserver.observe(f.u3.HandsetPortrait).pipe((0,u.R)(n.detachments())).subscribe(t=>{const e=n.overlayElement.classList;t.matches?e.add(this.handsetCssClass):e.remove(this.handsetCssClass)}),i.announcementMessage&&s._onAnnounce.subscribe(()=>{this._live.announce(i.announcementMessage,i.politeness)}),this._animateSnackBar(a,i),this._openedSnackBarRef=a,this._openedSnackBarRef}_animateSnackBar(t,e){t.afterDismissed().subscribe(()=>{this._openedSnackBarRef==t&&(this._openedSnackBarRef=null),e.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{t.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):t.containerInstance.enter(),e.duration&&e.duration>0&&t.afterOpened().subscribe(()=>t._dismissAfter(e.duration))}_createOverlay(t){const e=new n.X_;e.direction=t.direction;let i=this._overlay.position().global();const r="rtl"===t.direction,s="left"===t.horizontalPosition||"start"===t.horizontalPosition&&!r||"end"===t.horizontalPosition&&r,o=!s&&"center"!==t.horizontalPosition;return s?i.left("0"):o?i.right("0"):i.centerHorizontally(),"top"===t.verticalPosition?i.top("0"):i.bottom("0"),e.positionStrategy=i,this._overlay.create(e)}_createInjector(t,e){return o.zs3.create({parent:t&&t.viewContainerRef&&t.viewContainerRef.injector||this._injector,providers:[{provide:w,useValue:e},{provide:b,useValue:t.data}]})}}return t.\u0275fac=function(e){return new(e||t)(o.LFG(n.aV),o.LFG(p.Kd),o.LFG(o.zs3),o.LFG(f.Yg),o.LFG(t,12),o.LFG(E))},t.\u0275prov=o.Yz7({factory:function(){return new t(o.LFG(n.aV),o.LFG(p.Kd),o.LFG(o.gxx),o.LFG(f.Yg),o.LFG(t,12),o.LFG(E))},token:t,providedIn:S}),t})()},2464:(t,e,i)=>{"use strict";i.d(e,{YE:()=>b,nU:()=>S,JX:()=>E});var n=i(1572),r=i(9861),s=i(1522),o=i(5842),a=i(9666),l=i(5446),c=i(709),h=i(1511),u=i(4621);const d=["mat-sort-header",""];function p(t,e){if(1&t){const t=n.EpF();n.TgZ(0,"div",3),n.NdJ("@arrowPosition.start",function(){return n.CHM(t),n.oxw()._disableViewStateAnimation=!0})("@arrowPosition.done",function(){return n.CHM(t),n.oxw()._disableViewStateAnimation=!1}),n._UZ(1,"div",4),n.TgZ(2,"div",5),n._UZ(3,"div",6),n._UZ(4,"div",7),n._UZ(5,"div",8),n.qZA(),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("@arrowOpacity",t._getArrowViewState())("@arrowPosition",t._getArrowViewState())("@allowChildren",t._getArrowDirectionState()),n.xp6(2),n.Q6J("@indicator",t._getArrowDirectionState()),n.xp6(1),n.Q6J("@leftPointer",t._getArrowDirectionState()),n.xp6(1),n.Q6J("@rightPointer",t._getArrowDirectionState())}}const f=["*"],m=new n.OlP("MAT_SORT_DEFAULT_OPTIONS");class g{}const y=(0,s.dB)((0,s.Id)(g));let b=(()=>{class t extends y{constructor(t){super(),this._defaultOptions=t,this.sortables=new Map,this._stateChanges=new a.x,this.start="asc",this._direction="",this.sortChange=new n.vpe}get direction(){return this._direction}set direction(t){this._direction=t}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,r.Ig)(t)}register(t){this.sortables.set(t.id,t)}deregister(t){this.sortables.delete(t.id)}sort(t){this.active!=t.id?(this.active=t.id,this.direction=t.start?t.start:this.start):this.direction=this.getNextSortDirection(t),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(t){var e,i,n;if(!t)return"";const r=null!==(i=null!==(e=null==t?void 0:t.disableClear)&&void 0!==e?e:this.disableClear)&&void 0!==i?i:!!(null===(n=this._defaultOptions)||void 0===n?void 0:n.disableClear);let s=function(t,e){let i=["asc","desc"];return"desc"==t&&i.reverse(),e||i.push(""),i}(t.start||this.start,r),o=s.indexOf(this.direction)+1;return o>=s.length&&(o=0),s[o]}ngOnInit(){this._markInitialized()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(m,8))},t.\u0275dir=n.lG2({type:t,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{disabled:["matSortDisabled","disabled"],start:["matSortStart","start"],direction:["matSortDirection","direction"],disableClear:["matSortDisableClear","disableClear"],active:["matSortActive","active"]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[n.qOj,n.TTD]}),t})();const v=s.mZ.ENTERING+" "+s.yN.STANDARD_CURVE,_={indicator:(0,c.X$)("indicator",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"translateY(0px)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"translateY(10px)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),leftPointer:(0,c.X$)("leftPointer",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"rotate(-45deg)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"rotate(45deg)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),rightPointer:(0,c.X$)("rightPointer",[(0,c.SB)("active-asc, asc",(0,c.oB)({transform:"rotate(45deg)"})),(0,c.SB)("active-desc, desc",(0,c.oB)({transform:"rotate(-45deg)"})),(0,c.eR)("active-asc <=> active-desc",(0,c.jt)(v))]),arrowOpacity:(0,c.X$)("arrowOpacity",[(0,c.SB)("desc-to-active, asc-to-active, active",(0,c.oB)({opacity:1})),(0,c.SB)("desc-to-hint, asc-to-hint, hint",(0,c.oB)({opacity:.54})),(0,c.SB)("hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void",(0,c.oB)({opacity:0})),(0,c.eR)("* => asc, * => desc, * => active, * => hint, * => void",(0,c.jt)("0ms")),(0,c.eR)("* <=> *",(0,c.jt)(v))]),arrowPosition:(0,c.X$)("arrowPosition",[(0,c.eR)("* => desc-to-hint, * => desc-to-active",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(-25%)"}),(0,c.oB)({transform:"translateY(0)"})]))),(0,c.eR)("* => hint-to-desc, * => active-to-desc",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(0)"}),(0,c.oB)({transform:"translateY(25%)"})]))),(0,c.eR)("* => asc-to-hint, * => asc-to-active",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(25%)"}),(0,c.oB)({transform:"translateY(0)"})]))),(0,c.eR)("* => hint-to-asc, * => active-to-asc",(0,c.jt)(v,(0,c.F4)([(0,c.oB)({transform:"translateY(0)"}),(0,c.oB)({transform:"translateY(-25%)"})]))),(0,c.SB)("desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active",(0,c.oB)({transform:"translateY(0)"})),(0,c.SB)("hint-to-desc, active-to-desc, desc",(0,c.oB)({transform:"translateY(-25%)"})),(0,c.SB)("hint-to-asc, active-to-asc, asc",(0,c.oB)({transform:"translateY(25%)"}))]),allowChildren:(0,c.X$)("allowChildren",[(0,c.eR)("* <=> *",[(0,c.IO)("@*",(0,c.pV)(),{optional:!0})])])};let w=(()=>{class t{constructor(){this.changes=new a.x}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const x={provide:w,deps:[[new n.FiY,new n.tp0,w]],useFactory:function(t){return t||new w}};class C{}const A=(0,s.Id)(C);let S=(()=>{class t extends A{constructor(t,e,i,n,r,s){super(),this._intl=t,this._changeDetectorRef=e,this._sort=i,this._columnDef=n,this._focusMonitor=r,this._elementRef=s,this._showIndicatorHint=!1,this._viewState={},this._arrowDirection="",this._disableViewStateAnimation=!1,this.arrowPosition="after",this._handleStateChanges()}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,r.Ig)(t)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._updateArrowDirection(),this._setAnimationTransitionState({toState:this._isSorted()?"active":this._arrowDirection}),this._sort.register(this)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{const e=!!t;e!==this._showIndicatorHint&&(this._setIndicatorHintVisible(e),this._changeDetectorRef.markForCheck())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._rerenderSubscription.unsubscribe()}_setIndicatorHintVisible(t){this._isDisabled()&&t||(this._showIndicatorHint=t,this._isSorted()||(this._updateArrowDirection(),this._setAnimationTransitionState(this._showIndicatorHint?{fromState:this._arrowDirection,toState:"hint"}:{fromState:"hint",toState:this._arrowDirection})))}_setAnimationTransitionState(t){this._viewState=t||{},this._disableViewStateAnimation&&(this._viewState={toState:t.toState})}_toggleOnInteraction(){this._sort.sort(this),"hint"!==this._viewState.toState&&"active"!==this._viewState.toState||(this._disableViewStateAnimation=!0)}_handleClick(){this._isDisabled()||this._sort.sort(this)}_handleKeydown(t){this._isDisabled()||t.keyCode!==o.L_&&t.keyCode!==o.K5||(t.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&("asc"===this._sort.direction||"desc"===this._sort.direction)}_getArrowDirectionState(){return`${this._isSorted()?"active-":""}${this._arrowDirection}`}_getArrowViewState(){const t=this._viewState.fromState;return(t?`${t}-to-`:"")+this._viewState.toState}_updateArrowDirection(){this._arrowDirection=this._isSorted()?this._sort.direction:this.start||this._sort.start}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?"asc"==this._sort.direction?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_handleStateChanges(){this._rerenderSubscription=(0,l.T)(this._sort.sortChange,this._sort._stateChanges,this._intl.changes).subscribe(()=>{this._isSorted()&&(this._updateArrowDirection(),"hint"!==this._viewState.toState&&"active"!==this._viewState.toState||(this._disableViewStateAnimation=!0),this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"active"}),this._showIndicatorHint=!1),!this._isSorted()&&this._viewState&&"active"===this._viewState.toState&&(this._disableViewStateAnimation=!1,this._setAnimationTransitionState({fromState:"active",toState:this._arrowDirection})),this._changeDetectorRef.markForCheck()})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(w),n.Y36(n.sBO),n.Y36(b,8),n.Y36("MAT_SORT_HEADER_COLUMN_DEF",8),n.Y36(u.tE),n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,e){1&t&&n.NdJ("click",function(){return e._handleClick()})("keydown",function(t){return e._handleKeydown(t)})("mouseenter",function(){return e._setIndicatorHintVisible(!0)})("mouseleave",function(){return e._setIndicatorHintVisible(!1)}),2&t&&(n.uIk("aria-sort",e._getAriaSortAttribute()),n.ekj("mat-sort-header-disabled",e._isDisabled()))},inputs:{disabled:"disabled",arrowPosition:"arrowPosition",disableClear:"disableClear",id:["mat-sort-header","id"],start:"start"},exportAs:["matSortHeader"],features:[n.qOj],attrs:d,ngContentSelectors:f,decls:4,vars:6,consts:[["role","button",1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],["class","mat-sort-header-arrow",4,"ngIf"],[1,"mat-sort-header-arrow"],[1,"mat-sort-header-stem"],[1,"mat-sort-header-indicator"],[1,"mat-sort-header-pointer-left"],[1,"mat-sort-header-pointer-right"],[1,"mat-sort-header-pointer-middle"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.Hsn(2),n.qZA(),n.YNc(3,p,6,6,"div",2),n.qZA()),2&t&&(n.ekj("mat-sort-header-sorted",e._isSorted())("mat-sort-header-position-before","before"==e.arrowPosition),n.uIk("tabindex",e._isDisabled()?null:0),n.xp6(3),n.Q6J("ngIf",e._renderArrow()))},directives:[h.O5],styles:[".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"],encapsulation:2,data:{animation:[_.indicator,_.leftPointer,_.rightPointer,_.arrowOpacity,_.arrowPosition,_.allowChildren]},changeDetection:0}),t})(),E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[x],imports:[[h.ez,s.BQ]]}),t})()},7753:(t,e,i)=>{"use strict";i.d(e,{C0:()=>Q,VY:()=>B,Vq:()=>K,z9:()=>j,T5:()=>et,Ic:()=>$,fd:()=>tt});var n=i(6899),r=i(8544),s=i(1511),o=i(1572),a=i(5980),l=i(1522),c=i(3691),h=i(9666),u=i(6042),d=i(4324),p=i(1681),f=i(1258),m=i(9568),g=i(6424),y=i(709),b=i(4621),v=i(2526);function _(t,e){if(1&t&&o.GkF(0,8),2&t){const t=o.oxw();o.Q6J("ngTemplateOutlet",t.iconOverrides[t.state])("ngTemplateOutletContext",t._getIconContext())}}function w(t,e){if(1&t&&(o.TgZ(0,"span"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t._getDefaultTextForState(t.state))}}function x(t,e){if(1&t&&(o.TgZ(0,"mat-icon"),o._uU(1),o.qZA()),2&t){const t=o.oxw(2);o.xp6(1),o.Oqu(t._getDefaultTextForState(t.state))}}function C(t,e){if(1&t&&(o.ynx(0,9),o.YNc(1,w,2,1,"span",10),o.YNc(2,x,2,1,"mat-icon",11),o.BQk()),2&t){const t=o.oxw();o.Q6J("ngSwitch",t.state),o.xp6(1),o.Q6J("ngSwitchCase","number")}}function A(t,e){if(1&t&&(o.TgZ(0,"div",12),o.GkF(1,13),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngTemplateOutlet",t._templateLabel().template)}}function S(t,e){if(1&t&&(o.TgZ(0,"div",12),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.label)}}function E(t,e){if(1&t&&(o.TgZ(0,"div",14),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t._intl.optionalLabel)}}function k(t,e){if(1&t&&(o.TgZ(0,"div",15),o._uU(1),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Oqu(t.errorMessage)}}function T(t,e){}function M(t,e){if(1&t&&(o.Hsn(0),o.YNc(1,T,0,0,"ng-template",0)),2&t){const t=o.oxw();o.xp6(1),o.Q6J("cdkPortalOutlet",t._portal)}}const L=["*"];function I(t,e){1&t&&o._UZ(0,"div",9)}const O=function(t,e){return{step:t,i:e}};function D(t,e){if(1&t&&(o.ynx(0),o.GkF(1,7),o.YNc(2,I,1,0,"div",8),o.BQk()),2&t){const t=e.$implicit,i=e.index,n=e.last;o.oxw(2);const r=o.MAs(4);o.xp6(1),o.Q6J("ngTemplateOutlet",r)("ngTemplateOutletContext",o.WLB(3,O,t,i)),o.xp6(1),o.Q6J("ngIf",!n)}}function R(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",10),o.NdJ("@horizontalStepTransition.done",function(e){return o.CHM(t),o.oxw(2)._animationDone.next(e)}),o.GkF(1,11),o.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=o.oxw(2);o.Q6J("@horizontalStepTransition",n._getAnimationDirection(i))("id",n._getStepContentId(i)),o.uIk("aria-labelledby",n._getStepLabelId(i))("aria-expanded",n.selectedIndex===i),o.xp6(1),o.Q6J("ngTemplateOutlet",t.content)}}function N(t,e){if(1&t&&(o.ynx(0),o.TgZ(1,"div",3),o.YNc(2,D,3,6,"ng-container",4),o.qZA(),o.TgZ(3,"div",5),o.YNc(4,R,2,5,"div",6),o.qZA(),o.BQk()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("ngForOf",t.steps),o.xp6(2),o.Q6J("ngForOf",t.steps)}}function P(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",13),o.GkF(1,7),o.TgZ(2,"div",14),o.TgZ(3,"div",15),o.NdJ("@verticalStepTransition.done",function(e){return o.CHM(t),o.oxw(2)._animationDone.next(e)}),o.TgZ(4,"div",16),o.GkF(5,11),o.qZA(),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=e.last,r=o.oxw(2),s=o.MAs(4);o.xp6(1),o.Q6J("ngTemplateOutlet",s)("ngTemplateOutletContext",o.WLB(9,O,t,i)),o.xp6(1),o.ekj("mat-stepper-vertical-line",!n),o.xp6(1),o.Q6J("@verticalStepTransition",r._getAnimationDirection(i))("id",r._getStepContentId(i)),o.uIk("aria-labelledby",r._getStepLabelId(i))("aria-expanded",r.selectedIndex===i),o.xp6(2),o.Q6J("ngTemplateOutlet",t.content)}}function F(t,e){if(1&t&&(o.ynx(0),o.YNc(1,P,6,12,"div",12),o.BQk()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("ngForOf",t.steps)}}function Z(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"mat-step-header",17),o.NdJ("click",function(){return e.step.select()})("keydown",function(e){return o.CHM(t),o.oxw()._onKeydown(e)}),o.qZA()}if(2&t){const t=e.step,i=e.i,n=o.oxw();o.ekj("mat-horizontal-stepper-header","horizontal"===n.orientation)("mat-vertical-stepper-header","vertical"===n.orientation),o.Q6J("tabIndex",n._getFocusIndex()===i?0:-1)("id",n._getStepLabelId(i))("index",i)("state",n._getIndicatorType(i,t.state))("label",t.stepLabel||t.label)("selected",n.selectedIndex===i)("active",t.completed||n.selectedIndex===i||!n.linear)("optional",t.optional)("errorMessage",t.errorMessage)("iconOverrides",n._iconOverrides)("disableRipple",n.disableRipple)("color",t.color||n.color),o.uIk("aria-posinset",i+1)("aria-setsize",n.steps.length)("aria-controls",n._getStepContentId(i))("aria-selected",n.selectedIndex==i)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null)}}let B=(()=>{class t extends r.u6{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["","matStepLabel",""]],features:[o.qOj]}),t})(),U=(()=>{class t{constructor(){this.changes=new h.x,this.optionalLabel="Optional"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=o.Yz7({factory:function(){return new t},token:t,providedIn:"root"}),t})();const q={provide:U,deps:[[new o.FiY,new o.tp0,U]],useFactory:function(t){return t||new U}};class z extends r.KL{constructor(t){super(t)}}const H=(0,l.pj)(z,"primary");let Y=(()=>{class t extends H{constructor(t,e,i,n){super(i),this._intl=t,this._focusMonitor=e,this._intlSubscription=t.changes.subscribe(()=>n.markForCheck())}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)}focus(t,e){t?this._focusMonitor.focusVia(this._elementRef,t,e):this._elementRef.nativeElement.focus(e)}_stringLabel(){return this.label instanceof B?null:this.label}_templateLabel(){return this.label instanceof B?this.label:null}_getHostElement(){return this._elementRef.nativeElement}_getIconContext(){return{index:this.index,active:this.active,optional:this.optional}}_getDefaultTextForState(t){return"number"==t?`${this.index+1}`:"edit"==t?"create":"error"==t?"warning":t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(U),o.Y36(b.tE),o.Y36(o.SBq),o.Y36(o.sBO))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-step-header"]],hostAttrs:["role","tab",1,"mat-step-header"],inputs:{color:"color",state:"state",label:"label",errorMessage:"errorMessage",iconOverrides:"iconOverrides",index:"index",selected:"selected",active:"active",optional:"optional",disableRipple:"disableRipple"},features:[o.qOj],decls:10,vars:19,consts:[["matRipple","",1,"mat-step-header-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-step-icon-content",3,"ngSwitch"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngSwitchCase"],[3,"ngSwitch",4,"ngSwitchDefault"],[1,"mat-step-label"],["class","mat-step-text-label",4,"ngIf"],["class","mat-step-optional",4,"ngIf"],["class","mat-step-sub-label-error",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[1,"mat-step-text-label"],[3,"ngTemplateOutlet"],[1,"mat-step-optional"],[1,"mat-step-sub-label-error"]],template:function(t,e){1&t&&(o._UZ(0,"div",0),o.TgZ(1,"div"),o.TgZ(2,"div",1),o.YNc(3,_,1,2,"ng-container",2),o.YNc(4,C,3,2,"ng-container",3),o.qZA(),o.qZA(),o.TgZ(5,"div",4),o.YNc(6,A,2,1,"div",5),o.YNc(7,S,2,1,"div",5),o.YNc(8,E,2,1,"div",6),o.YNc(9,k,2,1,"div",7),o.qZA()),2&t&&(o.Q6J("matRippleTrigger",e._getHostElement())("matRippleDisabled",e.disableRipple),o.xp6(1),o.Gre("mat-step-icon-state-",e.state," mat-step-icon"),o.ekj("mat-step-icon-selected",e.selected),o.xp6(1),o.Q6J("ngSwitch",!(!e.iconOverrides||!e.iconOverrides[e.state])),o.xp6(1),o.Q6J("ngSwitchCase",!0),o.xp6(2),o.ekj("mat-step-label-active",e.active)("mat-step-label-selected",e.selected)("mat-step-label-error","error"==e.state),o.xp6(1),o.Q6J("ngIf",e._templateLabel()),o.xp6(1),o.Q6J("ngIf",e._stringLabel()),o.xp6(1),o.Q6J("ngIf",e.optional&&"error"!=e.state),o.xp6(1),o.Q6J("ngIf","error"==e.state))},directives:[l.wG,s.RF,s.n9,s.ED,s.O5,s.tP,c.Hw],styles:[".mat-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:transparent}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon-content,.mat-step-icon .mat-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"],encapsulation:2,changeDetection:0}),t})();const G={horizontalStepTransition:(0,y.X$)("horizontalStepTransition",[(0,y.SB)("previous",(0,y.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),(0,y.SB)("current",(0,y.oB)({transform:"none",visibility:"inherit"})),(0,y.SB)("next",(0,y.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),(0,y.eR)("* => *",(0,y.jt)("500ms cubic-bezier(0.35, 0, 0.25, 1)"))]),verticalStepTransition:(0,y.X$)("verticalStepTransition",[(0,y.SB)("previous",(0,y.oB)({height:"0px",visibility:"hidden"})),(0,y.SB)("next",(0,y.oB)({height:"0px",visibility:"hidden"})),(0,y.SB)("current",(0,y.oB)({height:"*",visibility:"inherit"})),(0,y.eR)("* <=> current",(0,y.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])};let j=(()=>{class t{constructor(t){this.templateRef=t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.Rgc))},t.\u0275dir=o.lG2({type:t,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:["matStepperIcon","name"]}}),t})(),V=(()=>{class t{constructor(t){this._template=t}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.Rgc))},t.\u0275dir=o.lG2({type:t,selectors:[["ng-template","matStepContent",""]]}),t})(),Q=(()=>{class t extends r.be{constructor(t,e,i,n){super(t,n),this._errorStateMatcher=e,this._viewContainerRef=i,this._isSelected=u.w0.EMPTY}ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe((0,d.w)(()=>this._stepper.selectionChange.pipe((0,p.U)(t=>t.selectedStep===this),(0,f.O)(this._stepper.selected===this)))).subscribe(t=>{t&&this._lazyContent&&!this._portal&&(this._portal=new n.UE(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(t,e){return this._errorStateMatcher.isErrorState(t,e)||!!(t&&t.invalid&&this.interacted)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36((0,o.Gpc)(()=>K)),o.Y36(l.rD,4),o.Y36(o.s_b),o.Y36(r.gx,8))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-step"]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,B,5),o.Suo(i,V,5)),2&t){let t;o.iGM(t=o.CRH())&&(e.stepLabel=t.first),o.iGM(t=o.CRH())&&(e._lazyContent=t.first)}},inputs:{color:"color"},exportAs:["matStep"],features:[o._Bn([{provide:l.rD,useExisting:t},{provide:r.be,useExisting:t}]),o.qOj],ngContentSelectors:L,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(t,e){1&t&&(o.F$t(),o.YNc(0,M,2,1,"ng-template"))},directives:[n.Pl],encapsulation:2,changeDetection:0}),t})(),W=(()=>{class t extends r.B8{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,features:[o.qOj]}),t})(),J=(()=>{class t extends W{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["mat-horizontal-stepper"]],features:[o.qOj]}),t})(),X=(()=>{class t extends W{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["mat-vertical-stepper"]],features:[o.qOj]}),t})(),K=(()=>{class t extends r.B8{constructor(t,e,i,n){super(t,e,i,n),this.steps=new o.n_E,this.animationDone=new o.vpe,this.labelPosition="end",this._iconOverrides={},this._animationDone=new h.x;const r=i.nativeElement.nodeName.toLowerCase();this.orientation="mat-vertical-stepper"===r?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:t,templateRef:e})=>this._iconOverrides[t]=e),this.steps.changes.pipe((0,m.R)(this._destroyed)).subscribe(()=>{this._stateChanged()}),this._animationDone.pipe((0,g.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState),(0,m.R)(this._destroyed)).subscribe(t=>{"current"===t.toState&&this.animationDone.emit()})}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(v.Is,8),o.Y36(o.sBO),o.Y36(o.SBq),o.Y36(s.K0))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(t,e,i){if(1&t&&(o.Suo(i,Q,5),o.Suo(i,j,5)),2&t){let t;o.iGM(t=o.CRH())&&(e._steps=t),o.iGM(t=o.CRH())&&(e._icons=t)}},viewQuery:function(t,e){if(1&t&&o.Gf(Y,5),2&t){let t;o.iGM(t=o.CRH())&&(e._stepHeader=t)}},hostAttrs:["role","tablist"],hostVars:9,hostBindings:function(t,e){2&t&&(o.uIk("aria-orientation",e.orientation),o.ekj("mat-stepper-horizontal","horizontal"===e.orientation)("mat-stepper-vertical","vertical"===e.orientation)("mat-stepper-label-position-end","horizontal"===e.orientation&&"end"==e.labelPosition)("mat-stepper-label-position-bottom","horizontal"===e.orientation&&"bottom"==e.labelPosition))},inputs:{selectedIndex:"selectedIndex",labelPosition:"labelPosition",disableRipple:"disableRipple",color:"color"},outputs:{animationDone:"animationDone"},exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"],features:[o._Bn([{provide:r.B8,useExisting:t},{provide:J,useExisting:t},{provide:X,useExisting:t}]),o.qOj],decls:5,vars:3,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],["stepTemplate",""],[1,"mat-horizontal-stepper-header-container"],[4,"ngFor","ngForOf"],[1,"mat-horizontal-content-container"],["class","mat-horizontal-stepper-content","role","tabpanel",3,"id",4,"ngFor","ngForOf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["class","mat-stepper-horizontal-line",4,"ngIf"],[1,"mat-stepper-horizontal-line"],["role","tabpanel",1,"mat-horizontal-stepper-content",3,"id"],[3,"ngTemplateOutlet"],["class","mat-step",4,"ngFor","ngForOf"],[1,"mat-step"],[1,"mat-vertical-content-container"],["role","tabpanel",1,"mat-vertical-stepper-content",3,"id"],[1,"mat-vertical-content"],[3,"tabIndex","id","index","state","label","selected","active","optional","errorMessage","iconOverrides","disableRipple","color","click","keydown"]],template:function(t,e){1&t&&(o.ynx(0,0),o.YNc(1,N,5,2,"ng-container",1),o.YNc(2,F,2,1,"ng-container",1),o.BQk(),o.YNc(3,Z,1,22,"ng-template",null,2,o.W1O)),2&t&&(o.Q6J("ngSwitch",e.orientation),o.xp6(1),o.Q6J("ngSwitchCase","horizontal"),o.xp6(1),o.Q6J("ngSwitchCase","vertical"))},directives:[s.RF,s.n9,s.sg,s.tP,s.O5,Y],styles:['.mat-stepper-vertical,.mat-stepper-horizontal{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:"";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content[aria-expanded=false]{height:0;overflow:hidden}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:"";position:absolute;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}\n'],encapsulation:2,data:{animation:[G.horizontalStepTransition,G.verticalStepTransition]},changeDetection:0}),t})(),$=(()=>{class t extends r.st{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(t,e){2&t&&o.Ikx("type",e.type)},inputs:{type:"type"},features:[o.qOj]}),t})(),tt=(()=>{class t extends r.po{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=o.n5z(t)))(i||t)}}(),t.\u0275dir=o.lG2({type:t,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(t,e){2&t&&o.Ikx("type",e.type)},inputs:{type:"type"},features:[o.qOj]}),t})(),et=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[q,l.rD],imports:[[l.BQ,s.ez,n.eL,a.ot,r.U5,c.Ps,l.si],l.BQ]}),t})()},7033:(t,e,i)=>{"use strict";i.d(e,{ev:()=>gt,Dz:()=>ht,w1:()=>pt,yh:()=>mt,mD:()=>dt,Q2:()=>wt,Ke:()=>bt,ge:()=>ft,fO:()=>ut,XQ:()=>_t,as:()=>yt,Gk:()=>xt,nj:()=>vt,BZ:()=>ct,by:()=>St,p0:()=>Ct});var n=i(9861),r=i(4230),s=i(1572),o=i(2526),a=i(1353),l=i(4894),c=i(1511),h=i(9666),u=i(5630),d=i(7425),p=i(4776),f=i(2041),m=i(9568),g=i(9056);const y=[[["caption"]],[["colgroup"],["col"]]],b=["caption","colgroup, col"];function v(t){return class extends t{constructor(...t){super(...t),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(t){const e=this._sticky;this._sticky=(0,n.Ig)(t),this._hasStickyChanged=e!==this._sticky}hasStickyChanged(){const t=this._hasStickyChanged;return this._hasStickyChanged=!1,t}resetStickyChanged(){this._hasStickyChanged=!1}}}const _=new s.OlP("CDK_TABLE");let w=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkCellDef",""]]}),t})(),x=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkHeaderCellDef",""]]}),t})(),C=(()=>{class t{constructor(t){this.template=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkFooterCellDef",""]]}),t})();class A{}const S=v(A);let E=(()=>{class t extends S{constructor(t){super(),this._table=t,this._stickyEnd=!1}get name(){return this._name}set name(t){this._setNameInput(t)}get stickyEnd(){return this._stickyEnd}set stickyEnd(t){const e=this._stickyEnd;this._stickyEnd=(0,n.Ig)(t),this._hasStickyChanged=e!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(t){t&&(this._name=t,this.cssClassFriendlyName=t.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkColumnDef",""]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,w,5),s.Suo(i,x,5),s.Suo(i,C,5)),2&t){let t;s.iGM(t=s.CRH())&&(e.cell=t.first),s.iGM(t=s.CRH())&&(e.headerCell=t.first),s.iGM(t=s.CRH())&&(e.footerCell=t.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[s._Bn([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),s.qOj]}),t})();class k{constructor(t,e){const i=e.nativeElement.classList;for(const n of t._columnCssClassName)i.add(n)}}let T=(()=>{class t extends k{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(E),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[s.qOj]}),t})(),M=(()=>{class t extends k{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(E),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-footer-cell"],["td","cdk-footer-cell",""]],hostAttrs:["role","gridcell",1,"cdk-footer-cell"],features:[s.qOj]}),t})(),L=(()=>{class t extends k{constructor(t,e){super(t,e)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(E),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:["role","gridcell",1,"cdk-cell"],features:[s.qOj]}),t})();class I{constructor(){this.tasks=[],this.endTasks=[]}}const O=new s.OlP("_COALESCED_STYLE_SCHEDULER");let D=(()=>{class t{constructor(t){this._ngZone=t,this._currentSchedule=null,this._destroyed=new h.x}schedule(t){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(t)}scheduleEnd(t){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(t)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new I,this._getScheduleObservable().pipe((0,m.R)(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const t=this._currentSchedule;this._currentSchedule=new I;for(const e of t.tasks)e();for(const e of t.endTasks)e()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?(0,u.Dp)(Promise.resolve(void 0)):this._ngZone.onStable.pipe((0,g.q)(1))}}return t.\u0275fac=function(e){return new(e||t)(s.LFG(s.R0b))},t.\u0275prov=s.Yz7({token:t,factory:t.\u0275fac}),t})(),R=(()=>{class t{constructor(t,e){this.template=t,this._differs=e}ngOnChanges(t){if(!this._columnsDiffer){const e=t.columns&&t.columns.currentValue||[];this._columnsDiffer=this._differs.find(e).create(),this._columnsDiffer.diff(e)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(t){return this instanceof F?t.headerCell.template:this instanceof U?t.footerCell.template:t.cell.template}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4))},t.\u0275dir=s.lG2({type:t,features:[s.TTD]}),t})();class N extends R{}const P=v(N);let F=(()=>{class t extends P{constructor(t,e,i){super(t,e),this._table=i}ngOnChanges(t){super.ngOnChanges(t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[s.qOj,s.TTD]}),t})();class Z extends R{}const B=v(Z);let U=(()=>{class t extends B{constructor(t,e,i){super(t,e),this._table=i}ngOnChanges(t){super.ngOnChanges(t)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[s.qOj,s.TTD]}),t})(),q=(()=>{class t extends R{constructor(t,e,i){super(t,e),this._table=i}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc),s.Y36(s.ZZ4),s.Y36(_,8))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[s.qOj]}),t})(),z=(()=>{class t{constructor(e){this._viewContainer=e,t.mostRecentCellOutlet=this}ngOnDestroy(){t.mostRecentCellOutlet===this&&(t.mostRecentCellOutlet=null)}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b))},t.\u0275dir=s.lG2({type:t,selectors:[["","cdkCellOutlet",""]]}),t.mostRecentCellOutlet=null,t})(),H=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),Y=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-footer-row"],["tr","cdk-footer-row",""]],hostAttrs:["role","row",1,"cdk-footer-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),j=(()=>{class t{constructor(t){this.templateRef=t}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.Rgc))},t.\u0275dir=s.lG2({type:t,selectors:[["ng-template","cdkNoDataRow",""]]}),t})();const V=["top","bottom","left","right"];class Q{constructor(t,e,i,n,r=!0,s=!0,o){this._isNativeHtmlTable=t,this._stickCellCss=e,this.direction=i,this._coalescedStyleScheduler=n,this._isBrowser=r,this._needsPositionStickyOnElement=s,this._positionListener=o,this._cachedCellWidths=[],this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`}}clearStickyPositioning(t,e){const i=[];for(const n of t)if(n.nodeType===n.ELEMENT_NODE){i.push(n);for(let t=0;t{for(const t of i)this._removeStickyStyle(t,e)})}updateStickyColumns(t,e,i,n=!0){if(!t.length||!this._isBrowser||!e.some(t=>t)&&!i.some(t=>t))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const r=t[0],s=r.children.length,o=this._getCellWidths(r,n),a=this._getStickyStartColumnPositions(o,e),l=this._getStickyEndColumnPositions(o,i),c=e.lastIndexOf(!0),h=i.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const n="rtl"===this.direction,r=n?"right":"left",u=n?"left":"right";for(const o of t)for(let t=0;te[i]?t:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===h?[]:o.slice(h).map((t,e)=>i[e+h]?t:null).reverse()}))})}stickRows(t,e,i){if(!this._isBrowser)return;const n="bottom"===i?t.slice().reverse():t,r="bottom"===i?e.slice().reverse():e,s=[],o=[],a=[];for(let c=0,h=0;c{var t,e;for(let o=0;o{e.some(t=>!t)?this._removeStickyStyle(i,["bottom"]):this._addStickyStyle(i,"bottom",0,!1)})}_removeStickyStyle(t,e){for(const i of e)t.style[i]="",t.classList.remove(this._borderCellCss[i]);V.some(i=>-1===e.indexOf(i)&&t.style[i])?t.style.zIndex=this._getCalculatedZIndex(t):(t.style.zIndex="",this._needsPositionStickyOnElement&&(t.style.position=""),t.classList.remove(this._stickCellCss))}_addStickyStyle(t,e,i,n){t.classList.add(this._stickCellCss),n&&t.classList.add(this._borderCellCss[e]),t.style[e]=`${i}px`,t.style.zIndex=this._getCalculatedZIndex(t),this._needsPositionStickyOnElement&&(t.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(t){const e={top:100,bottom:10,left:1,right:1};let i=0;for(const n of V)t.style[n]&&(i+=e[n]);return i?`${i}`:""}_getCellWidths(t,e=!0){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;const i=[],n=t.children;for(let r=0;r0;r--)e[r]&&(i[r]=n,n+=t[r]);return i}}const W=new s.OlP("CDK_SPL");let J=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","rowOutlet",""]]}),t})(),X=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","headerRowOutlet",""]]}),t})(),K=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","footerRowOutlet",""]]}),t})(),$=(()=>{class t{constructor(t,e){this.viewContainer=t,this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.s_b),s.Y36(s.SBq))},t.\u0275dir=s.lG2({type:t,selectors:[["","noDataRowOutlet",""]]}),t})(),tt=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,u){this._differs=t,this._changeDetectorRef=e,this._elementRef=i,this._dir=r,this._platform=o,this._viewRepeater=a,this._coalescedStyleScheduler=l,this._viewportRuler=c,this._stickyPositioningListener=u,this._onDestroy=new h.x,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.viewChange=new d.X({start:0,end:Number.MAX_VALUE}),n||this._elementRef.nativeElement.setAttribute("role","grid"),this._document=s,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(t){this._trackByFn=t}get dataSource(){return this._dataSource}set dataSource(t){this._dataSource!==t&&this._switchDataSource(t)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(t){this._multiTemplateDataRows=(0,n.Ig)(t),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(t){this._fixedLayout=(0,n.Ig)(t),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((t,e)=>this.trackBy?this.trackBy(e.dataIndex,e.data):e),this._viewportRuler.change().pipe((0,m.R)(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs();const t=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||t,this._forceRecalculateCellWidths=t,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){this._rowOutlet.viewContainer.clear(),this._noDataRowOutlet.viewContainer.clear(),this._headerRowOutlet.viewContainer.clear(),this._footerRowOutlet.viewContainer.clear(),this._cachedRenderRowsMap.clear(),this._onDestroy.next(),this._onDestroy.complete(),(0,r.Z9)(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const t=this._dataDiffer.diff(this._renderRows);if(!t)return void this._updateNoDataRow();const e=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(t,e,(t,e,i)=>this._getEmbeddedViewArgs(t.item,i),t=>t.item.data,t=>{1===t.operation&&t.context&&this._renderCellTemplateForItem(t.record.item.rowDef,t.context)}),this._updateRowIndexContext(),t.forEachIdentityChange(t=>{e.get(t.currentIndex).context.$implicit=t.item.data}),this._updateNoDataRow(),this.updateStickyColumnStyles()}addColumnDef(t){this._customColumnDefs.add(t)}removeColumnDef(t){this._customColumnDefs.delete(t)}addRowDef(t){this._customRowDefs.add(t)}removeRowDef(t){this._customRowDefs.delete(t)}addHeaderRowDef(t){this._customHeaderRowDefs.add(t),this._headerRowDefChanged=!0}removeHeaderRowDef(t){this._customHeaderRowDefs.delete(t),this._headerRowDefChanged=!0}addFooterRowDef(t){this._customFooterRowDefs.add(t),this._footerRowDefChanged=!0}removeFooterRowDef(t){this._customFooterRowDefs.delete(t),this._footerRowDefChanged=!0}setNoDataRow(t){this._customNoDataRow=t}updateStickyHeaderRowStyles(){const t=this._getRenderedRows(this._headerRowOutlet),e=this._elementRef.nativeElement.querySelector("thead");e&&(e.style.display=t.length?"":"none");const i=this._headerRowDefs.map(t=>t.sticky);this._stickyStyler.clearStickyPositioning(t,["top"]),this._stickyStyler.stickRows(t,i,"top"),this._headerRowDefs.forEach(t=>t.resetStickyChanged())}updateStickyFooterRowStyles(){const t=this._getRenderedRows(this._footerRowOutlet),e=this._elementRef.nativeElement.querySelector("tfoot");e&&(e.style.display=t.length?"":"none");const i=this._footerRowDefs.map(t=>t.sticky);this._stickyStyler.clearStickyPositioning(t,["bottom"]),this._stickyStyler.stickRows(t,i,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,i),this._footerRowDefs.forEach(t=>t.resetStickyChanged())}updateStickyColumnStyles(){const t=this._getRenderedRows(this._headerRowOutlet),e=this._getRenderedRows(this._rowOutlet),i=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...t,...e,...i],["left","right"]),this._stickyColumnStylesNeedReset=!1),t.forEach((t,e)=>{this._addStickyColumnStyles([t],this._headerRowDefs[e])}),this._rowDefs.forEach(t=>{const i=[];for(let n=0;n{this._addStickyColumnStyles([t],this._footerRowDefs[e])}),Array.from(this._columnDefsByName.values()).forEach(t=>t.resetStickyChanged())}_getAllRenderRows(){const t=[],e=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let i=0;i{const r=i&&i.has(n)?i.get(n):[];if(r.length){const t=r.shift();return t.dataIndex=e,t}return{data:t,rowDef:n,dataIndex:e}})}_cacheColumnDefs(){this._columnDefsByName.clear(),et(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(t=>{this._columnDefsByName.has(t.name),this._columnDefsByName.set(t.name,t)})}_cacheRowDefs(){this._headerRowDefs=et(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=et(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=et(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const t=this._rowDefs.filter(t=>!t.when);this._defaultRowDef=t[0]}_renderUpdatedColumns(){const t=(t,e)=>t||!!e.getColumnsDiff(),e=this._rowDefs.reduce(t,!1);e&&this._forceRenderDataRows();const i=this._headerRowDefs.reduce(t,!1);i&&this._forceRenderHeaderRows();const n=this._footerRowDefs.reduce(t,!1);return n&&this._forceRenderFooterRows(),e||i||n}_switchDataSource(t){this._data=[],(0,r.Z9)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),t||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=t}_observeRenderChanges(){if(!this.dataSource)return;let t;(0,r.Z9)(this.dataSource)?t=this.dataSource.connect(this):(0,p.b)(this.dataSource)?t=this.dataSource:Array.isArray(this.dataSource)&&(t=(0,f.of)(this.dataSource)),this._renderChangeSubscription=t.pipe((0,m.R)(this._onDestroy)).subscribe(t=>{this._data=t||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((t,e)=>this._renderRow(this._headerRowOutlet,t,e)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((t,e)=>this._renderRow(this._footerRowOutlet,t,e)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(t,e){const i=Array.from(e.columns||[]).map(t=>this._columnDefsByName.get(t)),n=i.map(t=>t.sticky),r=i.map(t=>t.stickyEnd);this._stickyStyler.updateStickyColumns(t,n,r,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(t){const e=[];for(let i=0;i!i.when||i.when(e,t));else{let n=this._rowDefs.find(i=>i.when&&i.when(e,t))||this._defaultRowDef;n&&i.push(n)}return i}_getEmbeddedViewArgs(t,e){return{templateRef:t.rowDef.template,context:{$implicit:t.data},index:e}}_renderRow(t,e,i,n={}){const r=t.viewContainer.createEmbeddedView(e.template,n,i);return this._renderCellTemplateForItem(e,n),r}_renderCellTemplateForItem(t,e){for(let i of this._getCellTemplates(t))z.mostRecentCellOutlet&&z.mostRecentCellOutlet._viewContainer.createEmbeddedView(i,e);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const t=this._rowOutlet.viewContainer;for(let e=0,i=t.length;e{const i=this._columnDefsByName.get(e);return t.extractCellTemplate(i)}):[]}_applyNativeTableSections(){const t=this._document.createDocumentFragment(),e=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const i of e){const e=this._document.createElement(i.tag);e.setAttribute("role","rowgroup");for(const t of i.outlets)e.appendChild(t.elementRef.nativeElement);t.appendChild(e)}this._elementRef.nativeElement.appendChild(t)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const t=(t,e)=>t||e.hasStickyChanged();this._headerRowDefs.reduce(t,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(t,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(t,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){this._stickyStyler=new Q(this._isNativeHtmlTable,this.stickyCssClass,this._dir?this._dir.value:"ltr",this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:(0,f.of)()).pipe((0,m.R)(this._onDestroy)).subscribe(t=>{this._stickyStyler.direction=t,this.updateStickyColumnStyles()})}_getOwnDefs(t){return t.filter(t=>!t._table||t._table===this)}_updateNoDataRow(){const t=this._customNoDataRow||this._noDataRow;if(t){const e=0===this._rowOutlet.viewContainer.length;if(e!==this._isShowingNoDataRow){const i=this._noDataRowOutlet.viewContainer;e?i.createEmbeddedView(t.templateRef):i.clear(),this._isShowingNoDataRow=e}}}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.ZZ4),s.Y36(s.sBO),s.Y36(s.SBq),s.$8M("role"),s.Y36(o.Is,8),s.Y36(c.K0),s.Y36(a.t4),s.Y36(r.k),s.Y36(O),s.Y36(l.rL),s.Y36(W,12))},t.\u0275cmp=s.Xpm({type:t,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(t,e,i){if(1&t&&(s.Suo(i,j,5),s.Suo(i,E,5),s.Suo(i,q,5),s.Suo(i,F,5),s.Suo(i,U,5)),2&t){let t;s.iGM(t=s.CRH())&&(e._noDataRow=t.first),s.iGM(t=s.CRH())&&(e._contentColumnDefs=t),s.iGM(t=s.CRH())&&(e._contentRowDefs=t),s.iGM(t=s.CRH())&&(e._contentHeaderRowDefs=t),s.iGM(t=s.CRH())&&(e._contentFooterRowDefs=t)}},viewQuery:function(t,e){if(1&t&&(s.Gf(J,7),s.Gf(X,7),s.Gf(K,7),s.Gf($,7)),2&t){let t;s.iGM(t=s.CRH())&&(e._rowOutlet=t.first),s.iGM(t=s.CRH())&&(e._headerRowOutlet=t.first),s.iGM(t=s.CRH())&&(e._footerRowOutlet=t.first),s.iGM(t=s.CRH())&&(e._noDataRowOutlet=t.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("cdk-table-fixed-layout",e.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},exportAs:["cdkTable"],features:[s._Bn([{provide:_,useExisting:t},{provide:r.k,useClass:r.yy},{provide:O,useClass:D},{provide:W,useValue:null}])],ngContentSelectors:b,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,e){1&t&&(s.F$t(y),s.Hsn(0),s.Hsn(1,1),s.GkF(2,0),s.GkF(3,1),s.GkF(4,2),s.GkF(5,3))},directives:[X,J,$,K],styles:[".cdk-table-fixed-layout{table-layout:fixed}\n"],encapsulation:2}),t})();function et(t,e){return t.concat(Array.from(e))}let it=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[l.Cl]]}),t})();var nt=i(1522),rt=i(5446),st=i(5868),ot=i(1681);const at=[[["caption"]],[["colgroup"],["col"]]],lt=["caption","colgroup, col"];let ct=(()=>{class t extends tt{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(t,e){2&t&&s.ekj("mat-table-fixed-layout",e.fixedLayout)},exportAs:["matTable"],features:[s._Bn([{provide:r.k,useClass:r.yy},{provide:tt,useExisting:t},{provide:_,useExisting:t},{provide:O,useClass:D},{provide:W,useValue:null}]),s.qOj],ngContentSelectors:lt,decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,e){1&t&&(s.F$t(at),s.Hsn(0),s.Hsn(1,1),s.GkF(2,0),s.GkF(3,1),s.GkF(4,2),s.GkF(5,3))},directives:[X,J,$,K],styles:['mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-row::after,mat-header-row::after,mat-footer-row::after{display:inline-block;min-height:inherit;content:""}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:-webkit-sticky !important;position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}\n'],encapsulation:2}),t})(),ht=(()=>{class t extends w{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matCellDef",""]],features:[s._Bn([{provide:w,useExisting:t}]),s.qOj]}),t})(),ut=(()=>{class t extends x{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matHeaderCellDef",""]],features:[s._Bn([{provide:x,useExisting:t}]),s.qOj]}),t})(),dt=(()=>{class t extends C{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matFooterCellDef",""]],features:[s._Bn([{provide:C,useExisting:t}]),s.qOj]}),t})(),pt=(()=>{class t extends E{get name(){return this._name}set name(t){this._setNameInput(t)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[s._Bn([{provide:E,useExisting:t},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:t}]),s.qOj]}),t})(),ft=(()=>{class t extends T{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[s.qOj]}),t})(),mt=(()=>{class t extends M{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-footer-cell"],["td","mat-footer-cell",""]],hostAttrs:["role","gridcell",1,"mat-footer-cell"],features:[s.qOj]}),t})(),gt=(()=>{class t extends L{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[s.qOj]}),t})(),yt=(()=>{class t extends F{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[s._Bn([{provide:F,useExisting:t}]),s.qOj]}),t})(),bt=(()=>{class t extends U{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matFooterRowDef",""]],inputs:{columns:["matFooterRowDef","columns"],sticky:["matFooterRowDefSticky","sticky"]},features:[s._Bn([{provide:U,useExisting:t}]),s.qOj]}),t})(),vt=(()=>{class t extends q{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275dir=s.lG2({type:t,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[s._Bn([{provide:q,useExisting:t}]),s.qOj]}),t})(),_t=(()=>{class t extends H{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[s._Bn([{provide:H,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),wt=(()=>{class t extends Y{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-footer-row"],["tr","mat-footer-row",""]],hostAttrs:["role","row",1,"mat-footer-row"],exportAs:["matFooterRow"],features:[s._Bn([{provide:Y,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),xt=(()=>{class t extends G{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=s.n5z(t)))(i||t)}}(),t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[s._Bn([{provide:G,useExisting:t}]),s.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,e){1&t&&s.GkF(0,0)},directives:[z],encapsulation:2}),t})(),Ct=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[it,nt.BQ],nt.BQ]}),t})();class At extends r.o2{constructor(t=[]){super(),this._renderData=new d.X([]),this._filter=new d.X(""),this._internalPageChanges=new h.x,this._renderChangesSubscription=null,this.sortingDataAccessor=(t,e)=>{const i=t[e];if((0,n.t6)(i)){const t=Number(i);return t<9007199254740991?t:i}return i},this.sortData=(t,e)=>{const i=e.active,n=e.direction;return i&&""!=n?t.sort((t,e)=>{let r=this.sortingDataAccessor(t,i),s=this.sortingDataAccessor(e,i);const o=typeof r,a=typeof s;o!==a&&("number"===o&&(r+=""),"number"===a&&(s+=""));let l=0;return null!=r&&null!=s?r>s?l=1:r{const i=Object.keys(t).reduce((e,i)=>e+t[i]+"\u25ec","").toLowerCase(),n=e.trim().toLowerCase();return-1!=i.indexOf(n)},this._data=new d.X(t),this._updateChangeSubscription()}get data(){return this._data.value}set data(t){this._data.next(t),this._renderChangesSubscription||this._filterData(t)}get filter(){return this._filter.value}set filter(t){this._filter.next(t),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(t){this._sort=t,this._updateChangeSubscription()}get paginator(){return this._paginator}set paginator(t){this._paginator=t,this._updateChangeSubscription()}_updateChangeSubscription(){var t;const e=this._sort?(0,rt.T)(this._sort.sortChange,this._sort.initialized):(0,f.of)(null),i=this._paginator?(0,rt.T)(this._paginator.page,this._internalPageChanges,this._paginator.initialized):(0,f.of)(null),n=(0,st.a)([this._data,this._filter]).pipe((0,ot.U)(([t])=>this._filterData(t))),r=(0,st.a)([n,e]).pipe((0,ot.U)(([t])=>this._orderData(t))),s=(0,st.a)([r,i]).pipe((0,ot.U)(([t])=>this._pageData(t)));null===(t=this._renderChangesSubscription)||void 0===t||t.unsubscribe(),this._renderChangesSubscription=s.subscribe(t=>this._renderData.next(t))}_filterData(t){return this.filteredData=null==this.filter||""===this.filter?t:t.filter(t=>this.filterPredicate(t,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(t){return this.sort?this.sortData(t.slice(),this.sort):t}_pageData(t){if(!this.paginator)return t;const e=this.paginator.pageIndex*this.paginator.pageSize;return t.slice(e,e+this.paginator.pageSize)}_updatePaginator(t){Promise.resolve().then(()=>{const e=this.paginator;if(e&&(e.length=t,e.pageIndex>0)){const t=Math.ceil(e.length/e.pageSize)-1||0,i=Math.min(e.pageIndex,t);i!==e.pageIndex&&(e.pageIndex=i,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){var t;null===(t=this._renderChangesSubscription)||void 0===t||t.unsubscribe(),this._renderChangesSubscription=null}}class St extends At{}},5109:(t,e,i)=>{"use strict";i.d(e,{uX:()=>J,SP:()=>at,uD:()=>j,Nj:()=>_t,BU:()=>gt,Nh:()=>wt});var n=i(4621),r=i(6337),s=i(6899),o=i(1511),a=i(1572),l=i(1522),c=i(3490),h=i(9666),u=i(6042),d=i(5446),p=i(5960),f=i(2041),m=i(8431),g=i(709),y=i(1258),b=i(6424),v=i(9568),_=i(9861),w=i(1353),x=i(5842),C=i(2526),A=i(4894);function S(t,e){1&t&&a.Hsn(0)}const E=["*"];function k(t,e){}const T=function(t){return{animationDuration:t}},M=function(t,e){return{value:t,params:e}},L=["tabBodyWrapper"],I=["tabHeader"];function O(t,e){}function D(t,e){if(1&t&&a.YNc(0,O,0,0,"ng-template",9),2&t){const t=a.oxw().$implicit;a.Q6J("cdkPortalOutlet",t.templateLabel)}}function R(t,e){if(1&t&&a._uU(0),2&t){const t=a.oxw().$implicit;a.Oqu(t.textLabel)}}function N(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"div",6),a.NdJ("click",function(){const e=a.CHM(t),i=e.$implicit,n=e.index,r=a.oxw(),s=a.MAs(1);return r._handleClick(i,s,n)})("cdkFocusChange",function(e){const i=a.CHM(t).index;return a.oxw()._tabFocusChanged(e,i)}),a.TgZ(1,"div",7),a.YNc(2,D,1,1,"ng-template",8),a.YNc(3,R,1,1,"ng-template",8),a.qZA(),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.ekj("mat-tab-label-active",n.selectedIndex==i),a.Q6J("id",n._getTabLabelId(i))("disabled",t.disabled)("matRippleDisabled",t.disabled||n.disableRipple),a.uIk("tabIndex",n._getTabIndex(t,i))("aria-posinset",i+1)("aria-setsize",n._tabs.length)("aria-controls",n._getTabContentId(i))("aria-selected",n.selectedIndex==i)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),a.xp6(2),a.Q6J("ngIf",t.templateLabel),a.xp6(1),a.Q6J("ngIf",!t.templateLabel)}}function P(t,e){if(1&t){const t=a.EpF();a.TgZ(0,"mat-tab-body",10),a.NdJ("_onCentered",function(){return a.CHM(t),a.oxw()._removeTabBodyWrapperHeight()})("_onCentering",function(e){return a.CHM(t),a.oxw()._setTabBodyWrapperHeight(e)}),a.qZA()}if(2&t){const t=e.$implicit,i=e.index,n=a.oxw();a.ekj("mat-tab-body-active",n.selectedIndex==i),a.Q6J("id",n._getTabContentId(i))("content",t.content)("position",t.position)("origin",t.origin)("animationDuration",n.animationDuration),a.uIk("aria-labelledby",n._getTabLabelId(i))}}const F=["tabListContainer"],Z=["tabList"],B=["nextPaginator"],U=["previousPaginator"],q=["mat-tab-nav-bar",""],z=new a.OlP("MatInkBarPositioner",{providedIn:"root",factory:function(){return t=>({left:t?(t.offsetLeft||0)+"px":"0",width:t?(t.offsetWidth||0)+"px":"0"})}});let H=(()=>{class t{constructor(t,e,i,n){this._elementRef=t,this._ngZone=e,this._inkBarPositioner=i,this._animationMode=n}alignToElement(t){this.show(),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._setStyles(t))}):this._setStyles(t)}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}_setStyles(t){const e=this._inkBarPositioner(t),i=this._elementRef.nativeElement;i.style.left=e.left,i.style.width=e.width}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.R0b),a.Y36(z),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(t,e){2&t&&a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode)}}),t})();const Y=new a.OlP("MatTabContent"),G=new a.OlP("MatTabLabel");let j=(()=>{class t extends s.ig{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=a.n5z(t)))(i||t)}}(),t.\u0275dir=a.lG2({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[a._Bn([{provide:G,useExisting:t}]),a.qOj]}),t})();class V{}const Q=(0,l.Id)(V),W=new a.OlP("MAT_TAB_GROUP");let J=(()=>{class t extends Q{constructor(t,e){super(),this._viewContainerRef=t,this._closestTabGroup=e,this.textLabel="",this._contentPortal=null,this._stateChanges=new h.x,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(t){this._setTemplateLabelInput(t)}get content(){return this._contentPortal}ngOnChanges(t){(t.hasOwnProperty("textLabel")||t.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new s.UE(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(t){t&&(this._templateLabel=t)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.s_b),a.Y36(W,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab"]],contentQueries:function(t,e,i){if(1&t&&(a.Suo(i,G,5),a.Suo(i,Y,7,a.Rgc)),2&t){let t;a.iGM(t=a.CRH())&&(e.templateLabel=t.first),a.iGM(t=a.CRH())&&(e._explicitContent=t.first)}},viewQuery:function(t,e){if(1&t&&a.Gf(a.Rgc,7),2&t){let t;a.iGM(t=a.CRH())&&(e._implicitContent=t.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"]},exportAs:["matTab"],features:[a.qOj,a.TTD],ngContentSelectors:E,decls:1,vars:0,template:function(t,e){1&t&&(a.F$t(),a.YNc(0,S,1,0,"ng-template"))},encapsulation:2}),t})();const X={translateTab:(0,g.X$)("translateTab",[(0,g.SB)("center, void, left-origin-center, right-origin-center",(0,g.oB)({transform:"none"})),(0,g.SB)("left",(0,g.oB)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px"})),(0,g.SB)("right",(0,g.oB)({transform:"translate3d(100%, 0, 0)",minHeight:"1px"})),(0,g.eR)("* => left, * => right, left => center, right => center",(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),(0,g.eR)("void => left-origin-center",[(0,g.oB)({transform:"translate3d(-100%, 0, 0)"}),(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),(0,g.eR)("void => right-origin-center",[(0,g.oB)({transform:"translate3d(100%, 0, 0)"}),(0,g.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let K=(()=>{class t extends s.Pl{constructor(t,e,i,n){super(t,e,n),this._host=i,this._centeringSub=u.w0.EMPTY,this._leavingSub=u.w0.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe((0,y.O)(this._host._isCenterPosition(this._host._position))).subscribe(t=>{t&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a._Vd),a.Y36(a.s_b),a.Y36((0,a.Gpc)(()=>tt)),a.Y36(o.K0))},t.\u0275dir=a.lG2({type:t,selectors:[["","matTabBodyHost",""]],features:[a.qOj]}),t})(),$=(()=>{class t{constructor(t,e,i){this._elementRef=t,this._dir=e,this._dirChangeSubscription=u.w0.EMPTY,this._translateTabComplete=new h.x,this._onCentering=new a.vpe,this._beforeCentering=new a.vpe,this._afterLeavingCenter=new a.vpe,this._onCentered=new a.vpe(!0),this.animationDuration="500ms",e&&(this._dirChangeSubscription=e.change.subscribe(t=>{this._computePositionAnimationState(t),i.markForCheck()})),this._translateTabComplete.pipe((0,b.x)((t,e)=>t.fromState===e.fromState&&t.toState===e.toState)).subscribe(t=>{this._isCenterPosition(t.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(t.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(t){this._positionIndex=t,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(t){const e=this._isCenterPosition(t.toState);this._beforeCentering.emit(e),e&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(t){return"center"==t||"left-origin-center"==t||"right-origin-center"==t}_computePositionAnimationState(t=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==t?"left":"right":this._positionIndex>0?"ltr"==t?"right":"left":"center"}_computePositionFromOrigin(t){const e=this._getLayoutDirection();return"ltr"==e&&t<=0||"rtl"==e&&t>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.sBO))},t.\u0275dir=a.lG2({type:t,inputs:{animationDuration:"animationDuration",position:"position",_content:["content","_content"],origin:"origin"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),tt=(()=>{class t extends ${constructor(t,e,i){super(t,e,i)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.sBO))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-body"]],viewQuery:function(t,e){if(1&t&&a.Gf(s.Pl,5),2&t){let t;a.iGM(t=a.CRH())&&(e._portalHost=t.first)}},hostAttrs:[1,"mat-tab-body"],features:[a.qOj],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(t,e){1&t&&(a.TgZ(0,"div",0,1),a.NdJ("@translateTab.start",function(t){return e._onTranslateTabStarted(t)})("@translateTab.done",function(t){return e._translateTabComplete.next(t)}),a.YNc(2,k,0,0,"ng-template",2),a.qZA()),2&t&&a.Q6J("@translateTab",a.WLB(3,M,e._position,a.VKq(1,T,e.animationDuration)))},directives:[K],styles:[".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}\n"],encapsulation:2,data:{animation:[X.translateTab]}}),t})();const et=new a.OlP("MAT_TABS_CONFIG");let it=0;class nt{}class rt{constructor(t){this._elementRef=t}}const st=(0,l.pj)((0,l.Kr)(rt),"primary");let ot=(()=>{class t extends st{constructor(t,e,i,n){super(t),this._changeDetectorRef=e,this._animationMode=n,this._tabs=new a.n_E,this._indexToSelect=0,this._tabBodyWrapperHeight=0,this._tabsSubscription=u.w0.EMPTY,this._tabLabelSubscription=u.w0.EMPTY,this._selectedIndex=null,this.headerPosition="above",this.selectedIndexChange=new a.vpe,this.focusChange=new a.vpe,this.animationDone=new a.vpe,this.selectedTabChange=new a.vpe(!0),this._groupId=it++,this.animationDuration=i&&i.animationDuration?i.animationDuration:"500ms",this.disablePagination=!(!i||null==i.disablePagination)&&i.disablePagination,this.dynamicHeight=!(!i||null==i.dynamicHeight)&&i.dynamicHeight}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(t){this._dynamicHeight=(0,_.Ig)(t)}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=(0,_.su)(t,null)}get animationDuration(){return this._animationDuration}set animationDuration(t){this._animationDuration=/^\d+$/.test(t)?t+"ms":t}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){const e=this._elementRef.nativeElement;e.classList.remove(`mat-background-${this.backgroundColor}`),t&&e.classList.add(`mat-background-${t}`),this._backgroundColor=t}ngAfterContentChecked(){const t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){const e=null==this._selectedIndex;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));const e=this._tabBodyWrapper.nativeElement;e.style.minHeight=e.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((e,i)=>e.isActive=i===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,i)=>{e.position=i-t,null==this._selectedIndex||0!=e.position||e.origin||(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{if(this._clampTabIndex(this._indexToSelect)===this._selectedIndex){const t=this._tabs.toArray();for(let e=0;e{this._tabs.reset(t.filter(t=>t._closestTabGroup===this||!t._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}focusTab(t){const e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){const e=new nt;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=(0,d.T)(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t){return`mat-tab-label-${this._groupId}-${t}`}_getTabContentId(t){return`mat-tab-content-${this._groupId}-${t}`}_setTabBodyWrapperHeight(t){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){const t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=t.clientHeight,t.style.height="",this.animationDone.emit()}_handleClick(t,e,i){t.disabled||(this.selectedIndex=e.focusIndex=i)}_getTabIndex(t,e){return t.disabled?null:this.selectedIndex===e?0:-1}_tabFocusChanged(t,e){t&&(this._tabHeader.focusIndex=e)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(et,8),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{headerPosition:"headerPosition",animationDuration:"animationDuration",disablePagination:"disablePagination",dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[a.qOj]}),t})(),at=(()=>{class t extends ot{constructor(t,e,i,n){super(t,e,i,n)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(et,8),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-group"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,J,5),2&t){let t;a.iGM(t=a.CRH())&&(e._allTabs=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(L,5),a.Gf(I,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._tabBodyWrapper=t.first),a.iGM(t=a.CRH())&&(e._tabHeader=t.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-group-dynamic-height",e.dynamicHeight)("mat-tab-group-inverted-header","below"===e.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[a._Bn([{provide:W,useExisting:t}]),a.qOj],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","content","position","origin","animationDuration","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","content","position","origin","animationDuration","_onCentered","_onCentering"]],template:function(t,e){1&t&&(a.TgZ(0,"mat-tab-header",0,1),a.NdJ("indexFocused",function(t){return e._focusChanged(t)})("selectFocusedIndex",function(t){return e.selectedIndex=t}),a.YNc(2,N,4,14,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.YNc(5,P,1,8,"mat-tab-body",5),a.qZA()),2&t&&(a.Q6J("selectedIndex",e.selectedIndex||0)("disableRipple",e.disableRipple)("disablePagination",e.disablePagination),a.xp6(2),a.Q6J("ngForOf",e._tabs),a.xp6(1),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(2),a.Q6J("ngForOf",e._tabs))},directives:function(){return[ft,o.sg,ht,l.wG,n.kH,o.O5,s.Pl,tt]},styles:[".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}\n"],encapsulation:2}),t})();class lt{}const ct=(0,l.Id)(lt);let ht=(()=>{class t extends ct{constructor(t){super(),this.elementRef=t}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq))},t.\u0275dir=a.lG2({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(t,e){2&t&&(a.uIk("aria-disabled",!!e.disabled),a.ekj("mat-tab-disabled",e.disabled))},inputs:{disabled:"disabled"},features:[a.qOj]}),t})();const ut=(0,w.i$)({passive:!0});let dt=(()=>{class t{constructor(t,e,i,n,r,s,o){this._elementRef=t,this._changeDetectorRef=e,this._viewportRuler=i,this._dir=n,this._ngZone=r,this._platform=s,this._animationMode=o,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new h.x,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new h.x,this.disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new a.vpe,this.indexFocused=new a.vpe,r.runOutsideAngular(()=>{(0,p.R)(t.nativeElement,"mouseleave").pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){t=(0,_.su)(t),this._selectedIndex!=t&&(this._selectedIndexChanged=!0,this._selectedIndex=t,this._keyManager&&this._keyManager.updateActiveItem(t))}ngAfterViewInit(){(0,p.R)(this._previousPaginator.nativeElement,"touchstart",ut).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),(0,p.R)(this._nextPaginator.nativeElement,"touchstart",ut).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const t=this._dir?this._dir.change:(0,f.of)("ltr"),e=this._viewportRuler.change(150),i=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new n.Em(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(i):i(),(0,d.T)(t,e,this._items.changes).pipe((0,v.R)(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>Promise.resolve().then(i)),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe((0,v.R)(this._destroyed)).subscribe(t=>{this.indexFocused.emit(t),this._setTabFocus(t)})}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(t){if(!(0,x.Vb)(t))switch(t.keyCode){case x.K5:case x.L_:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(t));break;default:this._keyManager.onKeydown(t)}}_onContentChanges(){const t=this._elementRef.nativeElement.textContent;t!==this._currentTextContent&&(this._currentTextContent=t||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(t){this._isValidIndex(t)&&this.focusIndex!==t&&this._keyManager&&this._keyManager.setActiveItem(t)}_isValidIndex(t){if(!this._items)return!0;const e=this._items?this._items.toArray()[t]:null;return!!e&&!e.disabled}_setTabFocus(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._items&&this._items.length){this._items.toArray()[t].focus();const e=this._tabListContainer.nativeElement,i=this._getLayoutDirection();e.scrollLeft="ltr"==i?0:e.scrollWidth-e.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const t=this.scrollDistance,e="ltr"===this._getLayoutDirection()?-t:t;this._tabList.nativeElement.style.transform=`translateX(${Math.round(e)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(t){this._scrollTo(t)}_scrollHeader(t){return this._scrollTo(this._scrollDistance+("before"==t?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(t){this._stopInterval(),this._scrollHeader(t)}_scrollToLabel(t){if(this.disablePagination)return;const e=this._items?this._items.toArray()[t]:null;if(!e)return;const i=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:n,offsetWidth:r}=e.elementRef.nativeElement;let s,o;"ltr"==this._getLayoutDirection()?(s=n,o=s+r):(o=this._tabList.nativeElement.offsetWidth-n,s=o-r);const a=this.scrollDistance,l=this.scrollDistance+i;sl&&(this.scrollDistance+=o-l+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const t=this._tabList.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;t||(this.scrollDistance=0),t!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=t}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabList.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const t=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,e=t?t.elementRef.nativeElement:null;e?this._inkBar.alignToElement(e):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(t,e){e&&null!=e.button&&0!==e.button||(this._stopInterval(),(0,m.H)(650,100).pipe((0,v.R)((0,d.T)(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:e,distance:i}=this._scrollHeader(t);(0===i||i>=e)&&this._stopInterval()}))}_scrollTo(t){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),pt=(()=>{class t extends dt{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,_.Ig)(t)}_itemSelected(t){t.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{disableRipple:"disableRipple"},features:[a.qOj]}),t})(),ft=(()=>{class t extends pt{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["mat-tab-header"]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,ht,4),2&t){let t;a.iGM(t=a.CRH())&&(e._items=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(H,7),a.Gf(F,7),a.Gf(Z,7),a.Gf(B,5),a.Gf(U,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._inkBar=t.first),a.iGM(t=a.CRH())&&(e._tabListContainer=t.first),a.iGM(t=a.CRH())&&(e._tabList=t.first),a.iGM(t=a.CRH())&&(e._nextPaginator=t.first),a.iGM(t=a.CRH())&&(e._previousPaginator=t.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-header-pagination-controls-enabled",e._showPaginationControls)("mat-tab-header-rtl","rtl"==e._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[a.qOj],ngContentSelectors:E,decls:13,vars:8,consts:[["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0,1),a.NdJ("click",function(){return e._handlePaginatorClick("before")})("mousedown",function(t){return e._handlePaginatorPress("before",t)})("touchend",function(){return e._stopInterval()}),a._UZ(2,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.NdJ("keydown",function(t){return e._handleKeydown(t)}),a.TgZ(5,"div",5,6),a.NdJ("cdkObserveContent",function(){return e._onContentChanges()}),a.TgZ(7,"div",7),a.Hsn(8),a.qZA(),a._UZ(9,"mat-ink-bar"),a.qZA(),a.qZA(),a.TgZ(10,"div",8,9),a.NdJ("mousedown",function(t){return e._handlePaginatorPress("after",t)})("click",function(){return e._handlePaginatorClick("after")})("touchend",function(){return e._stopInterval()}),a._UZ(12,"div",2),a.qZA()),2&t&&(a.ekj("mat-tab-header-pagination-disabled",e._disableScrollBefore),a.Q6J("matRippleDisabled",e._disableScrollBefore||e.disableRipple),a.xp6(5),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(5),a.ekj("mat-tab-header-pagination-disabled",e._disableScrollAfter),a.Q6J("matRippleDisabled",e._disableScrollAfter||e.disableRipple))},directives:[l.wG,r.wD,H],styles:['.mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:"";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-label:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{min-width:72px}}\n'],encapsulation:2}),t})(),mt=(()=>{class t extends dt{constructor(t,e,i,n,r,s,o){super(t,n,r,e,i,s,o),this._disableRipple=!1,this.color="primary"}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){const e=this._elementRef.nativeElement.classList;e.remove(`mat-background-${this.backgroundColor}`),t&&e.add(`mat-background-${t}`),this._backgroundColor=t}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=(0,_.Ig)(t)}_itemSelected(){}ngAfterContentInit(){this._items.changes.pipe((0,y.O)(null),(0,v.R)(this._destroyed)).subscribe(()=>{this.updateActiveLink()}),super.ngAfterContentInit()}updateActiveLink(){if(!this._items)return;const t=this._items.toArray();for(let e=0;e{class t extends mt{constructor(t,e,i,n,r,s,o){super(t,e,i,n,r,s,o)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.SBq),a.Y36(C.Is,8),a.Y36(a.R0b),a.Y36(a.sBO),a.Y36(A.rL),a.Y36(w.t4),a.Y36(c.Qb,8))},t.\u0275cmp=a.Xpm({type:t,selectors:[["","mat-tab-nav-bar",""]],contentQueries:function(t,e,i){if(1&t&&a.Suo(i,_t,5),2&t){let t;a.iGM(t=a.CRH())&&(e._items=t)}},viewQuery:function(t,e){if(1&t&&(a.Gf(H,7),a.Gf(F,7),a.Gf(Z,7),a.Gf(B,5),a.Gf(U,5)),2&t){let t;a.iGM(t=a.CRH())&&(e._inkBar=t.first),a.iGM(t=a.CRH())&&(e._tabListContainer=t.first),a.iGM(t=a.CRH())&&(e._tabList=t.first),a.iGM(t=a.CRH())&&(e._nextPaginator=t.first),a.iGM(t=a.CRH())&&(e._previousPaginator=t.first)}},hostAttrs:[1,"mat-tab-nav-bar","mat-tab-header"],hostVars:10,hostBindings:function(t,e){2&t&&a.ekj("mat-tab-header-pagination-controls-enabled",e._showPaginationControls)("mat-tab-header-rtl","rtl"==e._getLayoutDirection())("mat-primary","warn"!==e.color&&"accent"!==e.color)("mat-accent","accent"===e.color)("mat-warn","warn"===e.color)},inputs:{color:"color"},exportAs:["matTabNavBar","matTabNav"],features:[a.qOj],attrs:q,ngContentSelectors:E,decls:13,vars:8,consts:[["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-link-container",3,"keydown"],["tabListContainer",""],[1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-links"],["aria-hidden","true","mat-ripple","",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(t,e){1&t&&(a.F$t(),a.TgZ(0,"div",0,1),a.NdJ("click",function(){return e._handlePaginatorClick("before")})("mousedown",function(t){return e._handlePaginatorPress("before",t)})("touchend",function(){return e._stopInterval()}),a._UZ(2,"div",2),a.qZA(),a.TgZ(3,"div",3,4),a.NdJ("keydown",function(t){return e._handleKeydown(t)}),a.TgZ(5,"div",5,6),a.NdJ("cdkObserveContent",function(){return e._onContentChanges()}),a.TgZ(7,"div",7),a.Hsn(8),a.qZA(),a._UZ(9,"mat-ink-bar"),a.qZA(),a.qZA(),a.TgZ(10,"div",8,9),a.NdJ("mousedown",function(t){return e._handlePaginatorPress("after",t)})("click",function(){return e._handlePaginatorClick("after")})("touchend",function(){return e._stopInterval()}),a._UZ(12,"div",2),a.qZA()),2&t&&(a.ekj("mat-tab-header-pagination-disabled",e._disableScrollBefore),a.Q6J("matRippleDisabled",e._disableScrollBefore||e.disableRipple),a.xp6(5),a.ekj("_mat-animation-noopable","NoopAnimations"===e._animationMode),a.xp6(5),a.ekj("mat-tab-header-pagination-disabled",e._disableScrollAfter),a.Q6J("matRippleDisabled",e._disableScrollAfter||e.disableRipple))},directives:[l.wG,r.wD,H],styles:['.mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:"";height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-links{display:flex}[mat-align-tabs=center]>.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.cdk-high-contrast-active .mat-tab-link:focus{outline:dotted 2px;outline-offset:-2px}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media(max-width: 599px){.mat-tab-link{min-width:72px}}\n'],encapsulation:2}),t})();class yt{}const bt=(0,l.sb)((0,l.Kr)((0,l.Id)(yt)));let vt=(()=>{class t extends bt{constructor(t,e,i,n,r,s){super(),this._tabNavBar=t,this.elementRef=e,this._focusMonitor=r,this._isActive=!1,this.rippleConfig=i||{},this.tabIndex=parseInt(n)||0,"NoopAnimations"===s&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get active(){return this._isActive}set active(t){(0,_.Ig)(t)!==this._isActive&&(this._isActive=t,this._tabNavBar.updateActiveLink())}get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.elementRef)}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(mt),a.Y36(a.SBq),a.Y36(l.Y2,8),a.$8M("tabindex"),a.Y36(n.tE),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,inputs:{active:"active"},features:[a.qOj]}),t})(),_t=(()=>{class t extends vt{constructor(t,e,i,n,r,s,o,a){super(t,e,r,s,o,a),this._tabLinkRipple=new l.IR(this,i,e,n),this._tabLinkRipple.setupTriggerEvents(e.nativeElement)}ngOnDestroy(){super.ngOnDestroy(),this._tabLinkRipple._removeTriggerEvents()}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(gt),a.Y36(a.SBq),a.Y36(a.R0b),a.Y36(w.t4),a.Y36(l.Y2,8),a.$8M("tabindex"),a.Y36(n.tE),a.Y36(c.Qb,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mat-tab-link","mat-focus-indicator"],hostVars:7,hostBindings:function(t,e){2&t&&(a.uIk("aria-current",e.active?"page":null)("aria-disabled",e.disabled)("tabIndex",e.tabIndex),a.ekj("mat-tab-disabled",e.disabled)("mat-tab-label-active",e.active))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matTabLink"],features:[a.qOj]}),t})(),wt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[o.ez,l.BQ,s.eL,l.si,r.Q8,n.rt],l.BQ]}),t})()},3104:(t,e,i)=>{"use strict";i.d(e,{Ye:()=>d,g0:()=>p});var n=i(1522),r=i(1511),s=i(1572),o=i(1353);const a=["*",[["mat-toolbar-row"]]],l=["*","mat-toolbar-row"];class c{constructor(t){this._elementRef=t}}const h=(0,n.pj)(c);let u=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=s.lG2({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),t})(),d=(()=>{class t extends h{constructor(t,e,i){super(t),this._platform=e,this._document=i}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}}return t.\u0275fac=function(e){return new(e||t)(s.Y36(s.SBq),s.Y36(o.t4),s.Y36(r.K0))},t.\u0275cmp=s.Xpm({type:t,selectors:[["mat-toolbar"]],contentQueries:function(t,e,i){if(1&t&&s.Suo(i,u,5),2&t){let t;s.iGM(t=s.CRH())&&(e._toolbarRows=t)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&s.ekj("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[s.qOj],ngContentSelectors:l,decls:2,vars:0,template:function(t,e){1&t&&(s.F$t(a),s.Hsn(0),s.Hsn(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),t})(),p=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=s.oAB({type:t}),t.\u0275inj=s.cJS({imports:[[n.BQ],n.BQ]}),t})()},6828:(t,e,i)=>{"use strict";i.d(e,{gM:()=>S,AV:()=>T});var n=i(369),r=i(4621),s=i(1511),o=i(1572),a=i(1522),l=i(4894),c=i(9861),h=i(5842),u=i(72),d=i(1353),p=i(6899),f=i(9666),m=i(9568),g=i(9056),y=i(709),b=i(2526);const v={tooltipState:(0,y.X$)("state",[(0,y.SB)("initial, void, hidden",(0,y.oB)({opacity:0,transform:"scale(0)"})),(0,y.SB)("visible",(0,y.oB)({transform:"scale(1)"})),(0,y.eR)("* => visible",(0,y.jt)("200ms cubic-bezier(0, 0, 0.2, 1)",(0,y.F4)([(0,y.oB)({opacity:0,transform:"scale(0)",offset:0}),(0,y.oB)({opacity:.5,transform:"scale(0.99)",offset:.5}),(0,y.oB)({opacity:1,transform:"scale(1)",offset:1})]))),(0,y.eR)("* => hidden",(0,y.jt)("100ms cubic-bezier(0, 0, 0.2, 1)",(0,y.oB)({opacity:0})))])},_=(0,d.i$)({passive:!0}),w=new o.OlP("mat-tooltip-scroll-strategy"),x={provide:w,deps:[n.aV],useFactory:function(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},C=new o.OlP("mat-tooltip-default-options",{providedIn:"root",factory:function(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});let A=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l,c,u,d){this._overlay=t,this._elementRef=e,this._scrollDispatcher=i,this._viewContainerRef=n,this._ngZone=r,this._platform=s,this._ariaDescriber=o,this._focusMonitor=a,this._dir=c,this._defaultOptions=u,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new f.x,this._handleKeydown=t=>{this._isTooltipVisible()&&t.keyCode===h.hY&&!(0,h.Vb)(t)&&(t.preventDefault(),t.stopPropagation(),this._ngZone.run(()=>this.hide(0)))},this._scrollStrategy=l,this._document=d,u&&(u.position&&(this.position=u.position),u.touchGestures&&(this.touchGestures=u.touchGestures)),c.change.pipe((0,m.R)(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),r.runOutsideAngular(()=>{e.nativeElement.addEventListener("keydown",this._handleKeydown)})}get position(){return this._position}set position(t){var e;t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),null===(e=this._tooltipInstance)||void 0===e||e.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,c.Ig)(t),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get message(){return this._message}set message(t){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=t?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,m.R)(this._destroyed)).subscribe(t=>{t?"keyboard"===t&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach(([e,i])=>{t.removeEventListener(e,i,_)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible()&&!this._tooltipInstance._showTimeoutId&&!this._tooltipInstance._hideTimeoutId)return;const e=this._createOverlay();this._detach(),this._portal=this._portal||new p.C5(this._tooltipComponent,this._viewContainerRef),this._tooltipInstance=e.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe((0,m.R)(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}hide(t=this.hideDelay){this._tooltipInstance&&this._tooltipInstance.hide(t)}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const t=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),e=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t);return e.positionChanges.pipe((0,m.R)(this._destroyed)).subscribe(t=>{this._updateCurrentPositionClass(t.connectionPair),this._tooltipInstance&&t.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:e,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,m.R)(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){const e=t.getConfig().positionStrategy,i=this._getOrigin(),n=this._getOverlayPosition();e.withPositions([this._addOffset(Object.assign(Object.assign({},i.main),n.main)),this._addOffset(Object.assign(Object.assign({},i.fallback),n.fallback))])}_addOffset(t){return t}_getOrigin(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let i;"above"==e||"below"==e?i={originX:"center",originY:"above"==e?"top":"bottom"}:"before"==e||"left"==e&&t||"right"==e&&!t?i={originX:"start",originY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(i={originX:"end",originY:"center"});const{x:n,y:r}=this._invertPosition(i.originX,i.originY);return{main:i,fallback:{originX:n,originY:r}}}_getOverlayPosition(){const t=!this._dir||"ltr"==this._dir.value,e=this.position;let i;"above"==e?i={overlayX:"center",overlayY:"bottom"}:"below"==e?i={overlayX:"center",overlayY:"top"}:"before"==e||"left"==e&&t||"right"==e&&!t?i={overlayX:"end",overlayY:"center"}:("after"==e||"right"==e&&t||"left"==e&&!t)&&(i={overlayX:"start",overlayY:"center"});const{x:n,y:r}=this._invertPosition(i.overlayX,i.overlayY);return{main:i,fallback:{overlayX:n,overlayY:r}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe((0,g.q)(1),(0,m.R)(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){const{overlayY:e,originX:i,originY:n}=t;let r;if(r="center"===e?this._dir&&"rtl"===this._dir.value?"end"===i?"left":"right":"start"===i?"left":"right":"bottom"===e&&"top"===n?"above":"below",r!==this._currentPosition){const t=this._overlayRef;if(t){const e=`${this._cssClassPrefix}-tooltip-panel-`;t.removePanelClass(e+this._currentPosition),t.addPanelClass(e+r)}this._currentPosition=r}}_setupPointerEnterEventsIfNeeded(){!this._disabled&&this.message&&this._viewInitialized&&!this._passiveListeners.length&&(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",()=>this.hide()],["wheel",t=>this._wheelListener(t)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const e=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([t,e])=>{this._elementRef.nativeElement.addEventListener(t,e,_)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){const e=this._document.elementFromPoint(t.clientX,t.clientY),i=this._elementRef.nativeElement;e===i||i.contains(e)||this.hide()}}_disableNativeGesturesIfNecessary(){const t=this.touchGestures;if("off"!==t){const e=this._elementRef.nativeElement,i=e.style;("on"===t||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName)&&(i.userSelect=i.msUserSelect=i.webkitUserSelect=i.MozUserSelect="none"),"on"!==t&&e.draggable||(i.webkitUserDrag="none"),i.touchAction="none",i.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.aV),o.Y36(o.SBq),o.Y36(l.mF),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(d.t4),o.Y36(r.$s),o.Y36(r.tE),o.Y36(void 0),o.Y36(b.Is),o.Y36(void 0),o.Y36(s.K0))},t.\u0275dir=o.lG2({type:t,inputs:{showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),S=(()=>{class t extends A{constructor(t,e,i,n,r,s,o,a,l,c,h,u){super(t,e,i,n,r,s,o,a,l,c,h,u),this._tooltipComponent=k}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.aV),o.Y36(o.SBq),o.Y36(l.mF),o.Y36(o.s_b),o.Y36(o.R0b),o.Y36(d.t4),o.Y36(r.$s),o.Y36(r.tE),o.Y36(w),o.Y36(b.Is,8),o.Y36(C,8),o.Y36(s.K0))},t.\u0275dir=o.lG2({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[o.qOj]}),t})(),E=(()=>{class t{constructor(t){this._changeDetectorRef=t,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new f.x}show(t){clearTimeout(this._hideTimeoutId),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout(()=>{this._visibility="visible",this._showTimeoutId=void 0,this._markForCheck()},t)}hide(t){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._visibility="hidden",this._hideTimeoutId=void 0,this._markForCheck()},t)}afterHidden(){return this._onHide}isVisible(){return"visible"===this._visibility}ngOnDestroy(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._onHide.complete()}_animationStart(){this._closeOnInteraction=!1}_animationDone(t){const e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO))},t.\u0275dir=o.lG2({type:t}),t})(),k=(()=>{class t extends E{constructor(t,e){super(t),this._breakpointObserver=e,this._isHandset=this._breakpointObserver.observe(u.u3.Handset)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(o.sBO),o.Y36(u.Yg))},t.\u0275cmp=o.Xpm({type:t,selectors:[["mat-tooltip-component"]],hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(t,e){1&t&&o.NdJ("click",function(){return e._handleBodyInteraction()},!1,o.pYS)("auxclick",function(){return e._handleBodyInteraction()},!1,o.pYS),2&t&&o.Udp("zoom","visible"===e._visibility?1:null)},features:[o.qOj],decls:3,vars:7,consts:[[1,"mat-tooltip",3,"ngClass"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.NdJ("@state.start",function(){return e._animationStart()})("@state.done",function(t){return e._animationDone(t)}),o.ALo(1,"async"),o._uU(2),o.qZA()),2&t){let t;o.ekj("mat-tooltip-handset",null==(t=o.lcZ(1,5,e._isHandset))?null:t.matches),o.Q6J("ngClass",e.tooltipClass)("@state",e._visibility),o.xp6(2),o.Oqu(e.message)}},directives:[s.mk],pipes:[s.Ov],styles:[".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\n"],encapsulation:2,data:{animation:[v.tooltipState]},changeDetection:0}),t})(),T=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=o.oAB({type:t}),t.\u0275inj=o.cJS({providers:[x],imports:[[r.rt,s.ez,n.U8,a.BQ],a.BQ,l.ZD]}),t})()},1010:(t,e,i)=>{"use strict";i.d(e,{GZ:()=>f,gi:()=>g,dp:()=>b,WX:()=>v,uo:()=>d,fQ:()=>p,Ar:()=>m,eu:()=>y});var n=i(1709),r=i(1522),s=i(9861),o=i(4230),a=i(7425),l=i(5446),c=i(1681),h=i(1572);const u=(0,r.sb)((0,r.Id)(n.Hs));let d=(()=>{class t extends u{constructor(t,e,i){super(t,e),this._elementRef=t,this._tree=e,this.tabIndex=Number(i)||0,this._elementRef.nativeElement.classList.add("mat-tree-node")}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.SBq),h.Y36(n._0),h.$8M("tabindex"))},t.\u0275dir=h.lG2({type:t,selectors:[["mat-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[h._Bn([{provide:n.Hs,useExisting:t}]),h.qOj]}),t})(),p=(()=>{class t extends n.rO{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[h._Bn([{provide:n.rO,useExisting:t}]),h.qOj]}),t})(),f=(()=>{class t extends n.Xx{constructor(t,e,i,n){super(t,e,i),this._elementRef=t,this._tree=e,this._differs=i,this._disabled=!1,this.tabIndex=Number(n)||0,this._elementRef.nativeElement.classList.add("mat-nested-tree-node")}get disabled(){return this._disabled}set disabled(t){this._disabled=(0,s.Ig)(t)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?t:0}ngOnInit(){super.ngOnInit()}ngDoCheck(){super.ngDoCheck()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.SBq),h.Y36(n._0),h.Y36(h.ZZ4),h.$8M("tabindex"))},t.\u0275dir=h.lG2({type:t,selectors:[["mat-nested-tree-node"]],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[h._Bn([{provide:n.Xx,useExisting:t},{provide:n.Hs,useExisting:t},{provide:n.HI,useExisting:t}]),h.qOj]}),t})(),m=(()=>{class t{constructor(t,e){this.viewContainer=t,this._node=e}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(h.s_b),h.Y36(n.HI,8))},t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeOutlet",""]],features:[h._Bn([{provide:n.cu,useExisting:t}])]}),t})(),g=(()=>{class t extends n._0{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275cmp=h.Xpm({type:t,selectors:[["mat-tree"]],viewQuery:function(t,e){if(1&t&&h.Gf(m,7),2&t){let t;h.iGM(t=h.CRH())&&(e._nodeOutlet=t.first)}},hostAttrs:["role","tree",1,"mat-tree","cdk-tree"],exportAs:["matTree"],features:[h._Bn([{provide:n._0,useExisting:t}]),h.qOj],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(t,e){1&t&&h.GkF(0,0)},directives:[m],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\n"],encapsulation:2}),t})(),y=(()=>{class t extends n.Ud{get recursive(){return this._recursive}set recursive(t){this._recursive=(0,s.Ig)(t)}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=h.n5z(t)))(i||t)}}(),t.\u0275dir=h.lG2({type:t,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[h._Bn([{provide:n.Ud,useExisting:t}]),h.qOj]}),t})(),b=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=h.oAB({type:t}),t.\u0275inj=h.cJS({imports:[[n.nZ,r.BQ],r.BQ]}),t})();class v extends o.o2{constructor(){super(...arguments),this._data=new a.X([])}get data(){return this._data.value}set data(t){this._data.next(t)}connect(t){return(0,l.T)(t.viewChange,this._data).pipe((0,c.U)(()=>this.data))}disconnect(){}}},3490:(t,e,i)=>{"use strict";i.d(e,{Qb:()=>Oe,PW:()=>Pe});var n=i(1572),r=i(269),s=i(709);function o(){return"undefined"!=typeof window&&void 0!==window.document}function a(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function l(t){switch(t.length){case 0:return new s.ZN;case 1:return t[0];default:return new s.ZE(t)}}function c(t,e,i,n,r={},o={}){const a=[],l=[];let c=-1,h=null;if(n.forEach(t=>{const i=t.offset,n=i==c,u=n&&h||{};Object.keys(t).forEach(i=>{let n=i,l=t[i];if("offset"!==i)switch(n=e.normalizePropertyName(n,a),l){case s.k1:l=r[i];break;case s.l3:l=o[i];break;default:l=e.normalizeStyleValue(i,n,l,a)}u[n]=l}),n||l.push(u),h=u,c=i}),a.length){const t="\n - ";throw new Error(`Unable to animate due to the following errors:${t}${a.join(t)}`)}return l}function h(t,e,i,n){switch(e){case"start":t.onStart(()=>n(i&&u(i,"start",t)));break;case"done":t.onDone(()=>n(i&&u(i,"done",t)));break;case"destroy":t.onDestroy(()=>n(i&&u(i,"destroy",t)))}}function u(t,e,i){const n=i.totalTime,r=d(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==n?t.totalTime:n,!!i.disabled),s=t._data;return null!=s&&(r._data=s),r}function d(t,e,i,n,r="",s=0,o){return{element:t,triggerName:e,fromState:i,toState:n,phaseName:r,totalTime:s,disabled:!!o}}function p(t,e,i){let n;return t instanceof Map?(n=t.get(e),n||t.set(e,n=i)):(n=t[e],n||(n=t[e]=i)),n}function f(t){const e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}let m=(t,e)=>!1,g=(t,e)=>!1,y=(t,e,i)=>[];const b=a();(b||"undefined"!=typeof Element)&&(m=o()?(t,e)=>{for(;e&&e!==document.documentElement;){if(e===t)return!0;e=e.parentNode||e.host}return!1}:(t,e)=>t.contains(e),g=(()=>{if(b||Element.prototype.matches)return(t,e)=>t.matches(e);{const t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?(t,i)=>e.apply(t,[i]):g}})(),y=(t,e,i)=>{let n=[];if(i){const i=t.querySelectorAll(e);for(let t=0;t{const n=i.replace(/([a-z])([A-Z])/g,"$1-$2");e[n]=t[i]}),e}let E=(()=>{class t{validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return i||""}animate(t,e,i,n,r,o=[],a){return new s.ZN(i,n)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),k=(()=>{class t{}return t.NOOP=new E,t})();const T="ng-enter",M="ng-leave",L="ng-trigger",I=".ng-trigger",O="ng-animating",D=".ng-animating";function R(t){if("number"==typeof t)return t;const e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:N(parseFloat(e[1]),e[2])}function N(t,e){switch(e){case"s":return 1e3*t;default:return t}}function P(t,e,i){return t.hasOwnProperty("duration")?t:function(t,e,i){let n,r=0,s="";if("string"==typeof t){const i=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===i)return e.push(`The provided timing value "${t}" is invalid.`),{duration:0,delay:0,easing:""};n=N(parseFloat(i[1]),i[2]);const o=i[3];null!=o&&(r=N(parseFloat(o),i[4]));const a=i[5];a&&(s=a)}else n=t;if(!i){let i=!1,s=e.length;n<0&&(e.push("Duration values below 0 are not allowed for this animation step."),i=!0),r<0&&(e.push("Delay values below 0 are not allowed for this animation step."),i=!0),i&&e.splice(s,0,`The provided timing value "${t}" is invalid.`)}return{duration:n,delay:r,easing:s}}(t,e,i)}function F(t,e={}){return Object.keys(t).forEach(i=>{e[i]=t[i]}),e}function Z(t,e,i={}){if(e)for(let n in t)i[n]=t[n];else F(t,i);return i}function B(t,e,i){return i?e+":"+i+";":""}function U(t){let e="";for(let i=0;i{const r=W(n);i&&!i.hasOwnProperty(n)&&(i[n]=t.style[r]),t.style[r]=e[n]}),a()&&U(t))}function z(t,e){t.style&&(Object.keys(e).forEach(e=>{const i=W(e);t.style[i]=""}),a()&&U(t))}function H(t){return Array.isArray(t)?1==t.length?t[0]:(0,s.vP)(t):t}const Y=new RegExp("{{\\s*(.+?)\\s*}}","g");function G(t){let e=[];if("string"==typeof t){let i;for(;i=Y.exec(t);)e.push(i[1]);Y.lastIndex=0}return e}function j(t,e,i){const n=t.toString(),r=n.replace(Y,(t,n)=>{let r=e[n];return e.hasOwnProperty(n)||(i.push(`Please provide a value for the animation param ${n}`),r=""),r.toString()});return r==n?t:r}function V(t){const e=[];let i=t.next();for(;!i.done;)e.push(i.value),i=t.next();return e}const Q=/-+([a-z0-9])/g;function W(t){return t.replace(Q,(...t)=>t[1].toUpperCase())}function J(t,e){return 0===t||0===e}function X(t,e,i){const n=Object.keys(i);if(n.length&&e.length){let s=e[0],o=[];if(n.forEach(t=>{s.hasOwnProperty(t)||o.push(t),s[t]=i[t]}),o.length)for(var r=1;rfunction(t,e,i){if(":"==t[0]){const n=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,e)=>parseFloat(e)>parseFloat(t);case":decrement":return(t,e)=>parseFloat(e) *"}}(t,i);if("function"==typeof n)return void e.push(n);t=n}const n=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==n||n.length<4)return i.push(`The provided transition expression "${t}" is not supported`),e;const r=n[1],s=n[2],o=n[3];e.push(rt(r,o)),"<"!=s[0]||r==tt&&o==tt||e.push(rt(o,r))}(t,i,e)):i.push(t),i}const it=new Set(["true","1"]),nt=new Set(["false","0"]);function rt(t,e){const i=it.has(t)||nt.has(t),n=it.has(e)||nt.has(e);return(r,s)=>{let o=t==tt||t==r,a=e==tt||e==s;return!o&&i&&"boolean"==typeof r&&(o=r?it.has(t):nt.has(t)),!a&&n&&"boolean"==typeof s&&(a=s?it.has(e):nt.has(e)),o&&a}}const st=new RegExp("s*:selfs*,?","g");function ot(t,e,i){return new at(t).build(e,i)}class at{constructor(t){this._driver=t}build(t,e){const i=new lt(e);return this._resetContextStyleTimingState(i),K(this,H(t),i)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,n=e.depCount=0;const r=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(t=>{if(this._resetContextStyleTimingState(e),0==t.type){const i=t,n=i.name;n.toString().split(/\s*,\s*/).forEach(t=>{i.name=t,r.push(this.visitState(i,e))}),i.name=n}else if(1==t.type){const r=this.visitTransition(t,e);i+=r.queryCount,n+=r.depCount,s.push(r)}else e.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:r,transitions:s,queryCount:i,depCount:n,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),n=t.options&&t.options.params||null;if(i.containsDynamicStyles){const r=new Set,s=n||{};if(i.styles.forEach(t=>{if(ct(t)){const e=t;Object.keys(e).forEach(t=>{G(e[t]).forEach(t=>{s.hasOwnProperty(t)||r.add(t)})})}}),r.size){const i=V(r.values());e.errors.push(`state("${t.name}", ...) must define default values for all the following style substitutions: ${i.join(", ")}`)}}return{type:0,name:t.name,style:i,options:n?{params:n}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=K(this,H(t.animation),e);return{type:1,matchers:et(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:ht(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(t=>K(this,t,e)),options:ht(t.options)}}visitGroup(t,e){const i=e.currentTime;let n=0;const r=t.steps.map(t=>{e.currentTime=i;const r=K(this,t,e);return n=Math.max(n,e.currentTime),r});return e.currentTime=n,{type:3,steps:r,options:ht(t.options)}}visitAnimate(t,e){const i=function(t,e){let i=null;if(t.hasOwnProperty("duration"))i=t;else if("number"==typeof t)return ut(P(t,e).duration,0,"");const n=t;if(n.split(/\s+/).some(t=>"{"==t.charAt(0)&&"{"==t.charAt(1))){const t=ut(0,0,"");return t.dynamic=!0,t.strValue=n,t}return i=i||P(n,e),ut(i.duration,i.delay,i.easing)}(t.timings,e.errors);let n;e.currentAnimateTimings=i;let r=t.styles?t.styles:(0,s.oB)({});if(5==r.type)n=this.visitKeyframes(r,e);else{let r=t.styles,o=!1;if(!r){o=!0;const t={};i.easing&&(t.easing=i.easing),r=(0,s.oB)(t)}e.currentTime+=i.duration+i.delay;const a=this.visitStyle(r,e);a.isEmptyStep=o,n=a}return e.currentAnimateTimings=null,{type:4,timings:i,style:n,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[];Array.isArray(t.styles)?t.styles.forEach(t=>{"string"==typeof t?t==s.l3?i.push(t):e.errors.push(`The provided style string value ${t} is not allowed.`):i.push(t)}):i.push(t.styles);let n=!1,r=null;return i.forEach(t=>{if(ct(t)){const e=t,i=e.easing;if(i&&(r=i,delete e.easing),!n)for(let t in e)if(e[t].toString().indexOf("{{")>=0){n=!0;break}}}),{type:6,styles:i,easing:r,offset:t.offset,containsDynamicStyles:n,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let n=e.currentTime,r=e.currentTime;i&&r>0&&(r-=i.duration+i.delay),t.styles.forEach(t=>{"string"!=typeof t&&Object.keys(t).forEach(i=>{if(!this._driver.validateStyleProperty(i))return void e.errors.push(`The provided animation property "${i}" is not a supported CSS property for animations`);const s=e.collectedStyles[e.currentQuerySelector],o=s[i];let a=!0;o&&(r!=n&&r>=o.startTime&&n<=o.endTime&&(e.errors.push(`The CSS property "${i}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${r}ms" and "${n}ms"`),a=!1),r=o.startTime),a&&(s[i]={startTime:r,endTime:n}),e.options&&function(t,e,i){const n=e.params||{},r=G(t);r.length&&r.forEach(t=>{n.hasOwnProperty(t)||i.push(`Unable to resolve the local animation param ${t} in the given list of values`)})}(t[i],e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),i;let n=0;const r=[];let s=!1,o=!1,a=0;const l=t.steps.map(t=>{const i=this._makeStyleAst(t,e);let l=null!=i.offset?i.offset:function(t){if("string"==typeof t)return null;let e=null;if(Array.isArray(t))t.forEach(t=>{if(ct(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}});else if(ct(t)&&t.hasOwnProperty("offset")){const i=t;e=parseFloat(i.offset),delete i.offset}return e}(i.styles),c=0;return null!=l&&(n++,c=i.offset=l),o=o||c<0||c>1,s=s||c0&&n{const s=h>0?n==u?1:h*n:r[n],o=s*f;e.currentTime=d+p.delay+o,p.duration=o,this._validateStyleAst(t,e),t.offset=s,i.styles.push(t)}),i}visitReference(t,e){return{type:8,animation:K(this,H(t.animation),e),options:ht(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:ht(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:ht(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,n=t.options||{};e.queryCount++,e.currentQuery=t;const[r,s]=function(t){const e=!!t.split(/\s*,\s*/).find(t=>":self"==t);return e&&(t=t.replace(st,"")),[t=t.replace(/@\*/g,I).replace(/@\w+/g,t=>".ng-trigger-"+t.substr(1)).replace(/:animating/g,D),e]}(t.selector);e.currentQuerySelector=i.length?i+" "+r:r,p(e.collectedStyles,e.currentQuerySelector,{});const o=K(this,H(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:r,limit:n.limit||0,optional:!!n.optional,includeSelf:s,animation:o,originalSelector:t.selector,options:ht(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:P(t.timings,e.errors,!0);return{type:12,animation:K(this,H(t.animation),e),timings:i,options:null}}}class lt{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function ct(t){return!Array.isArray(t)&&"object"==typeof t}function ht(t){var e;return t?(t=F(t)).params&&(t.params=(e=t.params)?F(e):null):t={},t}function ut(t,e,i){return{duration:t,delay:e,easing:i}}function dt(t,e,i,n,r,s,o=null,a=!1){return{type:1,element:t,keyframes:e,preStyleProps:i,postStyleProps:n,duration:r,delay:s,totalTime:r+s,easing:o,subTimeline:a}}class pt{constructor(){this._map=new Map}consume(t){let e=this._map.get(t);return e?this._map.delete(t):e=[],e}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const ft=new RegExp(":enter","g"),mt=new RegExp(":leave","g");function gt(t,e,i,n,r,s={},o={},a,l,c=[]){return(new yt).buildKeyframes(t,e,i,n,r,s,o,a,l,c)}class yt{buildKeyframes(t,e,i,n,r,s,o,a,l,c=[]){l=l||new pt;const h=new vt(t,e,l,n,r,c,[]);h.options=a,h.currentTimeline.setStyles([s],null,h.errors,a),K(this,i,h);const u=h.timelines.filter(t=>t.containsAnimation());if(u.length&&Object.keys(o).length){const t=u[u.length-1];t.allowOnlyTimelineStyles()||t.setStyles([o],null,h.errors,a)}return u.length?u.map(t=>t.buildKeyframes()):[dt(e,[],[],[],0,0,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.consume(e.element);if(i){const n=e.createSubContext(t.options),r=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,n,n.options);r!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_visitSubInstructions(t,e,i){let n=e.currentTimeline.currentTime;const r=null!=i.duration?R(i.duration):null,s=null!=i.delay?R(i.delay):null;return 0!==r&&t.forEach(t=>{const i=e.appendInstructionToTimeline(t,r,s);n=Math.max(n,i.duration+i.delay)}),n}visitReference(t,e){e.updateOptions(t.options,!0),K(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let n=e;const r=t.options;if(r&&(r.params||r.delay)&&(n=e.createSubContext(r),n.transformIntoNewTimeline(),null!=r.delay)){6==n.previousNode.type&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=bt);const t=R(r.delay);n.delayNextStep(t)}t.steps.length&&(t.steps.forEach(t=>K(this,t,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>i&&n.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let n=e.currentTimeline.currentTime;const r=t.options&&t.options.delay?R(t.options.delay):0;t.steps.forEach(s=>{const o=e.createSubContext(t.options);r&&o.delayNextStep(r),K(this,s,o),n=Math.max(n,o.currentTimeline.currentTime),i.push(o.currentTimeline)}),i.forEach(t=>e.currentTimeline.mergeTimelineCollectedStyles(t)),e.transformIntoNewTimeline(n),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return P(e.params?j(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),n=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),n.snapshotCurrentStyles());const r=t.style;5==r.type?this.visitKeyframes(r,e):(e.incrementTime(i.duration),this.visitStyle(r,e),n.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,n=e.currentAnimateTimings;!n&&i.getCurrentStyleProperties().length&&i.forwardFrame();const r=n&&n.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(r):i.setStyles(t.styles,r,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,n=e.currentTimeline.duration,r=i.duration,s=e.createSubContext().currentTimeline;s.easing=i.easing,t.styles.forEach(t=>{s.forwardTime((t.offset||0)*r),s.setStyles(t.styles,t.easing,e.errors,e.options),s.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(s),e.transformIntoNewTimeline(n+r),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,n=t.options||{},r=n.delay?R(n.delay):0;r&&(6===e.previousNode.type||0==i&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=bt);let s=i;const o=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!n.optional,e.errors);e.currentQueryTotal=o.length;let a=null;o.forEach((i,n)=>{e.currentQueryIndex=n;const o=e.createSubContext(t.options,i);r&&o.delayNextStep(r),i===e.element&&(a=o.currentTimeline),K(this,t.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),a&&(e.currentTimeline.mergeTimelineCollectedStyles(a),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,n=e.currentTimeline,r=t.timings,s=Math.abs(r.duration),o=s*(e.currentQueryTotal-1);let a=s*e.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":a=o-a;break;case"full":a=i.currentStaggerTime}const l=e.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;K(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=n.currentTime-c+(n.startTime-i.currentTimeline.startTime)}}const bt={};class vt{constructor(t,e,i,n,r,s,o,a){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=n,this._leaveClassName=r,this.errors=s,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=bt,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new _t(this._driver,e,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let n=this.options;null!=i.duration&&(n.duration=R(i.duration)),null!=i.delay&&(n.delay=R(i.delay));const r=i.params;if(r){let t=n.params;t||(t=this.options.params={}),Object.keys(r).forEach(i=>{e&&t.hasOwnProperty(i)||(t[i]=j(r[i],t,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(t=>{i[t]=e[t]})}}return t}createSubContext(t=null,e,i){const n=e||this.element,r=new vt(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,i||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(t),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(t){return this.previousNode=bt,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const n={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+t.delay,easing:""},r=new wt(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,n,t.stretchStartingKeyframe);return this.timelines.push(r),n}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,n,r,s){let o=[];if(n&&o.push(this.element),t.length>0){t=(t=t.replace(ft,"."+this._enterClassName)).replace(mt,"."+this._leaveClassName);let e=this._driver.query(this.element,t,1!=i);0!==i&&(e=i<0?e.slice(e.length+i,e.length):e.slice(0,i)),o.push(...e)}return r||0!=o.length||s.push(`\`query("${e}")\` returned zero elements. (Use \`query("${e}", { optional: true })\` if you wish to allow this.)`),o}}class _t{constructor(t,e,i,n){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=n,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new _t(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(t=>{this._backFill[t]=this._globalTimelineStyles[t]||s.l3,this._currentKeyframe[t]=s.l3}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,n){e&&(this._previousKeyframe.easing=e);const r=n&&n.params||{},o=function(t,e){const i={};let n;return t.forEach(t=>{"*"===t?(n=n||Object.keys(e),n.forEach(t=>{i[t]=s.l3})):Z(t,!1,i)}),i}(t,this._globalTimelineStyles);Object.keys(o).forEach(t=>{const e=j(o[t],r,i);this._pendingStyles[t]=e,this._localTimelineStyles.hasOwnProperty(t)||(this._backFill[t]=this._globalTimelineStyles.hasOwnProperty(t)?this._globalTimelineStyles[t]:s.l3),this._updateStyle(t,e)})}applyStylesToKeyframe(){const t=this._pendingStyles,e=Object.keys(t);0!=e.length&&(this._pendingStyles={},e.forEach(e=>{this._currentKeyframe[e]=t[e]}),Object.keys(this._localTimelineStyles).forEach(t=>{this._currentKeyframe.hasOwnProperty(t)||(this._currentKeyframe[t]=this._localTimelineStyles[t])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(t=>{const e=this._localTimelineStyles[t];this._pendingStyles[t]=e,this._updateStyle(t,e)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){Object.keys(t._styleSummary).forEach(e=>{const i=this._styleSummary[e],n=t._styleSummary[e];(!i||n.time>i.time)&&this._updateStyle(e,n.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let n=[];this._keyframes.forEach((r,o)=>{const a=Z(r,!0);Object.keys(a).forEach(i=>{const n=a[i];n==s.k1?t.add(i):n==s.l3&&e.add(i)}),i||(a.offset=o/this.duration),n.push(a)});const r=t.size?V(t.values()):[],o=e.size?V(e.values()):[];if(i){const t=n[0],e=F(t);t.offset=0,e.offset=1,n=[t,e]}return dt(this.element,n,r,o,this.duration,this.startTime,this.easing,!1)}}class wt extends _t{constructor(t,e,i,n,r,s,o=!1){super(t,e,s.delay),this.element=e,this.keyframes=i,this.preStyleProps=n,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:i,easing:n}=this.timings;if(this._stretchStartingKeyframe&&e){const r=[],s=i+e,o=e/s,a=Z(t[0],!1);a.offset=0,r.push(a);const l=Z(t[0],!1);l.offset=xt(o),r.push(l);const c=t.length-1;for(let n=1;n<=c;n++){let o=Z(t[n],!1);o.offset=xt((e+o.offset*i)/s),r.push(o)}i=s,e=0,n="",t=r}return dt(this.element,t,this.preStyleProps,this.postStyleProps,i,e,n,!0)}}function xt(t,e=3){const i=Math.pow(10,e-1);return Math.round(t*i)/i}class Ct{}class At extends Ct{normalizePropertyName(t,e){return W(t)}normalizeStyleValue(t,e,i,n){let r="";const s=i.toString().trim();if(St[e]&&0!==i&&"0"!==i)if("number"==typeof i)r="px";else{const e=i.match(/^[+-]?[\d\.]+([a-z]*)$/);e&&0==e[1].length&&n.push(`Please provide a CSS unit value for ${t}:${i}`)}return s+r}}const St=(()=>function(t){const e={};return t.forEach(t=>e[t]=!0),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Et(t,e,i,n,r,s,o,a,l,c,h,u,d){return{type:0,element:t,triggerName:e,isRemovalTransition:r,fromState:i,fromStyles:s,toState:n,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:d}}const kt={};class Tt{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,n){return function(t,e,i,n,r){return t.some(t=>t(e,i,n,r))}(this.ast.matchers,t,e,i,n)}buildStyles(t,e,i){const n=this._stateStyles["*"],r=this._stateStyles[t],s=n?n.buildStyles(e,i):{};return r?r.buildStyles(e,i):s}build(t,e,i,n,r,s,o,a,l,c){const h=[],u=this.ast.options&&this.ast.options.params||kt,d=this.buildStyles(i,o&&o.params||kt,h),f=a&&a.params||kt,m=this.buildStyles(n,f,h),g=new Set,y=new Map,b=new Map,v="void"===n,_={params:Object.assign(Object.assign({},u),f)},w=c?[]:gt(t,e,this.ast.animation,r,s,d,m,_,l,h);let x=0;if(w.forEach(t=>{x=Math.max(t.duration+t.delay,x)}),h.length)return Et(e,this._triggerName,i,n,v,d,m,[],[],y,b,x,h);w.forEach(t=>{const i=t.element,n=p(y,i,{});t.preStyleProps.forEach(t=>n[t]=!0);const r=p(b,i,{});t.postStyleProps.forEach(t=>r[t]=!0),i!==e&&g.add(i)});const C=V(g.values());return Et(e,this._triggerName,i,n,v,d,m,w,C,y,b,x)}}class Mt{constructor(t,e){this.styles=t,this.defaultParams=e}buildStyles(t,e){const i={},n=F(this.defaultParams);return Object.keys(t).forEach(e=>{const i=t[e];null!=i&&(n[e]=i)}),this.styles.styles.forEach(t=>{if("string"!=typeof t){const r=t;Object.keys(r).forEach(t=>{let s=r[t];s.length>1&&(s=j(s,n,e)),i[t]=s})}}),i}}class Lt{constructor(t,e){this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(t=>{this.states[t.name]=new Mt(t.style,t.options&&t.options.params||{})}),It(this.states,"true","1"),It(this.states,"false","0"),e.transitions.forEach(e=>{this.transitionFactories.push(new Tt(t,e,this.states))}),this.fallbackTransition=new Tt(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(t,e)=>!0],options:null,queryCount:0,depCount:0},this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,n){return this.transitionFactories.find(r=>r.match(t,e,i,n))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function It(t,e,i){t.hasOwnProperty(e)?t.hasOwnProperty(i)||(t[i]=t[e]):t.hasOwnProperty(i)&&(t[e]=t[i])}const Ot=new pt;class Dt{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations={},this._playersById={},this.players=[]}register(t,e){const i=[],n=ot(this._driver,e,i);if(i.length)throw new Error(`Unable to build the animation due to the following errors: ${i.join("\n")}`);this._animations[t]=n}_buildPlayer(t,e,i){const n=t.element,r=c(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(n,r,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const n=[],r=this._animations[t];let o;const a=new Map;if(r?(o=gt(this._driver,e,r,T,M,{},{},i,Ot,n),o.forEach(t=>{const e=p(a,t.element,{});t.postStyleProps.forEach(t=>e[t]=null)})):(n.push("The requested animation doesn't exist or has already been destroyed"),o=[]),n.length)throw new Error(`Unable to create the animation due to the following errors: ${n.join("\n")}`);a.forEach((t,e)=>{Object.keys(t).forEach(i=>{t[i]=this._driver.computeStyle(e,i,s.l3)})});const c=l(o.map(t=>{const e=a.get(t.element);return this._buildPlayer(t,{},e)}));return this._playersById[t]=c,c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),delete this._playersById[t];const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById[t];if(!e)throw new Error(`Unable to find the timeline player referenced by ${t}`);return e}listen(t,e,i,n){const r=d(e,"","","");return h(this._getPlayer(t),i,r,n),()=>{}}command(t,e,i,n){if("register"==i)return void this.register(t,n[0]);if("create"==i)return void this.create(t,e,n[0]||{});const r=this._getPlayer(t);switch(i){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(n[0]));break;case"destroy":this.destroy(t)}}}const Rt="ng-animate-queued",Nt="ng-animate-disabled",Pt=".ng-animate-disabled",Ft=[],Zt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Bt={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0};class Ut{constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=null!=(n=i?t.value:t)?n:null,i){const e=F(t);delete e.value,this.options=e}else this.options={};var n;this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const t=this.options.params;Object.keys(e).forEach(i=>{null==t[i]&&(t[i]=e[i])})}}}const qt="void",zt=new Ut(qt);class Ht{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Jt(e,this._hostClassName)}listen(t,e,i,n){if(!this._triggers.hasOwnProperty(e))throw new Error(`Unable to listen on the animation trigger event "${i}" because the animation trigger "${e}" doesn't exist!`);if(null==i||0==i.length)throw new Error(`Unable to listen on the animation trigger "${e}" because the provided event is undefined!`);if("start"!=(r=i)&&"done"!=r)throw new Error(`The provided animation trigger event "${i}" for the animation trigger "${e}" is not supported!`);var r;const s=p(this._elementListeners,t,[]),o={name:e,phase:i,callback:n};s.push(o);const a=p(this._engine.statesByElement,t,{});return a.hasOwnProperty(e)||(Jt(t,L),Jt(t,"ng-trigger-"+e),a[e]=zt),()=>{this._engine.afterFlush(()=>{const t=s.indexOf(o);t>=0&&s.splice(t,1),this._triggers[e]||delete a[e]})}}register(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)}_getTrigger(t){const e=this._triggers[t];if(!e)throw new Error(`The provided animation trigger "${t}" has not been registered!`);return e}trigger(t,e,i,n=!0){const r=this._getTrigger(e),s=new Gt(this.id,e,t);let o=this._engine.statesByElement.get(t);o||(Jt(t,L),Jt(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,o={}));let a=o[e];const l=new Ut(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[e]=l,a||(a=zt),l.value!==qt&&a.value===l.value){if(!function(t,e){const i=Object.keys(t),n=Object.keys(e);if(i.length!=n.length)return!1;for(let r=0;r{z(t,i),q(t,n)})}return}const c=p(this._engine.playersByElement,t,[]);c.forEach(t=>{t.namespaceId==this.id&&t.triggerName==e&&t.queued&&t.destroy()});let h=r.matchTransition(a.value,l.value,t,l.params),u=!1;if(!h){if(!n)return;h=r.fallbackTransition,u=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:a,toState:l,player:s,isFallbackTransition:u}),u||(Jt(t,Rt),s.onStart(()=>{Xt(t,Rt)})),s.onDone(()=>{let e=this.players.indexOf(s);e>=0&&this.players.splice(e,1);const i=this._engine.playersByElement.get(t);if(i){let t=i.indexOf(s);t>=0&&i.splice(t,1)}}),this.players.push(s),c.push(s),s}deregister(t){delete this._triggers[t],this._engine.statesByElement.forEach((e,i)=>{delete e[t]}),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(e=>e.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(t=>t.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,I,!0);i.forEach(t=>{if(t.__ng_removed)return;const i=this._engine.fetchNamespacesByElement(t);i.size?i.forEach(i=>i.triggerLeaveAnimation(t,e,!1,!0)):this.clearElementCache(t)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(t=>this.clearElementCache(t)))}triggerLeaveAnimation(t,e,i,n){const r=this._engine.statesByElement.get(t);if(r){const s=[];if(Object.keys(r).forEach(e=>{if(this._triggers[e]){const i=this.trigger(t,e,qt,n);i&&s.push(i)}}),s.length)return this._engine.markElementAsRemoved(this.id,t,!0,e),i&&l(s).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const n=new Set;e.forEach(e=>{const r=e.name;if(n.has(r))return;n.add(r);const s=this._triggers[r].fallbackTransition,o=i[r]||zt,a=new Ut(qt),l=new Gt(this.id,r,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:s,fromState:o,toState:a,player:l,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let n=!1;if(i.totalAnimations){const e=i.players.length?i.playersByQueriedElement.get(t):[];if(e&&e.length)n=!0;else{let e=t;for(;e=e.parentNode;)if(i.statesByElement.get(e)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(t),n)i.markElementAsRemoved(this.id,t,!1,e);else{const n=t.__ng_removed;n&&n!==Zt||(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Jt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const n=i.player;if(n.destroyed)return;const r=i.element,s=this._elementListeners.get(r);s&&s.forEach(e=>{if(e.name==i.triggerName){const n=d(r,i.triggerName,i.fromState.value,i.toState.value);n._data=t,h(i.player,e.phase,n,e.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):e.push(i)}),this._queue=[],e.sort((t,e)=>{const i=t.transition.ast.depCount,n=e.transition.ast.depCount;return 0==i||0==n?i-n:this._engine.driver.containsElement(t.element,e.element)?1:-1})}destroy(t){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(e=>e.element===t)||e,e}}class Yt{constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(t,e)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(e=>{e.queued&&t.push(e)})}),t}createNamespace(t,e){const i=new Ht(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList.length-1;if(i>=0){let n=!1;for(let r=i;r>=0;r--)if(this.driver.containsElement(this._namespaceList[r].hostElement,e)){this._namespaceList.splice(r+1,0,t),n=!0;break}n||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let n=this._namespaceLookup[t];n&&n.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const e=this._namespaceList.indexOf(i);e>=0&&this._namespaceList.splice(e,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i){const t=Object.keys(i);for(let n=0;n=0&&this.collectedLeaveElements.splice(t,1)}if(t){const n=this._fetchNamespace(t);n&&n.insertNode(e,i)}n&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Jt(t,Nt)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Xt(t,Nt))}removeNode(t,e,i,n){if(jt(e)){const r=t?this._fetchNamespace(t):null;if(r?r.removeNode(e,n):this.markElementAsRemoved(t,e,!1,n),i){const i=this.namespacesByHostElement.get(e);i&&i.id!==t&&i.removeNode(e,n)}}else this._onRemovalComplete(e,n)}markElementAsRemoved(t,e,i,n){this.collectedLeaveElements.push(e),e.__ng_removed={namespaceId:t,setForRemoval:n,hasAnimation:i,removedBeforeQueried:!1}}listen(t,e,i,n,r){return jt(e)?this._fetchNamespace(t).listen(e,i,n,r):()=>{}}_buildInstruction(t,e,i,n,r){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,n,t.fromState.options,t.toState.options,e,r)}destroyInnerAnimations(t){let e=this.driver.query(t,I,!0);e.forEach(t=>this.destroyActiveAnimationsForElement(t)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,D,!0),e.forEach(t=>this.finishActiveQueriedAnimationOnElement(t)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(t=>{t.queued?t.markedForDestroy=!0:t.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(t=>t.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return l(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t.__ng_removed;if(e&&e.setForRemoval){if(t.__ng_removed=Zt,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}this.driver.matchesElement(t,Pt)&&this.markElementAsDisabled(t,!1),this.driver.query(t,Pt,!0).forEach(t=>{this.markElementAsDisabled(t,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((t,e)=>this._balanceNamespaceList(t,e)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;it()),this._flushFns=[],this._whenQuietFns.length){const t=this._whenQuietFns;this._whenQuietFns=[],e.length?l(e).onDone(()=>{t.forEach(t=>t())}):t.forEach(t=>t())}}reportError(t){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${t.join("\n")}`)}_flushAnimations(t,e){const i=new pt,n=[],r=new Map,o=[],a=new Map,c=new Map,h=new Map,u=new Set;this.disabledNodes.forEach(t=>{u.add(t);const e=this.driver.query(t,".ng-animate-queued",!0);for(let i=0;i{const i=T+y++;g.set(e,i),t.forEach(t=>Jt(t,i))});const b=[],v=new Set,_=new Set;for(let s=0;sv.add(t)):_.add(t))}const w=new Map,x=Wt(f,Array.from(v));x.forEach((t,e)=>{const i=M+y++;w.set(e,i),t.forEach(t=>Jt(t,i))}),t.push(()=>{m.forEach((t,e)=>{const i=g.get(e);t.forEach(t=>Xt(t,i))}),x.forEach((t,e)=>{const i=w.get(e);t.forEach(t=>Xt(t,i))}),b.forEach(t=>{this.processLeaveNode(t)})});const C=[],A=[];for(let s=this._namespaceList.length-1;s>=0;s--)this._namespaceList[s].drainQueuedTransitions(e).forEach(t=>{const e=t.player,r=t.element;if(C.push(e),this.collectedEnterElements.length){const t=r.__ng_removed;if(t&&t.setForMove)return void e.destroy()}const s=!d||!this.driver.containsElement(d,r),l=w.get(r),u=g.get(r),f=this._buildInstruction(t,i,u,l,s);if(f.errors&&f.errors.length)A.push(f);else{if(s)return e.onStart(()=>z(r,f.fromStyles)),e.onDestroy(()=>q(r,f.toStyles)),void n.push(e);if(t.isFallbackTransition)return e.onStart(()=>z(r,f.fromStyles)),e.onDestroy(()=>q(r,f.toStyles)),void n.push(e);f.timelines.forEach(t=>t.stretchStartingKeyframe=!0),i.append(r,f.timelines),o.push({instruction:f,player:e,element:r}),f.queriedElements.forEach(t=>p(a,t,[]).push(e)),f.preStyleProps.forEach((t,e)=>{const i=Object.keys(t);if(i.length){let t=c.get(e);t||c.set(e,t=new Set),i.forEach(e=>t.add(e))}}),f.postStyleProps.forEach((t,e)=>{const i=Object.keys(t);let n=h.get(e);n||h.set(e,n=new Set),i.forEach(t=>n.add(t))})}});if(A.length){const t=[];A.forEach(e=>{t.push(`@${e.triggerName} has failed due to:\n`),e.errors.forEach(e=>t.push(`- ${e}\n`))}),C.forEach(t=>t.destroy()),this.reportError(t)}const S=new Map,E=new Map;o.forEach(t=>{const e=t.element;i.has(e)&&(E.set(e,e),this._beforeAnimationBuild(t.player.namespaceId,t.instruction,S))}),n.forEach(t=>{const e=t.element;this._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(t=>{p(S,e,[]).push(t),t.destroy()})});const k=b.filter(t=>te(t,c,h)),L=new Map;Qt(L,this.driver,_,h,s.l3).forEach(t=>{te(t,c,h)&&k.push(t)});const I=new Map;m.forEach((t,e)=>{Qt(I,this.driver,new Set(t),c,s.k1)}),k.forEach(t=>{const e=L.get(t),i=I.get(t);L.set(t,Object.assign(Object.assign({},e),i))});const O=[],R=[],N={};o.forEach(t=>{const{element:e,player:s,instruction:o}=t;if(i.has(e)){if(u.has(e))return s.onDestroy(()=>q(e,o.toStyles)),s.disabled=!0,s.overrideTotalTime(o.totalTime),void n.push(s);let t=N;if(E.size>1){let i=e;const n=[];for(;i=i.parentNode;){const e=E.get(i);if(e){t=e;break}n.push(i)}n.forEach(e=>E.set(e,t))}const i=this._buildAnimation(s.namespaceId,o,S,r,I,L);if(s.setRealPlayer(i),t===N)O.push(s);else{const e=this.playersByElement.get(t);e&&e.length&&(s.parentPlayer=l(e)),n.push(s)}}else z(e,o.fromStyles),s.onDestroy(()=>q(e,o.toStyles)),R.push(s),u.has(e)&&n.push(s)}),R.forEach(t=>{const e=r.get(t.element);if(e&&e.length){const i=l(e);t.setRealPlayer(i)}}),n.forEach(t=>{t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(let s=0;s!t.destroyed);n.length?Kt(this,t,n):this.processLeaveNode(t)}return b.length=0,O.forEach(t=>{this.players.push(t),t.onDone(()=>{t.destroy();const e=this.players.indexOf(t);this.players.splice(e,1)}),t.play()}),O}elementContainsData(t,e){let i=!1;const n=e.__ng_removed;return n&&n.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,n,r){let s=[];if(e){const e=this.playersByQueriedElement.get(t);e&&(s=e)}else{const e=this.playersByElement.get(t);if(e){const t=!r||r==qt;e.forEach(e=>{e.queued||(t||e.triggerName==n)&&s.push(e)})}}return(i||n)&&(s=s.filter(t=>!(i&&i!=t.namespaceId||n&&n!=t.triggerName))),s}_beforeAnimationBuild(t,e,i){const n=e.element,r=e.isRemovalTransition?void 0:t,s=e.isRemovalTransition?void 0:e.triggerName;for(const o of e.timelines){const t=o.element,a=t!==n,l=p(i,t,[]);this._getPreviousPlayers(t,a,r,s,e.toState).forEach(t=>{const e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),l.push(t)})}z(n,e.fromStyles)}_buildAnimation(t,e,i,n,r,o){const a=e.triggerName,h=e.element,u=[],d=new Set,f=new Set,m=e.timelines.map(e=>{const l=e.element;d.add(l);const p=l.__ng_removed;if(p&&p.removedBeforeQueried)return new s.ZN(e.duration,e.delay);const m=l!==h,g=function(t){const e=[];return $t(t,e),e}((i.get(l)||Ft).map(t=>t.getRealPlayer())).filter(t=>!!t.element&&t.element===l),y=r.get(l),b=o.get(l),v=c(0,this._normalizer,0,e.keyframes,y,b),_=this._buildPlayer(e,v,g);if(e.subTimeline&&n&&f.add(l),m){const e=new Gt(t,a,l);e.setRealPlayer(_),u.push(e)}return _});u.forEach(t=>{p(this.playersByQueriedElement,t.element,[]).push(t),t.onDone(()=>function(t,e,i){let n;if(t instanceof Map){if(n=t.get(e),n){if(n.length){const t=n.indexOf(i);n.splice(t,1)}0==n.length&&t.delete(e)}}else if(n=t[e],n){if(n.length){const t=n.indexOf(i);n.splice(t,1)}0==n.length&&delete t[e]}return n}(this.playersByQueriedElement,t.element,t))}),d.forEach(t=>Jt(t,O));const g=l(m);return g.onDestroy(()=>{d.forEach(t=>Xt(t,O)),q(h,e.toStyles)}),f.forEach(t=>{p(n,t,[]).push(g)}),g}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new s.ZN(t.duration,t.delay)}}class Gt{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new s.ZN,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(e=>{this._queuedCallbacks[e].forEach(i=>h(t,e,void 0,i))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){p(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function jt(t){return t&&1===t.nodeType}function Vt(t,e){const i=t.style.display;return t.style.display=null!=e?e:"none",i}function Qt(t,e,i,n,r){const s=[];i.forEach(t=>s.push(Vt(t)));const o=[];n.forEach((i,n)=>{const s={};i.forEach(t=>{const i=s[t]=e.computeStyle(n,t,r);i&&0!=i.length||(n.__ng_removed=Bt,o.push(n))}),t.set(n,s)});let a=0;return i.forEach(t=>Vt(t,s[a++])),o}function Wt(t,e){const i=new Map;if(t.forEach(t=>i.set(t,[])),0==e.length)return i;const n=new Set(e),r=new Map;function s(t){if(!t)return 1;let e=r.get(t);if(e)return e;const o=t.parentNode;return e=i.has(o)?o:n.has(o)?1:s(o),r.set(t,e),e}return e.forEach(t=>{const e=s(t);1!==e&&i.get(e).push(t)}),i}function Jt(t,e){if(t.classList)t.classList.add(e);else{let i=t.$$classes;i||(i=t.$$classes={}),i[e]=!0}}function Xt(t,e){if(t.classList)t.classList.remove(e);else{let i=t.$$classes;i&&delete i[e]}}function Kt(t,e,i){l(i).onDone(()=>t.processLeaveNode(e))}function $t(t,e){for(let i=0;ir.add(t)):e.set(t,n),i.delete(t),!0}class ee{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=(t,e)=>{},this._transitionEngine=new Yt(t,e,i),this._timelineEngine=new Dt(t,e,i),this._transitionEngine.onRemovalComplete=(t,e)=>this.onRemovalComplete(t,e)}registerTrigger(t,e,i,n,r){const s=t+"-"+n;let o=this._triggerCache[s];if(!o){const t=[],e=ot(this._driver,r,t);if(t.length)throw new Error(`The animation trigger "${n}" has failed to build due to the following errors:\n - ${t.join("\n - ")}`);o=function(t,e){return new Lt(t,e)}(n,e),this._triggerCache[s]=o}this._transitionEngine.registerTrigger(e,n,o)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,n){this._transitionEngine.insertNode(t,e,i,n)}onRemove(t,e,i,n){this._transitionEngine.removeNode(t,e,n||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,n){if("@"==i.charAt(0)){const[t,r]=f(i);this._timelineEngine.command(t,e,r,n)}else this._transitionEngine.trigger(t,e,i,n)}listen(t,e,i,n,r){if("@"==i.charAt(0)){const[t,n]=f(i);return this._timelineEngine.listen(t,e,n,r)}return this._transitionEngine.listen(t,e,i,n,r)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function ie(t,e){let i=null,n=null;return Array.isArray(e)&&e.length?(i=re(e[0]),e.length>1&&(n=re(e[e.length-1]))):e&&(i=re(e)),i||n?new ne(t,i,n):null}let ne=(()=>{class t{constructor(e,i,n){this._element=e,this._startStyles=i,this._endStyles=n,this._state=0;let r=t.initialStylesByElement.get(e);r||t.initialStylesByElement.set(e,r={}),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&q(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(q(this._element,this._initialStyles),this._endStyles&&(q(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(z(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(z(this._element,this._endStyles),this._endStyles=null),q(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function re(t){let e=null;const i=Object.keys(t);for(let n=0;nthis._handleCallback(t)}apply(){!function(t,e){const i=fe(t,"").trim();i.length&&(function(t,e){let i=0;for(let n=0;n=this._delay&&i>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),de(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){const i=fe(t,"").split(","),n=ue(i,e);n>=0&&(i.splice(n,1),pe(t,"",i.join(",")))}(this._element,this._name))}}function ce(t,e,i){pe(t,"PlayState",i,he(t,e))}function he(t,e){const i=fe(t,"");return i.indexOf(",")>0?ue(i.split(","),e):ue([i],e)}function ue(t,e){for(let i=0;i=0)return i;return-1}function de(t,e,i){i?t.removeEventListener(ae,e):t.addEventListener(ae,e)}function pe(t,e,i,n){const r=oe+e;if(null!=n){const e=t.style[r];if(e.length){const t=e.split(",");t[n]=i,i=t.join(",")}}t.style[r]=i}function fe(t,e){return t.style[oe+e]||""}class me{constructor(t,e,i,n,r,s,o,a){this.element=t,this.keyframes=e,this.animationName=i,this._duration=n,this._delay=r,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=s||"linear",this.totalTime=n+r,this._buildStyler()}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}destroy(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(t=>t()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}finish(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(t){this._styler.setPosition(t)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new le(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",()=>this.finish())}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}beforeDestroy(){this.init();const t={};if(this.hasStarted()){const e=this._state>=3;Object.keys(this._finalStyles).forEach(i=>{"offset"!=i&&(t[i]=e?this._finalStyles[i]:$(this.element,i))})}this.currentSnapshot=t}}class ge extends s.ZN{constructor(t,e){super(),this.element=t,this._startingStyles={},this.__initialized=!1,this._styles=S(e)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(t=>{this._startingStyles[t]=this.element.style[t]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(t=>this.element.style.setProperty(t,this._styles[t])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(t=>{const e=this._startingStyles[t];e?this.element.style.setProperty(t,e):this.element.style.removeProperty(t)}),this._startingStyles=null,super.destroy())}}class ye{constructor(){this._count=0}validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}buildKeyframeElement(t,e,i){i=i.map(t=>S(t));let n=`@keyframes ${e} {\n`,r="";i.forEach(t=>{r=" ";const e=parseFloat(t.offset);n+=`${r}${100*e}% {\n`,r+=" ",Object.keys(t).forEach(e=>{const i=t[e];switch(e){case"offset":return;case"easing":return void(i&&(n+=`${r}animation-timing-function: ${i};\n`));default:return void(n+=`${r}${e}: ${i};\n`)}}),n+=`${r}}\n`}),n+="}\n";const s=document.createElement("style");return s.textContent=n,s}animate(t,e,i,n,r,s=[],o){const a=s.filter(t=>t instanceof me),l={};J(i,n)&&a.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const c=function(t){let e={};return t&&(Array.isArray(t)?t:[t]).forEach(t=>{Object.keys(t).forEach(i=>{"offset"!=i&&"easing"!=i&&(e[i]=t[i])})}),e}(e=X(t,e,l));if(0==i)return new ge(t,c);const h="gen_css_kf_"+this._count++,u=this.buildKeyframeElement(t,h,e);(function(t){var e;const i=null===(e=t.getRootNode)||void 0===e?void 0:e.call(t);return"undefined"!=typeof ShadowRoot&&i instanceof ShadowRoot?i:document.head})(t).appendChild(u);const d=ie(t,e),p=new me(t,e,h,i,n,r,c,d);return p.onDestroy(()=>{var t;(t=u).parentNode.removeChild(t)}),p}}class be{constructor(t,e,i,n){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(t,e,i){return t.animate(e,i)}onStart(t){this._onStartFns.push(t)}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(e=>{"offset"!=e&&(t[e]=this._finished?this._finalKeyframe[e]:$(this.element,e))}),this.currentSnapshot=t}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}}class ve{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(_e().toString()),this._cssKeyframesDriver=new ye}validateStyleProperty(t){return w(t)}matchesElement(t,e){return x(t,e)}containsElement(t,e){return C(t,e)}query(t,e,i){return A(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}overrideWebAnimationsSupport(t){this._isNativeImpl=t}animate(t,e,i,n,r,s=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,i,n,r,s);const a={duration:i,delay:n,fill:0==n?"both":"forwards"};r&&(a.easing=r);const l={},c=s.filter(t=>t instanceof be);J(i,n)&&c.forEach(t=>{let e=t.currentSnapshot;Object.keys(e).forEach(t=>l[t]=e[t])});const h=ie(t,e=X(t,e=e.map(t=>Z(t,!1)),l));return new be(t,e,a,h)}}function _e(){return o()&&Element.prototype.animate||{}}var we=i(1511);let xe=(()=>{class t extends s._j{constructor(t,e){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(e.body,{id:"0",encapsulation:n.ifc.None,styles:[],data:{animation:[]}})}build(t){const e=this._nextAnimationId.toString();this._nextAnimationId++;const i=Array.isArray(t)?(0,s.vP)(t):t;return Se(this._renderer,null,e,"register",[i]),new Ce(e,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.FYo),n.LFG(we.K0))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();class Ce extends s.LC{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new Ae(this._id,t,e||{},this._renderer)}}class Ae{constructor(t,e,i,n){this.id=t,this.element=e,this._renderer=n,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return Se(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){var t,e;return null!==(e=null===(t=this._renderer.engine.players[+this.id])||void 0===t?void 0:t.getPosition())&&void 0!==e?e:0}}function Se(t,e,i,n,r){return t.setProperty(e,`@@${i}:${n}`,r)}const Ee="@",ke="@.disabled";let Te=(()=>{class t{constructor(t,e,i){this.delegate=t,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=(t,e)=>{e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}createRenderer(t,e){const i=this.delegate.createRenderer(t,e);if(!(t&&e&&e.data&&e.data.animation)){let t=this._rendererCache.get(i);return t||(t=new Me("",i,this.engine),this._rendererCache.set(i,t)),t}const n=e.id,r=e.id+"-"+this._currentId;this._currentId++,this.engine.register(r,t);const s=e=>{Array.isArray(e)?e.forEach(s):this.engine.registerTrigger(n,r,t,e.name,e)};return e.data.animation.forEach(s),new Le(this,r,i,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,e,i){t>=0&&te(i)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(t=>{const[e,i]=t;e(i)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([e,i]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.FYo),n.LFG(ee),n.LFG(n.R0b))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();class Me{constructor(t,e,i){this.namespaceId=t,this.delegate=e,this.engine=i,this.destroyNode=this.delegate.destroyNode?t=>e.destroyNode(t):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,n=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,n)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,n){this.delegate.setAttribute(t,e,i,n)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,n){this.delegate.setStyle(t,e,i,n)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){e.charAt(0)==Ee&&e==ke?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class Le extends Me{constructor(t,e,i,n){super(e,i,n),this.factory=t,this.namespaceId=e}setProperty(t,e,i){e.charAt(0)==Ee?"."==e.charAt(1)&&e==ke?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.substr(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if(e.charAt(0)==Ee){const n=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(t);let r=e.substr(1),s="";return r.charAt(0)!=Ee&&([r,s]=function(t){const e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(r)),this.engine.listen(this.namespaceId,n,r,s,t=>{this.factory.scheduleListenerCallback(t._data||-1,i,t)})}return this.delegate.listen(t,e,i)}}let Ie=(()=>{class t extends ee{constructor(t,e,i){super(t.body,e,i)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(we.K0),n.LFG(k),n.LFG(Ct))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const Oe=new n.OlP("AnimationModuleType"),De=[{provide:s._j,useClass:xe},{provide:Ct,useFactory:function(){return new At}},{provide:ee,useClass:Ie},{provide:n.FYo,useFactory:function(t,e,i){return new Te(t,e,i)},deps:[r.se,ee,n.R0b]}],Re=[{provide:k,useFactory:function(){return"function"==typeof _e()?new ve:new ye}},{provide:Oe,useValue:"BrowserAnimations"},...De],Ne=[{provide:k,useClass:E},{provide:Oe,useValue:"NoopAnimations"},...De];let Pe=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?Ne:Re}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:Re,imports:[r.b2]}),t})()},269:(t,e,i)=>{"use strict";i.d(e,{b2:()=>Y,H7:()=>B,t6:()=>D,q6:()=>z,se:()=>C});var n=i(1511),r=i(1572);class s extends n.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class o extends s{static makeCurrent(){(0,n.HT)(new o)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=(l=l||document.querySelector("base"),l?l.getAttribute("href"):null);return null==e?null:function(t){a=a||document.createElement("a"),a.setAttribute("href",t);const e=a.pathname;return"/"===e.charAt(0)?e:`/${e}`}(e)}resetBaseElement(){l=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return(0,n.Mx)(document.cookie,t)}}let a,l=null;const c=new r.OlP("TRANSITION_ID"),h=[{provide:r.ip1,useFactory:function(t,e,i){return()=>{i.get(r.CZH).donePromise.then(()=>{const i=(0,n.q)();Array.prototype.slice.apply(e.querySelectorAll("style[ng-transition]")).filter(e=>e.getAttribute("ng-transition")===t).forEach(t=>i.remove(t))})}},deps:[c,n.K0,r.zs3],multi:!0}];class u{static init(){(0,r.VLi)(new u)}addToWindow(t){r.dqk.getAngularTestability=(e,i=!0)=>{const n=t.findTestabilityInTree(e,i);if(null==n)throw new Error("Could not find testability for element.");return n},r.dqk.getAllAngularTestabilities=()=>t.getAllTestabilities(),r.dqk.getAllAngularRootElements=()=>t.getAllRootElements(),r.dqk.frameworkStabilizers||(r.dqk.frameworkStabilizers=[]),r.dqk.frameworkStabilizers.push(t=>{const e=r.dqk.getAllAngularTestabilities();let i=e.length,n=!1;const s=function(e){n=n||e,i--,0==i&&t(n)};e.forEach(function(t){t.whenStable(s)})})}findTestabilityInTree(t,e,i){if(null==e)return null;const r=t.getTestability(e);return null!=r?r:i?(0,n.q)().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}}let d=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const p=new r.OlP("EventManagerPlugins");let f=(()=>{class t{constructor(t,e){this._zone=e,this._eventNameToPlugin=new Map,t.forEach(t=>t.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,e,i){return this._findPluginFor(e).addEventListener(t,e,i)}addGlobalEventListener(t,e,i){return this._findPluginFor(e).addGlobalEventListener(t,e,i)}getZone(){return this._zone}_findPluginFor(t){const e=this._eventNameToPlugin.get(t);if(e)return e;const i=this._plugins;for(let n=0;n{class t{constructor(){this._stylesSet=new Set}addStyles(t){const e=new Set;t.forEach(t=>{this._stylesSet.has(t)||(this._stylesSet.add(t),e.add(t))}),this.onStylesAdded(e)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),y=(()=>{class t extends g{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,e,i){t.forEach(t=>{const n=this._doc.createElement("style");n.textContent=t,i.push(e.appendChild(n))})}addHost(t){const e=[];this._addStylesToHost(this._stylesSet,t,e),this._hostNodes.set(t,e)}removeHost(t){const e=this._hostNodes.get(t);e&&e.forEach(b),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((e,i)=>{this._addStylesToHost(t,i,e)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(b))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();function b(t){(0,n.q)().remove(t)}const v={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},_=/%COMP%/g;function w(t,e,i){for(let n=0;n{if("__ngUnwrap__"===e)return t;!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}let C=(()=>{class t{constructor(t,e,i){this.eventManager=t,this.sharedStylesHost=e,this.appId=i,this.rendererByCompId=new Map,this.defaultRenderer=new A(t)}createRenderer(t,e){if(!t||!e)return this.defaultRenderer;switch(e.encapsulation){case r.ifc.Emulated:{let i=this.rendererByCompId.get(e.id);return i||(i=new S(this.eventManager,this.sharedStylesHost,e,this.appId),this.rendererByCompId.set(e.id,i)),i.applyToHost(t),i}case 1:case r.ifc.ShadowDom:return new E(this.eventManager,this.sharedStylesHost,t,e);default:if(!this.rendererByCompId.has(e.id)){const t=w(e.id,e.styles,[]);this.sharedStylesHost.addStyles(t),this.rendererByCompId.set(e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(f),r.LFG(y),r.LFG(r.AFp))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();class A{constructor(t){this.eventManager=t,this.data=Object.create(null)}destroy(){}createElement(t,e){return e?document.createElementNS(v[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){t.appendChild(e)}insertBefore(t,e,i){t&&t.insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,n){if(n){e=n+":"+e;const r=v[n];r?t.setAttributeNS(r,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const n=v[i];n?t.removeAttributeNS(n,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,n){n&(r.JOm.DashCase|r.JOm.Important)?t.style.setProperty(e,i,n&r.JOm.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&r.JOm.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,x(i)):this.eventManager.addEventListener(t,e,x(i))}}class S extends A{constructor(t,e,i,n){super(t),this.component=i;const r=w(n+"-"+i.id,i.styles,[]);e.addStyles(r),this.contentAttr="_ngcontent-%COMP%".replace(_,n+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(_,n+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class E extends A{constructor(t,e,i,n){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const r=w(n.id,n.styles,[]);for(let s=0;s{class t extends m{constructor(t){super(t)}supports(t){return!0}addEventListener(t,e,i){return t.addEventListener(e,i,!1),()=>this.removeEventListener(t,e,i)}removeEventListener(t,e,i){return t.removeEventListener(e,i)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const T={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},M=new r.OlP("HammerGestureConfig"),L=new r.OlP("HammerLoader");let I=(()=>{class t{constructor(){this.events=[],this.overrides={}}buildHammer(t){const e=new Hammer(t,this.options);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(const i in this.overrides)e.get(i).set(this.overrides[i]);return e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const O=[{provide:p,useClass:(()=>{class t extends m{constructor(t,e,i,n){super(t),this._config=e,this.console=i,this.loader=n,this._loaderPromise=null}supports(t){return!(!T.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&!this.loader)}addEventListener(t,e,i){const n=this.manager.getZone();if(e=e.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||this.loader();let n=!1,r=()=>{n=!0};return this._loaderPromise.then(()=>{window.Hammer?n||(r=this.addEventListener(t,e,i)):r=()=>{}}).catch(()=>{r=()=>{}}),()=>{r()}}return n.runOutsideAngular(()=>{const r=this._config.buildHammer(t),s=function(t){n.runGuarded(function(){i(t)})};return r.on(e,s),()=>{r.off(e,s),"function"==typeof r.destroy&&r.destroy()}})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0),r.LFG(M),r.LFG(r.c2e),r.LFG(L,8))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),multi:!0,deps:[n.K0,M,r.c2e,[new r.FiY,L]]},{provide:M,useClass:I,deps:[]}];let D=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:O}),t})();const R=["alt","control","meta","shift"],N={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},P={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},F={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let Z=(()=>{class t extends m{constructor(t){super(t)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const s=t.parseEventName(i),o=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,n.q)().onAndCancel(e,s.domEventName,o))}static parseEventName(e){const i=e.toLowerCase().split("."),n=i.shift();if(0===i.length||"keydown"!==n&&"keyup"!==n)return null;const r=t._normalizeKey(i.pop());let s="";if(R.forEach(t=>{const e=i.indexOf(t);e>-1&&(i.splice(e,1),s+=t+".")}),s+=r,0!=i.length||0===r.length)return null;const o={};return o.domEventName=n,o.fullKey=s,o}static getEventFullKey(t){let e="",i=function(t){let e=t.key;if(null==e){if(e=t.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&P.hasOwnProperty(e)&&(e=P[e]))}return N[e]||e}(t);return i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),R.forEach(n=>{n!=i&&(0,F[n])(t)&&(e+=n+".")}),e+=i,e}static eventCallback(e,i,n){return r=>{t.getEventFullKey(r)===e&&n.runGuarded(()=>i(r))}}static _normalizeKey(t){switch(t){case"esc":return"escape";default:return t}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),B=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,r.Yz7)({factory:function(){return(0,r.LFG)(q)},token:t,providedIn:"root"}),t})();function U(t){return new q(t.get(n.K0))}let q=(()=>{class t extends B{constructor(t){super(),this._doc=t}sanitize(t,e){if(null==e)return null;switch(t){case r.q3G.NONE:return e;case r.q3G.HTML:return(0,r.qzn)(e,"HTML")?(0,r.z3N)(e):(0,r.EiD)(this._doc,String(e)).toString();case r.q3G.STYLE:return(0,r.qzn)(e,"Style")?(0,r.z3N)(e):e;case r.q3G.SCRIPT:if((0,r.qzn)(e,"Script"))return(0,r.z3N)(e);throw new Error("unsafe value used in a script context");case r.q3G.URL:return(0,r.yhl)(e),(0,r.qzn)(e,"URL")?(0,r.z3N)(e):(0,r.mCW)(String(e));case r.q3G.RESOURCE_URL:if((0,r.qzn)(e,"ResourceURL"))return(0,r.z3N)(e);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return(0,r.JVY)(t)}bypassSecurityTrustStyle(t){return(0,r.L6k)(t)}bypassSecurityTrustScript(t){return(0,r.eBb)(t)}bypassSecurityTrustUrl(t){return(0,r.LAX)(t)}bypassSecurityTrustResourceUrl(t){return(0,r.pB0)(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(n.K0))},t.\u0275prov=(0,r.Yz7)({factory:function(){return U((0,r.LFG)(r.gxx))},token:t,providedIn:"root"}),t})();const z=(0,r.eFA)(r._c5,"browser",[{provide:r.Lbi,useValue:n.bD},{provide:r.g9A,useValue:function(){o.makeCurrent(),u.init()},multi:!0},{provide:n.K0,useFactory:function(){return(0,r.RDi)(document),document},deps:[]}]),H=[[],{provide:r.zSh,useValue:"root"},{provide:r.qLn,useFactory:function(){return new r.qLn},deps:[]},{provide:p,useClass:k,multi:!0,deps:[n.K0,r.R0b,r.Lbi]},{provide:p,useClass:Z,multi:!0,deps:[n.K0]},[],{provide:C,useClass:C,deps:[f,y,r.AFp]},{provide:r.FYo,useExisting:C},{provide:g,useExisting:y},{provide:y,useClass:y,deps:[n.K0]},{provide:r.dDg,useClass:r.dDg,deps:[r.R0b]},{provide:f,useClass:f,deps:[p,r.R0b]},{provide:n.JF,useClass:d,deps:[]},[]];let Y=(()=>{class t{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:t,providers:[{provide:r.AFp,useValue:e.appId},{provide:c,useExisting:r.AFp},h]}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(t,12))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:H,imports:[n.ez,r.hGG]}),t})();"undefined"!=typeof window&&window},6853:(t,e,i)=>{"use strict";i.d(e,{gz:()=>Gt,gk:()=>q,m2:()=>U,Q3:()=>z,OD:()=>B,Av:()=>V,F0:()=>pi,rH:()=>fi,Od:()=>yi,yS:()=>mi,Bz:()=>Ti,lC:()=>bi});var n=i(1511),r=i(1572),s=i(9162),o=i(2391),a=i(6042),l=i(3386),c=i(4659);function h(){return(0,l.e)(function(t,e){var i=null;t._refCount++;var n=new c.Q(e,void 0,void 0,void 0,function(){if(!t||t._refCount<=0||0<--t._refCount)i=null;else{var n=t._connection,r=i;i=null,!n||r&&n!==r||n.unsubscribe(),e.unsubscribe()}});t.subscribe(n),n.closed||(i=t.connect())})}var u=function(t){function e(e,i){var n=t.call(this)||this;return n.source=e,n.subjectFactory=i,n._subject=null,n._refCount=0,n._connection=null,(0,l.A)(e)&&(n.lift=e.lift),n}return(0,s.ZT)(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype._teardown=function(){this._refCount=0;var t=this._connection;this._subject=this._connection=null,null==t||t.unsubscribe()},e.prototype.connect=function(){var t=this,e=this._connection;if(!e){e=this._connection=new a.w0;var i=this.getSubject();e.add(this.source.subscribe(new c.Q(i,void 0,function(){t._teardown(),i.complete()},function(e){t._teardown(),i.error(e)},function(){return t._teardown()}))),e.closed&&(this._connection=null,e=a.w0.EMPTY)}return e},e.prototype.refCount=function(){return h()(this)},e}(o.y),d=i(5630),p=i(2041),f=i(7425),m=i(5868),g=i(7325),y=i(5613),b=i(970),v=i(4951),_=i(9666),w=i(8868);function x(t){return t<=0?function(){return v.E}:(0,l.e)(function(e,i){var n=[];e.subscribe(new c.Q(i,function(e){n.push(e),tt.length)return null;if("full"===i.pathMatch&&(e.hasChildren()||n.lengthn[e]===t)}return t===e}function lt(t){return Array.prototype.concat.apply([],t)}function ct(t){return t.length>0?t[t.length-1]:null}function ht(t,e){for(const i in t)t.hasOwnProperty(i)&&e(t[i],i)}function ut(t){return(0,r.CqO)(t)?t:(0,r.QGY)(t)?(0,d.Dp)(Promise.resolve(t)):(0,p.of)(t)}const dt={exact:function t(e,i,n){if(!wt(e.segments,i.segments))return!1;if(!yt(e.segments,i.segments,n))return!1;if(e.numberOfChildren!==i.numberOfChildren)return!1;for(const r in i.children){if(!e.children[r])return!1;if(!t(e.children[r],i.children[r],n))return!1}return!0},subset:mt},pt={exact:function(t,e){return ot(t,e)},subset:function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(i=>at(t[i],e[i]))},ignored:()=>!0};function ft(t,e,i){return dt[i.paths](t.root,e.root,i.matrixParams)&&pt[i.queryParams](t.queryParams,e.queryParams)&&!("exact"===i.fragment&&t.fragment!==e.fragment)}function mt(t,e,i){return gt(t,e,e.segments,i)}function gt(t,e,i,n){if(t.segments.length>i.length){const r=t.segments.slice(0,i.length);return!!wt(r,i)&&!e.hasChildren()&&!!yt(r,i,n)}if(t.segments.length===i.length){if(!wt(t.segments,i))return!1;if(!yt(t.segments,i,n))return!1;for(const i in e.children){if(!t.children[i])return!1;if(!mt(t.children[i],e.children[i],n))return!1}return!0}{const r=i.slice(0,t.segments.length),s=i.slice(t.segments.length);return!!wt(t.segments,r)&&!!yt(t.segments,r,n)&&!!t.children.primary&>(t.children.primary,e,s,n)}}function yt(t,e,i){return e.every((e,n)=>pt[i](t[n].parameters,e.parameters))}class bt{constructor(t,e,i){this.root=t,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=nt(this.queryParams)),this._queryParamMap}toString(){return At.serialize(this)}}class vt{constructor(t,e){this.segments=t,this.children=e,this.parent=null,ht(e,(t,e)=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return St(this)}}class _t{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=nt(this.parameters)),this._parameterMap}toString(){return Ot(this)}}function wt(t,e){return t.length===e.length&&t.every((t,i)=>t.path===e[i].path)}class xt{}class Ct{parse(t){const e=new Ft(t);return new bt(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){var e;return`/${Et(t.root,!0)}${function(t){const e=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(t=>`${Tt(e)}=${Tt(t)}`).join("&"):`${Tt(e)}=${Tt(i)}`}).filter(t=>!!t);return e.length?`?${e.join("&")}`:""}(t.queryParams)}${"string"==typeof t.fragment?`#${e=t.fragment,encodeURI(e)}`:""}`}}const At=new Ct;function St(t){return t.segments.map(t=>Ot(t)).join("/")}function Et(t,e){if(!t.hasChildren())return St(t);if(e){const e=t.children.primary?Et(t.children.primary,!1):"",i=[];return ht(t.children,(t,e)=>{e!==et&&i.push(`${e}:${Et(t,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function(t,e){let i=[];return ht(t.children,(t,n)=>{n===et&&(i=i.concat(e(t,n)))}),ht(t.children,(t,n)=>{n!==et&&(i=i.concat(e(t,n)))}),i}(t,(e,i)=>i===et?[Et(t.children.primary,!1)]:[`${i}:${Et(e,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children.primary?`${St(t)}/${e[0]}`:`${St(t)}/(${e.join("//")})`}}function kt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Tt(t){return kt(t).replace(/%3B/gi,";")}function Mt(t){return kt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Lt(t){return decodeURIComponent(t)}function It(t){return Lt(t.replace(/\+/g,"%20"))}function Ot(t){return`${Mt(t.path)}${e=t.parameters,Object.keys(e).map(t=>`;${Mt(t)}=${Mt(e[t])}`).join("")}`;var e}const Dt=/^[^\/()?;=#]+/;function Rt(t){const e=t.match(Dt);return e?e[0]:""}const Nt=/^[^=?&#]+/,Pt=/^[^?&#]+/;class Ft{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new vt([],{}):new vt([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(i.primary=new vt(t,e)),i}parseSegment(){const t=Rt(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(t),new _t(Lt(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=Rt(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=Rt(this.remaining);t&&(i=t,this.capture(i))}t[Lt(e)]=Lt(i)}parseQueryParam(t){const e=function(t){const e=t.match(Nt);return e?e[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const t=function(t){const e=t.match(Pt);return e?e[0]:""}(this.remaining);t&&(i=t,this.capture(i))}const n=It(e),r=It(i);if(t.hasOwnProperty(n)){let e=t[n];Array.isArray(e)||(e=[e],t[n]=e),e.push(r)}else t[n]=r}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=Rt(this.remaining),n=this.remaining[i.length];if("/"!==n&&")"!==n&&";"!==n)throw new Error(`Cannot parse url '${this.url}'`);let r;i.indexOf(":")>-1?(r=i.substr(0,i.indexOf(":")),this.capture(r),this.capture(":")):t&&(r=et);const s=this.parseChildren();e[r]=1===Object.keys(s).length?s.primary:new vt([],s),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Error(`Expected "${t}".`)}}class Zt{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=Bt(t,this._root);return e?e.children.map(t=>t.value):[]}firstChild(t){const e=Bt(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=Ut(t,this._root);return e.length<2?[]:e[e.length-2].children.map(t=>t.value).filter(e=>e!==t)}pathFromRoot(t){return Ut(t,this._root).map(t=>t.value)}}function Bt(t,e){if(t===e.value)return e;for(const i of e.children){const e=Bt(t,i);if(e)return e}return null}function Ut(t,e){if(t===e.value)return[e];for(const i of e.children){const n=Ut(t,i);if(n.length)return n.unshift(e),n}return[]}class qt{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function zt(t){const e={};return t&&t.children.forEach(t=>e[t.value.outlet]=t),e}class Ht extends Zt{constructor(t,e){super(t),this.snapshot=e,Wt(this,t)}toString(){return this.snapshot.toString()}}function Yt(t,e){const i=function(t,e){const i=new Vt([],{},{},"",{},et,e,null,t.root,-1,{});return new Qt("",new qt(i,[]))}(t,e),n=new f.X([new _t("",{})]),r=new f.X({}),s=new f.X({}),o=new f.X({}),a=new f.X(""),l=new Gt(n,r,o,a,s,et,e,i.root);return l.snapshot=i.root,new Ht(new qt(l,[]),i)}class Gt{constructor(t,e,i,n,r,s,o,a){this.url=t,this.params=e,this.queryParams=i,this.fragment=n,this.data=r,this.outlet=s,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,E.U)(t=>nt(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,E.U)(t=>nt(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function jt(t,e="emptyOnly"){const i=t.pathFromRoot;let n=0;if("always"!==e)for(n=i.length-1;n>=1;){const t=i[n],e=i[n-1];if(t.routeConfig&&""===t.routeConfig.path)n--;else{if(e.component)break;n--}}return function(t){return t.reduce((t,e)=>({params:Object.assign(Object.assign({},t.params),e.params),data:Object.assign(Object.assign({},t.data),e.data),resolve:Object.assign(Object.assign({},t.resolve),e._resolvedData)}),{params:{},data:{},resolve:{}})}(i.slice(n))}class Vt{constructor(t,e,i,n,r,s,o,a,l,c,h){this.url=t,this.params=e,this.queryParams=i,this.fragment=n,this.data=r,this.outlet=s,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=c,this._resolve=h}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=nt(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=nt(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(t=>t.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Qt extends Zt{constructor(t,e){super(e),this.url=t,Wt(this,e)}toString(){return Jt(this._root)}}function Wt(t,e){e.value._routerState=t,e.children.forEach(e=>Wt(t,e))}function Jt(t){const e=t.children.length>0?` { ${t.children.map(Jt).join(", ")} } `:"";return`${t.value}${e}`}function Xt(t){if(t.snapshot){const e=t.snapshot,i=t._futureSnapshot;t.snapshot=i,ot(e.queryParams,i.queryParams)||t.queryParams.next(i.queryParams),e.fragment!==i.fragment&&t.fragment.next(i.fragment),ot(e.params,i.params)||t.params.next(i.params),function(t,e){if(t.length!==e.length)return!1;for(let i=0;iot(t.parameters,n[e].parameters))&&!(!t.parent!=!e.parent)&&(!t.parent||Kt(t.parent,e.parent))}function $t(t,e,i){if(i&&t.shouldReuseRoute(e.value,i.value.snapshot)){const n=i.value;n._futureSnapshot=e.value;const r=function(t,e,i){return e.children.map(e=>{for(const n of i.children)if(t.shouldReuseRoute(e.value,n.value.snapshot))return $t(t,e,n);return $t(t,e)})}(t,e,i);return new qt(n,r)}{if(t.shouldAttach(e.value)){const i=t.retrieve(e.value);if(null!==i){const t=i.route;return te(e,t),t}}const i=new Gt(new f.X((n=e.value).url),new f.X(n.params),new f.X(n.queryParams),new f.X(n.fragment),new f.X(n.data),n.outlet,n.component,n),r=e.children.map(e=>$t(t,e));return new qt(i,r)}var n}function te(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(let i=0;i{s[e]=Array.isArray(t)?t.map(t=>`${t}`):`${t}`}),new bt(i.root===t?e:re(i.root,t,e),s,r)}function re(t,e,i){const n={};return ht(t.children,(t,r)=>{n[r]=t===e?i:re(t,e,i)}),new vt(t.segments,n)}class se{constructor(t,e,i){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=i,t&&i.length>0&&ee(i[0]))throw new Error("Root segment cannot have matrix parameters");const n=i.find(ie);if(n&&n!==ct(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class oe{constructor(t,e,i){this.segmentGroup=t,this.processChildren=e,this.index=i}}function ae(t,e,i){if(t||(t=new vt([],{})),0===t.segments.length&&t.hasChildren())return le(t,e,i);const n=function(t,e,i){let n=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r=i.length)return s;const e=t.segments[r],o=i[n];if(ie(o))break;const a=`${o}`,l=n0&&void 0===a)break;if(a&&l&&"object"==typeof l&&void 0===l.outlets){if(!de(a,l,e))return s;n+=2}else{if(!de(a,{},e))return s;n++}r++}return{match:!0,pathIndex:r,commandIndex:n}}(t,e,i),r=i.slice(n.commandIndex);if(n.match&&n.pathIndex{"string"==typeof i&&(i=[i]),null!==i&&(r[n]=ae(t.children[n],e,i))}),ht(t.children,(t,e)=>{void 0===n[e]&&(r[e]=t)}),new vt(t.segments,r)}}function ce(t,e,i){const n=t.segments.slice(0,e);let r=0;for(;r{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=ce(new vt([],{}),0,t))}),e}function ue(t){const e={};return ht(t,(t,i)=>e[i]=`${t}`),e}function de(t,e,i){return t==i.path&&ot(e,i.parameters)}class pe{constructor(t,e,i,n){this.routeReuseStrategy=t,this.futureState=e,this.currState=i,this.forwardEvent=n}activate(t){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,t),Xt(this.futureState.root),this.activateChildRoutes(e,i,t)}deactivateChildRoutes(t,e,i){const n=zt(e);t.children.forEach(t=>{const e=t.value.outlet;this.deactivateRoutes(t,n[e],i),delete n[e]}),ht(n,(t,e)=>{this.deactivateRouteAndItsChildren(t,i)})}deactivateRoutes(t,e,i){const n=t.value,r=e?e.value:null;if(n===r)if(n.component){const r=i.getContext(n.outlet);r&&this.deactivateChildRoutes(t,e,r.children)}else this.deactivateChildRoutes(t,e,i);else r&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const i=e.getContext(t.value.outlet);if(i&&i.outlet){const e=i.outlet.detach(),n=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:e,route:t,contexts:n})}}deactivateRouteAndOutlet(t,e){const i=e.getContext(t.value.outlet),n=i&&t.value.component?i.children:e,r=zt(t);for(const s of Object.keys(r))this.deactivateRouteAndItsChildren(r[s],n);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,e,i){const n=zt(e);t.children.forEach(t=>{this.activateRoutes(t,n[t.value.outlet],i),this.forwardEvent(new $(t.value.snapshot))}),t.children.length&&this.forwardEvent(new X(t.value.snapshot))}activateRoutes(t,e,i){const n=t.value,r=e?e.value:null;if(Xt(n),n===r)if(n.component){const r=i.getOrCreateContext(n.outlet);this.activateChildRoutes(t,e,r.children)}else this.activateChildRoutes(t,e,i);else if(n.component){const e=i.getOrCreateContext(n.outlet);if(this.routeReuseStrategy.shouldAttach(n.snapshot)){const t=this.routeReuseStrategy.retrieve(n.snapshot);this.routeReuseStrategy.store(n.snapshot,null),e.children.onOutletReAttached(t.contexts),e.attachRef=t.componentRef,e.route=t.route.value,e.outlet&&e.outlet.attach(t.componentRef,t.route.value),fe(t.route)}else{const i=function(t){for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(n.snapshot),r=i?i.module.componentFactoryResolver:null;e.attachRef=null,e.route=n,e.resolver=r,e.outlet&&e.outlet.activateWith(n,r),this.activateChildRoutes(t,null,e.children)}}else this.activateChildRoutes(t,null,i)}}function fe(t){Xt(t.value),t.children.forEach(fe)}class me{constructor(t,e){this.routes=t,this.module=e}}function ge(t){return"function"==typeof t}function ye(t){return t instanceof bt}const be=Symbol("INITIAL_VALUE");function ve(){return(0,k.w)(t=>(0,m.a)(t.map(t=>t.pipe((0,T.q)(1),(0,M.O)(be)))).pipe((0,L.R)((t,e)=>{let i=!1;return e.reduce((t,n,r)=>{if(t!==be)return t;if(n===be&&(i=!0),!i){if(!1===n)return n;if(r===e.length-1||ye(n))return n}return t},t)},be),(0,w.h)(t=>t!==be),(0,E.U)(t=>ye(t)?t:!0===t),(0,T.q)(1)))}let _e=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,e){1&t&&r._UZ(0,"router-outlet")},directives:function(){return[bi]},encapsulation:2}),t})();function we(t,e=""){for(let i=0;iSe(t)===e);return i.push(...t.filter(t=>Se(t)!==e)),i}const ke={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function Te(t,e,i){var n;if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||i.length>0)?Object.assign({},ke):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const r=(e.matcher||st)(i,t,e);if(!r)return Object.assign({},ke);const s={};ht(r.posParams,(t,e)=>{s[e]=t.path});const o=r.consumed.length>0?Object.assign(Object.assign({},s),r.consumed[r.consumed.length-1].parameters):s;return{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:o,positionalParamSegments:null!==(n=r.posParams)&&void 0!==n?n:{}}}function Me(t,e,i,n,r="corrected"){if(i.length>0&&function(t,e,i){return i.some(i=>Le(t,e,i)&&Se(i)!==et)}(t,i,n)){const r=new vt(e,function(t,e,i,n){const r={};r.primary=n,n._sourceSegment=t,n._segmentIndexShift=e.length;for(const s of i)if(""===s.path&&Se(s)!==et){const i=new vt([],{});i._sourceSegment=t,i._segmentIndexShift=e.length,r[Se(s)]=i}return r}(t,e,n,new vt(i,t.children)));return r._sourceSegment=t,r._segmentIndexShift=e.length,{segmentGroup:r,slicedSegments:[]}}if(0===i.length&&function(t,e,i){return i.some(i=>Le(t,e,i))}(t,i,n)){const s=new vt(t.segments,function(t,e,i,n,r,s){const o={};for(const a of n)if(Le(t,i,a)&&!r[Se(a)]){const i=new vt([],{});i._sourceSegment=t,i._segmentIndexShift="legacy"===s?t.segments.length:e.length,o[Se(a)]=i}return Object.assign(Object.assign({},r),o)}(t,e,i,n,t.children,r));return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}const s=new vt(t.segments,t.children);return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:i}}function Le(t,e,i){return(!(t.hasChildren()||e.length>0)||"full"!==i.pathMatch)&&""===i.path}function Ie(t,e,i,n){return!!(Se(t)===n||n!==et&&Le(e,i,t))&&("**"===t.path||Te(e,t,i).matched)}function Oe(t,e,i){return 0===e.length&&!t.children[i]}class De{constructor(t){this.segmentGroup=t||null}}class Re{constructor(t){this.urlTree=t}}function Ne(t){return new o.y(e=>e.error(new De(t)))}function Pe(t){return new o.y(e=>e.error(new Re(t)))}function Fe(t){return new o.y(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${t}'`)))}class Ze{constructor(t,e,i,n,s){this.configLoader=e,this.urlSerializer=i,this.urlTree=n,this.config=s,this.allowRedirects=!0,this.ngModule=t.get(r.h0i)}apply(){const t=Me(this.urlTree.root,[],[],this.config).segmentGroup,e=new vt(t.segments,t.children);return this.expandSegmentGroup(this.ngModule,this.config,e,et).pipe((0,E.U)(t=>this.createUrlTree(Be(t),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,I.K)(t=>{if(t instanceof Re)return this.allowRedirects=!1,this.match(t.urlTree);if(t instanceof De)throw this.noMatchError(t);throw t}))}match(t){return this.expandSegmentGroup(this.ngModule,this.config,t.root,et).pipe((0,E.U)(e=>this.createUrlTree(Be(e),t.queryParams,t.fragment))).pipe((0,I.K)(t=>{if(t instanceof De)throw this.noMatchError(t);throw t}))}noMatchError(t){return new Error(`Cannot match any routes. URL Segment: '${t.segmentGroup}'`)}createUrlTree(t,e,i){const n=t.segments.length>0?new vt([],{[et]:t}):t;return new bt(n,e,i)}expandSegmentGroup(t,e,i,n){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,e,i).pipe((0,E.U)(t=>new vt([],t))):this.expandSegment(t,i,e,i.segments,n,!0)}expandChildren(t,e,i){const n=[];for(const r of Object.keys(i.children))"primary"===r?n.unshift(r):n.push(r);return(0,d.Dp)(n).pipe((0,O.b)(n=>{const r=i.children[n],s=Ee(e,n);return this.expandSegmentGroup(t,s,r,n).pipe((0,E.U)(t=>({segment:t,outlet:n})))}),(0,L.R)((t,e)=>(t[e.outlet]=e.segment,t),{}),function(t,e){var i=arguments.length>=2;return function(n){return n.pipe(t?(0,w.h)(function(e,i){return t(e,i,n)}):S.y,x(1),i?(0,A.d)(e):(0,C.T)(function(){return new g.K}))}}())}expandSegment(t,e,i,n,r,s){return(0,d.Dp)(i).pipe((0,O.b)(o=>this.expandSegmentAgainstRoute(t,e,i,o,n,r,s).pipe((0,I.K)(t=>{if(t instanceof De)return(0,p.of)(null);throw t}))),(0,D.P)(t=>!!t),(0,I.K)((t,i)=>{if(t instanceof g.K||"EmptyError"===t.name){if(Oe(e,n,r))return(0,p.of)(new vt([],{}));throw new De(e)}throw t}))}expandSegmentAgainstRoute(t,e,i,n,r,s,o){return Ie(n,e,r,s)?void 0===n.redirectTo?this.matchSegmentAgainstRoute(t,e,n,r,s):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s):Ne(e):Ne(e)}expandSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s){return"**"===n.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,n,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,i,n){const r=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?Pe(r):this.lineralizeSegments(i,r).pipe((0,R.z)(i=>{const r=new vt(i,{});return this.expandSegment(t,r,e,i,n,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,n,r,s){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:c}=Te(e,n,r);if(!o)return Ne(e);const h=this.applyRedirectCommands(a,n.redirectTo,c);return n.redirectTo.startsWith("/")?Pe(h):this.lineralizeSegments(n,h).pipe((0,R.z)(n=>this.expandSegment(t,e,i,n.concat(r.slice(l)),s,!1)))}matchSegmentAgainstRoute(t,e,i,n,r){if("**"===i.path)return i.loadChildren?(i._loadedConfig?(0,p.of)(i._loadedConfig):this.configLoader.load(t.injector,i)).pipe((0,E.U)(t=>(i._loadedConfig=t,new vt(n,{})))):(0,p.of)(new vt(n,{}));const{matched:s,consumedSegments:o,lastChild:a}=Te(e,i,n);if(!s)return Ne(e);const l=n.slice(a);return this.getChildConfig(t,i,n).pipe((0,R.z)(t=>{const n=t.module,s=t.routes,{segmentGroup:a,slicedSegments:c}=Me(e,o,l,s),h=new vt(a.segments,a.children);if(0===c.length&&h.hasChildren())return this.expandChildren(n,s,h).pipe((0,E.U)(t=>new vt(o,t)));if(0===s.length&&0===c.length)return(0,p.of)(new vt(o,{}));const u=Se(i)===r;return this.expandSegment(n,h,s,c,u?et:r,!0).pipe((0,E.U)(t=>new vt(o.concat(t.segments),t.children)))}))}getChildConfig(t,e,i){return e.children?(0,p.of)(new me(e.children,t)):e.loadChildren?void 0!==e._loadedConfig?(0,p.of)(e._loadedConfig):this.runCanLoadGuards(t.injector,e,i).pipe((0,R.z)(i=>i?this.configLoader.load(t.injector,e).pipe((0,E.U)(t=>(e._loadedConfig=t,t))):function(t){return new o.y(e=>e.error(rt(`Cannot load children because the guard of the route "path: '${t.path}'" returned false`)))}(e))):(0,p.of)(new me([],t))}runCanLoadGuards(t,e,i){const n=e.canLoad;if(!n||0===n.length)return(0,p.of)(!0);const r=n.map(n=>{const r=t.get(n);let s;if(function(t){return t&&ge(t.canLoad)}(r))s=r.canLoad(e,i);else{if(!ge(r))throw new Error("Invalid CanLoad guard");s=r(e,i)}return ut(s)});return(0,p.of)(r).pipe(ve(),(0,N.b)(t=>{if(!ye(t))return;const e=rt(`Redirecting to "${this.urlSerializer.serialize(t)}"`);throw e.url=t,e}),(0,E.U)(t=>!0===t))}lineralizeSegments(t,e){let i=[],n=e.root;for(;;){if(i=i.concat(n.segments),0===n.numberOfChildren)return(0,p.of)(i);if(n.numberOfChildren>1||!n.children.primary)return Fe(t.redirectTo);n=n.children.primary}}applyRedirectCommands(t,e,i){return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,i)}applyRedirectCreatreUrlTree(t,e,i,n){const r=this.createSegmentGroup(t,e.root,i,n);return new bt(r,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const i={};return ht(t,(t,n)=>{if("string"==typeof t&&t.startsWith(":")){const r=t.substring(1);i[n]=e[r]}else i[n]=t}),i}createSegmentGroup(t,e,i,n){const r=this.createSegments(t,e.segments,i,n);let s={};return ht(e.children,(e,r)=>{s[r]=this.createSegmentGroup(t,e,i,n)}),new vt(r,s)}createSegments(t,e,i,n){return e.map(e=>e.path.startsWith(":")?this.findPosParam(t,e,n):this.findOrReturn(e,i))}findPosParam(t,e,i){const n=i[e.path.substring(1)];if(!n)throw new Error(`Cannot redirect to '${t}'. Cannot find '${e.path}'.`);return n}findOrReturn(t,e){let i=0;for(const n of e){if(n.path===t.path)return e.splice(i),n;i++}return t}}function Be(t){const e={};for(const i of Object.keys(t.children)){const n=Be(t.children[i]);(n.segments.length>0||n.hasChildren())&&(e[i]=n)}return function(t){if(1===t.numberOfChildren&&t.children.primary){const e=t.children.primary;return new vt(t.segments.concat(e.segments),e.children)}return t}(new vt(t.segments,e))}class Ue{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class qe{constructor(t,e){this.component=t,this.route=e}}function ze(t,e,i){const n=t._root;return Ye(n,e?e._root:null,i,[n.value])}function He(t,e,i){const n=function(t){if(!t)return null;for(let e=t.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(n?n.module.injector:i).get(t)}function Ye(t,e,i,n,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=zt(e);return t.children.forEach(t=>{!function(t,e,i,n,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=t.value,o=e?e.value:null,a=i?i.getContext(t.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(t,e,i){if("function"==typeof i)return i(t,e);switch(i){case"pathParamsChange":return!wt(t.url,e.url);case"pathParamsOrQueryParamsChange":return!wt(t.url,e.url)||!ot(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Kt(t,e)||!ot(t.queryParams,e.queryParams);case"paramsChange":default:return!Kt(t,e)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new Ue(n)):(s.data=o.data,s._resolvedData=o._resolvedData),Ye(t,e,s.component?a?a.children:null:i,n,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new qe(a.outlet.component,o))}else o&&Ge(e,a,r),r.canActivateChecks.push(new Ue(n)),Ye(t,null,s.component?a?a.children:null:i,n,r)}(t,s[t.value.outlet],i,n.concat([t.value]),r),delete s[t.value.outlet]}),ht(s,(t,e)=>Ge(t,i.getContext(e),r)),r}function Ge(t,e,i){const n=zt(t),r=t.value;ht(n,(t,n)=>{Ge(t,r.component?e?e.children.getContext(n):null:e,i)}),i.canDeactivateChecks.push(new qe(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class je{}function Ve(t){return new o.y(e=>e.error(t))}class Qe{constructor(t,e,i,n,r,s){this.rootComponentType=t,this.config=e,this.urlTree=i,this.url=n,this.paramsInheritanceStrategy=r,this.relativeLinkResolution=s}recognize(){const t=Me(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution).segmentGroup,e=this.processSegmentGroup(this.config,t,et);if(null===e)return null;const i=new Vt([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},et,this.rootComponentType,null,this.urlTree.root,-1,{}),n=new qt(i,e),r=new Qt(this.url,n);return this.inheritParamsAndData(r._root),r}inheritParamsAndData(t){const e=t.value,i=jt(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),t.children.forEach(t=>this.inheritParamsAndData(t))}processSegmentGroup(t,e,i){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,i)}processChildren(t,e){const i=[];for(const r of Object.keys(e.children)){const n=e.children[r],s=Ee(t,r),o=this.processSegmentGroup(s,n,r);if(null===o)return null;i.push(...o)}const n=Je(i);return n.sort((t,e)=>t.value.outlet===et?-1:e.value.outlet===et?1:t.value.outlet.localeCompare(e.value.outlet)),n}processSegment(t,e,i,n){for(const r of t){const t=this.processSegmentAgainstRoute(r,e,i,n);if(null!==t)return t}return Oe(e,i,n)?[]:null}processSegmentAgainstRoute(t,e,i,n){if(t.redirectTo||!Ie(t,e,i,n))return null;let r,s=[],o=[];if("**"===t.path){const n=i.length>0?ct(i).parameters:{};r=new Vt(i,n,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,$e(t),Se(t),t.component,t,Xe(e),Ke(e)+i.length,ti(t))}else{const n=Te(e,t,i);if(!n.matched)return null;s=n.consumedSegments,o=i.slice(n.lastChild),r=new Vt(s,n.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,$e(t),Se(t),t.component,t,Xe(e),Ke(e)+s.length,ti(t))}const a=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(t),{segmentGroup:l,slicedSegments:c}=Me(e,s,o,a.filter(t=>void 0===t.redirectTo),this.relativeLinkResolution);if(0===c.length&&l.hasChildren()){const t=this.processChildren(a,l);return null===t?null:[new qt(r,t)]}if(0===a.length&&0===c.length)return[new qt(r,[])];const h=Se(t)===n,u=this.processSegment(a,l,c,h?et:n);return null===u?null:[new qt(r,u)]}}function We(t){const e=t.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function Je(t){const e=[],i=new Set;for(const n of t){if(!We(n)){e.push(n);continue}const t=e.find(t=>n.value.routeConfig===t.value.routeConfig);void 0!==t?(t.children.push(...n.children),i.add(t)):e.push(n)}for(const n of i){const t=Je(n.children);e.push(new qt(n.value,t))}return e.filter(t=>!i.has(t))}function Xe(t){let e=t;for(;e._sourceSegment;)e=e._sourceSegment;return e}function Ke(t){let e=t,i=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,i+=e._segmentIndexShift?e._segmentIndexShift:0;return i-1}function $e(t){return t.data||{}}function ti(t){return t.resolve||{}}function ei(t){return(0,k.w)(e=>{const i=t(e);return i?(0,d.Dp)(i).pipe((0,E.U)(()=>e)):(0,p.of)(e)})}class ii extends class{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}{}const ni=new r.OlP("ROUTES");class ri{constructor(t,e,i,n){this.loader=t,this.compiler=e,this.onLoadStartListener=i,this.onLoadEndListener=n}load(t,e){if(e._loader$)return e._loader$;this.onLoadStartListener&&this.onLoadStartListener(e);const i=this.loadModuleFactory(e.loadChildren).pipe((0,E.U)(i=>{this.onLoadEndListener&&this.onLoadEndListener(e);const n=i.create(t);return new me(lt(n.injector.get(ni,void 0,r.XFs.Self|r.XFs.Optional)).map(Ae),n)}),(0,I.K)(t=>{throw e._loader$=void 0,t}));return e._loader$=new u(i,()=>new _.x).pipe(h()),e._loader$}loadModuleFactory(t){return"string"==typeof t?(0,d.Dp)(this.loader.load(t)):ut(t()).pipe((0,R.z)(t=>t instanceof r.YKP?(0,p.of)(t):(0,d.Dp)(this.compiler.compileModuleAsync(t))))}}class si{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new oi,this.attachRef=null}}class oi{constructor(){this.contexts=new Map}onChildOutletCreated(t,e){const i=this.getOrCreateContext(t);i.outlet=e,this.contexts.set(t,i)}onChildOutletDestroyed(t){const e=this.getContext(t);e&&(e.outlet=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let e=this.getContext(t);return e||(e=new si,this.contexts.set(t,e)),e}getContext(t){return this.contexts.get(t)||null}}class ai{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,e){return t}}function li(t){throw t}function ci(t,e,i){return e.parse("/")}function hi(t,e){return(0,p.of)(null)}const ui={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},di={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let pi=(()=>{class t{constructor(t,e,i,n,s,o,a,l){this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=i,this.location=n,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.lastLocationChangeInfo=null,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new _.x,this.errorHandler=li,this.malformedUriErrorHandler=ci,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:hi,afterPreactivation:hi},this.urlHandlingStrategy=new ai,this.routeReuseStrategy=new ii,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=s.get(r.h0i),this.console=s.get(r.c2e);const c=s.get(r.R0b);this.isNgZoneEnabled=c instanceof r.R0b&&r.R0b.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=new bt(new vt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new ri(o,a,t=>this.triggerEvent(new Q(t)),t=>this.triggerEvent(new W(t))),this.routerState=Yt(this.currentUrlTree,this.rootComponentType),this.transitions=new f.X({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(t){const e=this.events;return t.pipe((0,w.h)(t=>0!==t.id),(0,E.U)(t=>Object.assign(Object.assign({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl)})),(0,k.w)(t=>{let i=!1,n=!1;return(0,p.of)(t).pipe((0,N.b)(t=>{this.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),(0,k.w)(t=>{const i=!this.navigated||t.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||i)&&this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return(0,p.of)(t).pipe((0,k.w)(t=>{const i=this.transitions.getValue();return e.next(new B(t.id,this.serializeUrl(t.extractedUrl),t.source,t.restoredState)),i!==this.transitions.getValue()?v.E:Promise.resolve(t)}),(n=this.ngModule.injector,r=this.configLoader,s=this.urlSerializer,o=this.config,(0,k.w)(t=>function(t,e,i,n,r){return new Ze(t,e,i,n,r).apply()}(n,r,s,t.extractedUrl,o).pipe((0,E.U)(e=>Object.assign(Object.assign({},t),{urlAfterRedirects:e}))))),(0,N.b)(t=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:t.urlAfterRedirects})}),function(t,e,i,n,r){return(0,R.z)(s=>function(t,e,i,n,r="emptyOnly",s="legacy"){try{const o=new Qe(t,e,i,n,r,s).recognize();return null===o?Ve(new je):(0,p.of)(o)}catch(o){return Ve(o)}}(t,e,s.urlAfterRedirects,i(s.urlAfterRedirects),n,r).pipe((0,E.U)(t=>Object.assign(Object.assign({},s),{targetSnapshot:t}))))}(this.rootComponentType,this.config,t=>this.serializeUrl(t),this.paramsInheritanceStrategy,this.relativeLinkResolution),(0,N.b)(t=>{"eager"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(t.urlAfterRedirects,t),this.browserUrlTree=t.urlAfterRedirects);const i=new H(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);e.next(i)}));var n,r,s,o;if(i&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:i,extractedUrl:n,source:r,restoredState:s,extras:o}=t,a=new B(i,this.serializeUrl(n),r,s);e.next(a);const l=Yt(n,this.rootComponentType).snapshot;return(0,p.of)(Object.assign(Object.assign({},t),{targetSnapshot:l,urlAfterRedirects:n,extras:Object.assign(Object.assign({},o),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=t.rawUrl,this.browserUrlTree=t.urlAfterRedirects,t.resolve(null),v.E}),ei(t=>{const{targetSnapshot:e,id:i,extractedUrl:n,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:o}}=t;return this.hooks.beforePreactivation(e,{navigationId:i,appliedUrlTree:n,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!o})}),(0,N.b)(t=>{const e=new Y(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(0,E.U)(t=>Object.assign(Object.assign({},t),{guards:ze(t.targetSnapshot,t.currentSnapshot,this.rootContexts)})),function(t,e){return(0,R.z)(i=>{const{targetSnapshot:n,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:o}}=i;return 0===o.length&&0===s.length?(0,p.of)(Object.assign(Object.assign({},i),{guardsResult:!0})):function(t,e,i,n){return(0,d.Dp)(t).pipe((0,R.z)(t=>function(t,e,i,n,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!s||0===s.length)return(0,p.of)(!0);const o=s.map(s=>{const o=He(s,e,r);let a;if(function(t){return t&&ge(t.canDeactivate)}(o))a=ut(o.canDeactivate(t,e,i,n));else{if(!ge(o))throw new Error("Invalid CanDeactivate guard");a=ut(o(t,e,i,n))}return a.pipe((0,D.P)())});return(0,p.of)(o).pipe(ve())}(t.component,t.route,i,e,n)),(0,D.P)(t=>!0!==t,!0))}(o,n,r,t).pipe((0,R.z)(i=>i&&"boolean"==typeof i?function(t,e,i,n){return(0,d.Dp)(e).pipe((0,O.b)(e=>(0,y.z)(function(t,e){return null!==t&&e&&e(new J(t)),(0,p.of)(!0)}(e.route.parent,n),function(t,e){return null!==t&&e&&e(new K(t)),(0,p.of)(!0)}(e.route,n),function(t,e,i){const n=e[e.length-1],r=e.slice(0,e.length-1).reverse().map(t=>function(t){const e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)).filter(t=>null!==t).map(e=>(0,b.P)(()=>{const r=e.guards.map(r=>{const s=He(r,e.node,i);let o;if(function(t){return t&&ge(t.canActivateChild)}(s))o=ut(s.canActivateChild(n,t));else{if(!ge(s))throw new Error("Invalid CanActivateChild guard");o=ut(s(n,t))}return o.pipe((0,D.P)())});return(0,p.of)(r).pipe(ve())}));return(0,p.of)(r).pipe(ve())}(t,e.path,i),function(t,e,i){const n=e.routeConfig?e.routeConfig.canActivate:null;if(!n||0===n.length)return(0,p.of)(!0);const r=n.map(n=>(0,b.P)(()=>{const r=He(n,e,i);let s;if(function(t){return t&&ge(t.canActivate)}(r))s=ut(r.canActivate(e,t));else{if(!ge(r))throw new Error("Invalid CanActivate guard");s=ut(r(e,t))}return s.pipe((0,D.P)())}));return(0,p.of)(r).pipe(ve())}(t,e.route,i))),(0,D.P)(t=>!0!==t,!0))}(n,s,t,e):(0,p.of)(i)),(0,E.U)(t=>Object.assign(Object.assign({},i),{guardsResult:t})))})}(this.ngModule.injector,t=>this.triggerEvent(t)),(0,N.b)(t=>{if(ye(t.guardsResult)){const e=rt(`Redirecting to "${this.serializeUrl(t.guardsResult)}"`);throw e.url=t.guardsResult,e}const e=new G(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);this.triggerEvent(e)}),(0,w.h)(t=>!!t.guardsResult||(this.cancelNavigationTransition(t,""),!1)),ei(t=>{if(t.guards.canActivateChecks.length)return(0,p.of)(t).pipe((0,N.b)(t=>{const e=new j(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}),(0,k.w)(t=>{let e=!1;return(0,p.of)(t).pipe((i=this.paramsInheritanceStrategy,n=this.ngModule.injector,(0,R.z)(t=>{const{targetSnapshot:e,guards:{canActivateChecks:r}}=t;if(!r.length)return(0,p.of)(t);let s=0;return(0,d.Dp)(r).pipe((0,O.b)(t=>function(t,e,i,n){return function(t,e,i,n){const r=Object.keys(t);if(0===r.length)return(0,p.of)({});const s={};return(0,d.Dp)(r).pipe((0,R.z)(r=>function(t,e,i,n){const r=He(t,e,n);return ut(r.resolve?r.resolve(e,i):r(e,i))}(t[r],e,i,n).pipe((0,N.b)(t=>{s[r]=t}))),x(1),(0,R.z)(()=>Object.keys(s).length===r.length?(0,p.of)(s):v.E))}(t._resolve,t,e,n).pipe((0,E.U)(e=>(t._resolvedData=e,t.data=Object.assign(Object.assign({},t.data),jt(t,i).resolve),null)))}(t.route,e,i,n)),(0,N.b)(()=>s++),x(1),(0,R.z)(e=>s===r.length?(0,p.of)(t):v.E))})),(0,N.b)({next:()=>e=!0,complete:()=>{e||this.cancelNavigationTransition(t,"At least one route resolver didn't emit any value.")}}));var i,n}),(0,N.b)(t=>{const e=new V(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);this.triggerEvent(e)}))}),ei(t=>{const{targetSnapshot:e,id:i,extractedUrl:n,rawUrl:r,extras:{skipLocationChange:s,replaceUrl:o}}=t;return this.hooks.afterPreactivation(e,{navigationId:i,appliedUrlTree:n,rawUrlTree:r,skipLocationChange:!!s,replaceUrl:!!o})}),(0,E.U)(t=>{const e=function(t,e,i){const n=$t(t,e._root,i?i._root:void 0);return new Ht(n,e)}(this.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign(Object.assign({},t),{targetRouterState:e})}),(0,N.b)(t=>{this.currentUrlTree=t.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl),this.routerState=t.targetRouterState,"deferred"===this.urlUpdateStrategy&&(t.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,t),this.browserUrlTree=t.urlAfterRedirects)}),(r=this.rootContexts,s=this.routeReuseStrategy,o=t=>this.triggerEvent(t),(0,E.U)(t=>(new pe(s,t.targetRouterState,t.currentRouterState,o).activate(r),t))),(0,N.b)({next(){i=!0},complete(){i=!0}}),(0,P.x)(()=>{i||n||this.cancelNavigationTransition(t,`Navigation ID ${t.id} is not equal to the current navigation id ${this.navigationId}`),this.currentNavigation=null}),(0,I.K)(i=>{if(n=!0,(r=i)&&r.ngNavigationCancelingError){const n=ye(i.url);n||(this.navigated=!0,this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));const r=new q(t.id,this.serializeUrl(t.extractedUrl),i.message);e.next(r),n?setTimeout(()=>{const e=this.urlHandlingStrategy.merge(i.url,this.rawUrlTree);this.scheduleNavigation(e,"imperative",null,{skipLocationChange:t.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy},{resolve:t.resolve,reject:t.reject,promise:t.promise})},0):t.resolve(!1)}else{this.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);const n=new z(t.id,this.serializeUrl(t.extractedUrl),i);e.next(n);try{t.resolve(this.errorHandler(i))}catch(s){t.reject(s)}}var r;return v.E}));var r,s,o}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}getTransition(){const t=this.transitions.value;return t.urlAfterRedirects=this.browserUrlTree,t}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.getTransition()),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const e=this.extractLocationChangeInfoFromEvent(t);this.shouldScheduleNavigation(this.lastLocationChangeInfo,e)&&setTimeout(()=>{const{source:t,state:i,urlTree:n}=e,r={replaceUrl:!0};if(i){const t=Object.assign({},i);delete t.navigationId,delete t.\u0275routerPageId,0!==Object.keys(t).length&&(r.state=t)}this.scheduleNavigation(n,t,i,r)},0),this.lastLocationChangeInfo=e}))}extractLocationChangeInfoFromEvent(t){var e;return{source:"popstate"===t.type?"popstate":"hashchange",urlTree:this.parseUrl(t.url),state:(null===(e=t.state)||void 0===e?void 0:e.navigationId)?t.state:null,transitionId:this.getTransition().id}}shouldScheduleNavigation(t,e){if(!t)return!0;const i=e.urlTree.toString()===t.urlTree.toString();return!(e.transitionId===t.transitionId&&i&&("hashchange"===e.source&&"popstate"===t.source||"popstate"===e.source&&"hashchange"===t.source))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){we(t),this.config=t.map(Ae),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,e={}){const{relativeTo:i,queryParams:n,fragment:r,queryParamsHandling:s,preserveFragment:o}=e,a=i||this.routerState.root,l=o?this.currentUrlTree.fragment:r;let c=null;switch(s){case"merge":c=Object.assign(Object.assign({},this.currentUrlTree.queryParams),n);break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=n||null}return null!==c&&(c=this.removeEmptyProps(c)),function(t,e,i,n,r){if(0===i.length)return ne(e.root,e.root,e,n,r);const s=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new se(!0,0,t);let e=0,i=!1;const n=t.reduce((t,n,r)=>{if("object"==typeof n&&null!=n){if(n.outlets){const e={};return ht(n.outlets,(t,i)=>{e[i]="string"==typeof t?t.split("/"):t}),[...t,{outlets:e}]}if(n.segmentPath)return[...t,n.segmentPath]}return"string"!=typeof n?[...t,n]:0===r?(n.split("/").forEach((n,r)=>{0==r&&"."===n||(0==r&&""===n?i=!0:".."===n?e++:""!=n&&t.push(n))}),t):[...t,n]},[]);return new se(i,e,n)}(i);if(s.toRoot())return ne(e.root,new vt([],{}),e,n,r);const o=function(t,e,i){if(t.isAbsolute)return new oe(e.root,!0,0);if(-1===i.snapshot._lastPathIndex){const t=i.snapshot._urlSegment;return new oe(t,t===e.root,0)}const n=ee(t.commands[0])?0:1;return function(t,e,i){let n=t,r=e,s=i;for(;s>r;){if(s-=r,n=n.parent,!n)throw new Error("Invalid number of '../'");r=n.segments.length}return new oe(n,!1,r-s)}(i.snapshot._urlSegment,i.snapshot._lastPathIndex+n,t.numberOfDoubleDots)}(s,e,t),a=o.processChildren?le(o.segmentGroup,o.index,s.commands):ae(o.segmentGroup,o.index,s.commands);return ne(o.segmentGroup,a,e,n,r)}(a,this.currentUrlTree,t,c,null!=l?l:null)}navigateByUrl(t,e={skipLocationChange:!1}){const i=ye(t)?t:this.parseUrl(t),n=this.urlHandlingStrategy.merge(i,this.rawUrlTree);let r=null;return"computed"===this.canceledNavigationResolution&&(0===this.currentPageId||e.skipLocationChange||e.replaceUrl)&&(r=this.location.getState()),this.scheduleNavigation(n,"imperative",r,e)}navigate(t,e={skipLocationChange:!1}){return function(t){for(let e=0;e{const n=t[i];return null!=n&&(e[i]=n),e},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId,this.events.next(new U(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(t,e,i,n,r){if(this.disposed)return Promise.resolve(!1);const s=this.getTransition(),o="imperative"!==e&&"imperative"===(null==s?void 0:s.source),a=(this.lastSuccessfulId===s.id||this.currentNavigation?s.rawUrl:s.urlAfterRedirects).toString()===t.toString();if(o&&a)return Promise.resolve(!0);let l,c,h;r?(l=r.resolve,c=r.reject,h=r.promise):h=new Promise((t,e)=>{l=t,c=e});const u=++this.navigationId;let d;return d="computed"===this.canceledNavigationResolution?i&&i.\u0275routerPageId?i.\u0275routerPageId:this.currentPageId+1:0,this.setTransition({id:u,targetPageId:d,source:e,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:n,resolve:l,reject:c,promise:h,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),h.catch(t=>Promise.reject(t))}setBrowserUrl(t,e){const i=this.urlSerializer.serialize(t),n=Object.assign(Object.assign({},e.extras.state),this.generateNgRouterState(e.id,e.targetPageId));this.location.isCurrentPathEqualTo(i)||e.extras.replaceUrl?this.location.replaceState(i,"",n):this.location.go(i,"",n)}resetStateAndUrl(t,e,i){this.routerState=t,this.currentUrlTree=e,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,i),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(t,e){"computed"===this.canceledNavigationResolution?"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy||this.location.historyGo(this.currentPageId-t.targetPageId):this.resetUrlToCurrentUrlTree();const i=new q(t.id,this.serializeUrl(t.extractedUrl),e);this.triggerEvent(i),t.resolve(!1)}generateNgRouterState(t,e){return"computed"===this.canceledNavigationResolution?{navigationId:t,"\u0275routerPageId":e}:{navigationId:t}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.DyG),r.LFG(xt),r.LFG(oi),r.LFG(n.Ye),r.LFG(r.zs3),r.LFG(r.v3s),r.LFG(r.Sil),r.LFG(void 0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),fi=(()=>{class t{constructor(t,e,i,n,r){this.router=t,this.route=e,this.commands=[],this.onChanges=new _.x,null==i&&n.setAttribute(r.nativeElement,"tabindex","0")}ngOnChanges(t){this.onChanges.next(this)}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}onClick(){const t={skipLocationChange:gi(this.skipLocationChange),replaceUrl:gi(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,t),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:gi(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(pi),r.Y36(Gt),r.$8M("tabindex"),r.Y36(r.Qsj),r.Y36(r.SBq))},t.\u0275dir=r.lG2({type:t,selectors:[["","routerLink","",5,"a",5,"area"]],hostBindings:function(t,e){1&t&&r.NdJ("click",function(){return e.onClick()})},inputs:{routerLink:"routerLink",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[r.TTD]}),t})(),mi=(()=>{class t{constructor(t,e,i){this.router=t,this.route=e,this.locationStrategy=i,this.commands=[],this.onChanges=new _.x,this.subscription=t.events.subscribe(t=>{t instanceof U&&this.updateTargetUrlAndHref()})}set routerLink(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]}ngOnChanges(t){this.updateTargetUrlAndHref(),this.onChanges.next(this)}ngOnDestroy(){this.subscription.unsubscribe()}onClick(t,e,i,n,r){if(0!==t||e||i||n||r)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;const s={skipLocationChange:gi(this.skipLocationChange),replaceUrl:gi(this.replaceUrl),state:this.state};return this.router.navigateByUrl(this.urlTree,s),!1}updateTargetUrlAndHref(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:gi(this.preserveFragment)})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(pi),r.Y36(Gt),r.Y36(n.S$))},t.\u0275dir=r.lG2({type:t,selectors:[["a","routerLink",""],["area","routerLink",""]],hostVars:2,hostBindings:function(t,e){1&t&&r.NdJ("click",function(t){return e.onClick(t.button,t.ctrlKey,t.shiftKey,t.altKey,t.metaKey)}),2&t&&(r.Ikx("href",e.href,r.LSH),r.uIk("target",e.target))},inputs:{routerLink:"routerLink",target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",state:"state",relativeTo:"relativeTo"},features:[r.TTD]}),t})();function gi(t){return""===t||!!t}let yi=(()=>{class t{constructor(t,e,i,n,r,s){this.router=t,this.element=e,this.renderer=i,this.cdr=n,this.link=r,this.linkWithHref=s,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.routerEventsSubscription=t.events.subscribe(t=>{t instanceof U&&this.update()})}ngAfterContentInit(){(0,p.of)(this.links.changes,this.linksWithHrefs.changes,(0,p.of)(null)).pipe((0,F.J)()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){var t;null===(t=this.linkInputChangesSubscription)||void 0===t||t.unsubscribe();const e=[...this.links.toArray(),...this.linksWithHrefs.toArray(),this.link,this.linkWithHref].filter(t=>!!t).map(t=>t.onChanges);this.linkInputChangesSubscription=(0,d.Dp)(e).pipe((0,F.J)()).subscribe(t=>{this.isActive!==this.isLinkActive(this.router)(t)&&this.update()})}set routerLinkActive(t){const e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(t=>!!t)}ngOnChanges(t){this.update()}ngOnDestroy(){var t;this.routerEventsSubscription.unsubscribe(),null===(t=this.linkInputChangesSubscription)||void 0===t||t.unsubscribe()}update(){this.links&&this.linksWithHrefs&&this.router.navigated&&Promise.resolve().then(()=>{const t=this.hasActiveLinks();this.isActive!==t&&(this.isActive=t,this.cdr.markForCheck(),this.classes.forEach(e=>{t?this.renderer.addClass(this.element.nativeElement,e):this.renderer.removeClass(this.element.nativeElement,e)}))})}isLinkActive(t){const e="paths"in this.routerLinkActiveOptions?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>t.isActive(i.urlTree,e)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.linkWithHref&&t(this.linkWithHref)||this.links.some(t)||this.linksWithHrefs.some(t)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(pi),r.Y36(r.SBq),r.Y36(r.Qsj),r.Y36(r.sBO),r.Y36(fi,8),r.Y36(mi,8))},t.\u0275dir=r.lG2({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(t,e,i){if(1&t&&(r.Suo(i,fi,5),r.Suo(i,mi,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.links=t),r.iGM(t=r.CRH())&&(e.linksWithHrefs=t)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",routerLinkActive:"routerLinkActive"},exportAs:["routerLinkActive"],features:[r.TTD]}),t})(),bi=(()=>{class t{constructor(t,e,i,n,s){this.parentContexts=t,this.location=e,this.resolver=i,this.changeDetector=s,this.activated=null,this._activatedRoute=null,this.activateEvents=new r.vpe,this.deactivateEvents=new r.vpe,this.name=n||et,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,t}attach(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,e){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const i=(e=e||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),n=this.parentContexts.getOrCreateContext(this.name).children,r=new vi(t,n,this.location.injector);this.activated=this.location.createComponent(i,this.location.length,r),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(oi),r.Y36(r.s_b),r.Y36(r._Vd),r.$8M("name"),r.Y36(r.sBO))},t.\u0275dir=r.lG2({type:t,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate"},exportAs:["outlet"]}),t})();class vi{constructor(t,e,i){this.route=t,this.childContexts=e,this.parent=i}get(t,e){return t===Gt?this.route:t===oi?this.childContexts:this.parent.get(t,e)}}class _i{}class wi{preload(t,e){return(0,p.of)(null)}}let xi=(()=>{class t{constructor(t,e,i,n,r){this.router=t,this.injector=n,this.preloadingStrategy=r,this.loader=new ri(e,i,e=>t.triggerEvent(new Q(e)),e=>t.triggerEvent(new W(e)))}setUpPreloading(){this.subscription=this.router.events.pipe((0,w.h)(t=>t instanceof U),(0,O.b)(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(r.h0i);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,e){const i=[];for(const n of e)if(n.loadChildren&&!n.canLoad&&n._loadedConfig){const t=n._loadedConfig;i.push(this.processRoutes(t.module,t.routes))}else n.loadChildren&&!n.canLoad?i.push(this.preloadConfig(t,n)):n.children&&i.push(this.processRoutes(t,n.children));return(0,d.Dp)(i).pipe((0,F.J)(),(0,E.U)(t=>{}))}preloadConfig(t,e){return this.preloadingStrategy.preload(e,()=>(e._loadedConfig?(0,p.of)(e._loadedConfig):this.loader.load(t.injector,e)).pipe((0,R.z)(t=>(e._loadedConfig=t,this.processRoutes(t.module,t.routes)))))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(pi),r.LFG(r.v3s),r.LFG(r.Sil),r.LFG(r.zs3),r.LFG(_i))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),Ci=(()=>{class t{constructor(t,e,i={}){this.router=t,this.viewportScroller=e,this.options=i,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},i.scrollPositionRestoration=i.scrollPositionRestoration||"disabled",i.anchorScrolling=i.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof B?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof U&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof tt&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,e){this.router.triggerEvent(new tt(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,e))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(pi),r.LFG(n.EM),r.LFG(void 0))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();const Ai=new r.OlP("ROUTER_CONFIGURATION"),Si=new r.OlP("ROUTER_FORROOT_GUARD"),Ei=[n.Ye,{provide:xt,useClass:Ct},{provide:pi,useFactory:function(t,e,i,n,r,s,o,a={},l,c){const h=new pi(null,t,e,i,n,r,s,lt(o));return l&&(h.urlHandlingStrategy=l),c&&(h.routeReuseStrategy=c),function(t,e){t.errorHandler&&(e.errorHandler=t.errorHandler),t.malformedUriErrorHandler&&(e.malformedUriErrorHandler=t.malformedUriErrorHandler),t.onSameUrlNavigation&&(e.onSameUrlNavigation=t.onSameUrlNavigation),t.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=t.paramsInheritanceStrategy),t.relativeLinkResolution&&(e.relativeLinkResolution=t.relativeLinkResolution),t.urlUpdateStrategy&&(e.urlUpdateStrategy=t.urlUpdateStrategy)}(a,h),a.enableTracing&&h.events.subscribe(t=>{var e,i;null===(e=console.group)||void 0===e||e.call(console,`Router Event: ${t.constructor.name}`),console.log(t.toString()),console.log(t),null===(i=console.groupEnd)||void 0===i||i.call(console)}),h},deps:[xt,oi,n.Ye,r.zs3,r.v3s,r.Sil,ni,Ai,[class{},new r.FiY],[class{},new r.FiY]]},oi,{provide:Gt,useFactory:function(t){return t.routerState.root},deps:[pi]},{provide:r.v3s,useClass:r.EAV},xi,wi,class{preload(t,e){return e().pipe((0,I.K)(()=>(0,p.of)(null)))}},{provide:Ai,useValue:{enableTracing:!1}}];function ki(){return new r.PXZ("Router",pi)}let Ti=(()=>{class t{constructor(t,e){}static forRoot(e,i){return{ngModule:t,providers:[Ei,Oi(e),{provide:Si,useFactory:Ii,deps:[[pi,new r.FiY,new r.tp0]]},{provide:Ai,useValue:i||{}},{provide:n.S$,useFactory:Li,deps:[n.lw,[new r.tBr(n.mr),new r.FiY],Ai]},{provide:Ci,useFactory:Mi,deps:[pi,n.EM,Ai]},{provide:_i,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:wi},{provide:r.PXZ,multi:!0,useFactory:ki},[Di,{provide:r.ip1,multi:!0,useFactory:Ri,deps:[Di]},{provide:Pi,useFactory:Ni,deps:[Di]},{provide:r.tb,multi:!0,useExisting:Pi}]]}}static forChild(e){return{ngModule:t,providers:[Oi(e)]}}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(Si,8),r.LFG(pi,8))},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({}),t})();function Mi(t,e,i){return i.scrollOffset&&e.setOffset(i.scrollOffset),new Ci(t,e,i)}function Li(t,e,i={}){return i.useHash?new n.Do(t,e):new n.b0(t,e)}function Ii(t){return"guarded"}function Oi(t){return[{provide:r.deG,multi:!0,useValue:t},{provide:ni,multi:!0,useValue:t}]}let Di=(()=>{class t{constructor(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new _.x}appInitializer(){return this.injector.get(n.V_,Promise.resolve(null)).then(()=>{let t=null;const e=new Promise(e=>t=e),i=this.injector.get(pi),n=this.injector.get(Ai);return"disabled"===n.initialNavigation?(i.setUpLocationChangeListener(),t(!0)):"enabled"===n.initialNavigation||"enabledBlocking"===n.initialNavigation?(i.hooks.afterPreactivation=()=>this.initNavigation?(0,p.of)(null):(this.initNavigation=!0,t(!0),this.resultOfPreactivationDone),i.initialNavigation()):t(!0),e})}bootstrapListener(t){const e=this.injector.get(Ai),i=this.injector.get(xi),n=this.injector.get(Ci),s=this.injector.get(pi),o=this.injector.get(r.z2F);t===o.components[0]&&("enabledNonBlocking"!==e.initialNavigation&&void 0!==e.initialNavigation||s.initialNavigation(),i.setUpPreloading(),n.init(),s.resetRootComponentType(o.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(r.zs3))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();function Ri(t){return t.appInitializer.bind(t)}function Ni(t){return t.bootstrapListener.bind(t)}const Pi=new r.OlP("Router Initializer")},7592:(t,e,i)=>{"use strict";i.d(e,{BN:()=>kt,uH:()=>Tt});var n=i(1572);function r(t){return(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})(t)}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function o(t){for(var e=1;e0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function Q(t){return"".concat(t).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function W(t){return Object.keys(t||{}).reduce(function(e,i){return e+"".concat(i,": ").concat(t[i],";")},"")}function J(t){return t.size!==j.size||t.x!==j.x||t.y!==j.y||t.rotate!==j.rotate||t.flipX||t.flipY}function X(t){var e=t.transform,i=t.iconWidth,n={transform:"translate(".concat(t.containerWidth/2," 256)")},r="translate(".concat(32*e.x,", ").concat(32*e.y,") "),s="scale(".concat(e.size/16*(e.flipX?-1:1),", ").concat(e.size/16*(e.flipY?-1:1),") "),o="rotate(".concat(e.rotate," 0 0)");return{outer:n,inner:{transform:"".concat(r," ").concat(s," ").concat(o)},path:{transform:"translate(".concat(i/2*-1," -256)")}}}var K={x:0,y:0,width:"100%",height:"100%"};function $(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.attributes&&(t.attributes.fill||e)&&(t.attributes.fill="black"),t}function tt(t){var e=t.icons,i=e.main,n=e.mask,r=t.prefix,s=t.iconName,a=t.transform,l=t.symbol,c=t.title,h=t.maskId,u=t.titleId,d=t.extra,p=t.watchable,f=void 0!==p&&p,m=n.found?n:i,g=m.width,y=m.height,b="fak"===r,v=b?"":"fa-w-".concat(Math.ceil(g/y*16)),_=[w.replacementClass,s?"".concat(w.familyPrefix,"-").concat(s):"",v].filter(function(t){return-1===d.classes.indexOf(t)}).filter(function(t){return""!==t||!!t}).concat(d.classes).join(" "),x={children:[],attributes:o({},d.attributes,{"data-prefix":r,"data-icon":s,class:_,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(g," ").concat(y)})},C=b&&!~d.classes.indexOf("fa-fw")?{width:"".concat(g/y*16*.0625,"em")}:{};f&&(x.attributes["data-fa-i2svg"]=""),c&&x.children.push({tag:"title",attributes:{id:x.attributes["aria-labelledby"]||"title-".concat(u||V())},children:[c]});var A=o({},x,{prefix:r,iconName:s,main:i,mask:n,maskId:h,transform:a,symbol:l,styles:o({},C,d.styles)}),S=n.found&&i.found?function(t){var e,i=t.children,n=t.attributes,r=t.main,s=t.mask,a=t.maskId,l=r.icon,c=s.icon,h=X({transform:t.transform,containerWidth:s.width,iconWidth:r.width}),u={tag:"rect",attributes:o({},K,{fill:"white"})},d=l.children?{children:l.children.map($)}:{},p={tag:"g",attributes:o({},h.inner),children:[$(o({tag:l.tag,attributes:o({},l.attributes,h.path)},d))]},f={tag:"g",attributes:o({},h.outer),children:[p]},m="mask-".concat(a||V()),g="clip-".concat(a||V()),y={tag:"mask",attributes:o({},K,{id:m,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[u,f]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:(e=c,"g"===e.tag?e.children:[e])},y]};return i.push(b,{tag:"rect",attributes:o({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(m,")")},K)}),{children:i,attributes:n}}(A):function(t){var e=t.children,i=t.attributes,n=t.main,r=t.transform,s=W(t.styles);if(s.length>0&&(i.style=s),J(r)){var a=X({transform:r,containerWidth:n.width,iconWidth:n.width});e.push({tag:"g",attributes:o({},a.outer),children:[{tag:"g",attributes:o({},a.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:o({},n.icon.attributes,a.path)}]}]})}else e.push(n.icon);return{children:e,attributes:i}}(A),E=S.attributes;return A.children=S.children,A.attributes=E,l?function(t){var e=t.iconName,i=t.children,n=t.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:o({},t.attributes,{id:!0===n?"".concat(t.prefix,"-").concat(w.familyPrefix,"-").concat(e):n}),children:i}]}]}(A):function(t){var e=t.children,i=t.main,n=t.mask,r=t.attributes,s=t.styles,a=t.transform;if(J(a)&&i.found&&!n.found){var l={x:i.width/i.height/2,y:.5};r.style=W(o({},s,{"transform-origin":"".concat(l.x+a.x/16,"em ").concat(l.y+a.y/16,"em")}))}return[{tag:"svg",attributes:r,children:e}]}(A)}var et=function(t,e,i,n){var r,s,o,a=Object.keys(t),l=a.length,c=void 0!==n?function(t,e){return function(i,n,r,s){return t.call(e,i,n,r,s)}}(e,n):e;for(void 0===i?(r=1,o=t[a[0]]):(r=0,o=i);r2&&void 0!==arguments[2]?arguments[2]:{},n=i.skipHooks,r=void 0!==n&&n,s=Object.keys(e).reduce(function(t,i){var n=e[i];return n.icon?t[n.iconName]=n.icon:t[i]=n,t},{});"function"!=typeof C.hooks.addPack||r?C.styles[t]=o({},C.styles[t]||{},s):C.hooks.addPack(t,s),"fas"===t&&it("fa",e)}var nt=C.styles,rt=C.shims,st=function(){var t=function(t){return et(nt,function(e,i,n){return e[n]=et(i,t,{}),e},{})};t(function(t,e,i){return e[3]&&(t[e[3]]=i),t}),t(function(t,e,i){var n=e[2];return t[i]=i,n.forEach(function(e){t[e]=i}),t});var e="far"in nt;et(rt,function(t,i){var n=i[1];return"far"!==n||e||(n="fas"),t[i[0]]={prefix:n,iconName:i[2]},t},{})};function ot(t,e,i){if(t&&t[e]&&t[e][i])return{prefix:e,iconName:i,icon:t[e][i]}}function at(t){var e=t.tag,i=t.attributes,n=void 0===i?{}:i,r=t.children,s=void 0===r?[]:r;return"string"==typeof t?Q(t):"<".concat(e," ").concat(function(t){return Object.keys(t||{}).reduce(function(e,i){return e+"".concat(i,'="').concat(Q(t[i]),'" ')},"").trim()}(n),">").concat(s.map(at).join(""),"")}function lt(t){this.name="MissingIcon",this.message=t||"Icon unavailable",this.stack=(new Error).stack}st(),(lt.prototype=Object.create(Error.prototype)).constructor=lt;var ct={fill:"currentColor"},ht={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ut=(o({},ct,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),o({},ht,{attributeName:"opacity"}));function dt(t){var e=t[0],i=t[1],n=a(t.slice(4),1)[0];return{found:!0,width:e,height:i,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.GROUP)},children:[{tag:"path",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(w.familyPrefix,"-").concat(b.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}function pt(){w.autoAddCss&&!bt&&(function(t){if(t&&f){var e=p.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=t;for(var i=p.head.childNodes,n=null,r=i.length-1;r>-1;r--){var s=i[r],o=(s.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(n=s)}p.head.insertBefore(e,n)}}(function(){var t="fa",e=m,i=w.familyPrefix,n=w.replacementClass,r='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if(i!==t||n!==e){var s=new RegExp("\\.".concat(t,"\\-"),"g"),o=new RegExp("\\--".concat(t,"\\-"),"g"),a=new RegExp("\\.".concat(e),"g");r=r.replace(s,".".concat(i,"-")).replace(o,"--".concat(i,"-")).replace(a,".".concat(n))}return r}()),bt=!0)}function ft(t,e){return Object.defineProperty(t,"abstract",{get:e}),Object.defineProperty(t,"html",{get:function(){return t.abstract.map(function(t){return at(t)})}}),Object.defineProperty(t,"node",{get:function(){if(f){var e=p.createElement("div");return e.innerHTML=t.html,e.children}}}),t}function mt(t){var e=t.prefix,i=void 0===e?"fa":e,n=t.iconName;if(n)return ot(yt.definitions,i,n)||ot(C.styles,i,n)}o({},ct,{cx:"256",cy:"364",r:"28"}),o({},ht,{attributeName:"r",values:"28;14;28;28;14;28;"}),o({},ut,{values:"1;0;1;1;0;1;"}),o({},ct,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),o({},ut,{values:"1;0;0;0;0;1;"}),o({},ct,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),o({},ut,{values:"0;0;1;1;0;0;"});var gt,yt=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.definitions={}}var e;return(e=[{key:"add",value:function(){for(var t=this,e=arguments.length,i=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{},i=e.transform,n=void 0===i?j:i,r=e.symbol,s=void 0!==r&&r,a=e.mask,l=void 0===a?null:a,c=e.maskId,h=void 0===c?null:c,u=e.title,d=void 0===u?null:u,p=e.titleId,f=void 0===p?null:p,m=e.classes,g=void 0===m?[]:m,y=e.attributes,b=void 0===y?{}:y,v=e.styles,_=void 0===v?{}:v;if(t){var x=t.prefix,C=t.iconName,A=t.icon;return ft(o({type:"icon"},t),function(){return pt(),w.autoA11y&&(d?b["aria-labelledby"]="".concat(w.replacementClass,"-title-").concat(f||V()):(b["aria-hidden"]="true",b.focusable="false")),tt({icons:{main:dt(A),mask:l?dt(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:C,transform:o({},j,n),symbol:s,title:d,maskId:h,titleId:f,extra:{attributes:b,styles:_,classes:g}})})}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(t||{}).icon?t:mt(t||{}),n=e.mask;return n&&(n=(n||{}).icon?n:mt(n||{})),gt(i,o({},e,{mask:n}))}),_t=i(269);const wt=["*"];let xt=(()=>{class t{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null,this.globalLibrary=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})(),Ct=(()=>{class t{constructor(){this.definitions={}}addIcons(...t){for(const e of t)e.prefix in this.definitions||(this.definitions[e.prefix]={}),this.definitions[e.prefix][e.iconName]=e}addIconPacks(...t){for(const e of t){const t=Object.keys(e).map(t=>e[t]);this.addIcons(...t)}}getIconDefinition(t,e){return t in this.definitions&&e in this.definitions[t]?this.definitions[t][e]:null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=(0,n.Yz7)({factory:function(){return new t},token:t,providedIn:"root"}),t})();const At=t=>{const e={"fa-spin":t.spin,"fa-pulse":t.pulse,"fa-fw":t.fixedWidth,"fa-border":t.border,"fa-inverse":t.inverse,"fa-layers-counter":t.counter,"fa-flip-horizontal":"horizontal"===t.flip||"both"===t.flip,"fa-flip-vertical":"vertical"===t.flip||"both"===t.flip,[`fa-${t.size}`]:null!==t.size,[`fa-rotate-${t.rotate}`]:null!==t.rotate,[`fa-pull-${t.pull}`]:null!==t.pull,[`fa-stack-${t.stackItemSize}`]:null!=t.stackItemSize};return Object.keys(e).map(t=>e[t]?t:null).filter(t=>t)};let St=(()=>{class t{constructor(){this.stackItemSize="1x"}ngOnChanges(t){if("size"in t)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: ....')}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[n.TTD]}),t})(),Et=(()=>{class t{constructor(t,e){this.renderer=t,this.elementRef=e}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(t){"size"in t&&(null!=t.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${t.size.currentValue}`),null!=t.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${t.size.previousValue}`))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.Qsj),n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["fa-stack"]],inputs:{size:"size"},features:[n.TTD],ngContentSelectors:wt,decls:1,vars:0,template:function(t,e){1&t&&(n.F$t(),n.Hsn(0))},encapsulation:2}),t})(),kt=(()=>{class t{constructor(t,e,i,n,r){this.sanitizer=t,this.config=e,this.iconLibrary=i,this.stackItem=n,this.classes=[],null!=r&&null==n&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: .')}ngOnChanges(t){if(null==this.icon&&null==this.config.fallbackIcon)return(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})();let e=null;if(e=null==this.icon?this.config.fallbackIcon:this.icon,t){const t=this.findIconDefinition(e);if(null!=t){const e=this.buildParams();this.renderIcon(t,e)}}}render(){this.ngOnChanges({})}findIconDefinition(t){const e=((t,e)=>{return void 0!==(i=t).prefix&&void 0!==i.iconName?t:Array.isArray(t)&&2===t.length?{prefix:t[0],iconName:t[1]}:"string"==typeof t?{prefix:e,iconName:t}:void 0;var i})(t,this.config.defaultPrefix);if("icon"in e)return e;const i=this.iconLibrary.getIconDefinition(e.prefix,e.iconName);if(null!=i)return i;const n=mt(e);if(null!=n){const t="Global icon library is deprecated. Consult https://github.com/FortAwesome/angular-fontawesome/blob/master/UPGRADING.md for the migration instructions.";if("unset"===this.config.globalLibrary)console.error("FontAwesome: "+t);else if(!this.config.globalLibrary)throw new Error(t);return n}return(t=>{throw new Error(`Could not find icon with iconName=${t.iconName} and prefix=${t.prefix} in the icon library.`)})(e),null}buildParams(){const t={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},e="string"==typeof this.transform?function(t){var e={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t?t.toLowerCase().split(" ").reduce(function(t,e){var i=e.toLowerCase().split("-"),n=i[0],r=i.slice(1).join("-");if(n&&"h"===r)return t.flipX=!0,t;if(n&&"v"===r)return t.flipY=!0,t;if(r=parseFloat(r),isNaN(r))return t;switch(n){case"grow":t.size=t.size+r;break;case"shrink":t.size=t.size-r;break;case"left":t.x=t.x-r;break;case"right":t.x=t.x+r;break;case"up":t.y=t.y-r;break;case"down":t.y=t.y+r;break;case"rotate":t.rotate=t.rotate+r}return t},e):e}(this.transform):this.transform;return{title:this.title,transform:e,classes:[...At(t),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(t,e){const i=vt(t,e);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(i.html.join("\n"))}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(_t.H7),n.Y36(xt),n.Y36(Ct),n.Y36(St,8),n.Y36(Et,8))},t.\u0275cmp=n.Xpm({type:t,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(t,e){2&t&&(n.Ikx("innerHTML",e.renderedIconHTML,n.oJD),n.uIk("title",e.title))},inputs:{classes:"classes",icon:"icon",title:"title",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",transform:"transform",a11yRole:"a11yRole"},features:[n.TTD],decls:0,vars:0,template:function(t,e){},encapsulation:2}),t})(),Tt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})()},5291:(t,e,i)=>{"use strict";i.d(e,{Sbq:()=>n,Vfw:()=>r,N2j:()=>s,DL8:()=>o,BDt:()=>a,koM:()=>l,OS1:()=>c,mh3:()=>h,b7W:()=>u,kZ_:()=>d,q7m:()=>p,FlN:()=>f,KOR:()=>m,Ssp:()=>g,eHv:()=>y,Mdf:()=>b,Aq:()=>v,qO$:()=>_,vqe:()=>w,sqG:()=>x,Krp:()=>C,uli:()=>A,nNP:()=>S,byT:()=>E,SuH:()=>k,co4:()=>T,aj4:()=>M,kXW:()=>L,XsY:()=>I,USL:()=>O,r8p:()=>D,o4t:()=>R,Psp:()=>N,dLy:()=>P,FpQ:()=>F,wn1:()=>Z,xf3:()=>B,HLz:()=>U,NBC:()=>q,CgH:()=>z,B$L:()=>H,hkK:()=>Y,hnx:()=>G,gNZ:()=>j,FJU:()=>V,FVb:()=>Q,X5K:()=>W,wyP:()=>J});var n={prefix:"fas",iconName:"angle-double-down",icon:[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"]},r={prefix:"fas",iconName:"angle-double-up",icon:[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"]},s={prefix:"fas",iconName:"archive",icon:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"]},o={prefix:"fas",iconName:"balance-scale",icon:[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},a={prefix:"fas",iconName:"bolt",icon:[320,512,[],"f0e7","M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z"]},l={prefix:"fas",iconName:"chart-bar",icon:[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},c={prefix:"fas",iconName:"chart-pie",icon:[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"]},h={prefix:"fas",iconName:"code-branch",icon:[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"]},u={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},d={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},p={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},f={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"]},m={prefix:"fas",iconName:"eject",icon:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"]},g={prefix:"fas",iconName:"exchange-alt",icon:[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},y={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},b={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},v={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},_={prefix:"fas",iconName:"history",icon:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"]},w={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},x={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},C={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},A={prefix:"fas",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"]},S={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},E={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},k={prefix:"fas",iconName:"map-signs",icon:[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"]},T={prefix:"fas",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},M={prefix:"fas",iconName:"money-bill-wave",icon:[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"]},L={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"]},I={prefix:"fas",iconName:"paint-brush",icon:[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"]},O={prefix:"fas",iconName:"percentage",icon:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"]},D={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},R={prefix:"fas",iconName:"project-diagram",icon:[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"]},N={prefix:"fas",iconName:"question",icon:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"]},P={prefix:"fas",iconName:"receipt",icon:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"]},F={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Z={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},B={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"]},U={prefix:"fas",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},q={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},z={prefix:"fas",iconName:"tools",icon:[512,512,[],"f7d9","M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"]},H={prefix:"fas",iconName:"unlock-alt",icon:[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"]},Y={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"]},G={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"]},j={prefix:"fas",iconName:"user-cog",icon:[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"]},V={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"]},Q={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},W={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},J={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]}},5573:(t,e,i)=>{"use strict";i.d(e,{eX:()=>F,sQ:()=>tt,GW:()=>L,l4:()=>Z});var n,r=i(964),s=i(5446),o=i(2391),a=i(9666),l=i(4951),c=i(2041),h=i(9647),u=i(7849);!function(t){t.NEXT="N",t.ERROR="E",t.COMPLETE="C"}(n||(n={}));var d=function(){function t(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}return t.prototype.observe=function(t){return p(this,t)},t.prototype.do=function(t,e,i){var n=this,r=n.kind,s=n.error;return"N"===r?null==t?void 0:t(n.value):"E"===r?null==e?void 0:e(s):null==i?void 0:i()},t.prototype.accept=function(t,e,i){var n;return(0,u.m)(null===(n=t)||void 0===n?void 0:n.next)?this.observe(t):this.do(t,e,i)},t.prototype.toObservable=function(){var t=this,e=t.kind,i=t.error,n="N"===e?(0,c.of)(t.value):"E"===e?(0,h._)(function(){return i}):"C"===e?l.E:0;if(!n)throw new TypeError("Unexpected notification kind "+e);return n},t.createNext=function(e){return new t("N",e)},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return t.completeNotification},t.completeNotification=new t("C"),t}();function p(t,e){var i,n,r,s=t.kind,o=t.value,a=t.error;if("string"!=typeof s)throw new TypeError('Invalid notification, missing "kind"');"N"===s?null===(i=e.next)||void 0===i||i.call(e,o):"E"===s?null===(n=e.error)||void 0===n||n.call(e,a):null===(r=e.complete)||void 0===r||r.call(e)}var f=i(3386),m=i(4659),g=i(9162),y=i(5630);function b(t,e,i,n){return(0,f.e)(function(r,s){var l;e&&"function"!=typeof e?(i=e.duration,l=e.element,n=e.connector):l=e;var c=new Map,h=function(t){c.forEach(t),t(s)},u=function(t){return h(function(e){return e.error(t)})},d=new v(s,function(e){try{var r=t(e),h=c.get(r);if(!h){c.set(r,h=n?n():new a.x);var p=(g=r,b=h,(v=new o.y(function(t){d.activeGroups++;var e=b.subscribe(t);return function(){e.unsubscribe(),0==--d.activeGroups&&d.teardownAttempted&&d.unsubscribe()}})).key=g,v);if(s.next(p),i){var f=new m.Q(h,function(){h.complete(),null==f||f.unsubscribe()},void 0,void 0,function(){return c.delete(r)});d.add((0,y.Xf)(i(p)).subscribe(f))}}h.next(l?l(e):e)}catch(_){u(_)}var g,b,v},function(){return h(function(t){return t.complete()})},u,function(){return c.clear()});r.subscribe(d)})}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.activeGroups=0,e.teardownAttempted=!1,e}return(0,g.ZT)(e,t),e.prototype.unsubscribe=function(){this.teardownAttempted=!0,0===this.activeGroups&&t.prototype.unsubscribe.call(this)},e}(m.Q),_=i(1681);function w(t,e){return e?function(i){return i.pipe(w(function(i,n){return(0,y.Xf)(t(i,n)).pipe((0,_.U)(function(t,r){return e(i,t,n,r)}))}))}:(0,f.e)(function(e,i){var n=0,r=null,s=!1;e.subscribe(new m.Q(i,function(e){r||(r=new m.Q(i,void 0,function(){r=null,s&&i.complete()}),(0,y.Xf)(t(e,n++)).subscribe(r))},function(){s=!0,!r&&i.complete()}))})}var x=i(3286),C=i(1816),A=i(8868),S=i(7228),E=i(9056),k=i(1572);const T={dispatch:!0,useEffectsErrorHandler:!0},M="__@ngrx/effects_create__";function L(t,e){const i=t(),n=Object.assign(Object.assign({},T),e);return Object.defineProperty(i,M,{value:n}),i}function I(t){return Object.getOwnPropertyNames(t).filter(e=>!(!t[e]||!t[e].hasOwnProperty(M))&&t[e][M].hasOwnProperty("dispatch")).map(e=>Object.assign({propertyName:e},t[e][M]))}function O(t){return Object.getPrototypeOf(t)}const D="__@ngrx/effects__";function R(t){return(0,r.qC)(N,O)(t)}function N(t){return function(t){return t.constructor.hasOwnProperty(D)}(t)?t.constructor[D]:[]}function P(t,e,i=10){return t.pipe((0,C.K)(n=>(e&&e.handleError(n),i<=1?t:P(t,e,i-1))))}let F=(()=>{class t extends o.y{constructor(t){super(),t&&(this.source=t)}lift(e){const i=new t;return i.source=this,i.operator=e,i}}return t.\u0275fac=function(e){return new(e||t)(k.LFG(r.Y$))},t.\u0275prov=k.Yz7({token:t,factory:t.\u0275fac}),t})();function Z(...t){return(0,A.h)(e=>t.some(t=>"string"==typeof t?t===e.type:t.type===e.type))}function B(t){return U(t,"ngrxOnInitEffects")}function U(t,e){return t&&e in t&&"function"==typeof t[e]}const q=new k.OlP("@ngrx/effects Internal Root Guard"),z=new k.OlP("@ngrx/effects User Provided Effects"),H=new k.OlP("@ngrx/effects Internal Root Effects"),Y=new k.OlP("@ngrx/effects Root Effects"),G=new k.OlP("@ngrx/effects Internal Feature Effects"),j=new k.OlP("@ngrx/effects Feature Effects"),V=new k.OlP("@ngrx/effects Effects Error Handler");let Q=(()=>{class t extends a.x{constructor(t,e){super(),this.errorHandler=t,this.effectsErrorHandler=e}addEffects(t){this.next(t)}toActions(){return this.pipe(b(O),(0,S.z)(t=>t.pipe(b(W))),(0,S.z)(t=>{const e=t.pipe(w(t=>{return(e=this.errorHandler,i=this.effectsErrorHandler,t=>{const n=function(t,e,i){const n=O(t).constructor.name,r=(o=t,[R,I].reduce((t,e)=>t.concat(e(o)),[])).map(({propertyName:r,dispatch:s,useEffectsErrorHandler:o})=>{const a="function"==typeof t[r]?t[r]():t[r],l=o?i(a,e):a;return!1===s?l.pipe((0,x.l)()):l.pipe((0,f.e)(function(t,e){t.subscribe(new m.Q(e,function(t){e.next(d.createNext(t))},function(){e.next(d.createComplete()),e.complete()},function(t){e.next(d.createError(t)),e.complete()}))})).pipe((0,_.U)(e=>({effect:t[r],notification:e,propertyName:r,sourceName:n,sourceInstance:t})))});var o;return(0,s.T)(...r)}(t,e,i);return U(t,"ngrxOnRunEffects")?t.ngrxOnRunEffects(n):n})(t);var e,i}),(0,_.U)(t=>(function(t,e){if("N"===t.notification.kind){const i=t.notification.value;!function(t){return"function"!=typeof t&&t&&t.type&&"string"==typeof t.type}(i)&&e.handleError(new Error(`Effect ${function({propertyName:t,sourceInstance:e,sourceName:i}){const n="function"==typeof e[t];return`"${i}.${String(t)}${n?"()":""}"`}(t)} dispatched an invalid action: ${function(t){try{return JSON.stringify(t)}catch(e){return t}}(i)}`))}}(t,this.errorHandler),t.notification)),(0,A.h)(t=>"N"===t.kind&&null!=t.value),(0,f.e)(function(t,e){t.subscribe(new m.Q(e,function(t){return p(t,e)}))})),i=t.pipe((0,E.q)(1),(0,A.h)(B),(0,_.U)(t=>t.ngrxOnInitEffects()));return(0,s.T)(e,i)}))}}return t.\u0275fac=function(e){return new(e||t)(k.LFG(k.qLn),k.LFG(V))},t.\u0275prov=k.Yz7({token:t,factory:t.\u0275fac}),t})();function W(t){return U(t,"ngrxOnIdentifyEffects")?t.ngrxOnIdentifyEffects():""}let J=(()=>{class t{constructor(t,e){this.effectSources=t,this.store=e,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(k.LFG(Q),k.LFG(r.yh))},t.\u0275prov=k.Yz7({token:t,factory:t.\u0275fac}),t})();const X="@ngrx/effects/init";(0,r.PH)(X);let K=(()=>{class t{constructor(t,e,i,n,r,s,o){this.sources=t,e.start(),n.forEach(e=>t.addEffects(e)),i.dispatch({type:X})}addEffects(t){this.sources.addEffects(t)}}return t.\u0275fac=function(e){return new(e||t)(k.LFG(Q),k.LFG(J),k.LFG(r.yh),k.LFG(Y),k.LFG(r.cr,8),k.LFG(r.CK,8),k.LFG(q,8))},t.\u0275mod=k.oAB({type:t}),t.\u0275inj=k.cJS({}),t})(),$=(()=>{class t{constructor(t,e,i,n){e.forEach(e=>e.forEach(e=>t.addEffects(e)))}}return t.\u0275fac=function(e){return new(e||t)(k.LFG(K),k.LFG(j),k.LFG(r.cr,8),k.LFG(r.CK,8))},t.\u0275mod=k.oAB({type:t}),t.\u0275inj=k.cJS({}),t})(),tt=(()=>{class t{static forFeature(t=[]){return{ngModule:$,providers:[t,{provide:G,multi:!0,useValue:t},{provide:z,multi:!0,useValue:[]},{provide:j,multi:!0,useFactory:et,deps:[k.zs3,G,z]}]}}static forRoot(t=[]){return{ngModule:K,providers:[{provide:V,useValue:P},J,Q,F,t,{provide:H,useValue:[t]},{provide:q,useFactory:it,deps:[[J,new k.FiY,new k.tp0],[H,new k.PiD]]},{provide:z,multi:!0,useValue:[]},{provide:Y,useFactory:et,deps:[k.zs3,H,z]}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=k.oAB({type:t}),t.\u0275inj=k.cJS({}),t})();function et(t,e,i){const n=[];for(const r of e)n.push(...r);for(const r of i)n.push(...r);return function(t,e){return e.map(e=>t.get(e))}(t,n)}function it(t,e){if((1!==e.length||0!==e[0].length)&&t)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}},7876:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{FT:()=>StoreDevtoolsModule});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1572),_ngrx_store__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(964),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4951),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2391),rxjs__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(2041),rxjs__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(5446),rxjs__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(2873),rxjs__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(6407),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7839),rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(8868),rxjs_operators__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(1681),rxjs_operators__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(8196),rxjs_operators__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7411),rxjs_operators__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(5057),rxjs_operators__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(1816),rxjs_operators__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(9056),rxjs_operators__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(9568),rxjs_operators__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(4324),rxjs_operators__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(4444),rxjs_operators__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(8919),rxjs_operators__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(5653),rxjs_operators__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(8193);class StoreDevtoolsConfig{constructor(){this.maxAge=!1}}const STORE_DEVTOOLS_CONFIG=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Initial Config");function noMonitor(){return null}const DEFAULT_NAME="NgRx Store DevTools";function createConfig(t){const e={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0}},i="function"==typeof t?t():t,n=Object.assign({},e,{features:i.features||!!i.logOnly&&{pause:!0,export:!0,test:!0}||e.features},i);if(n.maxAge&&n.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${n.maxAge}`);return n}const PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING";class PerformAction{constructor(t,e){if(this.action=t,this.timestamp=e,this.type=PERFORM_ACTION,void 0===t.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}}class Refresh{constructor(){this.type=REFRESH}}class Reset{constructor(t){this.timestamp=t,this.type=RESET}}class Rollback{constructor(t){this.timestamp=t,this.type=ROLLBACK}}class Commit{constructor(t){this.timestamp=t,this.type=COMMIT}}class Sweep{constructor(){this.type=SWEEP}}class ToggleAction{constructor(t){this.id=t,this.type=TOGGLE_ACTION}}class SetActionsActive{constructor(t,e,i=!0){this.start=t,this.end=e,this.active=i,this.type=SET_ACTIONS_ACTIVE}}class JumpToState{constructor(t){this.index=t,this.type=JUMP_TO_STATE}}class JumpToAction{constructor(t){this.actionId=t,this.type=JUMP_TO_ACTION}}class ImportState{constructor(t){this.nextLiftedState=t,this.type=IMPORT_STATE}}class LockChanges{constructor(t){this.status=t,this.type=LOCK_CHANGES}}class PauseRecording{constructor(t){this.status=t,this.type=PAUSE_RECORDING}}let DevtoolsDispatcher=(()=>{class t extends _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO{}return t.\u0275fac=function(){let e;return function(i){return(e||(e=_angular_core__WEBPACK_IMPORTED_MODULE_0__.n5z(t)))(i||t)}}(),t.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:t,factory:t.\u0275fac}),t})();function difference(t,e){return t.filter(t=>e.indexOf(t)<0)}function unliftState(t){const{computedStates:e,currentStateIndex:i}=t;if(i>=e.length){const{state:t}=e[e.length-1];return t}const{state:n}=e[i];return n}function unliftAction(t){return t.actionsById[t.nextActionId-1]}function liftAction(t){return new PerformAction(t,+Date.now())}function sanitizeActions(t,e){return Object.keys(e).reduce((i,n)=>{const r=Number(n);return i[r]=sanitizeAction(t,e[r],r),i},{})}function sanitizeAction(t,e,i){return Object.assign(Object.assign({},e),{action:t(e.action,i)})}function sanitizeStates(t,e){return e.map((e,i)=>({state:sanitizeState(t,e.state,i),error:e.error}))}function sanitizeState(t,e,i){return t(e,i)}function shouldFilterActions(t){return t.predicate||t.actionsSafelist||t.actionsBlocklist}function filterLiftedState(t,e,i,n){const r=[],s={},o=[];return t.stagedActionIds.forEach((a,l)=>{const c=t.actionsById[a];c&&(l&&isActionFiltered(t.computedStates[l],c,e,i,n)||(s[a]=c,r.push(a),o.push(t.computedStates[l])))}),Object.assign(Object.assign({},t),{stagedActionIds:r,actionsById:s,computedStates:o})}function isActionFiltered(t,e,i,n,r){const s=i&&!i(t,e.action),o=n&&!e.action.type.match(n.map(t=>escapeRegExp(t)).join("|")),a=r&&e.action.type.match(r.map(t=>escapeRegExp(t)).join("|"));return s||o||a}function escapeRegExp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Redux Devtools Extension");let DevtoolsExtension=(()=>{class DevtoolsExtension{constructor(t,e,i){this.config=e,this.dispatcher=i,this.devtoolsExtension=t,this.createActionStreams()}notify(t,e){if(this.devtoolsExtension)if(t.type===PERFORM_ACTION){if(e.isLocked||e.isPaused)return;const i=unliftState(e);if(shouldFilterActions(this.config)&&isActionFiltered(i,t,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;const n=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,i,e.currentStateIndex):i,r=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,t,e.nextActionId):t;this.sendToReduxDevtools(()=>this.extensionConnection.send(r,n))}else{const t=Object.assign(Object.assign({},e),{stagedActionIds:e.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,e.actionsById):e.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,e.computedStates):e.computedStates});this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,t,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new rxjs__WEBPACK_IMPORTED_MODULE_3__.y(t=>{const e=this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=e,e.init(),e.subscribe(e=>t.next(e)),e.unsubscribe}):rxjs__WEBPACK_IMPORTED_MODULE_2__.E}createActionStreams(){const t=this.createChangesObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.B)()),e=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.START)),i=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.STOP)),n=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.DISPATCH),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(t=>this.unwrapAction(t.payload)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.b)(t=>t.type===IMPORT_STATE?this.dispatcher.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__.V)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__.b)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(()=>t),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.K)(()=>(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(t)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.q)(1)):(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(t))),r=t.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(t=>t.type===ExtensionActionTypes.ACTION),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(t=>this.unwrapAction(t.payload))).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i)),s=n.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i));this.start$=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(i)),this.actions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>r)),this.liftedActions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>s))}unwrapAction(action){return"string"==typeof action?eval(`(${action})`):action}getExtensionConfig(t){var e;const i={name:t.name,features:t.features,serialize:t.serialize,autoPause:null!==(e=t.autoPause)&&void 0!==e&&e};return!1!==t.maxAge&&(i.maxAge=t.maxAge),i}sendToReduxDevtools(t){try{t()}catch(e){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",e)}}}return DevtoolsExtension.\u0275fac=function(t){return new(t||DevtoolsExtension)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(REDUX_DEVTOOLS_EXTENSION),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher))},DevtoolsExtension.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsExtension,factory:DevtoolsExtension.\u0275fac}),DevtoolsExtension})();const INIT_ACTION={type:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(t,e,i,n,r){if(n)return{state:i,error:"Interrupted by an error up the chain"};let s,o=i;try{o=t(i,e)}catch(a){s=a.toString(),r.handleError(a)}return{state:o,error:s}}function recomputeStates(t,e,i,n,r,s,o,a,l){if(e>=t.length&&t.length===s.length)return t;const c=t.slice(0,e),h=s.length-(l?1:0);for(let u=e;u-1?l:computeNextEntry(i,e,h,d,a);c.push(p)}return l&&c.push(t[t.length-1]),c}function liftInitialState(t,e){return{monitorState:e(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:t,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(t,e,i,n,r={}){return s=>(o,a)=>{let{monitorState:l,actionsById:c,nextActionId:h,stagedActionIds:u,skippedActionIds:d,committedState:p,currentStateIndex:f,computedStates:m,isLocked:g,isPaused:y}=o||e;function b(t){let e=t,i=u.slice(1,e+1);for(let n=0;n-1===i.indexOf(t)),u=[0,...u.slice(e+1)],p=m[e].state,m=m.slice(e),f=f>e?f-e:0}function v(){c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],p=m[f].state,f=0,m=[]}o||(c=Object.create(c));let _=0;switch(a.type){case LOCK_CHANGES:g=a.status,_=1/0;break;case PAUSE_RECORDING:y=a.status,y?(u=[...u,h],c[h]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),h++,_=u.length-1,m=m.concat(m[m.length-1]),f===u.length-2&&f++,_=1/0):v();break;case RESET:c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],p=t,f=0,m=[];break;case COMMIT:v();break;case ROLLBACK:c={0:liftAction(INIT_ACTION)},h=1,u=[0],d=[],f=0,m=[];break;case TOGGLE_ACTION:{const{id:t}=a,e=d.indexOf(t);d=-1===e?[t,...d]:d.filter(e=>e!==t),_=u.indexOf(t);break}case SET_ACTIONS_ACTIVE:{const{start:t,end:e,active:i}=a,n=[];for(let r=t;rr.maxAge&&(m=recomputeStates(m,_,s,p,c,u,d,i,y),b(u.length-r.maxAge),_=1/0);break;case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb:if(m.filter(t=>t.error).length>0)_=0,r.maxAge&&u.length>r.maxAge&&(m=recomputeStates(m,_,s,p,c,u,d,i,y),b(u.length-r.maxAge),_=1/0);else{if(!y&&!g){f===u.length-1&&f++;const t=h++;c[t]=new PerformAction(a,+Date.now()),u=[...u,t],_=u.length-1,m=recomputeStates(m,_,s,p,c,u,d,i,y)}m=m.map(t=>Object.assign(Object.assign({},t),{state:s(t.state,RECOMPUTE_ACTION)})),f=u.length-1,r.maxAge&&u.length>r.maxAge&&b(u.length-r.maxAge),_=1/0}break;default:_=1/0}return m=recomputeStates(m,_,s,p,c,u,d,i,y),l=n(l,a),{monitorState:l,actionsById:c,nextActionId:h,stagedActionIds:u,skippedActionIds:d,committedState:p,currentStateIndex:f,computedStates:m,isLocked:g,isPaused:y}}}let StoreDevtools=(()=>{class t{constructor(t,e,i,n,r,s,o,a){const l=liftInitialState(o,a.monitor),c=liftReducerWith(o,l,s,a.monitor,a),h=(0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)((0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)(e.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_16__.T)(1)),n.actions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(liftAction)),t,n.liftedActions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_17__.Q)(rxjs__WEBPACK_IMPORTED_MODULE_18__.N)),u=i.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(c)),d=new rxjs__WEBPACK_IMPORTED_MODULE_19__.t(1),p=h.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_20__.M)(u),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_21__.R)(({state:t},[e,i])=>{let r=i(t,e);return e.type!==PERFORM_ACTION&&shouldFilterActions(a)&&(r=filterLiftedState(r,a.predicate,a.actionsSafelist,a.actionsBlocklist)),n.notify(e,r),{state:r,action:e}},{state:l,action:null})).subscribe(({state:t,action:e})=>{d.next(t),e.type===PERFORM_ACTION&&r.next(e.action)}),f=n.start$.subscribe(()=>{this.refresh()}),m=d.asObservable(),g=m.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(unliftState));this.extensionStartSubscription=f,this.stateSubscription=p,this.dispatcher=t,this.liftedState=m,this.state=g}dispatch(t){this.dispatcher.next(t)}next(t){this.dispatcher.next(t)}error(t){}complete(){}performAction(t){this.dispatch(new PerformAction(t,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(t){this.dispatch(new ToggleAction(t))}jumpToAction(t){this.dispatch(new JumpToAction(t))}jumpToState(t){this.dispatch(new JumpToState(t))}importState(t){this.dispatch(new ImportState(t))}lockChanges(t){this.dispatch(new LockChanges(t))}pauseRecording(t){this.dispatch(new PauseRecording(t))}}return t.\u0275fac=function(e){return new(e||t)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.n$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsExtension),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_angular_core__WEBPACK_IMPORTED_MODULE_0__.qLn),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y6),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG))},t.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:t,factory:t.\u0275fac}),t})();const IS_EXTENSION_OR_MONITOR_PRESENT=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(t,e){return Boolean(t)||e.monitor!==noMonitor}function createReduxDevtoolsExtension(){const t="__REDUX_DEVTOOLS_EXTENSION__";return"object"==typeof window&&void 0!==window[t]?window[t]:null}function createStateObservable(t){return t.state}let StoreDevtoolsModule=(()=>{class t{static instrument(e={}){return{ngModule:t,providers:[DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:e},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.FR,deps:[StoreDevtools],useFactory:createStateObservable},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.mK,useExisting:DevtoolsDispatcher}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_angular_core__WEBPACK_IMPORTED_MODULE_0__.oAB({type:t}),t.\u0275inj=_angular_core__WEBPACK_IMPORTED_MODULE_0__.cJS({}),t})()},964:(t,e,i)=>{"use strict";i.d(e,{UO:()=>y,qg:()=>g,Y6:()=>w,mK:()=>Y,n$:()=>H,Y$:()=>Q,FR:()=>J,yh:()=>tt,CK:()=>wt,Aw:()=>xt,cr:()=>_t,wb:()=>G,qC:()=>q,PH:()=>f});var n=i(1572),r=i(7425),s=i(2391),o=i(9666),a=i(2873),l=i(1681),c=i(8919),h=i(5653),u=i(8193),d=i(6424);const p={};function f(t,e){if(p[t]=(p[t]||0)+1,"function"==typeof e)return m(t,(...i)=>Object.assign(Object.assign({},e(...i)),{type:t}));switch(e?e._as:"empty"){case"empty":return m(t,()=>({type:t}));case"props":return m(t,e=>Object.assign(Object.assign({},e),{type:t}));default:throw new Error("Unexpected config.")}}function m(t,e){return Object.defineProperty(e,"type",{value:t,writable:!1})}const g="@ngrx/store/init";let y=(()=>{class t extends r.X{constructor(){super({type:g})}next(t){if("function"==typeof t)throw new TypeError("\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().");if(void 0===t)throw new TypeError("Actions must be objects");if(void 0===t.type)throw new TypeError("Actions must have a type property");super.next(t)}complete(){}ngOnDestroy(){super.complete()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const b=[y],v=new n.OlP("@ngrx/store Internal Root Guard"),_=new n.OlP("@ngrx/store Internal Initial State"),w=new n.OlP("@ngrx/store Initial State"),x=new n.OlP("@ngrx/store Reducer Factory"),C=new n.OlP("@ngrx/store Internal Reducer Factory Provider"),A=new n.OlP("@ngrx/store Initial Reducers"),S=new n.OlP("@ngrx/store Internal Initial Reducers"),E=new n.OlP("@ngrx/store Store Features"),k=new n.OlP("@ngrx/store Internal Store Reducers"),T=new n.OlP("@ngrx/store Internal Feature Reducers"),M=new n.OlP("@ngrx/store Internal Feature Configs"),L=new n.OlP("@ngrx/store Internal Store Features"),I=new n.OlP("@ngrx/store Internal Feature Reducers Token"),O=new n.OlP("@ngrx/store Feature Reducers"),D=new n.OlP("@ngrx/store User Provided Meta Reducers"),R=new n.OlP("@ngrx/store Meta Reducers"),N=new n.OlP("@ngrx/store Internal Resolved Meta Reducers"),P=new n.OlP("@ngrx/store User Runtime Checks Config"),F=new n.OlP("@ngrx/store Internal User Runtime Checks Config"),Z=new n.OlP("@ngrx/store Internal Runtime Checks"),B=new n.OlP("@ngrx/store Check if Action types are unique");function U(t,e={}){const i=Object.keys(t),n={};for(let s=0;se(t),i(e))}}function z(t,e){return Array.isArray(e)&&e.length>0&&(t=q.apply(null,[...e,t])),(e,i)=>{const n=t(e);return(t,e)=>n(t=void 0===t?i:t,e)}}class H extends s.y{}class Y extends y{}const G="@ngrx/store/update-reducers";let j=(()=>{class t extends r.X{constructor(t,e,i,n){super(n(i,e)),this.dispatcher=t,this.initialState=e,this.reducers=i,this.reducerFactory=n}addFeature(t){this.addFeatures([t])}addFeatures(t){const e=t.reduce((t,{reducers:e,reducerFactory:i,metaReducers:n,initialState:r,key:s})=>{const o="function"==typeof e?function(t){const e=Array.isArray(t)&&t.length>0?q(...t):t=>t;return(t,i)=>(t=e(t),(e,n)=>t(e=void 0===e?i:e,n))}(n)(e,r):z(i,n)(e,r);return t[s]=o,t},{});this.addReducers(e)}removeFeature(t){this.removeFeatures([t])}removeFeatures(t){this.removeReducers(t.map(t=>t.key))}addReducer(t,e){this.addReducers({[t]:e})}addReducers(t){this.reducers=Object.assign(Object.assign({},this.reducers),t),this.updateReducers(Object.keys(t))}removeReducer(t){this.removeReducers([t])}removeReducers(t){t.forEach(t=>{var e,i;this.reducers=(e=this.reducers,i=t,Object.keys(e).filter(t=>t!==i).reduce((t,i)=>Object.assign(t,{[i]:e[i]}),{}))}),this.updateReducers(t)}updateReducers(t){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:G,features:t})}ngOnDestroy(){this.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(Y),n.LFG(w),n.LFG(A),n.LFG(x))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const V=[j,{provide:H,useExisting:j},{provide:Y,useExisting:y}];let Q=(()=>{class t extends o.x{ngOnDestroy(){this.complete()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const W=[Q];class J extends s.y{}let X=(()=>{class t extends r.X{constructor(t,e,i,n){super(n);const r=t.pipe((0,c.Q)(a.N)).pipe((0,h.M)(e)).pipe((0,u.R)(K,{state:n}));this.stateSubscription=r.subscribe(({state:t,action:e})=>{this.next(t),i.next(e)})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(y),n.LFG(H),n.LFG(Q),n.LFG(w))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t.INIT=g,t})();function K(t={state:void 0},[e,i]){const{state:n}=t;return{state:i(n,e),action:e}}const $=[X,{provide:J,useExisting:X}];let tt=(()=>{class t extends s.y{constructor(t,e,i){super(),this.actionsObserver=e,this.reducerManager=i,this.source=t}select(t,...e){return it.call(null,t,...e)(this)}lift(e){const i=new t(this,this.actionsObserver,this.reducerManager);return i.operator=e,i}dispatch(t){this.actionsObserver.next(t)}next(t){this.actionsObserver.next(t)}error(t){this.actionsObserver.error(t)}complete(){this.actionsObserver.complete()}addReducer(t,e){this.reducerManager.addReducer(t,e)}removeReducer(t){this.reducerManager.removeReducer(t)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(J),n.LFG(y),n.LFG(j))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})();const et=[tt];function it(t,e,...i){return function(n){let r;if("string"==typeof t){const s=[e,...i].filter(Boolean);r=n.pipe(function(){for(var t=[],e=0;et(i,e)))}return r.pipe((0,d.x)())}}const nt="https://ngrx.io/guide/store/configuration/runtime-checks";function rt(t){return void 0===t}function st(t){return null===t}function ot(t){return Array.isArray(t)}function at(t){return"object"==typeof t&&null!==t}function lt(t){return"function"==typeof t}function ct(t){Object.freeze(t);const e=lt(t);return Object.getOwnPropertyNames(t).forEach(i=>{if(!i.startsWith("\u0275")&&function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(t,i)&&(!e||"caller"!==i&&"callee"!==i&&"arguments"!==i)){const e=t[i];!at(e)&&!lt(e)||Object.isFrozen(e)||ct(e)}}),t}function ht(t,e=[]){return(rt(t)||st(t))&&0===e.length?{path:["root"],value:t}:Object.keys(t).reduce((i,n)=>{if(i)return i;const r=t[n];return function(t){return lt(t)&&t.hasOwnProperty("\u0275cmp")}(r)?i:!(rt(r)||st(r)||function(t){return"number"==typeof t}(r)||function(t){return"boolean"==typeof t}(r)||function(t){return"string"==typeof t}(r)||ot(r))&&(function(t){if(!function(t){return at(t)&&!ot(t)}(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}(r)?ht(r,[...e,n]):{path:[...e,n],value:r})},!1)}function ut(t,e){if(!1===t)return;const i=t.path.join("."),n=new Error(`Detected unserializable ${e} at "${i}". ${nt}#strict${e}serializability`);throw n.value=t.value,n.unserializablePath=i,n}function dt(t){return(0,n.X6Q)()?Object.assign({strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1},t):{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function pt({strictActionSerializability:t,strictStateSerializability:e}){return i=>t||e?function(t,e){return function(i,n){e.action(n)&&ut(ht(n),"action");const r=t(i,n);return e.state()&&ut(ht(r),"state"),r}}(i,{action:e=>t&&!mt(e),state:()=>e}):i}function ft({strictActionImmutability:t,strictStateImmutability:e}){return i=>t||e?function(t,e){return function(i,n){const r=e.action(n)?ct(n):n,s=t(i,r);return e.state()?ct(s):s}}(i,{action:e=>t&&!mt(e),state:()=>e}):i}function mt(t){return t.type.startsWith("@ngrx")}function gt({strictActionWithinNgZone:t}){return e=>t?function(t,e){return function(i,r){if(e.action(r)&&!n.R0b.isInAngularZone())throw new Error(`Action '${r.type}' running outside NgZone. ${nt}#strictactionwithinngzone`);return t(i,r)}}(e,{action:e=>t&&!mt(e)}):e}function yt(){return[{provide:B,multi:!0,deps:[Z],useFactory:vt}]}function bt(t){return t}function vt(t){if(!t.strictActionTypeUniqueness)return;const e=Object.entries(p).filter(([,t])=>t>1).map(([t])=>t);if(e.length)throw new Error(`Action types are registered more than once, ${e.map(t=>`"${t}"`).join(", ")}. ${nt}#strictactiontypeuniqueness`)}let _t=(()=>{class t{constructor(t,e,i,n,r,s){}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(y),n.LFG(H),n.LFG(Q),n.LFG(tt),n.LFG(v,8),n.LFG(B,8))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})(),wt=(()=>{class t{constructor(t,e,i,n,r){this.features=t,this.featureReducers=e,this.reducerManager=i;const s=t.map((t,i)=>{const n=e.shift()[i];return Object.assign(Object.assign({},t),{reducers:n,initialState:Et(t.initialState)})});i.addFeatures(s)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(L),n.LFG(O),n.LFG(j),n.LFG(_t),n.LFG(B,8))},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})(),xt=(()=>{class t{static forRoot(t,e={}){return{ngModule:_t,providers:[{provide:v,useFactory:Tt,deps:[[tt,new n.FiY,new n.tp0]]},{provide:_,useValue:e.initialState},{provide:w,useFactory:Et,deps:[_]},{provide:S,useValue:t},{provide:k,useExisting:t instanceof n.OlP?t:S},{provide:A,deps:[n.zs3,S,[new n.tBr(k)]],useFactory:Ct},{provide:D,useValue:e.metaReducers?e.metaReducers:[]},{provide:N,deps:[R,D],useFactory:kt},{provide:C,useValue:e.reducerFactory?e.reducerFactory:U},{provide:x,deps:[C,N],useFactory:z},b,V,W,$,et,(i=e.runtimeChecks,[{provide:F,useValue:i},{provide:P,useFactory:bt,deps:[F]},{provide:Z,deps:[P],useFactory:dt},{provide:R,multi:!0,deps:[Z],useFactory:ft},{provide:R,multi:!0,deps:[Z],useFactory:pt},{provide:R,multi:!0,deps:[Z],useFactory:gt}]),yt()]};var i}static forFeature(t,e,i={}){return{ngModule:wt,providers:[{provide:M,multi:!0,useValue:t instanceof Object?{}:i},{provide:E,multi:!0,useValue:{key:t instanceof Object?t.name:t,reducerFactory:i instanceof n.OlP||!i.reducerFactory?U:i.reducerFactory,metaReducers:i instanceof n.OlP||!i.metaReducers?[]:i.metaReducers,initialState:i instanceof n.OlP||!i.initialState?void 0:i.initialState}},{provide:L,deps:[n.zs3,M,E],useFactory:At},{provide:T,multi:!0,useValue:t instanceof Object?t.reducer:e},{provide:I,multi:!0,useExisting:e instanceof n.OlP?e:T},{provide:O,multi:!0,deps:[n.zs3,T,[new n.tBr(I)]],useFactory:St},yt()]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({}),t})();function Ct(t,e){return e instanceof n.OlP?t.get(e):e}function At(t,e,i){return i.map((i,r)=>{if(e[r]instanceof n.OlP){const n=t.get(e[r]);return{key:i.key,reducerFactory:n.reducerFactory?n.reducerFactory:U,metaReducers:n.metaReducers?n.metaReducers:[],initialState:n.initialState}}return i})}function St(t,e){return e.map(e=>e instanceof n.OlP?t.get(e):e)}function Et(t){return"function"==typeof t?t():t}function kt(t,e){return t.concat(e)}function Tt(t){if(t)throw new TypeError("StoreModule.forRoot() called twice. Feature modules should use StoreModule.forFeature() instead.");return"guarded"}},2281:(t,e)=>{"use strict";function i(t){return Object.keys(t).map(e=>t[e])}var n;Object.defineProperty(e,"__esModule",{value:!0}),(n=e.HashAlgorithms||(e.HashAlgorithms={})).SHA1="sha1",n.SHA256="sha256",n.SHA512="sha512";const r=i(e.HashAlgorithms);var s;(s=e.KeyEncodings||(e.KeyEncodings={})).ASCII="ascii",s.BASE64="base64",s.HEX="hex",s.LATIN1="latin1",s.UTF8="utf8";const o=i(e.KeyEncodings);var a;(a=e.Strategy||(e.Strategy={})).HOTP="hotp",a.TOTP="totp";const l=i(e.Strategy),c=()=>{throw new Error("Please provide an options.createDigest implementation.")};function h(t){return/^(\d+)$/.test(t)}function u(t,e,i){return t.length>=e?t:`${Array(e+1).join(i)}${t}`.slice(-1*e)}function d(t){const e=`otpauth://${t.type}/{labelPrefix}:{accountName}?secret={secret}{query}`,i=[];if(l.indexOf(t.type)<0)throw new Error(`Expecting options.type to be one of ${l.join(", ")}. Received ${t.type}.`);if("hotp"===t.type){if(null==t.counter||"number"!=typeof t.counter)throw new Error('Expecting options.counter to be a number when options.type is "hotp".');i.push(`&counter=${t.counter}`)}return"totp"===t.type&&t.step&&i.push(`&period=${t.step}`),t.digits&&i.push(`&digits=${t.digits}`),t.algorithm&&i.push(`&algorithm=${t.algorithm.toUpperCase()}`),t.issuer&&i.push(`&issuer=${encodeURIComponent(t.issuer)}`),e.replace("{labelPrefix}",encodeURIComponent(t.issuer||t.accountName)).replace("{accountName}",encodeURIComponent(t.accountName)).replace("{secret}",t.secret).replace("{query}",i.join(""))}class p{constructor(t={}){this._defaultOptions=Object.freeze({...t}),this._options=Object.freeze({})}create(t={}){return new p(t)}clone(t={}){const e=this.create({...this._defaultOptions,...t});return e.options=this._options,e}get options(){return Object.freeze({...this._defaultOptions,...this._options})}set options(t){this._options=Object.freeze({...this._options,...t})}allOptions(){return this.options}resetOptions(){this._options=Object.freeze({})}}function f(t){if("function"!=typeof t.createDigest)throw new Error("Expecting options.createDigest to be a function.");if("function"!=typeof t.createHmacKey)throw new Error("Expecting options.createHmacKey to be a function.");if("number"!=typeof t.digits)throw new Error("Expecting options.digits to be a number.");if(!t.algorithm||r.indexOf(t.algorithm)<0)throw new Error(`Expecting options.algorithm to be one of ${r.join(", ")}. Received ${t.algorithm}.`);if(!t.encoding||o.indexOf(t.encoding)<0)throw new Error(`Expecting options.encoding to be one of ${o.join(", ")}. Received ${t.encoding}.`)}const m=(t,e,i)=>Buffer.from(e,i).toString("hex");function g(){return{algorithm:e.HashAlgorithms.SHA1,createHmacKey:m,createDigest:c,digits:6,encoding:e.KeyEncodings.ASCII}}function y(t){const e={...g(),...t};return f(e),Object.freeze(e)}function b(t){return u(t.toString(16),16,"0")}function v(t,e){const i=Buffer.from(t,"hex"),n=15&i[i.length-1],r=((127&i[n])<<24|(255&i[n+1])<<16|(255&i[n+2])<<8|255&i[n+3])%Math.pow(10,e);return u(String(r),e,"0")}function _(t,e,i){return v(i.digest||function(t,e,i){const n=b(e),r=i.createHmacKey(i.algorithm,t,i.encoding);return i.createDigest(i.algorithm,r,n)}(t,e,i),i.digits)}function w(t,e,i,n){return!!h(t)&&t===_(e,i,n)}function x(t,i,n,r,s){return d({algorithm:s.algorithm,digits:s.digits,type:e.Strategy.HOTP,accountName:t,counter:r,issuer:i,secret:n})}class C extends p{create(t={}){return new C(t)}allOptions(){return y(this.options)}generate(t,e){return _(t,e,this.allOptions())}check(t,e,i){return w(t,e,i,this.allOptions())}verify(t){if("object"!=typeof t)throw new Error("Expecting argument 0 of verify to be an object");return this.check(t.token,t.secret,t.counter)}keyuri(t,e,i,n){return x(t,e,i,n,this.allOptions())}}function A(t){if("number"==typeof t)return[Math.abs(t),Math.abs(t)];if(Array.isArray(t)){const[e,i]=t;if("number"==typeof e&&"number"==typeof i)return[Math.abs(e),Math.abs(i)]}throw new Error("Expecting options.window to be an number or [number, number].")}function S(t){if(f(t),A(t.window),"number"!=typeof t.epoch)throw new Error("Expecting options.epoch to be a number.");if("number"!=typeof t.step)throw new Error("Expecting options.step to be a number.")}const E=(t,e,i)=>{const n=t.length,r=Buffer.from(t,e).toString("hex");if(n{switch(t){case e.HashAlgorithms.SHA1:return E(i,n,20);case e.HashAlgorithms.SHA256:return E(i,n,32);case e.HashAlgorithms.SHA512:return E(i,n,64);default:throw new Error(`Expecting algorithm to be one of ${r.join(", ")}. Received ${t}.`)}};function T(){return{algorithm:e.HashAlgorithms.SHA1,createDigest:c,createHmacKey:k,digits:6,encoding:e.KeyEncodings.ASCII,epoch:Date.now(),step:30,window:0}}function M(t){const e={...T(),...t};return S(e),Object.freeze(e)}function L(t,e){return Math.floor(t/e/1e3)}function I(t,e){return _(t,L(e.epoch,e.step),e)}function O(t,e,i,n){const r=[];if(0===n)return r;for(let s=1;s<=n;s++)r.push(t+e*s*i);return r}function D(t,e,i){const n=A(i),r=1e3*e;return{current:t,past:O(t,-1,r,n[0]),future:O(t,1,r,n[1])}}function R(t,e,i){return!!h(t)&&t===I(e,i)}function N(t,e,i,n){let r=null;return t.some((t,s)=>!!R(e,i,{...n,epoch:t})&&(r=s+1,!0)),r}function P(t,e,i){if(R(t,e,i))return 0;const n=D(i.epoch,i.step,i.window),r=N(n.past,t,e,i);return null!==r?-1*r:N(n.future,t,e,i)}function F(t,e){return Math.floor(t/1e3)%e}function Z(t,e){return e-F(t,e)}function B(t,i,n,r){return d({algorithm:r.algorithm,digits:r.digits,step:r.step,type:e.Strategy.TOTP,accountName:t,issuer:i,secret:n})}class U extends C{create(t={}){return new U(t)}allOptions(){return M(this.options)}generate(t){return I(t,this.allOptions())}checkDelta(t,e){return P(t,e,this.allOptions())}check(t,e){return"number"==typeof this.checkDelta(t,e)}verify(t){if("object"!=typeof t)throw new Error("Expecting argument 0 of verify to be an object");return this.check(t.token,t.secret)}timeRemaining(){const t=this.allOptions();return Z(t.epoch,t.step)}timeUsed(){const t=this.allOptions();return F(t.epoch,t.step)}keyuri(t,e,i){return B(t,e,i,this.allOptions())}}function q(t){if(S(t),"function"!=typeof t.keyDecoder)throw new Error("Expecting options.keyDecoder to be a function.");if(t.keyEncoder&&"function"!=typeof t.keyEncoder)throw new Error("Expecting options.keyEncoder to be a function.")}function z(){return{algorithm:e.HashAlgorithms.SHA1,createDigest:c,createHmacKey:k,digits:6,encoding:e.KeyEncodings.HEX,epoch:Date.now(),step:30,window:0}}function H(t){const e={...z(),...t};return q(e),Object.freeze(e)}function Y(t,e){return e.keyEncoder(t,e.encoding)}function G(t,e){return e.keyDecoder(t,e.encoding)}function j(t,e){return Y(e.createRandomBytes(t,e.encoding),e)}function V(t,e){return I(G(t,e),e)}function Q(t,e,i){return P(t,G(e,i),i)}class W extends U{create(t={}){return new W(t)}allOptions(){return H(this.options)}generate(t){return V(t,this.allOptions())}checkDelta(t,e){return Q(t,e,this.allOptions())}encode(t){return Y(t,this.allOptions())}decode(t){return G(t,this.allOptions())}generateSecret(t=10){return j(t,this.allOptions())}}e.Authenticator=W,e.HASH_ALGORITHMS=r,e.HOTP=C,e.KEY_ENCODINGS=o,e.OTP=p,e.STRATEGY=l,e.TOTP=U,e.authenticatorCheckWithWindow=Q,e.authenticatorDecoder=G,e.authenticatorDefaultOptions=z,e.authenticatorEncoder=Y,e.authenticatorGenerateSecret=j,e.authenticatorOptionValidator=q,e.authenticatorOptions=H,e.authenticatorToken=V,e.createDigestPlaceholder=c,e.hotpCheck=w,e.hotpCounter=b,e.hotpCreateHmacKey=m,e.hotpDefaultOptions=g,e.hotpDigestToToken=v,e.hotpKeyuri=x,e.hotpOptions=y,e.hotpOptionsValidator=f,e.hotpToken=_,e.isTokenValid=h,e.keyuri=d,e.objectValues=i,e.padStart=u,e.totpCheck=R,e.totpCheckByEpoch=N,e.totpCheckWithWindow=P,e.totpCounter=L,e.totpCreateHmacKey=k,e.totpDefaultOptions=T,e.totpEpochAvailable=D,e.totpKeyuri=B,e.totpOptions=M,e.totpOptionsValidator=S,e.totpPadSecret=E,e.totpTimeRemaining=Z,e.totpTimeUsed=F,e.totpToken=I},6801:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r=(n=i(7508))&&"object"==typeof n&&"default"in n?n.default:n;e.createDigest=(t,e,i)=>r.createHmac(t,Buffer.from(e,"hex")).update(Buffer.from(i,"hex")).digest().toString("hex"),e.createRandomBytes=(t,e)=>r.randomBytes(t).toString(e)},9906:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r=(n=i(115))&&"object"==typeof n&&"default"in n?n.default:n;e.keyDecoder=(t,e)=>r.decode(t).toString(e),e.keyEncoder=(t,e)=>r.encode(Buffer.from(t,e).toString("ascii")).toString().replace(/=/g,"")},5097:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(6801),r=i(9906),s=i(2281);const o=new s.HOTP({createDigest:n.createDigest}),a=new s.TOTP({createDigest:n.createDigest}),l=new s.Authenticator({createDigest:n.createDigest,createRandomBytes:n.createRandomBytes,keyDecoder:r.keyDecoder,keyEncoder:r.keyEncoder});e.authenticator=l,e.hotp=o,e.totp=a},1905:(t,e,i)=>{"use strict";i.d(e,{H5:()=>va,K$:()=>ba,a4:()=>Oa});var n=i(1572),r=i(1511),s=i(709),o=i(6899),a=i(5960),l=i(5057);function c(){}function h(t){return null==t?c:function(){return this.querySelector(t)}}function u(){return[]}function d(t){return null==t?u:function(){return this.querySelectorAll(t)}}function p(t){return function(){return this.matches(t)}}function f(t){return new Array(t.length)}function m(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function g(t,e,i,n,r,s){for(var o,a=0,l=e.length,c=s.length;ae?1:t>=e?0:NaN}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var v="http://www.w3.org/1999/xhtml";const _={svg:"http://www.w3.org/2000/svg",xhtml:v,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function w(t){var e=t+="",i=e.indexOf(":");return i>=0&&"xmlns"!==(e=t.slice(0,i))&&(t=t.slice(i+1)),_.hasOwnProperty(e)?{space:_[e],local:t}:t}function x(t){return function(){this.removeAttribute(t)}}function C(t){return function(){this.removeAttributeNS(t.space,t.local)}}function A(t,e){return function(){this.setAttribute(t,e)}}function S(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function E(t,e){return function(){var i=e.apply(this,arguments);null==i?this.removeAttribute(t):this.setAttribute(t,i)}}function k(t,e){return function(){var i=e.apply(this,arguments);null==i?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,i)}}function T(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function M(t){return function(){this.style.removeProperty(t)}}function L(t,e,i){return function(){this.style.setProperty(t,e,i)}}function I(t,e,i){return function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,i)}}function O(t,e){return t.style.getPropertyValue(e)||T(t).getComputedStyle(t,null).getPropertyValue(e)}function D(t){return function(){delete this[t]}}function R(t,e){return function(){this[t]=e}}function N(t,e){return function(){var i=e.apply(this,arguments);null==i?delete this[t]:this[t]=i}}function P(t){return t.trim().split(/^|\s+/)}function F(t){return t.classList||new Z(t)}function Z(t){this._node=t,this._names=P(t.getAttribute("class")||"")}function B(t,e){for(var i=F(t),n=-1,r=e.length;++n=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var st={},ot=null;function at(t,e,i){return t=lt(t,e,i),function(e){var i=e.relatedTarget;i&&(i===this||8&i.compareDocumentPosition(this))||t.call(this,e)}}function lt(t,e,i){return function(n){var r=ot;ot=n;try{t.call(this,this.__data__,e,i)}finally{ot=r}}}function ct(t){return t.trim().split(/^|\s+/).map(function(t){var e="",i=t.indexOf(".");return i>=0&&(e=t.slice(i+1),t=t.slice(0,i)),{type:t,name:e}})}function ht(t){return function(){var e=this.__on;if(e){for(var i,n=0,r=-1,s=e.length;n=C&&(C=x+1);!(w=v[C])&&++C=0;)(n=r[s])&&(o&&4^n.compareDocumentPosition(o)&&o.parentNode.insertBefore(n,o),o=n);return this},sort:function(t){function e(e,i){return e&&i?t(e.__data__,i.__data__):!e-!i}t||(t=b);for(var i=this._groups,n=i.length,r=new Array(n),s=0;s1?this.each((null==e?M:"function"==typeof e?I:L)(t,e,null==i?"":i)):O(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?D:"function"==typeof e?N:R)(t,e)):this.node()[t]},classed:function(t,e){var i=P(t+"");if(arguments.length<2){for(var n=F(this.node()),r=-1,s=i.length;++r=0&&(i=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:i}})}function Ct(t,e){for(var i,n=0,r=t.length;n0)for(var i,n,r=new Array(i),s=0;s>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===i?jt(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===i?jt(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Nt.exec(t))?new Wt(e[1],e[2],e[3],1):(e=Pt.exec(t))?new Wt(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Ft.exec(t))?jt(e[1],e[2],e[3],e[4]):(e=Zt.exec(t))?jt(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Bt.exec(t))?$t(e[1],e[2]/100,e[3]/100,1):(e=Ut.exec(t))?$t(e[1],e[2]/100,e[3]/100,e[4]):qt.hasOwnProperty(t)?Gt(qt[t]):"transparent"===t?new Wt(NaN,NaN,NaN,0):null}function Gt(t){return new Wt(t>>16&255,t>>8&255,255&t,1)}function jt(t,e,i,n){return n<=0&&(t=e=i=NaN),new Wt(t,e,i,n)}function Vt(t){return t instanceof Tt||(t=Yt(t)),t?new Wt((t=t.rgb()).r,t.g,t.b,t.opacity):new Wt}function Qt(t,e,i,n){return 1===arguments.length?Vt(t):new Wt(t,e,i,null==n?1:n)}function Wt(t,e,i,n){this.r=+t,this.g=+e,this.b=+i,this.opacity=+n}function Jt(){return"#"+Kt(this.r)+Kt(this.g)+Kt(this.b)}function Xt(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Kt(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function $t(t,e,i,n){return n<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new ee(t,e,i,n)}function te(t){if(t instanceof ee)return new ee(t.h,t.s,t.l,t.opacity);if(t instanceof Tt||(t=Yt(t)),!t)return new ee;if(t instanceof ee)return t;var e=(t=t.rgb()).r/255,i=t.g/255,n=t.b/255,r=Math.min(e,i,n),s=Math.max(e,i,n),o=NaN,a=s-r,l=(s+r)/2;return a?(o=e===s?(i-n)/a+6*(i0&&l<1?0:o,new ee(o,a,l,t.opacity)}function ee(t,e,i,n){this.h=+t,this.s=+e,this.l=+i,this.opacity=+n}function ie(t,e,i){return 255*(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)}function ne(t,e,i,n,r){var s=t*t,o=s*t;return((1-3*t+3*s-o)*e+(4-6*s+3*o)*i+(1+3*t+3*s-3*o)*n+o*r)/6}function re(t){return function(){return t}}function se(t,e){var i=e-t;return i?function(t,e){return function(i){return t+i*e}}(t,i):re(isNaN(t)?e:t)}Et(Tt,Yt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:zt,formatHex:zt,formatHsl:function(){return te(this).formatHsl()},formatRgb:Ht,toString:Ht}),Et(Wt,Qt,kt(Tt,{brighter:function(t){return t=null==t?Lt:Math.pow(Lt,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?Mt:Math.pow(Mt,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Jt,formatHex:Jt,formatRgb:Xt,toString:Xt})),Et(ee,function(t,e,i,n){return 1===arguments.length?te(t):new ee(t,e,i,null==n?1:n)},kt(Tt,{brighter:function(t){return t=null==t?Lt:Math.pow(Lt,t),new ee(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Mt:Math.pow(Mt,t),new ee(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,n=i+(i<.5?i:1-i)*e,r=2*i-n;return new Wt(ie(t>=240?t-240:t+120,r,n),ie(t,r,n),ie(t<120?t+240:t-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));const oe=function t(e){var i=function(t){return 1==(t=+t)?se:function(e,i){return i-e?function(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(n){return Math.pow(t+n*e,i)}}(e,i,t):re(isNaN(e)?i:e)}}(e);function n(t,e){var n=i((t=Qt(t)).r,(e=Qt(e)).r),r=i(t.g,e.g),s=i(t.b,e.b),o=se(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=r(e),t.b=s(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function ae(t){return function(e){var i,n,r=e.length,s=new Array(r),o=new Array(r),a=new Array(r);for(i=0;i=1?(i=1,e-1):Math.floor(i*e),r=t[n],s=t[n+1];return ne((i-n/e)*e,n>0?t[n-1]:2*r-s,r,s,ns&&(r=e.slice(s,r),a[o]?a[o]+=r:a[++o]=r),(i=i[0])===(n=n[0])?a[o]?a[o]+=n:a[++o]=n:(a[++o]=null,l.push({i:o,x:he(i,n)})),s=pe.lastIndex;return s=0&&e._call.call(null,t),e=e._next;--ve}()}finally{ve=0,function(){for(var t,e,i=ye,n=1/0;i;)i._call?(n>i._time&&(n=i._time),t=i,i=i._next):(e=i._next,i._next=null,i=t?t._next=e:ye=e);be=t,De(n)}(),Ce=0}}function Oe(){var t=Se.now(),e=t-xe;e>1e3&&(Ae-=e,xe=t)}function De(t){ve||(_e&&(_e=clearTimeout(_e)),t-Ce>24?(t<1/0&&(_e=setTimeout(Ie,t-Se.now()-Ae)),we&&(we=clearInterval(we))):(we||(xe=Se.now(),we=setInterval(Oe,1e3)),ve=1,Ee(Ie)))}function Re(t,e,i){var n=new Me;return n.restart(function(i){n.stop(),t(i+e)},e=null==e?0:+e,i),n}Me.prototype=Le.prototype={constructor:Me,restart:function(t,e,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?ke():+i)+(null==e?0:+e),this._next||be===this||(be?be._next=this:ye=this,be=this),this._call=t,this._time=i,De()},stop:function(){this._call&&(this._call=null,this._time=1/0,De())}};var Ne=St("start","end","cancel","interrupt"),Pe=[];function Fe(t,e,i,n,r,s){var o=t.__transition;if(o){if(i in o)return}else t.__transition={};!function(t,e,i){var n,r=t.__transition;function s(l){var c,h,u,d;if(1!==i.state)return a();for(c in r)if((d=r[c]).name===i.name){if(3===d.state)return Re(s);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[c]):+c0)throw new Error("too late; already scheduled");return i}function Be(t,e){var i=Ue(t,e);if(i.state>3)throw new Error("too late; already running");return i}function Ue(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}var qe,ze,He,Ye,Ge=180/Math.PI,je={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ve(t,e,i,n,r,s){var o,a,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*i+e*n)&&(i-=t*l,n-=e*l),(a=Math.sqrt(i*i+n*n))&&(i/=a,n/=a,l/=a),t*n180?e+=360:e-t>180&&(t+=360),s.push({i:i.push(r(i)+"rotate(",null,n)-2,x:he(t,e)})):e&&i.push(r(i)+"rotate("+e+n)}(s.rotate,o.rotate,a,l),function(t,e,i,s){t!==e?s.push({i:i.push(r(i)+"skewX(",null,n)-2,x:he(t,e)}):e&&i.push(r(i)+"skewX("+e+n)}(s.skewX,o.skewX,a,l),function(t,e,i,n,s,o){if(t!==i||e!==n){var a=s.push(r(s)+"scale(",null,",",null,")");o.push({i:a-4,x:he(t,i)},{i:a-2,x:he(e,n)})}else 1===i&&1===n||s.push(r(s)+"scale("+i+","+n+")")}(s.scaleX,s.scaleY,o.scaleX,o.scaleY,a,l),s=o=null,function(t){for(var e,i=-1,n=l.length;++i=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Ze:Be;return function(){var o=s(this,t),a=o.on;a!==n&&(r=(n=a).copy()).on(e,i),o.on=r}}var yi=bt.prototype.constructor;function bi(t){return function(){this.style.removeProperty(t)}}function vi(t,e,i){return function(n){this.style.setProperty(t,e.call(this,n),i)}}function _i(t,e,i){var n,r;function s(){var s=e.apply(this,arguments);return s!==r&&(n=(r=s)&&vi(t,s,i)),n}return s._value=e,s}function wi(t){return function(e){this.textContent=t.call(this,e)}}function xi(t){var e,i;function n(){var n=t.apply(this,arguments);return n!==i&&(e=(i=n)&&wi(n)),e}return n._value=t,n}var Ci=0;function Ai(t,e,i,n){this._groups=t,this._parents=e,this._name=i,this._id=n}function Si(){return++Ci}var Ei=bt.prototype;Ai.prototype=(function(t){return bt().transition(t)}).prototype={constructor:Ai,select:function(t){var e=this._name,i=this._id;"function"!=typeof t&&(t=h(t));for(var n=this._groups,r=n.length,s=new Array(r),o=0;oe?1:t>=e?0:NaN}function Ii(t){let e=t,i=t;function n(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;i(t[s],e)<0?n=s+1:r=s}return n}return 1===t.length&&(e=(e,i)=>t(e)-i,i=function(t){return(e,i)=>Li(t(e),i)}(t)),{left:n,center:function(t,i,r,s){null==r&&(r=0),null==s&&(s=t.length);const o=n(t,i,r,s-1);return o>r&&e(t[o-1],i)>-e(t[o],i)?o-1:o},right:function(t,e,n,r){for(null==n&&(n=0),null==r&&(r=t.length);n>>1;i(t[s],e)>0?r=s:n=s+1}return n}}}bt.prototype.interrupt=function(t){return this.each(function(){!function(t,e){var i,n,r,s=t.__transition,o=!0;if(s){for(r in e=null==e?null:e+"",s)(i=s[r]).name===e?(n=i.state>2&&i.state<5,i.state=6,i.timer.stop(),i.on.call(n?"interrupt":"cancel",t,t.__data__,i.index,i.group),delete s[r]):o=!1;o&&delete t.__transition}}(this,t)})},bt.prototype.transition=function(t){var e,i;t instanceof Ai?(e=t._id,t=t._name):(e=Si(),(i=ki).time=ke(),t=null==t?null:t+"");for(var n=this._groups,r=n.length,s=0;s=0?(s>=Oi?10:s>=Di?5:s>=Ri?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(s>=Oi?10:s>=Di?5:s>=Ri?2:1)}function Pi(t,e,i){var n=Math.abs(e-t)/Math.max(0,i),r=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),s=n/r;return s>=Oi?r*=10:s>=Di?r*=5:s>=Ri&&(r*=2),e0))return a;do{a.push(o=new Date(+i)),e(i,s),t(i)}while(o=e)for(;t(e),!i(e);)e.setTime(e-1)},function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!i(t););else for(;--n>=0;)for(;e(t,1),!i(t););})},i&&(r.count=function(e,n){return Hi.setTime(+e),Yi.setTime(+n),t(Hi),t(Yi),Math.floor(i(Hi,Yi))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(n?function(e){return n(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var ji=Gi(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});ji.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Gi(function(e){e.setTime(Math.floor(e/t)*t)},function(e,i){e.setTime(+e+i*t)},function(e,i){return(i-e)/t}):ji:null};const Vi=ji,Qi=Gi(function(t){t.setTime(t-t.getMilliseconds())},function(t,e){t.setTime(+t+e*Fi)},function(t,e){return(e-t)/Fi},function(t){return t.getUTCSeconds()}),Wi=Gi(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Fi)},function(t,e){t.setTime(+t+e*Zi)},function(t,e){return(e-t)/Zi},function(t){return t.getMinutes()}),Ji=Gi(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Fi-t.getMinutes()*Zi)},function(t,e){t.setTime(+t+e*Bi)},function(t,e){return(e-t)/Bi},function(t){return t.getHours()}),Xi=Gi(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Zi)/Ui,t=>t.getDate()-1);function Ki(t){return Gi(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Zi)/qi})}var $i=Ki(0);const tn=(Ki(1),Ki(2),Ki(3),Ki(4),Ki(5),Ki(6),Gi(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}));var en=Gi(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});en.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Gi(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,i){e.setFullYear(e.getFullYear()+i*t)}):null};const nn=en,rn=Gi(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Zi)},function(t,e){return(e-t)/Zi},function(t){return t.getUTCMinutes()}),sn=Gi(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*Bi)},function(t,e){return(e-t)/Bi},function(t){return t.getUTCHours()}),on=Gi(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/Ui},function(t){return t.getUTCDate()-1});function an(t){return Gi(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/qi})}var ln=an(0);const cn=(an(1),an(2),an(3),an(4),an(5),an(6),Gi(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}));var hn=Gi(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});hn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Gi(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,i){e.setUTCFullYear(e.getUTCFullYear()+i*t)}):null};const un=hn;function dn(t,e,i,n,r,s){const o=[[Qi,1,Fi],[Qi,5,5e3],[Qi,15,15e3],[Qi,30,3e4],[s,1,Zi],[s,5,3e5],[s,15,9e5],[s,30,18e5],[r,1,Bi],[r,3,108e5],[r,6,216e5],[r,12,432e5],[n,1,Ui],[n,2,1728e5],[i,1,qi],[e,1,2592e6],[e,3,7776e6],[t,1,zi]];function a(e,i,n){const r=Math.abs(i-e)/n,s=Ii(([,,t])=>t).right(o,r);if(s===o.length)return t.every(Pi(e/zi,i/zi,n));if(0===s)return Vi.every(Math.max(Pi(e,i,n),1));const[a,l]=o[r/o[s-1][2]0))return a;do{a.push(o=new Date(+i)),e(i,s),t(i)}while(o=e)for(;t(e),!i(e);)e.setTime(e-1)},function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!i(t););else for(;--n>=0;)for(;e(t,1),!i(t););})},i&&(r.count=function(e,n){return yn.setTime(+e),bn.setTime(+n),t(yn),t(bn),Math.floor(i(yn,bn))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(n?function(e){return n(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var _n=864e5,wn=6048e5;function xn(t){return vn(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/wn})}var Cn=xn(0),An=xn(1),Sn=(xn(2),xn(3),xn(4));const En=(xn(5),xn(6),vn(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/_n},function(t){return t.getUTCDate()-1}));function kn(t){return vn(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/wn})}var Tn=kn(0),Mn=kn(1),Ln=(kn(2),kn(3),kn(4));const In=(kn(5),kn(6),vn(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/_n},function(t){return t.getDate()-1}));var On=vn(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});On.every=function(t){return isFinite(t=Math.floor(t))&&t>0?vn(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,i){e.setFullYear(e.getFullYear()+i*t)}):null};const Dn=On;var Rn=vn(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Rn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?vn(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,i){e.setUTCFullYear(e.getUTCFullYear()+i*t)}):null};const Nn=Rn;var Pn={"-":"",_:" ",0:"0"},Fn=/[\\^$*+?|[\]().{}]/g;function Zn(t,e,i){var n=t<0?"-":"",r=(n?-t:t)+"",s=r.length;return n+(s=4||0===e?Ln(t):Ln.ceil(t)}function tr(t,e){return t=$n(t),Zn(Ln.count(Dn(t),t)+(4===Dn(t).getDay()),e,2)}function er(t){return t.getDay()}function ir(t,e){return Zn(Mn.count(Dn(t)-1,t),e,2)}function nr(t,e){return Zn(t.getFullYear()%100,e,2)}function rr(t,e){return Zn((t=$n(t)).getFullYear()%100,e,2)}function sr(t,e){return Zn(t.getFullYear()%1e4,e,4)}function or(t,e){var i=t.getDay();return Zn((t=i>=4||0===i?Ln(t):Ln.ceil(t)).getFullYear()%1e4,e,4)}function ar(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Zn(e/60|0,"0",2)+Zn(e%60,"0",2)}function lr(t,e){return Zn(t.getUTCDate(),e,2)}function cr(t,e){return Zn(t.getUTCHours(),e,2)}function hr(t,e){return Zn(t.getUTCHours()%12||12,e,2)}function ur(t,e){return Zn(1+En.count(Nn(t),t),e,3)}function dr(t,e){return Zn(t.getUTCMilliseconds(),e,3)}function pr(t,e){return dr(t,e)+"000"}function fr(t,e){return Zn(t.getUTCMonth()+1,e,2)}function mr(t,e){return Zn(t.getUTCMinutes(),e,2)}function gr(t,e){return Zn(t.getUTCSeconds(),e,2)}function yr(t){var e=t.getUTCDay();return 0===e?7:e}function br(t,e){return Zn(Cn.count(Nn(t)-1,t),e,2)}function vr(t){var e=t.getUTCDay();return e>=4||0===e?Sn(t):Sn.ceil(t)}function _r(t,e){return t=vr(t),Zn(Sn.count(Nn(t),t)+(4===Nn(t).getUTCDay()),e,2)}function wr(t){return t.getUTCDay()}function xr(t,e){return Zn(An.count(Nn(t)-1,t),e,2)}function Cr(t,e){return Zn(t.getUTCFullYear()%100,e,2)}function Ar(t,e){return Zn((t=vr(t)).getUTCFullYear()%100,e,2)}function Sr(t,e){return Zn(t.getUTCFullYear()%1e4,e,4)}function Er(t,e){var i=t.getUTCDay();return Zn((t=i>=4||0===i?Sn(t):Sn.ceil(t)).getUTCFullYear()%1e4,e,4)}function kr(){return"+0000"}function Tr(){return"%"}function Mr(t){return+t}function Lr(t){return Math.floor(+t/1e3)}function Ir(t){return null===t?NaN:+t}!function(t){var e=t.dateTime,i=t.date,n=t.time,r=t.periods,s=t.days,o=t.shortDays,a=t.months,l=t.shortMonths,c=(Un(r),qn(r),Un(s),qn(s),Un(o),qn(o),Un(a),qn(a),Un(l),qn(l),{a:function(t){return o[t.getDay()]},A:function(t){return s[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return a[t.getMonth()]},c:null,d:zn,e:zn,f:Vn,g:rr,G:or,H:Hn,I:Yn,j:Gn,L:jn,m:Qn,M:Wn,p:function(t){return r[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Mr,s:Lr,S:Jn,u:Xn,U:Kn,V:tr,w:er,W:ir,x:null,X:null,y:nr,Y:sr,Z:ar,"%":Tr}),h={a:function(t){return o[t.getUTCDay()]},A:function(t){return s[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return a[t.getUTCMonth()]},c:null,d:lr,e:lr,f:pr,g:Ar,G:Er,H:cr,I:hr,j:ur,L:dr,m:fr,M:mr,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Mr,s:Lr,S:gr,u:yr,U:br,V:_r,w:wr,W:xr,x:null,X:null,y:Cr,Y:Sr,Z:kr,"%":Tr};function u(t,e){return function(i){var n,r,s,o=[],a=-1,l=0,c=t.length;for(i instanceof Date||(i=new Date(+i));++a(e=o[l-1])&&(i=t,t=e,e=i),c=function(i){return Math.max(t,Math.min(e,i))}),n=l>2?Ur:Br,r=s=null,u}function u(e){return null==e||isNaN(e=+e)?i:(r||(r=n(o.map(t),a,l)))(t(c(e)))}return u.invert=function(i){return c(e((s||(s=n(a,o.map(t),he)))(i)))},u.domain=function(t){return arguments.length?(o=Array.from(t,Nr),h()):o.slice()},u.range=function(t){return arguments.length?(a=Array.from(t),h()):a.slice()},u.rangeRound=function(t){return a=Array.from(t),l=Rr,h()},u.clamp=function(t){return arguments.length?(c=!!t||Fr,h()):c!==Fr},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(i=t,u):i},function(i,n){return t=i,e=n,h()}}()(Fr,Fr)}function Hr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}var Yr,Gr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function jr(t){if(!(e=Gr.exec(t)))throw new Error("invalid format: "+t);var e;return new Vr({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Vr(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Qr(t,e){if((i=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var i,n=t.slice(0,i);return[n.length>1?n[0]+n.slice(2):n,+t.slice(i+1)]}function Wr(t){return(t=Qr(Math.abs(t)))?t[1]:NaN}function Jr(t,e){var i=Qr(t,e);if(!i)return t+"";var n=i[0],r=i[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")}jr.prototype=Vr.prototype,Vr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Xr={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Jr(100*t,e)},r:Jr,s:function(t,e){var i=Qr(t,e);if(!i)return t+"";var n=i[0],r=i[1],s=r-(Yr=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=n.length;return s===o?n:s>o?n+new Array(s-o+1).join("0"):s>0?n.slice(0,s)+"."+n.slice(s):"0."+new Array(1-s).join("0")+Qr(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Kr(t){return t}var $r,ts,es,is=Array.prototype.map,ns=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function rs(t){var e=t.domain;return t.ticks=function(t){var i=e();return function(t,e,i){var n,r,s,o,a=-1;if(i=+i,(t=+t)==(e=+e)&&i>0)return[t];if((n=e0){let i=Math.round(t/o),n=Math.round(e/o);for(i*oe&&--n,s=new Array(r=n-i+1);++ae&&--n,s=new Array(r=n-i+1);++a0;){if((r=Ni(l,c,i))===n)return s[o]=l,s[a]=c,e(s);if(r>0)l=Math.floor(l/r)*r,c=Math.ceil(c/r)*r;else{if(!(r<0))break;l=Math.ceil(l*r)/r,c=Math.floor(c*r)/r}n=r}return t},t}function ss(){var t=zr();return t.copy=function(){return qr(t,ss())},Hr.apply(t,arguments),rs(t)}function os(t,e,i){t=+t,e=+e,i=(r=arguments.length)<2?(e=t,t=0,1):r<3?1:+i;for(var n=-1,r=0|Math.max(0,Math.ceil((e-t)/i)),s=new Array(r);++n0&&a>0&&(l+a+1>n&&(a=Math.max(1,n-l)),s.push(t.substring(r-=a,r+a)),!((l+=a+1)>n));)a=e[o=(o+1)%e.length];return s.reverse().join(i)}),r=void 0===t.currency?"":t.currency[0]+"",s=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?Kr:function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(is.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"-":t.minus+"",h=void 0===t.nan?"NaN":t.nan+"";function u(t){var e=(t=jr(t)).fill,i=t.align,u=t.sign,d=t.symbol,p=t.zero,f=t.width,m=t.comma,g=t.precision,y=t.trim,b=t.type;"n"===b?(m=!0,b="g"):Xr[b]||(void 0===g&&(g=12),y=!0,b="g"),(p||"0"===e&&"="===i)&&(p=!0,e="0",i="=");var v="$"===d?r:"#"===d&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",_="$"===d?s:/[%p]/.test(b)?l:"",w=Xr[b],x=/[defgprs%]/.test(b);function C(t){var r,s,l,d=v,C=_;if("c"===b)C=w(t)+C,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?h:w(Math.abs(t),g),y&&(t=function(t){t:for(var e,i=t.length,n=1,r=-1;n0&&(r=0)}return r>0?t.slice(0,r)+t.slice(e+1):t}(t)),A&&0==+t&&"+"!==u&&(A=!1),d=(A?"("===u?u:c:"-"===u||"("===u?"":u)+d,C=("s"===b?ns[8+Yr/3]:"")+C+(A&&"("===u?")":""),x)for(r=-1,s=t.length;++r(l=t.charCodeAt(r))||l>57){C=(46===l?o+t.slice(r+1):t.slice(r))+C,t=t.slice(0,r);break}}m&&!p&&(t=n(t,1/0));var S=d.length+t.length+C.length,E=S>1)+d+t+C+E.slice(S);break;default:t=E+d+t+C}return a(t)}return g=void 0===g?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),C.toString=function(){return t+""},C}return{format:u,formatPrefix:function(t,e){var i=u(((t=jr(t)).type="f",t)),n=3*Math.max(-8,Math.min(8,Math.floor(Wr(e)/3))),r=Math.pow(10,-n),s=ns[8+n/3];return function(t){return i(r*t)+s}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),ts=$r.format,es=$r.formatPrefix;const as=Symbol("implicit");function ls(){var t=new Map,e=[],i=[],n=as;function r(r){var s=r+"",o=t.get(s);if(!o){if(n!==as)return n;t.set(s,o=e.push(r))}return i[(o-1)%i.length]}return r.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new Map;for(const n of i){const i=n+"";t.has(i)||t.set(i,e.push(n))}return r},r.range=function(t){return arguments.length?(i=Array.from(t),r):i.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return ls(e,i).unknown(n)},Hr.apply(r,arguments),r}function cs(){var t,e,i=ls().unknown(void 0),n=i.domain,r=i.range,s=0,o=1,a=!1,l=0,c=0,h=.5;function u(){var i=n().length,u=o=1)return+i(t[n-1],n-1,t);var n,r=(n-1)*e,s=Math.floor(r),o=+i(t[s],s,t);return o+(+i(t[s+1],s+1,t)-o)*(r-s)}}function us(){var t,e=[],i=[],n=[];function r(){var t=0,r=Math.max(1,i.length);for(n=new Array(r-1);++t0?n[r-1]:e[0],r=0;)e+=i[n].value;else e=1;t.value=e}function Es(t,e){var i,n,r,s,o,a=new Ls(t),l=+t.value&&(a.value=t.value),c=[a];for(null==e&&(e=ks);i=c.pop();)if(l&&(i.value=+i.data.value),(r=e(i.data))&&(o=r.length))for(i.children=new Array(o),s=o-1;s>=0;--s)c.push(n=i.children[s]=new Ls(r[s])),n.parent=i,n.depth=i.depth+1;return a.eachBefore(Ms)}function ks(t){return t.children}function Ts(t){t.data=t.data.data}function Ms(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Ls(t){this.data=t,this.depth=this.height=0,this.parent=null}ys.prototype=(function(){return new ys}).prototype={constructor:ys,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+n)},bezierCurveTo:function(t,e,i,n,r,s){this._+="C"+ +t+","+ +e+","+ +i+","+ +n+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,i,n,r){var s=this._x1,o=this._y1,a=(i=+i)-(t=+t),l=(n=+n)-(e=+e),c=s-t,h=o-e,u=c*c+h*h;if((r=+r)<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>ms)if(Math.abs(h*a-l*c)>ms&&r){var d=i-s,p=n-o,f=a*a+l*l,m=d*d+p*p,g=Math.sqrt(f),y=Math.sqrt(u),b=r*Math.tan((ps-Math.acos((f+u-m)/(2*g*y)))/2),v=b/y,_=b/g;Math.abs(v-1)>ms&&(this._+="L"+(t+v*c)+","+(e+v*h)),this._+="A"+r+","+r+",0,0,"+ +(h*d>c*p)+","+(this._x1=t+_*a)+","+(this._y1=e+_*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,i,n,r,s){t=+t,e=+e,s=!!s;var o=(i=+i)*Math.cos(n),a=i*Math.sin(n),l=t+o,c=e+a,h=1^s,u=s?n-r:r-n;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>ms||Math.abs(this._y1-c)>ms)&&(this._+="L"+l+","+c),i&&(u<0&&(u=u%fs+fs),u>gs?this._+="A"+i+","+i+",0,1,"+h+","+(t-o)+","+(e-a)+"A"+i+","+i+",0,1,"+h+","+(this._x1=l)+","+(this._y1=c):u>ms&&(this._+="A"+i+","+i+",0,"+ +(u>=ps)+","+h+","+(this._x1=t+i*Math.cos(r))+","+(this._y1=e+i*Math.sin(r))))},rect:function(t,e,i,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +n+"h"+-i+"Z"},toString:function(){return this._}},_s.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:vs(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:vs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},function t(e){function i(t){return new _s(t,e)}return i.tension=function(e){return t(+e)},i}(0),ws.prototype={areaStart:bs,areaEnd:bs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:vs(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},function t(e){function i(t){return new ws(t,e)}return i.tension=function(e){return t(+e)},i}(0),xs.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}},Math,Math,Math,Math,Math,Math,Math,Math,function t(e){function i(t,i,n,r,s){!function(t,e,i,n,r,s){for(var o,a,l,c,h,u,d,p,f,m,g,y=[],b=e.children,v=0,_=0,w=b.length,x=e.value;vd&&(d=a),g=h*h*m,(p=Math.max(d/g,g/u))>f){h-=a;break}f=p}y.push(o={value:h,dice:l1?e:1)},i}((1+Math.sqrt(5))/2),Ls.prototype=Es.prototype={constructor:Ls,count:function(){return this.eachAfter(Ss)},each:function(t){var e,i,n,r,s=this,o=[s];do{for(e=o.reverse(),o=[];s=e.pop();)if(t(s),i=s.children)for(n=0,r=i.length;n=0;--i)r.push(e[i]);return this},sum:function(t){return this.eachAfter(function(e){for(var i=+t(e.data)||0,n=e.children,r=n&&n.length;--r>=0;)i+=n[r].value;e.value=i})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,i=function(t,e){if(t===e)return t;var i=t.ancestors(),n=e.ancestors(),r=null;for(t=i.pop(),e=n.pop();t===e;)r=t,t=i.pop(),e=n.pop();return r}(e,t),n=[e];e!==i;)n.push(e=e.parent);for(var r=n.length;t!==i;)n.splice(r,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(i){i!==t&&e.push({source:i.parent,target:i})}),e},copy:function(){return Es(this).eachBefore(Ts)}};var Is=i(269);const Os=["caretElm"];function Ds(t,e){}const Rs=function(t){return{model:t}};function Ns(t,e){if(1&t&&(n.TgZ(0,"span"),n.YNc(1,Ds,0,0,"ng-template",5),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngTemplateOutlet",t.template)("ngTemplateOutletContext",n.VKq(2,Rs,t.context))}}function Ps(t,e){if(1&t&&n._UZ(0,"span",6),2&t){const t=n.oxw();n.Q6J("innerHTML",t.title,n.oJD)}}function Fs(t,e){if(1&t&&(n.O4$(),n.kcU(),n._UZ(0,"ngx-charts-scale-legend",4)),2&t){const t=n.oxw();n.Q6J("horizontal",t.legendOptions&&"below"===t.legendOptions.position)("valueRange",t.legendOptions.domain)("colors",t.legendOptions.colors)("height",t.view[1])("width",t.legendWidth)}}function Zs(t,e){if(1&t){const t=n.EpF();n.O4$(),n.kcU(),n.TgZ(0,"ngx-charts-legend",5),n.NdJ("labelClick",function(e){return n.CHM(t),n.oxw().legendLabelClick.emit(e)})("labelActivate",function(e){return n.CHM(t),n.oxw().legendLabelActivate.emit(e)})("labelDeactivate",function(e){return n.CHM(t),n.oxw().legendLabelDeactivate.emit(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("horizontal",t.legendOptions&&"below"===t.legendOptions.position)("data",t.legendOptions.domain)("title",t.legendOptions.title)("colors",t.legendOptions.colors)("height",t.view[1])("width",t.legendWidth)("activeEntries",t.activeEntries)}}const Bs=["*"],Us=["ngx-charts-axis-label",""],qs=["ticksel"],zs=["ngx-charts-x-axis-ticks",""];function Hs(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g",3),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",4),n._uU(4),n.qZA(),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.tickTransform(t)),n.xp6(2),n.Oqu(i.tickFormat(t)),n.xp6(1),n.Udp("font-size","12px"),n.uIk("text-anchor",i.textAnchor)("transform",i.textTransform),n.xp6(1),n.hij(" ",i.tickTrim(i.tickFormat(t))," ")}}function Ys(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n._UZ(1,"line",6),n.qZA()),2&t){const t=n.oxw(2);n.uIk("transform",t.gridLineTransform()),n.xp6(1),n.uIk("y1",-t.gridLineHeight)}}function Gs(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Ys,2,2,"g",5),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.tickTransform(t)),n.xp6(1),n.Q6J("ngIf",i.showGridLines)}}const js=["ngx-charts-x-axis",""];function Vs(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().emitTicksHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("trimTicks",t.trimTicks)("rotateTicks",t.rotateTicks)("maxTickLength",t.maxTickLength)("tickFormatting",t.tickFormatting)("tickArguments",t.tickArguments)("tickStroke",t.tickStroke)("scale",t.xScale)("orient",t.xOrient)("showGridLines",t.showGridLines)("gridLineHeight",t.dims.height)("width",t.dims.width)("tickValues",t.ticks)}}function Qs(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",3)),2&t){const t=n.oxw();n.Q6J("label",t.labelText)("offset",t.labelOffset)("orient","bottom")("height",t.dims.height)("width",t.dims.width)}}const Ws=["ngx-charts-y-axis-ticks",""];function Js(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g",4),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",5),n._uU(4),n.qZA(),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.transform(t)),n.xp6(2),n.Oqu(i.tickFormat(t)),n.xp6(1),n.Udp("font-size","12px"),n.uIk("dy",i.dy)("x",i.x1)("y",i.y1)("text-anchor",i.textAnchor),n.xp6(1),n.hij(" ",i.tickTrim(i.tickFormat(t))," ")}}function Xs(t,e){if(1&t&&(n.O4$(),n._UZ(0,"path",6)),2&t){const t=n.oxw();n.uIk("d",t.referenceAreaPath)("transform",t.gridLineTransform())}}function Ks(t,e){if(1&t&&(n.O4$(),n._UZ(0,"line",9)),2&t){const t=n.oxw(3);n.uIk("x2",t.gridLineWidth)}}function $s(t,e){if(1&t&&(n.O4$(),n._UZ(0,"line",9)),2&t){const t=n.oxw(3);n.uIk("x2",-t.gridLineWidth)}}function to(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Ks,1,1,"line",8),n.YNc(2,$s,1,1,"line",8),n.qZA()),2&t){const t=n.oxw(2);n.uIk("transform",t.gridLineTransform()),n.xp6(1),n.Q6J("ngIf","left"===t.orient),n.xp6(1),n.Q6J("ngIf","right"===t.orient)}}function eo(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,to,3,3,"g",7),n.qZA()),2&t){const t=e.$implicit,i=n.oxw();n.uIk("transform",i.transform(t)),n.xp6(1),n.Q6J("ngIf",i.showGridLines)}}function io(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.TgZ(1,"title"),n._uU(2),n.qZA(),n.TgZ(3,"text",11),n._uU(4),n.qZA(),n.qZA()),2&t){const t=n.oxw(2).$implicit,e=n.oxw();n.xp6(2),n.Oqu(e.tickTrim(e.tickFormat(t.value))),n.xp6(1),n.uIk("dy",e.dy)("y",-6)("x",e.gridLineWidth)("text-anchor",e.textAnchor),n.xp6(1),n.hij(" ",t.name," ")}}function no(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n._UZ(1,"line",10),n.YNc(2,io,5,6,"g",7),n.qZA()),2&t){const t=n.oxw().$implicit,e=n.oxw();n.uIk("transform",e.transform(t.value)),n.xp6(1),n.uIk("x2",e.gridLineWidth)("transform",e.gridLineTransform()),n.xp6(1),n.Q6J("ngIf",e.showRefLabels)}}function ro(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,no,3,4,"g",7),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",t.showRefLines)}}const so=["ngx-charts-y-axis",""];function oo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().emitTicksWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("trimTicks",t.trimTicks)("maxTickLength",t.maxTickLength)("tickFormatting",t.tickFormatting)("tickArguments",t.tickArguments)("tickValues",t.ticks)("tickStroke",t.tickStroke)("scale",t.yScale)("orient",t.yOrient)("showGridLines",t.showGridLines)("gridLineWidth",t.dims.width)("referenceLines",t.referenceLines)("showRefLines",t.showRefLines)("showRefLabels",t.showRefLabels)("height",t.dims.height)}}function ao(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",3)),2&t){const t=n.oxw();n.Q6J("label",t.labelText)("offset",t.labelOffset)("orient",t.yOrient)("height",t.dims.height)("width",t.dims.width)}}const lo=["ngx-charts-grid-panel",""],co=["ngx-charts-grid-panel-series",""];function ho(t,e){if(1&t&&(n.O4$(),n._UZ(0,"g",1)),2&t){const t=e.$implicit;n.ekj("grid-panel",!0)("odd","odd"===t.class)("even","even"===t.class),n.Q6J("height",t.height)("width",t.width)("x",t.x)("y",t.y)}}const uo=["ngx-charts-svg-linear-gradient",""];function po(t,e){if(1&t&&(n.O4$(),n._UZ(0,"stop")),2&t){const t=e.$implicit;n.Udp("stop-color",t.color)("stop-opacity",t.opacity),n.uIk("offset",t.offset+"%")}}function fo(t,e){if(1&t&&(n.TgZ(0,"header",4),n.TgZ(1,"span",5),n._uU(2),n.qZA(),n.qZA()),2&t){const t=n.oxw();n.xp6(2),n.Oqu(t.title)}}function mo(t,e){if(1&t){const t=n.EpF();n.TgZ(0,"li",6),n.TgZ(1,"ngx-charts-legend-entry",7),n.NdJ("select",function(e){return n.CHM(t),n.oxw().labelClick.emit(e)})("activate",function(e){return n.CHM(t),n.oxw().activate(e)})("deactivate",function(e){return n.CHM(t),n.oxw().deactivate(e)}),n.qZA(),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.xp6(1),n.Q6J("label",t.label)("formattedLabel",t.formattedLabel)("color",t.color)("isActive",i.isActive(t))}}const go=["tooltipTemplate"],yo=function(t,e){return[t,e]},bo=".ngx-charts{float:left;overflow:visible}.ngx-charts .arc,.ngx-charts .bar,.ngx-charts .circle{cursor:pointer}.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .card.active,.ngx-charts .card:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .arc:focus,.ngx-charts .bar:focus,.ngx-charts .card:focus,.ngx-charts .cell:focus{outline:none}.ngx-charts .arc.hidden,.ngx-charts .bar.hidden,.ngx-charts .card.hidden,.ngx-charts .cell.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .area-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .line-series.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .polar-series-path.inactive{opacity:.2;transition:opacity .1s ease-in-out}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{fill:none;stroke:#ddd;stroke-width:1}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-dasharray:5;stroke-dashoffset:5;stroke-width:1}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill:#000;fill-opacity:.05}.ngx-charts .gridline-path-dotted{fill:none;stroke:#ddd;stroke-dasharray:1,20;stroke-dashoffset:3;stroke-width:1}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:rgba(0,0,0,.05)}",vo=["ngx-charts-bar",""];function _o(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"defs"),n._UZ(1,"g",2),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("orientation",t.orientation)("name",t.gradientId)("stops",t.gradientStops)}}function wo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",5),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateXAxisHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("xScale",t.xScale)("dims",t.dims)("showLabel",t.showXAxisLabel)("labelText",t.xAxisLabel)("trimTicks",t.trimXAxisTicks)("rotateTicks",t.rotateXAxisTicks)("maxTickLength",t.maxXAxisTickLength)("tickFormatting",t.xAxisTickFormatting)("ticks",t.xAxisTicks)("xAxisOffset",t.dataLabelMaxHeight.negative)}}function xo(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",6),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateYAxisWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("yScale",t.yScale)("dims",t.dims)("showGridLines",t.showGridLines)("showLabel",t.showYAxisLabel)("labelText",t.yAxisLabel)("trimTicks",t.trimYAxisTicks)("maxTickLength",t.maxYAxisTickLength)("tickFormatting",t.yAxisTickFormatting)("ticks",t.yAxisTicks)}}function Co(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",6),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateXAxisHeight(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("xScale",t.groupScale)("dims",t.dims)("showLabel",t.showXAxisLabel)("labelText",t.xAxisLabel)("trimTicks",t.trimXAxisTicks)("rotateTicks",t.rotateXAxisTicks)("maxTickLength",t.maxXAxisTickLength)("tickFormatting",t.xAxisTickFormatting)("ticks",t.xAxisTicks)("xAxisOffset",t.dataLabelMaxHeight.negative)}}function Ao(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",7),n.NdJ("dimensionsChanged",function(e){return n.CHM(t),n.oxw().updateYAxisWidth(e)}),n.qZA()}if(2&t){const t=n.oxw();n.Q6J("yScale",t.valueScale)("dims",t.dims)("showGridLines",t.showGridLines)("showLabel",t.showYAxisLabel)("labelText",t.yAxisLabel)("trimTicks",t.trimYAxisTicks)("maxTickLength",t.maxYAxisTickLength)("tickFormatting",t.yAxisTickFormatting)("ticks",t.yAxisTicks)}}function So(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",8),n.NdJ("select",function(e){const i=n.CHM(t).$implicit;return n.oxw().onClick(e,i)})("activate",function(e){const i=n.CHM(t).$implicit;return n.oxw().onActivate(e,i)})("deactivate",function(e){const i=n.CHM(t).$implicit;return n.oxw().onDeactivate(e,i)})("dataLabelHeightChanged",function(e){const i=n.CHM(t).index;return n.oxw().onDataLabelMaxHeightChanged(e,i)}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.Q6J("@animationState","active")("activeEntries",i.activeEntries)("xScale",i.innerScale)("yScale",i.valueScale)("colors",i.colors)("series",t.series)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("seriesName",t.name)("roundEdges",i.roundEdges)("animations",i.animations)("noBarWhenZero",i.noBarWhenZero),n.uIk("transform",i.groupTransform(t))}}const Eo=["ngx-charts-series-vertical",""];function ko(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",2),n.NdJ("select",function(e){return n.CHM(t),n.oxw().onClick(e)})("activate",function(e){return n.CHM(t),n.oxw().activate.emit(e)})("deactivate",function(e){return n.CHM(t),n.oxw().deactivate.emit(e)}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw();n.Q6J("@animationState","active")("@.disabled",!i.animations)("width",t.width)("height",t.height)("x",t.x)("y",t.y)("fill",t.color)("stops",t.gradientStops)("data",t.data)("orientation","vertical")("roundEdges",t.roundEdges)("gradient",i.gradient)("ariaLabel",t.ariaLabel)("isActive",i.isActive(t.data))("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.tooltipPlacement)("tooltipType",i.tooltipType)("tooltipTitle",i.tooltipTemplate?void 0:t.tooltipText)("tooltipTemplate",i.tooltipTemplate)("tooltipContext",t.data)("noBarWhenZero",i.noBarWhenZero)("animations",i.animations)}}function To(t,e){if(1&t){const t=n.EpF();n.O4$(),n.TgZ(0,"g",4),n.NdJ("dimensionsChanged",function(e){const i=n.CHM(t).index;return n.oxw(2).dataLabelHeightChanged.emit({size:e,index:i})}),n.qZA()}if(2&t){const t=e.$implicit,i=n.oxw(2);n.Q6J("barX",t.x)("barY",t.y)("barWidth",t.width)("barHeight",t.height)("value",t.total)("valueFormatting",i.dataLabelFormatting)("orientation","vertical")}}function Mo(t,e){if(1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,To,1,7,"g",3),n.qZA()),2&t){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.barsForDataLabels)("ngForTrackBy",t.trackDataLabelBy)}}const Lo=["ngx-charts-bar-label",""];let Io=(()=>{class t{constructor(t,e,i){this.applicationRef=t,this.componentFactoryResolver=e,this.injector=i}static setGlobalRootViewContainer(e){t.globalRootViewContainer=e}getRootViewContainer(){if(this._container)return this._container;if(t.globalRootViewContainer)return t.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(t){this._container=t}getComponentRootNode(t){return t.element?t.element.nativeElement:t.hostView&&t.hostView.rootNodes.length>0?t.hostView.rootNodes[0]:t.location.nativeElement}getRootViewContainerNode(t){return this.getComponentRootNode(t)}projectComponentBindings(t,e){if(e){if(void 0!==e.inputs){const i=Object.getOwnPropertyNames(e.inputs);for(const n of i)t.instance[n]=e.inputs[n]}if(void 0!==e.outputs){const i=Object.getOwnPropertyNames(e.outputs);for(const n of i)t.instance[n]=e.outputs[n]}}return t}appendComponent(t,e={},i){i||(i=this.getRootViewContainer());const n=this.getComponentRootNode(i),r=new o.F0(n,this.componentFactoryResolver,this.applicationRef,this.injector),s=new o.C5(t),a=r.attach(s);return this.projectComponentBindings(a,e),a}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(n.z2F),n.LFG(n._Vd),n.LFG(n.zs3))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t.globalRootViewContainer=null,t})();function Oo(t,e,i){let n,r,s;i=i||{};let o=null,a=0;function l(){a=!1===i.leading?0:+new Date,o=null,s=t.apply(n,r)}return function(){const c=+new Date;a||!1!==i.leading||(a=c);const h=e-(c-a);return n=this,r=arguments,h<=0?(clearTimeout(o),o=null,a=c,s=t.apply(n,r)):o||!1===i.trailing||(o=setTimeout(l,h)),s}}var Do=function(t){return t[t.top="top"]="top",t[t.bottom="bottom"]="bottom",t[t.left="left"]="left",t[t.right="right"]="right",t}({});function Ro(t,e,i){return"top"===i?t.top-7:"bottom"===i?t.top+t.height-e.height+7:"center"===i?t.top+t.height/2-e.height/2:void 0}function No(t,e,i){return"left"===i?t.left-7:"right"===i?t.left+t.width-e.width+7:"center"===i?t.left+t.width/2-e.width/2:void 0}class Po{static calculateVerticalAlignment(t,e,i){let n=Ro(t,e,i);return n+e.height>window.innerHeight&&(n=window.innerHeight-e.height),n}static calculateVerticalCaret(t,e,i,n){let r;"top"===n&&(r=t.height/2-i.height/2+7),"bottom"===n&&(r=e.height-t.height/2-i.height/2-7),"center"===n&&(r=e.height/2-i.height/2);const s=Ro(t,e,n);return s+e.height>window.innerHeight&&(r+=s+e.height-window.innerHeight),r}static calculateHorizontalAlignment(t,e,i){let n=No(t,e,i);return n+e.width>window.innerWidth&&(n=window.innerWidth-e.width),n}static calculateHorizontalCaret(t,e,i,n){let r;"left"===n&&(r=t.width/2-i.width/2+7),"right"===n&&(r=e.width-t.width/2-i.width/2-7),"center"===n&&(r=e.width/2-i.width/2);const s=No(t,e,n);return s+e.width>window.innerWidth&&(r+=s+e.width-window.innerWidth),r}static shouldFlip(t,e,i,n){let r=!1;return"right"===i&&t.left+t.width+e.width+n>window.innerWidth&&(r=!0),"left"===i&&t.left-e.width-n<0&&(r=!0),"top"===i&&t.top-e.height-n<0&&(r=!0),"bottom"===i&&t.top+t.height+e.height+n>window.innerHeight&&(r=!0),r}static positionCaret(t,e,i,n,r){let s=0,o=0;return t===Do.right?(o=-7,s=Po.calculateVerticalCaret(i,e,n,r)):t===Do.left?(o=e.width,s=Po.calculateVerticalCaret(i,e,n,r)):t===Do.top?(s=e.height,o=Po.calculateHorizontalCaret(i,e,n,r)):t===Do.bottom&&(s=-7,o=Po.calculateHorizontalCaret(i,e,n,r)),{top:s,left:o}}static positionContent(t,e,i,n,r){let s=0,o=0;return t===Do.right?(o=i.left+i.width+n,s=Po.calculateVerticalAlignment(i,e,r)):t===Do.left?(o=i.left-e.width-n,s=Po.calculateVerticalAlignment(i,e,r)):t===Do.top?(s=i.top-e.height-n,o=Po.calculateHorizontalAlignment(i,e,r)):t===Do.bottom&&(s=i.top+i.height+n,o=Po.calculateHorizontalAlignment(i,e,r)),{top:s,left:o}}static determinePlacement(t,e,i,n){if(Po.shouldFlip(i,e,t,n)){if(t===Do.right)return Do.left;if(t===Do.left)return Do.right;if(t===Do.top)return Do.bottom;if(t===Do.bottom)return Do.top}return t}}let Fo=(()=>{class t{constructor(t,e){this.element=t,this.renderer=e}get cssClasses(){let t="ngx-charts-tooltip-content";return t+=` position-${this.placement}`,t+=` type-${this.type}`,t+=` ${this.cssClass}`,t}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){const t=this.element.nativeElement,e=this.host.nativeElement.getBoundingClientRect();if(!e.height&&!e.width)return;const i=t.getBoundingClientRect();this.checkFlip(e,i),this.positionContent(t,e,i),this.showCaret&&this.positionCaret(e,i),setTimeout(()=>this.renderer.addClass(t,"animate"),1)}positionContent(t,e,i){const{top:n,left:r}=Po.positionContent(this.placement,i,e,this.spacing,this.alignment);this.renderer.setStyle(t,"top",`${n}px`),this.renderer.setStyle(t,"left",`${r}px`)}positionCaret(t,e){const i=this.caretElm.nativeElement,n=i.getBoundingClientRect(),{top:r,left:s}=Po.positionCaret(this.placement,e,t,n,this.alignment);this.renderer.setStyle(i,"top",`${r}px`),this.renderer.setStyle(i,"left",`${s}px`)}checkFlip(t,e){this.placement=Po.determinePlacement(this.placement,e,t,this.spacing)}onWindowResize(){this.position()}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.Qsj))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-tooltip-content"]],viewQuery:function(t,e){if(1&t&&n.Gf(Os,5),2&t){let t;n.iGM(t=n.CRH())&&(e.caretElm=t.first)}},hostVars:2,hostBindings:function(t,e){1&t&&n.NdJ("resize",function(){return e.onWindowResize()},!1,n.Jf7),2&t&&n.Tol(e.cssClasses)},inputs:{placement:"placement",host:"host",showCaret:"showCaret",type:"type",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[[3,"hidden"],["caretElm",""],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(t,e){1&t&&(n.TgZ(0,"div"),n._UZ(1,"span",0,1),n.TgZ(3,"div",2),n.YNc(4,Ns,2,4,"span",3),n.YNc(5,Ps,1,1,"span",4),n.qZA(),n.qZA()),2&t&&(n.xp6(1),n.Gre("tooltip-caret position-",e.placement,""),n.Q6J("hidden",!e.showCaret),n.xp6(3),n.Q6J("ngIf",!e.title),n.xp6(1),n.Q6J("ngIf",e.title))},directives:[r.O5,r.tP],styles:[".ngx-charts-tooltip-content{border-radius:3px;display:block;font-weight:400;opacity:0;pointer-events:none!important;position:fixed;z-index:5000}.ngx-charts-tooltip-content.type-popover{background:#fff;border:1px solid #72809b;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);color:#060709;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid #fff;border-top:7px solid transparent}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-bottom:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip{background:rgba(0,0,0,.75);color:#fff;font-size:12px;padding:0 10px;pointer-events:auto;text-align:center}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75);border-top:7px solid transparent}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-bottom:7px solid rgba(0,0,0,.75);border-left:7px solid transparent;border-right:7px solid transparent}.ngx-charts-tooltip-content .tooltip-label{display:block;font-size:1em;line-height:1em;padding:8px 5px 5px}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{height:0;position:absolute;width:0;z-index:5001}.ngx-charts-tooltip-content.position-right{transform:translate3d(10px,0,0)}.ngx-charts-tooltip-content.position-left{transform:translate3d(-10px,0,0)}.ngx-charts-tooltip-content.position-top{transform:translate3d(0,-10px,0)}.ngx-charts-tooltip-content.position-bottom{transform:translate3d(0,10px,0)}.ngx-charts-tooltip-content.animate{opacity:1;pointer-events:auto;transform:translateZ(0);transition:opacity .3s,transform .3s}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{line-height:1.2em;padding:5px 0;text-align:left}.tooltip-item .tooltip-item-color{border-radius:3px;color:#5b646b;display:inline-block;height:12px;margin-right:5px;width:12px}"],encapsulation:2}),function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);s>3&&o&&Object.defineProperty(e,i,o)}([(100,function(t,e,i){return{configurable:!0,enumerable:i.enumerable,get:function(){return Object.defineProperty(this,e,{configurable:!0,enumerable:i.enumerable,value:Oo(i.value,100,undefined)}),this[e]}}})],t.prototype,"onWindowResize",null),t})(),Zo=(()=>{class t extends class{constructor(t){this.injectionService=t,this.defaults={},this.components=new Map}getByType(t=this.type){return this.components.get(t)}create(t){return this.createByType(this.type,t)}createByType(t,e){e=this.assignDefaults(e);const i=this.injectComponent(t,e);return this.register(t,i),i}destroy(t){const e=this.components.get(t.componentType);if(e&&e.length){const i=e.indexOf(t);i>-1&&(e[i].destroy(),e.splice(i,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(t){const e=this.components.get(t);if(e&&e.length){let t=e.length-1;for(;t>=0;)this.destroy(e[t--])}}injectComponent(t,e){return this.injectionService.appendComponent(t,e)}assignDefaults(t){const e=Object.assign({},this.defaults.inputs),i=Object.assign({},this.defaults.outputs);return t.inputs||t.outputs||(t={inputs:t}),e&&(t.inputs=Object.assign(Object.assign({},e),t.inputs)),i&&(t.outputs=Object.assign(Object.assign({},i),t.outputs)),t}register(t,e){this.components.has(t)||this.components.set(t,[]),this.components.get(t).push(e)}}{constructor(t){super(t),this.type=Fo}}return t.\u0275fac=function(e){return new(e||t)(n.LFG(Io))},t.\u0275prov=n.Yz7({token:t,factory:t.\u0275fac}),t})(),Bo=(()=>{class t{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new n.vpe,this.legendLabelActivate=new n.vpe,this.legendLabelDeactivate=new n.vpe}ngOnChanges(t){this.update()}update(){let t=0;this.showLegend&&(this.legendType=this.getLegendType(),this.legendOptions&&"right"!==this.legendOptions.position||(t="scaleLegend"===this.legendType?1:2)),this.chartWidth=Math.floor(this.view[0]*(12-t)/12),this.legendWidth=this.legendOptions&&"right"!==this.legendOptions.position?this.chartWidth:Math.floor(this.view[0]*t/12)}getLegendType(){return"linear"===this.legendOptions.scaleType?"scaleLegend":"legend"}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-chart"]],inputs:{showLegend:"showLegend",animations:"animations",legendType:"legendType",view:"view",legendOptions:"legendOptions",data:"data",legendData:"legendData",colors:"colors",activeEntries:"activeEntries"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[n._Bn([Zo]),n.TTD],ngContentSelectors:Bs,decls:5,vars:8,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate"]],template:function(t,e){1&t&&(n.F$t(),n.TgZ(0,"div",0),n.O4$(),n.TgZ(1,"svg",1),n.Hsn(2),n.qZA(),n.YNc(3,Fs,1,5,"ngx-charts-scale-legend",2),n.YNc(4,Zs,1,7,"ngx-charts-legend",3),n.qZA()),2&t&&(n.Udp("width",e.view[0],"px"),n.Q6J("@animationState","active")("@.disabled",!e.animations),n.xp6(1),n.uIk("width",e.chartWidth)("height",e.view[1]),n.xp6(2),n.Q6J("ngIf",e.showLegend&&"scaleLegend"===e.legendType),n.xp6(1),n.Q6J("ngIf",e.showLegend&&"legend"===e.legendType))},directives:function(){return[r.O5,ua,ca]},encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":enter",[(0,s.oB)({opacity:0}),(0,s.jt)("500ms 100ms",(0,s.oB)({opacity:1}))])])]},changeDetection:0}),t})(),Uo=(()=>{class t{constructor(t,e){this.element=t,this.zone=e,this.visible=new n.vpe,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const t=()=>{if(!this.element)return;const{offsetHeight:e,offsetWidth:i}=this.element.nativeElement;e&&i?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>t(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>t())})}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b))},t.\u0275dir=n.lG2({type:t,selectors:[["visibility-observer"]],outputs:{visible:"visible"}}),t})(),qo=(()=>{class t{constructor(t,e,i){this.chartElement=t,this.zone=e,this.cd=i,this.scheme="cool",this.schemeType="ordinal",this.animations=!0,this.select=new n.vpe}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new Uo(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(t){this.update()}update(){if(this.results=this.results?this.cloneData(this.results):[],this.view)this.width=this.view[0],this.height=this.view[1];else{const t=this.getContainerDims();t&&(this.width=t.width,this.height=t.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let t,e;const i=this.chartElement.nativeElement;if(null!==i.parentNode){const n=i.parentNode.getBoundingClientRect();t=n.width,e=n.height}return t&&e?{width:t,height:e}:null}formatDates(){for(let t=0;t{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=t}cloneData(t){const e=[];for(const i of t){const t={name:i.name};if(void 0!==i.value&&(t.value=i.value),void 0!==i.series){t.series=[];for(const e of i.series){const i=Object.assign({},e);t.series.push(i)}}void 0!==i.extra&&(t.extra=JSON.parse(JSON.stringify(i.extra))),e.push(t)}return e}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq),n.Y36(n.R0b),n.Y36(n.sBO))},t.\u0275cmp=n.Xpm({type:t,selectors:[["base-chart"]],inputs:{scheme:"scheme",schemeType:"schemeType",animations:"animations",results:"results",view:"view",customColors:"customColors"},outputs:{select:"select"},features:[n.TTD],decls:1,vars:0,template:function(t,e){1&t&&n._UZ(0,"div")},encapsulation:2}),t})(),zo=(()=>{class t{constructor(t){this.textHeight=25,this.margin=5,this.element=t.nativeElement}ngOnChanges(t){this.update()}update(){switch(this.strokeWidth="0.01",this.textAnchor="middle",this.transform="",this.orient){case"top":case"bottom":this.y=this.offset,this.x=this.width/2;break;case"left":this.y=-(this.offset+this.textHeight+this.margin),this.x=-this.height/2,this.transform="rotate(270)";break;case"right":this.y=this.offset+this.margin,this.x=-this.height/2,this.transform="rotate(270)"}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-axis-label",""]],inputs:{orient:"orient",label:"label",offset:"offset",width:"width",height:"height"},features:[n.TTD],attrs:Us,decls:2,vars:6,template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"text"),n._uU(1),n.qZA()),2&t&&(n.uIk("stroke-width",e.strokeWidth)("x",e.x)("y",e.y)("text-anchor",e.textAnchor)("transform",e.transform),n.xp6(1),n.hij(" ",e.label," "))},encapsulation:2,changeDetection:0}),t})();function Ho(t,e=16){return"string"!=typeof t?"number"==typeof t?t+"":"":(t=t.trim()).length<=e?t:`${t.slice(0,e)}...`}function Yo(t,e){if(t.length>e){const i=[],n=Math.floor(t.length/e);for(let e=0;e{class t{constructor(){this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.rotateTicks=!0,this.dimensionsChanged=new n.vpe,this.verticalSpacing=20,this.rotateLabels=!1,this.innerTickSize=6,this.outerTickSize=6,this.tickPadding=3,this.textAnchor="middle",this.maxTicksLength=0,this.maxAllowedLength=16,this.height=0}ngOnChanges(t){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){const t=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height,10);t!==this.height&&(this.height=t,this.dimensionsChanged.emit({height:t}),setTimeout(()=>this.updateDims()))}update(){const t=this.scale;this.ticks=this.getTicks(),this.tickFormat=this.tickFormatting?this.tickFormatting:t.tickFormat?t.tickFormat.apply(t,this.tickArguments):function(t){return"Date"===t.constructor.name?t.toLocaleDateString():t.toLocaleString()};const e=this.rotateTicks?this.getRotationAngle(this.ticks):null;this.adjustedScale=this.scale.bandwidth?function(t){return this.scale(t)+.5*this.scale.bandwidth()}:this.scale,this.textTransform="",e&&0!==e?(this.textTransform=`rotate(${e})`,this.textAnchor="end",this.verticalSpacing=10):this.textAnchor="middle",setTimeout(()=>this.updateDims())}getRotationAngle(t){let e=0;this.maxTicksLength=0;for(let s=0;sthis.maxTicksLength&&(this.maxTicksLength=i)}const i=8*Math.min(this.maxTicksLength,this.maxAllowedLength);let n=i;const r=Math.floor(this.width/t.length);for(;n>r&&e>-90;)e-=30,n=Math.cos(e*(Math.PI/180))*i;return e}getTicks(){let t;const e=this.getMaxTicks(20),i=this.getMaxTicks(100);return this.tickValues?t=this.tickValues:this.scale.ticks?t=this.scale.ticks.apply(this.scale,[i]):(t=this.scale.domain(),t=Yo(t,e)),t}getMaxTicks(t){return Math.floor(this.width/t)}tickTransform(t){return"translate("+this.adjustedScale(t)+","+this.verticalSpacing+")"}gridLineTransform(){return`translate(0,${-this.verticalSpacing-5})`}tickTrim(t){return this.trimTicks?Ho(t,this.maxTickLength):t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-x-axis-ticks",""]],viewQuery:function(t,e){if(1&t&&n.Gf(qs,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksElement=t.first)}},inputs:{tickArguments:"tickArguments",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",showGridLines:"showGridLines",rotateTicks:"rotateTicks",scale:"scale",orient:"orient",tickValues:"tickValues",tickFormatting:"tickFormatting",gridLineHeight:"gridLineHeight",width:"width"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:zs,decls:4,vars:2,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[4,"ngIf"],["y2","0",1,"gridline-path","gridline-path-vertical"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g",null,0),n.YNc(2,Hs,5,7,"g",1),n.qZA(),n.YNc(3,Gs,2,2,"g",2)),2&t&&(n.xp6(2),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngForOf",e.ticks))},directives:[r.sg,r.O5],encapsulation:2,changeDetection:0}),t})(),jo=(()=>{class t{constructor(){this.rotateTicks=!0,this.showGridLines=!1,this.xOrient="bottom",this.xAxisOffset=0,this.dimensionsChanged=new n.vpe,this.xAxisClassName="x axis",this.labelOffset=0,this.fill="none",this.stroke="stroke",this.tickStroke="#ccc",this.strokeWidth="none",this.padding=5}ngOnChanges(t){this.update()}update(){this.transform=`translate(0,${this.xAxisOffset+this.padding+this.dims.height})`,void 0!==this.xAxisTickCount&&(this.tickArguments=[this.xAxisTickCount])}emitTicksHeight({height:t}){const e=t+25+5;e!==this.labelOffset&&(this.labelOffset=e,setTimeout(()=>{this.dimensionsChanged.emit({height:t})},0))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-x-axis",""]],viewQuery:function(t,e){if(1&t&&n.Gf(Go,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksComponent=t.first)}},inputs:{rotateTicks:"rotateTicks",showGridLines:"showGridLines",xOrient:"xOrient",xAxisOffset:"xAxisOffset",xScale:"xScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showLabel:"showLabel",labelText:"labelText",ticks:"ticks",xAxisTickInterval:"xAxisTickInterval",xAxisTickCount:"xAxisTickCount"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:js,decls:3,vars:4,consts:[["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,Vs,1,12,"g",0),n.YNc(2,Qs,1,5,"g",1),n.qZA()),2&t&&(n.uIk("class",e.xAxisClassName)("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.xScale),n.xp6(1),n.Q6J("ngIf",e.showLabel))},directives:[r.O5,Go,zo],encapsulation:2,changeDetection:0}),t})();function Vo(t,e,i,n,r,[s,o,a,l]){let c="";return c=`M${[t+r,e]}`,c+="h"+((i=0===(i=Math.floor(i))?1:i)-2*r),c+=o?`a${[r,r]} 0 0 1 ${[r,r]}`:`h${r}v${r}`,c+="v"+((n=0===(n=Math.floor(n))?1:n)-2*r),c+=l?`a${[r,r]} 0 0 1 ${[-r,r]}`:`v${r}h${-r}`,c+="h"+(2*r-i),c+=a?`a${[r,r]} 0 0 1 ${[-r,-r]}`:`h${-r}v${-r}`,c+="v"+(2*r-n),c+=s?`a${[r,r]} 0 0 1 ${[r,-r]}`:`v${-r}h${r}`,c+="z",c}let Qo=(()=>{class t{constructor(){this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.showRefLabels=!1,this.showRefLines=!1,this.dimensionsChanged=new n.vpe,this.innerTickSize=6,this.tickPadding=3,this.verticalSpacing=20,this.textAnchor="middle",this.width=0,this.outerTickSize=6,this.rotateLabels=!1,this.referenceLineLength=0}ngOnChanges(t){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){const t=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width,10);t!==this.width&&(this.width=t,this.dimensionsChanged.emit({width:t}),setTimeout(()=>this.updateDims()))}update(){let t;const e="top"===this.orient||"right"===this.orient?-1:1;switch(this.tickSpacing=Math.max(this.innerTickSize,0)+this.tickPadding,t=this.scale,this.ticks=this.getTicks(),this.tickFormat=this.tickFormatting?this.tickFormatting:t.tickFormat?t.tickFormat.apply(t,this.tickArguments):function(t){return"Date"===t.constructor.name?t.toLocaleDateString():t.toLocaleString()},this.adjustedScale=t.bandwidth?function(e){return t(e)+.5*t.bandwidth()}:t,this.showRefLines&&this.referenceLines&&this.setReferencelines(),this.orient){case"top":case"bottom":this.transform=function(t){return"translate("+this.adjustedScale(t)+",0)"},this.textAnchor="middle",this.y2=this.innerTickSize*e,this.y1=this.tickSpacing*e,this.dy=e<0?"0em":".71em";break;case"left":this.transform=function(t){return"translate(0,"+this.adjustedScale(t)+")"},this.textAnchor="end",this.x2=this.innerTickSize*-e,this.x1=this.tickSpacing*-e,this.dy=".32em";break;case"right":this.transform=function(t){return"translate(0,"+this.adjustedScale(t)+")"},this.textAnchor="start",this.x2=this.innerTickSize*-e,this.x1=this.tickSpacing*-e,this.dy=".32em"}setTimeout(()=>this.updateDims())}setReferencelines(){this.refMin=this.adjustedScale(Math.min.apply(null,this.referenceLines.map(t=>t.value))),this.refMax=this.adjustedScale(Math.max.apply(null,this.referenceLines.map(t=>t.value))),this.referenceLineLength=this.referenceLines.length,this.referenceAreaPath=Vo(0,this.refMax,this.gridLineWidth,this.refMin-this.refMax,0,[!1,!1,!1,!1])}getTicks(){let t;const e=this.getMaxTicks(20),i=this.getMaxTicks(50);return this.tickValues?t=this.tickValues:this.scale.ticks?t=this.scale.ticks.apply(this.scale,[i]):(t=this.scale.domain(),t=Yo(t,e)),t}getMaxTicks(t){return Math.floor(this.height/t)}tickTransform(t){return`translate(${this.adjustedScale(t)},${this.verticalSpacing})`}gridLineTransform(){return"translate(5,0)"}tickTrim(t){return this.trimTicks?Ho(t,this.maxTickLength):t}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-y-axis-ticks",""]],viewQuery:function(t,e){if(1&t&&n.Gf(qs,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksElement=t.first)}},inputs:{tickArguments:"tickArguments",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",showGridLines:"showGridLines",showRefLabels:"showRefLabels",showRefLines:"showRefLines",scale:"scale",orient:"orient",tickValues:"tickValues",tickFormatting:"tickFormatting",gridLineWidth:"gridLineWidth",height:"height",referenceLines:"referenceLines"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:Ws,decls:6,vars:4,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],["class","reference-area",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[1,"reference-area"],[4,"ngIf"],["class","gridline-path gridline-path-horizontal","x1","0",4,"ngIf"],["x1","0",1,"gridline-path","gridline-path-horizontal"],["x1","0",1,"refline-path","gridline-path-horizontal"],[1,"refline-label"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g",null,0),n.YNc(2,Js,5,9,"g",1),n.qZA(),n.YNc(3,Xs,1,2,"path",2),n.YNc(4,eo,2,2,"g",3),n.YNc(5,ro,2,1,"g",3)),2&t&&(n.xp6(2),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngIf",e.referenceLineLength>1&&e.refMax&&e.refMin&&e.showRefLines),n.xp6(1),n.Q6J("ngForOf",e.ticks),n.xp6(1),n.Q6J("ngForOf",e.referenceLines))},directives:[r.sg,r.O5],encapsulation:2,changeDetection:0}),t})(),Wo=(()=>{class t{constructor(){this.showGridLines=!1,this.yOrient="left",this.yAxisOffset=0,this.dimensionsChanged=new n.vpe,this.yAxisClassName="y axis",this.labelOffset=15,this.fill="none",this.stroke="#CCC",this.tickStroke="#CCC",this.strokeWidth=1,this.padding=5}ngOnChanges(t){this.update()}update(){this.offset=-(this.yAxisOffset+this.padding),"right"===this.yOrient?(this.labelOffset=65,this.transform=`translate(${this.offset+this.dims.width} , 0)`):(this.offset=this.offset,this.transform=`translate(${this.offset} , 0)`),void 0!==this.yAxisTickCount&&(this.tickArguments=[this.yAxisTickCount])}emitTicksWidth({width:t}){t!==this.labelOffset&&"right"===this.yOrient?(this.labelOffset=t+this.labelOffset,setTimeout(()=>{this.dimensionsChanged.emit({width:t})},0)):t!==this.labelOffset&&(this.labelOffset=t,setTimeout(()=>{this.dimensionsChanged.emit({width:t})},0))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-y-axis",""]],viewQuery:function(t,e){if(1&t&&n.Gf(Qo,5),2&t){let t;n.iGM(t=n.CRH())&&(e.ticksComponent=t.first)}},inputs:{showGridLines:"showGridLines",yOrient:"yOrient",yAxisOffset:"yAxisOffset",yScale:"yScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",ticks:"ticks",showLabel:"showLabel",labelText:"labelText",yAxisTickInterval:"yAxisTickInterval",yAxisTickCount:"yAxisTickCount",referenceLines:"referenceLines",showRefLines:"showRefLines",showRefLabels:"showRefLabels"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:so,decls:3,vars:4,consts:[["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"g"),n.YNc(1,oo,1,14,"g",0),n.YNc(2,ao,1,5,"g",1),n.qZA()),2&t&&(n.uIk("class",e.yAxisClassName)("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.yScale),n.xp6(1),n.Q6J("ngIf",e.showLabel))},directives:[r.O5,Qo,zo],encapsulation:2,changeDetection:0}),t})(),Jo=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez]]}),t})();var Xo=function(t){return t[t.popover="popover"]="popover",t[t.tooltip="tooltip"]="tooltip",t}({}),Ko=function(t){return t[t.left="left"]="left",t[t.center="center"]="center",t[t.right="right"]="right",t}({}),$o=function(t){return t[t.all="all"]="all",t[t.focus="focus"]="focus",t[t.mouseover="mouseover"]="mouseover",t}({});let ta=(()=>{class t{constructor(t,e,i){this.tooltipService=t,this.viewContainerRef=e,this.renderer=i,this.tooltipCssClass="",this.tooltipTitle="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Do.top,this.tooltipAlignment=Ko.center,this.tooltipType=Xo.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=$o.all,this.tooltipImmediateExit=!1,this.show=new n.vpe,this.hide=new n.vpe}get listensForFocus(){return this.tooltipShowEvent===$o.all||this.tooltipShowEvent===$o.focus}get listensForHover(){return this.tooltipShowEvent===$o.all||this.tooltipShowEvent===$o.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(t){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(t))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(t){if(this.component||this.tooltipDisabled)return;const e=t?0:this.tooltipShowTimeout;clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const t=this.createBoundOptions();this.component=this.tooltipService.create(t),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},e)}addHideListeners(t){this.mouseEnterContentEvent=this.renderer.listen(t,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(t,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen(document,"click",e=>{t.contains(e.target)||this.hideTooltip()}))}hideTooltip(t=!1){if(!this.component)return;const e=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),t?e():this.timeout=setTimeout(e,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Zo),n.Y36(n.s_b),n.Y36(n.Qsj))},t.\u0275dir=n.lG2({type:t,selectors:[["","ngx-tooltip",""]],hostBindings:function(t,e){1&t&&n.NdJ("focusin",function(){return e.onFocus()})("blur",function(){return e.onBlur()})("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(t){return e.onMouseLeave(t.target)})("click",function(){return e.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipShowEvent:"tooltipShowEvent",tooltipImmediateExit:"tooltipImmediateExit",tooltipTemplate:"tooltipTemplate",tooltipContext:"tooltipContext"},outputs:{show:"show",hide:"hide"}}),t})(),ea=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({providers:[Io,Zo],imports:[[r.ez]]}),t})();function ia(t){return t instanceof Date?t.toLocaleDateString():t.toLocaleString()}const na={};function ra(){let t=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4);return t=`a${t}`,na[t]?ra():(na[t]=!0,t)}let sa,oa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-grid-panel",""]],inputs:{path:"path",width:"width",height:"height",x:"x",y:"y"},attrs:lo,decls:1,vars:4,consts:[["stroke","none",1,"gridpanel"]],template:function(t,e){1&t&&(n.O4$(),n._UZ(0,"rect",0)),2&t&&n.uIk("height",e.height)("width",e.width)("x",e.x)("y",e.y)},encapsulation:2,changeDetection:0}),t})(),aa=(()=>{class t{ngOnChanges(t){this.update()}update(){this.gridPanels=this.getGridPanels()}getGridPanels(){return this.data.map(t=>{let e,i,n,r,s,o="odd";if("vertical"===this.orient){const a=this.xScale(t.name);Number.parseInt((a/this.xScale.step()).toString(),10)%2==1&&(o="even"),e=this.xScale.bandwidth()*this.xScale.paddingInner(),i=this.xScale.bandwidth()+e,n=this.dims.height,r=this.xScale(t.name)-e/2,s=0}else if("horizontal"===this.orient){const a=this.yScale(t.name);Number.parseInt((a/this.yScale.step()).toString(),10)%2==1&&(o="even"),e=this.yScale.bandwidth()*this.yScale.paddingInner(),i=this.dims.width,n=this.yScale.bandwidth()+e,r=0,s=this.yScale(t.name)-e/2}return{name:t.name,class:o,height:n,width:i,x:r,y:s}})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-grid-panel-series",""]],inputs:{data:"data",dims:"dims",xScale:"xScale",yScale:"yScale",orient:"orient"},features:[n.TTD],attrs:co,decls:1,vars:1,consts:[["ngx-charts-grid-panel","",3,"height","width","x","y","grid-panel","odd","even",4,"ngFor","ngForOf"],["ngx-charts-grid-panel","",3,"height","width","x","y"]],template:function(t,e){1&t&&n.YNc(0,ho,1,10,"g",0),2&t&&n.Q6J("ngForOf",e.gridPanels)},directives:[r.sg,oa],encapsulation:2,changeDetection:0}),t})(),la=(()=>{class t{constructor(){this.orientation="vertical"}ngOnChanges(t){this.x1="0%",this.x2="0%",this.y1="0%",this.y2="0%","horizontal"===this.orientation?this.x2="100%":"vertical"===this.orientation&&(this.y1="100%")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-svg-linear-gradient",""]],inputs:{orientation:"orientation",name:"name",stops:"stops"},features:[n.TTD],attrs:uo,decls:2,vars:6,consts:[[3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"linearGradient",0),n.YNc(1,po,1,5,"stop",1),n.qZA()),2&t&&(n.Q6J("id",e.name),n.uIk("x1",e.x1)("y1",e.y1)("x2",e.x2)("y2",e.y2),n.xp6(1),n.Q6J("ngForOf",e.stops))},directives:[r.sg],encapsulation:2,changeDetection:0}),t})();"undefined"!=typeof window?sa=window:"undefined"!=typeof global&&(sa=global);let ca=(()=>{class t{constructor(t){this.cd=t,this.horizontal=!1,this.labelClick=new n.vpe,this.labelActivate=new n.vpe,this.labelDeactivate=new n.vpe,this.legendEntries=[]}ngOnChanges(t){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const t=[];for(const e of this.data){const i=ia(e);-1===t.findIndex(t=>t.label===i)&&t.push({label:e,formattedLabel:i,color:this.colors.getColor(e)})}return t}isActive(t){return!!this.activeEntries&&void 0!==this.activeEntries.find(e=>t.label===e.name)}activate(t){this.labelActivate.emit(t)}deactivate(t){this.labelDeactivate.emit(t)}trackBy(t,e){return e.label}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.sBO))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-legend"]],inputs:{horizontal:"horizontal",data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[n.TTD],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"label","formattedLabel","color","isActive","select","activate","deactivate"]],template:function(t,e){1&t&&(n.TgZ(0,"div"),n.YNc(1,fo,3,1,"header",0),n.TgZ(2,"div",1),n.TgZ(3,"ul",2),n.YNc(4,mo,2,4,"li",3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("width",e.width,"px"),n.xp6(1),n.Q6J("ngIf",(null==e.title?null:e.title.length)>0),n.xp6(2),n.Udp("max-height",e.height-45,"px"),n.ekj("horizontal-legend",e.horizontal),n.xp6(1),n.Q6J("ngForOf",e.legendEntries)("ngForTrackBy",e.trackBy))},directives:function(){return[r.O5,r.sg,ha]},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{font-size:14px;font-weight:700;margin-bottom:5px;margin-left:10px;overflow:hidden;white-space:nowrap}.chart-legend li,.chart-legend ul{list-style:none;margin:0;padding:0}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{background:rgba(0,0,0,.05);border-radius:3px;float:left;line-height:85%;list-style:none;overflow-x:hidden;overflow-y:auto;text-align:left;white-space:nowrap;width:100%}.chart-legend .legend-label{color:#afb7c8;cursor:pointer;font-size:90%;margin:8px}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{border-radius:3px;color:#5b646b;display:inline-block;height:15px;margin-right:5px;width:15px}.chart-legend .legend-label-text{font-size:12px;line-height:15px;vertical-align:top;width:calc(100% - 20px)}.chart-legend .legend-label-text,.chart-legend .legend-title-text{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend .legend-title-text{line-height:16px;vertical-align:bottom}"],encapsulation:2,changeDetection:0}),t})(),ha=(()=>{class t{constructor(){this.isActive=!1,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.toggle=new n.vpe}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(t,e){1&t&&n.NdJ("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(){return e.onMouseLeave()})},inputs:{isActive:"isActive",color:"color",label:"label",formattedLabel:"formattedLabel"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"title","click"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(t,e){1&t&&(n.TgZ(0,"span",0),n.NdJ("click",function(){return e.select.emit(e.formattedLabel)}),n.TgZ(1,"span",1),n.NdJ("click",function(){return e.toggle.emit(e.formattedLabel)}),n.qZA(),n.TgZ(2,"span",2),n._uU(3),n.qZA(),n.qZA()),2&t&&(n.ekj("active",e.isActive),n.Q6J("title",e.formattedLabel),n.xp6(1),n.Udp("background-color",e.color),n.xp6(2),n.hij(" ",e.trimmedLabel," "))},encapsulation:2,changeDetection:0}),t})(),ua=(()=>{class t{constructor(t){this.sanitizer=t,this.horizontal=!1}ngOnChanges(t){const e=this.gradientString(this.colors.range(),this.colors.domain());this.gradient=this.sanitizer.bypassSecurityTrustStyle(`linear-gradient(to ${this.horizontal?"right":"bottom"}, ${e})`)}gradientString(t,e){e.push(1);const i=[];return t.reverse().forEach((t,n)=>{i.push(`${t} ${Math.round(100*e[n])}%`)}),i.join(", ")}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(Is.H7))},t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-scale-legend"]],inputs:{horizontal:"horizontal",valueRange:"valueRange",colors:"colors",height:"height",width:"width"},features:[n.TTD],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n._UZ(4,"div",2),n.TgZ(5,"div",1),n.TgZ(6,"span"),n._uU(7),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("height",e.horizontal?void 0:e.height,"px")("width",e.width,"px"),n.ekj("horizontal-legend",e.horizontal),n.xp6(3),n.Oqu(e.valueRange[1].toLocaleString()),n.xp6(1),n.Udp("background",e.gradient),n.xp6(3),n.Oqu(e.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{display:flex;flex-direction:column;text-align:center}.chart-legend .scale-legend-wrap{border-radius:5px;display:inline-block;flex:1;margin:0 auto;width:30px}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{height:30px;margin:0 16px;width:auto}"],encapsulation:2,changeDetection:0}),t})(),da=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[r.ez,Jo,ea],r.ez,Jo,ea]}),t})();function pa({width:t,height:e,margins:i,showXAxis:n=!1,showYAxis:r=!1,xAxisHeight:s=0,yAxisWidth:o=0,showXLabel:a=!1,showYLabel:l=!1,showLegend:c=!1,legendType:h="ordinal",legendPosition:u="right",columns:d=12}){let p=i[3],f=t,m=e-i[0]-i[2];if(c&&"right"===u&&(d-="ordinal"===h?2:1),f=f*d/12,f=f-i[1]-i[3],n&&(m-=5,m-=s,a)&&(m-=30),r&&(f-=5,f-=o,p+=o,p+=10,l)){const t=30;f-=t,p+=t}return f=Math.max(0,f),m=Math.max(0,m),{width:Math.floor(f),height:Math.floor(m),xOffset:Math.floor(p)}}let fa=[{name:"vivid",selectable:!0,group:"Ordinal",domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:"Ordinal",domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:"Ordinal",domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:"Ordinal",domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:"Continuous",domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:"Continuous",domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:"Continuous",domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:"Ordinal",domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:"Ordinal",domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:"Ordinal",domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:"Ordinal",domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:"Ordinal",domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:"Ordinal",domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:"Ordinal",domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:"Ordinal",domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class ma{constructor(t,e,i,n){"string"==typeof t&&(t=fa.find(e=>e.name===t)),this.colorDomain=t.domain,this.scaleType=e,this.domain=i,this.customColors=n,this.scale=this.generateColorScheme(t,e,this.domain)}generateColorScheme(t,e,i){let n;if("string"==typeof t&&(t=fa.find(e=>e.name===t)),"quantile"===e)n=us().range(t.domain).domain(i);else if("ordinal"===e)n=ls().range(t.domain).domain(i);else if("linear"===e){const e=[...t.domain];1===e.length&&(e.push(e[0]),this.colorDomain=e);const i=os(0,1,1/e.length);n=ss().domain(i).range(e)}return n}getColor(t){if(null==t)throw new Error("Value can not be null");if("linear"===this.scaleType){const e=ss().domain(this.domain).range([0,1]);return this.scale(e(t))}{if("function"==typeof this.customColors)return this.customColors(t);const e=t.toString();let i;return this.customColors&&this.customColors.length>0&&(i=this.customColors.find(t=>t.name.toLowerCase()===e.toLowerCase())),i?i.value:this.scale(t)}}getLinearGradientStops(t,e){void 0===e&&(e=this.domain[0]);const i=ss().domain(this.domain).range([0,1]),n=cs().domain(this.colorDomain).range([0,1]),r=this.getColor(t),s=i(e),o=this.getColor(e),a=i(t);let l=1,c=s;const h=[];for(h.push({color:o,offset:s,originalOffset:s,opacity:1});c=(a-n.bandwidth()).toFixed(4))break;h.push({color:t,offset:e,opacity:1}),c=e,l++}}if(h[h.length-1].offset<100&&h.push({color:r,offset:a,opacity:1}),a===s)h[0].offset=0,h[1].offset=100;else if(100!==h[h.length-1].offset)for(const u of h)u.offset=(u.offset-s)/(a-s)*100;return h}}let ga=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),ya=(()=>{class t{constructor(t){this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.hasGradient=!1,this.hideBar=!1,this.element=t.nativeElement}ngOnChanges(t){t.roundEdges&&this.loadAnimation(),this.update()}update(){this.gradientId="grad"+ra().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl(),this.checkToHideBar()}loadAnimation(){this.path=this.getStartingPath(),setTimeout(this.update.bind(this),100)}updatePathEl(){const t=function(t){return"string"==typeof t?new gt([[document.querySelector(t)]],[document.documentElement]):new gt([[t]],mt)}(this.element).select(".bar"),e=this.getPath();this.animations?t.transition().duration(500).attr("d",e):t.attr("d",e)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartingPath(){if(!this.animations)return this.getPath();let t,e=this.getRadius();return this.roundEdges?"vertical"===this.orientation?(e=Math.min(this.height,e),t=Vo(this.x,this.y+this.height,this.width,1,0,this.edges)):"horizontal"===this.orientation&&(e=Math.min(this.width,e),t=Vo(this.x,this.y,1,this.height,0,this.edges)):"vertical"===this.orientation?t=Vo(this.x,this.y+this.height,this.width,1,0,this.edges):"horizontal"===this.orientation&&(t=Vo(this.x,this.y,1,this.height,0,this.edges)),t}getPath(){let t,e=this.getRadius();return this.roundEdges?"vertical"===this.orientation?(e=Math.min(this.height,e),t=Vo(this.x,this.y,this.width,this.height,e,this.edges)):"horizontal"===this.orientation&&(e=Math.min(this.width,e),t=Vo(this.x,this.y,this.width,this.height,e,this.edges)):t=Vo(this.x,this.y,this.width,this.height,e,this.edges),t}getRadius(){let t=0;return this.roundEdges&&this.height>5&&this.width>5&&(t=Math.floor(Math.min(5,this.height/2,this.width/2))),t}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let t=[!1,!1,!1,!1];return this.roundEdges&&("vertical"===this.orientation?t=this.data.value>0?[!0,!0,!1,!1]:[!1,!1,!0,!0]:"horizontal"===this.orientation&&(t=this.data.value>0?[!1,!0,!1,!0]:[!0,!1,!0,!1])),t}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&("vertical"===this.orientation&&0===this.height||"horizontal"===this.orientation&&0===this.width)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-bar",""]],hostBindings:function(t,e){1&t&&n.NdJ("mouseenter",function(){return e.onMouseEnter()})("mouseleave",function(){return e.onMouseLeave()})},inputs:{roundEdges:"roundEdges",gradient:"gradient",offset:"offset",isActive:"isActive",animations:"animations",noBarWhenZero:"noBarWhenZero",fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",orientation:"orientation",stops:"stops",ariaLabel:"ariaLabel"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[n.TTD],attrs:vo,decls:2,vars:8,consts:[[4,"ngIf"],["stroke","none","role","img","tabIndex","-1",1,"bar",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(t,e){1&t&&(n.YNc(0,_o,2,3,"defs",0),n.O4$(),n.TgZ(1,"path",1),n.NdJ("click",function(){return e.select.emit(e.data)}),n.qZA()),2&t&&(n.Q6J("ngIf",e.hasGradient),n.xp6(1),n.ekj("active",e.isActive)("hidden",e.hideBar),n.uIk("d",e.path)("aria-label",e.ariaLabel)("fill",e.hasGradient?e.gradientFill:e.fill))},directives:[r.O5,la],encapsulation:2,changeDetection:0}),t})(),ba=(()=>{class t extends qo{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition="right",this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new n.vpe,this.deactivate=new n.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=pa({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getXScale(){this.xDomain=this.getXDomain();const t=this.xDomain.length/(this.dims.width/this.barPadding+1);return cs().range([0,this.dims.width]).paddingInner(t).domain(this.xDomain)}getYScale(){this.yDomain=this.getYDomain();const t=ss().range([this.dims.height,0]).domain(this.yDomain);return this.roundDomains?t.nice():t}getXDomain(){return this.results.map(t=>t.label)}getYDomain(){const t=this.results.map(t=>t.value);let e=this.yScaleMin?Math.min(this.yScaleMin,...t):Math.min(0,...t);this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(e=Math.min(e,...this.yAxisTicks));let i=this.yScaleMax?Math.max(this.yScaleMax,...t):Math.max(0,...t);return this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(i=Math.max(i,...this.yAxisTicks)),[e,i]}onClick(t){this.select.emit(t)}setColors(){let t;t="ordinal"===this.schemeType?this.xDomain:this.yDomain,this.colors=new ma(this.scheme,this.schemeType,t,this.customColors)}getLegendOptions(){const t={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===t.scaleType?(t.domain=this.xDomain,t.colors=this.colors,t.title=this.legendTitle):(t.domain=this.yDomain,t.colors=this.colors.scale),t}updateYAxisWidth({width:t}){this.yAxisWidth=t,this.update()}updateXAxisHeight({height:t}){this.xAxisHeight=t,this.update()}onDataLabelMaxHeightChanged(t){t.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,t.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,t.size.height),t.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(t,e=!1){t=this.results.find(i=>e?i.label===t.name:i.name===t.name),this.activeEntries.findIndex(e=>e.name===t.name&&e.value===t.value&&e.series===t.series)>-1||(this.activeEntries=[t,...this.activeEntries],this.activate.emit({value:t,entries:this.activeEntries}))}onDeactivate(t,e=!1){t=this.results.find(i=>e?i.label===t.name:i.name===t.name);const i=this.activeEntries.findIndex(e=>e.name===t.name&&e.value===t.value&&e.series===t.series);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:t,entries:this.activeEntries})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-bar-vertical"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,go,5),2&t){let t;n.iGM(t=n.CRH())&&(e.tooltipTemplate=t.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",tooltipDisabled:"tooltipDisabled",showGridLines:"showGridLines",activeEntries:"activeEntries",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",schemeType:"schemeType",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",yScaleMax:"yScaleMax",yScaleMin:"yScaleMin",dataLabelFormatting:"dataLabelFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[n.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","activeEntries","roundEdges","animations","noBarWhenZero","activate","deactivate","select","dataLabelHeightChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(t,e){1&t&&(n.TgZ(0,"ngx-charts-chart",0),n.NdJ("legendLabelClick",function(t){return e.onClick(t)})("legendLabelActivate",function(t){return e.onActivate(t,!0)})("legendLabelDeactivate",function(t){return e.onDeactivate(t,!0)}),n.O4$(),n.TgZ(1,"g",1),n.YNc(2,wo,1,10,"g",2),n.YNc(3,xo,1,9,"g",3),n.TgZ(4,"g",4),n.NdJ("activate",function(t){return e.onActivate(t)})("deactivate",function(t){return e.onDeactivate(t)})("select",function(t){return e.onClick(t)})("dataLabelHeightChanged",function(t){return e.onDataLabelMaxHeightChanged(t)}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("view",n.WLB(22,yo,e.width,e.height))("showLegend",e.legend)("legendOptions",e.legendOptions)("activeEntries",e.activeEntries)("animations",e.animations),n.xp6(1),n.uIk("transform",e.transform),n.xp6(1),n.Q6J("ngIf",e.xAxis),n.xp6(1),n.Q6J("ngIf",e.yAxis),n.xp6(1),n.Q6J("xScale",e.xScale)("yScale",e.yScale)("colors",e.colors)("series",e.results)("dims",e.dims)("gradient",e.gradient)("tooltipDisabled",e.tooltipDisabled)("tooltipTemplate",e.tooltipTemplate)("showDataLabel",e.showDataLabel)("dataLabelFormatting",e.dataLabelFormatting)("activeEntries",e.activeEntries)("roundEdges",e.roundEdges)("animations",e.animations)("noBarWhenZero",e.noBarWhenZero))},directives:function(){return[Bo,r.O5,wa,jo,Wo]},styles:[bo],encapsulation:2,changeDetection:0}),t})(),va=(()=>{class t extends qo{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition="right",this.tooltipDisabled=!1,this.scaleType="ordinal",this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new n.vpe,this.deactivate=new n.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=pa({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valuesDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}onDataLabelMaxHeightChanged(t,e){t.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,t.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,t.size.height),e===this.results.length-1&&setTimeout(()=>this.update())}getGroupScale(){const t=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return cs().rangeRound([0,this.dims.width]).paddingInner(t).paddingOuter(t/2).domain(this.groupDomain)}getInnerScale(){const t=this.groupScale.bandwidth(),e=this.innerDomain.length/(t/this.barPadding+1);return cs().rangeRound([0,t]).paddingInner(e).domain(this.innerDomain)}getValueScale(){const t=ss().range([this.dims.height,0]).domain(this.valuesDomain);return this.roundDomains?t.nice():t}getGroupDomain(){const t=[];for(const e of this.results)t.includes(e.label)||t.push(e.label);return t}getInnerDomain(){const t=[];for(const e of this.results)for(const i of e.series)t.includes(i.label)||t.push(i.label);return t}getValueDomain(){const t=[];for(const e of this.results)for(const i of e.series)t.includes(i.value)||t.push(i.value);return[Math.min(0,...t),this.yScaleMax?Math.max(this.yScaleMax,...t):Math.max(0,...t)]}groupTransform(t){return`translate(${this.groupScale(t.label)}, 0)`}onClick(t,e){e&&(t.series=e.name),this.select.emit(t)}trackBy(t,e){return e.name}setColors(){let t;t="ordinal"===this.schemeType?this.innerDomain:this.valuesDomain,this.colors=new ma(this.scheme,this.schemeType,t,this.customColors)}getLegendOptions(){const t={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===t.scaleType?(t.domain=this.innerDomain,t.colors=this.colors,t.title=this.legendTitle):(t.domain=this.valuesDomain,t.colors=this.colors.scale),t}updateYAxisWidth({width:t}){this.yAxisWidth=t,this.update()}updateXAxisHeight({height:t}){this.xAxisHeight=t,this.update()}onActivate(t,e,i=!1){const n=Object.assign({},t);e&&(n.series=e.name);const r=this.results.map(t=>t.series).flat().filter(t=>i?t.label===n.name:t.name===n.name&&t.series===n.series);this.activeEntries=[...r],this.activate.emit({value:n,entries:this.activeEntries})}onDeactivate(t,e,i=!1){const n=Object.assign({},t);e&&(n.series=e.name),this.activeEntries=this.activeEntries.filter(t=>i?t.label!==n.name:!(t.name===n.name&&t.series===n.series)),this.deactivate.emit({value:n,entries:this.activeEntries})}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=n.n5z(t)))(i||t)}}(),t.\u0275cmp=n.Xpm({type:t,selectors:[["ngx-charts-bar-vertical-2d"]],contentQueries:function(t,e,i){if(1&t&&n.Suo(i,go,5),2&t){let t;n.iGM(t=n.CRH())&&(e.tooltipTemplate=t.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",tooltipDisabled:"tooltipDisabled",scaleType:"scaleType",showGridLines:"showGridLines",activeEntries:"activeEntries",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",schemeType:"schemeType",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",yScaleMax:"yScaleMax",dataLabelFormatting:"dataLabelFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[n.qOj],decls:6,vars:17,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","","orient","vertical",3,"xScale","yScale","data","dims"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(t,e){1&t&&(n.TgZ(0,"ngx-charts-chart",0),n.NdJ("legendLabelActivate",function(t){return e.onActivate(t,void 0,!0)})("legendLabelDeactivate",function(t){return e.onDeactivate(t,void 0,!0)})("legendLabelClick",function(t){return e.onClick(t)}),n.O4$(),n.TgZ(1,"g",1),n._UZ(2,"g",2),n.YNc(3,Co,1,10,"g",3),n.YNc(4,Ao,1,9,"g",4),n.YNc(5,So,1,17,"g",5),n.qZA(),n.qZA()),2&t&&(n.Q6J("view",n.WLB(14,yo,e.width,e.height))("showLegend",e.legend)("legendOptions",e.legendOptions)("activeEntries",e.activeEntries)("animations",e.animations),n.xp6(1),n.uIk("transform",e.transform),n.xp6(1),n.Q6J("xScale",e.groupScale)("yScale",e.valueScale)("data",e.results)("dims",e.dims),n.xp6(1),n.Q6J("ngIf",e.xAxis),n.xp6(1),n.Q6J("ngIf",e.yAxis),n.xp6(1),n.Q6J("ngForOf",e.results)("ngForTrackBy",e.trackBy))},directives:function(){return[Bo,aa,r.O5,r.sg,jo,Wo,wa]},styles:[bo],encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":leave",[(0,s.oB)({opacity:1,transform:"*"}),(0,s.jt)(500,(0,s.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0}),t})();var _a=function(t){return t.positive="positive",t.negative="negative",t}({});let wa=(()=>{class t{constructor(){this.type="standard",this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new n.vpe,this.activate=new n.vpe,this.deactivate=new n.vpe,this.dataLabelHeightChanged=new n.vpe,this.barsForDataLabels=[]}ngOnChanges(t){this.update()}update(){let t;this.updateTooltipSettings(),this.series.length&&(t=this.xScale.bandwidth()),t=Math.round(t);const e=Math.max(this.yScale.domain()[0],0),i={[_a.positive]:0,[_a.negative]:0};let n,r=_a.positive;"normalized"===this.type&&(n=this.series.map(t=>t.value).reduce((t,e)=>t+e,0)),this.bars=this.series.map((s,o)=>{let a=s.value;const l=this.getLabel(s),c=ia(l);r=a>0?_a.positive:_a.negative;const h={value:a,label:l,roundEdges:this.roundEdges,data:s,width:t,formattedLabel:c,height:0,x:0,y:0};if("standard"===this.type)h.height=Math.abs(this.yScale(a)-this.yScale(e)),h.x=this.xScale(l),h.y=this.yScale(a<0?0:a);else if("stacked"===this.type){const t=i[r],e=t+a;i[r]+=a,h.height=this.yScale(t)-this.yScale(e),h.x=0,h.y=this.yScale(e),h.offset0=t,h.offset1=e}else if("normalized"===this.type){let t=i[r],e=t+a;i[r]+=a,n>0?(t=100*t/n,e=100*e/n):(t=0,e=0),h.height=this.yScale(t)-this.yScale(e),h.x=0,h.y=this.yScale(e),h.offset0=t,h.offset1=e,a=(e-t).toFixed(2)+"%"}"ordinal"===this.colors.scaleType?h.color=this.colors.getColor(l):"standard"===this.type?(h.color=this.colors.getColor(a),h.gradientStops=this.colors.getLinearGradientStops(a)):(h.color=this.colors.getColor(h.offset1),h.gradientStops=this.colors.getLinearGradientStops(h.offset1,h.offset0));let u=c;return h.ariaLabel=c+" "+a.toLocaleString(),this.seriesName&&(u=`${this.seriesName} \u2022 ${c}`,h.data.series=this.seriesName,h.ariaLabel=this.seriesName+" "+h.ariaLabel),h.tooltipText=this.tooltipDisabled?void 0:`\n ${function(t){return t.toLocaleString().replace(/[&'`"<>]/g,t=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[t]))}(u)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(a):a.toLocaleString()}\n `,h}),this.updateDataLabels()}updateDataLabels(){if("stacked"===this.type){this.barsForDataLabels=[];const t={};t.series=this.seriesName;const e=this.series.map(t=>t.value).reduce((t,e)=>e>0?t+e:t,0),i=this.series.map(t=>t.value).reduce((t,e)=>e<0?t+e:t,0);t.total=e+i,t.x=0,t.y=0,t.height=this.yScale(t.total>0?e:i),t.width=this.xScale.bandwidth(),this.barsForDataLabels.push(t)}else this.barsForDataLabels=this.series.map(t=>{const e={};return e.series=this.seriesName?this.seriesName:t.label,e.total=t.value,e.x=this.xScale(t.label),e.y=this.yScale(0),e.height=this.yScale(e.total)-this.yScale(0),e.width=this.xScale.bandwidth(),e})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:"top",this.tooltipType=this.tooltipDisabled?void 0:"tooltip"}isActive(t){return!!this.activeEntries&&void 0!==this.activeEntries.find(e=>t.name===e.name&&t.series===e.series)}onClick(t){this.select.emit(t)}getLabel(t){return t.label?t.label:t.name}trackBy(t,e){return e.label}trackDataLabelBy(t,e){return t+"#"+e.series+"#"+e.total}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-series-vertical",""]],inputs:{type:"type",tooltipDisabled:"tooltipDisabled",animations:"animations",showDataLabel:"showDataLabel",noBarWhenZero:"noBarWhenZero",dims:"dims",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",dataLabelFormatting:"dataLabelFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelHeightChanged:"dataLabelHeightChanged"},features:[n.TTD],attrs:Eo,decls:2,vars:3,consts:[["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(t,e){1&t&&(n.YNc(0,ko,1,22,"g",0),n.YNc(1,Mo,2,2,"g",1)),2&t&&(n.Q6J("ngForOf",e.bars)("ngForTrackBy",e.trackBy),n.xp6(1),n.Q6J("ngIf",e.showDataLabel))},directives:function(){return[r.sg,r.O5,ya,ta,xa]},encapsulation:2,data:{animation:[(0,s.X$)("animationState",[(0,s.eR)(":leave",[(0,s.oB)({opacity:1}),(0,s.jt)(500,(0,s.oB)({opacity:0}))])])]},changeDetection:0}),t})(),xa=(()=>{class t{constructor(t){this.dimensionsChanged=new n.vpe,this.horizontalPadding=2,this.verticalPadding=5,this.element=t.nativeElement}ngOnChanges(t){this.update()}getSize(){return{height:this.element.getBoundingClientRect().height,width:this.element.getBoundingClientRect().width,negative:this.value<0}}ngAfterViewInit(){this.dimensionsChanged.emit(this.getSize())}update(){this.formatedValue=this.valueFormatting?this.valueFormatting(this.value):ia(this.value),"horizontal"===this.orientation?(this.x=this.barX+this.barWidth,this.value<0?(this.x=this.x-this.horizontalPadding,this.textAnchor="end"):(this.x=this.x+this.horizontalPadding,this.textAnchor="start"),this.y=this.barY+this.barHeight/2):(this.x=this.barX+this.barWidth/2,this.y=this.barY+this.barHeight,this.value<0?(this.y=this.y+this.verticalPadding,this.textAnchor="end"):(this.y=this.y-this.verticalPadding,this.textAnchor="start"),this.transform=`rotate(-45, ${this.x} , ${this.y})`)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275cmp=n.Xpm({type:t,selectors:[["g","ngx-charts-bar-label",""]],inputs:{value:"value",valueFormatting:"valueFormatting",barX:"barX",barY:"barY",barWidth:"barWidth",barHeight:"barHeight",orientation:"orientation"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[n.TTD],attrs:Lo,decls:2,vars:5,consts:[["alignment-baseline","middle",1,"textDataLabel"]],template:function(t,e){1&t&&(n.O4$(),n.TgZ(0,"text",0),n._uU(1),n.qZA()),2&t&&(n.uIk("text-anchor",e.textAnchor)("transform",e.transform)("x",e.x)("y",e.y),n.xp6(1),n.hij(" ",e.formatedValue," "))},styles:[".textDataLabel[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0}),t})(),Ca=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Aa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Sa=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Ea=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})();Math;let ka=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Ta=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da,ka,Ea]]}),t})(),Ma=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),La=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da]]}),t})(),Ia=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[[da,ka,Ca]]}),t})(),Oa=(()=>{class t{constructor(){"undefined"!=typeof SVGElement&&void 0===SVGElement.prototype.contains&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=n.oAB({type:t}),t.\u0275inj=n.cJS({imports:[da,ga,Ca,Aa,Sa,Ea,Ta,Ma,ka,La,Ia]}),t})()},3600:(t,e,i)=>{"use strict";i.d(e,{V:()=>o,N:()=>a});var n=i(9176),r=i(1572);const s=["qrcElement"];let o=(()=>{class t{constructor(t){this.renderer=t,this.colordark="",this.colorlight="",this.level="",this.hidetitle=!1,this.size=0,this.usesvg=!1,this.allowEmptyString=!1,this.qrdata="",this.colorDark="#000000ff",this.colorLight="#ffffffff",this.cssClass="qrcode",this.elementType="canvas",this.errorCorrectionLevel="M",this.margin=4,this.scale=4,this.width=10,""!==this.colordark&&console.warn("[angularx-qrcode] colordark is deprecated, use colorDark."),""!==this.colorlight&&console.warn("[angularx-qrcode] colorlight is deprecated, use colorLight."),""!==this.level&&console.warn("[angularx-qrcode] level is deprecated, use errorCorrectionLevel."),!1!==this.hidetitle&&console.warn("[angularx-qrcode] hidetitle is deprecated."),0!==this.size&&console.warn("[angularx-qrcode] size is deprecated, use `width`. Defaults to 10."),!1!==this.usesvg&&console.warn("[angularx-qrcode] usesvg is deprecated, use [elementType]=\"'svg'\".")}ngOnChanges(){this.createQRCode()}isValidQrCodeText(t){return!1===this.allowEmptyString?!(void 0===t||""===t||"null"===t||null===t):!(void 0===t)}toDataURL(){return new Promise((t,e)=>{(0,n.hz)(this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,version:this.version,width:this.width},(i,n)=>{i?e(i):t(n)})})}toCanvas(t){return new Promise((e,i)=>{(0,n.rT)(t,this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,version:this.version,width:this.width},t=>{t?i(t):e("success")})})}toSVG(){return new Promise((t,e)=>{(0,n.toString)(this.qrdata,{color:{dark:this.colorDark,light:this.colorLight},errorCorrectionLevel:this.errorCorrectionLevel,margin:this.margin,scale:this.scale,type:"svg",version:this.version,width:this.width},(i,n)=>{i?e(i):t(n)})})}renderElement(t){for(const e of this.qrcElement.nativeElement.childNodes)this.renderer.removeChild(this.qrcElement.nativeElement,e);this.renderer.appendChild(this.qrcElement.nativeElement,t)}createQRCode(){this.version&&this.version>40?(console.warn("[angularx-qrcode] max value for `version` is 40"),this.version=40):this.version&&this.version<1?(console.warn("[angularx-qrcode]`min value for `version` is 1"),this.version=1):void 0!==this.version&&isNaN(this.version)&&(console.warn("[angularx-qrcode] version should be a number, defaulting to auto."),this.version=void 0);try{if(!this.isValidQrCodeText(this.qrdata))throw new Error('[angularx-qrcode] Field `qrdata` is empty, set`allowEmptyString="true"` to overwrite this behaviour.');let t;switch(this.elementType){case"canvas":t=this.renderer.createElement("canvas"),this.toCanvas(t).then(()=>{this.renderElement(t)}).catch(t=>{console.error("[angularx-qrcode] canvas error: ",t)});break;case"svg":t=this.renderer.createElement("div"),this.toSVG().then(e=>{this.renderer.setProperty(t,"innerHTML",e);const i=t.firstChild;this.renderer.setAttribute(i,"height",`${this.width}`),this.renderer.setAttribute(i,"width",`${this.width}`),this.renderElement(i)}).catch(t=>{console.error("[angularx-qrcode] svg error: ",t)});break;case"url":case"img":default:t=this.renderer.createElement("img"),this.toDataURL().then(e=>{t.setAttribute("src",e),this.renderElement(t)}).catch(t=>{console.error("[angularx-qrcode] img/url error: ",t)})}}catch(t){console.error("[angularx-qrcode] Error generating QR Code: ",t.message)}}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(r.Qsj))},t.\u0275cmp=r.Xpm({type:t,selectors:[["qrcode"]],viewQuery:function(t,e){if(1&t&&r.Gf(s,7),2&t){let t;r.iGM(t=r.CRH())&&(e.qrcElement=t.first)}},inputs:{colordark:"colordark",colorlight:"colorlight",level:"level",hidetitle:"hidetitle",size:"size",usesvg:"usesvg",allowEmptyString:"allowEmptyString",qrdata:"qrdata",colorDark:"colorDark",colorLight:"colorLight",cssClass:"cssClass",elementType:"elementType",errorCorrectionLevel:"errorCorrectionLevel",margin:"margin",scale:"scale",width:"width",version:"version"},features:[r.TTD],decls:2,vars:2,consts:[["qrcElement",""]],template:function(t,e){1&t&&r._UZ(0,"div",null,0),2&t&&r.Tol(e.cssClass)},encapsulation:2,changeDetection:0}),t})(),a=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({providers:[]}),t})()},6309:(t,e,i)=>{"use strict";const n=e;n.bignum=i(5514),n.define=i(4493).define,n.base=i(8887),n.constants=i(5537),n.decoders=i(9127),n.encoders=i(3939)},4493:(t,e,i)=>{"use strict";const n=i(3939),r=i(9127),s=i(5457);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}e.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(t){const e=this.name;function i(t){this._initNamed(t,e)}return s(i,t),i.prototype._initNamed=function(e,i){t.call(this,e,i)},new i(this)},o.prototype._getDecoder=function(t){return this.decoders.hasOwnProperty(t=t||"der")||(this.decoders[t]=this._createNamed(r[t])),this.decoders[t]},o.prototype.decode=function(t,e,i){return this._getDecoder(e).decode(t,i)},o.prototype._getEncoder=function(t){return this.encoders.hasOwnProperty(t=t||"der")||(this.encoders[t]=this._createNamed(n[t])),this.encoders[t]},o.prototype.encode=function(t,e,i){return this._getEncoder(e).encode(t,i)}},3914:(t,e,i)=>{"use strict";const n=i(5457),r=i(1034).b,s=i(5968).Buffer;function o(t,e){r.call(this,e),s.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function a(t,e){if(Array.isArray(t))this.length=0,this.value=t.map(function(t){return a.isEncoderBuffer(t)||(t=new a(t,e)),this.length+=t.length,t},this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=s.byteLength(t);else{if(!s.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(o,r),e.C=o,o.isDecoderBuffer=function(t){return t instanceof o||"object"==typeof t&&s.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},o.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},o.prototype.restore=function(t){const e=new o(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,r.prototype.restore.call(this,t.reporter),e},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},o.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const i=new o(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+t,this.offset+=t,i},o.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},e.R=a,a.isEncoderBuffer=function(t){return t instanceof a||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},a.prototype.join=function(t,e){return t||(t=s.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(i){i.join(t,e),e+=i.length}):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):s.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},8887:(t,e,i)=>{"use strict";const n=e;n.Reporter=i(1034).b,n.DecoderBuffer=i(3914).C,n.EncoderBuffer=i(3914).R,n.Node=i(5502)},5502:(t,e,i)=>{"use strict";const n=i(1034).b,r=i(3914).R,s=i(3914).C,o=i(523),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],l=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(t,e,i){const n={};this._baseState=n,n.name=i,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}t.exports=c;const h=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const t=this._baseState,e={};h.forEach(function(i){e[i]=t[i]});const i=new this.constructor(e.parent);return i._baseState=e,i},c.prototype._wrap=function(){const t=this._baseState;l.forEach(function(e){this[e]=function(){const i=new this.constructor(this);return t.children.push(i),i[e].apply(i,arguments)}},this)},c.prototype._init=function(t){const e=this._baseState;o(null===e.parent),t.call(this),e.children=e.children.filter(function(t){return t._baseState.parent===this},this),o.equal(e.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(t){const e=this._baseState,i=t.filter(function(t){return t instanceof this.constructor},this);t=t.filter(function(t){return!(t instanceof this.constructor)},this),0!==i.length&&(o(null===e.children),e.children=i,i.forEach(function(t){t._baseState.parent=this},this)),0!==t.length&&(o(null===e.args),e.args=t,e.reverseArgs=t.map(function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach(function(i){i==(0|i)&&(i|=0),e[t[i]]=i}),e}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(t){c.prototype[t]=function(){throw new Error(t+" not implemented for encoding: "+this._baseState.enc)}}),a.forEach(function(t){c.prototype[t]=function(){const e=this._baseState,i=Array.prototype.slice.call(arguments);return o(null===e.tag),e.tag=t,this._useArgs(i),this}}),c.prototype.use=function(t){o(t);const e=this._baseState;return o(null===e.use),e.use=t,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(t){const e=this._baseState;return o(null===e.default),e.default=t,e.optional=!0,this},c.prototype.explicit=function(t){const e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.explicit=t,this},c.prototype.implicit=function(t){const e=this._baseState;return o(null===e.explicit&&null===e.implicit),e.implicit=t,this},c.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},c.prototype.key=function(t){const e=this._baseState;return o(null===e.key),e.key=t,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(t){const e=this._baseState;return o(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map(function(e){return t[e]})),this},c.prototype.contains=function(t){const e=this._baseState;return o(null===e.use),e.contains=t,this},c.prototype._decode=function(t,e){const i=this._baseState;if(null===i.parent)return t.wrapResult(i.children[0]._decode(t,e));let n,r=i.default,o=!0,a=null;if(null!==i.key&&(a=t.enterKey(i.key)),i.optional){let n=null;if(null!==i.explicit?n=i.explicit:null!==i.implicit?n=i.implicit:null!==i.tag&&(n=i.tag),null!==n||i.any){if(o=this._peekTag(t,n,i.any),t.isError(o))return o}else{const n=t.save();try{null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e),o=!0}catch(l){o=!1}t.restore(n)}}if(i.obj&&o&&(n=t.enterObject()),o){if(null!==i.explicit){const e=this._decodeTag(t,i.explicit);if(t.isError(e))return e;t=e}const n=t.offset;if(null===i.use&&null===i.choice){let e;i.any&&(e=t.save());const n=this._decodeTag(t,null!==i.implicit?i.implicit:i.tag,i.any);if(t.isError(n))return n;i.any?r=t.raw(e):t=n}if(e&&e.track&&null!==i.tag&&e.track(t.path(),n,t.length,"tagged"),e&&e.track&&null!==i.tag&&e.track(t.path(),t.offset,t.length,"content"),i.any||(r=null===i.choice?this._decodeGeneric(i.tag,t,e):this._decodeChoice(t,e)),t.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(i){i._decode(t,e)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){const n=new s(r);r=this._getUse(i.contains,t._reporterState.obj)._decode(n,e)}}return i.obj&&o&&(r=t.leaveObject(n)),null===i.key||null===r&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,i.key,r),r},c.prototype._decodeGeneric=function(t,e,i){const n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],i):/str$/.test(t)?this._decodeStr(e,t,i):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],i):"objid"===t?this._decodeObjid(e,null,null,i):"gentime"===t||"utctime"===t?this._decodeTime(e,t,i):"null_"===t?this._decodeNull(e,i):"bool"===t?this._decodeBool(e,i):"objDesc"===t?this._decodeStr(e,t,i):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],i):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,i):e.error("unknown tag: "+t)},c.prototype._getUse=function(t,e){const i=this._baseState;return i.useDecoder=this._use(t,e),o(null===i.useDecoder._baseState.parent),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder},c.prototype._decodeChoice=function(t,e){const i=this._baseState;let n=null,r=!1;return Object.keys(i.choice).some(function(s){const o=t.save(),a=i.choice[s];try{const i=a._decode(t,e);if(t.isError(i))return!1;n={type:s,value:i},r=!0}catch(l){return t.restore(o),!1}return!0},this),r?n:t.error("Choice not matched")},c.prototype._createEncoderBuffer=function(t){return new r(t,this.reporter)},c.prototype._encode=function(t,e,i){const n=this._baseState;if(null!==n.default&&n.default===t)return;const r=this._encodeValue(t,e,i);return void 0===r||this._skipDefault(r,e,i)?void 0:r},c.prototype._encodeValue=function(t,e,i){const r=this._baseState;if(null===r.parent)return r.children[0]._encode(t,e||new n);let s=null;if(this.reporter=e,r.optional&&void 0===t){if(null===r.default)return;t=r.default}let o=null,a=!1;if(r.any)s=this._createEncoderBuffer(t);else if(r.choice)s=this._encodeChoice(t,e);else if(r.contains)o=this._getUse(r.contains,i)._encode(t,e),a=!0;else if(r.children)o=r.children.map(function(i){if("null_"===i._baseState.tag)return i._encode(null,e,t);if(null===i._baseState.key)return e.error("Child should have a key");const n=e.enterKey(i._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const r=i._encode(t[i._baseState.key],e,t);return e.leaveKey(n),r},this).filter(function(t){return t}),o=this._createEncoderBuffer(o);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return e.error("Too many args for : "+r.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const i=this.clone();i._baseState.implicit=null,o=this._createEncoderBuffer(t.map(function(i){return this._getUse(this._baseState.args[0],t)._encode(i,e)},i))}else null!==r.use?s=this._getUse(r.use,i)._encode(t,e):(o=this._encodePrimitive(r.tag,t),a=!0);if(!r.any&&null===r.choice){const t=null!==r.implicit?r.implicit:r.tag,i=null===r.implicit?"universal":"context";null===t?null===r.use&&e.error("Tag could be omitted only for .use()"):null===r.use&&(s=this._encodeComposite(t,a,i,o))}return null!==r.explicit&&(s=this._encodeComposite(r.explicit,!1,"context",s)),s},c.prototype._encodeChoice=function(t,e){const i=this._baseState,n=i.choice[t.type];return n||o(!1,t.type+" not found in "+JSON.stringify(Object.keys(i.choice))),n._encode(t.value,e)},c.prototype._encodePrimitive=function(t,e){const i=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&i.args)return this._encodeObjid(e,i.reverseArgs[0],i.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,i.args&&i.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},c.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},c.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}},1034:(t,e,i)=>{"use strict";const n=i(5457);function r(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function s(t,e){this.path=t,this.rethrow(e)}e.b=r,r.prototype.isError=function(t){return t instanceof s},r.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},r.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},r.prototype.enterKey=function(t){return this._reporterState.path.push(t)},r.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},r.prototype.leaveKey=function(t,e,i){const n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=i)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},r.prototype.leaveObject=function(t){const e=this._reporterState,i=e.obj;return e.obj=t,i},r.prototype.error=function(t){let e;const i=this._reporterState,n=t instanceof s;if(e=n?t:new s(i.path.map(function(t){return"["+JSON.stringify(t)+"]"}).join(""),t.message||t,t.stack),!i.options.partial)throw e;return n||i.errors.push(e),e},r.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(s,Error),s.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,s),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},901:(t,e)=>{"use strict";function i(t){const e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0),e[t[i]]=i}),e}e.tagClass={0:"universal",1:"application",2:"context",3:"private"},e.tagClassByName=i(e.tagClass),e.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},e.tagByName=i(e.tag)},5537:(t,e,i)=>{"use strict";const n=e;n._reverse=function(t){const e={};return Object.keys(t).forEach(function(i){(0|i)==i&&(i|=0),e[t[i]]=i}),e},n.der=i(901)},6797:(t,e,i)=>{"use strict";const n=i(5457),r=i(5514),s=i(3914).C,o=i(5502),a=i(901);function l(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new c,this.tree._init(t.body)}function c(t){o.call(this,"der",t)}function h(t,e){let i=t.readUInt8(e);if(t.isError(i))return i;const n=a.tagClass[i>>6],r=0==(32&i);if(31==(31&i)){let n=i;for(i=0;128==(128&n);){if(n=t.readUInt8(e),t.isError(n))return n;i<<=7,i|=127&n}}else i&=31;return{cls:n,primitive:r,tag:i,tagStr:a.tag[i]}}function u(t,e,i){let n=t.readUInt8(i);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;const r=127&n;if(r>4)return t.error("length octect is too long");n=0;for(let s=0;s{"use strict";const n=e;n.der=i(6797),n.pem=i(124)},124:(t,e,i)=>{"use strict";const n=i(5457),r=i(5968).Buffer,s=i(6797);function o(t){s.call(this,t),this.enc="pem"}n(o,s),t.exports=o,o.prototype.decode=function(t,e){const i=t.toString().split(/[\r\n]+/g),n=e.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/;let a=-1,l=-1;for(let r=0;r{"use strict";const n=i(5457),r=i(5968).Buffer,s=i(5502),o=i(901);function a(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new l,this.tree._init(t.body)}function l(t){s.call(this,"der",t)}function c(t){return t<10?"0"+t:t}t.exports=a,a.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(l,s),l.prototype._encodeComposite=function(t,e,i,n){const s=function(t,e,i,n){let r;if("seqof"===t?t="seq":"setof"===t&&(t="set"),o.tagByName.hasOwnProperty(t))r=o.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);r=t}return r>=31?n.error("Multi-octet tag encoding unsupported"):(e||(r|=32),r|=o.tagClassByName[i||"universal"]<<6,r)}(t,e,i,this.reporter);if(n.length<128){const t=r.alloc(2);return t[0]=s,t[1]=n.length,this._createEncoderBuffer([t,n])}let a=1;for(let r=n.length;r>=256;r>>=8)a++;const l=r.alloc(2+a);l[0]=s,l[1]=128|a;for(let r=1+a,o=n.length;o>0;r--,o>>=8)l[r]=255&o;return this._createEncoderBuffer([l,n])},l.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=r.alloc(2*t.length);for(let i=0;i=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let n=0;for(let r=0;r=128;e>>=7)n++}const s=r.alloc(n);let o=s.length-1;for(let r=t.length-1;r>=0;r--){let e=t[r];for(s[o--]=127&e;(e>>=7)>0;)s[o--]=128|127&e}return this._createEncoderBuffer(s)},l.prototype._encodeTime=function(t,e){let i;const n=new Date(t);return"gentime"===e?i=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?i=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(i,"octstr")},l.prototype._encodeNull=function(){return this._createEncoderBuffer("")},l.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!r.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=r.from(e)}if(r.isBuffer(t)){let e=t.length;0===t.length&&e++;const i=r.alloc(e);return t.copy(i),0===t.length&&(i[0]=0),this._createEncoderBuffer(i)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let i=1;for(let r=t;r>=256;r>>=8)i++;const n=new Array(i);for(let r=n.length-1;r>=0;r--)n[r]=255&t,t>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(r.from(n))},l.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},l.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},l.prototype._skipDefault=function(t,e,i){const n=this._baseState;let r;if(null===n.default)return!1;const s=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,i).join()),s.length!==n.defaultBuffer.length)return!1;for(r=0;r{"use strict";const n=e;n.der=i(1965),n.pem=i(2191)},2191:(t,e,i)=>{"use strict";const n=i(5457),r=i(1965);function s(t){r.call(this,t),this.enc="pem"}n(s,r),t.exports=s,s.prototype.encode=function(t,e){const i=r.prototype.encode.call(this,t).toString("base64"),n=["-----BEGIN "+e.label+"-----"];for(let r=0;r=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},6698:(t,e)=>{"use strict";e.byteLength=function(t){var e=l(t),i=e[1];return 3*(e[0]+i)/4-i},e.toByteArray=function(t){var e,i,s=l(t),o=s[0],a=s[1],c=new r(function(t,e,i){return 3*(e+i)/4-i}(0,o,a)),h=0,u=a>0?o-4:o;for(i=0;i>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=n[t.charCodeAt(i)]<<2|n[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===a&&(e=n[t.charCodeAt(i)]<<10|n[t.charCodeAt(i+1)]<<4|n[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,s=[],o=16383,a=0,l=n-r;al?l:a+o));return 1===r?s.push(i[(e=t[n-1])>>2]+i[e<<4&63]+"=="):2===r&&s.push(i[(e=(t[n-2]<<8)+t[n-1])>>10]+i[e>>4&63]+i[e<<2&63]+"="),s.join("")};for(var i=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,n){for(var r,s=[],o=e;o>18&63]+i[r>>12&63]+i[r>>6&63]+i[63&r]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},4724:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(6601).Buffer}catch(T){}function a(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void n(!1,"Invalid character in "+t)}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,r){for(var s=0,o=0,a=Math.min(t.length,i),l=e;l=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&o0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this._strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this._strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=u}catch(T){s.prototype.inspect=u}else s.prototype.inspect=u;function u(){return(this.red?""}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i._strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?d[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=p[t],h=f[t];i="";var u=this.clone();for(u.negative=0;!u.isZero();){var m=u.modrn(h).toString(t);i=(u=u.idivn(h)).isZero()?m+i:d[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){this._strip();var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0");var o=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,s);return this["_toArrayLike"+("le"===e?"LE":"BE")](o,r),o},s.prototype._toArrayLikeLE=function(t,e){for(var i=0,n=0,r=0,s=0;r>8&255),i>16&255),6===s?(i>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(i=0&&(t[i--]=o>>8&255),i>=0&&(t[i--]=o>>16&255),6===s?(i>=0&&(t[i--]=o>>24&255),n=0,s=0):(n=o>>>24,s+=2)}if(i>=0)for(t[i--]=n;i>=0;)t[i--]=0},s.prototype._countBits=Math.clz32?function(t){return 32-Math.clz32(t)}:function(t){var e=t,i=0;return e>=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this._strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function y(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i._strip()}function b(t,e,i){return y(t,e,i)}function v(t,e){this.x=t,this.y=e}Math.imul||(g=m),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):i<63?m(this,t,e):i<1024?y(this,t,e):b(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,i+=s/67108864|0,i+=o>>>26,this.words[r]=67108863&o}return 0!==i&&(this.words[r]=i,this.length++),e?this.ineg():this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>i%26&1;return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this._strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this._strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modrn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=(1<<26)%t,r=0,s=this.length-1;s>=0;s--)r=(i*r+(0|this.words[s]))%t;return e?-r:r},s.prototype.modn=function(t){return this.modrn(t)},s.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var i=0,r=this.length-1;r>=0;r--){var s=(0|this.words[r])+67108864*i;this.words[r]=s/t|0,i=s%t}return this._strip(),e?this.ineg():this},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new E(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var _={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function C(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},r(x,w),x.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(_[t])return _[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new C;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return _[t]=e,e},E.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},E.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new k(t)},r(k,E),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},8520:(t,e,i)=>{var n;function r(t){this.rand=t}if(t.exports=function(t){return n||(n=new r(null)),n.generate(t)},t.exports.Rand=r,r.prototype.generate=function(t){return this._rand(t)},r.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),i=0;i{var n=i(545).Buffer;function r(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,i=new Array(e),r=0;r>>24]^h[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[y++],o=c[f>>>24]^h[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[y++],a=c[m>>>24]^h[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[y++],l=c[g>>>24]^h[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[y++],p=s,f=o,m=a,g=l;return s=(n[p>>>24]<<24|n[f>>>16&255]<<16|n[m>>>8&255]<<8|n[255&g])^e[y++],o=(n[f>>>24]<<24|n[m>>>16&255]<<16|n[g>>>8&255]<<8|n[255&p])^e[y++],a=(n[m>>>24]<<24|n[g>>>16&255]<<16|n[p>>>8&255]<<8|n[255&f])^e[y++],l=(n[g>>>24]<<24|n[p>>>16&255]<<16|n[f>>>8&255]<<8|n[255&m])^e[y++],[s>>>=0,o>>>=0,a>>>=0,l>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],l=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var i=[],n=[],r=[[],[],[],[]],s=[[],[],[],[]],o=0,a=0,l=0;l<256;++l){var c=a^a<<1^a<<2^a<<3^a<<4;i[o]=c=c>>>8^255&c^99,n[c]=o;var h=t[o],u=t[h],d=t[u],p=257*t[c]^16843008*c;r[0][o]=p<<24|p>>>8,r[1][o]=p<<16|p>>>16,r[2][o]=p<<8|p>>>24,r[3][o]=p,s[0][c]=(p=16843009*d^65537*u^257*h^16843008*o)<<24|p>>>8,s[1][c]=p<<16|p>>>16,s[2][c]=p<<8|p>>>24,s[3][c]=p,0===o?o=a=1:(o=h^t[t[t[d^h]]],a^=t[t[a]])}return{SBOX:i,INV_SBOX:n,SUB_MIX:r,INV_SUB_MIX:s}}();function c(t){this._key=r(t),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var t=this._key,e=t.length,i=e+6,n=4*(i+1),r=[],s=0;s>>24)>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o],o^=a[s/e|0]<<24):e>6&&s%e==4&&(o=l.SBOX[o>>>24]<<24|l.SBOX[o>>>16&255]<<16|l.SBOX[o>>>8&255]<<8|l.SBOX[255&o]),r[s]=r[s-e]^o}for(var c=[],h=0;h>>24]]^l.INV_SUB_MIX[1][l.SBOX[d>>>16&255]]^l.INV_SUB_MIX[2][l.SBOX[d>>>8&255]]^l.INV_SUB_MIX[3][l.SBOX[255&d]]}this._nRounds=i,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(t){return o(t=r(t),this._keySchedule,l.SUB_MIX,l.SBOX,this._nRounds)},c.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),i=n.allocUnsafe(16);return i.writeUInt32BE(e[0],0),i.writeUInt32BE(e[1],4),i.writeUInt32BE(e[2],8),i.writeUInt32BE(e[3],12),i},c.prototype.decryptBlock=function(t){var e=(t=r(t))[1];t[1]=t[3],t[3]=e;var i=o(t,this._invKeySchedule,l.INV_SUB_MIX,l.INV_SBOX,this._nRounds),s=n.allocUnsafe(16);return s.writeUInt32BE(i[0],0),s.writeUInt32BE(i[3],4),s.writeUInt32BE(i[2],8),s.writeUInt32BE(i[1],12),s},c.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=c},5266:(t,e,i)=>{var n=i(830),r=i(545).Buffer,s=i(478),o=i(5457),a=i(2104),l=i(9694),c=i(2305);function h(t,e,i,o){s.call(this);var l=r.alloc(4,0);this._cipher=new n.AES(e);var h=this._cipher.encryptBlock(l);this._ghash=new a(h),i=function(t,e,i){if(12===e.length)return t._finID=r.concat([e,r.from([0,0,0,1])]),r.concat([e,r.from([0,0,0,2])]);var n=new a(i),s=e.length,o=s%16;n.update(e),o&&n.update(r.alloc(o=16-o,0)),n.update(r.alloc(8,0));var l=8*s,h=r.alloc(8);h.writeUIntBE(l,0,8),n.update(h),t._finID=n.state;var u=r.from(t._finID);return c(u),u}(this,i,h),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}o(h,s),h.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=r.alloc(e,0),this._ghash.update(e))}this._called=!0;var i=this._mode.encrypt(this,t);return this._ghash.update(this._decrypt?t:i),this._len+=t.length,i},h.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var i=0;t.length!==e.length&&i++;for(var n=Math.min(t.length,e.length),r=0;r{var n=i(1898),r=i(1938),s=i(5415);e.createCipher=e.Cipher=n.createCipher,e.createCipheriv=e.Cipheriv=n.createCipheriv,e.createDecipher=e.Decipher=r.createDecipher,e.createDecipheriv=e.Decipheriv=r.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(s)}},1938:(t,e,i)=>{var n=i(5266),r=i(545).Buffer,s=i(7957),o=i(7750),a=i(478),l=i(830),c=i(8386);function h(t,e,i){a.call(this),this._cache=new u,this._last=void 0,this._cipher=new l.AES(e),this._prev=r.from(i),this._mode=t,this._autopadding=!0}function u(){this.cache=r.allocUnsafe(0)}function d(t,e,i){var a=s[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof i&&(i=r.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);if("string"==typeof e&&(e=r.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===a.type?new o(a.module,e,i,!0):"auth"===a.type?new n(a.module,e,i,!0):new h(a.module,e,i)}i(5457)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)i=this._mode.decrypt(this,e),n.push(i);return r.concat(n)},h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");for(var i=-1;++i16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},u.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var i=s[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var n=c(e,!1,i.key,i.iv);return d(t,n.key,n.iv)},e.createDecipheriv=d},1898:(t,e,i)=>{var n=i(7957),r=i(5266),s=i(545).Buffer,o=i(7750),a=i(478),l=i(830),c=i(8386);function h(t,e,i){a.call(this),this._cache=new d,this._cipher=new l.AES(e),this._prev=s.from(i),this._mode=t,this._autopadding=!0}i(5457)(h,a),h.prototype._update=function(t){var e,i;this._cache.add(t);for(var n=[];e=this._cache.get();)i=this._mode.encrypt(this,e),n.push(i);return s.concat(n)};var u=s.alloc(16,16);function d(){this.cache=s.allocUnsafe(0)}function p(t,e,i){var a=n[t.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=s.from(e)),e.length!==a.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof i&&(i=s.from(i)),"GCM"!==a.mode&&i.length!==a.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===a.type?new o(a.module,e,i):"auth"===a.type?new r(a.module,e,i):new h(a.module,e,i)}h.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(u))throw this._cipher.scrub(),new Error("data not multiple of block length")},h.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},d.prototype.add=function(t){this.cache=s.concat([this.cache,t])},d.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=s.allocUnsafe(t),i=-1;++i{var n=i(545).Buffer,r=n.alloc(16,0);function s(t){var e=n.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}o.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,i&&(n[0]=n[0]^225<<24)}this.state=s(r)},o.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,r],16)),this.ghash(s([0,t,0,e])),this.state},t.exports=o},2305:t=>{t.exports=function(t){for(var e,i=t.length;i--;){if(255!==(e=t.readUInt8(i))){e++,t.writeUInt8(e,i);break}t.writeUInt8(0,i)}}},2570:(t,e,i)=>{var n=i(9694);e.encrypt=function(t,e){var i=n(e,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},e.decrypt=function(t,e){var i=t._prev;t._prev=e;var r=t._cipher.decryptBlock(e);return n(r,i)}},1722:(t,e,i)=>{var n=i(545).Buffer,r=i(9694);function s(t,e,i){var s=e.length,o=r(e,t._cache);return t._cache=t._cache.slice(s),t._prev=n.concat([t._prev,i?e:o]),o}e.encrypt=function(t,e,i){for(var r,o=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){o=n.concat([o,s(t,e,i)]);break}o=n.concat([o,s(t,e.slice(0,r=t._cache.length),i)]),e=e.slice(r)}return o}},3819:(t,e,i)=>{var n=i(545).Buffer;function r(t,e,i){for(var n,r,o=-1,a=0;++o<8;)a+=(128&(r=t._cipher.encryptBlock(t._prev)[0]^(n=e&1<<7-o?128:0)))>>o%8,t._prev=s(t._prev,i?n:r);return a}function s(t,e){var i=t.length,r=-1,s=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++r>7;return s}e.encrypt=function(t,e,i){for(var s=e.length,o=n.allocUnsafe(s),a=-1;++a{var n=i(545).Buffer;function r(t,e,i){var r=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=n.concat([t._prev.slice(1),n.from([i?e:r])]),r}e.encrypt=function(t,e,i){for(var s=e.length,o=n.allocUnsafe(s),a=-1;++a{var n=i(9694),r=i(545).Buffer,s=i(2305);function o(t){var e=t._cipher.encryptBlockRaw(t._prev);return s(t._prev),e}e.encrypt=function(t,e){var i=Math.ceil(e.length/16),s=t._cache.length;t._cache=r.concat([t._cache,r.allocUnsafe(16*i)]);for(var a=0;a{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},7957:(t,e,i)=>{var n={ECB:i(3021),CBC:i(2570),CFB:i(1722),CFB8:i(121),CFB1:i(3819),OFB:i(7373),CTR:i(2319),GCM:i(2319)},r=i(5415);for(var s in r)r[s].module=n[r[s].mode];t.exports=r},7373:(t,e,i)=>{var n=i(9694);function r(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length{var n=i(830),r=i(545).Buffer,s=i(478);function o(t,e,i,o){s.call(this),this._cipher=new n.AES(e),this._prev=r.from(i),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=o,this._mode=t}i(5457)(o,s),o.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},t.exports=o},3320:(t,e,i)=>{var n=i(7321),r=i(3079),s=i(7957),o=i(1395),a=i(8386);function l(t,e,i){if(t=t.toLowerCase(),s[t])return r.createCipheriv(t,e,i);if(o[t])return new n({key:e,iv:i,mode:t});throw new TypeError("invalid suite type")}function c(t,e,i){if(t=t.toLowerCase(),s[t])return r.createDecipheriv(t,e,i);if(o[t])return new n({key:e,iv:i,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}e.createCipher=e.Cipher=function(t,e){var i,n;if(t=t.toLowerCase(),s[t])i=s[t].key,n=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");i=8*o[t].key,n=o[t].iv}var r=a(e,!1,i,n);return l(t,r.key,r.iv)},e.createCipheriv=e.Cipheriv=l,e.createDecipher=e.Decipher=function(t,e){var i,n;if(t=t.toLowerCase(),s[t])i=s[t].key,n=s[t].iv;else{if(!o[t])throw new TypeError("invalid suite type");i=8*o[t].key,n=o[t].iv}var r=a(e,!1,i,n);return c(t,r.key,r.iv)},e.createDecipheriv=e.Decipheriv=c,e.listCiphers=e.getCiphers=function(){return Object.keys(o).concat(r.getCiphers())}},7321:(t,e,i)=>{var n=i(478),r=i(6504),s=i(5457),o=i(545).Buffer,a={"des-ede3-cbc":r.CBC.instantiate(r.EDE),"des-ede3":r.EDE,"des-ede-cbc":r.CBC.instantiate(r.EDE),"des-ede":r.EDE,"des-cbc":r.CBC.instantiate(r.DES),"des-ecb":r.DES};function l(t){n.call(this);var e,i=t.mode.toLowerCase(),r=a[i];e=t.decrypt?"decrypt":"encrypt";var s=t.key;o.isBuffer(s)||(s=o.from(s)),"des-ede"!==i&&"des-ede-cbc"!==i||(s=o.concat([s,s.slice(0,8)]));var l=t.iv;o.isBuffer(l)||(l=o.from(l)),this._des=r.create({key:s,iv:l,type:e})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],t.exports=l,s(l,n),l.prototype._update=function(t){return o.from(this._des.update(t))},l.prototype._final=function(){return o.from(this._des.final())}},1395:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},4467:(t,e,i)=>{var n=i(4724),r=i(6716);function s(t){var e,i=t.modulus.byteLength();do{e=new n(r(i))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function o(t,e){var i=function(t){var e=s(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),r=e.modulus.byteLength(),o=new n(t).mul(i.blinder).umod(e.modulus),a=o.toRed(n.mont(e.prime1)),l=o.toRed(n.mont(e.prime2)),c=e.coefficient,h=e.prime1,u=e.prime2,d=a.redPow(e.exponent1).fromRed(),p=l.redPow(e.exponent2).fromRed(),f=d.isub(p).imul(c).umod(h).imul(u);return p.iadd(f).imul(i.unblinder).umod(e.modulus).toArrayLike(Buffer,"be",r)}o.getr=s,t.exports=o},3373:(t,e,i)=>{t.exports=i(2063)},6865:(t,e,i)=>{var n=i(9851).Buffer,r=i(4500),s=i(7612),o=i(5457),a=i(6360),l=i(2210),c=i(2063);function h(t){s.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function u(t){s.Writable.call(this);var e=c[t];if(!e)throw new Error("Unknown message digest");this._hash=r(e.hash),this._tag=e.id,this._signType=e.sign}function d(t){return new h(t)}function p(t){return new u(t)}Object.keys(c).forEach(function(t){c[t].id=n.from(c[t].id,"hex"),c[t.toLowerCase()]=c[t]}),o(h,s.Writable),h.prototype._write=function(t,e,i){this._hash.update(t),i()},h.prototype.update=function(t,e){return"string"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},h.prototype.sign=function(t,e){this.end();var i=this._hash.digest(),n=a(i,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},o(u,s.Writable),u.prototype._write=function(t,e,i){this._hash.update(t),i()},u.prototype.update=function(t,e){return"string"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},u.prototype.verify=function(t,e,i){"string"==typeof e&&(e=n.from(e,i)),this.end();var r=this._hash.digest();return l(e,r,t,this._signType,this._tag)},t.exports={Sign:d,Verify:p,createSign:d,createVerify:p}},6360:(t,e,i)=>{var n=i(9851).Buffer,r=i(9452),s=i(4467),o=i(905).ec,a=i(4724),l=i(2291),c=i(2236);function h(t,e,i,s){if((t=n.from(t.toArray())).length0&&i.ishrn(n),i}function d(t,e,i){var s,o;do{for(s=n.alloc(0);8*s.length{var n=i(9851).Buffer,r=i(4724),s=i(905).ec,o=i(2291),a=i(2236);function l(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=e)throw new Error("invalid sig")}t.exports=function(t,e,i,c,h){var u=o(i);if("ec"===u.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=a[i.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+i.data.algorithm.curve.join("."));return new s(n).verify(e,t,i.data.subjectPrivateKey.data)}(t,e,u)}if("dsa"===u.type){if("dsa"!==c)throw new Error("wrong public key type");return function(t,e,i){var n=i.data.p,s=i.data.q,a=i.data.g,c=i.data.pub_key,h=o.signature.decode(t,"der"),u=h.s,d=h.r;l(u,s),l(d,s);var p=r.mont(n),f=u.invm(s);return 0===a.toRed(p).redPow(new r(e).mul(f).mod(s)).fromRed().mul(c.toRed(p).redPow(d.mul(f).mod(s)).fromRed()).mod(n).mod(s).cmp(d)}(t,e,u)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");e=n.concat([h,e]);for(var d=u.modulus.byteLength(),p=[1],f=0;e.length+p.length+2{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},9694:t=>{t.exports=function(t,e){for(var i=Math.min(t.length,e.length),n=new Buffer(i),r=0;r{"use strict";var n=i(6698),r=i(2390),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return c(t,e,i)}function c(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|m(t,e),n=a(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(q(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return d(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(q(t,ArrayBuffer)||t&&q(t.buffer,ArrayBuffer))return p(t,e,i);if("undefined"!=typeof SharedArrayBuffer&&(q(t,SharedArrayBuffer)||t&&q(t.buffer,SharedArrayBuffer)))return p(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return l.from(n,e,i);var r=function(t){if(l.isBuffer(t)){var e=0|f(t.length),i=a(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||z(t.length)?a(0):d(t):"Buffer"===t.type&&Array.isArray(t.data)?d(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return h(t),a(t<0?0:0|f(t))}function d(t){for(var e=t.length<0?0:0|f(t.length),i=a(e),n=0;n=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return Z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return B(t).length;default:if(r)return n?-1:Z(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return L(this,e,i);case"utf8":case"utf-8":return E(this,e,i);case"ascii":return T(this,e,i);case"latin1":case"binary":return M(this,e,i);case"base64":return S(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function b(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),z(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:v(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):v(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,i,n,r){var s,o=1,a=t.length,l=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;o=2,a/=2,l/=2,i/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(r){var h=-1;for(s=i;sa&&(i=a-l),s=i;s>=0;s--){for(var u=!0,d=0;dr&&(n=r):n=r;var s=e.length;n>s/2&&(n=s/2);for(var o=0;o>8,r.push(i%256),r.push(n);return r}(e,t.length-i),t,i,n)}function S(t,e,i){return n.fromByteArray(0===e&&i===t.length?t:t.slice(e,i))}function E(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(s=t[r+1]))&&(l=(31&c)<<6|63&s)>127&&(h=l);break;case 3:o=t[r+2],128==(192&(s=t[r+1]))&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:o=t[r+2],a=t[r+3],128==(192&(s=t[r+1]))&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(n.push((h-=65536)>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var i="",n=0;nn.length?l.from(s).copy(n,r):Uint8Array.prototype.set.call(n,s,r);else{if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r)}r+=s.length}return n},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;ei&&(t+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(t,e,i,n,r){if(q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var s=(r>>>=0)-(n>>>=0),o=(i>>>=0)-(e>>>=0),a=Math.min(s,o),c=this.slice(n,r),h=t.slice(e,i),u=0;u>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return _(this,t,e,i);case"utf8":case"utf-8":return w(this,t,e,i);case"ascii":case"latin1":case"binary":return x(this,t,e,i);case"base64":return C(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,i);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function T(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;rn)&&(i=n);for(var r="",s=e;si)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,i,n,r,s){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function R(t,e,i,n,r,s){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function N(t,e,i,n,s){return e=+e,i>>>=0,s||R(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function P(t,e,i,n,s){return e=+e,i>>>=0,s||R(t,0,i,8),r.write(t,e,i,n,52,8),i+8}l.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t],r=1,s=0;++s>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||O(t,e,this.length);for(var n=this[t],r=1,s=0;++s=(r*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||O(t,e,this.length);for(var n=e,r=1,s=this[t+--n];n>0&&(r*=256);)s+=this[t+--n]*r;return s>=(r*=128)&&(s-=Math.pow(2,8*e)),s},l.prototype.readInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||O(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt16BE=function(t,e){t>>>=0,e||O(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||O(t,4,this.length),r.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||O(t,4,this.length),r.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||O(t,8,this.length),r.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||O(t,8,this.length),r.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||D(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,s=0;for(this[e]=255&t;++s>>=0,i>>>=0,n||D(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,s=1;for(this[e+r]=255&t;--r>=0&&(s*=256);)this[e+r]=t/s&255;return e+i},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);D(this,t,e,i,r-1,-r)}var s=0,o=1,a=0;for(this[e]=255&t;++s>0)-a&255;return e+i},l.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);D(this,t,e,i,r-1,-r)}var s=i-1,o=1,a=0;for(this[e+s]=255&t;--s>=0&&(o*=256);)t<0&&0===a&&0!==this[e+s+1]&&(a=1),this[e+s]=(t/o>>0)-a&255;return e+i},l.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,i){return N(this,t,e,!0,i)},l.prototype.writeFloatBE=function(t,e,i){return N(this,t,e,!1,i)},l.prototype.writeDoubleLE=function(t,e,i){return P(this,t,e,!0,i)},l.prototype.writeDoubleBE=function(t,e,i){return P(this,t,e,!1,i)},l.prototype.copy=function(t,e,i,n){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,i,n){for(var r=0;r=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function z(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},478:(t,e,i)=>{var n=i(545).Buffer,r=i(7562).Transform,s=i(4706).s;function o(t){r.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}i(5457)(o,r),o.prototype.update=function(t,e,i){"string"==typeof t&&(t=n.from(t,e));var r=this._update(t);return this.hashMode?this:(i&&(r=this._toString(r,i)),r)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(t,e,i){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(r){n=r}finally{i(n)}},o.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(i){e=i}t(e)},o.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},o.prototype._toString=function(t,e,i){if(this._decoder||(this._decoder=new s(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return i&&(n+=this._decoder.end()),n},t.exports=o},1774:function(t){!function(e){"use strict";var i={bytesToHex:function(t){return function(t){return t.map(function(t){return(e=t.toString(16)).length>2?e:Array(2-e.length+1).join("0")+e;var e}).join("")}(t)},hexToBytes:function(t){if(t.length%2==1)throw new Error("hexToBytes can't have a string with an odd number of characters.");return 0===t.indexOf("0x")&&(t=t.slice(2)),t.match(/../g).map(function(t){return parseInt(t,16)})}};t.exports?t.exports=i:e.convertHex=i}(this)},906:function(t){!function(e){"use strict";var i={bytesToString:function(t){return t.map(function(t){return String.fromCharCode(t)}).join("")},stringToBytes:function(t){return t.split("").map(function(t){return t.charCodeAt(0)})}};i.UTF8={bytesToString:function(t){return decodeURIComponent(escape(i.bytesToString(t)))},stringToBytes:function(t){return i.stringToBytes(unescape(encodeURIComponent(t)))}},t.exports?t.exports=i:e.convertString=i}(this)},3513:(t,e,i)=>{var n=i(905),r=i(9680);t.exports=function(t){return new o(t)};var s={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function o(t){this.curveType=s[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(t,e,i){Array.isArray(t)||(t=t.toArray());var n=new Buffer(t);if(i&&n.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},4500:(t,e,i)=>{"use strict";var n=i(5457),r=i(9233),s=i(3827),o=i(8687),a=i(478);function l(t){a.call(this,"digest"),this._hash=t}n(l,a),l.prototype._update=function(t){this._hash.update(t)},l.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new r:"rmd160"===t||"ripemd160"===t?new s:new l(o(t))}},3072:(t,e,i)=>{var n=i(9233);t.exports=function(t){return(new n).update(t).digest()}},9452:(t,e,i)=>{"use strict";var n=i(5457),r=i(7107),s=i(478),o=i(545).Buffer,a=i(3072),l=i(3827),c=i(8687),h=o.alloc(128);function u(t,e){s.call(this,"digest"),"string"==typeof e&&(e=o.from(e));var i="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>i?e=("rmd160"===t?new l:c(t)).update(e).digest():e.length{"use strict";var n=i(5457),r=i(545).Buffer,s=i(478),o=r.alloc(128),a=64;function l(t,e){s.call(this,"digest"),"string"==typeof e&&(e=r.from(e)),this._alg=t,this._key=e,e.length>a?e=t(e):e.length{"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=i(6716),e.createHash=e.Hash=i(4500),e.createHmac=e.Hmac=i(9452);var n=i(3373),r=Object.keys(n),s=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);e.getHashes=function(){return s};var o=i(8094);e.pbkdf2=o.pbkdf2,e.pbkdf2Sync=o.pbkdf2Sync;var a=i(3320);e.Cipher=a.Cipher,e.createCipher=a.createCipher,e.Cipheriv=a.Cipheriv,e.createCipheriv=a.createCipheriv,e.Decipher=a.Decipher,e.createDecipher=a.createDecipher,e.Decipheriv=a.Decipheriv,e.createDecipheriv=a.createDecipheriv,e.getCiphers=a.getCiphers,e.listCiphers=a.listCiphers;var l=i(223);e.DiffieHellmanGroup=l.DiffieHellmanGroup,e.createDiffieHellmanGroup=l.createDiffieHellmanGroup,e.getDiffieHellman=l.getDiffieHellman,e.createDiffieHellman=l.createDiffieHellman,e.DiffieHellman=l.DiffieHellman;var c=i(6865);e.createSign=c.createSign,e.Sign=c.Sign,e.createVerify=c.createVerify,e.Verify=c.Verify,e.createECDH=i(3513);var h=i(7351);e.publicEncrypt=h.publicEncrypt,e.privateEncrypt=h.privateEncrypt,e.publicDecrypt=h.publicDecrypt,e.privateDecrypt=h.privateDecrypt;var u=i(1999);e.randomFill=u.randomFill,e.randomFillSync=u.randomFillSync,e.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},6504:(t,e,i)=>{"use strict";e.utils=i(3777),e.Cipher=i(1887),e.DES=i(8276),e.CBC=i(7029),e.EDE=i(7e3)},7029:(t,e,i)=>{"use strict";var n=i(523),r=i(5457),s={};function o(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e{"use strict";var n=i(523);function r(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}t.exports=r,r.prototype._init=function(){},r.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},r.prototype._buffer=function(t,e){for(var i=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n0;n--)e+=this._buffer(t,e),i+=this._flushBuffer(r,i);return e+=this._buffer(t,e),r},r.prototype.final=function(t){var e,i;return t&&(e=this.update(t)),i="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(i):i},r.prototype._pad=function(t,e){if(0===e)return!1;for(;e{"use strict";var n=i(523),r=i(5457),s=i(3777),o=i(1887);function a(){this.tmp=new Array(2),this.keys=null}function l(t){o.call(this,t);var e=new a;this._desState=e,this.deriveKeys(e,t.key)}r(l,o),t.exports=l,l.create=function(t){return new l(t)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];l.prototype.deriveKeys=function(t,e){t.keys=new Array(32),n.equal(e.length,this.blockSize,"Invalid key length");var i=s.readUInt32BE(e,0),r=s.readUInt32BE(e,4);s.pc1(i,r,t.tmp,0),i=t.tmp[0],r=t.tmp[1];for(var o=0;o>>1];i=s.r28shl(i,a),r=s.r28shl(r,a),s.pc2(i,r,t.keys,o)}},l.prototype._update=function(t,e,i,n){var r=this._desState,o=s.readUInt32BE(t,e),a=s.readUInt32BE(t,e+4);s.ip(o,a,r.tmp,0),o=r.tmp[0],a=r.tmp[1],"encrypt"===this.type?this._encrypt(r,o,a,r.tmp,0):this._decrypt(r,o,a,r.tmp,0),a=r.tmp[1],s.writeUInt32BE(i,o=r.tmp[0],n),s.writeUInt32BE(i,a,n+4)},l.prototype._pad=function(t,e){for(var i=t.length-e,n=e;n>>0,o=d}s.rip(a,o,n,r)},l.prototype._decrypt=function(t,e,i,n,r){for(var o=i,a=e,l=t.keys.length-2;l>=0;l-=2){var c=t.keys[l],h=t.keys[l+1];s.expand(o,t.tmp,0);var u=s.substitute(c^=t.tmp[0],h^=t.tmp[1]),d=o;o=(a^s.permute(u))>>>0,a=d}s.rip(o,a,n,r)}},7e3:(t,e,i)=>{"use strict";var n=i(523),r=i(5457),s=i(1887),o=i(8276);function a(t,e){n.equal(e.length,24,"Invalid key length");var i=e.slice(0,8),r=e.slice(8,16),s=e.slice(16,24);this.ciphers="encrypt"===t?[o.create({type:"encrypt",key:i}),o.create({type:"decrypt",key:r}),o.create({type:"encrypt",key:s})]:[o.create({type:"decrypt",key:s}),o.create({type:"encrypt",key:r}),o.create({type:"decrypt",key:i})]}function l(t){s.call(this,t);var e=new a(this.type,this.options.key);this._edeState=e}r(l,s),t.exports=l,l.create=function(t){return new l(t)},l.prototype._update=function(t,e,i,n){var r=this._edeState;r.ciphers[0]._update(t,e,i,n),r.ciphers[1]._update(i,n,i,n),r.ciphers[2]._update(i,n,i,n)},l.prototype._pad=o.prototype._pad,l.prototype._unpad=o.prototype._unpad},3777:(t,e)=>{"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,i){t[0+i]=e>>>24,t[1+i]=e>>>16&255,t[2+i]=e>>>8&255,t[3+i]=255&e},e.ip=function(t,e,i,n){for(var r=0,s=0,o=6;o>=0;o-=2){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>>a+o&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>>a+o&1}for(o=6;o>=0;o-=2){for(a=1;a<=25;a+=8)s<<=1,s|=e>>>a+o&1;for(a=1;a<=25;a+=8)s<<=1,s|=t>>>a+o&1}i[n+0]=r>>>0,i[n+1]=s>>>0},e.rip=function(t,e,i,n){for(var r=0,s=0,o=0;o<4;o++)for(var a=24;a>=0;a-=8)r<<=1,r|=e>>>a+o&1,r<<=1,r|=t>>>a+o&1;for(o=4;o<8;o++)for(a=24;a>=0;a-=8)s<<=1,s|=e>>>a+o&1,s<<=1,s|=t>>>a+o&1;i[n+0]=r>>>0,i[n+1]=s>>>0},e.pc1=function(t,e,i,n){for(var r=0,s=0,o=7;o>=5;o--){for(var a=0;a<=24;a+=8)r<<=1,r|=e>>a+o&1;for(a=0;a<=24;a+=8)r<<=1,r|=t>>a+o&1}for(a=0;a<=24;a+=8)r<<=1,r|=e>>a+o&1;for(o=1;o<=3;o++){for(a=0;a<=24;a+=8)s<<=1,s|=e>>a+o&1;for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1}for(a=0;a<=24;a+=8)s<<=1,s|=t>>a+o&1;i[n+0]=r>>>0,i[n+1]=s>>>0},e.r28shl=function(t,e){return t<>>28-e};var i=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,r){for(var s=0,o=0,a=i.length>>>1,l=0;l>>i[l]&1;for(l=a;l>>i[l]&1;n[r+0]=s>>>0,n[r+1]=o>>>0},e.expand=function(t,e,i){var n=0,r=0;n=(1&t)<<5|t>>>27;for(var s=23;s>=15;s-=4)n<<=6,n|=t>>>s&63;for(s=11;s>=3;s-=4)r|=t>>>s&63,r<<=6;r|=(31&t)<<1|t>>>31,e[i+0]=n>>>0,e[i+1]=r>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var i=0,r=0;r<4;r++)i<<=4,i|=n[64*r+(t>>>18-6*r&63)];for(r=0;r<4;r++)i<<=4,i|=n[256+64*r+(e>>>18-6*r&63)];return i>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,i=0;i>>r[i]&1;return e>>>0},e.padSplit=function(t,e,i){for(var n=t.toString(2);n.length{var n=i(1901),r=i(1930),s=i(429),o={binary:!0,hex:!0,base64:!0};e.DiffieHellmanGroup=e.createDiffieHellmanGroup=e.getDiffieHellman=function(t){var e=new Buffer(r[t].prime,"hex"),i=new Buffer(r[t].gen,"hex");return new s(e,i)},e.createDiffieHellman=e.DiffieHellman=function t(e,i,r,a){return Buffer.isBuffer(i)||void 0===o[i]?t(e,"binary",i,r):(i=i||"binary",a=a||"binary",r=r||new Buffer([2]),Buffer.isBuffer(r)||(r=new Buffer(r,a)),"number"==typeof e?new s(n(e,r),r,!0):(Buffer.isBuffer(e)||(e=new Buffer(e,i)),new s(e,r,!0)))}},429:(t,e,i)=>{var n=i(7299),r=new(i(2533)),s=new n(24),o=new n(11),a=new n(10),l=new n(3),c=new n(7),h=i(1901),u=i(6716);function d(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._pub=new n(t),this}function p(t,e){return e=e||"utf8",Buffer.isBuffer(t)||(t=new Buffer(t,e)),this._priv=new n(t),this}t.exports=m;var f={};function m(t,e,i){this.setGenerator(e),this.__prime=new n(t),this._prime=n.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,i?(this.setPublicKey=d,this.setPrivateKey=p):this._primeCode=8}function g(t,e){var i=new Buffer(t.toArray());return e?i.toString(e):i}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var i=e.toString("hex"),n=[i,t.toString(16)].join("_");if(n in f)return f[n];var u,d=0;if(t.isEven()||!h.simpleSieve||!h.fermatTest(t)||!r.test(t))return d+=1,f[n]=d+="02"===i||"05"===i?8:4,d;switch(r.test(t.shrn(1))||(d+=2),i){case"02":t.mod(s).cmp(o)&&(d+=8);break;case"05":(u=t.mod(a)).cmp(l)&&u.cmp(c)&&(d+=8);break;default:d+=4}return f[n]=d,d}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(u(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(t){var e=(t=(t=new n(t)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new Buffer(e.toArray()),r=this.getPrime();if(i.length{var n=i(6716);t.exports=b,b.simpleSieve=g,b.fermatTest=y;var r=i(7299),s=new r(24),o=new(i(2533)),a=new r(1),l=new r(2),c=new r(5),h=(new r(16),new r(8),new r(10)),u=new r(3),d=(new r(7),new r(11)),p=new r(4),f=(new r(12),null);function m(){if(null!==f)return f;var t=[];t[0]=2;for(var e=1,i=3;i<1048576;i+=2){for(var n=Math.ceil(Math.sqrt(i)),r=0;rt;)i.ishrn(1);if(i.isEven()&&i.iadd(a),i.testn(1)||i.iadd(l),e.cmp(l)){if(!e.cmp(c))for(;i.mod(h).cmp(u);)i.iadd(p)}else for(;i.mod(s).cmp(d);)i.iadd(p);if(g(f=i.shrn(1))&&g(i)&&y(f)&&y(i)&&o.test(f)&&o.test(i))return i}}},7299:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(8623).Buffer}catch(S){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},45:t=>{"use strict";var e={single_source_shortest_paths:function(t,i,n){var r={},s={};s[i]=0;var o,a,l,c,h,u,d=e.PriorityQueue.make();for(d.push(i,0);!d.empty();)for(l in c=(o=d.pop()).cost,h=t[a=o.value]||{})h.hasOwnProperty(l)&&(u=c+h[l],(void 0===s[l]||s[l]>u)&&(s[l]=u,d.push(l,u),r[l]=a));if(void 0!==n&&void 0===s[n]){var p=["Could not find a path from ",i," to ",n,"."].join("");throw new Error(p)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),n=t[n];return i.reverse(),i},find_path:function(t,i,n){var r=e.single_source_shortest_paths(t,i,n);return e.extract_shortest_path_from_predecessor_list(r,n)},PriorityQueue:{make:function(t){var i,n=e.PriorityQueue,r={};for(i in t=t||{},n)n.hasOwnProperty(i)&&(r[i]=n[i]);return r.queue=[],r.sorter=t.sorter||n.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){this.queue.push({value:t,cost:e}),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=e},905:(t,e,i)=>{"use strict";var n=e;n.version=i(7519).i8,n.utils=i(3930),n.rand=i(8520),n.curve=i(4367),n.curves=i(2709),n.ec=i(260),n.eddsa=i(2038)},2134:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.getNAF,o=r.getJSF,a=r.assert;function l(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var i=this.n&&this.p.div(this.n);!i||i.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(t,e){this.curve=t,this.type=e,this.precomputed=null}t.exports=l,l.prototype.point=function(){throw new Error("Not implemented")},l.prototype.validate=function(){throw new Error("Not implemented")},l.prototype._fixedNafMul=function(t,e){a(t.precomputed);var i=t._getDoubles(),n=s(e,1,this._bitLength),r=(1<=o;h--)l=(l<<1)+n[h];c.push(l)}for(var u=this.jpoint(null,null,null),d=this.jpoint(null,null,null),p=r;p>0;p--){for(o=0;o=0;c--){for(var h=0;c>=0&&0===o[c];c--)h++;if(c>=0&&h++,l=l.dblp(h),c<0)break;var u=o[c];a(0!==u),l="affine"===t.type?l.mixedAdd(u>0?r[u-1>>1]:r[-u-1>>1].neg()):l.add(u>0?r[u-1>>1]:r[-u-1>>1].neg())}return"affine"===t.type?l.toP():l},l.prototype._wnafMulAdd=function(t,e,i,n,r){var a,l,c,h=this._wnafT1,u=this._wnafT2,d=this._wnafT3,p=0;for(a=0;a=1;a-=2){var m=a-1,g=a;if(1===h[m]&&1===h[g]){var y=[e[m],null,null,e[g]];0===e[m].y.cmp(e[g].y)?(y[1]=e[m].add(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg())):0===e[m].y.cmp(e[g].y.redNeg())?(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].add(e[g].neg())):(y[1]=e[m].toJ().mixedAdd(e[g]),y[2]=e[m].toJ().mixedAdd(e[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],v=o(i[m],i[g]);for(p=Math.max(v[0].length,p),d[m]=new Array(p),d[g]=new Array(p),l=0;l=0;a--){for(var x=0;a>=0;){var C=!0;for(l=0;l=0&&x++,_=_.dblp(x),a<0)break;for(l=0;l0?c=u[l][A-1>>1]:A<0&&(c=u[l][-A-1>>1].neg()),_="affine"===c.type?_.mixedAdd(c):_.add(c))}}for(a=0;a=Math.ceil((t.bitLength()+1)/e.step)},c.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,r=0;r{"use strict";var n=i(3930),r=i(8183),s=i(5457),o=i(2134),a=n.assert;function l(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,o.call(this,"edwards",t),this.a=new r(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function c(t,e,i,n,s){o.BasePoint.call(this,t,"projective"),null===e&&null===i&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(e,16),this.y=new r(i,16),this.z=n?new r(n,16):this.curve.one,this.t=s&&new r(s,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}s(l,o),t.exports=l,l.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},l.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},l.prototype.jpoint=function(t,e,i,n){return this.point(t,e,i,n)},l.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var l=a.fromRed().isOdd();return(e&&!l||!e&&l)&&(a=a.redNeg()),this.point(t,a)},l.prototype.pointFromY=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},l.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),i=t.y.redSqr(),n=e.redMul(this.a).redAdd(i),r=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(i)));return 0===n.cmp(r)},s(c,o.BasePoint),l.prototype.pointFromJSON=function(t){return c.fromJSON(this,t)},l.prototype.point=function(t,e,i,n){return new c(this,t,e,i,n)},c.fromJSON=function(t,e){return new c(t,e[0],e[1],e[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(t),r=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=n.redAdd(e),o=s.redSub(i),a=n.redSub(e),l=r.redMul(o),c=s.redMul(a),h=r.redMul(a),u=o.redMul(s);return this.curve.point(l,c,u,h)},c.prototype._projDbl=function(){var t,e,i,n,r,s,o=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),l=this.y.redSqr();if(this.curve.twisted){var c=(n=this.curve._mulA(a)).redAdd(l);this.zOne?(t=o.redSub(a).redSub(l).redMul(c.redSub(this.curve.two)),e=c.redMul(n.redSub(l)),i=c.redSqr().redSub(c).redSub(c)):(r=this.z.redSqr(),s=c.redSub(r).redISub(r),t=o.redSub(a).redISub(l).redMul(s),e=c.redMul(n.redSub(l)),i=c.redMul(s))}else n=a.redAdd(l),r=this.curve._mulC(this.z).redSqr(),s=n.redSub(r).redSub(r),t=this.curve._mulC(o.redISub(n)).redMul(s),e=this.curve._mulC(n).redMul(a.redISub(l)),i=n.redMul(s);return this.curve.point(t,e,i)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),i=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),r=this.z.redMul(t.z.redAdd(t.z)),s=i.redSub(e),o=r.redSub(n),a=r.redAdd(n),l=i.redAdd(e),c=s.redMul(o),h=a.redMul(l),u=s.redMul(l),d=o.redMul(a);return this.curve.point(c,h,d,u)},c.prototype._projAdd=function(t){var e,i,n=this.z.redMul(t.z),r=n.redSqr(),s=this.x.redMul(t.x),o=this.y.redMul(t.y),a=this.curve.d.redMul(s).redMul(o),l=r.redSub(a),c=r.redAdd(a),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(o),u=n.redMul(l).redMul(h);return this.curve.twisted?(e=n.redMul(c).redMul(o.redSub(this.curve._mulA(s))),i=l.redMul(c)):(e=n.redMul(c).redMul(o.redSub(s)),i=this.curve._mulC(l).redMul(c)),this.curve.point(u,e,i)},c.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},c.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!1)},c.prototype.jmulAdd=function(t,e,i){return this.curve._wnafMulAdd(1,[this,e],[t,i],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},c.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},4367:(t,e,i)=>{"use strict";var n=e;n.base=i(2134),n.short=i(6460),n.mont=i(1289),n.edwards=i(4177)},1289:(t,e,i)=>{"use strict";var n=i(8183),r=i(5457),s=i(2134),o=i(3930);function a(t){s.call(this,"mont",t),this.a=new n(t.a,16).toRed(this.red),this.b=new n(t.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function l(t,e,i){s.BasePoint.call(this,t,"projective"),null===e&&null===i?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(e,16),this.z=new n(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(a,s),t.exports=a,a.prototype.validate=function(t){var e=t.normalize().x,i=e.redSqr(),n=i.redMul(e).redAdd(i.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},r(l,s.BasePoint),a.prototype.decodePoint=function(t,e){return this.point(o.toArray(t,e),1)},a.prototype.point=function(t,e){return new l(this,t,e)},a.prototype.pointFromJSON=function(t){return l.fromJSON(this,t)},l.prototype.precompute=function(){},l.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},l.fromJSON=function(t,e){return new l(t,e[0],e[1]||t.one)},l.prototype.inspect=function(){return this.isInfinity()?"":""},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},l.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),i=t.redSub(e),n=t.redMul(e),r=i.redMul(e.redAdd(this.curve.a24.redMul(i)));return this.curve.point(n,r)},l.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.diffAdd=function(t,e){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),r=t.x.redAdd(t.z),s=t.x.redSub(t.z).redMul(i),o=r.redMul(n),a=e.z.redMul(s.redAdd(o).redSqr()),l=e.x.redMul(s.redISub(o).redSqr());return this.curve.point(a,l)},l.prototype.mul=function(t){for(var e=t.clone(),i=this,n=this.curve.point(null,null),r=[];0!==e.cmpn(0);e.iushrn(1))r.push(e.andln(1));for(var s=r.length-1;s>=0;s--)0===r[s]?(i=i.diffAdd(n,this),n=n.dbl()):(n=i.diffAdd(n,this),i=i.dbl());return n},l.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},l.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},6460:(t,e,i)=>{"use strict";var n=i(3930),r=i(8183),s=i(5457),o=i(2134),a=n.assert;function l(t){o.call(this,"short",t),this.a=new r(t.a,16).toRed(this.red),this.b=new r(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(t,e,i,n){o.BasePoint.call(this,t,"affine"),null===e&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(e,16),this.y=new r(i,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function h(t,e,i,n){o.BasePoint.call(this,t,"jacobian"),null===e&&null===i&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(e,16),this.y=new r(i,16),this.z=new r(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}s(l,o),t.exports=l,l.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,i;if(t.beta)e=new r(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)i=new r(t.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(e))?i=s[0]:a(0===this.g.mul(i=s[1]).x.cmp(this.g.x.redMul(e)))}return{beta:e,lambda:i,basis:t.basis?t.basis.map(function(t){return{a:new r(t.a,16),b:new r(t.b,16)}}):this._getEndoBasis(i)}}},l.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:r.mont(t),i=new r(2).toRed(e).redInvm(),n=i.redNeg(),s=new r(3).toRed(e).redNeg().redSqrt().redMul(i);return[n.redAdd(s).fromRed(),n.redSub(s).fromRed()]},l.prototype._getEndoBasis=function(t){for(var e,i,n,s,o,a,l,c,h,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=t,p=this.n.clone(),f=new r(1),m=new r(0),g=new r(0),y=new r(1),b=0;0!==d.cmpn(0);){var v=p.div(d);c=p.sub(v.mul(d)),h=g.sub(v.mul(f));var _=y.sub(v.mul(m));if(!n&&c.cmp(u)<0)e=l.neg(),i=f,n=c.neg(),s=h;else if(n&&2==++b)break;l=c,p=d,d=c,g=f,f=h,y=m,m=_}o=c.neg(),a=h;var w=n.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(w)>=0&&(o=e,a=i),n.negative&&(n=n.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:s},{a:o,b:a}]},l.prototype._endoSplit=function(t){var e=this.endo.basis,i=e[0],n=e[1],r=n.b.mul(t).divRound(this.n),s=i.b.neg().mul(t).divRound(this.n),o=r.mul(i.a),a=s.mul(n.a),l=r.mul(i.b),c=s.mul(n.b);return{k1:t.sub(o).sub(a),k2:l.add(c).neg()}},l.prototype.pointFromX=function(t,e){(t=new r(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(0!==n.redSqr().redSub(i).cmp(this.zero))throw new Error("invalid point");var s=n.fromRed().isOdd();return(e&&!s||!e&&s)&&(n=n.redNeg()),this.point(t,n)},l.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,i=t.y,n=this.a.redMul(e),r=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===i.redSqr().redISub(r).cmpn(0)},l.prototype._endoWnafMulAdd=function(t,e,i){for(var n=this._endoWnafT1,r=this._endoWnafT2,s=0;s":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var i=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},c.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),r=i.redAdd(i).redIAdd(i).redIAdd(e).redMul(n),s=r.redSqr().redISub(this.x.redAdd(this.x)),o=r.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(t){return t=new r(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r):this.curve._wnafMulAdd(1,n,r,2)},c.prototype.jmulAdd=function(t,e,i){var n=[this,e],r=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,r,!0):this.curve._wnafMulAdd(1,n,r,2,!0)},c.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},c.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return e},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(h,o.BasePoint),l.prototype.jpoint=function(t,e,i){return new h(this,t,e,i)},h.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),i=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(i,n)},h.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},h.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(e),r=t.x.redMul(i),s=this.y.redMul(e.redMul(t.z)),o=t.y.redMul(i.redMul(this.z)),a=n.redSub(r),l=s.redSub(o);if(0===a.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),u=n.redMul(c),d=l.redSqr().redIAdd(h).redISub(u).redISub(u),p=l.redMul(u.redISub(d)).redISub(s.redMul(h)),f=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,p,f)},h.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),i=this.x,n=t.x.redMul(e),r=this.y,s=t.y.redMul(e).redMul(this.z),o=i.redSub(n),a=r.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),h=i.redMul(l),u=a.redSqr().redIAdd(c).redISub(h).redISub(h),d=a.redMul(h.redISub(u)).redISub(r.redMul(c)),p=this.z.redMul(o);return this.curve.jpoint(u,d,p)},h.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var i=this;for(e=0;e=0)return!1;if(i.redIAdd(r),0===this.x.cmp(i))return!0}},h.prototype.inspect=function(){return this.isInfinity()?"":""},h.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},2709:(t,e,i)=>{"use strict";var n,r=e,s=i(7749),o=i(4367),a=i(3930).assert;function l(t){this.curve="short"===t.type?new o.short(t):"edwards"===t.type?new o.edwards(t):new o.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new l(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=l,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:s.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:s.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:s.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:s.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:s.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:s.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=i(5621)}catch(h){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:s.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},260:(t,e,i)=>{"use strict";var n=i(8183),r=i(1753),s=i(3930),o=i(2709),a=i(8520),l=s.assert,c=i(3145),h=i(6032);function u(t){if(!(this instanceof u))return new u(t);"string"==typeof t&&(l(Object.prototype.hasOwnProperty.call(o,t),"Unknown curve "+t),t=o[t]),t instanceof o.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}t.exports=u,u.prototype.keyPair=function(t){return new c(this,t)},u.prototype.keyFromPrivate=function(t,e){return c.fromPrivate(this,t,e)},u.prototype.keyFromPublic=function(t,e){return c.fromPublic(this,t,e)},u.prototype.genKeyPair=function(t){t||(t={});for(var e=new r({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||a(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),s=this.n.sub(new n(2));;){var o=new n(e.generate(i));if(!(o.cmp(s)>0))return o.iaddn(1),this.keyFromPrivate(o)}},u.prototype._truncateToN=function(t,e){var i=8*t.byteLength()-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},u.prototype.sign=function(t,e,i,s){"object"==typeof i&&(s=i,i=null),s||(s={}),e=this.keyFromPrivate(e,i),t=this._truncateToN(new n(t,16));for(var o=this.n.byteLength(),a=e.getPrivate().toArray("be",o),l=t.toArray("be",o),c=new r({hash:this.hash,entropy:a,nonce:l,pers:s.pers,persEnc:s.persEnc||"utf8"}),u=this.n.sub(new n(1)),d=0;;d++){var p=s.k?s.k(d):new n(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(u)>=0)){var f=this.g.mul(p);if(!f.isInfinity()){var m=f.getX(),g=m.umod(this.n);if(0!==g.cmpn(0)){var y=p.invm(this.n).mul(g.mul(e.getPrivate()).iadd(t));if(0!==(y=y.umod(this.n)).cmpn(0)){var b=(f.getY().isOdd()?1:0)|(0!==m.cmp(g)?2:0);return s.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),b^=1),new h({r:g,s:y,recoveryParam:b})}}}}}},u.prototype.verify=function(t,e,i,r){t=this._truncateToN(new n(t,16)),i=this.keyFromPublic(i,r);var s=(e=new h(e,"hex")).r,o=e.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,l=o.invm(this.n),c=l.mul(t).umod(this.n),u=l.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,i.getPublic(),u)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(c,i.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},u.prototype.recoverPubKey=function(t,e,i,r){l((3&i)===i,"The recovery param is more than two bits"),e=new h(e,r);var s=this.n,o=new n(t),a=e.r,c=e.s,u=1&i,d=i>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=this.curve.pointFromX(d?a.add(this.curve.n):a,u);var p=e.r.invm(s),f=s.sub(o).mul(p).umod(s),m=c.mul(p).umod(s);return this.g.mulAdd(f,a,m)},u.prototype.getKeyRecoveryParam=function(t,e,i,n){if(null!==(e=new h(e,n)).recoveryParam)return e.recoveryParam;for(var r=0;r<4;r++){var s;try{s=this.recoverPubKey(t,e,r)}catch(t){continue}if(s.eq(i))return r}throw new Error("Unable to find valid recovery factor")}},3145:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930).assert;function s(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}t.exports=s,s.fromPublic=function(t,e,i){return e instanceof s?e:new s(t,{pub:e,pubEnc:i})},s.fromPrivate=function(t,e,i){return e instanceof s?e:new s(t,{priv:e,privEnc:i})},s.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},s.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},s.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},s.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},s.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?r(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},s.prototype.derive=function(t){return t.validate()||r(t.validate(),"public point not validated"),t.mul(this.priv).getX()},s.prototype.sign=function(t,e,i){return this.ec.sign(t,this,e,i)},s.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},s.prototype.inspect=function(){return""}},6032:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.assert;function o(t,e){if(t instanceof o)return t;this._importDER(t,e)||(s(t.r&&t.s,"Signature without r or s"),this.r=new n(t.r,16),this.s=new n(t.s,16),this.recoveryParam=void 0===t.recoveryParam?null:t.recoveryParam)}function a(){this.place=0}function l(t,e){var i=t[e.place++];if(!(128&i))return i;var n=15&i;if(0===n||n>4)return!1;for(var r=0,s=0,o=e.place;s>>=0;return!(r<=127)&&(e.place=o,r)}function c(t){for(var e=0,i=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|i);--i;)t.push(e>>>(i<<3)&255);t.push(e)}}t.exports=o,o.prototype._importDER=function(t,e){t=r.toArray(t,e);var i=new a;if(48!==t[i.place++])return!1;var s=l(t,i);if(!1===s)return!1;if(s+i.place!==t.length)return!1;if(2!==t[i.place++])return!1;var o=l(t,i);if(!1===o)return!1;var c=t.slice(i.place,o+i.place);if(i.place+=o,2!==t[i.place++])return!1;var h=l(t,i);if(!1===h)return!1;if(t.length!==h+i.place)return!1;var u=t.slice(i.place,h+i.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===u[0]){if(!(128&u[1]))return!1;u=u.slice(1)}return this.r=new n(c),this.s=new n(u),this.recoveryParam=null,!0},o.prototype.toDER=function(t){var e=this.r.toArray(),i=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&i[0]&&(i=[0].concat(i)),e=c(e),i=c(i);!(i[0]||128&i[1]);)i=i.slice(1);var n=[2];h(n,e.length),(n=n.concat(e)).push(2),h(n,i.length);var s=n.concat(i),o=[48];return h(o,s.length),o=o.concat(s),r.encode(o,t)}},2038:(t,e,i)=>{"use strict";var n=i(7749),r=i(2709),s=i(3930),o=s.assert,a=s.parseBytes,l=i(3426),c=i(613);function h(t){if(o("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof h))return new h(t);this.curve=t=r[t].curve,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}t.exports=h,h.prototype.sign=function(t,e){t=a(t);var i=this.keyFromSecret(e),n=this.hashInt(i.messagePrefix(),t),r=this.g.mul(n),s=this.encodePoint(r),o=this.hashInt(s,i.pubBytes(),t).mul(i.priv()),l=n.add(o).umod(this.curve.n);return this.makeSignature({R:r,S:l,Rencoded:s})},h.prototype.verify=function(t,e,i){t=a(t),e=this.makeSignature(e);var n=this.keyFromPublic(i),r=this.hashInt(e.Rencoded(),n.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(n.pub().mul(r)).eq(s)},h.prototype.hashInt=function(){for(var t=this.hash(),e=0;e{"use strict";var n=i(3930),r=n.assert,s=n.parseBytes,o=n.cachedProperty;function a(t,e){this.eddsa=t,this._secret=s(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s(e.pub)}a.fromPublic=function(t,e){return e instanceof a?e:new a(t,{pub:e})},a.fromSecret=function(t,e){return e instanceof a?e:new a(t,{secret:e})},a.prototype.secret=function(){return this._secret},o(a,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),o(a,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),o(a,"privBytes",function(){var t=this.eddsa,e=this.hash(),i=t.encodingLength-1,n=e.slice(0,t.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),o(a,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),o(a,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),o(a,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),a.prototype.sign=function(t){return r(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},a.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},a.prototype.getSecret=function(t){return r(this._secret,"KeyPair is public only"),n.encode(this.secret(),t)},a.prototype.getPublic=function(t){return n.encode(this.pubBytes(),t)},t.exports=a},613:(t,e,i)=>{"use strict";var n=i(8183),r=i(3930),s=r.assert,o=r.cachedProperty,a=r.parseBytes;function l(t,e){this.eddsa=t,"object"!=typeof e&&(e=a(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),s(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof n&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}o(l,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),o(l,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),o(l,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),o(l,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),l.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},l.prototype.toHex=function(){return r.encode(this.toBytes(),"hex").toUpperCase()},t.exports=l},5621:t=>{t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},3930:(t,e,i)=>{"use strict";var n=e,r=i(8183),s=i(523),o=i(5856);n.assert=s,n.toArray=o.toArray,n.zero2=o.zero2,n.toHex=o.toHex,n.encode=o.encode,n.getNAF=function(t,e,i){var n=new Array(Math.max(t.bitLength(),i)+1);n.fill(0);for(var r=1<(r>>1)-1?(r>>1)-l:l):a=0,n[o]=a,s.iushrn(1)}return n},n.getJSF=function(t,e){var i=[[],[]];t=t.clone(),e=e.clone();for(var n,r=0,s=0;t.cmpn(-r)>0||e.cmpn(-s)>0;){var o,a,l=t.andln(3)+r&3,c=e.andln(3)+s&3;3===l&&(l=-1),3===c&&(c=-1),o=0==(1&l)?0:3!=(n=t.andln(7)+r&7)&&5!==n||2!==c?l:-l,i[0].push(o),a=0==(1&c)?0:3!=(n=e.andln(7)+s&7)&&5!==n||2!==l?c:-c,i[1].push(a),2*r===o+1&&(r=1-r),2*s===a+1&&(s=1-s),t.iushrn(1),e.iushrn(1)}return i},n.cachedProperty=function(t,e,i){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=i.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new r(t,"hex","le")}},8183:function(t,e,i){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}function s(t,e,i){if(s.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(i=e,e=10),this._init(t||0,e||10,i||"be"))}var o;"object"==typeof t?t.exports=s:e.BN=s,s.BN=s,s.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:i(8623).Buffer}catch(S){}function a(t,e){var i=t.charCodeAt(e);return i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},5068:t=>{"use strict";var e,i="object"==typeof Reflect?Reflect:null,n=i&&"function"==typeof i.apply?i.apply:function(t,e,i){return Function.prototype.apply.call(t,e,i)};e=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var r=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(t,e){return new Promise(function(i,n){function r(i){t.removeListener(e,s),n(i)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",r),i([].slice.call(arguments))}m(t,e,s,{once:!0}),"error"!==e&&function(t,e,i){"function"==typeof t.on&&m(t,"error",e,{once:!0})}(t,r)})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function c(t,e,i,n){var r,s,o;if(a(i),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,i.listener?i.listener:i),s=t._events),o=s[e]),void 0===o)o=s[e]=i,++t._eventsCount;else if("function"==typeof o?o=s[e]=n?[i,o]:[o,i]:n?o.unshift(i):o.push(i),(r=l(t))>0&&o.length>r&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,console&&console.warn&&console.warn(c)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(t,e,i){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:i},r=h.bind(n);return r.listener=i,n.wrapFn=r,r}function d(t,e,i){var n=t._events;if(void 0===n)return[];var r=n[e];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(t){for(var e=new Array(t.length),i=0;i0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=s[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var c=l.length,h=f(l,c);for(i=0;i=0;s--)if(i[s]===e||i[s].listener===e){o=i[s].listener,r=s;break}if(r<0)return this;0===r?i.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},8386:(t,e,i)=>{var n=i(545).Buffer,r=i(9233);t.exports=function(t,e,i,s){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=i/8,a=n.alloc(o),l=n.alloc(s||0),c=n.alloc(0);o>0||s>0;){var h=new r;h.update(c),h.update(t),e&&h.update(e),c=h.digest();var u=0;if(o>0){var d=a.length-o;u=Math.min(o,c.length),c.copy(a,d,0,u),o-=u}if(u0){var p=l.length-s,f=Math.min(s,c.length-u);c.copy(l,p,u,u+f),s-=f}}return c.fill(0),{key:a,iv:l}}},7338:(t,e,i)=>{"use strict";var n=i(932).Buffer,r=i(7612).Transform;function s(t){r.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}i(5457)(s,r),s.prototype._transform=function(t,e,i){var n=null;try{this.update(t,e)}catch(r){n=r}i(n)},s.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(i){e=i}t(e)},s.prototype.update=function(t,e){if(function(t,e){if(!n.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer")}(t),this._finalized)throw new Error("Digest already called");n.isBuffer(t)||(t=n.from(t,e));for(var i=this._block,r=0;this._blockOffset+t.length-r>=this._blockSize;){for(var s=this._blockOffset;s0;++o)this._length[o]+=a,(a=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*a);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},s.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=s},932:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},7749:(t,e,i)=>{var n=e;n.utils=i(9898),n.common=i(4901),n.sha=i(3205),n.ripemd=i(6425),n.hmac=i(4554),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},4901:(t,e,i)=>{"use strict";var n=i(9898),r=i(523);function s(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=s,s.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending=this.pending?this.pending.concat(t):t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var i=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-i,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-i,this.endian);for(var r=0;r>>24&255,n[r++]=t>>>16&255,n[r++]=t>>>8&255,n[r++]=255&t}else for(n[r++]=255&t,n[r++]=t>>>8&255,n[r++]=t>>>16&255,n[r++]=t>>>24&255,n[r++]=0,n[r++]=0,n[r++]=0,n[r++]=0,s=8;s{"use strict";var n=i(9898),r=i(523);function s(t,e,i){if(!(this instanceof s))return new s(t,e,i);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(e,i))}t.exports=s,s.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),r(t.length<=this.blockSize);for(var e=t.length;e{"use strict";var n=i(9898),r=i(4901),s=n.rotl32,o=n.sum32,a=n.sum32_3,l=n.sum32_4,c=r.BlockHash;function h(){if(!(this instanceof h))return new h;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(t,e,i,n){return t<=15?e^i^n:t<=31?e&i|~e&n:t<=47?(e|~i)^n:t<=63?e&n|i&~n:e^(i|~n)}function d(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}n.inherits(h,c),e.ripemd160=h,h.blockSize=512,h.outSize=160,h.hmacStrength=192,h.padLength=64,h.prototype._update=function(t,e){for(var i=this.h[0],n=this.h[1],r=this.h[2],c=this.h[3],h=this.h[4],b=i,v=n,_=r,w=c,x=h,C=0;C<80;C++){var A=o(s(l(i,u(C,n,r,c),t[f[C]+e],d(C)),g[C]),h);i=h,h=c,c=s(r,10),r=n,n=A,A=o(s(l(b,u(79-C,v,_,w),t[m[C]+e],p(C)),y[C]),x),b=x,x=w,w=s(_,10),_=v,v=A}A=a(this.h[1],r,w),this.h[1]=a(this.h[2],c,x),this.h[2]=a(this.h[3],h,b),this.h[3]=a(this.h[4],i,v),this.h[4]=a(this.h[0],n,_),this.h[0]=A},h.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},3205:(t,e,i)=>{"use strict";e.sha1=i(6126),e.sha224=i(4615),e.sha256=i(1801),e.sha384=i(8391),e.sha512=i(940)},6126:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(1866),o=n.rotl32,a=n.sum32,l=n.sum32_5,c=s.ft_1,h=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(d,h),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(t,e){for(var i=this.W,n=0;n<16;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898),r=i(1801);function s(){if(!(this instanceof s))return new s;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(s,r),t.exports=s,s.blockSize=512,s.outSize=224,s.hmacStrength=192,s.padLength=64,s.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},1801:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(1866),o=i(523),a=n.sum32,l=n.sum32_4,c=n.sum32_5,h=s.ch32,u=s.maj32,d=s.s0_256,p=s.s1_256,f=s.g0_256,m=s.g1_256,g=r.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(b,g),t.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(t,e){for(var i=this.W,n=0;n<16;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898),r=i(940);function s(){if(!(this instanceof s))return new s;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(s,r),t.exports=s,s.blockSize=1024,s.outSize=384,s.hmacStrength=192,s.padLength=128,s.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},940:(t,e,i)=>{"use strict";var n=i(9898),r=i(4901),s=i(523),o=n.rotr64_hi,a=n.rotr64_lo,l=n.shr64_hi,c=n.shr64_lo,h=n.sum64,u=n.sum64_hi,d=n.sum64_lo,p=n.sum64_4_hi,f=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,y=r.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function _(t,e,i,n,r){var s=t&i^~t&r;return s<0&&(s+=4294967296),s}function w(t,e,i,n,r,s){var o=e&n^~e&s;return o<0&&(o+=4294967296),o}function x(t,e,i,n,r){var s=t&i^t&r^i&r;return s<0&&(s+=4294967296),s}function C(t,e,i,n,r,s){var o=e&n^e&s^n&s;return o<0&&(o+=4294967296),o}function A(t,e){var i=o(t,e,28)^o(e,t,2)^o(e,t,7);return i<0&&(i+=4294967296),i}function S(t,e){var i=a(t,e,28)^a(e,t,2)^a(e,t,7);return i<0&&(i+=4294967296),i}function E(t,e){var i=a(t,e,14)^a(t,e,18)^a(e,t,9);return i<0&&(i+=4294967296),i}function k(t,e){var i=o(t,e,1)^o(t,e,8)^l(t,e,7);return i<0&&(i+=4294967296),i}function T(t,e){var i=a(t,e,1)^a(t,e,8)^c(t,e,7);return i<0&&(i+=4294967296),i}function M(t,e){var i=a(t,e,19)^a(e,t,29)^c(t,e,6);return i<0&&(i+=4294967296),i}n.inherits(v,y),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(t,e){for(var i=this.W,n=0;n<32;n++)i[n]=t[e+n];for(;n{"use strict";var n=i(9898).rotr32;function r(t,e,i){return t&e^~t&i}function s(t,e,i){return t&e^t&i^e&i}function o(t,e,i){return t^e^i}e.ft_1=function(t,e,i,n){return 0===t?r(e,i,n):1===t||3===t?o(e,i,n):2===t?s(e,i,n):void 0},e.ch32=r,e.maj32=s,e.p32=o,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},9898:(t,e,i)=>{"use strict";var n=i(523),r=i(5457);function s(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function o(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function l(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=r,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var i=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),r=0;r>6|192,i[n++]=63&o|128):s(t,r)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++r)),i[n++]=o>>18|240,i[n++]=o>>12&63|128,i[n++]=o>>6&63|128,i[n++]=63&o|128):(i[n++]=o>>12|224,i[n++]=o>>6&63|128,i[n++]=63&o|128)}else for(r=0;r>>0;return o},e.split32=function(t,e){for(var i=new Array(4*t.length),n=0,r=0;n>>24,i[r+1]=s>>>16&255,i[r+2]=s>>>8&255,i[r+3]=255&s):(i[r+3]=s>>>24,i[r+2]=s>>>16&255,i[r+1]=s>>>8&255,i[r]=255&s)}return i},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,i){return t+e+i>>>0},e.sum32_4=function(t,e,i,n){return t+e+i+n>>>0},e.sum32_5=function(t,e,i,n,r){return t+e+i+n+r>>>0},e.sum64=function(t,e,i,n){var r=n+t[e+1]>>>0;t[e]=(r>>0,t[e+1]=r},e.sum64_hi=function(t,e,i,n){return(e+n>>>0>>0},e.sum64_lo=function(t,e,i,n){return e+n>>>0},e.sum64_4_hi=function(t,e,i,n,r,s,o,a){var l=0,c=e;return l+=(c=c+n>>>0)>>0)>>0)>>0},e.sum64_4_lo=function(t,e,i,n,r,s,o,a){return e+n+s+a>>>0},e.sum64_5_hi=function(t,e,i,n,r,s,o,a,l,c){var h=0,u=e;return h+=(u=u+n>>>0)>>0)>>0)>>0)>>0},e.sum64_5_lo=function(t,e,i,n,r,s,o,a,l,c){return e+n+s+a+c>>>0},e.rotr64_hi=function(t,e,i){return(e<<32-i|t>>>i)>>>0},e.rotr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0},e.shr64_hi=function(t,e,i){return t>>>i},e.shr64_lo=function(t,e,i){return(t<<32-i|e>>>i)>>>0}},1753:(t,e,i)=>{"use strict";var n=i(7749),r=i(5856),s=i(523);function o(t){if(!(this instanceof o))return new o(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=r.toArray(t.entropy,t.entropyEnc||"hex"),i=r.toArray(t.nonce,t.nonceEnc||"hex"),n=r.toArray(t.pers,t.persEnc||"hex");s(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,i,n)}t.exports=o,o.prototype._init=function(t,e,i){var n=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1},o.prototype.generate=function(t,e,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=i,i=e,e=null),i&&(i=r.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length{e.read=function(t,e,i,n,r){var s,o,a=8*r-n-1,l=(1<>1,h=-7,u=i?r-1:0,d=i?-1:1,p=t[e+u];for(u+=d,s=p&(1<<-h)-1,p>>=-h,h+=a;h>0;s=256*s+t[e+u],u+=d,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=n;h>0;o=256*o+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),s-=c}return(p?-1:1)*o*Math.pow(2,s-n)},e.write=function(t,e,i,n,r,s){var o,a,l,c=8*s-r-1,h=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,f=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(e*l-1)*Math.pow(2,r),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,r),o=0));r>=8;t[i+p]=255&a,p+=f,a/=256,r-=8);for(o=o<0;t[i+p]=255&o,p+=f,o/=256,c-=8);t[i+p-f]|=128*m}},5457:t=>{t.exports="function"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:function(t,e){if(e){t.super_=e;var i=function(){};i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t}}},6265:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},9233:(t,e,i)=>{"use strict";var n=i(5457),r=i(7338),s=i(545).Buffer,o=new Array(16);function a(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function l(t,e){return t<>>32-e}function c(t,e,i,n,r,s,o){return l(t+(e&i|~e&n)+r+s|0,o)+e|0}function h(t,e,i,n,r,s,o){return l(t+(e&n|i&~n)+r+s|0,o)+e|0}function u(t,e,i,n,r,s,o){return l(t+(e^i^n)+r+s|0,o)+e|0}function d(t,e,i,n,r,s,o){return l(t+(i^(e|~n))+r+s|0,o)+e|0}n(a,r),a.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var i=this._a,n=this._b,r=this._c,s=this._d;i=c(i,n,r,s,t[0],3614090360,7),s=c(s,i,n,r,t[1],3905402710,12),r=c(r,s,i,n,t[2],606105819,17),n=c(n,r,s,i,t[3],3250441966,22),i=c(i,n,r,s,t[4],4118548399,7),s=c(s,i,n,r,t[5],1200080426,12),r=c(r,s,i,n,t[6],2821735955,17),n=c(n,r,s,i,t[7],4249261313,22),i=c(i,n,r,s,t[8],1770035416,7),s=c(s,i,n,r,t[9],2336552879,12),r=c(r,s,i,n,t[10],4294925233,17),n=c(n,r,s,i,t[11],2304563134,22),i=c(i,n,r,s,t[12],1804603682,7),s=c(s,i,n,r,t[13],4254626195,12),r=c(r,s,i,n,t[14],2792965006,17),i=h(i,n=c(n,r,s,i,t[15],1236535329,22),r,s,t[1],4129170786,5),s=h(s,i,n,r,t[6],3225465664,9),r=h(r,s,i,n,t[11],643717713,14),n=h(n,r,s,i,t[0],3921069994,20),i=h(i,n,r,s,t[5],3593408605,5),s=h(s,i,n,r,t[10],38016083,9),r=h(r,s,i,n,t[15],3634488961,14),n=h(n,r,s,i,t[4],3889429448,20),i=h(i,n,r,s,t[9],568446438,5),s=h(s,i,n,r,t[14],3275163606,9),r=h(r,s,i,n,t[3],4107603335,14),n=h(n,r,s,i,t[8],1163531501,20),i=h(i,n,r,s,t[13],2850285829,5),s=h(s,i,n,r,t[2],4243563512,9),r=h(r,s,i,n,t[7],1735328473,14),i=u(i,n=h(n,r,s,i,t[12],2368359562,20),r,s,t[5],4294588738,4),s=u(s,i,n,r,t[8],2272392833,11),r=u(r,s,i,n,t[11],1839030562,16),n=u(n,r,s,i,t[14],4259657740,23),i=u(i,n,r,s,t[1],2763975236,4),s=u(s,i,n,r,t[4],1272893353,11),r=u(r,s,i,n,t[7],4139469664,16),n=u(n,r,s,i,t[10],3200236656,23),i=u(i,n,r,s,t[13],681279174,4),s=u(s,i,n,r,t[0],3936430074,11),r=u(r,s,i,n,t[3],3572445317,16),n=u(n,r,s,i,t[6],76029189,23),i=u(i,n,r,s,t[9],3654602809,4),s=u(s,i,n,r,t[12],3873151461,11),r=u(r,s,i,n,t[15],530742520,16),i=d(i,n=u(n,r,s,i,t[2],3299628645,23),r,s,t[0],4096336452,6),s=d(s,i,n,r,t[7],1126891415,10),r=d(r,s,i,n,t[14],2878612391,15),n=d(n,r,s,i,t[5],4237533241,21),i=d(i,n,r,s,t[12],1700485571,6),s=d(s,i,n,r,t[3],2399980690,10),r=d(r,s,i,n,t[10],4293915773,15),n=d(n,r,s,i,t[1],2240044497,21),i=d(i,n,r,s,t[8],1873313359,6),s=d(s,i,n,r,t[15],4264355552,10),r=d(r,s,i,n,t[6],2734768916,15),n=d(n,r,s,i,t[13],1309151649,21),i=d(i,n,r,s,t[4],4149444226,6),s=d(s,i,n,r,t[11],3174756917,10),r=d(r,s,i,n,t[2],718787259,15),n=d(n,r,s,i,t[9],3951481745,21),this._a=this._a+i|0,this._b=this._b+n|0,this._c=this._c+r|0,this._d=this._d+s|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=s.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=a},2533:(t,e,i)=>{var n=i(4870),r=i(8520);function s(t){this.rand=t||new r.Rand}t.exports=s,s.create=function(t){return new s(t)},s.prototype._randbelow=function(t){var e=t.bitLength(),i=Math.ceil(e/8);do{var r=new n(this.rand.generate(i))}while(r.cmp(t)>=0);return r},s.prototype._randrange=function(t,e){var i=e.sub(t);return t.add(this._randbelow(i))},s.prototype.test=function(t,e,i){var r=t.bitLength(),s=n.mont(t),o=new n(1).toRed(s);e||(e=Math.max(1,r/48|0));for(var a=t.subn(1),l=0;!a.testn(l);l++);for(var c=t.shrn(l),h=a.toRed(s);e>0;e--){var u=this._randrange(new n(2),a);i&&i(u);var d=u.toRed(s).redPow(c);if(0!==d.cmp(o)&&0!==d.cmp(h)){for(var p=1;p0;e--){var h=this._randrange(new n(2),o),u=t.gcd(h);if(0!==u.cmpn(1))return u;var d=h.toRed(r).redPow(l);if(0!==d.cmp(s)&&0!==d.cmp(c)){for(var p=1;p=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},523:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,i){if(t!=e)throw new Error(i||"Assertion failed: "+t+" != "+e)}},5856:(t,e)=>{"use strict";var i=e;function n(t){return 1===t.length?"0"+t:t}function r(t){for(var e="",i=0;i>8,o=255&r;s?i.push(s,o):i.push(o)}return i},i.zero2=n,i.toHex=r,i.encode=function(t,e){return"hex"===e?r(t):t}},7038:(t,e,i)=>{"use strict";i.d(e,{op:()=>st,$V:()=>ht,Xd:()=>ut});var n=i(9666),r=i(5960),s=(i(5446),i(9610)),o=i(9568),a=(i(6424),i(1096),i(1572)),l=i(1511);function c(t){return getComputedStyle(t)}function h(t,e){for(var i in e){var n=e[i];"number"==typeof n&&(n+="px"),t.style[i]=n}return t}function u(t){var e=document.createElement("div");return e.className=t,e}var d="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function p(t,e){if(!d)throw new Error("No element matching method supported");return d.call(t,e)}function f(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function m(t,e){return Array.prototype.filter.call(t.children,function(t){return p(t,e)})}var g=function(t){return"ps__thumb-"+t},y=function(t){return"ps__rail-"+t},b="ps__child--consume",v="ps--focus",_="ps--clicking",w=function(t){return"ps--active-"+t},x=function(t){return"ps--scrolling-"+t},C={x:null,y:null};function A(t,e){var i=t.element.classList,n=x(e);i.contains(n)?clearTimeout(C[e]):i.add(n)}function S(t,e){C[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(x(e))},t.settings.scrollingThreshold)}var E=function(t){this.element=t,this.handlers={}},k={isEmpty:{configurable:!0}};E.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},E.prototype.unbind=function(t,e){var i=this;this.handlers[t]=this.handlers[t].filter(function(n){return!(!e||n===e)||(i.element.removeEventListener(t,n,!1),!1)})},E.prototype.unbindAll=function(){for(var t in this.handlers)this.unbind(t)},k.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(E.prototype,k);var T=function(){this.eventElements=[]};function M(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}function L(t,e,i,n,r){var s;if(void 0===n&&(n=!0),void 0===r&&(r=!1),"top"===e)s=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");s=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(t,e,i,n,r){var s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],h=i[5];void 0===n&&(n=!0),void 0===r&&(r=!1);var u=t.element;t.reach[l]=null,u[a]<1&&(t.reach[l]="start"),u[a]>t[s]-t[o]-1&&(t.reach[l]="end"),e&&(u.dispatchEvent(M("ps-scroll-"+l)),e<0?u.dispatchEvent(M("ps-scroll-"+c)):e>0&&u.dispatchEvent(M("ps-scroll-"+h)),n&&function(t,e){A(t,e),S(t,e)}(t,l)),t.reach[l]&&(e||r)&&u.dispatchEvent(M("ps-"+l+"-reach-"+t.reach[l]))}(t,i,s,n,r)}function I(t){return parseInt(t,10)||0}T.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new E(t),this.eventElements.push(e)),e},T.prototype.bind=function(t,e,i){this.eventElement(t).bind(e,i)},T.prototype.unbind=function(t,e,i){var n=this.eventElement(t);n.unbind(e,i),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},T.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},T.prototype.once=function(t,e,i){var n=this.eventElement(t),r=function(t){n.unbind(e,r),i(t)};n.bind(e,r)};var O={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function D(t){var e=t.element,i=Math.floor(e.scrollTop),n=e.getBoundingClientRect();t.containerWidth=Math.ceil(n.width),t.containerHeight=Math.ceil(n.height),t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(m(e,y("x")).forEach(function(t){return f(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(m(e,y("y")).forEach(function(t){return f(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),function(t,e){var i={width:e.railXWidth},n=Math.floor(t.scrollTop);i.left=e.isRtl?e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:t.scrollLeft,e.isScrollbarXUsingBottom?i.bottom=e.scrollbarXBottom-n:i.top=e.scrollbarXTop+n,h(e.scrollbarXRail,i);var r={top:n,height:e.railYHeight};e.isScrollbarYUsingRight?r.right=e.isRtl?e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth-9:e.scrollbarYRight-t.scrollLeft:r.left=e.isRtl?e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:e.scrollbarYLeft+t.scrollLeft,h(e.scrollbarYRail,r),h(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),h(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}(e,t),t.scrollbarXActive?e.classList.add(w("x")):(e.classList.remove(w("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=!0===t.isRtl?t.contentWidth:0),t.scrollbarYActive?e.classList.add(w("y")):(e.classList.remove(w("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)}function R(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function N(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=t.element,d=null,p=null,f=null;function m(e){e.touches&&e.touches[0]&&(e[r]=e.touches[0].pageY),u[l]=d+f*(e[r]-p),A(t,c),D(t),e.stopPropagation(),e.preventDefault()}function g(){S(t,c),t[h].classList.remove(_),t.event.unbind(t.ownerDocument,"mousemove",m)}function y(e,o){d=u[l],o&&e.touches&&(e[r]=e.touches[0].pageY),p=e[r],f=(t[n]-t[i])/(t[s]-t[a]),o?t.event.bind(t.ownerDocument,"touchmove",m):(t.event.bind(t.ownerDocument,"mousemove",m),t.event.once(t.ownerDocument,"mouseup",g),e.preventDefault()),t[h].classList.add(_),e.stopPropagation()}t.event.bind(t[o],"mousedown",function(t){y(t)}),t.event.bind(t[o],"touchstart",function(t){y(t,!0)})}var P={"click-rail":function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var i=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top;t.element.scrollTop+=(i>t.scrollbarYTop?1:-1)*t.containerHeight,D(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var i=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left;t.element.scrollLeft+=(i>t.scrollbarXLeft?1:-1)*t.containerWidth,D(t),e.stopPropagation()})},"drag-thumb":function(t){N(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),N(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(t){var e=t.element;t.event.bind(t.ownerDocument,"keydown",function(i){if(!(i.isDefaultPrevented&&i.isDefaultPrevented()||i.defaultPrevented)&&(p(e,":hover")||p(t.scrollbarX,":focus")||p(t.scrollbarY,":focus"))){var n,r=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(r){if("IFRAME"===r.tagName)r=r.contentDocument.activeElement;else for(;r.shadowRoot;)r=r.shadowRoot.activeElement;if(p(n=r,"input,[contenteditable]")||p(n,"select,[contenteditable]")||p(n,"textarea,[contenteditable]")||p(n,"button,[contenteditable]"))return}var s=0,o=0;switch(i.which){case 37:s=i.metaKey?-t.contentWidth:i.altKey?-t.containerWidth:-30;break;case 38:o=i.metaKey?t.contentHeight:i.altKey?t.containerHeight:30;break;case 39:s=i.metaKey?t.contentWidth:i.altKey?t.containerWidth:30;break;case 40:o=i.metaKey?-t.contentHeight:i.altKey?-t.containerHeight:-30;break;case 32:o=i.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:o=t.containerHeight;break;case 34:o=-t.containerHeight;break;case 36:o=t.contentHeight;break;case 35:o=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==o||(e.scrollTop-=o,e.scrollLeft+=s,D(t),function(i,n){var r=Math.floor(e.scrollTop);if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}var s=e.scrollLeft;if(0===n){if(!t.scrollbarXActive)return!1;if(0===s&&i<0||s>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,o)&&i.preventDefault())}})},wheel:function(t){var e=t.element;function i(i){var n=function(t){var e=t.deltaX,i=-1*t.deltaY;return void 0!==e&&void 0!==i||(e=-1*t.wheelDeltaX/6,i=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,i*=10),e!=e&&i!=i&&(e=0,i=t.wheelDelta),t.shiftKey?[-i,-e]:[e,i]}(i),r=n[0],s=n[1];if(!function(t,i,n){if(!O.isWebKit&&e.querySelector("select:focus"))return!0;if(!e.contains(t))return!1;for(var r=t;r&&r!==e;){if(r.classList.contains(b))return!0;var s=c(r);if(n&&s.overflowY.match(/(scroll|auto)/)){var o=r.scrollHeight-r.clientHeight;if(o>0&&(r.scrollTop>0&&n<0||r.scrollTop0))return!0}if(i&&s.overflowX.match(/(scroll|auto)/)){var a=r.scrollWidth-r.clientWidth;if(a>0&&(r.scrollLeft>0&&i<0||r.scrollLeft0))return!0}r=r.parentNode}return!1}(i.target,r,s)){var o=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(s?e.scrollTop-=s*t.settings.wheelSpeed:e.scrollTop+=r*t.settings.wheelSpeed,o=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(r?e.scrollLeft+=r*t.settings.wheelSpeed:e.scrollLeft-=s*t.settings.wheelSpeed,o=!0):(e.scrollTop-=s*t.settings.wheelSpeed,e.scrollLeft+=r*t.settings.wheelSpeed),D(t),(o=o||function(i,n){var r=Math.floor(e.scrollTop),s=0===e.scrollTop,o=r+e.offsetHeight===e.scrollHeight,a=0===e.scrollLeft,l=e.scrollLeft+e.offsetWidth===e.scrollWidth;return!(Math.abs(n)>Math.abs(i)?s||o:a||l)||!t.settings.wheelPropagation}(r,s))&&!i.ctrlKey&&(i.stopPropagation(),i.preventDefault())}}void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)},touch:function(t){if(O.supportsTouch||O.supportsIePointer){var e=t.element,i={},n=0,r={},s=null;O.supportsTouch?(t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",u),t.event.bind(e,"touchend",d)):O.supportsIePointer&&(window.PointerEvent?(t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",u),t.event.bind(e,"pointerup",d)):window.MSPointerEvent&&(t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",u),t.event.bind(e,"MSPointerUp",d)))}function o(i,n){e.scrollTop-=n,e.scrollLeft-=i,D(t)}function a(t){return t.targetTouches?t.targetTouches[0]:t}function l(t){return!(t.pointerType&&"pen"===t.pointerType&&0===t.buttons||(!t.targetTouches||1!==t.targetTouches.length)&&(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function h(t){if(l(t)){var e=a(t);i.pageX=e.pageX,i.pageY=e.pageY,n=(new Date).getTime(),null!==s&&clearInterval(s)}}function u(s){if(l(s)){var h=a(s),u={pageX:h.pageX,pageY:h.pageY},d=u.pageX-i.pageX,p=u.pageY-i.pageY;if(function(t,i,n){if(!e.contains(t))return!1;for(var r=t;r&&r!==e;){if(r.classList.contains(b))return!0;var s=c(r);if(n&&s.overflowY.match(/(scroll|auto)/)){var o=r.scrollHeight-r.clientHeight;if(o>0&&(r.scrollTop>0&&n<0||r.scrollTop0))return!0}if(i&&s.overflowX.match(/(scroll|auto)/)){var a=r.scrollWidth-r.clientWidth;if(a>0&&(r.scrollLeft>0&&i<0||r.scrollLeft0))return!0}r=r.parentNode}return!1}(s.target,d,p))return;o(d,p),i=u;var f=(new Date).getTime(),m=f-n;m>0&&(r.x=d/m,r.y=p/m,n=f),function(i,n){var r=Math.floor(e.scrollTop),s=e.scrollLeft,o=Math.abs(i),a=Math.abs(n);if(a>o){if(n<0&&r===t.contentHeight-t.containerHeight||n>0&&0===r)return 0===window.scrollY&&n>0&&O.isChrome}else if(o>a&&(i<0&&s===t.contentWidth-t.containerWidth||i>0&&0===s))return!0;return!0}(d,p)&&s.preventDefault()}}function d(){t.settings.swipeEasing&&(clearInterval(s),s=setInterval(function(){t.isInitialized?clearInterval(s):r.x||r.y?Math.abs(r.x)<.01&&Math.abs(r.y)<.01?clearInterval(s):(o(30*r.x,30*r.y),r.x*=.8,r.y*=.8):clearInterval(s)},10))}}},F=function(t,e){var i=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var n in this.element=t,t.classList.add("ps"),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},e)this.settings[n]=e[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var r,s,o=function(){return t.classList.add(v)},a=function(){return t.classList.remove(v)};this.isRtl="rtl"===c(t).direction,!0===this.isRtl&&t.classList.add("ps__rtl"),this.isNegativeScroll=(s=t.scrollLeft,t.scrollLeft=-1,r=t.scrollLeft<0,t.scrollLeft=s,r),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new T,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=u(y("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=u(g("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",o),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=c(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=I(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=I(l.borderLeftWidth)+I(l.borderRightWidth),h(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=I(l.marginLeft)+I(l.marginRight),h(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=u(y("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=u(g("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",o),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var d=c(this.scrollbarYRail);this.scrollbarYRight=parseInt(d.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=I(d.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(t){var e=c(t);return I(e.width)+I(e.paddingLeft)+I(e.paddingRight)+I(e.borderLeftWidth)+I(e.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=I(d.borderTopWidth)+I(d.borderBottomWidth),h(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=I(d.marginTop)+I(d.marginBottom),h(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return P[t](i)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return i.onScroll(t)}),D(this)};F.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,h(this.scrollbarXRail,{display:"block"}),h(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=I(c(this.scrollbarXRail).marginLeft)+I(c(this.scrollbarXRail).marginRight),this.railYMarginHeight=I(c(this.scrollbarYRail).marginTop)+I(c(this.scrollbarYRail).marginBottom),h(this.scrollbarXRail,{display:"none"}),h(this.scrollbarYRail,{display:"none"}),D(this),L(this,"top",0,!1,!0),L(this,"left",0,!1,!0),h(this.scrollbarXRail,{display:""}),h(this.scrollbarYRail,{display:""}))},F.prototype.onScroll=function(t){this.isAlive&&(D(this),L(this,"top",this.element.scrollTop-this.lastScrollTop),L(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},F.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),f(this.scrollbarX),f(this.scrollbarY),f(this.scrollbarXRail),f(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},F.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")};const Z=F;var B=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var i=-1;return t.some(function(t,n){return t[0]===e&&(i=n,!0)}),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var i=t(this.__entries__,e),n=this.__entries__[i];return n&&n[1]},e.prototype.set=function(e,i){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=i:this.__entries__.push([e,i])},e.prototype.delete=function(e){var i=this.__entries__,n=t(i,e);~n&&i.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var i=0,n=this.__entries__;i0},t.prototype.connect_=function(){U&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){U&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,i=void 0===e?"":e;H.some(function(t){return!!~i.indexOf(t)})&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),j=function(t,e){for(var i=0,n=Object.keys(e);i0},t}(),it="undefined"!=typeof WeakMap?new WeakMap:new B,nt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=G.getInstance(),n=new et(e,i,this);it.set(this,n)};["observe","unobserve","disconnect"].forEach(function(t){nt.prototype[t]=function(){var e;return(e=it.get(this))[t].apply(e,arguments)}});const rt=void 0!==q.ResizeObserver?q.ResizeObserver:nt,st=new a.OlP("PERFECT_SCROLLBAR_CONFIG");class ot{constructor(t,e,i,n){this.x=t,this.y=e,this.w=i,this.h=n}}class at{constructor(t,e){this.x=t,this.y=e}}const lt=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"];class ct{constructor(t={}){this.assign(t)}assign(t={}){for(const e in t)this[e]=t[e]}}let ht=(()=>{class t{constructor(t,e,i,r,s){this.zone=t,this.differs=e,this.elementRef=i,this.platformId=r,this.defaults=s,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new n.x,this.disabled=!1,this.psScrollY=new a.vpe,this.psScrollX=new a.vpe,this.psScrollUp=new a.vpe,this.psScrollDown=new a.vpe,this.psScrollLeft=new a.vpe,this.psScrollRight=new a.vpe,this.psYReachEnd=new a.vpe,this.psYReachStart=new a.vpe,this.psXReachEnd=new a.vpe,this.psXReachStart=new a.vpe}ngOnInit(){if(!this.disabled&&(0,l.NF)(this.platformId)){const t=new ct(this.defaults);t.assign(this.config),this.zone.runOutsideAngular(()=>{this.instance=new Z(this.elementRef.nativeElement,t)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(()=>{this.ro=new rt(()=>{this.update()}),this.elementRef.nativeElement.children[0]&&this.ro.observe(this.elementRef.nativeElement.children[0]),this.ro.observe(this.elementRef.nativeElement)}),this.zone.runOutsideAngular(()=>{lt.forEach(t=>{const e=t.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`);(0,r.R)(this.elementRef.nativeElement,e).pipe((0,s.e)(20),(0,o.R)(this.ngDestroy)).subscribe(e=>{this[t].emit(e)})})})}}ngOnDestroy(){(0,l.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&"undefined"!=typeof window&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.instance&&this.instance.destroy()}),this.instance=null)}ngDoCheck(){!this.disabled&&this.configDiff&&(0,l.NF)(this.platformId)&&this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit())}ngOnChanges(t){t.disabled&&!t.disabled.isFirstChange()&&(0,l.NF)(this.platformId)&&t.disabled.currentValue!==t.disabled.previousValue&&(!0===t.disabled.currentValue?this.ngOnDestroy():!1===t.disabled.currentValue&&this.ngOnInit())}ps(){return this.instance}update(){"undefined"!=typeof window&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{if(!this.disabled&&this.configDiff)try{this.zone.runOutsideAngular(()=>{this.instance&&this.instance.update()})}catch(t){}},0))}geometry(t="scroll"){return new ot(this.elementRef.nativeElement[t+"Left"],this.elementRef.nativeElement[t+"Top"],this.elementRef.nativeElement[t+"Width"],this.elementRef.nativeElement[t+"Height"])}position(t=!1){return!t&&this.instance?new at(this.instance.reach.x||0,this.instance.reach.y||0):new at(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)}scrollable(t="any"){const e=this.elementRef.nativeElement;return"any"===t?e.classList.contains("ps--active-x")||e.classList.contains("ps--active-y"):"both"===t?e.classList.contains("ps--active-x")&&e.classList.contains("ps--active-y"):e.classList.contains("ps--active-"+t)}scrollTo(t,e,i){this.disabled||(null==e&&null==i?this.animateScrolling("scrollTop",t,i):(null!=t&&this.animateScrolling("scrollLeft",t,i),null!=e&&this.animateScrolling("scrollTop",e,i)))}scrollToX(t,e){this.animateScrolling("scrollLeft",t,e)}scrollToY(t,e){this.animateScrolling("scrollTop",t,e)}scrollToTop(t,e){this.animateScrolling("scrollTop",t||0,e)}scrollToLeft(t,e){this.animateScrolling("scrollLeft",t||0,e)}scrollToRight(t,e){this.animateScrolling("scrollLeft",this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth-(t||0),e)}scrollToBottom(t,e){this.animateScrolling("scrollTop",this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight-(t||0),e)}scrollToElement(t,e,i){if("string"==typeof t&&(t=this.elementRef.nativeElement.querySelector(t)),t){const n=t.getBoundingClientRect(),r=this.elementRef.nativeElement.getBoundingClientRect();this.elementRef.nativeElement.classList.contains("ps--active-x")&&this.animateScrolling("scrollLeft",n.left-r.left+this.elementRef.nativeElement.scrollLeft+(e||0),i),this.elementRef.nativeElement.classList.contains("ps--active-y")&&this.animateScrolling("scrollTop",n.top-r.top+this.elementRef.nativeElement.scrollTop+(e||0),i)}}animateScrolling(t,e,i){if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),i&&"undefined"!=typeof window){if(e!==this.elementRef.nativeElement[t]){let n=0,r=0,s=performance.now(),o=this.elementRef.nativeElement[t];const a=(o-e)/2,l=c=>{r+=Math.PI/(i/(c-s)),n=Math.round(e+a+a*Math.cos(r)),this.elementRef.nativeElement[t]===o&&(r>=Math.PI?this.animateScrolling(t,e,0):(this.elementRef.nativeElement[t]=n,o=this.elementRef.nativeElement[t],s=c,this.animation=window.requestAnimationFrame(l)))};window.requestAnimationFrame(l)}}else this.elementRef.nativeElement[t]=e}}return t.\u0275fac=function(e){return new(e||t)(a.Y36(a.R0b),a.Y36(a.aQg),a.Y36(a.SBq),a.Y36(a.Lbi),a.Y36(st,8))},t.\u0275dir=a.lG2({type:t,selectors:[["","perfectScrollbar",""]],inputs:{disabled:"disabled",config:["perfectScrollbar","config"]},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],features:[a.TTD]}),t})(),ut=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=a.oAB({type:t}),t.\u0275inj=a.cJS({imports:[[l.ez],l.ez]}),t})()},4499:(t,e,i)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(5097);Object.keys(n).forEach(function(t){"default"!==t&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return n[t]}})})},6730:(t,e,i)=>{"use strict";var n=i(6309);e.certificate=i(8840);var r=n.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});e.RSAPrivateKey=r;var s=n.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});e.RSAPublicKey=s;var o=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())});e.PublicKey=o;var a=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),l=n.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())});e.PrivateKey=l;var c=n.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});e.EncryptedPrivateKey=c;var h=n.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});e.DSAPrivateKey=h,e.DSAparam=n.define("DSAparam",function(){this.int()});var u=n.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())});e.ECPrivateKey=u;var d=n.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});e.signature=n.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},8840:(t,e,i)=>{"use strict";var n=i(6309),r=n.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),s=n.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),o=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}),l=n.define("RelativeDistinguishedName",function(){this.setof(s)}),c=n.define("RDNSequence",function(){this.seqof(l)}),h=n.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),u=n.define("Validity",function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))}),d=n.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),p=n.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(h),this.key("validity").use(u),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())}),f=n.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(p),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())});t.exports=f},4153:(t,e,i)=>{var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,s=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=i(8386),a=i(3079),l=i(545).Buffer;t.exports=function(t,e){var i,c=t.toString(),h=c.match(n);if(h){var u="aes"+h[1],d=l.from(h[2],"hex"),p=l.from(h[3].replace(/[\r\n]/g,""),"base64"),f=o(e,d.slice(0,8),parseInt(h[1],10)).key,m=[],g=a.createDecipheriv(u,f,d);m.push(g.update(p)),m.push(g.final()),i=l.concat(m)}else{var y=c.match(s);i=l.from(y[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(r)[1],data:i}}},2291:(t,e,i)=>{var n=i(6730),r=i(873),s=i(4153),o=i(3079),a=i(8094),l=i(545).Buffer;function c(t){var e;"object"!=typeof t||l.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=l.from(t));var i,c,h=s(t,e),u=h.tag,d=h.data;switch(u){case"CERTIFICATE":c=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=n.PublicKey.decode(d,"der")),i=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=n.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"ENCRYPTED PRIVATE KEY":d=function(t,e){var i=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=r[t.algorithm.decrypt.cipher.algo.join(".")],c=t.algorithm.decrypt.cipher.iv,h=t.subjectPrivateKey,u=parseInt(s.split("-")[1],10)/8,d=a.pbkdf2Sync(e,i,n,u,"sha1"),p=o.createDecipheriv(s,d,c),f=[];return f.push(p.update(h)),f.push(p.final()),l.concat(f)}(d=n.EncryptedPrivateKey.decode(d,"der"),e);case"PRIVATE KEY":switch(i=(c=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:n.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=n.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+i)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+u)}}t.exports=c,c.signature=n.signature},8094:(t,e,i)=>{e.pbkdf2=i(2795),e.pbkdf2Sync=i(4315)},2795:(t,e,i)=>{var n,r,s=i(545).Buffer,o=i(5456),a=i(7072),l=i(4315),c=i(6123),h=global.crypto&&global.crypto.subtle,u={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function p(){return r||(r=global.process&&global.process.nextTick?global.process.nextTick:global.queueMicrotask?global.queueMicrotask:global.setImmediate?global.setImmediate:global.setTimeout)}function f(t,e,i,n,r){return h.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(function(t){return h.deriveBits({name:"PBKDF2",salt:e,iterations:i,hash:{name:r}},t,n<<3)}).then(function(t){return s.from(t)})}t.exports=function(t,e,i,r,m,g){"function"==typeof m&&(g=m,m=void 0);var y=u[(m=m||"sha1").toLowerCase()];if(y&&"function"==typeof global.Promise){if(o(i,r),t=c(t,a,"Password"),e=c(e,a,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then(function(t){p()(function(){e(null,t)})},function(t){p()(function(){e(t)})})}(function(t){if(global.process&&!global.process.browser)return Promise.resolve(!1);if(!h||!h.importKey||!h.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var e=f(n=n||s.alloc(8),n,10,128,t).then(function(){return!0}).catch(function(){return!1});return d[t]=e,e}(y).then(function(n){return n?f(t,e,i,r,y):l(t,e,i,r,m)}),g)}else p()(function(){var n;try{n=l(t,e,i,r,m)}catch(s){return g(s)}g(null,n)})}},7072:t=>{var e;e=global.process&&global.process.browser?"utf-8":global.process&&global.process.version?parseInt(process.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",t.exports=e},5456:t=>{var e=Math.pow(2,30)-1;t.exports=function(t,i){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof i)throw new TypeError("Key length not a number");if(i<0||i>e||i!=i)throw new TypeError("Bad key length")}},4315:(t,e,i)=>{var n=i(3072),r=i(3827),s=i(8687),o=i(545).Buffer,a=i(5456),l=i(7072),c=i(6123),h=o.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(t,e,i){var a=function(t){return"rmd160"===t||"ripemd160"===t?function(t){return(new r).update(t).digest()}:"md5"===t?n:function(e){return s(t).update(e).digest()}}(t),l="sha512"===t||"sha384"===t?128:64;e.length>l?e=a(e):e.length{var n=i(545).Buffer;t.exports=function(t,e,i){if(n.isBuffer(t))return t;if("string"==typeof t)return n.from(t,e);if(ArrayBuffer.isView(t))return n.from(t.buffer);throw new TypeError(i+" must be a string, a Buffer, a typed array or a DataView")}},7351:(t,e,i)=>{e.publicEncrypt=i(3714),e.privateDecrypt=i(864),e.privateEncrypt=function(t,i){return e.publicEncrypt(t,i,!0)},e.publicDecrypt=function(t,i){return e.privateDecrypt(t,i,!0)}},6859:(t,e,i)=>{var n=i(4500),r=i(545).Buffer;function s(t){var e=r.allocUnsafe(4);return e.writeUInt32BE(t,0),e}t.exports=function(t,e){for(var i,o=r.alloc(0),a=0;o.length=65&&i<=70?i-55:i>=97&&i<=102?i-87:i-48&15}function l(t,e,i){var n=a(t,i);return i-1>=e&&(n|=a(t,i-1)<<4),n}function c(t,e,i,n){for(var r=0,s=Math.min(t.length,i),o=e;o=49?a-49+10:a>=17?a-17+10:a}return r}s.isBN=function(t){return t instanceof s||null!==t&&"object"==typeof t&&t.constructor.wordSize===s.wordSize&&Array.isArray(t.words)},s.max=function(t,e){return t.cmp(e)>0?t:e},s.min=function(t,e){return t.cmp(e)<0?t:e},s.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var r=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)this.words[s]|=(o=t[r]|t[r-1]<<8|t[r-2]<<16)<>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);else if("le"===i)for(r=0,s=0;r>>26-a&67108863,(a+=24)>=26&&(a-=26,s++);return this.strip()},s.prototype._parseHex=function(t,e,i){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)r=l(t,e,n)<=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(s-=18,this.words[o+=1]|=r>>>26):s+=8;this.strip()},s.prototype._parseBase=function(t,e,i){this.words=[0],this.length=1;for(var n=0,r=1;r<=67108863;r*=e)n++;n--,r=r/e|0;for(var s=t.length-i,o=s%n,a=Math.min(s,s-o)+i,l=0,h=i;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,i){i.negative=e.negative^t.negative;var n=t.length+e.length|0;i.length=n,n=n-1|0;var r=0|t.words[0],s=0|e.words[0],o=r*s,a=o/67108864|0;i.words[0]=67108863&o;for(var l=1;l>>26,h=67108863&a,u=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=u;d++)c+=(o=(r=0|t.words[l-d|0])*(s=0|e.words[d])+h)/67108864|0,h=67108863&o;i.words[l]=0|h,a=0|c}return 0!==a?i.words[l]=0|a:i.length--,i.strip()}s.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var r=0,s=0,o=0;o>>24-r&16777215)||o!==this.length-1?h[6-l.length]+l+i:l+i,(r+=2)>=26&&(r-=26,o--)}for(0!==s&&(i=s.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=u[t],p=d[t];i="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modn(p).toString(t);i=(f=f.idivn(p)).isZero()?m+i:h[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},s.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},s.prototype.toArrayLike=function(t,e,i){var r=this.byteLength(),s=i||Math.max(1,r);n(r<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var o,a,l="le"===e,c=new t(s),h=this.clone();if(l){for(a=0;!h.isZero();a++)o=h.andln(255),h.iushrn(8),c[a]=o;for(;a=4096&&(i+=13,e>>>=13),e>=64&&(i+=7,e>>>=7),e>=8&&(i+=4,e>>>=4),e>=2&&(i+=2,e>>>=2),i+e},s.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,i=0;return 0==(8191&e)&&(i+=13,e>>>=13),0==(127&e)&&(i+=7,e>>>=7),0==(15&e)&&(i+=4,e>>>=4),0==(3&e)&&(i+=2,e>>>=2),0==(1&e)&&i++,i},s.prototype.bitLength=function(){var t=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+t},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},s.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},s.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var i=0;it.length?this.clone().iand(t):t.clone().iand(this)},s.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},s.prototype.iuxor=function(t){var e,i;this.length>t.length?(e=this,i=t):(e=t,i=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},s.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},s.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-i),this.strip()},s.prototype.notn=function(t){return this.clone().inotn(t)},s.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var i=t/26|0,r=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(i=this,n=t):(i=t,n=this);for(var r=0,s=0;s>>26;for(;0!==r&&s>>26;if(this.length=i.length,0!==r)this.words[this.length]=r,this.length++;else if(i!==this)for(;st.length?this.clone().iadd(t):t.clone().iadd(this)},s.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var i,n,r=this.cmp(t);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(i=this,n=t):(i=t,n=this);for(var s=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==s&&o>26,this.words[o]=67108863&e;if(0===s&&o>>13,p=0|o[1],f=8191&p,m=p>>>13,g=0|o[2],y=8191&g,b=g>>>13,v=0|o[3],_=8191&v,w=v>>>13,x=0|o[4],C=8191&x,A=x>>>13,S=0|o[5],E=8191&S,k=S>>>13,T=0|o[6],M=8191&T,L=T>>>13,I=0|o[7],O=8191&I,D=I>>>13,R=0|o[8],N=8191&R,P=R>>>13,F=0|o[9],Z=8191&F,B=F>>>13,U=0|a[0],q=8191&U,z=U>>>13,H=0|a[1],Y=8191&H,G=H>>>13,j=0|a[2],V=8191&j,Q=j>>>13,W=0|a[3],J=8191&W,X=W>>>13,K=0|a[4],$=8191&K,tt=K>>>13,et=0|a[5],it=8191&et,nt=et>>>13,rt=0|a[6],st=8191&rt,ot=rt>>>13,at=0|a[7],lt=8191&at,ct=at>>>13,ht=0|a[8],ut=8191&ht,dt=ht>>>13,pt=0|a[9],ft=8191&pt,mt=pt>>>13;i.negative=t.negative^e.negative,i.length=19;var gt=(c+(n=Math.imul(u,q))|0)+((8191&(r=(r=Math.imul(u,z))+Math.imul(d,q)|0))<<13)|0;c=((s=Math.imul(d,z))+(r>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(m,q)|0,s=Math.imul(m,z);var yt=(c+(n=n+Math.imul(u,Y)|0)|0)+((8191&(r=(r=r+Math.imul(u,G)|0)+Math.imul(d,Y)|0))<<13)|0;c=((s=s+Math.imul(d,G)|0)+(r>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),r=(r=Math.imul(y,z))+Math.imul(b,q)|0,s=Math.imul(b,z),n=n+Math.imul(f,Y)|0,r=(r=r+Math.imul(f,G)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(u,V)|0)|0)+((8191&(r=(r=r+Math.imul(u,Q)|0)+Math.imul(d,V)|0))<<13)|0;c=((s=s+Math.imul(d,Q)|0)+(r>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(w,q)|0,s=Math.imul(w,z),n=n+Math.imul(y,Y)|0,r=(r=r+Math.imul(y,G)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,G)|0,n=n+Math.imul(f,V)|0,r=(r=r+Math.imul(f,Q)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,Q)|0;var vt=(c+(n=n+Math.imul(u,J)|0)|0)+((8191&(r=(r=r+Math.imul(u,X)|0)+Math.imul(d,J)|0))<<13)|0;c=((s=s+Math.imul(d,X)|0)+(r>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(C,q),r=(r=Math.imul(C,z))+Math.imul(A,q)|0,s=Math.imul(A,z),n=n+Math.imul(_,Y)|0,r=(r=r+Math.imul(_,G)|0)+Math.imul(w,Y)|0,s=s+Math.imul(w,G)|0,n=n+Math.imul(y,V)|0,r=(r=r+Math.imul(y,Q)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,Q)|0,n=n+Math.imul(f,J)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(m,J)|0,s=s+Math.imul(m,X)|0;var _t=(c+(n=n+Math.imul(u,$)|0)|0)+((8191&(r=(r=r+Math.imul(u,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((s=s+Math.imul(d,tt)|0)+(r>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,s=Math.imul(k,z),n=n+Math.imul(C,Y)|0,r=(r=r+Math.imul(C,G)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,r=(r=r+Math.imul(_,Q)|0)+Math.imul(w,V)|0,s=s+Math.imul(w,Q)|0,n=n+Math.imul(y,J)|0,r=(r=r+Math.imul(y,X)|0)+Math.imul(b,J)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(f,$)|0,r=(r=r+Math.imul(f,tt)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,tt)|0;var wt=(c+(n=n+Math.imul(u,it)|0)|0)+((8191&(r=(r=r+Math.imul(u,nt)|0)+Math.imul(d,it)|0))<<13)|0;c=((s=s+Math.imul(d,nt)|0)+(r>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,q),r=(r=Math.imul(M,z))+Math.imul(L,q)|0,s=Math.imul(L,z),n=n+Math.imul(E,Y)|0,r=(r=r+Math.imul(E,G)|0)+Math.imul(k,Y)|0,s=s+Math.imul(k,G)|0,n=n+Math.imul(C,V)|0,r=(r=r+Math.imul(C,Q)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,Q)|0,n=n+Math.imul(_,J)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(w,J)|0,s=s+Math.imul(w,X)|0,n=n+Math.imul(y,$)|0,r=(r=r+Math.imul(y,tt)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,tt)|0,n=n+Math.imul(f,it)|0,r=(r=r+Math.imul(f,nt)|0)+Math.imul(m,it)|0,s=s+Math.imul(m,nt)|0;var xt=(c+(n=n+Math.imul(u,st)|0)|0)+((8191&(r=(r=r+Math.imul(u,ot)|0)+Math.imul(d,st)|0))<<13)|0;c=((s=s+Math.imul(d,ot)|0)+(r>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(O,q),r=(r=Math.imul(O,z))+Math.imul(D,q)|0,s=Math.imul(D,z),n=n+Math.imul(M,Y)|0,r=(r=r+Math.imul(M,G)|0)+Math.imul(L,Y)|0,s=s+Math.imul(L,G)|0,n=n+Math.imul(E,V)|0,r=(r=r+Math.imul(E,Q)|0)+Math.imul(k,V)|0,s=s+Math.imul(k,Q)|0,n=n+Math.imul(C,J)|0,r=(r=r+Math.imul(C,X)|0)+Math.imul(A,J)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(_,$)|0,r=(r=r+Math.imul(_,tt)|0)+Math.imul(w,$)|0,s=s+Math.imul(w,tt)|0,n=n+Math.imul(y,it)|0,r=(r=r+Math.imul(y,nt)|0)+Math.imul(b,it)|0,s=s+Math.imul(b,nt)|0,n=n+Math.imul(f,st)|0,r=(r=r+Math.imul(f,ot)|0)+Math.imul(m,st)|0,s=s+Math.imul(m,ot)|0;var Ct=(c+(n=n+Math.imul(u,lt)|0)|0)+((8191&(r=(r=r+Math.imul(u,ct)|0)+Math.imul(d,lt)|0))<<13)|0;c=((s=s+Math.imul(d,ct)|0)+(r>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(N,q),r=(r=Math.imul(N,z))+Math.imul(P,q)|0,s=Math.imul(P,z),n=n+Math.imul(O,Y)|0,r=(r=r+Math.imul(O,G)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,G)|0,n=n+Math.imul(M,V)|0,r=(r=r+Math.imul(M,Q)|0)+Math.imul(L,V)|0,s=s+Math.imul(L,Q)|0,n=n+Math.imul(E,J)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,J)|0,s=s+Math.imul(k,X)|0,n=n+Math.imul(C,$)|0,r=(r=r+Math.imul(C,tt)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,tt)|0,n=n+Math.imul(_,it)|0,r=(r=r+Math.imul(_,nt)|0)+Math.imul(w,it)|0,s=s+Math.imul(w,nt)|0,n=n+Math.imul(y,st)|0,r=(r=r+Math.imul(y,ot)|0)+Math.imul(b,st)|0,s=s+Math.imul(b,ot)|0,n=n+Math.imul(f,lt)|0,r=(r=r+Math.imul(f,ct)|0)+Math.imul(m,lt)|0,s=s+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(u,ut)|0)|0)+((8191&(r=(r=r+Math.imul(u,dt)|0)+Math.imul(d,ut)|0))<<13)|0;c=((s=s+Math.imul(d,dt)|0)+(r>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(Z,q),r=(r=Math.imul(Z,z))+Math.imul(B,q)|0,s=Math.imul(B,z),n=n+Math.imul(N,Y)|0,r=(r=r+Math.imul(N,G)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,G)|0,n=n+Math.imul(O,V)|0,r=(r=r+Math.imul(O,Q)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,Q)|0,n=n+Math.imul(M,J)|0,r=(r=r+Math.imul(M,X)|0)+Math.imul(L,J)|0,s=s+Math.imul(L,X)|0,n=n+Math.imul(E,$)|0,r=(r=r+Math.imul(E,tt)|0)+Math.imul(k,$)|0,s=s+Math.imul(k,tt)|0,n=n+Math.imul(C,it)|0,r=(r=r+Math.imul(C,nt)|0)+Math.imul(A,it)|0,s=s+Math.imul(A,nt)|0,n=n+Math.imul(_,st)|0,r=(r=r+Math.imul(_,ot)|0)+Math.imul(w,st)|0,s=s+Math.imul(w,ot)|0,n=n+Math.imul(y,lt)|0,r=(r=r+Math.imul(y,ct)|0)+Math.imul(b,lt)|0,s=s+Math.imul(b,ct)|0,n=n+Math.imul(f,ut)|0,r=(r=r+Math.imul(f,dt)|0)+Math.imul(m,ut)|0,s=s+Math.imul(m,dt)|0;var St=(c+(n=n+Math.imul(u,ft)|0)|0)+((8191&(r=(r=r+Math.imul(u,mt)|0)+Math.imul(d,ft)|0))<<13)|0;c=((s=s+Math.imul(d,mt)|0)+(r>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(Z,Y),r=(r=Math.imul(Z,G))+Math.imul(B,Y)|0,s=Math.imul(B,G),n=n+Math.imul(N,V)|0,r=(r=r+Math.imul(N,Q)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,Q)|0,n=n+Math.imul(O,J)|0,r=(r=r+Math.imul(O,X)|0)+Math.imul(D,J)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(M,$)|0,r=(r=r+Math.imul(M,tt)|0)+Math.imul(L,$)|0,s=s+Math.imul(L,tt)|0,n=n+Math.imul(E,it)|0,r=(r=r+Math.imul(E,nt)|0)+Math.imul(k,it)|0,s=s+Math.imul(k,nt)|0,n=n+Math.imul(C,st)|0,r=(r=r+Math.imul(C,ot)|0)+Math.imul(A,st)|0,s=s+Math.imul(A,ot)|0,n=n+Math.imul(_,lt)|0,r=(r=r+Math.imul(_,ct)|0)+Math.imul(w,lt)|0,s=s+Math.imul(w,ct)|0,n=n+Math.imul(y,ut)|0,r=(r=r+Math.imul(y,dt)|0)+Math.imul(b,ut)|0,s=s+Math.imul(b,dt)|0;var Et=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(r=(r=r+Math.imul(f,mt)|0)+Math.imul(m,ft)|0))<<13)|0;c=((s=s+Math.imul(m,mt)|0)+(r>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(Z,V),r=(r=Math.imul(Z,Q))+Math.imul(B,V)|0,s=Math.imul(B,Q),n=n+Math.imul(N,J)|0,r=(r=r+Math.imul(N,X)|0)+Math.imul(P,J)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(O,$)|0,r=(r=r+Math.imul(O,tt)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,tt)|0,n=n+Math.imul(M,it)|0,r=(r=r+Math.imul(M,nt)|0)+Math.imul(L,it)|0,s=s+Math.imul(L,nt)|0,n=n+Math.imul(E,st)|0,r=(r=r+Math.imul(E,ot)|0)+Math.imul(k,st)|0,s=s+Math.imul(k,ot)|0,n=n+Math.imul(C,lt)|0,r=(r=r+Math.imul(C,ct)|0)+Math.imul(A,lt)|0,s=s+Math.imul(A,ct)|0,n=n+Math.imul(_,ut)|0,r=(r=r+Math.imul(_,dt)|0)+Math.imul(w,ut)|0,s=s+Math.imul(w,dt)|0;var kt=(c+(n=n+Math.imul(y,ft)|0)|0)+((8191&(r=(r=r+Math.imul(y,mt)|0)+Math.imul(b,ft)|0))<<13)|0;c=((s=s+Math.imul(b,mt)|0)+(r>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(Z,J),r=(r=Math.imul(Z,X))+Math.imul(B,J)|0,s=Math.imul(B,X),n=n+Math.imul(N,$)|0,r=(r=r+Math.imul(N,tt)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,tt)|0,n=n+Math.imul(O,it)|0,r=(r=r+Math.imul(O,nt)|0)+Math.imul(D,it)|0,s=s+Math.imul(D,nt)|0,n=n+Math.imul(M,st)|0,r=(r=r+Math.imul(M,ot)|0)+Math.imul(L,st)|0,s=s+Math.imul(L,ot)|0,n=n+Math.imul(E,lt)|0,r=(r=r+Math.imul(E,ct)|0)+Math.imul(k,lt)|0,s=s+Math.imul(k,ct)|0,n=n+Math.imul(C,ut)|0,r=(r=r+Math.imul(C,dt)|0)+Math.imul(A,ut)|0,s=s+Math.imul(A,dt)|0;var Tt=(c+(n=n+Math.imul(_,ft)|0)|0)+((8191&(r=(r=r+Math.imul(_,mt)|0)+Math.imul(w,ft)|0))<<13)|0;c=((s=s+Math.imul(w,mt)|0)+(r>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(Z,$),r=(r=Math.imul(Z,tt))+Math.imul(B,$)|0,s=Math.imul(B,tt),n=n+Math.imul(N,it)|0,r=(r=r+Math.imul(N,nt)|0)+Math.imul(P,it)|0,s=s+Math.imul(P,nt)|0,n=n+Math.imul(O,st)|0,r=(r=r+Math.imul(O,ot)|0)+Math.imul(D,st)|0,s=s+Math.imul(D,ot)|0,n=n+Math.imul(M,lt)|0,r=(r=r+Math.imul(M,ct)|0)+Math.imul(L,lt)|0,s=s+Math.imul(L,ct)|0,n=n+Math.imul(E,ut)|0,r=(r=r+Math.imul(E,dt)|0)+Math.imul(k,ut)|0,s=s+Math.imul(k,dt)|0;var Mt=(c+(n=n+Math.imul(C,ft)|0)|0)+((8191&(r=(r=r+Math.imul(C,mt)|0)+Math.imul(A,ft)|0))<<13)|0;c=((s=s+Math.imul(A,mt)|0)+(r>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(Z,it),r=(r=Math.imul(Z,nt))+Math.imul(B,it)|0,s=Math.imul(B,nt),n=n+Math.imul(N,st)|0,r=(r=r+Math.imul(N,ot)|0)+Math.imul(P,st)|0,s=s+Math.imul(P,ot)|0,n=n+Math.imul(O,lt)|0,r=(r=r+Math.imul(O,ct)|0)+Math.imul(D,lt)|0,s=s+Math.imul(D,ct)|0,n=n+Math.imul(M,ut)|0,r=(r=r+Math.imul(M,dt)|0)+Math.imul(L,ut)|0,s=s+Math.imul(L,dt)|0;var Lt=(c+(n=n+Math.imul(E,ft)|0)|0)+((8191&(r=(r=r+Math.imul(E,mt)|0)+Math.imul(k,ft)|0))<<13)|0;c=((s=s+Math.imul(k,mt)|0)+(r>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(Z,st),r=(r=Math.imul(Z,ot))+Math.imul(B,st)|0,s=Math.imul(B,ot),n=n+Math.imul(N,lt)|0,r=(r=r+Math.imul(N,ct)|0)+Math.imul(P,lt)|0,s=s+Math.imul(P,ct)|0,n=n+Math.imul(O,ut)|0,r=(r=r+Math.imul(O,dt)|0)+Math.imul(D,ut)|0,s=s+Math.imul(D,dt)|0;var It=(c+(n=n+Math.imul(M,ft)|0)|0)+((8191&(r=(r=r+Math.imul(M,mt)|0)+Math.imul(L,ft)|0))<<13)|0;c=((s=s+Math.imul(L,mt)|0)+(r>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(Z,lt),r=(r=Math.imul(Z,ct))+Math.imul(B,lt)|0,s=Math.imul(B,ct),n=n+Math.imul(N,ut)|0,r=(r=r+Math.imul(N,dt)|0)+Math.imul(P,ut)|0,s=s+Math.imul(P,dt)|0;var Ot=(c+(n=n+Math.imul(O,ft)|0)|0)+((8191&(r=(r=r+Math.imul(O,mt)|0)+Math.imul(D,ft)|0))<<13)|0;c=((s=s+Math.imul(D,mt)|0)+(r>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(Z,ut),r=(r=Math.imul(Z,dt))+Math.imul(B,ut)|0,s=Math.imul(B,dt);var Dt=(c+(n=n+Math.imul(N,ft)|0)|0)+((8191&(r=(r=r+Math.imul(N,mt)|0)+Math.imul(P,ft)|0))<<13)|0;c=((s=s+Math.imul(P,mt)|0)+(r>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Rt=(c+(n=Math.imul(Z,ft))|0)+((8191&(r=(r=Math.imul(Z,mt))+Math.imul(B,ft)|0))<<13)|0;return c=((s=Math.imul(B,mt))+(r>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,l[0]=gt,l[1]=yt,l[2]=bt,l[3]=vt,l[4]=_t,l[5]=wt,l[6]=xt,l[7]=Ct,l[8]=At,l[9]=St,l[10]=Et,l[11]=kt,l[12]=Tt,l[13]=Mt,l[14]=Lt,l[15]=It,l[16]=Ot,l[17]=Dt,l[18]=Rt,0!==c&&(l[19]=c,i.length++),i};function m(t,e,i){return(new g).mulp(t,e,i)}function g(t,e){this.x=t,this.y=e}Math.imul||(f=p),s.prototype.mulTo=function(t,e){var i=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):i<63?p(this,t,e):i<1024?function(t,e,i){i.negative=e.negative^t.negative,i.length=t.length+e.length;for(var n=0,r=0,s=0;s>>26)|0)>>>26,o&=67108863}i.words[s]=a,n=o,o=r}return 0!==n?i.words[s]=n:i.length--,i.strip()}(this,t,e):m(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),i=s.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,i,n,r,s){for(var o=0;o>>=1)r++;return 1<>>=13),s>>>=13;for(o=2*e;o>=26,e+=r/67108864|0,e+=s>>>26,this.words[i]=67108863&s}return 0!==e&&(this.words[i]=e,this.length++),this},s.prototype.muln=function(t){return this.clone().imuln(t)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),i=0;i>>n}return e}(t);if(0===e.length)return new s(1);for(var i=this,n=0;n=0);var e,i=t%26,r=(t-i)/26,s=67108863>>>26-i<<26-i;if(0!==i){var o=0;for(e=0;e>>26-i}o&&(this.words[e]=o,this.length++)}if(0!==r){for(e=this.length-1;e>=0;e--)this.words[e+r]=this.words[e];for(e=0;e=0),r=e?(e-e%26)/26:0;var s=t%26,o=Math.min((t-s)/26,this.length),a=67108863^67108863>>>s<o)for(this.length-=o,c=0;c=0&&(0!==h||c>=r);c--){var u=0|this.words[c];this.words[c]=h<<26-s|u>>>s,h=u&a}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(t,e,i){return n(0===this.negative),this.iushrn(t,e,i)},s.prototype.shln=function(t){return this.clone().ishln(t)},s.prototype.ushln=function(t){return this.clone().iushln(t)},s.prototype.shrn=function(t){return this.clone().ishrn(t)},s.prototype.ushrn=function(t){return this.clone().iushrn(t)},s.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;return!(this.length<=i||!(this.words[i]&1<=0);var e=t%26,i=(t-e)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!==e&&i++,this.length=Math.min(i,this.length),0!==e&&(this.words[this.length-1]&=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},s.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(a/67108864|0),this.words[r+i]=67108863&s}for(;r>26,this.words[r+i]=67108863&s;if(0===o)return this.strip();for(n(-1===o),o=0,r=0;r>26,this.words[r]=67108863&s;return this.negative=1,this.strip()},s.prototype._wordDiv=function(t,e){var i,n=this.clone(),r=t,o=0|r.words[r.length-1];0!=(i=26-this._countBits(o))&&(r=r.ushln(i),n.iushln(i),o=0|r.words[r.length-1]);var a,l=n.length-r.length;if("mod"!==e){(a=new s(null)).length=l+1,a.words=new Array(a.length);for(var c=0;c=0;u--){var d=67108864*(0|n.words[r.length+u])+(0|n.words[r.length+u-1]);for(d=Math.min(d/o|0,67108863),n._ishlnsubmul(r,d,u);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(r,1,u),n.isZero()||(n.negative^=1);a&&(a.words[u]=d)}return a&&a.strip(),n.strip(),"div"!==e&&0!==i&&n.iushrn(i),{div:a||null,mod:n}},s.prototype.divmod=function(t,e,i){return n(!t.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(r=a.div.neg()),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.iadd(t)),{div:r,mod:o}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(r=a.div.neg()),{div:r,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(o=a.mod.neg(),i&&0!==o.negative&&o.isub(t)),{div:a.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new s(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new s(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new s(this.modn(t.words[0]))}:this._wordDiv(t,e);var r,o,a},s.prototype.div=function(t){return this.divmod(t,"div",!1).div},s.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},s.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},s.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var i=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),r=t.andln(1),s=i.cmp(n);return s<0||1===r&&0===s?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},s.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,i=0,r=this.length-1;r>=0;r--)i=(e*i+(0|this.words[r]))%t;return i},s.prototype.idivn=function(t){n(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var r=(0|this.words[i])+67108864*e;this.words[i]=r/t|0,e=r%t}return this.strip()},s.prototype.divn=function(t){return this.clone().idivn(t)},s.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r=new s(1),o=new s(0),a=new s(0),l=new s(1),c=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++c;for(var h=i.clone(),u=e.clone();!e.isZero();){for(var d=0,p=1;0==(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(r.isOdd()||o.isOdd())&&(r.iadd(h),o.isub(u)),r.iushrn(1),o.iushrn(1);for(var f=0,m=1;0==(i.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(a.isOdd()||l.isOdd())&&(a.iadd(h),l.isub(u)),a.iushrn(1),l.iushrn(1);e.cmp(i)>=0?(e.isub(i),r.isub(a),o.isub(l)):(i.isub(e),a.isub(r),l.isub(o))}return{a:a,b:l,gcd:i.iushln(c)}},s.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var r,o=new s(1),a=new s(0),l=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var u=0,d=1;0==(i.words[0]&d)&&u<26;++u,d<<=1);if(u>0)for(i.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a)):(i.isub(e),a.isub(o))}return(r=0===e.cmpn(1)?o:a).cmpn(0)<0&&r.iadd(t),r},s.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),i=t.clone();e.negative=0,i.negative=0;for(var n=0;e.isEven()&&i.isEven();n++)e.iushrn(1),i.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;i.isEven();)i.iushrn(1);var r=e.cmp(i);if(r<0){var s=e;e=i,i=s}else if(0===r||0===i.cmpn(1))break;e.isub(i)}return i.iushln(n)},s.prototype.invm=function(t){return this.egcd(t).a.umod(t)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(t){return this.words[0]&t},s.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,i=(t-e)/26,r=1<>>26,this.words[o]=a&=67108863}return 0!==s&&(this.words[o]=s,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),n(t<=67108863,"Number is too big");var r=0|this.words[0];e=r===t?0:rt.length)return 1;if(this.length=0;i--){var n=0|this.words[i],r=0|t.words[i];if(n!==r){nr&&(e=1);break}}return e},s.prototype.gtn=function(t){return 1===this.cmpn(t)},s.prototype.gt=function(t){return 1===this.cmp(t)},s.prototype.gten=function(t){return this.cmpn(t)>=0},s.prototype.gte=function(t){return this.cmp(t)>=0},s.prototype.ltn=function(t){return-1===this.cmpn(t)},s.prototype.lt=function(t){return-1===this.cmp(t)},s.prototype.lten=function(t){return this.cmpn(t)<=0},s.prototype.lte=function(t){return this.cmp(t)<=0},s.prototype.eqn=function(t){return 0===this.cmpn(t)},s.prototype.eq=function(t){return 0===this.cmp(t)},s.red=function(t){return new C(t)},s.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(t){return this.red=t,this},s.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},s.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},s.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},s.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},s.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},s.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},s.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},s.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new s(e,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function C(t){if("string"==typeof t){var e=s._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){C.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new s(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,i=t;do{this.split(i,this.tmp),e=(i=(i=this.imulK(i)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?i.isub(this.p):void 0!==i.strip?i.strip():i._strip(),i},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(v,b),v.prototype.split=function(t,e){for(var i=4194303,n=Math.min(t.length,9),r=0;r>>22,s=o}t.words[r-10]=s>>>=22,t.length-=0===s&&t.length>10?10:9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,i=0;i>>=26,t.words[i]=r,e=n}return 0!==e&&(t.words[t.length++]=e),t},s._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new _;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new x}return y[t]=e,e},C.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},C.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},C.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},C.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},C.prototype.add=function(t,e){this._verify2(t,e);var i=t.add(e);return i.cmp(this.m)>=0&&i.isub(this.m),i._forceRed(this)},C.prototype.iadd=function(t,e){this._verify2(t,e);var i=t.iadd(e);return i.cmp(this.m)>=0&&i.isub(this.m),i},C.prototype.sub=function(t,e){this._verify2(t,e);var i=t.sub(e);return i.cmpn(0)<0&&i.iadd(this.m),i._forceRed(this)},C.prototype.isub=function(t,e){this._verify2(t,e);var i=t.isub(e);return i.cmpn(0)<0&&i.iadd(this.m),i},C.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},C.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},C.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},C.prototype.isqr=function(t){return this.imul(t,t.clone())},C.prototype.sqr=function(t){return this.mul(t,t)},C.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var i=this.m.add(new s(1)).iushrn(2);return this.pow(t,i)}for(var r=this.m.subn(1),o=0;!r.isZero()&&0===r.andln(1);)o++,r.iushrn(1);n(!r.isZero());var a=new s(1).toRed(this),l=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new s(2*h*h).toRed(this);0!==this.pow(h,c).cmp(l);)h.redIAdd(l);for(var u=this.pow(h,r),d=this.pow(t,r.addn(1).iushrn(1)),p=this.pow(t,r),f=o;0!==p.cmp(a);){for(var m=p,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],h=l-1;h>=0;h--){var u=c>>h&1;r!==i[0]&&(r=this.sqr(r)),0!==u||0!==o?(o<<=1,o|=u,(4==++a||0===n&&0===h)&&(r=this.mul(r,i[o]),a=0,o=0)):a=0}l=26}return r},C.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},C.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},s.mont=function(t){return new A(t)},r(A,C),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var i=t.imul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),s=r;return r.cmp(this.m)>=0?s=r.isub(this.m):r.cmpn(0)<0&&(s=r.iadd(this.m)),s._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new s(0)._forceRed(this);var i=t.mul(e),n=i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=i.isub(n).iushrn(this.shift),o=r;return r.cmp(this.m)>=0?o=r.isub(this.m):r.cmpn(0)<0&&(o=r.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=i.nmd(t),this)},864:(t,e,i)=>{var n=i(2291),r=i(6859),s=i(5669),o=i(8466),a=i(4467),l=i(4500),c=i(9597),h=i(545).Buffer;t.exports=function(t,e,i){var u;u=t.padding?t.padding:i?1:4;var d,p=n(t),f=p.modulus.byteLength();if(e.length>f||new o(e).cmp(p.modulus)>=0)throw new Error("decryption error");d=i?c(new o(e),p):a(e,p);var m=h.alloc(f-d.length);if(d=h.concat([m,d],f),4===u)return function(t,e){var i=t.modulus.byteLength(),n=l("sha1").update(h.alloc(0)).digest(),o=n.length;if(0!==e[0])throw new Error("decryption error");var a=e.slice(1,o+1),c=e.slice(o+1),u=s(a,r(c,o)),d=s(c,r(u,i-o-1));if(function(t,e){t=h.from(t),e=h.from(e);var i=0,n=t.length;t.length!==e.length&&(i++,n=Math.min(t.length,e.length));for(var r=-1;++r=e.length){s++;break}var o=e.slice(2,r-1);if(("0002"!==n.toString("hex")&&!i||"0001"!==n.toString("hex")&&i)&&s++,o.length<8&&s++,s)throw new Error("decryption error");return e.slice(r)}(0,d,i);if(3===u)return d;throw new Error("unknown padding")}},3714:(t,e,i)=>{var n=i(2291),r=i(6716),s=i(4500),o=i(6859),a=i(5669),l=i(8466),c=i(9597),h=i(4467),u=i(545).Buffer;t.exports=function(t,e,i){var d;d=t.padding?t.padding:i?1:4;var p,f=n(t);if(4===d)p=function(t,e){var i=t.modulus.byteLength(),n=e.length,c=s("sha1").update(u.alloc(0)).digest(),h=c.length,d=2*h;if(n>i-d-2)throw new Error("message too long");var p=u.alloc(i-n-d-2),f=i-h-1,m=r(h),g=a(u.concat([c,p,u.alloc(1,1),e],f),o(m,f)),y=a(m,o(g,h));return new l(u.concat([u.alloc(1),y,g],i))}(f,e);else if(1===d)p=function(t,e,i){var n,s=e.length,o=t.modulus.byteLength();if(s>o-11)throw new Error("message too long");return n=i?u.alloc(o-s-3,255):function(t){for(var e,i=u.allocUnsafe(t),n=0,s=r(2*t),o=0;n=0)throw new Error("data too long for modulus")}return i?h(p,f):c(p,f)}},9597:(t,e,i)=>{var n=i(8466),r=i(545).Buffer;t.exports=function(t,e){return r.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},5669:t=>{t.exports=function(t,e){for(var i=t.length,n=-1;++n{var n=i(422),r=i(348),s=i(2253),o=i(3657);function a(t,e,i,s,o){var a=[].slice.call(arguments,1),l=a.length,c="function"==typeof a[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=s=void 0):2!==l||e.getContext||(s=i,i=e,e=void 0),new Promise(function(n,o){try{var a=r.create(i,s);n(t(a,e,s))}catch(l){o(l)}})}if(l<2)throw new Error("Too few arguments provided");2===l?(o=i,i=e,e=s=void 0):3===l&&(e.getContext&&void 0===o?(o=s,s=void 0):(o=s,s=i,i=e,e=void 0));try{var h=r.create(i,s);o(null,t(h,e,s))}catch(u){o(u)}}e.rT=a.bind(null,s.render),e.hz=a.bind(null,s.renderToDataURL),e.toString=a.bind(null,function(t,e,i){return o.render(t,i)})},422:t=>{t.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},6831:(t,e,i)=>{var n=i(1893).getSymbolSize;e.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),s=[i-7],o=1;o{var n=i(4358),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function s(t){this.mode=n.ALPHANUMERIC,this.data=t}s.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},t.exports=s},1401:t=>{function e(){this.buffer=[],this.length=0}e.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},t.exports=e},9834:(t,e,i)=>{var n=i(2060);function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},t.exports=r},3964:(t,e,i)=>{var n=i(2060),r=i(4358);function s(t){this.mode=r.BYTE,this.data=new n(t)}s.getBitsLength=function(t){return 8*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){for(var e=0,i=this.data.length;e{var n=i(3076),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],s=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},e.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return s[4*(t-1)+0];case n.M:return s[4*(t-1)+1];case n.Q:return s[4*(t-1)+2];case n.H:return s[4*(t-1)+3];default:return}}},3076:(t,e)=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},e.from=function(t,i){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(n){return i}}},8902:(t,e,i)=>{var n=i(1893).getSymbolSize;e.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},2256:(t,e,i)=>{var n=i(1893),r=n.getBCHDigit(1335);e.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,s=i<<10;n.getBCHDigit(s)-r>=0;)s^=1335<{var n,r,s=i(2060);s.alloc?(n=s.alloc(512),r=s.alloc(256)):(n=new s(512),r=new s(256)),function(){for(var t=1,e=0;e<255;e++)n[e]=t,r[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)n[e]=n[e-255]}(),e.log=function(t){if(t<1)throw new Error("log("+t+")");return r[t]},e.exp=function(t){return n[t]},e.mul=function(t,e){return 0===t||0===e?0:n[r[t]+r[e]]}},9889:(t,e,i)=>{var n=i(4358),r=i(1893);function s(t){this.mode=n.KANJI,this.data=t}s.getBitsLength=function(t){return 13*t},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){var e;for(e=0;e=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}t.put(i=192*(i>>>8&255)+(255&i),13)}},t.exports=s},4740:(t,e)=>{function i(t,i,n){switch(t){case e.Patterns.PATTERN000:return(i+n)%2==0;case e.Patterns.PATTERN001:return i%2==0;case e.Patterns.PATTERN010:return n%3==0;case e.Patterns.PATTERN011:return(i+n)%3==0;case e.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(n/3))%2==0;case e.Patterns.PATTERN101:return i*n%2+i*n%3==0;case e.Patterns.PATTERN110:return(i*n%2+i*n%3)%2==0;case e.Patterns.PATTERN111:return(i*n%3+(i+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},e.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(t){for(var e=t.size,i=0,n=0,r=0,s=null,o=null,a=0;a=5&&(i+=n-5+3),s=c,n=1),(c=t.get(l,a))===o?r++:(r>=5&&(i+=r-5+3),o=c,r=1)}n>=5&&(i+=n-5+3),r>=5&&(i+=r-5+3)}return i},e.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,s),o>=10&&(1488===r||93===r)&&i++}return 40*i},e.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n{var n=i(3893),r=i(9947);e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},e.getBestModeForData=function(t){return r.testNumeric(t)?e.NUMERIC:r.testAlphanumeric(t)?e.ALPHANUMERIC:r.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},e.isValid=function(t){return t&&t.bit&&t.ccBits},e.from=function(t,i){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(n){return i}}},9246:(t,e,i)=>{var n=i(4358);function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},t.exports=r},507:(t,e,i)=>{var n=i(2060),r=i(5076);e.mul=function(t,e){var i=new n(t.length+e.length-1);i.fill(0);for(var s=0;s=0;){for(var s=i[0],o=0;o{var n=i(2060),r=i(1893),s=i(3076),o=i(1401),a=i(9834),l=i(6831),c=i(8902),h=i(4740),u=i(3347),d=i(278),p=i(9471),f=i(2256),m=i(4358),g=i(388),y=i(6265);function b(t,e,i){var n,r,s=t.size,o=f.getEncodedBits(e,i);for(n=0;n<15;n++)t.set(n<6?n:n<8?n+1:s-15+n,8,r=1==(o>>n&1),!0),t.set(8,n<8?s-n-1:n<9?15-n-1+1:15-n-1,r,!0);t.set(s-8,8,1,!0)}e.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,f,v=s.M;return void 0!==e&&(v=s.from(e.errorCorrectionLevel,s.M),i=p.from(e.version),f=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),function(t,e,i,s){var f;if(y(t))f=g.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var v=e;if(!v){var _=g.rawSplit(t);v=p.getBestVersionForData(_,i)}f=g.fromString(t,v||40)}var w=p.getBestVersionForData(f,i);if(!w)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e=0&&a<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===a||6===a)||a>=2&&a<=4&&l>=2&&l<=4,!0)}(A,e),function(t){for(var e=t.size,i=8;i=7&&function(t,e){for(var i,n,r,s=t.size,o=p.getEncodedBits(e),a=0;a<18;a++)i=Math.floor(a/3),t.set(i,n=a%3+s-8-3,r=1==(o>>a&1),!0),t.set(n,i,r,!0)}(A,e),function(t,e){for(var i=t.size,n=-1,r=i-1,s=7,o=0,a=i-1;a>0;a-=2)for(6===a&&a--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,a-l)){var c=!1;o>>s&1)),t.set(r,a-l,c),-1==--s&&(o++,s=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(A,x),isNaN(s)&&(s=h.getBestMask(A,b.bind(null,A,i))),h.applyMask(s,A),b(A,i,s),{modules:A,version:e,errorCorrectionLevel:i,maskPattern:s,segments:f}}(t,i,v,f)}},278:(t,e,i)=>{var n=i(2060),r=i(507);function s(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}s.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},s.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var i=n.concat([t,e],t.length+this.degree),s=r.mod(i,this.genPoly),o=this.degree-s.length;if(o>0){var a=new n(this.degree);return a.fill(0),s.copy(a,o),a}return s},t.exports=s},9947:(t,e)=>{var i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",n="(?:(?![A-Z0-9 $%*+\\-./:]|"+(i=i.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";e.KANJI=new RegExp(i,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(n,"g"),e.NUMERIC=new RegExp("[0-9]+","g"),e.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+i+"$"),s=new RegExp("^[0-9]+$"),o=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(t){return r.test(t)},e.testNumeric=function(t){return s.test(t)},e.testAlphanumeric=function(t){return o.test(t)}},388:(t,e,i)=>{var n=i(4358),r=i(9246),s=i(9946),o=i(3964),a=i(9889),l=i(9947),c=i(1893),h=i(45);function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function p(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),s=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(s,e,i).sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function f(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return s.getBitsLength(t);case n.KANJI:return a.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function m(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[]))},e.rawSplit=function(t){return e.fromArray(p(t,c.isKanjiModeEnabled()))}},1893:(t,e)=>{var i,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},e.getSymbolTotalCodewords=function(t){return n[t]},e.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},e.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');i=t},e.isKanjiModeEnabled=function(){return void 0!==i},e.toSJIS=function(t){return i(t)}},3893:(t,e)=>{e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},9471:(t,e,i)=>{var n=i(1893),r=i(3347),s=i(3076),o=i(4358),a=i(3893),l=i(6265),c=n.getBCHDigit(7973);function h(t,e){return o.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach(function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()}),i}e.from=function(t,e){return a.isValid(t)?parseInt(t,10):e},e.getCapacity=function(t,e,i){if(!a.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=o.BYTE);var s=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===o.MIXED)return s;var l=s-h(i,t);switch(i){case o.NUMERIC:return Math.floor(l/10*3);case o.ALPHANUMERIC:return Math.floor(l/11*2);case o.KANJI:return Math.floor(l/13);case o.BYTE:default:return Math.floor(l/8)}},e.getBestVersionForData=function(t,i){var n,r=s.from(i,s.M);if(l(t)){if(t.length>1)return function(t,i){for(var n=1;n<=40;n++)if(u(t,n)<=e.getCapacity(n,i,o.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,i,n){for(var r=1;r<=40;r++)if(i<=e.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},e.getEncodedBits=function(t){if(!a.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<{var n=i(717);e.render=function(t,e,i){var r=i,s=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(s=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var o=n.getImageWidth(t.modules.size,r),a=s.getContext("2d"),l=a.createImageData(o,o);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(a,s,o),a.putImageData(l,0,0),s},e.renderToDataURL=function(t,i,n){var r=n;return void 0!==r||i&&i.getContext||(r=i,i=void 0),r||(r={}),e.render(t,i,r).toDataURL(r.type||"image/png",(r.rendererOpts||{}).quality)}},3657:(t,e,i)=>{var n=i(717);function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function s(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}e.render=function(t,e,i){var o=n.getOptions(e),a=t.modules.size,l=t.modules.data,c=a+2*o.margin,h=o.color.light.a?"':"",u="0&&c>0&&t[l-1]||(n+=o?s("M",c+i,.5+h+i):s("m",r,0),r=0,o=!1),c+1',d=''+h+u+"\n";return"function"==typeof i&&i(null,d),d}},717:(t,e)=>{function i(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}e.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=t.width&&t.width>=21?t.width:void 0;return{width:e,scale:e?4:t.scale||4,margin:null==t.margin||t.margin<0?4:t.margin,color:{dark:i(t.color.dark||"#000000ff"),light:i(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},e.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},e.getImageWidth=function(t,i){var n=e.getScale(t,i);return Math.floor((t+2*i.margin)*n)},e.qrToImageData=function(t,i,n){for(var r=i.modules.size,s=i.modules.data,o=e.getScale(r,n),a=Math.floor((r+2*n.margin)*o),l=n.margin*o,c=[n.color.light,n.color.dark],h=0;h=l&&u>=l&&h{"use strict";var n=i(6265),r=(s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(e){return!1}}())?2147483647:1073741823;function s(t,e,i){return s.TYPED_ARRAY_SUPPORT||this instanceof s?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function a(t,e){var i;return s.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=s.prototype:(null===(i=t)&&(i=new s(e)),i.length=e),i}function l(t,e){var i=a(t,e<0?0:0|o(e));if(!s.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&s.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&s.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;s.push(i)}else if(i<2048){if((e-=2)<0)break;s.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;s.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return s}function u(t){return s.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),s.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},s.prototype.slice=function(t,e){var i,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),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;--r)t[r+e]=this[r+i];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r{"use strict";var n=65536,r=i(545).Buffer,s=global.crypto||global.msCrypto;t.exports=s&&s.getRandomValues?function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var i=r.allocUnsafe(t);if(t>0)if(t>n)for(var o=0;o{"use strict";function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var r=i(545),s=i(6716),o=r.Buffer,a=r.kMaxLength,l=global.crypto||global.msCrypto,c=Math.pow(2,32)-1;function h(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>c||t<0)throw new TypeError("offset must be a uint32");if(t>a||t>e)throw new RangeError("offset out of range")}function u(t,e,i){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>c||t<0)throw new TypeError("size must be a uint32");if(t+e>i||t>a)throw new RangeError("buffer too small")}function d(t,e,i,n){if(process.browser){var r=new Uint8Array(t.buffer,e,i);return l.getRandomValues(r),n?void process.nextTick(function(){n(null,t)}):t}if(!n)return s(i).copy(t,e),t;s(i,function(i,r){if(i)return n(i);r.copy(t,e),n(null,t)})}l&&l.getRandomValues||!process.browser?(e.randomFill=function(t,e,i,n){if(!(o.isBuffer(t)||t instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)n=e,e=0,i=t.length;else if("function"==typeof i)n=i,i=t.length-e;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return h(e,t.length),u(i,e,t.length),d(t,e,i,n)},e.randomFillSync=function(t,e,i){if(void 0===e&&(e=0),!(o.isBuffer(t)||t instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return h(e,t.length),void 0===i&&(i=t.length-e),u(i,e,t.length),d(t,e,i)}):(e.randomFill=n,e.randomFillSync=n)},1552:t=>{"use strict";var e={};function i(t,i,n){n||(n=Error);var r=function(t){var e,n;function r(e,n,r){return t.call(this,function(t,e,n){return"string"==typeof i?i:i(t,e,n)}(e,n,r))||this}return n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,r}(n);r.prototype.name=n.name,r.prototype.code=t,e[t]=r}function n(t,e){if(Array.isArray(t)){var i=t.length;return t=t.map(function(t){return String(t)}),i>2?"one of ".concat(e," ").concat(t.slice(0,i-1).join(", "),", or ")+t[i-1]:2===i?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}i("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),i("ERR_INVALID_ARG_TYPE",function(t,e,i){var r,s,o,a;if("string"==typeof e&&"not "===e.substr(0,"not ".length)?(r="must not be",e=e.replace(/^not /,"")):r="must be",function(t,e,i){return(void 0===i||i>t.length)&&(i=t.length),t.substring(i-e.length,i)===e}(t," argument"))s="The ".concat(t," ").concat(r," ").concat(n(e,"type"));else{var l=("number"!=typeof a&&(a=0),a+".".length>(o=t).length||-1===o.indexOf(".",a)?"argument":"property");s='The "'.concat(t,'" ').concat(l," ").concat(r," ").concat(n(e,"type"))}return s+". Received type ".concat(typeof i)},TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},9847:(t,e,i)=>{"use strict";var n=Object.keys||function(t){var e=[];for(var i in t)e.push(i);return e};t.exports=c;var r=i(617),s=i(4374);i(5457)(c,r);for(var o=n(s.prototype),a=0;a{"use strict";t.exports=r;var n=i(5774);function r(t){if(!(this instanceof r))return new r(t);n.call(this,t)}i(5457)(r,n),r.prototype._transform=function(t,e,i){i(null,t)}},617:(t,e,i)=>{"use strict";var n;t.exports=A,A.ReadableState=C,i(5068);var r,s=function(t,e){return t.listeners(e).length},o=i(6787),a=i(3833).Buffer,l=global.Uint8Array||function(){},c=i(4616);r=c&&c.debuglog?c.debuglog("stream"):function(){};var h,u,d,p=i(1062),f=i(2742),m=i(6187).getHighWaterMark,g=i(1552).q,y=g.ERR_INVALID_ARG_TYPE,b=g.ERR_STREAM_PUSH_AFTER_EOF,v=g.ERR_METHOD_NOT_IMPLEMENTED,_=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;i(5457)(A,o);var w=f.errorOrDestroy,x=["error","close","destroy","pause","resume"];function C(t,e,r){n=n||i(9847),"boolean"!=typeof r&&(r=e instanceof n),this.objectMode=!!(t=t||{}).objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=m(this,t,"readableHighWaterMark",r),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(h||(h=i(4706).s),this.decoder=new h(t.encoding),this.encoding=t.encoding)}function A(t){if(n=n||i(9847),!(this instanceof A))return new A(t);this._readableState=new C(t,this,this instanceof n),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function S(t,e,i,n,s){r("readableAddChunk",e);var o,c=t._readableState;if(null===e)c.reading=!1,function(t,e){if(r("onEofChunk"),!e.ended){if(e.decoder){var i=e.decoder.end();i&&i.length&&(e.buffer.push(i),e.length+=e.objectMode?1:i.length)}e.ended=!0,e.sync?M(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,L(t)))}}(t,c);else if(s||(o=function(t,e){var i,n;return a.isBuffer(n=e)||n instanceof l||"string"==typeof e||void 0===e||t.objectMode||(i=new y("chunk",["string","Buffer","Uint8Array"],e)),i}(c,e)),o)w(t,o);else if(c.objectMode||e&&e.length>0)if("string"==typeof e||c.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),n)c.endEmitted?w(t,new _):E(t,c,e,!0);else if(c.ended)w(t,new b);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!i?(e=c.decoder.write(e),c.objectMode||0!==e.length?E(t,c,e,!1):I(t,c)):E(t,c,e,!1)}else n||(c.reading=!1,I(t,c));return!c.ended&&(c.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=k?t=k:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function M(t){var e=t._readableState;r("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(r("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(L,t))}function L(t){var e=t._readableState;r("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,P(t)}function I(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function R(t){r("readable nexttick read 0"),t.read(0)}function N(t,e){r("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),P(t),e.flowing&&!e.reading&&t.read(0)}function P(t){var e=t._readableState;for(r("flow",e.flowing);e.flowing&&null!==t.read(););}function F(t,e){return 0===e.length?null:(e.objectMode?i=e.buffer.shift():!t||t>=e.length?(i=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):i=e.buffer.consume(t,e.decoder),i);var i}function Z(t){var e=t._readableState;r("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(B,e,t))}function B(t,e){if(r("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var i=e._writableState;(!i||i.autoDestroy&&i.finished)&&e.destroy()}}function U(t,e){for(var i=0,n=t.length;i=e.highWaterMark:e.length>0)||e.ended))return r("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Z(this):M(this),null;if(0===(t=T(t,e))&&e.ended)return 0===e.length&&Z(this),null;var n,s=e.needReadable;return r("need readable",s),(0===e.length||e.length-t0?F(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),i!==t&&e.ended&&Z(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new v("_read()"))},A.prototype.pipe=function(t,e){var i=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,r("pipe count=%d opts=%j",n.pipesCount,e);var o=e&&!1===e.end||t===process.stdout||t===process.stderr?f:a;function a(){r("onend"),t.end()}n.endEmitted?process.nextTick(o):i.once("end",o),t.on("unpipe",function e(s,o){r("onunpipe"),s===i&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,r("cleanup"),t.removeListener("close",d),t.removeListener("finish",p),t.removeListener("drain",l),t.removeListener("error",u),t.removeListener("unpipe",e),i.removeListener("end",a),i.removeListener("end",f),i.removeListener("data",h),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||l())});var l=function(t){return function(){var e=t._readableState;r("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,P(t))}}(i);t.on("drain",l);var c=!1;function h(e){r("ondata");var s=t.write(e);r("dest.write",s),!1===s&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(r("false write response, pause",n.awaitDrain),n.awaitDrain++),i.pause())}function u(e){r("onerror",e),f(),t.removeListener("error",u),0===s(t,"error")&&w(t,e)}function d(){t.removeListener("finish",p),f()}function p(){r("onfinish"),t.removeListener("close",d),f()}function f(){r("unpipe"),i.unpipe(t)}return i.on("data",h),function(t,e,i){if("function"==typeof t.prependListener)return t.prependListener(e,i);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(i):t._events.error=[i,t._events.error]:t.on(e,i)}(t,"error",u),t.once("close",d),t.once("finish",p),t.emit("pipe",i),n.flowing||(r("pipe resume"),i.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,i={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,i)),this;if(!t){var n=e.pipes,r=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,r("on readable",n.length,n.reading),n.length?M(this):n.reading||process.nextTick(R,this))),i},A.prototype.removeListener=function(t,e){var i=o.prototype.removeListener.call(this,t,e);return"readable"===t&&process.nextTick(D,this),i},A.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||process.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(r("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(N,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,i=this._readableState,n=!1;for(var s in t.on("end",function(){if(r("wrapped end"),i.decoder&&!i.ended){var t=i.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(s){r("wrapped data"),i.decoder&&(s=i.decoder.write(s)),i.objectMode&&null==s||(i.objectMode||s&&s.length)&&(e.push(s)||(n=!0,t.pause()))}),t)void 0===this[s]&&"function"==typeof t[s]&&(this[s]=function(e){return function(){return t[e].apply(t,arguments)}}(s));for(var o=0;o{"use strict";t.exports=h;var n=i(1552).q,r=n.ERR_METHOD_NOT_IMPLEMENTED,s=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0,l=i(9847);function c(t,e){var i=this._transformState;i.transforming=!1;var n=i.writecb;if(null===n)return this.emit("error",new s);i.writechunk=null,i.writecb=null,null!=e&&this.push(e),n(t);var r=this._readableState;r.reading=!1,(r.needReadable||r.length{"use strict";function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,i){var n=t.entry;for(t.entry=null;n;){var r=n.callback;e.pendingcb--,r(void 0),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}var r;t.exports=A,A.WritableState=C;var s,o={deprecate:i(5435)},a=i(6787),l=i(3833).Buffer,c=global.Uint8Array||function(){},h=i(2742),u=i(6187).getHighWaterMark,d=i(1552).q,p=d.ERR_INVALID_ARG_TYPE,f=d.ERR_METHOD_NOT_IMPLEMENTED,m=d.ERR_MULTIPLE_CALLBACK,g=d.ERR_STREAM_CANNOT_PIPE,y=d.ERR_STREAM_DESTROYED,b=d.ERR_STREAM_NULL_VALUES,v=d.ERR_STREAM_WRITE_AFTER_END,_=d.ERR_UNKNOWN_ENCODING,w=h.errorOrDestroy;function x(){}function C(t,e,s){r=r||i(9847),"boolean"!=typeof s&&(s=e instanceof r),this.objectMode=!!(t=t||{}).objectMode,s&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=u(this,t,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=!(!1===t.decodeStrings),this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var i=t._writableState,n=i.sync,r=i.writecb;if("function"!=typeof r)throw new m;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(i),e)!function(t,e,i,n,r){--e.pendingcb,i?(process.nextTick(r,n),process.nextTick(L,t,e),t._writableState.errorEmitted=!0,w(t,n)):(r(n),t._writableState.errorEmitted=!0,w(t,n),L(t,e))}(t,i,n,e,r);else{var s=T(i)||t.destroyed;s||i.corked||i.bufferProcessing||!i.bufferedRequest||k(t,i),n?process.nextTick(E,t,i,s,r):E(t,i,s,r)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function A(t){var e=this instanceof(r=r||i(9847));if(!e&&!s.call(A,this))return new A(t);this._writableState=new C(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function S(t,e,i,n,r,s,o){e.writelen=n,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new y("write")):i?t._writev(r,e.onwrite):t._write(r,s,e.onwrite),e.sync=!1}function E(t,e,i,n){i||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),L(t,e)}function k(t,e){e.bufferProcessing=!0;var i=e.bufferedRequest;if(t._writev&&i&&i.next){var r=new Array(e.bufferedRequestCount),s=e.corkedRequestsFree;s.entry=i;for(var o=0,a=!0;i;)r[o]=i,i.isBuf||(a=!1),i=i.next,o+=1;r.allBuffers=a,S(t,e,!0,e.length,r,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new n(e),e.bufferedRequestCount=0}else{for(;i;){var l=i.chunk;if(S(t,e,!1,e.objectMode?1:l.length,l,i.encoding,i.callback),i=i.next,e.bufferedRequestCount--,e.writing)break}null===i&&(e.lastBufferedRequest=null)}e.bufferedRequest=i,e.bufferProcessing=!1}function T(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function M(t,e){t._final(function(i){e.pendingcb--,i&&w(t,i),e.prefinished=!0,t.emit("prefinish"),L(t,e)})}function L(t,e){var i=T(e);if(i&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,process.nextTick(M,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return i}i(5457)(A,a),C.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(C.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(A,Symbol.hasInstance,{value:function(t){return!!s.call(this,t)||this===A&&t&&t._writableState instanceof C}})):s=function(t){return t instanceof this},A.prototype.pipe=function(){w(this,new g)},A.prototype.write=function(t,e,i){var n,r=this._writableState,s=!1,o=!r.objectMode&&(l.isBuffer(n=t)||n instanceof c);return o&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),"function"==typeof e&&(i=e,e=null),o?e="buffer":e||(e=r.defaultEncoding),"function"!=typeof i&&(i=x),r.ending?function(t,e){var i=new v;w(t,i),process.nextTick(e,i)}(this,i):(o||function(t,e,i,n){var r;return null===i?r=new b:"string"==typeof i||e.objectMode||(r=new p("chunk",["string","Buffer"],i)),!r||(w(t,r),process.nextTick(n,r),!1)}(this,r,t,i))&&(r.pendingcb++,s=function(t,e,i,n,r,s){if(!i){var o=function(t,e,i){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=l.from(e,i)),e}(e,n,r);n!==o&&(i=!0,r="buffer",n=o)}var a=e.objectMode?1:n.length;e.length+=a;var c=e.length-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,i){i(new f("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,i){var n=this._writableState;return"function"==typeof t?(i=t,t=null,e=null):"function"==typeof e&&(i=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,i){e.ending=!0,L(t,e),i&&(e.finished?process.nextTick(i):t.once("finish",i)),e.ended=!0,t.writable=!1}(this,n,i),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}},4536:(t,e,i)=>{"use strict";var n;function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var s=i(6484),o=Symbol("lastResolve"),a=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),h=Symbol("lastPromise"),u=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function f(t){var e=t[o];if(null!==e){var i=t[d].read();null!==i&&(t[h]=null,t[o]=null,t[a]=null,e(p(i,!1)))}}function m(t){process.nextTick(f,t)}var g=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((r(n={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise(function(e,i){process.nextTick(function(){t[l]?i(t[l]):e(p(void 0,!0))})});var i,n=this[h];if(n)i=new Promise(function(t,e){return function(i,n){t.then(function(){e[c]?i(p(void 0,!0)):e[u](i,n)},n)}}(n,this));else{var r=this[d].read();if(null!==r)return Promise.resolve(p(r,!1));i=new Promise(this[u])}return this[h]=i,i}},Symbol.asyncIterator,function(){return this}),r(n,"return",function(){var t=this;return new Promise(function(e,i){t[d].destroy(null,function(t){t?i(t):e(p(void 0,!0))})})}),n),g);t.exports=function(t){var e,i=Object.create(y,(r(e={},d,{value:t,writable:!0}),r(e,o,{value:null,writable:!0}),r(e,a,{value:null,writable:!0}),r(e,l,{value:null,writable:!0}),r(e,c,{value:t._readableState.endEmitted,writable:!0}),r(e,u,{value:function(t,e){var n=i[d].read();n?(i[h]=null,i[o]=null,i[a]=null,t(p(n,!1))):(i[o]=t,i[a]=e)},writable:!0}),e));return i[h]=null,s(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=i[a];return null!==e&&(i[h]=null,i[o]=null,i[a]=null,e(t)),void(i[l]=t)}var n=i[o];null!==n&&(i[h]=null,i[o]=null,i[a]=null,n(p(void 0,!0))),i[c]=!0}),t.on("readable",m.bind(null,i)),i}},1062:(t,e,i)=>{"use strict";function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,n)}return i}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var s=i(3833).Buffer,o=i(2361).inspect,a=o&&o.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e;return(e=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,i=""+e.data;e=e.next;)i+=t+e.data;return i}},{key:"concat",value:function(t){if(0===this.length)return s.alloc(0);for(var e=s.allocUnsafe(t>>>0),i=this.head,n=0;i;)s.prototype.copy.call(i.data,e,n),n+=i.data.length,i=i.next;return e}},{key:"consume",value:function(t,e){var i;return tr.length?r.length:t;if(n+=s===r.length?r:r.slice(0,t),0==(t-=s)){s===r.length?(++i,this.head=e.next?e.next:this.tail=null):(this.head=e,e.data=r.slice(s));break}++i}return this.length-=i,n}},{key:"_getBuffer",value:function(t){var e=s.allocUnsafe(t),i=this.head,n=1;for(i.data.copy(e),t-=i.data.length;i=i.next;){var r=i.data,o=t>r.length?r.length:t;if(r.copy(e,e.length-t,0,o),0==(t-=o)){o===r.length?(++n,this.head=i.next?i.next:this.tail=null):(this.head=i,i.data=r.slice(o));break}++n}return this.length-=n,e}},{key:a,value:function(t,e){return o(this,function(t){for(var e=1;e{"use strict";function e(t,e){n(t,e),i(t)}function i(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function n(t,e){t.emit("error",e)}t.exports={destroy:function(t,r){var s=this;return this._readableState&&this._readableState.destroyed||this._writableState&&this._writableState.destroyed?(r?r(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(n,this,t)):process.nextTick(n,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!r&&t?s._writableState?s._writableState.errorEmitted?process.nextTick(i,s):(s._writableState.errorEmitted=!0,process.nextTick(e,s,t)):process.nextTick(e,s,t):r?(process.nextTick(i,s),r(t)):process.nextTick(i,s)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var i=t._readableState,n=t._writableState;i&&i.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},6484:(t,e,i)=>{"use strict";var n=i(1552).q.ERR_STREAM_PREMATURE_CLOSE;function r(){}t.exports=function t(e,i,s){if("function"==typeof i)return t(e,null,i);i||(i={}),s=function(t){var e=!1;return function(){if(!e){e=!0;for(var i=arguments.length,n=new Array(i),r=0;r{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},5802:(t,e,i)=>{"use strict";var n,r=i(1552).q,s=r.ERR_MISSING_ARGS,o=r.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function l(t,e,r,s){s=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(s);var a=!1;t.on("close",function(){a=!0}),void 0===n&&(n=i(6484)),n(t,{readable:e,writable:r},function(t){if(t)return s(t);a=!0,s()});var l=!1;return function(e){if(!a&&!l)return l=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void s(e||new o("pipe"))}}function c(t){t()}function h(t,e){return t.pipe(e)}function u(t){return t.length?"function"!=typeof t[t.length-1]?a:t.pop():a}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i0,function(t){n||(n=t),t&&o.forEach(c),s||(o.forEach(c),r(n))})});return e.reduce(h)}},6187:(t,e,i)=>{"use strict";var n=i(1552).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,i,r){var s=function(t,e,i){return null!=t.highWaterMark?t.highWaterMark:e?t[i]:null}(e,r,i);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new n(r?i:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},6787:(t,e,i)=>{t.exports=i(5068).EventEmitter},7612:(t,e,i)=>{(e=t.exports=i(617)).Stream=e,e.Readable=e,e.Writable=i(4374),e.Duplex=i(9847),e.Transform=i(5774),e.PassThrough=i(9591),e.finished=i(6484),e.pipeline=i(5802)},3827:(t,e,i)=>{"use strict";var n=i(3833).Buffer,r=i(5457),s=i(7338),o=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],l=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],u=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function p(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function f(t,e){return t<>>32-e}function m(t,e,i,n,r,s,o,a){return f(t+(e^i^n)+s+o|0,a)+r|0}function g(t,e,i,n,r,s,o,a){return f(t+(e&i|~e&n)+s+o|0,a)+r|0}function y(t,e,i,n,r,s,o,a){return f(t+((e|~i)^n)+s+o|0,a)+r|0}function b(t,e,i,n,r,s,o,a){return f(t+(e&n|i&~n)+s+o|0,a)+r|0}function v(t,e,i,n,r,s,o,a){return f(t+(e^(i|~n))+s+o|0,a)+r|0}r(p,s),p.prototype._update=function(){for(var t=o,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var i=0|this._a,n=0|this._b,r=0|this._c,s=0|this._d,p=0|this._e,_=0|this._a,w=0|this._b,x=0|this._c,C=0|this._d,A=0|this._e,S=0;S<80;S+=1){var E,k;S<16?(E=m(i,n,r,s,p,t[a[S]],u[0],c[S]),k=v(_,w,x,C,A,t[l[S]],d[0],h[S])):S<32?(E=g(i,n,r,s,p,t[a[S]],u[1],c[S]),k=b(_,w,x,C,A,t[l[S]],d[1],h[S])):S<48?(E=y(i,n,r,s,p,t[a[S]],u[2],c[S]),k=y(_,w,x,C,A,t[l[S]],d[2],h[S])):S<64?(E=b(i,n,r,s,p,t[a[S]],u[3],c[S]),k=g(_,w,x,C,A,t[l[S]],d[3],h[S])):(E=v(i,n,r,s,p,t[a[S]],u[4],c[S]),k=m(_,w,x,C,A,t[l[S]],d[4],h[S])),i=p,p=s,s=f(r,10),r=n,n=E,_=A,A=C,C=f(x,10),x=w,w=k}var T=this._b+r+C|0;this._b=this._c+s+A|0,this._c=this._d+p+_|0,this._d=this._e+i+w|0,this._e=this._a+n+x|0,this._a=T},p.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=p},7425:(t,e,i)=>{"use strict";i.d(e,{X:()=>r});var n=i(9162),r=function(t){function e(e){var i=t.call(this)||this;return i._value=e,i}return(0,n.ZT)(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var i=t.prototype._subscribe.call(this,e);return!i.closed&&e.next(this._value),i},e.prototype.getValue=function(){var t=this,e=t._value;if(t.hasError)throw t.thrownError;return this._throwIfClosed(),e},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(i(9666).x)},2391:(t,e,i)=>{"use strict";i.d(e,{y:()=>h});var n=i(9643),r=i(6042),s=i(3004),o=i(1879);function a(t){return 0===t.length?o.y:1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}}var l=i(7296),c=i(7849),h=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var i=new t;return i.source=this,i.operator=e,i},t.prototype.subscribe=function(t,e,i){var s,o=(s=t)&&s instanceof n.Lv||function(t){return t&&(0,c.m)(t.next)&&(0,c.m)(t.error)&&(0,c.m)(t.complete)}(s)&&(0,r.Nn)(s)?t:new n.Hp(t,e,i);if(l.v.useDeprecatedSynchronousErrorHandling)this._deprecatedSyncErrorSubscribe(o);else{var a=this.operator,h=this.source;o.add(a?a.call(o,h):h?this._subscribe(o):this._trySubscribe(o))}return o},t.prototype._deprecatedSyncErrorSubscribe=function(t){var e=t;e._syncErrorHack_isSubscribing=!0;var i=this.operator;if(i)t.add(i.call(t,this.source));else try{t.add(this._subscribe(t))}catch(r){e.__syncError=r}for(var n=e;n;){if("__syncError"in n)try{throw n.__syncError}finally{t.unsubscribe()}n=n.destination}e._syncErrorHack_isSubscribing=!1},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var i=this;return new(e=u(e))(function(e,n){var r;r=i.subscribe(function(e){try{t(e)}catch(i){n(i),null==r||r.unsubscribe()}},n,e)})},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[s.L]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e{"use strict";i.d(e,{t:()=>o});var n=i(9162),r=i(9666),s=i(5170),o=function(t){function e(e,i,n){void 0===e&&(e=1/0),void 0===i&&(i=1/0),void 0===n&&(n=s.l);var r=t.call(this)||this;return r._bufferSize=e,r._windowTime=i,r._timestampProvider=n,r._buffer=[],r._infiniteTimeWindow=!0,r._infiniteTimeWindow=i===1/0,r._bufferSize=Math.max(1,e),r._windowTime=Math.max(1,i),r}return(0,n.ZT)(e,t),e.prototype.next=function(e){var i=this,n=i._buffer,r=i._infiniteTimeWindow,s=i._timestampProvider,o=i._windowTime;i.isStopped||(n.push(e),!r&&n.push(s.now()+o)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),i=this._infiniteTimeWindow,n=this._buffer.slice(),r=0;r{"use strict";i.d(e,{x:()=>l});var n=i(9162),r=i(2391),s=i(6042),o=(0,i(9951).d)(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),a=i(8764),l=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return(0,n.ZT)(e,t),e.prototype.lift=function(t){var e=new c(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new o},e.prototype.next=function(t){var e,i;if(this._throwIfClosed(),!this.isStopped){var r=this.observers.slice();try{for(var s=(0,n.XA)(r),o=s.next();!o.done;o=s.next())o.value.next(t)}catch(a){e={error:a}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(e)throw e.error}}}},e.prototype.error=function(t){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;for(var e=this.observers;e.length;)e.shift().error(t)}},e.prototype.complete=function(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;for(var t=this.observers;t.length;)t.shift().complete()}},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,i=e.observers;return e.hasError||e.isStopped?s.Lc:(i.push(t),new s.w0(function(){return(0,a.P)(i,t)}))},e.prototype._checkFinalizedStatuses=function(t){var e=this,i=e.isStopped;e.hasError?t.error(e.thrownError):i&&t.complete()},e.prototype.asObservable=function(){var t=new r.y;return t.source=this,t},e.create=function(t,e){return new c(t,e)},e}(r.y),c=function(t){function e(e,i){var n=t.call(this)||this;return n.destination=e,n.source=i,n}return(0,n.ZT)(e,t),e.prototype.next=function(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,t)},e.prototype.error=function(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==i?i:s.Lc},e}(l)},9643:(t,e,i)=>{"use strict";i.d(e,{Hp:()=>p,Lv:()=>d});var n=i(9162),r=i(7849),s=i(6042),o=i(7296),a=i(2765),l=i(5397),c=h("C",void 0,void 0);function h(t,e,i){return{kind:t,value:e,error:i}}var u=i(4490),d=function(t){function e(e){var i=t.call(this)||this;return i.isStopped=!1,e?(i.destination=e,(0,s.Nn)(e)&&e.add(i)):i.destination=y,i}return(0,n.ZT)(e,t),e.create=function(t,e,i){return new p(t,e,i)},e.prototype.next=function(t){this.isStopped?g(function(t){return h("N",t,void 0)}(t),this):this._next(t)},e.prototype.error=function(t){this.isStopped?g(h("E",void 0,t),this):(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?g(c,this):(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(s.w0),p=function(t){function e(e,i,n){var s,a=t.call(this)||this;if((0,r.m)(e))s=e;else if(e){var c;s=e.next,i=e.error,n=e.complete,a&&o.v.useDeprecatedNextContext?(c=Object.create(e)).unsubscribe=function(){return a.unsubscribe()}:c=e,s=null==s?void 0:s.bind(c),i=null==i?void 0:i.bind(c),n=null==n?void 0:n.bind(c)}return a.destination={next:s?f(s,a):l.Z,error:f(null!=i?i:m,a),complete:n?f(n,a):l.Z},a}return(0,n.ZT)(e,t),e}(d);function f(t,e){return function(){for(var i=[],r=0;r{"use strict";i.d(e,{Lc:()=>l,w0:()=>a,Nn:()=>c});var n=i(9162),r=i(7849),s=(0,i(9951).d)(function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}),o=i(8764),a=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._teardowns=null}var e;return t.prototype.unsubscribe=function(){var t,e,i,o,a;if(!this.closed){this.closed=!0;var l=this._parentage;if(l)if(this._parentage=null,Array.isArray(l))try{for(var c=(0,n.XA)(l),u=c.next();!u.done;u=c.next())u.value.remove(this)}catch(y){t={error:y}}finally{try{u&&!u.done&&(e=c.return)&&e.call(c)}finally{if(t)throw t.error}}else l.remove(this);var d=this.initialTeardown;if((0,r.m)(d))try{d()}catch(b){a=b instanceof s?b.errors:[b]}var p=this._teardowns;if(p){this._teardowns=null;try{for(var f=(0,n.XA)(p),m=f.next();!m.done;m=f.next()){var g=m.value;try{h(g)}catch(v){a=null!=a?a:[],v instanceof s?a=(0,n.ev)((0,n.ev)([],(0,n.CR)(a)),(0,n.CR)(v.errors)):a.push(v)}}}catch(_){i={error:_}}finally{try{m&&!m.done&&(o=f.return)&&o.call(f)}finally{if(i)throw i.error}}}if(a)throw new s(a)}},t.prototype.add=function(e){var i;if(e&&e!==this)if(this.closed)h(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(i=this._teardowns)&&void 0!==i?i:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&(0,o.P)(e,t)},t.prototype.remove=function(e){var i=this._teardowns;i&&(0,o.P)(i,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),l=a.EMPTY;function c(t){return t instanceof a||t&&"closed"in t&&(0,r.m)(t.remove)&&(0,r.m)(t.add)&&(0,r.m)(t.unsubscribe)}function h(t){(0,r.m)(t)?t():t.unsubscribe()}},7296:(t,e,i)=>{"use strict";i.d(e,{v:()=>n});var n={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},5868:(t,e,i)=>{"use strict";i.d(e,{a:()=>u});var n=i(2391),r=i(2846),s=i(5630),o=i(1879),a=i(8432),l=i(7070),c=i(9211),h=i(4659);function u(){for(var t=[],e=0;e{"use strict";i.d(e,{z:()=>a});var n=i(5813);function r(){return(0,n.J)(1)}var s=i(5622),o=i(7070);function a(){for(var t=[],e=0;e{"use strict";i.d(e,{P:()=>s});var n=i(2391),r=i(5630);function s(t){return new n.y(function(e){(0,r.Xf)(t()).subscribe(e)})}},4951:(t,e,i)=>{"use strict";i.d(e,{E:()=>n});var n=new(i(2391).y)(function(t){return t.complete()})},6891:(t,e,i)=>{"use strict";i.d(e,{D:()=>h});var n=i(2391),r=i(2846),s=i(5630),o=i(7070),a=i(4659),l=i(8432),c=i(9211);function h(){for(var t=[],e=0;e{"use strict";i.d(e,{Dp:()=>w,OO:()=>C,Xf:()=>x});var n=i(9162),r=i(3345),s=i(7849);function o(t){return(0,s.m)(null==t?void 0:t.then)}var a=i(3004),l=i(2391),c=i(6042),h=i(8006),u="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator",d=i(7491);function p(t,e){if(!t)throw new Error("Iterable cannot be null");return new l.y(function(i){var n=new c.w0;return n.add(e.schedule(function(){var r=t[Symbol.asyncIterator]();n.add(e.schedule(function(){var t=this;r.next().then(function(e){e.done?i.complete():(i.next(e.value),t.schedule())})}))})),n})}function f(t){return(0,s.m)(t[a.L])}function m(t){return(0,s.m)(null==t?void 0:t[u])}function g(t){return Symbol.asyncIterator&&(0,s.m)(null==t?void 0:t[Symbol.asyncIterator])}function y(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function b(t){return(0,n.FC)(this,arguments,function(){var e,i,r;return(0,n.Jh)(this,function(s){switch(s.label){case 0:e=t.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,(0,n.qq)(e.read())];case 3:return i=s.sent(),r=i.value,i.done?[4,(0,n.qq)(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,(0,n.qq)(r)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function v(t){return(0,s.m)(null==t?void 0:t.getReader)}var _=i(2765);function w(t,e){return e?function(t,e){if(null!=t){if(f(t))return function(t,e){return new l.y(function(i){var n=new c.w0;return n.add(e.schedule(function(){var r=t[a.L]();n.add(r.subscribe({next:function(t){n.add(e.schedule(function(){return i.next(t)}))},error:function(t){n.add(e.schedule(function(){return i.error(t)}))},complete:function(){n.add(e.schedule(function(){return i.complete()}))}}))})),n})}(t,e);if((0,r.z)(t))return(0,h.r)(t,e);if(o(t))return function(t,e){return new l.y(function(i){return e.schedule(function(){return t.then(function(t){i.add(e.schedule(function(){i.next(t),i.add(e.schedule(function(){return i.complete()}))}))},function(t){i.add(e.schedule(function(){return i.error(t)}))})})})}(t,e);if(g(t))return p(t,e);if(m(t))return function(t,e){return new l.y(function(i){var n;return i.add(e.schedule(function(){n=t[u](),(0,d.A)(i,e,function(){var t=n.next(),e=t.value;t.done?i.complete():(i.next(e),this.schedule())})})),function(){return(0,s.m)(null==n?void 0:n.return)&&n.return()}})}(t,e);if(v(t))return function(t,e){return p(b(t),e)}(t,e)}throw y(t)}(t,e):x(t)}function x(t){if(t instanceof l.y)return t;if(null!=t){if(f(t))return c=t,new l.y(function(t){var e=c[a.L]();if((0,s.m)(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if((0,r.z)(t))return C(t);if(o(t))return i=t,new l.y(function(t){i.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,_.h)});if(g(t))return A(t);if(m(t))return e=t,new l.y(function(t){var i,r;try{for(var s=(0,n.XA)(e),o=s.next();!o.done;o=s.next())if(t.next(o.value),t.closed)return}catch(a){i={error:a}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}t.complete()});if(v(t))return A(b(t))}var e,i,c;throw y(t)}function C(t){return new l.y(function(e){for(var i=0;i{"use strict";i.d(e,{h:()=>s});var n=i(8006),r=i(5630);function s(t,e){return e?(0,n.r)(t,e):(0,r.OO)(t)}},5960:(t,e,i)=>{"use strict";i.d(e,{R:()=>p});var n=i(9162),r=i(2391),s=i(7228),o=i(3345),a=i(7849),l=i(8432),c=i(5622),h=["addListener","removeListener"],u=["addEventListener","removeEventListener"],d=["on","off"];function p(t,e,i,m){if((0,a.m)(i)&&(m=i,i=void 0),m)return p(t,e,i).pipe((0,l.Z)(m));var g=(0,n.CR)(function(t){return(0,a.m)(t.addEventListener)&&(0,a.m)(t.removeEventListener)}(t)?u.map(function(n){return function(r){return t[n](e,r,i)}}):function(t){return(0,a.m)(t.addListener)&&(0,a.m)(t.removeListener)}(t)?h.map(f(t,e)):function(t){return(0,a.m)(t.on)&&(0,a.m)(t.off)}(t)?d.map(f(t,e)):[],2),y=g[0],b=g[1];if(!y&&(0,o.z)(t))return(0,s.z)(function(t){return p(t,e,i)})((0,c.h)(t));if(!y)throw new TypeError("Invalid event target");return new r.y(function(t){var e=function(){for(var e=[],i=0;i{"use strict";i.d(e,{T:()=>l});var n=i(5813),r=i(5622),s=i(5630),o=i(4951),a=i(7070);function l(){for(var t=[],e=0;e{"use strict";i.d(e,{of:()=>o});var n=i(5622),r=i(8006),s=i(7070);function o(){for(var t=[],e=0;e{"use strict";i.d(e,{_:()=>s});var n=i(2391),r=i(7849);function s(t,e){var i=(0,r.m)(t)?t:function(){return t},s=function(t){return t.error(i())};return new n.y(e?function(t){return e.schedule(s,0,t)}:s)}},8431:(t,e,i)=>{"use strict";i.d(e,{H:()=>a});var n=i(2391),r=i(2948),s=i(1495),o=i(2841);function a(t,e,i){void 0===t&&(t=0),void 0===i&&(i=r.P);var a=-1;return null!=e&&((0,s.K)(e)?i=e:a=e),new n.y(function(e){var n=(0,o.q)(t)?+t-i.now():t;n<0&&(n=0);var r=0;return i.schedule(function(){e.closed||(e.next(r++),0<=a?this.schedule(void 0,a):e.complete())},n)})}},4659:(t,e,i)=>{"use strict";i.d(e,{Q:()=>r});var n=i(9162),r=function(t){function e(e,i,n,r,s){var o=t.call(this,e)||this;return o.onFinalize=s,o._next=i?function(t){try{i(t)}catch(n){e.error(n)}}:t.prototype._next,o._error=r?function(t){try{r(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,o._complete=n?function(){try{n()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,o}return(0,n.ZT)(e,t),e.prototype.unsubscribe=function(){var e,i=this.closed;t.prototype.unsubscribe.call(this),!i&&(null===(e=this.onFinalize)||void 0===e||e.call(this))},e}(i(9643).Lv)},9610:(t,e,i)=>{"use strict";i.d(e,{e:()=>l});var n=i(2948),r=i(3386),s=i(5630),o=i(4659),a=i(8431);function l(t,e){return void 0===e&&(e=n.P),i=function(){return(0,a.H)(t,e)},(0,r.e)(function(t,e){var n=!1,r=null,a=null,l=!1,c=function(){if(null==a||a.unsubscribe(),a=null,n){n=!1;var t=r;r=null,e.next(t)}l&&e.complete()},h=function(){a=null,l&&e.complete()};t.subscribe(new o.Q(e,function(t){n=!0,r=t,a||(0,s.Xf)(i()).subscribe(a=new o.Q(e,c,h))},function(){l=!0,(!n||!a||a.closed)&&e.complete()}))});var i}},1816:(t,e,i)=>{"use strict";i.d(e,{K:()=>o});var n=i(5630),r=i(4659),s=i(3386);function o(t){return(0,s.e)(function(e,i){var s,a=null,l=!1;a=e.subscribe(new r.Q(i,void 0,void 0,function(r){s=(0,n.Xf)(t(r,o(t)(e))),a?(a.unsubscribe(),a=null,s.subscribe(i)):l=!0})),l&&(a.unsubscribe(),a=null,s.subscribe(i))})}},8196:(t,e,i)=>{"use strict";i.d(e,{b:()=>s});var n=i(7228),r=i(7849);function s(t,e){return(0,r.m)(e)?(0,n.z)(t,e,1):(0,n.z)(t,1)}},5057:(t,e,i)=>{"use strict";i.d(e,{b:()=>o});var n=i(2948),r=i(3386),s=i(4659);function o(t,e){return void 0===e&&(e=n.z),(0,r.e)(function(i,n){var r=null,o=null,a=null,l=function(){if(r){r.unsubscribe(),r=null;var t=o;o=null,n.next(t)}};function c(){var i=a+t,n=e.now();n{"use strict";i.d(e,{d:()=>s});var n=i(3386),r=i(4659);function s(t){return(0,n.e)(function(e,i){var n=!1;e.subscribe(new r.Q(i,function(t){n=!0,i.next(t)},function(){n||i.next(t),i.complete()}))})}},6493:(t,e,i)=>{"use strict";i.d(e,{g:()=>u});var n=i(2948),r=i(5613),s=i(9056),o=i(3286),a=i(1096),l=i(7228);function c(t,e){return e?function(i){return(0,r.z)(e.pipe((0,s.q)(1),(0,o.l)()),i.pipe(c(t)))}:(0,l.z)(function(e,i){return t(e,i).pipe((0,s.q)(1),(0,a.h)(e))})}var h=i(8431);function u(t,e){void 0===e&&(e=n.z);var i=(0,h.H)(t,e);return c(function(){return i})}},6424:(t,e,i)=>{"use strict";i.d(e,{x:()=>o});var n=i(1879),r=i(3386),s=i(4659);function o(t,e){return void 0===e&&(e=n.y),t=null!=t?t:a,(0,r.e)(function(i,n){var r,o=!0;i.subscribe(new s.Q(n,function(i){var s=e(i);!o&&t(r,s)||(o=!1,r=s,n.next(i))}))})}function a(t,e){return t===e}},8868:(t,e,i)=>{"use strict";i.d(e,{h:()=>s});var n=i(3386),r=i(4659);function s(t,e){return(0,n.e)(function(i,n){var s=0;i.subscribe(new r.Q(n,function(i){return t.call(e,i,s++)&&n.next(i)}))})}},849:(t,e,i)=>{"use strict";i.d(e,{x:()=>r});var n=i(3386);function r(t){return(0,n.e)(function(e,i){try{e.subscribe(i)}finally{i.add(t)}})}},8606:(t,e,i)=>{"use strict";i.d(e,{P:()=>c});var n=i(7325),r=i(8868),s=i(9056),o=i(4370),a=i(5334),l=i(1879);function c(t,e){var i=arguments.length>=2;return function(c){return c.pipe(t?(0,r.h)(function(e,i){return t(e,i,c)}):l.y,(0,s.q)(1),i?(0,o.d)(e):(0,a.T)(function(){return new n.K}))}}},3286:(t,e,i)=>{"use strict";i.d(e,{l:()=>o});var n=i(3386),r=i(4659),s=i(5397);function o(){return(0,n.e)(function(t,e){t.subscribe(new r.Q(e,s.Z))})}},1681:(t,e,i)=>{"use strict";i.d(e,{U:()=>s});var n=i(3386),r=i(4659);function s(t,e){return(0,n.e)(function(i,n){var s=0;i.subscribe(new r.Q(n,function(i){n.next(t.call(e,i,s++))}))})}},1096:(t,e,i)=>{"use strict";i.d(e,{h:()=>r});var n=i(1681);function r(t){return(0,n.U)(function(){return t})}},5813:(t,e,i)=>{"use strict";i.d(e,{J:()=>s});var n=i(7228),r=i(1879);function s(t){return void 0===t&&(t=1/0),(0,n.z)(r.y,t)}},7228:(t,e,i)=>{"use strict";i.d(e,{z:()=>l});var n=i(1681),r=i(5630),s=i(3386),o=i(4659),a=i(7849);function l(t,e,i){return void 0===i&&(i=1/0),(0,a.m)(e)?l(function(i,s){return(0,n.U)(function(t,n){return e(i,t,s,n)})((0,r.Xf)(t(i,s)))},i):("number"==typeof e&&(i=e),(0,s.e)(function(e,n){return function(t,e,i,n,s,a,l,c){var h=[],u=0,d=0,p=!1,f=function(){!p||h.length||u||e.complete()},m=function(t){u++;var s=!1;(0,r.Xf)(i(t,d++)).subscribe(new o.Q(e,function(t){e.next(t)},function(){s=!0},void 0,function(){if(s)try{for(u--;h.length&&u{"use strict";i.d(e,{Q:()=>s});var n=i(3386),r=i(4659);function s(t,e){return void 0===e&&(e=0),(0,n.e)(function(i,n){i.subscribe(new r.Q(n,function(i){return n.add(t.schedule(function(){return n.next(i)},e))},function(){return n.add(t.schedule(function(){return n.complete()},e))},function(i){return n.add(t.schedule(function(){return n.error(i)},e))}))})}},8193:(t,e,i)=>{"use strict";i.d(e,{R:()=>o});var n=i(3386),r=i(4659);function s(t,e,i,n,s){return function(o,a){var l=i,c=e,h=0;o.subscribe(new r.Q(a,function(e){var i=h++;c=l?t(c,e,i):(l=!0,e),n&&a.next(c)},s&&function(){l&&a.next(c),a.complete()}))}}function o(t,e){return(0,n.e)(s(t,e,arguments.length>=2,!0))}},7839:(t,e,i)=>{"use strict";i.d(e,{B:()=>c});var n=i(9162),r=i(5630),s=i(9056),o=i(9666),a=i(9643),l=i(3386);function c(t){void 0===t&&(t={});var e=t.connector,i=void 0===e?function(){return new o.x}:e,n=t.resetOnError,s=void 0===n||n,c=t.resetOnComplete,u=void 0===c||c,d=t.resetOnRefCountZero,p=void 0===d||d;return function(t){var e=null,n=null,o=null,c=0,d=!1,f=!1,m=function(){null==n||n.unsubscribe(),n=null},g=function(){m(),e=o=null,d=f=!1},y=function(){var t=e;g(),null==t||t.unsubscribe()};return(0,l.e)(function(t,l){c++,f||d||m();var b=o=null!=o?o:i();l.add(function(){0!=--c||f||d||(n=h(y,p))}),b.subscribe(l),e||(e=new a.Hp({next:function(t){return b.next(t)},error:function(t){f=!0,m(),n=h(g,s,t),b.error(t)},complete:function(){d=!0,m(),n=h(g,u),b.complete()}}),(0,r.Dp)(t).subscribe(e))})(t)}}function h(t,e){for(var i=[],r=2;r{"use strict";i.d(e,{T:()=>r});var n=i(8868);function r(t){return(0,n.h)(function(e,i){return t<=i})}},1258:(t,e,i)=>{"use strict";i.d(e,{O:()=>o});var n=i(5613),r=i(7070),s=i(3386);function o(){for(var t=[],e=0;e{"use strict";i.d(e,{w:()=>o});var n=i(5630),r=i(3386),s=i(4659);function o(t,e){return(0,r.e)(function(i,r){var o=null,a=0,l=!1,c=function(){return l&&!o&&r.complete()};i.subscribe(new s.Q(r,function(i){null==o||o.unsubscribe();var l=0,h=a++;(0,n.Xf)(t(i,h)).subscribe(o=new s.Q(r,function(t){return r.next(e?e(i,t,h,l++):t)},function(){o=null,c()}))},function(){l=!0,c()}))})}},9056:(t,e,i)=>{"use strict";i.d(e,{q:()=>o});var n=i(4951),r=i(3386),s=i(4659);function o(t){return t<=0?function(){return n.E}:(0,r.e)(function(e,i){var n=0;e.subscribe(new s.Q(i,function(e){++n<=t&&(i.next(e),t<=n&&i.complete())}))})}},9568:(t,e,i)=>{"use strict";i.d(e,{R:()=>a});var n=i(3386),r=i(4659),s=i(5630),o=i(5397);function a(t){return(0,n.e)(function(e,i){(0,s.Xf)(t).subscribe(new r.Q(i,function(){return i.complete()},o.Z)),!i.closed&&e.subscribe(i)})}},343:(t,e,i)=>{"use strict";i.d(e,{b:()=>a});var n=i(7849),r=i(3386),s=i(4659),o=i(1879);function a(t,e,i){var a=(0,n.m)(t)||e||i?{next:t,error:e,complete:i}:t;return a?(0,r.e)(function(t,e){t.subscribe(new s.Q(e,function(t){var i;null===(i=a.next)||void 0===i||i.call(a,t),e.next(t)},function(){var t;null===(t=a.complete)||void 0===t||t.call(a),e.complete()},function(t){var i;null===(i=a.error)||void 0===i||i.call(a,t),e.error(t)}))}):o.y}},5334:(t,e,i)=>{"use strict";i.d(e,{T:()=>o});var n=i(7325),r=i(3386),s=i(4659);function o(t){return void 0===t&&(t=a),(0,r.e)(function(e,i){var n=!1;e.subscribe(new s.Q(i,function(t){n=!0,i.next(t)},function(){return n?i.complete():i.error(t())}))})}function a(){return new n.K}},7411:(t,e,i)=>{"use strict";i.d(e,{V:()=>u});var n=i(2948),r=i(2841),s=i(3386),o=i(5630),a=i(9951),l=i(7491),c=i(4659),h=(0,a.d)(function(t){return function(e){void 0===e&&(e=null),t(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=e}});function u(t,e){var i=(0,r.q)(t)?{first:t}:"number"==typeof t?{each:t}:t,a=i.first,h=i.each,u=i.with,p=void 0===u?d:u,f=i.scheduler,m=void 0===f?null!=e?e:n.z:f,g=i.meta,y=void 0===g?null:g;if(null==a&&null==h)throw new TypeError("No timeout provided.");return(0,s.e)(function(t,e){var i,n,r=null,s=0,u=function(t){n=(0,l.A)(e,m,function(){i.unsubscribe(),(0,o.Xf)(p({meta:y,lastValue:r,seen:s})).subscribe(e)},t)};i=t.subscribe(new c.Q(e,function(t){null==n||n.unsubscribe(),s++,e.next(r=t),h>0&&u(h)},void 0,void 0,function(){(null==n?void 0:n.closed)||null==n||n.unsubscribe(),r=null})),u(null!=a?"number"==typeof a?a:+a-m.now():h)})}function d(t){throw new h(t)}},5653:(t,e,i)=>{"use strict";i.d(e,{M:()=>h});var n=i(9162),r=i(3386),s=i(4659),o=i(5630),a=i(1879),l=i(5397),c=i(7070);function h(){for(var t=[],e=0;e{"use strict";i.d(e,{r:()=>r});var n=i(2391);function r(t,e){return new n.y(function(i){var n=0;return e.schedule(function(){n===t.length?i.complete():(i.next(t[n++]),i.closed||this.schedule())})})}},6551:(t,e,i)=>{"use strict";i.d(e,{o:()=>a});var n=i(9162),r=function(t){function e(e,i){return t.call(this)||this}return(0,n.ZT)(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(i(6042).w0),s={setInterval:function(){for(var t=[],e=0;e{"use strict";i.d(e,{v:()=>o});var n=i(9162),r=i(5170),s=function(){function t(e,i){void 0===i&&(i=t.now),this.schedulerActionCtor=e,this.now=i}return t.prototype.schedule=function(t,e,i){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(i,e)},t.now=r.l.now,t}(),o=function(t){function e(e,i){void 0===i&&(i=s.now);var n=t.call(this,e,i)||this;return n.actions=[],n._active=!1,n._scheduled=void 0,n}return(0,n.ZT)(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var i;this._active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}},e}(s)},7911:(t,e,i)=>{"use strict";i.d(e,{E:()=>p});var n,r=i(9162),s=i(6551),o=1,a={};function l(t){return t in a&&(delete a[t],!0)}var c=function(t){var e=o++;return a[e]=!0,n||(n=Promise.resolve()),n.then(function(){return l(e)&&t()}),e},h=function(t){l(t)},u={setImmediate:function(){for(var t=[],e=0;e0?t.prototype.requestAsyncId.call(this,e,i,n):(e.actions.push(this),e._scheduled||(e._scheduled=u.setImmediate(e.flush.bind(e,void 0))))},e.prototype.recycleAsyncId=function(e,i,n){if(void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,i,n);0===e.actions.length&&(u.clearImmediate(i),e._scheduled=void 0)},e}(s.o),p=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,r.ZT)(e,t),e.prototype.flush=function(t){this._active=!0,this._scheduled=void 0;var e,i=this.actions,n=-1;t=t||i.shift();var r=i.length;do{if(e=t.execute(t.state,t.delay))break}while(++n{"use strict";i.d(e,{z:()=>r,P:()=>s});var n=i(6551),r=new(i(8106).v)(n.o),s=r},5170:(t,e,i)=>{"use strict";i.d(e,{l:()=>n});var n={now:function(){return(n.delegate||Date).now()},delegate:void 0}},2873:(t,e,i)=>{"use strict";i.d(e,{N:()=>s});var n=i(9162),r=function(t){function e(e,i){var n=t.call(this,e,i)||this;return n.scheduler=e,n.work=i,n}return(0,n.ZT)(e,t),e.prototype.schedule=function(e,i){return void 0===i&&(i=0),i>0?t.prototype.schedule.call(this,e,i):(this.delay=i,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,i){return i>0||this.closed?t.prototype.execute.call(this,e,i):this._execute(e,i)},e.prototype.requestAsyncId=function(e,i,n){return void 0===n&&(n=0),null!=n&&n>0||null==n&&this.delay>0?t.prototype.requestAsyncId.call(this,e,i,n):e.flush(this)},e}(i(6551).o),s=new(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return(0,n.ZT)(e,t),e}(i(8106).v))(r)},4490:(t,e,i)=>{"use strict";i.d(e,{z:()=>r});var n=i(9162),r={setTimeout:function(){for(var t=[],e=0;e{"use strict";i.d(e,{L:()=>n});var n="function"==typeof Symbol&&Symbol.observable||"@@observable"},7325:(t,e,i)=>{"use strict";i.d(e,{K:()=>n});var n=(0,i(9951).d)(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}})},7070:(t,e,i)=>{"use strict";i.d(e,{jO:()=>o,yG:()=>a,_6:()=>l});var n=i(7849),r=i(1495);function s(t){return t[t.length-1]}function o(t){return(0,n.m)(s(t))?t.pop():void 0}function a(t){return(0,r.K)(s(t))?t.pop():void 0}function l(t,e){return"number"==typeof s(t)?t.pop():e}},2846:(t,e,i)=>{"use strict";i.d(e,{D:()=>a});var n=Array.isArray,r=Object.getPrototypeOf,s=Object.prototype,o=Object.keys;function a(t){if(1===t.length){var e=t[0];if(n(e))return{args:e,keys:null};if((a=e)&&"object"==typeof a&&r(a)===s){var i=o(e);return{args:i.map(function(t){return e[t]}),keys:i}}}var a;return{args:t,keys:null}}},8764:(t,e,i)=>{"use strict";function n(t,e){if(t){var i=t.indexOf(e);0<=i&&t.splice(i,1)}}i.d(e,{P:()=>n})},7491:(t,e,i)=>{"use strict";function n(t,e,i,n){void 0===n&&(n=0);var r=e.schedule(function(){try{i.call(this)}catch(e){t.error(e)}},n);return t.add(r),r}i.d(e,{A:()=>n})},9951:(t,e,i)=>{"use strict";function n(t){var e=t(function(t){Error.call(t),t.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}i.d(e,{d:()=>n})},9211:(t,e,i)=>{"use strict";function n(t,e){return t.reduce(function(t,i,n){return t[i]=e[n],t},{})}i.d(e,{n:()=>n})},1879:(t,e,i)=>{"use strict";function n(t){return t}i.d(e,{y:()=>n})},3345:(t,e,i)=>{"use strict";i.d(e,{z:()=>n});var n=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t}},2841:(t,e,i)=>{"use strict";function n(t){return t instanceof Date&&!isNaN(t)}i.d(e,{q:()=>n})},7849:(t,e,i)=>{"use strict";function n(t){return"function"==typeof t}i.d(e,{m:()=>n})},4776:(t,e,i)=>{"use strict";i.d(e,{b:()=>s});var n=i(2391),r=i(7849);function s(t){return!!t&&(t instanceof n.y||(0,r.m)(t.lift)&&(0,r.m)(t.subscribe))}},1495:(t,e,i)=>{"use strict";i.d(e,{K:()=>r});var n=i(7849);function r(t){return t&&(0,n.m)(t.schedule)}},3386:(t,e,i)=>{"use strict";i.d(e,{A:()=>r,e:()=>s});var n=i(7849);function r(t){return(0,n.m)(null==t?void 0:t.lift)}function s(t){return function(e){if(r(e))return e.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}},8432:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var n=i(9162),r=i(1681),s=Array.isArray;function o(t){return(0,r.U)(function(e){return function(t,e){return s(e)?t.apply(void 0,(0,n.ev)([],(0,n.CR)(e))):t(e)}(t,e)})}},5397:(t,e,i)=>{"use strict";function n(){}i.d(e,{Z:()=>n})},2765:(t,e,i)=>{"use strict";i.d(e,{h:()=>s});var n=i(7296),r=i(4490);function s(t){r.z.setTimeout(function(){var e=n.v.onUnhandledError;if(!e)throw t;e(t)})}},545:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},5968:(t,e,i)=>{"use strict";var n,r=i(3833),s=r.Buffer,o={};for(n in r)r.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(o[n]=r[n]);var a=o.Buffer={};for(n in s)s.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(a[n]=s[n]);if(o.Buffer.prototype=s.prototype,a.from&&a.from!==Uint8Array.from||(a.from=function(t,e,i){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return s(t,e,i)}),a.alloc||(a.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=s(t);return e&&0!==e.length?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n}),!o.kStringMaxLength)try{o.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(l){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),t.exports=o},3747:(t,e,i)=>{var n=i(545).Buffer;function r(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}r.prototype.update=function(t,e){"string"==typeof t&&(t=n.from(t,e=e||"utf8"));for(var i=this._block,r=this._blockSize,s=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var n=(4294967295&i)>>>0;this._block.writeUInt32BE((i-n)/4294967296,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var r=this._hash();return t?r.toString(t):r},r.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=r},8687:(t,e,i)=>{var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=i(4673),n.sha1=i(766),n.sha224=i(3263),n.sha256=i(9201),n.sha384=i(7566),n.sha512=i(9248)},4673:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<30|t>>>2}function h(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(l,r),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,u=0;u<16;++u)i[u]=t.readInt32BE(4*u);for(;u<80;++u)i[u]=i[u-3]^i[u-8]^i[u-14]^i[u-16];for(var d=0;d<80;++d){var p=~~(d/20),f=0|((e=n)<<5|e>>>27)+h(p,r,s,a)+l+i[d]+o[p];l=a,a=s,s=c(r),r=n,n=f}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=l},766:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t){return t<<5|t>>>27}function h(t){return t<<30|t>>>2}function u(t,e,i,n){return 0===t?e&i|~e&n:2===t?e&i|e&n|i&n:e^i^n}n(l,r),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,d=0;d<16;++d)i[d]=t.readInt32BE(4*d);for(;d<80;++d)i[d]=(e=i[d-3]^i[d-8]^i[d-14]^i[d-16])<<1|e>>>31;for(var p=0;p<80;++p){var f=~~(p/20),m=c(n)+u(f,r,s,a)+l+i[p]+o[f]|0;l=a,a=s,s=h(r),r=n,n=m}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var t=s.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=l},3263:(t,e,i)=>{var n=i(5457),r=i(9201),s=i(3747),o=i(545).Buffer,a=new Array(64);function l(){this.init(),this._w=a,s.call(this,64,56)}n(l,r),l.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},l.prototype._hash=function(){var t=o.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=l},9201:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function l(){this.init(),this._w=a,r.call(this,64,56)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function u(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function p(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(l,r),l.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},l.prototype._update=function(t){for(var e,i=this._w,n=0|this._a,r=0|this._b,s=0|this._c,a=0|this._d,l=0|this._e,f=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)i[y]=t.readInt32BE(4*y);for(;y<64;++y)i[y]=0|(((e=i[y-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+i[y-7]+p(i[y-15])+i[y-16];for(var b=0;b<64;++b){var v=g+d(l)+c(l,f,m)+o[b]+i[b]|0,_=u(n)+h(n,r,s)|0;g=m,m=f,f=l,l=a+v|0,a=s,s=r,r=n,n=v+_|0}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0,this._f=f+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},l.prototype._hash=function(){var t=s.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=l},7566:(t,e,i)=>{var n=i(5457),r=i(9248),s=i(3747),o=i(545).Buffer,a=new Array(160);function l(){this.init(),this._w=a,s.call(this,128,112)}n(l,r),l.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},l.prototype._hash=function(){var t=o.allocUnsafe(48);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},t.exports=l},9248:(t,e,i)=>{var n=i(5457),r=i(3747),s=i(545).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function l(){this.init(),this._w=a,r.call(this,128,112)}function c(t,e,i){return i^t&(e^i)}function h(t,e,i){return t&e|i&(t|e)}function u(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function f(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function m(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function g(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function y(t,e){return t>>>0>>0?1:0}n(l,r),l.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},l.prototype._update=function(t){for(var e=this._w,i=0|this._ah,n=0|this._bh,r=0|this._ch,s=0|this._dh,a=0|this._eh,l=0|this._fh,b=0|this._gh,v=0|this._hh,_=0|this._al,w=0|this._bl,x=0|this._cl,C=0|this._dl,A=0|this._el,S=0|this._fl,E=0|this._gl,k=0|this._hl,T=0;T<32;T+=2)e[T]=t.readInt32BE(4*T),e[T+1]=t.readInt32BE(4*T+4);for(;T<160;T+=2){var M=e[T-30],L=e[T-30+1],I=p(M,L),O=f(L,M),D=m(M=e[T-4],L=e[T-4+1]),R=g(L,M),N=e[T-32],P=e[T-32+1],F=O+e[T-14+1]|0,Z=I+e[T-14]+y(F,O)|0;Z=(Z=Z+D+y(F=F+R|0,R)|0)+N+y(F=F+P|0,P)|0,e[T]=Z,e[T+1]=F}for(var B=0;B<160;B+=2){Z=e[B],F=e[B+1];var U=h(i,n,r),q=h(_,w,x),z=u(i,_),H=u(_,i),Y=d(a,A),G=d(A,a),j=o[B],V=o[B+1],Q=c(a,l,b),W=c(A,S,E),J=k+G|0,X=v+Y+y(J,k)|0;X=(X=(X=X+Q+y(J=J+W|0,W)|0)+j+y(J=J+V|0,V)|0)+Z+y(J=J+F|0,F)|0;var K=H+q|0,$=z+U+y(K,H)|0;v=b,k=E,b=l,E=S,l=a,S=A,a=s+X+y(A=C+J|0,C)|0,s=r,C=x,r=n,x=w,n=i,w=_,i=X+$+y(_=J+K|0,J)|0}this._al=this._al+_|0,this._bl=this._bl+w|0,this._cl=this._cl+x|0,this._dl=this._dl+C|0,this._el=this._el+A|0,this._fl=this._fl+S|0,this._gl=this._gl+E|0,this._hl=this._hl+k|0,this._ah=this._ah+i+y(this._al,_)|0,this._bh=this._bh+n+y(this._bl,w)|0,this._ch=this._ch+r+y(this._cl,x)|0,this._dh=this._dh+s+y(this._dl,C)|0,this._eh=this._eh+a+y(this._el,A)|0,this._fh=this._fh+l+y(this._fl,S)|0,this._gh=this._gh+b+y(this._gl,E)|0,this._hh=this._hh+v+y(this._hl,k)|0},l.prototype._hash=function(){var t=s.allocUnsafe(64);function e(e,i,n){t.writeInt32BE(e,n),t.writeInt32BE(i,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},t.exports=l},1339:function(t,e,i){!function(e){"use strict";var n={};t.exports?(n.bytesToHex=i(1774).bytesToHex,n.convertString=i(906),t.exports=a):(n.bytesToHex=e.convertHex.bytesToHex,n.convertString=e.convertString,e.sha256=a);var r=[];!function(){function t(t){for(var e=Math.sqrt(t),i=2;i<=e;i++)if(!(t%i))return!1;return!0}function e(t){return 4294967296*(t-(0|t))|0}for(var i=2,n=0;n<64;)t(i)&&(r[n]=e(Math.pow(i,1/3)),n++),i++}();var s=[],o=function(t,e,i){for(var n=t[0],o=t[1],a=t[2],l=t[3],c=t[4],h=t[5],u=t[6],d=t[7],p=0;p<64;p++){if(p<16)s[p]=0|e[i+p];else{var f=s[p-15],m=s[p-2];s[p]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+s[p-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+s[p-16]}var g=n&o^n&a^o&a,y=d+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&h^~c&u)+r[p]+s[p];d=u,u=h,h=c,c=l+y|0,l=a,a=o,o=n,n=y+(((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+g)|0}t[0]=t[0]+n|0,t[1]=t[1]+o|0,t[2]=t[2]+a|0,t[3]=t[3]+l|0,t[4]=t[4]+c|0,t[5]=t[5]+h|0,t[6]=t[6]+u|0,t[7]=t[7]+d|0};function a(t,e){t.constructor===String&&(t=n.convertString.UTF8.stringToBytes(t));var i=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],r=function(t){for(var e=[],i=0,n=0;i>>5]|=t[i]<<24-n%32;return e}(t),s=8*t.length;r[s>>5]|=128<<24-s%32,r[15+(s+64>>9<<4)]=s;for(var a=0;a>>5]>>>24-i%32&255);return e}(i);return e&&e.asBytes?l:e&&e.asString?n.convertString.bytesToString(l):n.bytesToHex(l)}a.x2=function(t,e){return a(a(t,{asBytes:!0}),e)}}(this)},7562:(t,e,i)=>{t.exports=r;var n=i(5068).EventEmitter;function r(){n.call(this)}i(5457)(r,n),r.Readable=i(617),r.Writable=i(4374),r.Duplex=i(9847),r.Transform=i(5774),r.PassThrough=i(9591),r.finished=i(6484),r.pipeline=i(5802),r.Stream=r,r.prototype.pipe=function(t,e){var i=this;function r(e){t.writable&&!1===t.write(e)&&i.pause&&i.pause()}function s(){i.readable&&i.resume&&i.resume()}i.on("data",r),t.on("drain",s),t._isStdio||e&&!1===e.end||(i.on("end",a),i.on("close",l));var o=!1;function a(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(h(),0===n.listenerCount(this,"error"))throw t}function h(){i.removeListener("data",r),t.removeListener("drain",s),i.removeListener("end",a),i.removeListener("close",l),i.removeListener("error",c),t.removeListener("error",c),i.removeListener("end",h),i.removeListener("close",h),t.removeListener("close",h)}return i.on("error",c),t.on("error",c),i.on("end",h),i.on("close",h),t.on("close",h),t.emit("pipe",i),t}},4706:(t,e,i)=>{"use strict";var n=i(4160).Buffer,r=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===r||!r(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=d,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,i=function(t,e,i){if(128!=(192&e[0]))return t.lastNeed=0,"\ufffd";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"\ufffd";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"\ufffd"}}(this,t);return void 0!==i?i:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var i=t.toString("utf16le",e);if(i){var n=i.charCodeAt(i.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):e}function h(t,e){var i=(t.length-e)%3;return 0===i?t.toString("base64",e):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-i))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=s,s.prototype.write=function(t){if(0===t.length)return"";var e,i;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";i=this.lastNeed,this.lastNeed=0}else i=0;return i=0?(r>0&&(t.lastNeed=r-1),r):--n=0?(r>0&&(t.lastNeed=r-2),r):--n=0?(r>0&&(2===r?r=0:t.lastNeed=r-3),r):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=i;var n=t.length-(i-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},4160:(t,e,i)=>{var n=i(3833),r=n.Buffer;function s(t,e){for(var i in t)e[i]=t[i]}function o(t,e,i){return r(t,e,i)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(s(n,e),e.Buffer=o),o.prototype=Object.create(r.prototype),s(r,o),o.from=function(t,e,i){if("number"==typeof t)throw new TypeError("Argument must not be a number");return r(t,e,i)},o.alloc=function(t,e,i){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=r(t);return void 0!==e?"string"==typeof i?n.fill(e,i):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},115:(t,e,i)=>{var n=i(5370);e.encode=n.encode,e.decode=n.decode},5370:(t,e)=>{"use strict";var i=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];e.encode=function(t){Buffer.isBuffer(t)||(t=new Buffer(t));for(var e,i,n=0,r=0,s=0,o=0,a=new Buffer(8*(e=t,i=Math.floor(e.length/5),e.length%5==0?i:i+1));n3?(o=(o=l&255>>s)<<(s=(s+5)%8)|(n+1>8-s,n++):(o=l>>8-(s+5)&31,0==(s=(s+5)%8)&&n++),a[r]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(o),r++}for(n=r;n>>(n=(n+5)%8),s++,e=255&r<<8-n)}return o.slice(0,s)}},5435:t=>{function e(t){try{if(!global.localStorage)return!1}catch(i){return!1}var e=global.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,i){if(e("noDeprecation"))return t;var n=!1;return function(){if(!n){if(e("throwDeprecation"))throw new Error(i);e("traceDeprecation")?console.trace(i):console.warn(i),n=!0}return t.apply(this,arguments)}}},9939:(t,e,i)=>{"use strict";i.d(e,{uq:()=>n,qe:()=>r,Xj:()=>s,gj:()=>o,Ql:()=>a,yA:()=>l,iK:()=>c,j5:()=>h,XQ:()=>u,BI:()=>d,UO:()=>p,RA:()=>f,qt:()=>m,cd:()=>g,Un:()=>y,ei:()=>b,Q2:()=>v,hc:()=>_,sX:()=>w,HI:()=>x,ab:()=>C,W2:()=>A,AE:()=>S,qH:()=>E,GL:()=>k,zj:()=>T,rR:()=>M,as:()=>L,kL:()=>I,Vb:()=>O,FA:()=>D,nL:()=>R,bJ:()=>N,q9:()=>P,dP:()=>F,zm:()=>Z,l3:()=>B,PP:()=>U,IR:()=>q,RE:()=>z,LW:()=>H,CR:()=>Y,y3:()=>G,bH:()=>j,o_:()=>V,gM:()=>Q,eW:()=>W,yL:()=>J,tk:()=>X,G0:()=>K,zH:()=>$,IZ:()=>tt,ob:()=>et,np:()=>it,UA:()=>nt,vI:()=>rt,z6:()=>st,od:()=>ot,Nn:()=>at,D8:()=>lt,LT:()=>ct,ER:()=>ht,N9:()=>ut,RS:()=>dt,rF:()=>pt,yw:()=>ft,xt:()=>mt,pu:()=>gt,p$:()=>yt,Ar:()=>bt,bm:()=>vt,lO:()=>_t,iG:()=>wt,k:()=>xt,nb:()=>Ct,e8:()=>At,x$:()=>St,IG:()=>Et,oP:()=>kt,qs:()=>Tt,KK:()=>Mt,Is:()=>Lt,nz:()=>It,_O:()=>Ot,H1:()=>Dt,nB:()=>Rt,uj:()=>Nt,Zt:()=>Pt});const n="RESET_CL_STORE",r="UPDATE_API_CALL_STATUS_CL",s="SET_CHILD_NODE_SETTINGS_CL",o="FETCH_INFO_CL_CL",a="SET_INFO_CL",l="FETCH_FEES_CL",c="SET_FEES_CL",h="FETCH_FEE_RATES_CL",u="SET_FEE_RATES_CL",d="FETCH_BALANCE_CL",p="SET_BALANCE_CL",f="FETCH_LOCAL_REMOTE_BALANCE_CL",m="SET_LOCAL_REMOTE_BALANCE_CL",g="GET_NEW_ADDRESS_CL",y="SET_NEW_ADDRESS_CL",b="FETCH_UTXOS_CL",v="SET_UTXOS_CL",_="FETCH_PEERS_CL",w="SET_PEERS_CL",x="SAVE_NEW_PEER_CL",C="NEWLY_ADDED_PEER_CL",A="ADD_PEER_CL",S="DETACH_PEER_CL",E="REMOVE_PEER_CL",k="FETCH_CHANNELS_CL",T="SET_CHANNELS_CL",M="UPDATE_CHANNELS_CL",L="SAVE_NEW_CHANNEL_CL",I="CLOSE_CHANNEL_CL",O="REMOVE_CHANNEL_CL",D="FETCH_PAYMENTS_CL",R="SET_PAYMENTS_CL",N="DECODE_PAYMENT_CL",P="SET_DECODED_PAYMENT_CL",F="SEND_PAYMENT_CL",Z="SEND_PAYMENT_STATUS_CL",B="GET_QUERY_ROUTES_CL",U="SET_QUERY_ROUTES_CL",q="PEER_LOOKUP_CL",z="CHANNEL_LOOKUP_CL",H="INVOICE_LOOKUP_CL",Y="SET_LOOKUP_CL",G="GET_FORWARDING_HISTORY_CL",j="SET_FORWARDING_HISTORY_CL",V="GET_FAILED_FORWARDING_HISTORY_CL",Q="SET_FAILED_FORWARDING_HISTORY_CL",W="FETCH_INVOICES_CL",J="SET_INVOICES_CL",X="SAVE_NEW_INVOICE_CL",K="ADD_INVOICE_CL",$="DELETE_EXPIRED_INVOICE_CL",tt="SET_CHANNEL_TRANSACTION_CL",et="SET_CHANNEL_TRANSACTION_RES_CL";class it{constructor(t){this.payload=t,this.type=r}}class nt{constructor(t){this.payload=t,this.type=n}}class rt{constructor(t){this.payload=t,this.type=s}}class st{constructor(t){this.payload=t,this.type=o}}class ot{constructor(){this.type=l}}class at{constructor(t){this.payload=t,this.type=h}}class lt{constructor(){this.type=d}}class ct{constructor(){this.type=f}}class ht{constructor(t){this.payload=t,this.type=g}}class ut{constructor(){this.type=_}}class dt{constructor(t){this.payload=t,this.type=w}}class pt{constructor(t){this.payload=t,this.type=x}}class ft{constructor(t){this.payload=t,this.type=S}}class mt{constructor(){this.type=D}}class gt{constructor(t){this.payload=t,this.type=N}}class yt{constructor(t){this.payload=t,this.type=P}}class bt{constructor(t){this.payload=t,this.type=F}}class vt{constructor(t){this.payload=t,this.type=B}}class _t{constructor(t){this.payload=t,this.type=U}}class wt{constructor(){this.type=k}}class xt{constructor(t){this.payload=t,this.type=M}}class Ct{constructor(t){this.payload=t,this.type=L}}class At{constructor(t){this.payload=t,this.type=I}}class St{constructor(t){this.payload=t,this.type=q}}class Et{constructor(t){this.payload=t,this.type=z}}class kt{constructor(t){this.payload=t,this.type=H}}class Tt{constructor(t){this.payload=t,this.type=Y}}class Mt{constructor(t){this.payload=t,this.type=G}}class Lt{constructor(){this.type=V}}class It{constructor(t){this.payload=t,this.type=Q}}class Ot{constructor(t){this.payload=t,this.type=W}}class Dt{constructor(t){this.payload=t,this.type=X}}class Rt{constructor(t){this.payload=t,this.type=$}}class Nt{constructor(t){this.payload=t,this.type=tt}}class Pt{constructor(){this.type=b}}},8640:(t,e,i)=>{"use strict";i.d(e,{s:()=>k});var n=i(5573),r=i(9666),s=i(2041),o=i(2391),a=i(6891),l=i(5653),c=i(7228),h=i(9568),u=i(1681),d=i(1816),p=i(5963),f=i(2427),m=i(3793),g=i(9421),y=i(3929),b=i(9939),v=i(1572),_=i(9063),w=i(964),x=i(3191),C=i(1084),A=i(3869),S=i(6853),E=i(1511);let k=(()=>{class t{constructor(t,e,i,f,v,_,w,x){this.actions=t,this.httpClient=e,this.store=i,this.sessionService=f,this.commonService=v,this.logger=_,this.router=w,this.location=x,this.CHILD_API_URL=p.T+"/cl",this.flgInitialized=!1,this.unSubs=[new r.x,new r.x],this.infoFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.gj),(0,l.M)(this.store.select("root")),(0,c.z)(([t,e])=>(this.flgInitialized=!1,this.store.dispatch(new b.np({action:"FetchInfo",status:g.Bn.INITIATED})),this.store.dispatch(new y.Fk(g.m6.GET_NODE_INFO)),this.httpClient.get(this.CHILD_API_URL+p.N.GETINFO_API).pipe((0,h.R)(this.actions.pipe((0,n.l4)(y.RP))),(0,u.U)(e=>(this.logger.info(e),e.chains&&e.chains.length&&e.chains[0]&&"object"==typeof e.chains[0]&&e.chains[0].hasOwnProperty("chain")&&e.chains[0].chain.toLowerCase().indexOf("bitcoin")<0?(this.store.dispatch(new b.np({action:"FetchInfo",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.GET_NODE_INFO)),this.store.dispatch(new y.Ac),this.store.dispatch(new y.wu({data:{type:g.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}})),{type:y.Nv}):(this.initializeRemainingData(e,t.payload.loadPage),this.store.dispatch(new b.np({action:"FetchInfo",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.GET_NODE_INFO)),{type:b.Ql,payload:e||{}}))),(0,d.K)(t=>{const e=this.commonService.extractErrorCode(t),i="ETIMEDOUT"===e?"Unable to Connect to C-Lightning Server.":this.commonService.extractErrorMessage(t);return this.router.navigate(["/error"],{state:{errorCode:e,errorMessage:i}}),this.handleErrorWithoutAlert("FetchInfo",g.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:e,error:i}),(0,s.of)({type:y.Zn})})))))),this.fetchFeesCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.yA),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchFees",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.FEES_API))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchFees",status:g.Bn.COMPLETED})),{type:b.iK,payload:t||{}})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchFees",g.m6.NO_SPINNER,"Fetching Fees Failed.",t),(0,s.of)({type:y.Zn}))))),this.fetchFeeRatesCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.j5),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchFeeRates"+t.payload,status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.NETWORK_API+"/feeRates/"+t.payload).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new b.np({action:"FetchFeeRates"+t.payload,status:g.Bn.COMPLETED})),{type:b.XQ,payload:e||{}})),(0,d.K)(e=>(this.handleErrorWithoutAlert("FetchFeeRates"+t.payload,g.m6.NO_SPINNER,"Fetching Fee Rates Failed.",e),(0,s.of)({type:y.Zn})))))))),this.fetchBalanceCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.BI),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchBalance",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.BALANCE_API))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchBalance",status:g.Bn.COMPLETED})),{type:b.UO,payload:t||{}})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchBalance",g.m6.NO_SPINNER,"Fetching Balances Failed.",t),(0,s.of)({type:y.Zn}))))),this.fetchLocalRemoteBalanceCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.RA),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchLocalRemoteBalance",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.CHANNELS_API+"/localremotebalance"))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchLocalRemoteBalance",status:g.Bn.COMPLETED})),{type:b.qt,payload:t||{}})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchLocalRemoteBalance",g.m6.NO_SPINNER,"Fetching Balances Failed.",t),(0,s.of)({type:y.Zn}))))),this.getNewAddressCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.cd),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.GENERATE_NEW_ADDRESS)),this.httpClient.get(this.CHILD_API_URL+p.N.ON_CHAIN_API+"?type="+t.payload.addressCode).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new y.Iv(g.m6.GENERATE_NEW_ADDRESS)),{type:b.Un,payload:t&&t.address?t.address:{}})),(0,d.K)(e=>(this.handleErrorWithAlert("GenerateNewAddress",g.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+p.N.ON_CHAIN_API+"?type="+t.payload.addressId,e),(0,s.of)({type:y.Zn})))))))),this.setNewAddressCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.Un),(0,u.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.peersFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.hc),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchPeers",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.PEERS_API).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchPeers",status:g.Bn.COMPLETED})),{type:b.sX,payload:t||[]})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchPeers",g.m6.NO_SPINNER,"Fetching Peers Failed.",t),(0,s.of)({type:y.Zn})))))))),this.saveNewPeerCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.HI),(0,l.M)(this.store.select("cl")),(0,c.z)(([t,e])=>(this.store.dispatch(new y.Fk(g.m6.CONNECT_PEER)),this.store.dispatch(new b.np({action:"SaveNewPeer",status:g.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+p.N.PEERS_API,{id:t.payload.id}).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new b.np({action:"SaveNewPeer",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.CONNECT_PEER)),this.store.dispatch(new b.RS(e&&e.length>0?e:[])),{type:b.ab,payload:{peer:e.find(e=>0===t.payload.id.indexOf(e.id))}})),(0,d.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer",g.m6.CONNECT_PEER,"Peer Connection Failed.",t),(0,s.of)({type:y.Zn})))))))),this.detachPeerCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.AE),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.DISCONNECT_PEER)),this.httpClient.delete(this.CHILD_API_URL+p.N.PEERS_API+"/"+t.payload.id+"?force="+t.payload.force).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new y.Iv(g.m6.DISCONNECT_PEER)),this.store.dispatch(new y.Lw("Peer Disconnected Successfully!")),{type:b.qH,payload:{id:t.payload.id}})),(0,d.K)(e=>(this.handleErrorWithAlert("PeerDisconnect",g.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+p.N.PEERS_API+"/"+t.payload.id,e),(0,s.of)({type:y.Zn})))))))),this.channelsFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.GL),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchChannels",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.CHANNELS_API+"/listChannels"))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchChannels",status:g.Bn.COMPLETED})),this.store.dispatch(new b.KK({status:"settled"})),{type:b.zj,payload:t&&t.length>0?t:[]})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchChannels",g.m6.NO_SPINNER,"Fetching Channels Failed.",t),(0,s.of)({type:y.Zn}))))),this.openNewChannelCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.as),(0,c.z)(t=>{this.store.dispatch(new y.Fk(g.m6.OPEN_CHANNEL)),this.store.dispatch(new b.np({action:"SaveNewChannel",status:g.Bn.INITIATED}));const e={id:t.payload.peerId,satoshis:t.payload.satoshis,feeRate:t.payload.feeRate,announce:t.payload.announce,minconf:t.payload.minconf?t.payload.minconf:null};return t.payload.utxos&&(e.utxos=t.payload.utxos),this.httpClient.post(this.CHILD_API_URL+p.N.CHANNELS_API,e).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"SaveNewChannel",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.OPEN_CHANNEL)),this.store.dispatch(new y.Lw("Channel Added Successfully!")),this.store.dispatch(new b.D8),this.store.dispatch(new b.Zt),{type:b.GL})),(0,d.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel",g.m6.OPEN_CHANNEL,"Opening Channel Failed.",t),(0,s.of)({type:y.Zn}))))}))),this.updateChannelCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.rR),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.UPDATE_CHAN_POLICY)),this.httpClient.post(this.CHILD_API_URL+p.N.CHANNELS_API+"/setChannelFee",{id:t.payload.channelId,base:t.payload.baseFeeMsat,ppm:t.payload.feeRate}).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new y.Iv(g.m6.UPDATE_CHAN_POLICY)),this.store.dispatch(new y.Lw("all"===t.payload.channelId?{message:"All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}:{message:"Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3})),{type:b.GL})),(0,d.K)(t=>(this.handleErrorWithAlert("UpdateChannel",g.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+p.N.CHANNELS_API,t),(0,s.of)({type:y.Zn})))))))),this.closeChannelCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.kL),(0,c.z)(t=>(this.store.dispatch(new y.Fk(t.payload.force?g.m6.FORCE_CLOSE_CHANNEL:g.m6.CLOSE_CHANNEL)),this.httpClient.delete(this.CHILD_API_URL+p.N.CHANNELS_API+"/"+t.payload.channelId+(t.payload.force?"?force="+t.payload.force:"")).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new y.Iv(t.payload.force?g.m6.FORCE_CLOSE_CHANNEL:g.m6.CLOSE_CHANNEL)),this.store.dispatch(new b.iG),this.store.dispatch(new y.Lw("Channel Closed Successfully!")),{type:b.Vb,payload:{channelId:t.payload.channelId}})),(0,d.K)(e=>(this.handleErrorWithAlert("CloseChannel",t.payload.force?g.m6.FORCE_CLOSE_CHANNEL:g.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+p.N.CHANNELS_API,e),(0,s.of)({type:y.Zn})))))))),this.paymentsFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.FA),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchPayments",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.PAYMENTS_API))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchPayments",status:g.Bn.COMPLETED})),{type:b.nL,payload:t||[]})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchPayments",g.m6.NO_SPINNER,"Fetching Payments Failed.",t),(0,s.of)({type:y.Zn}))))),this.decodePaymentCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.bJ),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.DECODE_PAYMENT)),this.store.dispatch(new b.np({action:"DecodePayment",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.PAYMENTS_API+"/"+t.payload.routeParam).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"DecodePayment",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.DECODE_PAYMENT)),{type:b.q9,payload:t||{}})),(0,d.K)(e=>(t.payload.fromDialog?this.handleErrorWithoutAlert("DecodePayment",g.m6.DECODE_PAYMENT,"Decode Payment Failed.",e):this.handleErrorWithAlert("DecodePayment",g.m6.DECODE_PAYMENT,"Decode Payment Failed",this.CHILD_API_URL+p.N.PAYMENTS_API+"/"+t.payload,e),(0,s.of)({type:y.Zn})))))))),this.setDecodedPaymentCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.q9),(0,u.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.sendPaymentCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.dP),(0,l.M)(this.store.select("root")),(0,c.z)(([t,e])=>(this.store.dispatch(new y.Fk(t.payload.uiMessage)),this.store.dispatch(new b.np({action:"SendPayment",status:g.Bn.INITIATED})),this.httpClient.post(t.payload.pubkey&&""!==t.payload.pubkey?this.CHILD_API_URL+p.N.PAYMENTS_API+"/keysend":this.CHILD_API_URL+p.N.PAYMENTS_API+"/invoice",t.payload).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new y.Iv(t.payload.uiMessage)),this.store.dispatch(new b.np({action:"SendPayment",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Lw("Payment Sent Successfully!")),this.store.dispatch(new b.p$({})),setTimeout(()=>{this.store.dispatch(new b.iG),this.store.dispatch(new b.D8),this.store.dispatch(new b.xt)},1e3),{type:b.zm,payload:e})),(0,d.K)(e=>(this.logger.error("Error: "+JSON.stringify(e)),t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed.",e):this.handleErrorWithAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+p.N.PAYMENTS_API,e),(0,s.of)({type:y.Zn})))))))),this.queryRoutesFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.l3),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"GetQueryRoutes",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.NETWORK_API+"/getRoute/"+t.payload.destPubkey+"/"+t.payload.amount).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"GetQueryRoutes",status:g.Bn.COMPLETED})),{type:b.PP,payload:t})),(0,d.K)(e=>(this.store.dispatch(new b.lO({routes:[]})),this.handleErrorWithAlert("GetQueryRoutes",g.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+p.N.NETWORK_API+"/getRoute/"+t.payload.destPubkey+"/"+t.payload.amount,e),(0,s.of)({type:y.Zn})))))))),this.setQueryRoutesCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.PP),(0,u.U)(t=>t.payload)),{dispatch:!1}),this.peerLookupCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.IR),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.SEARCHING_NODE)),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.NETWORK_API+"/listNode/"+t.payload).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.SEARCHING_NODE)),{type:b.CR,payload:t})),(0,d.K)(e=>(this.handleErrorWithAlert("Lookup",g.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+p.N.NETWORK_API+"/listNode/"+t.payload,e),(0,s.of)({type:y.Zn})))))))),this.channelLookupCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.RE),(0,c.z)(t=>(this.store.dispatch(new y.Fk(t.payload.uiMessage)),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.NETWORK_API+"/listChannel/"+t.payload.shortChannelID).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(t.payload.uiMessage)),{type:b.CR,payload:e})),(0,d.K)(e=>(t.payload.showError?this.handleErrorWithAlert("Lookup",t.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+p.N.NETWORK_API+"/listChannel/"+t.payload.shortChannelID,e):this.store.dispatch(new y.Iv(t.payload.uiMessage)),this.store.dispatch(new b.qs([])),(0,s.of)({type:y.Zn})))))))),this.invoiceLookupCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.LW),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.SEARCHING_INVOICE)),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.INVOICES_API+"?label="+t.payload).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"Lookup",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.SEARCHING_INVOICE)),{type:b.CR,payload:t.invoices&&t.invoices.length&&t.invoices.length>0?t.invoices[0]:t})),(0,d.K)(t=>(this.handleErrorWithoutAlert("Lookup",g.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",t),this.store.dispatch(new y.Lw({message:"Invoice Refresh Failed.",type:"ERROR"})),(0,s.of)({type:y.Zn})))))))),this.setLookupCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.CR),(0,u.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.fetchForwardingHistoryCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.y3),(0,l.M)(this.store.select("cl")),(0,c.z)(([t,e])=>(this.store.dispatch(new b.np({action:"GetForwardingHistory",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.CHANNELS_API+"/listForwards?status="+t.payload.status).pipe((0,u.U)(t=>{if(this.logger.info(t),this.store.dispatch(new b.np({action:"GetForwardingHistory",status:g.Bn.COMPLETED})),!e.information.api_version||!this.commonService.isVersionCompatible(e.information.api_version,"0.5.0")){const e=[],i=[];t.forEach(t=>{"settled"===t.status?i.push(t):"failed"!==t.status&&"local_failed"!==t.status||e.push(t)}),t=JSON.parse(JSON.stringify(i)),this.store.dispatch(new b.nz(e))}return{type:b.bH,payload:t}}),(0,d.K)(e=>(this.handleErrorWithAlert("GetForwardingHistory",g.m6.NO_SPINNER,"Get Forwarding History Failed",this.CHILD_API_URL+p.N.CHANNELS_API+"/listForwards?status="+t.payload.status,e),(0,s.of)({type:y.Zn})))))))),this.fetchFailedForwardingHistoryCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.o_),(0,l.M)(this.store.select("cl")),(0,c.z)(([t,e])=>{if(this.store.dispatch(new b.np({action:"GetFailedForwardingHistory",status:g.Bn.INITIATED})),!e.information.api_version||!this.commonService.isVersionCompatible(e.information.api_version,"0.5.0"))return this.store.dispatch(new b.np({action:"GetFailedForwardingHistory",status:g.Bn.COMPLETED})),(0,s.of)({type:y.Zn});let i=new o.y;const n=this.httpClient.get(this.CHILD_API_URL+p.N.CHANNELS_API+"/listForwards?status=failed"),r=this.httpClient.get(this.CHILD_API_URL+p.N.CHANNELS_API+"/listForwards?status=local_failed");return i=(0,a.D)([n,r]),i.pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"GetFailedForwardingHistory",status:g.Bn.COMPLETED})),{type:b.gM,payload:this.commonService.sortDescByKey([...t[0],...t[1]],"received_time")})),(0,d.K)(t=>(this.handleErrorWithAlert("GetFailedForwardingHistory",g.m6.NO_SPINNER,"Get Failed Forwarding History Failed",this.CHILD_API_URL+p.N.CHANNELS_API+"/listForwards?status=failed",t),(0,s.of)({type:y.Zn}))))}))),this.deleteExpiredInvoiceCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.zH),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.DELETE_INVOICE)),this.httpClient.delete(this.CHILD_API_URL+p.N.INVOICES_API+(t.payload?"?maxexpiry="+t.payload:"")).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new y.Iv(g.m6.DELETE_INVOICE)),this.store.dispatch(new y.Lw("Invoices Deleted Successfully!")),{type:b.eW,payload:{num_max_invoices:1e6,reversed:!0}})),(0,d.K)(t=>(this.handleErrorWithAlert("DeleteInvoices",g.m6.DELETE_INVOICE,"Delete Invoice Failed",this.CHILD_API_URL+p.N.INVOICES_API,t),(0,s.of)({type:y.Zn})))))))),this.saveNewInvoiceCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.tk),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.ADD_INVOICE)),this.store.dispatch(new b.np({action:"SaveNewInvoice",status:g.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+p.N.INVOICES_API,{label:t.payload.label,amount:t.payload.amount,description:t.payload.description,expiry:t.payload.expiry,private:t.payload.private}).pipe((0,u.U)(e=>(this.logger.info(e),this.store.dispatch(new b.np({action:"SaveNewInvoice",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.ADD_INVOICE)),e.msatoshi=t.payload.amount,e.label=t.payload.label,e.expires_at=Math.round((new Date).getTime()/1e3+t.payload.expiry),e.description=t.payload.description,e.status="unpaid",this.store.dispatch(new y.wu({data:{invoice:e,newlyAdded:!1,component:m.$}})),{type:b.G0,payload:e})),(0,d.K)(t=>(this.handleErrorWithoutAlert("SaveNewInvoice",g.m6.ADD_INVOICE,"Add Invoice Failed.",t),(0,s.of)({type:y.Zn})))))))),this.invoicesFetchCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.eW),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchInvoices",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.INVOICES_API+"?num_max_invoices="+(t.payload.num_max_invoices?t.payload.num_max_invoices:1e6)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!t.payload.reversed||t.payload.reversed)).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchInvoices",status:g.Bn.COMPLETED})),{type:b.yL,payload:t})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices",g.m6.NO_SPINNER,"Fetching Invoices Failed.",t),(0,s.of)({type:y.Zn})))))))),this.SetChannelTransactionCL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.IZ),(0,c.z)(t=>(this.store.dispatch(new y.Fk(g.m6.SEND_FUNDS)),this.store.dispatch(new b.np({action:"SetChannelTransaction",status:g.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+p.N.ON_CHAIN_API,t.payload).pipe((0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"SetChannelTransaction",status:g.Bn.COMPLETED})),this.store.dispatch(new y.Iv(g.m6.SEND_FUNDS)),this.store.dispatch(new b.D8),this.store.dispatch(new b.Zt),{type:b.ob,payload:t})),(0,d.K)(t=>(this.handleErrorWithoutAlert("SetChannelTransaction",g.m6.SEND_FUNDS,"Sending Fund Failed.",t),(0,s.of)({type:y.Zn})))))))),this.utxosFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(b.ei),(0,c.z)(t=>(this.store.dispatch(new b.np({action:"FetchUTXOs",status:g.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+p.N.ON_CHAIN_API+"/utxos"))),(0,u.U)(t=>(this.logger.info(t),this.store.dispatch(new b.np({action:"FetchUTXOs",status:g.Bn.COMPLETED})),{type:b.Q2,payload:t&&t.outputs&&t.outputs.length>0?t.outputs:[]})),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchUTXOs",g.m6.NO_SPINNER,"Fetching UTXOs Failed.",t),(0,s.of)({type:y.Zn}))))),this.store.select("cl").pipe((0,h.R)(this.unSubs[0])).subscribe(t=>{t.apisCallStatus.FetchInfo.status!==g.Bn.COMPLETED&&t.apisCallStatus.FetchInfo.status!==g.Bn.ERROR||t.apisCallStatus.FetchFees.status!==g.Bn.COMPLETED&&t.apisCallStatus.FetchFees.status!==g.Bn.ERROR||t.apisCallStatus.FetchChannels.status!==g.Bn.COMPLETED&&t.apisCallStatus.FetchChannels.status!==g.Bn.ERROR||t.apisCallStatus.FetchBalance.status!==g.Bn.COMPLETED&&t.apisCallStatus.FetchBalance.status!==g.Bn.ERROR||t.apisCallStatus.FetchLocalRemoteBalance.status!==g.Bn.COMPLETED&&t.apisCallStatus.FetchLocalRemoteBalance.status!==g.Bn.ERROR||this.flgInitialized||(this.store.dispatch(new y.Iv(g.m6.INITALIZE_NODE_DATA)),this.flgInitialized=!0)})}initializeRemainingData(t,e){this.sessionService.setItem("clUnlocked","true");const i={identity_pubkey:t.id,alias:t.alias,testnet:"testnet"===t.network.toLowerCase(),chains:t.chains,uris:t.uris,version:t.version,api_version:t.api_version,numberOfPendingChannels:t.num_pending_channels};this.store.dispatch(new y.Fk(g.m6.INITALIZE_NODE_DATA)),this.store.dispatch(new y.e6(i)),this.store.dispatch(new b._O({num_max_invoices:1e6,index_offset:0,reversed:!0})),this.store.dispatch(new b.od),this.store.dispatch(new b.iG),this.store.dispatch(new b.D8),this.store.dispatch(new b.LT),this.store.dispatch(new b.Nn("perkw")),this.store.dispatch(new b.Nn("perkb")),this.store.dispatch(new b.N9),this.store.dispatch(new b.Zt),this.store.dispatch(new b.xt);let n=this.location.path();n.includes("/lnd/")?n=n.replace("/lnd/","/cl/"):n.includes("/ecl/")&&(n=n.replace("/ecl/","/cl/")),(n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/cl/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i,n){if(this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(n)),401===n.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new y.Ac),this.store.dispatch(new y.RD),this.store.dispatch(new y.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new y.Iv(e));const r=this.commonService.extractErrorMessage(n,i);this.store.dispatch(new b.np({action:t,status:g.Bn.ERROR,statusCode:n.status.toString(),message:r}))}}handleErrorWithAlert(t,e,i,n,r){if(this.logger.error(r),401===r.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new y.Ac),this.store.dispatch(new y.RD),this.store.dispatch(new y.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new y.Iv(e));const s=this.commonService.extractErrorMessage(r);this.store.dispatch(new y.wu({data:{type:"ERROR",alertTitle:i,message:{code:r.status,message:s,URL:n},component:f.H}})),this.store.dispatch(new b.np({action:t,status:g.Bn.ERROR,statusCode:r.status.toString(),message:s,URL:n}))}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(v.LFG(n.eX),v.LFG(_.eN),v.LFG(w.yh),v.LFG(x.m),v.LFG(C.v),v.LFG(A.mQ),v.LFG(S.F0),v.LFG(E.Ye))},t.\u0275prov=v.Yz7({token:t,factory:t.\u0275fac}),t})()},3793:(t,e,i)=>{"use strict";i.d(e,{$:()=>N});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),p=i(7439),f=i(7592),m=i(5980),g=i(7679),y=i(3600),b=i(6880),v=i(2609);function _(t,e){if(1&t&&o._UZ(0,"qrcode",30),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.bolt11)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function w(t,e){1&t&&(o.TgZ(0,"span",31),o._uU(1,"N/A"),o.qZA())}function x(t,e){if(1&t&&o._UZ(0,"qrcode",30),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.bolt11)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function C(t,e){1&t&&(o.TgZ(0,"span",32),o._uU(1,"QR Code Not Applicable"),o.qZA())}function A(t,e){1&t&&o._UZ(0,"mat-divider",33),2&t&&o.Q6J("inset",!0)}function S(t,e){if(1&t&&(o.TgZ(0,"div",16),o.TgZ(1,"div",34),o._UZ(2,"fa-icon",35),o.TgZ(3,"span"),o._uU(4),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.oxw();o.xp6(2),o.Q6J("icon",t.faExclamationTriangle),o.xp6(2),o.Oqu(t.invoice.warning_capacity)}}function E(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}function k(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",21),o.TgZ(2,"div",16),o.TgZ(3,"div",22),o.TgZ(4,"h4",18),o._uU(5,"Payment Hash"),o.qZA(),o.TgZ(6,"span",23),o._uU(7),o.qZA(),o.qZA(),o.qZA(),o._UZ(8,"mat-divider",21),o.TgZ(9,"div",16),o.TgZ(10,"div",17),o.TgZ(11,"h4",18),o._uU(12,"Status"),o.qZA(),o.TgZ(13,"span",23),o._uU(14),o.ALo(15,"titlecase"),o.qZA(),o.qZA(),o.TgZ(16,"div",17),o.TgZ(17,"h4",18),o._uU(18,"Label"),o.qZA(),o.TgZ(19,"span",23),o._uU(20),o.qZA(),o.qZA(),o.qZA(),o._UZ(21,"mat-divider",21),o.TgZ(22,"div",16),o.TgZ(23,"div",17),o.TgZ(24,"h4",18),o._uU(25,"Amount Received"),o.qZA(),o.TgZ(26,"span",23),o._uU(27),o.ALo(28,"number"),o.qZA(),o.qZA(),o.TgZ(29,"div",17),o.TgZ(30,"h4",18),o._uU(31,"Date Settled"),o.qZA(),o.TgZ(32,"span",19),o._uU(33),o.ALo(34,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(35,"mat-divider",21),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(t.invoice.payment_hash),o.xp6(7),o.Oqu(o.lcZ(15,6,t.invoice.status)),o.xp6(6),o.Oqu(t.invoice.label),o.xp6(7),o.AsE("",o.lcZ(28,8,t.invoice.msatoshi_received/1e3)," ",t.invoice.msatoshi_received?"Sats":"",""),o.xp6(6),o.Oqu(o.xi3(34,10,1e3*t.invoice.paid_at,"dd/MMM/YYYY HH:mm")||"-")}}function T(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function M(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function L(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",36),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1,"Copy Invoice"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.bolt11)}}function I(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",37),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const O=function(t){return{"display-none":t}},D=function(t){return{"xs-scroll-y":t}},R=function(t,e){return{"mt-2":t,"mt-1":e}};let N=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.faExclamationTriangle=r.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(t){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-cl-invoice-information"]],decls:55,vars:39,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,_,1,5,"qrcode",2),o.YNc(3,w,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,x,1,5,"qrcode",2),o.YNc(16,C,2,0,"span",13),o.qZA(),o.YNc(17,A,1,1,"mat-divider",14),o.YNc(18,S,5,2,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"div",17),o.TgZ(21,"h4",18),o._uU(22),o.qZA(),o.TgZ(23,"span",19),o._uU(24),o.ALo(25,"number"),o.YNc(26,E,2,0,"ng-container",20),o.qZA(),o.qZA(),o.TgZ(27,"div",17),o.TgZ(28,"h4",18),o._uU(29,"Date Expiry"),o.qZA(),o.TgZ(30,"span",19),o._uU(31),o.ALo(32,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(33,"mat-divider",21),o.TgZ(34,"div",16),o.TgZ(35,"div",22),o.TgZ(36,"h4",18),o._uU(37,"Description"),o.qZA(),o.TgZ(38,"span",19),o._uU(39),o.qZA(),o.qZA(),o.qZA(),o._UZ(40,"mat-divider",21),o.TgZ(41,"div",16),o.TgZ(42,"div",22),o.TgZ(43,"h4",18),o._uU(44,"Invoice"),o.qZA(),o.TgZ(45,"span",23),o._uU(46),o.qZA(),o.qZA(),o.qZA(),o.YNc(47,k,36,13,"div",20),o.TgZ(48,"div",24),o.TgZ(49,"button",25),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(50,T,2,0,"p",26),o.YNc(51,M,2,0,"ng-template",null,27,o.W1O),o.qZA(),o.YNc(53,L,2,1,"button",28),o.YNc(54,I,2,0,"button",29),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(52);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.bolt11&&""!==e.invoice.bolt11?"center start":"center center")("ngClass",o.VKq(30,O,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(32,D,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.bolt11&&""!==e.invoice.bolt11?"center start":"center center")("ngClass",o.VKq(34,O,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(1),o.Q6J("ngIf",e.invoice.warning_capacity),o.xp6(4),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Amount":"Amount Requested"),o.xp6(2),o.hij("",o.lcZ(25,25,e.invoice.msatoshi/1e3||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.msatoshi),o.xp6(5),o.Oqu(o.xi3(32,27,1e3*e.invoice.expires_at,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(e.invoice.description||"-"),o.xp6(7),o.Oqu(e.invoice.bolt11||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngClass",o.WLB(36,R,!e.showAdvanced,e.showAdvanced)),o.xp6(2),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.bolt11&&""!==e.invoice.bolt11),o.xp6(1),o.Q6J("ngIf",!e.invoice.bolt11||""===e.invoice.bolt11)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,p.dk,f.BN,m.lW,p.dn,g.d,y.V,b.h,v.y],pipes:[u.JJ,u.uU,u.rS],styles:[""]}),t})()},6124:(t,e,i)=>{"use strict";i.d(e,{ok:()=>n,f:()=>r,gk:()=>s,Go:()=>o,ml:()=>a,iR:()=>l,UA:()=>c,M8:()=>h,L2:()=>u,JI:()=>d,ct:()=>p,Oy:()=>f,ro:()=>m,we:()=>g,CF:()=>y,$9:()=>b,mn:()=>v,Tt:()=>_,IH:()=>w,md:()=>x,Ae:()=>C,BX:()=>A,J4:()=>S,JR:()=>E,gu:()=>k,nG:()=>T,yH:()=>M,r7:()=>L,Cu:()=>I,GT:()=>O,Wn:()=>D,iW:()=>R,Ao:()=>N,Pm:()=>P,qC:()=>F,k5:()=>Z,Qu:()=>B,xX:()=>U,wL:()=>q,N$:()=>z,oY:()=>H,WJ:()=>Y,Wk:()=>G,d2:()=>j,Lg:()=>V,ht:()=>Q,np:()=>W,IF:()=>J,vI:()=>X,z6:()=>K,od:()=>$,iG:()=>tt,vN:()=>et,SF:()=>it,oI:()=>nt,DM:()=>rt,eb:()=>st,N9:()=>ot,RS:()=>at,rF:()=>lt,hF:()=>ct,ER:()=>ht,nb:()=>ut,k:()=>dt,e8:()=>pt,xt:()=>ft,bm:()=>mt,lO:()=>gt,Ar:()=>yt,T$:()=>bt,eL:()=>vt,J6:()=>_t,_O:()=>wt,Ks:()=>xt,x$:()=>Ct,oP:()=>At});const n="RESET_ECL_STORE",r="UPDATE_API_CALL_STATUS_ECL",s="SET_CHILD_NODE_SETTINGS_ECL",o="FETCH_INFO_ECL",a="SET_INFO_ECL",l="FETCH_FEES_ECL",c="SET_FEES_ECL",h="FETCH_CHANNELS_ECL",u="SET_ACTIVE_CHANNELS_ECL",d="SET_PENDING_CHANNELS_ECL",p="SET_INACTIVE_CHANNELS_ECL",f="FETCH_CHANNEL_STATS_ECL",m="SET_CHANNEL_STATS_ECL",g="FETCH_ONCHAIN_BALANCE_ECL",y="SET_ONCHAIN_BALANCE_ECL",b="SET_LIGHTNING_BALANCE_ECL",v="SET_CHANNELS_STATUS_ECL",_="FETCH_PEERS_ECL",w="SET_PEERS_ECL",x="SAVE_NEW_PEER_ECL",C="NEWLY_ADDED_PEER_ECL",A="DETACH_PEER_ECL",S="REMOVE_PEER_ECL",E="GET_NEW_ADDRESS_ECL",k="SET_NEW_ADDRESS_ECL",T="SAVE_NEW_CHANNEL_ECL",M="UPDATE_CHANNELS_ECL",L="CLOSE_CHANNEL_ECL",I="REMOVE_CHANNEL_ECL",O="FETCH_PAYMENTS_ECL",D="SET_PAYMENTS_ECL",R="GET_QUERY_ROUTES_ECL",N="SET_QUERY_ROUTES_ECL",P="SEND_PAYMENT_ECL",F="SEND_PAYMENT_STATUS_ECL",Z="FETCH_TRANSACTIONS_ECL",B="SET_TRANSACTIONS_ECL",U="SEND_ONCHAIN_FUNDS_ECL",q="SEND_ONCHAIN_FUNDS_RES_ECL",z="FETCH_INVOICES_ECL",H="SET_INVOICES_ECL",Y="CREATE_INVOICE_ECL",G="ADD_INVOICE_ECL",j="PEER_LOOKUP_ECL",V="INVOICE_LOOKUP_ECL",Q="SET_LOOKUP_ECL";class W{constructor(t){this.payload=t,this.type=r}}class J{constructor(t){this.payload=t,this.type=n}}class X{constructor(t){this.payload=t,this.type=s}}class K{constructor(t){this.payload=t,this.type=o}}class ${constructor(){this.type=l}}class tt{constructor(t){this.payload=t,this.type=h}}class et{constructor(t){this.payload=t,this.type=u}}class it{constructor(t){this.payload=t,this.type=d}}class nt{constructor(t){this.payload=t,this.type=p}}class rt{constructor(){this.type=g}}class st{constructor(t){this.payload=t,this.type=b}}class ot{constructor(){this.type=_}}class at{constructor(t){this.payload=t,this.type=w}}class lt{constructor(t){this.payload=t,this.type=x}}class ct{constructor(t){this.payload=t,this.type=A}}class ht{constructor(){this.type=E}}class ut{constructor(t){this.payload=t,this.type=T}}class dt{constructor(t){this.payload=t,this.type=M}}class pt{constructor(t){this.payload=t,this.type=L}}class ft{constructor(){this.type=O}}class mt{constructor(t){this.payload=t,this.type=R}}class gt{constructor(t){this.payload=t,this.type=N}}class yt{constructor(t){this.payload=t,this.type=P}}class bt{constructor(t){this.payload=t,this.type=F}}class vt{constructor(){this.type=Z}}class _t{constructor(t){this.payload=t,this.type=U}}class wt{constructor(){this.type=z}}class xt{constructor(t){this.payload=t,this.type=Y}}class Ct{constructor(t){this.payload=t,this.type=j}}class At{constructor(t){this.payload=t,this.type=V}}},4147:(t,e,i)=>{"use strict";i.d(e,{o:()=>S});var n=i(5573),r=i(9666),s=i(2041),o=i(7228),a=i(9568),l=i(1681),c=i(1816),h=i(5653),u=i(5963),d=i(2427),p=i(9421),f=i(3921),m=i(6124),g=i(3929),y=i(1572),b=i(9063),v=i(964),_=i(3191),w=i(1084),x=i(3869),C=i(6853),A=i(1511);let S=(()=>{class t{constructor(t,e,i,d,y,b,v,_){this.actions=t,this.httpClient=e,this.store=i,this.sessionService=d,this.commonService=y,this.logger=b,this.router=v,this.location=_,this.CHILD_API_URL=u.T+"/ecl",this.flgInitialized=!1,this.unSubs=[new r.x,new r.x],this.infoFetchECL=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Go),(0,o.z)(t=>(this.flgInitialized=!1,this.store.dispatch(new g.Fk(p.m6.GET_NODE_INFO)),this.store.dispatch(new m.np({action:"FetchInfo",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.GETINFO_API).pipe((0,a.R)(this.actions.pipe((0,n.l4)(g.RP))),(0,l.U)(e=>(this.logger.info(e),this.initializeRemainingData(e,t.payload.loadPage),this.store.dispatch(new m.np({action:"FetchInfo",status:p.Bn.COMPLETED})),this.store.dispatch(new g.Iv(p.m6.GET_NODE_INFO)),{type:m.ml,payload:e||{}})),(0,c.K)(t=>{const e=this.commonService.extractErrorCode(t),i=503===e?"Unable to Connect to Eclair Server.":this.commonService.extractErrorMessage(t);return this.router.navigate(["/error"],{state:{errorCode:e,errorMessage:i}}),this.handleErrorWithoutAlert("FetchInfo",p.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:e,error:i}),(0,s.of)({type:g.Zn})})))))),this.fetchFees=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.iR),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchFees",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API+"/fees").pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchFees",status:p.Bn.COMPLETED})),{type:m.UA,payload:t||{}})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchFees",p.m6.NO_SPINNER,"Fetching Fees Failed.",t),(0,s.of)({type:g.Zn})))))))),this.fetchPayments=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.GT),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchPayments",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API+"/payments").pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchPayments",status:p.Bn.COMPLETED})),{type:m.Wn,payload:t||{}})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchPayments",p.m6.NO_SPINNER,"Fetching Payments Failed.",t),(0,s.of)({type:g.Zn})))))))),this.channelsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.M8),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchChannels",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new m.np({action:"FetchChannels",status:p.Bn.COMPLETED})),this.store.dispatch(new m.vN(e&&e.activeChannels.length>0?e.activeChannels:[])),this.store.dispatch(new m.SF(e&&e.pendingChannels.length>0?e.pendingChannels:[])),this.store.dispatch(new m.oI(e&&e.inactiveChannels.length>0?e.inactiveChannels:[])),this.store.dispatch(new m.eb(e.lightningBalances)),t.payload&&t.payload.fetchPayments&&this.store.dispatch(new m.xt),{type:m.mn,payload:e.channelStatus})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchChannels",p.m6.NO_SPINNER,"Fetching Channels Failed.",t),(0,s.of)({type:g.Zn})))))))),this.channelStatsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Oy),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchChannelStats",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/stats").pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchChannelStats",status:p.Bn.COMPLETED})),{type:m.ro,payload:t&&t.length>0?t:[]})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchChannelStats",p.m6.NO_SPINNER,"Fetching Channel Stats Failed.",t),(0,s.of)({type:g.Zn})))))))),this.fetchOnchainBalance=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.we),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchOnchainBalance",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"/balance"))),(0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchOnchainBalance",status:p.Bn.COMPLETED})),{type:m.CF,payload:t||{}})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchOnchainBalance",p.m6.NO_SPINNER,"Fetching Onchain Balances Failed.",t),(0,s.of)({type:g.Zn}))))),this.peersFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Tt),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchPeers",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.PEERS_API).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchPeers",status:p.Bn.COMPLETED})),{type:m.IH,payload:t&&t.length?t:[]})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchPeers",p.m6.NO_SPINNER,"Fetching Peers Failed.",t),(0,s.of)({type:g.Zn})))))))),this.getNewAddress=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.JR),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.GENERATE_NEW_ADDRESS)),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new g.Iv(p.m6.GENERATE_NEW_ADDRESS)),{type:m.gu,payload:t})),(0,c.K)(t=>(this.handleErrorWithAlert("GetNewAddress",p.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+u.N.ON_CHAIN_API,t),(0,s.of)({type:g.Zn})))))))),this.setNewAddress=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.gu),(0,l.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.saveNewPeer=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.md),(0,h.M)(this.store.select("ecl")),(0,o.z)(([t,e])=>(this.store.dispatch(new g.Fk(p.m6.CONNECT_PEER)),this.store.dispatch(new m.np({action:"SaveNewPeer",status:p.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.PEERS_API+(t.payload.id.includes("@")?"?uri=":"?nodeId=")+t.payload.id,{}).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new m.np({action:"SaveNewPeer",status:p.Bn.COMPLETED})),e=e&&e.length?e:[],this.store.dispatch(new g.Iv(p.m6.CONNECT_PEER)),this.store.dispatch(new m.RS(e)),{type:m.Ae,payload:{peer:e.find(e=>e.nodeId===(t.payload.id.includes("@")?t.payload.id.substring(0,t.payload.id.indexOf("@")):t.payload.id))}})),(0,c.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer",p.m6.CONNECT_PEER,"Peer Connection Failed.",t),(0,s.of)({type:g.Zn})))))))),this.detachPeer=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.BX),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.DISCONNECT_PEER)),this.httpClient.delete(this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.nodeId).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new g.Iv(p.m6.DISCONNECT_PEER)),this.store.dispatch(new g.Lw("Disconnecting Peer!")),{type:m.J4,payload:{nodeId:t.payload.nodeId}})),(0,c.K)(e=>(this.handleErrorWithAlert("DisconnectPeer",p.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.nodeId,e),(0,s.of)({type:g.Zn})))))))),this.openNewChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.nG),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.OPEN_CHANNEL)),this.store.dispatch(new m.np({action:"SaveNewChannel",status:p.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API,t.payload.feeRate&&t.payload.feeRate>0?{nodeId:t.payload.nodeId,fundingSatoshis:t.payload.amount,channelFlags:+!t.payload.private,fundingFeerateSatByte:t.payload.feeRate}:{nodeId:t.payload.nodeId,fundingSatoshis:t.payload.amount,channelFlags:+!t.payload.private}).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"SaveNewChannel",status:p.Bn.COMPLETED})),this.store.dispatch(new m.N9),this.store.dispatch(new m.DM),this.store.dispatch(new g.Iv(p.m6.OPEN_CHANNEL)),this.store.dispatch(new g.Lw("Channel Added Successfully!")),{type:m.M8,payload:{fetchPayments:!1}})),(0,c.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel",p.m6.OPEN_CHANNEL,"Opening Channel Failed.",t),(0,s.of)({type:g.Zn})))))))),this.updateChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.yH),(0,o.z)(t=>{this.store.dispatch(new g.Fk(p.m6.UPDATE_CHAN_POLICY));let e="?feeBaseMsat="+t.payload.baseFeeMsat+"&feeProportionalMillionths="+t.payload.feeRate;return e=t.payload.channelIds?e+"&channelIds="+t.payload.channelIds:e+"&channelId="+t.payload.channelId,this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/updateRelayFee"+e,{}).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new g.Iv(p.m6.UPDATE_CHAN_POLICY)),this.store.dispatch(new g.Lw(t.payload.channelIds?"Channels Updated Successfully.":"Channel Updated Successfully!")),{type:m.M8,payload:{fetchPayments:!1}})),(0,c.K)(t=>(this.handleErrorWithAlert("UpdateChannels",p.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+u.N.CHANNELS_API,t),(0,s.of)({type:g.Zn}))))}))),this.closeChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.r7),(0,o.z)(t=>(this.store.dispatch(new g.Fk(t.payload.force?p.m6.FORCE_CLOSE_CHANNEL:p.m6.CLOSE_CHANNEL)),this.httpClient.delete(this.CHILD_API_URL+u.N.CHANNELS_API+"?channelId="+t.payload.channelId+"&force="+t.payload.force).pipe((0,l.U)(e=>(this.logger.info(e),setTimeout(()=>{this.store.dispatch(new g.Iv(t.payload.force?p.m6.FORCE_CLOSE_CHANNEL:p.m6.CLOSE_CHANNEL)),this.store.dispatch(new m.iG({fetchPayments:!1})),this.store.dispatch(new g.Lw(t.payload.force?"Channel Force Closed Successfully!":"Channel Closed Successfully!"))},2e3),{type:g.Zn})),(0,c.K)(e=>(this.handleErrorWithAlert("CloseChannel",t.payload.force?p.m6.FORCE_CLOSE_CHANNEL:p.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_API,e),(0,s.of)({type:g.Zn})))))))),this.queryRoutesFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.iW),(0,o.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"/route?nodeId="+t.payload.nodeId+"&amountMsat="+t.payload.amount).pipe((0,l.U)(t=>(this.logger.info(t),{type:m.Ao,payload:t})),(0,c.K)(e=>(this.store.dispatch(new m.lO([])),this.handleErrorWithAlert("GetQueryRoutes",p.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+u.N.PAYMENTS_API+"/route?nodeId="+t.payload.nodeId+"&amountMsat="+t.payload.amount,e),(0,s.of)({type:g.Zn}))))))),this.setQueryRoutes=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Ao),(0,l.U)(t=>t.payload)),{dispatch:!1}),this.sendPayment=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Pm),(0,h.M)(this.store.select("root")),(0,o.z)(([t,e])=>(this.store.dispatch(new g.Fk(p.m6.SEND_PAYMENT)),this.store.dispatch(new m.np({action:"SendPayment",status:p.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.PAYMENTS_API,t.payload).pipe((0,l.U)(t=>(this.logger.info(t),setTimeout(()=>{this.store.dispatch(new m.np({action:"SendPayment",status:p.Bn.COMPLETED})),this.store.dispatch(new m.T$(t)),this.store.dispatch(new g.Iv(p.m6.SEND_PAYMENT)),this.store.dispatch(new m.iG({fetchPayments:!0})),this.store.dispatch(new m.xt),this.store.dispatch(new g.Lw("Payment Submitted!"))},3e3),{type:g.Zn})),(0,c.K)(e=>(this.logger.error("Error: "+JSON.stringify(e)),t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",p.m6.SEND_PAYMENT,"Send Payment Failed.",e):this.handleErrorWithAlert("SendPayment",p.m6.SEND_PAYMENT,"Send Payment Failed",this.CHILD_API_URL+u.N.PAYMENTS_API,e),(0,s.of)({type:g.Zn})))))))),this.transactionsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.k5),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchTransactions",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.ON_CHAIN_API+"/transactions?count=1000&skip=0"))),(0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchTransactions",status:p.Bn.COMPLETED})),{type:m.Qu,payload:t&&t.length>0?t:[]})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchTransactions",p.m6.NO_SPINNER,"Fetching Transactions Failed.",t),(0,s.of)({type:g.Zn}))))),this.SendOnchainFunds=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.xX),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.SEND_FUNDS)),this.store.dispatch(new m.np({action:"SendOnchainFunds",status:p.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.ON_CHAIN_API,t.payload).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"SendOnchainFunds",status:p.Bn.COMPLETED})),this.store.dispatch(new g.Iv(p.m6.SEND_FUNDS)),this.store.dispatch(new m.DM),{type:m.wL,payload:t})),(0,c.K)(t=>(this.handleErrorWithoutAlert("SendOnchainFunds",p.m6.SEND_FUNDS,"Sending Fund Failed.",t),(0,s.of)({type:g.Zn})))))))),this.createInvoice=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.WJ),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.CREATE_INVOICE)),this.store.dispatch(new m.np({action:"CreateInvoice",status:p.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.INVOICES_API,t.payload).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new m.np({action:"CreateInvoice",status:p.Bn.COMPLETED})),this.store.dispatch(new g.Iv(p.m6.CREATE_INVOICE)),e.timestamp=(new Date).getTime()/1e3,e.expiresAt=Math.round(e.timestamp+t.payload.expireIn),e.description=t.payload.description,e.status="unpaid",this.store.dispatch(new g.wu({data:{invoice:e,newlyAdded:!1,component:f.R}})),{type:m.Wk,payload:e})),(0,c.K)(t=>(this.handleErrorWithoutAlert("CreateInvoice",p.m6.CREATE_INVOICE,"Create Invoice Failed.",t),(0,s.of)({type:g.Zn})))))))),this.invoicesFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.N$),(0,o.z)(t=>(this.store.dispatch(new m.np({action:"FetchInvoices",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"FetchInvoices",status:p.Bn.COMPLETED})),{type:m.oY,payload:t})),(0,c.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices",p.m6.NO_SPINNER,"Fetching Invoices Failed.",t),(0,s.of)({type:g.Zn})))))))),this.peerLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.d2),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.SEARCHING_NODE)),this.store.dispatch(new m.np({action:"Lookup",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/nodes/"+t.payload).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"Lookup",status:p.Bn.COMPLETED})),this.store.dispatch(new g.Iv(p.m6.SEARCHING_NODE)),{type:m.ht,payload:t})),(0,c.K)(e=>(this.handleErrorWithAlert("Lookup",p.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/nodes/"+t.payload,e),(0,s.of)({type:g.Zn})))))))),this.invoiceLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.Lg),(0,o.z)(t=>(this.store.dispatch(new g.Fk(p.m6.SEARCHING_INVOICE)),this.store.dispatch(new m.np({action:"Lookup",status:p.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"/"+t.payload).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new m.np({action:"Lookup",status:p.Bn.COMPLETED})),this.store.dispatch(new g.Iv(p.m6.SEARCHING_INVOICE)),{type:m.ht,payload:t})),(0,c.K)(t=>(this.handleErrorWithoutAlert("Lookup",p.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",t),this.store.dispatch(new g.Lw({message:"Invoice Refresh Failed.",type:"ERROR"})),(0,s.of)({type:g.Zn})))))))),this.setLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.ht),(0,l.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.store.select("ecl").pipe((0,a.R)(this.unSubs[0])).subscribe(t=>{t.apisCallStatus.FetchInfo.status!==p.Bn.COMPLETED&&t.apisCallStatus.FetchInfo.status!==p.Bn.ERROR||t.apisCallStatus.FetchFees.status!==p.Bn.COMPLETED&&t.apisCallStatus.FetchFees.status!==p.Bn.ERROR||t.apisCallStatus.FetchOnchainBalance.status!==p.Bn.COMPLETED&&t.apisCallStatus.FetchOnchainBalance.status!==p.Bn.ERROR||t.apisCallStatus.FetchChannels.status!==p.Bn.COMPLETED&&t.apisCallStatus.FetchChannels.status!==p.Bn.ERROR||this.flgInitialized||(this.store.dispatch(new g.Iv(p.m6.INITALIZE_NODE_DATA)),this.flgInitialized=!0)})}initializeRemainingData(t,e){this.sessionService.setItem("eclUnlocked","true");const i={identity_pubkey:t.nodeId,alias:t.alias,testnet:"testnet"===t.network,chains:t.publicAddresses,uris:t.uris,version:t.version,numberOfPendingChannels:0};this.store.dispatch(new g.Fk(p.m6.INITALIZE_NODE_DATA)),this.store.dispatch(new g.e6(i)),this.store.dispatch(new m._O),this.store.dispatch(new m.iG({fetchPayments:!0})),this.store.dispatch(new m.od),this.store.dispatch(new m.DM),this.store.dispatch(new m.N9);let n=this.location.path();n.includes("/lnd/")?n=n.replace("/lnd/","/ecl/"):n.includes("/cl/")&&(n=n.replace("/cl/","/ecl/")),(n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/ecl/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i,n){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(n)),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new g.Ac),this.store.dispatch(new g.RD),this.store.dispatch(new g.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new g.Iv(e)),this.store.dispatch(new m.np({action:t,status:p.Bn.ERROR,statusCode:n.status.toString(),message:this.commonService.extractErrorMessage(n,i)})))}handleErrorWithAlert(t,e,i,n,r){if(this.logger.error(r),401===r.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new g.Ac),this.store.dispatch(new g.RD),this.store.dispatch(new g.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new g.Iv(e));const s=this.commonService.extractErrorMessage(r);this.store.dispatch(new g.wu({data:{type:"ERROR",alertTitle:i,message:{code:r.status,message:s,URL:n},component:d.H}})),this.store.dispatch(new m.np({action:t,status:p.Bn.ERROR,statusCode:r.status.toString(),message:s,URL:n}))}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eX),y.LFG(b.eN),y.LFG(v.yh),y.LFG(_.m),y.LFG(w.v),y.LFG(x.mQ),y.LFG(C.F0),y.LFG(A.Ye))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},3921:(t,e,i)=>{"use strict";i.d(e,{R:()=>P});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),p=i(7439),f=i(7592),m=i(5980),g=i(7679),y=i(3600),b=i(6880),v=i(2609);function _(t,e){if(1&t&&o._UZ(0,"qrcode",29),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.serialized)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function w(t,e){1&t&&(o.TgZ(0,"span",30),o._uU(1,"N/A"),o.qZA())}function x(t,e){if(1&t&&o._UZ(0,"qrcode",29),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.serialized)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function C(t,e){1&t&&(o.TgZ(0,"span",31),o._uU(1,"QR Code Not Applicable"),o.qZA())}function A(t,e){1&t&&o._UZ(0,"mat-divider",32),2&t&&o.Q6J("inset",!0)}function S(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}function E(t,e){if(1&t&&(o.ynx(0),o._uU(1),o.ALo(2,"number"),o.BQk()),2&t){const t=o.oxw();o.xp6(1),o.hij("",o.lcZ(2,1,t.invoice.amountSettled)," Sats")}}function k(t,e){1&t&&(o.ynx(0),o._uU(1,"-"),o.BQk())}function T(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",20),o.TgZ(2,"div",15),o.TgZ(3,"div",33),o.TgZ(4,"h4",17),o._uU(5,"Date Expiry"),o.qZA(),o.TgZ(6,"span",18),o._uU(7),o.ALo(8,"date"),o.qZA(),o.qZA(),o.TgZ(9,"div",34),o.TgZ(10,"h4",17),o._uU(11,"Date Settled"),o.qZA(),o.TgZ(12,"span",21),o._uU(13),o.ALo(14,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(15,"mat-divider",20),o.TgZ(16,"div",15),o.TgZ(17,"div",22),o.TgZ(18,"h4",17),o._uU(19,"Payment Hash"),o.qZA(),o.TgZ(20,"span",21),o._uU(21),o.qZA(),o.qZA(),o.qZA(),o._UZ(22,"mat-divider",20),o.TgZ(23,"div",15),o.TgZ(24,"div",22),o.TgZ(25,"h4",17),o._uU(26,"Node Id"),o.qZA(),o.TgZ(27,"span",21),o._uU(28),o.qZA(),o.qZA(),o.qZA(),o._UZ(29,"mat-divider",20),o.qZA()),2&t){const t=o.oxw();o.xp6(7),o.Oqu(o.xi3(8,4,1e3*t.invoice.expiresAt,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.xi3(14,7,1e3*t.invoice.receivedAt,"dd/MMM/YYYY HH:mm")),o.xp6(8),o.Oqu(t.invoice.paymentHash),o.xp6(7),o.Oqu(t.invoice.nodeId)}}function M(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function L(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function I(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",35),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1,"Copy Invoice"),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.serialized)}}function O(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",36),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const D=function(t){return{"display-none":t}},R=function(t){return{"xs-scroll-y":t}},N=function(t,e){return{"mt-2":t,"mt-1":e}};let P=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.faExclamationTriangle=r.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(t){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-ecl-invoice-information"]],decls:68,vars:42,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],[1,"overflow-wrap","foreground-secondary-text"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","40"],["fxFlex","60"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,_,1,5,"qrcode",2),o.YNc(3,w,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,x,1,5,"qrcode",2),o.YNc(16,C,2,0,"span",13),o.qZA(),o.YNc(17,A,1,1,"mat-divider",14),o.TgZ(18,"div",15),o.TgZ(19,"div",16),o.TgZ(20,"h4",17),o._uU(21,"Amount Requested"),o.qZA(),o.TgZ(22,"span",18),o._uU(23),o.ALo(24,"number"),o.YNc(25,S,2,0,"ng-container",19),o.qZA(),o.qZA(),o.TgZ(26,"div",16),o.TgZ(27,"h4",17),o._uU(28,"Amount Settled"),o.qZA(),o.TgZ(29,"span",18),o.YNc(30,E,3,3,"ng-container",19),o.YNc(31,k,2,0,"ng-container",19),o.qZA(),o.qZA(),o.qZA(),o._UZ(32,"mat-divider",20),o.TgZ(33,"div",15),o.TgZ(34,"div",16),o.TgZ(35,"h4",17),o._uU(36,"Date Created"),o.qZA(),o.TgZ(37,"span",21),o._uU(38),o.ALo(39,"date"),o.qZA(),o.qZA(),o.TgZ(40,"div",16),o.TgZ(41,"h4",17),o._uU(42,"Status"),o.qZA(),o.TgZ(43,"span",21),o._uU(44),o.ALo(45,"titlecase"),o.qZA(),o.qZA(),o.qZA(),o._UZ(46,"mat-divider",20),o.TgZ(47,"div",15),o.TgZ(48,"div",22),o.TgZ(49,"h4",17),o._uU(50,"Description"),o.qZA(),o.TgZ(51,"span",18),o._uU(52),o.qZA(),o.qZA(),o.qZA(),o._UZ(53,"mat-divider",20),o.TgZ(54,"div",15),o.TgZ(55,"div",22),o.TgZ(56,"h4",17),o._uU(57,"Invoice"),o.qZA(),o.TgZ(58,"span",21),o._uU(59),o.qZA(),o.qZA(),o.qZA(),o.YNc(60,T,30,10,"div",19),o.TgZ(61,"div",23),o.TgZ(62,"button",24),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(63,M,2,0,"p",25),o.YNc(64,L,2,0,"ng-template",null,26,o.W1O),o.qZA(),o.YNc(66,I,2,1,"button",27),o.YNc(67,O,2,0,"button",28),o.qZA(),o.qZA(),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(65);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.serialized&&""!==e.invoice.serialized?"center start":"center center")("ngClass",o.VKq(33,D,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(35,R,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.serialized&&""!==e.invoice.serialized?"center start":"center center")("ngClass",o.VKq(37,D,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(6),o.hij("",o.lcZ(24,26,e.invoice.amount||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.amount),o.xp6(5),o.Q6J("ngIf",e.invoice.amountSettled),o.xp6(1),o.Q6J("ngIf",!e.invoice.amountSettled),o.xp6(7),o.Oqu(o.xi3(39,28,1e3*e.invoice.timestamp,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(o.lcZ(45,31,e.invoice.status)),o.xp6(8),o.Oqu(e.invoice.description||"-"),o.xp6(7),o.Oqu(e.invoice.serialized||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngClass",o.WLB(39,N,!e.showAdvanced,e.showAdvanced)),o.xp6(2),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.serialized&&""!==e.invoice.serialized),o.xp6(1),o.Q6J("ngIf",!e.invoice.serialized||""===e.invoice.serialized)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,p.dk,f.BN,m.lW,p.dn,g.d,y.V,b.h,v.y],pipes:[u.JJ,u.uU,u.rS],styles:[""]}),t})()},5678:(t,e,i)=>{"use strict";i.d(e,{AL:()=>n,JE:()=>r,Os:()=>s,kY:()=>o,Uy:()=>a,lH:()=>l,Ah:()=>c,Qm:()=>h,X_:()=>u,Ff:()=>d,pK:()=>p,jc:()=>f,mZ:()=>m,c_:()=>g,VS:()=>y,HS:()=>b,Dn:()=>v,hn:()=>_,wE:()=>w,_s:()=>x,Mx:()=>C,W8:()=>A,nZ:()=>S,P2:()=>E,oS:()=>k,S1:()=>T,u9:()=>M,D3:()=>L,G4:()=>I,bq:()=>O,o4:()=>D,MQ:()=>R,ES:()=>N,$i:()=>P,AV:()=>F,S:()=>Z,Bg:()=>B,i9:()=>U,Ov:()=>q,_V:()=>z,mU:()=>H,c4:()=>Y,kz:()=>G,s0:()=>j,b:()=>V,dG:()=>Q,Bj:()=>W,xn:()=>J,ug:()=>X,Pp:()=>K,RN:()=>$,t7:()=>tt,i_:()=>et,s8:()=>it,__:()=>nt,U8:()=>rt,ZV:()=>st,$L:()=>ot,hL:()=>at,As:()=>lt,gk:()=>ct,K4:()=>ht,lf:()=>ut,RP:()=>dt,LC:()=>pt,x:()=>ft,on:()=>mt,qs:()=>gt,YA:()=>yt,tB:()=>bt,np:()=>vt,Mo:()=>_t,vI:()=>wt,z6:()=>xt,N9:()=>Ct,RS:()=>At,rF:()=>St,yw:()=>Et,H1:()=>kt,od:()=>Tt,D8:()=>Mt,h7:()=>Lt,jh:()=>It,Zb:()=>Ot,Ao:()=>Dt,k:()=>Rt,nb:()=>Nt,e8:()=>Pt,FN:()=>Ft,gf:()=>Zt,gL:()=>Bt,j4:()=>Ut,Cd:()=>qt,_O:()=>zt,rc:()=>Ht,eL:()=>Yt,Zt:()=>Gt,xt:()=>jt,Ar:()=>Vt,RR:()=>Qt,ER:()=>Wt,uj:()=>Jt,$b:()=>Xt,My:()=>Kt,l8:()=>$t,x$:()=>te,IG:()=>ee,oP:()=>ie,O_:()=>ne,KK:()=>re,Fn:()=>se,bm:()=>oe,lO:()=>ae,dw:()=>le});const n="RESET_LND_STORE",r="UPDATE_API_CALL_STATUS_LND",s="SET_CHILD_NODE_SETTINGS_LND",o="FETCH_INFO_LND",a="SET_INFO_LND",l="FETCH_PEERS_LND",c="SET_PEERS_LND",h="SAVE_NEW_PEER_LND",u="NEWLY_ADDED_PEER_LND",d="DETACH_PEER_LND",p="REMOVE_PEER_LND",f="SAVE_NEW_INVOICE_LND",m="NEWLY_SAVED_INVOICE_LND",g="ADD_INVOICE_LND",y="FETCH_FEES_LND",b="SET_FEES_LND",v="FETCH_BALANCE_LND",_="SET_BALANCE_LND",w="FETCH_NETWORK_LND",x="SET_NETWORK_LND",C="FETCH_ALL_CHANNELS_LND",A="FETCH_PENDING_CHANNELS_LND",S="FETCH_CLOSED_CHANNELS_LND",E="SET_ALL_CHANNELS_LND",k="SET_PENDING_CHANNELS_LND",T="SET_CLOSED_CHANNELS_LND",M="UPDATE_CHANNELS_LND",L="SAVE_NEW_CHANNEL_LND",I="CLOSE_CHANNEL_LND",O="REMOVE_CHANNEL_LND",D="BACKUP_CHANNELS_LND",R="VERIFY_CHANNELS_LND",N="BACKUP_CHANNELS_RES_LND",P="VERIFY_CHANNELS_RES_LND",F="RESTORE_CHANNELS_LIST_LND",Z="SET_RESTORE_CHANNELS_LIST_LND",B="RESTORE_CHANNELS_LND",U="RESTORE_CHANNELS_RES_LND",q="FETCH_INVOICES_LND",z="SET_INVOICES_LND",H="SET_TOTAL_INVOICES_LND",Y="FETCH_TRANSACTIONS_LND",G="SET_TRANSACTIONS_LND",j="FETCH_UTXOS_LND",V="SET_UTXOS_LND",Q="FETCH_PAYMENTS_LND",W="SET_PAYMENTS_LND",J="SEND_PAYMENT_LND",X="SEND_PAYMENT_STATUS_LND",K="FETCH_GRAPH_NODE_LND",$="SET_GRAPH_NODE_LND",tt="GET_NEW_ADDRESS_LND",et="SET_NEW_ADDRESS_LND",it="SET_CHANNEL_TRANSACTION_LND",nt="SET_CHANNEL_TRANSACTION_RES_LND",rt="GEN_SEED_LND",st="GEN_SEED_RESPONSE_LND",ot="INIT_WALLET_LND",at="INIT_WALLET_RESPONSE_LND",lt="UNLOCK_WALLET_LND",ct="PEER_LOOKUP_LND",ht="CHANNEL_LOOKUP_LND",ut="INVOICE_LOOKUP_LND",dt="SET_LOOKUP_LND",pt="GET_FORWARDING_HISTORY_LND",ft="SET_FORWARDING_HISTORY_LND",mt="GET_QUERY_ROUTES_LND",gt="SET_QUERY_ROUTES_LND",yt="GET_ALL_LIGHTNING_TRANSATIONS_LND",bt="SET_ALL_LIGHTNING_TRANSATIONS_LND";class vt{constructor(t){this.payload=t,this.type=r}}class _t{constructor(t){this.payload=t,this.type=n}}class wt{constructor(t){this.payload=t,this.type=s}}class xt{constructor(t){this.payload=t,this.type=o}}class Ct{constructor(){this.type=l}}class At{constructor(t){this.payload=t,this.type=c}}class St{constructor(t){this.payload=t,this.type=h}}class Et{constructor(t){this.payload=t,this.type=d}}class kt{constructor(t){this.payload=t,this.type=f}}class Tt{constructor(){this.type=y}}class Mt{constructor(t){this.payload=t,this.type=v}}class Lt{constructor(){this.type=w}}class It{constructor(){this.type=C}}class Ot{constructor(){this.type=A}}class Dt{constructor(){this.type=S}}class Rt{constructor(t){this.payload=t,this.type=M}}class Nt{constructor(t){this.payload=t,this.type=L}}class Pt{constructor(t){this.payload=t,this.type=I}}class Ft{constructor(t){this.payload=t,this.type=D}}class Zt{constructor(t){this.payload=t,this.type=R}}class Bt{constructor(){this.type=F}}class Ut{constructor(t){this.payload=t,this.type=Z}}class qt{constructor(t){this.payload=t,this.type=B}}class zt{constructor(t){this.payload=t,this.type=q}}class Ht{constructor(t){this.payload=t,this.type=H}}class Yt{constructor(){this.type=Y}}class Gt{constructor(){this.type=j}}class jt{constructor(t){this.payload=t,this.type=Q}}class Vt{constructor(t){this.payload=t,this.type=J}}class Qt{constructor(t){this.payload=t,this.type=K}}class Wt{constructor(t){this.payload=t,this.type=tt}}class Jt{constructor(t){this.payload=t,this.type=it}}class Xt{constructor(t){this.payload=t,this.type=rt}}class Kt{constructor(t){this.payload=t,this.type=ot}}class $t{constructor(t){this.payload=t,this.type=lt}}class te{constructor(t){this.payload=t,this.type=ct}}class ee{constructor(t){this.payload=t,this.type=ht}}class ie{constructor(t){this.payload=t,this.type=ut}}class ne{constructor(t){this.payload=t,this.type=dt}}class re{constructor(t){this.payload=t,this.type=pt}}class se{constructor(t){this.payload=t,this.type=ft}}class oe{constructor(t){this.payload=t,this.type=mt}}class ae{constructor(t){this.payload=t,this.type=gt}}class le{constructor(){this.type=yt}}},8248:(t,e,i)=>{"use strict";i.d(e,{l:()=>E});var n=i(5573),r=i(9666),s=i(2041),o=i(5653),a=i(7228),l=i(9568),c=i(1681),h=i(1816),u=i(5963),d=i(1827),p=i(2427),f=i(9421),m=i(3929),g=i(5678),y=i(1572),b=i(9063),v=i(964),_=i(3869),w=i(1084),x=i(3191),C=i(4608),A=i(6853),S=i(1511);let E=(()=>{class t{constructor(t,e,i,p,y,b,v,_,w){this.actions=t,this.httpClient=e,this.store=i,this.logger=p,this.commonService=y,this.sessionService=b,this.dialog=v,this.router=_,this.location=w,this.CHILD_API_URL=u.T+"/lnd",this.flgInitialized=!1,this.unSubs=[new r.x,new r.x],this.infoFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.kY),(0,o.M)(this.store.select("root")),(0,a.z)(([t,e])=>(this.flgInitialized=!1,this.store.dispatch(new m.Fk(f.m6.GET_NODE_INFO)),this.store.dispatch(new g.np({action:"FetchInfo",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.GETINFO_API).pipe((0,l.R)(this.actions.pipe((0,n.l4)(m.RP))),(0,c.U)(e=>(this.logger.info(e),e.chains&&e.chains.length&&e.chains[0]&&("string"==typeof e.chains[0]&&e.chains[0].toLowerCase().indexOf("bitcoin")<0||"object"==typeof e.chains[0]&&e.chains[0].hasOwnProperty("chain")&&e.chains[0].chain.toLowerCase().indexOf("bitcoin")<0)?(this.store.dispatch(new g.np({action:"FetchInfo",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Ac),this.store.dispatch(new m.wu({data:{type:f.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}})),{type:m.Nv}):e.identity_pubkey?(e.lnImplementation="LND",this.initializeRemainingData(e,t.payload.loadPage),this.store.dispatch(new g.np({action:"FetchInfo",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Ac),{type:g.Uy,payload:e||{}}):(this.store.dispatch(new g.np({action:"FetchInfo",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Ac),this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),{type:g.Uy,payload:{}}))),(0,h.K)(t=>{if("string"==typeof t.error.error&&t.error.error.includes("Not Found")||"string"==typeof t.error.error&&t.error.error.includes("wallet locked")||502===t.status)this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),this.handleErrorWithoutAlert("FetchInfo",f.m6.GET_NODE_INFO,"Fetching Node Info Failed.",t);else if("string"==typeof t.error.error&&t.error.error.includes("starting up")&&500===t.status)setTimeout(()=>{this.store.dispatch(new g.z6({loadPage:"HOME"}))},2e3);else{const e=this.commonService.extractErrorCode(t),i=503===e?"Unable to Connect to LND Server.":this.commonService.extractErrorMessage(t);this.router.navigate(["/error"],{state:{errorCode:e,errorMessage:i}}),this.handleErrorWithoutAlert("FetchInfo",f.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:e,error:i})}return(0,s.of)({type:m.Zn})})))))),this.peersFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.lH),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchPeers",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.PEERS_API).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchPeers",status:f.Bn.COMPLETED})),{type:g.Ah,payload:t||[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPeers",f.m6.NO_SPINNER,"Fetching Peers Failed.",t),(0,s.of)({type:m.Zn})))))))),this.saveNewPeer=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Qm),(0,o.M)(this.store.select("lnd")),(0,a.z)(([t,e])=>(this.store.dispatch(new m.Fk(f.m6.CONNECT_PEER)),this.store.dispatch(new g.np({action:"SaveNewPeer",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.PEERS_API,{pubkey:t.payload.pubkey,host:t.payload.host,perm:t.payload.perm}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"SaveNewPeer",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(f.m6.CONNECT_PEER)),this.store.dispatch(new g.RS(t&&t.length>0?t:[])),{type:g.X_,payload:{peer:t[0]}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewPeer",f.m6.CONNECT_PEER,"Peer Connection Failed.",t),(0,s.of)({type:m.Zn})))))))),this.detachPeer=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Ff),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.DISCONNECT_PEER)),this.httpClient.delete(this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.pubkey).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv(f.m6.DISCONNECT_PEER)),this.store.dispatch(new m.Lw("Peer Disconnected Successfully.")),{type:g.pK,payload:{pubkey:t.payload.pubkey}})),(0,h.K)(e=>(this.handleErrorWithAlert("DetachPeer",f.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+u.N.PEERS_API+"/"+t.payload.pubkey,e),(0,s.of)({type:m.Zn})))))))),this.saveNewInvoice=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.jc),(0,a.z)(t=>(this.store.dispatch(new m.Fk(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"SaveNewInvoice",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.INVOICES_API,{memo:t.payload.memo,amount:t.payload.invoiceValue,private:t.payload.private,expiry:t.payload.expiry}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new g.np({action:"SaveNewInvoice",status:f.Bn.COMPLETED})),this.store.dispatch(new g._O({num_max_invoices:t.payload.pageSize,reversed:!0})),t.payload.openModal?(e.memo=t.payload.memo,e.value=t.payload.invoiceValue,e.expiry=t.payload.expiry,e.cltv_expiry="144",e.private=t.payload.private,e.creation_date=Math.round((new Date).getTime()/1e3).toString(),this.store.dispatch(new m.Iv(t.payload.uiMessage)),{type:m.fW,payload:{data:{invoice:e,newlyAdded:!0,component:d.v}}}):{type:g.mZ,payload:{paymentRequest:e.payment_request}})),(0,h.K)(e=>(this.handleErrorWithoutAlert("SaveNewInvoice",t.payload.uiMessage,"Add Invoice Failed.",e),(0,s.of)({type:m.Zn})))))))),this.openNewChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.D3),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.OPEN_CHANNEL)),this.store.dispatch(new g.np({action:"SaveNewChannel",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API,{node_pubkey:t.payload.selectedPeerPubkey,local_funding_amount:t.payload.fundingAmount,private:t.payload.private,trans_type:t.payload.transType,trans_type_value:t.payload.transTypeValue,spend_unconfirmed:t.payload.spendUnconfirmed}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"SaveNewChannel",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(f.m6.OPEN_CHANNEL)),this.store.dispatch(new g.D8("Blockchain")),this.store.dispatch(new g.jh),this.store.dispatch(new g.FN({uiMessage:f.m6.NO_SPINNER,channelPoint:"ALL",showMessage:"Channel Added Successfully!"})),{type:g.W8})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SaveNewChannel",f.m6.OPEN_CHANNEL,"Opening Channel Failed.",t),(0,s.of)({type:m.Zn})))))))),this.updateChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.u9),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.UPDATE_CHAN_POLICY)),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/chanPolicy",{baseFeeMsat:t.payload.baseFeeMsat,feeRate:t.payload.feeRate,timeLockDelta:t.payload.timeLockDelta,chanPoint:t.payload.chanPoint}).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv(f.m6.UPDATE_CHAN_POLICY)),this.store.dispatch(new m.Lw("all"===t.payload.chanPoint?"All Channels Updated Successfully.":"Channel Updated Successfully!")),{type:g.Mx})),(0,h.K)(t=>(this.handleErrorWithAlert("UpdateChannels",f.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/chanPolicy",t),(0,s.of)({type:m.Zn})))))))),this.closeChannel=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.G4),(0,a.z)(t=>{this.store.dispatch(new m.Fk(t.payload.forcibly?f.m6.FORCE_CLOSE_CHANNEL:f.m6.CLOSE_CHANNEL));let e=this.CHILD_API_URL+u.N.CHANNELS_API+"/"+t.payload.channelPoint+"?force="+t.payload.forcibly;return t.payload.targetConf&&(e=e+"&target_conf="+t.payload.targetConf),t.payload.satPerByte&&(e=e+"&sat_per_byte="+t.payload.satPerByte),this.httpClient.delete(e).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv(t.payload.forcibly?f.m6.FORCE_CLOSE_CHANNEL:f.m6.CLOSE_CHANNEL)),this.store.dispatch(new g.jh),this.store.dispatch(new g.Zb),this.store.dispatch(new g.FN({uiMessage:f.m6.NO_SPINNER,channelPoint:"ALL",showMessage:e.message})),{type:m.Zn})),(0,h.K)(e=>(this.handleErrorWithAlert("CloseChannel",t.payload.forcibly?f.m6.FORCE_CLOSE_CHANNEL:f.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_API+"/"+t.payload.channelPoint+"?force="+t.payload.forcibly,e),(0,s.of)({type:m.Zn}))))}))),this.backupChannels=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.o4),(0,a.z)(t=>(this.store.dispatch(new m.Fk(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"BackupChannels",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/"+t.payload.channelPoint).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new g.np({action:"BackupChannels",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(t.payload.uiMessage)),this.store.dispatch(new m.Lw(t.payload.showMessage+" "+e.message)),{type:g.ES,payload:e.message})),(0,h.K)(e=>(this.handleErrorWithAlert("BackupChannels",t.payload.uiMessage,t.payload.showMessage+" Unable to Backup Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.verifyChannels=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.MQ),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.VERIFY_CHANNEL)),this.store.dispatch(new g.np({action:"VerifyChannels",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/verify/"+t.payload.channelPoint,{}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"VerifyChannels",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(f.m6.VERIFY_CHANNEL)),this.store.dispatch(new m.Lw(t.message)),{type:g.$i,payload:t.message})),(0,h.K)(e=>(this.handleErrorWithAlert("VerifyChannels",f.m6.VERIFY_CHANNEL,"Unable to Verify Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/verify/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.restoreChannels=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Bg),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.RESTORE_CHANNEL)),this.store.dispatch(new g.np({action:"RestoreChannels",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/"+t.payload.channelPoint,{}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"RestoreChannels",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(f.m6.RESTORE_CHANNEL)),this.store.dispatch(new m.Lw(t.message)),this.store.dispatch(new g.j4(t.list)),{type:g.i9,payload:t.message})),(0,h.K)(e=>(this.handleErrorWithAlert("RestoreChannels",f.m6.RESTORE_CHANNEL,"Unable to Restore Channel. Try again later.",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/"+t.payload.channelPoint,e),(0,s.of)({type:m.Zn})))))))),this.fetchFees=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.VS),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchFees",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.FEES_API))),(0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchFees",status:f.Bn.COMPLETED})),t.forwarding_events_history&&(this.store.dispatch(new g.Fn(t.forwarding_events_history)),delete t.forwarding_events_history),{type:g.HS,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchFees",f.m6.NO_SPINNER,"Fetching Fees Failed.",t),(0,s.of)({type:m.Zn}))))),this.balanceFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Dn),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchBalance"+t.payload,status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.BALANCE_API+"/"+t.payload).pipe((0,c.U)(e=>(this.store.dispatch(new g.np({action:"FetchBalance"+t.payload,status:f.Bn.COMPLETED})),this.logger.info(e),{type:g.hn,payload:e?{target:t.payload,balance:e}:{target:t.payload,balance:"channels"===t.payload?{balance:""}:{total_balance:""}}})),(0,h.K)(e=>(this.handleErrorWithoutAlert("FetchBalance"+t.payload,f.m6.NO_SPINNER,"Fetching"+this.commonService.titleCase(t.payload)+" Balance Failed.",e),(0,s.of)({type:m.Zn})))))))),this.networkInfoFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.wE),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchNetwork",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/info"))),(0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchNetwork",status:f.Bn.COMPLETED})),{type:g._s,payload:t||{}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchNetwork",f.m6.NO_SPINNER,"Fetching Network Failed.",t),(0,s.of)({type:m.Zn}))))),this.channelsAllFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Mx),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchAllChannels",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchAllChannels",status:f.Bn.COMPLETED})),{type:g.P2,payload:t&&t.channels&&t.channels.length>0?t.channels:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchAllChannels",f.m6.NO_SPINNER,"Fetching All Channels Failed.",t),(0,s.of)({type:m.Zn})))))))),this.channelsPendingFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.W8),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchPendingChannels",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/pending").pipe((0,c.U)(t=>{this.logger.info(t),this.store.dispatch(new g.np({action:"FetchPendingChannels",status:f.Bn.COMPLETED}));const e={open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0};return t&&(e.total_limbo_balance=t.total_limbo_balance,t.pending_closing_channels&&(e.closing.num_channels=t.pending_closing_channels.length,e.total_channels=e.total_channels+t.pending_closing_channels.length,t.pending_closing_channels.forEach(t=>{e.closing.limbo_balance=+e.closing.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.pending_force_closing_channels&&(e.force_closing.num_channels=t.pending_force_closing_channels.length,e.total_channels=e.total_channels+t.pending_force_closing_channels.length,t.pending_force_closing_channels.forEach(t=>{e.force_closing.limbo_balance=+e.force_closing.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.pending_open_channels&&(e.open.num_channels=t.pending_open_channels.length,e.total_channels=e.total_channels+t.pending_open_channels.length,t.pending_open_channels.forEach(t=>{e.open.limbo_balance=+e.open.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)})),t.waiting_close_channels&&(e.waiting_close.num_channels=t.waiting_close_channels.length,e.total_channels=e.total_channels+t.waiting_close_channels.length,t.waiting_close_channels.forEach(t=>{e.waiting_close.limbo_balance=+e.waiting_close.limbo_balance+(t.channel.local_balance?+t.channel.local_balance:0)}))),{type:g.oS,payload:t?{channels:t,pendingChannels:e}:{channels:{},pendingChannels:e}}}),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPendingChannels",f.m6.NO_SPINNER,"Fetching Pending Channels Failed.",t),(0,s.of)({type:m.Zn})))))))),this.channelsClosedFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.nZ),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchClosedChannels",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_API+"/closed").pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchClosedChannels",status:f.Bn.COMPLETED})),{type:g.S1,payload:t&&t.channels&&t.channels.length>0?t.channels:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchClosedChannels",f.m6.NO_SPINNER,"Fetching Closed Channels Failed.",t),(0,s.of)({type:m.Zn})))))))),this.invoicesFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Ov),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchInvoices",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"?num_max_invoices="+(t.payload.num_max_invoices?t.payload.num_max_invoices:100)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!!t.payload.reversed&&t.payload.reversed)).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new g.np({action:"FetchInvoices",status:f.Bn.COMPLETED})),t.payload.reversed&&!t.payload.index_offset&&this.store.dispatch(new g.rc(+e.last_index_offset)),{type:g._V,payload:e})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchInvoices",f.m6.NO_SPINNER,"Fetching Invoices Failed.",t),(0,s.of)({type:m.Zn})))))))),this.transactionsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.c4),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchTransactions",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.TRANSACTIONS_API))),(0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchTransactions",status:f.Bn.COMPLETED})),{type:g.kz,payload:t&&t.length>0?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchTransactions",f.m6.NO_SPINNER,"Fetching Transactions Failed.",t),(0,s.of)({type:m.Zn}))))),this.utxosFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.s0),(0,o.M)(this.store.select("lnd")),(0,a.z)(([t,e])=>(this.store.dispatch(new g.np({action:"FetchUTXOs",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/getUTXOs?max_confs="+(e.information&&e.information.block_height?e.information.block_height:1e9)))),(0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchUTXOs",status:f.Bn.COMPLETED})),{type:g.b,payload:t&&t.length>0?t:[]})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchUTXOs",f.m6.NO_SPINNER,"Fetching UTXOs Failed.",t),(0,s.of)({type:m.Zn}))))),this.paymentsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.dG),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchPayments",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"?max_payments="+(t.payload.max_payments?t.payload.max_payments:100)+"&index_offset="+(t.payload.index_offset?t.payload.index_offset:0)+"&reversed="+(!!t.payload.reversed&&t.payload.reversed)).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchPayments",status:f.Bn.COMPLETED})),{type:g.Bj,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchPayments",f.m6.NO_SPINNER,"Fetching Payments Failed.",t),(0,s.of)({type:g.Bj,payload:{payments:[]}})))))))),this.sendPayment=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.xn),(0,a.z)(t=>{this.store.dispatch(new m.Fk(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"SendPayment",status:f.Bn.INITIATED}));const e={};return e.paymentReq=t.payload.paymentReq,t.payload.paymentAmount&&(e.paymentAmount=t.payload.paymentAmount),t.payload.outgoingChannel&&(e.outgoingChannel=t.payload.outgoingChannel.chan_id),t.payload.allowSelfPayment&&(e.allowSelfPayment=t.payload.allowSelfPayment),t.payload.lastHopPubkey&&(e.lastHopPubkey=t.payload.lastHopPubkey),t.payload.feeLimitType&&t.payload.feeLimitType!==f.Vc[0]&&(e.feeLimit={},e.feeLimit[t.payload.feeLimitType.id]=t.payload.feeLimit),this.httpClient.post(this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",e).pipe((0,c.U)(e=>{if(this.logger.info(e),this.store.dispatch(new m.Iv(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"SendPayment",status:f.Bn.COMPLETED})),e.payment_error)return t.payload.allowSelfPayment?(this.store.dispatch(new g._O({num_max_invoices:f.IV,reversed:!0})),{type:g.ug,payload:e}):(t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed.",e.payment_error):this.handleErrorWithAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",e.payment_error),{type:m.Zn});if(this.store.dispatch(new m.Iv(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"SendPayment",status:f.Bn.COMPLETED})),this.store.dispatch(new g.jh),this.store.dispatch(new g.xt({max_payments:f.IV,reversed:!0})),t.payload.allowSelfPayment)this.store.dispatch(new g._O({num_max_invoices:f.IV,reversed:!0}));else{let t="Payment Sent Successfully.";e.payment_route&&e.payment_route.total_fees_msat&&(t="Payment sent successfully with the total fee "+e.payment_route.total_fees_msat+" (mSats)."),this.store.dispatch(new m.Lw(t))}return{type:g.ug,payload:e}}),(0,h.K)(e=>(this.logger.error("Error: "+JSON.stringify(e)),t.payload.allowSelfPayment?(this.handleErrorWithoutAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed.",e),this.store.dispatch(new g._O({num_max_invoices:f.IV,reversed:!0})),(0,s.of)({type:g.ug,payload:{error:this.commonService.extractErrorMessage(e)}})):(t.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed.",e):this.handleErrorWithAlert("SendPayment",t.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+u.N.CHANNELS_API+"/transactions",e),(0,s.of)({type:m.Zn})))))}))),this.graphNodeFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.Pp),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.GET_NODE_ADDRESS)),this.store.dispatch(new g.np({action:"FetchGraphNode",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload.pubkey).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.GET_NODE_ADDRESS)),this.store.dispatch(new g.np({action:"FetchGraphNode",status:f.Bn.COMPLETED})),{type:g.RN,payload:t&&t.node?{node:t.node}:{node:null}})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchGraphNode",f.m6.GET_NODE_ADDRESS,"Fetching Graph Node Failed.",t),(0,s.of)({type:m.Zn})))))))),this.setGraphNode=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.RN),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.getNewAddress=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.t7),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.GENERATE_NEW_ADDRESS)),this.httpClient.get(this.CHILD_API_URL+u.N.NEW_ADDRESS_API+"?type="+t.payload.addressId).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.GENERATE_NEW_ADDRESS)),{type:g.i_,payload:t&&t.address?t.address:{}})),(0,h.K)(e=>(this.handleErrorWithAlert("GetNewAddress",f.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+u.N.NEW_ADDRESS_API+"?type="+t.payload.addressId,e),(0,s.of)({type:m.Zn})))))))),this.setNewAddress=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.i_),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.SetChannelTransaction=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.s8),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.SEND_FUNDS)),this.store.dispatch(new g.np({action:"SetChannelTransaction",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.TRANSACTIONS_API,{amount:t.payload.amount,address:t.payload.address,sendAll:t.payload.sendAll,fees:t.payload.fees,blocks:t.payload.blocks}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"SetChannelTransaction",status:f.Bn.COMPLETED})),this.store.dispatch(new m.Iv(f.m6.SEND_FUNDS)),this.store.dispatch(new g.eL),this.store.dispatch(new g.D8("Blockchain")),this.store.dispatch(new g.jh),{type:g.__,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("SetChannelTransaction",f.m6.SEND_FUNDS,"Sending Fund Failed.",t),(0,s.of)({type:m.Zn})))))))),this.fetchForwardingHistory=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.LC),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"GetForwardingHistory",status:f.Bn.INITIATED})),this.httpClient.post(this.CHILD_API_URL+u.N.SWITCH_API,{num_max_events:t.payload.num_max_events,index_offset:t.payload.index_offset,end_time:t.payload.end_time,start_time:t.payload.start_time}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"GetForwardingHistory",status:f.Bn.COMPLETED})),{type:g.x,payload:t})),(0,h.K)(t=>(this.handleErrorWithAlert("GetForwardingHistory",f.m6.NO_SPINNER,"Get Forwarding History Failed",this.CHILD_API_URL+u.N.SWITCH_API,t),(0,s.of)({type:m.Zn})))))))),this.queryRoutesFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.on),(0,a.z)(t=>{let e=this.CHILD_API_URL+u.N.NETWORK_API+"/routes/"+t.payload.destPubkey+"/"+t.payload.amount;return t.payload.outgoingChanId&&(e=e+"?outgoing_chan_id="+t.payload.outgoingChanId),this.httpClient.get(e).pipe((0,c.U)(t=>(this.logger.info(t),{type:g.qs,payload:t})),(0,h.K)(t=>(this.store.dispatch(new g.lO({})),this.handleErrorWithAlert("GetQueryRoutes",f.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+u.N.NETWORK_API,t),(0,s.of)({type:m.Zn}))))}))),this.setQueryRoutes=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.qs),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.genSeed=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.U8),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.GEN_SEED)),this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/genseed/"+t.payload).pipe((0,c.U)(t=>(this.logger.info("Generated GenSeed!"),this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.GEN_SEED)),{type:g.ZV,payload:t.cipher_seed_mnemonic})),(0,h.K)(e=>(this.handleErrorWithAlert("GenSeed",f.m6.GEN_SEED,"Genseed Generation Failed",this.CHILD_API_URL+u.N.WALLET_API+"/genseed/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.updateSelNodeOptions=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(m.SK),(0,a.z)(t=>this.httpClient.get(this.CHILD_API_URL+u.N.WALLET_API+"/updateSelNodeOptions").pipe((0,c.U)(t=>(this.logger.info("Update Sel Node Successfull"),this.logger.info(t),{type:m.Zn})),(0,h.K)(t=>(this.handleErrorWithAlert("UpdateSelectedNodeOptions",f.m6.NO_SPINNER,"Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!","Update Macaroon",t),(0,s.of)({type:m.Zn}))))))),this.genSeedResponse=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.ZV),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.initWalletRes=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.hL),(0,c.U)(t=>t.payload)),{dispatch:!1}),this.initWallet=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.$L),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.INITIALIZE_WALLET)),this.httpClient.post(this.CHILD_API_URL+u.N.WALLET_API+"/wallet/initwallet",{wallet_password:t.payload.pwd,cipher_seed_mnemonic:t.payload.cipher?t.payload.cipher:"",aezeed_passphrase:t.payload.passphrase?t.payload.passphrase:""}).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.INITIALIZE_WALLET)),{type:g.hL,payload:t})),(0,h.K)(t=>(this.handleErrorWithAlert("InitWallet",f.m6.INITIALIZE_WALLET,"Wallet Initialization Failed",this.CHILD_API_URL+u.N.WALLET_API+"/initwallet",t),(0,s.of)({type:m.Zn})))))))),this.unlockWallet=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.As),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.UNLOCK_WALLET)),this.httpClient.post(this.CHILD_API_URL+u.N.WALLET_API+"/wallet/unlockwallet",{wallet_password:t.payload.pwd}).pipe((0,c.U)(t=>(this.logger.info(t),this.logger.info("Successfully Unlocked!"),this.sessionService.setItem("lndUnlocked","true"),this.store.dispatch(new m.Iv(f.m6.UNLOCK_WALLET)),this.store.dispatch(new m.Fk(f.m6.WAIT_SYNC_NODE)),setTimeout(()=>{this.store.dispatch(new m.Iv(f.m6.WAIT_SYNC_NODE)),this.store.dispatch(new g.z6({loadPage:"HOME"}))},5e3),{type:m.Zn})),(0,h.K)(t=>(this.handleErrorWithAlert("UnlockWallet",f.m6.UNLOCK_WALLET,"Unlock Wallet Failed",this.CHILD_API_URL+u.N.WALLET_API+"/unlockwallet",t),(0,s.of)({type:m.Zn}))))))),{dispatch:!1}),this.peerLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.gk),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.SEARCHING_NODE)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.SEARCHING_NODE)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.COMPLETED})),{type:g.RP,payload:t})),(0,h.K)(e=>(this.handleErrorWithAlert("Lookup",f.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/node/"+t.payload,e),(0,s.of)({type:m.Zn})))))))),this.channelLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.K4),(0,a.z)(t=>(this.store.dispatch(new m.Fk(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.NETWORK_API+"/edge/"+t.payload.channelID).pipe((0,c.U)(e=>(this.logger.info(e),this.store.dispatch(new m.Iv(t.payload.uiMessage)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.COMPLETED})),{type:g.RP,payload:e})),(0,h.K)(e=>(this.handleErrorWithAlert("Lookup",t.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+u.N.NETWORK_API+"/edge/"+t.payload.channelID,e),this.store.dispatch(new g.O_({})),(0,s.of)({type:m.Zn})))))))),this.invoiceLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.lf),(0,a.z)(t=>(this.store.dispatch(new m.Fk(f.m6.SEARCHING_INVOICE)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.INVOICES_API+"/"+t.payload).pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new m.Iv(f.m6.SEARCHING_INVOICE)),this.store.dispatch(new g.np({action:"Lookup",status:f.Bn.COMPLETED})),{type:g.RP,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("Lookup",f.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",t),this.store.dispatch(new m.Lw({message:"Invoice Refresh Failed.",type:"ERROR"})),(0,s.of)({type:m.Zn})))))))),this.setLookup=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.RP),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.getRestoreChannelList=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.AV),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"RestoreChannelsList",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API+"/restore/list").pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"RestoreChannelsList",status:f.Bn.COMPLETED})),{type:g.S,payload:t||{all_restore_exists:!1,files:[]}})),(0,h.K)(t=>(this.handleErrorWithAlert("RestoreChannelsList",f.m6.NO_SPINNER,"Restore Channels List Failed",this.CHILD_API_URL+u.N.CHANNELS_BACKUP_API,t),(0,s.of)({type:m.Zn})))))))),this.setRestoreChannelList=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.S),(0,c.U)(t=>(this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.allLightningTransactionsFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(g.YA),(0,a.z)(t=>(this.store.dispatch(new g.np({action:"FetchLightningTransactions",status:f.Bn.INITIATED})),this.httpClient.get(this.CHILD_API_URL+u.N.PAYMENTS_API+"/alltransactions").pipe((0,c.U)(t=>(this.logger.info(t),this.store.dispatch(new g.np({action:"FetchLightningTransactions",status:f.Bn.COMPLETED})),{type:g.tB,payload:t})),(0,h.K)(t=>(this.handleErrorWithoutAlert("FetchLightningTransactions",f.m6.NO_SPINNER,"Fetching All Lightning Transaction Failed.",t),(0,s.of)({type:m.Zn})))))))),this.store.select("lnd").pipe((0,l.R)(this.unSubs[0])).subscribe(t=>{t.apisCallStatus.FetchInfo.status!==f.Bn.COMPLETED&&t.apisCallStatus.FetchInfo.status!==f.Bn.ERROR||t.apisCallStatus.FetchFees.status!==f.Bn.COMPLETED&&t.apisCallStatus.FetchFees.status!==f.Bn.ERROR||t.apisCallStatus.FetchBalanceBlockchain.status!==f.Bn.COMPLETED&&t.apisCallStatus.FetchBalanceBlockchain.status!==f.Bn.ERROR||t.apisCallStatus.FetchAllChannels.status!==f.Bn.COMPLETED&&t.apisCallStatus.FetchAllChannels.status!==f.Bn.ERROR||t.apisCallStatus.FetchPendingChannels.status!==f.Bn.COMPLETED&&t.apisCallStatus.FetchPendingChannels.status!==f.Bn.ERROR||this.flgInitialized||(this.store.dispatch(new m.Iv(f.m6.INITALIZE_NODE_DATA)),this.flgInitialized=!0)})}initializeRemainingData(t,e){this.sessionService.setItem("lndUnlocked","true");const i={identity_pubkey:t.identity_pubkey,alias:t.alias,testnet:t.testnet,chains:t.chains,uris:t.uris,version:t.version?t.version.split(" ")[0]:""};this.store.dispatch(new m.Fk(f.m6.INITALIZE_NODE_DATA)),this.store.dispatch(new m.e6(i)),this.store.dispatch(new g.od),this.store.dispatch(new g.D8("Blockchain")),this.store.dispatch(new g.jh),this.store.dispatch(new g.Zb),this.store.dispatch(new g.Ao),this.store.dispatch(new g.N9),this.store.dispatch(new g.h7),this.store.dispatch(new g.dw),this.store.dispatch(new g._O({num_max_invoices:10,reversed:!0})),this.store.dispatch(new g.xt({max_payments:10,reversed:!0}));let n=this.location.path();n.includes("/cl/")?n=n.replace("/cl/","/lnd/"):n.includes("/ecl/")&&(n=n.replace("/ecl/","/lnd/")),(n.includes("/unlock")||n.includes("/login")||n.includes("/error")||""===n||"HOME"===e||n.includes("?access-key="))&&(n="/lnd/home"),this.router.navigate([n])}handleErrorWithoutAlert(t,e,i,n){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(n)),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv(e)),this.store.dispatch(new g.np({action:t,status:f.Bn.ERROR,statusCode:n.status.toString(),message:this.commonService.extractErrorMessage(n,i)})))}handleErrorWithAlert(t,e,i,n,r){if(this.logger.error(r),401===r.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new m.Iv(e));const s=this.commonService.extractErrorMessage(r);this.store.dispatch(new m.wu({data:{type:"ERROR",alertTitle:i,message:{code:r.status,message:s,URL:n},component:p.H}})),this.store.dispatch(new g.np({action:t,status:f.Bn.ERROR,statusCode:r.status.toString(),message:s,URL:n}))}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eX),y.LFG(b.eN),y.LFG(v.yh),y.LFG(_.mQ),y.LFG(w.v),y.LFG(x.m),y.LFG(C.uw),y.LFG(A.F0),y.LFG(S.Ye))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},1827:(t,e,i)=>{"use strict";i.d(e,{v:()=>V});var n=i(4608),r=i(5291),s=i(9421),o=i(1572),a=i(3869),l=i(1084),c=i(1403),h=i(3722),u=i(1511),d=i(377),p=i(7439),f=i(7592),m=i(5980),g=i(7038),y=i(7679),b=i(3600),v=i(5001),_=i(6828),w=i(3691),x=i(6880),C=i(2609);const A=["scrollContainer"];function S(t,e){if(1&t&&o._UZ(0,"qrcode",32),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.payment_request)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function E(t,e){1&t&&(o.TgZ(0,"span",33),o._uU(1,"N/A"),o.qZA())}function k(t,e){if(1&t&&o._UZ(0,"qrcode",32),2&t){const t=o.oxw();o.Q6J("qrdata",t.invoice.payment_request)("margin",2)("width",t.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function T(t,e){1&t&&(o.TgZ(0,"span",34),o._uU(1,"QR Code Not Applicable"),o.qZA())}function M(t,e){1&t&&o._UZ(0,"mat-divider",22),2&t&&o.Q6J("inset",!0)}function L(t,e){1&t&&(o.ynx(0),o._uU(1," (zero amount) "),o.BQk())}const I=function(t){return{"mr-0":t}};function O(t,e){if(1&t&&o._UZ(0,"span",51),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function D(t,e){if(1&t&&o._UZ(0,"span",52),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function R(t,e){if(1&t&&o._UZ(0,"span",53),2&t){const t=o.oxw(4);o.Q6J("ngClass",o.VKq(1,I,t.screenSize===t.screenSizeEnum.XS))}}function N(t,e){if(1&t&&(o.TgZ(0,"div",40),o.TgZ(1,"div",45),o.TgZ(2,"span",46),o.YNc(3,O,1,3,"span",47),o.YNc(4,D,1,3,"span",48),o.YNc(5,R,1,3,"span",49),o._uU(6),o.qZA(),o.TgZ(7,"span",50),o._uU(8),o.ALo(9,"number"),o.qZA(),o.qZA(),o._UZ(10,"mat-divider",22),o.qZA()),2&t){const t=e.$implicit,i=o.oxw(3);o.xp6(3),o.Q6J("ngIf","SETTLED"===t.state),o.xp6(1),o.Q6J("ngIf","ACCEPTED"===t.state),o.xp6(1),o.Q6J("ngIf","CANCELED"===t.state),o.xp6(1),o.hij(" ",t.chan_id," "),o.xp6(2),o.Oqu(o.xi3(9,6,+t.amt_msat/1e3||0,i.getDecimalFormat(t))),o.xp6(2),o.Q6J("inset",!0)}}function P(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",17),o.TgZ(1,"mat-expansion-panel",38),o.NdJ("opened",function(){return o.CHM(t),o.oxw(2).flgOpened=!0})("closed",function(){return o.CHM(t),o.oxw(2).onExpansionClosed()}),o.TgZ(2,"mat-expansion-panel-header"),o.TgZ(3,"mat-panel-title"),o.TgZ(4,"h4",39),o._uU(5,"HTLCs"),o.qZA(),o.qZA(),o.qZA(),o.TgZ(6,"div",40),o.TgZ(7,"div",41),o.TgZ(8,"span",42),o._uU(9,"Channel ID"),o.qZA(),o.TgZ(10,"span",43),o._uU(11,"Amount (Sats)"),o.qZA(),o.qZA(),o._UZ(12,"mat-divider",22),o.YNc(13,N,11,9,"div",44),o.qZA(),o.qZA(),o.qZA()}if(2&t){const t=o.oxw(2);o.xp6(12),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngForOf",t.invoice.htlcs)}}function F(t,e){1&t&&o._UZ(0,"mat-divider",22),2&t&&o.Q6J("inset",!0)}function Z(t,e){if(1&t&&(o.TgZ(0,"div"),o._UZ(1,"mat-divider",22),o.TgZ(2,"div",17),o.TgZ(3,"div",23),o.TgZ(4,"h4",19),o._uU(5,"R Preimage"),o.qZA(),o.TgZ(6,"span",24),o._uU(7),o.qZA(),o.qZA(),o.qZA(),o._UZ(8,"mat-divider",22),o.TgZ(9,"div",17),o.TgZ(10,"div",35),o.TgZ(11,"h4",19),o._uU(12,"State"),o.qZA(),o.TgZ(13,"span",24),o._uU(14),o.qZA(),o.qZA(),o.TgZ(15,"div",36),o.TgZ(16,"h4",19),o._uU(17,"Expiry"),o.qZA(),o.TgZ(18,"span",24),o._uU(19),o.qZA(),o.qZA(),o.TgZ(20,"div",36),o.TgZ(21,"h4",19),o._uU(22,"Private Routing Hints"),o.qZA(),o.TgZ(23,"span",24),o._uU(24),o.qZA(),o.qZA(),o.qZA(),o._UZ(25,"mat-divider",22),o.YNc(26,P,14,2,"div",37),o.YNc(27,F,1,1,"mat-divider",14),o.qZA()),2&t){const t=o.oxw();o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.invoice.r_preimage||"-"),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(t.invoice.state),o.xp6(5),o.Oqu(t.invoice.expiry),o.xp6(5),o.Oqu(t.invoice.private?"Yes":"No"),o.xp6(1),o.Q6J("inset",!0),o.xp6(1),o.Q6J("ngIf",t.invoice.htlcs&&t.invoice.htlcs.length>0),o.xp6(1),o.Q6J("ngIf",t.invoice.htlcs&&t.invoice.htlcs.length>0)}}function B(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"div",54),o.TgZ(1,"button",55),o.NdJ("click",function(){return o.CHM(t),o.oxw().onScrollDown()}),o.TgZ(2,"mat-icon",56),o._uU(3,"arrow_downward"),o.qZA(),o.qZA(),o.qZA()}}function U(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Show Advanced"),o.qZA())}function q(t,e){1&t&&(o.TgZ(0,"p"),o._uU(1,"Hide Advanced"),o.qZA())}function z(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",57),o.NdJ("copied",function(e){return o.CHM(t),o.oxw().onCopyPayment(e)}),o._uU(1),o.qZA()}if(2&t){const t=o.oxw();o.Q6J("payload",t.invoice.payment_request),o.xp6(1),o.Oqu(t.screenSize===t.screenSizeEnum.XS?"Copy Payment":"Copy Payment Request")}}function H(t,e){if(1&t){const t=o.EpF();o.TgZ(0,"button",58),o.NdJ("click",function(){return o.CHM(t),o.oxw().onClose()}),o._uU(1,"OK"),o.qZA()}}const Y=function(t){return{"display-none":t}},G=function(t){return{"xs-scroll-y":t}},j=function(t){return{"h-46":t}};let V=(()=>{class t{constructor(t,e,i,n,o){this.dialogRef=t,this.data=e,this.logger=i,this.commonService=n,this.snackBar=o,this.faReceipt=r.dLy,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOpened=!1}set container(t){t&&(this.scrollContainer=t)}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220)}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced,this.flgOpened=!1}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+60}onExpansionClosed(){this.flgOpened=!1,this.scrollContainer.nativeElement.scrollTop=0}onCopyPayment(t){this.snackBar.open("Payment request copied."),this.logger.info("Copied Text: "+t)}getDecimalFormat(t){return t.amt_msat<1e3?"1.0-4":"1.0-0"}}return t.\u0275fac=function(e){return new(e||t)(o.Y36(n.so),o.Y36(n.WI),o.Y36(a.mQ),o.Y36(l.v),o.Y36(c.ux))},t.\u0275cmp=o.Xpm({type:t,selectors:[["rtl-invoice-information"]],viewQuery:function(t,e){if(1&t&&o.Gf(A,5),2&t){let t;o.iGM(t=o.CRH())&&(e.container=t.first)}},decls:63,vars:44,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxLayout","column","fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],[3,"perfectScrollbar","ngClass"],["scrollContainer",""],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"my-1",3,"inset"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"font-size-300"],[1,"font-size-120"],["fxFlex","34"],["fxFlex","33"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"flat-expansion-panel",3,"opened","closed"],["fxLayoutAlign","start center","fxFlex","100",1,"font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"mt-minus-1"],["fxFlex","60",1,"foreground-secondary-text","font-bold-500"],["fxFlex","40",1,"foreground-secondary-text","font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100"],["fxFlex","60",1,"foreground-secondary-text"],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Accepted","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Cancelled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["fxFlex","40",1,"foreground-secondary-text"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Accepted","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Cancelled","matTooltipPosition","right",1,"dot","red",3,"ngClass"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(t,e){if(1&t&&(o.TgZ(0,"div",0),o.TgZ(1,"div",1),o.YNc(2,S,1,5,"qrcode",2),o.YNc(3,E,2,0,"span",3),o.qZA(),o.TgZ(4,"div",4),o.TgZ(5,"mat-card-header",5),o.TgZ(6,"div",6),o._UZ(7,"fa-icon",7),o.TgZ(8,"span",8),o._uU(9),o.qZA(),o.qZA(),o.TgZ(10,"button",9),o.NdJ("click",function(){return e.onClose()}),o._uU(11,"X"),o.qZA(),o.qZA(),o.TgZ(12,"mat-card-content",10),o.TgZ(13,"div",11),o.TgZ(14,"div",12),o.YNc(15,k,1,5,"qrcode",2),o.YNc(16,T,2,0,"span",13),o.qZA(),o.YNc(17,M,1,1,"mat-divider",14),o.TgZ(18,"div",15,16),o.TgZ(20,"div",17),o.TgZ(21,"div",18),o.TgZ(22,"h4",19),o._uU(23),o.qZA(),o.TgZ(24,"span",20),o._uU(25),o.ALo(26,"number"),o.YNc(27,L,2,0,"ng-container",21),o.qZA(),o.qZA(),o.TgZ(28,"div",18),o.TgZ(29,"h4",19),o._uU(30,"Memo"),o.qZA(),o.TgZ(31,"span",20),o._uU(32),o.qZA(),o.qZA(),o.qZA(),o._UZ(33,"mat-divider",22),o.TgZ(34,"div",17),o.TgZ(35,"div",18),o.TgZ(36,"h4",19),o._uU(37,"Date Created"),o.qZA(),o.TgZ(38,"span",20),o._uU(39),o.ALo(40,"date"),o.qZA(),o.qZA(),o.TgZ(41,"div",18),o.TgZ(42,"h4",19),o._uU(43,"Date Settled"),o.qZA(),o.TgZ(44,"span",20),o._uU(45),o.ALo(46,"date"),o.qZA(),o.qZA(),o.qZA(),o._UZ(47,"mat-divider",22),o.TgZ(48,"div",17),o.TgZ(49,"div",23),o.TgZ(50,"h4",19),o._uU(51,"Payment Request"),o.qZA(),o.TgZ(52,"span",24),o._uU(53),o.qZA(),o.qZA(),o.qZA(),o.YNc(54,Z,28,9,"div",21),o.qZA(),o.qZA(),o.qZA(),o.YNc(55,B,4,0,"div",25),o.TgZ(56,"div",26),o.TgZ(57,"button",27),o.NdJ("click",function(){return e.onShowAdvanced()}),o.YNc(58,U,2,0,"p",28),o.YNc(59,q,2,0,"ng-template",null,29,o.W1O),o.qZA(),o.YNc(61,z,2,2,"button",30),o.YNc(62,H,2,0,"button",31),o.qZA(),o.qZA(),o.qZA()),2&t){const t=o.MAs(60);o.xp6(1),o.Q6J("fxLayoutAlign",e.invoice.payment_request&&""!==e.invoice.payment_request?"center start":"center center")("ngClass",o.VKq(36,Y,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request),o.xp6(4),o.Q6J("icon",e.faReceipt),o.xp6(2),o.Oqu(e.screenSize===e.screenSizeEnum.XS?e.newlyAdded?"Created":"Invoice":e.newlyAdded?"Invoice Created":"Invoice Information"),o.xp6(3),o.Q6J("ngClass",o.VKq(38,G,e.screenSize===e.screenSizeEnum.XS)),o.xp6(2),o.Q6J("fxLayoutAlign",e.invoice.payment_request&&""!==e.invoice.payment_request?"center start":"center center")("ngClass",o.VKq(40,Y,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),o.xp6(1),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM),o.xp6(1),o.Q6J("ngClass",o.VKq(42,j,e.invoice.htlcs&&e.invoice.htlcs.length>0&&e.showAdvanced)),o.xp6(5),o.Oqu(e.screenSize===e.screenSizeEnum.XS?"Amount":"Amount Requested"),o.xp6(2),o.hij("",o.lcZ(26,28,e.invoice.value||0)," Sats"),o.xp6(2),o.Q6J("ngIf",!e.invoice.value),o.xp6(5),o.Oqu(e.invoice.memo),o.xp6(1),o.Q6J("inset",!0),o.xp6(6),o.Oqu(o.xi3(40,30,1e3*e.invoice.creation_date,"dd/MMM/YYYY HH:mm")),o.xp6(6),o.Oqu(0!=+e.invoice.settle_date?o.xi3(46,33,1e3*+e.invoice.settle_date,"dd/MMM/YYYY HH:mm"):"-"),o.xp6(2),o.Q6J("inset",!0),o.xp6(6),o.Oqu(e.invoice.payment_request||"N/A"),o.xp6(1),o.Q6J("ngIf",e.showAdvanced),o.xp6(1),o.Q6J("ngIf",e.invoice.htlcs&&e.invoice.htlcs.length>0&&e.showAdvanced&&e.flgOpened),o.xp6(3),o.Q6J("ngIf",!e.showAdvanced)("ngIfElse",t),o.xp6(3),o.Q6J("ngIf",e.invoice.payment_request&&""!==e.invoice.payment_request),o.xp6(1),o.Q6J("ngIf",!e.invoice.payment_request||""===e.invoice.payment_request)}},directives:[h.xw,h.Wh,h.yH,u.mk,d.oO,u.O5,p.dk,f.BN,m.lW,p.dn,g.$V,y.d,b.V,v.ib,v.yz,v.yK,u.sg,_.gM,w.Hw,x.h,C.y],pipes:[u.JJ,u.uU],styles:[""]}),t})()},4833:(t,e,i)=>{"use strict";i.d(e,{_:()=>r,J:()=>s});var n=i(709);const r=[(0,n.X$)("opacityAnimation",[(0,n.eR)(":enter",[(0,n.oB)({opacity:0}),(0,n.jt)("1000ms ease-in",(0,n.oB)({opacity:1}))]),(0,n.eR)(":leave",[(0,n.jt)("0ms",(0,n.oB)({opacity:0}))])])],s=[(0,n.X$)("fadeIn",[(0,n.eR)("void => *",[]),(0,n.eR)("* => void",[]),(0,n.eR)("* => *",[(0,n.jt)(800,(0,n.F4)([(0,n.oB)({opacity:0,transform:"translateY(100%)"}),(0,n.oB)({opacity:1,transform:"translateY(0%)"})]))])])]},2865:(t,e,i)=>{"use strict";i.d(e,{g:()=>r});var n=i(709);const r=(0,n.X$)("routeAnimation",[(0,n.eR)("* => *",[(0,n.IO)(":enter, :leave",(0,n.oB)({position:"fixed",width:"100%"}),{optional:!0}),(0,n.ru)([(0,n.IO)(":enter",[(0,n.oB)({transform:"translateX(100%)"}),(0,n.jt)("1000ms ease-in-out",(0,n.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,n.IO)(":leave",[(0,n.oB)({transform:"translateX(0%)"}),(0,n.jt)("1000ms ease-in-out",(0,n.oB)({transform:"translateX(-100%)"}))],{optional:!0})])])])},194:(t,e,i)=>{"use strict";i.d(e,{l:()=>r});var n=i(709);const r=[(0,n.X$)("sliderAnimation",[(0,n.SB)("*",(0,n.oB)({transform:"translateX(0)"})),(0,n.eR)("void => backward",[(0,n.oB)({transform:"translateX(-100%"}),(0,n.jt)("800ms")]),(0,n.eR)("backward => void",[(0,n.jt)("0ms",(0,n.oB)({transform:"translateX(100%)"}))]),(0,n.eR)("void => forward",[(0,n.oB)({transform:"translateX(100%"}),(0,n.jt)("800ms")]),(0,n.eR)("forward => void",[(0,n.jt)("0ms",(0,n.oB)({transform:"translateX(-100%)"}))])])]},2427:(t,e,i)=>{"use strict";i.d(e,{H:()=>p});var n=i(4608),r=i(1572),s=i(3869),o=i(3722),a=i(7439),l=i(5980),c=i(1511),h=i(7679),u=i(6880);function d(t,e){if(1&t&&(r.TgZ(0,"p",14),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.data.titleMessage)}}let p=(()=>{class t{constructor(t,e,i){this.dialogRef=t,this.data=e,this.logger=i,this.errorMessage=""}ngOnInit(){this.errorMessage="object"==typeof this.data.message.message?JSON.stringify(this.data.message.message):this.data.message.message,this.data.message||this.data.titleMessage||this.data.message||(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.data.message)}onClose(){this.dialogRef.close(!1)}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(n.so),r.Y36(n.WI),r.Y36(s.mQ))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-error-message"]],decls:29,vars:6,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large","error-alert-block"],["fxLayout","column"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],[1,"word-break"],["fxLayout","row","fxLayoutAlign","end center"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","start center",1,"pb-1"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r.NdJ("click",function(){return e.onClose()}),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"div",7),r.YNc(10,d,2,1,"p",8),r.TgZ(11,"h4",9),r._uU(12,"Error Code"),r.qZA(),r.TgZ(13,"span"),r._uU(14),r.qZA(),r._UZ(15,"mat-divider",10),r.TgZ(16,"h4",9),r._uU(17,"Error Message"),r.qZA(),r.TgZ(18,"span",11),r._uU(19),r.qZA(),r._UZ(20,"mat-divider",10),r.TgZ(21,"h4",9),r._uU(22,"API URL"),r.qZA(),r.TgZ(23,"span",11),r._uU(24),r.qZA(),r._UZ(25,"mat-divider",10),r.TgZ(26,"div",12),r.TgZ(27,"button",13),r._uU(28,"OK"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(5),r.Oqu(e.data.alertTitle||"ERROR"),r.xp6(5),r.Q6J("ngIf",e.data.titleMessage),r.xp6(4),r.Oqu(e.data.message.code),r.xp6(5),r.Oqu(e.errorMessage),r.xp6(5),r.Oqu(e.data.message.URL),r.xp6(3),r.Q6J("mat-dialog-close",!1))},directives:[o.xw,o.yH,a.dk,o.Wh,l.lW,a.dn,c.O5,h.d,u.h,n.ZT],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]}),t})()},8016:(t,e,i)=>{"use strict";i.d(e,{w:()=>h});var n=i(5291),r=i(1572),s=i(6853),o=i(3722),a=i(7592),l=i(7439),c=i(5980);let h=(()=>{class t{constructor(t){this.router=t,this.faTimes=n.NBC}goToHelp(){this.router.navigate(["/help"])}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(s.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-not-found"]],decls:13,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column",1,"padding-gap-large"],["fxLayout","column","fxLayoutAlign","start start"],[1,"box-text"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Page Not Found"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"div",5),r.TgZ(8,"div",6),r._uU(9,"This page does not exist!"),r.qZA(),r.TgZ(10,"span",7),r.TgZ(11,"button",8),r.NdJ("click",function(){return e.goToHelp()}),r._uU(12,"Go To Help"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faTimes))},directives:[o.xw,o.Wh,a.BN,l.a8,l.dn,o.yH,c.lW],encapsulation:2}),t})()},5028:(t,e,i)=>{"use strict";i.d(e,{a:()=>Qt});var n=i(6073),r=i(9666),s=i(9568),o=i(4608),a=i(5291),l=i(4833),c=i(9421),h=i(1572),u=i(964),d=i(2969),p=i(1511),f=i(3869),m=i(6853),g=i(1084),y=i(3722),b=i(7439),v=i(5980),_=i(7753),w=i(5001),x=i(377),C=i(6828),A=i(7679);function S(t,e){1&t&&h.GkF(0)}function E(t,e){1&t&&h.GkF(0)}const k=function(t){return{"h-5":t}};function T(t,e){if(1&t&&(h.TgZ(0,"mat-expansion-panel",3),h.TgZ(1,"mat-expansion-panel-header"),h.TgZ(2,"mat-panel-title"),h.TgZ(3,"span",4),h._uU(4),h.ALo(5,"number"),h.qZA(),h.qZA(),h.qZA(),h.YNc(6,E,1,0,"ng-container",0),h.qZA()),2&t){const t=h.oxw(),e=h.MAs(4);h.Q6J("expanded",t.panelExpanded)("ngClass",h.VKq(7,k,!t.flgShowPanel)),h.xp6(4),h.AsE("Quote for ",t.termCaption," amount (",h.lcZ(5,5,t.quote.amount)," Sats)"),h.xp6(2),h.Q6J("ngTemplateOutlet",e)}}function M(t,e){if(1&t&&(h.TgZ(0,"div",17),h.TgZ(1,"h4",8),h._uU(2,"Prepay Amount (Sats)"),h.qZA(),h.TgZ(3,"span",9),h._uU(4),h.ALo(5,"number"),h.qZA(),h.qZA()),2&t){const t=h.oxw(2);h.xp6(4),h.Oqu(h.lcZ(5,1,null==t.quote?null:t.quote.prepay_amt_sat))}}function L(t,e){1&t&&h._UZ(0,"mat-divider",12)}function I(t,e){if(1&t&&(h.TgZ(0,"div",6),h.TgZ(1,"div",18),h.TgZ(2,"h4",8),h._uU(3,"Swap Server Node Pubkey"),h.qZA(),h.TgZ(4,"span",9),h._uU(5),h.qZA(),h.qZA(),h.qZA()),2&t){const t=h.oxw(2);h.xp6(5),h.Oqu(null==t.quote?null:t.quote.swap_payment_dest)}}function O(t,e){if(1&t&&(h.TgZ(0,"div",5),h.TgZ(1,"div",6),h.TgZ(2,"div",7),h.TgZ(3,"h4",8),h._uU(4,"Swap Fee (Sats)"),h.qZA(),h.TgZ(5,"span",9),h._uU(6),h.ALo(7,"number"),h.qZA(),h.qZA(),h.TgZ(8,"div",10),h.TgZ(9,"h4",8),h._uU(10),h.qZA(),h.TgZ(11,"span",9),h._uU(12),h.ALo(13,"number"),h.qZA(),h.qZA(),h.YNc(14,M,6,3,"div",11),h.qZA(),h._UZ(15,"mat-divider",12),h.TgZ(16,"div",6),h.TgZ(17,"div",13),h.TgZ(18,"h4",8),h._uU(19,"Max Off-chain Swap Routing Fee (Sats)"),h.qZA(),h.TgZ(20,"span",9),h._uU(21),h.ALo(22,"number"),h.qZA(),h.qZA(),h.TgZ(23,"div",14),h.TgZ(24,"h4",8),h._uU(25,"Max Off-chain Prepay Routing Fee (Sats)"),h.qZA(),h.TgZ(26,"span",9),h._uU(27,"36"),h.qZA(),h.qZA(),h.qZA(),h.YNc(28,L,1,0,"mat-divider",15),h.YNc(29,I,6,1,"div",16),h.qZA()),2&t){const t=h.oxw();h.xp6(2),h.Q6J("fxFlex",null!=t.quote&&t.quote.prepay_amt_sat?"30":"50"),h.xp6(4),h.Oqu(h.lcZ(7,9,null==t.quote?null:t.quote.swap_fee_sat)),h.xp6(2),h.Q6J("fxFlex",null!=t.quote&&t.quote.prepay_amt_sat?"30":"50"),h.xp6(2),h.Oqu(null!=t.quote&&t.quote.htlc_sweep_fee_sat?"HTLC Sweep Fee (Sats)":null!=t.quote&&t.quote.htlc_publish_fee_sat?"HTLC Publish Fee (Sats)":""),h.xp6(2),h.Oqu(h.lcZ(13,11,null!=t.quote&&t.quote.htlc_sweep_fee_sat?t.quote.htlc_sweep_fee_sat:null!=t.quote&&t.quote.htlc_publish_fee_sat?t.quote.htlc_publish_fee_sat:0)),h.xp6(2),h.Q6J("ngIf",null==t.quote?null:t.quote.prepay_amt_sat),h.xp6(7),h.Oqu(h.lcZ(22,13,(null==t.quote?null:t.quote.amount)*((null!=t.quote&&t.quote.off_chain_swap_routing_fee_percentage?null==t.quote?null:t.quote.off_chain_swap_routing_fee_percentage:2)/100))),h.xp6(7),h.Q6J("ngIf",""!==(null==t.quote?null:t.quote.swap_payment_dest)),h.xp6(1),h.Q6J("ngIf",""!==(null==t.quote?null:t.quote.swap_payment_dest))}}let D=(()=>{class t{constructor(){this.quote={},this.termCaption="",this.showPanel=!0,this.panelExpanded=!1,this.flgShowPanel=!1}ngOnInit(){setTimeout(()=>{this.flgShowPanel=!0},1200)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=h.Xpm({type:t,selectors:[["rtl-loop-quote"]],inputs:{quote:"quote",termCaption:"termCaption",showPanel:"showPanel",panelExpanded:"panelExpanded"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["informationBlock",""],["quoteDetailsBlock",""],["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded","ngClass"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["matTooltip","Estimated fee charged by the loop server for the swap",3,"fxFlex"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],["matTooltip","An estimate of the on-chain fee that needs to be paid to sweep the HTLC",3,"fxFlex"],["fxFlex","40","matTooltip","The part of the swap fee that is requested as a prepayment",4,"ngIf"],[1,"w-100","my-1"],["fxFlex","50","matTooltip","Maximum off-chain fee that may be paid for routing the payment amount to the server"],["fxFlex","50","matTooltip","Maximum off-chain fee that may be paid for routing the pre-payment amount to the server"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxFlex","40","matTooltip","The part of the swap fee that is requested as a prepayment"],["fxFlex","100","matTooltip","The node pubkey, where the swap payments will be sent"]],template:function(t,e){if(1&t&&(h.YNc(0,S,1,0,"ng-container",0),h.YNc(1,T,7,9,"ng-template",null,1,h.W1O),h.YNc(3,O,30,15,"ng-template",null,2,h.W1O)),2&t){const t=h.MAs(2),i=h.MAs(4);h.Q6J("ngTemplateOutlet",e.showPanel?t:i)}},directives:[p.tP,w.ib,y.yH,p.mk,x.oO,w.yz,w.yK,y.Wh,y.xw,C.gM,p.O5,A.d],pipes:[p.JJ],styles:[""]}),t})();var R=i(6283),N=i(6756),P=i(6880),F=i(7521),Z=i(3691),B=i(4810),U=i(5994);function q(t,e){1&t&&h.GkF(0)}function z(t,e){if(1&t&&(h.TgZ(0,"div",3),h.TgZ(1,"span",4),h._uU(2),h.qZA(),h.qZA()),2&t){const t=h.oxw();h.xp6(2),h.Oqu(null!=t.loopStatus&&t.loopStatus.error?null==t.loopStatus?null:t.loopStatus.error:"Unknown Error.")}}function H(t,e){if(1&t&&(h.TgZ(0,"div",3),h.TgZ(1,"div",5),h.TgZ(2,"div",6),h.TgZ(3,"h4",7),h._uU(4,"ID"),h.qZA(),h.TgZ(5,"span",4),h._uU(6),h.qZA(),h.qZA(),h.qZA(),h._UZ(7,"mat-divider",8),h.TgZ(8,"div",5),h.TgZ(9,"div",6),h.TgZ(10,"h4",7),h._uU(11,"HTLC Address"),h.qZA(),h.TgZ(12,"span",4),h._uU(13),h.qZA(),h.qZA(),h.qZA(),h.qZA()),2&t){const t=h.oxw();h.xp6(6),h.Oqu(null==t.loopStatus?null:t.loopStatus.id_bytes),h.xp6(7),h.Oqu(null==t.loopStatus?null:t.loopStatus.htlc_address)}}let Y=(()=>{class t{constructor(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=h.Xpm({type:t,selectors:[["rtl-loop-status"]],inputs:{loopStatus:"loopStatus"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["loopFailedBlock",""],["loopSuccessfulBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"]],template:function(t,e){if(1&t&&(h.YNc(0,q,1,0,"ng-container",0),h.YNc(1,z,3,1,"ng-template",null,1,h.W1O),h.YNc(3,H,14,2,"ng-template",null,2,h.W1O)),2&t){const t=h.MAs(2),i=h.MAs(4);h.Q6J("ngTemplateOutlet",null!=e.loopStatus&&e.loopStatus.error?t:i)}},directives:[p.tP,y.xw,y.yH,y.Wh,A.d],styles:[""]}),t})();var G=i(194);function j(t,e){1&t&&h.GkF(0)}const V=function(t,e){return{"small-svg":t,"large-svg":e}};function Q(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",7),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"g",8),h.TgZ(5,"g",9),h.TgZ(6,"g",10),h.TgZ(7,"g",11),h._UZ(8,"circle",12),h._UZ(9,"path",13),h.qZA(),h.TgZ(10,"g",14),h._UZ(11,"ellipse",15),h._UZ(12,"ellipse",16),h._UZ(13,"rect",17),h._UZ(14,"rect",18),h._UZ(15,"rect",19),h._UZ(16,"rect",20),h._UZ(17,"rect",21),h._UZ(18,"rect",22),h._UZ(19,"rect",23),h._UZ(20,"rect",24),h._UZ(21,"rect",25),h._UZ(22,"rect",26),h._UZ(23,"rect",27),h._UZ(24,"rect",28),h._UZ(25,"rect",29),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(26,"div",30),h.TgZ(27,"mat-card-title"),h._uU(28,"Loop Out explained."),h.qZA(),h.qZA(),h.TgZ(29,"div",31),h.TgZ(30,"mat-card-subtitle",32),h._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,V,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function W(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",33),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",34),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",8),h.TgZ(10,"g",38),h.TgZ(11,"g",39),h.TgZ(12,"g",40),h.TgZ(13,"g",41),h.TgZ(14,"g",42),h._UZ(15,"rect",43),h._UZ(16,"rect",44),h._UZ(17,"rect",45),h._UZ(18,"circle",46),h._UZ(19,"rect",47),h._UZ(20,"rect",48),h._UZ(21,"circle",49),h._UZ(22,"rect",50),h._UZ(23,"rect",51),h._UZ(24,"rect",52),h._UZ(25,"rect",53),h._UZ(26,"circle",54),h._UZ(27,"circle",55),h.qZA(),h.TgZ(28,"g",56),h._UZ(29,"path",57),h._UZ(30,"rect",58),h._UZ(31,"polygon",59),h._UZ(32,"circle",60),h._UZ(33,"path",61),h._UZ(34,"rect",62),h._UZ(35,"rect",63),h._UZ(36,"rect",64),h._UZ(37,"rect",65),h._UZ(38,"rect",66),h._UZ(39,"rect",67),h._UZ(40,"rect",68),h._UZ(41,"path",69),h._UZ(42,"path",70),h.qZA(),h._UZ(43,"path",71),h.qZA(),h.qZA(),h._UZ(44,"circle",72),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(45,"div",30),h.TgZ(46,"mat-card-title"),h._uU(47,"Step 1: Deciding to Loop Out"),h.qZA(),h.qZA(),h.TgZ(48,"div",31),h.TgZ(49,"mat-card-subtitle",32),h._uU(50," You have a channel with a local balance amount and you want to gain inbound liquidity. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,V,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function J(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",73),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",74),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",8),h.TgZ(10,"g",75),h.TgZ(11,"g",76),h._UZ(12,"circle",77),h._UZ(13,"path",78),h.TgZ(14,"g",79),h._UZ(15,"polygon",80),h._UZ(16,"polygon",81),h._UZ(17,"path",82),h.qZA(),h.TgZ(18,"g",83),h._UZ(19,"polygon",84),h._UZ(20,"path",85),h._UZ(21,"rect",86),h._UZ(22,"path",87),h._UZ(23,"rect",88),h._UZ(24,"rect",89),h._UZ(25,"rect",90),h._UZ(26,"rect",91),h._UZ(27,"circle",92),h._UZ(28,"path",93),h.TgZ(29,"g",94),h.TgZ(30,"g",95),h._UZ(31,"g",96),h.qZA(),h._UZ(32,"g",97),h.qZA(),h._UZ(33,"path",98),h.qZA(),h.TgZ(34,"g",99),h.TgZ(35,"g",41),h.TgZ(36,"g",42),h._UZ(37,"rect",43),h._UZ(38,"rect",44),h._UZ(39,"rect",45),h._UZ(40,"circle",46),h._UZ(41,"rect",47),h._UZ(42,"rect",48),h._UZ(43,"circle",49),h._UZ(44,"rect",50),h._UZ(45,"rect",51),h._UZ(46,"rect",52),h._UZ(47,"rect",53),h._UZ(48,"circle",100),h._UZ(49,"circle",54),h._UZ(50,"circle",55),h._UZ(51,"circle",101),h.qZA(),h.TgZ(52,"g",56),h._UZ(53,"path",57),h._UZ(54,"rect",102),h._UZ(55,"polygon",103),h._UZ(56,"circle",104),h._UZ(57,"path",61),h._UZ(58,"rect",105),h._UZ(59,"rect",106),h._UZ(60,"rect",107),h._UZ(61,"rect",108),h._UZ(62,"rect",109),h._UZ(63,"rect",110),h._UZ(64,"rect",68),h._UZ(65,"path",69),h._UZ(66,"path",70),h.qZA(),h._UZ(67,"path",111),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(68,"div",30),h.TgZ(69,"mat-card-title"),h._uU(70,"Step 2: Send lightning payment"),h.qZA(),h.qZA(),h.TgZ(71,"div",31),h.TgZ(72,"mat-card-subtitle",32),h._uU(73," Your node pays a lightning invoice for the amount requested via the loop service. This moves the local balance, for the amount paid, to the remote side of the channel. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,V,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function X(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",112),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"g",8),h.TgZ(5,"g",113),h.TgZ(6,"g",114),h.TgZ(7,"g",115),h.TgZ(8,"g",116),h._UZ(9,"circle",12),h._UZ(10,"path",117),h.qZA(),h.TgZ(11,"g",14),h._UZ(12,"ellipse",118),h._UZ(13,"ellipse",16),h._UZ(14,"rect",17),h._UZ(15,"rect",18),h._UZ(16,"rect",19),h._UZ(17,"rect",20),h._UZ(18,"rect",21),h._UZ(19,"rect",22),h._UZ(20,"rect",23),h._UZ(21,"rect",24),h._UZ(22,"rect",25),h._UZ(23,"rect",26),h._UZ(24,"rect",27),h._UZ(25,"rect",28),h._UZ(26,"rect",29),h.qZA(),h.qZA(),h.TgZ(27,"g",119),h._UZ(28,"polygon",80),h._UZ(29,"polygon",120),h._UZ(30,"path",82),h.qZA(),h.TgZ(31,"g",121),h._UZ(32,"polygon",84),h._UZ(33,"path",85),h._UZ(34,"rect",86),h._UZ(35,"path",87),h._UZ(36,"rect",88),h._UZ(37,"rect",89),h._UZ(38,"rect",90),h._UZ(39,"rect",91),h._UZ(40,"circle",122),h._UZ(41,"path",93),h.TgZ(42,"g",94),h.TgZ(43,"g",95),h._UZ(44,"g",96),h.qZA(),h._UZ(45,"g",97),h.qZA(),h._UZ(46,"path",123),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(47,"div",30),h.TgZ(48,"mat-card-title"),h._uU(49,"Step 3: Receive funds back"),h.qZA(),h.qZA(),h.TgZ(50,"div",31),h.TgZ(51,"mat-card-subtitle",32),h._uU(52," Loop service then sends you a payment on-chain for the amount same as the lightning payment minus the fee. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,V,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function K(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",124),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",34),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",8),h.TgZ(10,"g",125),h.TgZ(11,"g",126),h.TgZ(12,"g",42),h._UZ(13,"rect",127),h._UZ(14,"rect",128),h._UZ(15,"rect",129),h._UZ(16,"circle",130),h._UZ(17,"rect",131),h._UZ(18,"rect",132),h._UZ(19,"circle",133),h._UZ(20,"rect",134),h._UZ(21,"rect",135),h._UZ(22,"rect",136),h._UZ(23,"rect",137),h._UZ(24,"rect",138),h._UZ(25,"circle",139),h._UZ(26,"circle",140),h._UZ(27,"circle",141),h.qZA(),h.TgZ(28,"g",142),h.TgZ(29,"g",143),h.TgZ(30,"g",144),h._UZ(31,"path",145),h._UZ(32,"rect",146),h._UZ(33,"polygon",147),h.TgZ(34,"g",148),h._UZ(35,"path",149),h.qZA(),h._UZ(36,"rect",150),h._UZ(37,"rect",151),h._UZ(38,"rect",152),h._UZ(39,"rect",153),h._UZ(40,"rect",154),h._UZ(41,"rect",155),h._UZ(42,"rect",156),h._UZ(43,"path",157),h._UZ(44,"path",158),h.qZA(),h.TgZ(45,"g",159),h._UZ(46,"path",160),h._UZ(47,"path",161),h._UZ(48,"path",162),h._UZ(49,"path",163),h._UZ(50,"path",164),h._UZ(51,"path",165),h._UZ(52,"path",166),h._UZ(53,"path",167),h._UZ(54,"path",168),h._UZ(55,"path",169),h._UZ(56,"path",170),h._UZ(57,"circle",171),h._UZ(58,"circle",172),h.qZA(),h._UZ(59,"path",173),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(60,"div",30),h.TgZ(61,"mat-card-title"),h._uU(62,"Done!"),h.qZA(),h.qZA(),h.TgZ(63,"div",31),h.TgZ(64,"mat-card-subtitle",32),h._uU(65," Final settlement occurs when your node sweeps the on-chain payment and the loop server settles the lightning invoice. You receive the payment on-chain in your wallet and also move local balance to the remote side of the channel, gaining inbound capacity. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,V,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let $=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new h.vpe,this.screenSize="",this.screenSizeEnum=c.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(g.v))},t.\u0275cmp=h.Xpm({type:t,selectors:[["rtl-loop-out-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopOut_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopOut_Step02","transform","translate(-540.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(540.000000, 210.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["fxFlex","30","viewBox","0 0 373 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","LoopOut_Step03","transform","translate(-460.000000, -210.000000)"],["id","Loop_Step03","transform","translate(460.000000, 210.000000)"],["id","Oval","fill-rule","nonzero","cx","330.487742","cy","57.4877419","r","42.4877419",1,"fill-color-2"],["d","M345.082742,43.5000036 C349.446821,43.5000036 352.999928,40.1343958 352.999928,36.0000215 C352.999928,31.8656472 349.446821,28.5000393 345.082742,28.5000393 C341.98433,28.5000393 339.560889,30.4359631 337.999964,32.1843872 C336.43904,30.4359631 334.015599,28.5000393 330.917187,28.5000393 C326.553107,28.5000393 323,31.8656472 323,36.0000215 C323,40.1343958 326.553107,43.5000036 330.917187,43.5000036 C334.015599,43.5000036 336.43904,41.5640798 337.999964,39.8156557 C339.560889,41.5640798 341.98433,43.5000036 345.082742,43.5000036 Z M330.917187,39.0000143 C329.032807,39.0000143 327.499989,37.6546959 327.499989,36.0000286 C327.499989,34.3453471 329.032807,33.0000286 330.917187,33.0000286 C332.707771,33.0000286 334.357776,34.6921938 335.323426,36.0000286 C334.36716,37.2937501 332.703102,39.0000143 330.917187,39.0000143 Z M345.082742,39.0000143 C343.292157,39.0000143 341.642152,37.3078492 340.676502,36.0000286 C341.632768,34.7062929 343.296827,33.0000286 345.082742,33.0000286 C346.967121,33.0000286 348.499939,34.3453471 348.499939,36.0000286 C348.499939,37.6546959 346.967121,39.0000143 345.082742,39.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(113.000000, 79.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-22"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(265.000000, 50.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-3"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["d","M46.60483,51.432122 C46.8713708,51.432122 47.1252368,51.2924832 47.2648756,51.0513229 L52.8499289,41.4044125 C53.145042,40.8998413 52.7801095,40.2620153 52.1930443,40.2620153 L48.5310139,40.2620153 L49.8828693,36.1430446 C50.0098023,35.6606929 49.6448699,35.184694 49.1466515,35.184694 L44.5770624,35.184694 C44.1962633,35.184694 43.8725779,35.4671324 43.8218171,35.8447396 L42.8063528,43.4607214 C42.7460473,43.9176927 43.1014659,44.3238722 43.5615982,44.3238722 L47.3283421,44.3238722 L45.8654203,50.4959909 C45.751193,50.9783426 46.1192864,51.432122 46.60483,51.432122 Z","id","b","fill-rule","nonzero","transform","translate(47.877046, 43.308408) rotate(14.000000) translate(-47.877046, -43.308408) ",1,"fill-color-12"],["id","Group-34","fill-rule","nonzero"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","17.5648113","r","8.78679245"],["id","Oval","cx","76.317438","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-8"],["id","Path","opacity","0.222721354","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-18"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-8"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-14"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step04","transform","translate(-503.000000, -212.000000)"],["id","Loop_Step04","transform","translate(503.000000, 212.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M46.519593,50.6740439 L46.519593,48.5460252 C46.9395628,48.5560039 47.349554,48.5560039 47.739557,48.5560039 L47.739557,50.6740439 L49.2794877,50.6740439 L49.2794877,48.5160274 C51.8593644,48.3760168 53.5840235,47.7260428 53.8140277,45.2961554 C53.9939838,43.3462645 53.0739982,42.476265 51.6140824,42.1263004 C52.4940295,41.6763328 53.054041,40.8763386 52.92404,39.5463928 C52.7540005,37.7264719 51.2593765,37.1164744 49.2794567,36.9465279 L49.2794567,34.4266159 L47.739526,34.4266159 L47.739526,36.8765226 C47.3395134,36.8765226 46.9295222,36.8865012 46.519562,36.8965108 L46.519562,34.4266159 L44.9796003,34.4266159 L44.9796003,36.9465279 C44.413422,36.9636341 43.7539962,36.9552669 41.8897293,36.9465279 L41.8897293,38.5864308 C43.1055717,38.564924 43.7434908,38.4867995 43.8896683,39.2663716 L43.8896683,46.1661239 C43.7968547,46.7846435 43.3018283,46.6955796 42.1997174,46.6760872 L41.8897293,48.5060178 C44.6975648,48.5060178 44.9796313,48.5160274 44.9796313,48.5160274 L44.9796313,50.6740439 L46.519593,50.6740439 Z M46.5495908,41.7662953 L46.5495908,38.6964125 C47.4195593,38.6964125 50.1394466,38.4264629 50.1394466,40.2363742 C50.1394466,41.9663016 47.4195903,41.7662953 46.5495908,41.7662953 Z M46.5495908,46.6860969 L46.5495908,43.306257 C47.5895368,43.306257 50.7741427,43.0162572 50.7741427,44.9962079 C50.7741427,46.9060914 47.5895368,46.6860969 46.5495908,46.6860969 Z","id","B","fill-rule","nonzero","transform","translate(47.863077, 42.550330) rotate(14.000000) translate(-47.863077, -42.550330) ",1,"fill-color-29"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step05","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step05","transform","translate(542.000000, 210.000000)"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"]],template:function(t,e){if(1&t&&(h.YNc(0,j,1,0,"ng-container",0),h.YNc(1,Q,32,5,"ng-template",null,1,h.W1O),h.YNc(3,W,51,5,"ng-template",null,2,h.W1O),h.YNc(5,J,74,5,"ng-template",null,3,h.W1O),h.YNc(7,X,53,5,"ng-template",null,4,h.W1O),h.YNc(9,K,66,5,"ng-template",null,5,h.W1O)),2&t){const t=h.MAs(2),i=h.MAs(4),n=h.MAs(6),r=h.MAs(8),s=h.MAs(10);h.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?r:s)}},directives:[p.tP,y.xw,y.yH,y.Wh,p.mk,x.oO,b.n5,b.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[G.l]}}),t})();function tt(t,e){1&t&&h.GkF(0)}const et=function(t,e){return{"small-svg":t,"large-svg":e}};function it(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",7),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"g",8),h.TgZ(5,"g",9),h.TgZ(6,"g",10),h.TgZ(7,"g",11),h._UZ(8,"circle",12),h._UZ(9,"path",13),h.qZA(),h.TgZ(10,"g",14),h._UZ(11,"ellipse",15),h._UZ(12,"ellipse",16),h._UZ(13,"rect",17),h._UZ(14,"rect",18),h._UZ(15,"rect",19),h._UZ(16,"rect",20),h._UZ(17,"rect",21),h._UZ(18,"rect",22),h._UZ(19,"rect",23),h._UZ(20,"rect",24),h._UZ(21,"rect",25),h._UZ(22,"rect",26),h._UZ(23,"rect",27),h._UZ(24,"rect",28),h._UZ(25,"rect",29),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(26,"div",30),h.TgZ(27,"mat-card-title"),h._uU(28,"Loop In explained."),h.qZA(),h.qZA(),h.TgZ(29,"div",31),h.TgZ(30,"mat-card-subtitle",32),h._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,et,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function nt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",33),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",34),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",8),h.TgZ(10,"g",38),h.TgZ(11,"g",39),h.TgZ(12,"g",40),h._UZ(13,"rect",41),h._UZ(14,"rect",42),h._UZ(15,"rect",43),h._UZ(16,"circle",44),h._UZ(17,"rect",45),h._UZ(18,"rect",46),h._UZ(19,"circle",47),h._UZ(20,"rect",48),h._UZ(21,"rect",49),h._UZ(22,"rect",50),h._UZ(23,"rect",51),h._UZ(24,"rect",52),h._UZ(25,"circle",53),h._UZ(26,"circle",54),h._UZ(27,"circle",55),h.qZA(),h.TgZ(28,"g",56),h.TgZ(29,"g",57),h.TgZ(30,"g",58),h._UZ(31,"path",59),h._UZ(32,"rect",60),h._UZ(33,"polygon",61),h.TgZ(34,"g",62),h._UZ(35,"path",63),h.qZA(),h._UZ(36,"rect",64),h._UZ(37,"rect",65),h._UZ(38,"rect",66),h._UZ(39,"rect",67),h._UZ(40,"rect",68),h._UZ(41,"rect",69),h._UZ(42,"rect",70),h._UZ(43,"path",71),h._UZ(44,"path",72),h.qZA(),h.TgZ(45,"g",73),h._UZ(46,"path",74),h._UZ(47,"path",75),h._UZ(48,"path",76),h._UZ(49,"path",77),h._UZ(50,"path",78),h._UZ(51,"path",79),h._UZ(52,"path",80),h._UZ(53,"path",81),h._UZ(54,"path",82),h._UZ(55,"path",83),h._UZ(56,"path",84),h._UZ(57,"circle",85),h._UZ(58,"circle",86),h.qZA(),h._UZ(59,"path",87),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(60,"div",30),h.TgZ(61,"mat-card-title"),h._uU(62,"Step 1: Deciding to Loop In"),h.qZA(),h.qZA(),h.TgZ(63,"div",31),h.TgZ(64,"mat-card-subtitle",32),h._uU(65," Your outgoing capacity is depleted and you want to regain it without opening new channels. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,et,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function rt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",88),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",89),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",90),h.TgZ(10,"g",91),h.TgZ(11,"g",92),h.TgZ(12,"g",93),h.TgZ(13,"g",94),h._UZ(14,"circle",95),h._UZ(15,"path",96),h.TgZ(16,"g",97),h._UZ(17,"polygon",98),h._UZ(18,"polygon",99),h._UZ(19,"path",100),h.qZA(),h.TgZ(20,"g",101),h._UZ(21,"polygon",102),h._UZ(22,"path",103),h._UZ(23,"rect",104),h._UZ(24,"path",105),h._UZ(25,"rect",106),h._UZ(26,"rect",107),h._UZ(27,"rect",108),h._UZ(28,"rect",109),h._UZ(29,"circle",110),h._UZ(30,"path",111),h.TgZ(31,"g",112),h.TgZ(32,"g",113),h._UZ(33,"g",114),h.qZA(),h._UZ(34,"g",115),h.qZA(),h.qZA(),h.qZA(),h.TgZ(35,"g",116),h.TgZ(36,"g",40),h._UZ(37,"rect",117),h._UZ(38,"rect",42),h._UZ(39,"rect",43),h._UZ(40,"circle",118),h._UZ(41,"rect",45),h._UZ(42,"rect",46),h._UZ(43,"circle",119),h._UZ(44,"rect",48),h._UZ(45,"rect",49),h._UZ(46,"rect",50),h._UZ(47,"rect",51),h._UZ(48,"rect",52),h._UZ(49,"circle",120),h._UZ(50,"circle",54),h._UZ(51,"circle",55),h._UZ(52,"circle",121),h.qZA(),h.TgZ(53,"g",56),h.TgZ(54,"g",57),h.TgZ(55,"g",58),h._UZ(56,"path",59),h._UZ(57,"rect",60),h._UZ(58,"polygon",61),h.TgZ(59,"g",122),h._UZ(60,"path",63),h.qZA(),h._UZ(61,"rect",123),h._UZ(62,"rect",124),h._UZ(63,"rect",125),h._UZ(64,"rect",126),h._UZ(65,"rect",127),h._UZ(66,"rect",128),h._UZ(67,"rect",129),h._UZ(68,"path",130),h._UZ(69,"path",72),h.qZA(),h.TgZ(70,"g",73),h._UZ(71,"path",131),h._UZ(72,"path",132),h._UZ(73,"path",133),h._UZ(74,"path",134),h._UZ(75,"path",135),h._UZ(76,"path",136),h._UZ(77,"path",80),h._UZ(78,"path",81),h._UZ(79,"path",137),h._UZ(80,"path",83),h._UZ(81,"path",138),h._UZ(82,"circle",85),h._UZ(83,"circle",86),h.qZA(),h._UZ(84,"path",139),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h._UZ(85,"path",140),h._UZ(86,"path",141),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(87,"div",30),h.TgZ(88,"mat-card-title"),h._uU(89,"Step 2: Send payment out"),h.qZA(),h.qZA(),h.TgZ(90,"div",31),h.TgZ(91,"mat-card-subtitle",32),h._uU(92," Your node sends funds on-chain to loop server to be swapped with off-chain liquidity. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,et,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function st(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",142),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"g",90),h.TgZ(5,"g",143),h.TgZ(6,"g",144),h.TgZ(7,"g"),h.TgZ(8,"g",145),h.TgZ(9,"g",146),h._UZ(10,"circle",12),h._UZ(11,"path",147),h.qZA(),h.TgZ(12,"g",14),h._UZ(13,"ellipse",148),h._UZ(14,"ellipse",16),h._UZ(15,"rect",17),h._UZ(16,"rect",18),h._UZ(17,"rect",19),h._UZ(18,"rect",20),h._UZ(19,"rect",21),h._UZ(20,"rect",22),h._UZ(21,"rect",23),h._UZ(22,"rect",24),h._UZ(23,"rect",25),h._UZ(24,"rect",26),h._UZ(25,"rect",27),h._UZ(26,"rect",28),h._UZ(27,"rect",29),h.qZA(),h.qZA(),h.TgZ(28,"g",149),h._UZ(29,"polygon",150),h._UZ(30,"polygon",99),h._UZ(31,"path",151),h.qZA(),h.TgZ(32,"g",152),h._UZ(33,"polygon",102),h._UZ(34,"path",103),h._UZ(35,"rect",104),h._UZ(36,"path",105),h._UZ(37,"rect",106),h._UZ(38,"rect",107),h._UZ(39,"rect",108),h._UZ(40,"rect",109),h._UZ(41,"circle",110),h._UZ(42,"path",111),h.TgZ(43,"g",112),h.TgZ(44,"g",113),h._UZ(45,"g",114),h.qZA(),h._UZ(46,"g",115),h.qZA(),h.qZA(),h.qZA(),h._UZ(47,"path",153),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(48,"div",30),h.TgZ(49,"mat-card-title"),h._uU(50,"Step 3: Recieve Funds Off-chain"),h.qZA(),h.qZA(),h.TgZ(51,"div",31),h.TgZ(52,"mat-card-subtitle",32),h._uU(53," Loop server sends equivalent funds off-chain to your node by making a lightning payment to you. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,et,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function ot(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",6),h.NdJ("swipe",function(e){return h.CHM(t),h.oxw().onSwipe(e)}),h.O4$(),h.TgZ(1,"svg",154),h.TgZ(2,"desc"),h._uU(3,"Created with Sketch."),h.qZA(),h.TgZ(4,"defs"),h.TgZ(5,"linearGradient",34),h._UZ(6,"stop",35),h._UZ(7,"stop",36),h._UZ(8,"stop",37),h.qZA(),h.qZA(),h.TgZ(9,"g",90),h.TgZ(10,"g",155),h.TgZ(11,"g",156),h.TgZ(12,"g",157),h.TgZ(13,"g",158),h.TgZ(14,"g",40),h._UZ(15,"rect",159),h._UZ(16,"rect",160),h._UZ(17,"rect",161),h._UZ(18,"circle",162),h._UZ(19,"rect",163),h._UZ(20,"rect",164),h._UZ(21,"circle",165),h._UZ(22,"rect",166),h._UZ(23,"rect",167),h._UZ(24,"rect",168),h._UZ(25,"rect",169),h._UZ(26,"circle",170),h._UZ(27,"circle",171),h.qZA(),h.TgZ(28,"g",172),h._UZ(29,"path",173),h._UZ(30,"rect",174),h._UZ(31,"polygon",175),h._UZ(32,"circle",176),h._UZ(33,"path",177),h._UZ(34,"rect",178),h._UZ(35,"rect",179),h._UZ(36,"rect",180),h._UZ(37,"rect",181),h._UZ(38,"rect",182),h._UZ(39,"rect",183),h._UZ(40,"rect",184),h._UZ(41,"path",185),h._UZ(42,"path",186),h.qZA(),h._UZ(43,"path",187),h.qZA(),h.qZA(),h._UZ(44,"circle",188),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.kcU(),h.TgZ(45,"div",30),h.TgZ(46,"mat-card-title"),h._uU(47,"Done!"),h.qZA(),h.qZA(),h.TgZ(48,"div",31),h.TgZ(49,"mat-card-subtitle",32),h._uU(50," You send the payment on-chain from your wallet and also move remote balance to the local side of the node, gaining outgoing capacity. "),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@sliderAnimation",t.animationDirection),h.xp6(1),h.Q6J("ngClass",h.WLB(2,et,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let at=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new h.vpe,this.screenSize="",this.screenSizeEnum=c.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(g.v))},t.\u0275cmp=h.Xpm({type:t,selectors:[["rtl-loop-in-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopIn_Step02","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(542.000000, 210.000000)"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"],["fxFlex","30","viewBox","0 0 364 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","Loopv0.3","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step03","transform","translate(-1127.000000, -164.000000)"],["id","LoopIn_Step03","transform","translate(1127.000000, 164.000000)"],["id","Group-21"],["id","Group-35","transform","translate(107.000000, 10.000000)"],["id","Oval","fill-rule","nonzero","cx","214.487742","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M232.082742,28.5000036 C236.446821,28.5000036 239.999928,25.1343958 239.999928,21.0000215 C239.999928,16.8656472 236.446821,13.5000393 232.082742,13.5000393 C228.98433,13.5000393 226.560889,15.4359631 224.999964,17.1843872 C223.43904,15.4359631 221.015599,13.5000393 217.917187,13.5000393 C213.553107,13.5000393 210,16.8656472 210,21.0000215 C210,25.1343958 213.553107,28.5000036 217.917187,28.5000036 C221.015599,28.5000036 223.43904,26.5640798 224.999964,24.8156557 C226.560889,26.5640798 228.98433,28.5000036 232.082742,28.5000036 Z M217.917187,24.0000143 C216.032807,24.0000143 214.499989,22.6546959 214.499989,21.0000286 C214.499989,19.3453471 216.032807,18.0000286 217.917187,18.0000286 C219.707771,18.0000286 221.357776,19.6921938 222.323426,21.0000286 C221.36716,22.2937501 219.703102,24.0000143 217.917187,24.0000143 Z M232.082742,24.0000143 C230.292157,24.0000143 228.642152,22.3078492 227.676502,21.0000286 C228.632768,19.7062929 230.296827,18.0000286 232.082742,18.0000286 C233.967121,18.0000286 235.499939,19.3453471 235.499939,21.0000286 C235.499939,22.6546959 233.967121,24.0000143 232.082742,24.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(0.000000, 64.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-20"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-20"],["id","Group-43","transform","translate(152.000000, 35.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["id","LoopIn_Step03","fill-rule","nonzero"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-10"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","15.8607624","r","7.93434243"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.35996418",1,"fill-color-31"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-4"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-20"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-20"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-16"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-9"],["d","M93.2292414,91.9116485 L93.2292414,89.7922708 C93.647506,89.8022089 94.0558324,89.8022089 94.4442517,89.8022089 L94.4442517,91.9116485 L95.9779294,91.9116485 L95.9779294,89.7623948 C98.5473303,89.6229527 100.264986,88.975618 100.494057,86.5555973 C100.673282,84.6136241 99.757032,83.7471573 98.3030443,83.3986138 C99.1794183,82.9504733 99.7371558,82.1537275 99.6076827,80.8291821 C99.4383337,79.0166511 97.9497787,78.4091306 95.9778985,78.2398742 L95.9778985,75.7301945 L94.4442208,75.7301945 L94.4442208,78.1701531 C94.0458325,78.1701531 93.6375061,78.1800912 93.2292106,78.1900602 L93.2292106,75.7301945 L91.695502,75.7301945 L91.695502,78.2398742 C91.1316227,78.2569109 90.4748746,78.2485777 88.6181777,78.2398742 L88.6181777,79.8731181 C89.8290831,79.8516987 90.4644118,79.7738914 90.6099957,80.5502979 L90.6099957,87.4220333 C90.517559,88.0380413 90.0245427,87.9493391 88.926907,87.9299259 L88.6181777,89.7524258 L89.5798445,89.7528809 C91.4824304,89.7548325 91.6955329,89.7623948 91.6955329,89.7623948 L91.6955329,91.9116485 L93.2292414,91.9116485 Z M93.2591175,83.0400705 L93.2591175,79.9826533 C94.1255534,79.9826533 96.8343964,79.7137998 96.8343964,81.5163618 C96.8343964,83.2392647 94.1255843,83.0400705 93.2591175,83.0400705 Z M93.2591175,87.9398948 L93.2591175,84.5737791 C94.2948407,84.5737791 97.4665153,84.2849568 97.4665153,86.2568678 C97.4665153,88.1589961 94.2948407,87.9398948 93.2591175,87.9398948 Z","id","b","fill-rule","nonzero","transform","translate(94.567271, 83.820921) rotate(14.000000) translate(-94.567271, -83.820921) ",1,"fill-color-9"],["d","M305.611064,96.181454 L305.611064,94.0620763 C306.029328,94.0720144 306.437655,94.0720144 306.826074,94.0720144 L306.826074,96.181454 L308.359752,96.181454 L308.359752,94.0322003 C310.929153,93.8927582 312.646809,93.2454235 312.875879,90.8254028 C313.055104,88.8834296 312.138854,88.0169628 310.684867,87.6684193 C311.561241,87.2202788 312.118978,86.423533 311.989505,85.0989876 C311.820156,83.2864566 310.331601,82.678936 308.359721,82.5096797 L308.359721,80 L306.826043,80 L306.826043,82.4399586 C306.427655,82.4399586 306.019328,82.4498967 305.611033,82.4598657 L305.611033,80 L304.077324,80 L304.077324,82.5096797 C303.513445,82.5267164 302.856697,82.5183832 301,82.5096797 L301,84.1429236 C302.210905,84.1215042 302.846234,84.0436969 302.991818,84.8201034 L302.991818,91.6918387 C302.899381,92.3078468 302.406365,92.2191446 301.308729,92.1997314 L301,94.0222313 L301.961667,94.0226864 C303.864253,94.024638 304.077355,94.0322003 304.077355,94.0322003 L304.077355,96.181454 L305.611064,96.181454 Z M305.64094,87.309876 L305.64094,84.2524587 C306.507376,84.2524587 309.216219,83.9836053 309.216219,85.7861673 C309.216219,87.5090702 306.507407,87.309876 305.64094,87.309876 Z M305.64094,92.2097003 L305.64094,88.8435846 C306.676663,88.8435846 309.848338,88.5547623 309.848338,90.5266733 C309.848338,92.4288016 306.676663,92.2097003 305.64094,92.2097003 Z","id","b","fill-rule","nonzero","transform","translate(306.949093, 88.090727) rotate(14.000000) translate(-306.949093, -88.090727) ",1,"fill-color-26"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step04","transform","translate(-1799.000000, -756.000000)"],["id","LoopIn_Step04","transform","translate(1799.000000, 756.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["d","M225.805162,92.2474279 C226.071703,92.2474279 226.325569,92.1077892 226.465207,91.8666288 L232.050261,82.2197185 C232.345374,81.7151473 231.980441,81.0773212 231.393376,81.0773212 L227.731346,81.0773212 L229.083201,76.9583506 C229.210134,76.4759989 228.845202,76 228.346983,76 L223.777394,76 C223.396595,76 223.07291,76.2824384 223.022149,76.6600456 L222.006685,84.2760274 C221.946379,84.7329987 222.301798,85.1391782 222.76193,85.1391782 L226.528674,85.1391782 L225.065752,91.3112968 C224.951525,91.7936485 225.319618,92.2474279 225.805162,92.2474279 Z","id","b","fill-rule","nonzero","transform","translate(227.077378, 84.123714) rotate(14.000000) translate(-227.077378, -84.123714) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step05","transform","translate(-2386.000000, -764.000000)","fill-rule","nonzero"],["id","LoopIn_Step05","transform","translate(2386.000000, 764.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"]],template:function(t,e){if(1&t&&(h.YNc(0,tt,1,0,"ng-container",0),h.YNc(1,it,32,5,"ng-template",null,1,h.W1O),h.YNc(3,nt,66,5,"ng-template",null,2,h.W1O),h.YNc(5,rt,93,5,"ng-template",null,3,h.W1O),h.YNc(7,st,54,5,"ng-template",null,4,h.W1O),h.YNc(9,ot,51,5,"ng-template",null,5,h.W1O)),2&t){const t=h.MAs(2),i=h.MAs(4),n=h.MAs(6),r=h.MAs(8),s=h.MAs(10);h.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?r:s)}},directives:[p.tP,y.xw,y.yH,y.Wh,p.mk,x.oO,b.n5,b.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[G.l]}}),t})();const lt=["stepper"];function ct(t,e){if(1&t&&(h.TgZ(0,"div",48),h.TgZ(1,"p",49),h.TgZ(2,"strong"),h._uU(3,"Channel Peer:\xa0"),h.qZA(),h._uU(4),h.ALo(5,"titlecase"),h.qZA(),h.TgZ(6,"p",50),h.TgZ(7,"strong"),h._uU(8,"Channel ID:\xa0"),h.qZA(),h._uU(9),h.qZA(),h._UZ(10,"p",50),h.qZA()),2&t){const t=h.oxw(2);h.xp6(4),h.Oqu(h.lcZ(5,2,t.channel.remote_alias)),h.xp6(5),h.Oqu(t.channel.chan_id)}}function ht(t,e){if(1&t&&h._uU(0),2&t){const t=h.oxw(2);h.Oqu(t.inputFormLabel)}}function ut(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Amount is required."),h.qZA())}function dt(t,e){if(1&t&&(h.TgZ(0,"mat-error"),h._uU(1),h.ALo(2,"number"),h.qZA()),2&t){const t=h.oxw(2);h.xp6(1),h.hij("Amount must be greater than or equal to ",h.lcZ(2,1,t.minQuote.amount),".")}}function pt(t,e){if(1&t&&(h.TgZ(0,"mat-error"),h._uU(1),h.ALo(2,"number"),h.qZA()),2&t){const t=h.oxw(2);h.xp6(1),h.hij("Amount must be less than or equal to ",h.lcZ(2,1,t.maxQuote.amount),".")}}function ft(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Confirmation target is required."),h.qZA())}function mt(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Confirmation target must be a positive number."),h.qZA())}function gt(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Percentage is required."),h.qZA())}function yt(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Percentage must be a positive number."),h.qZA())}function bt(t,e){if(1&t&&(h.TgZ(0,"mat-form-field",50),h._UZ(1,"input",51),h.YNc(2,gt,2,0,"mat-error",25),h.YNc(3,yt,2,0,"mat-error",25),h.qZA()),2&t){const t=h.oxw(2);h.xp6(1),h.Q6J("step",1),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.routingFeePercent.errors?null:t.inputFormGroup.controls.routingFeePercent.errors.required),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.routingFeePercent.errors?null:t.inputFormGroup.controls.routingFeePercent.errors.min)}}function vt(t,e){1&t&&(h.TgZ(0,"mat-slide-toggle",52),h._uU(1,"Fast"),h.qZA())}function _t(t,e){if(1&t&&h._uU(0),2&t){const t=h.oxw(2);h.Oqu(t.quoteFormLabel)}}function wt(t,e){1&t&&(h.TgZ(0,"p",53),h.TgZ(1,"mat-icon",54),h._uU(2,"close"),h.qZA(),h._uU(3,"Local balance amount is insufficient for swap."),h.qZA())}function xt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",55),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onValidateAmount()}),h._uU(1,"Next"),h.qZA()}}function Ct(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",56),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onLoop()}),h._uU(1),h.qZA()}if(2&t){const t=h.oxw(2);h.xp6(1),h.hij("Initiate ",t.loopDirectionCaption,"")}}function At(t,e){if(1&t&&h._uU(0),2&t){const t=h.oxw(3);h.Oqu(t.addressFormLabel)}}function St(t,e){1&t&&(h.TgZ(0,"mat-error"),h._uU(1,"Address is required."),h.qZA())}function Et(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"mat-step",16),h.TgZ(1,"form",17),h.YNc(2,At,1,1,"ng-template",18),h.TgZ(3,"div",57),h.TgZ(4,"mat-radio-group",58),h.NdJ("change",function(e){return h.CHM(t),h.oxw(2).onAddressTypeChange(e)}),h.TgZ(5,"mat-radio-button",59),h._uU(6,"Node Local Address"),h.qZA(),h.TgZ(7,"mat-radio-button",60),h._uU(8,"External Address"),h.qZA(),h.qZA(),h.TgZ(9,"mat-form-field",61),h._UZ(10,"input",62),h.YNc(11,St,2,0,"mat-error",25),h.qZA(),h.qZA(),h.TgZ(12,"div",29),h.TgZ(13,"button",63),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onLoop()}),h._uU(14),h.qZA(),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw(2);h.Q6J("stepControl",t.addressFormGroup)("editable",t.flgEditable),h.xp6(1),h.Q6J("formGroup",t.addressFormGroup),h.xp6(9),h.Q6J("required","external"===t.addressFormGroup.controls.addressType.value),h.xp6(1),h.Q6J("ngIf",null==t.addressFormGroup.controls.address.errors?null:t.addressFormGroup.controls.address.errors.required),h.xp6(3),h.hij("Initiate ",t.loopDirectionCaption,"")}}function kt(t,e){if(1&t&&h._uU(0),2&t){const t=h.oxw(2);h.hij("",t.loopDirectionCaption," Status")}}function Tt(t,e){if(1&t&&(h.TgZ(0,"mat-icon",64),h._uU(1),h.qZA()),2&t){const t=h.oxw(2);h.xp6(1),h.Oqu(t.loopStatus&&null!=t.loopStatus&&t.loopStatus.id_bytes?"check":"close")}}function Mt(t,e){1&t&&h._UZ(0,"div")}function Lt(t,e){1&t&&h._UZ(0,"mat-progress-bar",65)}function It(t,e){if(1&t&&(h.TgZ(0,"h4",66),h._uU(1),h.qZA()),2&t){const t=h.oxw(2);h.xp6(1),h.Oqu(t.loopStatus&&t.loopStatus.error?t.loopDirectionCaption+" failed.":t.loopStatus&&t.loopStatus.id_bytes&&t.channel?t.loopDirectionCaption+" request placed successfully. You can check the status of the request on the 'Loop' menu.":t.loopDirectionCaption+" request placed successfully.")}}function Ot(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",67),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).goToLoop()}),h._uU(1,"Check Status"),h.qZA()}}function Dt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",68),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onRestart()}),h._uU(1,"Start Again"),h.qZA()}}function Rt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",3),h.TgZ(1,"div",4),h.TgZ(2,"mat-card-header",5),h.TgZ(3,"div",6),h.TgZ(4,"span",7),h._uU(5),h.qZA(),h.qZA(),h.TgZ(6,"div",8),h.TgZ(7,"button",9),h.NdJ("click",function(){return h.CHM(t),h.oxw().showInfo()}),h._uU(8,"?"),h.qZA(),h.TgZ(9,"button",10),h.NdJ("click",function(){return h.CHM(t),h.oxw().onClose()}),h._uU(10,"X"),h.qZA(),h.qZA(),h.qZA(),h.TgZ(11,"mat-card-content",11),h.TgZ(12,"div",12),h.YNc(13,ct,11,4,"div",13),h.TgZ(14,"mat-vertical-stepper",14,15),h.NdJ("selectionChange",function(e){return h.CHM(t),h.oxw().stepSelectionChanged(e)}),h.TgZ(16,"mat-step",16),h.TgZ(17,"form",17),h.YNc(18,ht,1,1,"ng-template",18),h.TgZ(19,"div",19),h._UZ(20,"rtl-loop-quote",20),h._UZ(21,"rtl-loop-quote",20),h.qZA(),h.TgZ(22,"div",21),h.TgZ(23,"mat-form-field",22),h._UZ(24,"input",23),h.TgZ(25,"mat-hint"),h._uU(26),h.ALo(27,"number"),h.ALo(28,"number"),h.qZA(),h.TgZ(29,"span",24),h._uU(30,"Sats"),h.qZA(),h.YNc(31,ut,2,0,"mat-error",25),h.YNc(32,dt,3,3,"mat-error",25),h.YNc(33,pt,3,3,"mat-error",25),h.qZA(),h.TgZ(34,"mat-form-field",22),h._UZ(35,"input",26),h.YNc(36,ft,2,0,"mat-error",25),h.YNc(37,mt,2,0,"mat-error",25),h.qZA(),h.YNc(38,bt,4,3,"mat-form-field",27),h.YNc(39,vt,2,0,"mat-slide-toggle",28),h.qZA(),h.TgZ(40,"div",29),h.TgZ(41,"button",30),h.NdJ("click",function(){return h.CHM(t),h.oxw().onEstimateQuote()}),h._uU(42,"Estimate Quote"),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.TgZ(43,"mat-step",16),h.TgZ(44,"form",17),h.YNc(45,_t,1,1,"ng-template",18),h._UZ(46,"rtl-loop-quote",31),h.YNc(47,wt,4,0,"p",32),h.TgZ(48,"div",29),h.YNc(49,xt,2,0,"button",33),h.YNc(50,Ct,2,1,"button",34),h.qZA(),h.qZA(),h.qZA(),h.YNc(51,Et,15,6,"mat-step",35),h.TgZ(52,"mat-step",36),h.TgZ(53,"form",17),h.YNc(54,kt,1,1,"ng-template",18),h.TgZ(55,"div",37),h.TgZ(56,"mat-expansion-panel",38),h.TgZ(57,"mat-expansion-panel-header"),h.TgZ(58,"mat-panel-title"),h.TgZ(59,"span",39),h._uU(60),h.YNc(61,Tt,2,1,"mat-icon",40),h.qZA(),h.qZA(),h.qZA(),h.YNc(62,Mt,1,0,"div",41),h.qZA(),h.YNc(63,Lt,1,0,"mat-progress-bar",42),h.qZA(),h.YNc(64,It,2,1,"h4",43),h.TgZ(65,"div",29),h.YNc(66,Ot,2,0,"button",44),h.YNc(67,Dt,2,0,"button",45),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.TgZ(68,"div",46),h.TgZ(69,"button",47),h._uU(70,"Close"),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw(),e=h.MAs(2);h.Q6J("@opacityAnimation",void 0),h.xp6(3),h.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"83":"91"),h.xp6(2),h.Oqu(t.channel?"Channel "+t.loopDirectionCaption:t.loopDirectionCaption),h.xp6(1),h.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"17":"9"),h.xp6(7),h.Q6J("ngIf",t.channel),h.xp6(1),h.Q6J("linear",!0),h.xp6(2),h.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),h.xp6(1),h.Q6J("formGroup",t.inputFormGroup),h.xp6(3),h.Q6J("quote",t.minQuote)("termCaption","min")("panelExpanded",!1)("showPanel",!0),h.xp6(1),h.Q6J("quote",t.maxQuote)("termCaption","max")("panelExpanded",!1)("showPanel",!0),h.xp6(2),h.Q6J("fxFlex",t.direction===t.LoopTypeEnum.LOOP_OUT?"30":"48"),h.xp6(1),h.Q6J("step",1e3),h.xp6(2),h.AsE("Range: ",h.lcZ(27,51,t.minQuote.amount),"-",h.lcZ(28,53,t.maxQuote.amount),""),h.xp6(5),h.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.required),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.min),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.max),h.xp6(1),h.Q6J("fxFlex",t.direction===t.LoopTypeEnum.LOOP_OUT?"20":"48"),h.xp6(1),h.Q6J("step",1),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.sweepConfTarget.errors?null:t.inputFormGroup.controls.sweepConfTarget.errors.required),h.xp6(1),h.Q6J("ngIf",null==t.inputFormGroup.controls.sweepConfTarget.errors?null:t.inputFormGroup.controls.sweepConfTarget.errors.min),h.xp6(1),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),h.xp6(1),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),h.xp6(4),h.Q6J("stepControl",t.quoteFormGroup)("editable",t.flgEditable),h.xp6(1),h.Q6J("formGroup",t.quoteFormGroup),h.xp6(2),h.Q6J("quote",t.quote)("showPanel",!1),h.xp6(1),h.Q6J("ngIf",t.inputFormGroup.controls.amount.value>t.localBalanceToCompare),h.xp6(2),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),h.xp6(1),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_IN),h.xp6(1),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),h.xp6(1),h.Q6J("stepControl",t.statusFormGroup),h.xp6(1),h.Q6J("formGroup",t.statusFormGroup),h.xp6(3),h.Q6J("expanded",!!t.loopStatus),h.xp6(4),h.Oqu(t.loopStatus?t.loopStatus.id_bytes?t.loopDirectionCaption+" request details":t.loopDirectionCaption+" error details":"Waiting for "+t.loopDirectionCaption+" request..."),h.xp6(1),h.Q6J("ngIf",t.loopStatus),h.xp6(1),h.Q6J("ngIf",!t.loopStatus)("ngIfElse",e),h.xp6(1),h.Q6J("ngIf",!t.loopStatus),h.xp6(1),h.Q6J("ngIf",t.loopStatus),h.xp6(2),h.Q6J("ngIf",t.loopStatus&&t.loopStatus.id_bytes&&t.channel),h.xp6(1),h.Q6J("ngIf",t.loopStatus&&(t.loopStatus.error||!t.loopStatus.id_bytes)),h.xp6(2),h.Q6J("mat-dialog-close",!1)}}function Nt(t,e){if(1&t&&h._UZ(0,"rtl-loop-status",69),2&t){const t=h.oxw();h.Q6J("loopStatus",t.loopStatus)}}function Pt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"rtl-loop-out-info-graphics",86),h.NdJ("stepNumberChange",function(e){return h.CHM(t),h.oxw(2).stepNumber=e}),h.qZA()}if(2&t){const t=h.oxw(2);h.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}function Ft(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"rtl-loop-in-info-graphics",86),h.NdJ("stepNumberChange",function(e){return h.CHM(t),h.oxw(2).stepNumber=e}),h.qZA()}if(2&t){const t=h.oxw(2);h.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}const Zt=function(t,e){return{"dot-primary":t,"dot-primary-lighter":e}};function Bt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"span",87),h.NdJ("click",function(){const e=h.CHM(t).$implicit;return h.oxw(2).onStepChanged(e)}),h._UZ(1,"p",88),h.qZA()}if(2&t){const t=e.$implicit,i=h.oxw(2);h.xp6(1),h.Q6J("ngClass",h.WLB(1,Zt,i.stepNumber===t,i.stepNumber!==t))}}function Ut(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",89),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onReadMore()}),h._uU(1,"Read More"),h.qZA()}}function qt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",90),h.NdJ("click",function(){return h.CHM(t),h.oxw(2).onStepChanged(4)}),h._uU(1,"Back"),h.qZA()}}function zt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",91),h.NdJ("click",function(){h.CHM(t);const e=h.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),h._uU(1,"Close"),h.qZA()}}function Ht(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",92),h.NdJ("click",function(){h.CHM(t);const e=h.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),h._uU(1,"Close"),h.qZA()}}function Yt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",93),h.NdJ("click",function(){h.CHM(t);const e=h.oxw(2);return e.onStepChanged(e.stepNumber-1)}),h._uU(1,"Back"),h.qZA()}}function Gt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"button",94),h.NdJ("click",function(){h.CHM(t);const e=h.oxw(2);return e.onStepChanged(e.stepNumber+1)}),h._uU(1,"Next"),h.qZA()}}const jt=function(){return[1,2,3,4,5]};function Vt(t,e){if(1&t){const t=h.EpF();h.TgZ(0,"div",70),h.TgZ(1,"div",19),h.TgZ(2,"mat-card-header",71),h.TgZ(3,"div",72),h._UZ(4,"span",7),h.qZA(),h.TgZ(5,"div",73),h.TgZ(6,"button",74),h.NdJ("click",function(){h.CHM(t);const e=h.oxw();return e.flgShowInfo=!1,e.stepNumber=1}),h._uU(7,"X"),h.qZA(),h.qZA(),h.qZA(),h.TgZ(8,"mat-card-content",75),h.YNc(9,Pt,1,2,"rtl-loop-out-info-graphics",76),h.YNc(10,Ft,1,2,"rtl-loop-in-info-graphics",76),h.qZA(),h.TgZ(11,"div",77),h.YNc(12,Bt,2,4,"span",78),h.qZA(),h.TgZ(13,"div",79),h.YNc(14,Ut,2,0,"button",80),h.YNc(15,qt,2,0,"button",81),h.YNc(16,zt,2,0,"button",82),h.YNc(17,Ht,2,0,"button",83),h.YNc(18,Yt,2,0,"button",84),h.YNc(19,Gt,2,0,"button",85),h.qZA(),h.qZA(),h.qZA()}if(2&t){const t=h.oxw();h.Q6J("@opacityAnimation",void 0),h.xp6(9),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_OUT),h.xp6(1),h.Q6J("ngIf",t.direction===t.LoopTypeEnum.LOOP_IN),h.xp6(2),h.Q6J("ngForOf",h.DdM(10,jt)),h.xp6(2),h.Q6J("ngIf",5===t.stepNumber),h.xp6(1),h.Q6J("ngIf",5===t.stepNumber),h.xp6(1),h.Q6J("ngIf",5===t.stepNumber),h.xp6(1),h.Q6J("ngIf",t.stepNumber<5),h.xp6(1),h.Q6J("ngIf",t.stepNumber>1&&t.stepNumber<5),h.xp6(1),h.Q6J("ngIf",t.stepNumber<5)}}let Qt=(()=>{class t{constructor(t,e,i,n,s,o,l,h,u){this.dialogRef=t,this.data=e,this.store=i,this.loopService=n,this.formBuilder=s,this.decimalPipe=o,this.logger=l,this.router=h,this.commonService=u,this.faInfoCircle=a.sqG,this.LoopTypeEnum=c.$I,this.direction=c.$I.LOOP_OUT,this.loopDirectionCaption="Loop out",this.loopStatus=null,this.inputFormLabel="Amount to loop out",this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address",this.prepayRoutingFee=36,this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=c.cu,this.animationDirection="forward",this.flgEditable=!0,this.localBalanceToCompare=null,this.unSubs=[new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.channel=this.data.channel,this.minQuote=this.data.minQuote?this.data.minQuote:{},this.maxQuote=this.data.maxQuote?this.data.maxQuote:{},this.direction=this.data.direction,this.loopDirectionCaption=this.direction===c.$I.LOOP_IN?"Loop in":"Loop out",this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.minQuote.amount,[n.kI.required,n.kI.min(this.minQuote.amount),n.kI.max(this.maxQuote.amount)]],sweepConfTarget:[6,[n.kI.required,n.kI.min(1)]],routingFeePercent:[2,[n.kI.required,n.kI.min(0)]],fast:[!1,[n.kI.required]]}),this.quoteFormGroup=this.formBuilder.group({}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[n.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges(),this.store.select("lnd").pipe((0,s.R)(this.unSubs[6])).subscribe(t=>{this.localBalanceToCompare=this.channel?+this.channel.local_balance:+t.totalLocalBalance})}ngAfterViewInit(){this.inputFormGroup.setErrors({Invalid:!0}),this.direction===c.$I.LOOP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.inputFormGroup.valueChanges.pipe((0,s.R)(this.unSubs[4])).subscribe(t=>{this.inputFormGroup.setErrors({Invalid:!0})}),this.direction===c.$I.LOOP_OUT&&this.addressFormGroup.valueChanges.pipe((0,s.R)(this.unSubs[5])).subscribe(t=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(t){"external"===t.value?(this.addressFormGroup.controls.address.setValidators([n.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onValidateAmount(){this.inputFormGroup.controls.amount.value<=this.localBalanceToCompare&&this.stepper.next()}onLoop(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2||this.direction===c.$I.LOOP_OUT&&(!this.inputFormGroup.controls.routingFeePercent.value||this.inputFormGroup.controls.routingFeePercent.value<0)||this.direction===c.$I.LOOP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected.stepControl.setErrors(null),this.stepper.next(),this.direction===c.$I.LOOP_IN)this.loopService.loopIn(this.inputFormGroup.controls.amount.value,+this.quote.swap_fee_sat,+this.quote.htlc_publish_fee_sat,"",!0).pipe((0,s.R)(this.unSubs[0])).subscribe({next:t=>{this.loopStatus=t,this.loopService.listSwaps(),this.flgEditable=!0},error:t=>{this.loopStatus={error:t},this.flgEditable=!0,this.logger.error(t)}});else{const t=Math.ceil(this.inputFormGroup.controls.amount.value*(this.inputFormGroup.controls.routingFeePercent.value/100)),e="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"",i=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.loopService.loopOut(this.inputFormGroup.controls.amount.value,this.channel&&this.channel.chan_id?this.channel.chan_id:"",this.inputFormGroup.controls.sweepConfTarget.value,t,+this.quote.htlc_sweep_fee_sat,this.prepayRoutingFee,+this.quote.prepay_amt_sat,+this.quote.swap_fee_sat,i,e).pipe((0,s.R)(this.unSubs[1])).subscribe({next:t=>{this.loopStatus=t,this.loopService.listSwaps(),this.flgEditable=!0},error:t=>{this.loopStatus={error:t},this.flgEditable=!0,this.logger.error(t)}})}}onEstimateQuote(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2)return!0;const t=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.direction===c.$I.LOOP_IN?this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,t).pipe((0,s.R)(this.unSubs[2])).subscribe(t=>{this.quote=t,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}):this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,t).pipe((0,s.R)(this.unSubs[3])).subscribe(t=>{this.quote=t,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}),this.stepper.selected.stepControl.setErrors(null),this.stepper.next()}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===c.$I.LOOP_IN?this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Percentage: "+(this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:"2")+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):"Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 2:this.inputFormLabel=this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===c.$I.LOOP_IN?this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):"Amount to "+this.loopDirectionCaption,this.quoteFormLabel=this.quote&&this.quote.swap_fee_sat&&(this.quote.htlc_sweep_fee_sat||this.quote.htlc_publish_fee_sat)&&this.quote.prepay_amt_sat?"Quote confirmed | Estimated Fees: "+this.decimalPipe.transform(+this.quote.swap_fee_sat+ +(this.quote.htlc_sweep_fee_sat?this.quote.htlc_sweep_fee_sat:this.quote.htlc_publish_fee_sat?this.quote.htlc_publish_fee_sat:0))+" Sats":"Quote confirmed",this.addressFormLabel=this.addressFormGroup.controls.addressType.value?"Withdrawal Address | Type: "+this.addressFormGroup.controls.addressType.value:"Withdrawal Address";break;default:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address"}(this.direction===c.$I.LOOP_OUT&&1!==t.selectedIndex&&t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(h.Y36(o.so),h.Y36(o.WI),h.Y36(u.yh),h.Y36(d.W),h.Y36(n.qu),h.Y36(p.JJ),h.Y36(f.mQ),h.Y36(m.F0),h.Y36(g.v))},t.\u0275cmp=h.Xpm({type:t,selectors:[["rtl-loop-modal"]],viewQuery:function(t,e){if(1&t&&h.Gf(lt,5),2&t){let t;h.iGM(t=h.CRH())&&(e.stepper=t.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["loopStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["class","padding-gap-large","fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngIf"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"quote","termCaption","panelExpanded","showPanel"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],[3,"fxFlex"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["matInput","","placeholder","Sweep Confirmation Target","type","number","tabindex","2","formControlName","sweepConfTarget","required","",3,"step"],["fxFlex","30",4,"ngIf"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","fxFlex","15","tabindex","4","color","primary","formControlName","fast",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","5","type","button",3,"click"],[3,"quote","showPanel"],["fxFlex","100","class","color-warn mt-2","fxLayoutAlign","start center",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","6","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","7","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","12","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-stroked-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],["matInput","","placeholder","Max Off-chain Routing Fee (%)","type","number","tabindex","3","formControlName","routingFeePercent","required","",3,"step"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","fxFlex","15","tabindex","4","color","primary","formControlName","fast"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn","mt-2"],[1,"mr-1","icon-small"],["mat-stroked-button","","color","primary","tabindex","6","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","7","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-stroked-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-flat-button","","color","primary","tabindex","12","type","button",3,"click"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"loopStatus"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-stroked-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(t,e){1&t&&(h.YNc(0,Rt,71,55,"div",0),h.YNc(1,Nt,1,1,"ng-template",null,1,h.W1O),h.YNc(3,Vt,20,11,"div",2)),2&t&&(h.Q6J("ngIf",!e.flgShowInfo),h.xp6(3),h.Q6J("ngIf",e.flgShowInfo))},directives:[p.O5,y.xw,y.yH,y.Wh,b.dk,v.lW,b.dn,_.Vq,_.C0,n._Y,n.JL,n.sg,_.VY,D,R.KE,N.Nt,n.wV,n.Fj,P.h,n.JJ,n.u,n.Q7,R.bx,R.R9,w.ib,w.yz,w.yK,o.ZT,R.TO,F.Rr,C.gM,Z.Hw,B.VQ,B.U0,U.pW,Y,p.sg,$,at,p.mk,x.oO],pipes:[p.JJ,p.rS],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[l._]}}),t})()},6880:(t,e,i)=>{"use strict";i.d(e,{h:()=>r});var n=i(1572);let r=(()=>{class t{constructor(t){this.el=t}ngAfterContentInit(){setTimeout(()=>{this.el.nativeElement.focus()},500)}}return t.\u0275fac=function(e){return new(e||t)(n.Y36(n.SBq))},t.\u0275dir=n.lG2({type:t,selectors:[["","autoFocus",""]],inputs:{appAutoFocus:"appAutoFocus"}}),t})()},2609:(t,e,i)=>{"use strict";i.d(e,{y:()=>r});var n=i(1572);let r=(()=>{class t{constructor(){this.copied=new n.vpe}onClick(t){if(t.preventDefault(),!this.payload)return;const e=t=>{(t.clipboardData||window.clipboardData).setData("text",this.payload.toString()),t.preventDefault(),this.copied.emit(this.payload)};document.addEventListener("copy",e,!1),document.execCommand("copy"),document.removeEventListener("copy",e,!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=n.lG2({type:t,selectors:[["","rtlClipboard",""]],hostBindings:function(t,e){1&t&&n.NdJ("click",function(t){return e.onClick(t)})},inputs:{payload:"payload"},outputs:{copied:"copied"}}),t})()},5095:(t,e,i)=>{"use strict";i.d(e,{q:()=>s});var n=i(6073),r=i(1572);let s=(()=>{class t{validate(t){return this.min?n.kI.min(+this.min)(t):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=r.lG2({type:t,selectors:[["input","min",""]],inputs:{min:"min"},features:[r._Bn([{provide:n.Cf,useExisting:t,multi:!0}])]}),t})()},6013:(t,e,i)=>{"use strict";i.d(e,{a1:()=>a,QM:()=>l,lB:()=>c,fY:()=>h});var n=i(1681),r=i(1572),s=i(6853),o=i(3191);let a=(()=>{class t{constructor(t,e){this.router=t,this.sessionService=e}canActivate(t){return!(!this.sessionService.getItem("token")||"settings"!==t.url[0].path&&"auth"!==t.url[0].path&&"true"===this.sessionService.getItem("defaultPassword")&&(this.router.navigate(["/settings/auth"]),1))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(s.F0),r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),l=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.lndUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),c=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.clUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),h=(()=>{class t{constructor(t){this.sessionService=t}canActivate(){return!!this.sessionService.watchSession().pipe((0,n.U)(t=>t.eclUnlocked))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},1084:(t,e,i)=>{"use strict";i.d(e,{v:()=>d});var n=i(2041),r=i(9647),s=i(9056),o=i(1681),a=i(1816),l=i(9421),c=i(1572),h=i(3556),u=i(3869);let d=(()=>{class t{constructor(t,e){this.dataService=t,this.logger=e,this.currencyUnits=[],this.CurrencyUnitEnum=l.NT,this.conversionData={data:null,last_fetched:null},this.ratesAPIStatus=l.Bn.UN_INITIATED,this.screenSize=l.cu.MD,this.containerSize={width:1200,height:800}}getScreenSize(){return this.screenSize}setScreenSize(t){this.screenSize=t}getContainerSize(){return this.containerSize}setContainerSize(t,e){this.containerSize={width:t,height:e}}sortByKey(t,e,i,n="asc"){return t.sort("number"===i?"desc"===n?(t,i)=>+t[e]>+i[e]?-1:1:(t,i)=>+t[e]>+i[e]?1:-1:"desc"===n?(t,i)=>t[e]>i[e]?-1:1:(t,i)=>t[e]>i[e]?1:-1)}sortDescByKey(t,e){return t.sort((t,i)=>{const n=+t[e],r=+i[e];return n>r?-1:n{const n=+t[e],r=+i[e];return nr?1:0})}camelCase(t){return t.replace(/(?:^\w|[A-Z]|\b\w)/g,(t,e)=>0===e?t.toLowerCase():t.toUpperCase()).replace(/\s+/g,"")}titleCase(t){return t.indexOf("!\n")>0||t.indexOf(".\n")>0?t.split("\n").reduce((t,e)=>t+e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()+"\n",""):t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()}convertCurrency(t,e,i,c,h){const u=(new Date).valueOf();return h&&c&&this.ratesAPIStatus!==l.Bn.INITIATED&&(e===l.NT.OTHER||i===l.NT.OTHER)?this.conversionData.data&&this.conversionData.last_fetched&&u(this.ratesAPIStatus=l.Bn.COMPLETED,this.conversionData.data=i&&"object"==typeof i?i:i&&"string"==typeof i?JSON.parse(i):{},this.conversionData.last_fetched=u,this.convertWithFiat(t,e,c))),(0,a.K)(t=>(this.ratesAPIStatus=l.Bn.ERROR,(0,r._)(()=>this.extractErrorMessage(t,"Currency Conversion Error.")))))):(0,n.of)(this.convertWithoutFiat(t,e))}convertWithoutFiat(t,e){const i={};switch(i[l.NT.SATS]=0,i[l.NT.BTC]=0,e){case l.NT.SATS:i[l.NT.SATS]=t,i[l.NT.BTC]=1e-8*t;break;case l.NT.BTC:i[l.NT.SATS]=1e8*t,i[l.NT.BTC]=t}return i}convertWithFiat(t,e,i){const n={unit:i,symbol:this.conversionData.data[i].symbol};switch(n[l.NT.SATS]=0,n[l.NT.BTC]=0,n[l.NT.OTHER]=0,e){case l.NT.SATS:n[l.NT.SATS]=t,n[l.NT.BTC]=1e-8*t,n[l.NT.OTHER]=1e-8*t*this.conversionData.data[i].last;break;case l.NT.BTC:n[l.NT.SATS]=1e8*t,n[l.NT.BTC]=t,n[l.NT.OTHER]=t*this.conversionData.data[i].last;break;case l.NT.OTHER:n[l.NT.SATS]=t/this.conversionData.data[i].last*1e8,n[l.NT.BTC]=t/this.conversionData.data[i].last,n[l.NT.OTHER]=t}return n}convertTime(t,e,i){switch(e){case l.Qk.SECS:switch(i){case l.Qk.MINS:t/=60;break;case l.Qk.HOURS:t/=3600;break;case l.Qk.DAYS:t/=86400}break;case l.Qk.MINS:switch(i){case l.Qk.SECS:t*=60;break;case l.Qk.HOURS:t/=60;break;case l.Qk.DAYS:t/=1440}break;case l.Qk.HOURS:switch(i){case l.Qk.SECS:t*=3600;break;case l.Qk.MINS:t*=60;break;case l.Qk.DAYS:t/=24}break;case l.Qk.DAYS:switch(i){case l.Qk.SECS:t=3600*t*24;break;case l.Qk.MINS:t=60*t*24;break;case l.Qk.HOURS:t*=24}}return t}downloadFile(t,e,i=".json",n=".csv"){let r=new Blob;r=".json"===i?new Blob(["\ufeff"+this.convertToCSV(t)],{type:"text/csv;charset=utf-8;"}):new Blob([t.toString()],{type:"text/plain;charset=utf-8"});const s=document.createElement("a"),o=URL.createObjectURL(r);-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&s.setAttribute("target","_blank"),s.setAttribute("href",o),s.setAttribute("download",e+n),s.style.visibility="hidden",document.body.appendChild(s),s.click(),document.body.removeChild(s)}convertToCSV(t){const e=[];let i="",n="",r="";"object"!=typeof t&&(t=JSON.parse(t)),t.forEach((t,i)=>{for(const n in t)e.findIndex(t=>t===n)<0&&e.push(n)});const s=e.join(",");return r=s+"\r\n",t.forEach(t=>{i="",e.forEach(e=>{t.hasOwnProperty(e)?Array.isArray(t[e])?(n="",t[e].forEach((t,e)=>{n+="object"==typeof t?"("+JSON.stringify(t).replace(/\,/g,";")+")":"("+t+")"}),i+=n+","):i+="object"==typeof t[e]?JSON.stringify(t[e]).replace(/\,/g,";")+",":t[e]+",":i+=","}),r+=i.slice(0,-1)+"\r\n"}),r}isVersionCompatible(t,e){const i=t?t.trim().replace("v","").split("-")[0].split("."):[],n=e.split(".");return+i[0]>+n[0]||+i[0]==+n[0]&&+i[1]>+n[1]||+i[0]==+n[0]&&+i[1]==+n[1]&&+i[2]>=+n[2]}extractErrorMessage(t,e="Unknown Error."){const i=this.titleCase(t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&t.error.error.error.error.error&&"string"==typeof t.error.error.error.error.error?t.error.error.error.error.error:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&"string"==typeof t.error.error.error.error?t.error.error.error.error:t.error&&t.error.error&&t.error.error.error&&"string"==typeof t.error.error.error?t.error.error.error:t.error&&t.error.error&&"string"==typeof t.error.error?t.error.error:t.error&&"string"==typeof t.error?t.error:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&t.error.error.error.error.message&&"string"==typeof t.error.error.error.error.message?t.error.error.error.error.message:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.message&&"string"==typeof t.error.error.error.message?t.error.error.error.message:t.error&&t.error.error&&t.error.error.message&&"string"==typeof t.error.error.message?t.error.error.message:t.error&&t.error.message&&"string"==typeof t.error.message?t.error.message:t.message&&"string"==typeof t.message?t.message:e);return this.logger.info("Error Message: "+i),i}extractErrorCode(t,e=500){const i=t.error&&t.error.error&&t.error.error.message&&t.error.error.message.code?t.error.error.message.code:t.error&&t.error.error&&t.error.error.code?t.error.error.code:t.error&&t.error.code?t.error.code:t.code?t.code:t.status?t.status:e;return this.logger.info("Error Code: "+i),i}extractErrorNumber(t,e=500){const i=t.error&&t.error.error&&t.error.error.errno?t.error.error.errno:t.error&&t.error.errno?t.error.errno:t.errno?t.errno:t.status?t.status:e;return this.logger.info("Error Number: "+i),i}}return t.\u0275fac=function(e){return new(e||t)(c.LFG(h.D),c.LFG(u.mQ))},t.\u0275prov=c.Yz7({token:t,factory:t.\u0275fac}),t})()},9421:(t,e,i)=>{"use strict";i.d(e,{pt:()=>r,uA:()=>s,Xz:()=>o,Er:()=>a,LO:()=>l,IV:()=>c,TJ:()=>h,_t:()=>u,Dr:()=>d,Vc:()=>p,vn:()=>f,wZ:()=>m,ol:()=>g,n_:()=>y,OJ:()=>b,Qk:()=>v,NT:()=>_,Gi:()=>w,cu:()=>x,HW:()=>C,x$:()=>A,uX:()=>S,Fq:()=>E,$I:()=>k,hc:()=>T,Qw:()=>M,gg:()=>L,op:()=>I,JX:()=>O,kO:()=>D,Bn:()=>R,m6:()=>N});var n=i(3005);function r(t){const e=new n.ye;return e.itemsPerPageLabel=t+" per page:",e}const s=["Sats","BTC"],o={Sats:"1.0-0",BTC:"1.6-6",OTHER:"1.2-2"},a=[{id:"USD",name:"USD"},{id:"AUD",name:"AUD"},{id:"BRL",name:"BRL"},{id:"CAD",name:"CAD"},{id:"CHF",name:"CHF"},{id:"CLP",name:"CLP"},{id:"CNY",name:"CNY"},{id:"DKK",name:"DKK"},{id:"EUR",name:"EUR"},{id:"GBP",name:"GBP"},{id:"HKD",name:"HKD"},{id:"INR",name:"INR"},{id:"ISK",name:"ISK"},{id:"JPY",name:"JPY"},{id:"KRW",name:"KRW"},{id:"NZD",name:"NZD"},{id:"PLN",name:"PLN"},{id:"RUB",name:"RUB"},{id:"SEK",name:"SEK"},{id:"SGD",name:"SGD"},{id:"THB",name:"THB"},{id:"TWD",name:"TWD"}],l=["SECS","MINS","HOURS","DAYS"],c=10,h=[5,10,25,100],u=[{addressId:"0",addressCode:"bech32",addressTp:"Bech32 (P2WKH)",addressDetails:"Pay to witness key hash"},{addressId:"1",addressCode:"p2sh-segwit",addressTp:"P2SH (NP2WKH)",addressDetails:"Pay to nested witness key hash (default)"}],d=[{id:"0",name:"Priority (Default)"},{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],p=[{id:"none",name:"No Fee Limit",placeholder:"No Limit"},{id:"fixed",name:"Fixed Limit (Sats)",placeholder:"Fixed Limit in Sats"},{id:"percent",name:"Percentage of Payment Amount",placeholder:"Percentage Limit"}],f=[{feeRateId:"urgent",feeRateType:"Urgent"},{feeRateId:"normal",feeRateType:"Normal"},{feeRateId:"slow",feeRateType:"Slow"},{feeRateId:"customperkb",feeRateType:"Custom (Sats/vB)"}],m={themes:[{id:"PURPLE",name:"Diogo"},{id:"TEAL",name:"My2Sats"},{id:"INDIGO",name:"RTL"},{id:"PINK",name:"BK"},{id:"YELLOW",name:"Gold"}],modes:[{id:"DAY",name:"Day"},{id:"NIGHT",name:"Night"}]};var g=function(t){return t.OPERATOR="OPERATOR",t.MERCHANT="MERCHANT",t.ALL="ALL",t}({}),y=function(t){return t.INFORMATION="Information",t.WARNING="Warning",t.ERROR="Error",t.SUCCESS="Success",t.CONFIRM="Confirm",t}({}),b=function(t){return t.JWT="JWT",t.PASSWORD="PASSWORD",t}({}),v=function(t){return t.SECS="SECS",t.MINS="MINS",t.HOURS="HOURS",t.DAYS="DAYS",t}({}),_=function(t){return t.SATS="Sats",t.BTC="BTC",t.OTHER="OTHER",t}({}),w=function(t){return t.ARRAY="ARRAY",t.NUMBER="NUMBER",t.STRING="STRING",t.BOOLEAN="BOOLEAN",t.PASSWORD="PASSWORD",t.DATE="DATE",t.DATE_TIME="DATE_TIME",t}({}),x=function(t){return t.XS="XS",t.SM="SM",t.MD="MD",t.LG="LG",t.XL="XL",t}({});const C={COOPERATIVE_CLOSE:{name:"Co-operative Close",tooltip:"Channel closed cooperatively"},LOCAL_FORCE_CLOSE:{name:"Local Force Close",tooltip:"Channel force-closed by the local node"},REMOTE_FORCE_CLOSE:{name:"Remote Force Close",tooltip:"Channel force-closed by the remote node"},BREACH_CLOSE:{name:"Breach Close",tooltip:"Remote node attempted to broadcast a prior revoked channel state"},FUNDING_CANCELED:{name:"Funding Canceled",tooltip:"Channel never fully opened"},ABANDONED:{name:"Abandoned",tooltip:"Channel abandoned by the local node"}},A={WITNESS_PUBKEY_HASH:{name:"Witness Pubkey Hash",tooltip:""},NESTED_PUBKEY_HASH:{name:"Nested Pubkey Hash",tooltip:""},UNUSED_WITNESS_PUBKEY_HASH:{name:"Unused Witness Pubkey Hash",tooltip:""},UNUSED_NESTED_PUBKEY_HASH:{name:"Unused Nested Pubkey Hash",tooltip:""}};var S=function(t){return t.CHANNELD_NORMAL="Active",t.OPENINGD="Opening",t.CHANNELD_AWAITING_LOCKIN="Pending Open",t.CHANNELD_SHUTTING_DOWN="Shutting Down",t.CLOSINGD_SIGEXCHANGE="Closing: Sig Exchange",t.CLOSINGD_COMPLETE="Closed",t.AWAITING_UNILATERAL="Awaiting Unilateral Close",t.FUNDING_SPEND_SEEN="Funding Spend Seen",t.ONCHAIN="Onchain",t.DUALOPEND_OPEN_INIT="Dual Open Initialized",t.DUALOPEND_AWAITING_LOCKIN="Dual Pending Open",t}({}),E=function(t){return t.INITIATED="Initiated",t.PREIMAGE_REVEALED="Preimage Revealed",t.HTLC_PUBLISHED="HTLC Published",t.SUCCESS="Successful",t.FAILED="Failed",t.INVOICE_SETTLED="Invoice Settled",t}({}),k=function(t){return t.LOOP_OUT="LOOP_OUT",t.LOOP_IN="LOOP_IN",t}({}),T=function(t){return t.SWAP_OUT="SWAP_OUT",t.SWAP_IN="SWAP_IN",t}({}),M=function(t){return t["swap.created"]="Swap Created",t["swap.expired"]="Swap Expired",t["invoice.set"]="Invoice Set",t["invoice.paid"]="Invoice Paid",t["invoice.pending"]="Invoice Pending",t["invoice.settled"]="Invoice Settled",t["invoice.failedToPay"]="Invoice Failed To Pay",t["channel.created"]="Channel Created",t["transaction.failed"]="Transaction Failed",t["transaction.mempool"]="Transaction Mempool",t["transaction.claimed"]="Transaction Claimed",t["transaction.refunded"]="Transaction Refunded",t["transaction.confirmed"]="Transaction Confirmed",t["swap.refunded"]="Swap Refunded",t["swap.abandoned"]="Swap Abandoned",t}({});const L=[{name:"Jan",days:31},{name:"Feb",days:28},{name:"Mar",days:31},{name:"Apr",days:30},{name:"May",days:31},{name:"Jun",days:30},{name:"Jul",days:31},{name:"Aug",days:31},{name:"Sep",days:30},{name:"Oct",days:31},{name:"Nov",days:30},{name:"Dec",days:31}],I=["MONTHLY","YEARLY"];var O=function(t){return t.LOOP="LOOP",t.BOLTZ="BOLTZ",t}({});const D=["password","changeme","moneyprintergobrrr"];var R=function(t){return t.UN_INITIATED="UN_INITIATED",t.INITIATED="INITIATED",t.COMPLETED="COMPLETED",t.ERROR="ERROR",t}({});const N={NO_SPINNER:"No Spinner...",GET_NODE_INFO:"Getting Node Information...",INITALIZE_NODE_DATA:"Initializing Node Data...",GENERATE_NEW_ADDRESS:"Getting New Address...",SEND_FUNDS:"Sending Funds...",UPDATE_CHAN_POLICY:"Updating Channel Policy...",GET_CHAN_POLICY:"Fetching Channel Policy...",GET_REMOTE_POLICY:"Fetching Remote Policy...",CLOSE_CHANNEL:"Closing Channel...",FORCE_CLOSE_CHANNEL:"Force Closing Channel...",OPEN_CHANNEL:"Opening Channel...",CONNECT_PEER:"Connecting Peer...",DISCONNECT_PEER:"Disconnecting Peer...",ADD_INVOICE:"Adding Invoice...",CREATE_INVOICE:"Creating Invoice...",DELETE_INVOICE:"Deleting Invoices...",DECODE_PAYMENT:"Decoding Payment...",DECODE_PAYMENTS:"Decoding Payments...",GET_SENT_PAYMENTS:"Getting Sent Payments...",SEND_PAYMENT:"Sending Payment...",SEND_KEYSEND:"Sending Keysend Payment...",SEARCHING_NODE:"Searching Node...",SEARCHING_CHANNEL:"Searching Channel...",SEARCHING_INVOICE:"Searching Invoice...",BACKUP_CHANNEL:"Backup Channels...",VERIFY_CHANNEL:"Verify Channels...",DOWNLOAD_BACKUP_FILE:"Downloading Backup File...",RESTORE_CHANNEL:"Restoring Channels...",GET_TERMS_QUOTES:"Getting Terms and Quotes...",LABEL_UTXO:"Labelling UTXO...",GET_NODE_ADDRESS:"Getting Node Address...",GEN_SEED:"Generating Seed...",INITIALIZE_WALLET:"Initializing Wallet...",UNLOCK_WALLET:"Unlocking Wallet...",WAIT_SYNC_NODE:"Waiting for Node Sync...",UPDATE_BOLTZ_SETTINGS:"Updating Boltz Service Settings...",UPDATE_LOOP_SETTINGS:"Updating Loop Service Settings...",UPDATE_UI_SETTINGS:"Updating Settings...",UPDATE_NODE_SETTINGS:"Updating Node Settings...",UPDATE_SELECTED_NODE:"Updating Selected Node...",OPEN_CONFIG_FILE:"Opening Config File...",GET_SERVICE_INFO:"Getting Service Info...",GET_QUOTE:"Getting Quotes...",UPDATE_DEFAULT_NODE_SETTING:"Updating Defaule Node Settings...",GET_BOLTZ_SWAPS:"Getting Boltz Swaps...",SIGN_MESSAGE:"Signing Message...",VERIFY_MESSAGE:"Verifying Message...",BUMP_FEE:"Bumping Fee...",LEASE_UTXO:"Leasing UTXO...",GET_LOOP_SWAPS:"Getting List Swaps...",GET_FEE_REPORT:"Getting fee report...",GET_LOOKUP_DETAILS:"Getting lookup details...",GET_RTL_CONFIG:"Getting RTL Config...",VERIFY_TOKEN:"Verify Token..."}},3556:(t,e,i)=>{"use strict";i.d(e,{D:()=>x});var n=i(9063),r=i(9666),s=i(9647),o=i(2041),a=i(9568),l=i(1681),c=i(1816),h=i(5653),u=i(7228),d=i(5963),p=i(9421),f=i(2427),m=i(3929),g=i(5678),y=i(1572),b=i(964),v=i(3869),_=i(1403),w=i(1511);let x=(()=>{class t{constructor(t,e,i,n,s){this.httpClient=t,this.store=e,this.logger=i,this.snackBar=n,this.titleCasePipe=s,this.lnImplementation="LND",this.childAPIUrl=d.T,this.unSubs=[new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x,new r.x]}getChildAPIUrl(){return this.childAPIUrl}getLnImplementation(){return this.lnImplementation}setChildAPIUrl(t){switch(this.lnImplementation=t,t){case"CLT":this.childAPIUrl=d.T+"/cl";break;case"ECL":this.childAPIUrl=d.T+"/ecl";break;default:this.childAPIUrl=d.T+"/lnd"}}getFiatRates(){return this.httpClient.get(d.N.CONF_API+"/rates")}decodePayment(t,e){let i=this.childAPIUrl+d.N.PAYREQUEST_API+"/"+t;return"ECL"===this.getLnImplementation()&&(i=this.childAPIUrl+d.N.PAYMENTS_API+"/"+t),this.store.dispatch(new m.Fk(p.m6.DECODE_PAYMENT)),this.httpClient.get(i).pipe((0,a.R)(this.unSubs[0]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(p.m6.DECODE_PAYMENT)),t)),(0,c.K)(t=>(e?this.handleErrorWithoutAlert("Decode Payment",p.m6.DECODE_PAYMENT,t):this.handleErrorWithAlert("decodePaymentData",p.m6.DECODE_PAYMENT,"Decode Payment Failed",this.childAPIUrl+d.N.PAYREQUEST_API,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}decodePayments(t){let e=this.childAPIUrl+d.N.PAYREQUEST_API,i=p.m6.DECODE_PAYMENTS;return"ECL"===this.getLnImplementation()&&(e=this.childAPIUrl+d.N.PAYMENTS_API+"/getsentinfos",i=p.m6.GET_SENT_PAYMENTS),this.store.dispatch(new m.Fk(i)),this.httpClient.post(e,{payments:t}).pipe((0,a.R)(this.unSubs[1]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(i)),t)),(0,c.K)(t=>(this.handleErrorWithAlert("decodePaymentsData",i,i+" Failed",e,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}getAliasesFromPubkeys(t,e){if(e){const e=(new n.LE).set("pubkeys",t);return this.httpClient.get(this.childAPIUrl+d.N.NETWORK_API+"/nodes",{params:e})}return this.httpClient.get(this.childAPIUrl+d.N.NETWORK_API+"/node/"+t)}signMessage(t){return this.store.dispatch(new m.Fk(p.m6.SIGN_MESSAGE)),this.httpClient.post(this.childAPIUrl+d.N.MESSAGE_API+"/sign",{message:t}).pipe((0,a.R)(this.unSubs[2]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(p.m6.SIGN_MESSAGE)),t)),(0,c.K)(t=>(this.handleErrorWithAlert("signMessageData",p.m6.SIGN_MESSAGE,"Sign Message Failed",this.childAPIUrl+d.N.MESSAGE_API+"/sign",t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}verifyMessage(t,e){return this.store.dispatch(new m.Fk(p.m6.VERIFY_MESSAGE)),this.httpClient.post(this.childAPIUrl+d.N.MESSAGE_API+"/verify",{message:t,signature:e}).pipe((0,a.R)(this.unSubs[3]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(p.m6.VERIFY_MESSAGE)),t)),(0,c.K)(t=>(this.handleErrorWithAlert("verifyMessageData",p.m6.VERIFY_MESSAGE,"Verify Message Failed",this.childAPIUrl+d.N.MESSAGE_API+"/verify",t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}bumpFee(t,e,i,n){const r={txid:t,outputIndex:e};return i&&(r.targetConf=i),n&&(r.satPerByte=n),this.store.dispatch(new m.Fk(p.m6.BUMP_FEE)),this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/bumpfee",r).pipe((0,a.R)(this.unSubs[4]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(p.m6.BUMP_FEE)),this.snackBar.open("Successfully bumped the fee. Use the block explorer to verify transaction."),t)),(0,c.K)(t=>(this.handleErrorWithoutAlert("Bump Fee",p.m6.BUMP_FEE,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}labelUTXO(t,e,i=!0){const n={txid:t,label:e,overwrite:i};return this.store.dispatch(new m.Fk(p.m6.LABEL_UTXO)),this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/label",n).pipe((0,a.R)(this.unSubs[5]),(0,l.U)(t=>(this.store.dispatch(new m.Iv(p.m6.LABEL_UTXO)),t)),(0,c.K)(t=>(this.handleErrorWithoutAlert("Lease UTXO",p.m6.LABEL_UTXO,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}leaseUTXO(t,e){const i={txid:t,outputIndex:e};return this.store.dispatch(new m.Fk(p.m6.LEASE_UTXO)),this.httpClient.post(this.childAPIUrl+d.N.WALLET_API+"/lease",i).pipe((0,a.R)(this.unSubs[6])).subscribe({next:t=>{this.store.dispatch(new m.Iv(p.m6.LEASE_UTXO)),this.store.dispatch(new g.eL),this.store.dispatch(new g.Zt);const e=new Date(1e3*t.expiration),i=Math.round(e.getTime())-60*e.getTimezoneOffset();this.snackBar.open("The UTXO has been leased till "+new Date(i).toString().substring(4,21).replace(" ","/").replace(" ","/").toUpperCase()+".")},error:t=>(this.handleErrorWithoutAlert("Lease UTXO",p.m6.LEASE_UTXO,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))})}getForwardingHistory(t,e){const i={end_time:e,start_time:t};return this.store.dispatch(new m.Fk(p.m6.GET_FEE_REPORT)),this.httpClient.post(this.childAPIUrl+d.N.SWITCH_API,i).pipe((0,a.R)(this.unSubs[7]),(0,h.M)(this.store.select("lnd")),(0,u.z)(([t,e])=>{if(t.forwarding_events){const i=[...e.allChannels,...e.closedChannels];t.forwarding_events.forEach(t=>{if(i&&i.length>0)for(let e=0;e(this.handleErrorWithAlert("getForwardingHistoryData",p.m6.GET_FEE_REPORT,"Forwarding History Failed",this.childAPIUrl+d.N.SWITCH_API,t),(0,s._)(()=>new Error(this.extractErrorMessage(t))))))}extractErrorMessage(t,e="Unknown Error."){return this.titleCasePipe.transform(t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&t.error.error.error.error.error&&"string"==typeof t.error.error.error.error.error?t.error.error.error.error.error:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&"string"==typeof t.error.error.error.error?t.error.error.error.error:t.error&&t.error.error&&t.error.error.error&&"string"==typeof t.error.error.error?t.error.error.error:t.error&&t.error.error&&"string"==typeof t.error.error?t.error.error:t.error&&"string"==typeof t.error?t.error:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.error&&t.error.error.error.error.message&&"string"==typeof t.error.error.error.error.message?t.error.error.error.error.message:t.error&&t.error.error&&t.error.error.error&&t.error.error.error.message&&"string"==typeof t.error.error.error.message?t.error.error.error.message:t.error&&t.error.error&&t.error.error.message&&"string"==typeof t.error.error.message?t.error.error.message:t.error&&t.error.message&&"string"==typeof t.error.message?t.error.message:t.message&&"string"==typeof t.message?t.message:e)}handleErrorWithoutAlert(t,e,i){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),401===i.status&&"Login"!==t?(this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new m.Iv(e)),this.store.dispatch(new m.np({action:t,status:p.Bn.ERROR,statusCode:i.status.toString(),message:this.extractErrorMessage(i)})))}handleErrorWithAlert(t,e,i,n,r){if(this.logger.error(r),401===r.status)this.logger.info("Redirecting to Login"),this.store.dispatch(new m.Ac),this.store.dispatch(new m.RD),this.store.dispatch(new m.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new m.Iv(e));const s=this.extractErrorMessage(r);this.store.dispatch(new m.wu({data:{type:"ERROR",alertTitle:i,message:{code:r.status?r.status:"Unknown Error",message:s,URL:n},component:f.H}})),this.store.dispatch(new m.np({action:t,status:p.Bn.ERROR,statusCode:r.status.toString(),message:s,URL:n}))}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eN),y.LFG(b.yh),y.LFG(v.mQ),y.LFG(_.ux),y.LFG(w.rS))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},3869:(t,e,i)=>{"use strict";i.d(e,{mQ:()=>a,LG:()=>l});var n=i(5963),r=i(1572);const{isDebugMode:s}=n.N,o=()=>null;let a=(()=>{class t{invokeConsoleMethod(t,e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})(),l=(()=>{class t{get info(){return s?console.log.bind(console):o}get warn(){return s?console.warn.bind(console):o}get error(){return s?console.error.bind(console):o}invokeConsoleMethod(t,e){(console[t]||console.log||o).apply(console,[e])}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},2969:(t,e,i)=>{"use strict";i.d(e,{W:()=>b});var n=i(9063),r=i(7425),s=i(9666),o=i(9647),a=i(9568),l=i(1816),c=i(1681),h=i(5963),u=i(9421),d=i(2427),p=i(3929),f=i(1572),m=i(3869),g=i(964),y=i(1084);let b=(()=>{class t{constructor(t,e,i,n){this.httpClient=t,this.logger=e,this.store=i,this.commonService=n,this.CHILD_API_URL=h.T+"/lnd",this.loopUrl="",this.swaps=[],this.swapsChanged=new r.X([]),this.unSubs=[new s.x,new s.x,new s.x,new s.x,new s.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch(new p.Fk(u.m6.GET_LOOP_SWAPS)),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/swaps",this.httpClient.get(this.loopUrl).pipe((0,a.R)(this.unSubs[0])).subscribe({next:t=>{this.store.dispatch(new p.Iv(u.m6.GET_LOOP_SWAPS)),this.swaps=t,this.swapsChanged.next(this.swaps)},error:t=>this.handleErrorWithAlert(u.m6.GET_LOOP_SWAPS,this.loopUrl,t)})}loopOut(t,e,i,n,r,s,o,a,c,d){const p={amount:t,targetConf:i,swapRoutingFee:n,minerFee:r,prepayRoutingFee:s,prepayAmt:o,swapFee:a,swapPublicationDeadline:c,destAddress:d};return""!==e&&(p.chanId=e),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/out",this.httpClient.post(this.loopUrl,p).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out for Channel: "+e,u.m6.NO_SPINNER,t)))}getLoopOutTerms(){return this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/out/terms",this.httpClient.get(this.loopUrl).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out Terms",u.m6.NO_SPINNER,t)))}getLoopOutQuote(t,e,i){let r=new n.LE;return r=r.append("targetConf",e.toString()),r=r.append("swapPublicationDeadline",i.toString()),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/out/quote/"+t,this.store.dispatch(new p.Fk(u.m6.GET_QUOTE)),this.httpClient.get(this.loopUrl,{params:r}).pipe((0,a.R)(this.unSubs[1]),(0,c.U)(t=>(this.store.dispatch(new p.Iv(u.m6.GET_QUOTE)),t)),(0,l.K)(t=>this.handleErrorWithoutAlert("Loop Out Quote",u.m6.GET_QUOTE,t)))}getLoopOutTermsAndQuotes(t){let e=new n.LE;return e=e.append("targetConf",t.toString()),e=e.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/out/termsAndQuotes",this.store.dispatch(new p.Fk(u.m6.GET_TERMS_QUOTES)),this.httpClient.get(this.loopUrl,{params:e}).pipe((0,a.R)(this.unSubs[2]),(0,c.U)(t=>(this.store.dispatch(new p.Iv(u.m6.GET_TERMS_QUOTES)),t)),(0,l.K)(t=>this.handleErrorWithAlert(u.m6.GET_TERMS_QUOTES,this.loopUrl,t)))}loopIn(t,e,i,n,r){const s={amount:t,swapFee:e,minerFee:i,lastHop:n,externalHtlc:r};return this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/in",this.httpClient.post(this.loopUrl,s).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop In",u.m6.NO_SPINNER,t)))}getLoopInTerms(){return this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/in/terms",this.httpClient.get(this.loopUrl).pipe((0,l.K)(t=>this.handleErrorWithoutAlert("Loop In Terms",u.m6.NO_SPINNER,t)))}getLoopInQuote(t,e,i){let r=new n.LE;return r=r.append("targetConf",e.toString()),r=r.append("swapPublicationDeadline",i.toString()),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/in/quote/"+t,this.store.dispatch(new p.Fk(u.m6.GET_QUOTE)),this.httpClient.get(this.loopUrl,{params:r}).pipe((0,a.R)(this.unSubs[3]),(0,c.U)(t=>(this.store.dispatch(new p.Iv(u.m6.GET_QUOTE)),t)),(0,l.K)(t=>this.handleErrorWithoutAlert("Loop In Qoute",u.m6.GET_QUOTE,t)))}getLoopInTermsAndQuotes(t){let e=new n.LE;return e=e.append("targetConf",t.toString()),e=e.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/in/termsAndQuotes",this.store.dispatch(new p.Fk(u.m6.GET_TERMS_QUOTES)),this.httpClient.get(this.loopUrl,{params:e}).pipe((0,a.R)(this.unSubs[4]),(0,c.U)(t=>(this.store.dispatch(new p.Iv(u.m6.GET_TERMS_QUOTES)),t)),(0,l.K)(t=>this.handleErrorWithAlert(u.m6.GET_TERMS_QUOTES,this.loopUrl,t)))}getSwap(t){return this.loopUrl=this.CHILD_API_URL+h.N.LOOP_API+"/swap/"+t,this.httpClient.get(this.loopUrl).pipe((0,l.K)(e=>this.handleErrorWithoutAlert("Loop Get Swap for ID: "+t,u.m6.NO_SPINNER,e)))}handleErrorWithoutAlert(t,e,i){let n="";return this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),this.store.dispatch(new p.Iv(e)),401===i.status?(n="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch(new p.RD)):503===i.status?(n="Unable to Connect to Loop Server.",this.store.dispatch(new p.wu({data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:i.status,message:"Unable to Connect to Loop Server",URL:t},component:d.H}}))):n=this.commonService.extractErrorMessage(i),(0,o._)(()=>new Error(n))}handleErrorWithAlert(t,e,i){let n="";return this.logger.error(i),this.store.dispatch(new p.Iv(t)),401===i.status?(n="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch(new p.RD)):503===i.status?(n="Unable to Connect to Loop Server.",this.store.dispatch(new p.wu({data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:i.status,message:"Unable to Connect to Loop Server",URL:e},component:d.H}}))):(n=this.commonService.extractErrorMessage(i),this.store.dispatch(new p.wu({data:{type:u.n_.ERROR,alertTitle:"ERROR",message:{code:i.error&&i.error.error&&i.error.error.code?i.error.error.code:i.error&&i.error.code?i.error.code:i.code?i.code:i.status,message:n,URL:e},component:d.H}}))),(0,o._)(()=>new Error(n))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(f.LFG(n.eN),f.LFG(m.mQ),f.LFG(g.yh),f.LFG(y.v))},t.\u0275prov=f.Yz7({token:t,factory:t.\u0275fac}),t})()},3191:(t,e,i)=>{"use strict";i.d(e,{m:()=>s});var n=i(9666),r=i(1572);let s=(()=>{class t{constructor(){this.sessionSub=new n.x}watchSession(){return this.sessionSub.asObservable()}getItem(t){return sessionStorage.getItem(t)}getAllItems(){return sessionStorage}setItem(t,e){sessionStorage.setItem(t,e),this.sessionSub.next(sessionStorage)}removeItem(t){sessionStorage.removeItem(t),this.sessionSub.next(sessionStorage)}clearAll(){sessionStorage.clear(),this.sessionSub.next(sessionStorage)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})()},253:(t,e,i)=>{"use strict";i.d(e,{m:()=>it});var n=i(1511),r=i(6853),s=i(6073),o=i(9063),a=i(7592),l=i(1572),c=i(1463),h=i(377),u=i(3722);i(9861),new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map,new Map;let d=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[c.IR]]}),t})();new l.GfV("12.0.0-beta.34");let p=(()=>{class t{constructor(t,e){(0,n.PM)(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}static withConfig(e,i=[]){return{ngModule:t,providers:e.serverLoaded?[{provide:c.WU,useValue:Object.assign(Object.assign({},c.g5),e)},{provide:c.Bs,useValue:i,multi:!0},{provide:c.wY,useValue:!0}]:[{provide:c.WU,useValue:Object.assign(Object.assign({},c.g5),e)},{provide:c.Bs,useValue:i,multi:!0}]}}}return t.\u0275fac=function(e){return new(e||t)(l.LFG(c.wY),l.LFG(l.Lbi))},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[u.ae,h.aT,d],u.ae,h.aT,d]}),t})();var f=i(72),m=i(1522),g=i(4608),y=i(84),b=i(1050),v=i(5980);i(4230),i(4621);let _=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[m.BQ,m.si],m.BQ]}),t})();var w=i(7439),x=i(9236),C=i(5812),A=i(5001),S=i(7271),E=i(3691),k=i(6756),T=i(5250),M=i(8055),L=i(3005),I=i(5994),O=i(7806),D=i(4810),R=i(4786),N=i(5122),P=i(7521);i(5842),i(3490),i(1353),i(6042),i(2526);let F=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[n.ez,m.BQ],m.BQ]}),t})();var Z=i(1403),B=i(2464),U=i(7753),q=i(7033),z=i(5109),H=i(3104),Y=i(6828),G=i(1010),j=i(1905),V=i(3600),Q=i(7038),W=i(369);let J=(()=>{class t extends W.Xj{_createContainer(){const t=document.createElement("div");t.classList.add("cdk-overlay-container"),document.getElementById("rtl-container").appendChild(t),this._containerElement=t}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=l.n5z(t)))(i||t)}}(),t.\u0275prov=l.Yz7({token:t,factory:t.\u0275fac}),t})();var X=i(3869),K=i(9421);const $={suppressScrollX:!1,suppressScrollY:!1};let tt=(()=>{class t extends m.LF{format(t,e){if("input"===e){let e=t.getDate().toString();return e=+e<10?"0"+e:e,e+"/"+K.gg[t.getMonth()].name.toUpperCase()+"/"+t.getFullYear()}return K.gg[t.getMonth()].name.toUpperCase()+" "+t.getFullYear()}}return t.\u0275fac=function(){let e;return function(i){return(e||(e=l.n5z(t)))(i||t)}}(),t.\u0275prov=l.Yz7({token:t,factory:t.\u0275fac}),t})();const et={parse:{dateInput:{day:"numeric",month:"short",year:"numeric"}},display:{dateInput:"input",monthYearLabel:{month:"short",year:"numeric"},dateA11yLabel:{day:"numeric",month:"short",year:"numeric"},monthYearA11yLabel:{month:"short",year:"numeric"}}};let it=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({providers:[{provide:X.mQ,useClass:X.LG},{provide:Q.op,useValue:$},{provide:Z.Ve,useValue:{duration:2e3,verticalPosition:"bottom",panelClass:"rtl-snack-bar"}},{provide:g.Bq,useValue:{hasBackdrop:!0,autoFocus:!0,disableClose:!0,role:"dialog",width:"55%"}},{provide:m._A,useClass:tt},{provide:m.sG,useValue:et},{provide:W.Xj,useClass:J},n.JJ,n.rS,n.uU],imports:[[n.ez,s.u5,s.UX,a.uH,p,f.xu,g.Is,v.ot,_,w.QW,x.p9,A.To,S.N6,C.FA,m.XK,E.Ps,k.c,T.ie,M.Tx,I.Cv,O.Cq,D.Fk,G.dp,R.LD,N.SJ,P.rP,B.JX,q.p0,H.g0,Y.AV,b.g,L.TU,U.T5,F,z.Nh,Z.ZX,y.Bb,j.a4,V.N,r.Bz,o.JF,Q.Xd],s.u5,s.UX,a.uH,p,f.xu,g.Is,v.ot,_,w.QW,x.p9,A.To,S.N6,C.FA,m.XK,E.Ps,k.c,T.ie,M.Tx,I.Cv,O.Cq,D.Fk,G.dp,R.LD,N.SJ,P.rP,B.JX,q.p0,H.g0,Y.AV,b.g,L.TU,U.T5,F,z.Nh,Z.ZX,y.Bb,j.a4,V.N,Q.Xd]}),t})()},3929:(t,e,i)=>{"use strict";i.d(e,{Zn:()=>n,SK:()=>r,O3:()=>s,dh:()=>o,VO:()=>a,mm:()=>l,ow:()=>c,S7:()=>h,fW:()=>u,r3:()=>d,yL:()=>p,Vt:()=>f,oO:()=>m,Ih:()=>g,mG:()=>y,vH:()=>b,rZ:()=>v,Ol:()=>_,xh:()=>w,RP:()=>x,Tb:()=>C,zH:()=>A,s3:()=>S,JU:()=>E,ym:()=>k,gK:()=>T,Nv:()=>M,bk:()=>L,Gs:()=>I,bE:()=>O,BQ:()=>D,np:()=>R,Ac:()=>N,Lw:()=>P,Fk:()=>F,Iv:()=>Z,wu:()=>B,YY:()=>U,b_:()=>q,Ws:()=>z,fD:()=>H,Fj:()=>Y,uQ:()=>G,$A:()=>j,XF:()=>V,j_:()=>Q,z2:()=>W,ZG:()=>J,wq:()=>X,e6:()=>K,RD:()=>$,tq:()=>tt,ZF:()=>et,m3:()=>it,nw:()=>nt});const n="VOID",r="UPDATE_SELECTED_NODE_OPTIONS",s="UPDATE_API_CALL_STATUS_ROOT",o="RESET_ROOT_STORE",a="CLOSE_ALL_DIALOGS",l="OPEN_SNACKBAR",c="OPEN_SPINNER",h="CLOSE_SPINNER",u="OPEN_ALERT",d="CLOSE_ALERT",p="OPEN_CONFIRMATION",f="CLOSE_CONFIRMATION",m="SHOW_PUBKEY",g="FETCH_CONFIG",y="SHOW_CONFIG",b="FETCH_RTL_CONFIG",v="SET_RTL_CONFIG",_="SAVE_SETTINGS",w="TWO_FA_SAVE_SETTINGS",x="SET_SELECTED_NODE",C="UPDATE_SERVICE_SETTINGS",A="SET_NODE_DATA",S="IS_AUTHORIZED",E="IS_AUTHORIZED_RES",k="LOGIN",T="VERIFY_TWO_FA",M="LOGOUT",L="RESET_PASSWORD",I="RESET_PASSWORD_RES",O="FETCH_FILE",D="SHOW_FILE";class R{constructor(t){this.payload=t,this.type=s}}class N{constructor(){this.type=a}}class P{constructor(t){this.payload=t,this.type=l}}class F{constructor(t){this.payload=t,this.type=c}}class Z{constructor(t){this.payload=t,this.type=h}}class B{constructor(t){this.payload=t,this.type=u}}class U{constructor(t){this.payload=t,this.type=d}}class q{constructor(t){this.payload=t,this.type=p}}class z{constructor(t){this.payload=t,this.type=f}}class H{constructor(){this.type=m}}class Y{constructor(t){this.payload=t,this.type=g}}class G{constructor(){this.type=r}}class j{constructor(t){this.payload=t,this.type=o}}class V{constructor(){this.type=b}}class Q{constructor(t){this.payload=t,this.type=_}}class W{constructor(t){this.payload=t,this.type=w}}class J{constructor(t){this.payload=t,this.type=x}}class X{constructor(t){this.payload=t,this.type=C}}class K{constructor(t){this.payload=t,this.type=A}}class ${constructor(){this.type=M}}class tt{constructor(t){this.payload=t,this.type=L}}class et{constructor(t){this.payload=t,this.type=S}}class it{constructor(t){this.payload=t,this.type=k}}class nt{constructor(t){this.payload=t,this.type=O}}},8914:(t,e,i)=>{"use strict";i.d(e,{V:()=>oe});var n=i(5573),r=i(9666),s=i(2041),o=i(2391),a=i(6891),l=i(1681),c=i(9056),h=i(5653),u=i(7228),d=i(1816),p=i(9568),f=i(5963),m=i(9421),g=i(4608),y=i(1572),b=i(3722),v=i(7806);let _=(()=>{class t{constructor(t,e){this.dialogRef=t,this.data=e}}return t.\u0275fac=function(e){return new(e||t)(y.Y36(g.so),y.Y36(g.WI))},t.\u0275cmp=y.Xpm({type:t,selectors:[["rtl-spinner-dialog"]],decls:5,vars:1,consts:[[1,"spinner-container"],["fxLayout","column","fxLayoutAlign","center center",1,"spinner-circle"]],template:function(t,e){1&t&&(y.TgZ(0,"div",0),y.TgZ(1,"div",1),y._UZ(2,"mat-spinner"),y.TgZ(3,"h1"),y._uU(4),y.qZA(),y.qZA(),y.qZA()),2&t&&(y.xp6(4),y.Oqu(e.data.titleMessage))},directives:[b.xw,b.Wh,v.$g],styles:[".spinner-container[_ngcontent-%COMP%]{position:absolute;left:40%;top:35%}"]}),t})();var w=i(3869),x=i(1403),C=i(1084),A=i(1511),S=i(377),E=i(7439),k=i(5980),T=i(3600),M=i(7038),L=i(3691),I=i(6880),O=i(2609),D=i(7679);const R=["scrollContainer"];function N(t,e){if(1&t&&y._UZ(0,"qrcode",15),2&t){const t=y.oxw();y.Q6J("qrdata",t.showQRField)("margin",2)("width",240)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function P(t,e){1&t&&y.GkF(0)}const F=function(t){return{"h-40":t}};function Z(t,e){if(1&t&&(y.ynx(0),y.TgZ(1,"mat-card-content",16,17),y.YNc(3,P,1,0,"ng-container",18),y.qZA(),y.BQk()),2&t){const t=y.oxw(),e=y.MAs(20);y.xp6(1),y.Q6J("ngClass",y.VKq(2,F,t.data.scrollable)),y.xp6(2),y.Q6J("ngTemplateOutlet",e)}}function B(t,e){1&t&&y.GkF(0)}function U(t,e){if(1&t&&(y.ynx(0),y.TgZ(1,"mat-card-content",19),y.YNc(2,B,1,0,"ng-container",18),y.qZA(),y.BQk()),2&t){y.oxw();const t=y.MAs(20);y.xp6(2),y.Q6J("ngTemplateOutlet",t)}}function q(t,e){1&t&&(y.TgZ(0,"mat-icon",23),y._uU(1,"arrow_downward"),y.qZA())}function z(t,e){1&t&&(y.TgZ(0,"mat-icon",23),y._uU(1,"arrow_upward"),y.qZA())}function H(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"div",20),y.TgZ(1,"button",21),y.NdJ("click",function(){return y.CHM(t),y.oxw().onScroll()}),y.YNc(2,q,2,0,"mat-icon",22),y.YNc(3,z,2,0,"mat-icon",22),y.qZA(),y.qZA()}if(2&t){const t=y.oxw();y.xp6(2),y.Q6J("ngIf","DOWN"===t.scrollDirection),y.xp6(1),y.Q6J("ngIf","UP"===t.scrollDirection)}}function Y(t,e){1&t&&(y.TgZ(0,"button",24),y._uU(1,"OK"),y.qZA()),2&t&&y.Q6J("mat-dialog-close",!1)}function G(t,e){1&t&&(y.TgZ(0,"button",25),y._uU(1,"Close"),y.qZA()),2&t&&y.Q6J("mat-dialog-close",!1)}function j(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"button",26),y.NdJ("copied",function(e){return y.CHM(t),y.oxw().onCopyField(e)}),y._uU(1),y.qZA()}if(2&t){const t=y.oxw();y.Q6J("payload",t.showCopyField),y.xp6(1),y.hij("Copy ",t.showCopyName,"")}}function V(t,e){1&t&&(y.TgZ(0,"button",25),y._uU(1,"Close"),y.qZA()),2&t&&y.Q6J("mat-dialog-close",!1)}function Q(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"button",26),y.NdJ("copied",function(e){return y.CHM(t),y.oxw().onCopyField(e)}),y._uU(1),y.qZA()}if(2&t){const t=y.oxw();y.Q6J("payload",t.showQRField),y.xp6(1),y.hij("Copy ",t.showQRName,"")}}function W(t,e){if(1&t&&y._UZ(0,"qrcode",15),2&t){const t=y.oxw(2);y.Q6J("qrdata",t.showQRField)("margin",2)("width",240)("errorCorrectionLevel","L")("allowEmptyString",!0)}}function J(t,e){if(1&t&&(y.TgZ(0,"p",32),y._uU(1),y.qZA()),2&t){const t=y.oxw(2);y.xp6(1),y.Oqu(t.data.titleMessage)}}function X(t,e){1&t&&y._UZ(0,"span",46),2&t&&y.Q6J("innerHTML",e.$implicit,y.oJD)}function K(t,e){if(1&t&&(y.ynx(0),y.YNc(1,X,1,1,"span",45),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Q6J("ngForOf",t.value)}}function $(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.ALo(2,"date"),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(y.xi3(2,1,1e3*t.value,"dd/MMM/YYYY HH:mm"))}}function tt(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.ALo(2,"number"),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(y.xi3(2,1,t.value,t.digitsInfo?t.digitsInfo:"1.0-3"))}}function et(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(t.value?"True":"False")}}function it(t,e){1&t&&(y.TgZ(0,"mat-icon",51),y._uU(1,"info"),y.qZA())}const nt=function(t){return{"failed-status":t}};function rt(t,e){if(1&t&&(y.TgZ(0,"p",49),y._uU(1),y.YNc(2,it,2,0,"mat-icon",50),y.qZA()),2&t){const t=y.oxw(3).$implicit,e=y.oxw(4);y.Q6J("ngClass",y.VKq(3,nt,t.value===e.LoopStateEnum.FAILED)),y.xp6(1),y.hij(" ",t.value," "),y.xp6(1),y.Q6J("ngIf",t.value===e.LoopStateEnum.FAILED)}}function st(t,e){if(1&t&&y._uU(0),2&t){const t=y.oxw(3).$implicit;y.Oqu(t.value)}}function ot(t,e){if(1&t&&(y.ynx(0),y.YNc(1,rt,3,5,"p",47),y.YNc(2,st,1,1,"ng-template",null,48,y.W1O),y.BQk()),2&t){const t=y.MAs(3),e=y.oxw(2).$implicit,i=y.oxw(4);y.xp6(1),y.Q6J("ngIf","SWAP"===i.data.openedBy&&"state"===e.key)("ngIfElse",t)}}function at(t,e){if(1&t&&(y.TgZ(0,"span"),y.TgZ(1,"span",42),y.YNc(2,K,2,1,"ng-container",43),y.YNc(3,$,3,4,"ng-container",43),y.YNc(4,tt,3,4,"ng-container",43),y.YNc(5,et,2,1,"ng-container",43),y.YNc(6,ot,4,2,"ng-container",44),y.qZA(),y.qZA()),2&t){const t=y.oxw().$implicit,e=y.oxw(4);y.xp6(1),y.Q6J("ngSwitch",t.type),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.ARRAY),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.DATE_TIME),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.NUMBER),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.BOOLEAN)}}function lt(t,e){1&t&&(y.TgZ(0,"span",52),y._uU(1,"\xa0"),y.qZA())}function ct(t,e){if(1&t&&(y.TgZ(0,"div",37),y.TgZ(1,"h4",38),y._uU(2),y.qZA(),y.YNc(3,at,7,5,"span",39),y.YNc(4,lt,2,0,"ng-template",null,40,y.W1O),y._UZ(6,"mat-divider",41),y.qZA()),2&t){const t=e.$implicit,i=y.MAs(5);y.s9C("fxFlex.gt-md",t.width),y.xp6(2),y.Oqu(t.title),y.xp6(1),y.Q6J("ngIf",t&&(!!t.value||0===t.value))("ngIfElse",i)}}function ht(t,e){if(1&t&&(y.TgZ(0,"div"),y.TgZ(1,"div",35),y.YNc(2,ct,7,4,"div",36),y.qZA(),y.qZA()),2&t){const t=e.$implicit;y.xp6(2),y.Q6J("ngForOf",t)}}function ut(t,e){if(1&t&&(y.TgZ(0,"div",33),y.YNc(1,ht,3,1,"div",34),y.qZA()),2&t){const t=y.oxw(2);y.xp6(1),y.Q6J("ngForOf",t.messageObjs)}}const dt=function(t){return{"display-none":t}};function pt(t,e){if(1&t&&(y.TgZ(0,"div",27),y.TgZ(1,"div",28),y.YNc(2,W,1,5,"qrcode",2),y.qZA(),y.TgZ(3,"div",29),y.YNc(4,J,2,1,"p",30),y.YNc(5,ut,2,1,"div",31),y.qZA(),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Q6J("ngClass",y.VKq(4,dt,""===t.showQRField||t.screenSize!==t.screenSizeEnum.XS&&t.screenSize!==t.screenSizeEnum.SM)),y.xp6(1),y.Q6J("ngIf",""!==t.showQRField),y.xp6(2),y.Q6J("ngIf",t.data.titleMessage),y.xp6(1),y.Q6J("ngIf",(null==t.messageObjs?null:t.messageObjs.length)>0)}}let ft=(()=>{class t{constructor(t,e,i,n,r,s){this.dialogRef=t,this.data=e,this.logger=i,this.snackBar=n,this.commonService=r,this.renderer=s,this.LoopStateEnum=m.Fq,this.showQRField="",this.showQRName="",this.showCopyName="",this.showCopyField="",this.errorMessage="",this.messageObjs=[],this.alertTypeEnum=m.n_,this.dataTypeEnum=m.Gi,this.screenSize="",this.screenSizeEnum=m.cu,this.scrollDirection="DOWN",this.shouldScroll=!0}set container(t){t&&(this.scrollContainer=t,this.scrollContainer&&this.scrollContainer.nativeElement&&(this.unlistenEnd=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-end",t=>{this.scrollDirection="UP"}),this.unlistenStart=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-start",t=>{this.scrollDirection="DOWN"})))}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.messageObjs=this.data.message,this.showQRField=this.data.showQRField?this.data.showQRField:"",this.showQRName=this.data.showQRName?this.data.showQRName:"",this.showCopyName=this.data.showCopyName?this.data.showCopyName:"",this.showCopyField=this.data.showCopyField?this.data.showCopyField:"",this.data.type===m.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.messageObjs)}ngAfterViewChecked(){setTimeout(()=>{this.shouldScroll=this.scrollContainer&&this.scrollContainer.nativeElement&&this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")},500)}onScroll(){this.scrollContainer.nativeElement.scrollTop="DOWN"===this.scrollDirection?this.scrollContainer.nativeElement.scrollTop+62.6:this.scrollContainer.nativeElement.scrollTop-62.6}onCopyField(t){this.snackBar.open((this.showQRName?this.showQRName:this.showCopyName)+" copied."),this.logger.info("Copied Text: "+t)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unlistenStart&&this.unlistenStart(),this.unlistenEnd&&this.unlistenEnd()}}return t.\u0275fac=function(e){return new(e||t)(y.Y36(g.so),y.Y36(g.WI),y.Y36(w.mQ),y.Y36(x.ux),y.Y36(C.v),y.Y36(y.Qsj))},t.\u0275cmp=y.Xpm({type:t,selectors:[["rtl-alert-message"]],viewQuery:function(t,e){if(1&t&&y.Gf(R,5),2&t){let t;y.iGM(t=y.CRH())&&(e.container=t.first)}},decls:21,vars:14,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString",4,"ngIf"],[3,"fxFlex"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close",4,"ngIf"],["class","mr-1","fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",3,"mat-dialog-close",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["contentBlock",""],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],[1,"padding-gap-x-large",3,"perfectScrollbar","ngClass"],["scrollContainer",""],[4,"ngTemplateOutlet"],[1,"padding-gap-x-large"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center",4,"ngIf"],["fxLayoutAlign","center center"],["tabindex","1","autoFocus","","mat-flat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","center center","tabindex","1","mat-stroked-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","mb-1",3,"ngClass"],["fxLayout","row","fxFlex","100"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxLayoutAlign","start center",1,"pb-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block w-100",3,"innerHTML",4,"ngFor","ngForOf"],[1,"display-block","w-100",3,"innerHTML"],["fxLayout","row",3,"ngClass",4,"ngIf","ngIfElse"],["noStyleBlock",""],["fxLayout","row",3,"ngClass"],["fxLayoutAlign","end end","class","icon-failed-status",4,"ngIf"],["fxLayoutAlign","end end",1,"icon-failed-status"],["fxFlex","100",1,"foreground-secondary-text"]],template:function(t,e){1&t&&(y.TgZ(0,"div",0),y.TgZ(1,"div",1),y.YNc(2,N,1,5,"qrcode",2),y.qZA(),y.TgZ(3,"div",3),y.TgZ(4,"mat-card-header",4),y.TgZ(5,"div",5),y.TgZ(6,"span",6),y._uU(7),y.qZA(),y.qZA(),y.TgZ(8,"button",7),y.NdJ("click",function(){return e.onClose()}),y._uU(9,"X"),y.qZA(),y.qZA(),y.YNc(10,Z,4,4,"ng-container",8),y.YNc(11,U,3,1,"ng-container",8),y.YNc(12,H,4,2,"div",9),y.TgZ(13,"div",10),y.YNc(14,Y,2,1,"button",11),y.YNc(15,G,2,1,"button",12),y.YNc(16,j,2,2,"button",13),y.YNc(17,V,2,1,"button",12),y.YNc(18,Q,2,2,"button",13),y.qZA(),y.qZA(),y.qZA(),y.YNc(19,pt,6,6,"ng-template",null,14,y.W1O)),2&t&&(y.xp6(1),y.Q6J("ngClass",y.VKq(12,dt,""===e.showQRField||e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),y.xp6(1),y.Q6J("ngIf",""!==e.showQRField),y.xp6(1),y.Q6J("fxFlex",""===e.showQRField||e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM?"100":"70"),y.xp6(4),y.Oqu(e.data.alertTitle||e.alertTypeEnum[e.data.type]),y.xp6(3),y.Q6J("ngIf",e.data.scrollable),y.xp6(1),y.Q6J("ngIf",!e.data.scrollable),y.xp6(1),y.Q6J("ngIf",e.data.scrollable&&e.shouldScroll),y.xp6(2),y.Q6J("ngIf",(!e.showQRField||""===e.showQRField)&&""===e.showCopyName),y.xp6(1),y.Q6J("ngIf",""!==e.showCopyName),y.xp6(1),y.Q6J("ngIf",""!==e.showCopyName),y.xp6(1),y.Q6J("ngIf",""!==e.showQRField),y.xp6(1),y.Q6J("ngIf",""!==e.showQRField))},directives:[b.xw,b.Wh,b.yH,A.mk,S.oO,A.O5,E.dk,k.lW,T.V,E.dn,M.$V,A.tP,L.Hw,I.h,g.ZT,O.y,A.sg,D.d,A.RF,A.n9,A.ED],pipes:[A.uU,A.JJ],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]}),t})();var mt=i(5291),gt=i(3929),yt=i(964),bt=i(6073),vt=i(7592),_t=i(6283),wt=i(6756),xt=i(5095);function Ct(t,e){if(1&t&&(y.TgZ(0,"div",17),y._UZ(1,"fa-icon",18),y.TgZ(2,"span"),y._uU(3),y.qZA(),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Q6J("icon",t.faExclamationTriangle),y.xp6(2),y.Oqu(t.warningMessage)}}function At(t,e){if(1&t&&(y.TgZ(0,"div",19),y._UZ(1,"fa-icon",18),y.TgZ(2,"span"),y._uU(3),y.qZA(),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Q6J("icon",t.faInfoCircle),y.xp6(2),y.Oqu(t.informationMessage)}}function St(t,e){if(1&t&&(y.TgZ(0,"p",20),y._uU(1),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Oqu(t.data.titleMessage)}}function Et(t,e){if(1&t&&(y.TgZ(0,"span",33),y._uU(1),y.qZA()),2&t){const t=e.$implicit;y.xp6(1),y.Oqu(t)}}function kt(t,e){if(1&t&&(y.ynx(0),y.YNc(1,Et,2,1,"span",32),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Q6J("ngForOf",t.value)}}function Tt(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.ALo(2,"date"),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(y.xi3(2,1,1e3*t.value,"dd/MMM/YYYY HH:mm"))}}function Mt(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.ALo(2,"number"),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(y.xi3(2,1,t.value,"1.0-3"))}}function Lt(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(!0===t.value?"True":"False")}}function It(t,e){if(1&t&&(y.ynx(0),y._uU(1),y.BQk()),2&t){const t=y.oxw(2).$implicit;y.xp6(1),y.Oqu(t.value)}}function Ot(t,e){if(1&t&&(y.TgZ(0,"span"),y.TgZ(1,"span",29),y.YNc(2,kt,2,1,"ng-container",30),y.YNc(3,Tt,3,4,"ng-container",30),y.YNc(4,Mt,3,4,"ng-container",30),y.YNc(5,Lt,2,1,"ng-container",30),y.YNc(6,It,2,1,"ng-container",31),y.qZA(),y.qZA()),2&t){const t=y.oxw().$implicit,e=y.oxw(3);y.xp6(1),y.Q6J("ngSwitch",t.type),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.ARRAY),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.DATE_TIME),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.NUMBER),y.xp6(1),y.Q6J("ngSwitchCase",e.dataTypeEnum.BOOLEAN)}}function Dt(t,e){1&t&&(y.TgZ(0,"span",34),y._uU(1,"\xa0"),y.qZA())}function Rt(t,e){if(1&t&&(y.TgZ(0,"div",24),y.TgZ(1,"h4",25),y._uU(2),y.qZA(),y.YNc(3,Ot,7,5,"span",26),y.YNc(4,Dt,2,0,"ng-template",null,27,y.W1O),y._UZ(6,"mat-divider",28),y.qZA()),2&t){const t=e.$implicit,i=y.MAs(5);y.s9C("fxFlex.gt-md",t.width),y.xp6(2),y.Oqu(t.title),y.xp6(1),y.Q6J("ngIf",t&&t.value)("ngIfElse",i)}}function Nt(t,e){if(1&t&&(y.TgZ(0,"div"),y.TgZ(1,"div",22),y.YNc(2,Rt,7,4,"div",23),y.qZA(),y.qZA()),2&t){const t=e.$implicit;y.xp6(2),y.Q6J("ngForOf",t)}}function Pt(t,e){if(1&t&&(y.TgZ(0,"div"),y.YNc(1,Nt,3,1,"div",21),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Q6J("ngForOf",t.messageObjs)}}function Ft(t,e){if(1&t&&(y.TgZ(0,"p",20),y._uU(1),y.qZA()),2&t){const t=y.oxw(2);y.xp6(1),y.Oqu(t.data.titleMessage)}}function Zt(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"input",41),y.NdJ("ngModelChange",function(e){return y.CHM(t),y.oxw().$implicit.inputValue=e}),y.ALo(1,"lowercase"),y.qZA()}if(2&t){const t=y.oxw(),e=t.index,i=t.$implicit;y.MGl("name","input",e,""),y.Q6J("placeholder",i.placeholder)("min",i.min)("step",i.step)("type",y.lcZ(1,7,i.inputType))("ngModel",i.inputValue)("tabindex",e+1)}}function Bt(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"input",42),y.NdJ("ngModelChange",function(e){return y.CHM(t),y.oxw().$implicit.inputValue=e}),y.ALo(1,"lowercase"),y.qZA()}if(2&t){const t=y.oxw(),e=t.index,i=t.$implicit;y.MGl("name","input",e,""),y.Q6J("placeholder",i.placeholder)("min",i.min)("step",i.step)("type",y.lcZ(1,7,i.inputType))("ngModel",i.inputValue)("tabindex",e+1)}}function Ut(t,e){if(1&t&&(y.TgZ(0,"mat-error"),y._uU(1),y.qZA()),2&t){const t=y.oxw().$implicit;y.xp6(1),y.hij("",t.placeholder," is required.")}}function qt(t,e){if(1&t&&(y.TgZ(0,"mat-form-field",38),y.YNc(1,Zt,2,9,"input",39),y.YNc(2,Bt,2,9,"input",40),y.YNc(3,Ut,2,1,"mat-error",11),y.TgZ(4,"mat-hint"),y._uU(5),y.qZA(),y.qZA()),2&t){const t=e.$implicit,i=e.index;y.Q6J("fxFlex",t.width),y.xp6(1),y.Q6J("ngIf",0===i),y.xp6(1),y.Q6J("ngIf",0!==i),y.xp6(1),y.Q6J("ngIf",!t.inputValue),y.xp6(2),y.Oqu(t.hintFunction?t.hintFunction(t.inputValue):t.hintText)}}function zt(t,e){if(1&t&&(y.TgZ(0,"div",35),y.YNc(1,Ft,2,1,"p",10),y.TgZ(2,"div",36),y.YNc(3,qt,6,5,"mat-form-field",37),y.qZA(),y.qZA()),2&t){const t=y.oxw();y.xp6(1),y.Q6J("ngIf",t.data.titleMessage),y.xp6(2),y.Q6J("ngForOf",t.getInputs)}}function Ht(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"button",43),y.NdJ("click",function(){y.CHM(t);const e=y.oxw();return e.onClose(e.getInputs)}),y._uU(1),y.qZA()}if(2&t){const t=y.oxw();y.xp6(1),y.Oqu(t.yesBtnText)}}function Yt(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"button",44),y.NdJ("click",function(){return y.CHM(t),y.oxw().onClose(!0)}),y._uU(1),y.qZA()}if(2&t){const t=y.oxw();y.xp6(1),y.Oqu(t.yesBtnText)}}let Gt=(()=>{class t{constructor(t,e,i,n){this.dialogRef=t,this.data=e,this.logger=i,this.store=n,this.faInfoCircle=mt.sqG,this.faExclamationTriangle=mt.eHv,this.informationMessage="",this.warningMessage="",this.noBtnText="No",this.yesBtnText="Yes",this.messageObjs=[],this.flgShowInput=!1,this.alertTypeEnum=m.n_,this.dataTypeEnum=m.Gi,this.getInputs=[{placeholder:"",inputType:"text",inputValue:"",hintText:"",hintFunction:null}]}ngOnInit(){this.informationMessage=this.data.informationMessage,this.warningMessage=this.data.warningMessage,this.flgShowInput=this.data.flgShowInput,this.getInputs=this.data.getInputs,this.noBtnText=this.data.noBtnText?this.data.noBtnText:"No",this.yesBtnText=this.data.yesBtnText?this.data.yesBtnText:"Yes",this.messageObjs=this.data.message,this.data.type===m.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection")}onClose(t){if(t&&this.getInputs&&this.getInputs.some(t=>!t.inputValue))return!0;this.store.dispatch(new gt.Ws(t))}}return t.\u0275fac=function(e){return new(e||t)(y.Y36(g.so),y.Y36(g.WI),y.Y36(w.mQ),y.Y36(yt.yh))},t.\u0275cmp=y.Xpm({type:t,selectors:[["rtl-confirmation-message"]],decls:20,vars:9,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","100","class","alert alert-warn",4,"ngIf"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],[4,"ngIf"],["fxLayout","column","class","bordered-box my-2 p-2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","reset","tabindex","2",1,"mr-1",3,"click"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","3","default","",3,"click",4,"ngIf"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","4","default","",3,"click",4,"ngIf"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayoutAlign","start center",1,"pb-1"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],[1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block",4,"ngFor","ngForOf"],[1,"display-block"],["fxFlex","100",1,"foreground-secondary-text"],["fxLayout","column",1,"bordered-box","my-2","p-2"],["fxLayoutAlign","space-between center"],[3,"fxFlex",4,"ngFor","ngForOf"],[3,"fxFlex"],["autoFocus","","matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange",4,"ngIf"],["matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange",4,"ngIf"],["autoFocus","","matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange"],["matInput","","required","",3,"placeholder","name","min","step","type","ngModel","tabindex","ngModelChange"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","3","default","",3,"click"],["autoFocus","","mat-flat-button","","color","primary","type","submit","tabindex","4","default","",3,"click"]],template:function(t,e){1&t&&(y.TgZ(0,"div",0),y.TgZ(1,"div",1),y.TgZ(2,"mat-card-header",2),y.TgZ(3,"div",3),y.TgZ(4,"span",4),y._uU(5),y.qZA(),y.qZA(),y.TgZ(6,"button",5),y.NdJ("click",function(){return e.onClose(!1)}),y._uU(7,"X"),y.qZA(),y.qZA(),y.TgZ(8,"mat-card-content",6),y.TgZ(9,"form",7),y.YNc(10,Ct,4,2,"div",8),y.YNc(11,At,4,2,"div",9),y.YNc(12,St,2,1,"p",10),y.YNc(13,Pt,2,1,"div",11),y.YNc(14,zt,4,2,"div",12),y.TgZ(15,"div",13),y.TgZ(16,"button",14),y.NdJ("click",function(){return e.onClose(!1)}),y._uU(17),y.qZA(),y.YNc(18,Ht,2,1,"button",15),y.YNc(19,Yt,2,1,"button",16),y.qZA(),y.qZA(),y.qZA(),y.qZA(),y.qZA()),2&t&&(y.xp6(5),y.Oqu(e.data.alertTitle||e.alertTypeEnum[e.data.type]),y.xp6(5),y.Q6J("ngIf",e.warningMessage&&""!==e.warningMessage),y.xp6(1),y.Q6J("ngIf",e.informationMessage&&""!==e.informationMessage),y.xp6(1),y.Q6J("ngIf",e.data.titleMessage&&!e.flgShowInput),y.xp6(1),y.Q6J("ngIf",(null==e.messageObjs?null:e.messageObjs.length)>0),y.xp6(1),y.Q6J("ngIf",e.flgShowInput),y.xp6(3),y.Oqu(e.noBtnText),y.xp6(1),y.Q6J("ngIf",e.flgShowInput),y.xp6(1),y.Q6J("ngIf",!e.flgShowInput))},directives:[b.xw,b.yH,E.dk,b.Wh,k.lW,E.dn,bt._Y,bt.JL,bt.F,A.O5,vt.BN,A.sg,D.d,A.RF,A.n9,A.ED,_t.KE,_t.bx,wt.Nt,xt.q,bt.Fj,I.h,bt.Q7,bt.JJ,bt.On,_t.TO],pipes:[A.uU,A.JJ,A.i8],styles:[""]}),t})();var jt=i(2427),Vt=i(4786),Qt=i(1522);function Wt(t,e){if(1&t&&(y.TgZ(0,"mat-option",23),y._uU(1),y.qZA()),2&t){const t=e.$implicit;y.Q6J("value",t),y.xp6(1),y.hij(" ",t.infoName," ")}}function Jt(t,e){if(1&t){const t=y.EpF();y.TgZ(0,"div",13),y.TgZ(1,"mat-form-field",20),y.TgZ(2,"mat-select",21),y.NdJ("valueChange",function(e){return y.CHM(t),y.oxw().selInfoType=e}),y.YNc(3,Wt,2,2,"mat-option",22),y.qZA(),y.qZA(),y.qZA()}if(2&t){const t=y.oxw();y.xp6(2),y.Q6J("value",t.selInfoType),y.xp6(1),y.Q6J("ngForOf",t.infoTypes)}}const Xt=function(t){return{"display-none":t}};let Kt=(()=>{class t{constructor(t,e,i,n,r){this.dialogRef=t,this.data=e,this.logger=i,this.snackBar=n,this.commonService=r,this.faReceipt=mt.dLy,this.infoTypes=[{infoID:0,infoKey:"node pubkey",infoName:"Node pubkey"}],this.selInfoType=this.infoTypes[0],this.qrWidth=210,this.screenSize="",this.screenSizeEnum=m.cu}ngOnInit(){this.information=this.data.information,this.information.uris&&(1===this.information.uris.length?this.infoTypes.push({infoID:1,infoKey:"node URI",infoName:"Node URI"}):this.information.uris.length>1&&this.information.uris.forEach((t,e)=>{this.infoTypes.push({infoID:e+1,infoKey:"node URI "+(e+1),infoName:"Node URI "+(e+1)})})),this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyPubkey(t){this.snackBar.open(this.selInfoType.infoName+" copied."),this.logger.info("Copied Text: "+t)}}return t.\u0275fac=function(e){return new(e||t)(y.Y36(g.so),y.Y36(g.WI),y.Y36(w.mQ),y.Y36(x.ux),y.Y36(C.v))},t.\u0275cmp=y.Xpm({type:t,selectors:[["rtl-show-pubkey"]],decls:26,vars:23,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","100","fxFlex.gt-sm","70"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["autoFocus","","mat-flat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxFlex","100","fxFlex.gt-sm","40","fxLayoutAlign","start end"],["tabindex","1",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(y.TgZ(0,"div",0),y.TgZ(1,"div",1),y._UZ(2,"qrcode",2),y.qZA(),y.TgZ(3,"div",3),y.TgZ(4,"mat-card-header",4),y.TgZ(5,"div",5),y._UZ(6,"fa-icon",6),y.TgZ(7,"span",7),y._uU(8),y.qZA(),y.qZA(),y.TgZ(9,"button",8),y.NdJ("click",function(){return e.onClose()}),y._uU(10,"X"),y.qZA(),y.qZA(),y.TgZ(11,"mat-card-content",9),y.TgZ(12,"div",10),y.TgZ(13,"div",11),y._UZ(14,"qrcode",2),y.qZA(),y.YNc(15,Jt,4,2,"div",12),y.TgZ(16,"div",13),y.TgZ(17,"div",14),y.TgZ(18,"h4",15),y._uU(19),y.qZA(),y.TgZ(20,"span",16),y._uU(21),y.qZA(),y.qZA(),y.qZA(),y._UZ(22,"mat-divider",17),y.TgZ(23,"div",18),y.TgZ(24,"button",19),y.NdJ("copied",function(t){return e.onCopyPubkey(t)}),y._uU(25),y.qZA(),y.qZA(),y.qZA(),y.qZA(),y.qZA(),y.qZA()),2&t&&(y.xp6(1),y.Q6J("ngClass",y.VKq(19,Xt,e.screenSize===e.screenSizeEnum.XS||e.screenSize===e.screenSizeEnum.SM)),y.xp6(1),y.s9C("qrdata",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),y.Q6J("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),y.xp6(4),y.Q6J("icon",e.faReceipt),y.xp6(2),y.Oqu(e.selInfoType.infoName),y.xp6(5),y.Q6J("ngClass",y.VKq(21,Xt,e.screenSize!==e.screenSizeEnum.XS&&e.screenSize!==e.screenSizeEnum.SM)),y.xp6(1),y.s9C("qrdata",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),y.Q6J("margin",2)("width",e.qrWidth)("errorCorrectionLevel","L")("allowEmptyString",!0),y.xp6(1),y.Q6J("ngIf",e.information.uris&&e.information.uris.length>0),y.xp6(4),y.Oqu(e.selInfoType.infoName),y.xp6(2),y.Oqu(0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),y.xp6(3),y.s9C("payload",0===e.selInfoType.infoID?e.information.identity_pubkey:e.information.uris[e.selInfoType.infoID-1]),y.xp6(1),y.hij("Copy ",e.selInfoType.infoKey,""))},directives:[b.xw,b.Wh,b.yH,A.mk,S.oO,T.V,E.dk,vt.BN,k.lW,E.dn,A.O5,D.d,I.h,O.y,_t.KE,Vt.gD,A.sg,Qt.ey],styles:[""]}),t})();var $t=i(6124),te=i(9939),ee=i(5678),ie=i(9063),ne=i(3191),re=i(3556),se=i(6853);let oe=(()=>{class t{constructor(t,e,i,g,y,b,v,w,x,C){this.actions=t,this.httpClient=e,this.store=i,this.logger=g,this.sessionService=y,this.commonService=b,this.dataService=v,this.dialog=w,this.snackBar=x,this.router=C,this.screenSize="",this.alertWidth="55%",this.confirmWidth="70%",this.unSubs=[new r.x,new r.x],this.closeAllDialogs=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.VO),(0,l.U)(t=>{this.dialog.closeAll()})),{dispatch:!1}),this.openSnackBar=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.mm),(0,l.U)(t=>{"string"==typeof t.payload?this.snackBar.open(t.payload):this.snackBar.open(t.payload.message,"","ERROR"===t.payload.type?{duration:t.payload.duration?t.payload.duration:2e3,panelClass:"rtl-warn-snack-bar"}:"WARN"===t.payload.type?{duration:t.payload.duration?t.payload.duration:2e3,panelClass:"rtl-accent-snack-bar"}:{duration:t.payload.duration?t.payload.duration:2e3,panelClass:"rtl-snack-bar"})})),{dispatch:!1}),this.openSpinner=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.ow),(0,l.U)(t=>{t.payload!==m.m6.NO_SPINNER&&(this.dialogRef=this.dialog.open(_,{data:{titleMessage:t.payload}}))})),{dispatch:!1}),this.closeSpinner=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.S7),(0,l.U)(t=>{if(t.payload!==m.m6.NO_SPINNER)try{this.dialogRef&&this.dialogRef.componentInstance&&this.dialogRef.componentInstance.data&&this.dialogRef.componentInstance.data.titleMessage&&this.dialogRef.componentInstance.data.titleMessage===t.payload?this.dialogRef.close():this.dialog.openDialogs.forEach(e=>{e.componentInstance&&e.componentInstance.data&&e.componentInstance.data.titleMessage&&e.componentInstance.data.titleMessage===t.payload&&e.close()})}catch(e){this.logger.error(e)}})),{dispatch:!1}),this.openAlert=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.fW),(0,l.U)(t=>{t.payload.width=this.alertWidth,this.dialogRef=this.dialog.open(t.payload.data.component?t.payload.data.component:ft,t.payload)})),{dispatch:!1}),this.closeAlert=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.r3),(0,l.U)(t=>(this.dialogRef&&this.dialogRef.close(),t.payload))),{dispatch:!1}),this.openConfirm=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.yL),(0,l.U)(t=>{t.payload.width=this.confirmWidth,this.dialogRef=this.dialog.open(Gt,t.payload)})),{dispatch:!1}),this.closeConfirm=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.Vt),(0,c.q)(1),(0,l.U)(t=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(t.payload),t.payload))),{dispatch:!1}),this.showNodePubkey=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.oO),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(this.sessionService.getItem("token")&&e.nodeData.identity_pubkey?this.store.dispatch(new gt.wu({width:"70%",data:{information:e.nodeData,component:Kt}})):this.snackBar.open("Node Pubkey does not exist."),(0,s.of)({type:gt.Zn}))))),this.appConfigFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.vH),(0,u.z)(t=>(this.screenSize=this.commonService.getScreenSize(),this.screenSize===m.cu.XS||this.screenSize===m.cu.SM?(this.alertWidth="95%",this.confirmWidth="95%"):this.screenSize===m.cu.MD?(this.alertWidth="80%",this.confirmWidth="80%"):(this.alertWidth="55%",this.confirmWidth="60%"),this.store.dispatch(new gt.Fk(m.m6.GET_RTL_CONFIG)),this.store.dispatch(new gt.np({action:"FetchRTLConfig",status:m.Bn.INITIATED})),this.sessionService.getItem("token")?this.httpClient.get(f.N.CONF_API+"/rtlconf"):this.httpClient.get(f.N.CONF_API+"/rtlconfinit"))),(0,l.U)(t=>{let e;return this.logger.info(t),this.store.dispatch(new gt.Iv(m.m6.GET_RTL_CONFIG)),this.store.dispatch(new gt.np({action:"FetchRTLConfig",status:m.Bn.COMPLETED})),t.nodes.forEach(i=>{i.settings.currencyUnits=[...m.uA,i.settings.currencyUnit],+i.index===t.selectedNodeIndex&&(e=i)}),e?(this.store.dispatch(new gt.ZG({uiMessage:m.m6.NO_SPINNER,lnNode:e,isInitialSetup:!0})),{type:gt.rZ,payload:t}):{type:gt.Zn}}),(0,d.K)(t=>(this.handleErrorWithoutAlert("FetchRTLConfig",m.m6.GET_RTL_CONFIG,t),(0,s.of)({type:gt.Zn}))))),this.settingSave=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.Ol),(0,u.z)(t=>{this.store.dispatch(new gt.Fk(t.payload.uiMessage)),this.store.dispatch(new gt.np({action:"UpdateSettings",status:m.Bn.INITIATED}));let e=new o.y;if(t.payload.settings&&t.payload.defaultNodeIndex){const i=this.httpClient.post(f.N.CONF_API,{updatedSettings:t.payload.settings}),n=this.httpClient.post(f.N.CONF_API+"/updateDefaultNode",{defaultNodeIndex:t.payload.defaultNodeIndex});e=(0,a.D)([i,n])}else t.payload.settings&&!t.payload.defaultNodeIndex?e=this.httpClient.post(f.N.CONF_API,{updatedSettings:t.payload.settings}):!t.payload.settings&&t.payload.defaultNodeIndex&&(e=this.httpClient.post(f.N.CONF_API+"/updateDefaultNode",{defaultNodeIndex:t.payload.defaultNodeIndex}));return e.pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new gt.np({action:"UpdateSettings",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(t.payload.uiMessage)),{type:gt.mm,payload:e.length?e[0].message+".":e.message+"."})),(0,d.K)(e=>(this.handleErrorWithAlert("UpdateSettings",t.payload.uiMessage,"Update Settings Failed!",f.N.CONF_API,e.length?e[0]:e),(0,s.of)({type:gt.Zn}))))}))),this.updateServicesettings=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.Tb),(0,u.z)(t=>(this.store.dispatch(new gt.Fk(t.payload.uiMessage)),this.store.dispatch(new gt.np({action:"UpdateServiceSettings",status:m.Bn.INITIATED})),this.httpClient.post(f.N.CONF_API+"/updateServiceSettings",t.payload).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new gt.np({action:"UpdateServiceSettings",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(t.payload.uiMessage)),{type:gt.mm,payload:e.message+"."})),(0,d.K)(e=>(this.handleErrorWithAlert("UpdateServiceSettings",t.payload.uiMessage,"Update Service Settings Failed!",f.N.CONF_API,e),(0,s.of)({type:gt.Zn})))))))),this.twoFASettingSave=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.xh),(0,u.z)(t=>(this.store.dispatch(new gt.Fk(m.m6.UPDATE_UI_SETTINGS)),this.store.dispatch(new gt.np({action:"Update2FASettings",status:m.Bn.INITIATED})),this.httpClient.post(f.N.CONF_API+"/update2FA",{secret2fa:t.payload.secret2fa}))),(0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new gt.np({action:"Update2FASettings",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(m.m6.UPDATE_UI_SETTINGS)),{type:gt.Zn})),(0,d.K)(t=>(this.handleErrorWithAlert("Update2FASettings",m.m6.UPDATE_UI_SETTINGS,"Update 2FA Settings Failed!",f.N.CONF_API,t),(0,s.of)({type:gt.Zn}))))),this.configFetch=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.Ih),(0,u.z)(t=>(this.store.dispatch(new gt.Fk(m.m6.OPEN_CONFIG_FILE)),this.store.dispatch(new gt.np({action:"fetchConfig",status:m.Bn.INITIATED})),this.httpClient.get(f.N.CONF_API+"/config/"+t.payload).pipe((0,l.U)(t=>(this.store.dispatch(new gt.np({action:"fetchConfig",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(m.m6.OPEN_CONFIG_FILE)),{type:gt.mG,payload:t})),(0,d.K)(e=>(this.handleErrorWithAlert("fetchConfig",m.m6.OPEN_CONFIG_FILE,"Fetch Config Failed!",f.N.CONF_API+"/config/"+t.payload,e),(0,s.of)({type:gt.Zn})))))))),this.showLnConfig=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.mG),(0,l.U)(t=>t.payload)),{dispatch:!1}),this.isAuthorized=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.s3),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(this.store.dispatch(new gt.np({action:"IsAuthorized",status:m.Bn.INITIATED})),this.httpClient.post(f.N.AUTHENTICATE_API,{authenticateWith:t.payload&&""!==t.payload.trim()?m.OJ.PASSWORD:m.OJ.JWT,authenticationValue:t.payload&&""!==t.payload.trim()?t.payload:this.sessionService.getItem("token")?this.sessionService.getItem("token"):""}).pipe((0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new gt.np({action:"IsAuthorized",status:m.Bn.COMPLETED})),this.logger.info("Successfully Authorized!"),{type:gt.JU,payload:t})),(0,d.K)(t=>(this.handleErrorWithAlert("IsAuthorized",m.m6.NO_SPINNER,"Authorization Failed",f.N.AUTHENTICATE_API,t),(0,s.of)({type:gt.JU,payload:"ERROR"})))))))),this.isAuthorizedRes=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.JU),(0,l.U)(t=>t.payload)),{dispatch:!1}),this.authLogin=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.ym),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(this.store.dispatch(new ee.Mo({})),this.store.dispatch(new te.UA({})),this.store.dispatch(new $t.IF({})),this.store.dispatch(new gt.np({action:"Login",status:m.Bn.INITIATED})),this.httpClient.post(f.N.AUTHENTICATE_API,{authenticateWith:t.payload.password?m.OJ.PASSWORD:m.OJ.JWT,authenticationValue:t.payload.password?t.payload.password:this.sessionService.getItem("token")?this.sessionService.getItem("token"):"",twoFAToken:t.payload.twoFAToken?t.payload.twoFAToken:""}).pipe((0,l.U)(i=>{this.logger.info(i),this.store.dispatch(new gt.np({action:"Login",status:m.Bn.COMPLETED})),this.setLoggedInDetails(t.payload.defaultPassword,i,e)}),(0,d.K)(t=>(this.logger.info("Redirecting to Login Error Page"),0===t.status&&t.statusText&&"Unknown Error"===t.statusText&&(t.status="400",t.error.error="Origin Not Allowed"),this.handleErrorWithoutAlert("Login",m.m6.NO_SPINNER,t),+e.appConfig.sso.rtlSSO?this.router.navigate(["/error"],{state:{errorCode:"406",errorMessage:t.error&&t.error.error?t.error.error:"Single Sign On Failed!"}}):this.router.navigate(["./login"]),(0,s.of)({type:gt.Zn}))))))),{dispatch:!1}),this.tokenVerify=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.gK),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(this.store.dispatch(new gt.Fk(m.m6.VERIFY_TOKEN)),this.store.dispatch(new gt.np({action:"VerifyToken",status:m.Bn.INITIATED})),this.httpClient.post(f.N.AUTHENTICATE_API+"/token",{authentication2FA:t.payload.token}).pipe((0,l.U)(i=>{this.logger.info(i),this.store.dispatch(new gt.Fk(m.m6.VERIFY_TOKEN)),this.store.dispatch(new gt.np({action:"VerifyToken",status:m.Bn.COMPLETED})),this.logger.info("Token Successfully Verified!"),this.setLoggedInDetails(!1,t.payload.authResponse,e)}),(0,d.K)(t=>(this.handleErrorWithAlert("VerifyToken",m.m6.VERIFY_TOKEN,"Authorization Failed!",f.N.AUTHENTICATE_API+"/token",t),(0,s.of)({type:gt.Zn}))))))),{dispatch:!1}),this.logOut=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.Nv),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(+e.appConfig.sso.rtlSSO?window.location.href=e.appConfig.sso.logoutRedirectLink:this.router.navigate(["./login"]),this.sessionService.clearAll(),this.store.dispatch(new gt.e6({})),this.logger.warn("LOGGED OUT"),(0,s.of)()))),{dispatch:!1}),this.resetPassword=(0,n.GW)(()=>this.actions.pipe((0,p.R)(this.unSubs[1]),(0,n.l4)(gt.bk),(0,h.M)(this.store.select("root")),(0,u.z)(([t,e])=>(this.store.dispatch(new gt.np({action:"ResetPassword",status:m.Bn.INITIATED})),this.httpClient.post(f.N.AUTHENTICATE_API+"/reset",{currPassword:t.payload.currPassword,newPassword:t.payload.newPassword}).pipe((0,p.R)(this.unSubs[0]),(0,l.U)(t=>(this.logger.info(t),this.store.dispatch(new gt.np({action:"ResetPassword",status:m.Bn.COMPLETED})),this.sessionService.setItem("defaultPassword",!1),this.logger.info("Password Reset Successful!"),this.store.dispatch(new gt.Lw("Password Reset Successful!")),this.SetToken(t.token),{type:gt.Gs,payload:t.token})),(0,d.K)(t=>(this.handleErrorWithAlert("ResetPassword",m.m6.NO_SPINNER,"Password Reset Failed!",f.N.AUTHENTICATE_API+"/reset",t),(0,s.of)({type:gt.Zn})))))))),this.setSelectedNode=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.RP),(0,u.z)(t=>(this.store.dispatch(new gt.Fk(t.payload.uiMessage)),this.store.dispatch(new gt.np({action:"UpdateSelNode",status:m.Bn.INITIATED})),this.httpClient.post(f.N.CONF_API+"/updateSelNode",{selNodeIndex:t.payload.lnNode.index}).pipe((0,l.U)(e=>(this.logger.info(e),this.store.dispatch(new gt.np({action:"UpdateSelNode",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(t.payload.uiMessage)),this.initializeNode(t.payload.lnNode,t.payload.isInitialSetup),{type:gt.Zn})),(0,d.K)(e=>(0===e.status&&e.statusText&&"Unknown Error"===e.statusText&&(e.status="400",e.error.message="Origin Not Allowed"),this.handleErrorWithAlert("UpdateSelNode",t.payload.uiMessage,"Update Selected Node Failed!",f.N.CONF_API+"/updateSelNode",e),(0,s.of)({type:gt.Zn})))))))),this.fetchFile=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.bE),(0,u.z)(t=>{this.store.dispatch(new gt.Fk(m.m6.DOWNLOAD_BACKUP_FILE)),this.store.dispatch(new gt.np({action:"fetchFile",status:m.Bn.INITIATED}));const e="?channel="+t.payload.channelPoint+(t.payload.path?"&path="+t.payload.path:"");return this.httpClient.get(f.N.CONF_API+"/file"+e).pipe((0,l.U)(t=>(this.store.dispatch(new gt.np({action:"fetchFile",status:m.Bn.COMPLETED})),this.store.dispatch(new gt.Iv(m.m6.DOWNLOAD_BACKUP_FILE)),{type:gt.BQ,payload:t})),(0,d.K)(t=>(this.handleErrorWithAlert("fetchFile",m.m6.DOWNLOAD_BACKUP_FILE,"Download Backup File Failed!",f.N.CONF_API+"/file"+e,{status:this.commonService.extractErrorNumber(t),error:{error:this.commonService.extractErrorCode(t)}}),(0,s.of)({type:gt.Zn}))))}))),this.showFile=(0,n.GW)(()=>this.actions.pipe((0,n.l4)(gt.BQ),(0,l.U)(t=>t.payload)),{dispatch:!1})}initializeNode(t,e){const i=e?"":"HOME";let n={};if(n=t.settings.fiatConversion&&t.settings.currencyUnit?{userPersona:t.settings.userPersona,channelBackupPath:t.settings.channelBackupPath,selCurrencyUnit:t.settings.currencyUnit,currencyUnits:[...m.uA,t.settings.currencyUnit],fiatConversion:t.settings.fiatConversion,lnImplementation:t.lnImplementation,swapServerUrl:t.settings.swapServerUrl,boltzServerUrl:t.settings.boltzServerUrl}:{userPersona:t.settings.userPersona,channelBackupPath:t.settings.channelBackupPath,selCurrencyUnit:t.settings.currencyUnit,currencyUnits:m.uA,fiatConversion:t.settings.fiatConversion,lnImplementation:t.lnImplementation,swapServerUrl:t.settings.swapServerUrl,boltzServerUrl:t.settings.boltzServerUrl},this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("clUnlocked"),this.sessionService.removeItem("eclUnlocked"),this.store.dispatch(new gt.$A(t)),this.store.dispatch(new ee.Mo(n)),this.store.dispatch(new te.UA(n)),this.store.dispatch(new $t.IF(n)),this.sessionService.getItem("token"))switch(t.lnImplementation=t.lnImplementation.toUpperCase(),this.dataService.setChildAPIUrl(t.lnImplementation),t.lnImplementation){case"CLT":this.store.dispatch(new te.z6({loadPage:i}));break;case"ECL":this.store.dispatch(new $t.z6({loadPage:i}));break;default:this.store.dispatch(new ee.z6({loadPage:i}))}}SetToken(t){t?(this.sessionService.setItem("lndUnlocked","true"),this.sessionService.setItem("token",t)):(this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("token"))}setLoggedInDetails(t,e,i){this.logger.info("Successfully Authorized!"),this.SetToken(e.token),this.store.dispatch(new gt.XF),i.selNode.settings.currencyUnits=[...m.uA,i.selNode.settings.currencyUnit],this.sessionService.setItem("defaultPassword",t),t&&(this.sessionService.setItem("defaultPassword","true"),this.store.dispatch(new gt.Lw("Reset your password.")),this.router.navigate(["/settings/auth"]))}handleErrorWithoutAlert(t,e,i){this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),401===i.status&&"Login"!==t?(this.logger.info("Redirecting to Login"),this.store.dispatch(new gt.Ac),this.store.dispatch(new gt.RD),this.store.dispatch(new gt.Lw("Authentication Failed. Redirecting to Login."))):(this.store.dispatch(new gt.Iv(e)),this.store.dispatch(new gt.np({action:t,status:m.Bn.ERROR,statusCode:i.status.toString(),message:this.commonService.extractErrorMessage(i)})))}handleErrorWithAlert(t,e,i,n,r){if(this.logger.error(r),401===r.status&&"Login"!==t)this.logger.info("Redirecting to Login"),this.store.dispatch(new gt.Ac),this.store.dispatch(new gt.RD),this.store.dispatch(new gt.Lw("Authentication Failed. Redirecting to Login."));else{this.store.dispatch(new gt.Iv(e));const s=this.commonService.extractErrorMessage(r);this.store.dispatch(new gt.wu({data:{type:"ERROR",alertTitle:i,message:{code:r.status?r.status:"Unknown Error",message:s,URL:n},component:jt.H}})),this.store.dispatch(new gt.np({action:t,status:m.Bn.ERROR,statusCode:r.status.toString(),message:s,URL:n}))}}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(y.LFG(n.eX),y.LFG(ie.eN),y.LFG(yt.yh),y.LFG(w.mQ),y.LFG(ne.m),y.LFG(C.v),y.LFG(re.D),y.LFG(g.uw),y.LFG(x.ux),y.LFG(se.F0))},t.\u0275prov=y.Yz7({token:t,factory:t.\u0275fac}),t})()},5963:(t,e,i)=>{"use strict";i.d(e,{T:()=>n,N:()=>r});const n="./api",r={production:!0,isDebugMode:!1,AUTHENTICATE_API:n+"/authenticate",CONF_API:n+"/conf",BALANCE_API:"/balance",FEES_API:"/fees",PEERS_API:"/peers",CHANNELS_API:"/channels",CHANNELS_BACKUP_API:"/channels/backup",GETINFO_API:"/getinfo",WALLET_API:"/wallet",NETWORK_API:"/network",NEW_ADDRESS_API:"/newaddress",TRANSACTIONS_API:"/transactions",PAYREQUEST_API:"/payreq",PAYMENTS_API:"/payments",INVOICES_API:"/invoices",SWITCH_API:"/switch",ON_CHAIN_API:"/onchain",MESSAGE_API:"/message",LOOP_API:"/loop",BOLTZ_API:"/boltz",VERSION:"0.11.1-beta"}},7015:(t,e,i)=>{"use strict";var n=i(269),r=i(1572),s=i(3490),o=i(9063),a=i(964),l=i(5573),c=i(7876),h=i(9666),u=i(5446),d=i(5960),p=i(5630),f=i(2948),m=i(8431);function g(t,e){return void 0===t&&(t=0),void 0===e&&(e=f.z),t<0&&(t=0),(0,m.H)(t,t,e)}var y=i(2041),b=i(9162),v=i(6042),_=i(3386),w=i(4659),x=i(8764),C=i(7070),A=i(8868),S=i(343),E=i(4324),k=i(9568),T=i(849),M=i(6424),L=i(1681);class I{}let O=(()=>{class t{constructor(t,e){this._ngZone=e,this.timerStart$=new h.x,this.idleDetected$=new h.x,this.timeout$=new h.x,this.idleMillisec=6e5,this.idleSensitivityMillisec=1e3,this.timeout=300,this.pingMillisec=12e4,t&&this.setConfig(t)}startWatching(){this.activityEvents$||(this.activityEvents$=(0,u.T)((0,d.R)(window,"mousemove"),(0,d.R)(window,"resize"),(0,d.R)(document,"keydown"))),this.idle$=(0,p.Dp)(this.activityEvents$),this.idleSubscription&&this.idleSubscription.unsubscribe(),this.idleSubscription=this.idle$.pipe(function(t){for(var e,i,n=[],r=1;r=0?i.add(s.schedule(function(){c(),!this.closed&&i.add(this.schedule(null,o))},o)):r=!0,c();var h=new w.Q(i,function(t){var e,i,r=n.slice();try{for(var s=(0,b.XA)(r),o=s.next();!o.done;o=s.next()){var c=o.value,h=c.buffer;h.push(t),a<=h.length&&l(c)}}catch(u){e={error:u}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(e)throw e.error}}},function(){for(;null==n?void 0:n.length;)i.next(n.shift().buffer);null==h||h.unsubscribe(),i.complete(),i.unsubscribe()},void 0,function(){return n=null});e.subscribe(h)})}(this.idleSensitivityMillisec),(0,A.h)(t=>!t.length&&!this.isIdleDetected&&!this.isInactivityTimer),(0,S.b)(()=>{this.isIdleDetected=!0,this.idleDetected$.next(!0)}),(0,E.w)(()=>this._ngZone.runOutsideAngular(()=>g(1e3).pipe((0,k.R)((0,u.T)(this.activityEvents$,(0,m.H)(this.idleMillisec).pipe((0,S.b)(()=>{this.isInactivityTimer=!0,this.timerStart$.next(!0)})))),(0,T.x)(()=>{this.isIdleDetected=!1,this.idleDetected$.next(!1)}))))).subscribe(),this.setupTimer(this.timeout),this.setupPing(this.pingMillisec)}stopWatching(){this.stopTimer(),this.idleSubscription&&this.idleSubscription.unsubscribe()}stopTimer(){this.isInactivityTimer=!1,this.timerStart$.next(!1)}resetTimer(){this.stopTimer(),this.isTimeout=!1}onTimerStart(){return this.timerStart$.pipe((0,M.x)(),(0,E.w)(t=>t?this.timer$:(0,y.of)(null)))}onIdleStatusChanged(){return this.idleDetected$.asObservable()}onTimeout(){return this.timeout$.pipe((0,A.h)(t=>!!t),(0,S.b)(()=>this.isTimeout=!0),(0,L.U)(()=>!0))}getConfigValue(){return{idle:this.idleMillisec/1e3,idleSensitivity:this.idleSensitivityMillisec/1e3,timeout:this.timeout,ping:this.pingMillisec/1e3}}setConfigValues(t){!this.idleSubscription||this.idleSubscription.closed?this.setConfig(t):console.error("Call stopWatching() before set config values")}setConfig(t){t.idle&&(this.idleMillisec=1e3*t.idle),t.ping&&(this.pingMillisec=1e3*t.ping),t.idleSensitivity&&(this.idleSensitivityMillisec=1e3*t.idleSensitivity),t.timeout&&(this.timeout=t.timeout)}setCustomActivityEvents(t){!this.idleSubscription||this.idleSubscription.closed?this.activityEvents$=t:console.error("Call stopWatching() before set custom activity events")}setupTimer(t){this._ngZone.runOutsideAngular(()=>{this.timer$=(0,y.of)(new Date).pipe((0,E.w)(e=>g(1e3).pipe((0,L.U)(()=>Math.round(((new Date).valueOf()-e.valueOf())/1e3)),(0,S.b)(e=>{e>=t&&this.timeout$.next(!0)}))))})}setupPing(t){this.ping$=g(t).pipe((0,A.h)(()=>!this.isTimeout))}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(I,8),r.LFG(r.R0b))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t.ngInjectableDef=(0,r.Ez6)({factory:function(){return new t((0,r.f3M)(I,8),(0,r.f3M)(r.R0b))},token:t,providedIn:"root"}),t})(),D=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:I,useValue:e}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t}),t.\u0275inj=r.cJS({imports:[[]]}),t})();var R=i(6853),N=i(5291),P=i(3722),F=i(7592),Z=i(7439),B=i(5109),U=i(1511);const q=function(){return{initial:!1}};function z(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[1].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[1].link),r.Q6J("active",t.activeLink===t.links[1].link)("state",r.DdM(4,q)),r.xp6(1),r.Oqu(t.links[1].name)}}function H(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[2].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[2].link),r.Q6J("active",t.activeLink===t.links[2].link),r.xp6(1),r.Oqu(t.links[2].name)}}let Y=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faUserCog=N.gNZ,this.showBitcoind=!1,this.links=[{link:"app",name:"Application"},{link:"auth",name:"Authentication"},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.showBitcoind=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-settings"]],decls:14,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Settings"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.YNc(10,z,2,5,"div",7),r.YNc(11,H,2,3,"div",8),r.qZA(),r.TgZ(12,"div",9),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faUserCog),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.Q6J("ngIf",!+e.appConfig.sso.rtlSSO),r.xp6(1),r.Q6J("ngIf",e.showBitcoind))},directives:[P.xw,P.Wh,F.BN,Z.a8,Z.dn,B.BU,B.Nj,R.rH,U.O5,P.yH,R.lC],styles:[""]}),t})();var G=i(9421),j=i(3929),V=i(3869),Q=i(7038),W=i(6073),J=i(6283),X=i(4786),K=i(6880),$=i(5980),tt=i(1522);function et(t,e){if(1&t&&(r.TgZ(0,"mat-option",16),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t.index),r.xp6(1),r.AsE(" ",t.lnNode," (",t.lnImplementation,") ")}}function it(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"form",2,3),r.TgZ(2,"div",4),r._UZ(3,"fa-icon",5),r.TgZ(4,"span",6),r._uU(5,"Default Node"),r.qZA(),r.qZA(),r.TgZ(6,"div",7),r.TgZ(7,"div",8),r._UZ(8,"fa-icon",9),r.TgZ(9,"span"),r._uU(10,"The setting will apply after RTL server restarts."),r.qZA(),r.qZA(),r.TgZ(11,"div",10),r.TgZ(12,"mat-form-field",10),r.TgZ(13,"mat-select",11),r.NdJ("ngModelChange",function(e){return r.CHM(t),r.oxw().appConfig.defaultNodeIndex=e}),r.YNc(14,et,2,3,"mat-option",12),r.qZA(),r.qZA(),r.qZA(),r.TgZ(15,"div",13),r.TgZ(16,"div",10),r.TgZ(17,"button",14),r.NdJ("click",function(){return r.CHM(t),r.oxw().onResetSettings()}),r._uU(18,"Reset"),r.qZA(),r.TgZ(19,"button",15),r.NdJ("click",function(){return r.CHM(t),r.oxw().onUpdateSettings()}),r._uU(20,"Update"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.xp6(3),r.Q6J("icon",t.faWindowRestore),r.xp6(5),r.Q6J("icon",t.faInfoCircle),r.xp6(5),r.Q6J("ngModel",t.appConfig.defaultNodeIndex),r.xp6(1),r.Q6J("ngForOf",t.appConfig.nodes)}}let nt=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=N.sqG,this.faWindowRestore=N.wyP,this.faPlus=N.r8p,this.previousDefaultNode=0,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.previousDefaultNode=this.appConfig.defaultNodeIndex,this.selNode=t.selNode,this.logger.info(t)})}onAddNewNode(){this.logger.warn("ADD NEW NODE")}onUpdateSettings(){this.store.dispatch(new j.j_({uiMessage:G.m6.UPDATE_DEFAULT_NODE_SETTING,defaultNodeIndex:this.appConfig.defaultNodeIndex?this.appConfig.defaultNodeIndex:+this.appConfig.nodes[0].index}))}onResetSettings(){this.appConfig.defaultNodeIndex=this.previousDefaultNode}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-app-settings"]],decls:2,vars:1,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap-x-large",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","settings-container page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"my-2"],["fxLayout","row","fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row","fxLayoutAlign","start start"],["autoFocus","","tabindex","1","name","defaultNode",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],[3,"value"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.YNc(1,it,21,4,"form",1),r.qZA()),2&t&&(r.xp6(1),r.Q6J("ngIf",e.appConfig.nodes&&e.appConfig.nodes.length&&e.appConfig.nodes.length>0))},directives:[P.xw,P.yH,Q.$V,U.O5,W._Y,W.JL,W.F,P.Wh,F.BN,J.KE,X.gD,K.h,W.JJ,W.On,U.sg,$.lW,tt.ey],styles:[""]}),t})();var rt=i(1339),st=i(9056),ot=i(4608),at=i(4499),lt=i(8914),ct=i(1403),ht=i(7753),ut=i(6756),dt=i(3600),pt=i(2609);const ft=["stepper"];function mt(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw();r.Oqu(t.passwordFormLabel)}}function gt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Password is required."),r.qZA())}function yt(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.secretFormLabel)}}function bt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Secret Code is required."),r.qZA())}function vt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-step",10),r.TgZ(1,"form",21),r.YNc(2,yt,1,1,"ng-template",22),r.TgZ(3,"div",23),r._UZ(4,"qrcode",24),r.qZA(),r.TgZ(5,"div",25),r._UZ(6,"fa-icon",26),r.TgZ(7,"span"),r._uU(8,"You can use a compatible authentication app to get an authentication code when you log in to RTL. e.g.: Google Authenticator."),r.qZA(),r.qZA(),r.TgZ(9,"div",27),r.TgZ(10,"mat-form-field",1),r._UZ(11,"input",28),r.TgZ(12,"fa-icon",29),r.NdJ("copied",function(e){return r.CHM(t),r.oxw().onCopySecret(e)}),r.qZA(),r.YNc(13,bt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(14,"div",30),r.TgZ(15,"button",31),r._uU(16,"Next"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("stepControl",t.secretFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.secretFormGroup),r.xp6(3),r.Q6J("qrdata",t.otpauth)("margin",1)("width",180)("errorCorrectionLevel","L")("allowEmptyString",!0),r.xp6(2),r.Q6J("icon",t.faInfoCircle),r.xp6(6),r.Q6J("icon",t.faCopy)("payload",null==t.secretFormGroup||null==t.secretFormGroup.controls||null==t.secretFormGroup.controls.secret?null:t.secretFormGroup.controls.secret.value),r.xp6(1),r.Q6J("ngIf",null==t.secretFormGroup||null==t.secretFormGroup.controls||null==t.secretFormGroup.controls.secret||null==t.secretFormGroup.controls.secret.errors?null:t.secretFormGroup.controls.secret.errors.required)}}function _t(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.tokenFormLabel)}}function wt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is required."),r.qZA())}function xt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is invalid."),r.qZA())}function Ct(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",7),r.TgZ(1,"div",27),r.TgZ(2,"mat-form-field",1),r._UZ(3,"input",35),r.YNc(4,wt,2,0,"mat-error",14),r.YNc(5,xt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(6,"div",30),r.TgZ(7,"button",36),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onVerifyToken()}),r._uU(8),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(4),r.Q6J("ngIf",null==t.tokenFormGroup||null==t.tokenFormGroup.controls||null==t.tokenFormGroup.controls.token||null==t.tokenFormGroup.controls.token.errors?null:t.tokenFormGroup.controls.token.errors.required),r.xp6(1),r.Q6J("ngIf",null==t.tokenFormGroup||null==t.tokenFormGroup.controls||null==t.tokenFormGroup.controls.token||null==t.tokenFormGroup.controls.token.errors?null:t.tokenFormGroup.controls.token.errors.notValid),r.xp6(3),r.Oqu(null!=t.tokenFormGroup&&null!=t.tokenFormGroup.controls&&null!=t.tokenFormGroup.controls.token&&null!=t.tokenFormGroup.controls.token.errors&&t.tokenFormGroup.controls.token.errors.notValid?"Retry":"Verify")}}function At(t,e){1&t&&(r.TgZ(0,"div"),r.TgZ(1,"strong"),r._uU(2,"Success! You are all set."),r.qZA(),r.qZA())}function St(t,e){if(1&t&&(r.TgZ(0,"mat-step",32),r.TgZ(1,"form",33),r.YNc(2,_t,1,1,"ng-template",12),r.YNc(3,Ct,9,3,"div",34),r.YNc(4,At,3,0,"div",14),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.Q6J("stepControl",t.tokenFormGroup),r.xp6(1),r.Q6J("formGroup",t.tokenFormGroup),r.xp6(2),r.Q6J("ngIf",!t.flgValidated||!t.isTokenValid),r.xp6(1),r.Q6J("ngIf",t.flgValidated&&t.isTokenValid)}}function Et(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.disableFormLabel)}}function kt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",7),r.TgZ(1,"div",37),r._UZ(2,"fa-icon",26),r.TgZ(3,"span"),r._uU(4,"You are about to disable two-factor authentication security from RTL. Are you sure you want to turn it off?"),r.qZA(),r.qZA(),r.TgZ(5,"div",30),r.TgZ(6,"button",36),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onVerifyToken()}),r._uU(7,"Disable"),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(2),r.Q6J("icon",t.faExclamationTriangle)}}function Tt(t,e){1&t&&(r.TgZ(0,"div"),r.TgZ(1,"strong"),r._uU(2,"Two factor authentication removed from RTL."),r.qZA(),r.qZA())}function Mt(t,e){if(1&t&&(r.TgZ(0,"mat-step",32),r.TgZ(1,"form",33),r.YNc(2,Et,1,1,"ng-template",12),r.YNc(3,kt,8,1,"div",34),r.YNc(4,Tt,3,0,"div",14),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.Q6J("stepControl",t.disableFormGroup),r.xp6(1),r.Q6J("formGroup",t.disableFormGroup),r.xp6(2),r.Q6J("ngIf",!t.flgValidated||!t.isTokenValid),r.xp6(1),r.Q6J("ngIf",t.flgValidated&&t.isTokenValid)}}let Lt=(()=>{class t{constructor(t,e,i,n,r,s){this.dialogRef=t,this.data=e,this.store=i,this.formBuilder=n,this.rtlEffects=r,this.snackBar=s,this.faExclamationTriangle=N.eHv,this.faCopy=N.kZ_,this.faInfoCircle=N.sqG,this.flgValidated=!1,this.isTokenValid=!0,this.otpauth="",this.flgEditable=!0,this.showDisableStepper=!1,this.passwordFormLabel="Authenticate with your RTL password",this.secretFormLabel="Scan or copy the secret",this.tokenFormLabel="Verify your authentication is working",this.disableFormLabel="Disable two factor authentication",this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[W.kI.required]],password:["",[W.kI.required]]}),this.secretFormGroup=this.formBuilder.group({secret:[{value:"",disabled:!0},W.kI.required]}),this.tokenFormGroup=this.formBuilder.group({token:["",W.kI.required]}),this.disableFormGroup=this.formBuilder.group({}),this.unSubs=[new h.x,new h.x]}ngOnInit(){this.appConfig=this.data.appConfig,this.showDisableStepper=!!this.appConfig.enable2FA,this.secretFormGroup=this.formBuilder.group({secret:[{value:this.appConfig.enable2FA?"":this.generateSecret(),disabled:!0},W.kI.required]})}generateSecret(){const t=at.authenticator.generateSecret();return this.otpauth=at.authenticator.keyuri("","Ride The Lightning (RTL)",t),t}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch(new j.ZF(rt(this.passwordFormGroup.controls.password.value))),this.rtlEffects.isAuthorizedRes.pipe((0,st.q)(1)).subscribe(t=>{"ERROR"!==t?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onCopySecret(t){this.snackBar.open("Secret code "+this.secretFormGroup.controls.secret.value+" copied.")}onVerifyToken(){if(this.appConfig.enable2FA)this.store.dispatch(new j.z2({secret2fa:""})),this.generateSecret(),this.isTokenValid=!0;else{if(!this.tokenFormGroup.controls.token.value)return!0;if(this.isTokenValid=at.authenticator.check(this.tokenFormGroup.controls.token.value,this.secretFormGroup.controls.secret.value),!this.isTokenValid)return this.tokenFormGroup.controls.token.setErrors({notValid:!0}),!0;this.store.dispatch(new j.z2({secret2fa:this.secretFormGroup.controls.secret.value})),this.tokenFormGroup.controls.token.setValue("")}this.flgValidated=!0,this.appConfig.enable2FA=!this.appConfig.enable2FA}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.passwordFormLabel="Authenticate with your RTL password";break;case 1:case 2:this.passwordFormLabel="User authenticated successfully";break;default:this.passwordFormLabel="Authenticate with your RTL password"}t.selectedIndex{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(ot.so),r.Y36(ot.WI),r.Y36(a.yh),r.Y36(W.qu),r.Y36(lt.V),r.Y36(ct.ux))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-two-factor-auth"]],viewQuery:function(t,e){if(1&t&&r.Gf(ft,5),2&t){let t;r.iGM(t=r.CRH())&&(e.stepper=t.first)}},decls:28,vars:11,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start"],[3,"qrdata","margin","width","errorCorrectionLevel","allowEmptyString"],["fxFlex","100",1,"w-100","alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["autoFocus","","matInput","","placeholder","Secret Code","type","text","tabindex","4","formControlName","secret","required",""],["matSuffix","","rtlClipboard","",3,"icon","payload","copied"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","6","type","button","matStepperNext",""],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["fxLayout","column",4,"ngIf"],["autoFocus","","matInput","","placeholder","Token","type","text","tabindex","7","formControlName","token","required",""],["mat-stroked-button","","color","primary","tabindex","8","type","button",3,"click"],["fxFlex","100",1,"w-100","alert","alert-warn"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5,"Setup Two Factor Authentication"),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"div",7),r.TgZ(10,"mat-vertical-stepper",8,9),r.NdJ("selectionChange",function(t){return e.stepSelectionChanged(t)}),r.TgZ(12,"mat-step",10),r.TgZ(13,"form",11),r.YNc(14,mt,1,1,"ng-template",12),r.TgZ(15,"div",0),r.TgZ(16,"mat-form-field",1),r._UZ(17,"input",13),r.YNc(18,gt,2,0,"mat-error",14),r.qZA(),r.qZA(),r.TgZ(19,"div",15),r.TgZ(20,"button",16),r.NdJ("click",function(){return e.onAuthenticate()}),r._uU(21,"Confirm"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.YNc(22,vt,17,12,"mat-step",17),r.YNc(23,St,5,4,"mat-step",18),r.YNc(24,Mt,5,4,"mat-step",18),r.qZA(),r.TgZ(25,"div",19),r.TgZ(26,"button",20),r._uU(27),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(6),r.Q6J("mat-dialog-close",!1),r.xp6(4),r.Q6J("linear",!0),r.xp6(2),r.Q6J("stepControl",e.passwordFormGroup)("editable",e.flgEditable),r.xp6(1),r.Q6J("formGroup",e.passwordFormGroup),r.xp6(5),r.Q6J("ngIf",null==e.passwordFormGroup||null==e.passwordFormGroup.controls||null==e.passwordFormGroup.controls.password||null==e.passwordFormGroup.controls.password.errors?null:e.passwordFormGroup.controls.password.errors.required),r.xp6(4),r.Q6J("ngIf",!e.showDisableStepper),r.xp6(1),r.Q6J("ngIf",!e.showDisableStepper),r.xp6(1),r.Q6J("ngIf",e.showDisableStepper),r.xp6(2),r.Q6J("mat-dialog-close",!1),r.xp6(1),r.Oqu(e.flgValidated&&e.isTokenValid?"Close":"Cancel"))},directives:[P.xw,P.yH,Z.dk,P.Wh,$.lW,ot.ZT,Z.dn,ht.Vq,ht.C0,W._Y,W.JL,W.sg,ht.VY,J.KE,ut.Nt,W.Fj,K.h,W.JJ,W.u,W.Q7,U.O5,J.TO,dt.V,F.BN,J.R9,pt.y,ht.Ic],styles:[""]}),t})();var It=i(3191),Ot=i(7679);const Dt=["authForm"];function Rt(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Current password is required."),r.qZA())}function Nt(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.errorMsg)}}function Pt(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.errorConfirmMsg)}}let Ft=(()=>{class t{constructor(t,e,i,n,r){this.store=t,this.logger=e,this.actions=i,this.router=n,this.sessionService=r,this.faInfoCircle=N.sqG,this.faUserLock=N.FJU,this.faUserClock=N.hnx,this.faLock=N.byT,this.currPassword="",this.newPassword="",this.confirmPassword="",this.errorMsg="",this.errorConfirmMsg="",this.initializeNodeData=!1,this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){this.initializeNodeData="true"===this.sessionService.getItem("defaultPassword"),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.logger.info(t)}),this.actions.pipe((0,k.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Gs)).subscribe(t=>{if(G.kO.includes(this.currPassword.toLowerCase()))switch(this.selNode.lnImplementation.toUpperCase()){case"CLT":this.router.navigate(["/cl/home"]);break;case"ECL":this.router.navigate(["/ecl/home"]);break;default:this.router.navigate(["/lnd/home"])}this.form.resetForm()})}onChangePassword(){if(!this.currPassword||!this.newPassword||!this.confirmPassword||this.currPassword===this.newPassword||this.newPassword!==this.confirmPassword||G.kO.includes(this.newPassword.toLowerCase()))return!0;this.store.dispatch(new j.tq({currPassword:rt(this.currPassword),newPassword:rt(this.newPassword)}))}matchOldAndNewPasswords(){let t=!1;return this.form.controls.newpassword&&(this.newPassword?""!==this.currPassword&&""!==this.newPassword&&this.currPassword===this.newPassword?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg="Old and New password cannot be same.",t=!0):G.kO.includes(this.newPassword.toLowerCase())?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg=G.kO.reduce((t,e,i)=>i{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(V.mQ),r.Y36(l.eX),r.Y36(R.F0),r.Y36(It.m))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-auth-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(Dt,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:35,vars:11,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["authForm","ngForm"],["fxLayout","row","fxLayoutAlign","start start",1,"mb-2"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["matInput","","placeholder","Current Password","type","password","id","currpassword","name","currpassword","tabindex","6","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["matInput","","placeholder","New Password","type","password","id","newpassword","name","newpassword","tabindex","7","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Confirm New Password","type","password","id","confirmpassword","name","confirmpassword","tabindex","8","required","",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","9",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10","type","button",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end stretch",1,"my-2"],[3,"inset"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],[1,"mb-1","settings-container","page-sub-title-container","mt-1"],[1,"alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],[1,"mt-1"],["mat-flat-button","","color","primary","tabindex","11",1,"mb-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"form",1,2),r.TgZ(3,"div",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6,"Password"),r.qZA(),r.qZA(),r.TgZ(7,"mat-form-field"),r.TgZ(8,"input",6),r.NdJ("ngModelChange",function(t){return e.currPassword=t}),r.qZA(),r.YNc(9,Rt,2,0,"mat-error",7),r.qZA(),r.TgZ(10,"mat-form-field"),r.TgZ(11,"input",8),r.NdJ("ngModelChange",function(t){return e.newPassword=t}),r.qZA(),r.YNc(12,Nt,2,1,"mat-error",7),r.qZA(),r.TgZ(13,"mat-form-field"),r.TgZ(14,"input",9),r.NdJ("ngModelChange",function(t){return e.confirmPassword=t}),r.qZA(),r.YNc(15,Pt,2,1,"mat-error",7),r.qZA(),r.TgZ(16,"div",10),r.TgZ(17,"button",11),r.NdJ("click",function(){return e.onResetPassword()}),r._uU(18,"Reset"),r.qZA(),r.TgZ(19,"button",12),r.NdJ("click",function(){return e.onChangePassword()}),r._uU(20,"Change Password"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(21,"div",13),r._UZ(22,"mat-divider",14),r.qZA(),r.TgZ(23,"div",15),r.TgZ(24,"div",16),r._UZ(25,"fa-icon",4),r.TgZ(26,"span",5),r._uU(27,"Two Factor Authentication"),r.qZA(),r.qZA(),r.TgZ(28,"div",17),r._UZ(29,"fa-icon",18),r.TgZ(30,"span"),r._uU(31,"Protect your account from unauthorized access by requiring a second authentication method in addition to your password."),r.qZA(),r.qZA(),r.TgZ(32,"div",19),r.TgZ(33,"button",20),r.NdJ("click",function(){return e.on2FAuth()}),r._uU(34),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faLock),r.xp6(4),r.Q6J("ngModel",e.currPassword),r.xp6(1),r.Q6J("ngIf",!e.currPassword),r.xp6(2),r.Q6J("ngModel",e.newPassword),r.xp6(1),r.Q6J("ngIf",e.matchOldAndNewPasswords()),r.xp6(2),r.Q6J("ngModel",e.confirmPassword),r.xp6(1),r.Q6J("ngIf",e.matchNewPasswords()),r.xp6(7),r.Q6J("inset",!0),r.xp6(3),r.Q6J("icon",e.faUserClock),r.xp6(4),r.Q6J("icon",e.faInfoCircle),r.xp6(5),r.Oqu(e.appConfig.enable2FA?"Disable 2FA":"Enable 2FA"))},directives:[P.xw,P.yH,P.Wh,W._Y,W.JL,W.F,F.BN,J.KE,ut.Nt,W.Fj,W.Q7,W.JJ,W.On,U.O5,$.lW,Ot.d,J.TO],styles:[""]}),t})();var Zt=i(5250);function Bt(t,e){1&t&&r._UZ(0,"mat-divider",7)}function Ut(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"pre",5),r._uU(2),r.ALo(3,"json"),r.qZA(),r.YNc(4,Bt,1,0,"mat-divider",6),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu(r.lcZ(3,2,t.configData)),r.xp6(2),r.Q6J("ngIf",""!==t.configData)}}function qt(t,e){if(1&t&&(r.TgZ(0,"h2"),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function zt(t,e){if(1&t&&(r.TgZ(0,"h4",14),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function Ht(t,e){1&t&&r._UZ(0,"mat-divider",15),2&t&&r.Q6J("inset",!0)}function Yt(t,e){if(1&t&&(r.TgZ(0,"mat-list-item"),r.TgZ(1,"mat-card-subtitle",7),r.YNc(2,qt,2,1,"h2",10),r.qZA(),r.TgZ(3,"mat-card-subtitle",11),r.YNc(4,zt,2,1,"h4",12),r.qZA(),r.YNc(5,Ht,1,1,"mat-divider",13),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Q6J("ngIf",t.indexOf("[")>=0),r.xp6(2),r.Q6J("ngIf",t.indexOf("[")<0),r.xp6(1),r.Q6J("ngIf",t.indexOf("[")<0)}}function Gt(t,e){if(1&t&&(r.TgZ(0,"div",8),r.TgZ(1,"mat-list"),r.YNc(2,Yt,6,3,"mat-list-item",9),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Q6J("ngForOf",t.configData)}}let jt=(()=>{class t{constructor(t,e,i){this.store=t,this.rtlEffects=e,this.router=i,this.selectedNodeType="",this.configData="",this.fileFormat="INI",this.faCog=N.b7W,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.selectedNodeType=this.router.url.includes("bconfig")?"bitcoind":"ln",this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{this.selectedNodeType=t.urlAfterRedirects.includes("bconfig")?"bitcoind":"ln"}),this.store.dispatch(new j.Fj(this.selectedNodeType)),this.rtlEffects.showLnConfig.pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{const e=t.data;this.fileFormat=t.format,this.configData=""===e||!e||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==e&&e&&"JSON"===this.fileFormat?e:"":e.split("\n")})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(lt.V),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-bitcoin-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Ut,5,4,"div",2),r.YNc(3,Gt,3,1,"div",3),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",""!==e.configData&&"JSON"===e.fileFormat),r.xp6(1),r.Q6J("ngIf",""!==e.configData&&("INI"===e.fileFormat||"HOCON"===e.fileFormat)))},directives:[P.xw,P.yH,P.Wh,U.O5,Ot.d,Zt.i$,U.sg,Zt.Tg,Z.$j],pipes:[U.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();const Vt=function(){return{initial:!1}};function Qt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[1].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[1].link),r.Q6J("active",t.activeLink===t.links[1].link)("state",r.DdM(4,Vt)),r.xp6(1),r.Oqu(t.links[1].name)}}function Wt(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.activeLink=e.links[2].link}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw();r.s9C("routerLink",t.links[2].link),r.Q6J("active",t.activeLink===t.links[2].link),r.xp6(1),r.Oqu(t.links[2].name)}}let Jt=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faTools=N.CgH,this.showLnConfig=!1,this.lnImplementationStr="",this.links=[{link:"node",name:"Node"},{link:"services",name:"Services"},{link:"lnconfig",name:this.lnImplementationStr}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{switch(this.showLnConfig=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.lnImplementationStr="C-Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[2].name=this.lnImplementationStr,this.showLnConfig=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-node-config"]],decls:14,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Node Config"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.YNc(10,Qt,2,5,"div",7),r.YNc(11,Wt,2,3,"div",8),r.qZA(),r.TgZ(12,"div",9),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faTools),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.Q6J("ngIf","LND"===e.selNode.lnImplementation.toUpperCase()),r.xp6(1),r.Q6J("ngIf",e.showLnConfig))},directives:[P.xw,P.Wh,F.BN,Z.a8,Z.dn,B.BU,B.Nj,R.rH,U.O5,P.yH,R.lC],styles:[""]}),t})();function Xt(t,e){1&t&&r._UZ(0,"mat-divider",7)}function Kt(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"pre",5),r._uU(2),r.ALo(3,"json"),r.qZA(),r.YNc(4,Xt,1,0,"mat-divider",6),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu(r.lcZ(3,2,t.configData)),r.xp6(2),r.Q6J("ngIf",""!==t.configData)}}function $t(t,e){if(1&t&&(r.TgZ(0,"h2"),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function te(t,e){if(1&t&&(r.TgZ(0,"h4",14),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t)}}function ee(t,e){1&t&&r._UZ(0,"mat-divider",15),2&t&&r.Q6J("inset",!0)}function ie(t,e){if(1&t&&(r.TgZ(0,"mat-list-item"),r.TgZ(1,"mat-card-subtitle",7),r.YNc(2,$t,2,1,"h2",10),r.qZA(),r.TgZ(3,"mat-card-subtitle",11),r.YNc(4,te,2,1,"h4",12),r.qZA(),r.YNc(5,ee,1,1,"mat-divider",13),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Q6J("ngIf",t.indexOf("[")>=0),r.xp6(2),r.Q6J("ngIf",t.indexOf("[")<0),r.xp6(1),r.Q6J("ngIf",t.indexOf("[")<0)}}function ne(t,e){if(1&t&&(r.TgZ(0,"div",8),r.TgZ(1,"mat-list"),r.YNc(2,ie,6,3,"mat-list-item",9),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Q6J("ngForOf",t.configData)}}let re=(()=>{class t{constructor(t,e,i){this.store=t,this.rtlEffects=e,this.router=i,this.selectedNodeType="",this.configData="",this.fileFormat="INI",this.faCog=N.b7W,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.selectedNodeType=this.router.url.includes("bconfig")?"bitcoind":"ln",this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{this.selectedNodeType=t.urlAfterRedirects.includes("bconfig")?"bitcoind":"ln"}),this.store.dispatch(new j.Fj(this.selectedNodeType)),this.rtlEffects.showLnConfig.pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{const e=t.data;this.fileFormat=t.format,this.configData=""===e||!e||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==e&&e&&"JSON"===this.fileFormat?e:"":e.split("\n")})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(lt.V),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-lnp-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Kt,5,4,"div",2),r.YNc(3,ne,3,1,"div",3),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("ngIf",""!==e.configData&&"JSON"===e.fileFormat),r.xp6(1),r.Q6J("ngIf",""!==e.configData&&("INI"===e.fileFormat||"HOCON"===e.fileFormat)))},directives:[P.xw,P.yH,P.Wh,U.O5,Ot.d,Zt.i$,U.sg,Zt.Tg,Z.$j],pipes:[U.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();var se=i(6124),oe=i(9939),ae=i(5678),le=i(1084),ce=i(7521),he=i(4810),ue=i(377);function de(t,e){if(1&t&&(r.TgZ(0,"mat-option",35),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t.id),r.xp6(1),r.hij(" ",t.id," ")}}function pe(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Currency unit is required."),r.qZA())}function fe(t,e){if(1&t&&(r.TgZ(0,"mat-radio-button",36),r._uU(1),r.ALo(2,"titlecase"),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.Q6J("value",t)("checked",i.selNode.settings.userPersona===t),r.xp6(1),r.hij(" ",r.lcZ(2,3,t)," ")}}const me=function(t){return{"mr-4":t}};function ge(t,e){if(1&t&&(r.TgZ(0,"mat-radio-button",37),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.Q6J("value",t)("ngClass",r.VKq(3,me,i.screenSize===i.screenSizeEnum.XS||i.screenSize===i.screenSizeEnum.SM)),r.xp6(1),r.hij("",t.name," ")}}const ye=function(t){return{skin:!0,"selected-color":t}};function be(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"span",38),r.TgZ(1,"div",39),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().changeThemeColor(e.id)}),r.ALo(2,"lowercase"),r.qZA(),r._uU(3),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Tol(r.lcZ(2,4,t.id)),r.Q6J("ngClass",r.VKq(6,ye,i.selectedThemeColor===t.id)),r.xp6(2),r.hij(" ",t.name," ")}}let ve=(()=>{class t{constructor(t,e,i){this.logger=t,this.commonService=e,this.store=i,this.faExclamationTriangle=N.eHv,this.faMoneyBillAlt=N.co4,this.faPaintBrush=N.XsY,this.faInfoCircle=N.sqG,this.information={},this.userPersonas=[G.ol.OPERATOR,G.ol.MERCHANT],this.currencyUnits=G.Er,this.themeModes=G.wZ.modes,this.themeColors=G.wZ.themes,this.selectedThemeMode=G.wZ.modes[0],this.selectedThemeColor=G.wZ.themes[0].id,this.currencyUnit="BTC",this.smallerCurrencyUnit="Sats",this.showSettingOption=!0,this.screenSize="",this.screenSizeEnum=G.cu,this.unSubs=[new h.x,new h.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.selectedThemeMode=this.themeModes.find(t=>this.selNode.settings.themeMode===t.id),this.selectedThemeColor=this.selNode.settings.themeColor,this.information=t.nodeData,this.selNode.settings.fiatConversion||(this.selNode.settings.currencyUnit=null),this.previousSettings=JSON.parse(JSON.stringify(this.selNode.settings)),this.logger.info(t)})}onCurrencyChange(t){this.selNode.settings.currencyUnits=[...G.uA,t.value],this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:t.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}toggleSettings(t,e){this.selNode.settings[t]=!this.selNode.settings[t]}changeThemeColor(t){this.selectedThemeColor=t,this.selNode.settings.themeColor=t}chooseThemeMode(){this.selNode.settings.themeMode=this.selectedThemeMode.id}onUpdateSettings(){if(this.selNode.settings.fiatConversion&&!this.selNode.settings.currencyUnit)return!0;this.logger.info(this.selNode.settings),this.store.dispatch(new j.j_({uiMessage:G.m6.UPDATE_NODE_SETTINGS,settings:this.selNode.settings})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}onResetSettings(){this.selNode.settings=this.previousSettings,this.selectedThemeMode=this.themeModes.find(t=>t.id===this.previousSettings.themeMode),this.selectedThemeColor=this.previousSettings.themeColor,this.store.dispatch(new j.ZG({uiMessage:G.m6.NO_SPINNER,lnNode:this.selNode,isInitialSetup:!0}))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(le.v),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-node-settings"]],decls:60,vars:17,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","start stretch",1,"mt-1","bordered-box","padding-gap-large"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["href","https://www.blockchain.com/api/exchange_rates_api","target","blank"],["fxLayout","row wrap","fxLayoutAlign","start center"],["tabindex","2","color","primary","name","fiatConversion",3,"ngModel","ngModelChange","change"],["autoFocus","","placeholder","Fiat Currency","tabindex","3","name","currencyUnit",3,"ngModel","disabled","required","ngModelChange","selectionChange"],["currencyUnit","ngModel"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","row wrap","fxLayoutAlign","start start","fxLayout.gt-sm","column","fxFlex","100","fxLayoutAlign.gt-sm","space-between stretch",1,"settings-container","page-sub-title-container","mt-1"],[1,"mt-1"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-0"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100"],["color","primary","tabindex","1","name","userPersona",3,"ngModel","ngModelChange"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],[1,"mt-1",3,"inset"],["fxLayout","column","fxLayout.gt-xs","row","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-xs","start stretch"],["fxFlex.gt-xs","20","fxFlex.gt-md","15","fxLayout","column","fxLayoutAlign","space-between stretch"],["color","primary","name","themeMode",3,"ngModel","ngModelChange","change"],["tabindex","5",3,"value","ngClass",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex.gt-xs","50","fxFlex.gt-md","40","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","row","class","theme-name",4,"ngFor","ngForOf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","10",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","11",3,"click"],[3,"value"],[1,"mr-4",3,"value","checked"],["tabindex","5",3,"value","ngClass"],["fxLayout","row",1,"theme-name"],["tabindex","9",3,"ngClass","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"form",1,2),r.TgZ(3,"div",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6,"Balance Display"),r.qZA(),r.qZA(),r.TgZ(7,"div",6),r.TgZ(8,"div",7),r._UZ(9,"fa-icon",8),r.TgZ(10,"span"),r._uU(11,"Fiat conversion calls "),r.TgZ(12,"strong"),r.TgZ(13,"a",9),r._uU(14,"Blockchain.com"),r.qZA(),r.qZA(),r._uU(15," API to get conversion rates."),r.qZA(),r.qZA(),r.TgZ(16,"div",10),r.TgZ(17,"mat-slide-toggle",11),r.NdJ("ngModelChange",function(t){return e.selNode.settings.fiatConversion=t})("change",function(t){return e.selNode.settings.currencyUnit=t.checked?e.selNode.settings.currencyUnit:null}),r._uU(18,"Enable Fiat Conversion"),r.qZA(),r.TgZ(19,"mat-form-field"),r.TgZ(20,"mat-select",12,13),r.NdJ("ngModelChange",function(t){return e.selNode.settings.currencyUnit=t})("selectionChange",function(t){return e.onCurrencyChange(t)}),r.YNc(22,de,2,2,"mat-option",14),r.qZA(),r.YNc(23,pe,2,0,"mat-error",15),r.qZA(),r.qZA(),r.qZA(),r.TgZ(24,"div",16),r.TgZ(25,"div",17),r.TgZ(26,"div",18),r._UZ(27,"fa-icon",4),r.TgZ(28,"span",5),r._uU(29,"Customization"),r.qZA(),r.qZA(),r.TgZ(30,"div",6),r.TgZ(31,"div",19),r.TgZ(32,"div",20),r._UZ(33,"fa-icon",8),r.TgZ(34,"span"),r._uU(35,"Dashboard layout will be tailored based on the role selected to better serve its needs."),r.qZA(),r.qZA(),r.TgZ(36,"div",21),r.TgZ(37,"h4"),r._uU(38,"Dashboard Layout"),r.qZA(),r.TgZ(39,"mat-radio-group",22),r.NdJ("ngModelChange",function(t){return e.selNode.settings.userPersona=t}),r.YNc(40,fe,3,5,"mat-radio-button",23),r.qZA(),r.qZA(),r.qZA(),r._UZ(41,"mat-divider",24),r.TgZ(42,"div",25),r.TgZ(43,"div",26),r.TgZ(44,"h4"),r._uU(45,"Mode"),r.qZA(),r.TgZ(46,"mat-radio-group",27),r.NdJ("ngModelChange",function(t){return e.selectedThemeMode=t})("change",function(){return e.chooseThemeMode()}),r.YNc(47,ge,2,5,"mat-radio-button",28),r.qZA(),r.qZA(),r.qZA(),r._UZ(48,"mat-divider",24),r.TgZ(49,"div",25),r.TgZ(50,"div",29),r.TgZ(51,"h4"),r._uU(52,"Themes"),r.qZA(),r.TgZ(53,"div",30),r.YNc(54,be,4,8,"span",31),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.TgZ(55,"div",32),r.TgZ(56,"button",33),r.NdJ("click",function(){return e.onResetSettings()}),r._uU(57,"Reset"),r.qZA(),r.TgZ(58,"button",34),r.NdJ("click",function(){return e.onUpdateSettings()}),r._uU(59,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faMoneyBillAlt),r.xp6(5),r.Q6J("icon",e.faExclamationTriangle),r.xp6(8),r.Q6J("ngModel",e.selNode.settings.fiatConversion),r.xp6(3),r.Q6J("ngModel",e.selNode.settings.currencyUnit)("disabled",!e.selNode.settings.fiatConversion)("required",e.selNode.settings.fiatConversion),r.xp6(2),r.Q6J("ngForOf",e.currencyUnits),r.xp6(1),r.Q6J("ngIf",e.selNode.settings.fiatConversion&&!e.selNode.settings.currencyUnit),r.xp6(4),r.Q6J("icon",e.faPaintBrush),r.xp6(6),r.Q6J("icon",e.faInfoCircle),r.xp6(6),r.Q6J("ngModel",e.selNode.settings.userPersona),r.xp6(1),r.Q6J("ngForOf",e.userPersonas),r.xp6(1),r.Q6J("inset",!0),r.xp6(5),r.Q6J("ngModel",e.selectedThemeMode),r.xp6(1),r.Q6J("ngForOf",e.themeModes),r.xp6(1),r.Q6J("inset",!0),r.xp6(6),r.Q6J("ngForOf",e.themeColors))},directives:[P.xw,P.yH,Q.$V,W._Y,W.JL,W.F,P.Wh,F.BN,ce.Rr,W.JJ,W.On,J.KE,X.gD,K.h,W.Q7,U.sg,U.O5,he.VQ,Ot.d,$.lW,tt.ey,J.TO,he.U0,U.mk,ue.oO],pipes:[U.rS,U.i8],styles:[""]}),t})();const _e=function(){return{initial:!1}};let we=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faLayerGroup=N.Krp,this.links=[{link:"loop",name:"Loop"},{link:"boltz",name:"Boltz"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-services-settings"]],decls:14,vars:9,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Services"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.TgZ(8,"div",6),r.NdJ("click",function(){return e.activeLink=e.links[0].link}),r._uU(9),r.qZA(),r.TgZ(10,"div",7),r.NdJ("click",function(){return e.activeLink=e.links[1].link}),r._uU(11),r.qZA(),r.qZA(),r.TgZ(12,"div",8),r._UZ(13,"router-outlet"),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faLayerGroup),r.xp6(7),r.s9C("routerLink",e.links[0].link),r.Q6J("active",e.activeLink===e.links[0].link),r.xp6(1),r.Oqu(e.links[0].name),r.xp6(1),r.s9C("routerLink",e.links[1].link),r.Q6J("active",e.activeLink===e.links[1].link)("state",r.DdM(8,_e)),r.xp6(1),r.Oqu(e.links[1].name))},directives:[P.xw,P.Wh,F.BN,Z.a8,Z.dn,B.BU,B.Nj,R.rH,P.yH,R.lC],styles:[""]}),t})();const xe=["form"];function Ce(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Loop server URL is required."),r.qZA())}function Ae(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Specify the loop server url with 'https://'."),r.qZA())}function Se(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Loop macaroon path is required."),r.qZA())}let Ee=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=N.sqG,this.enableLoop=!1,this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.enableLoop=t.selNode.settings.swapServerUrl&&""!==t.selNode.settings.swapServerUrl.trim(),this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(t)})}onEnableServiceChanged(t){this.enableLoop=t.checked,this.enableLoop||(this.selNode.authentication.swapMacaroonPath="",this.selNode.settings.swapServerUrl="")}onUpdateService(){if(this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableLoop&&(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim()||!this.selNode.authentication.swapMacaroonPath||""===this.selNode.authentication.swapMacaroonPath.trim()))return!0;this.logger.info(this.selNode),this.store.dispatch(new j.wq({uiMessage:G.m6.UPDATE_LOOP_SETTINGS,service:G.JX.LOOP,settings:{enable:this.enableLoop,serverUrl:this.selNode.settings.swapServerUrl,macaroonPath:this.selNode.authentication.swapMacaroonPath}})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.enableLoop=this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-loop-service-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(xe,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://github.com/lightninglabs/loop","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","loop",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Loop Server URL","type","text","id","swapServerUrl","name","srvrUrl","tabindex","2",3,"ngModel","required","disabled","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Loop Macaroon Path","type","text","id","swapMacaroonPath","name","swapMacaroonPath","tabindex","3",3,"ngModel","required","disabled","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span"),r._uU(4,"Please ensure that "),r.TgZ(5,"strong"),r._uU(6,"loopd"),r.qZA(),r._uU(7," is running and accessible to RTL before enabling this service. Click "),r.TgZ(8,"strong"),r.TgZ(9,"a",3),r._uU(10,"here"),r.qZA(),r.qZA(),r._uU(11," to learn more about the installation."),r.qZA(),r.qZA(),r.TgZ(12,"form",4,5),r.TgZ(14,"div",6),r.TgZ(15,"mat-slide-toggle",7),r.NdJ("ngModelChange",function(t){return e.enableLoop=t})("change",function(t){return e.onEnableServiceChanged(t)}),r._uU(16,"Enable Loop Service"),r.qZA(),r.TgZ(17,"mat-form-field",8),r.TgZ(18,"input",9,10),r.NdJ("ngModelChange",function(t){return e.selNode.settings.swapServerUrl=t}),r.qZA(),r.TgZ(20,"mat-hint"),r._uU(21,"Service url for loop server REST APIs, eg. https://localhost:8081"),r.qZA(),r.YNc(22,Ce,2,0,"mat-error",11),r.YNc(23,Ae,2,0,"mat-error",11),r.qZA(),r.TgZ(24,"mat-form-field"),r.TgZ(25,"input",12),r.NdJ("ngModelChange",function(t){return e.selNode.authentication.swapMacaroonPath=t}),r.qZA(),r.TgZ(26,"mat-hint"),r._uU(27,"Path for the folder containing service 'loop.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Local\\\\Loop\\\\testnet"),r.qZA(),r.YNc(28,Se,2,0,"mat-error",11),r.qZA(),r.qZA(),r.qZA(),r.TgZ(29,"div",13),r.TgZ(30,"button",14),r.NdJ("click",function(){return e.onReset()}),r._uU(31,"Reset"),r.qZA(),r.TgZ(32,"button",15),r.NdJ("click",function(){return e.onUpdateService()}),r._uU(33,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.MAs(19);r.xp6(2),r.Q6J("icon",e.faInfoCircle),r.xp6(13),r.Q6J("ngModel",e.enableLoop),r.xp6(3),r.Q6J("ngModel",e.selNode.settings.swapServerUrl)("required",e.enableLoop)("disabled",!e.enableLoop),r.xp6(4),r.Q6J("ngIf",!e.selNode.settings.swapServerUrl&&e.enableLoop),r.xp6(1),r.Q6J("ngIf",(null==t||null==t.errors?null:t.errors.invalid)&&e.enableLoop),r.xp6(2),r.Q6J("ngModel",e.selNode.authentication.swapMacaroonPath)("required",e.enableLoop)("disabled",!e.enableLoop),r.xp6(3),r.Q6J("ngIf",!e.selNode.authentication.swapMacaroonPath&&e.enableLoop)}},directives:[P.xw,P.yH,Q.$V,F.BN,W._Y,W.JL,W.F,P.Wh,ce.Rr,K.h,W.JJ,W.On,J.KE,ut.Nt,W.Fj,W.Q7,J.bx,U.O5,$.lW,J.TO],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})();const ke=["form"];function Te(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Boltz server URL is required."),r.qZA())}function Me(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Specify the boltz server url with 'https://'."),r.qZA())}function Le(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Boltz macaroon path is required."),r.qZA())}let Ie=(()=>{class t{constructor(t,e){this.logger=t,this.store=e,this.faInfoCircle=N.sqG,this.enableBoltz=!1,this.serverUrl="",this.macaroonPath="",this.unSubs=[new h.x,new h.x]}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{this.appConfig=t.appConfig,this.selNode=t.selNode,this.enableBoltz=t.selNode.settings.boltzServerUrl&&""!==t.selNode.settings.boltzServerUrl.trim(),this.serverUrl=this.selNode.settings.boltzServerUrl,this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(t)})}onEnableServiceChanged(t){this.enableBoltz=t.checked,this.enableBoltz||(this.macaroonPath="",this.serverUrl="")}onUpdateService(){if(this.serverUrl&&""!==this.serverUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableBoltz&&(!this.serverUrl||""===this.serverUrl.trim()||!this.serverUrl.includes("https://")||!this.macaroonPath||""===this.macaroonPath.trim()))return!0;this.logger.info(this.selNode),this.selNode.settings.boltzServerUrl=this.serverUrl,this.selNode.authentication.boltzMacaroonPath=this.macaroonPath,this.store.dispatch(new j.wq({uiMessage:G.m6.UPDATE_BOLTZ_SETTINGS,service:G.JX.BOLTZ,settings:{enable:this.enableBoltz,serverUrl:this.serverUrl,macaroonPath:this.macaroonPath}})),this.store.dispatch(new ae.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl})),this.store.dispatch(new oe.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl})),this.store.dispatch(new se.vI({userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.serverUrl=this.selNode.settings.boltzServerUrl,this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.enableBoltz=this.serverUrl&&""!==this.serverUrl.trim()}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-service-settings"]],viewQuery:function(t,e){if(1&t&&r.Gf(ke,7),2&t){let t;r.iGM(t=r.CRH())&&(e.form=t.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://lnd.docs.boltz.exchange/en/latest/","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","boltz",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Boltz Server URL","type","text","id","boltzServerUrl","name","srvrUrl","tabindex","2",3,"ngModel","required","disabled","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Boltz Macaroon Path","type","text","id","boltzMacaroonPath","name","boltzMacaroonPath","tabindex","3",3,"ngModel","required","disabled","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span"),r._uU(4,"Please ensure that "),r.TgZ(5,"strong"),r._uU(6,"boltzd"),r.qZA(),r._uU(7," is running and accessible to RTL before enabling this service. Click "),r.TgZ(8,"strong"),r.TgZ(9,"a",3),r._uU(10,"here"),r.qZA(),r.qZA(),r._uU(11," to learn more about the installation."),r.qZA(),r.qZA(),r.TgZ(12,"form",4,5),r.TgZ(14,"div",6),r.TgZ(15,"mat-slide-toggle",7),r.NdJ("ngModelChange",function(t){return e.enableBoltz=t})("change",function(t){return e.onEnableServiceChanged(t)}),r._uU(16,"Enable Boltz Service"),r.qZA(),r.TgZ(17,"mat-form-field",8),r.TgZ(18,"input",9,10),r.NdJ("ngModelChange",function(t){return e.serverUrl=t}),r.qZA(),r.TgZ(20,"mat-hint"),r._uU(21,"Service url for boltz server REST APIs, eg. https://localhost:9003"),r.qZA(),r.YNc(22,Te,2,0,"mat-error",11),r.YNc(23,Me,2,0,"mat-error",11),r.qZA(),r.TgZ(24,"mat-form-field"),r.TgZ(25,"input",12),r.NdJ("ngModelChange",function(t){return e.macaroonPath=t}),r.qZA(),r.TgZ(26,"mat-hint"),r._uU(27,"Path for the folder containing boltz 'admin.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Boltz\\\\testnet"),r.qZA(),r.YNc(28,Le,2,0,"mat-error",11),r.qZA(),r.qZA(),r.qZA(),r.TgZ(29,"div",13),r.TgZ(30,"button",14),r.NdJ("click",function(){return e.onReset()}),r._uU(31,"Reset"),r.qZA(),r.TgZ(32,"button",15),r.NdJ("click",function(){return e.onUpdateService()}),r._uU(33,"Update"),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.MAs(19);r.xp6(2),r.Q6J("icon",e.faInfoCircle),r.xp6(13),r.Q6J("ngModel",e.enableBoltz),r.xp6(3),r.Q6J("ngModel",e.serverUrl)("required",e.enableBoltz)("disabled",!e.enableBoltz),r.xp6(4),r.Q6J("ngIf",(!e.serverUrl||""===e.serverUrl.trim())&&e.enableBoltz),r.xp6(1),r.Q6J("ngIf",(null==t||null==t.errors?null:t.errors.invalid)&&e.enableBoltz),r.xp6(2),r.Q6J("ngModel",e.macaroonPath)("required",e.enableBoltz)("disabled",!e.enableBoltz),r.xp6(3),r.Q6J("ngIf",!e.macaroonPath&&e.enableBoltz)}},directives:[P.xw,P.yH,Q.$V,F.BN,W._Y,W.JL,W.F,P.Wh,ce.Rr,K.h,W.JJ,W.On,J.KE,ut.Nt,W.Fj,W.Q7,J.bx,U.O5,$.lW,J.TO],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]}),t})(),Oe=(()=>{class t{constructor(t,e){this.store=t,this.router=e,this.faLayerGroup=N.Krp,this.showLnConfig=!1,this.showBitcoind=!1,this.lnImplementationStr="",this.links=[{link:"layout",name:"Layout"},{link:"auth",name:"Authentication"},{link:"lnconfig",name:this.lnImplementationStr},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){const t=this.links.find(t=>this.router.url.includes(t.link));this.activeLink=t?t.link:this.links[0].link,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeLink=e?e.link:this.links[0].link}),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{switch(this.showLnConfig=!1,this.showBitcoind=!1,this.appConfig=t.appConfig,this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.lnImplementationStr="C-Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[2].name=this.lnImplementationStr,this.showLnConfig=!0),this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-services"]],decls:1,vars:0,template:function(t,e){1&t&&r._UZ(0,"router-outlet")},directives:[R.lC],styles:[""]}),t})();var De=i(5028),Re=i(2969),Ne=i(3005),Pe=i(2464),Fe=i(7033),Ze=i(5994);function Be(t,e){1&t&&r._UZ(0,"mat-progress-bar",34)}function Ue(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Initiation Time "),r.qZA())}function qe(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.ALo(2,"date"),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(r.xi3(2,1,t.initiation_time/1e6,"dd/MMM/YYYY HH:mm"))}}function ze(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Last Update Time "),r.qZA())}function He(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.ALo(2,"date"),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(r.xi3(2,1,t.last_update_time/1e6,"dd/MMM/YYYY HH:mm"))}}function Ye(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," ID "),r.qZA())}function Ge(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id)}}function je(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," ID (Bytes) "),r.qZA())}function Ve(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id_bytes)}}function Qe(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," State "),r.qZA())}function We(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Oqu(i.LoopStateEnum[t.state])}}function Je(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," HTLC Address "),r.qZA())}function Xe(t,e){if(1&t&&(r.TgZ(0,"td",36),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.htlc_address)}}function Ke(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Amount (Sats) "),r.qZA())}function $e(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.amt))}}function ti(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Server (Sats) "),r.qZA())}function ei(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.cost_server))}}function ii(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Offchain (Sats) "),r.qZA())}function ni(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.cost_offchain))}}function ri(t,e){1&t&&(r.TgZ(0,"th",37),r._uU(1," Cost Onchain (Sats) "),r.qZA())}function si(t,e){if(1&t&&(r.TgZ(0,"td",36),r.TgZ(1,"span",38),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.hij(" ",r.lcZ(3,1,null==t?null:t.cost_onchain)," ")}}function oi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"th",39),r.TgZ(1,"div",40),r.TgZ(2,"mat-select",41),r._UZ(3,"mat-select-trigger"),r.TgZ(4,"mat-option",42),r.NdJ("click",function(){return r.CHM(t),r.oxw().onDownloadCSV()}),r._uU(5,"Download CSV"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}}function ai(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"td",43),r.TgZ(1,"button",44),r.NdJ("click",function(e){const i=r.CHM(t).$implicit;return r.oxw().onSwapClick(i,e)}),r._uU(2,"View Info"),r.qZA(),r.qZA()}}function li(t,e){if(1&t&&(r.TgZ(0,"p"),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.emptyTableMessage)}}function ci(t,e){if(1&t&&(r.TgZ(0,"td",45),r.YNc(1,li,2,1,"p",46),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("ngIf",!(null!=t.listSwaps&&t.listSwaps.data)||(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)<1)}}const hi=function(t){return{"display-none":t}};function ui(t,e){if(1&t&&r._UZ(0,"tr",47),2&t){const t=r.oxw();r.Q6J("ngClass",r.VKq(1,hi,(null==t.listSwaps?null:t.listSwaps.data)&&(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)>0))}}function di(t,e){1&t&&r._UZ(0,"tr",48)}function pi(t,e){1&t&&r._UZ(0,"tr",49)}const fi=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},mi=function(){return["no_swap"]};let gi=(()=>{class t{constructor(t,e,i,n){this.logger=t,this.commonService=e,this.store=i,this.loopService=n,this.selectedSwapType=G.$I.LOOP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.LoopStateEnum=G.Fq,this.faHistory=N.qO$,this.swapCaption="Loop Out",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=G.IV,this.pageSizeOptions=G.TJ,this.screenSize="",this.screenSizeEnum=G.cu,this.unSubs=[new h.x,new h.x,new h.x],this.screenSize=this.commonService.getScreenSize(),this.screenSize===G.cu.XS||this.screenSize===G.cu.SM?(this.flgSticky=!1,this.displayedColumns=["state","amt","actions"]):this.screenSize===G.cu.MD?(this.flgSticky=!1,this.displayedColumns=["state","initiation_time","amt","actions"]):(this.flgSticky=!0,this.displayedColumns=["state","initiation_time","amt","cost_server","cost_offchain","cost_onchain","actions"])}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(t){this.swapCaption=this.selectedSwapType===G.$I.LOOP_IN?"Loop In":"Loop Out",this.loadSwapsTable(this.swapsData)}applyFilter(t){this.listSwaps.filter=t.value.trim().toLowerCase()}onSwapClick(t,e){this.loopService.getSwap(t.id_bytes.replace(/\//g,"_").replace(/\+/g,"-")).pipe((0,k.R)(this.unSubs[2])).subscribe(t=>{this.store.dispatch(new j.wu({data:{type:G.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:[[{key:"state",value:G.Fq[t.state],title:"Status",width:50,type:G.Gi.STRING},{key:"amt",value:t.amt,title:"Amount (Sats)",width:50,type:G.Gi.NUMBER}],[{key:"initiation_time",value:t.initiation_time/1e9,title:"Initiation Time",width:50,type:G.Gi.DATE_TIME},{key:"last_update_time",value:t.last_update_time/1e9,title:"Last Update Time",width:50,type:G.Gi.DATE_TIME}],[{key:"cost_server",value:t.cost_server,title:"Server Cost (Sats)",width:33,type:G.Gi.NUMBER},{key:"cost_offchain",value:t.cost_offchain,title:"Offchain Cost (Sats)",width:33,type:G.Gi.NUMBER},{key:"cost_onchain",value:t.cost_onchain,title:"Onchain Cost (Sats)",width:34,type:G.Gi.NUMBER}],[{key:"id_bytes",value:t.id_bytes,title:"ID",width:100,type:G.Gi.STRING}],[{key:"htlc_address",value:t.htlc_address,title:"HTLC Address",width:100,type:G.Gi.STRING}]],openedBy:"SWAP"}}))})}loadSwapsTable(t){this.listSwaps=new Fe.by([...t]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listSwaps.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.listSwaps.paginator=this.paginator,this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===G.$I.LOOP_IN?"Loop in":"Loop out")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(Re.W))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-swaps"]],viewQuery:function(t,e){if(1&t&&(r.Gf(Pe.YE,5),r.Gf(Ne.NW,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sort=t.first),r.iGM(t=r.CRH())&&(e.paginator=t.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[r._Bn([{provide:Ne.ye,useValue:(0,G.pt)("Swaps")}]),r.TTD],decls:52,vars:15,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","initiation_time"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","last_update_time"],["matColumnDef","id"],["matColumnDef","id_bytes"],["matColumnDef","state"],["matColumnDef","htlc_address"],["matColumnDef","amt"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","cost_server"],["matColumnDef","cost_offchain"],["matColumnDef","cost_onchain"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"div",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"mat-form-field",5),r.TgZ(7,"input",6),r.NdJ("keyup",function(t){return e.applyFilter(t.target)}),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.TgZ(9,"div",8),r.YNc(10,Be,1,0,"mat-progress-bar",9),r.TgZ(11,"table",10,11),r.ynx(13,12),r.YNc(14,Ue,2,0,"th",13),r.YNc(15,qe,3,4,"td",14),r.BQk(),r.ynx(16,15),r.YNc(17,ze,2,0,"th",13),r.YNc(18,He,3,4,"td",14),r.BQk(),r.ynx(19,16),r.YNc(20,Ye,2,0,"th",13),r.YNc(21,Ge,2,1,"td",14),r.BQk(),r.ynx(22,17),r.YNc(23,je,2,0,"th",13),r.YNc(24,Ve,2,1,"td",14),r.BQk(),r.ynx(25,18),r.YNc(26,Qe,2,0,"th",13),r.YNc(27,We,2,1,"td",14),r.BQk(),r.ynx(28,19),r.YNc(29,Je,2,0,"th",13),r.YNc(30,Xe,2,1,"td",14),r.BQk(),r.ynx(31,20),r.YNc(32,Ke,2,0,"th",21),r.YNc(33,$e,4,3,"td",14),r.BQk(),r.ynx(34,22),r.YNc(35,ti,2,0,"th",21),r.YNc(36,ei,4,3,"td",14),r.BQk(),r.ynx(37,23),r.YNc(38,ii,2,0,"th",21),r.YNc(39,ni,4,3,"td",14),r.BQk(),r.ynx(40,24),r.YNc(41,ri,2,0,"th",21),r.YNc(42,si,4,3,"td",14),r.BQk(),r.ynx(43,25),r.YNc(44,oi,6,0,"th",26),r.YNc(45,ai,3,0,"td",27),r.BQk(),r.ynx(46,28),r.YNc(47,ci,2,1,"td",29),r.BQk(),r.YNc(48,ui,1,3,"tr",30),r.YNc(49,di,1,0,"tr",31),r.YNc(50,pi,1,0,"tr",32),r.qZA(),r._UZ(51,"mat-paginator",33),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(3),r.Q6J("icon",e.faHistory),r.xp6(2),r.hij("",e.swapCaption," History"),r.xp6(5),r.Q6J("ngIf",!0===e.flgLoading[0]),r.xp6(1),r.Q6J("dataSource",e.listSwaps)("ngClass",r.VKq(12,fi,"error"===e.flgLoading[0])),r.xp6(37),r.Q6J("matFooterRowDef",r.DdM(14,mi)),r.xp6(1),r.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),r.xp6(1),r.Q6J("matRowDefColumns",e.displayedColumns),r.xp6(1),r.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[P.xw,P.yH,P.Wh,F.BN,J.KE,ut.Nt,Q.$V,U.O5,Fe.BZ,Pe.YE,U.mk,ue.oO,Fe.w1,Fe.fO,Fe.Dz,Fe.mD,Fe.Ke,Fe.as,Fe.nj,Ne.NW,Ze.pW,Fe.ge,Pe.nU,Fe.ev,X.gD,X.$L,tt.ey,$.lW,Fe.yh,Fe.Q2,Fe.XQ,Fe.Gk],pipes:[U.uU,U.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const yi=function(t){return["../",t]};function bi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",10),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onSelectedIndexChange(e)}),r._uU(1),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.Q6J("active",i.activeTab.link===t.link)("routerLink",r.VKq(3,yi,t.link)),r.xp6(1),r.Oqu(t.name)}}let vi=(()=>{class t{constructor(t,e,i){this.router=t,this.loopService=e,this.store=i,this.faInfinity=N.vqe,this.targetConf=2,this.inAmount=25e4,this.quotes=[],this.LoopTypeEnum=G.$I,this.selectedSwapType=G.$I.LOOP_OUT,this.storedSwaps=[],this.filteredSwaps=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"loopout",name:"Loop Out"},{link:"loopin",name:"Loop In"}],this.activeTab=this.links[0],this.unSubs=[new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.loopService.listSwaps();const t=this.links.find(t=>this.router.url.includes(t.link));this.activeTab=t||this.links[0],this.selectedSwapType=t&&"loopin"===t.link?G.$I.LOOP_IN:G.$I.LOOP_OUT,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeTab=e||this.links[0],this.selectedSwapType=e&&"loopin"===e.link?G.$I.LOOP_IN:G.$I.LOOP_OUT}),this.loopService.swapsChanged.pipe((0,k.R)(this.unSubs[1])).subscribe({next:t=>{this.flgLoading[0]=!1,this.storedSwaps=t,this.filteredSwaps=this.storedSwaps.filter(t=>t.type===this.selectedSwapType)},error:t=>{this.flgLoading[0]="error",this.emptyTableMessage=t.message?t.message:"No loop "+(this.selectedSwapType===G.$I.LOOP_IN?"in":"out")+" available."}})}onSelectedIndexChange(t){this.selectedSwapType="loopin"===t.link?G.$I.LOOP_IN:G.$I.LOOP_OUT,this.filteredSwaps=this.storedSwaps.filter(t=>t.type===this.selectedSwapType)}onLoop(t){t===G.$I.LOOP_IN?this.loopService.getLoopInTermsAndQuotes(this.targetConf).pipe((0,k.R)(this.unSubs[2])).subscribe(e=>{this.store.dispatch(new j.wu({data:{minQuote:e[0],maxQuote:e[1],direction:t,component:De.a}}))}):this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,k.R)(this.unSubs[3])).subscribe(e=>{this.store.dispatch(new j.wu({data:{minQuote:e[0],maxQuote:e[1],direction:t,component:De.a}}))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.F0),r.Y36(Re.W),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-loop"]],decls:13,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r._UZ(1,"fa-icon",1),r.TgZ(2,"span",2),r._uU(3,"Loop"),r.qZA(),r.qZA(),r.TgZ(4,"div",3),r.TgZ(5,"mat-card"),r.TgZ(6,"mat-card-content",4),r.TgZ(7,"nav",5),r.YNc(8,bi,2,5,"div",6),r.qZA(),r.TgZ(9,"div",7),r.TgZ(10,"button",8),r.NdJ("click",function(){return e.onLoop(e.selectedSwapType)}),r._uU(11),r.qZA(),r.qZA(),r._UZ(12,"rtl-swaps",9),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(1),r.Q6J("icon",e.faInfinity),r.xp6(7),r.Q6J("ngForOf",e.links),r.xp6(3),r.hij("Start ",e.activeTab.name,""),r.xp6(1),r.Q6J("selectedSwapType",e.selectedSwapType)("swapsData",e.filteredSwaps)("flgLoading",e.flgLoading)("emptyTableMessage",e.emptyTableMessage))},directives:[P.xw,P.Wh,F.BN,Z.a8,Z.dn,B.BU,U.sg,$.lW,gi,P.yH,B.Nj,R.rH],styles:[""]}),t})();var _i=i(4833),wi=i(7425),xi=i(9647),Ci=i(1816),Ai=i(5963),Si=i(2427);let Ei=(()=>{class t{constructor(t,e,i,n){this.httpClient=t,this.logger=e,this.store=i,this.commonService=n,this.swapUrl="",this.swaps={},this.swapsChanged=new wi.X({}),this.unSubs=[new h.x,new h.x,new h.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch(new j.Fk(G.m6.GET_BOLTZ_SWAPS)),this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/listSwaps",this.httpClient.get(this.swapUrl).pipe((0,k.R)(this.unSubs[0])).subscribe({next:t=>{this.store.dispatch(new j.Iv(G.m6.GET_BOLTZ_SWAPS)),this.swaps=t,this.swapsChanged.next(this.swaps)},error:t=>this.handleErrorWithAlert(G.m6.GET_BOLTZ_SWAPS,this.swapUrl,t)})}swapInfo(t){return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/swapInfo/"+t,this.httpClient.get(this.swapUrl).pipe((0,Ci.K)(t=>this.handleErrorWithAlert(G.m6.NO_SPINNER,this.swapUrl,t)))}serviceInfo(){return this.store.dispatch(new j.Fk(G.m6.GET_SERVICE_INFO)),this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/serviceInfo",this.httpClient.get(this.swapUrl).pipe((0,k.R)(this.unSubs[1]),(0,L.U)(t=>(this.store.dispatch(new j.Iv(G.m6.GET_SERVICE_INFO)),t)),(0,Ci.K)(t=>this.handleErrorWithAlert(G.m6.GET_SERVICE_INFO,this.swapUrl,t)))}swapOut(t,e){const i={amount:t,address:e};return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/createreverseswap",this.httpClient.post(this.swapUrl,i).pipe((0,Ci.K)(t=>this.handleErrorWithoutAlert("Swap Out for Address: "+e,G.m6.NO_SPINNER,t)))}swapIn(t){const e={amount:t};return this.swapUrl=Ai.T+Ai.N.BOLTZ_API+"/createswap",this.httpClient.post(this.swapUrl,e).pipe((0,Ci.K)(e=>this.handleErrorWithoutAlert("Swap In for Amount: "+t,G.m6.NO_SPINNER,e)))}handleErrorWithoutAlert(t,e,i){let n="";return this.logger.error("ERROR IN: "+t+"\n"+JSON.stringify(i)),this.store.dispatch(new j.Iv(e)),401===i.status?(n="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD)):503===i.status?(n="Unable to Connect to Boltz Server.",this.store.dispatch(new j.wu({data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:i.status,message:"Unable to Connect to Boltz Server",URL:t},component:Si.H}}))):n=this.commonService.extractErrorMessage(i),(0,xi._)(()=>new Error(n))}handleErrorWithAlert(t,e,i){let n="";return 401===i.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD)),this.logger.error(i),this.store.dispatch(new j.Iv(t)),401===i.status?(n="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch(new j.RD)):503===i.status?(n="Unable to Connect to Boltz Server.",this.store.dispatch(new j.wu({data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:i.status,message:"Unable to Connect to Boltz Server",URL:e},component:Si.H}}))):(n=this.commonService.extractErrorMessage(i),this.store.dispatch(new j.wu({data:{type:G.n_.ERROR,alertTitle:"ERROR",message:{code:i.error&&i.error.error&&i.error.error.code?i.error.error.code:i.error&&i.error.code?i.error.code:i.code?i.code:i.status,message:n,URL:e},component:Si.H}}))),(0,xi._)(()=>new Error(n))}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(o.eN),r.LFG(V.mQ),r.LFG(a.yh),r.LFG(le.v))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();var ki=i(5001);let Ti=(()=>{class t{constructor(){this.serviceInfo={},this.direction=G.hc.SWAP_OUT,this.swapTypeEnum=G.hc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-service-info"]],inputs:{serviceInfo:"serviceInfo",direction:"direction"},decls:33,vars:13,consts:[["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"]],template:function(t,e){1&t&&(r.TgZ(0,"mat-expansion-panel",0),r.TgZ(1,"mat-expansion-panel-header"),r.TgZ(2,"mat-panel-title"),r.TgZ(3,"span",1),r._uU(4,"Service Information"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(5,"div",2),r.TgZ(6,"div",3),r.TgZ(7,"div",4),r.TgZ(8,"h4",5),r._uU(9,"Minimum Amount (Sats)"),r.qZA(),r.TgZ(10,"span",6),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.TgZ(13,"div",4),r.TgZ(14,"h4",5),r._uU(15,"Maximum Amount (Sats)"),r.qZA(),r.TgZ(16,"span",6),r._uU(17),r.ALo(18,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(19,"mat-divider",7),r.TgZ(20,"div",3),r.TgZ(21,"div",4),r.TgZ(22,"h4",5),r._uU(23,"Fee Percentage"),r.qZA(),r.TgZ(24,"span",6),r._uU(25),r.ALo(26,"number"),r.qZA(),r.qZA(),r.TgZ(27,"div",4),r.TgZ(28,"h4",5),r._uU(29,"Miner Fee (Sats)"),r.qZA(),r.TgZ(30,"span",6),r._uU(31),r.ALo(32,"number"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.Q6J("expanded",!0),r.xp6(11),r.Oqu(r.lcZ(12,5,null==e.serviceInfo||null==e.serviceInfo.limits?null:e.serviceInfo.limits.minimal)),r.xp6(6),r.Oqu(r.lcZ(18,7,null==e.serviceInfo||null==e.serviceInfo.limits?null:e.serviceInfo.limits.maximal)),r.xp6(8),r.Oqu(r.lcZ(26,9,null==e.serviceInfo||null==e.serviceInfo.fees?null:e.serviceInfo.fees.percentage)),r.xp6(6),r.Oqu(r.lcZ(32,11,e.direction===e.swapTypeEnum.SWAP_OUT?null==e.serviceInfo||null==e.serviceInfo.fees||null==e.serviceInfo.fees.miner?null:e.serviceInfo.fees.miner.reverse:null==e.serviceInfo||null==e.serviceInfo.fees||null==e.serviceInfo.fees.miner?null:e.serviceInfo.fees.miner.normal)))},directives:[ki.ib,P.yH,ki.yz,ki.yK,P.Wh,P.xw,Ot.d],pipes:[U.JJ],styles:[""]}),t})();var Mi=i(3691);function Li(t,e){1&t&&r.GkF(0)}function Ii(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"span",5),r._uU(2),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(2),r.Oqu(null!=t.swapStatus&&t.swapStatus.error?null==t.swapStatus?null:t.swapStatus.error:"Unknown Error.")}}function Oi(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"div",6),r.TgZ(2,"div",7),r.TgZ(3,"h4",8),r._uU(4,"ID"),r.qZA(),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.TgZ(7,"div",7),r.TgZ(8,"h4",8),r._uU(9,"Routing Fee (mSats)"),r.qZA(),r.TgZ(10,"span",5),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(13,"mat-divider",9),r.TgZ(14,"div",6),r.TgZ(15,"div",7),r.TgZ(16,"h4",8),r._uU(17,"Claim Transaction ID"),r.qZA(),r.TgZ(18,"span",5),r._uU(19),r.qZA(),r.qZA(),r.TgZ(20,"div",7),r.TgZ(21,"h4",8),r._uU(22,"Lockup Address"),r.qZA(),r.TgZ(23,"span",5),r._uU(24),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(6),r.Oqu(null==t.swapStatus?null:t.swapStatus.id),r.xp6(5),r.Oqu(r.lcZ(12,4,null==t.swapStatus?null:t.swapStatus.routingFeeMilliSat)),r.xp6(8),r.Oqu(null==t.swapStatus?null:t.swapStatus.claimTransactionId),r.xp6(5),r.Oqu(null==t.swapStatus?null:t.swapStatus.lockupAddress)}}function Di(t,e){if(1&t&&(r.TgZ(0,"div",4),r.TgZ(1,"div",6),r.TgZ(2,"div",7),r.TgZ(3,"h4",8),r._uU(4,"ID"),r.qZA(),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.TgZ(7,"div",7),r.TgZ(8,"h4",8),r._uU(9,"Expected Amount (Sats)"),r.qZA(),r.TgZ(10,"span",5),r._uU(11),r.ALo(12,"number"),r.qZA(),r.qZA(),r.qZA(),r._UZ(13,"mat-divider",9),r.TgZ(14,"div",6),r.TgZ(15,"div",10),r.TgZ(16,"h4",8),r._uU(17,"Address"),r.qZA(),r.TgZ(18,"span",5),r._uU(19),r.qZA(),r.qZA(),r.qZA(),r._UZ(20,"mat-divider",9),r.TgZ(21,"div",6),r.TgZ(22,"div",10),r.TgZ(23,"h4",8),r._uU(24,"BIP 21"),r.qZA(),r.TgZ(25,"span",5),r._uU(26),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(6),r.Oqu(null==t.swapStatus?null:t.swapStatus.id),r.xp6(5),r.Oqu(r.lcZ(12,4,null==t.swapStatus?null:t.swapStatus.expectedAmount)),r.xp6(8),r.Oqu(null==t.swapStatus?null:t.swapStatus.address),r.xp6(7),r.Oqu(null==t.swapStatus?null:t.swapStatus.bip21)}}let Ri=(()=>{class t{constructor(){this.swapStatus=null,this.direction=G.hc.SWAP_OUT,this.swapTypeEnum=G.hc}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swap-status"]],inputs:{swapStatus:"swapStatus",direction:"direction"},decls:7,vars:1,consts:[[4,"ngTemplateOutlet"],["swapFailedBlock",""],["swapOutBlock",""],["swapInBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","100"]],template:function(t,e){if(1&t&&(r.YNc(0,Li,1,0,"ng-container",0),r.YNc(1,Ii,3,1,"ng-template",null,1,r.W1O),r.YNc(3,Oi,25,6,"ng-template",null,2,r.W1O),r.YNc(5,Di,27,6,"ng-template",null,3,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6);r.Q6J("ngTemplateOutlet",null!=e.swapStatus&&e.swapStatus.error?t:e.direction===e.swapTypeEnum.SWAP_OUT?i:n)}},directives:[U.tP,P.xw,P.yH,P.Wh,Ot.d],pipes:[U.JJ],styles:[""]}),t})();var Ni=i(194);function Pi(t,e){1&t&&r.GkF(0)}const Fi=function(t,e){return{"small-svg":t,"large-svg":e}};function Zi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",8),r._UZ(3,"path",9),r._UZ(4,"path",10),r._UZ(5,"path",11),r._UZ(6,"path",12),r._UZ(7,"path",13),r._UZ(8,"path",14),r._UZ(9,"path",15),r._UZ(10,"path",16),r._UZ(11,"path",17),r.qZA(),r.kcU(),r.TgZ(12,"div",18),r.TgZ(13,"mat-card-title"),r._uU(14,"Boltz Reverse Submarine Swap explained."),r.qZA(),r.qZA(),r.TgZ(15,"div",19),r.TgZ(16,"mat-card-subtitle",20),r._uU(17," Boltz is a privacy-first account free exchange and a Lightning Service Provider. By doing a Reverse Submarine Swap on Boltz, you can swap your Lightning Bitcoin for on-chain Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Bi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",21),r.TgZ(2,"g",22),r._UZ(3,"path",23),r._UZ(4,"path",24),r._UZ(5,"path",25),r._UZ(6,"path",26),r._UZ(7,"path",27),r._UZ(8,"path",28),r.qZA(),r._UZ(9,"path",29),r.TgZ(10,"defs"),r.TgZ(11,"clipPath",30),r._UZ(12,"rect",31),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 1: Deciding to Reverse Submarine Swap"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," You have one or more channels that are running low on inbound capacity or you want to move some of your Lightning Bitcoin to your onchain wallet. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Ui(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",32),r._UZ(2,"path",33),r._UZ(3,"path",34),r._UZ(4,"path",35),r._UZ(5,"path",36),r._UZ(6,"path",37),r._UZ(7,"circle",38),r._UZ(8,"rect",39),r.TgZ(9,"defs"),r.TgZ(10,"pattern",40),r._UZ(11,"use",41),r.qZA(),r._UZ(12,"image",42),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 2: Paying the Lightning Invoice"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," Your Boltz client generates a secret which is sent to Boltz. In return Boltz sends a Lightning invoice based on that secret. Your Lightning node pays that invoice which moves some of your local balance to the other side of the channel. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function qi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",43),r.TgZ(2,"g",22),r._UZ(3,"path",44),r._UZ(4,"path",45),r._UZ(5,"path",46),r._UZ(6,"path",47),r._UZ(7,"path",48),r.qZA(),r.TgZ(8,"defs"),r.TgZ(9,"clipPath",30),r._UZ(10,"rect",49),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(11,"div",18),r.TgZ(12,"mat-card-title"),r._uU(13,"Step 3: Receiving the funds on-chain"),r.qZA(),r.qZA(),r.TgZ(14,"div",19),r.TgZ(15,"mat-card-subtitle",20),r._uU(16," In return for paying the invoice, Boltz locks on-chain BTC. Your node claims that onchain BTC to your wallet and by doing that, reveals the secret. With that secret Boltz can settle the Lightning invoice paid by your node. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function zi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",50),r._UZ(2,"path",51),r._UZ(3,"path",52),r._UZ(4,"path",53),r._UZ(5,"path",54),r._UZ(6,"path",55),r.qZA(),r.kcU(),r.TgZ(7,"div",18),r.TgZ(8,"mat-card-title"),r._uU(9,"Done!"),r.qZA(),r.qZA(),r.TgZ(10,"div",19),r.TgZ(11,"mat-card-subtitle",20),r._uU(12," You have now successfully received your funds in your on-chain wallet and also spent your local balance to increase the inbound capacity of your node - all in a non-custodial manner. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Fi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let Hi=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new r.vpe,this.screenSize="",this.screenSizeEnum=G.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swapout-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","368","height","368","viewBox","0 0 368 368","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M306.667 153.333H276L260.667 184L233.797 153.763C229.441 148.861 224.595 144.24 218.529 141.746C212.54 139.284 206.099 138 199.561 138H92C41.19 138 1.52588e-05 179.19 1.52588e-05 230C1.52588e-05 280.81 41.19 322 92 322H199.561C206.099 322 212.54 320.715 218.529 318.254C224.595 315.761 229.441 311.139 233.797 306.237L260.667 276L276 306.667H306.667L291.333 260.667L306.667 230L291.333 199.333L306.667 153.333Z",1,"fill-color-0"],["d","M337.333 122.667H306.667L291.333 153.333L264.464 123.097C260.107 118.194 255.261 113.573 249.195 111.079C243.206 108.618 236.766 107.333 230.228 107.333H122.667C71.8566 107.333 30.6667 148.523 30.6667 199.333C30.6667 250.143 71.8566 291.333 122.667 291.333H230.228C236.766 291.333 243.206 290.048 249.195 287.587C255.261 285.094 260.107 280.473 264.464 275.571L291.333 245.333L306.667 276H337.333L322 230L337.333 199.333L322 168.667L337.333 122.667Z",1,"stroke-color-thicker"],["d","M214.667 245.333C206.198 245.333 199.333 238.468 199.333 230C199.333 221.532 206.198 214.667 214.667 214.667C223.135 214.667 230 221.532 230 230C230 238.468 223.135 245.333 214.667 245.333Z",1,"fill-color-15"],["d","M245.333 214.667C236.865 214.667 230 207.802 230 199.333C230 190.865 236.865 184 245.333 184C253.802 184 260.667 190.865 260.667 199.333C260.667 207.802 253.802 214.667 245.333 214.667Z",1,"stroke-color-thicker"],["d","M138 245.333C129.532 245.333 122.667 238.468 122.667 230C122.667 221.532 129.532 214.667 138 214.667C146.468 214.667 153.333 221.532 153.333 230C153.333 238.468 146.468 245.333 138 245.333Z",1,"fill-color-15"],["d","M168.667 214.667C160.198 214.667 153.333 207.802 153.333 199.333C153.333 190.865 160.198 184 168.667 184C177.135 184 184 190.865 184 199.333C184 207.802 177.135 214.667 168.667 214.667Z",1,"stroke-color-thicker"],["d","M61.3334 245.333C52.865 245.333 46 238.468 46 230C46 221.532 52.865 214.667 61.3334 214.667C69.8017 214.667 76.6667 221.532 76.6667 230C76.6667 238.468 69.8017 245.333 61.3334 245.333Z",1,"fill-color-15"],["d","M92 214.667C83.5316 214.667 76.6666 207.802 76.6666 199.333C76.6666 190.865 83.5316 184 92 184C100.468 184 107.333 190.865 107.333 199.333C107.333 207.802 100.468 214.667 92 214.667Z",1,"stroke-color-thicker"],["d","M239.077 111C241.796 111 244 113.204 244 115.923V126.077C244 128.796 241.796 131 239.077 131H191.923C189.204 131 187 128.796 187 126.077V115.923C187 113.204 189.204 111 191.923 111H239.077Z",1,"fill-color-15"],["d","M184 76.6666V107.333H122.667V76.6666H184Z",1,"stroke-color-thicker"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","383","height","279","viewBox","0 0 383 279","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M267.882 220.417V104.583C267.882 98.2125 263.809 93 258.832 93H114.029C109.051 93 104.978 98.2125 104.978 104.583V220.417C104.978 226.787 109.051 232 114.029 232H258.832C263.809 232 267.882 226.787 267.882 220.417Z",1,"fill-color-0"],["d","M357.75 197.625V81.375C357.75 74.9812 352.069 69.75 345.125 69.75H143.125C136.181 69.75 130.5 74.9812 130.5 81.375V197.625C130.5 204.019 136.181 209.25 143.125 209.25H345.125C352.069 209.25 357.75 204.019 357.75 197.625Z",1,"stroke-color-thin"],["d","M86.3125 186H105.25V139.5H86.3125C82.7775 139.5 80 142.057 80 145.312V180.188C80 183.443 82.7775 186 86.3125 186Z",1,"fill-color-15"],["d","M111.562 162.75H130.5V116.25H111.562C108.027 116.25 105.25 118.807 105.25 122.062V156.938C105.25 160.193 108.027 162.75 111.562 162.75Z",1,"stroke-color-thin"],["d","M205.979 116V150.875",1,"stroke-color-thin"],["d","M205.979 185.634V185.749",1,"stroke-color-thin"],["d","M2.44963 159.45C0.488815 161.41 0.488815 164.59 2.44963 166.55L34.403 198.504C36.3638 200.465 39.5429 200.465 41.5037 198.504C43.4645 196.543 43.4645 193.364 41.5037 191.403L13.1007 163L41.5037 134.597C43.4645 132.636 43.4645 129.457 41.5037 127.496C39.5429 125.535 36.3638 125.535 34.403 127.496L2.44963 159.45ZM65 157.979H6V168.021H65V157.979Z",1,"fill-color-15"],["id","clip0"],["width","303","height","279","transform","matrix(-1 0 0 1 383 0)",1,"fill-color-30"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["d","M138.762 67C136.099 73.913 133.436 81.3578 130.24 88.8025C130.24 88.8025 130.24 89.8661 131.305 89.8661H153.143C153.143 89.8661 153.143 90.3979 153.676 90.9296L121.718 126.558C121.185 126.026 121.185 125.495 121.185 124.963L132.371 101.033V98.9062H110V96.7791L137.164 67H138.762Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","317","y","81","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAACTCAYAAADFh8BYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACHKADAAQAAAABAAAAkwAAAABS37hiAABAAElEQVR4Aex9CaAkVXV2VfebfWWG1QWQRYddNgmCO6CiIGrAKC6gUWOIUROz/CYm+OdP/P9f82viEmNUcCFRUVFQlMUIgpIoCgwO2ww7IjLMMMub5b3XXfWf75z7Vd2urn69vK5+/d7Ufa/qnDr33HPPdm/drqquDoNdvMTxhSPBE5vODuL6BUEcHiDumBcE8Y+DYORT4V4fu3YXd09pfumB0gOlB0oPlB7oiwfCvkiZoULiDe9eGtSCH8RxfCJMCOUvlj/AIAyjoBL/abjHJz4+Q80r1S49UHqg9EDpgdIDQ+OBXXbBEW/8i2XB+ParZYHxHDohlrAAB0QJw2AiCOccGu75sXVGKfelB0oPlB4oPVB6oPRALx6o9NJopreJ469Xg4ltX8NiA8sLLDD8xQYWHbrwiOM5QVC7YKbbW+pfeqD0QOmB0gOlB6bbAyPTrcC09P/bH39EbqO8NF1mRKoGbqbYAgRQCkAU47mOspQeKD1QeqD0QOmB0gNT8MAud4UjfvyCt8Rx9D5dbMg9kwT6OK95xHrtY/EU/Fs2LT1QeqD0QOmB0gOlB8QDu9SCI37sghPievyvSeR1QSFHgD7uGPRmSxj8POEvkdIDpQdKD5QeKD1QeqAnD+wyt1TiJ9731Hhi52WytJinFzDy3OUueOitFNTjAkcU3ZDHWtJKD5QeKD3QLw/Ej55/TL0e7tcveamcmqCY5gGDoFqdf0P4lM8+oQflrvTAgD2wSyw45F0b84PHHr9MntvYJ5RbJ/aYqHgat1FwZUNvp7gHRYWEdQdKWAk3BXvt+UM7KvelB0oPlB4oxgMT9VjeAxS9FXMTv56vPeFDDz8IAW2cspLpixdos/XWGIsNm9XiaOeL5eBHspWl9MDAPbBLLDii3zz2OfHs8fCuLDpSJxN3kDUpjP+9Gl64M21QYqUHSg+UHijAA3Gkc5N+IBIcEAVzkbfeUJq/c2z8zJSzAJEljAgJQ85qfusSLz0wWA/M+gVH/Ngf/GW9Hp8Lt+av/jmkwUHcBmclnnMRqGUpPVB6oPRAoR6QVYVe2ZDVgS06bA5Cn/xcZP1z+eEWJBl+tk0WLNl6d6WjUFtK4aUHWnhgVi844t+883T5sPD3/BQAH/i4fFvFDW77WqwNVqMJfke4zydvbuG3klx6oPRA6YH+eUDWF7z6Sgjh7RYQ4PH5iRNm24O/LKUHpssDs/ZbKvGj71glnxX+I4qj1EZ+VAD0ced9DlLAOIi+MF1BKfstPVB6YNfzgLtmwactxAG4HYIrHQZ9HDRsfhvDcaUkLfhQhQJIPK0tsdIDg/VAejIebL+F9hY/+d7lcRxeHkX1pRh8HGxYRigO6AYrIQcpoFwFqVeqI5cUqmQpvPRA6YHSA4kHbE7CIbC0ELcFhtFJw9xmuH5I8hYnkGKbzoCC68yWii2x0gPT4IFZd0sFry2v/+bar8lgOxj+bBi8GIMcf6jDg1T45wNVimuj74d7fvoxwcrSgwfih9940EQU/lleU/mcJS9/CQNAFOKARRR8vsOq2j7npThX2j3rE8by6H+4Qz447qxUgh0y4T8hv/b368pI8Os54fyHy68eFhHNXVAmhok3ZyV4h8MFCxF7ds3GmwnbBf1YmjwUHph1C47oNz/8R3l3xmnwbu5YFWIyVjkGCW1kBtVK9aKhiM4MVaIWB/vIQu8deerb3MlLwRKjzHM0CEXD/CoxsUkziVqDWNYBorAtubP3sPP5PX2kYSiyYiegiZ/6JD3JzTcwY2IP6kFcC4PxeFsw/uCbHpeF7K2ShLdVK+F/VaPFPwr3+5cnG5QvD0oP0AO6IraPR0i9dErKyX+Xm2iKFv7XaN1nKMlhE4z819wELEvpgWn2wKxacNQeeft5UVR7j/68vDhWx5gMPH+sNQw7DEoQ3ODEya8ShhuCffb57jTHZeZ37xYAGRc32WXzoUyaLjCMD6Gd8DFnWpAYLtarQFfXJFwI2t7BpN7jt/7THMntT/iT/og7GWqf4C6FbLGCjuJoTyGeJvTT5FtSQT3cUh974I03i6Dvz60El4RP/8q6RJ8SKT2AS26SLMwzwtx8FFbWq+NcLuY5MTf/8xhLWumBAXhg1iw44kfeeWI9qH/GX+0nZwF3NsAgBcrBqrjsXLW6Wz5oXCLv3hgfgO/LLsQDmBAREYNwSWOU9EhY0phlPtGhrfxxkWnS/JhaLSnMD/Ij+CobDbUIopc3SGjUh32lSwxKZvtGflLFzKpwniD9nTBWDy4ce+Dcm8KwctGcfatfDsOLy3e90FG7KIwj3NxDzjXmjx4JGRAlm3/ZfPYl+C2yWWp15b70wGA9wFvZg+21z73FG37/aVFY+5YMxnkNA4srf0DZ9KTmoL/yx2DmgB4JRi7us3q7pDhMjPiz5YBB4IgDIXAthDggDigb/ggVBwtorUqmvbKRJgdsC6h/rg/kAxc9hGgLHkIfV6LsmDfMIfAABzQ8hbRbfRLHJ8pDzZ8de3Di/rEHz/3zeP1bl1BmCXdhDzBXAV1uEiKTUAhzvZRpbw388YK3jpal9MD0eGDGLzji+H0Lajvib0dRvLcORR1wGGCy6XV6B5Nr9jxFpAPXTgloE94ePvUzt0xPKGZnrzx5Jyd0cb/S3BlaoyE7d6gIaQ1n8xbuwW0wFP32keISTQc1B6xW9z3tMhO46iY06qtZg/7dhj6As7S3P95beP7PxLaxdeMPveE8wbULti/hruEB5hMSSxMgIYj9Ssj3Q+H5n99tSS090JMHZvyCo/7o5s/LGeZYWN80ucuJR2k4AelJCEx2gsrjr5Tv3oBbBlqyMcOxv8mBi6Gcxj2cPFCWMlRxf2HpP6AhbdG+adOn7IQO6OPk9WUIrn05SB182KSPKtV6R93lfTF7RvX4op0PnnvD2P2vX9W6RVkzGz0gjx5rbvm5pLnh5Txy16cxdwjVL8hXFEBsyGNC4OUFDvNPuZ8WD8zoZzgmHnnrB+Iofr0MIy0YajIkGz4QuOGn9awDRPH55WnuWmVk7r9rRbnrgwfMx00+F7LSGDT0hInQFcaLEEHSJ+4dgXRChFLnWIqgLELI9XF21ClkW8K28hJFtIeu7Y/jk8Tmn8szHu+ct/8lZT52GqdZwse8Jpz2/J9mv8oPb86dePjeI+WL7cfJkuy4MIqPkxl+N3m4/6Nz97vkE9OsXtl9lx6YsQuO2iPnv1Im878zeznJY5gCt+GKlT+/Fgk+4vpVMRCkJAM7Dr4b7v2Zx41a7qfqAX7q0ofaEAfGROLDB93QB/FW9RpOMDLEwLPFq2snrzFDbC2iNCdD20+ib7brqcrL01ceWl0s32u5ZOcDb3juvP2e+cdheGF6WS6rQHk8qzxgC1R9ysfsYm4T5lnr1eXlE2nWNJnx8iRNKw3vUBp/5LLDwnrluCiMj5c55LixB+46UsybS8XMVHgpWEZaCWeOB2bkgiP+zfmH1iaiS+TUJbeEkIJuEOklcRxaWloYUtzud+KyOOfv9HQRVoOLjb/c98MDnNZs0YcTu8XBru5iIWi9NF0BEDJpnejB6HtRds1SiuVIvjTqSZjVF6mlujsGAPZJiWyLY+KEWXld2R9HF4w/ePfKOH7Hm8PwsxPsr4Sz0wPMe8JOrGQuptlOjBBSfLwTqcXzyJWLyvgDdz8zrITHy92k4+phdNzYg986WlRdEMn7bDCFcwwRFq9V2UPRHphxC45407t2m9i6/TvimKXpQLIB5c5p3hV0d889Sd2sO62dnATWV58y58psbXncuwe4wMDKwk7Y3rSRg5JkJ2jGLad/O2PLbORaSNBj0oSd32jlo5f8dAeIgogDs8gDEcxrn70KppO/1AOiaI6JAOZa0tbTJ6GhAdqyDxyjONV9lKSs/XL8e2MPbFkon/5eE4bn1LV9uZuVHtC8lFxhDuYayVz18q2b/J+uRzh2PvSWA8OgJrdEouPltTTHyWLjGBlTS+SWuJrJz4jZ/G/ygbPfv0rdxFMShtYDM2rBgUtuEw999+syIg+CR/VkILM3TwbZkws4rPBkYZ+s9QQgFRzYMtC/Un6CdK7qC5BpLT2DGu7O0I0RyelM2ml8kvYIlGyuIdGkWhClJYRG/uzr67M5ArHaXmBPhSsPQhUmUhN9HD4F+yW/zxy7/5v/LPpd0JOOZaPh94DkB/OeUJXOJChzNUkvQZSWEKSVEszkbP4PYsKXH85cOD6++WVRGB4X1oPj5LcFjotrO3eDKSy8xszjBIrundif8JfIjPLAIPKvbw6pP/Ldj8kq4ZTk7KODUXbM5MwtFczx/EBAJTSZeeDgSDjn4gypPJyqB5KYiCDgLSbEpm7YjhCNedkCopSOyZktudx0BAY8+QTo+nbV+DYAlDEIGbgCYTQcEfdvu7EN6pPJvJU91IsQfMBb8UOmX9iO0NkvVv7hzvted9f8A75WPijn+2u24Yw7YZ/zvxYWf41jorbtMHmP2TeR+Dp00+GVjoXEvkwASSdsYX8QcUBl2peHQ+2BGfO12PGH3vzWehS/GycCLBq4cCCEl4m3quc5CNDOSxGucvwyfPrnVg91lGagclgG4E+CkkDgWgjlQHkcNNzxoy02DZqDPs56E6h7Q70+0I+e8B3kHEWYtmqJNenXZI/IVnvQb6q7YVanMsCjfGADr5Um+Z4MyGu0P/jo2MPnHsG2JZw9HojwtVjEe9L4azKnOaH88EGaT0luMd/y8r9wt9WcFaKX6NG//Pftb3mNpHDryg5698CMWHBM/Pr858oPav0LzGw8V3Cg2UA1N5CGcWk4IDYsRAi5OJGnky7q3X1lyzwP4DMU4uSmhwRaNGxatUlS4qECDOby64QlTG4C1biB5jY0T2Kpshp3eGU0ir46Wl8f7XDQrCaBoJh2BrE3nVL90MR01saurcmCPN8GH0ddXn8mK5Xvy1B+z36xc259fOJieeBuRl2ZNE+V+8k8gIk4N1+8+GMMTDX/J9Ohn3WwJdceN8I4YrrJf9/+crnRz2gNTtbQLzjiX5//9Hhi4luRTLZ6QpBBx2RFAioOqDgOdZpWD/JEBJi3SbKPzwmD/1Dmctc3D/hnQ5tQbPLRCUhiQagxwQSE+Lg/rRMc0MeTernKARzP3yTP4IDmYgwjgLOAB4X8yBejudzR2pRfDyfZUTb7Ux2dTdaT6U0RPs3nZXu1qyv7g2N2PHjHeyi/hLPDAziBal57UPMF+epozHvC3vJ/sP7qf/7b+B/6E9dg3TxjehvquMUPv2/BRG3i23I62CvXo9lslsGpoxNQN7TyTybErV72V4RP+9KGXNklsWcP1OQSR3JCdQsBHkMo8NaFdRYjC5/gyaHheqJ2sQWeFuLWwPoSDqeHTt6CA/o46yFK21hzE0uROMrknPIKje3bQYjQNkByCztzCuih7JJDQerBX8aPn704t3lJnOEe0ICLDUnADU8OBdF/GwEwtpv8B3/hRb7A3WocoO8p57/YX17hKDyKhXQw1AuOiejxi+TKxjE6wjCs9ESVnjyyyctEbpXs/gnG4RcV4tVSqJ2Yxcl6gcFB4NkNk6fyCNSJFDHGv1sgZGOMuKEAGm6LhzRHUIscgQyTTYh+iLNeuYWPRXWRA+qJZ4asHZ4dElzqCPP6N6XQMYSYHELK9GFv9se7j28P/5g6l3CWeEBzFjvkGOc7w2mh5VySXkLuLv8pp3BYaP4H8sWXssxEDwxt3MYeOvev5Cvar8OAkvGnG3IYuMvlZOK3B0ndvXr9xoGFonlwWltX+9i8/Q66yvBy33cPuDO6LgLd5MlJ1IcaX/C6KPN2R6tbICpPeCkDehuNFkAWisls5udEnvZJXsBm/kb57AvQx61PdOv6BySPg2zjQ79P4J3aX69H7ymf5Ui8PgsQu6nSafyZQzCceWhOcPnXMv8H5KqC8x8P2ZZl5nlgKBcctYfeeKY8JCqvLc+u3u0k0fFg46ATmP2Th0W/LK+MLv47YjMvJ6ZVY06erWM8repJ540TumlD2tR168L+PcfuX3P61HssJQyTB7qI/zCp3TdddnX7++bIIRU0dAuOsQffclg9ir4it1L0AgUWCmkhDujjKUcDhlU2ilttN8Bg5ItWWe6L8ECrBUO7CaW5nlcSGPMshPbMBYTa8LT/ydsbv/H4uMnM9sV+CJs919x/qpNq2qRfu/rW+ssYOa9Zg5Iykz3QnD+t4285CmvTfGzffjDegR6+LuzVp/l463rKyY5FtijhTPLAUC044offtiKOJy6XRFyCMYRbJYSKi2cJ4WQ/YRVnkmNSx4YlC6F3f0W+3/Czeft9cQ1klKUID9S82152lQrxwWbPQxgELgFSGqCP8zkHcBgfsObSlAPCQlozd/cUpA8KoI8bVWsc6vTXI7PZ0s/wIuwXv7w8jt89L9WlxGa2B9KxMCz536s/kftF53+vupXtps8D/jcYp08L6Rn3o8cevPtSQQ7gkxZ6PpI6QijYiGOSt5dVo86ODOJYCR60AYAHjsKLQS5LgR5wgdJXoQjuXomiHfoxtEWIfa21F200+ljIMDM0yCKJnaAOs7dbLWRzBHXUAf0TB0RpV69M3i7LX6T9ouP8nQ/85kTp/jpPhRKdgR6I8JsiLue6Ub/b/A+C4u8i41cGMeRQisp/ueVuHZT7GeWBoVlwjD14z8fl5Uwv1kz1HvxMVw2WxHZCMB8Tb3VyyEYCfJUwHJtTCb6arSuP++0BmxCw5xpAe+A84aDWSVzc/NS0aGRb1ifChCAn97rE9F91cvMnoITZdQ6pjsYqQsyIirsVEfGkXtpCvkxwc+VHslbIBL+b4PuKxAPzPdZoII4gi9QEcQSt69F+7T+WMVMuONQVM3mHS81IiWy+MHcAtWQJyB1LIq3GMPAOHZ6OLydlAMASPGtP3/J/qK7ND8Cds6SLoVhw7Hjg9b8fx/ULbOZ3IwYObsrWyb0uF+2VgbCpvYxEuUnz7XC/f39yckll7VQ94J//fbw5qE0zqHRNmnFDF4ushxhhYuGB35qWHzSL7z977x1x/WR51Oj8MIjk1oZO+8mHVN9mH++z/dJf+Bz4pyyzxQONkx7znjAZCAlB7PZwveIhBF7xw1xIGjxEetHe8nPex/uV/2H5WypFh7AQ+dO+4Jh48PUny0Oin9Ixg8zEvJ1kKHGcgGSxoO9BkOndXQEBVR6c09OTMigGScZvNG8P3rBysUcp0cI84GZBhsMdWojkwIWIi0NCqOPjWfU4eQIOavLM6oDj8BmXPibgG9jG1r3u8CisfVqutjwvO8HryQC2FmC/SIUfn6mw3M1oD/hf8+w0/2FwNt/YlhB5x1+MHZSD5khHE0x45H0B+T8oW8p++uuBab0wFT/65n0narVvykQ9N1lkJIsNGMpZGpALC4NcUhAqt2uLWyfYdDg6qLLC8NF5+7/6GvCWpWAPmPvTyQaBYrAI81RoDLmETQgqCxDTaAqTSTVPzgBp8w762q/mH3AEbm18QtWznekNW6F/QfZLnu8Xx2fLa//LMis8gFxBAdRNdglszn+d64RBoRsrwJP2efmnHRS3m5DlxqT992H8F6d9KblID0zbgiN+9B0Lx8Z2fkeM25MG6kCRAw6eLAQfeXycfPqWfRlsgNhQCPUgir4UhufUFS93xXqAJ1hMfjrpYRK0iZGQcfMheDXGbA8tgQ95wTtdFh70rT+W50q+1qB/8fZXxu6L9hty95TqtfMAvpDncoUwyftJ8h8PKaMAYsOShBC4jjUHgQ+scPwWn/8DM6nsaOoemLZbKmM7N10st0OebXdQ0oGgg83ZZXUYTEawwSRjCAPIFR8njRBfodXB527ByAOjF7OuhAV7gJMbYsdJR9C8p9Z9TRB/a5LG2J8o8XQ6aob1KfUFixe9bcfW0ZPEjqepXQXbD1/Uw2CZ78OZiss31So7fr36KSPj8cpaVF1UqdQX1aPKokoYLZKoy53UyrZKpbItrkTbqlF129xKsN7d2pqpJjfozbwnTCo5loSQzX8dC0LnaGFbQJRs/QC+pOI6dhqZQqK4kfs1/stfUzF/zrT9tCw4xu4754PyyxRn5wyHBv9xnBGikgMrYfQI5CNUfncgC4+b5h9w6d1JuxIp1APJQpDxSeYf+RQmMeHzF+ADTn7irNeJCm3dhKVt8UlO40rhhZrSlfBw7y9v237vWR+V0+PHtSFVLMR+U60S1WfUD7lJ7MLxB1+zKqoFJ8s8cKRYcYDE/8Dt627ZXwI9b1xzIg7quBYZ1oMIb7FG/MMoqEd1OemGwURcDyaEvm3dq7ZLBt0nGXGfpMS91aB6SzCneuOC/S+9X1rMoIIRkI6FzvLfzGOK2ZGe4QW1AaMf1oSBH9oG5RCOZzHJioM6vvsw/pESZZl5Hhj4gmPs/nPOiuL6h/R8If6yEwcd1zhYSE0hspY8oBK3wdW8gPHrw4tSOSVWrAcmJDIWk8YFgkQIH3Hwn3wN1RYbCb836UJHx65QdUYKqAA9GsrdgiVzPr9jc+0jMunOKdp+nEiiOBz6BceO+16zX1yPXytxf/62ta8+WQK6EsHTE5CLOY79k67WW7pMFv+FMokcLoIOR8bV5S+cqAfb1r7qUfni0I3ybYYfLawE3woPuuxxyBveYiOgW/sRf8ylXFBYe/Oj2srFGs/QHd5E37b2LDyPdHpWftZ/GI7wuw5LxWU8R/V5yXjG4kKEcJ7v1/iX/v5k2z1nnZ/VL6uPKtaooCkLmuqbHoqm/2/RwZd9ymo63+9Yd9YH5TUq56FFUz5n7E+clfTfZv4TmbQJ8hlrQJR+2g957eSDxy/UzamTb381+OeFB377n9BuoAuOsYded3h9vP5l1crXOsGptsF845HA1sAmczjJ+M35ab15TwfEjvlx/PWkmxIp3AOY+FA0JoI3xsybgBwf+cGob5N1DRozAgJtAOrAdXmgHQ3RLtzz0tFt6866WfLyxELtF5t1DFT1GsAQecBUGZWvDlfqE2dLDF8vJ6HfERjKlR8JcZ/i7+y3nHGZQtlh+BRxzjlygjtnexB+cnTtWf8ZVsKvLqzE3wqf8e1NQ+csGQfMe0LoOGn+T26/mcgxQmjUTvZ7ie/kypMUjjngOZOyzr/JeG3UuLD8D4LdRL/d2LdC1dXlltNH5wmlY+dKxhfUuBIGu5GlG1iP4t2lnwPQhvMYIdSQq3iTzH/WE3Xoav5Dfy4e/bBf9Xe+sR8WcfnXQ/x9++WJhhVm5QAXHPEjb165c2z75TLlLOYoglJcEUIhTkSAVhAG4AwH8U7rnZggviw88BubeVTCAXjALQIZOUL0nAyOTtTITnCdtBkCHrH3Z2LoibSbEKr12/5KUNkyBCYnKoze9+qjglr0l2Ft/Gx5TquqNie1/bdfHOpJz6BSJ7VV4TlV7sKcKvdfPiW3YS6uzhn5yPz9vnlfhnv4DjvJ/zb269mOPGGnbxqVSyLiuOycDE9zFlZnUS5hxoOMDCGq+53/7eLfaD8UkM2dQlRtwQEjd9UVOnZdZoH9tNmPVT/in57P8ZbvARS8tnzHztFL5amvZ2D1jinAFhuIPRYdLonxkKfgyuMe9NTVvtORiQqIzXj99ilNebC2NL6LBmBm2UWeBxAkFAY5C1mnTBZ7oK1yQOWwDWW7tsME5OE+u4RPHbN285i2OOWZ753aj/FTCYdjwbHj3lefvG3tmVcGtfqtEsHfk7FXbYoX7Sbsg/3oA37AnyROAoFr/4TgiwK52Bn/QX28ds/oPWf++9h9r8UzJENTeol/N/Z3ZSj85XwH6OPqV8QQhdCOGvesA8zbwE0eQQu3H2dT9AeIDYXQjrrfT3YWpW15tvt1rtdpt9/XSXA/5j6exBJ6s02e5zJ1A7mlsuO+1bh/8yJE1r+iwTgTQl+dNBLFWUMI7YGbFeaA9PIsyBgfqQO0t4fnHXDkfwbBNxOpJTIID1jMONdrXHK61QhJJSCKroalKVfFiDFX2VovdRpiE69thnMXy9tsMUlbOhZpfxTWp/UKx7aHznxKPBZ8rFavndM4Qm08Kq1FvPoS/1bOlcTQ/JHc0rmCiSK6SGRw5eX1ovPrtq494zOLR6p/NQy3WnrK/y7sryVXj+mMfKiPfIhcxs5Gp/DqtXY40CiYr/EQL+dt5Rc28kM1pQ1Z/Gm15h9sSDRmTRdQLwaZgTPd/ux4YewYz57i7105mmxt1oXHW7PKvex3iBF/iISEMQlEJuLfQeBaCPNEuqse+Jiim3pDcEDFPQg5wiep9EV5R4KOnzyRJa1YDzBRGaIsRD5Y6Cw3JCGEoomB5LBpwEHjS0M9WaoUa1V76TKvLwQXdEbJ2s3jqdoPOfNrizZqJwPeyQvHqqNrz3hvtCO4S8bxOXndD8J+5AH9KUnjfK4TgFMpzZSsPvKJsiLz4R9uq0V37Vh75hvzbBgELdY7/aJnl/kPe7qxf6qfMHW+Rp/QUzYUQj3I7LL+ZpwI+5H/3dif1QfeM5rZklG/w8PWp5dsf7SbcLjspw8Im81nrLuNPyUVuuCQJ9OfL6vfT7IzLq4BsamzHQSeHWzgAE0hcC2E7tAHXEkBygbO6rzqF32WEh+MB1olZDZhJfw6YQH6ONtnIXLBZCC6k+TCYMxs2YvcPlzp20pGnwbct9nHUZe3Ze2XNr8OD75k4Fc4tq99zdO2rxu7UULwsTCMl0D3PP1hN232cdrmt/Fx1mdh1n7I9POAfbGdL1NxUZgQM4TyAUbRXrUo+rIsoC6P7z9ruckd3B46+bpS/yycqv2dPsFBy+EjFPWV7P15W+dxqUsg+LycBo5C6OO0y7fZx1mfhVO1H3ZoP7QI4wx/0HUKz15DZp7+vs0+Trv8Nj7O+iws0n71gShJqPqKbwjVd6IkYRJ3oUH3PP3R1ndrYQsOfA0uqsffkN8ImCMWwAozxEEY5SuouJhCCKPU2YSQIaXBGe6KB+576b0v7QZXP8AoD6iEwQ3zn37pOm1Y7qbFA4yXxjInhk1KIQFQAGVDUhMqjkPyCD6sJY7CQ6Fb0faLS28ftA+2rjvjxVEw8UuxTb554sYlxqmHU6fi7Xf9iyP8vti/TQY4sknBUsfmGaYRobaJ4zNGJ+o364OvqZDBYVQGULZ2+e/b7OOpwuYf2t/pFY6K+As3SvBPqC6EYIpU1A4s+inO/n2dfJz1TbBg+038JPFvUqgzwmyxX2MtJgMy7oRJ3HuIP71YyIIjfuxNi6J69B25TLgHAtwyGM4C1pMX0BIjhaYwLQX0cVebWYDI9/AvtppyP1APTMjnqFZB9AMruC4UHbRFo2QD4ojFiZ5ERHMHQSLO+oHa1WFnMrHKLeH4eblJ3G/7w3CgC47Re854v1w8vFq+3rqHnkA0NhYrjQnsQ6AAfVvpO58meF/ir4lhHXAxCohNVXEQOHROIRLKaNba4XF8YFCbuElsfQPpRUP4gXlPCEWhK6GPa4USrJ76tbO/0ysc+IFMja/6Lo2nT5uN8acfu4aIBTbxVwKBoxD6OGiyDWX+i2o2Tswextz0TWkdx99bZXgovDH1IkqE27du/aIMlaPgeFHPApAzODQwXr1vgI8rnycLMimXUHm8GUa+c7994dLdLoX4skynBzRCooCLmuaB4IB5OdFWVY5eN2Lb8g+eYdu6M0+VXt13z4u2P75lUBbKw5V/LxPkR+T2gzxw6eKpndPGPE1Y5/j7Hn/IRS6YfJ03BAf0cdabhtTJNQXRTyfBpe0CuRj8lW33vOId1mZY9lAUhQr3Yr9J6Gjvj1E/drMx/j2fDb18anIq6wBl833o+7apXStCP+JPnaSPrDh0SxpwX0df967jD2EFfC12+7pX/Y1MSq9tUNT6EuXdwzX6CdbDWU9DAX2c9WokDlzwlO45r8E5wTfCPb6wNWlaIoP1AGLhx8P17pagEkH7A5m0fAUZX4s5Hq6zFngg2OVQfsPpo8bx/1DbC7ZfrqLUFy2Yf9UgDB295xUfkZuxH2CsWsbPt9nHnZJt2zcZ0z7+k+WBLTqQitKz04dQu/J19HGplEM8DfaZrXe/8o+a1BoYof/2T0X1tvHzfejjrtO27ZuU67/9LePf43RCDVV132Yfnwn25+ibDUfb+PkyiHsPcfS8pssqguPt9575GgF/C6VMsRSmpxXWmAQ/WEwEQMNTqO3VAKMpD3oBb9Jf2os8en6x9VDup9MDFkdM3hYrrCOBp2tKwxE526CtnxU4Tgu/vgZIPK2dfmzb2jPeJva9kJoUbP8N4dMvLfwbKlvufsVHxY73Iy7mc4P0PyFt9mHB9ktXqU5p3rTOH1+3PDyrrxzLK1WiTxS/6Og1//trf+ITOfmaL2zcmm/TvhBzxp0waeshWX/2f/ynOvUj/p7qHaP8bJzXYKbZn9UXPmUeALdYG2TcCSezn3WdPkNE/pZw9L4zj4xr8ZfkzYLyVfI0BCkmTbFg4G0PHFr28SvdYoyapxAdYQgaDUcp3iDTqnSP+2H2Pfb4gfkHXn5depnEYyrRgXiAiWvhlgT1gubjWWXQjm2ydTi2OoN59dNJ27H2jBfUorr+FgNSHYW2+Db7uHGl++7sD7+dtiwG23L3K98eBtGf0h4blejLDMzGIzPEC7ZftMjNF+d80TLr/3z+1HfN/My1+OOjd52+bvGqK3+Qcvcf60w/6tS9/fi1mY6KfBTF5Z1sPBl3wtkU/17fNKoX7uEsKVl/ZfMJPKC1KkXHvzP56XydtYdxJ+wk/r6tfbnCET/6+t3ljbnfkcXGIpzwYZRubnUkR/qHjoGlhTigtSFEe0SPEDjqEpjHDw600XdvuAxIOyuxAXlgQvpBIloypgsIjY2LaSvcbwMcMSfU+KsNyIXhKqP3nP4eeYnUNaLVPNgGnX1bWtmbpfttaDehb7/QxoKRyleL9MKOe05/fiWIdAEFHagHIfSB/oS0mxB8xAE72fw27IfQt59288MNoOHwPRKHeoETfUMXxsQg5RLmy2dPcTWuBF/ded+ZzyKlnzCSy86+r6AT9SLM1w+2grcz+7vV2fpu7S/obP61+IKfdvh4J7FnO0Lre/Lxb7Hu3H7TqZU93XqH/BY76k048+xHLFEIzU+gwJa8eMDWdvFHe5YpX+GI43fMGV376Dcky/aHRrjK4DRD5hmuSqFLzUaDOFQ6aSBISW0VMbZ4YVI1idOJRNqzkfCjRXVu/EWVVe6mzQOWiAh/NoZ2QmB9VkHSCVGfh/u0rIxBHcuLr+Zuu3v7OfJR8M+jKD5C+3W5Tv0KtP+LSw64/LdF2brj3jP2rdXq3xQ75vh9tLOHdhO24/dlA2c7Qp/m43496H5prOOEYpBTESHa+fzECX25Ms0sm5ioXR6vPff4ot59wn4Ju9LPKeu3TeZGzpHJ9eMGy5oP5Ef28Jct7eLJvgnb8Wflsx0h6vNwn9ZKhtFpQ2fxz8rq5DisyJeII7tyRL0IZ5r91Jswa387e9iOEPzy8HUiZsoLDlls/LMsMl4AiXoJTpK04dqCP7KTBGbwbfXqKwfclEwTjfUG7QSm/enJzN1GAQF9heH1C/a/4n4clmU6PcAYQwf7hEltGE87Bp+3aExw0NIaO4KklCb34iryfMHzlLHFDmdLXHHhWZM4YDelEtTnxpVwtyCurJCHJ/eVtieN3rPtBLFsQZLWKrBBQ03JfttfCcNoZKTy0W7075ZXFhuflzjtnvF41/bY8C8o/h0YxczKzZ8O2ufY/8zRaCN8X8C3V/zc6SD/O9A/a38HTTIsvk7iDRx2MZ675U9HdzH2N1qTMbXHQ/nWlteysYeZb//U7IH9uuZwHprSgmPb2le8Sz7Z/QEHM2T6eM5g1c4tCKZB48nHadUjUFmVcK3odaaKkKWn5EJVf66yA5lYo4KXdzmJd9q+XRe+fFmkPb5k4cI1g3jor51exdS7TGDGMeggM4e14wwhwy9PBOkspxBNXT2g/M2Va1o/Bs5Faiocnchiw/WlEAQRRxoOmwp1s+Y2WkR+BD00MbBzOkOXpuLqOBLA42xQ1kx1IqsFf579ssT+4vwDv7u2qes+EbbcffrvyyR6iukrCtMGJWQdlO00YyDb0leZ6l7shz81D6Tr7CeubPy1W2eC2WPm0N1Z7ZPcZGgZO0AtWDyFb5dv7Xx98TO/d21T+ykRnKLsU2TlxX8q9tOK9mrKSVRD7emkjWZz/Dv3TqP//AUHZNBHQAX34smpI82/yfn7HX/0yzHRaIM7ouqAKNTdy/90zBpL476FPY6p5wWHfCf/BVG99k/UK+3UpxAn5EQBpZptsRMHHEJ+QBoAfrRPr2gQBzR5Ul+vv11ODm/HcSy/Rw0/1SguSQQjZCcrdFsXfnZPHNDk2Ykt1c/o6Z66ugaZ/mBLLaEFwej2bcHWu1/x9cqC6vsW7Xv5o6mc2YA5p6srBG/lEvUH7PX4EQDyg04ZwmV5b1fGtJXwgsaYEDc+NACXFEJ0A9x1l+CsB29DIaNBVU0u4TFHrD/qhYaN/Nav0Cgf1X7/efyT2F+phOsXL5r3Zw0q9vFg+92vfGotqHlXTxrtmW77La7TH/96VP+3+PGzjwj3vHS0b+5n3AlVMHPH4jBl+zt981di1K4e/8QRHSKN/ur3+J9y/KGeP/8Q5/zUZGWjPb2N/1RoTw+N7rj/rP2DqP4NUYVXqp1EXzlOCgYbHQU+TNop9HGbtH1ZqcKTYTzpAPYmz++zUYYvu7UOje19m32c9pme0Tn17RM/ie89e1lruTOtRpZVjIEHcZbGH6HiSoHfuMFW+hGshreSp7zK02F7GVgqEwPMwylfNXR6mn7oIdVHlrRQUJpKXqNGeAkTGWjvNkGsP4GKoz1o7s+kQyY3SAduBXJQKE/WOu8Ln3bZBqvt/34invhHeYvoslQ/05A9Tbf96jvnS+DqK8LEb63958fcx+lftVvk8Q92A2dJ7Jdn1rZt2PpXpE8d4kMT+yEUitpmUHHoBho3tFEetGE7QmsH3Whf0OFHTJNmcnLtl76Y94Tsw4fQzddXZYHm/qCz0mTfkf4ZedqmG/u9MZ+Nf8OPfsBpXRTfZh+fSfar3ohGQ3wsQnRFkv/Cx7gT+nYTh/14IJql6wUHXlteGxu/XAS6+7sQxWRphOhU1YUBHp7ysy2gFOVx0Me1EtWmOKCPu2o0JKfhrk+V2w95Kp194IC42WnHKe7b7OMpXyJj/9Hatn9Q8bNk587nelIHjsGNjbg7VA8CT7wmcVIcUDatc9BvS3kQbUIV0zbA0FbbSyNCLPqIJ/WOF7LzNuX35IEJtIRZ6vz+IQOFsoAozRGIu8Pu7A+DLyxe9f1LrIf+70fvfuVRMiHoT8wn+nkxoN2Eid1qlOlDlO37aj+6EMHaR9KB0ax3Fxs5gI7Y/Jj7eFLveCkuC1WGJw+dg6YwDP5YXgewF/ueKkzy3usP+lAH4FO1Xy6xdlToB/YNmNjt7LdAmE4Uqjo6Up6+Pg04bCYchP1qj3RIe7Rv5AkNmCKkHEDFZUcIhDggtmGynzr5UP0FPacQf3+R4eMidvIinYajm5/4sqxZ5Il8uAqF0I6627MtoI9Tik/zcav3Fx0+ztYWXTmiB9EHcO0rT57REueCE4MrKcQBfTxh6BLxZUQv7rLxULPTQ+pL0ZQ+lWnLcED5QzgINUyyS6AgWuegthDBCVT3yZGDqEFbQuDol9BiCf5EO+UGPwtko2gfHs76hJUiQNAmRlBUCHZk/SsufaoPUAfc/aluggPqJrsECgI+vToWxj9Z8qyl70r0KACJ4trf4T06EE39iCfdmYFms+KyI9RWaQuQzVYHaTchbAOPg4ndQoPNukBAneDUR5oaDuj6JUQNZBACR/+EwFFHCNwKodYqif3hAHhSiAoUOQvj8Z0fSOqmiEBPtZtQCOi7v/Z3tuLoxH5zCxwBw7GjpwwqRXyeQMXlmFBqNDYODsZ+65/6QnNngKE972eH/RYti6SPJ26BmShmriFKa21/en0j6PQCm3YRyLsGLpRkebUdSZ+SOHwOgjQfWjLZBAo6VCINx8QBtejIEi5AFJFvow0tc9oLH3UwBtNH2+XxS49wIr48i0KcjlV90KXWYqdfs1WYkDyEfQPmFZUnFZQHLtLAT9zBfUCbLaWVzVn76HtCTRIwOZeqb5BnrqHFzGKXykr9TzmEJiqtt4i2zoFm/jTvtC6b86KYxt8pqPoKY6pvGme0zxbqSUi7CVVOHKwJ5yx6TRheOp5t36/jzfecfkJcr50BeYkugjfZMwD7ZU65TZT4mSx9HpdPRL+Vr709XonDqiizRxQGe1biYC+ZxE4Sv68y+9P4UnfCZnsmnwOa+dvFP3zn9nWnfXThQVc/bLr0vledaYqD6v8+5n+XU/60xF89WJD9k41/nhe6jqC78o52TePFo+XJZZ4SctwT9jv+k9lP/RJdPN2hB0rTOU8q2s1/Fe97qx3e0QuCrXee/to4rn3QPgBZNqjy4mwGClQ6XLXjgdNWvy4rOL8228QvA0uLg9rcG2xW6e8dP6NjjT2Gxh7oSEJz/iT6Z/RJpx7rt5/2i6yB/QiX56DCUF5xwoJR8RaLyGRB2aLelhqIGJMICS5qu8MmA1AJWYwdcSefsScEH994q7La8UM08s3v38Npax/tvzWszj11yUGXPdFkax8JYX3C3iY6TfbLF8puFDdeUh2Jv7fwoKs6OnnvvOcVB0zEtdPlm3LniSuOVXcMOP4y2c6r1cI/kr7/Qvuf6i6jf7/zXx6h70jDyrzqH4/U6+7qjZfgSeL7tFTk+ER8thz9Qx/zX8RhxLn+BMBF8vD0x+eMBPpSurT3TjFfd+JhMG9Otbdno0aq/2teGH0i7Z0yQSFOmHINCpOYnCQuuxj9cd4jLHr+kx9R/fXI3MpFtLWjBcfo3S89qh7VvmhRF9VdodKEIKe1lhhKIzELJQZIniQmYPYK6xSCnuEnnVCbsg9ln/zTDPUmtAUIUtuSA3TSVHamA7YjRLXXvdkGGolZ6NsTB9eo+Nm2o/GEsM/Hs/aa61vmhHpYFw/OmQBoQ99C3mTyUd9NgSyehNGOuOoAQq4CqLBCXQhB9XHHloAG+8Nrls5feE74jG9vSuoLQLaue/We8fjoWbmii7Y/DO6vBJU/W7Lqqm/m9j8Jcf4zv3efVH9STvqf2nLPy94YRtGHJRpPndS/k8jLrerI/uA8eQncB/tyBaoh/nkauXxkwuemH4hTK4ufceVjvUjYctdpv23wP3OdEEJ9PNtJ5/ZvmH/Q1euyzafjeMnB318v/WIbuhLff9by8Yntf9KzYh3lf9MErN3JFLkhrMw5dcEB33uQ/bd9hmPr2pfvUY+C70iDRUmiQAkmDaEw+Lni4+zMJmccYUBwUBCmXAnmC/HxhCGDUBenn66yBQfkiptQWzbxm124RKSXiYSJMI+/gSYHvoo+rnzG7NCM/TLpLlm89GMp3yzGfMcIrv51kH73oTAYD2Ll4eSBp1QGXZaRjza2IGF7uRivcvJzgvmR5IzqJm0gF1uTPMptkTPUizCjn+qufVh7s0WvI3546arnvqzoxQbUqo+Pni9W6DfOBmm/vKDxn5ZWq4csOaT7xQbdCSi3YOJlz7rqy0uWzX+m4F/UOvgZW1O8+h9/+VbPnpvvfjJ/wabKtN/JVRpRtXmzXLUc83HyQrLljOsDNqO0sN8qi9036JPtKqOf8gqN9mShb7OPSxTL0sYD8aNnLNy6c/uVklVHwnfmv/7nP+PCuFtMw63VcM7Lljzze3f6ak664MBry6OJ+jflva37qcJIFg5glyRI7CRJZBGhOKCPu4FE3laDQRX1Bh36Ig249GT9Azr5hMrn6ZT0AZ25QQZwQMW1gdAEygadCRUXHkLjd22dPL9P4PpHiCPigLKhb0LqEcpbcQW/QF4AtkOkz7oCn6Cob3J8AlfCJ86lTRBtUcfCq0+APs569a8cAPo469tB9kV9oL7SYIaZksJ2wrRJ9/bLPZ4nlyyc+5EwvLDweVV8hMx/O00ZlP0SnP+1ZNU17w0P/v4Y+54qDJ9yxXa5UnJ+UAk/PfD4R+GU3jyKiZg550P4hDEx3I6Kyn/00c9S1Pif9MTVTwNmqCz87MKWzTsvk3FwIufBTkxhrjEHe5n/ZNE/Jm9DftWiVVfenO1z0rhtvuu+T8rs+rxOTxYyibjJWSZZD6fyMBx4q8kgayz6VX6BmrgQK3/4x4YlAqGPs14dDZZWJx+hawF0uhGyX0LVAHLwB+j4CVV3TwblEKocrw3aoch8/z+XPevq7+vBLNo5TyXxg/3qIw+auS4GLmjOKwyh+VsYKU99jyPxXwPuONTPgrM/8CjN8aNP0FggF4XyiSvR0UlTHsjBX4fysvpAFmhpoS6AkIwSrdiybXzd5jtOex8mDiUVtNt892nHSp8HOqu0F2qBA+Ksb/C58+Nk/syzX57+/Jtlh177wSJM0qsdq66+oFqpfJxxJ6SehHn2+TQfb2e/rNpehKvBvduEtaXvbRwZJYVSn8k/1Ys0aZH1N/iz9veuY+ct6a+sPpAAWlos41NrUWN+SO2mH1L7vVc7pKJKTD0QxxdWtt616RJJltPy4l9E/ieuD+XdmWHldbLw/1FC85CWC47Nd5x6QRDF79DQY2LBhkJoB7pHOlhK4LB1sqS1wFCcTLZX2S6pBOdAATQcD3hKK3eLRHsFnkiyvk2uL1sYwCO8hCoDump7tGv+g634A9TNGqsM2/l9KKeQDaLGtXbQeMmF9rJI+vbSVVd9CPhsK2nM0jgy0Qlhc6MHXZyFzvbgAc6Ci1EogD5u1GZ5jIfV+L1ZC8oGxNZugPp9qg5oB11c+yxsJ8/XCLjqIFA0WSELj/+3+a5Nd2258zT99oiS+7yrxvErIJJ6t9N3qvbLguCaJYde83d9NqNJ3OJnLXu/PAz8y0HFXxKnEtfqpzcp0iHBlhtp/BkPNAfOkvU/6KQBz+ZTvv3gLK5Qd8B2+ZTVV9tIO8qAlsBZaKvcjitLCw9svuunn5Gvt/+u+ZZnHBz53rbG9C393S5e9D+gbiKGsIJP/XHlrXJOwyMYuSU3bFvveumLpO3HIUkVUomC4cQL3J2AoRxwQMXRH2hqmJ1ogEOGypE6Qm0HPrR1fyoa/MJk3RieyBe6yocQFeRB9Kp9GwQOFsIcdtTKhmI6G4+1U1yUIEzsNsUg2Ppz0Pruwv4guH3J7ru9CZ/ITIfZtYc/zCcWA1rnxwF4dmO8kvaUI1B9jliB5v6IA+Zt4l+lA/o4eVVH14fiyi6yqBjkAnfys/yqB9rzjzgg2mhTg8AhCoXisxBtrDvXPoqeEUX1yzff8ZKPF3G1Qx4deCVsQ7+qr3ROmNhtCqkPtM7jl1bWthP7w2DHvOrcPzAPFLuXBzjrc6Lg9yuVSl0U1NgXHf8oiHTx1otlmIgZd0Lf17ABG/4IfZz1WejbrHgvynXTRh74Uy1djqCp2uFkwDYUwLwNvJ3YL75WOeWu0QOb7jjlf8tbwN/OPGiKP/w72TlMnK/xYnCE3wXE8g7HsoFHN0QbOP7C8H3LDr3qS40aNR41LTh23HWaTHC1S6M4GpFnN0SYBJabZoIcO2WgN3BAxaVjQmmoihCqEU45ESgNoTiUcRBA+zGouNQROmbjRzMU8BP6uFGtf8HpHMigHiqvXf8iswj7xUcb5lUqr+rr7zA4m4cC1OSrdy43VB/grlg8ERPzbRainfK0aE85CaTshF+CqjQEN413kgNSpzmQ8Aub8icSGxHWJfyN8kWY9qMQOPgI/bZOaq/2i8j3bL7zyZ9uuueUAxoV7P1o9P7T9xZljx2U/fJtlAvdN0t6V7qLlosOu/YWyTJ5GNvygHEnTOxmnPJksw5Q8Unj/1I895Ynph1N9JS0sbmVsB/6qa2+/e0UmWo9fumygPyfqlq7QvtNd57yl3JO/IskTwc4/4Vx+KFlq675p3Z+blhwyI8RLR6LIry2fGVuQyQSCqBsmswOWmKD7HiMUfdCRSMPd2gDLa8+M9pVttAA2Q8hRXpQNNQjQB/3WLpD2Zfrvxf75cpRTR6o+d0Fq66+v7vOZxi385FqTb91YgJ5k/aMNWLp4a6+OQbiYZXBMwTaAbf2VifZIDw+znrLK9cPdfAhVtQ4BtTVNcRDviuoQ2Eb4krsYNfU3umitkfHhrX4xi13vuSZHUhqy1LfOf5i8UFIP6gPtP8i7JcHYeeMtJ2Q2irdJUN1ZM7/lWtbE4wvbQX0cdZPKf5xvHTrXfce16WKjeyTxb8P+S8/zNfYX7+P9BeVRSjs8G3ptB+/jeKUI9C3333W7FTsbOfbdOdL3im/8PxhzHWW15iTsMFvhI0536/8l3fofGLZYddeKB21LcmCQzoPNz+x8ctxVD+crUwh5A0VNbxVvXAZL6AaCnNhcH5pJ1/uYbuGgPhEDFkG/bapdPYFaJfmCHlKIESb7KdNn2a4yeur/WH4niWHXHsd5M/mkvrMcgJxsA1WM06IweQ+bucjxhPQ8DTuaT9pf838bJffU5N+HAvQ2+meQFjWZE9/7Rf5+0gXP9q87qUH5WvcBTWO9ORIn+S1bLJHOlca7HS2JnAS+8Mw+mo/v5GSp2seTd+REAZXso62Avo467Owa/ujuLcFh7rT8pR9ZnXJO/ZtMHzy/O/oxUt5HXVIqwe24oANZkcK88YjbU350zHUYZe7PNumNaecIzfmP91J/JvzJR0HeY5sig/j6sa/3J75ytJV17wnr20eLVlwbFrzkv8pKyT9Lnnr4NuAsMQRXLV3UHA9dFBx76SPNqa8Qd+QVLGMfK0gLeVKMdYB5slPaYnOerIzfpNDGcLhJtCi7Jf+/mXZoT/8dKr/7MVwnxAbfEno+5eWow6lU35fho9TnkRcUUD9wwDBH2DOBmbK8XHyUnfqBx7q3Ak/5FAG+yH0ZVF+O37Uy/aUaOf4j7avffnTIKPXIs9v6Ns5fX2Iu34S3akf+urFfgnBxb3qOdV28nHlYtqThZBNm32cfIxdp/aLc3pbcGDe7GC8UFfq5+usuDiaMMl7L/8Lvr4RVOUPutFfxFvpCz6UTvkhxwo/jLrDXRRsvuslLwvi+lfEL3ouR8xRNPaMO6HNHRqfVvGgf1nv56QfK/QhM/wVSw953vlCZ1BAnrSokpvXvPjlouJfQ00rgEgaHBkEDiUIVTFngFSgUusJqbAPIUvbaT/t5fttrZ3pYDqmOPmoG6CPsz4L1TronhTiBdgfBNcvO/SgjleCiUozFunMh9mY+HHzcfL5NB9nPdwFnAU8KIA+blTsyWv6Gp205nqTbXkM3NfB5Kd5Ddk+zeelvlno8/g4+Tza08YndspEc2HyocF072xv7eJjBmG/uP7OZYf9588606z/XMsPOfB78q2GJ+A7FEI7Yqz7Fn97xboJ73wv3eflk0/zcdjg5YK2RT0KIXDaSn7Qii31JOeLzP9ibZgZ0rfc+eLnRrX4m3Lmn4OYM+6EsCIv/qSZlT3mfxBfv3Th08+RdwV1tYatxA+fvUB+/VXeSc8Bl0JTPJ1coaBvjCnc+56yAH28tcTJnePL8PHO5aW2wx8mow/2h+GDI3Pnnx2Gn5V7ybtGge9ss5zBXIjN/GoQuBVCd9gAWAcImag06OMmS07w2tYgcOhAaPE0mrK5euDUF3KMz/ozPupgR/7el0kZjZCyAdEytQG4FUJ32ABYB5i2hSx5xvAFm++4vqff8Nh69/UHi7jFWf2tD+urE/2y7RttN33lJui0vrYf4070utHXlS72aYZPOf6HYE6l/KnDSeKvVWlOIF6d5P/UdWotATdU4Md04zEg2jXqa5Joox017lkH6Ldt5NrVjkbvftFRUT3+njxisJB+hX86iT9zHj4jzniZj83XwK0QusMw+MXy6pIzwmdcvNNROgaVzVvX/4l0HVEB2gAAPCxJREFU9ow84c3KpAqih+Z6SzSTleKJMS4RNfPMSxCSKNtOnvEKP9qwHaEpZLJcvcoTPOlfExb9tdpUiMkAl5Odtk9pytlUn9qMPlz7bXG1cqZ7334ie1dBuJr2P2GRZj5ALFAsJuYzP2aNPmfbVvKaYiaMSksaSD8qhDnAvlWJpl2TPGjq4t7EnEPQroSedO/wlHWK9sfxhzbd+aKuP1XH9fAA8zk0oQ6pVsRoK6CPs74dNPun/4cJw0r1liTuBcZffFQZ3fHk/u380lyPWwT0cZH539xzkZSi8r9InYdd9uY1Lz2oXguvktXFcuhKHwP3x6jiUknYj/yXBc1dleril4WrLt+K/rotFXkG8xQ2yioLQ0AD9HHQSCdEPQqhj7O9TwOeTnSc/LPQ5xHc9aFQdZNB6qD/AChaoVCX1v0bH/ewBaWVfbS1VT3ask/gchlXflQ7fMuKVT9cjeNdsWR9ipgbjbGGV8zv+f5hnfGzLWPQVh6+aogCqLjIIUz6ZR/KqOyQa5tP83HWZ6HPIxIyOQWZtCFfPtr7hbpZP2xL+0XanKAef8Rv0QkuVzX3ze+/sT+TRRqOiJs+duzjPo/Uiv1zRuJbTM707WXavSWJe8Hxr9ejp/fP0kZ/Z+MP/5PWGBungdoqOCDx/inXQhJ1li4Lyv8WHc968va7X/zUOBi7Rl5bsRfjTthZ/CU2veZ/GD40d978U5c+64qef7m6Im8kOxoK+4nRKmp8NgQQG9oQUsak0A0OaWl/6Jc0lZU+ZOg/rNJKJtYfqoNAxUUWYSLXk99KDumwG3ir0rX9QXDh8kN+1PWvYLbqf2bS6U9AH6c1Po08PrSIWoR9nDw+zcdZj36As4AHBdDHldh2x/zoNGfSvlvpQ91Yn4W+TT5OPhkzQfyiLWtOObmt8g0MoSw4irdfFuBji5558B0NXU/DwchI5BY9vs0+3plSHcU/xmKu2yILAs1TxpXQj7mPd1oPPcA7XYV9U1/oQZqPsz4LfZt9HP7atYp8HX7lWK1+tZyi9k9zxfeJj9OP8JHvb/CgAPq4Elvu5AHRx+XnAk5dePD3H2nJ1EGFfEsq/o3wLTNeKEalpcadfAlVbzyQSv1lNpFfSpQmVLyxvSgprFgEWH1jLXpspFh30gJkKaqJHKTSTRZkWlEOx+lIDaBRfkOVHmTbN/LTbkJTV3iS7lvbLwumby0/9Dp5hTO1b+59NlPoM6QGcKaI4eI3F2R/YQl/gGxt6B0626BFzHJC8kqeUAsu8n0MLkYVErI5aFLTmDA/mVPt+MNKuESU3COoBHsI7x5ix960DbJpa2pfSkvr+2O/2uLGYxRO/I0cn6a0DnYybuWkCKsbx5TFQ35CgEZpQERgEi/DWY2ufDzH/juG4dmlhQdf98imX73gSdFvN0sQy6ci7Jdrm+Lb3ko3+a89cD4GlNLsf8u1JJ5dPeKnInvaFZ3/QZSO4Z4UnGGN4jUvXLypVv+BqH2o5awzoNv4Z8ZzR/lfCTcL30uXHvLDe6bqthF5//l/ylWOVakgS9z02MMYY8KM8saZtpdXCmFOk/sKjqa4cLnDZOC3kEc2QvBrIjt+4kxuqxf5lKcKJa1NvYY96whR6eMNzKlcym9hv0zAty3fff6bZZBPIiwje9YdmulwEQqh4a3dQtcSWo5Iq4TgoWEwsfyw65JfOoXsQZcda07ZdyysnSYGnio2vlIsXWgaDsB+MRa5j5OJ/Lz5qXiWQ66o/aITH8ivFON9Hpbu8G2LkDRNSBII0vL7gaBUoHweWZ/PNw3UMMCl4N20Z+ZTo7pNStFWQJT8BanfTOIRxfv4lG5wqkWYuDIhePkvghn/ZA50tJZ9Fv0iDn0PB5Q1f3HcE0IvX9esnjSTsKX9PX03K9vbzDiO17583uax7ZeLL5rem9N1/OlYwvb5v2MkGDlj6WE/vLUf3hqJFsz9QLBt7HQZUPtDB/avwvHRBZniPsJkjVN+VFOTDH/StiHbyJwDtZ+0v+b2WQ2pLaBT1UEcZ7lB80tj6xz+jD2d2C99PhGMVM8K9756m9/XroTjbYbMiXY+Vp+KcwCT4qFu3rLETBgM8dkyVQM7XHDYtQ9JZ5/DNrrmhXtPBPFfibLvEPv1V16LtJ9G0ndRPTpHaB0tOGSBIgsj8yDbQx5xQhsCWNRYb6CTZpTGPdiUJyGHWxJ0mhG5dY1Pak1a0FZUECekrd3YL9/KEd92V3BbPdHNV5E4YY5Y6ooqLD5xzCsaxMkT4mcHCi7ap+sDamtOuGPiLp2SXKF+yubbSpzQyYl2kSsc8vtJ1U2/evyrkhsvcqY3Ad937eLf1FgIfnvigBKjiWo1+N2lh/7whrx2vdAqKw68dvO8ufNPkjz9OhJeB5imvkRYOtVBIBC4DjoHyUdIPkK/rUkRGWKB1iPbgCOJHLQu8BZR0AFlk+oEwjqpBA3Q8BSihroAYkMhBK5tHQRu/AYNT2VoT9qf9YH+VJaDefzyjuiJoBq+drdDrntAxJdFPdDodYsg9vYHFqN15i4XVqSN3NUYrrL4sOse2+3wH79bHhY+XD4J323aFWe/7wv0Jcev7tQj8uZPXXCYDMlta6/NKRcHGGqEPm5UrXEoGH1bHTmMNzts+kEYy+LH19HsBq2f9ocxfFtMYWxa6ysrFymcQ4krcWA7+lh7d71afthY5+g3vl7G/7CN/SJcKyf9cNOa335e/KMv5EQfU48/Y2PxMHnN+S/nt0h+guMtyw79cfKW3n7YqBfYFq265lER9jr5us276sHOw6pxtGcqnCY6in+oZ2ChEypLA0NzI5+XrIQN7nRNE5oMokiu11XkC31yI12uIZ8pE+DbyAXor84SOv0rBHSDQ3aHCVRpjkcvlwoREAUDgZdQHUGBChHM2lqwUCH8715x6I9/bEy79t6fRHxcfaeOc/4hbi5HEMWxcgCIkqlXsqt2HMY3RHsZpGs3PfiKE4MtWy4TtV5QlP1qMl2lMD546x0vPHzJodf9qgN36LsiqBshHG44HI8CLwN33s4cukFgLMplfJQnNxWH5gqH5JTpojkmyubo2xf7w7D393CobgyqKEjXu3D4+a8GkNXV5zZoGE8JozYvasf4Q76PZ9Mpa1+n439X+LVYeeboY+K7tyQ+gy/d+FMI53YdfyfEpQFjQ5jkf1z5o2VHXP8f6KKfpeGO3rLDrtoowvt2+aSfimZlbVx90vvh/dRR4ioZWHopyC1qsnOjLkgcD+XZ9GhHMYIAmRyTxBldDlwnnzIAZWHyqd2OvPFffVqJw52yIPN8ThzQikRAURcJ4qwGUx4Omk83YUOzX77f956Ue69nPrljK97/cAAXw321n9Z6fqjZzxO0XXDIh6fklgrFAOKTselon5SJJ/FiX4Ro5OM49koUD88tFZksNqe5lq90P+wXyT1c4UD+e2PBVy8Pz6Op39040rMUCNljZRrYrrDxPzALpqejJ9c8/2/lwe73aO95sc6jKXM23tljNATNF6ANrbWO/+pfrTji+n9Jqf3DGhYc/RNbrKRNq08+QFa4J6vPPN/ZggKTpnOy+FTRBt8yAKJjk++lTnnT9hoctocwbWP1jkto4XXLjxh5b7FWzzDpLgbmzvQqEKygO3MtUh8Lh2sPH6vLHTPxSWXkCh48UX6sbMum21/4ujiu/VR6T362fFLdu7S/2T/xczqyNI70qnRTe7c4TBYYoo/iLh5NsrMByQisVMLiHxpoUqoFIZRvNcmEKga1zq8+2C8fWKotNGhPnnL8dcZKxxhtBRxE0XWqJAHyQIr2ihyyw5TmHTegndo/KHsalBvMwZNrXvDuuF6/EL1lhlMyF9Kf7eqTXKe/2vi3Elb+cbcjrv+HoiydkbfC6kF0PnKYCwtAw1OoodKklx2gAsNxVQR/Pk1xBAP/Tl4WagKAh0WiLlc27h+ZN0deW37d8Eys1G86IUaEbOotB4GrTwnVz3heB3Gz53agMnAWiEFx4hRRWkKw+mHdLz/iupuDSniJ2i5K9tt+nUfEF4DY5MpF8mvPk/lEvqWyQ50KJvgyKcxvaowK0lKMtRgOigMCUR0MGh4vhYShKHG0RG2ForCZdhOqkjACBdDHldhAUQ7ZJRAI7I/i7cbd+R63CJj3hGhN1QAVlx0hkKb4g0/oqhMEYGw5aAHCQYFFzijMA+infXv69C3/CzRhOkVvvP15b4yj2j9RB3GdFkDFZUfYU/zRuFX+h+FFyw+//s+sx2L2M27BIQmLL5u+yaUyvNfSMxy4gD6eNmBbQK7CDSIu2Q1DV+Ml0A3j0SCsvmrps67r+c1rqS6zDDOX2uAQnL70/Wy4eRTPyuDPfGzQvNy4FwbzvZM/E7w2Uqn+Y1H2YwJXn+DEIpsMjv3xnf12fpGT4g7lF0ZCjQRkOJrKdjjloQ6llT3QxRQyIMLdO35An94ShfEy2KR/9Jeo1G/75YS/o1tLMRH3kv8aI6RAK3vEWo2nWd2tWt3z+1c4RC/NFwctd0wfzRHVzbTrevx3r9nQt9j4qxecIYG8SO7pyyku/0/IWgOouMSdkHlMyLgTJnkPCZl8kaciv7Xi8L3fLlczIbmwMuMWHBtuP/El8lrX/eAwdb2DPk5nItuVDx6XDYAQOOoITZ7jB58Un+bzoo0ESJY+8ZtXHPnj25W53DV4AP7SjckNKH/qbwfpe0Lf3xSGiQil1YREvmGG+hBnGN9alP2QyyLv1JGHJuqH8rgVlDnNfQpnWxtPxk9a8xjQKCK27g/8fv9+DBUPg6G5whHGoerCnGq0tZ/293CFQ7r3fWe6Wd4Dnyz/G/zvcoHxQTvgbE+5xUG7OglbdEPvXr70a/zLj5YVZ8I0SH5y9fNeEEd1fFN0hHkANZirjB9jCYg/FEIfZ31e/ClTG6uM8Nrl85e8IQwvxW/vFVpm3IJDTvXntfYIJ0qbPOxUZSc5TXRJfEIGlRAy/asgPp72l8qXoP3N7kfchG8hlCXrAfmuPy7r6uVe+NycDgfbEHEQ3kQdIfkIjV9qld+GEHFA3bJ9D+mxaH+96S4K9tF+uBbyABUXKFNx2wWHfHVzB/UgRByIA2JjLAAVRz/syPEDtOQfoiscEoOlah9u2Tn7fJt9nPW92C+iu7/CQf96PlddMTqExj/iiX7O9wgJw0JoVVwA8CrvAO78Oht831Ff38fAwUOYz9/C/lm03pBnEo+Nw+gKWRrOh5/oBz/WfYs/cqkh/8P/XlEdebU8bzaGfCm6zKiHRuO7TlqyYWctfdeAZq+4iBDeEoeycDGRQK1P2TEwwe0P0LTWMQO4DjzR31h+xE/+PttSWctdEIyMBHF9wjwhoweDJTlLwYk6y1icbE8PSxNMQMrjHEmcztegQYbxOq6hB2E88vNYnlnU/OyX/WI1fcUch1/kpV4r2zlELoRs8Lzekl1jh37cGACwb3O5JrQFkHyCk18u0eovWjru6Qami+ZQZ6rQDsJO7A/Date3WOWqrYVDdGNMVcPJ8l8YyOvHX4eKhcPGCZTmcWdmT43Liz/GuvrO5Uff8r86SIOm5o7JWm9Z/cJVtXjiBxK/JcpXdPwx4cJ1mhLhmmp10enhYVeNTqZjP+tm1BWOjeP13xNPeV85g/dQAH1cic07nrQAfdxxctACGp5Cypfhc+uKPfZ8S9H3upqVn0EUvM2QIVFfi+7O5zr5wL/uD1YprVPz/DAT77TtNPJVwvrj8IHa2m/7s36IApu8JrM3DB5CtX8lz8cna+rX+W3sk5OTmcQ/8H42wW85WHzjvacsk7G7j/bq+atJf2EgrRMNyQuouMiW1wU93EnbnnioO/0LIaTlCWSdz5/H10ca/aB66biHjqJAP/N/Flzh2Ljm5H0ngvFr5IHh3Tt2f148ScsTwjpAD5cr9PfPmxec5l6FkdeyENqMWnDE9eg8eCFdEBhOz2QXDOQjZNtW/FiEgxfQ8BRivEjt+nDO3FeFT7mi66fQ2eeuDnn/ENBw3A5wS26cjtXRBg1vjLGywologm2GlDAc2QRVzVaDtJtQLO3afl3AiB8AFYf/Qvk2RtsSy0kRvkcxSHcSao0lfssxR15AH0dbFInhbpvuev4z7Gj69uG2sWeLKaKiN+sWZH81jnUx1721EsEu819jrlal8U/ywMVOhHavyhRaMA/yRPQt/2fUmavZE1vXnbZnXIuuldg8rd/jf/L4Y34IH6tU4lMXrfoJXvg50DJjbqlsvuOEgyfG4+diQOp7AcRNxG2Qmt/8sQU+8uR6FeMQo8ONR+UVQp48YZuQV72+dsVhN/Y4meRqMIuJ5tSMi5vsNffzxNd80sLgIQ8a4xlqlWnim+QNKyEOJ5boRJBRkLYBomRhW/vVD84pFBB38qBm/DDGir+wRvOm/jwa6sFhOloATIa0skORZzgfdldyrXaMNLxfm0/TTm5ZHA3bkuRJ9BWS4PADSj/sl9dw9HyFo0/xTxIpa09SYeYWsJdXnag/zcHYwyY7au7O6phTqXb0Q1Z/jn+5b9gsbIZQcLVtfHT0KrHt4F7thx+0KJQdj+ls58Am/wXhk5Kfpy0/4sf3Toe7Zsw6cWIM796wJEsuX4rHSMtzHhcOgLkbphfUuT/IAM7CpAeU7YIVR/3sBtaVsDcPZHyq/gaNMYD3DQdMJysXgyb+3rQYfKt6LViBXvttvy4YxCuAhmsfba9wjFSrD/EkS6hewdkCBdDHjarjxaolSqjXBYZBXQ2iMpkNrVFUj481bPr28lsIRyOjzNbUX9Co3/ZX5o082L2lHAHQEn+AGssEIndQQ6i4HBDCDm3jIHCrNWi1Six2l4m/3xl0RwHElrXH7AbV2eJBn7/wr1NIv0WU+OGzF8Sj278r1j3btwcW25/5pJ395LaYp/mMdswD4CbNoODbxOmvmM5vVs6IBUccX1gRL75J/TfpzlwMJ+umE6bgnDyzUOPANnrgpFt7nVAhK44/ufLon/+bqyxBBx7gAk+uF+mJCdDHWQ9R5mcnVGOmRI2b1gkt4ddwYAce12YGAPmxtAMKs9/3A3zVwZsul9YWyuvP5W0cnm/V1zILEuKMQJx8Pg04Jk1C4OAjNDzGt2aeO90hkicsToQOao+DtMmHUF55YISHk8enAQcbIXAx/9EpvZdHBGgBlE11cdBwpx/YGHdCNMy0T2QpUvwukpWA+SEd99C77+O/eFP63kMcv2POxo0Pf0Oe8jk5ySfpRePK3jLxs5i3mf86iL8sQsbDSuU1K4/86U3sajrgjFhwbLztylOjqP40OMi/okG85RUPnQ2kEaCPQ5AWRgrQx121AAnUj1Yevfh9KaXEuvEAB1OrAeaHxceTPnyijycMMwOJ4uAk3xfU2jfJx1nfkLc5DM1jQPI4jrYl7Vsg4VFX49PO3Zr3KrfVGPDHhS0m0AZNsGF+JPTnSnYLm+Vk8/wn73jufqQNGj6x5kS87v1g7VdtFYwGYNwrDXZiQyH0cau35pPYHwa/UBE97HzVkuY+0ccdQ178jdbKnkRyYQjzAB34Oe/j7Nw3ycdZb7GRI1R6DJJTyU8FJLxDjOBD88bVq78kvjmdfoC6nkkNeGJKG4ZO4i+3N2W9XTl35RE/vTqRO03IjFhwRFF0nvmHE0H+YGIgAfM2TCTGY+2J5/FqXRjcN3depXxteYHJaTGwiUnj4GIkkdI/nNHwB6gbcUDdClSuT6LxyUbmjZPzxPXHfvjCFVkhy1HbBQe4ZRqykyN8y0I88bdorjTMfCLb4RorwfWP0MVD40V5AqU6jCY4hr2KQaG14Hy1AbpnN+gAGgtx8uE0oLTO7BcP9bjgwLdccvzpaIne8LHqA52pN6GQcD0dBRAbeAm1nVUXuc/Gf7K+es7/OBqaF8pNZh/rNqz+wafEVvmWZWPp2X6NPeNOKLLz4h+E71x51E/lysr0l6FfcGy899hlksBnYXDZeDHo4zbw7FMHcJsaxPfwv7dhIOAY0MfJw7YqL4xHq5XgVUsP+dmG6Q/TTNQAg8D8TIgj4upjPYZt6YBBLFDSmBhu1Jm537D69tfLQ4srBmK/DAw56XW04JCHqjs4OTI2FjuLAGlpbNJ4pePQj7VMrOfJxvAOLJDx/S+cLx/wmib6zhWgrZ3ZL28z7cCnrXung1J/pj5u3cqr4aIC0Mc9lqJRs8H85ee8j095/Mfh0Lwyv50/N972O38vVyL+oK/2t+rUj7ng8mNsf77yqP/6XCv2QdOHfsFR3xq8XpJzPhwjE6n6B9DH6TQLKKc5ORKH6x+gCwQh2qCO0MdlkRhXgsobVxx1s9znLkv3HsBLv2zC4Ve+APEH/xMyFoTohzig4SnUiGkcjUbe7vUbXAtcSpUHFt9flP30EyEsk9s3v+3EwmqlcqPvY/qTEDKIA+ZtfkyAZzfYbbRg/w2/eq58cBhseWLz9reIVsupe1Zfsy+1DdoZzfQkzvZZ6MsTS+vVOQF+Gbjnku3Pl+/jWT14jI4pw8fTenlHTqEFD/anecD49z3/g2jfQs3ok/ANt534fvmw8YG+299yPHrxr1T+94qjbvpIn0zpi5ihX3DI15/OZwLLE25itDyEJlBxD8ooM4cQ6pGjuQFgA9GbXIRXaWjjbXL017sfffN3+uLhXVwIJz9OeHZ1VxYdMjv7eKt6uA98LMTZnvRhhRtXX/lBse2IVvaBTj/4uG8fbYaNxFvVY3yEQeW+Tvyx7PAbfxFWQl2cUJ6vg4+zPgt9nfL6hAwUhfXoExvWnjCwS+Gja164t0z0H4ZPWhXYg0K7fJt9nPVZyLYqJAj+a9lhN210eFcAX8DL6y8jv6P4W8ewmXYTdqVSX5g17tBE8iDPPp/m4/QzlADOQlxIxwq/V0OO4YEbbj3hrfLsoZ7wYVuefT7Nx9vaL5YnvmjwgsVaSP+6+5E3/Y/h8YZpMtQLjidWH7tK3Pcct17Qz0rA4V/6mBDmND1AI5VKcw2UV3buUD2gNMVkp3Xh1/c8+pf/QFIJe/MABxhaA29V/EED3B90lNEIjQciJxHbqruB0jeu/p2Xi45/U6z9mMhgFnY2qVWq0b2dGKpvy42D75svO5sQG2NhfRvN4pHiJk81c4GSuqfK0yUD+8S1c3z7J0Sr3aATJ3CoYnmWr6+fgz5udplNjTjkOD+Ewfc68XseTygzcdf9ubibe9P4i0ZOp3QxC9nY8BLgogv0oY/QF/BWBTqhUD/wAmf7Zmh1chVv+cbbTm77m0EmffD7Dbed8FrR/bPoGTa0Kr3abz5W6SLfoPRkfYXx11Yc9fI/bNXndNKHesERT9Tf6idc4lBOrh4UV6sfCe3ABdpFR+sE55/KczKAS7Ru2X2f8PzpDMhs6RvziM0l+MSNgliI53V0GPRjS1w5bQQBbSrZAdrEMCSEjbcd/664Xv+O2CW3VFCKsV/9LDuF0ov4J96tsqCjKxzQSvi/x9uTOO6+uDHm7KOt1Ad2k6bxD6K3r7/td87svp/uWjxx23PeLFn2u5Zv0jPGvWywlZB2E3bXA7lT+yuV3hcc8gVlNzZMV0rPwmz+q59ll/rbcLbL2l/0mx7lF7Tli7EWc8adUOPfx/EfhLXfp53DBDfcfsKp8kT2v4u9VfoCsN/2Ixc07oRwQhj+YPejjn5TGF4o18yGrwztgiOOz5ZghW+UUagrXjgXISPUYY5JBD5FEoPP4RoEJRuNkw14dAA6frBrW8AweLw6d468tvwX5WvL4Y8pFsRFY+PB3kT6UjgpG+Rk2pvcYlqtv+2kZ62/9fiv1qPg0zLi9at7tKC3HtkasNl+oWhOK4TH4/DO8LDrRjvua2FwtbRKft206SohenUv3OtEZqO21oI0HGGYhlH9Gxtuec7ZncjrhWfDrce9VTq6KK8t/ISS+MvhSgTubAX0cdZPAu9dccR/r56kvscqeg/QYk2o85qjtbIn22nRFzjkMcUn0adpa73TgqwunR2zdZ790Xmb15yoL9TrTFbxXHJl43eienSZrB/n+pr33rMvpU38w/gnu++512vD8LPulzN777WolkO74HjiF2tfJg/b7APDO1owOL4Gfo8Guq1IHMQCBgsPXcjE43I38DUrj/h5z68kVvnlLvFAEjNvkrRpCCwcREAdniwC5VhpoGPD8pHQx1kv1dNcnrzlhcs33vqcVz5x6/HfCKKxO0T/1w3WfvjCinzCvJF4J3Dlwf+9Rbz69Va8OkaksrU9jINB47eJ0ccthqan1M4R7D823Pact7Xqt1f6hluOe6/I/pz0LXOb9ZfC7qWaDe3tlw9CU/smAD6PMu8Jk7yHHcj9VvlPO2EfcUAfR13xpRoF8q2+yeOf6iX6qK0O0m7CNvZLbJZPjE98oXirOuth423HHS6vcLhSbFqEvLHcSWFqN+MyNfsb5YW3jcSLXznsv/NV9BW2ziKVwyUhOa+ZjEBx0KGWOCBKpl4vhwgNMKda+WWlEVbiP9zz6Nt+Ykzlvh8eSFwuA4+/aQO5FhLQXC8KESM7xlxjPHbc9NscKk8iBxjH1fWrn/OGoC5XcatyQQxF0AAooJYsgZWOP3OYyIJMFMj15FfqMpmEoXyqimSr7C56HFsPR4+QD8S2eIcdfsoVaD/Uo28B9TgIblCki10lqP5bPai9BU3UryLKJstm+eBJYqcNQJBNbEbRug7slzdzVMVnn5NF2tmVMH7/VL8Rtn71CccG9egf5WHyF6giTh+85xTfEND3nUI/hwNqwWu4wetex92L/eL72vw5wcUmsMc9sgeqyNZp/qOnbPzNFpOF+ib78bBIgSWqhhsCuYzCHDF/iv9hmBSzrT/j3wl81eO3HPfJPZ69+L1heF3RF3C0y7zdptXHHzBRi6+WPNoNMRiU/S7+6xbOqb508RHX6Q9E5uk3LLShXHDgMtnOndvOwH1NDig4zHCZQFw0ccmTtPx6aS8VTHYdzaAkyY+JKP7nvY5Z/Xm0L0v/PcBYEWYnoGyPFk+Lu9a5E7YfM+BO3py4Vr9E29RsgaAnlBrizhMK4i0fH5Ocqbuccfx1mwxDgdaf7OV+iE7cINTw0TOF8tNUMqdo3gjRZEUuT5UPOydKUddvQfaLK8wXBoNowdwFP0z06BBZcfR//eSJW46/Q8bCoVSdUCdPyLHzhQDzLSBKU7yUqFW6o92Evr5gkOOXisRT1t963MVBFH5596MX/aTTE0e85uy5G8YeeL4s9d4S12vnqivE+dqHC4L2qycAsyjbvy1AzCboQ7sJYabik9gvi5zLFx9282No33ORHyNT30q+UEeVxVwXiGL2WMxxTF5AFLUHbZwlWfsloZWvqN28BSMbdo6mV/QZd8Ksvlk9wEcerevM/gvW3zr67A23HP/n8hMUXX0tGeeasfHxl4Rh5Qj5APNb+Xbip7I6tTtef8ex+0yMB9eIy/WKvHO9NqPdhLSN8crK7sX+kcrI+YsOf/n6OH55savJrLIdH/+tfEazFf1QLjjGdm5/g2TdPLPHjfQ84zgrEGZmB5IJIYmnChUXBj/c65gVf5onuqT17gGd0twE2CxFplUNKeOK6FhkjJd0g1bD05vETxorzZfv402fWDFJY2I26dqbHCQ54fCGCYDM0iR7hcV1bipDc8dLaL1Mti/U/usXHXrDbybrfZI6vAnRJtsB2y+fwquy2HibePNtG24d3fL4L4+7RmL233Ll8fGoHj4ezqmsD+tRRZ4P2LMSxHvEUbSXROa5T4zf92IJ66LQWx/qlQpLEDUVphQdf5lM5dsw/SouUTXRLM38OWvK+c/E75e6GTmLD9p7485b78NwaNFTYfl/knwYkIXzcT+X24o/qFbCm+TK2T2VkeqmJavqWzbfvmDxRLxzz5Ew3GuiHu1ViStHSq6cNj4+fpxMGRV9ZicIbhdzul5wBGPBp6X9ARlXtDjsv/31qHbD+luu0P6Y64AoufkvdAZHhwr4wJxT2snLadJECoMr7hLiIagYygWHBO88m8BttUv3ICmAG8REYjggima50lq6T3kgQ9junT9/0TmdfprSDspdhx6owcMteEl3MZNU109lnGBd6NJzXmMONAttHDL21XwMapOPvQ4617CR24h+tii/kK21yyk5snzUzFGc9klPDfrTFta7bj1AyQaz7Wk3IXrkWPCEeGiDRf/hVXSFrpy7/+eeGLvvL6TRvpQIATqmEh2Kt1+uFuA9HfKVQtnsIlQQT9TUy7iihBnA9JM9EHfkDkRfi+Cg4i8K/OceR998HTSZWrEraYw7YZfxb2v/1HRs3zoML62v/+Wxj0gUnp7PXWj+46V3x4sTjueFyXCiHuy8BV6056InXCZFyCTNn3wtu6HKFc8ljbfsbE7Il1Gs/YPO/+z8lTf/0WL4Y+guwWy87cjDZZI71oLFjAD0cVfrRiUmRZuUhSsdqcbk753lstjYKpehzuz1JT2+yBLP9wASMfcPscJfi5jxRA1oOAev5QDaIhf4h0OlGVnrQLN8Ma5GfkdDnmiueBCSHK2VftqXp0G2f62HyFZ/sBt/gNoX1FCFobSz2WB39ofb51QX9vx7CeFhl45L539nurTWD7qjACrubFWyh7O+CRZmvyplO1URO6ejg6avo8Hn6ncPgs/RABkXQhGokgghSZ5/+Wsc96tYzHuJv2hAuwlVWxyYzdgPqNyQ9pjB4Ff8tfBv4fa7/jX2gqvTCHt0ji42KAo+1v+M3Wa12T209ltcNF9axAdWodA6HCoNZA9nvUFtoruhW3BMTNTPT9Uz49QSmOUSo1WyGh9aO+uzUNrjl/MqYXjuymNuuSPtp8QG5gEudwGxIVSEOQkLvTShgaA0pkTalvLAA5ylW/6mDiCIQoA6HNDH2V87SN2oL8QBB4RI2ymk3YQqGnwojp9tK9Xgc8uPvFG/kmgM3e93f/aSi0XeOmvJDnDEToE6fMjsVz/4vjUjUtVpDn1N/4OP7bQNbWUDEEkD6nCBcu3pypXH/OwmbdaPnYjuNf4d298PPdvJiOPrW7LQ1/Q/3AkccBD2sy/2D0WBD6qwL/Y/dPZDIRQXkARXRMiuvsfxP1QLjjh+4Ugchee2NNbZnILJnZP1jS5UovCv9zh2td3wSgWVWL890CIhbdGIvJWpFTwy8Ah9PKknXyJP2gBvMSBUFmrZTm7Qmnz05doSksdBv23iDu1LBVq/mChA44SRhawD9Ns6gX4fppfpSnk+TXGRQWjyKFeg+kBVmQirlY+6LnoGuL0orvkT7Y9SfBuAD6H99ANUpu6AihcV/0owFo5U/pRu6gsU35rOBhWnHfA9Nj0rM/aAKITWTilsl7Vf+YvdhXPCH6uuqi/Um0w/p7MbR4XbD13ajP+evMN5QOU7m2k3oZLNF7DTt3Uq47+r+Kt+ogMgdXBQ9fF0VD+AD8XxT3X8D9WC47c3rz9dkmEvBiML5ROFBgnQx8nnOxC4PtrhIHDZvrr3c371YfNguR+IBzIJi3GpsRGguMZSiahooGk94oZq7BTxoKD+IPFxqcovvgzB9dBBv4qN3XATzaCdFUI9ytjXQMNBpl77QE5KlfWX2tyz/WHwhX69Q2aPY395hbwaVd6SaIW2DrX9omoyBzjcqd8M/CALrocO+lVs2Mp++XHHD+1+5C/wMFwfS5oL0MXXzUsYJo726+e8j/dRqa5FqV9C9wOCg8h/0bCf8e/aYDSAnb6tFOLTBNeYOmj5lsZcBFi9g4XE3zq1HBLc78OvStR3yJTHv5MzVA+NysLzPHw5jIbDSOAc9E7nlkCWI9rCIBsKTcnhL/bee+lbWzYuKwrygMUkjSIjalHGRIH7tpwsVQk0YSFOCLqHN0qTOqwsMch1tQlekU+aa8o2cpj0zXvHyB3Vx3VCPKlvo2+W35Rt7DGlQb0p2h+G6+fOm/cB2NKvMm9R5T07tkXyeuZ4j6w97fTN8qe2Mmj0BWAf7IcM2UwaEMEKjr8sNn658tlL+vqbMPqlWOiNQlf5eB5N6hu9CcLk9kPkIIpo8UNR+Q1pdGhAo8bt8inxBZtDeQ9vlCZ1bexHU7aBKM1XNwZx3EtB7KjUrpD/9Fniq4Z46KUA9avV0+N2NDRXOLbcfOzuMtm/EoFDEmLDxEGoOAILmvsjDqgbUgm4phTTCu4Jfjt3bvWs8Ok3Ja9wTpxVIgV5AHFA/CDeoIaJuIuhRQknXYsauIGzEGd9FoKPPMA1Xxz0cdTlF1VQqkxf4yENR8St3vpqrW+Wv2j7ZQC/v98PPy991i+eEMPf1eiL4bQfOg42/uEOeRXc+f3+dhsmYtpB6NsGWt7m8wD3c97HUTfIUqniq8Izdfx356nGk2jjfFH0+Iemfr74Mffx1hY16mt8pOGIOKDNe4Tsl7CxrfHTfqsbom+pbI+2nyvpqb89kYwsGKvWmPKNBuEIdBTWZyCsDYNx+bnu16w8avUjxlvuB+EBiaX+IX7AkphaTIQoNMvGFEIxnya4tnVQj4gD5mxIF9ABfZy81gXyxIo/KNmOMK895RBCCnAW1Rc091ek/dLLFbsfc8uX2Hc/4V7H3PJNuTL0YfqC9mYh+pwu+7O64NiPmY+Tt0lfFzvW+218PKkPg7euOPb/t3etMXZVVfieM3f6VCxtZ4YpD1tUhLRAOzNtobwMglhNeBiRYtSUABHjDxOj+E78YQw+0R8S+SMxEiQSFDUgjxgaUAq10047FJGBQqEPoEUstPIovcfvW2uvc/Y9c2/n0XvPnal7z9zzrbPPfq1vrb3Pvvuex4YmvDPFWc98iYiP+JND2TOZWOPjt9mXLa2rpekw5/QNj8IYDzXT/00nH32dfdnSHNr+emvyWMnBKzjSLGIv7ImtsJ1c+o/cf4xHw2F8Uudh+mf8VE/OJGnLNquphJjKdSS2ROO0TSabspKaaSWXpE7VZTkSktJ1XcseH9PT5zRj2DaEAbEpSiLyo6NAOgERmyLObCod1NIxLYMhRS6ZOvRlicRmWIf34jSN8wvzGinOtQvysPYwv+nAAlz9gpAlu0NtWVVzmdlVCzS9DGvV58WlelvBUr3uxHE8VJ5V/qwW3pxtx5JLvg3V/jwR9afti7Y/6vt+R8/G25vBNk9avu+J7c3uhp79x69/c5806nMDE/2wWf4/fv0P3f/99o9axuPiaSIzk6Hkb1L/b5b+vg9avzcUfWDUFNkHuePQ9DaUdKa/7EyQFY6X1y1cjA63mA2lckSRcVIwtGmFIVKqsg79vCxDyomin3Uve+IWp2uAohjgmMZ+7fftenXTcAxENXaGUgY2KapdOYiZjekPIhOZUP4tT67MUZTPprD8usGOEV07DNkOqd8hZQmGtQodh/542uTrcVy5bPb7+vfWKrJRcXzFdTTzXbhrTJ7AqMVSNwbRUbkvWn+/PrE62mJ/TbN/FP0Bk42GPnNDiXTbovy/uPlGae7ijfegM29J+0GVwp7eFIvSn+5r4wDltK9ix3yb7RlLcJPFovp/S/zf+DCOhLex9/8JscLxTkmfvSEGg2JyAskpRJJlbHYoPgNDG9rTRw0x63qga+mirxhPAVvFgDtByahjndohbKmdVNG3/2hb6+bY8AP9g/eIRJQP/YgyUWTuMq5OECfDMaIvu+Q8sTEQVc6QsRoMNWUWh/hce8aqP75M7Eva4pVzFm/a4iprKnSc/PfXZ8Qx3jURbVJtWqt/Xtli7B/d1TntA6vAgW/YfFMOax9PyIRrOG4P5Z+5Wsalf66MZu2SL7z78FtaPnUTJTOEnmP1/3xbx6X/GPjN11d73+lWQP/P199w/f0xz5ddxTrm0ZLZuKdxxgETUrbgyxNghSNZ39sOr+O7U9BCfAwpy/KNQ8iimENVUhU31QxhhKdnTGu/go/ZtbiARTPg7CnVUq4dfJ+mTLsaUtZSDFmGykSRnb9w4Ko1YFvNmho5+G2EOeVbif62mE5SJV5zZOVZuVqCtlfb6LcdWV3Q/NY+jbQ4S5OhX4bpbUhNtVZFELMviaOPdi0ZKPTNxu/u2bh76rTp5+P80a/tbY3+yqLjwphpsv2h7x2dPbMulyexZmZruMRvfmZ3w7z9G6F/wxs+QoFzlwz8EX7z83rJ1J+y+T11bqb+I/X/eu0cfbz1de25ms/ihpcy0fT3x1CVYRHvnKztHX//b/kKx64K3gqbVHiHiljDUHecoaiwnVAc+sSkZsQxzEdeS8rli2edNnhYT11MywzCuBigfeQDu6ZYw8a+HSnLYOOQcv7DE7k5vZzU5Usn/INoX0ANXX4qkJYDQWQiBR5zKLJrI6e3MsWVtjgdqBP/DF1axlnI6zPW9GyK8UDZ+zwfJ+3nFT3ZML14J0w5af8wGvRwi/QXLoq0P17+9auO3pOubPQdKcapjxW+Ldb5vaFn+9QPDld/v86i5I6k/avoIY9ZPzFk/dTV0PQ2bIb+7OtSLpECgqHuHd42r08D+3/h/t+o8U+/4imvLZ9wJMnB1ZmJbeAm1vowpaXxZZcWjy3H8U/P6338nzwaQqsYwMvb0Iv5obkMKctg45CyJlEUmYMus/GkLoNRhpKbpmYpLAMfjhmGKnOiwDjNNxztmObDVvITfTktX9qigxLbxbJTdPX49VFX1tlQ/UulB6eX2ns7+vo3oMqWhdl9/Xs7e2afH8XxjcIDWiK6OjS9Dc3uhqQYbAvVRP6JrR2KLNxpuSxHcjhUmeojJ4vBR7l3dnHt8O3BMqo/zJflt7KIqRwlb2Px9wudvYNXF7VKGmMkLkJ/sld0iPr6D0wptX8KFL9Cm+s/pYlm//EzYz7WlP5PRydpZIzgkHJT/N8vHxVIPUD6J+tLkS3BQcYdSn+9pBaJEFo64XhpcFEX3rS3UpRAY8QBHYo7QpkUPcXS9F6cKh5/s3v50N1ULITWMpA5oHNKGI2OSu81pMx0hiIjjSE9mYcNfVk9P0tr9VFryU8BQepyqLKrH56FlEyCYKh7/lbqZAok0Q/bTFnbzjIpE3253nFmlnZoIZKXcZZedUUFKA8J38At3d/o6p39kaP65NkYftNaIvPbflfvpi+jeTiBJK/7Ovuy6ePHmd6Gprch81Trr5xrXLWs/Cj3lkfyi61QjgtSF2SiyiPYPyo939YWn9PVt+mXVkYRiAUO8QHTJdOPjVfdSY/J2fGMs9HpX4Q2w+vAZPX59nLblVDyzQlt/+FNHzkGF+CYf9EGlIm+bMcRqX5IY7o0hmI/lzezL6pvqP1H8P+ctmwmg2sucOzj34RZ4ajsf/szeNNe2YyjijkNRc38xo4RfZk2iW7rXv6vH+RzhP1WMaA2kk4EW43axr5ZRcbGkIL0AId+b6ijptbPbNoGJrM4X86OWzpWmnXOdMBALGULVla9/Hp87PpjIv7XqNR+amffphuKWNI3fUaLnX2Dd5SiqUtA0b3M02j9xeZmd8Mm2h8a8Ar0m6dNKS2eu3jTutHy0PB0oisJdR/RmbW4iAb4P0trRZizZOCBtlJ5JZzl9br1F6C/9Vm2wWTrp3XbNcKBye7/9dqvY52OgzbuGeb5Mw4N6bMqZ+S1dIUD126sRouy1phM9DuW62ymCFFkNxvEbdDru4859uqsoCBNXgb0Qs5SiejLtTUyh059InVyN0BLNs/HahdTN9YuKJWLzfiLHYLF1c10GAfwg8wjUdR2UdfSzRd09fU/cxhFNT0r29e1dHAlXhz3SVT2QmMq9G3uy7VLb4T98WVlY1spXtHVO3hd66/98nX25ebpX7vk5sR2LB1YE5XL5+KkNVS7Bl9nX66duhH2r11yq2J9nX25dnuarb+NdY0a/1o24dj52Af7MG1YpDTqyQH72OVW/3hM4zRVfptgHRKO++KUg/Gl0YI1b+aPh/1WMuBO+P7E0SaKDv3OkrXUlg+Iej2EoaaHR1iZ8A4NhlkpqSRpsUd09RrWqt+P8+W0vJzgp1E51z5r6yHqhxrv4KT3p6gturBr6eNnYTn//lw1E3q3q2fznaUp8Sm4aPc7MNlu44G9V3g3HAX/tLWG5tsfbRvCe1Gu6ew7eencvs2PTQySm6v/O6UCH8RRh9DOJQMD0fS5PfCO3zCJ9SFN3lz9pS7nh1avYZ3mjiqaZWg5GU50/ze9DamoyURfrkeCn0Zly8cx2ev/roCWvbwtOXhgNZvkB/+CG43HUo4MQJoSHLjfx/Qo0r+FC1Ium7viqR1+OUGeQAz44wealdsVp+YSnTmuympnasF9Oq6iiCo755F45xdMmaV1PoMYudpajml55kcaZWW7AiXSl11GB5zpq5/atw9OiiibZtXp02h32FLhjaxsNS8C/W1pWunWrlMHX8rlnFS7x5y+eT8a/L3khTN/8vKu164Cq3gGTrKgnv7GA+2uNlfOVVY7kQC1u9kIEWSNmZ2JTNZ0zGFpNQG3w+xfivqxonFDR98nfs+Hm5VKzXtSOVs0uqADNfXw/VP1Mp1Q0mHq37IBP0dC58I1+xD1uV3rF94SR9GNlUpyOpM0W/98+Xl/yTVzVLu48YEtr53Woh3mdv9/xj/HTkv8Lxl6/9Sdeyq8gAgOxgHbDQ4C7HjaOnUOr7PJKEOTaYI4jj5/zPKnH61t6RDbSgbMpmZfIoOeYDKbj3S8pg7OP3iME1J4jCD3h5XP4/Qz/KXHXZxE5DZS3iHS549LsQnK1uKH1+/8G77Ka6eextntMTyW/L4ZUfl+Pt8iV/2k33UvSLwpSS6/eff6Jy+CbVZhQnYJOvpRVG6YfRw/9fyjJiHjsD++mLwIL/gdVpFuP6ZncK2WOxEmGpmG2XiX9Y/sqCeNQ3/z/9avb3h6QOzu2/Jgkny356X+O1fhJ9QvJZVkmY0J1Sm9vcPQ38YCYqOCcDtC/6/n36ZrveM12+g1XcajSTD+mR4tmXDs2H3wYjRgNhtRbXhjUtF8wtBPj1nxT7uXP/NrxoUwcRkw+xqypb48Ust1ENZvPpKWrsHO7VyFZcmu5yTV5Vf7FMtDA/RbsorptyrsMkYhRT8OstVNlIDljTh+Az/v4Se96A0Utg9ZdwJ3YBDZjju1t0Xlts1JW7TZrQJYxiMa3e2keLR16Z7k2Q9Ne/nfe1biW+ylGCDPgX0WjFb58dof+WjILcCHYIs7O3suX6OrGaOtufB0qUf5NY9X/6yMan8u28w4S9ByydnlNjTkthf7TzsjqhzEzQTRJeiLxzVaf5ZX1f9L0au4ruBhfBG4v9xevmtcZKBMf8ypJdeKG01dTdcf7mF1aHuq/aU6DnvCn0MA9bJJk6atwYWQrkdrOrllbBZuXzv/bgwHHxvW+mEVUnnTkAdVxqB137wz+z5e1D3yw5oVIgIDgYFxM7B7fW837o48C9357EqSLER/PhED1wlYDSnLNKGqy2OHk8l00Ko5JrxZiuLnkHBrFMWb4iT6G27BfOToJQP/GXcjQ8aWMgB/iF75x6K+g3FyLqb0y9CYZbD8fNgYYpWDYN/isiNMwWBHkijCs1VKz+ILwBB85IlSnGzGz2ob5vQMPokTJpOFUAADZpcCqtIqdq8/pfvtt994ARZuy7xBj9nSOJEhv1xEP8Ptgk/NmPGe5WEwUc7CNjBwJDCAn2DaXhwYOj6qHDgRPz4dDZ1morPPEMQr5JK4UsEzSf6Lycd+DA/7S23xfuzviduirXNOH9gZThpHghccWgeulO3Z++oJlQMH34s5wjxMRGZiSgEfiWbgiVI8acA3nH/QV+LSPlwUvKcytbKjc9Hgy8FHDs1vEUcLn3DsWDv/eiytyvMyWDm9JG2Ere24bzP55Ro84XBvnCRnzFvx3JNFkBPqCAwEBgIDgYHAQGCgMQwUflssVkdX6zRDVzFUVmX0an/EYOrqyzyKOQie51a5Mkw2lKuwDQwEBgIDgYHAwGRioNAJxwtr5y/HTOIUWdbAfEN+OnGoP6doHFc8dNVDLwhkLPa/fvyZ2/4ymcgNbQ0MBAYCA4GBwEBgQBko9C6V6GDlKt5ByAmEBu5QdtMLd3EYf0qxIEej6NZjV2z7kcUFDAwEBgIDgYHAQGBgcjFQ2ApH8uz8aZg8XIEVjowhk4m+bCk4D4lK646dF19rUQEDA4GBwEBgIDAQGJh8DBQ24dixq3IBZhWz7A4UUmUrGUSVM+TKB6J3YZZyWbTgufDY8snnW6HFgYHAQGAgMBAYSBko7CcV3P/Me+7dQ0L4KGgGPlGPsv6kIlHpJnqrPU4u7VixfWcaFYTAQGAgMBAYCAwEBiYlA4WtcOAWk6VkyFY1KNuzfIj88FiGlWu7V2xv3Wui2cAQAgOBgcBAYCAwEBhoCAOFTTiSKOHLeqoWM/xbX30ZD2j58XFn7ZA3CTZEy1BIYCAwEBgIDAQGAgMtZaCwCQcuydjK6zfkeg0i/hgMReYKR6l073FnXfM1ORg2gYHAQGAgMBAYCAwcEQwUNuGIytFNmE0c0Ks1ONmwu1UMufiRrJs5fdqqCf6SpSPC8EGJwEBgIDAQGAgMFMlAYROO48/YPoRJxvX48DGiAF3tMMTu2plTZl44u2/r3iIJCHUFBgIDgYHAQGAgMNB8BnTBofn1pDVse3jeBaj0i5hynIe5x1t4y+Mz2P/F8WefdEcUrXknTRiEwEBgIDAQGAgMBAaOGAb+B5nwCpLPLNx7AAAAAElFTkSuQmCC"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["fill-rule","evenodd","clip-rule","evenodd","d","M169.522 122.093C171.059 115.241 166.054 111.136 159.022 108.13L162.04 98.916L156.431 97.0797L153.493 106.051C152.019 105.569 150.502 105.104 148.995 104.643L151.953 95.613L146.348 93.7769L143.329 102.988C142.106 102.615 140.906 102.247 139.743 101.867L139.752 101.838L132.017 99.3019L130.057 105.293C130.057 105.293 134.224 106.57 134.131 106.624C136.402 107.369 136.71 108.93 136.552 110.138L133.115 120.635C133.271 120.687 133.473 120.761 133.695 120.869C133.66 120.857 133.626 120.846 133.591 120.834C133.562 120.825 133.534 120.816 133.505 120.806C133.375 120.763 133.24 120.719 133.102 120.675L128.284 135.38C127.95 136.062 127.157 137.065 125.569 136.548C125.62 136.635 121.492 135.211 121.492 135.211L118.184 141.544L125.483 143.935C126.298 144.203 127.103 144.476 127.899 144.746L127.901 144.747C128.431 144.927 128.956 145.105 129.479 145.28L126.429 154.6L132.031 156.436L135.051 147.215C136.579 147.75 138.064 148.25 139.517 148.725L136.509 157.902L142.118 159.739L145.166 150.437C154.773 152.984 162.15 152.77 165.87 144.183C168.867 137.27 166.555 132.99 161.623 129.952C165.417 129.361 168.406 127.109 169.522 122.093ZM155.149 139.449C153.059 145.84 143.068 142.413 138.496 140.845L138.496 140.845C138.085 140.704 137.718 140.578 137.404 140.476L141.449 128.129C141.831 128.254 142.299 128.395 142.829 128.555L142.829 128.555C147.571 129.985 157.289 132.916 155.149 139.449ZM144.22 122.79C148.031 124.108 156.343 126.982 158.247 121.175C160.192 115.234 152.086 112.815 148.127 111.634C147.682 111.501 147.289 111.383 146.969 111.279L143.301 122.477C143.565 122.563 143.874 122.67 144.22 122.79Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["width","225.692","height","225.692","transform","translate(0 85.983) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","298","height","300","viewBox","0 0 298 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M248.333 237.5V112.5C248.333 105.625 242.746 100 235.917 100H37.2501C30.421 100 24.8335 105.625 24.8335 112.5V237.5C24.8335 244.375 30.421 250 37.2501 250H235.917C242.746 250 248.333 244.375 248.333 237.5Z",1,"fill-color-0"],["d","M273.167 212.5V87.5C273.167 80.625 267.579 75 260.75 75H62.0832C55.254 75 49.6665 80.625 49.6665 87.5V212.5C49.6665 219.375 55.254 225 62.0832 225H260.75C267.579 225 273.167 219.375 273.167 212.5Z",1,"stroke-color"],["d","M6.20851 200H24.8335V150H6.20851C2.73185 150 0.000183105 152.75 0.000183105 156.25V193.75C0.000183105 197.25 2.73185 200 6.20851 200Z",1,"fill-color-0"],["d","M31.0415 175H49.6665V125H31.0415C27.5648 125 24.8331 127.75 24.8331 131.25V168.75C24.8331 172.25 27.5648 175 31.0415 175Z",1,"stroke-color"],["d","M161.417 187.5L142.792 150H180.042L161.417 112.5",1,"stroke-color"]],template:function(t,e){if(1&t&&(r.YNc(0,Pi,1,0,"ng-container",0),r.YNc(1,Zi,18,5,"ng-template",null,1,r.W1O),r.YNc(3,Bi,19,5,"ng-template",null,2,r.W1O),r.YNc(5,Ui,19,5,"ng-template",null,3,r.W1O),r.YNc(7,qi,17,5,"ng-template",null,4,r.W1O),r.YNc(9,zi,13,5,"ng-template",null,5,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6),s=r.MAs(8),o=r.MAs(10);r.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?s:o)}},directives:[U.tP,P.xw,P.yH,P.Wh,U.mk,ue.oO,Z.n5,Z.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Ni.l]}}),t})();function Yi(t,e){1&t&&r.GkF(0)}const Gi=function(t,e){return{"small-svg":t,"large-svg":e}};function ji(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",7),r._UZ(2,"path",8),r._UZ(3,"path",9),r._UZ(4,"path",10),r._UZ(5,"path",11),r._UZ(6,"path",12),r._UZ(7,"path",13),r._UZ(8,"path",14),r._UZ(9,"path",15),r._UZ(10,"path",16),r._UZ(11,"path",17),r.qZA(),r.kcU(),r.TgZ(12,"div",18),r.TgZ(13,"mat-card-title"),r._uU(14,"Boltz Submarine Swaps explained."),r.qZA(),r.qZA(),r.TgZ(15,"div",19),r.TgZ(16,"mat-card-subtitle",20),r._uU(17," Boltz is a privacy-first account free exchange and a Lightning service provider. By doing a Submarine Swap on Boltz, you can swap your on-chain Bitcoin for Lightning Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Gi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Vi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",21),r._UZ(2,"path",22),r._UZ(3,"path",23),r._UZ(4,"path",24),r._UZ(5,"path",25),r._UZ(6,"path",26),r._UZ(7,"path",27),r._UZ(8,"path",28),r.qZA(),r.kcU(),r.TgZ(9,"div",18),r.TgZ(10,"mat-card-title"),r._uU(11,"Step 1: Deciding to Submarine Swap"),r.qZA(),r.qZA(),r.TgZ(12,"div",19),r.TgZ(13,"mat-card-subtitle",20),r._uU(14," You have one or more Lightning channels that are running low on outbound liquidity and you want to fund it using your on-chain Bitcoin. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Gi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Qi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",29),r._UZ(2,"path",30),r._UZ(3,"path",31),r._UZ(4,"path",32),r._UZ(5,"path",33),r._UZ(6,"path",34),r._UZ(7,"circle",35),r._UZ(8,"rect",36),r.TgZ(9,"defs"),r.TgZ(10,"pattern",37),r._UZ(11,"use",38),r.qZA(),r._UZ(12,"image",39),r.qZA(),r.qZA(),r.kcU(),r.TgZ(13,"div",18),r.TgZ(14,"mat-card-title"),r._uU(15,"Step 2: Sending the on-chain funds"),r.qZA(),r.qZA(),r.TgZ(16,"div",19),r.TgZ(17,"mat-card-subtitle",20),r._uU(18," You send the on-chain funds to an address which can only be spent by Boltz when it pays a Lightning invoice to your node. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Gi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Wi(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",40),r.TgZ(2,"g",41),r._UZ(3,"path",42),r._UZ(4,"path",43),r._UZ(5,"path",44),r._UZ(6,"path",45),r._UZ(7,"path",46),r.qZA(),r.TgZ(8,"defs"),r.TgZ(9,"clipPath",47),r._UZ(10,"rect",48),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(11,"div",18),r.TgZ(12,"mat-card-title"),r._uU(13,"Step 3: Receiving the funds on Lightning"),r.qZA(),r.qZA(),r.TgZ(14,"div",19),r.TgZ(15,"mat-card-subtitle",20),r._uU(16," Boltz pays the Lightning invoice to your node and claims the on-chain funds locked in the previous step. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Gi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}function Ji(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",6),r.NdJ("swipe",function(e){return r.CHM(t),r.oxw().onSwipe(e)}),r.O4$(),r.TgZ(1,"svg",49),r._UZ(2,"path",50),r._UZ(3,"path",51),r._UZ(4,"path",52),r._UZ(5,"path",53),r._UZ(6,"path",54),r.qZA(),r.kcU(),r.TgZ(7,"div",18),r.TgZ(8,"mat-card-title"),r._uU(9,"Done!"),r.qZA(),r.qZA(),r.TgZ(10,"div",19),r.TgZ(11,"mat-card-subtitle",20),r._uU(12," You swapped your on-chain Bitcoin for Lightning Bitcoin, while also adding outbound capacity for your channels in the process - all in a non-custodial manner. "),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@sliderAnimation",t.animationDirection),r.xp6(1),r.Q6J("ngClass",r.WLB(2,Gi,t.screenSize===t.screenSizeEnum.XS,t.screenSize!==t.screenSizeEnum.XS))}}let Xi=(()=>{class t{constructor(t){this.commonService=t,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new r.vpe,this.screenSize="",this.screenSizeEnum=G.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(t){2===t.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===t.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swapin-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","323","height","323","viewBox","0 0 323 323","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M53.8333 134.583H80.75L94.2083 161.5L117.792 134.961C121.616 130.658 125.869 126.602 131.194 124.413C136.45 122.252 142.103 121.125 147.842 121.125H242.25C286.847 121.125 323 157.278 323 201.875C323 246.472 286.847 282.625 242.25 282.625H147.842C142.103 282.625 136.45 281.497 131.194 279.337C125.869 277.149 121.616 273.092 117.792 268.79L94.2083 242.25L80.75 269.167H53.8333L67.2917 228.792L53.8333 201.875L67.2917 174.958L53.8333 134.583Z",1,"fill-color-0"],["d","M26.9167 107.667H53.8333L67.2917 134.583L90.8755 108.044C94.6993 103.741 98.9527 99.6849 104.277 97.4963C109.534 95.3357 115.187 94.2083 120.925 94.2083H215.333C259.93 94.2083 296.083 130.361 296.083 174.958C296.083 219.555 259.93 255.708 215.333 255.708H120.925C115.187 255.708 109.534 254.581 104.277 252.42C98.9527 250.232 94.6993 246.176 90.8755 241.873L67.2917 215.333L53.8333 242.25H26.9167L40.375 201.875L26.9167 174.958L40.375 148.042L26.9167 107.667Z",1,"stroke-color-thick"],["d","M134.583 215.333C142.016 215.333 148.042 209.308 148.042 201.875C148.042 194.442 142.016 188.417 134.583 188.417C127.151 188.417 121.125 194.442 121.125 201.875C121.125 209.308 127.151 215.333 134.583 215.333Z",1,"fill-color-15"],["d","M107.667 188.417C115.1 188.417 121.125 182.391 121.125 174.958C121.125 167.526 115.1 161.5 107.667 161.5C100.234 161.5 94.2083 167.526 94.2083 174.958C94.2083 182.391 100.234 188.417 107.667 188.417Z",1,"stroke-color-thick"],["d","M201.875 215.333C209.308 215.333 215.333 209.308 215.333 201.875C215.333 194.442 209.308 188.417 201.875 188.417C194.442 188.417 188.417 194.442 188.417 201.875C188.417 209.308 194.442 215.333 201.875 215.333Z",1,"fill-color-15"],["d","M174.958 188.417C182.391 188.417 188.417 182.391 188.417 174.958C188.417 167.526 182.391 161.5 174.958 161.5C167.526 161.5 161.5 167.526 161.5 174.958C161.5 182.391 167.526 188.417 174.958 188.417Z",1,"stroke-color-thick"],["d","M269.167 215.333C276.599 215.333 282.625 209.308 282.625 201.875C282.625 194.442 276.599 188.417 269.167 188.417C261.734 188.417 255.708 194.442 255.708 201.875C255.708 209.308 261.734 215.333 269.167 215.333Z",1,"fill-color-15"],["d","M242.25 188.417C249.683 188.417 255.708 182.391 255.708 174.958C255.708 167.526 249.683 161.5 242.25 161.5C234.817 161.5 228.792 167.526 228.792 174.958C228.792 182.391 234.817 188.417 242.25 188.417Z",1,"stroke-color-thick"],["d","M189.321 97C186.935 97 185 98.9345 185 101.321V112.679C185 115.065 186.935 117 189.321 117H237.679C240.065 117 242 115.065 242 112.679V101.321C242 98.9345 240.065 97 237.679 97H189.321Z",1,"fill-color-15"],["d","M161.5 67.2917V94.2083H215.333V67.2917H161.5Z",1,"stroke-color-thick"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","347","height","169","viewBox","0 0 347 169","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M89 157.417V41.5833C89 35.2125 92.75 30 97.3333 30H230.667C235.25 30 239 35.2125 239 41.5833V157.417C239 163.787 235.25 169 230.667 169H97.3333C92.75 169 89 163.787 89 157.417Z",1,"fill-color-0"],["d","M6.25 134.625V18.375C6.25 11.9812 11.4812 6.75 17.875 6.75H203.875C210.269 6.75 215.5 11.9812 215.5 18.375V134.625C215.5 141.019 210.269 146.25 203.875 146.25H17.875C11.4812 146.25 6.25 141.019 6.25 134.625Z",1,"stroke-color-thin"],["d","M256.188 123H238.75V76.5H256.188C259.442 76.5 262 79.0575 262 82.3125V117.188C262 120.443 259.442 123 256.188 123Z",1,"fill-color-15"],["d","M232.938 99.75H215.5V53.25H232.938C236.193 53.25 238.75 55.8075 238.75 59.0625V93.9375C238.75 97.1925 236.193 99.75 232.938 99.75Z",1,"stroke-color-thin"],["d","M146 53V87.875",1,"stroke-color-thin"],["d","M146 122.634V122.749",1,"stroke-color-thin"],["d","M344.698 95.3022C346.74 97.3445 346.74 100.656 344.698 102.698L311.418 135.978C309.376 138.02 306.065 138.02 304.022 135.978C301.98 133.935 301.98 130.624 304.022 128.582L333.604 99L304.022 69.418C301.98 67.3758 301.98 64.0647 304.022 62.0225C306.065 59.9803 309.376 59.9803 311.418 62.0225L344.698 95.3022ZM277 93.7706L341 93.7706V104.229L277 104.229V93.7706Z",1,"fill-color-15"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["fill-rule","evenodd","clip-rule","evenodd","d","M161.033 82.5635C162.307 74.0523 155.826 69.4769 146.965 66.4247L149.84 54.8952L142.822 53.1462L140.023 64.3718C138.178 63.9121 136.283 63.4783 134.4 63.0486L137.219 51.749L130.205 50L127.328 61.5255C125.801 61.1777 124.302 60.8338 122.847 60.4721L122.855 60.4361L113.177 58.0194L111.31 65.5152C111.31 65.5152 116.517 66.7085 116.407 66.7825C119.249 67.4921 119.763 69.373 119.677 70.8641L116.403 83.9987C116.599 84.0487 116.852 84.1206 117.132 84.2326C117.096 84.2236 117.06 84.2146 117.023 84.2054C116.981 84.1948 116.938 84.184 116.894 84.1731C116.732 84.1323 116.563 84.09 116.391 84.0487L111.801 102.448C111.453 103.312 110.572 104.607 108.585 104.115C108.655 104.217 103.484 102.842 103.484 102.842L100 110.875L109.133 113.152C110.152 113.408 111.16 113.67 112.156 113.93L112.158 113.931L112.159 113.931C112.823 114.104 113.481 114.276 114.136 114.443L111.232 126.105L118.242 127.854L121.118 116.316C123.033 116.836 124.892 117.316 126.711 117.768L123.844 129.251L130.862 131L133.767 119.361C145.734 121.625 154.733 120.712 158.521 109.888C161.573 101.173 158.369 96.1458 152.072 92.8677C156.658 91.8103 160.112 88.794 161.033 82.5635ZM144.998 105.049C143.008 113.044 130.493 109.739 124.766 108.226L124.766 108.226C124.251 108.09 123.791 107.969 123.398 107.871L127.252 92.4219C127.73 92.5412 128.314 92.6723 128.976 92.8208L128.976 92.8208C134.899 94.1498 147.037 96.8734 144.998 105.049ZM130.167 85.6513C134.942 86.9255 145.356 89.7047 147.17 82.4376C149.022 75.0044 138.901 72.7637 133.957 71.6694C133.401 71.5463 132.911 71.4377 132.51 71.3379L129.016 85.3499C129.346 85.4322 129.733 85.5356 130.167 85.6513Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","313.615","y","82.836","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAACTCAYAAADFh8BYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACHKADAAQAAAABAAAAkwAAAABS37hiAABAAElEQVR4Aex9CaAkVXV2VfebfWWG1QWQRYddNgmCO6CiIGrAKC6gUWOIUROz/CYm+OdP/P9f82viEmNUcCFRUVFQlMUIgpIoCgwO2ww7IjLMMMub5b3XXfWf75z7Vd2urn69vK5+/d7Ufa/qnDr33HPPdm/drqquDoNdvMTxhSPBE5vODuL6BUEcHiDumBcE8Y+DYORT4V4fu3YXd09pfumB0gOlB0oPlB7oiwfCvkiZoULiDe9eGtSCH8RxfCJMCOUvlj/AIAyjoBL/abjHJz4+Q80r1S49UHqg9EDpgdIDQ+OBXXbBEW/8i2XB+ParZYHxHDohlrAAB0QJw2AiCOccGu75sXVGKfelB0oPlB4oPVB6oPRALx6o9NJopreJ469Xg4ltX8NiA8sLLDD8xQYWHbrwiOM5QVC7YKbbW+pfeqD0QOmB0gOlB6bbAyPTrcC09P/bH39EbqO8NF1mRKoGbqbYAgRQCkAU47mOspQeKD1QeqD0QOmB0gNT8MAud4UjfvyCt8Rx9D5dbMg9kwT6OK95xHrtY/EU/Fs2LT1QeqD0QOmB0gOlB8QDu9SCI37sghPievyvSeR1QSFHgD7uGPRmSxj8POEvkdIDpQdKD5QeKD1QeqAnD+wyt1TiJ9731Hhi52WytJinFzDy3OUueOitFNTjAkcU3ZDHWtJKD5QeKD3QLw/Ej55/TL0e7tcveamcmqCY5gGDoFqdf0P4lM8+oQflrvTAgD2wSyw45F0b84PHHr9MntvYJ5RbJ/aYqHgat1FwZUNvp7gHRYWEdQdKWAk3BXvt+UM7KvelB0oPlB4oxgMT9VjeAxS9FXMTv56vPeFDDz8IAW2cspLpixdos/XWGIsNm9XiaOeL5eBHspWl9MDAPbBLLDii3zz2OfHs8fCuLDpSJxN3kDUpjP+9Gl64M21QYqUHSg+UHijAA3Gkc5N+IBIcEAVzkbfeUJq/c2z8zJSzAJEljAgJQ85qfusSLz0wWA/M+gVH/Ngf/GW9Hp8Lt+av/jmkwUHcBmclnnMRqGUpPVB6oPRAoR6QVYVe2ZDVgS06bA5Cn/xcZP1z+eEWJBl+tk0WLNl6d6WjUFtK4aUHWnhgVi844t+883T5sPD3/BQAH/i4fFvFDW77WqwNVqMJfke4zydvbuG3klx6oPRA6YH+eUDWF7z6Sgjh7RYQ4PH5iRNm24O/LKUHpssDs/ZbKvGj71glnxX+I4qj1EZ+VAD0ced9DlLAOIi+MF1BKfstPVB6YNfzgLtmwactxAG4HYIrHQZ9HDRsfhvDcaUkLfhQhQJIPK0tsdIDg/VAejIebL+F9hY/+d7lcRxeHkX1pRh8HGxYRigO6AYrIQcpoFwFqVeqI5cUqmQpvPRA6YHSA4kHbE7CIbC0ELcFhtFJw9xmuH5I8hYnkGKbzoCC68yWii2x0gPT4IFZd0sFry2v/+bar8lgOxj+bBi8GIMcf6jDg1T45wNVimuj74d7fvoxwcrSgwfih9940EQU/lleU/mcJS9/CQNAFOKARRR8vsOq2j7npThX2j3rE8by6H+4Qz447qxUgh0y4T8hv/b368pI8Os54fyHy68eFhHNXVAmhok3ZyV4h8MFCxF7ds3GmwnbBf1YmjwUHph1C47oNz/8R3l3xmnwbu5YFWIyVjkGCW1kBtVK9aKhiM4MVaIWB/vIQu8deerb3MlLwRKjzHM0CEXD/CoxsUkziVqDWNYBorAtubP3sPP5PX2kYSiyYiegiZ/6JD3JzTcwY2IP6kFcC4PxeFsw/uCbHpeF7K2ShLdVK+F/VaPFPwr3+5cnG5QvD0oP0AO6IraPR0i9dErKyX+Xm2iKFv7XaN1nKMlhE4z819wELEvpgWn2wKxacNQeeft5UVR7j/68vDhWx5gMPH+sNQw7DEoQ3ODEya8ShhuCffb57jTHZeZ37xYAGRc32WXzoUyaLjCMD6Gd8DFnWpAYLtarQFfXJFwI2t7BpN7jt/7THMntT/iT/og7GWqf4C6FbLGCjuJoTyGeJvTT5FtSQT3cUh974I03i6Dvz60El4RP/8q6RJ8SKT2AS26SLMwzwtx8FFbWq+NcLuY5MTf/8xhLWumBAXhg1iw44kfeeWI9qH/GX+0nZwF3NsAgBcrBqrjsXLW6Wz5oXCLv3hgfgO/LLsQDmBAREYNwSWOU9EhY0phlPtGhrfxxkWnS/JhaLSnMD/Ij+CobDbUIopc3SGjUh32lSwxKZvtGflLFzKpwniD9nTBWDy4ce+Dcm8KwctGcfatfDsOLy3e90FG7KIwj3NxDzjXmjx4JGRAlm3/ZfPYl+C2yWWp15b70wGA9wFvZg+21z73FG37/aVFY+5YMxnkNA4srf0DZ9KTmoL/yx2DmgB4JRi7us3q7pDhMjPiz5YBB4IgDIXAthDggDigb/ggVBwtorUqmvbKRJgdsC6h/rg/kAxc9hGgLHkIfV6LsmDfMIfAABzQ8hbRbfRLHJ8pDzZ8de3Di/rEHz/3zeP1bl1BmCXdhDzBXAV1uEiKTUAhzvZRpbw388YK3jpal9MD0eGDGLzji+H0Lajvib0dRvLcORR1wGGCy6XV6B5Nr9jxFpAPXTgloE94ePvUzt0xPKGZnrzx5Jyd0cb/S3BlaoyE7d6gIaQ1n8xbuwW0wFP32keISTQc1B6xW9z3tMhO46iY06qtZg/7dhj6As7S3P95beP7PxLaxdeMPveE8wbULti/hruEB5hMSSxMgIYj9Ssj3Q+H5n99tSS090JMHZvyCo/7o5s/LGeZYWN80ucuJR2k4AelJCEx2gsrjr5Tv3oBbBlqyMcOxv8mBi6Gcxj2cPFCWMlRxf2HpP6AhbdG+adOn7IQO6OPk9WUIrn05SB182KSPKtV6R93lfTF7RvX4op0PnnvD2P2vX9W6RVkzGz0gjx5rbvm5pLnh5Txy16cxdwjVL8hXFEBsyGNC4OUFDvNPuZ8WD8zoZzgmHnnrB+Iofr0MIy0YajIkGz4QuOGn9awDRPH55WnuWmVk7r9rRbnrgwfMx00+F7LSGDT0hInQFcaLEEHSJ+4dgXRChFLnWIqgLELI9XF21ClkW8K28hJFtIeu7Y/jk8Tmn8szHu+ct/8lZT52GqdZwse8Jpz2/J9mv8oPb86dePjeI+WL7cfJkuy4MIqPkxl+N3m4/6Nz97vkE9OsXtl9lx6YsQuO2iPnv1Im878zeznJY5gCt+GKlT+/Fgk+4vpVMRCkJAM7Dr4b7v2Zx41a7qfqAX7q0ofaEAfGROLDB93QB/FW9RpOMDLEwLPFq2snrzFDbC2iNCdD20+ib7brqcrL01ceWl0s32u5ZOcDb3juvP2e+cdheGF6WS6rQHk8qzxgC1R9ysfsYm4T5lnr1eXlE2nWNJnx8iRNKw3vUBp/5LLDwnrluCiMj5c55LixB+46UsybS8XMVHgpWEZaCWeOB2bkgiP+zfmH1iaiS+TUJbeEkIJuEOklcRxaWloYUtzud+KyOOfv9HQRVoOLjb/c98MDnNZs0YcTu8XBru5iIWi9NF0BEDJpnejB6HtRds1SiuVIvjTqSZjVF6mlujsGAPZJiWyLY+KEWXld2R9HF4w/ePfKOH7Hm8PwsxPsr4Sz0wPMe8JOrGQuptlOjBBSfLwTqcXzyJWLyvgDdz8zrITHy92k4+phdNzYg986WlRdEMn7bDCFcwwRFq9V2UPRHphxC45407t2m9i6/TvimKXpQLIB5c5p3hV0d889Sd2sO62dnATWV58y58psbXncuwe4wMDKwk7Y3rSRg5JkJ2jGLad/O2PLbORaSNBj0oSd32jlo5f8dAeIgogDs8gDEcxrn70KppO/1AOiaI6JAOZa0tbTJ6GhAdqyDxyjONV9lKSs/XL8e2MPbFkon/5eE4bn1LV9uZuVHtC8lFxhDuYayVz18q2b/J+uRzh2PvSWA8OgJrdEouPltTTHyWLjGBlTS+SWuJrJz4jZ/G/ygbPfv0rdxFMShtYDM2rBgUtuEw999+syIg+CR/VkILM3TwbZkws4rPBkYZ+s9QQgFRzYMtC/Un6CdK7qC5BpLT2DGu7O0I0RyelM2ml8kvYIlGyuIdGkWhClJYRG/uzr67M5ArHaXmBPhSsPQhUmUhN9HD4F+yW/zxy7/5v/LPpd0JOOZaPh94DkB/OeUJXOJChzNUkvQZSWEKSVEszkbP4PYsKXH85cOD6++WVRGB4X1oPj5LcFjotrO3eDKSy8xszjBIrundif8JfIjPLAIPKvbw6pP/Ldj8kq4ZTk7KODUXbM5MwtFczx/EBAJTSZeeDgSDjn4gypPJyqB5KYiCDgLSbEpm7YjhCNedkCopSOyZktudx0BAY8+QTo+nbV+DYAlDEIGbgCYTQcEfdvu7EN6pPJvJU91IsQfMBb8UOmX9iO0NkvVv7hzvted9f8A75WPijn+2u24Yw7YZ/zvxYWf41jorbtMHmP2TeR+Dp00+GVjoXEvkwASSdsYX8QcUBl2peHQ+2BGfO12PGH3vzWehS/GycCLBq4cCCEl4m3quc5CNDOSxGucvwyfPrnVg91lGagclgG4E+CkkDgWgjlQHkcNNzxoy02DZqDPs56E6h7Q70+0I+e8B3kHEWYtmqJNenXZI/IVnvQb6q7YVanMsCjfGADr5Um+Z4MyGu0P/jo2MPnHsG2JZw9HojwtVjEe9L4azKnOaH88EGaT0luMd/y8r9wt9WcFaKX6NG//Pftb3mNpHDryg5698CMWHBM/Pr858oPav0LzGw8V3Cg2UA1N5CGcWk4IDYsRAi5OJGnky7q3X1lyzwP4DMU4uSmhwRaNGxatUlS4qECDOby64QlTG4C1biB5jY0T2Kpshp3eGU0ir46Wl8f7XDQrCaBoJh2BrE3nVL90MR01saurcmCPN8GH0ddXn8mK5Xvy1B+z36xc259fOJieeBuRl2ZNE+V+8k8gIk4N1+8+GMMTDX/J9Ohn3WwJdceN8I4YrrJf9/+crnRz2gNTtbQLzjiX5//9Hhi4luRTLZ6QpBBx2RFAioOqDgOdZpWD/JEBJi3SbKPzwmD/1Dmctc3D/hnQ5tQbPLRCUhiQagxwQSE+Lg/rRMc0MeTernKARzP3yTP4IDmYgwjgLOAB4X8yBejudzR2pRfDyfZUTb7Ux2dTdaT6U0RPs3nZXu1qyv7g2N2PHjHeyi/hLPDAziBal57UPMF+epozHvC3vJ/sP7qf/7b+B/6E9dg3TxjehvquMUPv2/BRG3i23I62CvXo9lslsGpoxNQN7TyTybErV72V4RP+9KGXNklsWcP1OQSR3JCdQsBHkMo8NaFdRYjC5/gyaHheqJ2sQWeFuLWwPoSDqeHTt6CA/o46yFK21hzE0uROMrknPIKje3bQYjQNkByCztzCuih7JJDQerBX8aPn704t3lJnOEe0ICLDUnADU8OBdF/GwEwtpv8B3/hRb7A3WocoO8p57/YX17hKDyKhXQw1AuOiejxi+TKxjE6wjCs9ESVnjyyyctEbpXs/gnG4RcV4tVSqJ2Yxcl6gcFB4NkNk6fyCNSJFDHGv1sgZGOMuKEAGm6LhzRHUIscgQyTTYh+iLNeuYWPRXWRA+qJZ4asHZ4dElzqCPP6N6XQMYSYHELK9GFv9se7j28P/5g6l3CWeEBzFjvkGOc7w2mh5VySXkLuLv8pp3BYaP4H8sWXssxEDwxt3MYeOvev5Cvar8OAkvGnG3IYuMvlZOK3B0ndvXr9xoGFonlwWltX+9i8/Q66yvBy33cPuDO6LgLd5MlJ1IcaX/C6KPN2R6tbICpPeCkDehuNFkAWisls5udEnvZJXsBm/kb57AvQx61PdOv6BySPg2zjQ79P4J3aX69H7ymf5Ui8PgsQu6nSafyZQzCceWhOcPnXMv8H5KqC8x8P2ZZl5nlgKBcctYfeeKY8JCqvLc+u3u0k0fFg46ATmP2Th0W/LK+MLv47YjMvJ6ZVY06erWM8repJ540TumlD2tR168L+PcfuX3P61HssJQyTB7qI/zCp3TdddnX7++bIIRU0dAuOsQffclg9ir4it1L0AgUWCmkhDujjKUcDhlU2ilttN8Bg5ItWWe6L8ECrBUO7CaW5nlcSGPMshPbMBYTa8LT/ydsbv/H4uMnM9sV+CJs919x/qpNq2qRfu/rW+ssYOa9Zg5Iykz3QnD+t4285CmvTfGzffjDegR6+LuzVp/l463rKyY5FtijhTPLAUC044offtiKOJy6XRFyCMYRbJYSKi2cJ4WQ/YRVnkmNSx4YlC6F3f0W+3/Czeft9cQ1klKUID9S82152lQrxwWbPQxgELgFSGqCP8zkHcBgfsObSlAPCQlozd/cUpA8KoI8bVWsc6vTXI7PZ0s/wIuwXv7w8jt89L9WlxGa2B9KxMCz536s/kftF53+vupXtps8D/jcYp08L6Rn3o8cevPtSQQ7gkxZ6PpI6QijYiGOSt5dVo86ODOJYCR60AYAHjsKLQS5LgR5wgdJXoQjuXomiHfoxtEWIfa21F200+ljIMDM0yCKJnaAOs7dbLWRzBHXUAf0TB0RpV69M3i7LX6T9ouP8nQ/85kTp/jpPhRKdgR6I8JsiLue6Ub/b/A+C4u8i41cGMeRQisp/ueVuHZT7GeWBoVlwjD14z8fl5Uwv1kz1HvxMVw2WxHZCMB8Tb3VyyEYCfJUwHJtTCb6arSuP++0BmxCw5xpAe+A84aDWSVzc/NS0aGRb1ifChCAn97rE9F91cvMnoITZdQ6pjsYqQsyIirsVEfGkXtpCvkxwc+VHslbIBL+b4PuKxAPzPdZoII4gi9QEcQSt69F+7T+WMVMuONQVM3mHS81IiWy+MHcAtWQJyB1LIq3GMPAOHZ6OLydlAMASPGtP3/J/qK7ND8Cds6SLoVhw7Hjg9b8fx/ULbOZ3IwYObsrWyb0uF+2VgbCpvYxEuUnz7XC/f39yckll7VQ94J//fbw5qE0zqHRNmnFDF4ushxhhYuGB35qWHzSL7z977x1x/WR51Oj8MIjk1oZO+8mHVN9mH++z/dJf+Bz4pyyzxQONkx7znjAZCAlB7PZwveIhBF7xw1xIGjxEetHe8nPex/uV/2H5WypFh7AQ+dO+4Jh48PUny0Oin9Ixg8zEvJ1kKHGcgGSxoO9BkOndXQEBVR6c09OTMigGScZvNG8P3rBysUcp0cI84GZBhsMdWojkwIWIi0NCqOPjWfU4eQIOavLM6oDj8BmXPibgG9jG1r3u8CisfVqutjwvO8HryQC2FmC/SIUfn6mw3M1oD/hf8+w0/2FwNt/YlhB5x1+MHZSD5khHE0x45H0B+T8oW8p++uuBab0wFT/65n0narVvykQ9N1lkJIsNGMpZGpALC4NcUhAqt2uLWyfYdDg6qLLC8NF5+7/6GvCWpWAPmPvTyQaBYrAI81RoDLmETQgqCxDTaAqTSTVPzgBp8w762q/mH3AEbm18QtWznekNW6F/QfZLnu8Xx2fLa//LMis8gFxBAdRNdglszn+d64RBoRsrwJP2efmnHRS3m5DlxqT992H8F6d9KblID0zbgiN+9B0Lx8Z2fkeM25MG6kCRAw6eLAQfeXycfPqWfRlsgNhQCPUgir4UhufUFS93xXqAJ1hMfjrpYRK0iZGQcfMheDXGbA8tgQ95wTtdFh70rT+W50q+1qB/8fZXxu6L9hty95TqtfMAvpDncoUwyftJ8h8PKaMAYsOShBC4jjUHgQ+scPwWn/8DM6nsaOoemLZbKmM7N10st0OebXdQ0oGgg83ZZXUYTEawwSRjCAPIFR8njRBfodXB527ByAOjF7OuhAV7gJMbYsdJR9C8p9Z9TRB/a5LG2J8o8XQ6aob1KfUFixe9bcfW0ZPEjqepXQXbD1/Uw2CZ78OZiss31So7fr36KSPj8cpaVF1UqdQX1aPKokoYLZKoy53UyrZKpbItrkTbqlF129xKsN7d2pqpJjfozbwnTCo5loSQzX8dC0LnaGFbQJRs/QC+pOI6dhqZQqK4kfs1/stfUzF/zrT9tCw4xu4754PyyxRn5wyHBv9xnBGikgMrYfQI5CNUfncgC4+b5h9w6d1JuxIp1APJQpDxSeYf+RQmMeHzF+ADTn7irNeJCm3dhKVt8UlO40rhhZrSlfBw7y9v237vWR+V0+PHtSFVLMR+U60S1WfUD7lJ7MLxB1+zKqoFJ8s8cKRYcYDE/8Dt627ZXwI9b1xzIg7quBYZ1oMIb7FG/MMoqEd1OemGwURcDyaEvm3dq7ZLBt0nGXGfpMS91aB6SzCneuOC/S+9X1rMoIIRkI6FzvLfzGOK2ZGe4QW1AaMf1oSBH9oG5RCOZzHJioM6vvsw/pESZZl5Hhj4gmPs/nPOiuL6h/R8If6yEwcd1zhYSE0hspY8oBK3wdW8gPHrw4tSOSVWrAcmJDIWk8YFgkQIH3Hwn3wN1RYbCb836UJHx65QdUYKqAA9GsrdgiVzPr9jc+0jMunOKdp+nEiiOBz6BceO+16zX1yPXytxf/62ta8+WQK6EsHTE5CLOY79k67WW7pMFv+FMokcLoIOR8bV5S+cqAfb1r7qUfni0I3ybYYfLawE3woPuuxxyBveYiOgW/sRf8ylXFBYe/Oj2srFGs/QHd5E37b2LDyPdHpWftZ/GI7wuw5LxWU8R/V5yXjG4kKEcJ7v1/iX/v5k2z1nnZ/VL6uPKtaooCkLmuqbHoqm/2/RwZd9ymo63+9Yd9YH5TUq56FFUz5n7E+clfTfZv4TmbQJ8hlrQJR+2g957eSDxy/UzamTb381+OeFB377n9BuoAuOsYded3h9vP5l1crXOsGptsF845HA1sAmczjJ+M35ab15TwfEjvlx/PWkmxIp3AOY+FA0JoI3xsybgBwf+cGob5N1DRozAgJtAOrAdXmgHQ3RLtzz0tFt6866WfLyxELtF5t1DFT1GsAQecBUGZWvDlfqE2dLDF8vJ6HfERjKlR8JcZ/i7+y3nHGZQtlh+BRxzjlygjtnexB+cnTtWf8ZVsKvLqzE3wqf8e1NQ+csGQfMe0LoOGn+T26/mcgxQmjUTvZ7ie/kypMUjjngOZOyzr/JeG3UuLD8D4LdRL/d2LdC1dXlltNH5wmlY+dKxhfUuBIGu5GlG1iP4t2lnwPQhvMYIdSQq3iTzH/WE3Xoav5Dfy4e/bBf9Xe+sR8WcfnXQ/x9++WJhhVm5QAXHPEjb165c2z75TLlLOYoglJcEUIhTkSAVhAG4AwH8U7rnZggviw88BubeVTCAXjALQIZOUL0nAyOTtTITnCdtBkCHrH3Z2LoibSbEKr12/5KUNkyBCYnKoze9+qjglr0l2Ft/Gx5TquqNie1/bdfHOpJz6BSJ7VV4TlV7sKcKvdfPiW3YS6uzhn5yPz9vnlfhnv4DjvJ/zb269mOPGGnbxqVSyLiuOycDE9zFlZnUS5hxoOMDCGq+53/7eLfaD8UkM2dQlRtwQEjd9UVOnZdZoH9tNmPVT/in57P8ZbvARS8tnzHztFL5amvZ2D1jinAFhuIPRYdLonxkKfgyuMe9NTVvtORiQqIzXj99ilNebC2NL6LBmBm2UWeBxAkFAY5C1mnTBZ7oK1yQOWwDWW7tsME5OE+u4RPHbN285i2OOWZ753aj/FTCYdjwbHj3lefvG3tmVcGtfqtEsHfk7FXbYoX7Sbsg/3oA37AnyROAoFr/4TgiwK52Bn/QX28ds/oPWf++9h9r8UzJENTeol/N/Z3ZSj85XwH6OPqV8QQhdCOGvesA8zbwE0eQQu3H2dT9AeIDYXQjrrfT3YWpW15tvt1rtdpt9/XSXA/5j6exBJ6s02e5zJ1A7mlsuO+1bh/8yJE1r+iwTgTQl+dNBLFWUMI7YGbFeaA9PIsyBgfqQO0t4fnHXDkfwbBNxOpJTIID1jMONdrXHK61QhJJSCKroalKVfFiDFX2VovdRpiE69thnMXy9tsMUlbOhZpfxTWp/UKx7aHznxKPBZ8rFavndM4Qm08Kq1FvPoS/1bOlcTQ/JHc0rmCiSK6SGRw5eX1ovPrtq494zOLR6p/NQy3WnrK/y7sryVXj+mMfKiPfIhcxs5Gp/DqtXY40CiYr/EQL+dt5Rc28kM1pQ1Z/Gm15h9sSDRmTRdQLwaZgTPd/ux4YewYz57i7105mmxt1oXHW7PKvex3iBF/iISEMQlEJuLfQeBaCPNEuqse+Jiim3pDcEDFPQg5wiep9EV5R4KOnzyRJa1YDzBRGaIsRD5Y6Cw3JCGEoomB5LBpwEHjS0M9WaoUa1V76TKvLwQXdEbJ2s3jqdoPOfNrizZqJwPeyQvHqqNrz3hvtCO4S8bxOXndD8J+5AH9KUnjfK4TgFMpzZSsPvKJsiLz4R9uq0V37Vh75hvzbBgELdY7/aJnl/kPe7qxf6qfMHW+Rp/QUzYUQj3I7LL+ZpwI+5H/3dif1QfeM5rZklG/w8PWp5dsf7SbcLjspw8Im81nrLuNPyUVuuCQJ9OfL6vfT7IzLq4BsamzHQSeHWzgAE0hcC2E7tAHXEkBygbO6rzqF32WEh+MB1olZDZhJfw6YQH6ONtnIXLBZCC6k+TCYMxs2YvcPlzp20pGnwbct9nHUZe3Ze2XNr8OD75k4Fc4tq99zdO2rxu7UULwsTCMl0D3PP1hN232cdrmt/Fx1mdh1n7I9POAfbGdL1NxUZgQM4TyAUbRXrUo+rIsoC6P7z9ruckd3B46+bpS/yycqv2dPsFBy+EjFPWV7P15W+dxqUsg+LycBo5C6OO0y7fZx1mfhVO1H3ZoP7QI4wx/0HUKz15DZp7+vs0+Trv8Nj7O+iws0n71gShJqPqKbwjVd6IkYRJ3oUH3PP3R1ndrYQsOfA0uqsffkN8ImCMWwAozxEEY5SuouJhCCKPU2YSQIaXBGe6KB+576b0v7QZXP8AoD6iEwQ3zn37pOm1Y7qbFA4yXxjInhk1KIQFQAGVDUhMqjkPyCD6sJY7CQ6Fb0faLS28ftA+2rjvjxVEw8UuxTb554sYlxqmHU6fi7Xf9iyP8vti/TQY4sknBUsfmGaYRobaJ4zNGJ+o364OvqZDBYVQGULZ2+e/b7OOpwuYf2t/pFY6K+As3SvBPqC6EYIpU1A4s+inO/n2dfJz1TbBg+038JPFvUqgzwmyxX2MtJgMy7oRJ3HuIP71YyIIjfuxNi6J69B25TLgHAtwyGM4C1pMX0BIjhaYwLQX0cVebWYDI9/AvtppyP1APTMjnqFZB9AMruC4UHbRFo2QD4ojFiZ5ERHMHQSLO+oHa1WFnMrHKLeH4eblJ3G/7w3CgC47Re854v1w8vFq+3rqHnkA0NhYrjQnsQ6AAfVvpO58meF/ir4lhHXAxCohNVXEQOHROIRLKaNba4XF8YFCbuElsfQPpRUP4gXlPCEWhK6GPa4USrJ76tbO/0ysc+IFMja/6Lo2nT5uN8acfu4aIBTbxVwKBoxD6OGiyDWX+i2o2Tswextz0TWkdx99bZXgovDH1IkqE27du/aIMlaPgeFHPApAzODQwXr1vgI8rnycLMimXUHm8GUa+c7994dLdLoX4skynBzRCooCLmuaB4IB5OdFWVY5eN2Lb8g+eYdu6M0+VXt13z4u2P75lUBbKw5V/LxPkR+T2gzxw6eKpndPGPE1Y5/j7Hn/IRS6YfJ03BAf0cdabhtTJNQXRTyfBpe0CuRj8lW33vOId1mZY9lAUhQr3Yr9J6Gjvj1E/drMx/j2fDb18anIq6wBl833o+7apXStCP+JPnaSPrDh0SxpwX0df967jD2EFfC12+7pX/Y1MSq9tUNT6EuXdwzX6CdbDWU9DAX2c9WokDlzwlO45r8E5wTfCPb6wNWlaIoP1AGLhx8P17pagEkH7A5m0fAUZX4s5Hq6zFngg2OVQfsPpo8bx/1DbC7ZfrqLUFy2Yf9UgDB295xUfkZuxH2CsWsbPt9nHnZJt2zcZ0z7+k+WBLTqQitKz04dQu/J19HGplEM8DfaZrXe/8o+a1BoYof/2T0X1tvHzfejjrtO27ZuU67/9LePf43RCDVV132Yfnwn25+ibDUfb+PkyiHsPcfS8pssqguPt9575GgF/C6VMsRSmpxXWmAQ/WEwEQMNTqO3VAKMpD3oBb9Jf2os8en6x9VDup9MDFkdM3hYrrCOBp2tKwxE526CtnxU4Tgu/vgZIPK2dfmzb2jPeJva9kJoUbP8N4dMvLfwbKlvufsVHxY73Iy7mc4P0PyFt9mHB9ktXqU5p3rTOH1+3PDyrrxzLK1WiTxS/6Og1//trf+ITOfmaL2zcmm/TvhBzxp0waeshWX/2f/ynOvUj/p7qHaP8bJzXYKbZn9UXPmUeALdYG2TcCSezn3WdPkNE/pZw9L4zj4xr8ZfkzYLyVfI0BCkmTbFg4G0PHFr28SvdYoyapxAdYQgaDUcp3iDTqnSP+2H2Pfb4gfkHXn5depnEYyrRgXiAiWvhlgT1gubjWWXQjm2ydTi2OoN59dNJ27H2jBfUorr+FgNSHYW2+Db7uHGl++7sD7+dtiwG23L3K98eBtGf0h4blejLDMzGIzPEC7ZftMjNF+d80TLr/3z+1HfN/My1+OOjd52+bvGqK3+Qcvcf60w/6tS9/fi1mY6KfBTF5Z1sPBl3wtkU/17fNKoX7uEsKVl/ZfMJPKC1KkXHvzP56XydtYdxJ+wk/r6tfbnCET/6+t3ljbnfkcXGIpzwYZRubnUkR/qHjoGlhTigtSFEe0SPEDjqEpjHDw600XdvuAxIOyuxAXlgQvpBIloypgsIjY2LaSvcbwMcMSfU+KsNyIXhKqP3nP4eeYnUNaLVPNgGnX1bWtmbpfttaDehb7/QxoKRyleL9MKOe05/fiWIdAEFHagHIfSB/oS0mxB8xAE72fw27IfQt59288MNoOHwPRKHeoETfUMXxsQg5RLmy2dPcTWuBF/ded+ZzyKlnzCSy86+r6AT9SLM1w+2grcz+7vV2fpu7S/obP61+IKfdvh4J7FnO0Lre/Lxb7Hu3H7TqZU93XqH/BY76k048+xHLFEIzU+gwJa8eMDWdvFHe5YpX+GI43fMGV376Dcky/aHRrjK4DRD5hmuSqFLzUaDOFQ6aSBISW0VMbZ4YVI1idOJRNqzkfCjRXVu/EWVVe6mzQOWiAh/NoZ2QmB9VkHSCVGfh/u0rIxBHcuLr+Zuu3v7OfJR8M+jKD5C+3W5Tv0KtP+LSw64/LdF2brj3jP2rdXq3xQ75vh9tLOHdhO24/dlA2c7Qp/m43496H5prOOEYpBTESHa+fzECX25Ms0sm5ioXR6vPff4ot59wn4Ju9LPKeu3TeZGzpHJ9eMGy5oP5Ef28Jct7eLJvgnb8Wflsx0h6vNwn9ZKhtFpQ2fxz8rq5DisyJeII7tyRL0IZ5r91Jswa387e9iOEPzy8HUiZsoLDlls/LMsMl4AiXoJTpK04dqCP7KTBGbwbfXqKwfclEwTjfUG7QSm/enJzN1GAQF9heH1C/a/4n4clmU6PcAYQwf7hEltGE87Bp+3aExw0NIaO4KklCb34iryfMHzlLHFDmdLXHHhWZM4YDelEtTnxpVwtyCurJCHJ/eVtieN3rPtBLFsQZLWKrBBQ03JfttfCcNoZKTy0W7075ZXFhuflzjtnvF41/bY8C8o/h0YxczKzZ8O2ufY/8zRaCN8X8C3V/zc6SD/O9A/a38HTTIsvk7iDRx2MZ675U9HdzH2N1qTMbXHQ/nWlteysYeZb//U7IH9uuZwHprSgmPb2le8Sz7Z/QEHM2T6eM5g1c4tCKZB48nHadUjUFmVcK3odaaKkKWn5EJVf66yA5lYo4KXdzmJd9q+XRe+fFmkPb5k4cI1g3jor51exdS7TGDGMeggM4e14wwhwy9PBOkspxBNXT2g/M2Va1o/Bs5Faiocnchiw/WlEAQRRxoOmwp1s+Y2WkR+BD00MbBzOkOXpuLqOBLA42xQ1kx1IqsFf579ssT+4vwDv7u2qes+EbbcffrvyyR6iukrCtMGJWQdlO00YyDb0leZ6l7shz81D6Tr7CeubPy1W2eC2WPm0N1Z7ZPcZGgZO0AtWDyFb5dv7Xx98TO/d21T+ykRnKLsU2TlxX8q9tOK9mrKSVRD7emkjWZz/Dv3TqP//AUHZNBHQAX34smpI82/yfn7HX/0yzHRaIM7ouqAKNTdy/90zBpL476FPY6p5wWHfCf/BVG99k/UK+3UpxAn5EQBpZptsRMHHEJ+QBoAfrRPr2gQBzR5Ul+vv11ODm/HcSy/Rw0/1SguSQQjZCcrdFsXfnZPHNDk2Ykt1c/o6Z66ugaZ/mBLLaEFwej2bcHWu1/x9cqC6vsW7Xv5o6mc2YA5p6srBG/lEvUH7PX4EQDyg04ZwmV5b1fGtJXwgsaYEDc+NACXFEJ0A9x1l+CsB29DIaNBVU0u4TFHrD/qhYaN/Nav0Cgf1X7/efyT2F+phOsXL5r3Zw0q9vFg+92vfGotqHlXTxrtmW77La7TH/96VP+3+PGzjwj3vHS0b+5n3AlVMHPH4jBl+zt981di1K4e/8QRHSKN/ur3+J9y/KGeP/8Q5/zUZGWjPb2N/1RoTw+N7rj/rP2DqP4NUYVXqp1EXzlOCgYbHQU+TNop9HGbtH1ZqcKTYTzpAPYmz++zUYYvu7UOje19m32c9pme0Tn17RM/ie89e1lruTOtRpZVjIEHcZbGH6HiSoHfuMFW+hGshreSp7zK02F7GVgqEwPMwylfNXR6mn7oIdVHlrRQUJpKXqNGeAkTGWjvNkGsP4GKoz1o7s+kQyY3SAduBXJQKE/WOu8Ln3bZBqvt/34invhHeYvoslQ/05A9Tbf96jvnS+DqK8LEb63958fcx+lftVvk8Q92A2dJ7Jdn1rZt2PpXpE8d4kMT+yEUitpmUHHoBho3tFEetGE7QmsH3Whf0OFHTJNmcnLtl76Y94Tsw4fQzddXZYHm/qCz0mTfkf4ZedqmG/u9MZ+Nf8OPfsBpXRTfZh+fSfar3ohGQ3wsQnRFkv/Cx7gT+nYTh/14IJql6wUHXlteGxu/XAS6+7sQxWRphOhU1YUBHp7ysy2gFOVx0Me1EtWmOKCPu2o0JKfhrk+V2w95Kp194IC42WnHKe7b7OMpXyJj/9Hatn9Q8bNk587nelIHjsGNjbg7VA8CT7wmcVIcUDatc9BvS3kQbUIV0zbA0FbbSyNCLPqIJ/WOF7LzNuX35IEJtIRZ6vz+IQOFsoAozRGIu8Pu7A+DLyxe9f1LrIf+70fvfuVRMiHoT8wn+nkxoN2Eid1qlOlDlO37aj+6EMHaR9KB0ax3Fxs5gI7Y/Jj7eFLveCkuC1WGJw+dg6YwDP5YXgewF/ueKkzy3usP+lAH4FO1Xy6xdlToB/YNmNjt7LdAmE4Uqjo6Up6+Pg04bCYchP1qj3RIe7Rv5AkNmCKkHEDFZUcIhDggtmGynzr5UP0FPacQf3+R4eMidvIinYajm5/4sqxZ5Il8uAqF0I6627MtoI9Tik/zcav3Fx0+ztYWXTmiB9EHcO0rT57REueCE4MrKcQBfTxh6BLxZUQv7rLxULPTQ+pL0ZQ+lWnLcED5QzgINUyyS6AgWuegthDBCVT3yZGDqEFbQuDol9BiCf5EO+UGPwtko2gfHs76hJUiQNAmRlBUCHZk/SsufaoPUAfc/aluggPqJrsECgI+vToWxj9Z8qyl70r0KACJ4trf4T06EE39iCfdmYFms+KyI9RWaQuQzVYHaTchbAOPg4ndQoPNukBAneDUR5oaDuj6JUQNZBACR/+EwFFHCNwKodYqif3hAHhSiAoUOQvj8Z0fSOqmiEBPtZtQCOi7v/Z3tuLoxH5zCxwBw7GjpwwqRXyeQMXlmFBqNDYODsZ+65/6QnNngKE972eH/RYti6SPJ26BmShmriFKa21/en0j6PQCm3YRyLsGLpRkebUdSZ+SOHwOgjQfWjLZBAo6VCINx8QBtejIEi5AFJFvow0tc9oLH3UwBtNH2+XxS49wIr48i0KcjlV90KXWYqdfs1WYkDyEfQPmFZUnFZQHLtLAT9zBfUCbLaWVzVn76HtCTRIwOZeqb5BnrqHFzGKXykr9TzmEJiqtt4i2zoFm/jTvtC6b86KYxt8pqPoKY6pvGme0zxbqSUi7CVVOHKwJ5yx6TRheOp5t36/jzfecfkJcr50BeYkugjfZMwD7ZU65TZT4mSx9HpdPRL+Vr709XonDqiizRxQGe1biYC+ZxE4Sv68y+9P4UnfCZnsmnwOa+dvFP3zn9nWnfXThQVc/bLr0vledaYqD6v8+5n+XU/60xF89WJD9k41/nhe6jqC78o52TePFo+XJZZ4SctwT9jv+k9lP/RJdPN2hB0rTOU8q2s1/Fe97qx3e0QuCrXee/to4rn3QPgBZNqjy4mwGClQ6XLXjgdNWvy4rOL8228QvA0uLg9rcG2xW6e8dP6NjjT2Gxh7oSEJz/iT6Z/RJpx7rt5/2i6yB/QiX56DCUF5xwoJR8RaLyGRB2aLelhqIGJMICS5qu8MmA1AJWYwdcSefsScEH994q7La8UM08s3v38Npax/tvzWszj11yUGXPdFkax8JYX3C3iY6TfbLF8puFDdeUh2Jv7fwoKs6OnnvvOcVB0zEtdPlm3LniSuOVXcMOP4y2c6r1cI/kr7/Qvuf6i6jf7/zXx6h70jDyrzqH4/U6+7qjZfgSeL7tFTk+ER8thz9Qx/zX8RhxLn+BMBF8vD0x+eMBPpSurT3TjFfd+JhMG9Otbdno0aq/2teGH0i7Z0yQSFOmHINCpOYnCQuuxj9cd4jLHr+kx9R/fXI3MpFtLWjBcfo3S89qh7VvmhRF9VdodKEIKe1lhhKIzELJQZIniQmYPYK6xSCnuEnnVCbsg9ln/zTDPUmtAUIUtuSA3TSVHamA7YjRLXXvdkGGolZ6NsTB9eo+Nm2o/GEsM/Hs/aa61vmhHpYFw/OmQBoQ99C3mTyUd9NgSyehNGOuOoAQq4CqLBCXQhB9XHHloAG+8Nrls5feE74jG9vSuoLQLaue/We8fjoWbmii7Y/DO6vBJU/W7Lqqm/m9j8Jcf4zv3efVH9STvqf2nLPy94YRtGHJRpPndS/k8jLrerI/uA8eQncB/tyBaoh/nkauXxkwuemH4hTK4ufceVjvUjYctdpv23wP3OdEEJ9PNtJ5/ZvmH/Q1euyzafjeMnB318v/WIbuhLff9by8Yntf9KzYh3lf9MErN3JFLkhrMw5dcEB33uQ/bd9hmPr2pfvUY+C70iDRUmiQAkmDaEw+Lni4+zMJmccYUBwUBCmXAnmC/HxhCGDUBenn66yBQfkiptQWzbxm124RKSXiYSJMI+/gSYHvoo+rnzG7NCM/TLpLlm89GMp3yzGfMcIrv51kH73oTAYD2Ll4eSBp1QGXZaRjza2IGF7uRivcvJzgvmR5IzqJm0gF1uTPMptkTPUizCjn+qufVh7s0WvI3546arnvqzoxQbUqo+Pni9W6DfOBmm/vKDxn5ZWq4csOaT7xQbdCSi3YOJlz7rqy0uWzX+m4F/UOvgZW1O8+h9/+VbPnpvvfjJ/wabKtN/JVRpRtXmzXLUc83HyQrLljOsDNqO0sN8qi9036JPtKqOf8gqN9mShb7OPSxTL0sYD8aNnLNy6c/uVklVHwnfmv/7nP+PCuFtMw63VcM7Lljzze3f6ak664MBry6OJ+jflva37qcJIFg5glyRI7CRJZBGhOKCPu4FE3laDQRX1Bh36Ig249GT9Azr5hMrn6ZT0AZ25QQZwQMW1gdAEygadCRUXHkLjd22dPL9P4PpHiCPigLKhb0LqEcpbcQW/QF4AtkOkz7oCn6Cob3J8AlfCJ86lTRBtUcfCq0+APs569a8cAPo469tB9kV9oL7SYIaZksJ2wrRJ9/bLPZ4nlyyc+5EwvLDweVV8hMx/O00ZlP0SnP+1ZNU17w0P/v4Y+54qDJ9yxXa5UnJ+UAk/PfD4R+GU3jyKiZg550P4hDEx3I6Kyn/00c9S1Pif9MTVTwNmqCz87MKWzTsvk3FwIufBTkxhrjEHe5n/ZNE/Jm9DftWiVVfenO1z0rhtvuu+T8rs+rxOTxYyibjJWSZZD6fyMBx4q8kgayz6VX6BmrgQK3/4x4YlAqGPs14dDZZWJx+hawF0uhGyX0LVAHLwB+j4CVV3TwblEKocrw3aoch8/z+XPevq7+vBLNo5TyXxg/3qIw+auS4GLmjOKwyh+VsYKU99jyPxXwPuONTPgrM/8CjN8aNP0FggF4XyiSvR0UlTHsjBX4fysvpAFmhpoS6AkIwSrdiybXzd5jtOex8mDiUVtNt892nHSp8HOqu0F2qBA+Ksb/C58+Nk/syzX57+/Jtlh177wSJM0qsdq66+oFqpfJxxJ6SehHn2+TQfb2e/rNpehKvBvduEtaXvbRwZJYVSn8k/1Ys0aZH1N/iz9veuY+ct6a+sPpAAWlos41NrUWN+SO2mH1L7vVc7pKJKTD0QxxdWtt616RJJltPy4l9E/ieuD+XdmWHldbLw/1FC85CWC47Nd5x6QRDF79DQY2LBhkJoB7pHOlhK4LB1sqS1wFCcTLZX2S6pBOdAATQcD3hKK3eLRHsFnkiyvk2uL1sYwCO8hCoDump7tGv+g634A9TNGqsM2/l9KKeQDaLGtXbQeMmF9rJI+vbSVVd9CPhsK2nM0jgy0Qlhc6MHXZyFzvbgAc6Ci1EogD5u1GZ5jIfV+L1ZC8oGxNZugPp9qg5oB11c+yxsJ8/XCLjqIFA0WSELj/+3+a5Nd2258zT99oiS+7yrxvErIJJ6t9N3qvbLguCaJYde83d9NqNJ3OJnLXu/PAz8y0HFXxKnEtfqpzcp0iHBlhtp/BkPNAfOkvU/6KQBz+ZTvv3gLK5Qd8B2+ZTVV9tIO8qAlsBZaKvcjitLCw9svuunn5Gvt/+u+ZZnHBz53rbG9C393S5e9D+gbiKGsIJP/XHlrXJOwyMYuSU3bFvveumLpO3HIUkVUomC4cQL3J2AoRxwQMXRH2hqmJ1ogEOGypE6Qm0HPrR1fyoa/MJk3RieyBe6yocQFeRB9Kp9GwQOFsIcdtTKhmI6G4+1U1yUIEzsNsUg2Ppz0Pruwv4guH3J7ru9CZ/ITIfZtYc/zCcWA1rnxwF4dmO8kvaUI1B9jliB5v6IA+Zt4l+lA/o4eVVH14fiyi6yqBjkAnfys/yqB9rzjzgg2mhTg8AhCoXisxBtrDvXPoqeEUX1yzff8ZKPF3G1Qx4deCVsQ7+qr3ROmNhtCqkPtM7jl1bWthP7w2DHvOrcPzAPFLuXBzjrc6Lg9yuVSl0U1NgXHf8oiHTx1otlmIgZd0Lf17ABG/4IfZz1WejbrHgvynXTRh74Uy1djqCp2uFkwDYUwLwNvJ3YL75WOeWu0QOb7jjlf8tbwN/OPGiKP/w72TlMnK/xYnCE3wXE8g7HsoFHN0QbOP7C8H3LDr3qS40aNR41LTh23HWaTHC1S6M4GpFnN0SYBJabZoIcO2WgN3BAxaVjQmmoihCqEU45ESgNoTiUcRBA+zGouNQROmbjRzMU8BP6uFGtf8HpHMigHiqvXf8iswj7xUcb5lUqr+rr7zA4m4cC1OSrdy43VB/grlg8ERPzbRainfK0aE85CaTshF+CqjQEN413kgNSpzmQ8Aub8icSGxHWJfyN8kWY9qMQOPgI/bZOaq/2i8j3bL7zyZ9uuueUAxoV7P1o9P7T9xZljx2U/fJtlAvdN0t6V7qLlosOu/YWyTJ5GNvygHEnTOxmnPJksw5Q8Unj/1I895Ynph1N9JS0sbmVsB/6qa2+/e0UmWo9fumygPyfqlq7QvtNd57yl3JO/IskTwc4/4Vx+KFlq675p3Z+blhwyI8RLR6LIry2fGVuQyQSCqBsmswOWmKD7HiMUfdCRSMPd2gDLa8+M9pVttAA2Q8hRXpQNNQjQB/3WLpD2Zfrvxf75cpRTR6o+d0Fq66+v7vOZxi385FqTb91YgJ5k/aMNWLp4a6+OQbiYZXBMwTaAbf2VifZIDw+znrLK9cPdfAhVtQ4BtTVNcRDviuoQ2Eb4krsYNfU3umitkfHhrX4xi13vuSZHUhqy1LfOf5i8UFIP6gPtP8i7JcHYeeMtJ2Q2irdJUN1ZM7/lWtbE4wvbQX0cdZPKf5xvHTrXfce16WKjeyTxb8P+S8/zNfYX7+P9BeVRSjs8G3ptB+/jeKUI9C3333W7FTsbOfbdOdL3im/8PxhzHWW15iTsMFvhI0536/8l3fofGLZYddeKB21LcmCQzoPNz+x8ctxVD+crUwh5A0VNbxVvXAZL6AaCnNhcH5pJ1/uYbuGgPhEDFkG/bapdPYFaJfmCHlKIESb7KdNn2a4yeur/WH4niWHXHsd5M/mkvrMcgJxsA1WM06IweQ+bucjxhPQ8DTuaT9pf838bJffU5N+HAvQ2+meQFjWZE9/7Rf5+0gXP9q87qUH5WvcBTWO9ORIn+S1bLJHOlca7HS2JnAS+8Mw+mo/v5GSp2seTd+REAZXso62Avo467Owa/ujuLcFh7rT8pR9ZnXJO/ZtMHzy/O/oxUt5HXVIqwe24oANZkcK88YjbU350zHUYZe7PNumNaecIzfmP91J/JvzJR0HeY5sig/j6sa/3J75ytJV17wnr20eLVlwbFrzkv8pKyT9Lnnr4NuAsMQRXLV3UHA9dFBx76SPNqa8Qd+QVLGMfK0gLeVKMdYB5slPaYnOerIzfpNDGcLhJtCi7Jf+/mXZoT/8dKr/7MVwnxAbfEno+5eWow6lU35fho9TnkRcUUD9wwDBH2DOBmbK8XHyUnfqBx7q3Ak/5FAG+yH0ZVF+O37Uy/aUaOf4j7avffnTIKPXIs9v6Ns5fX2Iu34S3akf+urFfgnBxb3qOdV28nHlYtqThZBNm32cfIxdp/aLc3pbcGDe7GC8UFfq5+usuDiaMMl7L/8Lvr4RVOUPutFfxFvpCz6UTvkhxwo/jLrDXRRsvuslLwvi+lfEL3ouR8xRNPaMO6HNHRqfVvGgf1nv56QfK/QhM/wVSw953vlCZ1BAnrSokpvXvPjlouJfQ00rgEgaHBkEDiUIVTFngFSgUusJqbAPIUvbaT/t5fttrZ3pYDqmOPmoG6CPsz4L1TronhTiBdgfBNcvO/SgjleCiUozFunMh9mY+HHzcfL5NB9nPdwFnAU8KIA+blTsyWv6Gp205nqTbXkM3NfB5Kd5Ddk+zeelvlno8/g4+Tza08YndspEc2HyocF072xv7eJjBmG/uP7OZYf9588606z/XMsPOfB78q2GJ+A7FEI7Yqz7Fn97xboJ73wv3eflk0/zcdjg5YK2RT0KIXDaSn7Qii31JOeLzP9ibZgZ0rfc+eLnRrX4m3Lmn4OYM+6EsCIv/qSZlT3mfxBfv3Th08+RdwV1tYatxA+fvUB+/VXeSc8Bl0JTPJ1coaBvjCnc+56yAH28tcTJnePL8PHO5aW2wx8mow/2h+GDI3Pnnx2Gn5V7ybtGge9ss5zBXIjN/GoQuBVCd9gAWAcImag06OMmS07w2tYgcOhAaPE0mrK5euDUF3KMz/ozPupgR/7el0kZjZCyAdEytQG4FUJ32ABYB5i2hSx5xvAFm++4vqff8Nh69/UHi7jFWf2tD+urE/2y7RttN33lJui0vrYf4070utHXlS72aYZPOf6HYE6l/KnDSeKvVWlOIF6d5P/UdWotATdU4Md04zEg2jXqa5Joox017lkH6Ldt5NrVjkbvftFRUT3+njxisJB+hX86iT9zHj4jzniZj83XwK0QusMw+MXy6pIzwmdcvNNROgaVzVvX/4l0HVEB2gAAPCxJREFU9ow84c3KpAqih+Z6SzSTleKJMS4RNfPMSxCSKNtOnvEKP9qwHaEpZLJcvcoTPOlfExb9tdpUiMkAl5Odtk9pytlUn9qMPlz7bXG1cqZ7334ie1dBuJr2P2GRZj5ALFAsJuYzP2aNPmfbVvKaYiaMSksaSD8qhDnAvlWJpl2TPGjq4t7EnEPQroSedO/wlHWK9sfxhzbd+aKuP1XH9fAA8zk0oQ6pVsRoK6CPs74dNPun/4cJw0r1liTuBcZffFQZ3fHk/u380lyPWwT0cZH539xzkZSi8r9InYdd9uY1Lz2oXguvktXFcuhKHwP3x6jiUknYj/yXBc1dleril4WrLt+K/rotFXkG8xQ2yioLQ0AD9HHQSCdEPQqhj7O9TwOeTnSc/LPQ5xHc9aFQdZNB6qD/AChaoVCX1v0bH/ewBaWVfbS1VT3ask/gchlXflQ7fMuKVT9cjeNdsWR9ipgbjbGGV8zv+f5hnfGzLWPQVh6+aogCqLjIIUz6ZR/KqOyQa5tP83HWZ6HPIxIyOQWZtCFfPtr7hbpZP2xL+0XanKAef8Rv0QkuVzX3ze+/sT+TRRqOiJs+duzjPo/Uiv1zRuJbTM707WXavSWJe8Hxr9ejp/fP0kZ/Z+MP/5PWGBungdoqOCDx/inXQhJ1li4Lyv8WHc968va7X/zUOBi7Rl5bsRfjTthZ/CU2veZ/GD40d978U5c+64qef7m6Im8kOxoK+4nRKmp8NgQQG9oQUsak0A0OaWl/6Jc0lZU+ZOg/rNJKJtYfqoNAxUUWYSLXk99KDumwG3ir0rX9QXDh8kN+1PWvYLbqf2bS6U9AH6c1Po08PrSIWoR9nDw+zcdZj36As4AHBdDHldh2x/zoNGfSvlvpQ91Yn4W+TT5OPhkzQfyiLWtOObmt8g0MoSw4irdfFuBji5558B0NXU/DwchI5BY9vs0+3plSHcU/xmKu2yILAs1TxpXQj7mPd1oPPcA7XYV9U1/oQZqPsz4LfZt9HP7atYp8HX7lWK1+tZyi9k9zxfeJj9OP8JHvb/CgAPq4Elvu5AHRx+XnAk5dePD3H2nJ1EGFfEsq/o3wLTNeKEalpcadfAlVbzyQSv1lNpFfSpQmVLyxvSgprFgEWH1jLXpspFh30gJkKaqJHKTSTRZkWlEOx+lIDaBRfkOVHmTbN/LTbkJTV3iS7lvbLwumby0/9Dp5hTO1b+59NlPoM6QGcKaI4eI3F2R/YQl/gGxt6B0626BFzHJC8kqeUAsu8n0MLkYVErI5aFLTmDA/mVPt+MNKuESU3COoBHsI7x5ix960DbJpa2pfSkvr+2O/2uLGYxRO/I0cn6a0DnYybuWkCKsbx5TFQ35CgEZpQERgEi/DWY2ufDzH/juG4dmlhQdf98imX73gSdFvN0sQy6ci7Jdrm+Lb3ko3+a89cD4GlNLsf8u1JJ5dPeKnInvaFZ3/QZSO4Z4UnGGN4jUvXLypVv+BqH2o5awzoNv4Z8ZzR/lfCTcL30uXHvLDe6bqthF5//l/ylWOVakgS9z02MMYY8KM8saZtpdXCmFOk/sKjqa4cLnDZOC3kEc2QvBrIjt+4kxuqxf5lKcKJa1NvYY96whR6eMNzKlcym9hv0zAty3fff6bZZBPIiwje9YdmulwEQqh4a3dQtcSWo5Iq4TgoWEwsfyw65JfOoXsQZcda07ZdyysnSYGnio2vlIsXWgaDsB+MRa5j5OJ/Lz5qXiWQ66o/aITH8ivFON9Hpbu8G2LkDRNSBII0vL7gaBUoHweWZ/PNw3UMMCl4N20Z+ZTo7pNStFWQJT8BanfTOIRxfv4lG5wqkWYuDIhePkvghn/ZA50tJZ9Fv0iDn0PB5Q1f3HcE0IvX9esnjSTsKX9PX03K9vbzDiO17583uax7ZeLL5rem9N1/OlYwvb5v2MkGDlj6WE/vLUf3hqJFsz9QLBt7HQZUPtDB/avwvHRBZniPsJkjVN+VFOTDH/StiHbyJwDtZ+0v+b2WQ2pLaBT1UEcZ7lB80tj6xz+jD2d2C99PhGMVM8K9756m9/XroTjbYbMiXY+Vp+KcwCT4qFu3rLETBgM8dkyVQM7XHDYtQ9JZ5/DNrrmhXtPBPFfibLvEPv1V16LtJ9G0ndRPTpHaB0tOGSBIgsj8yDbQx5xQhsCWNRYb6CTZpTGPdiUJyGHWxJ0mhG5dY1Pak1a0FZUECekrd3YL9/KEd92V3BbPdHNV5E4YY5Y6ooqLD5xzCsaxMkT4mcHCi7ap+sDamtOuGPiLp2SXKF+yubbSpzQyYl2kSsc8vtJ1U2/evyrkhsvcqY3Ad937eLf1FgIfnvigBKjiWo1+N2lh/7whrx2vdAqKw68dvO8ufNPkjz9OhJeB5imvkRYOtVBIBC4DjoHyUdIPkK/rUkRGWKB1iPbgCOJHLQu8BZR0AFlk+oEwjqpBA3Q8BSihroAYkMhBK5tHQRu/AYNT2VoT9qf9YH+VJaDefzyjuiJoBq+drdDrntAxJdFPdDodYsg9vYHFqN15i4XVqSN3NUYrrL4sOse2+3wH79bHhY+XD4J323aFWe/7wv0Jcev7tQj8uZPXXCYDMlta6/NKRcHGGqEPm5UrXEoGH1bHTmMNzts+kEYy+LH19HsBq2f9ocxfFtMYWxa6ysrFymcQ4krcWA7+lh7d71afthY5+g3vl7G/7CN/SJcKyf9cNOa335e/KMv5EQfU48/Y2PxMHnN+S/nt0h+guMtyw79cfKW3n7YqBfYFq265lER9jr5us276sHOw6pxtGcqnCY6in+oZ2ChEypLA0NzI5+XrIQN7nRNE5oMokiu11XkC31yI12uIZ8pE+DbyAXor84SOv0rBHSDQ3aHCVRpjkcvlwoREAUDgZdQHUGBChHM2lqwUCH8715x6I9/bEy79t6fRHxcfaeOc/4hbi5HEMWxcgCIkqlXsqt2HMY3RHsZpGs3PfiKE4MtWy4TtV5QlP1qMl2lMD546x0vPHzJodf9qgN36LsiqBshHG44HI8CLwN33s4cukFgLMplfJQnNxWH5gqH5JTpojkmyubo2xf7w7D393CobgyqKEjXu3D4+a8GkNXV5zZoGE8JozYvasf4Q76PZ9Mpa1+n439X+LVYeeboY+K7tyQ+gy/d+FMI53YdfyfEpQFjQ5jkf1z5o2VHXP8f6KKfpeGO3rLDrtoowvt2+aSfimZlbVx90vvh/dRR4ioZWHopyC1qsnOjLkgcD+XZ9GhHMYIAmRyTxBldDlwnnzIAZWHyqd2OvPFffVqJw52yIPN8ThzQikRAURcJ4qwGUx4Omk83YUOzX77f956Ue69nPrljK97/cAAXw321n9Z6fqjZzxO0XXDIh6fklgrFAOKTselon5SJJ/FiX4Ro5OM49koUD88tFZksNqe5lq90P+wXyT1c4UD+e2PBVy8Pz6Op39040rMUCNljZRrYrrDxPzALpqejJ9c8/2/lwe73aO95sc6jKXM23tljNATNF6ANrbWO/+pfrTji+n9Jqf3DGhYc/RNbrKRNq08+QFa4J6vPPN/ZggKTpnOy+FTRBt8yAKJjk++lTnnT9hoctocwbWP1jkto4XXLjxh5b7FWzzDpLgbmzvQqEKygO3MtUh8Lh2sPH6vLHTPxSWXkCh48UX6sbMum21/4ujiu/VR6T362fFLdu7S/2T/xczqyNI70qnRTe7c4TBYYoo/iLh5NsrMByQisVMLiHxpoUqoFIZRvNcmEKga1zq8+2C8fWKotNGhPnnL8dcZKxxhtBRxE0XWqJAHyQIr2ihyyw5TmHTegndo/KHsalBvMwZNrXvDuuF6/EL1lhlMyF9Kf7eqTXKe/2vi3Elb+cbcjrv+HoiydkbfC6kF0PnKYCwtAw1OoodKklx2gAsNxVQR/Pk1xBAP/Tl4WagKAh0WiLlc27h+ZN0deW37d8Eys1G86IUaEbOotB4GrTwnVz3heB3Gz53agMnAWiEFx4hRRWkKw+mHdLz/iupuDSniJ2i5K9tt+nUfEF4DY5MpF8mvPk/lEvqWyQ50KJvgyKcxvaowK0lKMtRgOigMCUR0MGh4vhYShKHG0RG2ForCZdhOqkjACBdDHldhAUQ7ZJRAI7I/i7cbd+R63CJj3hGhN1QAVlx0hkKb4g0/oqhMEYGw5aAHCQYFFzijMA+infXv69C3/CzRhOkVvvP15b4yj2j9RB3GdFkDFZUfYU/zRuFX+h+FFyw+//s+sx2L2M27BIQmLL5u+yaUyvNfSMxy4gD6eNmBbQK7CDSIu2Q1DV+Ml0A3j0SCsvmrps67r+c1rqS6zDDOX2uAQnL70/Wy4eRTPyuDPfGzQvNy4FwbzvZM/E7w2Uqn+Y1H2YwJXn+DEIpsMjv3xnf12fpGT4g7lF0ZCjQRkOJrKdjjloQ6llT3QxRQyIMLdO35An94ShfEy2KR/9Jeo1G/75YS/o1tLMRH3kv8aI6RAK3vEWo2nWd2tWt3z+1c4RC/NFwctd0wfzRHVzbTrevx3r9nQt9j4qxecIYG8SO7pyyku/0/IWgOouMSdkHlMyLgTJnkPCZl8kaciv7Xi8L3fLlczIbmwMuMWHBtuP/El8lrX/eAwdb2DPk5nItuVDx6XDYAQOOoITZ7jB58Un+bzoo0ESJY+8ZtXHPnj25W53DV4AP7SjckNKH/qbwfpe0Lf3xSGiQil1YREvmGG+hBnGN9alP2QyyLv1JGHJuqH8rgVlDnNfQpnWxtPxk9a8xjQKCK27g/8fv9+DBUPg6G5whHGoerCnGq0tZ/293CFQ7r3fWe6Wd4Dnyz/G/zvcoHxQTvgbE+5xUG7OglbdEPvXr70a/zLj5YVZ8I0SH5y9fNeEEd1fFN0hHkANZirjB9jCYg/FEIfZ31e/ClTG6uM8Nrl85e8IQwvxW/vFVpm3IJDTvXntfYIJ0qbPOxUZSc5TXRJfEIGlRAy/asgPp72l8qXoP3N7kfchG8hlCXrAfmuPy7r6uVe+NycDgfbEHEQ3kQdIfkIjV9qld+GEHFA3bJ9D+mxaH+96S4K9tF+uBbyABUXKFNx2wWHfHVzB/UgRByIA2JjLAAVRz/syPEDtOQfoiscEoOlah9u2Tn7fJt9nPW92C+iu7/CQf96PlddMTqExj/iiX7O9wgJw0JoVVwA8CrvAO78Oht831Ff38fAwUOYz9/C/lm03pBnEo+Nw+gKWRrOh5/oBz/WfYs/cqkh/8P/XlEdebU8bzaGfCm6zKiHRuO7TlqyYWctfdeAZq+4iBDeEoeycDGRQK1P2TEwwe0P0LTWMQO4DjzR31h+xE/+PttSWctdEIyMBHF9wjwhoweDJTlLwYk6y1icbE8PSxNMQMrjHEmcztegQYbxOq6hB2E88vNYnlnU/OyX/WI1fcUch1/kpV4r2zlELoRs8Lzekl1jh37cGACwb3O5JrQFkHyCk18u0eovWjru6Qami+ZQZ6rQDsJO7A/Date3WOWqrYVDdGNMVcPJ8l8YyOvHX4eKhcPGCZTmcWdmT43Liz/GuvrO5Uff8r86SIOm5o7JWm9Z/cJVtXjiBxK/JcpXdPwx4cJ1mhLhmmp10enhYVeNTqZjP+tm1BWOjeP13xNPeV85g/dQAH1cic07nrQAfdxxctACGp5Cypfhc+uKPfZ8S9H3upqVn0EUvM2QIVFfi+7O5zr5wL/uD1YprVPz/DAT77TtNPJVwvrj8IHa2m/7s36IApu8JrM3DB5CtX8lz8cna+rX+W3sk5OTmcQ/8H42wW85WHzjvacsk7G7j/bq+atJf2EgrRMNyQuouMiW1wU93EnbnnioO/0LIaTlCWSdz5/H10ca/aB66biHjqJAP/N/Flzh2Ljm5H0ngvFr5IHh3Tt2f148ScsTwjpAD5cr9PfPmxec5l6FkdeyENqMWnDE9eg8eCFdEBhOz2QXDOQjZNtW/FiEgxfQ8BRivEjt+nDO3FeFT7mi66fQ2eeuDnn/ENBw3A5wS26cjtXRBg1vjLGywologm2GlDAc2QRVzVaDtJtQLO3afl3AiB8AFYf/Qvk2RtsSy0kRvkcxSHcSao0lfssxR15AH0dbFInhbpvuev4z7Gj69uG2sWeLKaKiN+sWZH81jnUx1721EsEu819jrlal8U/ywMVOhHavyhRaMA/yRPQt/2fUmavZE1vXnbZnXIuuldg8rd/jf/L4Y34IH6tU4lMXrfoJXvg50DJjbqlsvuOEgyfG4+diQOp7AcRNxG2Qmt/8sQU+8uR6FeMQo8ONR+UVQp48YZuQV72+dsVhN/Y4meRqMIuJ5tSMi5vsNffzxNd80sLgIQ8a4xlqlWnim+QNKyEOJ5boRJBRkLYBomRhW/vVD84pFBB38qBm/DDGir+wRvOm/jwa6sFhOloATIa0skORZzgfdldyrXaMNLxfm0/TTm5ZHA3bkuRJ9BWS4PADSj/sl9dw9HyFo0/xTxIpa09SYeYWsJdXnag/zcHYwyY7au7O6phTqXb0Q1Z/jn+5b9gsbIZQcLVtfHT0KrHt4F7thx+0KJQdj+ls58Am/wXhk5Kfpy0/4sf3Toe7Zsw6cWIM796wJEsuX4rHSMtzHhcOgLkbphfUuT/IAM7CpAeU7YIVR/3sBtaVsDcPZHyq/gaNMYD3DQdMJysXgyb+3rQYfKt6LViBXvttvy4YxCuAhmsfba9wjFSrD/EkS6hewdkCBdDHjarjxaolSqjXBYZBXQ2iMpkNrVFUj481bPr28lsIRyOjzNbUX9Co3/ZX5o082L2lHAHQEn+AGssEIndQQ6i4HBDCDm3jIHCrNWi1Six2l4m/3xl0RwHElrXH7AbV2eJBn7/wr1NIv0WU+OGzF8Sj278r1j3btwcW25/5pJ395LaYp/mMdswD4CbNoODbxOmvmM5vVs6IBUccX1gRL75J/TfpzlwMJ+umE6bgnDyzUOPANnrgpFt7nVAhK44/ufLon/+bqyxBBx7gAk+uF+mJCdDHWQ9R5mcnVGOmRI2b1gkt4ddwYAce12YGAPmxtAMKs9/3A3zVwZsul9YWyuvP5W0cnm/V1zILEuKMQJx8Pg04Jk1C4OAjNDzGt2aeO90hkicsToQOao+DtMmHUF55YISHk8enAQcbIXAx/9EpvZdHBGgBlE11cdBwpx/YGHdCNMy0T2QpUvwukpWA+SEd99C77+O/eFP63kMcv2POxo0Pf0Oe8jk5ySfpRePK3jLxs5i3mf86iL8sQsbDSuU1K4/86U3sajrgjFhwbLztylOjqP40OMi/okG85RUPnQ2kEaCPQ5AWRgrQx121AAnUj1Yevfh9KaXEuvEAB1OrAeaHxceTPnyijycMMwOJ4uAk3xfU2jfJx1nfkLc5DM1jQPI4jrYl7Vsg4VFX49PO3Zr3KrfVGPDHhS0m0AZNsGF+JPTnSnYLm+Vk8/wn73jufqQNGj6x5kS87v1g7VdtFYwGYNwrDXZiQyH0cau35pPYHwa/UBE97HzVkuY+0ccdQ178jdbKnkRyYQjzAB34Oe/j7Nw3ycdZb7GRI1R6DJJTyU8FJLxDjOBD88bVq78kvjmdfoC6nkkNeGJKG4ZO4i+3N2W9XTl35RE/vTqRO03IjFhwRFF0nvmHE0H+YGIgAfM2TCTGY+2J5/FqXRjcN3depXxteYHJaTGwiUnj4GIkkdI/nNHwB6gbcUDdClSuT6LxyUbmjZPzxPXHfvjCFVkhy1HbBQe4ZRqykyN8y0I88bdorjTMfCLb4RorwfWP0MVD40V5AqU6jCY4hr2KQaG14Hy1AbpnN+gAGgtx8uE0oLTO7BcP9bjgwLdccvzpaIne8LHqA52pN6GQcD0dBRAbeAm1nVUXuc/Gf7K+es7/OBqaF8pNZh/rNqz+wafEVvmWZWPp2X6NPeNOKLLz4h+E71x51E/lysr0l6FfcGy899hlksBnYXDZeDHo4zbw7FMHcJsaxPfwv7dhIOAY0MfJw7YqL4xHq5XgVUsP+dmG6Q/TTNQAg8D8TIgj4upjPYZt6YBBLFDSmBhu1Jm537D69tfLQ4srBmK/DAw56XW04JCHqjs4OTI2FjuLAGlpbNJ4pePQj7VMrOfJxvAOLJDx/S+cLx/wmib6zhWgrZ3ZL28z7cCnrXung1J/pj5u3cqr4aIC0Mc9lqJRs8H85ee8j095/Mfh0Lwyv50/N972O38vVyL+oK/2t+rUj7ng8mNsf77yqP/6XCv2QdOHfsFR3xq8XpJzPhwjE6n6B9DH6TQLKKc5ORKH6x+gCwQh2qCO0MdlkRhXgsobVxx1s9znLkv3HsBLv2zC4Ve+APEH/xMyFoTohzig4SnUiGkcjUbe7vUbXAtcSpUHFt9flP30EyEsk9s3v+3EwmqlcqPvY/qTEDKIA+ZtfkyAZzfYbbRg/w2/eq58cBhseWLz9reIVsupe1Zfsy+1DdoZzfQkzvZZ6MsTS+vVOQF+Gbjnku3Pl+/jWT14jI4pw8fTenlHTqEFD/anecD49z3/g2jfQs3ok/ANt534fvmw8YG+299yPHrxr1T+94qjbvpIn0zpi5ihX3DI15/OZwLLE25itDyEJlBxD8ooM4cQ6pGjuQFgA9GbXIRXaWjjbXL017sfffN3+uLhXVwIJz9OeHZ1VxYdMjv7eKt6uA98LMTZnvRhhRtXX/lBse2IVvaBTj/4uG8fbYaNxFvVY3yEQeW+Tvyx7PAbfxFWQl2cUJ6vg4+zPgt9nfL6hAwUhfXoExvWnjCwS+Gja164t0z0H4ZPWhXYg0K7fJt9nPVZyLYqJAj+a9lhN210eFcAX8DL6y8jv6P4W8ewmXYTdqVSX5g17tBE8iDPPp/m4/QzlADOQlxIxwq/V0OO4YEbbj3hrfLsoZ7wYVuefT7Nx9vaL5YnvmjwgsVaSP+6+5E3/Y/h8YZpMtQLjidWH7tK3Pcct17Qz0rA4V/6mBDmND1AI5VKcw2UV3buUD2gNMVkp3Xh1/c8+pf/QFIJe/MABxhaA29V/EED3B90lNEIjQciJxHbqruB0jeu/p2Xi45/U6z9mMhgFnY2qVWq0b2dGKpvy42D75svO5sQG2NhfRvN4pHiJk81c4GSuqfK0yUD+8S1c3z7J0Sr3aATJ3CoYnmWr6+fgz5udplNjTjkOD+Ewfc68XseTygzcdf9ubibe9P4i0ZOp3QxC9nY8BLgogv0oY/QF/BWBTqhUD/wAmf7Zmh1chVv+cbbTm77m0EmffD7Dbed8FrR/bPoGTa0Kr3abz5W6SLfoPRkfYXx11Yc9fI/bNXndNKHesERT9Tf6idc4lBOrh4UV6sfCe3ABdpFR+sE55/KczKAS7Ru2X2f8PzpDMhs6RvziM0l+MSNgliI53V0GPRjS1w5bQQBbSrZAdrEMCSEjbcd/664Xv+O2CW3VFCKsV/9LDuF0ov4J96tsqCjKxzQSvi/x9uTOO6+uDHm7KOt1Ad2k6bxD6K3r7/td87svp/uWjxx23PeLFn2u5Zv0jPGvWywlZB2E3bXA7lT+yuV3hcc8gVlNzZMV0rPwmz+q59ll/rbcLbL2l/0mx7lF7Tli7EWc8adUOPfx/EfhLXfp53DBDfcfsKp8kT2v4u9VfoCsN/2Ixc07oRwQhj+YPejjn5TGF4o18yGrwztgiOOz5ZghW+UUagrXjgXISPUYY5JBD5FEoPP4RoEJRuNkw14dAA6frBrW8AweLw6d468tvwX5WvL4Y8pFsRFY+PB3kT6UjgpG+Rk2pvcYlqtv+2kZ62/9fiv1qPg0zLi9at7tKC3HtkasNl+oWhOK4TH4/DO8LDrRjvua2FwtbRKft206SohenUv3OtEZqO21oI0HGGYhlH9Gxtuec7ZncjrhWfDrce9VTq6KK8t/ISS+MvhSgTubAX0cdZPAu9dccR/r56kvscqeg/QYk2o85qjtbIn22nRFzjkMcUn0adpa73TgqwunR2zdZ790Xmb15yoL9TrTFbxXHJl43eienSZrB/n+pr33rMvpU38w/gnu++512vD8LPulzN777WolkO74HjiF2tfJg/b7APDO1owOL4Gfo8Guq1IHMQCBgsPXcjE43I38DUrj/h5z68kVvnlLvFAEjNvkrRpCCwcREAdniwC5VhpoGPD8pHQx1kv1dNcnrzlhcs33vqcVz5x6/HfCKKxO0T/1w3WfvjCinzCvJF4J3Dlwf+9Rbz69Va8OkaksrU9jINB47eJ0ccthqan1M4R7D823Pact7Xqt1f6hluOe6/I/pz0LXOb9ZfC7qWaDe3tlw9CU/smAD6PMu8Jk7yHHcj9VvlPO2EfcUAfR13xpRoF8q2+yeOf6iX6qK0O0m7CNvZLbJZPjE98oXirOuth423HHS6vcLhSbFqEvLHcSWFqN+MyNfsb5YW3jcSLXznsv/NV9BW2ziKVwyUhOa+ZjEBx0KGWOCBKpl4vhwgNMKda+WWlEVbiP9zz6Nt+Ykzlvh8eSFwuA4+/aQO5FhLQXC8KESM7xlxjPHbc9NscKk8iBxjH1fWrn/OGoC5XcatyQQxF0AAooJYsgZWOP3OYyIJMFMj15FfqMpmEoXyqimSr7C56HFsPR4+QD8S2eIcdfsoVaD/Uo28B9TgIblCki10lqP5bPai9BU3UryLKJstm+eBJYqcNQJBNbEbRug7slzdzVMVnn5NF2tmVMH7/VL8Rtn71CccG9egf5WHyF6giTh+85xTfEND3nUI/hwNqwWu4wetex92L/eL72vw5wcUmsMc9sgeqyNZp/qOnbPzNFpOF+ib78bBIgSWqhhsCuYzCHDF/iv9hmBSzrT/j3wl81eO3HPfJPZ69+L1heF3RF3C0y7zdptXHHzBRi6+WPNoNMRiU/S7+6xbOqb508RHX6Q9E5uk3LLShXHDgMtnOndvOwH1NDig4zHCZQFw0ccmTtPx6aS8VTHYdzaAkyY+JKP7nvY5Z/Xm0L0v/PcBYEWYnoGyPFk+Lu9a5E7YfM+BO3py4Vr9E29RsgaAnlBrizhMK4i0fH5Ocqbuccfx1mwxDgdaf7OV+iE7cINTw0TOF8tNUMqdo3gjRZEUuT5UPOydKUddvQfaLK8wXBoNowdwFP0z06BBZcfR//eSJW46/Q8bCoVSdUCdPyLHzhQDzLSBKU7yUqFW6o92Evr5gkOOXisRT1t963MVBFH5596MX/aTTE0e85uy5G8YeeL4s9d4S12vnqivE+dqHC4L2qycAsyjbvy1AzCboQ7sJYabik9gvi5zLFx9282No33ORHyNT30q+UEeVxVwXiGL2WMxxTF5AFLUHbZwlWfsloZWvqN28BSMbdo6mV/QZd8Ksvlk9wEcerevM/gvW3zr67A23HP/n8hMUXX0tGeeasfHxl4Rh5Qj5APNb+Xbip7I6tTtef8ex+0yMB9eIy/WKvHO9NqPdhLSN8crK7sX+kcrI+YsOf/n6OH55savJrLIdH/+tfEazFf1QLjjGdm5/g2TdPLPHjfQ84zgrEGZmB5IJIYmnChUXBj/c65gVf5onuqT17gGd0twE2CxFplUNKeOK6FhkjJd0g1bD05vETxorzZfv402fWDFJY2I26dqbHCQ54fCGCYDM0iR7hcV1bipDc8dLaL1Mti/U/usXHXrDbybrfZI6vAnRJtsB2y+fwquy2HibePNtG24d3fL4L4+7RmL233Ll8fGoHj4ezqmsD+tRRZ4P2LMSxHvEUbSXROa5T4zf92IJ66LQWx/qlQpLEDUVphQdf5lM5dsw/SouUTXRLM38OWvK+c/E75e6GTmLD9p7485b78NwaNFTYfl/knwYkIXzcT+X24o/qFbCm+TK2T2VkeqmJavqWzbfvmDxRLxzz5Ew3GuiHu1ViStHSq6cNj4+fpxMGRV9ZicIbhdzul5wBGPBp6X9ARlXtDjsv/31qHbD+luu0P6Y64AoufkvdAZHhwr4wJxT2snLadJECoMr7hLiIagYygWHBO88m8BttUv3ICmAG8REYjggima50lq6T3kgQ9junT9/0TmdfprSDspdhx6owcMteEl3MZNU109lnGBd6NJzXmMONAttHDL21XwMapOPvQ4617CR24h+tii/kK21yyk5snzUzFGc9klPDfrTFta7bj1AyQaz7Wk3IXrkWPCEeGiDRf/hVXSFrpy7/+eeGLvvL6TRvpQIATqmEh2Kt1+uFuA9HfKVQtnsIlQQT9TUy7iihBnA9JM9EHfkDkRfi+Cg4i8K/OceR998HTSZWrEraYw7YZfxb2v/1HRs3zoML62v/+Wxj0gUnp7PXWj+46V3x4sTjueFyXCiHuy8BV6056InXCZFyCTNn3wtu6HKFc8ljbfsbE7Il1Gs/YPO/+z8lTf/0WL4Y+guwWy87cjDZZI71oLFjAD0cVfrRiUmRZuUhSsdqcbk753lstjYKpehzuz1JT2+yBLP9wASMfcPscJfi5jxRA1oOAev5QDaIhf4h0OlGVnrQLN8Ma5GfkdDnmiueBCSHK2VftqXp0G2f62HyFZ/sBt/gNoX1FCFobSz2WB39ofb51QX9vx7CeFhl45L539nurTWD7qjACrubFWyh7O+CRZmvyplO1URO6ejg6avo8Hn6ncPgs/RABkXQhGokgghSZ5/+Wsc96tYzHuJv2hAuwlVWxyYzdgPqNyQ9pjB4Ff8tfBv4fa7/jX2gqvTCHt0ji42KAo+1v+M3Wa12T209ltcNF9axAdWodA6HCoNZA9nvUFtoruhW3BMTNTPT9Uz49QSmOUSo1WyGh9aO+uzUNrjl/MqYXjuymNuuSPtp8QG5gEudwGxIVSEOQkLvTShgaA0pkTalvLAA5ylW/6mDiCIQoA6HNDH2V87SN2oL8QBB4RI2ymk3YQqGnwojp9tK9Xgc8uPvFG/kmgM3e93f/aSi0XeOmvJDnDEToE6fMjsVz/4vjUjUtVpDn1N/4OP7bQNbWUDEEkD6nCBcu3pypXH/OwmbdaPnYjuNf4d298PPdvJiOPrW7LQ1/Q/3AkccBD2sy/2D0WBD6qwL/Y/dPZDIRQXkARXRMiuvsfxP1QLjjh+4Ugchee2NNbZnILJnZP1jS5UovCv9zh2td3wSgWVWL890CIhbdGIvJWpFTwy8Ah9PKknXyJP2gBvMSBUFmrZTm7Qmnz05doSksdBv23iDu1LBVq/mChA44SRhawD9Ns6gX4fppfpSnk+TXGRQWjyKFeg+kBVmQirlY+6LnoGuL0orvkT7Y9SfBuAD6H99ANUpu6AihcV/0owFo5U/pRu6gsU35rOBhWnHfA9Nj0rM/aAKITWTilsl7Vf+YvdhXPCH6uuqi/Um0w/p7MbR4XbD13ajP+evMN5QOU7m2k3oZLNF7DTt3Uq47+r+Kt+ogMgdXBQ9fF0VD+AD8XxT3X8D9WC47c3rz9dkmEvBiML5ROFBgnQx8nnOxC4PtrhIHDZvrr3c371YfNguR+IBzIJi3GpsRGguMZSiahooGk94oZq7BTxoKD+IPFxqcovvgzB9dBBv4qN3XATzaCdFUI9ytjXQMNBpl77QE5KlfWX2tyz/WHwhX69Q2aPY395hbwaVd6SaIW2DrX9omoyBzjcqd8M/CALrocO+lVs2Mp++XHHD+1+5C/wMFwfS5oL0MXXzUsYJo726+e8j/dRqa5FqV9C9wOCg8h/0bCf8e/aYDSAnb6tFOLTBNeYOmj5lsZcBFi9g4XE3zq1HBLc78OvStR3yJTHv5MzVA+NysLzPHw5jIbDSOAc9E7nlkCWI9rCIBsKTcnhL/bee+lbWzYuKwrygMUkjSIjalHGRIH7tpwsVQk0YSFOCLqHN0qTOqwsMch1tQlekU+aa8o2cpj0zXvHyB3Vx3VCPKlvo2+W35Rt7DGlQb0p2h+G6+fOm/cB2NKvMm9R5T07tkXyeuZ4j6w97fTN8qe2Mmj0BWAf7IcM2UwaEMEKjr8sNn658tlL+vqbMPqlWOiNQlf5eB5N6hu9CcLk9kPkIIpo8UNR+Q1pdGhAo8bt8inxBZtDeQ9vlCZ1bexHU7aBKM1XNwZx3EtB7KjUrpD/9Fniq4Z46KUA9avV0+N2NDRXOLbcfOzuMtm/EoFDEmLDxEGoOAILmvsjDqgbUgm4phTTCu4Jfjt3bvWs8Ok3Ja9wTpxVIgV5AHFA/CDeoIaJuIuhRQknXYsauIGzEGd9FoKPPMA1Xxz0cdTlF1VQqkxf4yENR8St3vpqrW+Wv2j7ZQC/v98PPy991i+eEMPf1eiL4bQfOg42/uEOeRXc+f3+dhsmYtpB6NsGWt7m8wD3c97HUTfIUqniq8Izdfx356nGk2jjfFH0+Iemfr74Mffx1hY16mt8pOGIOKDNe4Tsl7CxrfHTfqsbom+pbI+2nyvpqb89kYwsGKvWmPKNBuEIdBTWZyCsDYNx+bnu16w8avUjxlvuB+EBiaX+IX7AkphaTIQoNMvGFEIxnya4tnVQj4gD5mxIF9ABfZy81gXyxIo/KNmOMK895RBCCnAW1Rc091ek/dLLFbsfc8uX2Hc/4V7H3PJNuTL0YfqC9mYh+pwu+7O64NiPmY+Tt0lfFzvW+218PKkPg7euOPb/t3etMXZVVfieM3f6VCxtZ4YpD1tUhLRAOzNtobwMglhNeBiRYtSUABHjDxOj+E78YQw+0R8S+SMxEiQSFDUgjxgaUAq10047FJGBQqEPoEUstPIovcfvW2uvc/Y9c2/n0XvPnal7z9zzrbPPfq1vrb3Pvvuex4YmvDPFWc98iYiP+JND2TOZWOPjt9mXLa2rpekw5/QNj8IYDzXT/00nH32dfdnSHNr+emvyWMnBKzjSLGIv7ImtsJ1c+o/cf4xHw2F8Uudh+mf8VE/OJGnLNquphJjKdSS2ROO0TSabspKaaSWXpE7VZTkSktJ1XcseH9PT5zRj2DaEAbEpSiLyo6NAOgERmyLObCod1NIxLYMhRS6ZOvRlicRmWIf34jSN8wvzGinOtQvysPYwv+nAAlz9gpAlu0NtWVVzmdlVCzS9DGvV58WlelvBUr3uxHE8VJ5V/qwW3pxtx5JLvg3V/jwR9afti7Y/6vt+R8/G25vBNk9avu+J7c3uhp79x69/c5806nMDE/2wWf4/fv0P3f/99o9axuPiaSIzk6Hkb1L/b5b+vg9avzcUfWDUFNkHuePQ9DaUdKa/7EyQFY6X1y1cjA63mA2lckSRcVIwtGmFIVKqsg79vCxDyomin3Uve+IWp2uAohjgmMZ+7fftenXTcAxENXaGUgY2KapdOYiZjekPIhOZUP4tT67MUZTPprD8usGOEV07DNkOqd8hZQmGtQodh/542uTrcVy5bPb7+vfWKrJRcXzFdTTzXbhrTJ7AqMVSNwbRUbkvWn+/PrE62mJ/TbN/FP0Bk42GPnNDiXTbovy/uPlGae7ijfegM29J+0GVwp7eFIvSn+5r4wDltK9ix3yb7RlLcJPFovp/S/zf+DCOhLex9/8JscLxTkmfvSEGg2JyAskpRJJlbHYoPgNDG9rTRw0x63qga+mirxhPAVvFgDtByahjndohbKmdVNG3/2hb6+bY8AP9g/eIRJQP/YgyUWTuMq5OECfDMaIvu+Q8sTEQVc6QsRoMNWUWh/hce8aqP75M7Eva4pVzFm/a4iprKnSc/PfXZ8Qx3jURbVJtWqt/Xtli7B/d1TntA6vAgW/YfFMOax9PyIRrOG4P5Z+5Wsalf66MZu2SL7z78FtaPnUTJTOEnmP1/3xbx6X/GPjN11d73+lWQP/P199w/f0xz5ddxTrm0ZLZuKdxxgETUrbgyxNghSNZ39sOr+O7U9BCfAwpy/KNQ8iimENVUhU31QxhhKdnTGu/go/ZtbiARTPg7CnVUq4dfJ+mTLsaUtZSDFmGykSRnb9w4Ko1YFvNmho5+G2EOeVbif62mE5SJV5zZOVZuVqCtlfb6LcdWV3Q/NY+jbQ4S5OhX4bpbUhNtVZFELMviaOPdi0ZKPTNxu/u2bh76rTp5+P80a/tbY3+yqLjwphpsv2h7x2dPbMulyexZmZruMRvfmZ3w7z9G6F/wxs+QoFzlwz8EX7z83rJ1J+y+T11bqb+I/X/eu0cfbz1de25ms/ihpcy0fT3x1CVYRHvnKztHX//b/kKx64K3gqbVHiHiljDUHecoaiwnVAc+sSkZsQxzEdeS8rli2edNnhYT11MywzCuBigfeQDu6ZYw8a+HSnLYOOQcv7DE7k5vZzU5Usn/INoX0ANXX4qkJYDQWQiBR5zKLJrI6e3MsWVtjgdqBP/DF1axlnI6zPW9GyK8UDZ+zwfJ+3nFT3ZML14J0w5af8wGvRwi/QXLoq0P17+9auO3pOubPQdKcapjxW+Ldb5vaFn+9QPDld/v86i5I6k/avoIY9ZPzFk/dTV0PQ2bIb+7OtSLpECgqHuHd42r08D+3/h/t+o8U+/4imvLZ9wJMnB1ZmJbeAm1vowpaXxZZcWjy3H8U/P6338nzwaQqsYwMvb0Iv5obkMKctg45CyJlEUmYMus/GkLoNRhpKbpmYpLAMfjhmGKnOiwDjNNxztmObDVvITfTktX9qigxLbxbJTdPX49VFX1tlQ/UulB6eX2ns7+vo3oMqWhdl9/Xs7e2afH8XxjcIDWiK6OjS9Dc3uhqQYbAvVRP6JrR2KLNxpuSxHcjhUmeojJ4vBR7l3dnHt8O3BMqo/zJflt7KIqRwlb2Px9wudvYNXF7VKGmMkLkJ/sld0iPr6D0wptX8KFL9Cm+s/pYlm//EzYz7WlP5PRydpZIzgkHJT/N8vHxVIPUD6J+tLkS3BQcYdSn+9pBaJEFo64XhpcFEX3rS3UpRAY8QBHYo7QpkUPcXS9F6cKh5/s3v50N1ULITWMpA5oHNKGI2OSu81pMx0hiIjjSE9mYcNfVk9P0tr9VFryU8BQepyqLKrH56FlEyCYKh7/lbqZAok0Q/bTFnbzjIpE3253nFmlnZoIZKXcZZedUUFKA8J38At3d/o6p39kaP65NkYftNaIvPbflfvpi+jeTiBJK/7Ovuy6ePHmd6Gprch81Trr5xrXLWs/Cj3lkfyi61QjgtSF2SiyiPYPyo939YWn9PVt+mXVkYRiAUO8QHTJdOPjVfdSY/J2fGMs9HpX4Q2w+vAZPX59nLblVDyzQlt/+FNHzkGF+CYf9EGlIm+bMcRqX5IY7o0hmI/lzezL6pvqP1H8P+ctmwmg2sucOzj34RZ4ajsf/szeNNe2YyjijkNRc38xo4RfZk2iW7rXv6vH+RzhP1WMaA2kk4EW43axr5ZRcbGkIL0AId+b6ijptbPbNoGJrM4X86OWzpWmnXOdMBALGULVla9/Hp87PpjIv7XqNR+amffphuKWNI3fUaLnX2Dd5SiqUtA0b3M02j9xeZmd8Mm2h8a8Ar0m6dNKS2eu3jTutHy0PB0oisJdR/RmbW4iAb4P0trRZizZOCBtlJ5JZzl9br1F6C/9Vm2wWTrp3XbNcKBye7/9dqvY52OgzbuGeb5Mw4N6bMqZ+S1dIUD126sRouy1phM9DuW62ymCFFkNxvEbdDru4859uqsoCBNXgb0Qs5SiejLtTUyh059InVyN0BLNs/HahdTN9YuKJWLzfiLHYLF1c10GAfwg8wjUdR2UdfSzRd09fU/cxhFNT0r29e1dHAlXhz3SVT2QmMq9G3uy7VLb4T98WVlY1spXtHVO3hd66/98nX25ebpX7vk5sR2LB1YE5XL5+KkNVS7Bl9nX66duhH2r11yq2J9nX25dnuarb+NdY0a/1o24dj52Af7MG1YpDTqyQH72OVW/3hM4zRVfptgHRKO++KUg/Gl0YI1b+aPh/1WMuBO+P7E0SaKDv3OkrXUlg+Iej2EoaaHR1iZ8A4NhlkpqSRpsUd09RrWqt+P8+W0vJzgp1E51z5r6yHqhxrv4KT3p6gturBr6eNnYTn//lw1E3q3q2fznaUp8Sm4aPc7MNlu44G9V3g3HAX/tLWG5tsfbRvCe1Gu6ew7eencvs2PTQySm6v/O6UCH8RRh9DOJQMD0fS5PfCO3zCJ9SFN3lz9pS7nh1avYZ3mjiqaZWg5GU50/ze9DamoyURfrkeCn0Zly8cx2ev/roCWvbwtOXhgNZvkB/+CG43HUo4MQJoSHLjfx/Qo0r+FC1Ium7viqR1+OUGeQAz44wealdsVp+YSnTmuympnasF9Oq6iiCo755F45xdMmaV1PoMYudpajml55kcaZWW7AiXSl11GB5zpq5/atw9OiiibZtXp02h32FLhjaxsNS8C/W1pWunWrlMHX8rlnFS7x5y+eT8a/L3khTN/8vKu164Cq3gGTrKgnv7GA+2uNlfOVVY7kQC1u9kIEWSNmZ2JTNZ0zGFpNQG3w+xfivqxonFDR98nfs+Hm5VKzXtSOVs0uqADNfXw/VP1Mp1Q0mHq37IBP0dC58I1+xD1uV3rF94SR9GNlUpyOpM0W/98+Xl/yTVzVLu48YEtr53Woh3mdv9/xj/HTkv8Lxl6/9Sdeyq8gAgOxgHbDQ4C7HjaOnUOr7PJKEOTaYI4jj5/zPKnH61t6RDbSgbMpmZfIoOeYDKbj3S8pg7OP3iME1J4jCD3h5XP4/Qz/KXHXZxE5DZS3iHS549LsQnK1uKH1+/8G77Ka6eextntMTyW/L4ZUfl+Pt8iV/2k33UvSLwpSS6/eff6Jy+CbVZhQnYJOvpRVG6YfRw/9fyjJiHjsD++mLwIL/gdVpFuP6ZncK2WOxEmGpmG2XiX9Y/sqCeNQ3/z/9avb3h6QOzu2/Jgkny356X+O1fhJ9QvJZVkmY0J1Sm9vcPQ38YCYqOCcDtC/6/n36ZrveM12+g1XcajSTD+mR4tmXDs2H3wYjRgNhtRbXhjUtF8wtBPj1nxT7uXP/NrxoUwcRkw+xqypb48Ust1ENZvPpKWrsHO7VyFZcmu5yTV5Vf7FMtDA/RbsorptyrsMkYhRT8OstVNlIDljTh+Az/v4Se96A0Utg9ZdwJ3YBDZjju1t0Xlts1JW7TZrQJYxiMa3e2keLR16Z7k2Q9Ne/nfe1biW+ylGCDPgX0WjFb58dof+WjILcCHYIs7O3suX6OrGaOtufB0qUf5NY9X/6yMan8u28w4S9ByydnlNjTkthf7TzsjqhzEzQTRJeiLxzVaf5ZX1f9L0au4ruBhfBG4v9xevmtcZKBMf8ypJdeKG01dTdcf7mF1aHuq/aU6DnvCn0MA9bJJk6atwYWQrkdrOrllbBZuXzv/bgwHHxvW+mEVUnnTkAdVxqB137wz+z5e1D3yw5oVIgIDgYFxM7B7fW837o48C9357EqSLER/PhED1wlYDSnLNKGqy2OHk8l00Ko5JrxZiuLnkHBrFMWb4iT6G27BfOToJQP/GXcjQ8aWMgB/iF75x6K+g3FyLqb0y9CYZbD8fNgYYpWDYN/isiNMwWBHkijCs1VKz+ILwBB85IlSnGzGz2ob5vQMPokTJpOFUAADZpcCqtIqdq8/pfvtt994ARZuy7xBj9nSOJEhv1xEP8Ptgk/NmPGe5WEwUc7CNjBwJDCAn2DaXhwYOj6qHDgRPz4dDZ1morPPEMQr5JK4UsEzSf6Lycd+DA/7S23xfuzviduirXNOH9gZThpHghccWgeulO3Z++oJlQMH34s5wjxMRGZiSgEfiWbgiVI8acA3nH/QV+LSPlwUvKcytbKjc9Hgy8FHDs1vEUcLn3DsWDv/eiytyvMyWDm9JG2Ere24bzP55Ro84XBvnCRnzFvx3JNFkBPqCAwEBgIDgYHAQGCgMQwUflssVkdX6zRDVzFUVmX0an/EYOrqyzyKOQie51a5Mkw2lKuwDQwEBgIDgYHAwGRioNAJxwtr5y/HTOIUWdbAfEN+OnGoP6doHFc8dNVDLwhkLPa/fvyZ2/4ymcgNbQ0MBAYCA4GBwEBgQBko9C6V6GDlKt5ByAmEBu5QdtMLd3EYf0qxIEej6NZjV2z7kcUFDAwEBgIDgYHAQGBgcjFQ2ApH8uz8aZg8XIEVjowhk4m+bCk4D4lK646dF19rUQEDA4GBwEBgIDAQGJh8DBQ24dixq3IBZhWz7A4UUmUrGUSVM+TKB6J3YZZyWbTgufDY8snnW6HFgYHAQGAgMBAYSBko7CcV3P/Me+7dQ0L4KGgGPlGPsv6kIlHpJnqrPU4u7VixfWcaFYTAQGAgMBAYCAwEBiYlA4WtcOAWk6VkyFY1KNuzfIj88FiGlWu7V2xv3Wui2cAQAgOBgcBAYCAwEBhoCAOFTTiSKOHLeqoWM/xbX30ZD2j58XFn7ZA3CTZEy1BIYCAwEBgIDAQGAgMtZaCwCQcuydjK6zfkeg0i/hgMReYKR6l073FnXfM1ORg2gYHAQGAgMBAYCAwcEQwUNuGIytFNmE0c0Ks1ONmwu1UMufiRrJs5fdqqCf6SpSPC8EGJwEBgIDAQGAgMFMlAYROO48/YPoRJxvX48DGiAF3tMMTu2plTZl44u2/r3iIJCHUFBgIDgYHAQGAgMNB8BnTBofn1pDVse3jeBaj0i5hynIe5x1t4y+Mz2P/F8WefdEcUrXknTRiEwEBgIDAQGAgMBAaOGAb+B5nwCpLPLNx7AAAAAElFTkSuQmCC"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["d","M154.81 93.8059C152.146 100.719 149.483 108.164 146.287 115.608C146.287 115.608 146.287 116.672 147.353 116.672H169.191C169.191 116.672 169.191 117.204 169.723 117.736L137.765 153.364C137.233 152.832 137.233 152.301 137.233 151.769L148.418 127.839V125.712H126.047V123.585L153.212 93.8059H154.81Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["id","clip0"],["width","225.692","height","225.692","transform","translate(0 85.9831) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","300","height","300","viewBox","0 0 300 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M50 237.5V112.5C50 105.625 55.625 100 62.5 100H262.5C269.375 100 275 105.625 275 112.5V237.5C275 244.375 269.375 250 262.5 250H62.5C55.625 250 50 244.375 50 237.5Z",1,"fill-color-0"],["d","M25 212.5V87.5C25 80.625 30.625 75 37.5 75H237.5C244.375 75 250 80.625 250 87.5V212.5C250 219.375 244.375 225 237.5 225H37.5C30.625 225 25 219.375 25 212.5Z",1,"stroke-color"],["d","M293.75 200H275V150H293.75C297.25 150 300 152.75 300 156.25V193.75C300 197.25 297.25 200 293.75 200Z",1,"fill-color-0"],["d","M268.75 175H250V125H268.75C272.25 125 275 127.75 275 131.25V168.75C275 172.25 272.25 175 268.75 175Z",1,"stroke-color"],["d","M137.5 187.5L156.25 150H118.75L137.5 112.5",1,"stroke-color"]],template:function(t,e){if(1&t&&(r.YNc(0,Yi,1,0,"ng-container",0),r.YNc(1,ji,18,5,"ng-template",null,1,r.W1O),r.YNc(3,Vi,15,5,"ng-template",null,2,r.W1O),r.YNc(5,Qi,19,5,"ng-template",null,3,r.W1O),r.YNc(7,Wi,17,5,"ng-template",null,4,r.W1O),r.YNc(9,Ji,13,5,"ng-template",null,5,r.W1O)),2&t){const t=r.MAs(2),i=r.MAs(4),n=r.MAs(6),s=r.MAs(8),o=r.MAs(10);r.Q6J("ngTemplateOutlet",1===e.stepNumber?t:2===e.stepNumber?i:3===e.stepNumber?n:4===e.stepNumber?s:o)}},directives:[U.tP,P.xw,P.yH,P.Wh,U.mk,ue.oO,Z.n5,Z.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Ni.l]}}),t})();const Ki=["stepper"];function $i(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.Oqu(t.inputFormLabel)}}function tn(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Amount is required."),r.qZA())}function en(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.hij("Amount must be greater than or equal to ",r.lcZ(2,1,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.minimal),".")}}function nn(t,e){if(1&t&&(r.TgZ(0,"mat-error"),r._uU(1),r.ALo(2,"number"),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.hij("Amount must be less than or equal to ",r.lcZ(2,1,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.maximal),".")}}function rn(t,e){1&t&&(r.TgZ(0,"button",40),r._uU(1,"Next"),r.qZA())}function sn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",41),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onSwap()}),r._uU(1),r.qZA()}if(2&t){const t=r.oxw(2);r.xp6(1),r.hij("Initiate ",t.swapDirectionCaption,"")}}function on(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(3);r.Oqu(t.addressFormLabel)}}function an(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Address is required."),r.qZA())}function ln(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-step",15),r.TgZ(1,"form",16),r.YNc(2,on,1,1,"ng-template",17),r.TgZ(3,"div",42),r.TgZ(4,"mat-radio-group",43),r.NdJ("change",function(e){return r.CHM(t),r.oxw(2).onAddressTypeChange(e)}),r.TgZ(5,"mat-radio-button",44),r._uU(6,"Node Local Address"),r.qZA(),r.TgZ(7,"mat-radio-button",45),r._uU(8,"External Address"),r.qZA(),r.qZA(),r.TgZ(9,"mat-form-field",46),r._UZ(10,"input",47),r.YNc(11,an,2,0,"mat-error",24),r.qZA(),r.qZA(),r.TgZ(12,"div",25),r.TgZ(13,"button",48),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onSwap()}),r._uU(14),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepControl",t.addressFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.addressFormGroup),r.xp6(9),r.Q6J("required","external"===t.addressFormGroup.controls.addressType.value),r.xp6(1),r.Q6J("ngIf",null==t.addressFormGroup.controls.address.errors?null:t.addressFormGroup.controls.address.errors.required),r.xp6(3),r.hij("Initiate ",t.swapDirectionCaption,"")}}function cn(t,e){if(1&t&&r._uU(0),2&t){const t=r.oxw(2);r.hij("",t.swapDirectionCaption," Status")}}function hn(t,e){if(1&t&&(r.TgZ(0,"mat-icon",49),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.swapStatus&&null!=t.swapStatus&&t.swapStatus.id?"check":"close")}}function un(t,e){1&t&&r._UZ(0,"div")}function dn(t,e){1&t&&r._UZ(0,"mat-progress-bar",50)}function pn(t,e){if(1&t&&(r.TgZ(0,"h4",51),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.swapStatus&&t.swapStatus.error?t.swapDirectionCaption+" failed.":t.swapStatus&&t.swapStatus.id?t.swapDirectionCaption+" request placed successfully. You can check the status of the request on the 'Boltz' menu.":t.swapDirectionCaption+" request placed successfully.")}}function fn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",52),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onRestart()}),r._uU(1,"Start Again"),r.qZA()}}function mn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",3),r.TgZ(1,"div",4),r.TgZ(2,"mat-card-header",5),r.TgZ(3,"div",6),r.TgZ(4,"span",7),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"div",8),r.TgZ(7,"button",9),r.NdJ("click",function(){return r.CHM(t),r.oxw().showInfo()}),r._uU(8,"?"),r.qZA(),r.TgZ(9,"button",10),r.NdJ("click",function(){return r.CHM(t),r.oxw().onClose()}),r._uU(10,"X"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"mat-card-content",11),r.TgZ(12,"div",12),r.TgZ(13,"mat-vertical-stepper",13,14),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw().stepSelectionChanged(e)}),r.TgZ(15,"mat-step",15),r.TgZ(16,"form",16),r.YNc(17,$i,1,1,"ng-template",17),r.TgZ(18,"div",18),r._UZ(19,"rtl-boltz-service-info",19),r.qZA(),r.TgZ(20,"div",20),r.TgZ(21,"mat-form-field",21),r._UZ(22,"input",22),r.TgZ(23,"mat-hint"),r._uU(24),r.ALo(25,"number"),r.ALo(26,"number"),r.qZA(),r.TgZ(27,"span",23),r._uU(28,"Sats"),r.qZA(),r.YNc(29,tn,2,0,"mat-error",24),r.YNc(30,en,3,3,"mat-error",24),r.YNc(31,nn,3,3,"mat-error",24),r.qZA(),r.qZA(),r.TgZ(32,"div",25),r.YNc(33,rn,2,0,"button",26),r.YNc(34,sn,2,1,"button",27),r.qZA(),r.qZA(),r.qZA(),r.YNc(35,ln,15,6,"mat-step",28),r.TgZ(36,"mat-step",29),r.TgZ(37,"form",16),r.YNc(38,cn,1,1,"ng-template",17),r.TgZ(39,"div",30),r.TgZ(40,"mat-expansion-panel",31),r.TgZ(41,"mat-expansion-panel-header"),r.TgZ(42,"mat-panel-title"),r.TgZ(43,"span",32),r._uU(44),r.YNc(45,hn,2,1,"mat-icon",33),r.qZA(),r.qZA(),r.qZA(),r.YNc(46,un,1,0,"div",34),r.qZA(),r.YNc(47,dn,1,0,"mat-progress-bar",35),r.qZA(),r.YNc(48,pn,2,1,"h4",36),r.TgZ(49,"div",25),r.YNc(50,fn,2,0,"button",37),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.TgZ(51,"div",38),r.TgZ(52,"button",39),r._uU(53,"Close"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw(),e=r.MAs(2);r.Q6J("@opacityAnimation",void 0),r.xp6(3),r.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"83":"91"),r.xp6(2),r.Oqu(t.swapDirectionCaption),r.xp6(1),r.Q6J("fxFlex",t.screenSize===t.screenSizeEnum.XS||t.screenSize===t.screenSizeEnum.SM?"17":"9"),r.xp6(7),r.Q6J("linear",!0),r.xp6(2),r.Q6J("stepControl",t.inputFormGroup)("editable",t.flgEditable),r.xp6(1),r.Q6J("formGroup",t.inputFormGroup),r.xp6(3),r.Q6J("serviceInfo",t.serviceInfo)("direction",t.direction),r.xp6(3),r.Q6J("step",1e3),r.xp6(2),r.AsE("Range: ",r.lcZ(25,30,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.minimal),"-",r.lcZ(26,32,null==t.serviceInfo||null==t.serviceInfo.limits?null:t.serviceInfo.limits.maximal),""),r.xp6(5),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.required),r.xp6(1),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.min),r.xp6(1),r.Q6J("ngIf",null==t.inputFormGroup||null==t.inputFormGroup.controls||null==t.inputFormGroup.controls.amount||null==t.inputFormGroup.controls.amount.errors?null:t.inputFormGroup.controls.amount.errors.max),r.xp6(2),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_IN),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("stepControl",t.statusFormGroup),r.xp6(1),r.Q6J("formGroup",t.statusFormGroup),r.xp6(3),r.Q6J("expanded",!!t.swapStatus),r.xp6(4),r.Oqu(t.swapStatus?t.swapStatus.id?t.swapDirectionCaption+" request details":t.swapDirectionCaption+" error details":"Waiting for "+t.swapDirectionCaption+" request..."),r.xp6(1),r.Q6J("ngIf",t.swapStatus),r.xp6(1),r.Q6J("ngIf",!t.swapStatus)("ngIfElse",e),r.xp6(1),r.Q6J("ngIf",!t.swapStatus),r.xp6(1),r.Q6J("ngIf",t.swapStatus),r.xp6(2),r.Q6J("ngIf",t.swapStatus&&(t.swapStatus.error||!t.swapStatus.id)),r.xp6(2),r.Q6J("mat-dialog-close",!1)}}function gn(t,e){if(1&t&&r._UZ(0,"rtl-boltz-swap-status",53),2&t){const t=r.oxw();r.Q6J("swapStatus",t.swapStatus)("direction",t.direction)}}function yn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"rtl-boltz-swapout-info-graphics",70),r.NdJ("stepNumberChange",function(e){return r.CHM(t),r.oxw(2).stepNumber=e}),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}function bn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"rtl-boltz-swapin-info-graphics",70),r.NdJ("stepNumberChange",function(e){return r.CHM(t),r.oxw(2).stepNumber=e}),r.qZA()}if(2&t){const t=r.oxw(2);r.Q6J("stepNumber",t.stepNumber)("animationDirection",t.animationDirection)}}const vn=function(t,e){return{"dot-primary":t,"dot-primary-lighter":e}};function _n(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"span",71),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onStepChanged(e)}),r._UZ(1,"p",72),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw(2);r.xp6(1),r.Q6J("ngClass",r.WLB(1,vn,i.stepNumber===t,i.stepNumber!==t))}}function wn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",73),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onReadMore()}),r._uU(1,"Read More"),r.qZA()}}function xn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",74),r.NdJ("click",function(){return r.CHM(t),r.oxw(2).onStepChanged(4)}),r._uU(1,"Back"),r.qZA()}}function Cn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",75),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(1,"Close"),r.qZA()}}function An(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",76),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(1,"Close"),r.qZA()}}function Sn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",77),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.onStepChanged(e.stepNumber-1)}),r._uU(1,"Back"),r.qZA()}}function En(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",78),r.NdJ("click",function(){r.CHM(t);const e=r.oxw(2);return e.onStepChanged(e.stepNumber+1)}),r._uU(1,"Next"),r.qZA()}}const kn=function(){return[1,2,3,4,5]};function Tn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",54),r.TgZ(1,"div",18),r.TgZ(2,"mat-card-header",55),r.TgZ(3,"div",56),r._UZ(4,"span",7),r.qZA(),r.TgZ(5,"div",57),r.TgZ(6,"button",58),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.flgShowInfo=!1,e.stepNumber=1}),r._uU(7,"X"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",59),r.YNc(9,yn,1,2,"rtl-boltz-swapout-info-graphics",60),r.YNc(10,bn,1,2,"rtl-boltz-swapin-info-graphics",60),r.qZA(),r.TgZ(11,"div",61),r.YNc(12,_n,2,4,"span",62),r.qZA(),r.TgZ(13,"div",63),r.YNc(14,wn,2,0,"button",64),r.YNc(15,xn,2,0,"button",65),r.YNc(16,Cn,2,0,"button",66),r.YNc(17,An,2,0,"button",67),r.YNc(18,Sn,2,0,"button",68),r.YNc(19,En,2,0,"button",69),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("@opacityAnimation",void 0),r.xp6(9),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_OUT),r.xp6(1),r.Q6J("ngIf",t.direction===t.swapTypeEnum.SWAP_IN),r.xp6(2),r.Q6J("ngForOf",r.DdM(10,kn)),r.xp6(2),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",5===t.stepNumber),r.xp6(1),r.Q6J("ngIf",t.stepNumber<5),r.xp6(1),r.Q6J("ngIf",t.stepNumber>1&&t.stepNumber<5),r.xp6(1),r.Q6J("ngIf",t.stepNumber<5)}}let Mn=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this.dialogRef=t,this.data=e,this.store=i,this.boltzService=n,this.formBuilder=r,this.decimalPipe=s,this.logger=o,this.router=a,this.commonService=l,this.faInfoCircle=N.sqG,this.serviceInfo={fees:{percentage:null,miner:{normal:null,reverse:null}},limits:{minimal:1e4,maximal:5e7}},this.swapTypeEnum=G.hc,this.direction=G.hc.SWAP_OUT,this.swapDirectionCaption="Swap out",this.swapStatus=null,this.inputFormLabel="Amount to swap out",this.addressFormLabel="Withdrawal Address",this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=G.cu,this.animationDirection="forward",this.flgEditable=!0,this.unSubs=[new h.x,new h.x,new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.serviceInfo=this.data.serviceInfo,this.direction=this.data.direction,this.swapDirectionCaption=this.direction===G.hc.SWAP_OUT?"Swap Out":"Swap in",this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.serviceInfo.limits.minimal,[W.kI.required,W.kI.min(this.serviceInfo.limits.minimal),W.kI.max(this.serviceInfo.limits.maximal)]]}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[W.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges()}ngAfterViewInit(){this.direction===G.hc.SWAP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.direction===G.hc.SWAP_OUT&&this.addressFormGroup.valueChanges.pipe((0,k.R)(this.unSubs[2])).subscribe(t=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(t){"external"===t.value?(this.addressFormGroup.controls.address.setValidators([W.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onSwap(){if(!this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.amount.value<+this.serviceInfo.limits.minimal||this.inputFormGroup.controls.amount.value>+this.serviceInfo.limits.maximal||this.direction===G.hc.SWAP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;this.flgEditable=!1,this.stepper.selected.stepControl.setErrors(null),this.stepper.next(),this.direction===G.hc.SWAP_IN?this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe((0,k.R)(this.unSubs[3])).subscribe({next:t=>{this.swapStatus=t,this.boltzService.listSwaps(),this.flgEditable=!0},error:t=>{this.swapStatus={error:t},this.flgEditable=!0,this.logger.error(t)}}):this.boltzService.swapOut(this.inputFormGroup.controls.amount.value,"external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"").pipe((0,k.R)(this.unSubs[4])).subscribe({next:t=>{this.swapStatus=t,this.boltzService.listSwaps(),this.flgEditable=!0},error:t=>{this.swapStatus={error:t},this.flgEditable=!0,this.logger.error(t)}})}stepSelectionChanged(t){switch(t.selectedIndex){case 0:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormLabel=this.inputFormGroup.controls.amount.value?this.swapDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats":"Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;default:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address"}t.selectedIndex{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(ot.so),r.Y36(ot.WI),r.Y36(a.yh),r.Y36(Ei),r.Y36(W.qu),r.Y36(U.JJ),r.Y36(V.mQ),r.Y36(R.F0),r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swap-modal"]],viewQuery:function(t,e){if(1&t&&r.Gf(Ki,5),2&t){let t;r.iGM(t=r.CRH())&&(e.stepper=t.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["swapStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"serviceInfo","direction"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","button","matStepperNext","",4,"ngIf"],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-stroked-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["mat-stroked-button","","color","primary","tabindex","2","type","button","matStepperNext",""],["mat-stroked-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-stroked-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-flat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"swapStatus","direction"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-stroked-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-flat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"stepNumber","animationDirection","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-stroked-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-stroked-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(t,e){1&t&&(r.YNc(0,mn,54,34,"div",0),r.YNc(1,gn,1,2,"ng-template",null,1,r.W1O),r.YNc(3,Tn,20,11,"div",2)),2&t&&(r.Q6J("ngIf",!e.flgShowInfo),r.xp6(3),r.Q6J("ngIf",e.flgShowInfo))},directives:[U.O5,P.xw,P.yH,P.Wh,Z.dk,$.lW,Z.dn,ht.Vq,ht.C0,W._Y,W.JL,W.sg,ht.VY,Ti,J.KE,ut.Nt,W.wV,W.Fj,K.h,W.JJ,W.u,W.Q7,J.bx,J.R9,ki.ib,ki.yz,ki.yK,ot.ZT,J.TO,ht.Ic,he.VQ,he.U0,Mi.Hw,Ze.pW,Ri,U.sg,Hi,Xi,U.mk,ue.oO],pipes:[U.JJ],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[_i._]}}),t})();function Ln(t,e){1&t&&r._UZ(0,"mat-progress-bar",32)}function In(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Status "),r.qZA())}function On(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Oqu(i.swapStateEnum[t.status])}}function Dn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Swap ID "),r.qZA())}function Rn(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.id)}}function Nn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Claim Address "),r.qZA())}function Pn(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.claimAddress)}}function Fn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Onchain Amount (Sats) "),r.qZA())}function Zn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.onchainAmount))}}function Bn(t,e){1&t&&(r.TgZ(0,"th",33),r._uU(1," Lockup Address "),r.qZA())}function Un(t,e){if(1&t&&(r.TgZ(0,"td",34),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.xp6(1),r.Oqu(t.lockupAddress)}}function qn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Expected Amount (Sats) "),r.qZA())}function zn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.expectedAmount))}}function Hn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Timeout Block Height "),r.qZA())}function Yn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.timeoutBlockHeight))}}function Gn(t,e){1&t&&(r.TgZ(0,"th",35),r._uU(1," Amount (Sats) "),r.qZA())}function jn(t,e){if(1&t&&(r.TgZ(0,"td",34),r.TgZ(1,"span",36),r._uU(2),r.ALo(3,"number"),r.qZA(),r.qZA()),2&t){const t=e.$implicit;r.xp6(2),r.Oqu(r.lcZ(3,1,t.amt))}}function Vn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"th",37),r.TgZ(1,"div",38),r.TgZ(2,"mat-select",39),r._UZ(3,"mat-select-trigger"),r.TgZ(4,"mat-option",40),r.NdJ("click",function(){return r.CHM(t),r.oxw().onDownloadCSV()}),r._uU(5,"Download CSV"),r.qZA(),r.qZA(),r.qZA(),r.qZA()}}function Qn(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"td",41),r.TgZ(1,"button",42),r.NdJ("click",function(e){const i=r.CHM(t).$implicit;return r.oxw().onSwapClick(i,e)}),r._uU(2,"View Info"),r.qZA(),r.qZA()}}function Wn(t,e){if(1&t&&(r.TgZ(0,"p"),r._uU(1),r.qZA()),2&t){const t=r.oxw(2);r.xp6(1),r.Oqu(t.emptyTableMessage)}}function Jn(t,e){if(1&t&&(r.TgZ(0,"td",43),r.YNc(1,Wn,2,1,"p",44),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("ngIf",!(null!=t.listSwaps&&t.listSwaps.data)||(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)<1)}}const Xn=function(t){return{"display-none":t}};function Kn(t,e){if(1&t&&r._UZ(0,"tr",45),2&t){const t=r.oxw();r.Q6J("ngClass",r.VKq(1,Xn,(null==t.listSwaps?null:t.listSwaps.data)&&(null==t.listSwaps||null==t.listSwaps.data?null:t.listSwaps.data.length)>0))}}function $n(t,e){1&t&&r._UZ(0,"tr",46)}function tr(t,e){1&t&&r._UZ(0,"tr",47)}const er=function(t){return{"overflow-auto error-border":t,"overflow-auto":!0}},ir=function(){return["no_swap"]};let nr=(()=>{class t{constructor(t,e,i,n){this.logger=t,this.commonService=e,this.store=i,this.boltzService=n,this.selectedSwapType=G.hc.SWAP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.swapStateEnum=G.Qw,this.faHistory=N.qO$,this.swapCaption="Swap Out",this.displayedColumns=[],this.flgSticky=!1,this.pageSize=G.IV,this.pageSizeOptions=G.TJ,this.screenSize="",this.screenSizeEnum=G.cu,this.unSubs=[new h.x,new h.x,new h.x],this.screenSize=this.commonService.getScreenSize(),this.setTableColumns()}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(t){t.selectedSwapType&&!t.selectedSwapType.firstChange&&this.setTableColumns(),this.swapCaption=this.selectedSwapType===G.hc.SWAP_IN?"Swap In":"Swap Out",this.loadSwapsTable(this.swapsData)}setTableColumns(){this.screenSize===G.cu.XS||this.screenSize===G.cu.SM?(this.flgSticky=!1,this.displayedColumns=this.selectedSwapType===G.hc.SWAP_IN?["status","id","expectedAmount","actions"]:["status","id","onchainAmount","actions"]):this.screenSize===G.cu.MD?(this.flgSticky=!1,this.displayedColumns=this.selectedSwapType===G.hc.SWAP_IN?["status","id","expectedAmount","timeoutBlockHeight","actions"]:["status","id","onchainAmount","timeoutBlockHeight","actions"]):(this.flgSticky=!0,this.displayedColumns=this.selectedSwapType===G.hc.SWAP_IN?["status","id","lockupAddress","expectedAmount","timeoutBlockHeight","actions"]:["status","id","claimAddress","onchainAmount","timeoutBlockHeight","actions"])}applyFilter(t){this.listSwaps&&(this.listSwaps.filter=t.value.trim().toLowerCase())}onSwapClick(t,e){this.boltzService.swapInfo(t.id).pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.store.dispatch(new j.wu({data:{type:G.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:[[{key:"status",value:G.Qw[(t=this.selectedSwapType===G.hc.SWAP_IN?t.swap:t.reverseSwap).status],title:"Status",width:50,type:G.Gi.STRING},{key:"id",value:t.id,title:"ID",width:50,type:G.Gi.STRING}],[{key:"amount",value:t.onchainAmount?t.onchainAmount:t.expectedAmount?t.expectedAmount:0,title:t.onchainAmount?"Onchain Amount (Sats)":t.expectedAmount?"Expected Amount (Sats)":"Amount (Sats)",width:50,type:G.Gi.NUMBER},{key:"timeoutBlockHeight",value:t.timeoutBlockHeight,title:"Timeout Block Height",width:50,type:G.Gi.NUMBER}],[{key:"address",value:t.claimAddress?t.claimAddress:t.lockupAddress?t.lockupAddress:"",title:t.claimAddress?"Claim Address":t.lockupAddress?"Lockup Address":"Address",width:100,type:G.Gi.STRING}],[{key:"invoice",value:t.invoice,title:"Invoice",width:100,type:G.Gi.STRING}],[{key:"privateKey",value:t.privateKey,title:"Private Key",width:100,type:G.Gi.STRING}],[{key:"preimage",value:t.preimage,title:"Preimage",width:100,type:G.Gi.STRING}],[{key:"redeemScript",value:t.redeemScript,title:"Redeem Script",width:100,type:G.Gi.STRING}],[{key:"lockupTransactionId",value:t.lockupTransactionId,title:"Lockup Transaction ID",width:50,type:G.Gi.STRING},{key:"transactionId",value:t.claimTransactionId?t.claimTransactionId:t.refundTransactionId?t.refundTransactionId:"",title:t.claimTransactionId?"Claim Transaction ID":t.refundTransactionId?"Refund Transaction ID":"Transaction ID",width:50,type:G.Gi.STRING}]],openedBy:"SWAP"}}))})}loadSwapsTable(t){this.listSwaps=new Fe.by(t?[...t]:[]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(t,e)=>t[e]&&isNaN(t[e])?t[e].toLocaleLowerCase():t[e]?+t[e]:null,this.listSwaps.filterPredicate=(t,e)=>JSON.stringify(t).toLowerCase().includes(e),this.paginator&&this.paginator.firstPage(),this.listSwaps.paginator=this.paginator,this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===G.hc.SWAP_IN?"Swap in":"Swap out")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(Ei))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-swaps"]],viewQuery:function(t,e){if(1&t&&(r.Gf(Pe.YE,5),r.Gf(Ne.NW,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sort=t.first),r.iGM(t=r.CRH())&&(e.paginator=t.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[r._Bn([{provide:Ne.ye,useValue:(0,G.pt)("Swaps")}]),r.TTD],decls:46,vars:15,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex","30"],["matInput","","placeholder","Filter",3,"keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","claimAddress"],["matColumnDef","onchainAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","lockupAddress"],["matColumnDef","expectedAmount"],["matColumnDef","timeoutBlockHeight"],["matColumnDef","amt"],["matColumnDef","actions"],["mat-header-cell","","class","px-3",4,"matHeaderCellDef"],["mat-cell","","class","pl-3","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cell","","colspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell","",1,"px-3"],[1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center",1,"pl-3"],["mat-stroked-button","","color","primary","type","button","tabindex","4",3,"click"],["mat-footer-cell","","colspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"div",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span",4),r._uU(5),r.qZA(),r.qZA(),r.TgZ(6,"mat-form-field",5),r.TgZ(7,"input",6),r.NdJ("keyup",function(t){return e.applyFilter(t.target)}),r.qZA(),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.TgZ(9,"div",8),r.YNc(10,Ln,1,0,"mat-progress-bar",9),r.TgZ(11,"table",10,11),r.ynx(13,12),r.YNc(14,In,2,0,"th",13),r.YNc(15,On,2,1,"td",14),r.BQk(),r.ynx(16,15),r.YNc(17,Dn,2,0,"th",13),r.YNc(18,Rn,2,1,"td",14),r.BQk(),r.ynx(19,16),r.YNc(20,Nn,2,0,"th",13),r.YNc(21,Pn,2,1,"td",14),r.BQk(),r.ynx(22,17),r.YNc(23,Fn,2,0,"th",18),r.YNc(24,Zn,4,3,"td",14),r.BQk(),r.ynx(25,19),r.YNc(26,Bn,2,0,"th",13),r.YNc(27,Un,2,1,"td",14),r.BQk(),r.ynx(28,20),r.YNc(29,qn,2,0,"th",18),r.YNc(30,zn,4,3,"td",14),r.BQk(),r.ynx(31,21),r.YNc(32,Hn,2,0,"th",18),r.YNc(33,Yn,4,3,"td",14),r.BQk(),r.ynx(34,22),r.YNc(35,Gn,2,0,"th",18),r.YNc(36,jn,4,3,"td",14),r.BQk(),r.ynx(37,23),r.YNc(38,Vn,6,0,"th",24),r.YNc(39,Qn,3,0,"td",25),r.BQk(),r.ynx(40,26),r.YNc(41,Jn,2,1,"td",27),r.BQk(),r.YNc(42,Kn,1,3,"tr",28),r.YNc(43,$n,1,0,"tr",29),r.YNc(44,tr,1,0,"tr",30),r.qZA(),r._UZ(45,"mat-paginator",31),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(3),r.Q6J("icon",e.faHistory),r.xp6(2),r.hij("",e.swapCaption," History"),r.xp6(5),r.Q6J("ngIf",!0===e.flgLoading[0]),r.xp6(1),r.Q6J("dataSource",e.listSwaps)("ngClass",r.VKq(12,er,"error"===e.flgLoading[0])),r.xp6(31),r.Q6J("matFooterRowDef",r.DdM(14,ir)),r.xp6(1),r.Q6J("matHeaderRowDef",e.displayedColumns)("matHeaderRowDefSticky",e.flgSticky),r.xp6(1),r.Q6J("matRowDefColumns",e.displayedColumns),r.xp6(1),r.Q6J("pageSize",e.pageSize)("pageSizeOptions",e.pageSizeOptions)("showFirstLastButtons",e.screenSize!==e.screenSizeEnum.XS))},directives:[P.xw,P.yH,P.Wh,F.BN,J.KE,ut.Nt,Q.$V,U.O5,Fe.BZ,Pe.YE,U.mk,ue.oO,Fe.w1,Fe.fO,Fe.Dz,Fe.mD,Fe.Ke,Fe.as,Fe.nj,Ne.NW,Ze.pW,Fe.ge,Pe.nU,Fe.ev,X.gD,X.$L,tt.ey,$.lW,Fe.yh,Fe.Q2,Fe.XQ,Fe.Gk],pipes:[U.JJ],styles:[".mat-column-actions[_ngcontent-%COMP%]{min-height:4.8rem}"]}),t})();const rr=function(t){return["../",t]};function sr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"div",15),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onSelectedIndexChange(e)}),r._uU(1),r.qZA()}if(2&t){const t=e.$implicit,i=r.oxw();r.Q6J("active",i.activeTab.link===t.link)("routerLink",r.VKq(3,rr,t.link)),r.xp6(1),r.Oqu(t.name)}}let or=(()=>{class t{constructor(t,e,i){this.router=t,this.store=e,this.boltzService=i,this.swapTypeEnum=G.hc,this.selectedSwapType=G.hc.SWAP_OUT,this.swaps={},this.swapsData=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"swapout",name:"Swap Out"},{link:"swapin",name:"Swap In"}],this.activeTab=this.links[0],this.unSubs=[new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.boltzService.listSwaps();const t=this.links.find(t=>this.router.url.includes(t.link));this.activeTab=t||this.links[0],this.selectedSwapType=t&&"swapin"===t.link?G.hc.SWAP_IN:G.hc.SWAP_OUT,this.router.events.pipe((0,k.R)(this.unSubs[0]),(0,A.h)(t=>t instanceof R.Av)).subscribe(t=>{const e=this.links.find(e=>t.urlAfterRedirects.includes(e.link));this.activeTab=e||this.links[0],this.selectedSwapType=e&&"swapin"===e.link?G.hc.SWAP_IN:G.hc.SWAP_OUT}),this.boltzService.swapsChanged.pipe((0,k.R)(this.unSubs[1])).subscribe({next:t=>{this.swaps=t,this.swapsData=this.selectedSwapType===G.hc.SWAP_IN?t.swaps:t.reverseSwaps,this.flgLoading[0]=!1},error:t=>{this.flgLoading[0]="error",this.emptyTableMessage=t.message?t.message:"No swap "+(this.selectedSwapType===G.hc.SWAP_IN?"in":"out")+" available."}})}onSelectedIndexChange(t){"swapin"===t.link?(this.selectedSwapType=G.hc.SWAP_IN,this.swapsData=this.swaps.swaps):(this.selectedSwapType=G.hc.SWAP_OUT,this.swapsData=this.swaps.reverseSwaps)}onSwap(t){this.boltzService.serviceInfo().pipe((0,k.R)(this.unSubs[2])).subscribe(e=>{this.store.dispatch(new j.wu({data:{serviceInfo:e,direction:t,component:Mn}}))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.F0),r.Y36(a.yh),r.Y36(Ei))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-boltz-root"]],decls:18,vars:6,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"botlz-icon-sm","mr-1"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["mat-tab-nav-bar",""],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.O4$(),r.TgZ(1,"svg",1),r.TgZ(2,"g",2),r.TgZ(3,"g",3),r._UZ(4,"circle",4),r._UZ(5,"path",5),r._UZ(6,"path",6),r.qZA(),r.qZA(),r.qZA(),r.kcU(),r.TgZ(7,"span",7),r._uU(8,"Boltz"),r.qZA(),r.qZA(),r.TgZ(9,"div",8),r.TgZ(10,"mat-card"),r.TgZ(11,"mat-card-content",9),r.TgZ(12,"nav",10),r.YNc(13,sr,2,5,"div",11),r.qZA(),r.TgZ(14,"div",12),r.TgZ(15,"button",13),r.NdJ("click",function(){return e.onSwap(e.selectedSwapType)}),r._uU(16),r.qZA(),r.qZA(),r._UZ(17,"rtl-boltz-swaps",14),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(13),r.Q6J("ngForOf",e.links),r.xp6(3),r.hij("Start ",e.activeTab.name,""),r.xp6(1),r.Q6J("selectedSwapType",e.selectedSwapType)("swapsData",e.swapsData)("flgLoading",e.flgLoading)("emptyTableMessage",e.emptyTableMessage))},directives:[P.xw,P.Wh,Z.a8,Z.dn,P.yH,B.BU,U.sg,$.lW,nr,B.Nj,R.rH],styles:[""]}),t})();class ar{constructor(t){this.help=t}}function lr(t,e){if(1&t&&(r.TgZ(0,"mat-expansion-panel",8),r.TgZ(1,"mat-expansion-panel-header"),r.TgZ(2,"mat-panel-title"),r._uU(3),r.qZA(),r.qZA(),r.TgZ(4,"mat-panel-description",9),r._UZ(5,"span",10),r.TgZ(6,"a",11),r._uU(7),r.qZA(),r.qZA(),r.qZA()),2&t){const t=r.oxw().$implicit,e=r.oxw();r.xp6(3),r.Oqu(t.help.question),r.xp6(2),r.Q6J("innerHTML",t.help.answer,r.oJD),r.xp6(1),r.Q6J("routerLink",e.flgLoggedIn?e.LNPLink+t.help.link:"/login"),r.xp6(1),r.Oqu(e.flgLoggedIn?t.help.linkCaption:"Login to go to the page")}}function cr(t,e){if(1&t&&(r.TgZ(0,"div",6),r.YNc(1,lr,8,4,"mat-expansion-panel",7),r.qZA()),2&t){const t=e.$implicit,i=r.oxw();r.xp6(1),r.Q6J("ngIf","ALL"===t.help.lnImplementation||t.help.lnImplementation===i.selNode.lnImplementation)}}let hr=(()=>{class t{constructor(t,e){this.store=t,this.sessionService=e,this.helpTopics=[],this.faQuestion=N.Psp,this.LNPLink="/lnd/",this.flgLoggedIn=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.helpTopics.push(new ar({question:"Getting started",answer:'Funding your node is the first step to get started.\nGo to the "On-chain" page of the app:\n1. Generate a new address on the "Recieve" tab.\n2. Send funds to the address.\n3. Wait for the balance to be confirmed on-chain before proceeding further.\n3. Connecting with network peers and opening channels is next.\n',link:"onchain",linkCaption:"On-Chain page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Connect with peers",answer:'Connect with network peers to open channels with them.\nGo to "Peer/Channels" page under the "Lightning" menu :\n1. Get the peer pubkey and host address in the pubkey@ip:port format.\n2. On the "Peers" enter the peer address and connect.\n3. Once the peer is connected, you can open channel with the peer.\n4. A variety of actions can be performed on the connected peers page for each peer:\n a. View Info - View the peer details.\n b. Open Channel - Open channel with the peer.\n c. Disconnect - Disconnect from the peer.\n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Opening Channels",answer:'Open channels with a connected network peer.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. On the "Channels" section, select the alias of the connected peer from the drop-down\n2. Specify the amount to commit to the channel and click on "Open Channel".\n3. There are a variety of options available while opening a channel. \n a. Private Channel - When this option is selected, a private channel is opened with the peer. \n b. Priority (advanced option) - Specify either Target confirmation Block or Fee in Sat/vByte. \n c. Spend Unconfirmd Output (advanced option) - Allow channels to be opened with unconfirmed UTXOs.\n4. Track the pending open channels under the "Pending" tab . \n5. Wait for the channel to be confirmed. Only a confimed channel can be used for payments or routing. \n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Channel Management",answer:'Channel maintenance and balance score.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. A variety of actions can be perfomed on the open channels under the "Open" tab, with the "Actions" button:\n a. View Info - View the channel details.\n b. View Remote Fee - View the fee policy on the channel of the remote peer.\n c. Update Fee Policy - Modify the fee policy on the channel.\n d. Close Channel - Close the channel.\n2. Balance Score is a "balancedness" metric score for the channel. \n a. It helps measure how balanced the remote and local balances are, on a channel.\n b. A perfectly balanced channel has a score of one, where as a completely lopsided one has a score of zero.\n c. The formula for calculating the score is "1 - abs((local bal - remote bal)/total bal)".\n',link:"peerschannels",linkCaption:"Peers/Channels page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Payments",answer:'Sending Payments from your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayments tab is for making payments via your node\n 1. Input a non-expired lightning invoice (Bolt11 format) in the "Payment request" field and click on "Send Payment" to send.\n 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\n 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Invoices",answer:'Receiving Payments on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nInvoices tab is for receiving payments on your node.\n 1. Memo - Description you want to provide on the invoice.\n 2. Expiry - The time period, after which the invoice will be invalid.\n 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Lightning Transactions - Query Route",answer:'Querying Payment Routes.\nGo to the "Transactions" page under the "Lightning" menu :\nQuery Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\n 2. Amount - Amount in Sats, which you want to send to the node.\n',link:"transactions",linkCaption:"Transactions page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Channel Backups",answer:'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\nBackup folder location can be customized in the RTL config file with the channelBackupPath field.\nRTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\nYou can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\nYou can also backup each channel individually and verify them.\n** Keep taking backups of your channels regularly and store them in redundant locations **.\n',link:"backup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new ar({question:"Channel Restore",answer:'Channel Restore is used to recover funds from the channel backup files in case of node failures.\nFollow the below steps to perform fund restoration.\n\nPrerequisite:\n1. The node has been restored with the LND recovery seed.\n2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\nRecovery:\n1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n2. Place the channel backup file in the restore folder.\n3. Go to the "Restore" tab under the "Backup" page of RTL.\n4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n5. Click on the Restore icon on the grid to restore the funds.\n6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n7. Restore function will force close the channels and recover the funds from them.\n8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\n',link:"backup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new ar({question:"Forwarding History",answer:'Transactions routed by the node.\nGo to "Routing" page under the "Lightning" menu :\nTransactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n',link:"routing",linkCaption:"Forwarding History",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Graph Lookup",answer:'Querying your node graph for network node and channel information.\nGo to "Graph Lookup" page under the "Lightning" menu :\nEach node maintains a network graph for the information on all the nodes and channels on the network.\nYou can lookup information on nodes and channels from your graph:\n 1. Node Lookup - Enter the pubkey to perform the lookup.\n 2. Channel Lookup - Enter the short channel ID to perform the lookup.\n',link:"lookups",linkCaption:"Graph Lookup page",lnImplementation:"ALL"})),this.helpTopics.push(new ar({question:"Settings",answer:'RTL Offers certain customizations on the UI to personalize your experience on the app\nGo to "Settings" page to access the customization options.\nNode Layout Options\n 1. User Persona - Two options are available to change the dashboard based on the persona.\n 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n 3. Default Node - If you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\nOther Customizations include day and night mode and a choice of color themes to select from.\n',lnImplementation:"ALL"}))}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{switch(this.selNode=t.selNode,this.selNode.lnImplementation.toUpperCase()){case"CLT":this.LNPLink="/cl/";break;case"ECL":this.LNPLink="/ecl/";break;default:this.LNPLink="/lnd/"}}),this.sessionService.watchSession().pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.flgLoggedIn=!!t.token}),this.sessionService.getItem("token")&&(this.flgLoggedIn=!0)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(a.yh),r.Y36(It.m))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-help"]],decls:8,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxFlex","100",4,"ngFor","ngForOf"],["fxFlex","100"],["class","flat-expansion-panel help-expansion mb-2px",4,"ngIf"],[1,"flat-expansion-panel","help-expansion","mb-2px"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],[1,"pre-wrap",3,"innerHTML"],[1,"mt-2",3,"routerLink"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r._UZ(2,"fa-icon",2),r.TgZ(3,"span",3),r._uU(4,"Help"),r.qZA(),r.qZA(),r.TgZ(5,"div",4),r.TgZ(6,"div",0),r.YNc(7,cr,2,1,"div",5),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(2),r.Q6J("icon",e.faQuestion),r.xp6(5),r.Q6J("ngForOf",e.helpTopics))},directives:[P.xw,P.yH,P.Wh,F.BN,U.sg,U.O5,ki.ib,ki.yz,ki.yK,ki.u4,R.yS],styles:[".mat-card-content[_ngcontent-%COMP%]{margin-bottom:4px}"]}),t})();function ur(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Token is required."),r.qZA())}let dr=(()=>{class t{constructor(t,e){this.dialogRef=t,this.store=e,this.faUserClock=N.hnx,this.token=""}onClose(){this.dialogRef.close(null)}onVerifyToken(){if(!this.token)return!0;this.dialogRef.close(),this.store.dispatch(new j.YY({twoFAToken:this.token}))}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(ot.so),r.Y36(a.yh))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-login-token"]],decls:17,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100",3,"ngSubmit"],["tokenForm","ngForm"],["autoFocus","","matInput","","placeholder","Token","type","text","id","token","name","token","tabindex","2","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-flat-button","","color","primary","tabindex","4","type","submit"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"div",3),r.TgZ(4,"span",4),r._uU(5,"Two Factor Token"),r.qZA(),r.qZA(),r.TgZ(6,"button",5),r.NdJ("click",function(){return e.onClose()}),r._uU(7,"X"),r.qZA(),r.qZA(),r.TgZ(8,"mat-card-content",6),r.TgZ(9,"form",7,8),r.NdJ("ngSubmit",function(){return e.onVerifyToken()}),r.TgZ(11,"mat-form-field"),r.TgZ(12,"input",9),r.NdJ("ngModelChange",function(t){return e.token=t}),r.qZA(),r.YNc(13,ur,2,0,"mat-error",10),r.qZA(),r.TgZ(14,"div",11),r.TgZ(15,"button",12),r._uU(16,"Verify Token"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(12),r.Q6J("ngModel",e.token),r.xp6(1),r.Q6J("ngIf",!e.token))},directives:[P.xw,P.Wh,P.yH,Z.dk,$.lW,Z.dn,W._Y,W.JL,W.F,J.KE,ut.Nt,W.Fj,K.h,W.Q7,W.JJ,W.On,U.O5,J.TO],styles:[""]}),t})();function pr(t,e){1&t&&(r.TgZ(0,"mat-error"),r._uU(1,"Password is required."),r.qZA())}function fr(t,e){if(1&t&&(r.TgZ(0,"p",20),r.TgZ(1,"mat-icon",21),r._uU(2,"close"),r.qZA(),r._uU(3),r.qZA()),2&t){const t=r.oxw();r.xp6(3),r.hij(" ",t.loginErrorMessage," ")}}const mr=function(t){return{"padding-gap-large":t}},gr=function(t,e){return{"font-size-200":t,"font-size-300":e}};let yr=(()=>{class t{constructor(t,e,i,n){this.logger=t,this.store=e,this.rtlEffects=i,this.commonService=n,this.faUnlockAlt=N.B$L,this.password="",this.rtlSSO=0,this.rtlCookiePath="",this.accessKey="",this.flgShow=!1,this.screenSize="",this.screenSizeEnum=G.cu,this.loginErrorMessage="",this.apisCallStatus=null,this.apiCallStatusEnum=G.Bn,this.unSubs=[new h.x,new h.x,new h.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{this.loginErrorMessage="",this.apisCallStatus=t.apisCallStatus,t.apisCallStatus.Login.status===G.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof this.apisCallStatus.Login.message?JSON.stringify(this.apisCallStatus.Login.message):this.apisCallStatus.Login.message),this.logger.error(this.apisCallStatus.Login.message)),t.apisCallStatus.IsAuthorized.status===G.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof this.apisCallStatus.IsAuthorized.message?JSON.stringify(this.apisCallStatus.IsAuthorized.message):this.apisCallStatus.IsAuthorized.message),this.logger.error(this.apisCallStatus.IsAuthorized.message)),this.selNode=t.selNode,this.appConfig=t.appConfig,this.logger.info(t)})}onLogin(){if(!this.password)return!0;this.loginErrorMessage="",this.appConfig.enable2FA?(this.store.dispatch(new j.wu({maxWidth:"35rem",data:{component:dr}})),this.rtlEffects.closeAlert.pipe((0,st.q)(1)).subscribe(t=>{t&&this.store.dispatch(new j.m3({password:rt(this.password),defaultPassword:G.kO.includes(this.password.toLowerCase()),twoFAToken:t.twoFAToken}))})):this.store.dispatch(new j.m3({password:rt(this.password),defaultPassword:G.kO.includes(this.password.toLowerCase())}))}resetData(){this.password="",this.loginErrorMessage="",this.flgShow=!1}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(a.yh),r.Y36(lt.V),r.Y36(le.v))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-login"]],decls:25,vars:12,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","center stretch",1,"login-container"],["fxLayout","row","fxFlex","50","fxLayoutAlign","center stretch"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign","stretch stretch"],["fxFlex","35","fxLayoutAlign","center center",1,"bg-primary"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",1,"rtl-logo-svg"],["fxFlex","65","fxLayout","column","fxLayoutAlign","center stretch",3,"ngClass"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","p-0"],[1,"font-bold-500",3,"ngClass"],[1,"page-title"],[1,"mt-5px","mb-0","px-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["loginForm","ngForm"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","placeholder","Password","id","password","name","password","tabindex","1","required","",3,"type","ngModel","ngModelChange"],["tabindex","2","matSuffix","",3,"click"],[4,"ngIf"],["fxFlex","100","class","color-warn pre-wrap","fxLayoutAlign","start start",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],["fxFlex","100","fxLayoutAlign","start start",1,"color-warn","pre-wrap"],[1,"mr-1","icon-small"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.TgZ(2,"mat-card",1),r.TgZ(3,"div",2),r.TgZ(4,"div",3),r._UZ(5,"img",4),r.qZA(),r.TgZ(6,"div",5),r.TgZ(7,"mat-card-header",6),r.TgZ(8,"mat-card-title",7),r.TgZ(9,"span",8),r._uU(10,"Welcome"),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"mat-card-content",9),r.TgZ(12,"form",10,11),r.TgZ(14,"mat-form-field",12),r.TgZ(15,"input",13),r.NdJ("ngModelChange",function(t){return e.password=t}),r.qZA(),r.TgZ(16,"mat-icon",14),r.NdJ("click",function(){return e.flgShow=!e.flgShow}),r._uU(17),r.qZA(),r.YNc(18,pr,2,0,"mat-error",15),r.qZA(),r.YNc(19,fr,4,1,"p",16),r.TgZ(20,"div",17),r.TgZ(21,"button",18),r.NdJ("click",function(){return e.resetData()}),r._uU(22,"Clear"),r.qZA(),r.TgZ(23,"button",19),r.NdJ("click",function(){return e.onLogin()}),r._uU(24,"Login"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(6),r.Q6J("ngClass",r.VKq(7,mr,e.screenSize===e.screenSizeEnum.XS)),r.xp6(2),r.Q6J("ngClass",r.WLB(9,gr,e.screenSize===e.screenSizeEnum.XS,e.screenSize!==e.screenSizeEnum.XS)),r.xp6(7),r.Q6J("type",e.flgShow?"text":"password")("ngModel",e.password),r.xp6(2),r.Oqu(e.flgShow?"visibility_off":"visibility"),r.xp6(1),r.Q6J("ngIf",!e.password),r.xp6(1),r.Q6J("ngIf",""!==e.loginErrorMessage))},directives:[P.xw,P.yH,P.Wh,Z.a8,U.mk,ue.oO,Z.dk,Z.n5,Z.dn,W._Y,W.JL,W.F,J.KE,ut.Nt,W.Fj,K.h,W.Q7,W.JJ,W.On,Mi.Hw,J.R9,U.O5,$.lW,J.TO],styles:[".login-container[_ngcontent-%COMP%]{height:90vh}.login-container[_ngcontent-%COMP%] .mat-card[_ngcontent-%COMP%]{height:30rem}.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:100%}@media only screen and (max-width:56.25em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:37%}}@media only screen and (max-width:37.5em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:70%}}.login-container[_ngcontent-%COMP%] .material-icons.mat-icon[_ngcontent-%COMP%]{font-size:120%;cursor:pointer}"]}),t})();var br=i(8016);let vr=(()=>{class t{constructor(t,e){this.activatedRoute=t,this.router=e,this.error={errorCode:"",errorMessage:""},this.faTimes=N.NBC,this.unsubs=[new h.x,new h.x]}ngOnInit(){this.router.routeReuseStrategy.shouldReuseRoute=()=>!1,this.router.onSameUrlNavigation="reload",this.activatedRoute.paramMap.pipe((0,k.R)(this.unsubs[0])).subscribe(t=>{this.error=window.history.state})}goToHelp(){this.router.navigate(["/help"])}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(R.gz),r.Y36(R.F0))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-error"]],decls:13,vars:3,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","center center"],["fxLayout","column","fxFlex","60","fxLayoutAlign","start center"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","padding-gap-large"],[1,"font-size-300","font-bold-500"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","center center",1,"padding-gap-large"],[1,"box-text","font-size-120"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"mat-card",1),r.TgZ(2,"mat-card-header",2),r.TgZ(3,"mat-card-title",3),r._UZ(4,"fa-icon",4),r.TgZ(5,"span",5),r._uU(6),r.qZA(),r.qZA(),r.qZA(),r.TgZ(7,"mat-card-content",6),r.TgZ(8,"div",7),r._uU(9),r.qZA(),r.TgZ(10,"span",8),r.TgZ(11,"button",9),r.NdJ("click",function(){return e.goToHelp()}),r._uU(12,"Go To Help"),r.qZA(),r.qZA(),r.qZA(),r.qZA(),r.qZA()),2&t&&(r.xp6(4),r.Q6J("icon",e.faTimes),r.xp6(2),r.hij("Error ",e.error.errorCode,""),r.xp6(3),r.Oqu(e.error.errorMessage))},directives:[P.xw,P.yH,P.Wh,Z.a8,Z.dk,Z.n5,F.BN,Z.dn,$.lW],encapsulation:2}),t})();var _r=i(6013);const wr=R.Bz.forRoot([{path:"",pathMatch:"full",redirectTo:"login"},{path:"lnd",loadChildren:()=>Promise.all([i.e(958),i.e(891)]).then(i.bind(i,7891)).then(t=>t.LNDModule),canActivate:[_r.a1]},{path:"cl",loadChildren:()=>Promise.all([i.e(958),i.e(145)]).then(i.bind(i,2462)).then(t=>t.CLModule),canActivate:[_r.a1]},{path:"ecl",loadChildren:()=>Promise.all([i.e(958),i.e(432)]).then(i.bind(i,1432)).then(t=>t.ECLModule),canActivate:[_r.a1]},{path:"settings",component:Y,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"app"},{path:"app",component:nt,canActivate:[_r.a1]},{path:"auth",component:Ft,canActivate:[_r.a1]},{path:"bconfig",component:jt,canActivate:[_r.a1]}]},{path:"config",component:Jt,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"node"},{path:"node",component:ve,canActivate:[_r.a1]},{path:"services",component:we,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",component:Ee,canActivate:[_r.a1]},{path:"boltz",component:Ie,canActivate:[_r.a1]}]},{path:"lnconfig",component:re,canActivate:[_r.a1]}]},{path:"services",component:Oe,canActivate:[_r.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",pathMatch:"full",redirectTo:"loop/loopout"},{path:"loop/:selTab",component:vi},{path:"boltz",pathMatch:"full",redirectTo:"boltz/swapout"},{path:"boltz/:selTab",component:or}]},{path:"help",component:hr},{path:"login",component:yr},{path:"error",component:vr},{path:"**",component:br.w}]);var xr=i(253),Cr=i(72),Ar=i(2865),Sr=i(3104),Er=i(8055);function kr(t,e){if(1&t&&(r.TgZ(0,"a",10),r._UZ(1,"fa-icon",3),r.TgZ(2,"span",11),r._uU(3,"Settings"),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faUserCog)}}function Tr(t,e){if(1&t&&(r.TgZ(0,"a",12),r._UZ(1,"fa-icon",3),r.TgZ(2,"span",13),r._uU(3,"Help"),r.qZA(),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faLifeRing)}}function Mr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"a",14),r.NdJ("click",function(){return r.CHM(t),r.oxw().onClick()}),r._UZ(1,"fa-icon",3),r.TgZ(2,"span"),r._uU(3,"Logout"),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.xp6(1),r.Q6J("icon",t.faEject)}}let Lr=(()=>{class t{constructor(t,e,i,n,r){this.logger=t,this.sessionService=e,this.store=i,this.rtlEffects=n,this.actions=r,this.faUserCog=N.gNZ,this.faCodeBranch=N.mh3,this.faCog=N.b7W,this.faLifeRing=N.uli,this.faEject=N.KOR,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.showLogout=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.version=Ai.N.VERSION}ngOnInit(){this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{if(this.selNode=t.selNode,this.information=t.nodeData,this.flgLoading=!this.information.identity_pubkey,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if("object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const t=this.information.chains[0];this.informationChain.chain=t.chain,this.informationChain.network=t.network}}else this.informationChain.chain="",this.informationChain.network="";this.logger.info(t)}),this.sessionService.watchSession().pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.showLogout=!!t.token,this.flgLoading=!!t.token}),this.actions.pipe((0,k.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Nv)).subscribe(()=>{this.showLogout=!1})}onClick(){this.store.dispatch(new j.b_({data:{type:G.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}})),this.rtlEffects.closeConfirm.pipe((0,k.R)(this.unSubs[3])).subscribe(t=>{t&&(this.showLogout=!1,this.store.dispatch(new j.RD))})}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(It.m),r.Y36(a.yh),r.Y36(lt.V),r.Y36(l.eX))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-top-menu"]],decls:13,vars:7,consts:[[1,"top-menu",3,"overlapTrigger"],["topMenu","matMenu"],["mat-menu-item",""],[1,"fa-icon-small","mr-1",3,"icon"],["mat-menu-item","","routerLink","/settings",4,"ngIf"],["mat-menu-item","","routerLink","/help",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],["mat-icon-button","",1,"top-toolbar-icon",3,"matMenuTriggerFor"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",2,"width","3.2rem"],[2,"font-size","2rem","text-align","start"],["mat-menu-item","","routerLink","/settings"],["routerLink","/settings"],["mat-menu-item","","routerLink","/help"],["routerLink","/help"],["mat-menu-item","",3,"click"]],template:function(t,e){if(1&t&&(r.TgZ(0,"mat-menu",0,1),r.TgZ(2,"p",2),r._UZ(3,"fa-icon",3),r.TgZ(4,"span"),r._uU(5),r.qZA(),r.qZA(),r.YNc(6,kr,4,1,"a",4),r.YNc(7,Tr,4,1,"a",5),r.YNc(8,Mr,4,1,"a",6),r.qZA(),r.TgZ(9,"button",7),r._UZ(10,"img",8),r.TgZ(11,"mat-icon",9),r._uU(12,"arrow_drop_down"),r.qZA(),r.qZA()),2&t){const t=r.MAs(1);r.Q6J("overlapTrigger",!1),r.xp6(3),r.Q6J("icon",e.faCodeBranch),r.xp6(2),r.hij("Version: ",e.version,""),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("ngIf",e.showLogout),r.xp6(1),r.Q6J("matMenuTriggerFor",t)}},directives:[Er.VK,Er.OP,F.BN,U.O5,$.lW,Er.p6,Mi.Hw,R.yS,R.rH],styles:[".mat-menu-content,.mat-menu-content p.mat-menu-item,.mat-menu-content p.mat-menu-item div,.mat-menu-content p.mat-menu-item fa-icon,.mat-menu-content p.mat-menu-item span{cursor:default}.mat-menu-content p.mat-menu-item:hover{cursor:default!important}"],encapsulation:2}),t})();var Ir=i(5122),Or=i(1709),Dr=i(1010);const Rr={LNDChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:N.HLz,link:"/lnd/home",userPersona:G.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:N.nNP,link:"/lnd/onchain",userPersona:G.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:N.BDt,link:"/lnd/connections",userPersona:G.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:N.FVb,link:"/lnd/connections",userPersona:G.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:N.Ssp,link:"/lnd/transactions",userPersona:G.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:N.SuH,link:"/lnd/routing",userPersona:G.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:N.koM,link:"/lnd/reports",userPersona:G.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:N.wn1,link:"/lnd/lookups",userPersona:G.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:N.hkK,link:"/lnd/messages",userPersona:G.ol.ALL},{id:37,parentId:3,name:"Backup",iconType:"FA",icon:N.q7m,link:"/lnd/channelbackup",userPersona:G.ol.ALL},{id:38,parentId:3,name:"Network",iconType:"FA",icon:N.o4t,link:"/lnd/network",userPersona:G.ol.OPERATOR},{id:39,parentId:3,name:"Node/Network",iconType:"FA",icon:N.xf3,link:"/lnd/network",userPersona:G.ol.MERCHANT}]},{id:4,parentId:0,name:"Services",iconType:"FA",icon:N.Krp,link:"/services/loop",userPersona:G.ol.ALL,children:[{id:41,parentId:4,name:"Loop",iconType:"FA",icon:N.vqe,link:"/services/loop",userPersona:G.ol.ALL},{id:42,parentId:4,name:"Boltz",iconType:"SVG",icon:"boltzIconBlock",link:"/services/boltz",userPersona:G.ol.ALL}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:N.CgH,link:"/config",userPersona:G.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:N.Psp,link:"/help",userPersona:G.ol.ALL}],CLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:N.HLz,link:"/cl/home",userPersona:G.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:N.nNP,link:"/cl/onchain",userPersona:G.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:N.BDt,link:"/cl/connections",userPersona:G.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:N.FVb,link:"/cl/connections",userPersona:G.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:N.Ssp,link:"/cl/transactions",userPersona:G.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:N.SuH,link:"/cl/routing",userPersona:G.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:N.koM,link:"/cl/reports",userPersona:G.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:N.wn1,link:"/cl/lookups",userPersona:G.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:N.hkK,link:"/cl/messages",userPersona:G.ol.ALL},{id:37,parentId:3,name:"Fee Rates",iconType:"FA",icon:N.USL,link:"/cl/rates",userPersona:G.ol.OPERATOR},{id:38,parentId:3,name:"Node/Fee Rates",iconType:"FA",icon:N.xf3,link:"/cl/rates",userPersona:G.ol.MERCHANT}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:N.CgH,link:"/config",userPersona:G.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:N.Psp,link:"/help",userPersona:G.ol.ALL}],ECLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:N.HLz,link:"/ecl/home",userPersona:G.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:N.nNP,link:"/ecl/onchain",userPersona:G.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:N.BDt,link:"/ecl/connections",userPersona:G.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:N.FVb,link:"/ecl/connections",userPersona:G.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:N.Ssp,link:"/ecl/transactions",userPersona:G.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:N.SuH,link:"/ecl/routing",userPersona:G.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:N.koM,link:"/ecl/reports",userPersona:G.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:N.wn1,link:"/ecl/lookups",userPersona:G.ol.ALL}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:N.CgH,link:"/config",userPersona:G.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:N.Psp,link:"/help",userPersona:G.ol.ALL}]};var Nr=i(6828);function Pr(t,e){if(1&t&&(r.TgZ(0,"mat-option",11),r._uU(1),r.qZA()),2&t){const t=e.$implicit;r.Q6J("value",t),r.xp6(1),r.AsE(" ",t.lnNode," (",t.lnImplementation,") ")}}function Fr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-select",9),r.NdJ("selectionChange",function(e){return r.CHM(t),r.oxw().onNodeSelectionChange(e.value)}),r.YNc(1,Pr,2,3,"mat-option",10),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("value",t.selNode),r.xp6(1),r.Q6J("ngForOf",t.appConfig.nodes)}}function Zr(t,e){if(1&t&&(r.TgZ(0,"span",21),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.oxw(2);const e=r.MAs(11);r.xp6(1),r.Q6J("ngTemplateOutlet","boltzIconBlock"===t.icon?e:null)}}function Br(t,e){if(1&t&&r._UZ(0,"fa-icon",23),2&t){const t=r.oxw().$implicit;r.Q6J("icon",t.icon)}}function Ur(t,e){if(1&t&&(r.TgZ(0,"mat-icon",24),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t.icon)}}function qr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",15),r.TgZ(1,"div",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onChildNavClicked(e)}),r.TgZ(2,"div",17),r.YNc(3,Zr,2,1,"span",18),r.YNc(4,Br,1,1,"fa-icon",19),r.YNc(5,Ur,2,1,"mat-icon",20),r.TgZ(6,"span"),r._uU(7),r.qZA(),r.qZA(),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.s9C("routerLink",t.link),r.xp6(3),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name)}}function zr(t,e){if(1&t&&(r.TgZ(0,"span",33),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Hr(t,e){if(1&t&&r._UZ(0,"fa-icon",23),2&t){const t=r.oxw().$implicit;r.Q6J("icon",t.icon)}}function Yr(t,e){if(1&t&&(r.TgZ(0,"mat-icon",24),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Oqu(t.icon)}}function Gr(t,e){if(1&t&&(r.TgZ(0,"mat-nested-tree-node",25),r.TgZ(1,"div",26),r.TgZ(2,"div",27),r.YNc(3,zr,2,1,"span",28),r.YNc(4,Hr,1,1,"fa-icon",19),r.YNc(5,Yr,2,1,"mat-icon",20),r.TgZ(6,"span"),r._uU(7),r.qZA(),r.qZA(),r.TgZ(8,"button",29),r.TgZ(9,"mat-icon",30),r._uU(10),r.qZA(),r.qZA(),r.qZA(),r.TgZ(11,"div",31),r.GkF(12,32),r.qZA(),r.qZA()),2&t){const t=e.$implicit,i=r.oxw(2);r.xp6(3),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name),r.xp6(1),r.uIk("aria-label","toggle "+t.name),r.xp6(2),r.Oqu(i.treeControlNested.isExpanded(t)?"arrow_drop_up":"arrow_drop_down"),r.xp6(1),r.ekj("tree-children-invisible",!i.treeControlNested.isExpanded(t))}}function jr(t,e){if(1&t&&(r.TgZ(0,"mat-tree",5,12),r.YNc(2,qr,8,5,"mat-tree-node",13),r.YNc(3,Gr,13,8,"mat-nested-tree-node",14),r.qZA()),2&t){const t=r.oxw();r.Q6J("dataSource",t.navMenus)("treeControl",t.treeControlNested),r.xp6(3),r.Q6J("matTreeNodeDefWhen",t.hasChild)}}function Vr(t,e){if(1&t&&(r.TgZ(0,"span",21),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Qr(t,e){if(1&t&&r._UZ(0,"fa-icon",36),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.Q6J("icon",t.icon)}}function Wr(t,e){if(1&t&&(r.TgZ(0,"mat-icon",37),r._uU(1),r.qZA()),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.xp6(1),r.Oqu(t.icon)}}function Jr(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw().onShowData(e)}),r.YNc(1,Vr,2,1,"span",18),r.YNc(2,Qr,1,2,"fa-icon",34),r.YNc(3,Wr,2,2,"mat-icon",35),r.TgZ(4,"span"),r._uU(5),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.xp6(1),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(1),r.Q6J("ngIf",!t.iconType),r.xp6(2),r.Oqu(t.name)}}function Xr(t,e){if(1&t&&(r.TgZ(0,"span",33),r.GkF(1,22),r.qZA()),2&t){const t=r.oxw().$implicit;r.xp6(1),r.Q6J("ngTemplateOutlet",t.icon)}}function Kr(t,e){if(1&t&&r._UZ(0,"fa-icon",36),2&t){const t=r.oxw().$implicit;r.s9C("matTooltip",t.name),r.Q6J("icon",t.icon)}}function $r(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"mat-tree-node",16),r.NdJ("click",function(){const e=r.CHM(t).$implicit;return r.oxw(2).onClick(e)}),r.YNc(1,Xr,2,1,"span",28),r.YNc(2,Kr,1,2,"fa-icon",34),r.TgZ(3,"span"),r._uU(4),r.qZA(),r.qZA()}if(2&t){const t=e.$implicit;r.xp6(1),r.Q6J("ngIf","SVG"===t.iconType),r.xp6(1),r.Q6J("ngIf","FA"===t.iconType),r.xp6(2),r.Oqu(t.name)}}function ts(t,e){if(1&t&&(r.TgZ(0,"mat-tree",5),r.YNc(1,$r,5,3,"mat-tree-node",6),r.qZA()),2&t){const t=r.oxw();r.Q6J("dataSource",t.navMenusLogout)("treeControl",t.treeControlLogout)}}function es(t,e){1&t&&(r.O4$(),r.TgZ(0,"svg",38),r.TgZ(1,"g",39),r.TgZ(2,"g",40),r._UZ(3,"circle",41),r._UZ(4,"path",42),r._UZ(5,"path",43),r.qZA(),r.qZA(),r.qZA())}let is=(()=>{class t{constructor(t,e,i,n,s,o){this.logger=t,this.commonService=e,this.sessionService=i,this.store=n,this.actions=s,this.rtlEffects=o,this.ChildNavClicked=new r.vpe,this.faEject=N.KOR,this.faEye=N.Mdf,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.logoutNode=[{id:200,parentId:0,name:"Logout",iconType:"FA",icon:N.KOR}],this.showDataNodes=[{id:1e3,parentId:0,name:"Public Key",iconType:"FA",icon:N.Mdf}],this.showLogout=!1,this.numPendingChannels=0,this.smallScreen=!1,this.childRootRoute="",this.userPersonaEnum=G.ol,this.unSubs=[new h.x,new h.x,new h.x,new h.x],this.treeControlNested=new Or.VY(t=>t.children),this.treeControlLogout=new Or.VY(t=>t.children),this.treeControlShowData=new Or.VY(t=>t.children),this.navMenus=new Dr.WX,this.navMenusLogout=new Dr.WX,this.navMenusShowData=new Dr.WX,this.hasChild=(t,e)=>!!e.children&&e.children.length>0,this.version=Ai.N.VERSION,200===Rr.LNDChildren[Rr.LNDChildren.length-1].id&&Rr.LNDChildren.pop(),this.navMenus.data=Rr.LNDChildren,this.navMenusLogout.data=this.logoutNode,this.navMenusShowData.data=this.showDataNodes}ngOnInit(){const t=this.sessionService.getItem("token");this.showLogout=!!t,this.flgLoading=!!t,this.store.select("root").pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{if(this.appConfig=t.appConfig,this.selNode=t.selNode,this.settings=this.selNode.settings,this.information=t.nodeData,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if("object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const t=this.information.chains[0];this.informationChain.chain=t.chain,this.informationChain.network=t.network}}else this.informationChain.chain="",this.informationChain.network="";this.flgLoading=!this.information.identity_pubkey,window.innerWidth<=414&&(this.smallScreen=!0),this.selNode&&this.selNode.lnImplementation&&this.filterSideMenuNodes(),this.logger.info(t)}),this.sessionService.watchSession().pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.showLogout=!!t.token,this.flgLoading=!!t.token}),this.actions.pipe((0,k.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.Nv)).subscribe(t=>{this.showLogout=!1})}onClick(t){"Logout"===t.name&&(this.store.dispatch(new j.b_({data:{type:G.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}})),this.rtlEffects.closeConfirm.pipe((0,k.R)(this.unSubs[3])).subscribe(t=>{t&&(this.showLogout=!1,this.store.dispatch(new j.RD))})),this.ChildNavClicked.emit(t)}onChildNavClicked(t){this.ChildNavClicked.emit(t)}filterSideMenuNodes(){switch(this.selNode.lnImplementation.toUpperCase()){case"CLT":this.loadCLTMenu();break;case"ECL":this.loadECLMenu();break;default:this.loadLNDMenu()}}loadLNDMenu(){let t=[];t=JSON.parse(JSON.stringify(Rr.LNDChildren)),this.navMenus.data=t.filter(t=>t.children&&t.children.length?(t.children=t.children.filter(t=>(t.userPersona===G.ol.ALL||t.userPersona===this.settings.userPersona)&&"/services/loop"!==t.link&&"/services/boltz"!==t.link||"/services/loop"===t.link&&this.settings.swapServerUrl&&""!==this.settings.swapServerUrl.trim()||"/services/boltz"===t.link&&this.settings.boltzServerUrl&&""!==this.settings.boltzServerUrl.trim()),t.children.length>0):t.userPersona===G.ol.ALL||t.userPersona===this.settings.userPersona)}loadCLTMenu(){let t=[];t=JSON.parse(JSON.stringify(Rr.CLChildren)),this.navMenus.data=t.filter(t=>(t.children&&t.children.length&&(t.children=t.children.filter(t=>(t.userPersona===G.ol.ALL||t.userPersona===this.settings.userPersona)&&"/cl/messages"!==t.link||"/cl/messages"===t.link&&this.information.api_version&&this.commonService.isVersionCompatible(this.information.api_version,"0.2.2"))),t.userPersona===G.ol.ALL||t.userPersona===this.settings.userPersona))}loadECLMenu(){this.navMenus.data=JSON.parse(JSON.stringify(Rr.ECLChildren))}onShowData(t){this.store.dispatch(new j.fD),this.ChildNavClicked.emit("showData")}onNodeSelectionChange(t){this.selNode=t,this.store.dispatch(new j.ZG({uiMessage:G.m6.UPDATE_SELECTED_NODE,lnNode:t,isInitialSetup:!1})),this.ChildNavClicked.emit("selectNode")}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(null),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(le.v),r.Y36(It.m),r.Y36(a.yh),r.Y36(l.eX),r.Y36(lt.V))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-side-navigation"]],viewQuery:function(t,e){if(1&t&&r.Gf(Dr.gi,5),2&t){let t;r.iGM(t=r.CRH())&&(e.tree=t.first)}},outputs:{ChildNavClicked:"ChildNavClicked"},decls:12,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","90","fxLayoutAlign","start stretch",1,"w-100"],["class","m-2 multi-node-select",3,"value","selectionChange",4,"ngIf"],[1,"w-100"],[3,"dataSource","treeControl",4,"ngIf"],[3,"dataSource","treeControl"],[3,"click",4,"matTreeNodeDef"],["fxLayout","column","fxFlex","10","fxLayoutAlign","end stretch",1,"w-100"],["boltzIconBlock",""],[1,"m-2","multi-node-select",3,"value","selectionChange"],["tabindex","1",3,"value",4,"ngFor","ngForOf"],["tabindex","1",3,"value"],["tree",""],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink",4,"matTreeNodeDef"],["fxLayout","column","matTreeNodeToggle","",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink"],[3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["class","fa-icon-small mr-2",4,"ngIf"],["class","fa-icon-small mr-2",3,"icon",4,"ngIf"],["class","mat-icon-36",4,"ngIf"],[1,"fa-icon-small","mr-2"],[3,"ngTemplateOutlet"],[1,"fa-icon-small","mr-2",3,"icon"],[1,"mat-icon-36"],["fxLayout","column","matTreeNodeToggle",""],["fxLayout","row","fxLayoutAlign","start center",1,"mat-nested-tree-node-parent"],["fxFlex","89","fxLayoutAlign","start center"],["class","mr-2",4,"ngIf"],["fxFlex","11","mat-icon-button","","fxLayoutAlign","end center"],[1,"mat-icon-rtl-mirror"],[1,"mat-nested-tree-node-child"],["matTreeNodeOutlet",""],[1,"mr-2"],["class","fa-icon-small mr-2","matTooltipPosition","right",3,"icon","matTooltip",4,"ngIf"],["class","mat-icon-36","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],["matTooltipPosition","right",1,"fa-icon-small","mr-2",3,"icon","matTooltip"],["matTooltipPosition","right",1,"mat-icon-36",3,"matTooltip"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.TgZ(1,"div",1),r.YNc(2,Fr,2,2,"mat-select",2),r._UZ(3,"mat-divider",3),r.YNc(4,jr,4,3,"mat-tree",4),r._UZ(5,"mat-divider",3),r.TgZ(6,"mat-tree",5),r.YNc(7,Jr,6,4,"mat-tree-node",6),r.qZA(),r.qZA(),r.TgZ(8,"div",7),r.YNc(9,ts,2,2,"mat-tree",4),r.qZA(),r.qZA(),r.YNc(10,es,6,0,"ng-template",null,8,r.W1O)),2&t&&(r.xp6(2),r.Q6J("ngIf",e.appConfig.nodes.length>1),r.xp6(2),r.Q6J("ngIf",e.settings.lnServerUrl),r.xp6(2),r.Q6J("dataSource",e.navMenusShowData)("treeControl",e.treeControlShowData),r.xp6(3),r.Q6J("ngIf",e.showLogout))},directives:[P.xw,P.yH,P.Wh,Q.$V,U.O5,Ot.d,Dr.gi,Dr.fQ,X.gD,U.sg,tt.ey,Dr.uo,Dr.eu,R.Od,R.rH,U.tP,F.BN,Mi.Hw,Dr.GZ,$.lW,Dr.Ar,Nr.gM],styles:[".tree-children-invisible[_ngcontent-%COMP%]{display:none}"]}),t})();var ns=i(7806);const rs=["sideNavigation"],ss=["sideNavContent"];function os(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",13),r.NdJ("click",function(){return r.CHM(t),r.oxw().sideNavToggle()}),r.TgZ(1,"mat-icon"),r._uU(2,"menu"),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t.flgSideNavOpened?"Hide Navigation Menu":"Show Navigation Menu")("matTooltipDisabled",t.smallScreen)}}function as(t,e){1&t&&(r.O4$(),r._UZ(0,"path",18))}function ls(t,e){1&t&&(r.O4$(),r._UZ(0,"path",19))}function cs(t,e){if(1&t){const t=r.EpF();r.TgZ(0,"button",14),r.NdJ("click",function(){r.CHM(t);const e=r.oxw();return e.flgSidenavPinned=!e.flgSidenavPinned}),r.O4$(),r.TgZ(1,"svg",15),r.YNc(2,as,1,0,"path",16),r.YNc(3,ls,1,0,"path",17),r.qZA(),r.qZA()}if(2&t){const t=r.oxw();r.Q6J("matTooltip",t.flgSidenavPinned?"Unpin Navigation Menu":"Pin Navigation Menu"),r.xp6(2),r.Q6J("ngIf",!t.flgSidenavPinned),r.xp6(1),r.Q6J("ngIf",t.flgSidenavPinned)}}function hs(t,e){if(1&t&&(r.TgZ(0,"span"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.information.alias?"RTL - "+t.information.alias:"RTL")}}function us(t,e){if(1&t&&(r.TgZ(0,"span"),r._uU(1),r.qZA()),2&t){const t=r.oxw();r.xp6(1),r.Oqu(t.information.alias?"Ride The Lightning - "+t.information.alias:"Ride The Lightning")}}function ds(t,e){1&t&&(r.TgZ(0,"div",20),r._UZ(1,"mat-spinner",21),r.TgZ(2,"h4"),r._uU(3,"Loading RTL..."),r.qZA(),r.qZA())}const ps=function(t,e){return[t,e]};let fs=(()=>{class t{constructor(t,e,i,n,r,s,o,a,l){this.logger=t,this.commonService=e,this.store=i,this.actions=n,this.userIdle=r,this.router=s,this.sessionService=o,this.breakpointObserver=a,this.renderer=l,this.information={},this.flgLoading=[!0],this.flgSideNavOpened=!0,this.flgCopied=!1,this.accessKey="",this.xSmallScreen=!1,this.smallScreen=!1,this.flgSidenavPinned=!0,this.flgLoggedIn=!1,this.unSubs=[new h.x,new h.x,new h.x,new h.x,new h.x,new h.x]}ngOnInit(){this.router.events.subscribe(t=>{t instanceof R.m2&&document.getElementsByTagName("mat-sidenav-content")[0].scrollTo(0,0)}),this.breakpointObserver.observe([Cr.u3.XSmall,Cr.u3.TabletPortrait,Cr.u3.Small,Cr.u3.Medium,Cr.u3.Large,Cr.u3.XLarge]).pipe((0,k.R)(this.unSubs[0])).subscribe(t=>{t.breakpoints[Cr.u3.XSmall]?(this.commonService.setScreenSize(G.cu.XS),this.smallScreen=!0):t.breakpoints[Cr.u3.TabletPortrait]?(this.commonService.setScreenSize(G.cu.SM),this.smallScreen=!0):t.breakpoints[Cr.u3.Small]||t.breakpoints[Cr.u3.Medium]?(this.commonService.setScreenSize(G.cu.MD),this.smallScreen=!1):t.breakpoints[Cr.u3.Large]?(this.commonService.setScreenSize(G.cu.LG),this.smallScreen=!1):(this.commonService.setScreenSize(G.cu.XL),this.smallScreen=!1)}),this.store.dispatch(new j.XF),this.accessKey=this.readAccessKey(),this.store.select("root").pipe((0,k.R)(this.unSubs[1])).subscribe(t=>{this.selNode=t.selNode,this.settings=this.selNode.settings,this.appConfig=t.appConfig,this.information=t.nodeData,this.flgLoading[0]=!this.information.identity_pubkey,this.logger.info(this.settings),this.sessionService.getItem("token")?(this.flgLoggedIn=!0,this.userIdle.startWatching()):(this.flgLoggedIn=!1,this.flgLoading[0]=!1)}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1),this.actions.pipe((0,k.R)(this.unSubs[2]),(0,A.h)(t=>t.type===j.rZ||t.type===j.Nv)).subscribe(t=>{t.type===j.rZ&&(this.sessionService.getItem("token")||(+t.payload.sso.rtlSSO?!this.accessKey||this.accessKey.trim().length<32?this.router.navigate(["./error"],{state:{errorCode:"406",errorMessage:"Access key too short. It should be at least 32 characters long."}}):this.store.dispatch(new j.m3({password:rt(this.accessKey),defaultPassword:!1})):this.router.navigate(["./login"]))),t.type===j.Nv&&(this.flgLoggedIn=!1,this.userIdle.stopWatching(),this.userIdle.stopTimer())}),this.userIdle.onTimerStart().pipe((0,k.R)(this.unSubs[3])).subscribe(t=>{this.logger.info("Counting Down: "+(11-t))}),this.userIdle.onTimeout().pipe((0,k.R)(this.unSubs[4])).subscribe(()=>{this.logger.info("Time Out!"),this.sessionService.getItem("token")&&(this.flgLoggedIn=!1,this.logger.warn("Time limit exceeded for session inactivity."),this.store.dispatch(new j.Ac),this.store.dispatch(new j.wu({data:{type:G.n_.WARNING,alertTitle:"Logging out",titleMessage:"Time limit exceeded for session inactivity."}})),this.store.dispatch(new j.RD))}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1)}readAccessKey(){const t=window.location.href;return t.includes("access-key=")?t.substring(t.lastIndexOf("access-key=")+11).trim():null}ngAfterViewInit(){this.smallScreen?(this.sideNavigation.close(),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)):setTimeout(()=>{this.flgLoggedIn&&this.renderer.setStyle(this.sideNavContent.elementRef.nativeElement,"marginLeft","22rem"),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)},100)}sideNavToggle(){this.flgSideNavOpened=!this.flgSideNavOpened,this.sideNavigation.toggle()}onNavigationClicked(t){this.smallScreen&&this.sideNavigation.close()}copiedText(t){this.flgCopied=!0,setTimeout(()=>{this.flgCopied=!1},5e3),this.logger.info("Copied Text: "+t)}ngOnDestroy(){this.unSubs.forEach(t=>{t.next(),t.complete()})}}return t.\u0275fac=function(e){return new(e||t)(r.Y36(V.mQ),r.Y36(le.v),r.Y36(a.yh),r.Y36(l.eX),r.Y36(O),r.Y36(R.F0),r.Y36(It.m),r.Y36(Cr.Yg),r.Y36(r.Qsj))},t.\u0275cmp=r.Xpm({type:t,selectors:[["rtl-app"]],viewQuery:function(t,e){if(1&t&&(r.Gf(rs,5),r.Gf(ss,5)),2&t){let t;r.iGM(t=r.CRH())&&(e.sideNavigation=t.first),r.iGM(t=r.CRH())&&(e.sideNavContent=t.first)}},decls:23,vars:15,consts:[["fxLayout","column","id","rtl-container",1,"rtl-container","medium",3,"ngClass"],["fxLayout","row","fxLayoutAlign","space-between center",1,"padding-gap-x","bg-primary","rtl-top-toolbar"],["class","top-toolbar-icon mr-1","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","matTooltipDisabled","click",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click",4,"ngIf"],[4,"ngIf"],[1,"sidenav","mat-elevation-z6",3,"perfectScrollbar","opened","mode"],["sideNavigation",""],["fxFlex","100",3,"ChildNavClicked"],[3,"perfectScrollbar"],["sideNavContent",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["outlet","outlet"],["class","rtl-spinner",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon","mr-1",3,"matTooltip","matTooltipDisabled","click"],["mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click"],["viewBox","0 0 32 32",1,"top-toolbar-icon","icon-pinned"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z",4,"ngIf"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z",4,"ngIf"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z"],[1,"rtl-spinner"],["color","accent"]],template:function(t,e){1&t&&(r.TgZ(0,"div",0),r.ALo(1,"lowercase"),r.ALo(2,"lowercase"),r.TgZ(3,"mat-toolbar",1),r.TgZ(4,"div"),r.YNc(5,os,3,2,"button",2),r.YNc(6,cs,4,3,"button",3),r.qZA(),r.TgZ(7,"div"),r.YNc(8,hs,2,1,"span",4),r.YNc(9,us,2,1,"span",4),r.qZA(),r.TgZ(10,"div"),r._UZ(11,"rtl-top-menu"),r.qZA(),r.qZA(),r.TgZ(12,"mat-sidenav-container"),r.TgZ(13,"mat-sidenav",5,6),r.TgZ(15,"rtl-side-navigation",7),r.NdJ("ChildNavClicked",function(t){return e.onNavigationClicked(t)}),r.qZA(),r.qZA(),r.TgZ(16,"mat-sidenav-content",8,9),r.TgZ(18,"div",10),r._UZ(19,"router-outlet",null,11),r.qZA(),r.qZA(),r._uU(21,"> "),r.qZA(),r.YNc(22,ds,4,0,"div",12),r.qZA()),2&t&&(r.Q6J("ngClass",r.WLB(12,ps,r.lcZ(1,8,e.settings.themeColor),r.lcZ(2,10,e.settings.themeMode))),r.xp6(5),r.Q6J("ngIf",e.flgLoggedIn),r.xp6(1),r.Q6J("ngIf",!e.smallScreen&&e.flgLoggedIn),r.xp6(2),r.Q6J("ngIf",e.smallScreen),r.xp6(1),r.Q6J("ngIf",!e.smallScreen),r.xp6(4),r.Q6J("opened",e.flgSideNavOpened&&e.flgLoggedIn)("mode",e.flgSidenavPinned&&!e.smallScreen?"side":"over"),r.xp6(9),r.Q6J("ngIf",!e.settings.themeColor))},directives:[P.xw,U.mk,ue.oO,Sr.Ye,P.Wh,U.O5,Lr,Ir.TM,Ir.JX,Q.$V,is,P.yH,Ir.Rh,R.lC,$.lW,Nr.gM,Mi.Hw,ns.$g],pipes:[U.i8],styles:[".inline-spinner[_ngcontent-%COMP%]{display:inline-flex!important;top:0!important}"],data:{animation:[Ar.g]}}),t})(),ms=(()=>{class t{constructor(t){this.sessionService=t}intercept(t,e){if(this.sessionService.getItem("token")){const i=t.clone({headers:t.headers.set("Authorization","Bearer "+this.sessionService.getItem("token"))});return e.handle(i)}return e.handle(t)}}return t.\u0275fac=function(e){return new(e||t)(r.LFG(It.m))},t.\u0275prov=r.Yz7({token:t,factory:t.\u0275fac}),t})();var gs=i(3556);const ys={apisCallStatus:{FetchInfo:{status:G.Bn.UN_INITIATED},FetchFees:{status:G.Bn.UN_INITIATED},FetchChannels:{status:G.Bn.UN_INITIATED},FetchOnchainBalance:{status:G.Bn.UN_INITIATED},FetchPeers:{status:G.Bn.UN_INITIATED},FetchPayments:{status:G.Bn.UN_INITIATED},FetchInvoices:{status:G.Bn.UN_INITIATED},FetchTransactions:{status:G.Bn.UN_INITIATED}},nodeSettings:{userPersona:G.ol.OPERATOR,selCurrencyUnit:"USD",fiatConversion:!1,channelBackupPath:"",currencyUnits:[]},information:{},fees:{},activeChannels:[],pendingChannels:[],inactiveChannels:[],channelsStatus:{},channelStats:[],onchainBalance:{total:0,confirmed:0,unconfirmed:0},lightningBalance:{localBalance:-1,remoteBalance:-1},peers:[],payments:{},transactions:[],invoices:[]},bs={apisCallStatus:{FetchInfo:{status:G.Bn.UN_INITIATED},FetchInvoices:{status:G.Bn.UN_INITIATED},FetchFees:{status:G.Bn.UN_INITIATED},FetchChannels:{status:G.Bn.UN_INITIATED},FetchBalance:{status:G.Bn.UN_INITIATED},FetchLocalRemoteBalance:{status:G.Bn.UN_INITIATED},FetchFeeRatesperkb:{status:G.Bn.UN_INITIATED},FetchFeeRatesperkw:{status:G.Bn.UN_INITIATED},FetchPeers:{status:G.Bn.UN_INITIATED},FetchUTXOs:{status:G.Bn.UN_INITIATED},FetchPayments:{status:G.Bn.UN_INITIATED},GetForwardingHistory:{status:G.Bn.UN_INITIATED},GetFailedForwardingHistory:{status:G.Bn.UN_INITIATED}},nodeSettings:{userPersona:G.ol.OPERATOR,selCurrencyUnit:"USD",fiatConversion:!1,channelBackupPath:"",currencyUnits:[]},information:{},fees:{},feeRatesPerKB:{},feeRatesPerKW:{},balance:{},localRemoteBalance:{localBalance:-1,remoteBalance:-1},peers:[],allChannels:[],payments:[],forwardingHistory:[],failedForwardingHistory:[],invoices:{invoices:[]},utxos:[]};let vs=!1,_s=!1;const ws={apisCallStatus:{FetchInfo:{status:G.Bn.UN_INITIATED},FetchFees:{status:G.Bn.UN_INITIATED},FetchPeers:{status:G.Bn.UN_INITIATED},FetchClosedChannels:{status:G.Bn.UN_INITIATED},FetchPendingChannels:{status:G.Bn.UN_INITIATED},FetchAllChannels:{status:G.Bn.UN_INITIATED},FetchBalanceBlockchain:{status:G.Bn.UN_INITIATED},FetchInvoices:{status:G.Bn.UN_INITIATED},FetchPayments:{status:G.Bn.UN_INITIATED},GetForwardingHistory:{status:G.Bn.UN_INITIATED},FetchUTXOs:{status:G.Bn.UN_INITIATED},FetchTransactions:{status:G.Bn.UN_INITIATED},FetchLightningTransactions:{status:G.Bn.UN_INITIATED},FetchNetwork:{status:G.Bn.UN_INITIATED}},nodeSettings:{userPersona:G.ol.OPERATOR,fiatConversion:!1,channelBackupPath:"",currencyUnits:[],selCurrencyUnit:"",lnImplementation:"",swapServerUrl:""},information:{},peers:[],fees:{},networkInfo:{},blockchainBalance:{total_balance:-1},allChannels:[],closedChannels:[],pendingChannels:{},numberOfActiveChannels:0,numberOfInactiveChannels:0,numberOfPendingChannels:{open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0},totalCapacityActive:0,totalCapacityInactive:0,totalLocalBalance:-1,totalRemoteBalance:-1,totalInvoices:-1,transactions:[],utxos:[],payments:{payments:[]},invoices:{invoices:[]},allLightningTransactions:{paymentsAll:null,invoicesAll:null},forwardingHistory:{}},xs={userPersona:"OPERATOR",themeMode:"DAY",themeColor:"PURPLE",channelBackupPath:"",selCurrencyUnit:"USD",fiatConversion:!1,currencyUnits:["Sats","BTC","USD"],bitcoindConfigPath:""},Cs={configPath:"",swapMacaroonPath:"",boltzMacaroonPath:""},As={apisCallStatus:{Login:{status:G.Bn.UN_INITIATED},IsAuthorized:{status:G.Bn.UN_INITIATED}},selNode:{settings:xs,authentication:Cs,lnImplementation:"LND"},appConfig:{defaultNodeIndex:-1,selectedNodeIndex:-1,sso:{rtlSSO:0,logoutRedirectLink:""},enable2FA:!1,nodes:[{settings:xs,authentication:Cs}]},nodeData:{}},Ss={root:function(t=As,e){switch(e.type){case j.O3:const i=t.apisCallStatus;return i[e.payload.action]={status:e.payload.status,statusCode:e.payload.statusCode,message:e.payload.message,URL:e.payload.URL,filePath:e.payload.filePath},Object.assign(Object.assign({},t),{apisCallStatus:i});case j.dh:return Object.assign(Object.assign({},As),{appConfig:t.appConfig,selNode:e.payload});case j.RP:return Object.assign(Object.assign({},t),{selNode:e.payload.lnNode});case j.zH:return Object.assign(Object.assign({},t),{nodeData:e.payload});case j.rZ:return Object.assign(Object.assign({},t),{appConfig:e.payload});default:return t}},lnd:function(t=ws,e){switch(e.type){case ae.JE:const i=t.apisCallStatus;return i[e.payload.action]={status:e.payload.status,statusCode:e.payload.statusCode,message:e.payload.message,URL:e.payload.URL,filePath:e.payload.filePath},Object.assign(Object.assign({},t),{apisCallStatus:i});case ae.Os:return Object.assign(Object.assign({},t),{nodeSettings:e.payload});case ae.AL:return Object.assign(Object.assign({},ws),{nodeSettings:e.payload});case ae.Uy:return Object.assign(Object.assign({},t),{information:e.payload});case ae.Ah:return Object.assign(Object.assign({},t),{peers:e.payload});case ae.pK:const n=[...t.peers],r=t.peers.findIndex(t=>t.pub_key===e.payload.pubkey);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{peers:n});case ae.c_:const s=t.invoices;return s.invoices.unshift(e.payload),Object.assign(Object.assign({},t),{invoices:s});case ae.HS:return Object.assign(Object.assign({},t),{fees:e.payload});case ae.S1:return Object.assign(Object.assign({},t),{closedChannels:e.payload});case ae.oS:return Object.assign(Object.assign({},t),{pendingChannels:e.payload.channels,numberOfPendingChannels:e.payload.pendingChannels});case ae.P2:let o=0,a=0,l=0,c=0,h=0,u=0;return e.payload&&e.payload.forEach(t=>{t.local_balance||(t.local_balance=0),!0===t.active?(h+=+t.local_balance,l+=1,t.local_balance?o=+o+ +t.local_balance:t.local_balance=0,t.remote_balance?a=+a+ +t.remote_balance:t.remote_balance=0):(u+=+t.local_balance,c+=1)}),Object.assign(Object.assign({},t),{allChannels:e.payload,numberOfActiveChannels:l,numberOfInactiveChannels:c,totalCapacityActive:h,totalCapacityInactive:u,totalLocalBalance:o,totalRemoteBalance:a});case ae.bq:const d=[...t.allChannels],p=t.allChannels.findIndex(t=>t.channel_point===e.payload.channelPoint);return p>-1&&d.splice(p,1),Object.assign(Object.assign({},t),{allChannels:d});case ae.hn:return"Blockchain"===e.payload.target?Object.assign(Object.assign({},t),{blockchainBalance:e.payload.balance}):Object.assign({},t);case ae._s:return Object.assign(Object.assign({},t),{networkInfo:e.payload});case ae._V:return Object.assign(Object.assign({},t),{invoices:e.payload});case ae.mU:return Object.assign(Object.assign({},t),{totalInvoices:e.payload});case ae.kz:if(vs=!0,e.payload.length&&_s){const i=[...t.utxos];return i.forEach(t=>{const i=e.payload.find(e=>e.tx_hash===t.outpoint.txid_str);t.label=i&&i.label?i.label:""}),Object.assign(Object.assign({},t),{utxos:i,transactions:e.payload})}return Object.assign(Object.assign({},t),{transactions:e.payload});case ae.b:if(_s=!0,e.payload.length&&vs){const i=[...t.transactions];e.payload.forEach(t=>{const e=i.find(e=>e.tx_hash===t.outpoint.txid_str);t.label=e&&e.label?e.label:""})}return Object.assign(Object.assign({},t),{utxos:e.payload});case ae.Bj:return Object.assign(Object.assign({},t),{payments:e.payload});case ae.tB:return Object.assign(Object.assign({},t),{allLightningTransactions:e.payload});case ae.x:if(e.payload.forwarding_events){const i=[...t.allChannels,...t.closedChannels];e.payload.forwarding_events.forEach(t=>{if(i&&i.length>0)for(let e=0;et.id===e.payload.id);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{peers:n});case oe.zj:return Object.assign(Object.assign({},t),{allChannels:e.payload});case oe.Vb:const s=[...t.allChannels],o=t.allChannels.findIndex(t=>t.channel_id===e.payload.channelId);return o>-1&&s.splice(o,1),Object.assign(Object.assign({},t),{allChannels:s});case oe.nL:return Object.assign(Object.assign({},t),{payments:e.payload});case oe.bH:const a=t.fees;if(e.payload&&e.payload.length>0){const i=[...t.allChannels];e.payload.forEach((t,e)=>{if(i&&i.length>0)for(let n=0;n0){const i=[...t.allChannels];e.payload.forEach((t,e)=>{if(i&&i.length>0)for(let n=0;nt.nodeId===e.payload.nodeId);return r>-1&&n.splice(r,1),Object.assign(Object.assign({},t),{peers:n});case se.Cu:const s=[...t.activeChannels],o=t.activeChannels.findIndex(t=>t.channelId===e.payload.channelId);return o>-1&&s.splice(o,1),Object.assign(Object.assign({},t),{activeChannels:s});case se.Wn:if(e.payload&&e.payload.relayed){const i=[...t.activeChannels,...t.pendingChannels,...t.inactiveChannels];e.payload.relayed.forEach(t=>{if(i&&i.length>0)for(let e=0;e{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=r.oAB({type:t,bootstrap:[fs]}),t.\u0275inj=r.cJS({providers:[{provide:o.TP,useClass:ms,multi:!0},_r.a1,It.m,gs.D,Re.W,le.v,Ei],imports:[[s.PW,xr.m,wr,Cr.xu,n.t6,D.forRoot({idle:3590,timeout:10,ping:12e3}),a.Aw.forRoot(Ss,{runtimeChecks:{strictStateImmutability:!1,strictActionImmutability:!1}}),l.sQ.forRoot([lt.V,Es.l,ks.s,Ts.o]),Ai.N.production?[]:c.FT.instrument()]]}),t})();Ai.N.production&&(0,r.G48)(),n.q6().bootstrapModule(Ms).catch(t=>console.log(t))},9162:(t,e,i)=>{"use strict";i.d(e,{ZT:()=>r,mG:()=>s,Jh:()=>o,XA:()=>a,CR:()=>l,ev:()=>c,qq:()=>h,FC:()=>u,KL:()=>d});var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function s(t,e,i,n){return new(i||(i=Promise))(function(r,s){function o(t){try{l(n.next(t))}catch(e){s(e)}}function a(t){try{l(n.throw(t))}catch(e){s(e)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}l((n=n.apply(t,e||[])).next())})}function o(t,e){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function l(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(a){r={error:a}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o}function c(t,e){for(var i=0,n=e.length,r=t.length;i1||a(t,e)})})}function a(t,e){try{(i=r[t](e)).value instanceof h?Promise.resolve(i.value.v).then(l,c):u(s[0][2],i)}catch(n){u(s[0][3],n)}var i}function l(t){a("next",t)}function c(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}}function d(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t=a(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,r){!function(t,e,i,n){Promise.resolve(n).then(function(e){t({value:e,done:i})},e)}(n,r,(e=t[i](e)).done,e.value)})}}}},5415:t=>{"use strict";t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},2063:t=>{"use strict";t.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},2236:t=>{"use strict";t.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},1930:t=>{"use strict";t.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},7519:t=>{"use strict";t.exports={i8:"6.5.4"}},873:t=>{"use strict";t.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},6601:()=>{},8623:()=>{},2361:()=>{},4616:()=>{}},t=>{"use strict";t(t.s=7015)}]); \ No newline at end of file diff --git a/angular/polyfills.99f4d82f067fba7525c4.js b/angular/polyfills.a979cbbe16939013cdcf.js similarity index 94% rename from angular/polyfills.99f4d82f067fba7525c4.js rename to angular/polyfills.a979cbbe16939013cdcf.js index 5118c676..408689a8 100644 --- a/angular/polyfills.99f4d82f067fba7525c4.js +++ b/angular/polyfills.a979cbbe16939013cdcf.js @@ -1 +1 @@ -(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[429],{6698:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),n=e[1];return 3*(e[0]+n)/4-n},e.toByteArray=function(t){var e,n,i=c(t),s=i[0],a=i[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),l=0,h=a>0?s-4:s;for(n=0;n>16&255,u[l++]=e>>8&255,u[l++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[l++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,o=r%3,i=[],s=16383,a=0,c=r-o;ac?c:a+s));return 1===o?i.push(n[(e=t[r-1])>>2]+n[e<<4&63]+"=="):2===o&&i.push(n[(e=(t[r-2]<<8)+t[r-1])>>10]+n[e>>4&63]+n[e<<2&63]+"="),i.join("")};for(var n=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t,e,r){for(var o,i=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},3833:(t,e,n)=>{"use strict";var r=n(6698),o=n(2390),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return h(t)}return u(t,e,n)}function u(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|g(t,e),r=a(n),o=r.write(t,e);return o!==n&&(r=r.slice(0,o)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(N(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(N(t,ArrayBuffer)||t&&N(t.buffer,ArrayBuffer))return p(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(N(t,SharedArrayBuffer)||t&&N(t.buffer,SharedArrayBuffer)))return p(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);var o=function(t){if(c.isBuffer(t)){var e=0|d(t.length),n=a(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||F(t.length)?a(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function h(t){return l(t),a(t<0?0:0|d(t))}function f(t){for(var e=t.length<0?0:0|d(t.length),n=a(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function g(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||N(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var o=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return M(t).length;default:if(o)return r?-1:U(t).length;e=(""+e).toLowerCase(),o=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,n);case"utf8":case"utf-8":return Z(this,e,n);case"ascii":return C(this,e,n);case"latin1":case"binary":return P(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function m(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,o){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),F(n=+n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,o);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,o){var i,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){var l=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){for(var h=!0,f=0;fo&&(r=o):r=o;var i=e.length;r>i/2&&(r=i/2);for(var s=0;s>8,o.push(n%256),o.push(r);return o}(e,t.length-n),t,n,r)}function S(t,e,n){return r.fromByteArray(0===e&&n===t.length?t:t.slice(e,n))}function Z(t,e,n){n=Math.min(t.length,n);for(var r=[],o=e;o239?4:u>223?3:u>191?2:1;if(o+h<=n)switch(h){case 1:u<128&&(l=u);break;case 2:128==(192&(i=t[o+1]))&&(c=(31&u)<<6|63&i)>127&&(l=c);break;case 3:s=t[o+2],128==(192&(i=t[o+1]))&&128==(192&s)&&(c=(15&u)<<12|(63&i)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=t[o+2],a=t[o+3],128==(192&(i=t[o+1]))&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,h=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=h}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?c.from(i).copy(r,o):Uint8Array.prototype.set.call(r,i,o);else{if(!c.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o)}o+=i.length}return r},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(t,e,n,r,o){if(N(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(this===t)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0),a=Math.min(i,s),u=this.slice(r,o),l=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-e;if((void 0===n||n>o)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return k(this,t,e,n);case"utf8":case"utf-8":return w(this,t,e,n);case"ascii":case"latin1":case"binary":return _(this,t,e,n);case"base64":return E(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function C(t,e,n){var r="";n=Math.min(t.length,n);for(var o=e;or)&&(n=r);for(var o="",i=e;in)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function z(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(t,e,n,r,i){return e=+e,n>>>=0,i||z(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function L(t,e,n,r,i){return e=+e,n>>>=0,i||z(t,0,n,8),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){var n=this.length;(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),e>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t],o=1,i=0;++i>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t+--e],o=1;e>0&&(o*=256);)r+=this[t+--e]*o;return r},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);for(var r=e,o=1,i=this[t+--r];r>0&&(o*=256);)i+=this[t+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){t>>>=0,e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return t>>>=0,e||I(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||I(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||I(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||I(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||B(this,t,e,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[e]=255&t;++i>>=0,n>>>=0,r||B(this,t,e,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var o=Math.pow(2,8*n-1);B(this,t,e,n,o-1,-o)}var i=0,s=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var o=Math.pow(2,8*n-1);B(this,t,e,n,o-1,-o)}var i=n-1,s=1,a=0;for(this[e+i]=255&t;--i>=0&&(s*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/s>>0)-a&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeFloatLE=function(t,e,n){return j(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return j(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return L(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return L(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function M(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function x(t,e,n,r){for(var o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}function N(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function F(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,o=0;o<16;++o)e[r+o]=t[n]+t[o];return e}()},2390:(t,e)=>{e.read=function(t,e,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,h=n?o-1:0,f=n?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+h],h+=f,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+t[e+h],h+=f,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),i-=u}return(p?-1:1)*s*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,g=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=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(s++,c/=2),s+h>=l?(a=0,s=l):s+h>=1?(a=(e*c-1)*Math.pow(2,o),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,o),s=0));o>=8;t[n+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;t[n+p]=255&s,p+=d,s/=256,u-=8);t[n+p-d]|=128*g}},2167:()=>{"use strict";!function(t){const e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");const o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}const s=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(s||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}class a{constructor(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,e)}static assertZonePatched(){if(t.Promise!==P.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=a.current;for(;t.parent;)t=t.parent;return t}static get current(){return D.zone}static get currentTask(){return I}static __load_patch(e,o,i=!1){if(P.hasOwnProperty(e)){if(!i&&s)throw Error("Already loaded patch: "+e)}else if(!t["__Zone_disable_"+e]){const i="Zone:"+e;n(i),P[e]=o(t,a,A),r(i,i)}}get parent(){return this._parent}get name(){return this._name}get(t){const e=this.getZoneWith(t);if(e)return e._properties[t]}getZoneWith(t){let e=this;for(;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}}run(t,e,n,r){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{D=D.parent}}runGuarded(t,e=null,n,r){D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{D=D.parent}}runTask(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");if(t.state===k&&(t.type===C||t.type===O))return;const r=t.state!=E;r&&t._transitionTo(E,_),t.runCount++;const o=I;I=t,D={parent:D,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==k&&t.state!==S&&(t.type==C||t.data&&t.data.isPeriodic?r&&t._transitionTo(_,E):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(k,E,k))),D=D.parent,I=o}}scheduleTask(t){if(t.zone&&t.zone!==this){let e=this;for(;e;){if(e===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);e=e.parent}}t._transitionTo(w,k);const e=[];t._zoneDelegates=e,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(n){throw t._transitionTo(S,w,k),this._zoneDelegate.handleError(this,n),n}return t._zoneDelegates===e&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(_,w),t}scheduleMicroTask(t,e,n,r){return this.scheduleTask(new l(Z,t,e,n,r,void 0))}scheduleMacroTask(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))}scheduleEventTask(t,e,n,r,o){return this.scheduleTask(new l(C,t,e,n,r,o))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");t._transitionTo(T,_,E);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(S,T),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(k,T),t.runCount=0,t}_updateTaskCount(t,e){const n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(let r=0;rt.hasTask(n,r),onScheduleTask:(t,e,n,r)=>t.scheduleTask(n,r),onInvokeTask:(t,e,n,r,o,i)=>t.invokeTask(n,r,o,i),onCancelTask:(t,e,n,r)=>t.cancelTask(n,r)};class u{constructor(t,e,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=t,this._parentDelegate=e,this._forkZS=n&&(n&&n.onFork?n:e._forkZS),this._forkDlgt=n&&(n.onFork?e:e._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:e._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:e._interceptZS),this._interceptDlgt=n&&(n.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:e._invokeZS),this._invokeDlgt=n&&(n.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:e._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:e._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:e._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:e._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const r=n&&n.onHasTask;(r||e&&e._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=t,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(t,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,t,e):new a(t,e)}intercept(t,e,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,t,e,n):e}invoke(t,e,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,t,e,n,r,o):e.apply(n,r)}handleError(t,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,t,e)}scheduleTask(t,e){let n=e;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,t,e),n||(n=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=Z)throw new Error("Task is missing scheduleFn.");m(e)}return n}invokeTask(t,e,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,t,e,n,r):e.callback.apply(n,r)}cancelTask(t,e){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,t,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");n=e.cancelFn(e)}return n}hasTask(t,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,t,e)}catch(n){this.handleError(t,n)}}_updateTaskCount(t,e){const n=this._taskCounts,r=n[t],o=n[t]=r+e;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t})}}class l{constructor(e,n,r,o,i,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=s,!r)throw new Error("callback is not defined");this.callback=r;const a=this;this.invoke=e===C&&o&&o.useG?l.invokeTask:function(){return l.invokeTask.call(t,a,this,arguments)}}static invokeTask(t,e,n){t||(t=this),B++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==B&&v(),B--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(k,w)}_transitionTo(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${t}', expecting state '${e}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=t,t==k&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=i("setTimeout"),f=i("Promise"),p=i("then");let d,g=[],y=!1;function m(e){if(0===B&&0===g.length)if(d||t[f]&&(d=t[f].resolve(0)),d){let t=d[p];t||(t=d.then),t.call(d,v)}else t[h](v,0);e&&g.push(e)}function v(){if(!y){for(y=!0;g.length;){const e=g;g=[];for(let n=0;nD,onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:m,showUncaughtError:()=>!a[i("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:z,patchMethod:()=>z,bindArguments:()=>[],patchThen:()=>z,patchMacroTask:()=>z,patchEventPrototype:()=>z,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>z,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>z,wrapWithCurrentZone:()=>z,filterProperties:()=>[],attachOriginToPatched:()=>z,_redefineProperty:()=>z,patchCallbacks:()=>z};let D={parent:null,zone:new a(null,null)},I=null,B=0;function z(){}r("Zone","Zone"),t.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const t=Object.getOwnPropertyDescriptor,e=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,i="addEventListener",s="removeEventListener",a=Zone.__symbol__(i),c=Zone.__symbol__(s),u="true",l="false",h=Zone.__symbol__("");function f(t,e){return Zone.current.wrap(t,e)}function p(t,e,n,r,o){return Zone.current.scheduleMacroTask(t,e,n,r,o)}const d=Zone.__symbol__,g="undefined"!=typeof window,y=g?window:void 0,m=g&&y||"object"==typeof self&&self||global,v=[null];function b(t,e){for(let n=t.length-1;n>=0;n--)"function"==typeof t[n]&&(t[n]=f(t[n],e+"_"+n));return t}function k(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}const w="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,_=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),E=!_&&!w&&!(!g||!y.HTMLElement),T=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!w&&!(!g||!y.HTMLElement),S={},Z=function(t){if(!(t=t||m.event))return;let e=S[t.type];e||(e=S[t.type]=d("ON_PROPERTY"+t.type));const n=this||t.target||m,r=n[e];let o;if(E&&n===y&&"error"===t.type){const e=t;o=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===o&&t.preventDefault()}else o=r&&r.apply(this,arguments),null==o||o||t.preventDefault();return o};function O(n,r,o){let i=t(n,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),!i||!i.configurable)return;const s=d("on"+r+"patched");if(n.hasOwnProperty(s)&&n[s])return;delete i.writable,delete i.value;const a=i.get,c=i.set,u=r.substr(2);let l=S[u];l||(l=S[u]=d("ON_PROPERTY"+u)),i.set=function(t){let e=this;e||n!==m||(e=m),e&&(e[l]&&e.removeEventListener(u,Z),c&&c.apply(e,v),"function"==typeof t?(e[l]=t,e.addEventListener(u,Z,!1)):e[l]=null)},i.get=function(){let t=this;if(t||n!==m||(t=m),!t)return null;const e=t[l];if(e)return e;if(a){let e=a&&a.call(this);if(e)return i.set.call(this,e),"function"==typeof t.removeAttribute&&t.removeAttribute(r),e}return null},e(n,r,i),n[s]=!0}function C(t,e,n){if(e)for(let r=0;rfunction(e,r){const i=n(e,r);return i.cbIdx>=0&&"function"==typeof r[i.cbIdx]?p(i.name,r[i.cbIdx],i,o):t.apply(e,r)})}function B(t,e){t[d("OriginalDelegate")]=e}let z=!1,j=!1;function L(){try{const t=y.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}function R(){if(z)return j;z=!0;try{const t=y.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(j=!0)}catch(t){}return j}Zone.__load_patch("ZoneAwarePromise",(t,e,n)=>{const r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,i=n.symbol,s=[],a=!0===t[i("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=i("Promise"),u=i("then");n.onUnhandledError=t=>{if(n.showUncaughtError()){const e=t&&t.rejection;e?console.error("Unhandled Promise rejection:",e instanceof Error?e.message:e,"; Zone:",t.zone.name,"; Task:",t.task&&t.task.source,"; Value:",e,e instanceof Error?e.stack:void 0):console.error(t)}},n.microtaskDrainDone=()=>{for(;s.length;){const e=s.shift();try{e.zone.runGuarded(()=>{if(e.throwOriginal)throw e.rejection;throw e})}catch(t){h(t)}}};const l=i("unhandledPromiseRejectionHandler");function h(t){n.onUnhandledError(t);try{const n=e[l];"function"==typeof n&&n.call(this,t)}catch(r){}}function f(t){return t&&t.then}function p(t){return t}function d(t){return A.reject(t)}const g=i("state"),y=i("value"),m=i("finally"),v=i("parentPromiseValue"),b=i("parentPromiseState"),k=null,w=!0,_=!1;function E(t,e){return n=>{try{S(t,e,n)}catch(r){S(t,!1,r)}}}const T=i("currentTaskTrace");function S(t,r,i){const c=function(){let t=!1;return function(e){return function(){t||(t=!0,e.apply(null,arguments))}}}();if(t===i)throw new TypeError("Promise resolved with itself");if(t[g]===k){let h=null;try{"object"!=typeof i&&"function"!=typeof i||(h=i&&i.then)}catch(l){return c(()=>{S(t,!1,l)})(),t}if(r!==_&&i instanceof A&&i.hasOwnProperty(g)&&i.hasOwnProperty(y)&&i[g]!==k)O(i),S(t,i[g],i[y]);else if(r!==_&&"function"==typeof h)try{h.call(i,c(E(t,r)),c(E(t,!1)))}catch(l){c(()=>{S(t,!1,l)})()}else{t[g]=r;const c=t[y];if(t[y]=i,t[m]===m&&r===w&&(t[g]=t[b],t[y]=t[v]),r===_&&i instanceof Error){const t=e.currentTask&&e.currentTask.data&&e.currentTask.data.__creationTrace__;t&&o(i,T,{configurable:!0,enumerable:!1,writable:!0,value:t})}for(let e=0;e{try{const r=t[y],o=!!n&&m===n[m];o&&(n[v]=r,n[b]=i);const a=e.run(s,void 0,o&&s!==d&&s!==p?[]:[r]);S(n,!0,a)}catch(r){S(n,!1,r)}},n)}const P=function(){};class A{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(t){return S(new this(null),w,t)}static reject(t){return S(new this(null),_,t)}static race(t){let e,n,r=new this((t,r)=>{e=t,n=r});function o(t){e(t)}function i(t){n(t)}for(let s of t)f(s)||(s=this.resolve(s)),s.then(o,i);return r}static all(t){return A.allWithCallback(t)}static allSettled(t){return(this&&this.prototype instanceof A?this:A).allWithCallback(t,{thenCallback:t=>({status:"fulfilled",value:t}),errorCallback:t=>({status:"rejected",reason:t})})}static allWithCallback(t,e){let n,r,o=new this((t,e)=>{n=t,r=e}),i=2,s=0;const a=[];for(let u of t){f(u)||(u=this.resolve(u));const t=s;try{u.then(r=>{a[t]=e?e.thenCallback(r):r,i--,0===i&&n(a)},o=>{e?(a[t]=e.errorCallback(o),i--,0===i&&n(a)):r(o)})}catch(c){r(c)}i++,s++}return i-=2,0===i&&n(a),o}constructor(t){const e=this;if(!(e instanceof A))throw new Error("Must be an instanceof Promise.");e[g]=k,e[y]=[];try{t&&t(E(e,w),E(e,_))}catch(n){S(e,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(t,n){let r=this.constructor[Symbol.species];r&&"function"==typeof r||(r=this.constructor||A);const o=new r(P),i=e.current;return this[g]==k?this[y].push(i,o,t,n):C(this,i,o,t,n),o}catch(t){return this.then(null,t)}finally(t){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=A);const r=new n(P);r[m]=m;const o=e.current;return this[g]==k?this[y].push(o,r,t,t):C(this,o,r,t,t),r}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;const I=t[c]=t.Promise;t.Promise=A;const B=i("thenPatched");function z(t){const e=t.prototype,n=r(e,"then");if(n&&(!1===n.writable||!n.configurable))return;const o=e.then;e[u]=o,t.prototype.then=function(t,e){return new A((t,e)=>{o.call(this,t,e)}).then(t,e)},t[B]=!0}return n.patchThen=z,I&&(z(I),D(t,"fetch",t=>{return e=t,function(t,n){let r=e.apply(t,n);if(r instanceof A)return r;let o=r.constructor;return o[B]||z(o),r};var e})),Promise[e.__symbol__("uncaughtPromiseErrors")]=s,A}),Zone.__load_patch("toString",t=>{const e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){const i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){const n=t[r];if(n)return e.call(n)}if(this===Error){const n=t[o];if(n)return e.call(n)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;const s=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":s.call(this)}});let U=!1;if("undefined"!=typeof window)try{const t=Object.defineProperty({},"passive",{get:function(){U=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(ht){U=!1}const M={useG:!0},x={},N={},F=new RegExp("^"+h+"(\\w+)(true|false)$"),H=d("propagationStopped");function q(t,e){const n=(e?e(t):t)+l,r=(e?e(t):t)+u,o=h+n,i=h+r;x[t]={},x[t].false=o,x[t].true=i}function G(t,e,r){const o=r&&r.add||i,a=r&&r.rm||s,c=r&&r.listeners||"eventListeners",f=r&&r.rmAll||"removeAllListeners",p=d(o),g="."+o+":",y=function(t,e,n){if(t.isRemoved)return;const r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=t=>r.handleEvent(t),t.originalDelegate=r),t.invoke(t,e,[n]);const o=t.options;o&&"object"==typeof o&&o.once&&e[a].call(e,n.type,t.originalDelegate?t.originalDelegate:t.callback,o)},m=function(e){if(!(e=e||t.event))return;const n=this||e.target||t,r=n[x[e.type].false];if(r)if(1===r.length)y(r[0],n,e);else{const t=r.slice();for(let r=0;rfunction(e,n){e[H]=!0,t&&t.apply(e,n)})}function X(t,e,n,r,o){const i=Zone.__symbol__(r);if(e[i])return;const s=e[i]=e[r];e[r]=function(i,a,c){return a&&a.prototype&&o.forEach(function(e){const o=`${n}.${r}::`+e,i=a.prototype;if(i.hasOwnProperty(e)){const n=t.ObjectGetOwnPropertyDescriptor(i,e);n&&n.value?(n.value=t.wrapWithCurrentZone(n.value,o),t._redefineProperty(a.prototype,e,n)):i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}else i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}),s.call(e,i,a,c)},t.attachOriginToPatched(e[r],s)}const $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],J=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],tt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],et=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],nt=["close","error","open","message"],rt=["error","message"],ot=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],$,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function it(t,e,n){if(!n||0===n.length)return e;const r=n.filter(e=>e.target===t);if(!r||0===r.length)return e;const o=r[0].ignoreProperties;return e.filter(t=>-1===o.indexOf(t))}function st(t,e,n,r){t&&C(t,it(t,e,n),r)}function at(t,e){if(_&&!T)return;if(Zone[t.symbol("patchEvents")])return;const r="undefined"!=typeof WebSocket,o=e.__Zone_ignore_on_properties;if(E){const t=window,e=L()?[{target:t,ignoreProperties:["error"]}]:[];st(t,ot.concat(["messageerror"]),o?o.concat(e):o,n(t)),st(Document.prototype,ot,o),void 0!==t.SVGElement&&st(t.SVGElement.prototype,ot,o),st(Element.prototype,ot,o),st(HTMLElement.prototype,ot,o),st(HTMLMediaElement.prototype,Y,o),st(HTMLFrameSetElement.prototype,$.concat(K),o),st(HTMLBodyElement.prototype,$.concat(K),o),st(HTMLFrameElement.prototype,J,o),st(HTMLIFrameElement.prototype,J,o);const r=t.HTMLMarqueeElement;r&&st(r.prototype,Q,o);const i=t.Worker;i&&st(i.prototype,rt,o)}const i=e.XMLHttpRequest;i&&st(i.prototype,tt,o);const s=e.XMLHttpRequestEventTarget;s&&st(s&&s.prototype,tt,o),"undefined"!=typeof IDBIndex&&(st(IDBIndex.prototype,et,o),st(IDBRequest.prototype,et,o),st(IDBOpenDBRequest.prototype,et,o),st(IDBDatabase.prototype,et,o),st(IDBTransaction.prototype,et,o),st(IDBCursor.prototype,et,o)),r&&st(WebSocket.prototype,nt,o)}Zone.__load_patch("util",(n,a,c)=>{c.patchOnProperties=C,c.patchMethod=D,c.bindArguments=b,c.patchMacroTask=I;const p=a.__symbol__("BLACK_LISTED_EVENTS"),d=a.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[p]=n[d]),n[p]&&(a[p]=a[d]=n[p]),c.patchEventPrototype=V,c.patchEventTarget=G,c.isIEOrEdge=R,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=r,c.ArraySlice=o,c.patchClass=A,c.wrapWithCurrentZone=f,c.filterProperties=it,c.attachOriginToPatched=B,c._redefineProperty=Object.defineProperty,c.patchCallbacks=X,c.getGlobalObjects=()=>({globalSources:N,zoneSymbolEventNames:x,eventNames:ot,isBrowser:E,isMix:T,isNode:_,TRUE_STR:u,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:i,REMOVE_EVENT_LISTENER_STR:s})});const ct=d("zoneTask");function ut(t,e,n,r){let o=null,i=null;n+=r;const s={};function a(e){const n=e.data;return n.args[0]=function(){return e.invoke.apply(this,arguments)},n.handleId=o.apply(t,n.args),e}function c(e){return i.call(t,e.data.handleId)}o=D(t,e+=r,n=>function(o,i){if("function"==typeof i[0]){const t={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},n=i[0];i[0]=function(){try{return n.apply(this,arguments)}finally{t.isPeriodic||("number"==typeof t.handleId?delete s[t.handleId]:t.handleId&&(t.handleId[ct]=null))}};const o=p(e,i[0],t,a,c);if(!o)return o;const u=o.data.handleId;return"number"==typeof u?s[u]=o:u&&(u[ct]=o),u&&u.ref&&u.unref&&"function"==typeof u.ref&&"function"==typeof u.unref&&(o.ref=u.ref.bind(u),o.unref=u.unref.bind(u)),"number"==typeof u||u?u:o}return n.apply(t,i)}),i=D(t,n,e=>function(n,r){const o=r[0];let i;"number"==typeof o?i=s[o]:(i=o&&o[ct],i||(i=o)),i&&"string"==typeof i.type?"notScheduled"!==i.state&&(i.cancelFn&&i.data.isPeriodic||0===i.runCount)&&("number"==typeof o?delete s[o]:o&&(o[ct]=null),i.zone.cancelTask(i)):e.apply(t,r)})}function lt(t,e){if(Zone[e.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:r,TRUE_STR:o,FALSE_STR:i,ZONE_SYMBOL_PREFIX:s}=e.getGlobalObjects();for(let c=0;c{const e=t[Zone.__symbol__("legacyPatch")];e&&e()}),Zone.__load_patch("queueMicrotask",(t,e,n)=>{n.patchMethod(t,"queueMicrotask",t=>function(t,n){e.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",t=>{const e="set",n="clear";ut(t,e,n,"Timeout"),ut(t,e,n,"Interval"),ut(t,e,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{ut(t,"request","cancel","AnimationFrame"),ut(t,"mozRequest","mozCancel","AnimationFrame"),ut(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,e)=>{const n=["alert","prompt","confirm"];for(let r=0;rfunction(r,i){return e.current.run(n,t,i,o)})}),Zone.__load_patch("EventTarget",(t,e,n)=>{!function(t,e){e.patchEventPrototype(t,e)}(t,n),lt(t,n);const r=t.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(t,[r.prototype])}),Zone.__load_patch("MutationObserver",(t,e,n)=>{A("MutationObserver"),A("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,e,n)=>{A("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,e,n)=>{A("FileReader")}),Zone.__load_patch("on_property",(t,e,n)=>{at(n,t)}),Zone.__load_patch("customElements",(t,e,n)=>{!function(t,e){const{isBrowser:n,isMix:r}=e.getGlobalObjects();(n||r)&&t.customElements&&"customElements"in t&&e.patchCallbacks(e,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,n)}),Zone.__load_patch("XHR",(t,e)=>{!function(t){const l=t.XMLHttpRequest;if(!l)return;const h=l.prototype;let f=h[a],g=h[c];if(!f){const e=t.XMLHttpRequestEventTarget;if(e){const t=e.prototype;f=t[a],g=t[c]}}const y="readystatechange",m="scheduled";function v(t){const r=t.data,s=r.target;s[i]=!1,s[u]=!1;const l=s[o];f||(f=s[a],g=s[c]),l&&g.call(s,y,l);const h=s[o]=()=>{if(s.readyState===s.DONE)if(!r.aborted&&s[i]&&t.state===m){const n=s[e.__symbol__("loadfalse")];if(0!==s.status&&n&&n.length>0){const o=t.invoke;t.invoke=function(){const n=s[e.__symbol__("loadfalse")];for(let e=0;efunction(t,e){return t[r]=0==e[2],t[s]=e[1],w.apply(t,e)}),_=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),T=D(h,"send",()=>function(t,n){if(!0===e.current[E])return T.apply(t,n);if(t[r])return T.apply(t,n);{const e={target:t,url:t[s],isPeriodic:!1,args:n,aborted:!1},r=p("XMLHttpRequest.send",b,e,v,k);t&&!0===t[u]&&!e.aborted&&r.state===m&&r.invoke()}}),S=D(h,"abort",()=>function(t,r){const o=t[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===e.current[_])return S.apply(t,r)})}(t);const n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),s=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const r=e.constructor.name;for(let o=0;o{const e=function(){return t.apply(this,b(arguments,r+"."+i))};return B(e,t),e})(s)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,e)=>{function n(e){return function(n){W(t,e).forEach(r=>{const o=t.PromiseRejectionEvent;if(o){const t=new o(e,{promise:n.promise,reason:n.rejection});r.invoke(t)}})}}t.PromiseRejectionEvent&&(e[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),e[d("rejectionHandledHandler")]=n("rejectionhandled"))})},1796:(t,e,n)=>{"use strict";n(2167),window.global=window,global.Buffer=global.Buffer||n(3833).Buffer||[]}},t=>{"use strict";t(t.s=1796)}]); \ No newline at end of file +(self.webpackChunkrtl=self.webpackChunkrtl||[]).push([[429],{6698:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),n=e[1];return 3*(e[0]+n)/4-n},e.toByteArray=function(t){var e,n,i=c(t),s=i[0],a=i[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),l=0,h=a>0?s-4:s;for(n=0;n>16&255,u[l++]=e>>8&255,u[l++]=255&e;return 2===a&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[l++]=255&e),1===a&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,o=r%3,i=[],s=16383,a=0,c=r-o;ac?c:a+s));return 1===o?i.push(n[(e=t[r-1])>>2]+n[e<<4&63]+"=="):2===o&&i.push(n[(e=(t[r-2]<<8)+t[r-1])>>10]+n[e>>4&63]+n[e<<2&63]+"="),i.join("")};for(var n=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function u(t,e,r){for(var o,i=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return i.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},3833:(t,e,n)=>{"use strict";var r=n(6698),o=n(2390),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return h(t)}return u(t,e,n)}function u(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|g(t,e),r=a(n),o=r.write(t,e);return o!==n&&(r=r.slice(0,o)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(N(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(N(t,ArrayBuffer)||t&&N(t.buffer,ArrayBuffer))return p(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(N(t,SharedArrayBuffer)||t&&N(t.buffer,SharedArrayBuffer)))return p(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);var o=function(t){if(c.isBuffer(t)){var e=0|d(t.length),n=a(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||F(t.length)?a(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function h(t){return l(t),a(t<0?0:0|d(t))}function f(t){for(var e=t.length<0?0:0|d(t.length),n=a(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function g(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||N(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var o=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return M(t).length;default:if(o)return r?-1:U(t).length;e=(""+e).toLowerCase(),o=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,n);case"utf8":case"utf-8":return Z(this,e,n);case"ascii":return C(this,e,n);case"latin1":case"binary":return P(this,e,n);case"base64":return S(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function m(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,o){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),F(n=+n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,o);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,o){var i,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){var l=-1;for(i=n;ia&&(n=a-c),i=n;i>=0;i--){for(var h=!0,f=0;fo&&(r=o):r=o;var i=e.length;r>i/2&&(r=i/2);for(var s=0;s>8,o.push(n%256),o.push(r);return o}(e,t.length-n),t,n,r)}function S(t,e,n){return r.fromByteArray(0===e&&n===t.length?t:t.slice(e,n))}function Z(t,e,n){n=Math.min(t.length,n);for(var r=[],o=e;o239?4:u>223?3:u>191?2:1;if(o+h<=n)switch(h){case 1:u<128&&(l=u);break;case 2:128==(192&(i=t[o+1]))&&(c=(31&u)<<6|63&i)>127&&(l=c);break;case 3:s=t[o+2],128==(192&(i=t[o+1]))&&128==(192&s)&&(c=(15&u)<<12|(63&i)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=t[o+2],a=t[o+3],128==(192&(i=t[o+1]))&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,h=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=h}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?c.from(i).copy(r,o):Uint8Array.prototype.set.call(r,i,o);else{if(!c.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o)}o+=i.length}return r},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},i&&(c.prototype[i]=c.prototype.inspect),c.prototype.compare=function(t,e,n,r,o){if(N(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(this===t)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0),a=Math.min(i,s),u=this.slice(r,o),l=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-e;if((void 0===n||n>o)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return w(this,t,e,n);case"utf8":case"utf-8":return k(this,t,e,n);case"ascii":case"latin1":case"binary":return _(this,t,e,n);case"base64":return E(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function C(t,e,n){var r="";n=Math.min(t.length,n);for(var o=e;or)&&(n=r);for(var o="",i=e;in)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function z(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(t,e,n,r,i){return e=+e,n>>>=0,i||z(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function L(t,e,n,r,i){return e=+e,n>>>=0,i||z(t,0,n,8),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){var n=this.length;(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),e>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t],o=1,i=0;++i>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t+--e],o=1;e>0&&(o*=256);)r+=this[t+--e]*o;return r},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);for(var r=this[t],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);for(var r=e,o=1,i=this[t+--r];r>0&&(o*=256);)i+=this[t+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){t>>>=0,e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return t>>>=0,e||I(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||I(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||I(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||I(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||B(this,t,e,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[e]=255&t;++i>>=0,n>>>=0,r||B(this,t,e,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var o=Math.pow(2,8*n-1);B(this,t,e,n,o-1,-o)}var i=0,s=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var o=Math.pow(2,8*n-1);B(this,t,e,n,o-1,-o)}var i=n-1,s=1,a=0;for(this[e+i]=255&t;--i>=0&&(s*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/s>>0)-a&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeFloatLE=function(t,e,n){return j(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return j(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return L(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return L(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function M(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function x(t,e,n,r){for(var o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}function N(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function F(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,o=0;o<16;++o)e[r+o]=t[n]+t[o];return e}()},2390:(t,e)=>{e.read=function(t,e,n,r,o){var i,s,a=8*o-r-1,c=(1<>1,l=-7,h=n?o-1:0,f=n?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-l)-1,p>>=-l,l+=a;l>0;i=256*i+t[e+h],h+=f,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+t[e+h],h+=f,l-=8);if(0===i)i=1-u;else{if(i===c)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),i-=u}return(p?-1:1)*s*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var s,a,c,u=8*i-o-1,l=(1<>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,g=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=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(s++,c/=2),s+h>=l?(a=0,s=l):s+h>=1?(a=(e*c-1)*Math.pow(2,o),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,o),s=0));o>=8;t[n+p]=255&a,p+=d,a/=256,o-=8);for(s=s<0;t[n+p]=255&s,p+=d,s/=256,u-=8);t[n+p-d]|=128*g}},2167:()=>{"use strict";!function(t){const e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");const o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}const s=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(s||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}class a{constructor(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,e)}static assertZonePatched(){if(t.Promise!==P.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=a.current;for(;t.parent;)t=t.parent;return t}static get current(){return D.zone}static get currentTask(){return I}static __load_patch(e,o,i=!1){if(P.hasOwnProperty(e)){if(!i&&s)throw Error("Already loaded patch: "+e)}else if(!t["__Zone_disable_"+e]){const i="Zone:"+e;n(i),P[e]=o(t,a,A),r(i,i)}}get parent(){return this._parent}get name(){return this._name}get(t){const e=this.getZoneWith(t);if(e)return e._properties[t]}getZoneWith(t){let e=this;for(;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}}run(t,e,n,r){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{D=D.parent}}runGuarded(t,e=null,n,r){D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{D=D.parent}}runTask(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");if(t.state===w&&(t.type===C||t.type===O))return;const r=t.state!=E;r&&t._transitionTo(E,_),t.runCount++;const o=I;I=t,D={parent:D,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==w&&t.state!==S&&(t.type==C||t.data&&t.data.isPeriodic?r&&t._transitionTo(_,E):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(w,E,w))),D=D.parent,I=o}}scheduleTask(t){if(t.zone&&t.zone!==this){let e=this;for(;e;){if(e===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);e=e.parent}}t._transitionTo(k,w);const e=[];t._zoneDelegates=e,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(n){throw t._transitionTo(S,k,w),this._zoneDelegate.handleError(this,n),n}return t._zoneDelegates===e&&this._updateTaskCount(t,1),t.state==k&&t._transitionTo(_,k),t}scheduleMicroTask(t,e,n,r){return this.scheduleTask(new l(Z,t,e,n,r,void 0))}scheduleMacroTask(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))}scheduleEventTask(t,e,n,r,o){return this.scheduleTask(new l(C,t,e,n,r,o))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");t._transitionTo(T,_,E);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(S,T),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(w,T),t.runCount=0,t}_updateTaskCount(t,e){const n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(let r=0;rt.hasTask(n,r),onScheduleTask:(t,e,n,r)=>t.scheduleTask(n,r),onInvokeTask:(t,e,n,r,o,i)=>t.invokeTask(n,r,o,i),onCancelTask:(t,e,n,r)=>t.cancelTask(n,r)};class u{constructor(t,e,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=t,this._parentDelegate=e,this._forkZS=n&&(n&&n.onFork?n:e._forkZS),this._forkDlgt=n&&(n.onFork?e:e._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:e._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:e._interceptZS),this._interceptDlgt=n&&(n.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:e._invokeZS),this._invokeDlgt=n&&(n.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:e._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:e._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:e._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:e._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const r=n&&n.onHasTask;(r||e&&e._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=t,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(t,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,t,e):new a(t,e)}intercept(t,e,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,t,e,n):e}invoke(t,e,n,r,o){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,t,e,n,r,o):e.apply(n,r)}handleError(t,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,t,e)}scheduleTask(t,e){let n=e;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,t,e),n||(n=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=Z)throw new Error("Task is missing scheduleFn.");m(e)}return n}invokeTask(t,e,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,t,e,n,r):e.callback.apply(n,r)}cancelTask(t,e){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,t,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");n=e.cancelFn(e)}return n}hasTask(t,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,t,e)}catch(n){this.handleError(t,n)}}_updateTaskCount(t,e){const n=this._taskCounts,r=n[t],o=n[t]=r+e;if(o<0)throw new Error("More tasks executed then were scheduled.");0!=r&&0!=o||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t})}}class l{constructor(e,n,r,o,i,s){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=s,!r)throw new Error("callback is not defined");this.callback=r;const a=this;this.invoke=e===C&&o&&o.useG?l.invokeTask:function(){return l.invokeTask.call(t,a,this,arguments)}}static invokeTask(t,e,n){t||(t=this),B++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==B&&v(),B--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(w,k)}_transitionTo(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${t}', expecting state '${e}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=t,t==w&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const h=i("setTimeout"),f=i("Promise"),p=i("then");let d,g=[],y=!1;function m(e){if(0===B&&0===g.length)if(d||t[f]&&(d=t[f].resolve(0)),d){let t=d[p];t||(t=d.then),t.call(d,v)}else t[h](v,0);e&&g.push(e)}function v(){if(!y){for(y=!0;g.length;){const e=g;g=[];for(let n=0;nD,onUnhandledError:z,microtaskDrainDone:z,scheduleMicroTask:m,showUncaughtError:()=>!a[i("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:z,patchMethod:()=>z,bindArguments:()=>[],patchThen:()=>z,patchMacroTask:()=>z,patchEventPrototype:()=>z,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>z,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>z,wrapWithCurrentZone:()=>z,filterProperties:()=>[],attachOriginToPatched:()=>z,_redefineProperty:()=>z,patchCallbacks:()=>z};let D={parent:null,zone:new a(null,null)},I=null,B=0;function z(){}r("Zone","Zone"),t.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const t=Object.getOwnPropertyDescriptor,e=Object.defineProperty,n=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,i="addEventListener",s="removeEventListener",a=Zone.__symbol__(i),c=Zone.__symbol__(s),u="true",l="false",h=Zone.__symbol__("");function f(t,e){return Zone.current.wrap(t,e)}function p(t,e,n,r,o){return Zone.current.scheduleMacroTask(t,e,n,r,o)}const d=Zone.__symbol__,g="undefined"!=typeof window,y=g?window:void 0,m=g&&y||"object"==typeof self&&self||global,v=[null];function b(t,e){for(let n=t.length-1;n>=0;n--)"function"==typeof t[n]&&(t[n]=f(t[n],e+"_"+n));return t}function w(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}const k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,_=!("nw"in m)&&void 0!==m.process&&"[object process]"==={}.toString.call(m.process),E=!_&&!k&&!(!g||!y.HTMLElement),T=void 0!==m.process&&"[object process]"==={}.toString.call(m.process)&&!k&&!(!g||!y.HTMLElement),S={},Z=function(t){if(!(t=t||m.event))return;let e=S[t.type];e||(e=S[t.type]=d("ON_PROPERTY"+t.type));const n=this||t.target||m,r=n[e];let o;if(E&&n===y&&"error"===t.type){const e=t;o=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===o&&t.preventDefault()}else o=r&&r.apply(this,arguments),null==o||o||t.preventDefault();return o};function O(n,r,o){let i=t(n,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),!i||!i.configurable)return;const s=d("on"+r+"patched");if(n.hasOwnProperty(s)&&n[s])return;delete i.writable,delete i.value;const a=i.get,c=i.set,u=r.substr(2);let l=S[u];l||(l=S[u]=d("ON_PROPERTY"+u)),i.set=function(t){let e=this;e||n!==m||(e=m),e&&(e[l]&&e.removeEventListener(u,Z),c&&c.apply(e,v),"function"==typeof t?(e[l]=t,e.addEventListener(u,Z,!1)):e[l]=null)},i.get=function(){let t=this;if(t||n!==m||(t=m),!t)return null;const e=t[l];if(e)return e;if(a){let e=a&&a.call(this);if(e)return i.set.call(this,e),"function"==typeof t.removeAttribute&&t.removeAttribute(r),e}return null},e(n,r,i),n[s]=!0}function C(t,e,n){if(e)for(let r=0;rfunction(e,r){const i=n(e,r);return i.cbIdx>=0&&"function"==typeof r[i.cbIdx]?p(i.name,r[i.cbIdx],i,o):t.apply(e,r)})}function B(t,e){t[d("OriginalDelegate")]=e}let z=!1,j=!1;function L(){try{const t=y.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}function R(){if(z)return j;z=!0;try{const t=y.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(j=!0)}catch(t){}return j}Zone.__load_patch("ZoneAwarePromise",(t,e,n)=>{const r=Object.getOwnPropertyDescriptor,o=Object.defineProperty,i=n.symbol,s=[],a=!0===t[i("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],c=i("Promise"),u=i("then");n.onUnhandledError=t=>{if(n.showUncaughtError()){const e=t&&t.rejection;e?console.error("Unhandled Promise rejection:",e instanceof Error?e.message:e,"; Zone:",t.zone.name,"; Task:",t.task&&t.task.source,"; Value:",e,e instanceof Error?e.stack:void 0):console.error(t)}},n.microtaskDrainDone=()=>{for(;s.length;){const e=s.shift();try{e.zone.runGuarded(()=>{if(e.throwOriginal)throw e.rejection;throw e})}catch(t){h(t)}}};const l=i("unhandledPromiseRejectionHandler");function h(t){n.onUnhandledError(t);try{const n=e[l];"function"==typeof n&&n.call(this,t)}catch(r){}}function f(t){return t&&t.then}function p(t){return t}function d(t){return A.reject(t)}const g=i("state"),y=i("value"),m=i("finally"),v=i("parentPromiseValue"),b=i("parentPromiseState"),w=null,k=!0,_=!1;function E(t,e){return n=>{try{S(t,e,n)}catch(r){S(t,!1,r)}}}const T=i("currentTaskTrace");function S(t,r,i){const c=function(){let t=!1;return function(e){return function(){t||(t=!0,e.apply(null,arguments))}}}();if(t===i)throw new TypeError("Promise resolved with itself");if(t[g]===w){let h=null;try{"object"!=typeof i&&"function"!=typeof i||(h=i&&i.then)}catch(l){return c(()=>{S(t,!1,l)})(),t}if(r!==_&&i instanceof A&&i.hasOwnProperty(g)&&i.hasOwnProperty(y)&&i[g]!==w)O(i),S(t,i[g],i[y]);else if(r!==_&&"function"==typeof h)try{h.call(i,c(E(t,r)),c(E(t,!1)))}catch(l){c(()=>{S(t,!1,l)})()}else{t[g]=r;const c=t[y];if(t[y]=i,t[m]===m&&r===k&&(t[g]=t[b],t[y]=t[v]),r===_&&i instanceof Error){const t=e.currentTask&&e.currentTask.data&&e.currentTask.data.__creationTrace__;t&&o(i,T,{configurable:!0,enumerable:!1,writable:!0,value:t})}for(let e=0;e{try{const r=t[y],o=!!n&&m===n[m];o&&(n[v]=r,n[b]=i);const a=e.run(s,void 0,o&&s!==d&&s!==p?[]:[r]);S(n,!0,a)}catch(r){S(n,!1,r)}},n)}const P=function(){};class A{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(t){return S(new this(null),k,t)}static reject(t){return S(new this(null),_,t)}static race(t){let e,n,r=new this((t,r)=>{e=t,n=r});function o(t){e(t)}function i(t){n(t)}for(let s of t)f(s)||(s=this.resolve(s)),s.then(o,i);return r}static all(t){return A.allWithCallback(t)}static allSettled(t){return(this&&this.prototype instanceof A?this:A).allWithCallback(t,{thenCallback:t=>({status:"fulfilled",value:t}),errorCallback:t=>({status:"rejected",reason:t})})}static allWithCallback(t,e){let n,r,o=new this((t,e)=>{n=t,r=e}),i=2,s=0;const a=[];for(let u of t){f(u)||(u=this.resolve(u));const t=s;try{u.then(r=>{a[t]=e?e.thenCallback(r):r,i--,0===i&&n(a)},o=>{e?(a[t]=e.errorCallback(o),i--,0===i&&n(a)):r(o)})}catch(c){r(c)}i++,s++}return i-=2,0===i&&n(a),o}constructor(t){const e=this;if(!(e instanceof A))throw new Error("Must be an instanceof Promise.");e[g]=w,e[y]=[];try{t&&t(E(e,k),E(e,_))}catch(n){S(e,!1,n)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(t,n){let r=this.constructor[Symbol.species];r&&"function"==typeof r||(r=this.constructor||A);const o=new r(P),i=e.current;return this[g]==w?this[y].push(i,o,t,n):C(this,i,o,t,n),o}catch(t){return this.then(null,t)}finally(t){let n=this.constructor[Symbol.species];n&&"function"==typeof n||(n=A);const r=new n(P);r[m]=m;const o=e.current;return this[g]==w?this[y].push(o,r,t,t):C(this,o,r,t,t),r}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;const I=t[c]=t.Promise;t.Promise=A;const B=i("thenPatched");function z(t){const e=t.prototype,n=r(e,"then");if(n&&(!1===n.writable||!n.configurable))return;const o=e.then;e[u]=o,t.prototype.then=function(t,e){return new A((t,e)=>{o.call(this,t,e)}).then(t,e)},t[B]=!0}return n.patchThen=z,I&&(z(I),D(t,"fetch",t=>{return e=t,function(t,n){let r=e.apply(t,n);if(r instanceof A)return r;let o=r.constructor;return o[B]||z(o),r};var e})),Promise[e.__symbol__("uncaughtPromiseErrors")]=s,A}),Zone.__load_patch("toString",t=>{const e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){const i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){const n=t[r];if(n)return e.call(n)}if(this===Error){const n=t[o];if(n)return e.call(n)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;const s=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":s.call(this)}});let U=!1;if("undefined"!=typeof window)try{const t=Object.defineProperty({},"passive",{get:function(){U=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(ht){U=!1}const M={useG:!0},x={},N={},F=new RegExp("^"+h+"(\\w+)(true|false)$"),H=d("propagationStopped");function q(t,e){const n=(e?e(t):t)+l,r=(e?e(t):t)+u,o=h+n,i=h+r;x[t]={},x[t].false=o,x[t].true=i}function G(t,e,r){const o=r&&r.add||i,a=r&&r.rm||s,c=r&&r.listeners||"eventListeners",f=r&&r.rmAll||"removeAllListeners",p=d(o),g="."+o+":",y=function(t,e,n){if(t.isRemoved)return;const r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=t=>r.handleEvent(t),t.originalDelegate=r),t.invoke(t,e,[n]);const o=t.options;o&&"object"==typeof o&&o.once&&e[a].call(e,n.type,t.originalDelegate?t.originalDelegate:t.callback,o)},m=function(e){if(!(e=e||t.event))return;const n=this||e.target||t,r=n[x[e.type].false];if(r)if(1===r.length)y(r[0],n,e);else{const t=r.slice();for(let r=0;rfunction(e,n){e[H]=!0,t&&t.apply(e,n)})}function X(t,e,n,r,o){const i=Zone.__symbol__(r);if(e[i])return;const s=e[i]=e[r];e[r]=function(i,a,c){return a&&a.prototype&&o.forEach(function(e){const o=`${n}.${r}::`+e,i=a.prototype;if(i.hasOwnProperty(e)){const n=t.ObjectGetOwnPropertyDescriptor(i,e);n&&n.value?(n.value=t.wrapWithCurrentZone(n.value,o),t._redefineProperty(a.prototype,e,n)):i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}else i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}),s.call(e,i,a,c)},t.attachOriginToPatched(e[r],s)}const $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],Y=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],J=["load"],K=["blur","error","focus","load","resize","scroll","messageerror"],Q=["bounce","finish","start"],tt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],et=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],nt=["close","error","open","message"],rt=["error","message"],ot=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],$,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function it(t,e,n){if(!n||0===n.length)return e;const r=n.filter(e=>e.target===t);if(!r||0===r.length)return e;const o=r[0].ignoreProperties;return e.filter(t=>-1===o.indexOf(t))}function st(t,e,n,r){t&&C(t,it(t,e,n),r)}function at(t,e){if(_&&!T)return;if(Zone[t.symbol("patchEvents")])return;const r="undefined"!=typeof WebSocket,o=e.__Zone_ignore_on_properties;if(E){const t=window,e=L()?[{target:t,ignoreProperties:["error"]}]:[];st(t,ot.concat(["messageerror"]),o?o.concat(e):o,n(t)),st(Document.prototype,ot,o),void 0!==t.SVGElement&&st(t.SVGElement.prototype,ot,o),st(Element.prototype,ot,o),st(HTMLElement.prototype,ot,o),st(HTMLMediaElement.prototype,Y,o),st(HTMLFrameSetElement.prototype,$.concat(K),o),st(HTMLBodyElement.prototype,$.concat(K),o),st(HTMLFrameElement.prototype,J,o),st(HTMLIFrameElement.prototype,J,o);const r=t.HTMLMarqueeElement;r&&st(r.prototype,Q,o);const i=t.Worker;i&&st(i.prototype,rt,o)}const i=e.XMLHttpRequest;i&&st(i.prototype,tt,o);const s=e.XMLHttpRequestEventTarget;s&&st(s&&s.prototype,tt,o),"undefined"!=typeof IDBIndex&&(st(IDBIndex.prototype,et,o),st(IDBRequest.prototype,et,o),st(IDBOpenDBRequest.prototype,et,o),st(IDBDatabase.prototype,et,o),st(IDBTransaction.prototype,et,o),st(IDBCursor.prototype,et,o)),r&&st(WebSocket.prototype,nt,o)}Zone.__load_patch("util",(n,a,c)=>{c.patchOnProperties=C,c.patchMethod=D,c.bindArguments=b,c.patchMacroTask=I;const p=a.__symbol__("BLACK_LISTED_EVENTS"),d=a.__symbol__("UNPATCHED_EVENTS");n[d]&&(n[p]=n[d]),n[p]&&(a[p]=a[d]=n[p]),c.patchEventPrototype=V,c.patchEventTarget=G,c.isIEOrEdge=R,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=r,c.ArraySlice=o,c.patchClass=A,c.wrapWithCurrentZone=f,c.filterProperties=it,c.attachOriginToPatched=B,c._redefineProperty=Object.defineProperty,c.patchCallbacks=X,c.getGlobalObjects=()=>({globalSources:N,zoneSymbolEventNames:x,eventNames:ot,isBrowser:E,isMix:T,isNode:_,TRUE_STR:u,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:i,REMOVE_EVENT_LISTENER_STR:s})});const ct=d("zoneTask");function ut(t,e,n,r){let o=null,i=null;n+=r;const s={};function a(e){const n=e.data;return n.args[0]=function(){return e.invoke.apply(this,arguments)},n.handleId=o.apply(t,n.args),e}function c(e){return i.call(t,e.data.handleId)}o=D(t,e+=r,n=>function(o,i){if("function"==typeof i[0]){const t={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},n=i[0];i[0]=function(){try{return n.apply(this,arguments)}finally{t.isPeriodic||("number"==typeof t.handleId?delete s[t.handleId]:t.handleId&&(t.handleId[ct]=null))}};const o=p(e,i[0],t,a,c);if(!o)return o;const u=o.data.handleId;return"number"==typeof u?s[u]=o:u&&(u[ct]=o),u&&u.ref&&u.unref&&"function"==typeof u.ref&&"function"==typeof u.unref&&(o.ref=u.ref.bind(u),o.unref=u.unref.bind(u)),"number"==typeof u||u?u:o}return n.apply(t,i)}),i=D(t,n,e=>function(n,r){const o=r[0];let i;"number"==typeof o?i=s[o]:(i=o&&o[ct],i||(i=o)),i&&"string"==typeof i.type?"notScheduled"!==i.state&&(i.cancelFn&&i.data.isPeriodic||0===i.runCount)&&("number"==typeof o?delete s[o]:o&&(o[ct]=null),i.zone.cancelTask(i)):e.apply(t,r)})}function lt(t,e){if(Zone[e.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:r,TRUE_STR:o,FALSE_STR:i,ZONE_SYMBOL_PREFIX:s}=e.getGlobalObjects();for(let c=0;c{const e=t[Zone.__symbol__("legacyPatch")];e&&e()}),Zone.__load_patch("queueMicrotask",(t,e,n)=>{n.patchMethod(t,"queueMicrotask",t=>function(t,n){e.current.scheduleMicroTask("queueMicrotask",n[0])})}),Zone.__load_patch("timers",t=>{const e="set",n="clear";ut(t,e,n,"Timeout"),ut(t,e,n,"Interval"),ut(t,e,n,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{ut(t,"request","cancel","AnimationFrame"),ut(t,"mozRequest","mozCancel","AnimationFrame"),ut(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,e)=>{const n=["alert","prompt","confirm"];for(let r=0;rfunction(r,i){return e.current.run(n,t,i,o)})}),Zone.__load_patch("EventTarget",(t,e,n)=>{!function(t,e){e.patchEventPrototype(t,e)}(t,n),lt(t,n);const r=t.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(t,[r.prototype])}),Zone.__load_patch("MutationObserver",(t,e,n)=>{A("MutationObserver"),A("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,e,n)=>{A("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,e,n)=>{A("FileReader")}),Zone.__load_patch("on_property",(t,e,n)=>{at(n,t)}),Zone.__load_patch("customElements",(t,e,n)=>{!function(t,e){const{isBrowser:n,isMix:r}=e.getGlobalObjects();(n||r)&&t.customElements&&"customElements"in t&&e.patchCallbacks(e,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,n)}),Zone.__load_patch("XHR",(t,e)=>{!function(t){const l=t.XMLHttpRequest;if(!l)return;const h=l.prototype;let f=h[a],g=h[c];if(!f){const e=t.XMLHttpRequestEventTarget;if(e){const t=e.prototype;f=t[a],g=t[c]}}const y="readystatechange",m="scheduled";function v(t){const r=t.data,s=r.target;s[i]=!1,s[u]=!1;const l=s[o];f||(f=s[a],g=s[c]),l&&g.call(s,y,l);const h=s[o]=()=>{if(s.readyState===s.DONE)if(!r.aborted&&s[i]&&t.state===m){const n=s[e.__symbol__("loadfalse")];if(0!==s.status&&n&&n.length>0){const o=t.invoke;t.invoke=function(){const n=s[e.__symbol__("loadfalse")];for(let e=0;efunction(t,e){return t[r]=0==e[2],t[s]=e[1],k.apply(t,e)}),_=d("fetchTaskAborting"),E=d("fetchTaskScheduling"),T=D(h,"send",()=>function(t,n){if(!0===e.current[E])return T.apply(t,n);if(t[r])return T.apply(t,n);{const e={target:t,url:t[s],isPeriodic:!1,args:n,aborted:!1},r=p("XMLHttpRequest.send",b,e,v,w);t&&!0===t[u]&&!e.aborted&&r.state===m&&r.invoke()}}),S=D(h,"abort",()=>function(t,r){const o=t[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===e.current[_])return S.apply(t,r)})}(t);const n=d("xhrTask"),r=d("xhrSync"),o=d("xhrListener"),i=d("xhrScheduled"),s=d("xhrURL"),u=d("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const r=e.constructor.name;for(let o=0;o{const e=function(){return t.apply(this,b(arguments,r+"."+i))};return B(e,t),e})(s)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,e)=>{function n(e){return function(n){W(t,e).forEach(r=>{const o=t.PromiseRejectionEvent;if(o){const t=new o(e,{promise:n.promise,reason:n.rejection});r.invoke(t)}})}}t.PromiseRejectionEvent&&(e[d("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),e[d("rejectionHandledHandler")]=n("rejectionhandled"))})},1796:(t,e,n)=>{"use strict";n(2167),window.global=window,window.global.Buffer=window.global.Buffer||n(3833).Buffer}},t=>{"use strict";t(t.s=1796)}]); \ No newline at end of file diff --git a/angular/runtime.28bc9723e141277838d0.js b/angular/runtime.28bc9723e141277838d0.js deleted file mode 100644 index 5d834468..00000000 --- a/angular/runtime.28bc9723e141277838d0.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,r,t,a={},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=a,e=[],n.O=(r,t,a,o)=>{if(!t){var l=1/0;for(s=0;s=o)&&Object.keys(n.O).every(e=>n.O[e](t[i]))?t.splice(i--,1):(d=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[t,a,o]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((r,t)=>(n.f[t](e,r),r),[])),n.u=e=>e+"."+{432:"635dd65c825f8e4ca25b",646:"4d1e1dc02d21b483a9c9",891:"65e70a7da1bfef9d82e4",958:"9a3ae49eb9fc6ea729f7"}[e]+".js",n.miniCssF=e=>"styles.97554e699a42acff6579.css",n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="rtl:",n.l=(e,a,o,l)=>{if(r[e])r[e].push(a);else{var d,i;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u{d.onerror=d.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach(e=>e(a)),t)return t(a)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=f.bind(null,d.onerror),d.onload=f.bind(null,d.onload),i&&document.head.appendChild(d)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="",(()=>{var e={666:0};n.f.j=(r,t)=>{var a=n.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(666!=r){var o=new Promise((t,o)=>a=e[r]=[t,o]);t.push(a[2]=o);var l=n.p+n.u(r),d=new Error;n.l(l,t=>{if(n.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;d.message="Loading chunk "+r+" failed.\n("+o+": "+l+")",d.name="ChunkLoadError",d.type=o,d.request=l,a[1](d)}},"chunk-"+r,r)}else e[r]=0},n.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[l,d,i]=t,s=0;for(a in d)n.o(d,a)&&(n.m[a]=d[a]);if(i)var u=i(n);for(r&&r(t);s{"use strict";var e,r,t,o={},a={};function n(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=o,e=[],n.O=(r,t,o,a)=>{if(!t){var l=1/0;for(s=0;s=a)&&Object.keys(n.O).every(e=>n.O[e](t[d]))?t.splice(d--,1):(i=!1,a0&&e[s-1][2]>a;s--)e[s]=e[s-1];e[s]=[t,o,a]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((r,t)=>(n.f[t](e,r),r),[])),n.u=e=>e+"."+{145:"bd793f88eee8abcb2b20",432:"cc664c98c4074918e24a",891:"4fbbfe370fa877de7f39",958:"88b5fa8d3b93e7a0e7b3"}[e]+".js",n.miniCssF=e=>"styles.50804d64c130486c55c1.css",n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="rtl:",n.l=(e,o,a,l)=>{if(r[e])r[e].push(o);else{var i,d;if(void 0!==a)for(var s=document.getElementsByTagName("script"),u=0;u{i.onerror=i.onload=null,clearTimeout(b);var a=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(o)),t)return t(o)},b=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),d&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="",(()=>{var e={666:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(666!=r){var a=new Promise((t,a)=>o=e[r]=[t,a]);t.push(o[2]=a);var l=n.p+n.u(r),i=new Error;n.l(l,t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+l+")",i.name="ChunkLoadError",i.type=a,i.request=l,o[1](i)}},"chunk-"+r,r)}else e[r]=0},n.O.j=r=>0===e[r];var r=(r,t)=>{var o,a,[l,i,d]=t,s=0;for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(d)var u=d(n);for(r&&r(t);s.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:initial}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:initial;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:4px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:4px;right:2px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:6px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:6px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:62.5%}body{box-sizing:border-box;margin:0}.rtl-container,body{height:100%;overflow:hidden}.rtl-container{position:absolute;width:100%;top:0;left:0;right:0;bottom:0}.rtl-container .mat-menu-panel .mat-menu-content{padding-top:0;padding-bottom:0}.rtl-container .mat-nested-tree-node-child>.mat-tree-node{padding-left:4rem}.mat-sidenav-container .mat-sidenav-content{height:94vh;min-height:94vh}.sidenav{width:22rem;height:100%;overflow:hidden!important}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.sticky{position:fixed;top:0;z-index:9999}.horizontal-menu{padding:0;z-index:999;position:fixed;top:0;height:5rem;overflow:visible}.inner-sidenav-content{position:relative;top:0;bottom:0;left:0;right:0;padding:.8rem;min-height:calc(100% - (5rem + .8rem*4));max-height:90vh}@media only screen and (max-width:56.25em){.inner-sidenav-content{padding:.8rem .4rem}}@media only screen and (max-width:37.5em){.inner-sidenav-content{padding:.4rem .2rem}}.top-50{top:5rem}*{margin:0;padding:0}.rtl-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;position:fixed;background:#fff;z-index:999999;visibility:visible;opacity:1}.rtl-spinner h4{margin-top:1rem}.padding-gap{padding:.8rem!important}@media only screen and (max-width:56.25em){.padding-gap{padding:.4rem!important}}@media only screen and (max-width:37.5em){.padding-gap{padding:.2rem!important}}.padding-gap-x{padding:0 .8rem!important}@media only screen and (max-width:75em){.padding-gap-x{padding:0 .4rem!important}}@media only screen and (max-width:56.25em){.padding-gap-x{padding:0 .4rem!important}}@media only screen and (max-width:37.5em){.padding-gap-x{padding:0 .2rem!important}}.padding-gap-large{padding:1.6rem!important}@media only screen and (max-width:75em){.padding-gap-large{padding:.8rem!important}}@media only screen and (max-width:56.25em){.padding-gap-large{padding:.4rem!important}}@media only screen and (max-width:37.5em){.padding-gap-large{padding:.2rem!important}}.padding-gap-x-large{padding:0 1.6rem!important}@media only screen and (max-width:75em){.padding-gap-x-large{padding:0 .8rem!important}}@media only screen and (max-width:56.25em){.padding-gap-x-large{padding:0 .4rem!important}}@media only screen and (max-width:37.5em){.padding-gap-x-large{padding:0 .2rem!important}}.padding-gap-bottom-large{padding-bottom:1.6rem!important}@media only screen and (max-width:56.25em){.padding-gap-bottom-large{padding-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.padding-gap-bottom-large{padding-bottom:.2rem!important}}.overflow-wrap{overflow-wrap:break-word!important;overflow:hidden}.mat-card{padding:0!important;overflow:hidden;border-radius:2px!important}.mat-card-original{padding:1.6rem!important;border-radius:4px!important}.card-content-gap,.mat-tab-body-wrapper{padding:.96rem 1.6rem!important;height:100%}@media only screen and (max-width:56.25em){.card-content-gap,.mat-tab-body-wrapper{padding:.8rem!important}}@media only screen and (max-width:37.5em){.card-content-gap,.mat-tab-body-wrapper{padding:.4rem .2rem!important}}@media only screen and (max-width:56.25em){mat-cell:first-of-type,mat-footer-cell:first-of-type,mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:.4rem!important}}@media only screen and (max-width:37.5em){mat-cell:first-of-type,mat-footer-cell:first-of-type,mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:.2rem!important}}@media only screen and (max-width:56.25em){mat-cell:last-of-type,mat-footer-cell:last-of-type,mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:.4rem!important}}@media only screen and (max-width:37.5em){mat-cell:last-of-type,mat-footer-cell:last-of-type,mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:.2rem!important}}.routing-tabs-block .mat-tab-body-wrapper{padding:0!important;min-height:10rem}.mat-card-actions{padding-left:.6rem;padding-right:.6rem}.mat-card-actions,.mat-card-content,.mat-card-subtitle,.mat-card-title{display:block;margin-bottom:1.6rem}.mat-card-header-text{margin:0!important;line-height:1}.mat-form-field-wrapper{width:100%}.mat-select{margin:0 1.5rem 0 0}.green{color:#388e3c!important}.yellow{color:#ffd740!important}.red{color:#c62828!important}.grey{color:#ccc!important}.mat-dialog-container{padding:0!important;overflow:hidden!important}.mt-1px{margin-top:1px!important}.mt-2px{margin-top:2px!important}.mt-5px{margin-top:5px!important}.my-2px{margin:2px 0!important}.mt-0{margin-top:0!important}.mt-1{margin-top:1rem!important}@media only screen and (max-width:56.25em){.mt-1{margin-top:.8rem!important}}@media only screen and (max-width:37.5em){.mt-1{margin-top:.8rem!important}}.mb-0{margin-bottom:0!important}.mb-2px{margin-bottom:2px!important}.mb-5px{margin-bottom:5px!important}.mb-1{margin-bottom:1rem!important}@media only screen and (max-width:56.25em){.mb-1{margin-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.mb-1{margin-bottom:.8rem!important}}.mb-6{margin-bottom:6rem!important}@media only screen and (max-width:56.25em){.mb-6{margin-bottom:5rem!important}}@media only screen and (max-width:37.5em){.mb-6{margin-bottom:5rem!important}}.ml-0{margin-left:0!important}.ml-1{margin-left:1rem!important}@media only screen and (max-width:56.25em){.ml-1{margin-left:.4rem!important}}@media only screen and (max-width:37.5em){.ml-1{margin-left:.2rem!important}}.ml-minus-1{margin-left:-1rem!important}.mr-0{margin-right:0!important}.mr-3px{margin-right:.3rem!important}.mr-5px{margin-right:.5rem!important}.mr-1{margin-right:1rem!important}@media only screen and (max-width:56.25em){.mr-1{margin-right:.4rem!important}}@media only screen and (max-width:37.5em){.mr-1{margin-right:.2rem!important}}.mx-1{margin:0 1rem!important}@media only screen and (max-width:56.25em){.mx-1{margin:0 .4rem!important}}@media only screen and (max-width:37.5em){.mx-1{margin:0 .2rem!important}}.my-1{margin:1rem 0!important}@media only screen and (max-width:56.25em){.my-1{margin:.8rem 0!important}}@media only screen and (max-width:37.5em){.my-1{margin:.8rem 0!important}}.m-1{margin:1rem!important}@media only screen and (max-width:56.25em){.m-1{margin:.8rem!important}}@media only screen and (max-width:37.5em){.m-1{margin:.8rem!important}}.mt-2{margin-top:2rem!important}@media only screen and (max-width:56.25em){.mt-2{margin-top:1.6rem!important}}@media only screen and (max-width:37.5em){.mt-2{margin-top:1.6rem!important}}.mt-3{margin-top:3rem!important}@media only screen and (max-width:56.25em){.mt-3{margin-top:2.4rem!important}}@media only screen and (max-width:37.5em){.mt-3{margin-top:2.6rem!important}}.mt-4{margin-top:4rem!important}@media only screen and (max-width:56.25em){.mt-4{margin-top:3.4rem!important}}@media only screen and (max-width:37.5em){.mt-4{margin-top:3.4rem!important}}.mt-6{margin-top:6rem!important}@media only screen and (max-width:56.25em){.mt-6{margin-top:4.8rem!important}}@media only screen and (max-width:37.5em){.mt-6{margin-top:4.8rem!important}}.mt-minus-1{margin-top:-1rem!important}@media only screen and (max-width:56.25em){.mt-minus-1{margin-top:-.8rem!important}}@media only screen and (max-width:37.5em){.mt-minus-1{margin-top:-.8rem!important}}.mt-minus-2{margin-top:-2rem!important}@media only screen and (max-width:56.25em){.mt-minus-2{margin-top:-1.6rem!important}}@media only screen and (max-width:37.5em){.mt-minus-2{margin-top:-1.6rem!important}}.mb-2{margin-bottom:2rem!important}@media only screen and (max-width:56.25em){.mb-2{margin-bottom:1.6rem!important}}@media only screen and (max-width:37.5em){.mb-2{margin-bottom:1.6rem!important}}.mb-3{margin-bottom:3rem!important}@media only screen and (max-width:56.25em){.mb-3{margin-bottom:2.4rem!important}}@media only screen and (max-width:37.5em){.mb-3{margin-bottom:2.4rem!important}}.mb-4{margin-bottom:4rem!important}@media only screen and (max-width:56.25em){.mb-4{margin-bottom:3.2rem!important}}@media only screen and (max-width:37.5em){.mb-4{margin-bottom:3.2rem!important}}.ml-2{margin-left:2rem!important}@media only screen and (max-width:56.25em){.ml-2{margin-left:.8rem!important}}@media only screen and (max-width:37.5em){.ml-2{margin-left:.4rem!important}}.mr-2{margin-right:2rem!important}@media only screen and (max-width:56.25em){.mr-2{margin-right:.8rem!important}}@media only screen and (max-width:37.5em){.mr-2{margin-right:.4rem!important}}.ml-4{margin-left:4rem!important}@media only screen and (max-width:56.25em){.ml-4{margin-left:1.6rem!important}}@media only screen and (max-width:37.5em){.ml-4{margin-left:.8rem!important}}.ml-5{margin-left:5rem!important}@media only screen and (max-width:56.25em){.ml-5{margin-left:2rem!important}}@media only screen and (max-width:37.5em){.ml-5{margin-left:1rem!important}}.mr-4{margin-right:4rem!important}@media only screen and (max-width:56.25em){.mr-4{margin-right:1.6rem!important}}@media only screen and (max-width:37.5em){.mr-4{margin-right:.8rem!important}}.mr-5{margin-right:5rem!important}@media only screen and (max-width:56.25em){.mr-5{margin-right:2rem!important}}@media only screen and (max-width:37.5em){.mr-5{margin-right:1rem!important}}.mr-6{margin-right:6rem!important}@media only screen and (max-width:56.25em){.mr-6{margin-right:3rem!important}}@media only screen and (max-width:37.5em){.mr-6{margin-right:2rem!important}}.mx-2{margin:0 2rem!important}@media only screen and (max-width:56.25em){.mx-2{margin:0 .8rem!important}}@media only screen and (max-width:37.5em){.mx-2{margin:0 .4rem!important}}.my-0{margin-top:0!important;margin-bottom:0!important}.my-2{margin:2rem 0!important}@media only screen and (max-width:56.25em){.my-2{margin:1.6rem 0!important}}@media only screen and (max-width:37.5em){.my-2{margin:1.6rem 0!important}}.my-3{margin:3rem 0!important}@media only screen and (max-width:56.25em){.my-3{margin:2.4rem 0!important}}@media only screen and (max-width:37.5em){.my-3{margin:2.4rem 0!important}}.my-4{margin:4rem 0!important}@media only screen and (max-width:56.25em){.my-4{margin:3.2rem 0!important}}@media only screen and (max-width:37.5em){.my-4{margin:3.2rem 0!important}}.m-2{margin:2rem!important}@media only screen and (max-width:56.25em){.m-2{margin:1.6rem!important}}@media only screen and (max-width:37.5em){.m-2{margin:1.6rem!important}}.pt-1{padding-top:1rem!important}@media only screen and (max-width:56.25em){.pt-1{padding-top:.8rem!important}}@media only screen and (max-width:37.5em){.pt-1{padding-top:.8rem!important}}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:1rem!important}@media only screen and (max-width:56.25em){.pb-1{padding-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.pb-1{padding-bottom:.8rem!important}}.pl-1{padding-left:1rem!important}@media only screen and (max-width:56.25em){.pl-1{padding-left:.4rem!important}}@media only screen and (max-width:37.5em){.pl-1{padding-left:.2rem!important}}.pl-15px{padding-left:1.5rem!important}@media only screen and (max-width:56.25em){.pl-15px{padding-left:.6rem!important}}@media only screen and (max-width:37.5em){.pl-15px{padding-left:.4rem!important}}.pr-0{padding-right:0!important}.pr-1{padding-right:1rem!important}@media only screen and (max-width:56.25em){.pr-1{padding-right:.4rem!important}}@media only screen and (max-width:37.5em){.pr-1{padding-right:.2rem!important}}.pr-3{padding-right:3rem!important}@media only screen and (max-width:56.25em){.pr-3{padding-right:1.2rem!important}}@media only screen and (max-width:37.5em){.pr-3{padding-right:.6rem!important}}.pr-4{padding-right:4rem!important}@media only screen and (max-width:56.25em){.pr-4{padding-right:1.6rem!important}}@media only screen and (max-width:37.5em){.pr-4{padding-right:.8rem!important}}.pr-4px{padding-right:.4rem!important}.p-0{padding:0!important}.p-5px{padding:.5rem!important}.pl-0{padding-left:0!important}.px-1{padding:0 1rem!important}@media only screen and (max-width:56.25em){.px-1{padding:0 .4rem!important}}@media only screen and (max-width:37.5em){.px-1{padding:0 .2rem!important}}.py-0{padding:1rem 0!important}@media only screen and (max-width:56.25em){.py-0{padding:.8rem 0!important}}@media only screen and (max-width:37.5em){.py-0{padding:.8rem 0!important}}.py-1{padding:1rem 0!important}@media only screen and (max-width:56.25em){.py-1{padding:.8rem 0!important}}@media only screen and (max-width:37.5em){.py-1{padding:.8rem 0!important}}.p-1{padding:1rem!important}@media only screen and (max-width:56.25em){.p-1{padding:.8rem!important}}@media only screen and (max-width:37.5em){.p-1{padding:.8rem!important}}.p-16{padding:1.6rem!important}@media only screen and (max-width:56.25em){.p-16{padding:.8rem!important}}@media only screen and (max-width:37.5em){.p-16{padding:.4rem!important}}.pt-2{padding-top:2rem!important}@media only screen and (max-width:56.25em){.pt-2{padding-top:1.6rem!important}}@media only screen and (max-width:37.5em){.pt-2{padding-top:1.6rem!important}}.pt-3{padding-top:3rem!important}@media only screen and (max-width:56.25em){.pt-3{padding-top:2.4rem!important}}@media only screen and (max-width:37.5em){.pt-3{padding-top:2.4rem!important}}.pb-2{padding-bottom:2rem!important}@media only screen and (max-width:56.25em){.pb-2{padding-bottom:1.6rem!important}}@media only screen and (max-width:37.5em){.pb-2{padding-bottom:1.6rem!important}}.pl-2{padding-left:2rem!important}@media only screen and (max-width:56.25em){.pl-2{padding-left:.8rem!important}}@media only screen and (max-width:37.5em){.pl-2{padding-left:.4rem!important}}.pt-4{padding-top:3.2rem!important}@media only screen and (max-width:56.25em){.pt-4{padding-top:2.5rem!important}}@media only screen and (max-width:37.5em){.pt-4{padding-top:2.5rem!important}}.pl-3{padding-left:3rem!important}@media only screen and (max-width:56.25em){.pl-3{padding-left:1.2rem!important}}@media only screen and (max-width:37.5em){.pl-3{padding-left:.6rem!important}}.pl-4{padding-left:4rem!important}@media only screen and (max-width:56.25em){.pl-4{padding-left:1.6rem!important}}@media only screen and (max-width:37.5em){.pl-4{padding-left:.8rem!important}}.pr-2{padding-right:2rem!important}@media only screen and (max-width:56.25em){.pr-2{padding-right:.8rem!important}}@media only screen and (max-width:37.5em){.pr-2{padding-right:.4rem!important}}.pr-5{padding-right:4rem!important}@media only screen and (max-width:56.25em){.pr-5{padding-right:1.6rem!important}}@media only screen and (max-width:37.5em){.pr-5{padding-right:.8rem!important}}.px-2{padding:0 2rem!important}@media only screen and (max-width:56.25em){.px-2{padding:0 .8rem!important}}@media only screen and (max-width:37.5em){.px-2{padding:0 .4rem!important}}.px-3{padding:0 3rem!important}@media only screen and (max-width:56.25em){.px-3{padding:0 1.2rem!important}}@media only screen and (max-width:37.5em){.px-3{padding:0 .6rem!important}}.px-4{padding:0 4rem!important}@media only screen and (max-width:56.25em){.px-4{padding:0 1.6rem!important}}@media only screen and (max-width:37.5em){.px-4{padding:0 .8rem!important}}.py-2{padding:2rem 0!important}@media only screen and (max-width:56.25em){.py-2{padding:1.6rem 0!important}}@media only screen and (max-width:37.5em){.py-2{padding:1.6rem 0!important}}.p-2{padding:2rem!important}@media only screen and (max-width:56.25em){.p-2{padding:1.6rem!important}}@media only screen and (max-width:37.5em){.p-2{padding:1.6rem!important}}.p-24{padding:2.4rem!important}@media only screen and (max-width:56.25em){.p-24{padding:1.2rem!important}}@media only screen and (max-width:37.5em){.p-24{padding:1rem!important}}.m-1px{margin:1px!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-auto{overflow:auto}.mat-footer-row .mat-footer-cell,.mat-row:last-child .mat-cell{border-bottom:none!important}.flex-ellipsis{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:3rem}.mat-list,.mat-list .mat-list-item .mat-list-item-content,.mat-nav-list,.mat-selection-list{padding:0!important}.inline-spinner{display:inline-flex!important;top:.5rem!important}.top-minus-5px{position:relative;top:-.5rem}.top-minus-15px{position:relative;top:-1.5rem}.top-minus-25px{position:relative;top:-2.5rem;margin-bottom:-2.5rem!important}.top-minus-30px{position:relative;top:-3rem}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.inline-flex{display:inline-flex!important}.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.settings-container h4{margin:1.2rem 0 .6rem}.settings-container .skin{width:2rem;height:2rem;border-radius:50%;cursor:pointer;margin-right:.5rem}.settings-container .skin.selected-color{width:1.75rem;height:1.75rem;border:.25rem solid}.settings-container .skin.purple{background-color:#5e4ea5}.settings-container .skin.indigo{background-color:#3f51b5}.settings-container .skin.teal{background-color:#00695c}.settings-container .skin.pink{background-color:#d81b60}.settings-container .skin.yellow{background-color:#a1842c}.settings-container .mat-radio-group{flex-direction:row;place-content:flex-start space-between;align-items:flex-start;box-sizing:border-box;display:flex}.settings-container .mat-radio-group .mat-radio-button{margin:2px 0}.settings-container .mat-slide-toggle{padding:0 1.4rem 0 .4rem}.settings-container .mat-flat-button{width:100%;max-height:3.6rem}.op-image{box-shadow:0 0 2px #ccc;border:2px solid #0000;cursor:pointer;transition:.2s}.settings-icon{position:fixed;top:30%;right:0;width:4.2rem;height:4.2rem;opacity:.6;cursor:pointer;z-index:999999}.test-banner{padding-top:2px;background-color:#fc7783;text-transform:uppercase;border-radius:2px}.fa-icon-small,.top-icon-small{min-width:2rem;width:2rem;max-width:2rem}.botlz-icon-sm{min-width:1.6rem;width:1.6rem;max-width:1.6rem}.copy-icon{position:relative;top:.5rem}.copy-icon-smaller{position:relative;top:2px}.top-5px{position:relative;top:.5rem}.animate-settings{animation:animate-settings 10s linear infinite}@keyframes animate-settings{to{transform:rotate(1turn)}}.mat-icon-button.top-toolbar-icon{margin-right:2rem}.mat-icon-button.top-toolbar-icon .top-toolbar-img{padding-right:.7rem;cursor:pointer}.mt-minus-5{position:relative;margin-top:-.5rem}.custom-card{padding:0 0 .8rem!important}.not-found-box{min-width:50%}.w-100{width:100%!important}.w-96{width:96%!important}.w-84{width:84%!important}.h-100{height:100%!important}.h-93{height:93%!important}.h-40{height:40rem!important}.h-46{height:46rem!important}.h-10{height:10rem!important}.h-4{height:4rem!important}.h-35px{height:3.5rem!important}a{outline:none;text-decoration:none;text-decoration:underline}.mat-tree{width:100%}.mat-nested-tree-node-parent,.mat-tree-node{min-height:4rem;height:4rem;padding:0 1.2rem;cursor:pointer}.mat-nested-tree-node-parent .mat-icon:active,.mat-nested-tree-node-parent .mat-icon:focus,.mat-nested-tree-node-parent:active,.mat-nested-tree-node-parent:focus,.mat-nested-tree-node-parent div:active,.mat-nested-tree-node-parent div:focus,.mat-nested-tree-node-parent span:active,.mat-nested-tree-node-parent span:focus,.mat-nested-tree-node:active,.mat-nested-tree-node:focus,.mat-tree-node .mat-icon:active,.mat-tree-node .mat-icon:focus,.mat-tree-node:active,.mat-tree-node:focus,.mat-tree-node div:active,.mat-tree-node div:focus,.mat-tree-node span:active,.mat-tree-node span:focus{outline:none}.lnd-info{height:9rem}.flex-wrap{flex-wrap:wrap!important}.word-break{word-break:break-all!important}.font-bold-500{font-weight:500!important}.font-bold-700{font-weight:700!important}.pubkey-info-top{flex-wrap:wrap;margin-top:1px;min-height:1.5rem;cursor:pointer;display:flex;align-content:center}.top-toolbar-icon.icon-pinned{width:3rem;height:3rem;padding:1rem 0 0 1.2rem;cursor:pointer}.logo{font-weight:700;letter-spacing:1px}.fa-icon-regular{min-width:4rem;width:4rem;max-width:4rem}.icon-large{margin-left:-100%}.icon-small{height:2rem!important;width:2rem!important}.icon-smaller{height:1rem!important;width:1rem!important}.mat-icon-36{width:3.6rem!important;height:3.6rem!important}.mat-select.multi-node-select{width:87%}.page-title-container{padding:0 1.2rem;margin-bottom:.8rem}@media only screen and (max-width:56.25em){.page-title-container{padding:0 .8rem;margin:.8rem 0}}@media only screen and (max-width:37.5em){.page-title-container{padding:0 .8rem;margin:.8rem 0}}table{width:100%}@media only screen and (max-width:75em){td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:1.6rem!important}}@media only screen and (max-width:56.25em){td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:1.2rem!important}}@media only screen and (max-width:37.5em){td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:.8rem!important}}@media only screen and (max-width:75em){td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:1.6rem!important}}@media only screen and (max-width:56.25em){td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:1.2rem!important}}@media only screen and (max-width:37.5em){td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:.8rem!important}}.dot{display:inline-flex;width:1.2rem;height:1.2rem;border-radius:1.2rem;margin:.4rem 1rem 0 0}.dot.tiny-dot{width:.8rem;height:.8rem;border-radius:.8rem;margin:0 .6rem .1rem 0}.dot.green{background-color:#28ca43}.dot.yellow{background-color:#ffbd2e}.dot.red{background-color:#c62828}.dot.grey{background-color:#aaa}.font-size-80{font-size:80%!important}.font-size-90{font-size:90%!important}.font-size-120{font-size:120%!important}.font-size-200{font-size:200%!important}.font-size-300{font-size:300%!important}.font-weight-900{font-weight:900!important}.pre-wrap{white-space:pre-wrap!important}.display-none{display:none!important}.mat-vertical-stepper-header{padding:1rem 1rem 1rem .8rem!important}.ellipsis-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blinker{animation:blink-animation 1s steps(5,start) infinite;-webkit-animation:blink-animation 1s steps(5,start) infinite}@keyframes blink-animation{to{visibility:hidden}}.mat-progress-bar.dashboard-progress-bar{height:6px;min-height:6px}.alert{margin-bottom:1rem;padding:.6rem 1rem;border-radius:4px}.dashboard-vert-menu.mat-menu-panel{min-height:4.8rem}.mat-tab-body-content{overflow:hidden!important}.dashboard-tabs-group .mat-tab-label{min-width:32%!important}.node-grid-tile.mat-grid-tile .mat-figure{align-items:start}.mat-vertical-content-container{margin-left:2rem!important}.xs-scroll-y{overflow-y:scroll;max-height:600px}.h-2{min-height:2rem!important}.border-valid{border:1px solid #28ca43!important}.border-invalid{border:1px solid #c62828!important}.icon-green{fill:#28ca43}.visible{visibility:visible!important}.hidden{visibility:hidden!important}.h-5{height:5rem}.btn-sticky-container{height:0;opacity:.5}.btn-sticky-container .mat-icon{animation:scrollDownAnimation 2s infinite}@keyframes scrollDownAnimation{0%{transform:translateY(0)}10%{transform:translateY(-20%)}20%{transform:translateY(20%)}30%{transform:translateY(-20%)}40%{transform:translateY(20%)}50%{transform:translateY(0)}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-infix,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-arro-wrapper,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-trigger,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-value,.mat-form-field-appearance-legacy.mat-form-field-disabled input,.mat-form-field-appearance-legacy.mat-form-field-disabled mat-select,.mat-form-field-appearance-legacy.mat-form-field-disabled textarea{cursor:not-allowed}.ngx-charts-tooltip-content.type-tooltip{background:#323232e6!important}.ngx-charts-tooltip-content .tooltip-caret{border-top-color:#323232e6!important}.mat-card.dashboard-card{margin:.8rem;padding:1.2rem 2.4rem!important}@media only screen and (max-width:56.25em){.mat-card.dashboard-card{padding:.5rem 1rem!important;margin-top:4rem!important}}@media only screen and (max-width:37.5em){.mat-card.dashboard-card{padding:.4rem .8rem!important;margin-top:4rem!important}}.mat-card.dashboard-card.p-0{padding:0!important}.mat-card.dashboard-card .mat-card-header-text{width:100%}.mat-progress-bar{min-height:4px}.dashboard-card-content{text-align:left}.mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 2.4rem}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 .8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 .4rem}}.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 2.4rem 1.6rem}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 .8rem .8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 .4rem .2rem}}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-description,.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-title{margin-right:.8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-description,.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-title{margin-right:.4rem}}.rtl-container .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-badge-small .mat-badge-content{font-size:9px}.rtl-container .mat-badge-large .mat-badge-content{font-size:24px}.rtl-container .mat-h1,.rtl-container .mat-headline,.rtl-container .mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h2,.rtl-container .mat-title,.rtl-container .mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h3,.rtl-container .mat-subheading-2,.rtl-container .mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h4,.rtl-container .mat-subheading-1,.rtl-container .mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h5,.rtl-container .mat-typography h5{font:400 calc(14px * .83)/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.rtl-container .mat-h6,.rtl-container .mat-typography h6{font:400 calc(14px * .67)/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.rtl-container .mat-body-2,.rtl-container .mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-body,.rtl-container .mat-body-1,.rtl-container .mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-body-1 p,.rtl-container .mat-body p,.rtl-container .mat-typography p{margin:0 0 12px}.rtl-container .mat-caption,.rtl-container .mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-display-4,.rtl-container .mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.rtl-container .mat-display-3,.rtl-container .mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.rtl-container .mat-display-2,.rtl-container .mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.rtl-container .mat-display-1,.rtl-container .mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.rtl-container .mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-button,.rtl-container .mat-fab,.rtl-container .mat-flat-button,.rtl-container .mat-icon-button,.rtl-container .mat-mini-fab,.rtl-container .mat-raised-button,.rtl-container .mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-button-toggle,.rtl-container .mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-card-title{font-size:24px;font-weight:500}.rtl-container .mat-card-header .mat-card-title{font-size:20px}.rtl-container .mat-card-content,.rtl-container .mat-card-subtitle{font-size:14px}.rtl-container .mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-checkbox-layout .mat-checkbox-label{line-height:24px}.rtl-container .mat-chip{font-size:14px;font-weight:500}.rtl-container .mat-chip .mat-chip-remove.mat-icon,.rtl-container .mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.rtl-container .mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-header-cell{font-size:12px;font-weight:500}.rtl-container .mat-cell,.rtl-container .mat-footer-cell{font-size:14px}.rtl-container .mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-calendar-body{font-size:13px}.rtl-container .mat-calendar-body-label,.rtl-container .mat-calendar-period-button{font-size:14px;font-weight:500}.rtl-container .mat-calendar-table-header th{font-size:11px;font-weight:400}.rtl-container .mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.rtl-container .mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-form-field-wrapper{padding-bottom:1.34375em}.rtl-container .mat-form-field-prefix .mat-icon,.rtl-container .mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.rtl-container .mat-form-field-prefix .mat-icon-button,.rtl-container .mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.rtl-container .mat-form-field-prefix .mat-icon-button .mat-icon,.rtl-container .mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.rtl-container .mat-form-field-infix{padding:.5em 0;border-top:.84375em solid #0000}.rtl-container .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.rtl-container .mat-form-field-label{top:1.34375em}.rtl-container .mat-form-field-underline{bottom:1.34375em}.rtl-container .mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.3333533333%}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.rtl-container .mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.rtl-container .mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.rtl-container .mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.rtl-container .mat-grid-tile-footer,.rtl-container .mat-grid-tile-header{font-size:14px}.rtl-container .mat-grid-tile-footer .mat-line,.rtl-container .mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-grid-tile-footer .mat-line:nth-child(n+2),.rtl-container .mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}.rtl-container input.mat-input-element{margin-top:-.0625em}.rtl-container .mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.rtl-container .mat-paginator,.rtl-container .mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.rtl-container .mat-radio-button,.rtl-container .mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-select-trigger{height:1.125em}.rtl-container .mat-slide-toggle-content,.rtl-container .mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-slider-thumb-label-text{font-size:12px;font-weight:500}.rtl-container .mat-stepper-horizontal,.rtl-container .mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-step-label{font-size:14px;font-weight:400}.rtl-container .mat-step-sub-label-error{font-weight:400}.rtl-container .mat-step-label-error{font-size:14px}.rtl-container .mat-step-label-selected{font-size:14px;font-weight:500}.rtl-container .mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-tab-label,.rtl-container .mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-toolbar,.rtl-container .mat-toolbar h1,.rtl-container .mat-toolbar h2,.rtl-container .mat-toolbar h3,.rtl-container .mat-toolbar h4,.rtl-container .mat-toolbar h5,.rtl-container .mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.rtl-container .mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.rtl-container .mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.rtl-container .mat-list-item,.rtl-container .mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-list-base .mat-list-item{font-size:16px}.rtl-container .mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.rtl-container .mat-list-base .mat-list-option{font-size:16px}.rtl-container .mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.rtl-container .mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-list-base[dense] .mat-list-item{font-size:12px}.rtl-container .mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.rtl-container .mat-list-base[dense] .mat-list-option{font-size:12px}.rtl-container .mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.rtl-container .mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.rtl-container .mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.rtl-container .mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.rtl-container .mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.rtl-container .mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-nested-tree-node,.rtl-container .mat-tree-node{font-weight:400;font-size:14px}.rtl-container .mat-ripple{overflow:hidden;position:relative}.rtl-container .mat-ripple:not(:empty){transform:translateZ(0)}.rtl-container .mat-ripple.mat-ripple-unbounded{overflow:visible}.rtl-container .mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .rtl-container .mat-ripple-element{display:none}.rtl-container .cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.rtl-container .cdk-global-overlay-wrapper,.rtl-container .cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.rtl-container .cdk-overlay-container{position:fixed;z-index:1000}.rtl-container .cdk-overlay-container:empty{display:none}.rtl-container .cdk-global-overlay-wrapper,.rtl-container .cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.rtl-container .cdk-overlay-pane{pointer-events:auto;box-sizing:border-box;max-width:100%;max-height:100%}.rtl-container .cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.rtl-container .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .rtl-container .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.rtl-container .cdk-overlay-dark-backdrop{background:#00000052}.rtl-container .cdk-overlay-transparent-backdrop,.rtl-container .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.rtl-container .cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.rtl-container .cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.rtl-container textarea.cdk-textarea-autosize{resize:none}.rtl-container textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:initial!important;height:auto!important;overflow:hidden!important}.rtl-container textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:initial!important;height:0!important}@keyframes cdk-text-field-autofill-start{ + /*!*/}@keyframes cdk-text-field-autofill-end{ + /*!*/}.rtl-container .cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.rtl-container .cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.rtl-container .mat-focus-indicator,.rtl-container .mat-mdc-focus-indicator{position:relative}.rtl-container.purple.small.small .mat-header-cell{font-weight:700}.rtl-container.purple.small.small .mr-4{margin-right:1rem!important}.rtl-container.purple.small.small .mat-menu-item,.rtl-container.purple.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.small.small .fa-icon-small,.rtl-container.purple.small.small .genseed-message,.rtl-container.purple.small.small .top-icon-small,.rtl-container.purple.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.small.small .page-sub-title-container,.rtl-container.purple.small.small .page-title-container{font-size:1.32rem}.rtl-container.purple.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.small.small .sidenav-img svg,.rtl-container.purple.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.small.small .material-icons,.rtl-container.purple.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.small.small .mat-expansion-panel-header,.rtl-container.purple.small.small .mat-list .mat-list-item,.rtl-container.purple.small.small .mat-menu-item,.rtl-container.purple.small.small .mat-nav-list .mat-list-item,.rtl-container.purple.small.small .mat-option,.rtl-container.purple.small.small .mat-select,.rtl-container.purple.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.small.small .logo{font-size:2.4rem}.rtl-container.purple.small.small .font-60-percent{font-size:.72rem}.rtl-container.purple.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.small.small .icon-large{font-size:6rem}.rtl-container.purple.small.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.small.small .size-triple{font-size:3.6rem}.rtl-container.purple.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small.medium .mat-header-cell{font-weight:700}.rtl-container.purple.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.small.medium .genseed-message,.rtl-container.purple.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.small.medium .page-sub-title-container,.rtl-container.purple.small.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.small.medium .fa-icon-small,.rtl-container.purple.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.small.medium .sidenav-img svg,.rtl-container.purple.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.small.medium .material-icons{font-size:2.8rem}.rtl-container.purple.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.small.medium .mat-expansion-panel-header,.rtl-container.purple.small.medium .mat-list .mat-list-item,.rtl-container.purple.small.medium .mat-menu-item,.rtl-container.purple.small.medium .mat-nav-list .mat-list-item,.rtl-container.purple.small.medium .mat-option,.rtl-container.purple.small.medium .mat-select,.rtl-container.purple.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.small.medium .logo{font-size:2.8rem}.rtl-container.purple.small.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.small.medium .icon-large{font-size:7rem}.rtl-container.purple.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.small.medium .size-triple{font-size:4.2rem}.rtl-container.purple.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small.large .mat-header-cell{font-weight:800}.rtl-container.purple.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.small.large .genseed-message,.rtl-container.purple.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.small.large .page-sub-title-container,.rtl-container.purple.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.small.large .fa-icon-small,.rtl-container.purple.small.large .modal-info-header,.rtl-container.purple.small.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.small.large .sidenav-img svg,.rtl-container.purple.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.small.large .material-icons{font-size:4rem}.rtl-container.purple.small.large .mat-expansion-panel-header,.rtl-container.purple.small.large .mat-list .mat-list-item,.rtl-container.purple.small.large .mat-menu-item,.rtl-container.purple.small.large .mat-nav-list .mat-list-item,.rtl-container.purple.small.large .mat-option,.rtl-container.purple.small.large .mat-select,.rtl-container.purple.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.small.large .logo{font-size:3.2rem}.rtl-container.purple.small.large .font-60-percent{font-size:.96rem}.rtl-container.purple.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.small.large .icon-large{font-size:8rem}.rtl-container.purple.small.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.small.large .size-triple{font-size:4.8rem}.rtl-container.purple.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.small .mat-flat-button.mat-primary:focus,.rtl-container.purple.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.medium.small .mat-header-cell{font-weight:700}.rtl-container.purple.medium.small .mr-4{margin-right:1rem!important}.rtl-container.purple.medium.small .mat-menu-item,.rtl-container.purple.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.medium.small .fa-icon-small,.rtl-container.purple.medium.small .genseed-message,.rtl-container.purple.medium.small .top-icon-small,.rtl-container.purple.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.medium.small .page-sub-title-container,.rtl-container.purple.medium.small .page-title-container{font-size:1.32rem}.rtl-container.purple.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.medium.small .sidenav-img svg,.rtl-container.purple.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.medium.small .material-icons,.rtl-container.purple.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.medium.small .mat-expansion-panel-header,.rtl-container.purple.medium.small .mat-list .mat-list-item,.rtl-container.purple.medium.small .mat-menu-item,.rtl-container.purple.medium.small .mat-nav-list .mat-list-item,.rtl-container.purple.medium.small .mat-option,.rtl-container.purple.medium.small .mat-select,.rtl-container.purple.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.medium.small .logo{font-size:2.4rem}.rtl-container.purple.medium.small .font-60-percent{font-size:.72rem}.rtl-container.purple.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.medium.small .icon-large{font-size:6rem}.rtl-container.purple.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.medium.small .size-triple{font-size:3.6rem}.rtl-container.purple.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium.medium .mat-header-cell{font-weight:700}.rtl-container.purple.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.medium.medium .genseed-message,.rtl-container.purple.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.medium.medium .page-sub-title-container,.rtl-container.purple.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.medium.medium .fa-icon-small,.rtl-container.purple.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.medium.medium .sidenav-img svg,.rtl-container.purple.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.medium.medium .material-icons{font-size:2.8rem}.rtl-container.purple.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.medium.medium .mat-expansion-panel-header,.rtl-container.purple.medium.medium .mat-list .mat-list-item,.rtl-container.purple.medium.medium .mat-menu-item,.rtl-container.purple.medium.medium .mat-nav-list .mat-list-item,.rtl-container.purple.medium.medium .mat-option,.rtl-container.purple.medium.medium .mat-select,.rtl-container.purple.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.medium.medium .logo{font-size:2.8rem}.rtl-container.purple.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.medium.medium .icon-large{font-size:7rem}.rtl-container.purple.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.medium.medium .size-triple{font-size:4.2rem}.rtl-container.purple.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium.large .mat-header-cell{font-weight:800}.rtl-container.purple.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.medium.large .genseed-message,.rtl-container.purple.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.medium.large .page-sub-title-container,.rtl-container.purple.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.medium.large .fa-icon-small,.rtl-container.purple.medium.large .modal-info-header,.rtl-container.purple.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.medium.large .sidenav-img svg,.rtl-container.purple.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.medium.large .material-icons{font-size:4rem}.rtl-container.purple.medium.large .mat-expansion-panel-header,.rtl-container.purple.medium.large .mat-list .mat-list-item,.rtl-container.purple.medium.large .mat-menu-item,.rtl-container.purple.medium.large .mat-nav-list .mat-list-item,.rtl-container.purple.medium.large .mat-option,.rtl-container.purple.medium.large .mat-select,.rtl-container.purple.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.medium.large .logo{font-size:3.2rem}.rtl-container.purple.medium.large .font-60-percent{font-size:.96rem}.rtl-container.purple.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.medium.large .icon-large{font-size:8rem}.rtl-container.purple.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.medium.large .size-triple{font-size:4.8rem}.rtl-container.purple.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.medium .mat-flat-button.mat-primary:focus,.rtl-container.purple.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.large.small .mat-header-cell{font-weight:700}.rtl-container.purple.large.small .mr-4{margin-right:1rem!important}.rtl-container.purple.large.small .mat-menu-item,.rtl-container.purple.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.large.small .fa-icon-small,.rtl-container.purple.large.small .genseed-message,.rtl-container.purple.large.small .top-icon-small,.rtl-container.purple.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.large.small .page-sub-title-container,.rtl-container.purple.large.small .page-title-container{font-size:1.32rem}.rtl-container.purple.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.large.small .sidenav-img svg,.rtl-container.purple.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.large.small .material-icons,.rtl-container.purple.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.large.small .mat-expansion-panel-header,.rtl-container.purple.large.small .mat-list .mat-list-item,.rtl-container.purple.large.small .mat-menu-item,.rtl-container.purple.large.small .mat-nav-list .mat-list-item,.rtl-container.purple.large.small .mat-option,.rtl-container.purple.large.small .mat-select,.rtl-container.purple.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.large.small .logo{font-size:2.4rem}.rtl-container.purple.large.small .font-60-percent{font-size:.72rem}.rtl-container.purple.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.large.small .icon-large{font-size:6rem}.rtl-container.purple.large.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.large.small .size-triple{font-size:3.6rem}.rtl-container.purple.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large.medium .mat-header-cell{font-weight:700}.rtl-container.purple.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.large.medium .genseed-message,.rtl-container.purple.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.large.medium .page-sub-title-container,.rtl-container.purple.large.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.large.medium .fa-icon-small,.rtl-container.purple.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.large.medium .sidenav-img svg,.rtl-container.purple.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.large.medium .material-icons{font-size:2.8rem}.rtl-container.purple.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.large.medium .mat-expansion-panel-header,.rtl-container.purple.large.medium .mat-list .mat-list-item,.rtl-container.purple.large.medium .mat-menu-item,.rtl-container.purple.large.medium .mat-nav-list .mat-list-item,.rtl-container.purple.large.medium .mat-option,.rtl-container.purple.large.medium .mat-select,.rtl-container.purple.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.large.medium .logo{font-size:2.8rem}.rtl-container.purple.large.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.large.medium .icon-large{font-size:7rem}.rtl-container.purple.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.large.medium .size-triple{font-size:4.2rem}.rtl-container.purple.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large.large .mat-header-cell{font-weight:800}.rtl-container.purple.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.large.large .genseed-message,.rtl-container.purple.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.large.large .page-sub-title-container,.rtl-container.purple.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.large.large .fa-icon-small,.rtl-container.purple.large.large .modal-info-header,.rtl-container.purple.large.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.large.large .sidenav-img svg,.rtl-container.purple.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.large.large .material-icons{font-size:4rem}.rtl-container.purple.large.large .mat-expansion-panel-header,.rtl-container.purple.large.large .mat-list .mat-list-item,.rtl-container.purple.large.large .mat-menu-item,.rtl-container.purple.large.large .mat-nav-list .mat-list-item,.rtl-container.purple.large.large .mat-option,.rtl-container.purple.large.large .mat-select,.rtl-container.purple.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.large.large .logo{font-size:3.2rem}.rtl-container.purple.large.large .font-60-percent{font-size:.96rem}.rtl-container.purple.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.large.large .icon-large{font-size:8rem}.rtl-container.purple.large.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.large.large .size-triple{font-size:4.8rem}.rtl-container.purple.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.large .mat-flat-button.mat-primary:focus,.rtl-container.purple.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.day .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.day .mat-option{color:#000000de}.rtl-container.purple.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.purple.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.purple.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.purple.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.purple.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#5e4ea5}.rtl-container.purple.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.purple.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.purple.day .mat-optgroup-label{color:#0000008a}.rtl-container.purple.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.purple.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.purple.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.purple.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.purple.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#5e4ea5}.rtl-container.purple.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.purple.day .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.purple.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.purple.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.purple.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.purple.day.mat-app-background,.rtl-container.purple.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.purple.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.purple.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.purple.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.purple.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.purple.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.purple.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.purple.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.purple.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.purple.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.purple.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.purple.day .mat-badge-content{color:#fff;background:#5e4ea5}.cdk-high-contrast-active .rtl-container.purple.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.purple.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.purple.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.purple.day .mat-badge{position:relative}.rtl-container.purple.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.purple.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.purple.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.purple.day .mat-badge-content._mat-animation-noopable,.rtl-container.purple.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.purple.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.purple.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.purple.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.purple.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.purple.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.purple.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.purple.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.purple.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.purple.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.purple.day .mat-button,.rtl-container.purple.day .mat-icon-button,.rtl-container.purple.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.purple.day .mat-button.mat-primary,.rtl-container.purple.day .mat-icon-button.mat-primary,.rtl-container.purple.day .mat-stroked-button.mat-primary{color:#5e4ea5}.rtl-container.purple.day .mat-button.mat-accent,.rtl-container.purple.day .mat-icon-button.mat-accent,.rtl-container.purple.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.purple.day .mat-button.mat-warn,.rtl-container.purple.day .mat-icon-button.mat-warn,.rtl-container.purple.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.purple.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.purple.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#5e4ea5}.rtl-container.purple.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.purple.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.purple.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.purple.day .mat-button .mat-ripple-element,.rtl-container.purple.day .mat-icon-button .mat-ripple-element,.rtl-container.purple.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.purple.day .mat-button-focus-overlay{background:#000}.rtl-container.purple.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.purple.day .mat-fab,.rtl-container.purple.day .mat-flat-button,.rtl-container.purple.day .mat-mini-fab,.rtl-container.purple.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.purple.day .mat-fab.mat-accent,.rtl-container.purple.day .mat-fab.mat-primary,.rtl-container.purple.day .mat-fab.mat-warn,.rtl-container.purple.day .mat-flat-button.mat-accent,.rtl-container.purple.day .mat-flat-button.mat-primary,.rtl-container.purple.day .mat-flat-button.mat-warn,.rtl-container.purple.day .mat-mini-fab.mat-accent,.rtl-container.purple.day .mat-mini-fab.mat-primary,.rtl-container.purple.day .mat-mini-fab.mat-warn,.rtl-container.purple.day .mat-raised-button.mat-accent,.rtl-container.purple.day .mat-raised-button.mat-primary,.rtl-container.purple.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.purple.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.purple.day .mat-fab.mat-primary,.rtl-container.purple.day .mat-flat-button.mat-primary,.rtl-container.purple.day .mat-mini-fab.mat-primary,.rtl-container.purple.day .mat-raised-button.mat-primary{background-color:#5e4ea5}.rtl-container.purple.day .mat-fab.mat-accent,.rtl-container.purple.day .mat-flat-button.mat-accent,.rtl-container.purple.day .mat-mini-fab.mat-accent,.rtl-container.purple.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.purple.day .mat-fab.mat-warn,.rtl-container.purple.day .mat-flat-button.mat-warn,.rtl-container.purple.day .mat-mini-fab.mat-warn,.rtl-container.purple.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.purple.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.purple.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-button-toggle-group,.rtl-container.purple.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard,.rtl-container.purple.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.purple.day .mat-button-toggle{color:#00000061}.rtl-container.purple.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.purple.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.purple.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.purple.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.purple.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.purple.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.purple.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.purple.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.purple.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard,.rtl-container.purple.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.rtl-container.purple.day .mat-card{background:#fff;color:#000000de}.rtl-container.purple.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-card-subtitle{color:#0000008a}.rtl-container.purple.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.purple.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.purple.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.purple.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.purple.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#5e4ea5}.rtl-container.purple.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.purple.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.purple.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.purple.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.purple.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.purple.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#5e4ea5}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.purple.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.purple.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-table{background:#fff}.rtl-container.purple.day .mat-table-sticky,.rtl-container.purple.day .mat-table tbody,.rtl-container.purple.day .mat-table tfoot,.rtl-container.purple.day .mat-table thead,.rtl-container.purple.day [mat-footer-row],.rtl-container.purple.day [mat-header-row],.rtl-container.purple.day [mat-row],.rtl-container.purple.day mat-footer-row,.rtl-container.purple.day mat-header-row,.rtl-container.purple.day mat-row{background:inherit}.rtl-container.purple.day mat-footer-row,.rtl-container.purple.day mat-header-row,.rtl-container.purple.day mat-row,.rtl-container.purple.day td.mat-cell,.rtl-container.purple.day td.mat-footer-cell,.rtl-container.purple.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.purple.day .mat-header-cell{color:#0000008a}.rtl-container.purple.day .mat-cell,.rtl-container.purple.day .mat-footer-cell{color:#000000de}.rtl-container.purple.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.purple.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.purple.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.purple.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.purple.day .mat-calendar-table-header{color:#00000061}.rtl-container.purple.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.purple.day .mat-calendar-body-label{color:#0000008a}.rtl-container.purple.day .mat-calendar-body-cell-content,.rtl-container.purple.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.purple.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.purple.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.purple.day .mat-calendar-body-in-range:before{background:#5e4ea533}.rtl-container.purple.day .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-calendar-body-selected{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#5e4ea566}.rtl-container.purple.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#5e4ea54d}.rtl-container.purple.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.purple.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.day .mat-datepicker-toggle-active{color:#5e4ea5}.rtl-container.purple.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.purple.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.purple.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.purple.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.purple.day .mat-divider{border-top-color:#0000001f}.rtl-container.purple.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.purple.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.purple.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-action-row{border-top-color:#0000001f}.rtl-container.purple.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.purple.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.purple.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.purple.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.purple.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.purple.day .mat-expansion-indicator:after,.rtl-container.purple.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.rtl-container.purple.day .mat-form-field-label,.rtl-container.purple.day .mat-hint{color:#0009}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label{color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.purple.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.purple.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#5e4ea5}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.purple.day .mat-error{color:#b00020}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.purple.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.purple.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.purple.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#5e4ea5}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.purple.day .mat-icon.mat-primary{color:#5e4ea5}.rtl-container.purple.day .mat-icon.mat-accent{color:#424242}.rtl-container.purple.day .mat-icon.mat-warn{color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.purple.day .mat-input-element:disabled{color:#00000061}.rtl-container.purple.day .mat-input-element{caret-color:#5e4ea5}.rtl-container.purple.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.purple.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.purple.day .mat-form-field-invalid .mat-input-element,.rtl-container.purple.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.purple.day .mat-list-base .mat-list-item,.rtl-container.purple.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.purple.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.purple.day .mat-list-item-disabled{background-color:#eee}.rtl-container.purple.day .mat-action-list .mat-list-item:focus,.rtl-container.purple.day .mat-action-list .mat-list-item:hover,.rtl-container.purple.day .mat-list-option:focus,.rtl-container.purple.day .mat-list-option:hover,.rtl-container.purple.day .mat-nav-list .mat-list-item:focus,.rtl-container.purple.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.purple.day .mat-list-single-selected-option,.rtl-container.purple.day .mat-list-single-selected-option:focus,.rtl-container.purple.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.purple.day .mat-menu-panel{background:#fff}.rtl-container.purple.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.purple.day .mat-menu-item[disabled],.rtl-container.purple.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.purple.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.purple.day .mat-menu-item-submenu-trigger:after,.rtl-container.purple.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.purple.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.purple.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.purple.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.purple.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.purple.day .mat-paginator{background:#fff}.rtl-container.purple.day .mat-paginator,.rtl-container.purple.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.purple.day .mat-paginator-decrement,.rtl-container.purple.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.purple.day .mat-paginator-first,.rtl-container.purple.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.rtl-container.purple.day .mat-progress-bar-background{fill:#d3cfe5}.rtl-container.purple.day .mat-progress-bar-buffer{background-color:#d3cfe5}.rtl-container.purple.day .mat-progress-bar-fill:after{background-color:#5e4ea5}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.purple.day .mat-progress-spinner circle,.rtl-container.purple.day .mat-spinner circle{stroke:#5e4ea5}.rtl-container.purple.day .mat-progress-spinner.mat-accent circle,.rtl-container.purple.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.purple.day .mat-progress-spinner.mat-warn circle,.rtl-container.purple.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.purple.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.purple.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#5e4ea5}.rtl-container.purple.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#5e4ea5}.rtl-container.purple.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.purple.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.purple.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.purple.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.purple.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-select-value{color:#000000de}.rtl-container.purple.day .mat-select-placeholder{color:#0000006b}.rtl-container.purple.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.purple.day .mat-select-arrow{color:#0000008a}.rtl-container.purple.day .mat-select-panel{background:#fff}.rtl-container.purple.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.purple.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.purple.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.purple.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.purple.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.purple.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.purple.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.purple.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.purple.day .mat-drawer-side.mat-drawer-end,.rtl-container.purple.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.purple.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.purple.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#5e4ea5}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#5e4ea58a}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#5e4ea5}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.purple.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.purple.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.purple.day .mat-slider-track-background{background-color:#00000042}.rtl-container.purple.day .mat-primary .mat-slider-thumb,.rtl-container.purple.day .mat-primary .mat-slider-thumb-label,.rtl-container.purple.day .mat-primary .mat-slider-track-fill{background-color:#5e4ea5}.rtl-container.purple.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-primary .mat-slider-focus-ring{background-color:#5e4ea533}.rtl-container.purple.day .mat-accent .mat-slider-thumb,.rtl-container.purple.day .mat-accent .mat-slider-thumb-label,.rtl-container.purple.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.purple.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.purple.day .mat-warn .mat-slider-thumb,.rtl-container.purple.day .mat-warn .mat-slider-thumb-label,.rtl-container.purple.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.purple.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.purple.day .cdk-focused .mat-slider-track-background,.rtl-container.purple.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.purple.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.purple.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.purple.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.purple.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.purple.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.purple.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.purple.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.purple.day .mat-step-header.cdk-keyboard-focused,.rtl-container.purple.day .mat-step-header.cdk-program-focused,.rtl-container.purple.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.purple.day .mat-step-header:hover{background:none}}.rtl-container.purple.day .mat-step-header .mat-step-label,.rtl-container.purple.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.purple.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.purple.day .mat-step-header .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header .mat-step-icon-state-edit{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.purple.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.purple.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.purple.day .mat-stepper-horizontal,.rtl-container.purple.day .mat-stepper-vertical{background-color:#fff}.rtl-container.purple.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.purple.day .mat-horizontal-stepper-header:after,.rtl-container.purple.day .mat-horizontal-stepper-header:before,.rtl-container.purple.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before,.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.rtl-container.purple.day .mat-sort-header-arrow{color:#757575}.rtl-container.purple.day .mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.purple.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.purple.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.purple.day .mat-tab-label,.rtl-container.purple.day .mat-tab-link{color:#000000de}.rtl-container.purple.day .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.purple.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.purple.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.purple.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#5e4ea5}.rtl-container.purple.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.purple.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.purple.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.purple.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#5e4ea5}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.purple.day .mat-toolbar.mat-primary{background:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.purple.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.purple.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.purple.day .mat-toolbar .mat-form-field-ripple,.rtl-container.purple.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.purple.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.purple.day .mat-toolbar .mat-form-field-label,.rtl-container.purple.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.purple.day .mat-toolbar .mat-select-arrow,.rtl-container.purple.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.purple.day .mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.rtl-container.purple.day .mat-tooltip{background:#616161e6}.rtl-container.purple.day .mat-tree{background:#fff}.rtl-container.purple.day .mat-nested-tree-node,.rtl-container.purple.day .mat-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.rtl-container.purple.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-simple-snackbar-action{color:#424242}.rtl-container.purple.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.purple.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.purple.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.purple.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.purple.day .bg-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .rtl-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#5e4ea5}.rtl-container.purple.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#b00020}.rtl-container.purple.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.purple.day .mat-tab-label.mat-tab-label-active{color:#5e4ea5}.rtl-container.purple.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#5e4ea5}.rtl-container.purple.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.purple.day .mat-form-field-suffix,.rtl-container.purple.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.purple.day .ng-fa-icon{color:#0000008a}.rtl-container.purple.day .mat-stroked-button.mat-primary{border-color:#5e4ea5}.rtl-container.purple.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.purple.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.purple.day .selected-color{border-color:#8e83c0}.rtl-container.purple.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.purple.day .page-sub-title-container,.rtl-container.purple.day .page-title-container{color:#0000008a}.rtl-container.purple.day .page-sub-title-container .page-title-img,.rtl-container.purple.day .page-title-container .page-title-img{color:#00000061}.rtl-container.purple.day .page-sub-title-container .mat-input-element,.rtl-container.purple.day .page-sub-title-container .mat-radio-label-content,.rtl-container.purple.day .page-sub-title-container .theme-name,.rtl-container.purple.day .page-title-container .mat-input-element,.rtl-container.purple.day .page-title-container .mat-radio-label-content,.rtl-container.purple.day .page-title-container .theme-name{color:#000000de}.rtl-container.purple.day .cc-data-block .cc-data-title{color:#5e4ea5}.rtl-container.purple.day .active-link,.rtl-container.purple.day .active-link .fa-icon-small{color:#5e4ea5;font-weight:500;cursor:pointer;fill:#5e4ea5}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.purple.day .mat-nested-tree-node-parent:hover,.rtl-container.purple.day .mat-select-panel .mat-option:hover,.rtl-container.purple.day .mat-tree-node:hover{color:#5e4ea5;cursor:pointer;background:#0000000a}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.purple.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.purple.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.purple.day .mat-tree-node:hover .mat-icon,.rtl-container.purple.day .mat-tree-node:hover .ng-fa-icon{color:#5e4ea5}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.purple.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.purple.day .mat-tree-node:hover .sidenav-img svg{fill:#5e4ea5}.rtl-container.purple.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.purple.day .mat-nested-tree-node .sidenav-img,.rtl-container.purple.day .mat-tree-node .sidenav-img,.rtl-container.purple.day .page-title-container .page-title-img,.rtl-container.purple.day svg.top-icon-small{fill:#000000de}.rtl-container.purple.day .mat-progress-bar-fill:after{background-color:#312579}.rtl-container.purple.day .modal-qr-code-container{background:#0000001f}.rtl-container.purple.day .mat-tab-label,.rtl-container.purple.day .mat-tab-link{color:#0000008a}.rtl-container.purple.day .mat-card,.rtl-container.purple.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.purple.day .dashboard-info-title{color:#5e4ea5}.rtl-container.purple.day .dashboard-info-value{color:#0000008a}.rtl-container.purple.day .color-primary{color:#5e4ea5!important}.rtl-container.purple.day .dot-primary{background-color:#5e4ea5!important}.rtl-container.purple.day .dot-primary-lighter{background-color:#8e83c0!important}.rtl-container.purple.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.purple.day .mat-tooltip{font-size:120%}.rtl-container.purple.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.purple.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.purple.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.purple.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-1{fill:#fff}.rtl-container.purple.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.purple.day svg .fill-color-3,.rtl-container.purple.day svg .fill-color-4,.rtl-container.purple.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.purple.day svg .fill-color-6{fill:#fff}.rtl-container.purple.day svg .fill-color-7,.rtl-container.purple.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-9{fill:#fff}.rtl-container.purple.day svg .fill-color-10,.rtl-container.purple.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.purple.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-13,.rtl-container.purple.day svg .fill-color-14,.rtl-container.purple.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.purple.day svg .fill-color-16,.rtl-container.purple.day svg .fill-color-17{fill:#404040}.rtl-container.purple.day svg .fill-color-18{fill:#000}.rtl-container.purple.day svg .fill-color-19,.rtl-container.purple.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.purple.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-22,.rtl-container.purple.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-24{fill:#000}.rtl-container.purple.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.purple.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.purple.day svg .fill-color-27{fill:#000}.rtl-container.purple.day svg .fill-color-28{fill:#313131}.rtl-container.purple.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-30{fill:#fff}.rtl-container.purple.day svg .fill-color-31{fill:#5e4ea5}.rtl-container.purple.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.purple.day svg .fill-color-primary{fill:#5e4ea5}.rtl-container.purple.day svg .fill-color-primary-lighter{fill:#8e83c0}.rtl-container.purple.day svg .fill-color-primary-darker{fill:#5e4ea5}.rtl-container.purple.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.purple.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.purple.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.purple.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.purple.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.purple.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.purple.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#5e4ea5}.rtl-container.purple.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.purple.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#312579}.rtl-container.purple.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.purple.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#afa7d2}.rtl-container.purple.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.purple.day .mat-progress-bar-buffer{background-color:#cfcae4}.rtl-container.purple.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.purple.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.purple.day .foreground.mat-progress-spinner circle,.rtl-container.purple.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.purple.day .mat-toolbar-row,.rtl-container.purple.day .mat-toolbar-single-row{height:5rem}.rtl-container.purple.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.purple.day a{color:#5e4ea5}.rtl-container.purple.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.purple.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.purple.day .mat-icon-36{color:#0000008a}.rtl-container.purple.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.purple.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.purple.day .genseed-message{width:10%;color:#5e4ea5}.rtl-container.purple.day .material-icons.primary{color:#5e4ea5}.rtl-container.purple.day .material-icons.accent{color:#424242}.rtl-container.purple.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.purple.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.purple.day .row-disabled{background-color:gray}.rtl-container.purple.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.purple.day .mat-menu-panel{min-width:6.4rem}.rtl-container.purple.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.purple.day .horizontal-button:hover{background:#8e83c0;color:#424242}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#5e4ea5}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.purple.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.purple.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.purple.day .mat-cell,.rtl-container.purple.day .mat-footer-cell,.rtl-container.purple.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.purple.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.purple.day table.mat-table thead tr th{color:#000}.rtl-container.purple.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.purple.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.purple.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.purple.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.purple.day .more-button{color:#00000061}.rtl-container.purple.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.purple.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.purple.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.purple.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.purple.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.purple.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.purple.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.purple.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.purple.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.purple.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.purple.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.purple.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.purple.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.purple.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.purple.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.purple.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#afa7d2!important}.rtl-container.purple.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#56479d!important}.rtl-container.purple.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.purple.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.purple.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.purple.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.purple.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.purple.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.purple.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.purple.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.purple.day .color-warn{color:#b00020}.rtl-container.purple.day .fill-warn{fill:#b00020}.rtl-container.purple.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.purple.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.purple.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.purple.day .alert.alert-info a{color:#004085}.rtl-container.purple.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.purple.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.purple.day .alert.alert-warn a{color:#856404}.rtl-container.purple.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.purple.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.purple.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.purple.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.purple.day .help-expansion .mat-expansion-panel-header,.rtl-container.purple.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.purple.day .help-expansion .mat-expansion-indicator:after,.rtl-container.purple.day .help-expansion .mat-expansion-panel-content,.rtl-container.purple.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.purple.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.purple.day .failed-status{color:#b00020}.rtl-container.purple.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.purple.day .svg-fill-primary{fill:#5e4ea5}.rtl-container.purple.day .svg-fill-primary-lighter{fill:#8e83c0}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.purple.day ngx-charts-bar-vertical-2d text,.rtl-container.purple.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.purple.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.purple.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.purple.day .mat-paginator-container{padding:0}.rtl-container.purple.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-option{color:#fff}.rtl-container.purple.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.purple.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.purple.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.purple.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#5e4ea5}.rtl-container.purple.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.purple.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.purple.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.purple.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.purple.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#5e4ea5}.rtl-container.purple.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.purple.night .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.purple.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.purple.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.purple.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.purple.night.mat-app-background,.rtl-container.purple.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.purple.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.purple.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.purple.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.purple.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.purple.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.purple.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.purple.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.purple.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.purple.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.purple.night .mat-badge-content{color:#fff;background:#5e4ea5}.cdk-high-contrast-active .rtl-container.purple.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.purple.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.purple.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.purple.night .mat-badge{position:relative}.rtl-container.purple.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.purple.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.purple.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.purple.night .mat-badge-content._mat-animation-noopable,.rtl-container.purple.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.purple.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.purple.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.purple.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.purple.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.purple.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.purple.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.purple.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.purple.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.purple.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.purple.night .mat-button,.rtl-container.purple.night .mat-icon-button,.rtl-container.purple.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.purple.night .mat-button.mat-primary,.rtl-container.purple.night .mat-icon-button.mat-primary,.rtl-container.purple.night .mat-stroked-button.mat-primary{color:#5e4ea5}.rtl-container.purple.night .mat-button.mat-accent,.rtl-container.purple.night .mat-icon-button.mat-accent,.rtl-container.purple.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.purple.night .mat-button.mat-warn,.rtl-container.purple.night .mat-icon-button.mat-warn,.rtl-container.purple.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.purple.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.purple.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#5e4ea5}.rtl-container.purple.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.purple.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.purple.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.purple.night .mat-button .mat-ripple-element,.rtl-container.purple.night .mat-icon-button .mat-ripple-element,.rtl-container.purple.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.purple.night .mat-button-focus-overlay{background:#fff}.rtl-container.purple.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.purple.night .mat-fab,.rtl-container.purple.night .mat-flat-button,.rtl-container.purple.night .mat-mini-fab,.rtl-container.purple.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.purple.night .mat-fab.mat-primary,.rtl-container.purple.night .mat-flat-button.mat-primary,.rtl-container.purple.night .mat-mini-fab.mat-primary,.rtl-container.purple.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.purple.night .mat-fab.mat-accent,.rtl-container.purple.night .mat-flat-button.mat-accent,.rtl-container.purple.night .mat-mini-fab.mat-accent,.rtl-container.purple.night .mat-raised-button.mat-accent{color:#000}.rtl-container.purple.night .mat-fab.mat-warn,.rtl-container.purple.night .mat-flat-button.mat-warn,.rtl-container.purple.night .mat-mini-fab.mat-warn,.rtl-container.purple.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.purple.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.purple.night .mat-fab.mat-primary,.rtl-container.purple.night .mat-flat-button.mat-primary,.rtl-container.purple.night .mat-mini-fab.mat-primary,.rtl-container.purple.night .mat-raised-button.mat-primary{background-color:#5e4ea5}.rtl-container.purple.night .mat-fab.mat-accent,.rtl-container.purple.night .mat-flat-button.mat-accent,.rtl-container.purple.night .mat-mini-fab.mat-accent,.rtl-container.purple.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.purple.night .mat-fab.mat-warn,.rtl-container.purple.night .mat-flat-button.mat-warn,.rtl-container.purple.night .mat-mini-fab.mat-warn,.rtl-container.purple.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.purple.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.purple.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-button-toggle-group,.rtl-container.purple.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard,.rtl-container.purple.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.purple.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.purple.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.purple.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.purple.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.purple.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.purple.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.purple.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard,.rtl-container.purple.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.purple.night .mat-card{background:#202020;color:#fff}.rtl-container.purple.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.purple.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.purple.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.purple.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#5e4ea5}.rtl-container.purple.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.purple.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.purple.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.purple.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.purple.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#5e4ea5}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.purple.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.night .mat-table{background:#202020}.rtl-container.purple.night .mat-table-sticky,.rtl-container.purple.night .mat-table tbody,.rtl-container.purple.night .mat-table tfoot,.rtl-container.purple.night .mat-table thead,.rtl-container.purple.night [mat-footer-row],.rtl-container.purple.night [mat-header-row],.rtl-container.purple.night [mat-row],.rtl-container.purple.night mat-footer-row,.rtl-container.purple.night mat-header-row,.rtl-container.purple.night mat-row{background:inherit}.rtl-container.purple.night mat-footer-row,.rtl-container.purple.night mat-header-row,.rtl-container.purple.night mat-row,.rtl-container.purple.night td.mat-cell,.rtl-container.purple.night td.mat-footer-cell,.rtl-container.purple.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.purple.night .mat-cell,.rtl-container.purple.night .mat-footer-cell{color:#fff}.rtl-container.purple.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.purple.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.purple.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.purple.night .mat-datepicker-toggle{color:#fff}.rtl-container.purple.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.purple.night .mat-calendar-body-cell-content,.rtl-container.purple.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.purple.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.purple.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.purple.night .mat-calendar-body-in-range:before{background:#5e4ea533}.rtl-container.purple.night .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-calendar-body-selected{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#5e4ea566}.rtl-container.purple.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#5e4ea54d}.rtl-container.purple.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.purple.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.purple.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.night .mat-datepicker-toggle-active{color:#5e4ea5}.rtl-container.purple.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.purple.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.purple.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.purple.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.purple.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.purple.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.purple.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.purple.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.purple.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.purple.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label{color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.purple.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.purple.night .mat-form-field-ripple{background-color:#fff}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#5e4ea5}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.purple.night .mat-error{color:#ff343b}.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.purple.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.purple.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.purple.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.purple.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.purple.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.purple.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.purple.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#5e4ea5}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.purple.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.purple.night .mat-icon.mat-primary{color:#5e4ea5}.rtl-container.purple.night .mat-icon.mat-accent{color:#eee}.rtl-container.purple.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.purple.night .mat-input-element{caret-color:#5e4ea5}.rtl-container.purple.night .mat-input-element option{color:#000000de}.rtl-container.purple.night .mat-input-element option:disabled{color:#00000061}.rtl-container.purple.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.purple.night .mat-form-field-invalid .mat-input-element,.rtl-container.purple.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.purple.night .mat-list-base .mat-list-item,.rtl-container.purple.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.purple.night .mat-list-item-disabled{background-color:#444}.rtl-container.purple.night .mat-action-list .mat-list-item:focus,.rtl-container.purple.night .mat-action-list .mat-list-item:hover,.rtl-container.purple.night .mat-list-option:focus,.rtl-container.purple.night .mat-list-option:hover,.rtl-container.purple.night .mat-nav-list .mat-list-item:focus,.rtl-container.purple.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.purple.night .mat-list-single-selected-option,.rtl-container.purple.night .mat-list-single-selected-option:focus,.rtl-container.purple.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.purple.night .mat-menu-panel{background:#202020}.rtl-container.purple.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.purple.night .mat-menu-item-submenu-trigger:after,.rtl-container.purple.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.purple.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.purple.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.purple.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.purple.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.purple.night .mat-paginator{background:#202020}.rtl-container.purple.night .mat-paginator-decrement,.rtl-container.purple.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.purple.night .mat-paginator-first,.rtl-container.purple.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.purple.night .mat-progress-bar-background{fill:#211d33}.rtl-container.purple.night .mat-progress-bar-buffer{background-color:#211d33}.rtl-container.purple.night .mat-progress-bar-fill:after{background-color:#5e4ea5}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.purple.night .mat-progress-spinner circle,.rtl-container.purple.night .mat-spinner circle{stroke:#5e4ea5}.rtl-container.purple.night .mat-progress-spinner.mat-accent circle,.rtl-container.purple.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.purple.night .mat-progress-spinner.mat-warn circle,.rtl-container.purple.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.purple.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#5e4ea5}.rtl-container.purple.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#5e4ea5}.rtl-container.purple.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.purple.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.purple.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.purple.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.purple.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-select-value{color:#fff}.rtl-container.purple.night .mat-select-panel{background:#202020}.rtl-container.purple.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.purple.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.purple.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.purple.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.purple.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.purple.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.purple.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-drawer-side.mat-drawer-end,.rtl-container.purple.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.purple.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#5e4ea5}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#5e4ea58a}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#5e4ea5}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.purple.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.purple.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.purple.night .mat-primary .mat-slider-thumb,.rtl-container.purple.night .mat-primary .mat-slider-thumb-label,.rtl-container.purple.night .mat-primary .mat-slider-track-fill{background-color:#5e4ea5}.rtl-container.purple.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.night .mat-primary .mat-slider-focus-ring{background-color:#5e4ea533}.rtl-container.purple.night .mat-accent .mat-slider-thumb,.rtl-container.purple.night .mat-accent .mat-slider-thumb-label,.rtl-container.purple.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.purple.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.purple.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.purple.night .mat-warn .mat-slider-thumb,.rtl-container.purple.night .mat-warn .mat-slider-thumb-label,.rtl-container.purple.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.purple.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.purple.night .cdk-focused .mat-slider-track-background,.rtl-container.purple.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.purple.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.purple.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.purple.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.purple.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.purple.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.purple.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.purple.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.purple.night .mat-step-header.cdk-keyboard-focused,.rtl-container.purple.night .mat-step-header.cdk-program-focused,.rtl-container.purple.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.purple.night .mat-step-header:hover{background:none}}.rtl-container.purple.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header .mat-step-icon-state-edit{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.purple.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.purple.night .mat-stepper-horizontal,.rtl-container.purple.night .mat-stepper-vertical{background-color:#202020}.rtl-container.purple.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.purple.night .mat-horizontal-stepper-header:after,.rtl-container.purple.night .mat-horizontal-stepper-header:before,.rtl-container.purple.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.purple.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.purple.night .mat-tab-label,.rtl-container.purple.night .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.purple.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#5e4ea5}.rtl-container.purple.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.purple.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.purple.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.purple.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#5e4ea5}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.purple.night .mat-toolbar.mat-primary{background:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.purple.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.purple.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.purple.night .mat-toolbar .mat-form-field-ripple,.rtl-container.purple.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.purple.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.purple.night .mat-toolbar .mat-form-field-label,.rtl-container.purple.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.purple.night .mat-toolbar .mat-select-arrow,.rtl-container.purple.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.purple.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.purple.night .mat-tree{background:#202020}.rtl-container.purple.night .mat-nested-tree-node,.rtl-container.purple.night .mat-tree-node{color:#fff}.rtl-container.purple.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-simple-snackbar-action{color:inherit}.rtl-container.purple.night .mat-primary{color:#9787ff}.rtl-container.purple.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.purple.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.purple.night .bg-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-tab-label.mat-tab-label-active{color:#9787ff}.rtl-container.purple.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#9787ff}.rtl-container.purple.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.purple.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.purple.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.purple.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#9787ff}.rtl-container.purple.night .cc-data-block .cc-data-title{color:#9787ff}.rtl-container.purple.night .mat-stroked-button.mat-primary{border-color:#9787ff;color:#9787ff}.rtl-container.purple.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.purple.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.purple.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.purple.night .active-link,.rtl-container.purple.night .active-link .fa-icon-small,.rtl-container.purple.night .mat-select-panel .mat-option.mat-active,.rtl-container.purple.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#9787ff;font-weight:500;cursor:pointer;fill:#9787ff}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.purple.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#9787ff}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.purple.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.purple.night .mat-nested-tree-node-parent:hover,.rtl-container.purple.night .mat-select-panel .mat-option:hover,.rtl-container.purple.night .mat-tree-node:hover{color:#9787ff;cursor:pointer;background:#ffffff0f}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.purple.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.purple.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.purple.night .mat-tree-node:hover .mat-icon,.rtl-container.purple.night .mat-tree-node:hover .ng-fa-icon{color:#9787ff}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.purple.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.purple.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.purple.night .mat-tree-node:hover .sidenav-img svg{fill:#9787ff}.rtl-container.purple.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.purple.night .mat-nested-tree-node .sidenav-img,.rtl-container.purple.night .mat-tree-node .sidenav-img,.rtl-container.purple.night .page-title-container .page-title-img,.rtl-container.purple.night svg.top-icon-small{fill:#fff}.rtl-container.purple.night .selected-color{border-color:#8e83c0}.rtl-container.purple.night .mat-progress-bar-fill:after{background-color:#56479d}.rtl-container.purple.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.purple.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.purple.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.purple.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#9787ff}.rtl-container.purple.night .mat-select-panel{background-color:#262626}.rtl-container.purple.night .mat-tree{background:#262626}.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.purple.night .dashboard-info-title{color:#9787ff}.rtl-container.purple.night .dashboard-capacity-header,.rtl-container.purple.night .dashboard-info-value{color:#fff}.rtl-container.purple.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.purple.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.purple.night .color-primary{color:#9787ff!important}.rtl-container.purple.night .dot-primary{background-color:#9787ff!important}.rtl-container.purple.night .dot-primary-lighter{background-color:#5e4ea5!important}.rtl-container.purple.night .mat-stepper-vertical{background-color:#262626}.rtl-container.purple.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.purple.night svg .boltz-icon-fill{fill:#fff}.rtl-container.purple.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .fill-color-0,.rtl-container.purple.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.purple.night svg .fill-color-1{fill:#232323}.rtl-container.purple.night svg .fill-color-2{fill:#222}.rtl-container.purple.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.purple.night svg .fill-color-4{fill:#383838}.rtl-container.purple.night svg .fill-color-5{fill:#555}.rtl-container.purple.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.purple.night svg .fill-color-7{fill:#202020}.rtl-container.purple.night svg .fill-color-8{fill:#242424}.rtl-container.purple.night svg .fill-color-9{fill:#262626}.rtl-container.purple.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.purple.night svg .fill-color-11{fill:#171717}.rtl-container.purple.night svg .fill-color-12{fill:#ccc}.rtl-container.purple.night svg .fill-color-13{fill:#adadad}.rtl-container.purple.night svg .fill-color-14{fill:#ababab}.rtl-container.purple.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.purple.night svg .fill-color-16{fill:#707070}.rtl-container.purple.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.purple.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.purple.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.purple.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.purple.night svg .fill-color-21{fill:#cacaca}.rtl-container.purple.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.purple.night svg .fill-color-23{fill:#777}.rtl-container.purple.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.purple.night svg .fill-color-25{fill:#252525}.rtl-container.purple.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.purple.night svg .fill-color-27{fill:#000}.rtl-container.purple.night svg .fill-color-28{fill:#313131}.rtl-container.purple.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.purple.night svg .fill-color-30{fill:#fff}.rtl-container.purple.night svg .fill-color-31{fill:#5e4ea5}.rtl-container.purple.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.purple.night svg .fill-color-primary{fill:#5e4ea5}.rtl-container.purple.night svg .fill-color-primary-lighter{fill:#8e83c0}.rtl-container.purple.night svg .fill-color-primary-darker{fill:#9787ff}.rtl-container.purple.night .mat-select-arrow,.rtl-container.purple.night .mat-select-value{color:#fff}.rtl-container.purple.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.purple.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.purple.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.purple.night .mat-slide-toggle-bar,.rtl-container.purple.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.purple.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.purple.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.purple.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.purple.night .mat-button.mat-primary,.rtl-container.purple.night .mat-icon-button.mat-primary,.rtl-container.purple.night .mat-stroked-button.mat-primary{color:#9787ff}.rtl-container.purple.night tr.alert.alert-warn .mat-cell,.rtl-container.purple.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.purple.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.purple.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.purple.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#9787ff}.rtl-container.purple.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.purple.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#42358a}.rtl-container.purple.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.purple.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#9787ff}.rtl-container.purple.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.purple.night .mat-progress-bar-buffer{background-color:#cfcae4}.rtl-container.purple.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.purple.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.purple.night .foreground.mat-progress-spinner circle,.rtl-container.purple.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.purple.night .mat-toolbar-row,.rtl-container.purple.night .mat-toolbar-single-row{height:5rem}.rtl-container.purple.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night a{color:#5e4ea5}.rtl-container.purple.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.purple.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.purple.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.purple.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.purple.night .genseed-message{width:10%;color:#5e4ea5}.rtl-container.purple.night .material-icons.primary{color:#5e4ea5}.rtl-container.purple.night .material-icons.accent{color:#eee}.rtl-container.purple.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.purple.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.purple.night .row-disabled{background-color:gray}.rtl-container.purple.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.purple.night .mat-menu-panel{min-width:6.4rem}.rtl-container.purple.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.purple.night .horizontal-button:hover{background:#8e83c0;color:#eee}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#5e4ea5}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.purple.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.purple.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.purple.night .mat-cell,.rtl-container.purple.night .mat-footer-cell,.rtl-container.purple.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.purple.night table.mat-table thead tr th{color:#fff}.rtl-container.purple.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.purple.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.purple.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.purple.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.purple.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.purple.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.purple.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.purple.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.purple.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.purple.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.purple.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.purple.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.purple.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.purple.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.purple.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.purple.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.purple.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.purple.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.purple.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.purple.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#afa7d2!important}.rtl-container.purple.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#56479d!important}.rtl-container.purple.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.purple.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.purple.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.purple.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.purple.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.purple.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.purple.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.purple.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.purple.night .color-warn{color:#ff343b}.rtl-container.purple.night .fill-warn{fill:#ff343b}.rtl-container.purple.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.purple.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.purple.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.purple.night .alert.alert-info a{color:#004085}.rtl-container.purple.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.purple.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.purple.night .alert.alert-warn a{color:#856404}.rtl-container.purple.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.purple.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.purple.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.purple.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.purple.night .help-expansion .mat-expansion-panel-header,.rtl-container.purple.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.purple.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.purple.night .failed-status{color:#ff343b}.rtl-container.purple.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.purple.night .svg-fill-primary{fill:#5e4ea5}.rtl-container.purple.night .svg-fill-primary-lighter{fill:#8e83c0}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.purple.night ngx-charts-bar-vertical-2d text,.rtl-container.purple.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.purple.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.purple.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.purple.night .mat-paginator-container{padding:0}.rtl-container.blue.small.small .mat-header-cell{font-weight:700}.rtl-container.blue.small.small .mr-4{margin-right:1rem!important}.rtl-container.blue.small.small .mat-menu-item,.rtl-container.blue.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.small.small .fa-icon-small,.rtl-container.blue.small.small .genseed-message,.rtl-container.blue.small.small .top-icon-small,.rtl-container.blue.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.small.small .page-sub-title-container,.rtl-container.blue.small.small .page-title-container{font-size:1.32rem}.rtl-container.blue.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.small.small .sidenav-img svg,.rtl-container.blue.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.small.small .material-icons,.rtl-container.blue.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.small.small .mat-expansion-panel-header,.rtl-container.blue.small.small .mat-list .mat-list-item,.rtl-container.blue.small.small .mat-menu-item,.rtl-container.blue.small.small .mat-nav-list .mat-list-item,.rtl-container.blue.small.small .mat-option,.rtl-container.blue.small.small .mat-select,.rtl-container.blue.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.small.small .logo{font-size:2.4rem}.rtl-container.blue.small.small .font-60-percent{font-size:.72rem}.rtl-container.blue.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.small.small .icon-large{font-size:6rem}.rtl-container.blue.small.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.small.small .size-triple{font-size:3.6rem}.rtl-container.blue.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small.medium .mat-header-cell{font-weight:700}.rtl-container.blue.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.small.medium .genseed-message,.rtl-container.blue.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.small.medium .page-sub-title-container,.rtl-container.blue.small.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.small.medium .fa-icon-small,.rtl-container.blue.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.small.medium .sidenav-img svg,.rtl-container.blue.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.small.medium .material-icons{font-size:2.8rem}.rtl-container.blue.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.small.medium .mat-expansion-panel-header,.rtl-container.blue.small.medium .mat-list .mat-list-item,.rtl-container.blue.small.medium .mat-menu-item,.rtl-container.blue.small.medium .mat-nav-list .mat-list-item,.rtl-container.blue.small.medium .mat-option,.rtl-container.blue.small.medium .mat-select,.rtl-container.blue.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.small.medium .logo{font-size:2.8rem}.rtl-container.blue.small.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.small.medium .icon-large{font-size:7rem}.rtl-container.blue.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.small.medium .size-triple{font-size:4.2rem}.rtl-container.blue.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small.large .mat-header-cell{font-weight:800}.rtl-container.blue.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.small.large .genseed-message,.rtl-container.blue.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.small.large .page-sub-title-container,.rtl-container.blue.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.small.large .fa-icon-small,.rtl-container.blue.small.large .modal-info-header,.rtl-container.blue.small.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.small.large .sidenav-img svg,.rtl-container.blue.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.small.large .material-icons{font-size:4rem}.rtl-container.blue.small.large .mat-expansion-panel-header,.rtl-container.blue.small.large .mat-list .mat-list-item,.rtl-container.blue.small.large .mat-menu-item,.rtl-container.blue.small.large .mat-nav-list .mat-list-item,.rtl-container.blue.small.large .mat-option,.rtl-container.blue.small.large .mat-select,.rtl-container.blue.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.small.large .logo{font-size:3.2rem}.rtl-container.blue.small.large .font-60-percent{font-size:.96rem}.rtl-container.blue.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.small.large .icon-large{font-size:8rem}.rtl-container.blue.small.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.small.large .size-triple{font-size:4.8rem}.rtl-container.blue.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.small .mat-flat-button.mat-primary:focus,.rtl-container.blue.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.medium.small .mat-header-cell{font-weight:700}.rtl-container.blue.medium.small .mr-4{margin-right:1rem!important}.rtl-container.blue.medium.small .mat-menu-item,.rtl-container.blue.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.medium.small .fa-icon-small,.rtl-container.blue.medium.small .genseed-message,.rtl-container.blue.medium.small .top-icon-small,.rtl-container.blue.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.medium.small .page-sub-title-container,.rtl-container.blue.medium.small .page-title-container{font-size:1.32rem}.rtl-container.blue.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.medium.small .sidenav-img svg,.rtl-container.blue.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.medium.small .material-icons,.rtl-container.blue.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.medium.small .mat-expansion-panel-header,.rtl-container.blue.medium.small .mat-list .mat-list-item,.rtl-container.blue.medium.small .mat-menu-item,.rtl-container.blue.medium.small .mat-nav-list .mat-list-item,.rtl-container.blue.medium.small .mat-option,.rtl-container.blue.medium.small .mat-select,.rtl-container.blue.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.medium.small .logo{font-size:2.4rem}.rtl-container.blue.medium.small .font-60-percent{font-size:.72rem}.rtl-container.blue.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.medium.small .icon-large{font-size:6rem}.rtl-container.blue.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.medium.small .size-triple{font-size:3.6rem}.rtl-container.blue.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium.medium .mat-header-cell{font-weight:700}.rtl-container.blue.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.medium.medium .genseed-message,.rtl-container.blue.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.medium.medium .page-sub-title-container,.rtl-container.blue.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.medium.medium .fa-icon-small,.rtl-container.blue.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.medium.medium .sidenav-img svg,.rtl-container.blue.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.medium.medium .material-icons{font-size:2.8rem}.rtl-container.blue.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.medium.medium .mat-expansion-panel-header,.rtl-container.blue.medium.medium .mat-list .mat-list-item,.rtl-container.blue.medium.medium .mat-menu-item,.rtl-container.blue.medium.medium .mat-nav-list .mat-list-item,.rtl-container.blue.medium.medium .mat-option,.rtl-container.blue.medium.medium .mat-select,.rtl-container.blue.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.medium.medium .logo{font-size:2.8rem}.rtl-container.blue.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.medium.medium .icon-large{font-size:7rem}.rtl-container.blue.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.medium.medium .size-triple{font-size:4.2rem}.rtl-container.blue.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium.large .mat-header-cell{font-weight:800}.rtl-container.blue.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.medium.large .genseed-message,.rtl-container.blue.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.medium.large .page-sub-title-container,.rtl-container.blue.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.medium.large .fa-icon-small,.rtl-container.blue.medium.large .modal-info-header,.rtl-container.blue.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.medium.large .sidenav-img svg,.rtl-container.blue.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.medium.large .material-icons{font-size:4rem}.rtl-container.blue.medium.large .mat-expansion-panel-header,.rtl-container.blue.medium.large .mat-list .mat-list-item,.rtl-container.blue.medium.large .mat-menu-item,.rtl-container.blue.medium.large .mat-nav-list .mat-list-item,.rtl-container.blue.medium.large .mat-option,.rtl-container.blue.medium.large .mat-select,.rtl-container.blue.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.medium.large .logo{font-size:3.2rem}.rtl-container.blue.medium.large .font-60-percent{font-size:.96rem}.rtl-container.blue.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.medium.large .icon-large{font-size:8rem}.rtl-container.blue.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.medium.large .size-triple{font-size:4.8rem}.rtl-container.blue.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.medium .mat-flat-button.mat-primary:focus,.rtl-container.blue.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.large.small .mat-header-cell{font-weight:700}.rtl-container.blue.large.small .mr-4{margin-right:1rem!important}.rtl-container.blue.large.small .mat-menu-item,.rtl-container.blue.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.large.small .fa-icon-small,.rtl-container.blue.large.small .genseed-message,.rtl-container.blue.large.small .top-icon-small,.rtl-container.blue.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.large.small .page-sub-title-container,.rtl-container.blue.large.small .page-title-container{font-size:1.32rem}.rtl-container.blue.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.large.small .sidenav-img svg,.rtl-container.blue.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.large.small .material-icons,.rtl-container.blue.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.large.small .mat-expansion-panel-header,.rtl-container.blue.large.small .mat-list .mat-list-item,.rtl-container.blue.large.small .mat-menu-item,.rtl-container.blue.large.small .mat-nav-list .mat-list-item,.rtl-container.blue.large.small .mat-option,.rtl-container.blue.large.small .mat-select,.rtl-container.blue.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.large.small .logo{font-size:2.4rem}.rtl-container.blue.large.small .font-60-percent{font-size:.72rem}.rtl-container.blue.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.large.small .icon-large{font-size:6rem}.rtl-container.blue.large.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.large.small .size-triple{font-size:3.6rem}.rtl-container.blue.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large.medium .mat-header-cell{font-weight:700}.rtl-container.blue.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.large.medium .genseed-message,.rtl-container.blue.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.large.medium .page-sub-title-container,.rtl-container.blue.large.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.large.medium .fa-icon-small,.rtl-container.blue.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.large.medium .sidenav-img svg,.rtl-container.blue.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.large.medium .material-icons{font-size:2.8rem}.rtl-container.blue.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.large.medium .mat-expansion-panel-header,.rtl-container.blue.large.medium .mat-list .mat-list-item,.rtl-container.blue.large.medium .mat-menu-item,.rtl-container.blue.large.medium .mat-nav-list .mat-list-item,.rtl-container.blue.large.medium .mat-option,.rtl-container.blue.large.medium .mat-select,.rtl-container.blue.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.large.medium .logo{font-size:2.8rem}.rtl-container.blue.large.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.large.medium .icon-large{font-size:7rem}.rtl-container.blue.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.large.medium .size-triple{font-size:4.2rem}.rtl-container.blue.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large.large .mat-header-cell{font-weight:800}.rtl-container.blue.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.large.large .genseed-message,.rtl-container.blue.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.large.large .page-sub-title-container,.rtl-container.blue.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.large.large .fa-icon-small,.rtl-container.blue.large.large .modal-info-header,.rtl-container.blue.large.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.large.large .sidenav-img svg,.rtl-container.blue.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.large.large .material-icons{font-size:4rem}.rtl-container.blue.large.large .mat-expansion-panel-header,.rtl-container.blue.large.large .mat-list .mat-list-item,.rtl-container.blue.large.large .mat-menu-item,.rtl-container.blue.large.large .mat-nav-list .mat-list-item,.rtl-container.blue.large.large .mat-option,.rtl-container.blue.large.large .mat-select,.rtl-container.blue.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.large.large .logo{font-size:3.2rem}.rtl-container.blue.large.large .font-60-percent{font-size:.96rem}.rtl-container.blue.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.large.large .icon-large{font-size:8rem}.rtl-container.blue.large.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.large.large .size-triple{font-size:4.8rem}.rtl-container.blue.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.large .mat-flat-button.mat-primary:focus,.rtl-container.blue.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.day .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.day .mat-option{color:#000000de}.rtl-container.blue.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.blue.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.blue.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.blue.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.blue.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1976d2}.rtl-container.blue.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.blue.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.blue.day .mat-optgroup-label{color:#0000008a}.rtl-container.blue.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.blue.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.blue.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.blue.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.blue.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#1976d2}.rtl-container.blue.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.blue.day .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.blue.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.blue.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.blue.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.blue.day.mat-app-background,.rtl-container.blue.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.blue.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.blue.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.blue.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.blue.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.blue.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.blue.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.blue.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.blue.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.blue.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.blue.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.blue.day .mat-badge-content{color:#fff;background:#1976d2}.cdk-high-contrast-active .rtl-container.blue.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.blue.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.blue.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.blue.day .mat-badge{position:relative}.rtl-container.blue.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.blue.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.blue.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.blue.day .mat-badge-content._mat-animation-noopable,.rtl-container.blue.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.blue.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.blue.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.blue.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.blue.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.blue.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.blue.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.blue.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.blue.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.blue.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.blue.day .mat-button,.rtl-container.blue.day .mat-icon-button,.rtl-container.blue.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.blue.day .mat-button.mat-primary,.rtl-container.blue.day .mat-icon-button.mat-primary,.rtl-container.blue.day .mat-stroked-button.mat-primary{color:#1976d2}.rtl-container.blue.day .mat-button.mat-accent,.rtl-container.blue.day .mat-icon-button.mat-accent,.rtl-container.blue.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.blue.day .mat-button.mat-warn,.rtl-container.blue.day .mat-icon-button.mat-warn,.rtl-container.blue.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.blue.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.blue.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1976d2}.rtl-container.blue.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.blue.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.blue.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.blue.day .mat-button .mat-ripple-element,.rtl-container.blue.day .mat-icon-button .mat-ripple-element,.rtl-container.blue.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.blue.day .mat-button-focus-overlay{background:#000}.rtl-container.blue.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.blue.day .mat-fab,.rtl-container.blue.day .mat-flat-button,.rtl-container.blue.day .mat-mini-fab,.rtl-container.blue.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.blue.day .mat-fab.mat-accent,.rtl-container.blue.day .mat-fab.mat-primary,.rtl-container.blue.day .mat-fab.mat-warn,.rtl-container.blue.day .mat-flat-button.mat-accent,.rtl-container.blue.day .mat-flat-button.mat-primary,.rtl-container.blue.day .mat-flat-button.mat-warn,.rtl-container.blue.day .mat-mini-fab.mat-accent,.rtl-container.blue.day .mat-mini-fab.mat-primary,.rtl-container.blue.day .mat-mini-fab.mat-warn,.rtl-container.blue.day .mat-raised-button.mat-accent,.rtl-container.blue.day .mat-raised-button.mat-primary,.rtl-container.blue.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.blue.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.blue.day .mat-fab.mat-primary,.rtl-container.blue.day .mat-flat-button.mat-primary,.rtl-container.blue.day .mat-mini-fab.mat-primary,.rtl-container.blue.day .mat-raised-button.mat-primary{background-color:#1976d2}.rtl-container.blue.day .mat-fab.mat-accent,.rtl-container.blue.day .mat-flat-button.mat-accent,.rtl-container.blue.day .mat-mini-fab.mat-accent,.rtl-container.blue.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.blue.day .mat-fab.mat-warn,.rtl-container.blue.day .mat-flat-button.mat-warn,.rtl-container.blue.day .mat-mini-fab.mat-warn,.rtl-container.blue.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.blue.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.blue.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-button-toggle-group,.rtl-container.blue.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard,.rtl-container.blue.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.blue.day .mat-button-toggle{color:#00000061}.rtl-container.blue.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.blue.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.blue.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.blue.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.blue.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.blue.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.blue.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.blue.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.blue.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard,.rtl-container.blue.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.blue.day .mat-card{background:#fff;color:#000000de}.rtl-container.blue.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-card-subtitle{color:#0000008a}.rtl-container.blue.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.blue.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.blue.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.blue.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.blue.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#1976d2}.rtl-container.blue.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.blue.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.blue.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.blue.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.blue.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.blue.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1976d2}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.blue.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.blue.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-table{background:#fff}.rtl-container.blue.day .mat-table-sticky,.rtl-container.blue.day .mat-table tbody,.rtl-container.blue.day .mat-table tfoot,.rtl-container.blue.day .mat-table thead,.rtl-container.blue.day [mat-footer-row],.rtl-container.blue.day [mat-header-row],.rtl-container.blue.day [mat-row],.rtl-container.blue.day mat-footer-row,.rtl-container.blue.day mat-header-row,.rtl-container.blue.day mat-row{background:inherit}.rtl-container.blue.day mat-footer-row,.rtl-container.blue.day mat-header-row,.rtl-container.blue.day mat-row,.rtl-container.blue.day td.mat-cell,.rtl-container.blue.day td.mat-footer-cell,.rtl-container.blue.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.blue.day .mat-header-cell{color:#0000008a}.rtl-container.blue.day .mat-cell,.rtl-container.blue.day .mat-footer-cell{color:#000000de}.rtl-container.blue.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.blue.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.blue.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.blue.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.blue.day .mat-calendar-table-header{color:#00000061}.rtl-container.blue.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.blue.day .mat-calendar-body-label{color:#0000008a}.rtl-container.blue.day .mat-calendar-body-cell-content,.rtl-container.blue.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.blue.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.blue.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.blue.day .mat-calendar-body-in-range:before{background:#1976d233}.rtl-container.blue.day .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-calendar-body-selected{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1976d266}.rtl-container.blue.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1976d24d}.rtl-container.blue.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.blue.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.day .mat-datepicker-toggle-active{color:#1976d2}.rtl-container.blue.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.blue.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.blue.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.blue.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.blue.day .mat-divider{border-top-color:#0000001f}.rtl-container.blue.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.blue.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.blue.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-action-row{border-top-color:#0000001f}.rtl-container.blue.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.blue.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.blue.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.blue.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.blue.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.blue.day .mat-expansion-indicator:after,.rtl-container.blue.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.blue.day .mat-form-field-label,.rtl-container.blue.day .mat-hint{color:#0009}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label{color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.blue.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.blue.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1976d2}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.blue.day .mat-error{color:#b00020}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.blue.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.blue.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.blue.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1976d2}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.blue.day .mat-icon.mat-primary{color:#1976d2}.rtl-container.blue.day .mat-icon.mat-accent{color:#424242}.rtl-container.blue.day .mat-icon.mat-warn{color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.blue.day .mat-input-element:disabled{color:#00000061}.rtl-container.blue.day .mat-input-element{caret-color:#1976d2}.rtl-container.blue.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.blue.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.blue.day .mat-form-field-invalid .mat-input-element,.rtl-container.blue.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.blue.day .mat-list-base .mat-list-item,.rtl-container.blue.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.blue.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.blue.day .mat-list-item-disabled{background-color:#eee}.rtl-container.blue.day .mat-action-list .mat-list-item:focus,.rtl-container.blue.day .mat-action-list .mat-list-item:hover,.rtl-container.blue.day .mat-list-option:focus,.rtl-container.blue.day .mat-list-option:hover,.rtl-container.blue.day .mat-nav-list .mat-list-item:focus,.rtl-container.blue.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.blue.day .mat-list-single-selected-option,.rtl-container.blue.day .mat-list-single-selected-option:focus,.rtl-container.blue.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.blue.day .mat-menu-panel{background:#fff}.rtl-container.blue.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.blue.day .mat-menu-item[disabled],.rtl-container.blue.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.blue.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.blue.day .mat-menu-item-submenu-trigger:after,.rtl-container.blue.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.blue.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.blue.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.blue.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.blue.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.blue.day .mat-paginator{background:#fff}.rtl-container.blue.day .mat-paginator,.rtl-container.blue.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.blue.day .mat-paginator-decrement,.rtl-container.blue.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.blue.day .mat-paginator-first,.rtl-container.blue.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.blue.day .mat-progress-bar-background{fill:#c2d9f0}.rtl-container.blue.day .mat-progress-bar-buffer{background-color:#c2d9f0}.rtl-container.blue.day .mat-progress-bar-fill:after{background-color:#1976d2}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.blue.day .mat-progress-spinner circle,.rtl-container.blue.day .mat-spinner circle{stroke:#1976d2}.rtl-container.blue.day .mat-progress-spinner.mat-accent circle,.rtl-container.blue.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.blue.day .mat-progress-spinner.mat-warn circle,.rtl-container.blue.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.blue.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.blue.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1976d2}.rtl-container.blue.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1976d2}.rtl-container.blue.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.blue.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.blue.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.blue.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.blue.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-select-value{color:#000000de}.rtl-container.blue.day .mat-select-placeholder{color:#0000006b}.rtl-container.blue.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.blue.day .mat-select-arrow{color:#0000008a}.rtl-container.blue.day .mat-select-panel{background:#fff}.rtl-container.blue.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.blue.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.blue.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.blue.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.blue.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.blue.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.blue.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.blue.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.blue.day .mat-drawer-side.mat-drawer-end,.rtl-container.blue.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.blue.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.blue.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1976d2}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1976d28a}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1976d2}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.blue.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.blue.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.blue.day .mat-slider-track-background{background-color:#00000042}.rtl-container.blue.day .mat-primary .mat-slider-thumb,.rtl-container.blue.day .mat-primary .mat-slider-thumb-label,.rtl-container.blue.day .mat-primary .mat-slider-track-fill{background-color:#1976d2}.rtl-container.blue.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-primary .mat-slider-focus-ring{background-color:#1976d233}.rtl-container.blue.day .mat-accent .mat-slider-thumb,.rtl-container.blue.day .mat-accent .mat-slider-thumb-label,.rtl-container.blue.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.blue.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.blue.day .mat-warn .mat-slider-thumb,.rtl-container.blue.day .mat-warn .mat-slider-thumb-label,.rtl-container.blue.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.blue.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.blue.day .cdk-focused .mat-slider-track-background,.rtl-container.blue.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.blue.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.blue.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.blue.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.blue.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.blue.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.blue.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.blue.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.blue.day .mat-step-header.cdk-keyboard-focused,.rtl-container.blue.day .mat-step-header.cdk-program-focused,.rtl-container.blue.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.blue.day .mat-step-header:hover{background:none}}.rtl-container.blue.day .mat-step-header .mat-step-label,.rtl-container.blue.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.blue.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.blue.day .mat-step-header .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header .mat-step-icon-state-edit{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.blue.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.blue.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.blue.day .mat-stepper-horizontal,.rtl-container.blue.day .mat-stepper-vertical{background-color:#fff}.rtl-container.blue.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.blue.day .mat-horizontal-stepper-header:after,.rtl-container.blue.day .mat-horizontal-stepper-header:before,.rtl-container.blue.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.blue.day .mat-sort-header-arrow{color:#757575}.rtl-container.blue.day .mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.blue.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.blue.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.blue.day .mat-tab-label,.rtl-container.blue.day .mat-tab-link{color:#000000de}.rtl-container.blue.day .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.blue.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.blue.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.blue.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1976d2}.rtl-container.blue.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.blue.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.blue.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.blue.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#1976d2}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.blue.day .mat-toolbar.mat-primary{background:#1976d2;color:#fff}.rtl-container.blue.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.blue.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.blue.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.blue.day .mat-toolbar .mat-form-field-ripple,.rtl-container.blue.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.blue.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.blue.day .mat-toolbar .mat-form-field-label,.rtl-container.blue.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.blue.day .mat-toolbar .mat-select-arrow,.rtl-container.blue.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.blue.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.blue.day .mat-tooltip{background:#616161e6}.rtl-container.blue.day .mat-tree{background:#fff}.rtl-container.blue.day .mat-nested-tree-node,.rtl-container.blue.day .mat-tree-node{color:#000000de}.rtl-container.blue.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-simple-snackbar-action{color:#424242}.rtl-container.blue.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.blue.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.blue.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.blue.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.blue.day .bg-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.day .rtl-snack-bar{color:#1976d2}.rtl-container.blue.day .rtl-snack-bar,.rtl-container.blue.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important}.rtl-container.blue.day .rtl-warn-snack-bar{color:#b00020}.rtl-container.blue.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.blue.day .mat-tab-label.mat-tab-label-active{color:#1976d2}.rtl-container.blue.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#1976d2}.rtl-container.blue.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.blue.day .mat-form-field-suffix,.rtl-container.blue.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.blue.day .ng-fa-icon{color:#0000008a}.rtl-container.blue.day .mat-stroked-button.mat-primary{border-color:#1976d2}.rtl-container.blue.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.blue.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.blue.day .selected-color{border-color:#90caf9}.rtl-container.blue.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.blue.day .page-sub-title-container,.rtl-container.blue.day .page-title-container{color:#0000008a}.rtl-container.blue.day .page-sub-title-container .page-title-img,.rtl-container.blue.day .page-title-container .page-title-img{color:#00000061}.rtl-container.blue.day .page-sub-title-container .mat-input-element,.rtl-container.blue.day .page-sub-title-container .mat-radio-label-content,.rtl-container.blue.day .page-sub-title-container .theme-name,.rtl-container.blue.day .page-title-container .mat-input-element,.rtl-container.blue.day .page-title-container .mat-radio-label-content,.rtl-container.blue.day .page-title-container .theme-name{color:#000000de}.rtl-container.blue.day .cc-data-block .cc-data-title{color:#1976d2}.rtl-container.blue.day .active-link,.rtl-container.blue.day .active-link .fa-icon-small{color:#1976d2;font-weight:500;cursor:pointer;fill:#1976d2}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.blue.day .mat-nested-tree-node-parent:hover,.rtl-container.blue.day .mat-select-panel .mat-option:hover,.rtl-container.blue.day .mat-tree-node:hover{color:#1976d2;cursor:pointer;background:#0000000a}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.blue.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.blue.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.blue.day .mat-tree-node:hover .mat-icon,.rtl-container.blue.day .mat-tree-node:hover .ng-fa-icon{color:#1976d2}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.blue.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.blue.day .mat-tree-node:hover .sidenav-img svg{fill:#1976d2}.rtl-container.blue.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.blue.day .mat-nested-tree-node .sidenav-img,.rtl-container.blue.day .mat-tree-node .sidenav-img,.rtl-container.blue.day .page-title-container .page-title-img,.rtl-container.blue.day svg.top-icon-small{fill:#000000de}.rtl-container.blue.day .mat-progress-bar-fill:after{background-color:#0d47a1}.rtl-container.blue.day .modal-qr-code-container{background:#0000001f}.rtl-container.blue.day .mat-tab-label,.rtl-container.blue.day .mat-tab-link{color:#0000008a}.rtl-container.blue.day .mat-card,.rtl-container.blue.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.blue.day .dashboard-info-title{color:#1976d2}.rtl-container.blue.day .dashboard-info-value{color:#0000008a}.rtl-container.blue.day .color-primary{color:#1976d2!important}.rtl-container.blue.day .dot-primary{background-color:#1976d2!important}.rtl-container.blue.day .dot-primary-lighter{background-color:#90caf9!important}.rtl-container.blue.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.blue.day .mat-tooltip{font-size:120%}.rtl-container.blue.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.blue.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.blue.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.blue.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-1{fill:#fff}.rtl-container.blue.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.blue.day svg .fill-color-3,.rtl-container.blue.day svg .fill-color-4,.rtl-container.blue.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.blue.day svg .fill-color-6{fill:#fff}.rtl-container.blue.day svg .fill-color-7,.rtl-container.blue.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-9{fill:#fff}.rtl-container.blue.day svg .fill-color-10,.rtl-container.blue.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.blue.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-13,.rtl-container.blue.day svg .fill-color-14,.rtl-container.blue.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.blue.day svg .fill-color-16,.rtl-container.blue.day svg .fill-color-17{fill:#404040}.rtl-container.blue.day svg .fill-color-18{fill:#000}.rtl-container.blue.day svg .fill-color-19,.rtl-container.blue.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.blue.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-22,.rtl-container.blue.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-24{fill:#000}.rtl-container.blue.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.blue.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.blue.day svg .fill-color-27{fill:#000}.rtl-container.blue.day svg .fill-color-28{fill:#313131}.rtl-container.blue.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-30{fill:#fff}.rtl-container.blue.day svg .fill-color-31{fill:#1976d2}.rtl-container.blue.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.blue.day svg .fill-color-primary{fill:#1976d2}.rtl-container.blue.day svg .fill-color-primary-lighter{fill:#90caf9}.rtl-container.blue.day svg .fill-color-primary-darker{fill:#1976d2}.rtl-container.blue.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.blue.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.blue.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.blue.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.blue.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.blue.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.blue.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#1976d2}.rtl-container.blue.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.blue.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#0d47a1}.rtl-container.blue.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.blue.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#90caf9}.rtl-container.blue.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.blue.day .mat-progress-bar-buffer{background-color:#bbdefb}.rtl-container.blue.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.blue.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.blue.day .foreground.mat-progress-spinner circle,.rtl-container.blue.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.blue.day .mat-toolbar-row,.rtl-container.blue.day .mat-toolbar-single-row{height:5rem}.rtl-container.blue.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.blue.day a{color:#1976d2}.rtl-container.blue.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.blue.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.blue.day .mat-icon-36{color:#0000008a}.rtl-container.blue.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.blue.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.blue.day .genseed-message{width:10%;color:#1976d2}.rtl-container.blue.day .material-icons.primary{color:#1976d2}.rtl-container.blue.day .material-icons.accent{color:#424242}.rtl-container.blue.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.blue.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.blue.day .row-disabled{background-color:gray}.rtl-container.blue.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.blue.day .mat-menu-panel{min-width:6.4rem}.rtl-container.blue.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.blue.day .horizontal-button:hover{background:#90caf9;color:#424242}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#1976d2}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.blue.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.blue.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.blue.day .mat-cell,.rtl-container.blue.day .mat-footer-cell,.rtl-container.blue.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.blue.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.blue.day table.mat-table thead tr th{color:#000}.rtl-container.blue.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.blue.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.blue.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.blue.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.blue.day .more-button{color:#00000061}.rtl-container.blue.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.blue.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.blue.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.blue.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.blue.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.blue.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.blue.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.blue.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.blue.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.blue.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.blue.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.blue.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.blue.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.blue.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.blue.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.blue.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#90caf9!important}.rtl-container.blue.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#1e88e5!important}.rtl-container.blue.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.blue.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.blue.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.blue.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.blue.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.blue.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.blue.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.blue.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.blue.day .color-warn{color:#b00020}.rtl-container.blue.day .fill-warn{fill:#b00020}.rtl-container.blue.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.blue.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.blue.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.blue.day .alert.alert-info a{color:#004085}.rtl-container.blue.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.blue.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.blue.day .alert.alert-warn a{color:#856404}.rtl-container.blue.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.blue.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.blue.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.blue.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.blue.day .help-expansion .mat-expansion-panel-header,.rtl-container.blue.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.blue.day .help-expansion .mat-expansion-indicator:after,.rtl-container.blue.day .help-expansion .mat-expansion-panel-content,.rtl-container.blue.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.blue.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.blue.day .failed-status{color:#b00020}.rtl-container.blue.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.blue.day .svg-fill-primary{fill:#1976d2}.rtl-container.blue.day .svg-fill-primary-lighter{fill:#90caf9}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.blue.day ngx-charts-bar-vertical-2d text,.rtl-container.blue.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.blue.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.blue.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.blue.day .mat-paginator-container{padding:0}.rtl-container.blue.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-option{color:#fff}.rtl-container.blue.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.blue.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.blue.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.blue.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1976d2}.rtl-container.blue.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.blue.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.blue.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.blue.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.blue.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#1976d2}.rtl-container.blue.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.blue.night .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.blue.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.blue.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.blue.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.blue.night.mat-app-background,.rtl-container.blue.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.blue.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.blue.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.blue.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.blue.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.blue.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.blue.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.blue.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.blue.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.blue.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.blue.night .mat-badge-content{color:#fff;background:#1976d2}.cdk-high-contrast-active .rtl-container.blue.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.blue.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.blue.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.blue.night .mat-badge{position:relative}.rtl-container.blue.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.blue.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.blue.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.blue.night .mat-badge-content._mat-animation-noopable,.rtl-container.blue.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.blue.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.blue.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.blue.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.blue.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.blue.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.blue.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.blue.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.blue.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.blue.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.blue.night .mat-button,.rtl-container.blue.night .mat-icon-button,.rtl-container.blue.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.blue.night .mat-button.mat-primary,.rtl-container.blue.night .mat-icon-button.mat-primary,.rtl-container.blue.night .mat-stroked-button.mat-primary{color:#1976d2}.rtl-container.blue.night .mat-button.mat-accent,.rtl-container.blue.night .mat-icon-button.mat-accent,.rtl-container.blue.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.blue.night .mat-button.mat-warn,.rtl-container.blue.night .mat-icon-button.mat-warn,.rtl-container.blue.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.blue.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.blue.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1976d2}.rtl-container.blue.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.blue.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.blue.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.blue.night .mat-button .mat-ripple-element,.rtl-container.blue.night .mat-icon-button .mat-ripple-element,.rtl-container.blue.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.blue.night .mat-button-focus-overlay{background:#fff}.rtl-container.blue.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.blue.night .mat-fab,.rtl-container.blue.night .mat-flat-button,.rtl-container.blue.night .mat-mini-fab,.rtl-container.blue.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.blue.night .mat-fab.mat-primary,.rtl-container.blue.night .mat-flat-button.mat-primary,.rtl-container.blue.night .mat-mini-fab.mat-primary,.rtl-container.blue.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.blue.night .mat-fab.mat-accent,.rtl-container.blue.night .mat-flat-button.mat-accent,.rtl-container.blue.night .mat-mini-fab.mat-accent,.rtl-container.blue.night .mat-raised-button.mat-accent{color:#000}.rtl-container.blue.night .mat-fab.mat-warn,.rtl-container.blue.night .mat-flat-button.mat-warn,.rtl-container.blue.night .mat-mini-fab.mat-warn,.rtl-container.blue.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.blue.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.blue.night .mat-fab.mat-primary,.rtl-container.blue.night .mat-flat-button.mat-primary,.rtl-container.blue.night .mat-mini-fab.mat-primary,.rtl-container.blue.night .mat-raised-button.mat-primary{background-color:#1976d2}.rtl-container.blue.night .mat-fab.mat-accent,.rtl-container.blue.night .mat-flat-button.mat-accent,.rtl-container.blue.night .mat-mini-fab.mat-accent,.rtl-container.blue.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.blue.night .mat-fab.mat-warn,.rtl-container.blue.night .mat-flat-button.mat-warn,.rtl-container.blue.night .mat-mini-fab.mat-warn,.rtl-container.blue.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.blue.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.blue.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-button-toggle-group,.rtl-container.blue.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard,.rtl-container.blue.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.blue.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.blue.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.blue.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.blue.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.blue.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.blue.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.blue.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard,.rtl-container.blue.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.blue.night .mat-card{background:#202020;color:#fff}.rtl-container.blue.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.blue.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.blue.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.blue.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#1976d2}.rtl-container.blue.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.blue.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.blue.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.blue.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.blue.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1976d2}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.blue.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.night .mat-table{background:#202020}.rtl-container.blue.night .mat-table-sticky,.rtl-container.blue.night .mat-table tbody,.rtl-container.blue.night .mat-table tfoot,.rtl-container.blue.night .mat-table thead,.rtl-container.blue.night [mat-footer-row],.rtl-container.blue.night [mat-header-row],.rtl-container.blue.night [mat-row],.rtl-container.blue.night mat-footer-row,.rtl-container.blue.night mat-header-row,.rtl-container.blue.night mat-row{background:inherit}.rtl-container.blue.night mat-footer-row,.rtl-container.blue.night mat-header-row,.rtl-container.blue.night mat-row,.rtl-container.blue.night td.mat-cell,.rtl-container.blue.night td.mat-footer-cell,.rtl-container.blue.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.blue.night .mat-cell,.rtl-container.blue.night .mat-footer-cell{color:#fff}.rtl-container.blue.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.blue.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.blue.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.blue.night .mat-datepicker-toggle{color:#fff}.rtl-container.blue.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.blue.night .mat-calendar-body-cell-content,.rtl-container.blue.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.blue.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.blue.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.blue.night .mat-calendar-body-in-range:before{background:#1976d233}.rtl-container.blue.night .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-calendar-body-selected{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1976d266}.rtl-container.blue.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1976d24d}.rtl-container.blue.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.blue.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.blue.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.night .mat-datepicker-toggle-active{color:#1976d2}.rtl-container.blue.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.blue.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.blue.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.blue.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.blue.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.blue.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.blue.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.blue.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.blue.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.blue.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label{color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.blue.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.blue.night .mat-form-field-ripple{background-color:#fff}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1976d2}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.blue.night .mat-error{color:#ff343b}.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.blue.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.blue.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.blue.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.blue.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.blue.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.blue.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.blue.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1976d2}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.blue.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.blue.night .mat-icon.mat-primary{color:#1976d2}.rtl-container.blue.night .mat-icon.mat-accent{color:#eee}.rtl-container.blue.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.blue.night .mat-input-element{caret-color:#1976d2}.rtl-container.blue.night .mat-input-element option{color:#000000de}.rtl-container.blue.night .mat-input-element option:disabled{color:#00000061}.rtl-container.blue.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.blue.night .mat-form-field-invalid .mat-input-element,.rtl-container.blue.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.blue.night .mat-list-base .mat-list-item,.rtl-container.blue.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.blue.night .mat-list-item-disabled{background-color:#444}.rtl-container.blue.night .mat-action-list .mat-list-item:focus,.rtl-container.blue.night .mat-action-list .mat-list-item:hover,.rtl-container.blue.night .mat-list-option:focus,.rtl-container.blue.night .mat-list-option:hover,.rtl-container.blue.night .mat-nav-list .mat-list-item:focus,.rtl-container.blue.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.blue.night .mat-list-single-selected-option,.rtl-container.blue.night .mat-list-single-selected-option:focus,.rtl-container.blue.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.blue.night .mat-menu-panel{background:#202020}.rtl-container.blue.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.blue.night .mat-menu-item-submenu-trigger:after,.rtl-container.blue.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.blue.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.blue.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.blue.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.blue.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.blue.night .mat-paginator{background:#202020}.rtl-container.blue.night .mat-paginator-decrement,.rtl-container.blue.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.blue.night .mat-paginator-first,.rtl-container.blue.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.blue.night .mat-progress-bar-background{fill:#10273e}.rtl-container.blue.night .mat-progress-bar-buffer{background-color:#10273e}.rtl-container.blue.night .mat-progress-bar-fill:after{background-color:#1976d2}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.blue.night .mat-progress-spinner circle,.rtl-container.blue.night .mat-spinner circle{stroke:#1976d2}.rtl-container.blue.night .mat-progress-spinner.mat-accent circle,.rtl-container.blue.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.blue.night .mat-progress-spinner.mat-warn circle,.rtl-container.blue.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.blue.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1976d2}.rtl-container.blue.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1976d2}.rtl-container.blue.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.blue.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.blue.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.blue.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.blue.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-select-value{color:#fff}.rtl-container.blue.night .mat-select-panel{background:#202020}.rtl-container.blue.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.blue.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.blue.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.blue.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.blue.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.blue.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.blue.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-drawer-side.mat-drawer-end,.rtl-container.blue.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.blue.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1976d2}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1976d28a}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1976d2}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.blue.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.blue.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.blue.night .mat-primary .mat-slider-thumb,.rtl-container.blue.night .mat-primary .mat-slider-thumb-label,.rtl-container.blue.night .mat-primary .mat-slider-track-fill{background-color:#1976d2}.rtl-container.blue.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.night .mat-primary .mat-slider-focus-ring{background-color:#1976d233}.rtl-container.blue.night .mat-accent .mat-slider-thumb,.rtl-container.blue.night .mat-accent .mat-slider-thumb-label,.rtl-container.blue.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.blue.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.blue.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.blue.night .mat-warn .mat-slider-thumb,.rtl-container.blue.night .mat-warn .mat-slider-thumb-label,.rtl-container.blue.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.blue.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.blue.night .cdk-focused .mat-slider-track-background,.rtl-container.blue.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.blue.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.blue.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.blue.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.blue.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.blue.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.blue.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.blue.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.blue.night .mat-step-header.cdk-keyboard-focused,.rtl-container.blue.night .mat-step-header.cdk-program-focused,.rtl-container.blue.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.blue.night .mat-step-header:hover{background:none}}.rtl-container.blue.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header .mat-step-icon-state-edit{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.blue.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.blue.night .mat-stepper-horizontal,.rtl-container.blue.night .mat-stepper-vertical{background-color:#202020}.rtl-container.blue.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.blue.night .mat-horizontal-stepper-header:after,.rtl-container.blue.night .mat-horizontal-stepper-header:before,.rtl-container.blue.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.blue.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.blue.night .mat-tab-label,.rtl-container.blue.night .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.blue.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1976d2}.rtl-container.blue.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.blue.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.blue.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.blue.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#1976d2}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.blue.night .mat-toolbar.mat-primary{background:#1976d2;color:#fff}.rtl-container.blue.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.blue.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.blue.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.blue.night .mat-toolbar .mat-form-field-ripple,.rtl-container.blue.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.blue.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.blue.night .mat-toolbar .mat-form-field-label,.rtl-container.blue.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.blue.night .mat-toolbar .mat-select-arrow,.rtl-container.blue.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.blue.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.blue.night .mat-tree{background:#202020}.rtl-container.blue.night .mat-nested-tree-node,.rtl-container.blue.night .mat-tree-node{color:#fff}.rtl-container.blue.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-simple-snackbar-action{color:inherit}.rtl-container.blue.night .mat-primary{color:#448aff}.rtl-container.blue.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.blue.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.blue.night .bg-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-tab-label.mat-tab-label-active{color:#448aff}.rtl-container.blue.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#448aff}.rtl-container.blue.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.blue.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.blue.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.blue.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#448aff}.rtl-container.blue.night .cc-data-block .cc-data-title{color:#448aff}.rtl-container.blue.night .mat-stroked-button.mat-primary{border-color:#448aff;color:#448aff}.rtl-container.blue.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.blue.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.blue.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.blue.night .active-link,.rtl-container.blue.night .active-link .fa-icon-small,.rtl-container.blue.night .mat-select-panel .mat-option.mat-active,.rtl-container.blue.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#448aff;font-weight:500;cursor:pointer;fill:#448aff}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.blue.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#448aff}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.blue.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.blue.night .mat-nested-tree-node-parent:hover,.rtl-container.blue.night .mat-select-panel .mat-option:hover,.rtl-container.blue.night .mat-tree-node:hover{color:#448aff;cursor:pointer;background:#ffffff0f}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.blue.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.blue.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.blue.night .mat-tree-node:hover .mat-icon,.rtl-container.blue.night .mat-tree-node:hover .ng-fa-icon{color:#448aff}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.blue.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.blue.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.blue.night .mat-tree-node:hover .sidenav-img svg{fill:#448aff}.rtl-container.blue.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.blue.night .mat-nested-tree-node .sidenav-img,.rtl-container.blue.night .mat-tree-node .sidenav-img,.rtl-container.blue.night .page-title-container .page-title-img,.rtl-container.blue.night svg.top-icon-small{fill:#fff}.rtl-container.blue.night .selected-color{border-color:#90caf9}.rtl-container.blue.night .mat-progress-bar-fill:after{background-color:#1e88e5}.rtl-container.blue.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.blue.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.blue.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.blue.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#448aff}.rtl-container.blue.night .mat-select-panel{background-color:#262626}.rtl-container.blue.night .mat-tree{background:#262626}.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.blue.night .dashboard-info-title{color:#448aff}.rtl-container.blue.night .dashboard-capacity-header,.rtl-container.blue.night .dashboard-info-value{color:#fff}.rtl-container.blue.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.blue.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.blue.night .color-primary{color:#448aff!important}.rtl-container.blue.night .dot-primary{background-color:#448aff!important}.rtl-container.blue.night .dot-primary-lighter{background-color:#1976d2!important}.rtl-container.blue.night .mat-stepper-vertical{background-color:#262626}.rtl-container.blue.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.blue.night svg .boltz-icon-fill{fill:#fff}.rtl-container.blue.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .fill-color-0,.rtl-container.blue.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.blue.night svg .fill-color-1{fill:#232323}.rtl-container.blue.night svg .fill-color-2{fill:#222}.rtl-container.blue.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.blue.night svg .fill-color-4{fill:#383838}.rtl-container.blue.night svg .fill-color-5{fill:#555}.rtl-container.blue.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.blue.night svg .fill-color-7{fill:#202020}.rtl-container.blue.night svg .fill-color-8{fill:#242424}.rtl-container.blue.night svg .fill-color-9{fill:#262626}.rtl-container.blue.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.blue.night svg .fill-color-11{fill:#171717}.rtl-container.blue.night svg .fill-color-12{fill:#ccc}.rtl-container.blue.night svg .fill-color-13{fill:#adadad}.rtl-container.blue.night svg .fill-color-14{fill:#ababab}.rtl-container.blue.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.blue.night svg .fill-color-16{fill:#707070}.rtl-container.blue.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.blue.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.blue.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.blue.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.blue.night svg .fill-color-21{fill:#cacaca}.rtl-container.blue.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.blue.night svg .fill-color-23{fill:#777}.rtl-container.blue.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.blue.night svg .fill-color-25{fill:#252525}.rtl-container.blue.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.blue.night svg .fill-color-27{fill:#000}.rtl-container.blue.night svg .fill-color-28{fill:#313131}.rtl-container.blue.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.blue.night svg .fill-color-30{fill:#fff}.rtl-container.blue.night svg .fill-color-31{fill:#1976d2}.rtl-container.blue.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.blue.night svg .fill-color-primary{fill:#1976d2}.rtl-container.blue.night svg .fill-color-primary-lighter{fill:#90caf9}.rtl-container.blue.night svg .fill-color-primary-darker{fill:#448aff}.rtl-container.blue.night .mat-select-arrow,.rtl-container.blue.night .mat-select-value{color:#fff}.rtl-container.blue.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.blue.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.blue.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.blue.night .mat-slide-toggle-bar,.rtl-container.blue.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.blue.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.blue.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.blue.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.blue.night .mat-button.mat-primary,.rtl-container.blue.night .mat-icon-button.mat-primary,.rtl-container.blue.night .mat-stroked-button.mat-primary{color:#448aff}.rtl-container.blue.night tr.alert.alert-warn .mat-cell,.rtl-container.blue.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.blue.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.blue.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.blue.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#448aff}.rtl-container.blue.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.blue.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#1565c0}.rtl-container.blue.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.blue.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#448aff}.rtl-container.blue.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.blue.night .mat-progress-bar-buffer{background-color:#bbdefb}.rtl-container.blue.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.blue.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.blue.night .foreground.mat-progress-spinner circle,.rtl-container.blue.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.blue.night .mat-toolbar-row,.rtl-container.blue.night .mat-toolbar-single-row{height:5rem}.rtl-container.blue.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night a{color:#1976d2}.rtl-container.blue.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.blue.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.blue.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.blue.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.blue.night .genseed-message{width:10%;color:#1976d2}.rtl-container.blue.night .material-icons.primary{color:#1976d2}.rtl-container.blue.night .material-icons.accent{color:#eee}.rtl-container.blue.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.blue.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.blue.night .row-disabled{background-color:gray}.rtl-container.blue.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.blue.night .mat-menu-panel{min-width:6.4rem}.rtl-container.blue.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.blue.night .horizontal-button:hover{background:#90caf9;color:#eee}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#1976d2}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.blue.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.blue.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.blue.night .mat-cell,.rtl-container.blue.night .mat-footer-cell,.rtl-container.blue.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.blue.night table.mat-table thead tr th{color:#fff}.rtl-container.blue.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.blue.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.blue.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.blue.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.blue.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.blue.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.blue.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.blue.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.blue.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.blue.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.blue.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.blue.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.blue.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.blue.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.blue.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.blue.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.blue.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.blue.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.blue.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.blue.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#90caf9!important}.rtl-container.blue.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#1e88e5!important}.rtl-container.blue.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.blue.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.blue.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.blue.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.blue.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.blue.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.blue.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.blue.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.blue.night .color-warn{color:#ff343b}.rtl-container.blue.night .fill-warn{fill:#ff343b}.rtl-container.blue.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.blue.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.blue.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.blue.night .alert.alert-info a{color:#004085}.rtl-container.blue.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.blue.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.blue.night .alert.alert-warn a{color:#856404}.rtl-container.blue.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.blue.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.blue.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.blue.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.blue.night .help-expansion .mat-expansion-panel-header,.rtl-container.blue.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.blue.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.blue.night .failed-status{color:#ff343b}.rtl-container.blue.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.blue.night .svg-fill-primary{fill:#1976d2}.rtl-container.blue.night .svg-fill-primary-lighter{fill:#90caf9}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.blue.night ngx-charts-bar-vertical-2d text,.rtl-container.blue.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.blue.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.blue.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.blue.night .mat-paginator-container{padding:0}.rtl-container.indigo.small.small .mat-header-cell{font-weight:700}.rtl-container.indigo.small.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.small.small .mat-menu-item,.rtl-container.indigo.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.small.small .fa-icon-small,.rtl-container.indigo.small.small .genseed-message,.rtl-container.indigo.small.small .top-icon-small,.rtl-container.indigo.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.small.small .page-sub-title-container,.rtl-container.indigo.small.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.small.small .sidenav-img svg,.rtl-container.indigo.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.small.small .material-icons,.rtl-container.indigo.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.small.small .mat-expansion-panel-header,.rtl-container.indigo.small.small .mat-list .mat-list-item,.rtl-container.indigo.small.small .mat-menu-item,.rtl-container.indigo.small.small .mat-nav-list .mat-list-item,.rtl-container.indigo.small.small .mat-option,.rtl-container.indigo.small.small .mat-select,.rtl-container.indigo.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.small.small .logo{font-size:2.4rem}.rtl-container.indigo.small.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.small.small .icon-large{font-size:6rem}.rtl-container.indigo.small.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.small.small .size-triple{font-size:3.6rem}.rtl-container.indigo.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.small.medium .genseed-message,.rtl-container.indigo.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.small.medium .page-sub-title-container,.rtl-container.indigo.small.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.small.medium .fa-icon-small,.rtl-container.indigo.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.small.medium .sidenav-img svg,.rtl-container.indigo.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.small.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.small.medium .mat-expansion-panel-header,.rtl-container.indigo.small.medium .mat-list .mat-list-item,.rtl-container.indigo.small.medium .mat-menu-item,.rtl-container.indigo.small.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.small.medium .mat-option,.rtl-container.indigo.small.medium .mat-select,.rtl-container.indigo.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.small.medium .logo{font-size:2.8rem}.rtl-container.indigo.small.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.small.medium .icon-large{font-size:7rem}.rtl-container.indigo.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.small.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small.large .mat-header-cell{font-weight:800}.rtl-container.indigo.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.small.large .genseed-message,.rtl-container.indigo.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.small.large .page-sub-title-container,.rtl-container.indigo.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.small.large .fa-icon-small,.rtl-container.indigo.small.large .modal-info-header,.rtl-container.indigo.small.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.small.large .sidenav-img svg,.rtl-container.indigo.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.small.large .material-icons{font-size:4rem}.rtl-container.indigo.small.large .mat-expansion-panel-header,.rtl-container.indigo.small.large .mat-list .mat-list-item,.rtl-container.indigo.small.large .mat-menu-item,.rtl-container.indigo.small.large .mat-nav-list .mat-list-item,.rtl-container.indigo.small.large .mat-option,.rtl-container.indigo.small.large .mat-select,.rtl-container.indigo.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.small.large .logo{font-size:3.2rem}.rtl-container.indigo.small.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.small.large .icon-large{font-size:8rem}.rtl-container.indigo.small.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.small.large .size-triple{font-size:4.8rem}.rtl-container.indigo.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.small .mat-flat-button.mat-primary:focus,.rtl-container.indigo.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.medium.small .mat-header-cell{font-weight:700}.rtl-container.indigo.medium.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.medium.small .mat-menu-item,.rtl-container.indigo.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.medium.small .fa-icon-small,.rtl-container.indigo.medium.small .genseed-message,.rtl-container.indigo.medium.small .top-icon-small,.rtl-container.indigo.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.medium.small .page-sub-title-container,.rtl-container.indigo.medium.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.medium.small .sidenav-img svg,.rtl-container.indigo.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.medium.small .material-icons,.rtl-container.indigo.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.medium.small .mat-expansion-panel-header,.rtl-container.indigo.medium.small .mat-list .mat-list-item,.rtl-container.indigo.medium.small .mat-menu-item,.rtl-container.indigo.medium.small .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.small .mat-option,.rtl-container.indigo.medium.small .mat-select,.rtl-container.indigo.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.medium.small .logo{font-size:2.4rem}.rtl-container.indigo.medium.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.medium.small .icon-large{font-size:6rem}.rtl-container.indigo.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.medium.small .size-triple{font-size:3.6rem}.rtl-container.indigo.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.medium.medium .genseed-message,.rtl-container.indigo.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.medium.medium .page-sub-title-container,.rtl-container.indigo.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.medium.medium .fa-icon-small,.rtl-container.indigo.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.medium.medium .sidenav-img svg,.rtl-container.indigo.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.medium.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.medium.medium .mat-expansion-panel-header,.rtl-container.indigo.medium.medium .mat-list .mat-list-item,.rtl-container.indigo.medium.medium .mat-menu-item,.rtl-container.indigo.medium.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.medium .mat-option,.rtl-container.indigo.medium.medium .mat-select,.rtl-container.indigo.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.medium.medium .logo{font-size:2.8rem}.rtl-container.indigo.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.medium.medium .icon-large{font-size:7rem}.rtl-container.indigo.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.medium.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium.large .mat-header-cell{font-weight:800}.rtl-container.indigo.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.medium.large .genseed-message,.rtl-container.indigo.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.medium.large .page-sub-title-container,.rtl-container.indigo.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.medium.large .fa-icon-small,.rtl-container.indigo.medium.large .modal-info-header,.rtl-container.indigo.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.medium.large .sidenav-img svg,.rtl-container.indigo.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.medium.large .material-icons{font-size:4rem}.rtl-container.indigo.medium.large .mat-expansion-panel-header,.rtl-container.indigo.medium.large .mat-list .mat-list-item,.rtl-container.indigo.medium.large .mat-menu-item,.rtl-container.indigo.medium.large .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.large .mat-option,.rtl-container.indigo.medium.large .mat-select,.rtl-container.indigo.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.medium.large .logo{font-size:3.2rem}.rtl-container.indigo.medium.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.medium.large .icon-large{font-size:8rem}.rtl-container.indigo.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.medium.large .size-triple{font-size:4.8rem}.rtl-container.indigo.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.medium .mat-flat-button.mat-primary:focus,.rtl-container.indigo.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.large.small .mat-header-cell{font-weight:700}.rtl-container.indigo.large.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.large.small .mat-menu-item,.rtl-container.indigo.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.large.small .fa-icon-small,.rtl-container.indigo.large.small .genseed-message,.rtl-container.indigo.large.small .top-icon-small,.rtl-container.indigo.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.large.small .page-sub-title-container,.rtl-container.indigo.large.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.large.small .sidenav-img svg,.rtl-container.indigo.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.large.small .material-icons,.rtl-container.indigo.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.large.small .mat-expansion-panel-header,.rtl-container.indigo.large.small .mat-list .mat-list-item,.rtl-container.indigo.large.small .mat-menu-item,.rtl-container.indigo.large.small .mat-nav-list .mat-list-item,.rtl-container.indigo.large.small .mat-option,.rtl-container.indigo.large.small .mat-select,.rtl-container.indigo.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.large.small .logo{font-size:2.4rem}.rtl-container.indigo.large.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.large.small .icon-large{font-size:6rem}.rtl-container.indigo.large.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.large.small .size-triple{font-size:3.6rem}.rtl-container.indigo.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.large.medium .genseed-message,.rtl-container.indigo.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.large.medium .page-sub-title-container,.rtl-container.indigo.large.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.large.medium .fa-icon-small,.rtl-container.indigo.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.large.medium .sidenav-img svg,.rtl-container.indigo.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.large.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.large.medium .mat-expansion-panel-header,.rtl-container.indigo.large.medium .mat-list .mat-list-item,.rtl-container.indigo.large.medium .mat-menu-item,.rtl-container.indigo.large.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.large.medium .mat-option,.rtl-container.indigo.large.medium .mat-select,.rtl-container.indigo.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.large.medium .logo{font-size:2.8rem}.rtl-container.indigo.large.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.large.medium .icon-large{font-size:7rem}.rtl-container.indigo.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.large.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large.large .mat-header-cell{font-weight:800}.rtl-container.indigo.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.large.large .genseed-message,.rtl-container.indigo.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.large.large .page-sub-title-container,.rtl-container.indigo.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.large.large .fa-icon-small,.rtl-container.indigo.large.large .modal-info-header,.rtl-container.indigo.large.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.large.large .sidenav-img svg,.rtl-container.indigo.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.large.large .material-icons{font-size:4rem}.rtl-container.indigo.large.large .mat-expansion-panel-header,.rtl-container.indigo.large.large .mat-list .mat-list-item,.rtl-container.indigo.large.large .mat-menu-item,.rtl-container.indigo.large.large .mat-nav-list .mat-list-item,.rtl-container.indigo.large.large .mat-option,.rtl-container.indigo.large.large .mat-select,.rtl-container.indigo.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.large.large .logo{font-size:3.2rem}.rtl-container.indigo.large.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.large.large .icon-large{font-size:8rem}.rtl-container.indigo.large.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.large.large .size-triple{font-size:4.8rem}.rtl-container.indigo.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.large .mat-flat-button.mat-primary:focus,.rtl-container.indigo.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.day .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.day .mat-option{color:#000000de}.rtl-container.indigo.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.indigo.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.indigo.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.indigo.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.indigo.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.rtl-container.indigo.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.indigo.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.indigo.day .mat-optgroup-label{color:#0000008a}.rtl-container.indigo.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.indigo.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.indigo.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.indigo.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.indigo.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.rtl-container.indigo.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.indigo.day .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.indigo.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.indigo.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.indigo.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.indigo.day.mat-app-background,.rtl-container.indigo.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.indigo.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.indigo.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.indigo.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.indigo.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.indigo.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.indigo.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.indigo.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.indigo.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.indigo.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.indigo.day .mat-badge-content{color:#fff;background:#3f51b5}.cdk-high-contrast-active .rtl-container.indigo.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.indigo.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.indigo.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.indigo.day .mat-badge{position:relative}.rtl-container.indigo.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.indigo.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.indigo.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.indigo.day .mat-badge-content._mat-animation-noopable,.rtl-container.indigo.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.indigo.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.indigo.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.indigo.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.indigo.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.indigo.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.indigo.day .mat-button,.rtl-container.indigo.day .mat-icon-button,.rtl-container.indigo.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.indigo.day .mat-button.mat-primary,.rtl-container.indigo.day .mat-icon-button.mat-primary,.rtl-container.indigo.day .mat-stroked-button.mat-primary{color:#3f51b5}.rtl-container.indigo.day .mat-button.mat-accent,.rtl-container.indigo.day .mat-icon-button.mat-accent,.rtl-container.indigo.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.indigo.day .mat-button.mat-warn,.rtl-container.indigo.day .mat-icon-button.mat-warn,.rtl-container.indigo.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.indigo.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.rtl-container.indigo.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.indigo.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.indigo.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.indigo.day .mat-button .mat-ripple-element,.rtl-container.indigo.day .mat-icon-button .mat-ripple-element,.rtl-container.indigo.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.indigo.day .mat-button-focus-overlay{background:#000}.rtl-container.indigo.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.indigo.day .mat-fab,.rtl-container.indigo.day .mat-flat-button,.rtl-container.indigo.day .mat-mini-fab,.rtl-container.indigo.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.indigo.day .mat-fab.mat-accent,.rtl-container.indigo.day .mat-fab.mat-primary,.rtl-container.indigo.day .mat-fab.mat-warn,.rtl-container.indigo.day .mat-flat-button.mat-accent,.rtl-container.indigo.day .mat-flat-button.mat-primary,.rtl-container.indigo.day .mat-flat-button.mat-warn,.rtl-container.indigo.day .mat-mini-fab.mat-accent,.rtl-container.indigo.day .mat-mini-fab.mat-primary,.rtl-container.indigo.day .mat-mini-fab.mat-warn,.rtl-container.indigo.day .mat-raised-button.mat-accent,.rtl-container.indigo.day .mat-raised-button.mat-primary,.rtl-container.indigo.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.indigo.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.indigo.day .mat-fab.mat-primary,.rtl-container.indigo.day .mat-flat-button.mat-primary,.rtl-container.indigo.day .mat-mini-fab.mat-primary,.rtl-container.indigo.day .mat-raised-button.mat-primary{background-color:#3f51b5}.rtl-container.indigo.day .mat-fab.mat-accent,.rtl-container.indigo.day .mat-flat-button.mat-accent,.rtl-container.indigo.day .mat-mini-fab.mat-accent,.rtl-container.indigo.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.indigo.day .mat-fab.mat-warn,.rtl-container.indigo.day .mat-flat-button.mat-warn,.rtl-container.indigo.day .mat-mini-fab.mat-warn,.rtl-container.indigo.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.indigo.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.indigo.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-button-toggle-group,.rtl-container.indigo.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.indigo.day .mat-button-toggle{color:#00000061}.rtl-container.indigo.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.indigo.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.indigo.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.indigo.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.indigo.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.indigo.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.indigo.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.indigo.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.indigo.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.indigo.day .mat-card{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-card-subtitle{color:#0000008a}.rtl-container.indigo.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.indigo.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.indigo.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.indigo.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.indigo.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.rtl-container.indigo.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.indigo.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.indigo.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.indigo.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.indigo.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.indigo.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.indigo.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.indigo.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-table{background:#fff}.rtl-container.indigo.day .mat-table-sticky,.rtl-container.indigo.day .mat-table tbody,.rtl-container.indigo.day .mat-table tfoot,.rtl-container.indigo.day .mat-table thead,.rtl-container.indigo.day [mat-footer-row],.rtl-container.indigo.day [mat-header-row],.rtl-container.indigo.day [mat-row],.rtl-container.indigo.day mat-footer-row,.rtl-container.indigo.day mat-header-row,.rtl-container.indigo.day mat-row{background:inherit}.rtl-container.indigo.day mat-footer-row,.rtl-container.indigo.day mat-header-row,.rtl-container.indigo.day mat-row,.rtl-container.indigo.day td.mat-cell,.rtl-container.indigo.day td.mat-footer-cell,.rtl-container.indigo.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.indigo.day .mat-header-cell{color:#0000008a}.rtl-container.indigo.day .mat-cell,.rtl-container.indigo.day .mat-footer-cell{color:#000000de}.rtl-container.indigo.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.indigo.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.indigo.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.indigo.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.indigo.day .mat-calendar-table-header{color:#00000061}.rtl-container.indigo.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.indigo.day .mat-calendar-body-label{color:#0000008a}.rtl-container.indigo.day .mat-calendar-body-cell-content,.rtl-container.indigo.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.indigo.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.indigo.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.indigo.day .mat-calendar-body-in-range:before{background:#3f51b533}.rtl-container.indigo.day .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#3f51b566}.rtl-container.indigo.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#3f51b54d}.rtl-container.indigo.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.indigo.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.day .mat-datepicker-toggle-active{color:#3f51b5}.rtl-container.indigo.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.indigo.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.indigo.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.indigo.day .mat-divider{border-top-color:#0000001f}.rtl-container.indigo.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.indigo.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-action-row{border-top-color:#0000001f}.rtl-container.indigo.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.indigo.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.indigo.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.indigo.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.indigo.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.indigo.day .mat-expansion-indicator:after,.rtl-container.indigo.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.indigo.day .mat-form-field-label,.rtl-container.indigo.day .mat-hint{color:#0009}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.indigo.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#3f51b5}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.indigo.day .mat-error{color:#b00020}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.indigo.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.indigo.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.indigo.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.indigo.day .mat-icon.mat-primary{color:#3f51b5}.rtl-container.indigo.day .mat-icon.mat-accent{color:#424242}.rtl-container.indigo.day .mat-icon.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.indigo.day .mat-input-element:disabled{color:#00000061}.rtl-container.indigo.day .mat-input-element{caret-color:#3f51b5}.rtl-container.indigo.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.indigo.day .mat-form-field-invalid .mat-input-element,.rtl-container.indigo.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.indigo.day .mat-list-base .mat-list-item,.rtl-container.indigo.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.indigo.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.indigo.day .mat-list-item-disabled{background-color:#eee}.rtl-container.indigo.day .mat-action-list .mat-list-item:focus,.rtl-container.indigo.day .mat-action-list .mat-list-item:hover,.rtl-container.indigo.day .mat-list-option:focus,.rtl-container.indigo.day .mat-list-option:hover,.rtl-container.indigo.day .mat-nav-list .mat-list-item:focus,.rtl-container.indigo.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.indigo.day .mat-list-single-selected-option,.rtl-container.indigo.day .mat-list-single-selected-option:focus,.rtl-container.indigo.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.indigo.day .mat-menu-panel{background:#fff}.rtl-container.indigo.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.indigo.day .mat-menu-item[disabled],.rtl-container.indigo.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.indigo.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.indigo.day .mat-menu-item-submenu-trigger:after,.rtl-container.indigo.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.indigo.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.indigo.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.indigo.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.indigo.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.indigo.day .mat-paginator{background:#fff}.rtl-container.indigo.day .mat-paginator,.rtl-container.indigo.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.indigo.day .mat-paginator-decrement,.rtl-container.indigo.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.indigo.day .mat-paginator-first,.rtl-container.indigo.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.indigo.day .mat-progress-bar-background{fill:#cbd0e9}.rtl-container.indigo.day .mat-progress-bar-buffer{background-color:#cbd0e9}.rtl-container.indigo.day .mat-progress-bar-fill:after{background-color:#3f51b5}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.indigo.day .mat-progress-spinner circle,.rtl-container.indigo.day .mat-spinner circle{stroke:#3f51b5}.rtl-container.indigo.day .mat-progress-spinner.mat-accent circle,.rtl-container.indigo.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.indigo.day .mat-progress-spinner.mat-warn circle,.rtl-container.indigo.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.indigo.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.indigo.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.rtl-container.indigo.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.rtl-container.indigo.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.indigo.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.indigo.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.indigo.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.indigo.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-select-value{color:#000000de}.rtl-container.indigo.day .mat-select-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.indigo.day .mat-select-arrow{color:#0000008a}.rtl-container.indigo.day .mat-select-panel{background:#fff}.rtl-container.indigo.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.indigo.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.indigo.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.indigo.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.indigo.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.indigo.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.indigo.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-drawer-side.mat-drawer-end,.rtl-container.indigo.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.indigo.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#3f51b58a}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.indigo.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.indigo.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.indigo.day .mat-slider-track-background{background-color:#00000042}.rtl-container.indigo.day .mat-primary .mat-slider-thumb,.rtl-container.indigo.day .mat-primary .mat-slider-thumb-label,.rtl-container.indigo.day .mat-primary .mat-slider-track-fill{background-color:#3f51b5}.rtl-container.indigo.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-primary .mat-slider-focus-ring{background-color:#3f51b533}.rtl-container.indigo.day .mat-accent .mat-slider-thumb,.rtl-container.indigo.day .mat-accent .mat-slider-thumb-label,.rtl-container.indigo.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.indigo.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.indigo.day .mat-warn .mat-slider-thumb,.rtl-container.indigo.day .mat-warn .mat-slider-thumb-label,.rtl-container.indigo.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.indigo.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.indigo.day .cdk-focused .mat-slider-track-background,.rtl-container.indigo.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.indigo.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.indigo.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.indigo.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.indigo.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.indigo.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.indigo.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.indigo.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.indigo.day .mat-step-header.cdk-keyboard-focused,.rtl-container.indigo.day .mat-step-header.cdk-program-focused,.rtl-container.indigo.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.indigo.day .mat-step-header:hover{background:none}}.rtl-container.indigo.day .mat-step-header .mat-step-label,.rtl-container.indigo.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.indigo.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.indigo.day .mat-step-header .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.indigo.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.indigo.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.indigo.day .mat-stepper-horizontal,.rtl-container.indigo.day .mat-stepper-vertical{background-color:#fff}.rtl-container.indigo.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.indigo.day .mat-horizontal-stepper-header:after,.rtl-container.indigo.day .mat-horizontal-stepper-header:before,.rtl-container.indigo.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.indigo.day .mat-sort-header-arrow{color:#757575}.rtl-container.indigo.day .mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.indigo.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.indigo.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.indigo.day .mat-tab-label,.rtl-container.indigo.day .mat-tab-link{color:#000000de}.rtl-container.indigo.day .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.indigo.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.indigo.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.indigo.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.rtl-container.indigo.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.indigo.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.indigo.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#3f51b5}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.indigo.day .mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.indigo.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.indigo.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.indigo.day .mat-toolbar .mat-form-field-ripple,.rtl-container.indigo.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.indigo.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.indigo.day .mat-toolbar .mat-form-field-label,.rtl-container.indigo.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.indigo.day .mat-toolbar .mat-select-arrow,.rtl-container.indigo.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.indigo.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.indigo.day .mat-tooltip{background:#616161e6}.rtl-container.indigo.day .mat-tree{background:#fff}.rtl-container.indigo.day .mat-nested-tree-node,.rtl-container.indigo.day .mat-tree-node{color:#000000de}.rtl-container.indigo.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-simple-snackbar-action{color:#424242}.rtl-container.indigo.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.indigo.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.indigo.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.indigo.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.indigo.day .bg-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .rtl-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#3f51b5}.rtl-container.indigo.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#b00020}.rtl-container.indigo.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.indigo.day .mat-tab-label.mat-tab-label-active{color:#3f51b5}.rtl-container.indigo.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#3f51b5}.rtl-container.indigo.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.indigo.day .mat-form-field-suffix,.rtl-container.indigo.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.indigo.day .ng-fa-icon{color:#0000008a}.rtl-container.indigo.day .mat-stroked-button.mat-primary{border-color:#3f51b5}.rtl-container.indigo.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.indigo.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.indigo.day .selected-color{border-color:#9fa8da}.rtl-container.indigo.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.indigo.day .page-sub-title-container,.rtl-container.indigo.day .page-title-container{color:#0000008a}.rtl-container.indigo.day .page-sub-title-container .page-title-img,.rtl-container.indigo.day .page-title-container .page-title-img{color:#00000061}.rtl-container.indigo.day .page-sub-title-container .mat-input-element,.rtl-container.indigo.day .page-sub-title-container .mat-radio-label-content,.rtl-container.indigo.day .page-sub-title-container .theme-name,.rtl-container.indigo.day .page-title-container .mat-input-element,.rtl-container.indigo.day .page-title-container .mat-radio-label-content,.rtl-container.indigo.day .page-title-container .theme-name{color:#000000de}.rtl-container.indigo.day .cc-data-block .cc-data-title{color:#3f51b5}.rtl-container.indigo.day .active-link,.rtl-container.indigo.day .active-link .fa-icon-small{color:#3f51b5;font-weight:500;cursor:pointer;fill:#3f51b5}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover,.rtl-container.indigo.day .mat-select-panel .mat-option:hover,.rtl-container.indigo.day .mat-tree-node:hover{color:#3f51b5;cursor:pointer;background:#0000000a}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.indigo.day .mat-tree-node:hover .mat-icon,.rtl-container.indigo.day .mat-tree-node:hover .ng-fa-icon{color:#3f51b5}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.indigo.day .mat-tree-node:hover .sidenav-img svg{fill:#3f51b5}.rtl-container.indigo.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.indigo.day .mat-nested-tree-node .sidenav-img,.rtl-container.indigo.day .mat-tree-node .sidenav-img,.rtl-container.indigo.day .page-title-container .page-title-img,.rtl-container.indigo.day svg.top-icon-small{fill:#000000de}.rtl-container.indigo.day .mat-progress-bar-fill:after{background-color:#1a237e}.rtl-container.indigo.day .modal-qr-code-container{background:#0000001f}.rtl-container.indigo.day .mat-tab-label,.rtl-container.indigo.day .mat-tab-link{color:#0000008a}.rtl-container.indigo.day .mat-card,.rtl-container.indigo.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.indigo.day .dashboard-info-title{color:#3f51b5}.rtl-container.indigo.day .dashboard-info-value{color:#0000008a}.rtl-container.indigo.day .color-primary{color:#3f51b5!important}.rtl-container.indigo.day .dot-primary{background-color:#3f51b5!important}.rtl-container.indigo.day .dot-primary-lighter{background-color:#9fa8da!important}.rtl-container.indigo.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.indigo.day .mat-tooltip{font-size:120%}.rtl-container.indigo.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.indigo.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.indigo.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.indigo.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-1{fill:#fff}.rtl-container.indigo.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.indigo.day svg .fill-color-3,.rtl-container.indigo.day svg .fill-color-4,.rtl-container.indigo.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.indigo.day svg .fill-color-6{fill:#fff}.rtl-container.indigo.day svg .fill-color-7,.rtl-container.indigo.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-9{fill:#fff}.rtl-container.indigo.day svg .fill-color-10,.rtl-container.indigo.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.indigo.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-13,.rtl-container.indigo.day svg .fill-color-14,.rtl-container.indigo.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.indigo.day svg .fill-color-16,.rtl-container.indigo.day svg .fill-color-17{fill:#404040}.rtl-container.indigo.day svg .fill-color-18{fill:#000}.rtl-container.indigo.day svg .fill-color-19,.rtl-container.indigo.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.indigo.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-22,.rtl-container.indigo.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-24{fill:#000}.rtl-container.indigo.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.indigo.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.indigo.day svg .fill-color-27{fill:#000}.rtl-container.indigo.day svg .fill-color-28{fill:#313131}.rtl-container.indigo.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-30{fill:#fff}.rtl-container.indigo.day svg .fill-color-31{fill:#3f51b5}.rtl-container.indigo.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.indigo.day svg .fill-color-primary{fill:#3f51b5}.rtl-container.indigo.day svg .fill-color-primary-lighter{fill:#9fa8da}.rtl-container.indigo.day svg .fill-color-primary-darker{fill:#3f51b5}.rtl-container.indigo.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.indigo.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.indigo.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#3f51b5}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.indigo.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#1a237e}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.indigo.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#9fa8da}.rtl-container.indigo.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.indigo.day .mat-progress-bar-buffer{background-color:#c5cae9}.rtl-container.indigo.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.indigo.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.indigo.day .foreground.mat-progress-spinner circle,.rtl-container.indigo.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.indigo.day .mat-toolbar-row,.rtl-container.indigo.day .mat-toolbar-single-row{height:5rem}.rtl-container.indigo.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.indigo.day a{color:#3f51b5}.rtl-container.indigo.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.indigo.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.indigo.day .mat-icon-36{color:#0000008a}.rtl-container.indigo.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.indigo.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.indigo.day .genseed-message{width:10%;color:#3f51b5}.rtl-container.indigo.day .material-icons.primary{color:#3f51b5}.rtl-container.indigo.day .material-icons.accent{color:#424242}.rtl-container.indigo.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.indigo.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.indigo.day .row-disabled{background-color:gray}.rtl-container.indigo.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.indigo.day .mat-menu-panel{min-width:6.4rem}.rtl-container.indigo.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.indigo.day .horizontal-button:hover{background:#9fa8da;color:#424242}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#3f51b5}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.indigo.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.indigo.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.indigo.day .mat-cell,.rtl-container.indigo.day .mat-footer-cell,.rtl-container.indigo.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.indigo.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.indigo.day table.mat-table thead tr th{color:#000}.rtl-container.indigo.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.indigo.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.indigo.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.indigo.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.indigo.day .more-button{color:#00000061}.rtl-container.indigo.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.indigo.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.indigo.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.indigo.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.indigo.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.indigo.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.indigo.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.indigo.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.indigo.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.indigo.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.indigo.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.indigo.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.indigo.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.indigo.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.indigo.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.indigo.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#9fa8da!important}.rtl-container.indigo.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#3949ab!important}.rtl-container.indigo.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.indigo.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.indigo.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.indigo.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.indigo.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.indigo.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.indigo.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.indigo.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.indigo.day .color-warn{color:#b00020}.rtl-container.indigo.day .fill-warn{fill:#b00020}.rtl-container.indigo.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.indigo.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.indigo.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.indigo.day .alert.alert-info a{color:#004085}.rtl-container.indigo.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.indigo.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.indigo.day .alert.alert-warn a{color:#856404}.rtl-container.indigo.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.indigo.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.indigo.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.indigo.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.indigo.day .help-expansion .mat-expansion-indicator:after,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-content,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.indigo.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.indigo.day .failed-status{color:#b00020}.rtl-container.indigo.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.indigo.day .svg-fill-primary{fill:#3f51b5}.rtl-container.indigo.day .svg-fill-primary-lighter{fill:#9fa8da}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.indigo.day ngx-charts-bar-vertical-2d text,.rtl-container.indigo.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.indigo.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.indigo.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.indigo.day .mat-paginator-container{padding:0}.rtl-container.indigo.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-option{color:#fff}.rtl-container.indigo.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.indigo.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.indigo.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.indigo.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.rtl-container.indigo.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.indigo.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.indigo.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.indigo.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.indigo.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.rtl-container.indigo.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.indigo.night .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.indigo.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.indigo.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.indigo.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.indigo.night.mat-app-background,.rtl-container.indigo.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.indigo.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.indigo.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.indigo.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.indigo.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.indigo.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.indigo.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.indigo.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.indigo.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.indigo.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.indigo.night .mat-badge-content{color:#fff;background:#3f51b5}.cdk-high-contrast-active .rtl-container.indigo.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.indigo.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.indigo.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.indigo.night .mat-badge{position:relative}.rtl-container.indigo.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.indigo.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.indigo.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.indigo.night .mat-badge-content._mat-animation-noopable,.rtl-container.indigo.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.indigo.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.indigo.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.indigo.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.indigo.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.indigo.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.indigo.night .mat-button,.rtl-container.indigo.night .mat-icon-button,.rtl-container.indigo.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.indigo.night .mat-button.mat-primary,.rtl-container.indigo.night .mat-icon-button.mat-primary,.rtl-container.indigo.night .mat-stroked-button.mat-primary{color:#3f51b5}.rtl-container.indigo.night .mat-button.mat-accent,.rtl-container.indigo.night .mat-icon-button.mat-accent,.rtl-container.indigo.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.indigo.night .mat-button.mat-warn,.rtl-container.indigo.night .mat-icon-button.mat-warn,.rtl-container.indigo.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.indigo.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.indigo.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.rtl-container.indigo.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.indigo.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.indigo.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.indigo.night .mat-button .mat-ripple-element,.rtl-container.indigo.night .mat-icon-button .mat-ripple-element,.rtl-container.indigo.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.indigo.night .mat-button-focus-overlay{background:#fff}.rtl-container.indigo.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.indigo.night .mat-fab,.rtl-container.indigo.night .mat-flat-button,.rtl-container.indigo.night .mat-mini-fab,.rtl-container.indigo.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.indigo.night .mat-fab.mat-primary,.rtl-container.indigo.night .mat-flat-button.mat-primary,.rtl-container.indigo.night .mat-mini-fab.mat-primary,.rtl-container.indigo.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.indigo.night .mat-fab.mat-accent,.rtl-container.indigo.night .mat-flat-button.mat-accent,.rtl-container.indigo.night .mat-mini-fab.mat-accent,.rtl-container.indigo.night .mat-raised-button.mat-accent{color:#000}.rtl-container.indigo.night .mat-fab.mat-warn,.rtl-container.indigo.night .mat-flat-button.mat-warn,.rtl-container.indigo.night .mat-mini-fab.mat-warn,.rtl-container.indigo.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.indigo.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.indigo.night .mat-fab.mat-primary,.rtl-container.indigo.night .mat-flat-button.mat-primary,.rtl-container.indigo.night .mat-mini-fab.mat-primary,.rtl-container.indigo.night .mat-raised-button.mat-primary{background-color:#3f51b5}.rtl-container.indigo.night .mat-fab.mat-accent,.rtl-container.indigo.night .mat-flat-button.mat-accent,.rtl-container.indigo.night .mat-mini-fab.mat-accent,.rtl-container.indigo.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.indigo.night .mat-fab.mat-warn,.rtl-container.indigo.night .mat-flat-button.mat-warn,.rtl-container.indigo.night .mat-mini-fab.mat-warn,.rtl-container.indigo.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.indigo.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.indigo.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-button-toggle-group,.rtl-container.indigo.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.indigo.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.indigo.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.indigo.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.indigo.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.indigo.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.indigo.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.indigo.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.indigo.night .mat-card{background:#202020;color:#fff}.rtl-container.indigo.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.indigo.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.indigo.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.indigo.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.rtl-container.indigo.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.indigo.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.indigo.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.indigo.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.indigo.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.indigo.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.night .mat-table{background:#202020}.rtl-container.indigo.night .mat-table-sticky,.rtl-container.indigo.night .mat-table tbody,.rtl-container.indigo.night .mat-table tfoot,.rtl-container.indigo.night .mat-table thead,.rtl-container.indigo.night [mat-footer-row],.rtl-container.indigo.night [mat-header-row],.rtl-container.indigo.night [mat-row],.rtl-container.indigo.night mat-footer-row,.rtl-container.indigo.night mat-header-row,.rtl-container.indigo.night mat-row{background:inherit}.rtl-container.indigo.night mat-footer-row,.rtl-container.indigo.night mat-header-row,.rtl-container.indigo.night mat-row,.rtl-container.indigo.night td.mat-cell,.rtl-container.indigo.night td.mat-footer-cell,.rtl-container.indigo.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.indigo.night .mat-cell,.rtl-container.indigo.night .mat-footer-cell{color:#fff}.rtl-container.indigo.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.indigo.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.indigo.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.indigo.night .mat-datepicker-toggle{color:#fff}.rtl-container.indigo.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.indigo.night .mat-calendar-body-cell-content,.rtl-container.indigo.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.indigo.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.indigo.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.indigo.night .mat-calendar-body-in-range:before{background:#3f51b533}.rtl-container.indigo.night .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#3f51b566}.rtl-container.indigo.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#3f51b54d}.rtl-container.indigo.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.indigo.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.night .mat-datepicker-toggle-active{color:#3f51b5}.rtl-container.indigo.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.indigo.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.indigo.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.indigo.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.indigo.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.indigo.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.indigo.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.indigo.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.indigo.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.indigo.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.indigo.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.indigo.night .mat-form-field-ripple{background-color:#fff}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#3f51b5}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.indigo.night .mat-error{color:#ff343b}.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.indigo.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.indigo.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.indigo.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.indigo.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.indigo.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.indigo.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.indigo.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.indigo.night .mat-icon.mat-primary{color:#3f51b5}.rtl-container.indigo.night .mat-icon.mat-accent{color:#eee}.rtl-container.indigo.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.indigo.night .mat-input-element{caret-color:#3f51b5}.rtl-container.indigo.night .mat-input-element option{color:#000000de}.rtl-container.indigo.night .mat-input-element option:disabled{color:#00000061}.rtl-container.indigo.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.indigo.night .mat-form-field-invalid .mat-input-element,.rtl-container.indigo.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.indigo.night .mat-list-base .mat-list-item,.rtl-container.indigo.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.indigo.night .mat-list-item-disabled{background-color:#444}.rtl-container.indigo.night .mat-action-list .mat-list-item:focus,.rtl-container.indigo.night .mat-action-list .mat-list-item:hover,.rtl-container.indigo.night .mat-list-option:focus,.rtl-container.indigo.night .mat-list-option:hover,.rtl-container.indigo.night .mat-nav-list .mat-list-item:focus,.rtl-container.indigo.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.indigo.night .mat-list-single-selected-option,.rtl-container.indigo.night .mat-list-single-selected-option:focus,.rtl-container.indigo.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.indigo.night .mat-menu-panel{background:#202020}.rtl-container.indigo.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.indigo.night .mat-menu-item-submenu-trigger:after,.rtl-container.indigo.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.indigo.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.indigo.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.indigo.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.indigo.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.indigo.night .mat-paginator{background:#202020}.rtl-container.indigo.night .mat-paginator-decrement,.rtl-container.indigo.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.indigo.night .mat-paginator-first,.rtl-container.indigo.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.indigo.night .mat-progress-bar-background{fill:#1a1e37}.rtl-container.indigo.night .mat-progress-bar-buffer{background-color:#1a1e37}.rtl-container.indigo.night .mat-progress-bar-fill:after{background-color:#3f51b5}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.indigo.night .mat-progress-spinner circle,.rtl-container.indigo.night .mat-spinner circle{stroke:#3f51b5}.rtl-container.indigo.night .mat-progress-spinner.mat-accent circle,.rtl-container.indigo.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.indigo.night .mat-progress-spinner.mat-warn circle,.rtl-container.indigo.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.indigo.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.rtl-container.indigo.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.rtl-container.indigo.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.indigo.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.indigo.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.indigo.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.indigo.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-select-value{color:#fff}.rtl-container.indigo.night .mat-select-panel{background:#202020}.rtl-container.indigo.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.indigo.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.indigo.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.indigo.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.indigo.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.indigo.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-drawer-side.mat-drawer-end,.rtl-container.indigo.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.indigo.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#3f51b58a}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.indigo.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.indigo.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.indigo.night .mat-primary .mat-slider-thumb,.rtl-container.indigo.night .mat-primary .mat-slider-thumb-label,.rtl-container.indigo.night .mat-primary .mat-slider-track-fill{background-color:#3f51b5}.rtl-container.indigo.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.night .mat-primary .mat-slider-focus-ring{background-color:#3f51b533}.rtl-container.indigo.night .mat-accent .mat-slider-thumb,.rtl-container.indigo.night .mat-accent .mat-slider-thumb-label,.rtl-container.indigo.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.indigo.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.indigo.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.indigo.night .mat-warn .mat-slider-thumb,.rtl-container.indigo.night .mat-warn .mat-slider-thumb-label,.rtl-container.indigo.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.indigo.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.indigo.night .cdk-focused .mat-slider-track-background,.rtl-container.indigo.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.indigo.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.indigo.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.indigo.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.indigo.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.indigo.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.indigo.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.indigo.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.indigo.night .mat-step-header.cdk-keyboard-focused,.rtl-container.indigo.night .mat-step-header.cdk-program-focused,.rtl-container.indigo.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.indigo.night .mat-step-header:hover{background:none}}.rtl-container.indigo.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.indigo.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.indigo.night .mat-stepper-horizontal,.rtl-container.indigo.night .mat-stepper-vertical{background-color:#202020}.rtl-container.indigo.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.indigo.night .mat-horizontal-stepper-header:after,.rtl-container.indigo.night .mat-horizontal-stepper-header:before,.rtl-container.indigo.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.indigo.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.indigo.night .mat-tab-label,.rtl-container.indigo.night .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.indigo.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.rtl-container.indigo.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.indigo.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.indigo.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#3f51b5}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.indigo.night .mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.indigo.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.indigo.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.indigo.night .mat-toolbar .mat-form-field-ripple,.rtl-container.indigo.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.indigo.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.indigo.night .mat-toolbar .mat-form-field-label,.rtl-container.indigo.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.indigo.night .mat-toolbar .mat-select-arrow,.rtl-container.indigo.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.indigo.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.indigo.night .mat-tree{background:#202020}.rtl-container.indigo.night .mat-nested-tree-node,.rtl-container.indigo.night .mat-tree-node{color:#fff}.rtl-container.indigo.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-simple-snackbar-action{color:inherit}.rtl-container.indigo.night .mat-primary{color:#536dfe}.rtl-container.indigo.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.indigo.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.indigo.night .bg-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-tab-label.mat-tab-label-active{color:#536dfe}.rtl-container.indigo.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#536dfe}.rtl-container.indigo.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.indigo.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.indigo.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.indigo.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#536dfe}.rtl-container.indigo.night .cc-data-block .cc-data-title{color:#536dfe}.rtl-container.indigo.night .mat-stroked-button.mat-primary{border-color:#536dfe;color:#536dfe}.rtl-container.indigo.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.indigo.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.indigo.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.indigo.night .active-link,.rtl-container.indigo.night .active-link .fa-icon-small,.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active,.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#536dfe;font-weight:500;cursor:pointer;fill:#536dfe}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.indigo.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#536dfe}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover,.rtl-container.indigo.night .mat-select-panel .mat-option:hover,.rtl-container.indigo.night .mat-tree-node:hover{color:#536dfe;cursor:pointer;background:#ffffff0f}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.indigo.night .mat-tree-node:hover .mat-icon,.rtl-container.indigo.night .mat-tree-node:hover .ng-fa-icon{color:#536dfe}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.indigo.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.indigo.night .mat-tree-node:hover .sidenav-img svg{fill:#536dfe}.rtl-container.indigo.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.indigo.night .mat-nested-tree-node .sidenav-img,.rtl-container.indigo.night .mat-tree-node .sidenav-img,.rtl-container.indigo.night .page-title-container .page-title-img,.rtl-container.indigo.night svg.top-icon-small{fill:#fff}.rtl-container.indigo.night .selected-color{border-color:#9fa8da}.rtl-container.indigo.night .mat-progress-bar-fill:after{background-color:#3949ab}.rtl-container.indigo.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.indigo.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.indigo.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.indigo.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#536dfe}.rtl-container.indigo.night .mat-select-panel{background-color:#262626}.rtl-container.indigo.night .mat-tree{background:#262626}.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.indigo.night .dashboard-info-title{color:#536dfe}.rtl-container.indigo.night .dashboard-capacity-header,.rtl-container.indigo.night .dashboard-info-value{color:#fff}.rtl-container.indigo.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.indigo.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.indigo.night .color-primary{color:#536dfe!important}.rtl-container.indigo.night .dot-primary{background-color:#536dfe!important}.rtl-container.indigo.night .dot-primary-lighter{background-color:#3f51b5!important}.rtl-container.indigo.night .mat-stepper-vertical{background-color:#262626}.rtl-container.indigo.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.indigo.night svg .boltz-icon-fill{fill:#fff}.rtl-container.indigo.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .fill-color-0,.rtl-container.indigo.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.indigo.night svg .fill-color-1{fill:#232323}.rtl-container.indigo.night svg .fill-color-2{fill:#222}.rtl-container.indigo.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.indigo.night svg .fill-color-4{fill:#383838}.rtl-container.indigo.night svg .fill-color-5{fill:#555}.rtl-container.indigo.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.indigo.night svg .fill-color-7{fill:#202020}.rtl-container.indigo.night svg .fill-color-8{fill:#242424}.rtl-container.indigo.night svg .fill-color-9{fill:#262626}.rtl-container.indigo.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.indigo.night svg .fill-color-11{fill:#171717}.rtl-container.indigo.night svg .fill-color-12{fill:#ccc}.rtl-container.indigo.night svg .fill-color-13{fill:#adadad}.rtl-container.indigo.night svg .fill-color-14{fill:#ababab}.rtl-container.indigo.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.indigo.night svg .fill-color-16{fill:#707070}.rtl-container.indigo.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.indigo.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.indigo.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.indigo.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.indigo.night svg .fill-color-21{fill:#cacaca}.rtl-container.indigo.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.indigo.night svg .fill-color-23{fill:#777}.rtl-container.indigo.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.indigo.night svg .fill-color-25{fill:#252525}.rtl-container.indigo.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.indigo.night svg .fill-color-27{fill:#000}.rtl-container.indigo.night svg .fill-color-28{fill:#313131}.rtl-container.indigo.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.indigo.night svg .fill-color-30{fill:#fff}.rtl-container.indigo.night svg .fill-color-31{fill:#3f51b5}.rtl-container.indigo.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.indigo.night svg .fill-color-primary{fill:#3f51b5}.rtl-container.indigo.night svg .fill-color-primary-lighter{fill:#9fa8da}.rtl-container.indigo.night svg .fill-color-primary-darker{fill:#536dfe}.rtl-container.indigo.night .mat-select-arrow,.rtl-container.indigo.night .mat-select-value{color:#fff}.rtl-container.indigo.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.indigo.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.indigo.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.indigo.night .mat-slide-toggle-bar,.rtl-container.indigo.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.indigo.night .mat-button.mat-primary,.rtl-container.indigo.night .mat-icon-button.mat-primary,.rtl-container.indigo.night .mat-stroked-button.mat-primary{color:#536dfe}.rtl-container.indigo.night tr.alert.alert-warn .mat-cell,.rtl-container.indigo.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.indigo.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.indigo.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#536dfe}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.indigo.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#283593}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.indigo.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#536dfe}.rtl-container.indigo.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.indigo.night .mat-progress-bar-buffer{background-color:#c5cae9}.rtl-container.indigo.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.indigo.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.indigo.night .foreground.mat-progress-spinner circle,.rtl-container.indigo.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.indigo.night .mat-toolbar-row,.rtl-container.indigo.night .mat-toolbar-single-row{height:5rem}.rtl-container.indigo.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night a{color:#3f51b5}.rtl-container.indigo.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.indigo.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.indigo.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.indigo.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.indigo.night .genseed-message{width:10%;color:#3f51b5}.rtl-container.indigo.night .material-icons.primary{color:#3f51b5}.rtl-container.indigo.night .material-icons.accent{color:#eee}.rtl-container.indigo.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.indigo.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.indigo.night .row-disabled{background-color:gray}.rtl-container.indigo.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.indigo.night .mat-menu-panel{min-width:6.4rem}.rtl-container.indigo.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.indigo.night .horizontal-button:hover{background:#9fa8da;color:#eee}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#3f51b5}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.indigo.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.indigo.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.indigo.night .mat-cell,.rtl-container.indigo.night .mat-footer-cell,.rtl-container.indigo.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.indigo.night table.mat-table thead tr th{color:#fff}.rtl-container.indigo.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.indigo.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.indigo.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.indigo.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.indigo.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.indigo.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.indigo.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.indigo.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.indigo.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.indigo.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.indigo.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.indigo.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.indigo.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.indigo.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.indigo.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.indigo.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.indigo.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.indigo.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.indigo.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#9fa8da!important}.rtl-container.indigo.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#3949ab!important}.rtl-container.indigo.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.indigo.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.indigo.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.indigo.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.indigo.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.indigo.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.indigo.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.indigo.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.indigo.night .color-warn{color:#ff343b}.rtl-container.indigo.night .fill-warn{fill:#ff343b}.rtl-container.indigo.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.indigo.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.indigo.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.indigo.night .alert.alert-info a{color:#004085}.rtl-container.indigo.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.indigo.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.indigo.night .alert.alert-warn a{color:#856404}.rtl-container.indigo.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.indigo.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.indigo.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.indigo.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.indigo.night .help-expansion .mat-expansion-panel-header,.rtl-container.indigo.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.indigo.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.indigo.night .failed-status{color:#ff343b}.rtl-container.indigo.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.indigo.night .svg-fill-primary{fill:#3f51b5}.rtl-container.indigo.night .svg-fill-primary-lighter{fill:#9fa8da}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.indigo.night ngx-charts-bar-vertical-2d text,.rtl-container.indigo.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.indigo.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.indigo.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.indigo.night .mat-paginator-container{padding:0}.rtl-container.green.small.small .mat-header-cell{font-weight:700}.rtl-container.green.small.small .mr-4{margin-right:1rem!important}.rtl-container.green.small.small .mat-menu-item,.rtl-container.green.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.small.small .fa-icon-small,.rtl-container.green.small.small .genseed-message,.rtl-container.green.small.small .top-icon-small,.rtl-container.green.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.small.small .page-sub-title-container,.rtl-container.green.small.small .page-title-container{font-size:1.32rem}.rtl-container.green.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.small.small .sidenav-img svg,.rtl-container.green.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.small.small .material-icons,.rtl-container.green.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.small.small .mat-expansion-panel-header,.rtl-container.green.small.small .mat-list .mat-list-item,.rtl-container.green.small.small .mat-menu-item,.rtl-container.green.small.small .mat-nav-list .mat-list-item,.rtl-container.green.small.small .mat-option,.rtl-container.green.small.small .mat-select,.rtl-container.green.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.small.small .logo{font-size:2.4rem}.rtl-container.green.small.small .font-60-percent{font-size:.72rem}.rtl-container.green.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.small.small .icon-large{font-size:6rem}.rtl-container.green.small.small .icon-small{font-size:1.8rem!important}.rtl-container.green.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.small.small .size-triple{font-size:3.6rem}.rtl-container.green.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small.medium .mat-header-cell{font-weight:700}.rtl-container.green.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.small.medium .genseed-message,.rtl-container.green.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.small.medium .page-sub-title-container,.rtl-container.green.small.medium .page-title-container{font-size:1.54rem}.rtl-container.green.small.medium .fa-icon-small,.rtl-container.green.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.small.medium .sidenav-img svg,.rtl-container.green.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.small.medium .material-icons{font-size:2.8rem}.rtl-container.green.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.small.medium .mat-expansion-panel-header,.rtl-container.green.small.medium .mat-list .mat-list-item,.rtl-container.green.small.medium .mat-menu-item,.rtl-container.green.small.medium .mat-nav-list .mat-list-item,.rtl-container.green.small.medium .mat-option,.rtl-container.green.small.medium .mat-select,.rtl-container.green.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.small.medium .logo{font-size:2.8rem}.rtl-container.green.small.medium .font-60-percent{font-size:.84rem}.rtl-container.green.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.small.medium .icon-large{font-size:7rem}.rtl-container.green.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.small.medium .size-triple{font-size:4.2rem}.rtl-container.green.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small.large .mat-header-cell{font-weight:800}.rtl-container.green.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.small.large .genseed-message,.rtl-container.green.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.small.large .page-sub-title-container,.rtl-container.green.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.small.large .fa-icon-small,.rtl-container.green.small.large .modal-info-header,.rtl-container.green.small.large .top-icon-small{font-size:1.92rem}.rtl-container.green.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.small.large .sidenav-img svg,.rtl-container.green.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.small.large .material-icons{font-size:4rem}.rtl-container.green.small.large .mat-expansion-panel-header,.rtl-container.green.small.large .mat-list .mat-list-item,.rtl-container.green.small.large .mat-menu-item,.rtl-container.green.small.large .mat-nav-list .mat-list-item,.rtl-container.green.small.large .mat-option,.rtl-container.green.small.large .mat-select,.rtl-container.green.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.small.large .logo{font-size:3.2rem}.rtl-container.green.small.large .font-60-percent{font-size:.96rem}.rtl-container.green.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.small.large .icon-large{font-size:8rem}.rtl-container.green.small.large .icon-small{font-size:2.4rem!important}.rtl-container.green.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.small.large .size-triple{font-size:4.8rem}.rtl-container.green.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small .mat-icon.material-icons:focus{outline:none}.rtl-container.green.small .mat-flat-button.mat-primary:focus,.rtl-container.green.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.medium.small .mat-header-cell{font-weight:700}.rtl-container.green.medium.small .mr-4{margin-right:1rem!important}.rtl-container.green.medium.small .mat-menu-item,.rtl-container.green.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.medium.small .fa-icon-small,.rtl-container.green.medium.small .genseed-message,.rtl-container.green.medium.small .top-icon-small,.rtl-container.green.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.medium.small .page-sub-title-container,.rtl-container.green.medium.small .page-title-container{font-size:1.32rem}.rtl-container.green.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.medium.small .sidenav-img svg,.rtl-container.green.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.medium.small .material-icons,.rtl-container.green.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.medium.small .mat-expansion-panel-header,.rtl-container.green.medium.small .mat-list .mat-list-item,.rtl-container.green.medium.small .mat-menu-item,.rtl-container.green.medium.small .mat-nav-list .mat-list-item,.rtl-container.green.medium.small .mat-option,.rtl-container.green.medium.small .mat-select,.rtl-container.green.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.medium.small .logo{font-size:2.4rem}.rtl-container.green.medium.small .font-60-percent{font-size:.72rem}.rtl-container.green.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.medium.small .icon-large{font-size:6rem}.rtl-container.green.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.green.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.medium.small .size-triple{font-size:3.6rem}.rtl-container.green.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium.medium .mat-header-cell{font-weight:700}.rtl-container.green.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.medium.medium .genseed-message,.rtl-container.green.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.medium.medium .page-sub-title-container,.rtl-container.green.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.green.medium.medium .fa-icon-small,.rtl-container.green.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.medium.medium .sidenav-img svg,.rtl-container.green.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.medium.medium .material-icons{font-size:2.8rem}.rtl-container.green.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.medium.medium .mat-expansion-panel-header,.rtl-container.green.medium.medium .mat-list .mat-list-item,.rtl-container.green.medium.medium .mat-menu-item,.rtl-container.green.medium.medium .mat-nav-list .mat-list-item,.rtl-container.green.medium.medium .mat-option,.rtl-container.green.medium.medium .mat-select,.rtl-container.green.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.medium.medium .logo{font-size:2.8rem}.rtl-container.green.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.green.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.medium.medium .icon-large{font-size:7rem}.rtl-container.green.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.medium.medium .size-triple{font-size:4.2rem}.rtl-container.green.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium.large .mat-header-cell{font-weight:800}.rtl-container.green.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.medium.large .genseed-message,.rtl-container.green.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.medium.large .page-sub-title-container,.rtl-container.green.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.medium.large .fa-icon-small,.rtl-container.green.medium.large .modal-info-header,.rtl-container.green.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.green.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.medium.large .sidenav-img svg,.rtl-container.green.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.medium.large .material-icons{font-size:4rem}.rtl-container.green.medium.large .mat-expansion-panel-header,.rtl-container.green.medium.large .mat-list .mat-list-item,.rtl-container.green.medium.large .mat-menu-item,.rtl-container.green.medium.large .mat-nav-list .mat-list-item,.rtl-container.green.medium.large .mat-option,.rtl-container.green.medium.large .mat-select,.rtl-container.green.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.medium.large .logo{font-size:3.2rem}.rtl-container.green.medium.large .font-60-percent{font-size:.96rem}.rtl-container.green.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.medium.large .icon-large{font-size:8rem}.rtl-container.green.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.green.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.medium.large .size-triple{font-size:4.8rem}.rtl-container.green.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.green.medium .mat-flat-button.mat-primary:focus,.rtl-container.green.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.large.small .mat-header-cell{font-weight:700}.rtl-container.green.large.small .mr-4{margin-right:1rem!important}.rtl-container.green.large.small .mat-menu-item,.rtl-container.green.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.large.small .fa-icon-small,.rtl-container.green.large.small .genseed-message,.rtl-container.green.large.small .top-icon-small,.rtl-container.green.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.large.small .page-sub-title-container,.rtl-container.green.large.small .page-title-container{font-size:1.32rem}.rtl-container.green.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.large.small .sidenav-img svg,.rtl-container.green.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.large.small .material-icons,.rtl-container.green.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.large.small .mat-expansion-panel-header,.rtl-container.green.large.small .mat-list .mat-list-item,.rtl-container.green.large.small .mat-menu-item,.rtl-container.green.large.small .mat-nav-list .mat-list-item,.rtl-container.green.large.small .mat-option,.rtl-container.green.large.small .mat-select,.rtl-container.green.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.large.small .logo{font-size:2.4rem}.rtl-container.green.large.small .font-60-percent{font-size:.72rem}.rtl-container.green.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.large.small .icon-large{font-size:6rem}.rtl-container.green.large.small .icon-small{font-size:1.8rem!important}.rtl-container.green.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.large.small .size-triple{font-size:3.6rem}.rtl-container.green.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large.medium .mat-header-cell{font-weight:700}.rtl-container.green.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.large.medium .genseed-message,.rtl-container.green.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.large.medium .page-sub-title-container,.rtl-container.green.large.medium .page-title-container{font-size:1.54rem}.rtl-container.green.large.medium .fa-icon-small,.rtl-container.green.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.large.medium .sidenav-img svg,.rtl-container.green.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.large.medium .material-icons{font-size:2.8rem}.rtl-container.green.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.large.medium .mat-expansion-panel-header,.rtl-container.green.large.medium .mat-list .mat-list-item,.rtl-container.green.large.medium .mat-menu-item,.rtl-container.green.large.medium .mat-nav-list .mat-list-item,.rtl-container.green.large.medium .mat-option,.rtl-container.green.large.medium .mat-select,.rtl-container.green.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.large.medium .logo{font-size:2.8rem}.rtl-container.green.large.medium .font-60-percent{font-size:.84rem}.rtl-container.green.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.large.medium .icon-large{font-size:7rem}.rtl-container.green.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.large.medium .size-triple{font-size:4.2rem}.rtl-container.green.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large.large .mat-header-cell{font-weight:800}.rtl-container.green.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.large.large .genseed-message,.rtl-container.green.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.large.large .page-sub-title-container,.rtl-container.green.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.large.large .fa-icon-small,.rtl-container.green.large.large .modal-info-header,.rtl-container.green.large.large .top-icon-small{font-size:1.92rem}.rtl-container.green.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.large.large .sidenav-img svg,.rtl-container.green.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.large.large .material-icons{font-size:4rem}.rtl-container.green.large.large .mat-expansion-panel-header,.rtl-container.green.large.large .mat-list .mat-list-item,.rtl-container.green.large.large .mat-menu-item,.rtl-container.green.large.large .mat-nav-list .mat-list-item,.rtl-container.green.large.large .mat-option,.rtl-container.green.large.large .mat-select,.rtl-container.green.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.large.large .logo{font-size:3.2rem}.rtl-container.green.large.large .font-60-percent{font-size:.96rem}.rtl-container.green.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.large.large .icon-large{font-size:8rem}.rtl-container.green.large.large .icon-small{font-size:2.4rem!important}.rtl-container.green.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.large.large .size-triple{font-size:4.8rem}.rtl-container.green.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large .mat-icon.material-icons:focus{outline:none}.rtl-container.green.large .mat-flat-button.mat-primary:focus,.rtl-container.green.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.day .mat-ripple-element{background-color:#0000001a}.rtl-container.green.day .mat-option{color:#000000de}.rtl-container.green.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.green.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.green.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.green.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.green.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#185127}.rtl-container.green.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.green.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.green.day .mat-optgroup-label{color:#0000008a}.rtl-container.green.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.green.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.green.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.green.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.green.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#185127}.rtl-container.green.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.green.day .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.green.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.green.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.green.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.green.day.mat-app-background,.rtl-container.green.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.green.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.green.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.green.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.green.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.green.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.green.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.green.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.green.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.green.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.green.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.green.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.green.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.green.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.green.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.green.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.green.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.green.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.green.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.green.day .mat-badge-content{color:#fff;background:#185127}.cdk-high-contrast-active .rtl-container.green.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.green.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.green.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.green.day .mat-badge{position:relative}.rtl-container.green.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.green.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.green.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.green.day .mat-badge-content._mat-animation-noopable,.rtl-container.green.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.green.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.green.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.green.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.green.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.green.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.green.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.green.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.green.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.green.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.green.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.green.day .mat-button,.rtl-container.green.day .mat-icon-button,.rtl-container.green.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.green.day .mat-button.mat-primary,.rtl-container.green.day .mat-icon-button.mat-primary,.rtl-container.green.day .mat-stroked-button.mat-primary{color:#185127}.rtl-container.green.day .mat-button.mat-accent,.rtl-container.green.day .mat-icon-button.mat-accent,.rtl-container.green.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.green.day .mat-button.mat-warn,.rtl-container.green.day .mat-icon-button.mat-warn,.rtl-container.green.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.green.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.green.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#185127}.rtl-container.green.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.green.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.green.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.green.day .mat-button .mat-ripple-element,.rtl-container.green.day .mat-icon-button .mat-ripple-element,.rtl-container.green.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.green.day .mat-button-focus-overlay{background:#000}.rtl-container.green.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.green.day .mat-fab,.rtl-container.green.day .mat-flat-button,.rtl-container.green.day .mat-mini-fab,.rtl-container.green.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.green.day .mat-fab.mat-accent,.rtl-container.green.day .mat-fab.mat-primary,.rtl-container.green.day .mat-fab.mat-warn,.rtl-container.green.day .mat-flat-button.mat-accent,.rtl-container.green.day .mat-flat-button.mat-primary,.rtl-container.green.day .mat-flat-button.mat-warn,.rtl-container.green.day .mat-mini-fab.mat-accent,.rtl-container.green.day .mat-mini-fab.mat-primary,.rtl-container.green.day .mat-mini-fab.mat-warn,.rtl-container.green.day .mat-raised-button.mat-accent,.rtl-container.green.day .mat-raised-button.mat-primary,.rtl-container.green.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.green.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.green.day .mat-fab.mat-primary,.rtl-container.green.day .mat-flat-button.mat-primary,.rtl-container.green.day .mat-mini-fab.mat-primary,.rtl-container.green.day .mat-raised-button.mat-primary{background-color:#185127}.rtl-container.green.day .mat-fab.mat-accent,.rtl-container.green.day .mat-flat-button.mat-accent,.rtl-container.green.day .mat-mini-fab.mat-accent,.rtl-container.green.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.green.day .mat-fab.mat-warn,.rtl-container.green.day .mat-flat-button.mat-warn,.rtl-container.green.day .mat-mini-fab.mat-warn,.rtl-container.green.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.green.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.green.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-button-toggle-group,.rtl-container.green.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-button-toggle-group-appearance-standard,.rtl-container.green.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.green.day .mat-button-toggle{color:#00000061}.rtl-container.green.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.green.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.green.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.green.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.green.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.green.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.green.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.green.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.green.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.green.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.green.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.green.day .mat-button-toggle-group-appearance-standard,.rtl-container.green.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.green.day .mat-card{background:#fff;color:#000000de}.rtl-container.green.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-card-subtitle{color:#0000008a}.rtl-container.green.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.green.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.green.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.green.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.green.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#185127}.rtl-container.green.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.green.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.green.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.green.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.green.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.green.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#185127}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.green.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.green.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#185127;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-table{background:#fff}.rtl-container.green.day .mat-table-sticky,.rtl-container.green.day .mat-table tbody,.rtl-container.green.day .mat-table tfoot,.rtl-container.green.day .mat-table thead,.rtl-container.green.day [mat-footer-row],.rtl-container.green.day [mat-header-row],.rtl-container.green.day [mat-row],.rtl-container.green.day mat-footer-row,.rtl-container.green.day mat-header-row,.rtl-container.green.day mat-row{background:inherit}.rtl-container.green.day mat-footer-row,.rtl-container.green.day mat-header-row,.rtl-container.green.day mat-row,.rtl-container.green.day td.mat-cell,.rtl-container.green.day td.mat-footer-cell,.rtl-container.green.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.green.day .mat-header-cell{color:#0000008a}.rtl-container.green.day .mat-cell,.rtl-container.green.day .mat-footer-cell{color:#000000de}.rtl-container.green.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.green.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.green.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.green.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.green.day .mat-calendar-table-header{color:#00000061}.rtl-container.green.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.green.day .mat-calendar-body-label{color:#0000008a}.rtl-container.green.day .mat-calendar-body-cell-content,.rtl-container.green.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.green.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.green.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.green.day .mat-calendar-body-in-range:before{background:#18512733}.rtl-container.green.day .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-calendar-body-selected{background-color:#185127;color:#fff}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#18512766}.rtl-container.green.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1851274d}.rtl-container.green.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.green.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.day .mat-datepicker-toggle-active{color:#185127}.rtl-container.green.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.green.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.green.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.green.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.green.day .mat-divider{border-top-color:#0000001f}.rtl-container.green.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.green.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.green.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-action-row{border-top-color:#0000001f}.rtl-container.green.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.green.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.green.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.green.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.green.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.green.day .mat-expansion-indicator:after,.rtl-container.green.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.green.day .mat-form-field-label,.rtl-container.green.day .mat-hint{color:#0009}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label{color:#185127}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.green.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.green.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#185127}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#185127}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.green.day .mat-error{color:#b00020}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.green.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.green.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.green.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.green.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#185127}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.green.day .mat-icon.mat-primary{color:#185127}.rtl-container.green.day .mat-icon.mat-accent{color:#424242}.rtl-container.green.day .mat-icon.mat-warn{color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.green.day .mat-input-element:disabled{color:#00000061}.rtl-container.green.day .mat-input-element{caret-color:#185127}.rtl-container.green.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.green.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.green.day .mat-form-field-invalid .mat-input-element,.rtl-container.green.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.green.day .mat-list-base .mat-list-item,.rtl-container.green.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.green.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.green.day .mat-list-item-disabled{background-color:#eee}.rtl-container.green.day .mat-action-list .mat-list-item:focus,.rtl-container.green.day .mat-action-list .mat-list-item:hover,.rtl-container.green.day .mat-list-option:focus,.rtl-container.green.day .mat-list-option:hover,.rtl-container.green.day .mat-nav-list .mat-list-item:focus,.rtl-container.green.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.green.day .mat-list-single-selected-option,.rtl-container.green.day .mat-list-single-selected-option:focus,.rtl-container.green.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.green.day .mat-menu-panel{background:#fff}.rtl-container.green.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.green.day .mat-menu-item[disabled],.rtl-container.green.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.green.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.green.day .mat-menu-item-submenu-trigger:after,.rtl-container.green.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.green.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.green.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.green.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.green.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.green.day .mat-paginator{background:#fff}.rtl-container.green.day .mat-paginator,.rtl-container.green.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.green.day .mat-paginator-decrement,.rtl-container.green.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.green.day .mat-paginator-first,.rtl-container.green.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.green.day .mat-progress-bar-background{fill:#c2d0c5}.rtl-container.green.day .mat-progress-bar-buffer{background-color:#c2d0c5}.rtl-container.green.day .mat-progress-bar-fill:after{background-color:#185127}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.green.day .mat-progress-spinner circle,.rtl-container.green.day .mat-spinner circle{stroke:#185127}.rtl-container.green.day .mat-progress-spinner.mat-accent circle,.rtl-container.green.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.green.day .mat-progress-spinner.mat-warn circle,.rtl-container.green.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.green.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.green.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#185127}.rtl-container.green.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#185127}.rtl-container.green.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.green.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.green.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.green.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.green.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.green.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-select-value{color:#000000de}.rtl-container.green.day .mat-select-placeholder{color:#0000006b}.rtl-container.green.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.green.day .mat-select-arrow{color:#0000008a}.rtl-container.green.day .mat-select-panel{background:#fff}.rtl-container.green.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.green.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#185127}.rtl-container.green.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.green.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.green.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.green.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.green.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.green.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.green.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.green.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.green.day .mat-drawer-side.mat-drawer-end,.rtl-container.green.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.green.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.green.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#185127}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1851278a}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#185127}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.green.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.green.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.green.day .mat-slider-track-background{background-color:#00000042}.rtl-container.green.day .mat-primary .mat-slider-thumb,.rtl-container.green.day .mat-primary .mat-slider-thumb-label,.rtl-container.green.day .mat-primary .mat-slider-track-fill{background-color:#185127}.rtl-container.green.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-primary .mat-slider-focus-ring{background-color:#18512733}.rtl-container.green.day .mat-accent .mat-slider-thumb,.rtl-container.green.day .mat-accent .mat-slider-thumb-label,.rtl-container.green.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.green.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.green.day .mat-warn .mat-slider-thumb,.rtl-container.green.day .mat-warn .mat-slider-thumb-label,.rtl-container.green.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.green.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.green.day .cdk-focused .mat-slider-track-background,.rtl-container.green.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.green.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.green.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.green.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.green.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.green.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.green.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.green.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.green.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.green.day .mat-step-header.cdk-keyboard-focused,.rtl-container.green.day .mat-step-header.cdk-program-focused,.rtl-container.green.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.green.day .mat-step-header:hover{background:none}}.rtl-container.green.day .mat-step-header .mat-step-label,.rtl-container.green.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.green.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.green.day .mat-step-header .mat-step-icon-selected,.rtl-container.green.day .mat-step-header .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header .mat-step-icon-state-edit{background-color:#185127;color:#fff}.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.green.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.green.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.green.day .mat-stepper-horizontal,.rtl-container.green.day .mat-stepper-vertical{background-color:#fff}.rtl-container.green.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.green.day .mat-horizontal-stepper-header:after,.rtl-container.green.day .mat-horizontal-stepper-header:before,.rtl-container.green.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.green.day .mat-sort-header-arrow{color:#757575}.rtl-container.green.day .mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.green.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.green.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.green.day .mat-tab-label,.rtl-container.green.day .mat-tab-link{color:#000000de}.rtl-container.green.day .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.green.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.green.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.green.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#185127}.rtl-container.green.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.green.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.green.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.green.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#185127}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.green.day .mat-toolbar.mat-primary{background:#185127;color:#fff}.rtl-container.green.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.green.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.green.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.green.day .mat-toolbar .mat-form-field-ripple,.rtl-container.green.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.green.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.green.day .mat-toolbar .mat-form-field-label,.rtl-container.green.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.green.day .mat-toolbar .mat-select-arrow,.rtl-container.green.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.green.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.green.day .mat-tooltip{background:#616161e6}.rtl-container.green.day .mat-tree{background:#fff}.rtl-container.green.day .mat-nested-tree-node,.rtl-container.green.day .mat-tree-node{color:#000000de}.rtl-container.green.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-simple-snackbar-action{color:#424242}.rtl-container.green.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.green.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.green.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.green.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.green.day .bg-primary{background-color:#185127;color:#fff}.rtl-container.green.day .rtl-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#185127}.rtl-container.green.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#b00020}.rtl-container.green.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.green.day .mat-tab-label.mat-tab-label-active{color:#185127}.rtl-container.green.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#185127}.rtl-container.green.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.green.day .mat-form-field-suffix,.rtl-container.green.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.green.day .ng-fa-icon{color:#0000008a}.rtl-container.green.day .mat-stroked-button.mat-primary{border-color:#185127}.rtl-container.green.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.green.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.green.day .selected-color{border-color:#5d8568}.rtl-container.green.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.green.day .page-sub-title-container,.rtl-container.green.day .page-title-container{color:#0000008a}.rtl-container.green.day .page-sub-title-container .page-title-img,.rtl-container.green.day .page-title-container .page-title-img{color:#00000061}.rtl-container.green.day .page-sub-title-container .mat-input-element,.rtl-container.green.day .page-sub-title-container .mat-radio-label-content,.rtl-container.green.day .page-sub-title-container .theme-name,.rtl-container.green.day .page-title-container .mat-input-element,.rtl-container.green.day .page-title-container .mat-radio-label-content,.rtl-container.green.day .page-title-container .theme-name{color:#000000de}.rtl-container.green.day .cc-data-block .cc-data-title{color:#185127}.rtl-container.green.day .active-link,.rtl-container.green.day .active-link .fa-icon-small{color:#185127;font-weight:500;cursor:pointer;fill:#185127}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.green.day .mat-nested-tree-node-parent:hover,.rtl-container.green.day .mat-select-panel .mat-option:hover,.rtl-container.green.day .mat-tree-node:hover{color:#185127;cursor:pointer;background:#0000000a}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.green.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.green.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.green.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.green.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.green.day .mat-tree-node:hover .mat-icon,.rtl-container.green.day .mat-tree-node:hover .ng-fa-icon{color:#185127}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.green.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.green.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.green.day .mat-tree-node:hover .sidenav-img svg{fill:#185127}.rtl-container.green.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.green.day .mat-nested-tree-node .sidenav-img,.rtl-container.green.day .mat-tree-node .sidenav-img,.rtl-container.green.day .page-title-container .page-title-img,.rtl-container.green.day svg.top-icon-small{fill:#000000de}.rtl-container.green.day .mat-progress-bar-fill:after{background-color:#08270e}.rtl-container.green.day .modal-qr-code-container{background:#0000001f}.rtl-container.green.day .mat-tab-label,.rtl-container.green.day .mat-tab-link{color:#0000008a}.rtl-container.green.day .mat-card,.rtl-container.green.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.green.day .dashboard-info-title{color:#185127}.rtl-container.green.day .dashboard-info-value{color:#0000008a}.rtl-container.green.day .color-primary{color:#185127!important}.rtl-container.green.day .dot-primary{background-color:#185127!important}.rtl-container.green.day .dot-primary-lighter{background-color:#5d8568!important}.rtl-container.green.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.green.day .mat-tooltip{font-size:120%}.rtl-container.green.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.green.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.green.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.green.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-1{fill:#fff}.rtl-container.green.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.green.day svg .fill-color-3,.rtl-container.green.day svg .fill-color-4,.rtl-container.green.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.green.day svg .fill-color-6{fill:#fff}.rtl-container.green.day svg .fill-color-7,.rtl-container.green.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-9{fill:#fff}.rtl-container.green.day svg .fill-color-10,.rtl-container.green.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.green.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-13,.rtl-container.green.day svg .fill-color-14,.rtl-container.green.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.green.day svg .fill-color-16,.rtl-container.green.day svg .fill-color-17{fill:#404040}.rtl-container.green.day svg .fill-color-18{fill:#000}.rtl-container.green.day svg .fill-color-19,.rtl-container.green.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.green.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-22,.rtl-container.green.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-24{fill:#000}.rtl-container.green.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.green.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.green.day svg .fill-color-27{fill:#000}.rtl-container.green.day svg .fill-color-28{fill:#313131}.rtl-container.green.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-30{fill:#fff}.rtl-container.green.day svg .fill-color-31{fill:#185127}.rtl-container.green.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.green.day svg .fill-color-primary{fill:#185127}.rtl-container.green.day svg .fill-color-primary-lighter{fill:#5d8568}.rtl-container.green.day svg .fill-color-primary-darker{fill:#185127}.rtl-container.green.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.green.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.green.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.green.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.green.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.green.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.green.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#185127}.rtl-container.green.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.green.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#08270e}.rtl-container.green.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.green.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#8ca893}.rtl-container.green.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.green.day .mat-progress-bar-buffer{background-color:#bacbbe}.rtl-container.green.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.green.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.green.day .foreground.mat-progress-spinner circle,.rtl-container.green.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.green.day .mat-toolbar-row,.rtl-container.green.day .mat-toolbar-single-row{height:5rem}.rtl-container.green.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.green.day a{color:#185127}.rtl-container.green.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.green.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.green.day .mat-icon-36{color:#0000008a}.rtl-container.green.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.green.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.green.day .genseed-message{width:10%;color:#185127}.rtl-container.green.day .material-icons.primary{color:#185127}.rtl-container.green.day .material-icons.accent{color:#424242}.rtl-container.green.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.green.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.green.day .row-disabled{background-color:gray}.rtl-container.green.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.green.day .mat-menu-panel{min-width:6.4rem}.rtl-container.green.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.green.day .horizontal-button:hover{background:#5d8568;color:#424242}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#185127}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.green.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.green.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.green.day .mat-cell,.rtl-container.green.day .mat-footer-cell,.rtl-container.green.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.green.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.green.day table.mat-table thead tr th{color:#000}.rtl-container.green.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.green.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.green.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.green.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.green.day .more-button{color:#00000061}.rtl-container.green.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.green.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.green.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.green.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.green.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.green.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.green.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.green.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.green.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.green.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.green.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.green.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.green.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.green.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.green.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.green.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#8ca893!important}.rtl-container.green.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#154a23!important}.rtl-container.green.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.green.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.green.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.green.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.green.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.green.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.green.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.green.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.green.day .color-warn{color:#b00020}.rtl-container.green.day .fill-warn{fill:#b00020}.rtl-container.green.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.green.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.green.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.green.day .alert.alert-info a{color:#004085}.rtl-container.green.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.green.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.green.day .alert.alert-warn a{color:#856404}.rtl-container.green.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.green.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.green.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.green.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.green.day .help-expansion .mat-expansion-panel-header,.rtl-container.green.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.green.day .help-expansion .mat-expansion-indicator:after,.rtl-container.green.day .help-expansion .mat-expansion-panel-content,.rtl-container.green.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.green.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.green.day .failed-status{color:#b00020}.rtl-container.green.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.green.day .svg-fill-primary{fill:#185127}.rtl-container.green.day .svg-fill-primary-lighter{fill:#5d8568}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.green.day ngx-charts-bar-vertical-2d text,.rtl-container.green.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.green.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.green.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.green.day .mat-paginator-container{padding:0}.rtl-container.green.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-option{color:#fff}.rtl-container.green.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.green.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.green.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.green.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#185127}.rtl-container.green.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.green.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.green.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.green.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.green.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#185127}.rtl-container.green.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.green.night .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.green.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.green.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.green.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.green.night.mat-app-background,.rtl-container.green.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.green.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.green.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.green.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.green.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.green.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.green.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.green.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.green.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.green.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.green.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.green.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.green.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.green.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.green.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.green.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.green.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.green.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.green.night .mat-badge-content{color:#fff;background:#185127}.cdk-high-contrast-active .rtl-container.green.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.green.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.green.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.green.night .mat-badge{position:relative}.rtl-container.green.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.green.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.green.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.green.night .mat-badge-content._mat-animation-noopable,.rtl-container.green.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.green.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.green.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.green.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.green.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.green.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.green.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.green.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.green.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.green.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.green.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.green.night .mat-button,.rtl-container.green.night .mat-icon-button,.rtl-container.green.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.green.night .mat-button.mat-primary,.rtl-container.green.night .mat-icon-button.mat-primary,.rtl-container.green.night .mat-stroked-button.mat-primary{color:#185127}.rtl-container.green.night .mat-button.mat-accent,.rtl-container.green.night .mat-icon-button.mat-accent,.rtl-container.green.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.green.night .mat-button.mat-warn,.rtl-container.green.night .mat-icon-button.mat-warn,.rtl-container.green.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.green.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.green.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#185127}.rtl-container.green.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.green.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.green.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.green.night .mat-button .mat-ripple-element,.rtl-container.green.night .mat-icon-button .mat-ripple-element,.rtl-container.green.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.green.night .mat-button-focus-overlay{background:#fff}.rtl-container.green.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.green.night .mat-fab,.rtl-container.green.night .mat-flat-button,.rtl-container.green.night .mat-mini-fab,.rtl-container.green.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.green.night .mat-fab.mat-primary,.rtl-container.green.night .mat-flat-button.mat-primary,.rtl-container.green.night .mat-mini-fab.mat-primary,.rtl-container.green.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.green.night .mat-fab.mat-accent,.rtl-container.green.night .mat-flat-button.mat-accent,.rtl-container.green.night .mat-mini-fab.mat-accent,.rtl-container.green.night .mat-raised-button.mat-accent{color:#000}.rtl-container.green.night .mat-fab.mat-warn,.rtl-container.green.night .mat-flat-button.mat-warn,.rtl-container.green.night .mat-mini-fab.mat-warn,.rtl-container.green.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.green.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.green.night .mat-fab.mat-primary,.rtl-container.green.night .mat-flat-button.mat-primary,.rtl-container.green.night .mat-mini-fab.mat-primary,.rtl-container.green.night .mat-raised-button.mat-primary{background-color:#185127}.rtl-container.green.night .mat-fab.mat-accent,.rtl-container.green.night .mat-flat-button.mat-accent,.rtl-container.green.night .mat-mini-fab.mat-accent,.rtl-container.green.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.green.night .mat-fab.mat-warn,.rtl-container.green.night .mat-flat-button.mat-warn,.rtl-container.green.night .mat-mini-fab.mat-warn,.rtl-container.green.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.green.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.green.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.green.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-button-toggle-group,.rtl-container.green.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-button-toggle-group-appearance-standard,.rtl-container.green.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.green.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.green.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.green.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.green.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.green.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.green.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.green.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.green.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.green.night .mat-button-toggle-group-appearance-standard,.rtl-container.green.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.green.night .mat-card{background:#202020;color:#fff}.rtl-container.green.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.green.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.green.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.green.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#185127}.rtl-container.green.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.green.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.green.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.green.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.green.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#185127}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.green.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#185127;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.green.night .mat-table{background:#202020}.rtl-container.green.night .mat-table-sticky,.rtl-container.green.night .mat-table tbody,.rtl-container.green.night .mat-table tfoot,.rtl-container.green.night .mat-table thead,.rtl-container.green.night [mat-footer-row],.rtl-container.green.night [mat-header-row],.rtl-container.green.night [mat-row],.rtl-container.green.night mat-footer-row,.rtl-container.green.night mat-header-row,.rtl-container.green.night mat-row{background:inherit}.rtl-container.green.night mat-footer-row,.rtl-container.green.night mat-header-row,.rtl-container.green.night mat-row,.rtl-container.green.night td.mat-cell,.rtl-container.green.night td.mat-footer-cell,.rtl-container.green.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.green.night .mat-cell,.rtl-container.green.night .mat-footer-cell{color:#fff}.rtl-container.green.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.green.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.green.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.green.night .mat-datepicker-toggle{color:#fff}.rtl-container.green.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.green.night .mat-calendar-body-cell-content,.rtl-container.green.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.green.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.green.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.green.night .mat-calendar-body-in-range:before{background:#18512733}.rtl-container.green.night .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-calendar-body-selected{background-color:#185127;color:#fff}.rtl-container.green.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#18512766}.rtl-container.green.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1851274d}.rtl-container.green.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.green.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.green.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.night .mat-datepicker-toggle-active{color:#185127}.rtl-container.green.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.green.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.green.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.green.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.green.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.green.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.green.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.green.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.green.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.green.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.green.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.green.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label{color:#185127}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.green.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.green.night .mat-form-field-ripple{background-color:#fff}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#185127}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#185127}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.green.night .mat-error{color:#ff343b}.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.green.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.green.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.green.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.green.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.green.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.green.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.green.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#185127}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.green.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.green.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.green.night .mat-icon.mat-primary{color:#185127}.rtl-container.green.night .mat-icon.mat-accent{color:#eee}.rtl-container.green.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.green.night .mat-input-element{caret-color:#185127}.rtl-container.green.night .mat-input-element option{color:#000000de}.rtl-container.green.night .mat-input-element option:disabled{color:#00000061}.rtl-container.green.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.green.night .mat-form-field-invalid .mat-input-element,.rtl-container.green.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.green.night .mat-list-base .mat-list-item,.rtl-container.green.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.green.night .mat-list-item-disabled{background-color:#444}.rtl-container.green.night .mat-action-list .mat-list-item:focus,.rtl-container.green.night .mat-action-list .mat-list-item:hover,.rtl-container.green.night .mat-list-option:focus,.rtl-container.green.night .mat-list-option:hover,.rtl-container.green.night .mat-nav-list .mat-list-item:focus,.rtl-container.green.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.green.night .mat-list-single-selected-option,.rtl-container.green.night .mat-list-single-selected-option:focus,.rtl-container.green.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.green.night .mat-menu-panel{background:#202020}.rtl-container.green.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.green.night .mat-menu-item-submenu-trigger:after,.rtl-container.green.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.green.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.green.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.green.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.green.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.green.night .mat-paginator{background:#202020}.rtl-container.green.night .mat-paginator-decrement,.rtl-container.green.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.green.night .mat-paginator-first,.rtl-container.green.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.green.night .mat-progress-bar-background{fill:#101e14}.rtl-container.green.night .mat-progress-bar-buffer{background-color:#101e14}.rtl-container.green.night .mat-progress-bar-fill:after{background-color:#185127}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.green.night .mat-progress-spinner circle,.rtl-container.green.night .mat-spinner circle{stroke:#185127}.rtl-container.green.night .mat-progress-spinner.mat-accent circle,.rtl-container.green.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.green.night .mat-progress-spinner.mat-warn circle,.rtl-container.green.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.green.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#185127}.rtl-container.green.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#185127}.rtl-container.green.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.green.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.green.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.green.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.green.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-select-value{color:#fff}.rtl-container.green.night .mat-select-panel{background:#202020}.rtl-container.green.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.green.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#185127}.rtl-container.green.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.green.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.green.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.green.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.green.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.green.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.green.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-drawer-side.mat-drawer-end,.rtl-container.green.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.green.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#185127}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1851278a}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#185127}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.green.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.green.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.green.night .mat-primary .mat-slider-thumb,.rtl-container.green.night .mat-primary .mat-slider-thumb-label,.rtl-container.green.night .mat-primary .mat-slider-track-fill{background-color:#185127}.rtl-container.green.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.night .mat-primary .mat-slider-focus-ring{background-color:#18512733}.rtl-container.green.night .mat-accent .mat-slider-thumb,.rtl-container.green.night .mat-accent .mat-slider-thumb-label,.rtl-container.green.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.green.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.green.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.green.night .mat-warn .mat-slider-thumb,.rtl-container.green.night .mat-warn .mat-slider-thumb-label,.rtl-container.green.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.green.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.green.night .cdk-focused .mat-slider-track-background,.rtl-container.green.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.green.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.green.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.green.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.green.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.green.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.green.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.green.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.green.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.green.night .mat-step-header.cdk-keyboard-focused,.rtl-container.green.night .mat-step-header.cdk-program-focused,.rtl-container.green.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.green.night .mat-step-header:hover{background:none}}.rtl-container.green.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.green.night .mat-step-header .mat-step-icon-selected,.rtl-container.green.night .mat-step-header .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header .mat-step-icon-state-edit{background-color:#185127;color:#fff}.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.green.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.green.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.green.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.green.night .mat-stepper-horizontal,.rtl-container.green.night .mat-stepper-vertical{background-color:#202020}.rtl-container.green.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.green.night .mat-horizontal-stepper-header:after,.rtl-container.green.night .mat-horizontal-stepper-header:before,.rtl-container.green.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.green.night .mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.green.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.green.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.green.night .mat-tab-label,.rtl-container.green.night .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.green.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#185127}.rtl-container.green.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.green.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.green.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.green.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#185127}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.green.night .mat-toolbar.mat-primary{background:#185127;color:#fff}.rtl-container.green.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.green.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.green.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.green.night .mat-toolbar .mat-form-field-ripple,.rtl-container.green.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.green.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.green.night .mat-toolbar .mat-form-field-label,.rtl-container.green.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.green.night .mat-toolbar .mat-select-arrow,.rtl-container.green.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.green.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.green.night .mat-tree{background:#202020}.rtl-container.green.night .mat-nested-tree-node,.rtl-container.green.night .mat-tree-node{color:#fff}.rtl-container.green.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-simple-snackbar-action{color:inherit}.rtl-container.green.night .mat-primary{color:#30ff4b}.rtl-container.green.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.green.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.green.night .bg-primary{background-color:#185127;color:#fff}.rtl-container.green.night .mat-tab-label.mat-tab-label-active{color:#30ff4b}.rtl-container.green.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#30ff4b}.rtl-container.green.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.green.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.green.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.green.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.green.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#30ff4b}.rtl-container.green.night .cc-data-block .cc-data-title{color:#30ff4b}.rtl-container.green.night .mat-stroked-button.mat-primary{border-color:#30ff4b;color:#30ff4b}.rtl-container.green.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.green.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.green.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.green.night .active-link,.rtl-container.green.night .active-link .fa-icon-small,.rtl-container.green.night .mat-select-panel .mat-option.mat-active,.rtl-container.green.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#30ff4b;font-weight:500;cursor:pointer;fill:#30ff4b}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.green.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#30ff4b}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.green.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.green.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.green.night .mat-nested-tree-node-parent:hover,.rtl-container.green.night .mat-select-panel .mat-option:hover,.rtl-container.green.night .mat-tree-node:hover{color:#30ff4b;cursor:pointer;background:#ffffff0f}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.green.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.green.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.green.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.green.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.green.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.green.night .mat-tree-node:hover .mat-icon,.rtl-container.green.night .mat-tree-node:hover .ng-fa-icon{color:#30ff4b}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.green.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.green.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.green.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.green.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.green.night .mat-tree-node:hover .sidenav-img svg{fill:#30ff4b}.rtl-container.green.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.green.night .mat-nested-tree-node .sidenav-img,.rtl-container.green.night .mat-tree-node .sidenav-img,.rtl-container.green.night .page-title-container .page-title-img,.rtl-container.green.night svg.top-icon-small{fill:#fff}.rtl-container.green.night .selected-color{border-color:#5d8568}.rtl-container.green.night .mat-progress-bar-fill:after{background-color:#154a23}.rtl-container.green.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.green.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.green.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.green.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#30ff4b}.rtl-container.green.night .mat-select-panel{background-color:#262626}.rtl-container.green.night .mat-tree{background:#262626}.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.green.night .dashboard-info-title{color:#30ff4b}.rtl-container.green.night .dashboard-capacity-header,.rtl-container.green.night .dashboard-info-value{color:#fff}.rtl-container.green.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.green.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.green.night .color-primary{color:#30ff4b!important}.rtl-container.green.night .dot-primary{background-color:#30ff4b!important}.rtl-container.green.night .dot-primary-lighter{background-color:#185127!important}.rtl-container.green.night .mat-stepper-vertical{background-color:#262626}.rtl-container.green.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.green.night svg .boltz-icon-fill{fill:#fff}.rtl-container.green.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .fill-color-0,.rtl-container.green.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.green.night svg .fill-color-1{fill:#232323}.rtl-container.green.night svg .fill-color-2{fill:#222}.rtl-container.green.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.green.night svg .fill-color-4{fill:#383838}.rtl-container.green.night svg .fill-color-5{fill:#555}.rtl-container.green.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.green.night svg .fill-color-7{fill:#202020}.rtl-container.green.night svg .fill-color-8{fill:#242424}.rtl-container.green.night svg .fill-color-9{fill:#262626}.rtl-container.green.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.green.night svg .fill-color-11{fill:#171717}.rtl-container.green.night svg .fill-color-12{fill:#ccc}.rtl-container.green.night svg .fill-color-13{fill:#adadad}.rtl-container.green.night svg .fill-color-14{fill:#ababab}.rtl-container.green.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.green.night svg .fill-color-16{fill:#707070}.rtl-container.green.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.green.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.green.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.green.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.green.night svg .fill-color-21{fill:#cacaca}.rtl-container.green.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.green.night svg .fill-color-23{fill:#777}.rtl-container.green.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.green.night svg .fill-color-25{fill:#252525}.rtl-container.green.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.green.night svg .fill-color-27{fill:#000}.rtl-container.green.night svg .fill-color-28{fill:#313131}.rtl-container.green.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.green.night svg .fill-color-30{fill:#fff}.rtl-container.green.night svg .fill-color-31{fill:#185127}.rtl-container.green.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.green.night svg .fill-color-primary{fill:#185127}.rtl-container.green.night svg .fill-color-primary-lighter{fill:#5d8568}.rtl-container.green.night svg .fill-color-primary-darker{fill:#30ff4b}.rtl-container.green.night .mat-select-arrow,.rtl-container.green.night .mat-select-value{color:#fff}.rtl-container.green.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.green.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.green.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.green.night .mat-slide-toggle-bar,.rtl-container.green.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.green.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.green.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.green.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.green.night .mat-button.mat-primary,.rtl-container.green.night .mat-icon-button.mat-primary,.rtl-container.green.night .mat-stroked-button.mat-primary{color:#30ff4b}.rtl-container.green.night tr.alert.alert-warn .mat-cell,.rtl-container.green.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.green.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.green.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.green.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#30ff4b}.rtl-container.green.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.green.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#0e3717}.rtl-container.green.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.green.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#30ff4b}.rtl-container.green.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.green.night .mat-progress-bar-buffer{background-color:#bacbbe}.rtl-container.green.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.green.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.green.night .foreground.mat-progress-spinner circle,.rtl-container.green.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.green.night .mat-toolbar-row,.rtl-container.green.night .mat-toolbar-single-row{height:5rem}.rtl-container.green.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.green.night a{color:#185127}.rtl-container.green.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.green.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.green.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.green.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.green.night .genseed-message{width:10%;color:#185127}.rtl-container.green.night .material-icons.primary{color:#185127}.rtl-container.green.night .material-icons.accent{color:#eee}.rtl-container.green.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.green.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.green.night .row-disabled{background-color:gray}.rtl-container.green.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.green.night .mat-menu-panel{min-width:6.4rem}.rtl-container.green.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.green.night .horizontal-button:hover{background:#5d8568;color:#eee}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#185127}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.green.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.green.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.green.night .mat-cell,.rtl-container.green.night .mat-footer-cell,.rtl-container.green.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.green.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.green.night table.mat-table thead tr th{color:#fff}.rtl-container.green.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.green.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.green.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.green.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.green.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.green.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.green.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.green.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.green.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.green.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.green.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.green.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.green.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.green.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.green.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.green.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.green.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.green.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.green.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.green.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#8ca893!important}.rtl-container.green.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#154a23!important}.rtl-container.green.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.green.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.green.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.green.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.green.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.green.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.green.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.green.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.green.night .color-warn{color:#ff343b}.rtl-container.green.night .fill-warn{fill:#ff343b}.rtl-container.green.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.green.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.green.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.green.night .alert.alert-info a{color:#004085}.rtl-container.green.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.green.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.green.night .alert.alert-warn a{color:#856404}.rtl-container.green.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.green.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.green.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.green.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.green.night .help-expansion .mat-expansion-panel-header,.rtl-container.green.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.green.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.green.night .failed-status{color:#ff343b}.rtl-container.green.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.green.night .svg-fill-primary{fill:#185127}.rtl-container.green.night .svg-fill-primary-lighter{fill:#5d8568}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.green.night ngx-charts-bar-vertical-2d text,.rtl-container.green.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.green.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.green.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.green.night .mat-paginator-container{padding:0}.rtl-container.teal.small.small .mat-header-cell{font-weight:700}.rtl-container.teal.small.small .mr-4{margin-right:1rem!important}.rtl-container.teal.small.small .mat-menu-item,.rtl-container.teal.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.small.small .fa-icon-small,.rtl-container.teal.small.small .genseed-message,.rtl-container.teal.small.small .top-icon-small,.rtl-container.teal.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.small.small .page-sub-title-container,.rtl-container.teal.small.small .page-title-container{font-size:1.32rem}.rtl-container.teal.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.small.small .sidenav-img svg,.rtl-container.teal.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.small.small .material-icons,.rtl-container.teal.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.small.small .mat-expansion-panel-header,.rtl-container.teal.small.small .mat-list .mat-list-item,.rtl-container.teal.small.small .mat-menu-item,.rtl-container.teal.small.small .mat-nav-list .mat-list-item,.rtl-container.teal.small.small .mat-option,.rtl-container.teal.small.small .mat-select,.rtl-container.teal.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.small.small .logo{font-size:2.4rem}.rtl-container.teal.small.small .font-60-percent{font-size:.72rem}.rtl-container.teal.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.small.small .icon-large{font-size:6rem}.rtl-container.teal.small.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.small.small .size-triple{font-size:3.6rem}.rtl-container.teal.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small.medium .mat-header-cell{font-weight:700}.rtl-container.teal.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.small.medium .genseed-message,.rtl-container.teal.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.small.medium .page-sub-title-container,.rtl-container.teal.small.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.small.medium .fa-icon-small,.rtl-container.teal.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.small.medium .sidenav-img svg,.rtl-container.teal.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.small.medium .material-icons{font-size:2.8rem}.rtl-container.teal.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.small.medium .mat-expansion-panel-header,.rtl-container.teal.small.medium .mat-list .mat-list-item,.rtl-container.teal.small.medium .mat-menu-item,.rtl-container.teal.small.medium .mat-nav-list .mat-list-item,.rtl-container.teal.small.medium .mat-option,.rtl-container.teal.small.medium .mat-select,.rtl-container.teal.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.small.medium .logo{font-size:2.8rem}.rtl-container.teal.small.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.small.medium .icon-large{font-size:7rem}.rtl-container.teal.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.small.medium .size-triple{font-size:4.2rem}.rtl-container.teal.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small.large .mat-header-cell{font-weight:800}.rtl-container.teal.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.small.large .genseed-message,.rtl-container.teal.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.small.large .page-sub-title-container,.rtl-container.teal.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.small.large .fa-icon-small,.rtl-container.teal.small.large .modal-info-header,.rtl-container.teal.small.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.small.large .sidenav-img svg,.rtl-container.teal.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.small.large .material-icons{font-size:4rem}.rtl-container.teal.small.large .mat-expansion-panel-header,.rtl-container.teal.small.large .mat-list .mat-list-item,.rtl-container.teal.small.large .mat-menu-item,.rtl-container.teal.small.large .mat-nav-list .mat-list-item,.rtl-container.teal.small.large .mat-option,.rtl-container.teal.small.large .mat-select,.rtl-container.teal.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.small.large .logo{font-size:3.2rem}.rtl-container.teal.small.large .font-60-percent{font-size:.96rem}.rtl-container.teal.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.small.large .icon-large{font-size:8rem}.rtl-container.teal.small.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.small.large .size-triple{font-size:4.8rem}.rtl-container.teal.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.small .mat-flat-button.mat-primary:focus,.rtl-container.teal.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.medium.small .mat-header-cell{font-weight:700}.rtl-container.teal.medium.small .mr-4{margin-right:1rem!important}.rtl-container.teal.medium.small .mat-menu-item,.rtl-container.teal.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.medium.small .fa-icon-small,.rtl-container.teal.medium.small .genseed-message,.rtl-container.teal.medium.small .top-icon-small,.rtl-container.teal.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.medium.small .page-sub-title-container,.rtl-container.teal.medium.small .page-title-container{font-size:1.32rem}.rtl-container.teal.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.medium.small .sidenav-img svg,.rtl-container.teal.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.medium.small .material-icons,.rtl-container.teal.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.medium.small .mat-expansion-panel-header,.rtl-container.teal.medium.small .mat-list .mat-list-item,.rtl-container.teal.medium.small .mat-menu-item,.rtl-container.teal.medium.small .mat-nav-list .mat-list-item,.rtl-container.teal.medium.small .mat-option,.rtl-container.teal.medium.small .mat-select,.rtl-container.teal.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.medium.small .logo{font-size:2.4rem}.rtl-container.teal.medium.small .font-60-percent{font-size:.72rem}.rtl-container.teal.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.medium.small .icon-large{font-size:6rem}.rtl-container.teal.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.medium.small .size-triple{font-size:3.6rem}.rtl-container.teal.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium.medium .mat-header-cell{font-weight:700}.rtl-container.teal.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.medium.medium .genseed-message,.rtl-container.teal.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.medium.medium .page-sub-title-container,.rtl-container.teal.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.medium.medium .fa-icon-small,.rtl-container.teal.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.medium.medium .sidenav-img svg,.rtl-container.teal.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.medium.medium .material-icons{font-size:2.8rem}.rtl-container.teal.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.medium.medium .mat-expansion-panel-header,.rtl-container.teal.medium.medium .mat-list .mat-list-item,.rtl-container.teal.medium.medium .mat-menu-item,.rtl-container.teal.medium.medium .mat-nav-list .mat-list-item,.rtl-container.teal.medium.medium .mat-option,.rtl-container.teal.medium.medium .mat-select,.rtl-container.teal.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.medium.medium .logo{font-size:2.8rem}.rtl-container.teal.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.medium.medium .icon-large{font-size:7rem}.rtl-container.teal.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.medium.medium .size-triple{font-size:4.2rem}.rtl-container.teal.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium.large .mat-header-cell{font-weight:800}.rtl-container.teal.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.medium.large .genseed-message,.rtl-container.teal.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.medium.large .page-sub-title-container,.rtl-container.teal.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.medium.large .fa-icon-small,.rtl-container.teal.medium.large .modal-info-header,.rtl-container.teal.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.medium.large .sidenav-img svg,.rtl-container.teal.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.medium.large .material-icons{font-size:4rem}.rtl-container.teal.medium.large .mat-expansion-panel-header,.rtl-container.teal.medium.large .mat-list .mat-list-item,.rtl-container.teal.medium.large .mat-menu-item,.rtl-container.teal.medium.large .mat-nav-list .mat-list-item,.rtl-container.teal.medium.large .mat-option,.rtl-container.teal.medium.large .mat-select,.rtl-container.teal.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.medium.large .logo{font-size:3.2rem}.rtl-container.teal.medium.large .font-60-percent{font-size:.96rem}.rtl-container.teal.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.medium.large .icon-large{font-size:8rem}.rtl-container.teal.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.medium.large .size-triple{font-size:4.8rem}.rtl-container.teal.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.medium .mat-flat-button.mat-primary:focus,.rtl-container.teal.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.large.small .mat-header-cell{font-weight:700}.rtl-container.teal.large.small .mr-4{margin-right:1rem!important}.rtl-container.teal.large.small .mat-menu-item,.rtl-container.teal.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.large.small .fa-icon-small,.rtl-container.teal.large.small .genseed-message,.rtl-container.teal.large.small .top-icon-small,.rtl-container.teal.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.large.small .page-sub-title-container,.rtl-container.teal.large.small .page-title-container{font-size:1.32rem}.rtl-container.teal.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.large.small .sidenav-img svg,.rtl-container.teal.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.large.small .material-icons,.rtl-container.teal.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.large.small .mat-expansion-panel-header,.rtl-container.teal.large.small .mat-list .mat-list-item,.rtl-container.teal.large.small .mat-menu-item,.rtl-container.teal.large.small .mat-nav-list .mat-list-item,.rtl-container.teal.large.small .mat-option,.rtl-container.teal.large.small .mat-select,.rtl-container.teal.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.large.small .logo{font-size:2.4rem}.rtl-container.teal.large.small .font-60-percent{font-size:.72rem}.rtl-container.teal.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.large.small .icon-large{font-size:6rem}.rtl-container.teal.large.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.large.small .size-triple{font-size:3.6rem}.rtl-container.teal.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large.medium .mat-header-cell{font-weight:700}.rtl-container.teal.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.large.medium .genseed-message,.rtl-container.teal.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.large.medium .page-sub-title-container,.rtl-container.teal.large.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.large.medium .fa-icon-small,.rtl-container.teal.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.large.medium .sidenav-img svg,.rtl-container.teal.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.large.medium .material-icons{font-size:2.8rem}.rtl-container.teal.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.large.medium .mat-expansion-panel-header,.rtl-container.teal.large.medium .mat-list .mat-list-item,.rtl-container.teal.large.medium .mat-menu-item,.rtl-container.teal.large.medium .mat-nav-list .mat-list-item,.rtl-container.teal.large.medium .mat-option,.rtl-container.teal.large.medium .mat-select,.rtl-container.teal.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.large.medium .logo{font-size:2.8rem}.rtl-container.teal.large.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.large.medium .icon-large{font-size:7rem}.rtl-container.teal.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.large.medium .size-triple{font-size:4.2rem}.rtl-container.teal.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large.large .mat-header-cell{font-weight:800}.rtl-container.teal.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.large.large .genseed-message,.rtl-container.teal.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.large.large .page-sub-title-container,.rtl-container.teal.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.large.large .fa-icon-small,.rtl-container.teal.large.large .modal-info-header,.rtl-container.teal.large.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.large.large .sidenav-img svg,.rtl-container.teal.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.large.large .material-icons{font-size:4rem}.rtl-container.teal.large.large .mat-expansion-panel-header,.rtl-container.teal.large.large .mat-list .mat-list-item,.rtl-container.teal.large.large .mat-menu-item,.rtl-container.teal.large.large .mat-nav-list .mat-list-item,.rtl-container.teal.large.large .mat-option,.rtl-container.teal.large.large .mat-select,.rtl-container.teal.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.large.large .logo{font-size:3.2rem}.rtl-container.teal.large.large .font-60-percent{font-size:.96rem}.rtl-container.teal.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.large.large .icon-large{font-size:8rem}.rtl-container.teal.large.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.large.large .size-triple{font-size:4.8rem}.rtl-container.teal.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.large .mat-flat-button.mat-primary:focus,.rtl-container.teal.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.day .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.day .mat-option{color:#000000de}.rtl-container.teal.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.teal.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.teal.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.teal.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.teal.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#00695c}.rtl-container.teal.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.teal.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.teal.day .mat-optgroup-label{color:#0000008a}.rtl-container.teal.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.teal.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.teal.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.teal.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.teal.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#00695c}.rtl-container.teal.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.teal.day .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.teal.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.teal.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.teal.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.teal.day.mat-app-background,.rtl-container.teal.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.teal.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.teal.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.teal.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.teal.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.teal.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.teal.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.teal.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.teal.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.teal.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.teal.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.teal.day .mat-badge-content{color:#fff;background:#00695c}.cdk-high-contrast-active .rtl-container.teal.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.teal.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.teal.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.teal.day .mat-badge{position:relative}.rtl-container.teal.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.teal.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.teal.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.teal.day .mat-badge-content._mat-animation-noopable,.rtl-container.teal.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.teal.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.teal.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.teal.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.teal.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.teal.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.teal.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.teal.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.teal.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.teal.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.teal.day .mat-button,.rtl-container.teal.day .mat-icon-button,.rtl-container.teal.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.teal.day .mat-button.mat-primary,.rtl-container.teal.day .mat-icon-button.mat-primary,.rtl-container.teal.day .mat-stroked-button.mat-primary{color:#00695c}.rtl-container.teal.day .mat-button.mat-accent,.rtl-container.teal.day .mat-icon-button.mat-accent,.rtl-container.teal.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.teal.day .mat-button.mat-warn,.rtl-container.teal.day .mat-icon-button.mat-warn,.rtl-container.teal.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.teal.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.teal.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#00695c}.rtl-container.teal.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.teal.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.teal.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.teal.day .mat-button .mat-ripple-element,.rtl-container.teal.day .mat-icon-button .mat-ripple-element,.rtl-container.teal.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.teal.day .mat-button-focus-overlay{background:#000}.rtl-container.teal.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.teal.day .mat-fab,.rtl-container.teal.day .mat-flat-button,.rtl-container.teal.day .mat-mini-fab,.rtl-container.teal.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.teal.day .mat-fab.mat-accent,.rtl-container.teal.day .mat-fab.mat-primary,.rtl-container.teal.day .mat-fab.mat-warn,.rtl-container.teal.day .mat-flat-button.mat-accent,.rtl-container.teal.day .mat-flat-button.mat-primary,.rtl-container.teal.day .mat-flat-button.mat-warn,.rtl-container.teal.day .mat-mini-fab.mat-accent,.rtl-container.teal.day .mat-mini-fab.mat-primary,.rtl-container.teal.day .mat-mini-fab.mat-warn,.rtl-container.teal.day .mat-raised-button.mat-accent,.rtl-container.teal.day .mat-raised-button.mat-primary,.rtl-container.teal.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.teal.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.teal.day .mat-fab.mat-primary,.rtl-container.teal.day .mat-flat-button.mat-primary,.rtl-container.teal.day .mat-mini-fab.mat-primary,.rtl-container.teal.day .mat-raised-button.mat-primary{background-color:#00695c}.rtl-container.teal.day .mat-fab.mat-accent,.rtl-container.teal.day .mat-flat-button.mat-accent,.rtl-container.teal.day .mat-mini-fab.mat-accent,.rtl-container.teal.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.teal.day .mat-fab.mat-warn,.rtl-container.teal.day .mat-flat-button.mat-warn,.rtl-container.teal.day .mat-mini-fab.mat-warn,.rtl-container.teal.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.teal.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.teal.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-button-toggle-group,.rtl-container.teal.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard,.rtl-container.teal.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.teal.day .mat-button-toggle{color:#00000061}.rtl-container.teal.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.teal.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.teal.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.teal.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.teal.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.teal.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.teal.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.teal.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.teal.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard,.rtl-container.teal.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.teal.day .mat-card{background:#fff;color:#000000de}.rtl-container.teal.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-card-subtitle{color:#0000008a}.rtl-container.teal.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.teal.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.teal.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.teal.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.teal.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#00695c}.rtl-container.teal.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.teal.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.teal.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.teal.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.teal.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.teal.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#00695c}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.teal.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.teal.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-table{background:#fff}.rtl-container.teal.day .mat-table-sticky,.rtl-container.teal.day .mat-table tbody,.rtl-container.teal.day .mat-table tfoot,.rtl-container.teal.day .mat-table thead,.rtl-container.teal.day [mat-footer-row],.rtl-container.teal.day [mat-header-row],.rtl-container.teal.day [mat-row],.rtl-container.teal.day mat-footer-row,.rtl-container.teal.day mat-header-row,.rtl-container.teal.day mat-row{background:inherit}.rtl-container.teal.day mat-footer-row,.rtl-container.teal.day mat-header-row,.rtl-container.teal.day mat-row,.rtl-container.teal.day td.mat-cell,.rtl-container.teal.day td.mat-footer-cell,.rtl-container.teal.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.teal.day .mat-header-cell{color:#0000008a}.rtl-container.teal.day .mat-cell,.rtl-container.teal.day .mat-footer-cell{color:#000000de}.rtl-container.teal.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.teal.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.teal.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.teal.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.teal.day .mat-calendar-table-header{color:#00000061}.rtl-container.teal.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.teal.day .mat-calendar-body-label{color:#0000008a}.rtl-container.teal.day .mat-calendar-body-cell-content,.rtl-container.teal.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.teal.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.teal.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.teal.day .mat-calendar-body-in-range:before{background:#00695c33}.rtl-container.teal.day .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-calendar-body-selected{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#00695c66}.rtl-container.teal.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00695c4d}.rtl-container.teal.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.teal.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.day .mat-datepicker-toggle-active{color:#00695c}.rtl-container.teal.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.teal.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.teal.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.teal.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.teal.day .mat-divider{border-top-color:#0000001f}.rtl-container.teal.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.teal.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.teal.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-action-row{border-top-color:#0000001f}.rtl-container.teal.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.teal.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.teal.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.teal.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.teal.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.teal.day .mat-expansion-indicator:after,.rtl-container.teal.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.teal.day .mat-form-field-label,.rtl-container.teal.day .mat-hint{color:#0009}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label{color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.teal.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.teal.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#00695c}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.teal.day .mat-error{color:#b00020}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.teal.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.teal.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.teal.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#00695c}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.teal.day .mat-icon.mat-primary{color:#00695c}.rtl-container.teal.day .mat-icon.mat-accent{color:#424242}.rtl-container.teal.day .mat-icon.mat-warn{color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.teal.day .mat-input-element:disabled{color:#00000061}.rtl-container.teal.day .mat-input-element{caret-color:#00695c}.rtl-container.teal.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.teal.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.teal.day .mat-form-field-invalid .mat-input-element,.rtl-container.teal.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.teal.day .mat-list-base .mat-list-item,.rtl-container.teal.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.teal.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.teal.day .mat-list-item-disabled{background-color:#eee}.rtl-container.teal.day .mat-action-list .mat-list-item:focus,.rtl-container.teal.day .mat-action-list .mat-list-item:hover,.rtl-container.teal.day .mat-list-option:focus,.rtl-container.teal.day .mat-list-option:hover,.rtl-container.teal.day .mat-nav-list .mat-list-item:focus,.rtl-container.teal.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.teal.day .mat-list-single-selected-option,.rtl-container.teal.day .mat-list-single-selected-option:focus,.rtl-container.teal.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.teal.day .mat-menu-panel{background:#fff}.rtl-container.teal.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.teal.day .mat-menu-item[disabled],.rtl-container.teal.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.teal.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.teal.day .mat-menu-item-submenu-trigger:after,.rtl-container.teal.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.teal.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.teal.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.teal.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.teal.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.teal.day .mat-paginator{background:#fff}.rtl-container.teal.day .mat-paginator,.rtl-container.teal.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.teal.day .mat-paginator-decrement,.rtl-container.teal.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.teal.day .mat-paginator-first,.rtl-container.teal.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.teal.day .mat-progress-bar-background{fill:#bcd6d3}.rtl-container.teal.day .mat-progress-bar-buffer{background-color:#bcd6d3}.rtl-container.teal.day .mat-progress-bar-fill:after{background-color:#00695c}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.teal.day .mat-progress-spinner circle,.rtl-container.teal.day .mat-spinner circle{stroke:#00695c}.rtl-container.teal.day .mat-progress-spinner.mat-accent circle,.rtl-container.teal.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.teal.day .mat-progress-spinner.mat-warn circle,.rtl-container.teal.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.teal.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.teal.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#00695c}.rtl-container.teal.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#00695c}.rtl-container.teal.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.teal.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.teal.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.teal.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.teal.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-select-value{color:#000000de}.rtl-container.teal.day .mat-select-placeholder{color:#0000006b}.rtl-container.teal.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.teal.day .mat-select-arrow{color:#0000008a}.rtl-container.teal.day .mat-select-panel{background:#fff}.rtl-container.teal.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.teal.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.teal.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.teal.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.teal.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.teal.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.teal.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.teal.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.teal.day .mat-drawer-side.mat-drawer-end,.rtl-container.teal.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.teal.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.teal.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#00695c}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#00695c8a}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#00695c}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.teal.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.teal.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.teal.day .mat-slider-track-background{background-color:#00000042}.rtl-container.teal.day .mat-primary .mat-slider-thumb,.rtl-container.teal.day .mat-primary .mat-slider-thumb-label,.rtl-container.teal.day .mat-primary .mat-slider-track-fill{background-color:#00695c}.rtl-container.teal.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-primary .mat-slider-focus-ring{background-color:#00695c33}.rtl-container.teal.day .mat-accent .mat-slider-thumb,.rtl-container.teal.day .mat-accent .mat-slider-thumb-label,.rtl-container.teal.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.teal.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.teal.day .mat-warn .mat-slider-thumb,.rtl-container.teal.day .mat-warn .mat-slider-thumb-label,.rtl-container.teal.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.teal.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.teal.day .cdk-focused .mat-slider-track-background,.rtl-container.teal.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.teal.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.teal.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.teal.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.teal.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.teal.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.teal.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.teal.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.teal.day .mat-step-header.cdk-keyboard-focused,.rtl-container.teal.day .mat-step-header.cdk-program-focused,.rtl-container.teal.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.teal.day .mat-step-header:hover{background:none}}.rtl-container.teal.day .mat-step-header .mat-step-label,.rtl-container.teal.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.teal.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.teal.day .mat-step-header .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header .mat-step-icon-state-edit{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.teal.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.teal.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.teal.day .mat-stepper-horizontal,.rtl-container.teal.day .mat-stepper-vertical{background-color:#fff}.rtl-container.teal.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.teal.day .mat-horizontal-stepper-header:after,.rtl-container.teal.day .mat-horizontal-stepper-header:before,.rtl-container.teal.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.teal.day .mat-sort-header-arrow{color:#757575}.rtl-container.teal.day .mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.teal.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.teal.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.teal.day .mat-tab-label,.rtl-container.teal.day .mat-tab-link{color:#000000de}.rtl-container.teal.day .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.teal.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.teal.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.teal.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#00695c}.rtl-container.teal.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.teal.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.teal.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.teal.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#00695c}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.teal.day .mat-toolbar.mat-primary{background:#00695c;color:#fff}.rtl-container.teal.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.teal.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.teal.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.teal.day .mat-toolbar .mat-form-field-ripple,.rtl-container.teal.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.teal.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.teal.day .mat-toolbar .mat-form-field-label,.rtl-container.teal.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.teal.day .mat-toolbar .mat-select-arrow,.rtl-container.teal.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.teal.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.teal.day .mat-tooltip{background:#616161e6}.rtl-container.teal.day .mat-tree{background:#fff}.rtl-container.teal.day .mat-nested-tree-node,.rtl-container.teal.day .mat-tree-node{color:#000000de}.rtl-container.teal.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-simple-snackbar-action{color:#424242}.rtl-container.teal.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.teal.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.teal.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.teal.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.teal.day .bg-primary{background-color:#00695c;color:#fff}.rtl-container.teal.day .rtl-snack-bar{color:#00695c}.rtl-container.teal.day .rtl-snack-bar,.rtl-container.teal.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important}.rtl-container.teal.day .rtl-warn-snack-bar{color:#b00020}.rtl-container.teal.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.teal.day .mat-tab-label.mat-tab-label-active{color:#00695c}.rtl-container.teal.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#00695c}.rtl-container.teal.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.teal.day .mat-form-field-suffix,.rtl-container.teal.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.teal.day .ng-fa-icon{color:#0000008a}.rtl-container.teal.day .mat-stroked-button.mat-primary{border-color:#00695c}.rtl-container.teal.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.teal.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.teal.day .selected-color{border-color:#4db6ac}.rtl-container.teal.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.teal.day .page-sub-title-container,.rtl-container.teal.day .page-title-container{color:#0000008a}.rtl-container.teal.day .page-sub-title-container .page-title-img,.rtl-container.teal.day .page-title-container .page-title-img{color:#00000061}.rtl-container.teal.day .page-sub-title-container .mat-input-element,.rtl-container.teal.day .page-sub-title-container .mat-radio-label-content,.rtl-container.teal.day .page-sub-title-container .theme-name,.rtl-container.teal.day .page-title-container .mat-input-element,.rtl-container.teal.day .page-title-container .mat-radio-label-content,.rtl-container.teal.day .page-title-container .theme-name{color:#000000de}.rtl-container.teal.day .cc-data-block .cc-data-title{color:#00695c}.rtl-container.teal.day .active-link,.rtl-container.teal.day .active-link .fa-icon-small{color:#00695c;font-weight:500;cursor:pointer;fill:#00695c}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.teal.day .mat-nested-tree-node-parent:hover,.rtl-container.teal.day .mat-select-panel .mat-option:hover,.rtl-container.teal.day .mat-tree-node:hover{color:#00695c;cursor:pointer;background:#0000000a}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.teal.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.teal.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.teal.day .mat-tree-node:hover .mat-icon,.rtl-container.teal.day .mat-tree-node:hover .ng-fa-icon{color:#00695c}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.teal.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.teal.day .mat-tree-node:hover .sidenav-img svg{fill:#00695c}.rtl-container.teal.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.teal.day .mat-nested-tree-node .sidenav-img,.rtl-container.teal.day .mat-tree-node .sidenav-img,.rtl-container.teal.day .page-title-container .page-title-img,.rtl-container.teal.day svg.top-icon-small{fill:#000000de}.rtl-container.teal.day .mat-progress-bar-fill:after{background-color:#004d40}.rtl-container.teal.day .modal-qr-code-container{background:#0000001f}.rtl-container.teal.day .mat-tab-label,.rtl-container.teal.day .mat-tab-link{color:#0000008a}.rtl-container.teal.day .mat-card,.rtl-container.teal.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.teal.day .dashboard-info-title{color:#00695c}.rtl-container.teal.day .dashboard-info-value{color:#0000008a}.rtl-container.teal.day .color-primary{color:#00695c!important}.rtl-container.teal.day .dot-primary{background-color:#00695c!important}.rtl-container.teal.day .dot-primary-lighter{background-color:#4db6ac!important}.rtl-container.teal.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.teal.day .mat-tooltip{font-size:120%}.rtl-container.teal.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.teal.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.teal.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.teal.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-1{fill:#fff}.rtl-container.teal.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.teal.day svg .fill-color-3,.rtl-container.teal.day svg .fill-color-4,.rtl-container.teal.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.teal.day svg .fill-color-6{fill:#fff}.rtl-container.teal.day svg .fill-color-7,.rtl-container.teal.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-9{fill:#fff}.rtl-container.teal.day svg .fill-color-10,.rtl-container.teal.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.teal.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-13,.rtl-container.teal.day svg .fill-color-14,.rtl-container.teal.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.teal.day svg .fill-color-16,.rtl-container.teal.day svg .fill-color-17{fill:#404040}.rtl-container.teal.day svg .fill-color-18{fill:#000}.rtl-container.teal.day svg .fill-color-19,.rtl-container.teal.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.teal.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-22,.rtl-container.teal.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-24{fill:#000}.rtl-container.teal.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.teal.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.teal.day svg .fill-color-27{fill:#000}.rtl-container.teal.day svg .fill-color-28{fill:#313131}.rtl-container.teal.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-30{fill:#fff}.rtl-container.teal.day svg .fill-color-31{fill:#00695c}.rtl-container.teal.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.teal.day svg .fill-color-primary{fill:#00695c}.rtl-container.teal.day svg .fill-color-primary-lighter{fill:#4db6ac}.rtl-container.teal.day svg .fill-color-primary-darker{fill:#00695c}.rtl-container.teal.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.teal.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.teal.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.teal.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.teal.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.teal.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.teal.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#00695c}.rtl-container.teal.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.teal.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#004d40}.rtl-container.teal.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.teal.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#80cbc4}.rtl-container.teal.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.teal.day .mat-progress-bar-buffer{background-color:#b2dfdb}.rtl-container.teal.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.teal.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.teal.day .foreground.mat-progress-spinner circle,.rtl-container.teal.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.teal.day .mat-toolbar-row,.rtl-container.teal.day .mat-toolbar-single-row{height:5rem}.rtl-container.teal.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.teal.day a{color:#00695c}.rtl-container.teal.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.teal.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.teal.day .mat-icon-36{color:#0000008a}.rtl-container.teal.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.teal.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.teal.day .genseed-message{width:10%;color:#00695c}.rtl-container.teal.day .material-icons.primary{color:#00695c}.rtl-container.teal.day .material-icons.accent{color:#424242}.rtl-container.teal.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.teal.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.teal.day .row-disabled{background-color:gray}.rtl-container.teal.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.teal.day .mat-menu-panel{min-width:6.4rem}.rtl-container.teal.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.teal.day .horizontal-button:hover{background:#4db6ac;color:#424242}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#00695c}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.teal.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.teal.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.teal.day .mat-cell,.rtl-container.teal.day .mat-footer-cell,.rtl-container.teal.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.teal.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.teal.day table.mat-table thead tr th{color:#000}.rtl-container.teal.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.teal.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.teal.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.teal.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.teal.day .more-button{color:#00000061}.rtl-container.teal.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.teal.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.teal.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.teal.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.teal.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.teal.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.teal.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.teal.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.teal.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.teal.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.teal.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.teal.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.teal.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.teal.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.teal.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.teal.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#80cbc4!important}.rtl-container.teal.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#00897b!important}.rtl-container.teal.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.teal.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.teal.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.teal.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.teal.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.teal.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.teal.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.teal.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.teal.day .color-warn{color:#b00020}.rtl-container.teal.day .fill-warn{fill:#b00020}.rtl-container.teal.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.teal.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.teal.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.teal.day .alert.alert-info a{color:#004085}.rtl-container.teal.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.teal.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.teal.day .alert.alert-warn a{color:#856404}.rtl-container.teal.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.teal.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.teal.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.teal.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.teal.day .help-expansion .mat-expansion-panel-header,.rtl-container.teal.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.teal.day .help-expansion .mat-expansion-indicator:after,.rtl-container.teal.day .help-expansion .mat-expansion-panel-content,.rtl-container.teal.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.teal.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.teal.day .failed-status{color:#b00020}.rtl-container.teal.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.teal.day .svg-fill-primary{fill:#00695c}.rtl-container.teal.day .svg-fill-primary-lighter{fill:#4db6ac}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.teal.day ngx-charts-bar-vertical-2d text,.rtl-container.teal.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.teal.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.teal.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.teal.day .mat-paginator-container{padding:0}.rtl-container.teal.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-option{color:#fff}.rtl-container.teal.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.teal.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.teal.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.teal.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#00695c}.rtl-container.teal.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.teal.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.teal.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.teal.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.teal.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#00695c}.rtl-container.teal.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.teal.night .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.teal.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.teal.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.teal.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.teal.night.mat-app-background,.rtl-container.teal.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.teal.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.teal.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.teal.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.teal.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.teal.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.teal.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.teal.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.teal.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.teal.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.teal.night .mat-badge-content{color:#fff;background:#00695c}.cdk-high-contrast-active .rtl-container.teal.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.teal.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.teal.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.teal.night .mat-badge{position:relative}.rtl-container.teal.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.teal.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.teal.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.teal.night .mat-badge-content._mat-animation-noopable,.rtl-container.teal.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.teal.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.teal.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.teal.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.teal.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.teal.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.teal.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.teal.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.teal.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.teal.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.teal.night .mat-button,.rtl-container.teal.night .mat-icon-button,.rtl-container.teal.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.teal.night .mat-button.mat-primary,.rtl-container.teal.night .mat-icon-button.mat-primary,.rtl-container.teal.night .mat-stroked-button.mat-primary{color:#00695c}.rtl-container.teal.night .mat-button.mat-accent,.rtl-container.teal.night .mat-icon-button.mat-accent,.rtl-container.teal.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.teal.night .mat-button.mat-warn,.rtl-container.teal.night .mat-icon-button.mat-warn,.rtl-container.teal.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.teal.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.teal.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#00695c}.rtl-container.teal.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.teal.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.teal.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.teal.night .mat-button .mat-ripple-element,.rtl-container.teal.night .mat-icon-button .mat-ripple-element,.rtl-container.teal.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.teal.night .mat-button-focus-overlay{background:#fff}.rtl-container.teal.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.teal.night .mat-fab,.rtl-container.teal.night .mat-flat-button,.rtl-container.teal.night .mat-mini-fab,.rtl-container.teal.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.teal.night .mat-fab.mat-primary,.rtl-container.teal.night .mat-flat-button.mat-primary,.rtl-container.teal.night .mat-mini-fab.mat-primary,.rtl-container.teal.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.teal.night .mat-fab.mat-accent,.rtl-container.teal.night .mat-flat-button.mat-accent,.rtl-container.teal.night .mat-mini-fab.mat-accent,.rtl-container.teal.night .mat-raised-button.mat-accent{color:#000}.rtl-container.teal.night .mat-fab.mat-warn,.rtl-container.teal.night .mat-flat-button.mat-warn,.rtl-container.teal.night .mat-mini-fab.mat-warn,.rtl-container.teal.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.teal.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.teal.night .mat-fab.mat-primary,.rtl-container.teal.night .mat-flat-button.mat-primary,.rtl-container.teal.night .mat-mini-fab.mat-primary,.rtl-container.teal.night .mat-raised-button.mat-primary{background-color:#00695c}.rtl-container.teal.night .mat-fab.mat-accent,.rtl-container.teal.night .mat-flat-button.mat-accent,.rtl-container.teal.night .mat-mini-fab.mat-accent,.rtl-container.teal.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.teal.night .mat-fab.mat-warn,.rtl-container.teal.night .mat-flat-button.mat-warn,.rtl-container.teal.night .mat-mini-fab.mat-warn,.rtl-container.teal.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.teal.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.teal.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-button-toggle-group,.rtl-container.teal.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard,.rtl-container.teal.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.teal.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.teal.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.teal.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.teal.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.teal.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.teal.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.teal.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard,.rtl-container.teal.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.teal.night .mat-card{background:#202020;color:#fff}.rtl-container.teal.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.teal.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.teal.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.teal.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#00695c}.rtl-container.teal.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.teal.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.teal.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.teal.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.teal.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#00695c}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.teal.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.night .mat-table{background:#202020}.rtl-container.teal.night .mat-table-sticky,.rtl-container.teal.night .mat-table tbody,.rtl-container.teal.night .mat-table tfoot,.rtl-container.teal.night .mat-table thead,.rtl-container.teal.night [mat-footer-row],.rtl-container.teal.night [mat-header-row],.rtl-container.teal.night [mat-row],.rtl-container.teal.night mat-footer-row,.rtl-container.teal.night mat-header-row,.rtl-container.teal.night mat-row{background:inherit}.rtl-container.teal.night mat-footer-row,.rtl-container.teal.night mat-header-row,.rtl-container.teal.night mat-row,.rtl-container.teal.night td.mat-cell,.rtl-container.teal.night td.mat-footer-cell,.rtl-container.teal.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.teal.night .mat-cell,.rtl-container.teal.night .mat-footer-cell{color:#fff}.rtl-container.teal.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.teal.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.teal.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.teal.night .mat-datepicker-toggle{color:#fff}.rtl-container.teal.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.teal.night .mat-calendar-body-cell-content,.rtl-container.teal.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.teal.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.teal.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.teal.night .mat-calendar-body-in-range:before{background:#00695c33}.rtl-container.teal.night .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-calendar-body-selected{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#00695c66}.rtl-container.teal.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00695c4d}.rtl-container.teal.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.teal.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.teal.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.night .mat-datepicker-toggle-active{color:#00695c}.rtl-container.teal.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.teal.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.teal.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.teal.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.teal.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.teal.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.teal.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.teal.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.teal.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.teal.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label{color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.teal.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.teal.night .mat-form-field-ripple{background-color:#fff}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#00695c}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.teal.night .mat-error{color:#ff343b}.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.teal.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.teal.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.teal.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.teal.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.teal.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.teal.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.teal.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#00695c}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.teal.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.teal.night .mat-icon.mat-primary{color:#00695c}.rtl-container.teal.night .mat-icon.mat-accent{color:#eee}.rtl-container.teal.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.teal.night .mat-input-element{caret-color:#00695c}.rtl-container.teal.night .mat-input-element option{color:#000000de}.rtl-container.teal.night .mat-input-element option:disabled{color:#00000061}.rtl-container.teal.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.teal.night .mat-form-field-invalid .mat-input-element,.rtl-container.teal.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.teal.night .mat-list-base .mat-list-item,.rtl-container.teal.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.teal.night .mat-list-item-disabled{background-color:#444}.rtl-container.teal.night .mat-action-list .mat-list-item:focus,.rtl-container.teal.night .mat-action-list .mat-list-item:hover,.rtl-container.teal.night .mat-list-option:focus,.rtl-container.teal.night .mat-list-option:hover,.rtl-container.teal.night .mat-nav-list .mat-list-item:focus,.rtl-container.teal.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.teal.night .mat-list-single-selected-option,.rtl-container.teal.night .mat-list-single-selected-option:focus,.rtl-container.teal.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.teal.night .mat-menu-panel{background:#202020}.rtl-container.teal.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.teal.night .mat-menu-item-submenu-trigger:after,.rtl-container.teal.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.teal.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.teal.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.teal.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.teal.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.teal.night .mat-paginator{background:#202020}.rtl-container.teal.night .mat-paginator-decrement,.rtl-container.teal.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.teal.night .mat-paginator-first,.rtl-container.teal.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.teal.night .mat-progress-bar-background{fill:#0a2421}.rtl-container.teal.night .mat-progress-bar-buffer{background-color:#0a2421}.rtl-container.teal.night .mat-progress-bar-fill:after{background-color:#00695c}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.teal.night .mat-progress-spinner circle,.rtl-container.teal.night .mat-spinner circle{stroke:#00695c}.rtl-container.teal.night .mat-progress-spinner.mat-accent circle,.rtl-container.teal.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.teal.night .mat-progress-spinner.mat-warn circle,.rtl-container.teal.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.teal.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#00695c}.rtl-container.teal.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#00695c}.rtl-container.teal.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.teal.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.teal.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.teal.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.teal.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-select-value{color:#fff}.rtl-container.teal.night .mat-select-panel{background:#202020}.rtl-container.teal.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.teal.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.teal.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.teal.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.teal.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.teal.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.teal.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-drawer-side.mat-drawer-end,.rtl-container.teal.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.teal.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#00695c}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#00695c8a}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#00695c}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.teal.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.teal.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.teal.night .mat-primary .mat-slider-thumb,.rtl-container.teal.night .mat-primary .mat-slider-thumb-label,.rtl-container.teal.night .mat-primary .mat-slider-track-fill{background-color:#00695c}.rtl-container.teal.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.night .mat-primary .mat-slider-focus-ring{background-color:#00695c33}.rtl-container.teal.night .mat-accent .mat-slider-thumb,.rtl-container.teal.night .mat-accent .mat-slider-thumb-label,.rtl-container.teal.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.teal.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.teal.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.teal.night .mat-warn .mat-slider-thumb,.rtl-container.teal.night .mat-warn .mat-slider-thumb-label,.rtl-container.teal.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.teal.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.teal.night .cdk-focused .mat-slider-track-background,.rtl-container.teal.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.teal.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.teal.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.teal.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.teal.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.teal.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.teal.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.teal.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.teal.night .mat-step-header.cdk-keyboard-focused,.rtl-container.teal.night .mat-step-header.cdk-program-focused,.rtl-container.teal.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.teal.night .mat-step-header:hover{background:none}}.rtl-container.teal.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header .mat-step-icon-state-edit{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.teal.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.teal.night .mat-stepper-horizontal,.rtl-container.teal.night .mat-stepper-vertical{background-color:#202020}.rtl-container.teal.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.teal.night .mat-horizontal-stepper-header:after,.rtl-container.teal.night .mat-horizontal-stepper-header:before,.rtl-container.teal.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.teal.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.teal.night .mat-tab-label,.rtl-container.teal.night .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.teal.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#00695c}.rtl-container.teal.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.teal.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.teal.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.teal.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#00695c}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.teal.night .mat-toolbar.mat-primary{background:#00695c;color:#fff}.rtl-container.teal.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.teal.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.teal.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.teal.night .mat-toolbar .mat-form-field-ripple,.rtl-container.teal.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.teal.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.teal.night .mat-toolbar .mat-form-field-label,.rtl-container.teal.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.teal.night .mat-toolbar .mat-select-arrow,.rtl-container.teal.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.teal.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.teal.night .mat-tree{background:#202020}.rtl-container.teal.night .mat-nested-tree-node,.rtl-container.teal.night .mat-tree-node{color:#fff}.rtl-container.teal.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-simple-snackbar-action{color:inherit}.rtl-container.teal.night .mat-primary{color:#64ffda}.rtl-container.teal.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.teal.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.teal.night .bg-primary{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-tab-label.mat-tab-label-active{color:#64ffda}.rtl-container.teal.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#64ffda}.rtl-container.teal.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.teal.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.teal.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.teal.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#64ffda}.rtl-container.teal.night .cc-data-block .cc-data-title{color:#64ffda}.rtl-container.teal.night .mat-stroked-button.mat-primary{border-color:#64ffda;color:#64ffda}.rtl-container.teal.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.teal.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.teal.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.teal.night .active-link,.rtl-container.teal.night .active-link .fa-icon-small,.rtl-container.teal.night .mat-select-panel .mat-option.mat-active,.rtl-container.teal.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#64ffda;font-weight:500;cursor:pointer;fill:#64ffda}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.teal.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#64ffda}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.teal.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.teal.night .mat-nested-tree-node-parent:hover,.rtl-container.teal.night .mat-select-panel .mat-option:hover,.rtl-container.teal.night .mat-tree-node:hover{color:#64ffda;cursor:pointer;background:#ffffff0f}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.teal.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.teal.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.teal.night .mat-tree-node:hover .mat-icon,.rtl-container.teal.night .mat-tree-node:hover .ng-fa-icon{color:#64ffda}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.teal.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.teal.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.teal.night .mat-tree-node:hover .sidenav-img svg{fill:#64ffda}.rtl-container.teal.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.teal.night .mat-nested-tree-node .sidenav-img,.rtl-container.teal.night .mat-tree-node .sidenav-img,.rtl-container.teal.night .page-title-container .page-title-img,.rtl-container.teal.night svg.top-icon-small{fill:#fff}.rtl-container.teal.night .selected-color{border-color:#4db6ac}.rtl-container.teal.night .mat-progress-bar-fill:after{background-color:#00897b}.rtl-container.teal.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.teal.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.teal.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.teal.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#64ffda}.rtl-container.teal.night .mat-select-panel{background-color:#262626}.rtl-container.teal.night .mat-tree{background:#262626}.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.teal.night .dashboard-info-title{color:#64ffda}.rtl-container.teal.night .dashboard-capacity-header,.rtl-container.teal.night .dashboard-info-value{color:#fff}.rtl-container.teal.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.teal.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.teal.night .color-primary{color:#64ffda!important}.rtl-container.teal.night .dot-primary{background-color:#64ffda!important}.rtl-container.teal.night .dot-primary-lighter{background-color:#00695c!important}.rtl-container.teal.night .mat-stepper-vertical{background-color:#262626}.rtl-container.teal.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.teal.night svg .boltz-icon-fill{fill:#fff}.rtl-container.teal.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .fill-color-0,.rtl-container.teal.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.teal.night svg .fill-color-1{fill:#232323}.rtl-container.teal.night svg .fill-color-2{fill:#222}.rtl-container.teal.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.teal.night svg .fill-color-4{fill:#383838}.rtl-container.teal.night svg .fill-color-5{fill:#555}.rtl-container.teal.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.teal.night svg .fill-color-7{fill:#202020}.rtl-container.teal.night svg .fill-color-8{fill:#242424}.rtl-container.teal.night svg .fill-color-9{fill:#262626}.rtl-container.teal.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.teal.night svg .fill-color-11{fill:#171717}.rtl-container.teal.night svg .fill-color-12{fill:#ccc}.rtl-container.teal.night svg .fill-color-13{fill:#adadad}.rtl-container.teal.night svg .fill-color-14{fill:#ababab}.rtl-container.teal.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.teal.night svg .fill-color-16{fill:#707070}.rtl-container.teal.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.teal.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.teal.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.teal.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.teal.night svg .fill-color-21{fill:#cacaca}.rtl-container.teal.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.teal.night svg .fill-color-23{fill:#777}.rtl-container.teal.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.teal.night svg .fill-color-25{fill:#252525}.rtl-container.teal.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.teal.night svg .fill-color-27{fill:#000}.rtl-container.teal.night svg .fill-color-28{fill:#313131}.rtl-container.teal.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.teal.night svg .fill-color-30{fill:#fff}.rtl-container.teal.night svg .fill-color-31{fill:#00695c}.rtl-container.teal.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.teal.night svg .fill-color-primary{fill:#00695c}.rtl-container.teal.night svg .fill-color-primary-lighter{fill:#4db6ac}.rtl-container.teal.night svg .fill-color-primary-darker{fill:#64ffda}.rtl-container.teal.night .mat-select-arrow,.rtl-container.teal.night .mat-select-value{color:#fff}.rtl-container.teal.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.teal.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.teal.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.teal.night .mat-slide-toggle-bar,.rtl-container.teal.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.teal.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.teal.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.teal.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.teal.night .mat-button.mat-primary,.rtl-container.teal.night .mat-icon-button.mat-primary,.rtl-container.teal.night .mat-stroked-button.mat-primary{color:#64ffda}.rtl-container.teal.night tr.alert.alert-warn .mat-cell,.rtl-container.teal.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.teal.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.teal.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.teal.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#64ffda}.rtl-container.teal.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.teal.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#00695c}.rtl-container.teal.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.teal.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#64ffda}.rtl-container.teal.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.teal.night .mat-progress-bar-buffer{background-color:#b2dfdb}.rtl-container.teal.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.teal.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.teal.night .foreground.mat-progress-spinner circle,.rtl-container.teal.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.teal.night .mat-toolbar-row,.rtl-container.teal.night .mat-toolbar-single-row{height:5rem}.rtl-container.teal.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night a{color:#00695c}.rtl-container.teal.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.teal.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.teal.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.teal.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.teal.night .genseed-message{width:10%;color:#00695c}.rtl-container.teal.night .material-icons.primary{color:#00695c}.rtl-container.teal.night .material-icons.accent{color:#eee}.rtl-container.teal.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.teal.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.teal.night .row-disabled{background-color:gray}.rtl-container.teal.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.teal.night .mat-menu-panel{min-width:6.4rem}.rtl-container.teal.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.teal.night .horizontal-button:hover{background:#4db6ac;color:#eee}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#00695c}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.teal.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.teal.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.teal.night .mat-cell,.rtl-container.teal.night .mat-footer-cell,.rtl-container.teal.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.teal.night table.mat-table thead tr th{color:#fff}.rtl-container.teal.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.teal.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.teal.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.teal.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.teal.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.teal.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.teal.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.teal.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.teal.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.teal.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.teal.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.teal.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.teal.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.teal.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.teal.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.teal.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.teal.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.teal.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.teal.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.teal.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#80cbc4!important}.rtl-container.teal.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#00897b!important}.rtl-container.teal.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.teal.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.teal.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.teal.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.teal.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.teal.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.teal.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.teal.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.teal.night .color-warn{color:#ff343b}.rtl-container.teal.night .fill-warn{fill:#ff343b}.rtl-container.teal.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.teal.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.teal.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.teal.night .alert.alert-info a{color:#004085}.rtl-container.teal.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.teal.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.teal.night .alert.alert-warn a{color:#856404}.rtl-container.teal.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.teal.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.teal.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.teal.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.teal.night .help-expansion .mat-expansion-panel-header,.rtl-container.teal.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.teal.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.teal.night .failed-status{color:#ff343b}.rtl-container.teal.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.teal.night .svg-fill-primary{fill:#00695c}.rtl-container.teal.night .svg-fill-primary-lighter{fill:#4db6ac}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.teal.night ngx-charts-bar-vertical-2d text,.rtl-container.teal.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.teal.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.teal.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.teal.night .mat-paginator-container{padding:0}.rtl-container.pink.small.small .mat-header-cell{font-weight:700}.rtl-container.pink.small.small .mr-4{margin-right:1rem!important}.rtl-container.pink.small.small .mat-menu-item,.rtl-container.pink.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.small.small .fa-icon-small,.rtl-container.pink.small.small .genseed-message,.rtl-container.pink.small.small .top-icon-small,.rtl-container.pink.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.small.small .page-sub-title-container,.rtl-container.pink.small.small .page-title-container{font-size:1.32rem}.rtl-container.pink.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.small.small .sidenav-img svg,.rtl-container.pink.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.small.small .material-icons,.rtl-container.pink.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.small.small .mat-expansion-panel-header,.rtl-container.pink.small.small .mat-list .mat-list-item,.rtl-container.pink.small.small .mat-menu-item,.rtl-container.pink.small.small .mat-nav-list .mat-list-item,.rtl-container.pink.small.small .mat-option,.rtl-container.pink.small.small .mat-select,.rtl-container.pink.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.small.small .logo{font-size:2.4rem}.rtl-container.pink.small.small .font-60-percent{font-size:.72rem}.rtl-container.pink.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.small.small .icon-large{font-size:6rem}.rtl-container.pink.small.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.small.small .size-triple{font-size:3.6rem}.rtl-container.pink.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small.medium .mat-header-cell{font-weight:700}.rtl-container.pink.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.small.medium .genseed-message,.rtl-container.pink.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.small.medium .page-sub-title-container,.rtl-container.pink.small.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.small.medium .fa-icon-small,.rtl-container.pink.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.small.medium .sidenav-img svg,.rtl-container.pink.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.small.medium .material-icons{font-size:2.8rem}.rtl-container.pink.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.small.medium .mat-expansion-panel-header,.rtl-container.pink.small.medium .mat-list .mat-list-item,.rtl-container.pink.small.medium .mat-menu-item,.rtl-container.pink.small.medium .mat-nav-list .mat-list-item,.rtl-container.pink.small.medium .mat-option,.rtl-container.pink.small.medium .mat-select,.rtl-container.pink.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.small.medium .logo{font-size:2.8rem}.rtl-container.pink.small.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.small.medium .icon-large{font-size:7rem}.rtl-container.pink.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.small.medium .size-triple{font-size:4.2rem}.rtl-container.pink.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small.large .mat-header-cell{font-weight:800}.rtl-container.pink.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.small.large .genseed-message,.rtl-container.pink.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.small.large .page-sub-title-container,.rtl-container.pink.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.small.large .fa-icon-small,.rtl-container.pink.small.large .modal-info-header,.rtl-container.pink.small.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.small.large .sidenav-img svg,.rtl-container.pink.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.small.large .material-icons{font-size:4rem}.rtl-container.pink.small.large .mat-expansion-panel-header,.rtl-container.pink.small.large .mat-list .mat-list-item,.rtl-container.pink.small.large .mat-menu-item,.rtl-container.pink.small.large .mat-nav-list .mat-list-item,.rtl-container.pink.small.large .mat-option,.rtl-container.pink.small.large .mat-select,.rtl-container.pink.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.small.large .logo{font-size:3.2rem}.rtl-container.pink.small.large .font-60-percent{font-size:.96rem}.rtl-container.pink.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.small.large .icon-large{font-size:8rem}.rtl-container.pink.small.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.small.large .size-triple{font-size:4.8rem}.rtl-container.pink.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.small .mat-flat-button.mat-primary:focus,.rtl-container.pink.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.medium.small .mat-header-cell{font-weight:700}.rtl-container.pink.medium.small .mr-4{margin-right:1rem!important}.rtl-container.pink.medium.small .mat-menu-item,.rtl-container.pink.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.medium.small .fa-icon-small,.rtl-container.pink.medium.small .genseed-message,.rtl-container.pink.medium.small .top-icon-small,.rtl-container.pink.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.medium.small .page-sub-title-container,.rtl-container.pink.medium.small .page-title-container{font-size:1.32rem}.rtl-container.pink.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.medium.small .sidenav-img svg,.rtl-container.pink.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.medium.small .material-icons,.rtl-container.pink.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.medium.small .mat-expansion-panel-header,.rtl-container.pink.medium.small .mat-list .mat-list-item,.rtl-container.pink.medium.small .mat-menu-item,.rtl-container.pink.medium.small .mat-nav-list .mat-list-item,.rtl-container.pink.medium.small .mat-option,.rtl-container.pink.medium.small .mat-select,.rtl-container.pink.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.medium.small .logo{font-size:2.4rem}.rtl-container.pink.medium.small .font-60-percent{font-size:.72rem}.rtl-container.pink.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.medium.small .icon-large{font-size:6rem}.rtl-container.pink.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.medium.small .size-triple{font-size:3.6rem}.rtl-container.pink.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium.medium .mat-header-cell{font-weight:700}.rtl-container.pink.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.medium.medium .genseed-message,.rtl-container.pink.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.medium.medium .page-sub-title-container,.rtl-container.pink.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.medium.medium .fa-icon-small,.rtl-container.pink.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.medium.medium .sidenav-img svg,.rtl-container.pink.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.medium.medium .material-icons{font-size:2.8rem}.rtl-container.pink.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.medium.medium .mat-expansion-panel-header,.rtl-container.pink.medium.medium .mat-list .mat-list-item,.rtl-container.pink.medium.medium .mat-menu-item,.rtl-container.pink.medium.medium .mat-nav-list .mat-list-item,.rtl-container.pink.medium.medium .mat-option,.rtl-container.pink.medium.medium .mat-select,.rtl-container.pink.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.medium.medium .logo{font-size:2.8rem}.rtl-container.pink.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.medium.medium .icon-large{font-size:7rem}.rtl-container.pink.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.medium.medium .size-triple{font-size:4.2rem}.rtl-container.pink.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium.large .mat-header-cell{font-weight:800}.rtl-container.pink.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.medium.large .genseed-message,.rtl-container.pink.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.medium.large .page-sub-title-container,.rtl-container.pink.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.medium.large .fa-icon-small,.rtl-container.pink.medium.large .modal-info-header,.rtl-container.pink.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.medium.large .sidenav-img svg,.rtl-container.pink.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.medium.large .material-icons{font-size:4rem}.rtl-container.pink.medium.large .mat-expansion-panel-header,.rtl-container.pink.medium.large .mat-list .mat-list-item,.rtl-container.pink.medium.large .mat-menu-item,.rtl-container.pink.medium.large .mat-nav-list .mat-list-item,.rtl-container.pink.medium.large .mat-option,.rtl-container.pink.medium.large .mat-select,.rtl-container.pink.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.medium.large .logo{font-size:3.2rem}.rtl-container.pink.medium.large .font-60-percent{font-size:.96rem}.rtl-container.pink.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.medium.large .icon-large{font-size:8rem}.rtl-container.pink.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.medium.large .size-triple{font-size:4.8rem}.rtl-container.pink.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.medium .mat-flat-button.mat-primary:focus,.rtl-container.pink.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.large.small .mat-header-cell{font-weight:700}.rtl-container.pink.large.small .mr-4{margin-right:1rem!important}.rtl-container.pink.large.small .mat-menu-item,.rtl-container.pink.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.large.small .fa-icon-small,.rtl-container.pink.large.small .genseed-message,.rtl-container.pink.large.small .top-icon-small,.rtl-container.pink.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.large.small .page-sub-title-container,.rtl-container.pink.large.small .page-title-container{font-size:1.32rem}.rtl-container.pink.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.large.small .sidenav-img svg,.rtl-container.pink.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.large.small .material-icons,.rtl-container.pink.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.large.small .mat-expansion-panel-header,.rtl-container.pink.large.small .mat-list .mat-list-item,.rtl-container.pink.large.small .mat-menu-item,.rtl-container.pink.large.small .mat-nav-list .mat-list-item,.rtl-container.pink.large.small .mat-option,.rtl-container.pink.large.small .mat-select,.rtl-container.pink.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.large.small .logo{font-size:2.4rem}.rtl-container.pink.large.small .font-60-percent{font-size:.72rem}.rtl-container.pink.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.large.small .icon-large{font-size:6rem}.rtl-container.pink.large.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.large.small .size-triple{font-size:3.6rem}.rtl-container.pink.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large.medium .mat-header-cell{font-weight:700}.rtl-container.pink.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.large.medium .genseed-message,.rtl-container.pink.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.large.medium .page-sub-title-container,.rtl-container.pink.large.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.large.medium .fa-icon-small,.rtl-container.pink.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.large.medium .sidenav-img svg,.rtl-container.pink.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.large.medium .material-icons{font-size:2.8rem}.rtl-container.pink.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.large.medium .mat-expansion-panel-header,.rtl-container.pink.large.medium .mat-list .mat-list-item,.rtl-container.pink.large.medium .mat-menu-item,.rtl-container.pink.large.medium .mat-nav-list .mat-list-item,.rtl-container.pink.large.medium .mat-option,.rtl-container.pink.large.medium .mat-select,.rtl-container.pink.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.large.medium .logo{font-size:2.8rem}.rtl-container.pink.large.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.large.medium .icon-large{font-size:7rem}.rtl-container.pink.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.large.medium .size-triple{font-size:4.2rem}.rtl-container.pink.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large.large .mat-header-cell{font-weight:800}.rtl-container.pink.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.large.large .genseed-message,.rtl-container.pink.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.large.large .page-sub-title-container,.rtl-container.pink.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.large.large .fa-icon-small,.rtl-container.pink.large.large .modal-info-header,.rtl-container.pink.large.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.large.large .sidenav-img svg,.rtl-container.pink.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.large.large .material-icons{font-size:4rem}.rtl-container.pink.large.large .mat-expansion-panel-header,.rtl-container.pink.large.large .mat-list .mat-list-item,.rtl-container.pink.large.large .mat-menu-item,.rtl-container.pink.large.large .mat-nav-list .mat-list-item,.rtl-container.pink.large.large .mat-option,.rtl-container.pink.large.large .mat-select,.rtl-container.pink.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.large.large .logo{font-size:3.2rem}.rtl-container.pink.large.large .font-60-percent{font-size:.96rem}.rtl-container.pink.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.large.large .icon-large{font-size:8rem}.rtl-container.pink.large.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.large.large .size-triple{font-size:4.8rem}.rtl-container.pink.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.large .mat-flat-button.mat-primary:focus,.rtl-container.pink.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.day .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.day .mat-option{color:#000000de}.rtl-container.pink.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.pink.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.pink.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.pink.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.pink.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#e91e63}.rtl-container.pink.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.pink.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.pink.day .mat-optgroup-label{color:#0000008a}.rtl-container.pink.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.pink.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.pink.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.pink.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.pink.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#e91e63}.rtl-container.pink.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.pink.day .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.pink.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.pink.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.pink.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.pink.day.mat-app-background,.rtl-container.pink.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.pink.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.pink.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.pink.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.pink.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.pink.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.pink.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.pink.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.pink.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.pink.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.pink.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.pink.day .mat-badge-content{color:#fff;background:#e91e63}.cdk-high-contrast-active .rtl-container.pink.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.pink.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.pink.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.pink.day .mat-badge{position:relative}.rtl-container.pink.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.pink.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.pink.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.pink.day .mat-badge-content._mat-animation-noopable,.rtl-container.pink.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.pink.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.pink.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.pink.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.pink.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.pink.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.pink.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.pink.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.pink.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.pink.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.pink.day .mat-button,.rtl-container.pink.day .mat-icon-button,.rtl-container.pink.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.pink.day .mat-button.mat-primary,.rtl-container.pink.day .mat-icon-button.mat-primary,.rtl-container.pink.day .mat-stroked-button.mat-primary{color:#e91e63}.rtl-container.pink.day .mat-button.mat-accent,.rtl-container.pink.day .mat-icon-button.mat-accent,.rtl-container.pink.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.pink.day .mat-button.mat-warn,.rtl-container.pink.day .mat-icon-button.mat-warn,.rtl-container.pink.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.pink.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.pink.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#e91e63}.rtl-container.pink.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.pink.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.pink.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.pink.day .mat-button .mat-ripple-element,.rtl-container.pink.day .mat-icon-button .mat-ripple-element,.rtl-container.pink.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.pink.day .mat-button-focus-overlay{background:#000}.rtl-container.pink.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.pink.day .mat-fab,.rtl-container.pink.day .mat-flat-button,.rtl-container.pink.day .mat-mini-fab,.rtl-container.pink.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.pink.day .mat-fab.mat-accent,.rtl-container.pink.day .mat-fab.mat-primary,.rtl-container.pink.day .mat-fab.mat-warn,.rtl-container.pink.day .mat-flat-button.mat-accent,.rtl-container.pink.day .mat-flat-button.mat-primary,.rtl-container.pink.day .mat-flat-button.mat-warn,.rtl-container.pink.day .mat-mini-fab.mat-accent,.rtl-container.pink.day .mat-mini-fab.mat-primary,.rtl-container.pink.day .mat-mini-fab.mat-warn,.rtl-container.pink.day .mat-raised-button.mat-accent,.rtl-container.pink.day .mat-raised-button.mat-primary,.rtl-container.pink.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.pink.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.pink.day .mat-fab.mat-primary,.rtl-container.pink.day .mat-flat-button.mat-primary,.rtl-container.pink.day .mat-mini-fab.mat-primary,.rtl-container.pink.day .mat-raised-button.mat-primary{background-color:#e91e63}.rtl-container.pink.day .mat-fab.mat-accent,.rtl-container.pink.day .mat-flat-button.mat-accent,.rtl-container.pink.day .mat-mini-fab.mat-accent,.rtl-container.pink.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.pink.day .mat-fab.mat-warn,.rtl-container.pink.day .mat-flat-button.mat-warn,.rtl-container.pink.day .mat-mini-fab.mat-warn,.rtl-container.pink.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.pink.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.pink.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-button-toggle-group,.rtl-container.pink.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard,.rtl-container.pink.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.pink.day .mat-button-toggle{color:#00000061}.rtl-container.pink.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.pink.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.pink.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.pink.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.pink.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.pink.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.pink.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.pink.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.pink.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard,.rtl-container.pink.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.pink.day .mat-card{background:#fff;color:#000000de}.rtl-container.pink.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-card-subtitle{color:#0000008a}.rtl-container.pink.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.pink.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.pink.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.pink.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.pink.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#e91e63}.rtl-container.pink.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.pink.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.pink.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.pink.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.pink.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.pink.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#e91e63}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.pink.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.pink.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-table{background:#fff}.rtl-container.pink.day .mat-table-sticky,.rtl-container.pink.day .mat-table tbody,.rtl-container.pink.day .mat-table tfoot,.rtl-container.pink.day .mat-table thead,.rtl-container.pink.day [mat-footer-row],.rtl-container.pink.day [mat-header-row],.rtl-container.pink.day [mat-row],.rtl-container.pink.day mat-footer-row,.rtl-container.pink.day mat-header-row,.rtl-container.pink.day mat-row{background:inherit}.rtl-container.pink.day mat-footer-row,.rtl-container.pink.day mat-header-row,.rtl-container.pink.day mat-row,.rtl-container.pink.day td.mat-cell,.rtl-container.pink.day td.mat-footer-cell,.rtl-container.pink.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.pink.day .mat-header-cell{color:#0000008a}.rtl-container.pink.day .mat-cell,.rtl-container.pink.day .mat-footer-cell{color:#000000de}.rtl-container.pink.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.pink.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.pink.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.pink.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.pink.day .mat-calendar-table-header{color:#00000061}.rtl-container.pink.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.pink.day .mat-calendar-body-label{color:#0000008a}.rtl-container.pink.day .mat-calendar-body-cell-content,.rtl-container.pink.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.pink.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.pink.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.pink.day .mat-calendar-body-in-range:before{background:#e91e6333}.rtl-container.pink.day .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-calendar-body-selected{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#e91e6366}.rtl-container.pink.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e91e634d}.rtl-container.pink.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.pink.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.day .mat-datepicker-toggle-active{color:#e91e63}.rtl-container.pink.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.pink.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.pink.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.pink.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.pink.day .mat-divider{border-top-color:#0000001f}.rtl-container.pink.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.pink.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.pink.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-action-row{border-top-color:#0000001f}.rtl-container.pink.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.pink.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.pink.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.pink.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.pink.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.pink.day .mat-expansion-indicator:after,.rtl-container.pink.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.pink.day .mat-form-field-label,.rtl-container.pink.day .mat-hint{color:#0009}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label{color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.pink.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.pink.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#e91e63}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.pink.day .mat-error{color:#b00020}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.pink.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.pink.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.pink.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#e91e63}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.pink.day .mat-icon.mat-primary{color:#e91e63}.rtl-container.pink.day .mat-icon.mat-accent{color:#424242}.rtl-container.pink.day .mat-icon.mat-warn{color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.pink.day .mat-input-element:disabled{color:#00000061}.rtl-container.pink.day .mat-input-element{caret-color:#e91e63}.rtl-container.pink.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.pink.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.pink.day .mat-form-field-invalid .mat-input-element,.rtl-container.pink.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.pink.day .mat-list-base .mat-list-item,.rtl-container.pink.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.pink.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.pink.day .mat-list-item-disabled{background-color:#eee}.rtl-container.pink.day .mat-action-list .mat-list-item:focus,.rtl-container.pink.day .mat-action-list .mat-list-item:hover,.rtl-container.pink.day .mat-list-option:focus,.rtl-container.pink.day .mat-list-option:hover,.rtl-container.pink.day .mat-nav-list .mat-list-item:focus,.rtl-container.pink.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.pink.day .mat-list-single-selected-option,.rtl-container.pink.day .mat-list-single-selected-option:focus,.rtl-container.pink.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.pink.day .mat-menu-panel{background:#fff}.rtl-container.pink.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.pink.day .mat-menu-item[disabled],.rtl-container.pink.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.pink.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.pink.day .mat-menu-item-submenu-trigger:after,.rtl-container.pink.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.pink.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.pink.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.pink.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.pink.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.pink.day .mat-paginator{background:#fff}.rtl-container.pink.day .mat-paginator,.rtl-container.pink.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.pink.day .mat-paginator-decrement,.rtl-container.pink.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.pink.day .mat-paginator-first,.rtl-container.pink.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.pink.day .mat-progress-bar-background{fill:#f6c3d4}.rtl-container.pink.day .mat-progress-bar-buffer{background-color:#f6c3d4}.rtl-container.pink.day .mat-progress-bar-fill:after{background-color:#e91e63}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.pink.day .mat-progress-spinner circle,.rtl-container.pink.day .mat-spinner circle{stroke:#e91e63}.rtl-container.pink.day .mat-progress-spinner.mat-accent circle,.rtl-container.pink.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.pink.day .mat-progress-spinner.mat-warn circle,.rtl-container.pink.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.pink.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.pink.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#e91e63}.rtl-container.pink.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#e91e63}.rtl-container.pink.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.pink.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.pink.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.pink.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.pink.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-select-value{color:#000000de}.rtl-container.pink.day .mat-select-placeholder{color:#0000006b}.rtl-container.pink.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.pink.day .mat-select-arrow{color:#0000008a}.rtl-container.pink.day .mat-select-panel{background:#fff}.rtl-container.pink.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.pink.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.pink.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.pink.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.pink.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.pink.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.pink.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.pink.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.pink.day .mat-drawer-side.mat-drawer-end,.rtl-container.pink.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.pink.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.pink.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#e91e63}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#e91e638a}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#e91e63}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.pink.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.pink.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.pink.day .mat-slider-track-background{background-color:#00000042}.rtl-container.pink.day .mat-primary .mat-slider-thumb,.rtl-container.pink.day .mat-primary .mat-slider-thumb-label,.rtl-container.pink.day .mat-primary .mat-slider-track-fill{background-color:#e91e63}.rtl-container.pink.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-primary .mat-slider-focus-ring{background-color:#e91e6333}.rtl-container.pink.day .mat-accent .mat-slider-thumb,.rtl-container.pink.day .mat-accent .mat-slider-thumb-label,.rtl-container.pink.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.pink.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.pink.day .mat-warn .mat-slider-thumb,.rtl-container.pink.day .mat-warn .mat-slider-thumb-label,.rtl-container.pink.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.pink.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.pink.day .cdk-focused .mat-slider-track-background,.rtl-container.pink.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.pink.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.pink.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.pink.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.pink.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.pink.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.pink.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.pink.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.pink.day .mat-step-header.cdk-keyboard-focused,.rtl-container.pink.day .mat-step-header.cdk-program-focused,.rtl-container.pink.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.pink.day .mat-step-header:hover{background:none}}.rtl-container.pink.day .mat-step-header .mat-step-label,.rtl-container.pink.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.pink.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.pink.day .mat-step-header .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header .mat-step-icon-state-edit{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.pink.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.pink.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.pink.day .mat-stepper-horizontal,.rtl-container.pink.day .mat-stepper-vertical{background-color:#fff}.rtl-container.pink.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.pink.day .mat-horizontal-stepper-header:after,.rtl-container.pink.day .mat-horizontal-stepper-header:before,.rtl-container.pink.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.pink.day .mat-sort-header-arrow{color:#757575}.rtl-container.pink.day .mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.pink.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.pink.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.pink.day .mat-tab-label,.rtl-container.pink.day .mat-tab-link{color:#000000de}.rtl-container.pink.day .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.pink.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.pink.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.pink.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#e91e63}.rtl-container.pink.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.pink.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.pink.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.pink.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#e91e63}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.pink.day .mat-toolbar.mat-primary{background:#e91e63;color:#fff}.rtl-container.pink.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.pink.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.pink.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.pink.day .mat-toolbar .mat-form-field-ripple,.rtl-container.pink.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.pink.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.pink.day .mat-toolbar .mat-form-field-label,.rtl-container.pink.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.pink.day .mat-toolbar .mat-select-arrow,.rtl-container.pink.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.pink.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.pink.day .mat-tooltip{background:#616161e6}.rtl-container.pink.day .mat-tree{background:#fff}.rtl-container.pink.day .mat-nested-tree-node,.rtl-container.pink.day .mat-tree-node{color:#000000de}.rtl-container.pink.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-simple-snackbar-action{color:#424242}.rtl-container.pink.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.pink.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.pink.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.pink.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.pink.day .bg-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.day .rtl-snack-bar{color:#e91e63}.rtl-container.pink.day .rtl-snack-bar,.rtl-container.pink.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important}.rtl-container.pink.day .rtl-warn-snack-bar{color:#b00020}.rtl-container.pink.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.pink.day .mat-tab-label.mat-tab-label-active{color:#e91e63}.rtl-container.pink.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#e91e63}.rtl-container.pink.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.pink.day .mat-form-field-suffix,.rtl-container.pink.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.pink.day .ng-fa-icon{color:#0000008a}.rtl-container.pink.day .mat-stroked-button.mat-primary{border-color:#e91e63}.rtl-container.pink.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.pink.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.pink.day .selected-color{border-color:#f06292}.rtl-container.pink.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.pink.day .page-sub-title-container,.rtl-container.pink.day .page-title-container{color:#0000008a}.rtl-container.pink.day .page-sub-title-container .page-title-img,.rtl-container.pink.day .page-title-container .page-title-img{color:#00000061}.rtl-container.pink.day .page-sub-title-container .mat-input-element,.rtl-container.pink.day .page-sub-title-container .mat-radio-label-content,.rtl-container.pink.day .page-sub-title-container .theme-name,.rtl-container.pink.day .page-title-container .mat-input-element,.rtl-container.pink.day .page-title-container .mat-radio-label-content,.rtl-container.pink.day .page-title-container .theme-name{color:#000000de}.rtl-container.pink.day .cc-data-block .cc-data-title{color:#e91e63}.rtl-container.pink.day .active-link,.rtl-container.pink.day .active-link .fa-icon-small{color:#e91e63;font-weight:500;cursor:pointer;fill:#e91e63}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.pink.day .mat-nested-tree-node-parent:hover,.rtl-container.pink.day .mat-select-panel .mat-option:hover,.rtl-container.pink.day .mat-tree-node:hover{color:#e91e63;cursor:pointer;background:#0000000a}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.pink.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.pink.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.pink.day .mat-tree-node:hover .mat-icon,.rtl-container.pink.day .mat-tree-node:hover .ng-fa-icon{color:#e91e63}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.pink.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.pink.day .mat-tree-node:hover .sidenav-img svg{fill:#e91e63}.rtl-container.pink.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.pink.day .mat-nested-tree-node .sidenav-img,.rtl-container.pink.day .mat-tree-node .sidenav-img,.rtl-container.pink.day .page-title-container .page-title-img,.rtl-container.pink.day svg.top-icon-small{fill:#000000de}.rtl-container.pink.day .mat-progress-bar-fill:after{background-color:#880e4f}.rtl-container.pink.day .modal-qr-code-container{background:#0000001f}.rtl-container.pink.day .mat-tab-label,.rtl-container.pink.day .mat-tab-link{color:#0000008a}.rtl-container.pink.day .mat-card,.rtl-container.pink.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.pink.day .dashboard-info-title{color:#e91e63}.rtl-container.pink.day .dashboard-info-value{color:#0000008a}.rtl-container.pink.day .color-primary{color:#e91e63!important}.rtl-container.pink.day .dot-primary{background-color:#e91e63!important}.rtl-container.pink.day .dot-primary-lighter{background-color:#f06292!important}.rtl-container.pink.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.pink.day .mat-tooltip{font-size:120%}.rtl-container.pink.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.pink.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.pink.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.pink.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-1{fill:#fff}.rtl-container.pink.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.pink.day svg .fill-color-3,.rtl-container.pink.day svg .fill-color-4,.rtl-container.pink.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.pink.day svg .fill-color-6{fill:#fff}.rtl-container.pink.day svg .fill-color-7,.rtl-container.pink.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-9{fill:#fff}.rtl-container.pink.day svg .fill-color-10,.rtl-container.pink.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.pink.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-13,.rtl-container.pink.day svg .fill-color-14,.rtl-container.pink.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.pink.day svg .fill-color-16,.rtl-container.pink.day svg .fill-color-17{fill:#404040}.rtl-container.pink.day svg .fill-color-18{fill:#000}.rtl-container.pink.day svg .fill-color-19,.rtl-container.pink.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.pink.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-22,.rtl-container.pink.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-24{fill:#000}.rtl-container.pink.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.pink.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.pink.day svg .fill-color-27{fill:#000}.rtl-container.pink.day svg .fill-color-28{fill:#313131}.rtl-container.pink.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-30{fill:#fff}.rtl-container.pink.day svg .fill-color-31{fill:#e91e63}.rtl-container.pink.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.pink.day svg .fill-color-primary{fill:#e91e63}.rtl-container.pink.day svg .fill-color-primary-lighter{fill:#f06292}.rtl-container.pink.day svg .fill-color-primary-darker{fill:#e91e63}.rtl-container.pink.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.pink.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.pink.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.pink.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.pink.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.pink.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.pink.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#e91e63}.rtl-container.pink.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.pink.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#880e4f}.rtl-container.pink.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.pink.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#f48fb1}.rtl-container.pink.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.pink.day .mat-progress-bar-buffer{background-color:#f8bbd0}.rtl-container.pink.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.pink.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.pink.day .foreground.mat-progress-spinner circle,.rtl-container.pink.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.pink.day .mat-toolbar-row,.rtl-container.pink.day .mat-toolbar-single-row{height:5rem}.rtl-container.pink.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.pink.day a{color:#e91e63}.rtl-container.pink.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.pink.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.pink.day .mat-icon-36{color:#0000008a}.rtl-container.pink.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.pink.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.pink.day .genseed-message{width:10%;color:#e91e63}.rtl-container.pink.day .material-icons.primary{color:#e91e63}.rtl-container.pink.day .material-icons.accent{color:#424242}.rtl-container.pink.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.pink.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.pink.day .row-disabled{background-color:gray}.rtl-container.pink.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.pink.day .mat-menu-panel{min-width:6.4rem}.rtl-container.pink.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.pink.day .horizontal-button:hover{background:#f06292;color:#424242}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#e91e63}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.pink.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.pink.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.pink.day .mat-cell,.rtl-container.pink.day .mat-footer-cell,.rtl-container.pink.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.pink.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.pink.day table.mat-table thead tr th{color:#000}.rtl-container.pink.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.pink.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.pink.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.pink.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.pink.day .more-button{color:#00000061}.rtl-container.pink.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.pink.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.pink.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.pink.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.pink.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.pink.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.pink.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.pink.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.pink.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.pink.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.pink.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.pink.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.pink.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.pink.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.pink.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.pink.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#f48fb1!important}.rtl-container.pink.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#d81b60!important}.rtl-container.pink.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.pink.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.pink.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.pink.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.pink.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.pink.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.pink.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.pink.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.pink.day .color-warn{color:#b00020}.rtl-container.pink.day .fill-warn{fill:#b00020}.rtl-container.pink.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.pink.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.pink.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.pink.day .alert.alert-info a{color:#004085}.rtl-container.pink.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.pink.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.pink.day .alert.alert-warn a{color:#856404}.rtl-container.pink.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.pink.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.pink.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.pink.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.pink.day .help-expansion .mat-expansion-panel-header,.rtl-container.pink.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.pink.day .help-expansion .mat-expansion-indicator:after,.rtl-container.pink.day .help-expansion .mat-expansion-panel-content,.rtl-container.pink.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.pink.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.pink.day .failed-status{color:#b00020}.rtl-container.pink.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.pink.day .svg-fill-primary{fill:#e91e63}.rtl-container.pink.day .svg-fill-primary-lighter{fill:#f06292}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.pink.day ngx-charts-bar-vertical-2d text,.rtl-container.pink.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.pink.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.pink.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.pink.day .mat-paginator-container{padding:0}.rtl-container.pink.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-option{color:#fff}.rtl-container.pink.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.pink.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.pink.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.pink.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#e91e63}.rtl-container.pink.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.pink.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.pink.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.pink.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.pink.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#e91e63}.rtl-container.pink.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.pink.night .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.pink.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.pink.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.pink.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.pink.night.mat-app-background,.rtl-container.pink.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.pink.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.pink.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.pink.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.pink.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.pink.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.pink.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.pink.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.pink.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.pink.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.pink.night .mat-badge-content{color:#fff;background:#e91e63}.cdk-high-contrast-active .rtl-container.pink.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.pink.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.pink.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.pink.night .mat-badge{position:relative}.rtl-container.pink.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.pink.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.pink.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.pink.night .mat-badge-content._mat-animation-noopable,.rtl-container.pink.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.pink.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.pink.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.pink.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.pink.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.pink.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.pink.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.pink.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.pink.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.pink.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.pink.night .mat-button,.rtl-container.pink.night .mat-icon-button,.rtl-container.pink.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.pink.night .mat-button.mat-primary,.rtl-container.pink.night .mat-icon-button.mat-primary,.rtl-container.pink.night .mat-stroked-button.mat-primary{color:#e91e63}.rtl-container.pink.night .mat-button.mat-accent,.rtl-container.pink.night .mat-icon-button.mat-accent,.rtl-container.pink.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.pink.night .mat-button.mat-warn,.rtl-container.pink.night .mat-icon-button.mat-warn,.rtl-container.pink.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.pink.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.pink.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#e91e63}.rtl-container.pink.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.pink.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.pink.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.pink.night .mat-button .mat-ripple-element,.rtl-container.pink.night .mat-icon-button .mat-ripple-element,.rtl-container.pink.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.pink.night .mat-button-focus-overlay{background:#fff}.rtl-container.pink.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.pink.night .mat-fab,.rtl-container.pink.night .mat-flat-button,.rtl-container.pink.night .mat-mini-fab,.rtl-container.pink.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.pink.night .mat-fab.mat-primary,.rtl-container.pink.night .mat-flat-button.mat-primary,.rtl-container.pink.night .mat-mini-fab.mat-primary,.rtl-container.pink.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.pink.night .mat-fab.mat-accent,.rtl-container.pink.night .mat-flat-button.mat-accent,.rtl-container.pink.night .mat-mini-fab.mat-accent,.rtl-container.pink.night .mat-raised-button.mat-accent{color:#000}.rtl-container.pink.night .mat-fab.mat-warn,.rtl-container.pink.night .mat-flat-button.mat-warn,.rtl-container.pink.night .mat-mini-fab.mat-warn,.rtl-container.pink.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.pink.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.pink.night .mat-fab.mat-primary,.rtl-container.pink.night .mat-flat-button.mat-primary,.rtl-container.pink.night .mat-mini-fab.mat-primary,.rtl-container.pink.night .mat-raised-button.mat-primary{background-color:#e91e63}.rtl-container.pink.night .mat-fab.mat-accent,.rtl-container.pink.night .mat-flat-button.mat-accent,.rtl-container.pink.night .mat-mini-fab.mat-accent,.rtl-container.pink.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.pink.night .mat-fab.mat-warn,.rtl-container.pink.night .mat-flat-button.mat-warn,.rtl-container.pink.night .mat-mini-fab.mat-warn,.rtl-container.pink.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.pink.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.pink.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-button-toggle-group,.rtl-container.pink.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard,.rtl-container.pink.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.pink.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.pink.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.pink.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.pink.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.pink.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.pink.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.pink.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard,.rtl-container.pink.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.pink.night .mat-card{background:#202020;color:#fff}.rtl-container.pink.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.pink.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.pink.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.pink.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#e91e63}.rtl-container.pink.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.pink.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.pink.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.pink.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.pink.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#e91e63}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.pink.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.night .mat-table{background:#202020}.rtl-container.pink.night .mat-table-sticky,.rtl-container.pink.night .mat-table tbody,.rtl-container.pink.night .mat-table tfoot,.rtl-container.pink.night .mat-table thead,.rtl-container.pink.night [mat-footer-row],.rtl-container.pink.night [mat-header-row],.rtl-container.pink.night [mat-row],.rtl-container.pink.night mat-footer-row,.rtl-container.pink.night mat-header-row,.rtl-container.pink.night mat-row{background:inherit}.rtl-container.pink.night mat-footer-row,.rtl-container.pink.night mat-header-row,.rtl-container.pink.night mat-row,.rtl-container.pink.night td.mat-cell,.rtl-container.pink.night td.mat-footer-cell,.rtl-container.pink.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.pink.night .mat-cell,.rtl-container.pink.night .mat-footer-cell{color:#fff}.rtl-container.pink.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.pink.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.pink.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.pink.night .mat-datepicker-toggle{color:#fff}.rtl-container.pink.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.pink.night .mat-calendar-body-cell-content,.rtl-container.pink.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.pink.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.pink.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.pink.night .mat-calendar-body-in-range:before{background:#e91e6333}.rtl-container.pink.night .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-calendar-body-selected{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#e91e6366}.rtl-container.pink.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e91e634d}.rtl-container.pink.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.pink.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.pink.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.night .mat-datepicker-toggle-active{color:#e91e63}.rtl-container.pink.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.pink.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.pink.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.pink.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.pink.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.pink.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.pink.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.pink.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.pink.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.pink.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label{color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.pink.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.pink.night .mat-form-field-ripple{background-color:#fff}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#e91e63}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.pink.night .mat-error{color:#ff343b}.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.pink.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.pink.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.pink.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.pink.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.pink.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.pink.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.pink.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#e91e63}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.pink.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.pink.night .mat-icon.mat-primary{color:#e91e63}.rtl-container.pink.night .mat-icon.mat-accent{color:#eee}.rtl-container.pink.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.pink.night .mat-input-element{caret-color:#e91e63}.rtl-container.pink.night .mat-input-element option{color:#000000de}.rtl-container.pink.night .mat-input-element option:disabled{color:#00000061}.rtl-container.pink.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.pink.night .mat-form-field-invalid .mat-input-element,.rtl-container.pink.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.pink.night .mat-list-base .mat-list-item,.rtl-container.pink.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.pink.night .mat-list-item-disabled{background-color:#444}.rtl-container.pink.night .mat-action-list .mat-list-item:focus,.rtl-container.pink.night .mat-action-list .mat-list-item:hover,.rtl-container.pink.night .mat-list-option:focus,.rtl-container.pink.night .mat-list-option:hover,.rtl-container.pink.night .mat-nav-list .mat-list-item:focus,.rtl-container.pink.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.pink.night .mat-list-single-selected-option,.rtl-container.pink.night .mat-list-single-selected-option:focus,.rtl-container.pink.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.pink.night .mat-menu-panel{background:#202020}.rtl-container.pink.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.pink.night .mat-menu-item-submenu-trigger:after,.rtl-container.pink.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.pink.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.pink.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.pink.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.pink.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.pink.night .mat-paginator{background:#202020}.rtl-container.pink.night .mat-paginator-decrement,.rtl-container.pink.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.pink.night .mat-paginator-first,.rtl-container.pink.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.pink.night .mat-progress-bar-background{fill:#441123}.rtl-container.pink.night .mat-progress-bar-buffer{background-color:#441123}.rtl-container.pink.night .mat-progress-bar-fill:after{background-color:#e91e63}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.pink.night .mat-progress-spinner circle,.rtl-container.pink.night .mat-spinner circle{stroke:#e91e63}.rtl-container.pink.night .mat-progress-spinner.mat-accent circle,.rtl-container.pink.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.pink.night .mat-progress-spinner.mat-warn circle,.rtl-container.pink.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.pink.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#e91e63}.rtl-container.pink.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#e91e63}.rtl-container.pink.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.pink.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.pink.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.pink.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.pink.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-select-value{color:#fff}.rtl-container.pink.night .mat-select-panel{background:#202020}.rtl-container.pink.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.pink.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.pink.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.pink.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.pink.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.pink.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.pink.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-drawer-side.mat-drawer-end,.rtl-container.pink.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.pink.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#e91e63}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#e91e638a}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#e91e63}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.pink.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.pink.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.pink.night .mat-primary .mat-slider-thumb,.rtl-container.pink.night .mat-primary .mat-slider-thumb-label,.rtl-container.pink.night .mat-primary .mat-slider-track-fill{background-color:#e91e63}.rtl-container.pink.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.night .mat-primary .mat-slider-focus-ring{background-color:#e91e6333}.rtl-container.pink.night .mat-accent .mat-slider-thumb,.rtl-container.pink.night .mat-accent .mat-slider-thumb-label,.rtl-container.pink.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.pink.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.pink.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.pink.night .mat-warn .mat-slider-thumb,.rtl-container.pink.night .mat-warn .mat-slider-thumb-label,.rtl-container.pink.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.pink.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.pink.night .cdk-focused .mat-slider-track-background,.rtl-container.pink.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.pink.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.pink.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.pink.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.pink.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.pink.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.pink.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.pink.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.pink.night .mat-step-header.cdk-keyboard-focused,.rtl-container.pink.night .mat-step-header.cdk-program-focused,.rtl-container.pink.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.pink.night .mat-step-header:hover{background:none}}.rtl-container.pink.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header .mat-step-icon-state-edit{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.pink.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.pink.night .mat-stepper-horizontal,.rtl-container.pink.night .mat-stepper-vertical{background-color:#202020}.rtl-container.pink.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.pink.night .mat-horizontal-stepper-header:after,.rtl-container.pink.night .mat-horizontal-stepper-header:before,.rtl-container.pink.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.pink.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.pink.night .mat-tab-label,.rtl-container.pink.night .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.pink.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#e91e63}.rtl-container.pink.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.pink.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.pink.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.pink.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#e91e63}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.pink.night .mat-toolbar.mat-primary{background:#e91e63;color:#fff}.rtl-container.pink.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.pink.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.pink.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.pink.night .mat-toolbar .mat-form-field-ripple,.rtl-container.pink.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.pink.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.pink.night .mat-toolbar .mat-form-field-label,.rtl-container.pink.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.pink.night .mat-toolbar .mat-select-arrow,.rtl-container.pink.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.pink.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.pink.night .mat-tree{background:#202020}.rtl-container.pink.night .mat-nested-tree-node,.rtl-container.pink.night .mat-tree-node{color:#fff}.rtl-container.pink.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-simple-snackbar-action{color:inherit}.rtl-container.pink.night .mat-primary{color:#ff4081}.rtl-container.pink.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.pink.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.pink.night .bg-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-tab-label.mat-tab-label-active{color:#ff4081}.rtl-container.pink.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#ff4081}.rtl-container.pink.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.pink.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.pink.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.pink.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#ff4081}.rtl-container.pink.night .cc-data-block .cc-data-title{color:#ff4081}.rtl-container.pink.night .mat-stroked-button.mat-primary{border-color:#ff4081;color:#ff4081}.rtl-container.pink.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.pink.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.pink.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.pink.night .active-link,.rtl-container.pink.night .active-link .fa-icon-small,.rtl-container.pink.night .mat-select-panel .mat-option.mat-active,.rtl-container.pink.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#ff4081;font-weight:500;cursor:pointer;fill:#ff4081}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.pink.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#ff4081}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.pink.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.pink.night .mat-nested-tree-node-parent:hover,.rtl-container.pink.night .mat-select-panel .mat-option:hover,.rtl-container.pink.night .mat-tree-node:hover{color:#ff4081;cursor:pointer;background:#ffffff0f}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.pink.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.pink.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.pink.night .mat-tree-node:hover .mat-icon,.rtl-container.pink.night .mat-tree-node:hover .ng-fa-icon{color:#ff4081}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.pink.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.pink.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.pink.night .mat-tree-node:hover .sidenav-img svg{fill:#ff4081}.rtl-container.pink.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.pink.night .mat-nested-tree-node .sidenav-img,.rtl-container.pink.night .mat-tree-node .sidenav-img,.rtl-container.pink.night .page-title-container .page-title-img,.rtl-container.pink.night svg.top-icon-small{fill:#fff}.rtl-container.pink.night .selected-color{border-color:#f06292}.rtl-container.pink.night .mat-progress-bar-fill:after{background-color:#d81b60}.rtl-container.pink.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.pink.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.pink.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.pink.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.rtl-container.pink.night .mat-select-panel{background-color:#262626}.rtl-container.pink.night .mat-tree{background:#262626}.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.pink.night .dashboard-info-title{color:#ff4081}.rtl-container.pink.night .dashboard-capacity-header,.rtl-container.pink.night .dashboard-info-value{color:#fff}.rtl-container.pink.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.pink.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.pink.night .color-primary{color:#ff4081!important}.rtl-container.pink.night .dot-primary{background-color:#ff4081!important}.rtl-container.pink.night .dot-primary-lighter{background-color:#e91e63!important}.rtl-container.pink.night .mat-stepper-vertical{background-color:#262626}.rtl-container.pink.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.pink.night svg .boltz-icon-fill{fill:#fff}.rtl-container.pink.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .fill-color-0,.rtl-container.pink.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.pink.night svg .fill-color-1{fill:#232323}.rtl-container.pink.night svg .fill-color-2{fill:#222}.rtl-container.pink.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.pink.night svg .fill-color-4{fill:#383838}.rtl-container.pink.night svg .fill-color-5{fill:#555}.rtl-container.pink.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.pink.night svg .fill-color-7{fill:#202020}.rtl-container.pink.night svg .fill-color-8{fill:#242424}.rtl-container.pink.night svg .fill-color-9{fill:#262626}.rtl-container.pink.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.pink.night svg .fill-color-11{fill:#171717}.rtl-container.pink.night svg .fill-color-12{fill:#ccc}.rtl-container.pink.night svg .fill-color-13{fill:#adadad}.rtl-container.pink.night svg .fill-color-14{fill:#ababab}.rtl-container.pink.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.pink.night svg .fill-color-16{fill:#707070}.rtl-container.pink.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.pink.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.pink.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.pink.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.pink.night svg .fill-color-21{fill:#cacaca}.rtl-container.pink.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.pink.night svg .fill-color-23{fill:#777}.rtl-container.pink.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.pink.night svg .fill-color-25{fill:#252525}.rtl-container.pink.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.pink.night svg .fill-color-27{fill:#000}.rtl-container.pink.night svg .fill-color-28{fill:#313131}.rtl-container.pink.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.pink.night svg .fill-color-30{fill:#fff}.rtl-container.pink.night svg .fill-color-31{fill:#e91e63}.rtl-container.pink.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.pink.night svg .fill-color-primary{fill:#e91e63}.rtl-container.pink.night svg .fill-color-primary-lighter{fill:#f06292}.rtl-container.pink.night svg .fill-color-primary-darker{fill:#ff4081}.rtl-container.pink.night .mat-select-arrow,.rtl-container.pink.night .mat-select-value{color:#fff}.rtl-container.pink.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.pink.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.pink.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.pink.night .mat-slide-toggle-bar,.rtl-container.pink.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.pink.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.pink.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.pink.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.pink.night .mat-button.mat-primary,.rtl-container.pink.night .mat-icon-button.mat-primary,.rtl-container.pink.night .mat-stroked-button.mat-primary{color:#ff4081}.rtl-container.pink.night tr.alert.alert-warn .mat-cell,.rtl-container.pink.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.pink.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.pink.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.pink.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#ff4081}.rtl-container.pink.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.pink.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#ad1457}.rtl-container.pink.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.pink.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#ff4081}.rtl-container.pink.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.pink.night .mat-progress-bar-buffer{background-color:#f8bbd0}.rtl-container.pink.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.pink.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.pink.night .foreground.mat-progress-spinner circle,.rtl-container.pink.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.pink.night .mat-toolbar-row,.rtl-container.pink.night .mat-toolbar-single-row{height:5rem}.rtl-container.pink.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night a{color:#e91e63}.rtl-container.pink.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.pink.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.pink.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.pink.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.pink.night .genseed-message{width:10%;color:#e91e63}.rtl-container.pink.night .material-icons.primary{color:#e91e63}.rtl-container.pink.night .material-icons.accent{color:#eee}.rtl-container.pink.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.pink.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.pink.night .row-disabled{background-color:gray}.rtl-container.pink.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.pink.night .mat-menu-panel{min-width:6.4rem}.rtl-container.pink.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.pink.night .horizontal-button:hover{background:#f06292;color:#eee}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#e91e63}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.pink.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.pink.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.pink.night .mat-cell,.rtl-container.pink.night .mat-footer-cell,.rtl-container.pink.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.pink.night table.mat-table thead tr th{color:#fff}.rtl-container.pink.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.pink.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.pink.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.pink.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.pink.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.pink.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.pink.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.pink.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.pink.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.pink.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.pink.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.pink.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.pink.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.pink.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.pink.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.pink.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.pink.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.pink.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.pink.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.pink.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#f48fb1!important}.rtl-container.pink.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#d81b60!important}.rtl-container.pink.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.pink.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.pink.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.pink.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.pink.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.pink.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.pink.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.pink.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.pink.night .color-warn{color:#ff343b}.rtl-container.pink.night .fill-warn{fill:#ff343b}.rtl-container.pink.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.pink.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.pink.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.pink.night .alert.alert-info a{color:#004085}.rtl-container.pink.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.pink.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.pink.night .alert.alert-warn a{color:#856404}.rtl-container.pink.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.pink.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.pink.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.pink.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.pink.night .help-expansion .mat-expansion-panel-header,.rtl-container.pink.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.pink.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.pink.night .failed-status{color:#ff343b}.rtl-container.pink.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.pink.night .svg-fill-primary{fill:#e91e63}.rtl-container.pink.night .svg-fill-primary-lighter{fill:#f06292}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.pink.night ngx-charts-bar-vertical-2d text,.rtl-container.pink.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.pink.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.pink.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.pink.night .mat-paginator-container{padding:0}.rtl-container.yellow.small.small .mat-header-cell{font-weight:700}.rtl-container.yellow.small.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.small.small .mat-menu-item,.rtl-container.yellow.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.small.small .fa-icon-small,.rtl-container.yellow.small.small .genseed-message,.rtl-container.yellow.small.small .top-icon-small,.rtl-container.yellow.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.small.small .page-sub-title-container,.rtl-container.yellow.small.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.small.small .sidenav-img svg,.rtl-container.yellow.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.small.small .material-icons,.rtl-container.yellow.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.small.small .mat-expansion-panel-header,.rtl-container.yellow.small.small .mat-list .mat-list-item,.rtl-container.yellow.small.small .mat-menu-item,.rtl-container.yellow.small.small .mat-nav-list .mat-list-item,.rtl-container.yellow.small.small .mat-option,.rtl-container.yellow.small.small .mat-select,.rtl-container.yellow.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.small.small .logo{font-size:2.4rem}.rtl-container.yellow.small.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.small.small .icon-large{font-size:6rem}.rtl-container.yellow.small.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.small.small .size-triple{font-size:3.6rem}.rtl-container.yellow.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.small.medium .genseed-message,.rtl-container.yellow.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.small.medium .page-sub-title-container,.rtl-container.yellow.small.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.small.medium .fa-icon-small,.rtl-container.yellow.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.small.medium .sidenav-img svg,.rtl-container.yellow.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.small.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.small.medium .mat-expansion-panel-header,.rtl-container.yellow.small.medium .mat-list .mat-list-item,.rtl-container.yellow.small.medium .mat-menu-item,.rtl-container.yellow.small.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.small.medium .mat-option,.rtl-container.yellow.small.medium .mat-select,.rtl-container.yellow.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.small.medium .logo{font-size:2.8rem}.rtl-container.yellow.small.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.small.medium .icon-large{font-size:7rem}.rtl-container.yellow.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.small.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small.large .mat-header-cell{font-weight:800}.rtl-container.yellow.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.small.large .genseed-message,.rtl-container.yellow.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.small.large .page-sub-title-container,.rtl-container.yellow.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.small.large .fa-icon-small,.rtl-container.yellow.small.large .modal-info-header,.rtl-container.yellow.small.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.small.large .sidenav-img svg,.rtl-container.yellow.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.small.large .material-icons{font-size:4rem}.rtl-container.yellow.small.large .mat-expansion-panel-header,.rtl-container.yellow.small.large .mat-list .mat-list-item,.rtl-container.yellow.small.large .mat-menu-item,.rtl-container.yellow.small.large .mat-nav-list .mat-list-item,.rtl-container.yellow.small.large .mat-option,.rtl-container.yellow.small.large .mat-select,.rtl-container.yellow.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.small.large .logo{font-size:3.2rem}.rtl-container.yellow.small.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.small.large .icon-large{font-size:8rem}.rtl-container.yellow.small.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.small.large .size-triple{font-size:4.8rem}.rtl-container.yellow.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.small .mat-flat-button.mat-primary:focus,.rtl-container.yellow.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.medium.small .mat-header-cell{font-weight:700}.rtl-container.yellow.medium.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.medium.small .mat-menu-item,.rtl-container.yellow.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.medium.small .fa-icon-small,.rtl-container.yellow.medium.small .genseed-message,.rtl-container.yellow.medium.small .top-icon-small,.rtl-container.yellow.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.medium.small .page-sub-title-container,.rtl-container.yellow.medium.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.medium.small .sidenav-img svg,.rtl-container.yellow.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.medium.small .material-icons,.rtl-container.yellow.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.medium.small .mat-expansion-panel-header,.rtl-container.yellow.medium.small .mat-list .mat-list-item,.rtl-container.yellow.medium.small .mat-menu-item,.rtl-container.yellow.medium.small .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.small .mat-option,.rtl-container.yellow.medium.small .mat-select,.rtl-container.yellow.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.medium.small .logo{font-size:2.4rem}.rtl-container.yellow.medium.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.medium.small .icon-large{font-size:6rem}.rtl-container.yellow.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.medium.small .size-triple{font-size:3.6rem}.rtl-container.yellow.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.medium.medium .genseed-message,.rtl-container.yellow.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.medium.medium .page-sub-title-container,.rtl-container.yellow.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.medium.medium .fa-icon-small,.rtl-container.yellow.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.medium.medium .sidenav-img svg,.rtl-container.yellow.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.medium.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.medium.medium .mat-expansion-panel-header,.rtl-container.yellow.medium.medium .mat-list .mat-list-item,.rtl-container.yellow.medium.medium .mat-menu-item,.rtl-container.yellow.medium.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.medium .mat-option,.rtl-container.yellow.medium.medium .mat-select,.rtl-container.yellow.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.medium.medium .logo{font-size:2.8rem}.rtl-container.yellow.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.medium.medium .icon-large{font-size:7rem}.rtl-container.yellow.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.medium.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium.large .mat-header-cell{font-weight:800}.rtl-container.yellow.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.medium.large .genseed-message,.rtl-container.yellow.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.medium.large .page-sub-title-container,.rtl-container.yellow.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.medium.large .fa-icon-small,.rtl-container.yellow.medium.large .modal-info-header,.rtl-container.yellow.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.medium.large .sidenav-img svg,.rtl-container.yellow.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.medium.large .material-icons{font-size:4rem}.rtl-container.yellow.medium.large .mat-expansion-panel-header,.rtl-container.yellow.medium.large .mat-list .mat-list-item,.rtl-container.yellow.medium.large .mat-menu-item,.rtl-container.yellow.medium.large .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.large .mat-option,.rtl-container.yellow.medium.large .mat-select,.rtl-container.yellow.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.medium.large .logo{font-size:3.2rem}.rtl-container.yellow.medium.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.medium.large .icon-large{font-size:8rem}.rtl-container.yellow.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.medium.large .size-triple{font-size:4.8rem}.rtl-container.yellow.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.medium .mat-flat-button.mat-primary:focus,.rtl-container.yellow.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.large.small .mat-header-cell{font-weight:700}.rtl-container.yellow.large.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.large.small .mat-menu-item,.rtl-container.yellow.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.large.small .fa-icon-small,.rtl-container.yellow.large.small .genseed-message,.rtl-container.yellow.large.small .top-icon-small,.rtl-container.yellow.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.large.small .page-sub-title-container,.rtl-container.yellow.large.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.large.small .sidenav-img svg,.rtl-container.yellow.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.large.small .material-icons,.rtl-container.yellow.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.large.small .mat-expansion-panel-header,.rtl-container.yellow.large.small .mat-list .mat-list-item,.rtl-container.yellow.large.small .mat-menu-item,.rtl-container.yellow.large.small .mat-nav-list .mat-list-item,.rtl-container.yellow.large.small .mat-option,.rtl-container.yellow.large.small .mat-select,.rtl-container.yellow.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.large.small .logo{font-size:2.4rem}.rtl-container.yellow.large.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.large.small .icon-large{font-size:6rem}.rtl-container.yellow.large.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.large.small .size-triple{font-size:3.6rem}.rtl-container.yellow.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.large.medium .genseed-message,.rtl-container.yellow.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.large.medium .page-sub-title-container,.rtl-container.yellow.large.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.large.medium .fa-icon-small,.rtl-container.yellow.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.large.medium .sidenav-img svg,.rtl-container.yellow.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.large.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.large.medium .mat-expansion-panel-header,.rtl-container.yellow.large.medium .mat-list .mat-list-item,.rtl-container.yellow.large.medium .mat-menu-item,.rtl-container.yellow.large.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.large.medium .mat-option,.rtl-container.yellow.large.medium .mat-select,.rtl-container.yellow.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.large.medium .logo{font-size:2.8rem}.rtl-container.yellow.large.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.large.medium .icon-large{font-size:7rem}.rtl-container.yellow.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.large.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large.large .mat-header-cell{font-weight:800}.rtl-container.yellow.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.large.large .genseed-message,.rtl-container.yellow.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.large.large .page-sub-title-container,.rtl-container.yellow.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.large.large .fa-icon-small,.rtl-container.yellow.large.large .modal-info-header,.rtl-container.yellow.large.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.large.large .sidenav-img svg,.rtl-container.yellow.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.large.large .material-icons{font-size:4rem}.rtl-container.yellow.large.large .mat-expansion-panel-header,.rtl-container.yellow.large.large .mat-list .mat-list-item,.rtl-container.yellow.large.large .mat-menu-item,.rtl-container.yellow.large.large .mat-nav-list .mat-list-item,.rtl-container.yellow.large.large .mat-option,.rtl-container.yellow.large.large .mat-select,.rtl-container.yellow.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.large.large .logo{font-size:3.2rem}.rtl-container.yellow.large.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.large.large .icon-large{font-size:8rem}.rtl-container.yellow.large.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.large.large .size-triple{font-size:4.8rem}.rtl-container.yellow.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.large .mat-flat-button.mat-primary:focus,.rtl-container.yellow.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.day .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.day .mat-option{color:#000000de}.rtl-container.yellow.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.yellow.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.yellow.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.yellow.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.yellow.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#945f1f}.rtl-container.yellow.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.yellow.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.yellow.day .mat-optgroup-label{color:#0000008a}.rtl-container.yellow.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.yellow.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.yellow.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.yellow.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.yellow.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#945f1f}.rtl-container.yellow.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.yellow.day .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.yellow.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.yellow.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.yellow.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.yellow.day.mat-app-background,.rtl-container.yellow.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.yellow.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.yellow.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.yellow.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.yellow.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.yellow.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.yellow.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.yellow.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.yellow.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.yellow.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.yellow.day .mat-badge-content{color:#fff;background:#945f1f}.cdk-high-contrast-active .rtl-container.yellow.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.yellow.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.yellow.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.yellow.day .mat-badge{position:relative}.rtl-container.yellow.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.yellow.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.yellow.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.yellow.day .mat-badge-content._mat-animation-noopable,.rtl-container.yellow.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.yellow.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.yellow.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.yellow.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.yellow.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.yellow.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.yellow.day .mat-button,.rtl-container.yellow.day .mat-icon-button,.rtl-container.yellow.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.yellow.day .mat-button.mat-primary,.rtl-container.yellow.day .mat-icon-button.mat-primary,.rtl-container.yellow.day .mat-stroked-button.mat-primary{color:#945f1f}.rtl-container.yellow.day .mat-button.mat-accent,.rtl-container.yellow.day .mat-icon-button.mat-accent,.rtl-container.yellow.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.yellow.day .mat-button.mat-warn,.rtl-container.yellow.day .mat-icon-button.mat-warn,.rtl-container.yellow.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.yellow.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#945f1f}.rtl-container.yellow.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.yellow.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.yellow.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.yellow.day .mat-button .mat-ripple-element,.rtl-container.yellow.day .mat-icon-button .mat-ripple-element,.rtl-container.yellow.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.yellow.day .mat-button-focus-overlay{background:#000}.rtl-container.yellow.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.yellow.day .mat-fab,.rtl-container.yellow.day .mat-flat-button,.rtl-container.yellow.day .mat-mini-fab,.rtl-container.yellow.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.yellow.day .mat-fab.mat-accent,.rtl-container.yellow.day .mat-fab.mat-primary,.rtl-container.yellow.day .mat-fab.mat-warn,.rtl-container.yellow.day .mat-flat-button.mat-accent,.rtl-container.yellow.day .mat-flat-button.mat-primary,.rtl-container.yellow.day .mat-flat-button.mat-warn,.rtl-container.yellow.day .mat-mini-fab.mat-accent,.rtl-container.yellow.day .mat-mini-fab.mat-primary,.rtl-container.yellow.day .mat-mini-fab.mat-warn,.rtl-container.yellow.day .mat-raised-button.mat-accent,.rtl-container.yellow.day .mat-raised-button.mat-primary,.rtl-container.yellow.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.yellow.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.yellow.day .mat-fab.mat-primary,.rtl-container.yellow.day .mat-flat-button.mat-primary,.rtl-container.yellow.day .mat-mini-fab.mat-primary,.rtl-container.yellow.day .mat-raised-button.mat-primary{background-color:#945f1f}.rtl-container.yellow.day .mat-fab.mat-accent,.rtl-container.yellow.day .mat-flat-button.mat-accent,.rtl-container.yellow.day .mat-mini-fab.mat-accent,.rtl-container.yellow.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.yellow.day .mat-fab.mat-warn,.rtl-container.yellow.day .mat-flat-button.mat-warn,.rtl-container.yellow.day .mat-mini-fab.mat-warn,.rtl-container.yellow.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.yellow.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.yellow.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-button-toggle-group,.rtl-container.yellow.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.yellow.day .mat-button-toggle{color:#00000061}.rtl-container.yellow.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.yellow.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.yellow.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.yellow.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.yellow.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.yellow.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.yellow.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.yellow.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.yellow.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.yellow.day .mat-card{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-card-subtitle{color:#0000008a}.rtl-container.yellow.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.yellow.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.yellow.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.yellow.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.yellow.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#945f1f}.rtl-container.yellow.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.yellow.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.yellow.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.yellow.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.yellow.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.yellow.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#945f1f}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.yellow.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.yellow.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-table{background:#fff}.rtl-container.yellow.day .mat-table-sticky,.rtl-container.yellow.day .mat-table tbody,.rtl-container.yellow.day .mat-table tfoot,.rtl-container.yellow.day .mat-table thead,.rtl-container.yellow.day [mat-footer-row],.rtl-container.yellow.day [mat-header-row],.rtl-container.yellow.day [mat-row],.rtl-container.yellow.day mat-footer-row,.rtl-container.yellow.day mat-header-row,.rtl-container.yellow.day mat-row{background:inherit}.rtl-container.yellow.day mat-footer-row,.rtl-container.yellow.day mat-header-row,.rtl-container.yellow.day mat-row,.rtl-container.yellow.day td.mat-cell,.rtl-container.yellow.day td.mat-footer-cell,.rtl-container.yellow.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.yellow.day .mat-header-cell{color:#0000008a}.rtl-container.yellow.day .mat-cell,.rtl-container.yellow.day .mat-footer-cell{color:#000000de}.rtl-container.yellow.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.yellow.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.yellow.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.yellow.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.yellow.day .mat-calendar-table-header{color:#00000061}.rtl-container.yellow.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.yellow.day .mat-calendar-body-label{color:#0000008a}.rtl-container.yellow.day .mat-calendar-body-cell-content,.rtl-container.yellow.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.yellow.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.yellow.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.yellow.day .mat-calendar-body-in-range:before{background:#945f1f33}.rtl-container.yellow.day .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-calendar-body-selected{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#945f1f66}.rtl-container.yellow.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#945f1f4d}.rtl-container.yellow.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.yellow.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.day .mat-datepicker-toggle-active{color:#945f1f}.rtl-container.yellow.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.yellow.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.yellow.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.yellow.day .mat-divider{border-top-color:#0000001f}.rtl-container.yellow.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.yellow.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-action-row{border-top-color:#0000001f}.rtl-container.yellow.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.yellow.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.yellow.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.yellow.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.yellow.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.yellow.day .mat-expansion-indicator:after,.rtl-container.yellow.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.yellow.day .mat-form-field-label,.rtl-container.yellow.day .mat-hint{color:#0009}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label{color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.yellow.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#945f1f}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.yellow.day .mat-error{color:#b00020}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.yellow.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.yellow.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.yellow.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#945f1f}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.yellow.day .mat-icon.mat-primary{color:#945f1f}.rtl-container.yellow.day .mat-icon.mat-accent{color:#424242}.rtl-container.yellow.day .mat-icon.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.yellow.day .mat-input-element:disabled{color:#00000061}.rtl-container.yellow.day .mat-input-element{caret-color:#945f1f}.rtl-container.yellow.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.yellow.day .mat-form-field-invalid .mat-input-element,.rtl-container.yellow.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.yellow.day .mat-list-base .mat-list-item,.rtl-container.yellow.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.yellow.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.yellow.day .mat-list-item-disabled{background-color:#eee}.rtl-container.yellow.day .mat-action-list .mat-list-item:focus,.rtl-container.yellow.day .mat-action-list .mat-list-item:hover,.rtl-container.yellow.day .mat-list-option:focus,.rtl-container.yellow.day .mat-list-option:hover,.rtl-container.yellow.day .mat-nav-list .mat-list-item:focus,.rtl-container.yellow.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.yellow.day .mat-list-single-selected-option,.rtl-container.yellow.day .mat-list-single-selected-option:focus,.rtl-container.yellow.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.yellow.day .mat-menu-panel{background:#fff}.rtl-container.yellow.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.yellow.day .mat-menu-item[disabled],.rtl-container.yellow.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.yellow.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.yellow.day .mat-menu-item-submenu-trigger:after,.rtl-container.yellow.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.yellow.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.yellow.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.yellow.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.yellow.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.yellow.day .mat-paginator{background:#fff}.rtl-container.yellow.day .mat-paginator,.rtl-container.yellow.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.yellow.day .mat-paginator-decrement,.rtl-container.yellow.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.yellow.day .mat-paginator-first,.rtl-container.yellow.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.yellow.day .mat-progress-bar-background{fill:#e1d3c3}.rtl-container.yellow.day .mat-progress-bar-buffer{background-color:#e1d3c3}.rtl-container.yellow.day .mat-progress-bar-fill:after{background-color:#945f1f}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.yellow.day .mat-progress-spinner circle,.rtl-container.yellow.day .mat-spinner circle{stroke:#945f1f}.rtl-container.yellow.day .mat-progress-spinner.mat-accent circle,.rtl-container.yellow.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.yellow.day .mat-progress-spinner.mat-warn circle,.rtl-container.yellow.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.yellow.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.yellow.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#945f1f}.rtl-container.yellow.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#945f1f}.rtl-container.yellow.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.yellow.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.yellow.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.yellow.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.yellow.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-select-value{color:#000000de}.rtl-container.yellow.day .mat-select-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.yellow.day .mat-select-arrow{color:#0000008a}.rtl-container.yellow.day .mat-select-panel{background:#fff}.rtl-container.yellow.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.yellow.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.yellow.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.yellow.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.yellow.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.yellow.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.yellow.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-drawer-side.mat-drawer-end,.rtl-container.yellow.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.yellow.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#945f1f}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#945f1f8a}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#945f1f}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.yellow.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.yellow.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.yellow.day .mat-slider-track-background{background-color:#00000042}.rtl-container.yellow.day .mat-primary .mat-slider-thumb,.rtl-container.yellow.day .mat-primary .mat-slider-thumb-label,.rtl-container.yellow.day .mat-primary .mat-slider-track-fill{background-color:#945f1f}.rtl-container.yellow.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-primary .mat-slider-focus-ring{background-color:#945f1f33}.rtl-container.yellow.day .mat-accent .mat-slider-thumb,.rtl-container.yellow.day .mat-accent .mat-slider-thumb-label,.rtl-container.yellow.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.yellow.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.yellow.day .mat-warn .mat-slider-thumb,.rtl-container.yellow.day .mat-warn .mat-slider-thumb-label,.rtl-container.yellow.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.yellow.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.yellow.day .cdk-focused .mat-slider-track-background,.rtl-container.yellow.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.yellow.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.yellow.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.yellow.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.yellow.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.yellow.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.yellow.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.yellow.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.yellow.day .mat-step-header.cdk-keyboard-focused,.rtl-container.yellow.day .mat-step-header.cdk-program-focused,.rtl-container.yellow.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.yellow.day .mat-step-header:hover{background:none}}.rtl-container.yellow.day .mat-step-header .mat-step-label,.rtl-container.yellow.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.yellow.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.yellow.day .mat-step-header .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-edit{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.yellow.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.yellow.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.yellow.day .mat-stepper-horizontal,.rtl-container.yellow.day .mat-stepper-vertical{background-color:#fff}.rtl-container.yellow.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.yellow.day .mat-horizontal-stepper-header:after,.rtl-container.yellow.day .mat-horizontal-stepper-header:before,.rtl-container.yellow.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.yellow.day .mat-sort-header-arrow{color:#757575}.rtl-container.yellow.day .mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.yellow.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.yellow.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.yellow.day .mat-tab-label,.rtl-container.yellow.day .mat-tab-link{color:#000000de}.rtl-container.yellow.day .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.yellow.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.yellow.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.yellow.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#945f1f}.rtl-container.yellow.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.yellow.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.yellow.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#945f1f}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.yellow.day .mat-toolbar.mat-primary{background:#945f1f;color:#fff}.rtl-container.yellow.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.yellow.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.yellow.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.yellow.day .mat-toolbar .mat-form-field-ripple,.rtl-container.yellow.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.yellow.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.yellow.day .mat-toolbar .mat-form-field-label,.rtl-container.yellow.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.yellow.day .mat-toolbar .mat-select-arrow,.rtl-container.yellow.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.yellow.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.yellow.day .mat-tooltip{background:#616161e6}.rtl-container.yellow.day .mat-tree{background:#fff}.rtl-container.yellow.day .mat-nested-tree-node,.rtl-container.yellow.day .mat-tree-node{color:#000000de}.rtl-container.yellow.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-simple-snackbar-action{color:#424242}.rtl-container.yellow.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.yellow.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.yellow.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.yellow.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.yellow.day .bg-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .rtl-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#945f1f}.rtl-container.yellow.day .rtl-warn-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#b00020}.rtl-container.yellow.day .rtl-accent-snack-bar{max-width:90vw!important;font-weight:600;background-color:#fff;opacity:.9!important;color:#424242}.rtl-container.yellow.day .mat-tab-label.mat-tab-label-active{color:#945f1f}.rtl-container.yellow.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#945f1f}.rtl-container.yellow.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.yellow.day .mat-form-field-suffix,.rtl-container.yellow.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.yellow.day .ng-fa-icon{color:#0000008a}.rtl-container.yellow.day .mat-stroked-button.mat-primary{border-color:#945f1f}.rtl-container.yellow.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.yellow.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.yellow.day .selected-color{border-color:#b48f62}.rtl-container.yellow.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.yellow.day .page-sub-title-container,.rtl-container.yellow.day .page-title-container{color:#0000008a}.rtl-container.yellow.day .page-sub-title-container .page-title-img,.rtl-container.yellow.day .page-title-container .page-title-img{color:#00000061}.rtl-container.yellow.day .page-sub-title-container .mat-input-element,.rtl-container.yellow.day .page-sub-title-container .mat-radio-label-content,.rtl-container.yellow.day .page-sub-title-container .theme-name,.rtl-container.yellow.day .page-title-container .mat-input-element,.rtl-container.yellow.day .page-title-container .mat-radio-label-content,.rtl-container.yellow.day .page-title-container .theme-name{color:#000000de}.rtl-container.yellow.day .cc-data-block .cc-data-title{color:#945f1f}.rtl-container.yellow.day .active-link,.rtl-container.yellow.day .active-link .fa-icon-small{color:#945f1f;font-weight:500;cursor:pointer;fill:#945f1f}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover,.rtl-container.yellow.day .mat-select-panel .mat-option:hover,.rtl-container.yellow.day .mat-tree-node:hover{color:#945f1f;cursor:pointer;background:#0000000a}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.yellow.day .mat-tree-node:hover .mat-icon,.rtl-container.yellow.day .mat-tree-node:hover .ng-fa-icon{color:#945f1f}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.yellow.day .mat-tree-node:hover .sidenav-img svg{fill:#945f1f}.rtl-container.yellow.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.yellow.day .mat-nested-tree-node .sidenav-img,.rtl-container.yellow.day .mat-tree-node .sidenav-img,.rtl-container.yellow.day .page-title-container .page-title-img,.rtl-container.yellow.day svg.top-icon-small{fill:#000000de}.rtl-container.yellow.day .mat-progress-bar-fill:after{background-color:#65320a}.rtl-container.yellow.day .modal-qr-code-container{background:#0000001f}.rtl-container.yellow.day .mat-tab-label,.rtl-container.yellow.day .mat-tab-link{color:#0000008a}.rtl-container.yellow.day .mat-card,.rtl-container.yellow.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.yellow.day .dashboard-info-title{color:#945f1f}.rtl-container.yellow.day .dashboard-info-value{color:#0000008a}.rtl-container.yellow.day .color-primary{color:#945f1f!important}.rtl-container.yellow.day .dot-primary{background-color:#945f1f!important}.rtl-container.yellow.day .dot-primary-lighter{background-color:#b48f62!important}.rtl-container.yellow.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.yellow.day .mat-tooltip{font-size:120%}.rtl-container.yellow.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.yellow.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.yellow.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.yellow.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-1{fill:#fff}.rtl-container.yellow.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.yellow.day svg .fill-color-3,.rtl-container.yellow.day svg .fill-color-4,.rtl-container.yellow.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.yellow.day svg .fill-color-6{fill:#fff}.rtl-container.yellow.day svg .fill-color-7,.rtl-container.yellow.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-9{fill:#fff}.rtl-container.yellow.day svg .fill-color-10,.rtl-container.yellow.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.yellow.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-13,.rtl-container.yellow.day svg .fill-color-14,.rtl-container.yellow.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.yellow.day svg .fill-color-16,.rtl-container.yellow.day svg .fill-color-17{fill:#404040}.rtl-container.yellow.day svg .fill-color-18{fill:#000}.rtl-container.yellow.day svg .fill-color-19,.rtl-container.yellow.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.yellow.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-22,.rtl-container.yellow.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-24{fill:#000}.rtl-container.yellow.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.yellow.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.yellow.day svg .fill-color-27{fill:#000}.rtl-container.yellow.day svg .fill-color-28{fill:#313131}.rtl-container.yellow.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-30{fill:#fff}.rtl-container.yellow.day svg .fill-color-31{fill:#945f1f}.rtl-container.yellow.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.yellow.day svg .fill-color-primary{fill:#945f1f}.rtl-container.yellow.day svg .fill-color-primary-lighter{fill:#b48f62}.rtl-container.yellow.day svg .fill-color-primary-darker{fill:#945f1f}.rtl-container.yellow.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.yellow.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.yellow.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#945f1f}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.yellow.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#65320a}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.yellow.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#caaf8f}.rtl-container.yellow.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.yellow.day .mat-progress-bar-buffer{background-color:#dfcfbc}.rtl-container.yellow.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.yellow.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.yellow.day .foreground.mat-progress-spinner circle,.rtl-container.yellow.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.yellow.day .mat-toolbar-row,.rtl-container.yellow.day .mat-toolbar-single-row{height:5rem}.rtl-container.yellow.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.yellow.day a{color:#945f1f}.rtl-container.yellow.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.yellow.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.yellow.day .mat-icon-36{color:#0000008a}.rtl-container.yellow.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.yellow.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.yellow.day .genseed-message{width:10%;color:#945f1f}.rtl-container.yellow.day .material-icons.primary{color:#945f1f}.rtl-container.yellow.day .material-icons.accent{color:#424242}.rtl-container.yellow.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.yellow.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.yellow.day .row-disabled{background-color:gray}.rtl-container.yellow.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.yellow.day .mat-menu-panel{min-width:6.4rem}.rtl-container.yellow.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.yellow.day .horizontal-button:hover{background:#b48f62;color:#424242}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#945f1f}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.yellow.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.yellow.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a}.rtl-container.yellow.day .mat-cell,.rtl-container.yellow.day .mat-footer-cell,.rtl-container.yellow.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.yellow.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.yellow.day table.mat-table thead tr th{color:#000}.rtl-container.yellow.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.yellow.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.yellow.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.yellow.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.yellow.day .more-button{color:#00000061}.rtl-container.yellow.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.yellow.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.yellow.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.yellow.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.yellow.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.yellow.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.yellow.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.yellow.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.yellow.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.yellow.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.yellow.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.yellow.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.yellow.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.yellow.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.yellow.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.yellow.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#caaf8f!important}.rtl-container.yellow.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#8c571b!important}.rtl-container.yellow.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.yellow.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.yellow.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.yellow.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.yellow.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.yellow.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.yellow.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.yellow.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.yellow.day .color-warn{color:#b00020}.rtl-container.yellow.day .fill-warn{fill:#b00020}.rtl-container.yellow.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.yellow.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.yellow.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.yellow.day .alert.alert-info a{color:#004085}.rtl-container.yellow.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.yellow.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.yellow.day .alert.alert-warn a{color:#856404}.rtl-container.yellow.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.yellow.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.yellow.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.yellow.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.yellow.day .help-expansion .mat-expansion-indicator:after,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-content,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.yellow.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.yellow.day .failed-status{color:#b00020}.rtl-container.yellow.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.yellow.day .svg-fill-primary{fill:#945f1f}.rtl-container.yellow.day .svg-fill-primary-lighter{fill:#b48f62}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.yellow.day ngx-charts-bar-vertical-2d text,.rtl-container.yellow.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.yellow.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.yellow.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.yellow.day .mat-paginator-container{padding:0}.rtl-container.yellow.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-option{color:#fff}.rtl-container.yellow.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.yellow.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.yellow.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.yellow.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#945f1f}.rtl-container.yellow.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.yellow.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ff343b}.rtl-container.yellow.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.yellow.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.yellow.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#945f1f}.rtl-container.yellow.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.yellow.night .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.yellow.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#ff343b}.rtl-container.yellow.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.yellow.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.yellow.night.mat-app-background,.rtl-container.yellow.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.yellow.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.yellow.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.yellow.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.yellow.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.yellow.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.yellow.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.yellow.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.yellow.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.rtl-container.yellow.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.yellow.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.yellow.night .mat-badge-content{color:#fff;background:#945f1f}.cdk-high-contrast-active .rtl-container.yellow.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.yellow.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.yellow.night .mat-badge-warn .mat-badge-content{color:#fff;background:#ff343b}.rtl-container.yellow.night .mat-badge{position:relative}.rtl-container.yellow.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.yellow.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.yellow.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.yellow.night .mat-badge-content._mat-animation-noopable,.rtl-container.yellow.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.yellow.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.yellow.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.yellow.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.yellow.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.yellow.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.yellow.night .mat-button,.rtl-container.yellow.night .mat-icon-button,.rtl-container.yellow.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.yellow.night .mat-button.mat-primary,.rtl-container.yellow.night .mat-icon-button.mat-primary,.rtl-container.yellow.night .mat-stroked-button.mat-primary{color:#945f1f}.rtl-container.yellow.night .mat-button.mat-accent,.rtl-container.yellow.night .mat-icon-button.mat-accent,.rtl-container.yellow.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.yellow.night .mat-button.mat-warn,.rtl-container.yellow.night .mat-icon-button.mat-warn,.rtl-container.yellow.night .mat-stroked-button.mat-warn{color:#ff343b}.rtl-container.yellow.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.yellow.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#945f1f}.rtl-container.yellow.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.yellow.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#ff343b}.rtl-container.yellow.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.yellow.night .mat-button .mat-ripple-element,.rtl-container.yellow.night .mat-icon-button .mat-ripple-element,.rtl-container.yellow.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.yellow.night .mat-button-focus-overlay{background:#fff}.rtl-container.yellow.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.yellow.night .mat-fab,.rtl-container.yellow.night .mat-flat-button,.rtl-container.yellow.night .mat-mini-fab,.rtl-container.yellow.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.yellow.night .mat-fab.mat-primary,.rtl-container.yellow.night .mat-flat-button.mat-primary,.rtl-container.yellow.night .mat-mini-fab.mat-primary,.rtl-container.yellow.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.yellow.night .mat-fab.mat-accent,.rtl-container.yellow.night .mat-flat-button.mat-accent,.rtl-container.yellow.night .mat-mini-fab.mat-accent,.rtl-container.yellow.night .mat-raised-button.mat-accent{color:#000}.rtl-container.yellow.night .mat-fab.mat-warn,.rtl-container.yellow.night .mat-flat-button.mat-warn,.rtl-container.yellow.night .mat-mini-fab.mat-warn,.rtl-container.yellow.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.yellow.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.yellow.night .mat-fab.mat-primary,.rtl-container.yellow.night .mat-flat-button.mat-primary,.rtl-container.yellow.night .mat-mini-fab.mat-primary,.rtl-container.yellow.night .mat-raised-button.mat-primary{background-color:#945f1f}.rtl-container.yellow.night .mat-fab.mat-accent,.rtl-container.yellow.night .mat-flat-button.mat-accent,.rtl-container.yellow.night .mat-mini-fab.mat-accent,.rtl-container.yellow.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.yellow.night .mat-fab.mat-warn,.rtl-container.yellow.night .mat-flat-button.mat-warn,.rtl-container.yellow.night .mat-mini-fab.mat-warn,.rtl-container.yellow.night .mat-raised-button.mat-warn{background-color:#ff343b}.rtl-container.yellow.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.yellow.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-button-toggle-group,.rtl-container.yellow.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.yellow.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.yellow.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.yellow.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.yellow.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.yellow.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.yellow.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.yellow.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.yellow.night .mat-card{background:#202020;color:#fff}.rtl-container.yellow.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.yellow.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.yellow.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.yellow.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#945f1f}.rtl-container.yellow.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.yellow.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#ff343b}.rtl-container.yellow.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.yellow.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.yellow.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#945f1f}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#ff343b}.rtl-container.yellow.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#ff343b;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.night .mat-table{background:#202020}.rtl-container.yellow.night .mat-table-sticky,.rtl-container.yellow.night .mat-table tbody,.rtl-container.yellow.night .mat-table tfoot,.rtl-container.yellow.night .mat-table thead,.rtl-container.yellow.night [mat-footer-row],.rtl-container.yellow.night [mat-header-row],.rtl-container.yellow.night [mat-row],.rtl-container.yellow.night mat-footer-row,.rtl-container.yellow.night mat-header-row,.rtl-container.yellow.night mat-row{background:inherit}.rtl-container.yellow.night mat-footer-row,.rtl-container.yellow.night mat-header-row,.rtl-container.yellow.night mat-row,.rtl-container.yellow.night td.mat-cell,.rtl-container.yellow.night td.mat-footer-cell,.rtl-container.yellow.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.yellow.night .mat-cell,.rtl-container.yellow.night .mat-footer-cell{color:#fff}.rtl-container.yellow.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.yellow.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.yellow.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.yellow.night .mat-datepicker-toggle{color:#fff}.rtl-container.yellow.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.yellow.night .mat-calendar-body-cell-content,.rtl-container.yellow.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.yellow.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.yellow.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.yellow.night .mat-calendar-body-in-range:before{background:#945f1f33}.rtl-container.yellow.night .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-calendar-body-selected{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#945f1f66}.rtl-container.yellow.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#945f1f4d}.rtl-container.yellow.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#ff343b33}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#ff343b33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#ff343b;color:#fff}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#ff343b66}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#ff343b4d}.rtl-container.yellow.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.night .mat-datepicker-toggle-active{color:#945f1f}.rtl-container.yellow.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.yellow.night .mat-datepicker-toggle-active.mat-warn{color:#ff343b}.rtl-container.yellow.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.yellow.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.yellow.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.yellow.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.yellow.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.yellow.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.yellow.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.yellow.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label{color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ff343b}.rtl-container.yellow.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.yellow.night .mat-form-field-ripple{background-color:#fff}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ff343b}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#945f1f}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ff343b}.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ff343b}.rtl-container.yellow.night .mat-error{color:#ff343b}.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.yellow.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.yellow.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.yellow.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.yellow.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.yellow.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.yellow.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.yellow.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#945f1f}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ff343b}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.yellow.night .mat-icon.mat-primary{color:#945f1f}.rtl-container.yellow.night .mat-icon.mat-accent{color:#eee}.rtl-container.yellow.night .mat-icon.mat-warn{color:#ff343b}.rtl-container.yellow.night .mat-input-element{caret-color:#945f1f}.rtl-container.yellow.night .mat-input-element option{color:#000000de}.rtl-container.yellow.night .mat-input-element option:disabled{color:#00000061}.rtl-container.yellow.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.yellow.night .mat-form-field-invalid .mat-input-element,.rtl-container.yellow.night .mat-form-field.mat-warn .mat-input-element{caret-color:#ff343b}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#ff343b}.rtl-container.yellow.night .mat-list-base .mat-list-item,.rtl-container.yellow.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.yellow.night .mat-list-item-disabled{background-color:#444}.rtl-container.yellow.night .mat-action-list .mat-list-item:focus,.rtl-container.yellow.night .mat-action-list .mat-list-item:hover,.rtl-container.yellow.night .mat-list-option:focus,.rtl-container.yellow.night .mat-list-option:hover,.rtl-container.yellow.night .mat-nav-list .mat-list-item:focus,.rtl-container.yellow.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.yellow.night .mat-list-single-selected-option,.rtl-container.yellow.night .mat-list-single-selected-option:focus,.rtl-container.yellow.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.yellow.night .mat-menu-panel{background:#202020}.rtl-container.yellow.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.yellow.night .mat-menu-item-submenu-trigger:after,.rtl-container.yellow.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.yellow.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.yellow.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.yellow.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.yellow.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.yellow.night .mat-paginator{background:#202020}.rtl-container.yellow.night .mat-paginator-decrement,.rtl-container.yellow.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.yellow.night .mat-paginator-first,.rtl-container.yellow.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.yellow.night .mat-progress-bar-background{fill:#2f2212}.rtl-container.yellow.night .mat-progress-bar-buffer{background-color:#2f2212}.rtl-container.yellow.night .mat-progress-bar-fill:after{background-color:#945f1f}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#4a1719}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#4a1719}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#ff343b}.rtl-container.yellow.night .mat-progress-spinner circle,.rtl-container.yellow.night .mat-spinner circle{stroke:#945f1f}.rtl-container.yellow.night .mat-progress-spinner.mat-accent circle,.rtl-container.yellow.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.yellow.night .mat-progress-spinner.mat-warn circle,.rtl-container.yellow.night .mat-spinner.mat-warn circle{stroke:#ff343b}.rtl-container.yellow.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#945f1f}.rtl-container.yellow.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#945f1f}.rtl-container.yellow.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.yellow.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.yellow.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ff343b}.rtl-container.yellow.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#ff343b}.rtl-container.yellow.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-select-value{color:#fff}.rtl-container.yellow.night .mat-select-panel{background:#202020}.rtl-container.yellow.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.yellow.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ff343b}.rtl-container.yellow.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.yellow.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.yellow.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.yellow.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-drawer-side.mat-drawer-end,.rtl-container.yellow.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.yellow.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#945f1f}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#945f1f8a}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#945f1f}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#ff343b}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#ff343b8a}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#ff343b}.rtl-container.yellow.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.yellow.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.yellow.night .mat-primary .mat-slider-thumb,.rtl-container.yellow.night .mat-primary .mat-slider-thumb-label,.rtl-container.yellow.night .mat-primary .mat-slider-track-fill{background-color:#945f1f}.rtl-container.yellow.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.night .mat-primary .mat-slider-focus-ring{background-color:#945f1f33}.rtl-container.yellow.night .mat-accent .mat-slider-thumb,.rtl-container.yellow.night .mat-accent .mat-slider-thumb-label,.rtl-container.yellow.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.yellow.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.yellow.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.yellow.night .mat-warn .mat-slider-thumb,.rtl-container.yellow.night .mat-warn .mat-slider-thumb-label,.rtl-container.yellow.night .mat-warn .mat-slider-track-fill{background-color:#ff343b}.rtl-container.yellow.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.night .mat-warn .mat-slider-focus-ring{background-color:#ff343b33}.rtl-container.yellow.night .cdk-focused .mat-slider-track-background,.rtl-container.yellow.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.yellow.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.yellow.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.yellow.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.yellow.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.yellow.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.yellow.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.yellow.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.yellow.night .mat-step-header.cdk-keyboard-focused,.rtl-container.yellow.night .mat-step-header.cdk-program-focused,.rtl-container.yellow.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.yellow.night .mat-step-header:hover{background:none}}.rtl-container.yellow.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-edit{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#ff343b;color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#ff343b}.rtl-container.yellow.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-label.mat-step-label-error{color:#ff343b}.rtl-container.yellow.night .mat-stepper-horizontal,.rtl-container.yellow.night .mat-stepper-vertical{background-color:#202020}.rtl-container.yellow.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.yellow.night .mat-horizontal-stepper-header:after,.rtl-container.yellow.night .mat-horizontal-stepper-header:before,.rtl-container.yellow.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.yellow.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.yellow.night .mat-tab-label,.rtl-container.yellow.night .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.yellow.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#945f1f}.rtl-container.yellow.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.yellow.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ff343b}.rtl-container.yellow.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#945f1f}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#ff343b}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.yellow.night .mat-toolbar.mat-primary{background:#945f1f;color:#fff}.rtl-container.yellow.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.yellow.night .mat-toolbar.mat-warn{background:#ff343b;color:#fff}.rtl-container.yellow.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.yellow.night .mat-toolbar .mat-form-field-ripple,.rtl-container.yellow.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.yellow.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.yellow.night .mat-toolbar .mat-form-field-label,.rtl-container.yellow.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.yellow.night .mat-toolbar .mat-select-arrow,.rtl-container.yellow.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.yellow.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.yellow.night .mat-tree{background:#202020}.rtl-container.yellow.night .mat-nested-tree-node,.rtl-container.yellow.night .mat-tree-node{color:#fff}.rtl-container.yellow.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-simple-snackbar-action{color:inherit}.rtl-container.yellow.night .mat-primary{color:#ffa164}.rtl-container.yellow.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.yellow.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.yellow.night .bg-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-tab-label.mat-tab-label-active{color:#ffa164}.rtl-container.yellow.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#ffa164}.rtl-container.yellow.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.yellow.night .rtl-snack-bar{max-width:90vw!important;font-weight:700}.rtl-container.yellow.night .rtl-warn-snack-bar{max-width:90vw!important;font-weight:700;color:#ff343b}.rtl-container.yellow.night .rtl-accent-snack-bar{max-width:90vw!important;font-weight:700;color:#eee}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#ffa164}.rtl-container.yellow.night .cc-data-block .cc-data-title{color:#ffa164}.rtl-container.yellow.night .mat-stroked-button.mat-primary{border-color:#ffa164;color:#ffa164}.rtl-container.yellow.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.yellow.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.yellow.night .mat-stroked-button.mat-warn{border-color:#ff343b}.rtl-container.yellow.night .active-link,.rtl-container.yellow.night .active-link .fa-icon-small,.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active,.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#ffa164;font-weight:500;cursor:pointer;fill:#ffa164}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover),.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled),.rtl-container.yellow.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){color:#ffa164}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-active,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled),.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover,.rtl-container.yellow.night .mat-select-panel .mat-option:hover,.rtl-container.yellow.night .mat-tree-node:hover{color:#ffa164;cursor:pointer;background:#ffffff0f}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-active .mat-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-active .ng-fa-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .mat-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .ng-fa-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .mat-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .mat-icon,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .ng-fa-icon,.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.yellow.night .mat-tree-node:hover .mat-icon,.rtl-container.yellow.night .mat-tree-node:hover .ng-fa-icon{color:#ffa164}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-active .sidenav-img svg,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected.mat-active .sidenav-img svg,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.yellow.night .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled) .sidenav-img svg,.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.yellow.night .mat-tree-node:hover .sidenav-img svg{fill:#ffa164}.rtl-container.yellow.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.yellow.night .mat-nested-tree-node .sidenav-img,.rtl-container.yellow.night .mat-tree-node .sidenav-img,.rtl-container.yellow.night .page-title-container .page-title-img,.rtl-container.yellow.night svg.top-icon-small{fill:#fff}.rtl-container.yellow.night .selected-color{border-color:#b48f62}.rtl-container.yellow.night .mat-progress-bar-fill:after{background-color:#8c571b}.rtl-container.yellow.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.yellow.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.yellow.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.yellow.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#ffa164}.rtl-container.yellow.night .mat-select-panel{background-color:#262626}.rtl-container.yellow.night .mat-tree{background:#262626}.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.yellow.night .dashboard-info-title{color:#ffa164}.rtl-container.yellow.night .dashboard-capacity-header,.rtl-container.yellow.night .dashboard-info-value{color:#fff}.rtl-container.yellow.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.yellow.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.yellow.night .color-primary{color:#ffa164!important}.rtl-container.yellow.night .dot-primary{background-color:#ffa164!important}.rtl-container.yellow.night .dot-primary-lighter{background-color:#945f1f!important}.rtl-container.yellow.night .mat-stepper-vertical{background-color:#262626}.rtl-container.yellow.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.yellow.night svg .boltz-icon-fill{fill:#fff}.rtl-container.yellow.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .fill-color-0,.rtl-container.yellow.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.yellow.night svg .fill-color-1{fill:#232323}.rtl-container.yellow.night svg .fill-color-2{fill:#222}.rtl-container.yellow.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.yellow.night svg .fill-color-4{fill:#383838}.rtl-container.yellow.night svg .fill-color-5{fill:#555}.rtl-container.yellow.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.yellow.night svg .fill-color-7{fill:#202020}.rtl-container.yellow.night svg .fill-color-8{fill:#242424}.rtl-container.yellow.night svg .fill-color-9{fill:#262626}.rtl-container.yellow.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.yellow.night svg .fill-color-11{fill:#171717}.rtl-container.yellow.night svg .fill-color-12{fill:#ccc}.rtl-container.yellow.night svg .fill-color-13{fill:#adadad}.rtl-container.yellow.night svg .fill-color-14{fill:#ababab}.rtl-container.yellow.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.yellow.night svg .fill-color-16{fill:#707070}.rtl-container.yellow.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.yellow.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.yellow.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.yellow.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.yellow.night svg .fill-color-21{fill:#cacaca}.rtl-container.yellow.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.yellow.night svg .fill-color-23{fill:#777}.rtl-container.yellow.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.yellow.night svg .fill-color-25{fill:#252525}.rtl-container.yellow.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.yellow.night svg .fill-color-27{fill:#000}.rtl-container.yellow.night svg .fill-color-28{fill:#313131}.rtl-container.yellow.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.yellow.night svg .fill-color-30{fill:#fff}.rtl-container.yellow.night svg .fill-color-31{fill:#945f1f}.rtl-container.yellow.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.yellow.night svg .fill-color-primary{fill:#945f1f}.rtl-container.yellow.night svg .fill-color-primary-lighter{fill:#b48f62}.rtl-container.yellow.night svg .fill-color-primary-darker{fill:#ffa164}.rtl-container.yellow.night .mat-select-arrow,.rtl-container.yellow.night .mat-select-value{color:#fff}.rtl-container.yellow.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.yellow.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.yellow.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.yellow.night .mat-slide-toggle-bar,.rtl-container.yellow.night .mat-step-header .mat-step-icon:not(.mat-step-icon-selected){background-color:#484848}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.yellow.night .mat-button.mat-primary,.rtl-container.yellow.night .mat-icon-button.mat-primary,.rtl-container.yellow.night .mat-stroked-button.mat-primary{color:#ffa164}.rtl-container.yellow.night tr.alert.alert-warn .mat-cell,.rtl-container.yellow.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.yellow.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.yellow.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#ffa164}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.yellow.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#774312}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.yellow.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#ffa164}.rtl-container.yellow.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.yellow.night .mat-progress-bar-buffer{background-color:#dfcfbc}.rtl-container.yellow.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.yellow.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.yellow.night .foreground.mat-progress-spinner circle,.rtl-container.yellow.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.yellow.night .mat-toolbar-row,.rtl-container.yellow.night .mat-toolbar-single-row{height:5rem}.rtl-container.yellow.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night a{color:#945f1f}.rtl-container.yellow.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.yellow.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.yellow.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.yellow.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.yellow.night .genseed-message{width:10%;color:#945f1f}.rtl-container.yellow.night .material-icons.primary{color:#945f1f}.rtl-container.yellow.night .material-icons.accent{color:#eee}.rtl-container.yellow.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#ff343b}.rtl-container.yellow.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.yellow.night .row-disabled{background-color:gray}.rtl-container.yellow.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.yellow.night .mat-menu-panel{min-width:6.4rem}.rtl-container.yellow.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.yellow.night .horizontal-button:hover{background:#b48f62;color:#eee}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#945f1f}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.yellow.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500;min-width:14rem}.rtl-container.yellow.night .cc-data-block .cc-data-value{font-size:120%}.rtl-container.yellow.night .mat-cell,.rtl-container.yellow.night .mat-footer-cell,.rtl-container.yellow.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.yellow.night table.mat-table thead tr th{color:#fff}.rtl-container.yellow.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.yellow.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.yellow.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.yellow.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.yellow.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.yellow.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.yellow.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.yellow.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.yellow.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.yellow.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.yellow.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.yellow.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.yellow.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.yellow.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;min-width:10rem;width:10rem;float:right}.rtl-container.yellow.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.yellow.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.yellow.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.yellow.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.yellow.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#caaf8f!important}.rtl-container.yellow.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#8c571b!important}.rtl-container.yellow.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.yellow.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.yellow.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.yellow.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.yellow.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.yellow.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.yellow.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.yellow.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.yellow.night .color-warn{color:#ff343b}.rtl-container.yellow.night .fill-warn{fill:#ff343b}.rtl-container.yellow.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.yellow.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.yellow.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.yellow.night .alert.alert-info a{color:#004085}.rtl-container.yellow.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.yellow.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.yellow.night .alert.alert-warn a{color:#856404}.rtl-container.yellow.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.yellow.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.yellow.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.yellow.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.yellow.night .help-expansion .mat-expansion-panel-header,.rtl-container.yellow.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.yellow.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.yellow.night .failed-status{color:#ff343b}.rtl-container.yellow.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#ff343b;height:2rem}.rtl-container.yellow.night .svg-fill-primary{fill:#945f1f}.rtl-container.yellow.night .svg-fill-primary-lighter{fill:#b48f62}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.yellow.night ngx-charts-bar-vertical-2d text,.rtl-container.yellow.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.yellow.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.yellow.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.yellow.night .mat-paginator-container{padding:0} \ No newline at end of file diff --git a/angular/styles.97554e699a42acff6579.css b/angular/styles.97554e699a42acff6579.css deleted file mode 100644 index c76fa2a9..00000000 --- a/angular/styles.97554e699a42acff6579.css +++ /dev/null @@ -1,3 +0,0 @@ -@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(MaterialIcons-Regular.4674f8ded773cb03e824.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(MaterialIcons-Regular.cff684e59ffb052d72cb.woff2) format("woff2"),url(MaterialIcons-Regular.83bebaf37c09c7e1c3ee.woff) format("woff"),url(MaterialIcons-Regular.5e7382c63da0098d634a.ttf) format("truetype")}.material-icons{font-size:24px}@font-face{font-family:Roboto;src:url(Roboto-Thin.dbd56bd3357dc3617fe5.woff2) format("woff2"),url(Roboto-Thin.e7f7c82374bd0ebef14b.woff) format("woff");font-weight:100;font-style:normal}@font-face{font-family:Roboto-Thin;src:url(Roboto-Thin.dbd56bd3357dc3617fe5.woff2) format("woff2"),url(Roboto-Thin.e7f7c82374bd0ebef14b.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-ThinItalic.a8cef84f735ef887abdc.woff2) format("woff2"),url(Roboto-ThinItalic.5dd9349c940073834e9a.woff) format("woff");font-weight:100;font-style:italic}@font-face{font-family:Roboto-ThinItalic;src:url(Roboto-ThinItalic.a8cef84f735ef887abdc.woff2) format("woff2"),url(Roboto-ThinItalic.5dd9349c940073834e9a.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-Light.c27d89ac77468ae18f28.woff2) format("woff2"),url(Roboto-Light.d923dfafc0c5183b59aa.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Roboto-Light;src:url(Roboto-Light.c27d89ac77468ae18f28.woff2) format("woff2"),url(Roboto-Light.d923dfafc0c5183b59aa.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-LightItalic.506274c7228cf81cae4d.woff2) format("woff2"),url(Roboto-LightItalic.d4b8c137518d9d92bb28.woff) format("woff");font-weight:300;font-style:italic}@font-face{font-family:Roboto-LightItalic;src:url(Roboto-LightItalic.506274c7228cf81cae4d.woff2) format("woff2"),url(Roboto-LightItalic.d4b8c137518d9d92bb28.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-Regular.64cfb66c866ea50cad47.woff2) format("woff2"),url(Roboto-Regular.e02e9d6ff5547f7e9962.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Roboto-Regular;src:url(Roboto-Regular.64cfb66c866ea50cad47.woff2) format("woff2"),url(Roboto-Regular.e02e9d6ff5547f7e9962.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-RegularItalic.4dd2af1e8df532f41db8.woff2) format("woff2"),url(Roboto-RegularItalic.5ea38fff9eebef99c5df.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Roboto-RegularItalic;src:url(Roboto-RegularItalic.4dd2af1e8df532f41db8.woff2) format("woff2"),url(Roboto-RegularItalic.5ea38fff9eebef99c5df.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-Medium.1d3bced88509b0838984.woff2) format("woff2"),url(Roboto-Medium.092c6130df8fd2199888.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Roboto-Medium;src:url(Roboto-Medium.1d3bced88509b0838984.woff2) format("woff2"),url(Roboto-Medium.092c6130df8fd2199888.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-MediumItalic.d620b8f53f75966fe42e.woff2) format("woff2"),url(Roboto-MediumItalic.18ff1628c628080166c1.woff) format("woff");font-weight:500;font-style:italic}@font-face{font-family:Roboto-MediumItalic;src:url(Roboto-MediumItalic.d620b8f53f75966fe42e.woff2) format("woff2"),url(Roboto-MediumItalic.18ff1628c628080166c1.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-Bold.92fbd4e93cf0a5dbebaa.woff2) format("woff2"),url(Roboto-Bold.73288d91c325e82a5b92.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Roboto-Bold;src:url(Roboto-Bold.92fbd4e93cf0a5dbebaa.woff2) format("woff2"),url(Roboto-Bold.73288d91c325e82a5b92.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-BoldItalic.5f600d98a73d800ae575.woff2) format("woff2"),url(Roboto-BoldItalic.6d89acbd21d7e3fbecb2.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Roboto-BoldItalic;src:url(Roboto-BoldItalic.5f600d98a73d800ae575.woff2) format("woff2"),url(Roboto-BoldItalic.6d89acbd21d7e3fbecb2.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-Black.41ed1105a6ebb8ffe34e.woff2) format("woff2"),url(Roboto-Black.937491dfcbe64ca9a9f1.woff) format("woff");font-weight:900;font-style:normal}@font-face{font-family:Roboto-Black;src:url(Roboto-Black.41ed1105a6ebb8ffe34e.woff2) format("woff2"),url(Roboto-Black.937491dfcbe64ca9a9f1.woff) format("woff")}@font-face{font-family:Roboto;src:url(Roboto-BlackItalic.50ca4c51ebc27e7e7d2f.woff2) format("woff2"),url(Roboto-BlackItalic.2e1ee657996854c6f427.woff) format("woff");font-weight:900;font-style:italic}@font-face{font-family:Roboto-BlackItalic;src:url(Roboto-BlackItalic.50ca4c51ebc27e7e7d2f.woff2) format("woff2"),url(Roboto-BlackItalic.2e1ee657996854c6f427.woff) format("woff")}.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{height:15px;bottom:0;margin-top:-15px}.ps__rail-x,.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;position:relative}.ps__rail-y{width:0;right:0}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:initial}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:initial;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:4px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:4px;right:2px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:6px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:6px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:62.5%}body{box-sizing:border-box;margin:0}.rtl-container,body{height:100%;overflow:hidden}.rtl-container{position:absolute;width:100%;top:0;left:0;right:0;bottom:0}.rtl-container .mat-menu-panel .mat-menu-content{padding-top:0;padding-bottom:0}.rtl-container .mat-nested-tree-node-child>.mat-tree-node{padding-left:4rem}.mat-sidenav-container .mat-sidenav-content{height:94vh;min-height:94vh}.sidenav{width:22rem;height:100%;overflow:hidden!important}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.sticky{position:fixed;top:0;z-index:9999}.horizontal-menu{padding:0;z-index:999;position:fixed;top:0;height:5rem;overflow:visible}.inner-sidenav-content{position:relative;top:0;bottom:0;left:0;right:0;padding:.8rem;min-height:calc(100% - (5rem + .8rem*4));max-height:90vh}@media only screen and (max-width:56.25em){.inner-sidenav-content{padding:.8rem .4rem}}@media only screen and (max-width:37.5em){.inner-sidenav-content{padding:.4rem .2rem}}.top-50{top:5rem}*{margin:0;padding:0}.rtl-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;position:fixed;background:#fff;z-index:999999;visibility:visible;opacity:1}.rtl-spinner h4{margin-top:1rem}.padding-gap{padding:.8rem!important}@media only screen and (max-width:56.25em){.padding-gap{padding:.4rem!important}}@media only screen and (max-width:37.5em){.padding-gap{padding:.2rem!important}}.padding-gap-x{padding:0 .8rem!important}@media only screen and (max-width:56.25em){.padding-gap-x{padding:0 .4rem!important}}@media only screen and (max-width:37.5em){.padding-gap-x{padding:0 .2rem!important}}.padding-gap-large{padding:1.6rem!important}@media only screen and (max-width:56.25em){.padding-gap-large{padding:.8rem!important}}@media only screen and (max-width:37.5em){.padding-gap-large{padding:.2rem!important}}.padding-gap-x-large{padding:0 1.6rem!important}@media only screen and (max-width:56.25em){.padding-gap-x-large{padding:0 .8rem!important}}@media only screen and (max-width:37.5em){.padding-gap-x-large{padding:0 .2rem!important}}.padding-gap-bottom-large{padding-bottom:1.6rem!important}@media only screen and (max-width:56.25em){.padding-gap-bottom-large{padding-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.padding-gap-bottom-large{padding-bottom:.2rem!important}}.overflow-wrap{overflow-wrap:break-word!important;overflow:hidden}.mat-card{padding:0!important;overflow:hidden;border-radius:2px!important}.mat-card-original{padding:1.6rem!important;border-radius:4px!important}.card-content-gap,.mat-tab-body-wrapper{padding:.96rem 1.6rem!important;height:100%}@media only screen and (max-width:56.25em){.card-content-gap,.mat-tab-body-wrapper{padding:.8rem!important}}@media only screen and (max-width:37.5em){.card-content-gap,.mat-tab-body-wrapper{padding:.4rem .2rem!important}}@media only screen and (max-width:56.25em){mat-cell:first-of-type,mat-footer-cell:first-of-type,mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:.4rem!important}}@media only screen and (max-width:37.5em){mat-cell:first-of-type,mat-footer-cell:first-of-type,mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type,th.mat-header-cell:first-of-type{padding-left:.2rem!important}}@media only screen and (max-width:56.25em){mat-cell:last-of-type,mat-footer-cell:last-of-type,mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:.4rem!important}}@media only screen and (max-width:37.5em){mat-cell:last-of-type,mat-footer-cell:last-of-type,mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{padding-right:.2rem!important}}.routing-tabs-block .mat-tab-body-wrapper{padding:0!important;min-height:10rem}.mat-card-actions{padding-left:.6rem;padding-right:.6rem}.mat-card-actions,.mat-card-content,.mat-card-subtitle,.mat-card-title{display:block;margin-bottom:1.6rem}.mat-card-header-text{margin:0!important;line-height:1}.mat-form-field-wrapper{width:100%}.mat-select{margin:0 1.5rem 0 0}.green{color:#388e3c!important}.yellow{color:#ffd740!important}.red{color:#c62828!important}.grey{color:#ccc!important}.mat-dialog-container{padding:0!important;overflow:hidden!important}.mt-1px{margin-top:1px!important}.mt-2px{margin-top:2px!important}.mt-5px{margin-top:5px!important}.my-2px{margin:2px 0!important}.mt-0{margin-top:0!important}.mt-1{margin-top:1rem!important}@media only screen and (max-width:56.25em){.mt-1{margin-top:.8rem!important}}@media only screen and (max-width:37.5em){.mt-1{margin-top:.8rem!important}}.mb-0{margin-bottom:0!important}.mb-2px{margin-bottom:2px!important}.mb-5px{margin-bottom:5px!important}.mb-1{margin-bottom:1rem!important}@media only screen and (max-width:56.25em){.mb-1{margin-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.mb-1{margin-bottom:.8rem!important}}.mb-6{margin-bottom:6rem!important}@media only screen and (max-width:56.25em){.mb-6{margin-bottom:5rem!important}}@media only screen and (max-width:37.5em){.mb-6{margin-bottom:5rem!important}}.ml-0{margin-left:0!important}.ml-1{margin-left:1rem!important}@media only screen and (max-width:56.25em){.ml-1{margin-left:.4rem!important}}@media only screen and (max-width:37.5em){.ml-1{margin-left:.2rem!important}}.ml-minus-1{margin-left:-1rem!important}.mr-0{margin-right:0!important}.mr-3px{margin-right:.3rem!important}.mr-5px{margin-right:.5rem!important}.mr-1{margin-right:1rem!important}@media only screen and (max-width:56.25em){.mr-1{margin-right:.4rem!important}}@media only screen and (max-width:37.5em){.mr-1{margin-right:.2rem!important}}.mx-1{margin:0 1rem!important}@media only screen and (max-width:56.25em){.mx-1{margin:0 .4rem!important}}@media only screen and (max-width:37.5em){.mx-1{margin:0 .2rem!important}}.my-1{margin:1rem 0!important}@media only screen and (max-width:56.25em){.my-1{margin:.8rem 0!important}}@media only screen and (max-width:37.5em){.my-1{margin:.8rem 0!important}}.m-1{margin:1rem!important}@media only screen and (max-width:56.25em){.m-1{margin:.8rem!important}}@media only screen and (max-width:37.5em){.m-1{margin:.8rem!important}}.mt-2{margin-top:2rem!important}@media only screen and (max-width:56.25em){.mt-2{margin-top:1.6rem!important}}@media only screen and (max-width:37.5em){.mt-2{margin-top:1.6rem!important}}.mt-3{margin-top:3rem!important}@media only screen and (max-width:56.25em){.mt-3{margin-top:2.4rem!important}}@media only screen and (max-width:37.5em){.mt-3{margin-top:2.6rem!important}}.mt-4{margin-top:4rem!important}@media only screen and (max-width:56.25em){.mt-4{margin-top:3.4rem!important}}@media only screen and (max-width:37.5em){.mt-4{margin-top:3.4rem!important}}.mt-6{margin-top:6rem!important}@media only screen and (max-width:56.25em){.mt-6{margin-top:4.8rem!important}}@media only screen and (max-width:37.5em){.mt-6{margin-top:4.8rem!important}}.mt-minus-1{margin-top:-1rem!important}@media only screen and (max-width:56.25em){.mt-minus-1{margin-top:-.8rem!important}}@media only screen and (max-width:37.5em){.mt-minus-1{margin-top:-.8rem!important}}.mt-minus-2{margin-top:-2rem!important}@media only screen and (max-width:56.25em){.mt-minus-2{margin-top:-1.6rem!important}}@media only screen and (max-width:37.5em){.mt-minus-2{margin-top:-1.6rem!important}}.mb-2{margin-bottom:2rem!important}@media only screen and (max-width:56.25em){.mb-2{margin-bottom:1.6rem!important}}@media only screen and (max-width:37.5em){.mb-2{margin-bottom:1.6rem!important}}.mb-3{margin-bottom:3rem!important}@media only screen and (max-width:56.25em){.mb-3{margin-bottom:2.4rem!important}}@media only screen and (max-width:37.5em){.mb-3{margin-bottom:2.4rem!important}}.mb-4{margin-bottom:4rem!important}@media only screen and (max-width:56.25em){.mb-4{margin-bottom:3.2rem!important}}@media only screen and (max-width:37.5em){.mb-4{margin-bottom:3.2rem!important}}.ml-2{margin-left:2rem!important}@media only screen and (max-width:56.25em){.ml-2{margin-left:.8rem!important}}@media only screen and (max-width:37.5em){.ml-2{margin-left:.4rem!important}}.mr-2{margin-right:2rem!important}@media only screen and (max-width:56.25em){.mr-2{margin-right:.8rem!important}}@media only screen and (max-width:37.5em){.mr-2{margin-right:.4rem!important}}.ml-4{margin-left:4rem!important}@media only screen and (max-width:56.25em){.ml-4{margin-left:1.6rem!important}}@media only screen and (max-width:37.5em){.ml-4{margin-left:.8rem!important}}.mr-4{margin-right:4rem!important}@media only screen and (max-width:56.25em){.mr-4{margin-right:1.6rem!important}}@media only screen and (max-width:37.5em){.mr-4{margin-right:.8rem!important}}.mx-2{margin:0 2rem!important}@media only screen and (max-width:56.25em){.mx-2{margin:0 .8rem!important}}@media only screen and (max-width:37.5em){.mx-2{margin:0 .4rem!important}}.my-0{margin-top:0!important;margin-bottom:0!important}.my-2{margin:2rem 0!important}@media only screen and (max-width:56.25em){.my-2{margin:1.6rem 0!important}}@media only screen and (max-width:37.5em){.my-2{margin:1.6rem 0!important}}.my-3{margin:3rem 0!important}@media only screen and (max-width:56.25em){.my-3{margin:2.4rem 0!important}}@media only screen and (max-width:37.5em){.my-3{margin:2.4rem 0!important}}.my-4{margin:4rem 0!important}@media only screen and (max-width:56.25em){.my-4{margin:3.2rem 0!important}}@media only screen and (max-width:37.5em){.my-4{margin:3.2rem 0!important}}.m-2{margin:2rem!important}@media only screen and (max-width:56.25em){.m-2{margin:1.6rem!important}}@media only screen and (max-width:37.5em){.m-2{margin:1.6rem!important}}.pt-1{padding-top:1rem!important}@media only screen and (max-width:56.25em){.pt-1{padding-top:.8rem!important}}@media only screen and (max-width:37.5em){.pt-1{padding-top:.8rem!important}}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:1rem!important}@media only screen and (max-width:56.25em){.pb-1{padding-bottom:.8rem!important}}@media only screen and (max-width:37.5em){.pb-1{padding-bottom:.8rem!important}}.pl-1{padding-left:1rem!important}@media only screen and (max-width:56.25em){.pl-1{padding-left:.4rem!important}}@media only screen and (max-width:37.5em){.pl-1{padding-left:.2rem!important}}.pl-15px{padding-left:1.5rem!important}@media only screen and (max-width:56.25em){.pl-15px{padding-left:.6rem!important}}@media only screen and (max-width:37.5em){.pl-15px{padding-left:.4rem!important}}.pr-0{padding-right:0!important}.pr-1{padding-right:1rem!important}@media only screen and (max-width:56.25em){.pr-1{padding-right:.4rem!important}}@media only screen and (max-width:37.5em){.pr-1{padding-right:.2rem!important}}.pr-3{padding-right:3rem!important}@media only screen and (max-width:56.25em){.pr-3{padding-right:1.2rem!important}}@media only screen and (max-width:37.5em){.pr-3{padding-right:.6rem!important}}.pr-4{padding-right:4rem!important}@media only screen and (max-width:56.25em){.pr-4{padding-right:1.6rem!important}}@media only screen and (max-width:37.5em){.pr-4{padding-right:.8rem!important}}.pr-4px{padding-right:.4rem!important}.p-0{padding:0!important}.p-5px{padding:.5rem!important}.pl-0{padding-left:0!important}.px-1{padding:0 1rem!important}@media only screen and (max-width:56.25em){.px-1{padding:0 .4rem!important}}@media only screen and (max-width:37.5em){.px-1{padding:0 .2rem!important}}.py-0{padding:1rem 0!important}@media only screen and (max-width:56.25em){.py-0{padding:.8rem 0!important}}@media only screen and (max-width:37.5em){.py-0{padding:.8rem 0!important}}.py-1{padding:1rem 0!important}@media only screen and (max-width:56.25em){.py-1{padding:.8rem 0!important}}@media only screen and (max-width:37.5em){.py-1{padding:.8rem 0!important}}.p-1{padding:1rem!important}@media only screen and (max-width:56.25em){.p-1{padding:.8rem!important}}@media only screen and (max-width:37.5em){.p-1{padding:.8rem!important}}.p-16{padding:1.6rem!important}@media only screen and (max-width:56.25em){.p-16{padding:.8rem!important}}@media only screen and (max-width:37.5em){.p-16{padding:.4rem!important}}.pt-2{padding-top:2rem!important}@media only screen and (max-width:56.25em){.pt-2{padding-top:1.6rem!important}}@media only screen and (max-width:37.5em){.pt-2{padding-top:1.6rem!important}}.pt-3{padding-top:3rem!important}@media only screen and (max-width:56.25em){.pt-3{padding-top:2.4rem!important}}@media only screen and (max-width:37.5em){.pt-3{padding-top:2.4rem!important}}.pb-2{padding-bottom:2rem!important}@media only screen and (max-width:56.25em){.pb-2{padding-bottom:1.6rem!important}}@media only screen and (max-width:37.5em){.pb-2{padding-bottom:1.6rem!important}}.pl-2{padding-left:2rem!important}@media only screen and (max-width:56.25em){.pl-2{padding-left:.8rem!important}}@media only screen and (max-width:37.5em){.pl-2{padding-left:.4rem!important}}.pt-4{padding-top:3.2rem!important}@media only screen and (max-width:56.25em){.pt-4{padding-top:2.5rem!important}}@media only screen and (max-width:37.5em){.pt-4{padding-top:2.5rem!important}}.pl-3{padding-left:3rem!important}@media only screen and (max-width:56.25em){.pl-3{padding-left:1.2rem!important}}@media only screen and (max-width:37.5em){.pl-3{padding-left:.6rem!important}}.pl-4{padding-left:4rem!important}@media only screen and (max-width:56.25em){.pl-4{padding-left:1.6rem!important}}@media only screen and (max-width:37.5em){.pl-4{padding-left:.8rem!important}}.pr-2{padding-right:2rem!important}@media only screen and (max-width:56.25em){.pr-2{padding-right:.8rem!important}}@media only screen and (max-width:37.5em){.pr-2{padding-right:.4rem!important}}.pr-5{padding-right:4rem!important}@media only screen and (max-width:56.25em){.pr-5{padding-right:1.6rem!important}}@media only screen and (max-width:37.5em){.pr-5{padding-right:.8rem!important}}.px-2{padding:0 2rem!important}@media only screen and (max-width:56.25em){.px-2{padding:0 .8rem!important}}@media only screen and (max-width:37.5em){.px-2{padding:0 .4rem!important}}.px-3{padding:0 3rem!important}@media only screen and (max-width:56.25em){.px-3{padding:0 1.2rem!important}}@media only screen and (max-width:37.5em){.px-3{padding:0 .6rem!important}}.px-4{padding:0 4rem!important}@media only screen and (max-width:56.25em){.px-4{padding:0 1.6rem!important}}@media only screen and (max-width:37.5em){.px-4{padding:0 .8rem!important}}.py-2{padding:2rem 0!important}@media only screen and (max-width:56.25em){.py-2{padding:1.6rem 0!important}}@media only screen and (max-width:37.5em){.py-2{padding:1.6rem 0!important}}.p-2{padding:2rem!important}@media only screen and (max-width:56.25em){.p-2{padding:1.6rem!important}}@media only screen and (max-width:37.5em){.p-2{padding:1.6rem!important}}.p-24{padding:2.4rem!important}@media only screen and (max-width:56.25em){.p-24{padding:1.2rem!important}}@media only screen and (max-width:37.5em){.p-24{padding:1rem!important}}.m-1px{margin:1px!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-auto{overflow:auto}.mat-footer-row .mat-footer-cell,.mat-row:last-child .mat-cell{border-bottom:none!important}.flex-ellipsis{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:3rem}.mat-list,.mat-list .mat-list-item .mat-list-item-content,.mat-nav-list,.mat-selection-list{padding:0!important}.inline-spinner{display:inline-flex!important;top:.5rem!important}.top-minus-5px{position:relative;top:-.5rem}.top-minus-15px{position:relative;top:-1.5rem}.top-minus-25px{position:relative;top:-2.5rem;margin-bottom:-2.5rem!important}.top-minus-30px{position:relative;top:-3rem}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.inline-flex{display:inline-flex!important}.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.settings-container h4{margin:1.2rem 0 .6rem}.settings-container .skin{width:2rem;height:2rem;border-radius:50%;cursor:pointer;margin-right:.5rem}.settings-container .skin.selected-color{width:1.75rem;height:1.75rem;border:.25rem solid}.settings-container .skin.purple{background-color:#5e4ea5}.settings-container .skin.indigo{background-color:#3f51b5}.settings-container .skin.teal{background-color:#00695c}.settings-container .skin.pink{background-color:#d81b60}.settings-container .skin.yellow{background-color:#a1842c}.settings-container .mat-radio-group{flex-direction:row;place-content:flex-start space-between;align-items:flex-start;box-sizing:border-box;display:flex}.settings-container .mat-radio-group .mat-radio-button{margin:2px 0}.settings-container .mat-slide-toggle{padding:0 1.4rem 0 .4rem}.settings-container .mat-flat-button{width:100%;max-height:3.6rem}.op-image{box-shadow:0 0 2px #ccc;border:2px solid #0000;cursor:pointer;transition:.2s}.settings-icon{position:fixed;top:30%;right:0;width:4.2rem;height:4.2rem;opacity:.6;cursor:pointer;z-index:999999}.test-banner{padding-top:2px;background-color:#fc7783;text-transform:uppercase;border-radius:2px}.fa-icon-small,.top-icon-small{min-width:2rem;width:2rem;max-width:2rem}.botlz-icon-sm{min-width:1.6rem;width:1.6rem;max-width:1.6rem}.copy-icon{position:relative;top:.5rem}.copy-icon-smaller{position:relative;top:2px}.top-5px{position:relative;top:.5rem}.animate-settings{animation:animate-settings 10s linear infinite}@keyframes animate-settings{to{transform:rotate(1turn)}}.mat-icon-button.top-toolbar-icon{margin-right:2rem}.mat-icon-button.top-toolbar-icon .top-toolbar-img{padding-right:.7rem;cursor:pointer}.mt-minus-5{position:relative;margin-top:-.5rem}.custom-card{padding:0 0 .8rem!important}.not-found-box{min-width:50%}.w-100{width:100%!important}.w-96{width:96%!important}.w-84{width:84%!important}.h-100{height:100%!important}.h-93{height:93%!important}.h-40{height:40rem!important}.h-46{height:46rem!important}.h-10{height:10rem!important}.h-4{height:4rem!important}.h-35px{height:3.5rem!important}a{outline:none;text-decoration:none;text-decoration:underline}.mat-tree{width:100%}.mat-nested-tree-node-parent,.mat-tree-node{min-height:4rem;height:4rem;padding:0 1.2rem;cursor:pointer}.mat-nested-tree-node-parent .mat-icon:active,.mat-nested-tree-node-parent .mat-icon:focus,.mat-nested-tree-node-parent:active,.mat-nested-tree-node-parent:focus,.mat-nested-tree-node-parent div:active,.mat-nested-tree-node-parent div:focus,.mat-nested-tree-node-parent span:active,.mat-nested-tree-node-parent span:focus,.mat-nested-tree-node:active,.mat-nested-tree-node:focus,.mat-tree-node .mat-icon:active,.mat-tree-node .mat-icon:focus,.mat-tree-node:active,.mat-tree-node:focus,.mat-tree-node div:active,.mat-tree-node div:focus,.mat-tree-node span:active,.mat-tree-node span:focus{outline:none}.lnd-info{height:9rem}.flex-wrap{flex-wrap:wrap!important}.word-break{word-break:break-all!important}.font-bold-500{font-weight:500!important}.font-bold-700{font-weight:700!important}.pubkey-info-top{flex-wrap:wrap;margin-top:1px;min-height:1.5rem;cursor:pointer;display:flex;align-content:center}.top-toolbar-icon.icon-pinned{width:3rem;height:3rem;padding:1rem 0 0 1.2rem;cursor:pointer}.logo{font-weight:700;letter-spacing:1px}.fa-icon-regular{min-width:4rem;width:4rem;max-width:4rem}.icon-large{margin-left:-100%}.icon-small{height:2rem!important;width:2rem!important}.icon-smaller{height:1rem!important;width:1rem!important}.mat-icon-36{width:3.6rem!important;height:3.6rem!important}.mat-select.multi-node-select{width:87%}.page-title-container{padding:0 1.2rem;margin-bottom:.8rem}@media only screen and (max-width:56.25em){.page-title-container{padding:0 .8rem;margin:.8rem 0}}@media only screen and (max-width:37.5em){.page-title-container{padding:0 .8rem;margin:.8rem 0}}table{width:100%}.dot{display:inline-flex;width:1.2rem;height:1.2rem;border-radius:1.2rem;margin:.4rem 1rem 0 0}.dot.tiny-dot{width:.8rem;height:.8rem;border-radius:.8rem;margin:0 .6rem .1rem 0}.dot.green{background-color:#28ca43}.dot.yellow{background-color:#ffbd2e}.dot.red{background-color:#c62828}.dot.grey{background-color:#aaa}.font-size-80{font-size:80%!important}.font-size-90{font-size:90%!important}.font-size-120{font-size:120%!important}.font-size-200{font-size:200%!important}.font-size-300{font-size:300%!important}.font-weight-900{font-weight:900!important}.pre-wrap{white-space:pre-wrap!important}.display-none{display:none!important}.mat-vertical-stepper-header{padding:1rem!important}.ellipsis-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blinker{animation:blink-animation 1s steps(5,start) infinite;-webkit-animation:blink-animation 1s steps(5,start) infinite}@keyframes blink-animation{to{visibility:hidden}}.mat-progress-bar.dashboard-progress-bar{height:6px;min-height:6px}.alert{margin-bottom:1rem;padding:.6rem 1rem;border-radius:4px}.dashboard-vert-menu.mat-menu-panel{min-height:4.8rem}.mat-tab-body-content{overflow:hidden!important}.dashboard-tabs-group .mat-tab-label{min-width:32%!important}.node-grid-tile.mat-grid-tile .mat-figure{align-items:start}.mat-vertical-content-container{margin-left:2rem!important}.xs-scroll-y{overflow-y:scroll;max-height:600px}.h-2{min-height:2rem!important}.border-valid{border:1px solid #28ca43!important}.border-invalid{border:1px solid #c62828!important}.icon-green{fill:#28ca43}.visible{visibility:visible!important}.hidden{visibility:hidden!important}.h-5{height:5rem}.btn-sticky-container{height:0;opacity:.5}.btn-sticky-container .mat-icon{animation:scrollDownAnimation 2s infinite}@keyframes scrollDownAnimation{0%{transform:translateY(0)}10%{transform:translateY(-20%)}20%{transform:translateY(20%)}30%{transform:translateY(-20%)}40%{transform:translateY(20%)}50%{transform:translateY(0)}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-infix,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-arro-wrapper,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-trigger,.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-select-value,.mat-form-field-appearance-legacy.mat-form-field-disabled input,.mat-form-field-appearance-legacy.mat-form-field-disabled mat-select,.mat-form-field-appearance-legacy.mat-form-field-disabled textarea{cursor:not-allowed}.ngx-charts-tooltip-content.type-tooltip{background:#323232e6!important}.ngx-charts-tooltip-content .tooltip-caret{border-top-color:#323232e6!important}.mat-card.dashboard-card{margin:.8rem;padding:1.2rem 2.4rem!important}@media only screen and (max-width:56.25em){.mat-card.dashboard-card{padding:.5rem 1rem!important;margin-top:4rem!important}}@media only screen and (max-width:37.5em){.mat-card.dashboard-card{padding:.4rem .8rem!important;margin-top:4rem!important}}.mat-card.dashboard-card.p-0{padding:0!important}.mat-card.dashboard-card .mat-card-header-text{width:100%}.dashboard-card-content{text-align:left}.mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 2.4rem}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 .8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-header{padding:0 .4rem}}.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 2.4rem 1.6rem}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 .8rem .8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body{padding:0 .4rem .2rem}}@media only screen and (max-width:56.25em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-description,.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-title{margin-right:.8rem}}@media only screen and (max-width:37.5em){.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-description,.mat-expansion-panel.flat-expansion-panel .mat-expansion-panel-body .mat-expansion-panel-header-title{margin-right:.4rem}}.rtl-container .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-badge-small .mat-badge-content{font-size:9px}.rtl-container .mat-badge-large .mat-badge-content{font-size:24px}.rtl-container .mat-h1,.rtl-container .mat-headline,.rtl-container .mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h2,.rtl-container .mat-title,.rtl-container .mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h3,.rtl-container .mat-subheading-2,.rtl-container .mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h4,.rtl-container .mat-subheading-1,.rtl-container .mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.rtl-container .mat-h5,.rtl-container .mat-typography h5{font:400 calc(14px * .83)/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.rtl-container .mat-h6,.rtl-container .mat-typography h6{font:400 calc(14px * .67)/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.rtl-container .mat-body-2,.rtl-container .mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-body,.rtl-container .mat-body-1,.rtl-container .mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-body-1 p,.rtl-container .mat-body p,.rtl-container .mat-typography p{margin:0 0 12px}.rtl-container .mat-caption,.rtl-container .mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-display-4,.rtl-container .mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.rtl-container .mat-display-3,.rtl-container .mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.rtl-container .mat-display-2,.rtl-container .mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.rtl-container .mat-display-1,.rtl-container .mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.rtl-container .mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-button,.rtl-container .mat-fab,.rtl-container .mat-flat-button,.rtl-container .mat-icon-button,.rtl-container .mat-mini-fab,.rtl-container .mat-raised-button,.rtl-container .mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-button-toggle,.rtl-container .mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-card-title{font-size:24px;font-weight:500}.rtl-container .mat-card-header .mat-card-title{font-size:20px}.rtl-container .mat-card-content,.rtl-container .mat-card-subtitle{font-size:14px}.rtl-container .mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-checkbox-layout .mat-checkbox-label{line-height:24px}.rtl-container .mat-chip{font-size:14px;font-weight:500}.rtl-container .mat-chip .mat-chip-remove.mat-icon,.rtl-container .mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.rtl-container .mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-header-cell{font-size:12px;font-weight:500}.rtl-container .mat-cell,.rtl-container .mat-footer-cell{font-size:14px}.rtl-container .mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-calendar-body{font-size:13px}.rtl-container .mat-calendar-body-label,.rtl-container .mat-calendar-period-button{font-size:14px;font-weight:500}.rtl-container .mat-calendar-table-header th{font-size:11px;font-weight:400}.rtl-container .mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.rtl-container .mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-form-field-wrapper{padding-bottom:1.34375em}.rtl-container .mat-form-field-prefix .mat-icon,.rtl-container .mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.rtl-container .mat-form-field-prefix .mat-icon-button,.rtl-container .mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.rtl-container .mat-form-field-prefix .mat-icon-button .mat-icon,.rtl-container .mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.rtl-container .mat-form-field-infix{padding:.5em 0;border-top:.84375em solid #0000}.rtl-container .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.rtl-container .mat-form-field-label{top:1.34375em}.rtl-container .mat-form-field-underline{bottom:1.34375em}.rtl-container .mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.7916666667em)}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.3333533333%}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.rtl-container .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}@media print{.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.rtl-container .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.rtl-container .mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.rtl-container .mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.rtl-container .mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.rtl-container .mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.rtl-container .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.rtl-container .mat-grid-tile-footer,.rtl-container .mat-grid-tile-header{font-size:14px}.rtl-container .mat-grid-tile-footer .mat-line,.rtl-container .mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-grid-tile-footer .mat-line:nth-child(n+2),.rtl-container .mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}.rtl-container input.mat-input-element{margin-top:-.0625em}.rtl-container .mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.rtl-container .mat-paginator,.rtl-container .mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.rtl-container .mat-radio-button,.rtl-container .mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-select-trigger{height:1.125em}.rtl-container .mat-slide-toggle-content,.rtl-container .mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-slider-thumb-label-text{font-size:12px;font-weight:500}.rtl-container .mat-stepper-horizontal,.rtl-container .mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-step-label{font-size:14px;font-weight:400}.rtl-container .mat-step-sub-label-error{font-weight:400}.rtl-container .mat-step-label-error{font-size:14px}.rtl-container .mat-step-label-selected{font-size:14px;font-weight:500}.rtl-container .mat-tab-group{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-tab-label,.rtl-container .mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-toolbar,.rtl-container .mat-toolbar h1,.rtl-container .mat-toolbar h2,.rtl-container .mat-toolbar h3,.rtl-container .mat-toolbar h4,.rtl-container .mat-toolbar h5,.rtl-container .mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.rtl-container .mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.rtl-container .mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.rtl-container .mat-list-item,.rtl-container .mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-list-base .mat-list-item{font-size:16px}.rtl-container .mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.rtl-container .mat-list-base .mat-list-option{font-size:16px}.rtl-container .mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.rtl-container .mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.rtl-container .mat-list-base[dense] .mat-list-item{font-size:12px}.rtl-container .mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.rtl-container .mat-list-base[dense] .mat-list-option{font-size:12px}.rtl-container .mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.rtl-container .mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.rtl-container .mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.rtl-container .mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.rtl-container .mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.rtl-container .mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.rtl-container .mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.rtl-container .mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.rtl-container .mat-nested-tree-node,.rtl-container .mat-tree-node{font-weight:400;font-size:14px}.rtl-container .mat-ripple{overflow:hidden;position:relative}.rtl-container .mat-ripple:not(:empty){transform:translateZ(0)}.rtl-container .mat-ripple.mat-ripple-unbounded{overflow:visible}.rtl-container .mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale(0)}.cdk-high-contrast-active .rtl-container .mat-ripple-element{display:none}.rtl-container .cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none}.rtl-container .cdk-global-overlay-wrapper,.rtl-container .cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.rtl-container .cdk-overlay-container{position:fixed;z-index:1000}.rtl-container .cdk-overlay-container:empty{display:none}.rtl-container .cdk-global-overlay-wrapper,.rtl-container .cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.rtl-container .cdk-overlay-pane{pointer-events:auto;box-sizing:border-box;max-width:100%;max-height:100%}.rtl-container .cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.rtl-container .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .rtl-container .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.rtl-container .cdk-overlay-dark-backdrop{background:#00000052}.rtl-container .cdk-overlay-transparent-backdrop,.rtl-container .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.rtl-container .cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.rtl-container .cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.rtl-container textarea.cdk-textarea-autosize{resize:none}.rtl-container textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:initial!important;height:auto!important;overflow:hidden!important}.rtl-container textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:initial!important;height:0!important}@keyframes cdk-text-field-autofill-start{ - /*!*/}@keyframes cdk-text-field-autofill-end{ - /*!*/}.rtl-container .cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.rtl-container .cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.rtl-container .mat-focus-indicator,.rtl-container .mat-mdc-focus-indicator{position:relative}.rtl-container.purple.small.small .mat-header-cell{font-weight:700}.rtl-container.purple.small.small .mr-4{margin-right:1rem!important}.rtl-container.purple.small.small .mat-menu-item,.rtl-container.purple.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.small.small .fa-icon-small,.rtl-container.purple.small.small .genseed-message,.rtl-container.purple.small.small .top-icon-small,.rtl-container.purple.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.small.small .page-sub-title-container,.rtl-container.purple.small.small .page-title-container{font-size:1.32rem}.rtl-container.purple.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.small.small .sidenav-img svg,.rtl-container.purple.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.small.small .material-icons,.rtl-container.purple.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.small.small .mat-expansion-panel-header,.rtl-container.purple.small.small .mat-list .mat-list-item,.rtl-container.purple.small.small .mat-menu-item,.rtl-container.purple.small.small .mat-nav-list .mat-list-item,.rtl-container.purple.small.small .mat-option,.rtl-container.purple.small.small .mat-select,.rtl-container.purple.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.small.small .logo{font-size:2.4rem}.rtl-container.purple.small.small .font-60-percent{font-size:.72rem}.rtl-container.purple.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.small.small .icon-large{font-size:6rem}.rtl-container.purple.small.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.small.small .size-triple{font-size:3.6rem}.rtl-container.purple.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small.medium .mat-header-cell{font-weight:700}.rtl-container.purple.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.small.medium .genseed-message,.rtl-container.purple.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.small.medium .page-sub-title-container,.rtl-container.purple.small.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.small.medium .fa-icon-small,.rtl-container.purple.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.small.medium .sidenav-img svg,.rtl-container.purple.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.small.medium .material-icons{font-size:2.8rem}.rtl-container.purple.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.small.medium .mat-expansion-panel-header,.rtl-container.purple.small.medium .mat-list .mat-list-item,.rtl-container.purple.small.medium .mat-menu-item,.rtl-container.purple.small.medium .mat-nav-list .mat-list-item,.rtl-container.purple.small.medium .mat-option,.rtl-container.purple.small.medium .mat-select,.rtl-container.purple.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.small.medium .logo{font-size:2.8rem}.rtl-container.purple.small.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.small.medium .icon-large{font-size:7rem}.rtl-container.purple.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.small.medium .size-triple{font-size:4.2rem}.rtl-container.purple.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small.large .mat-header-cell{font-weight:800}.rtl-container.purple.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.small.large .genseed-message,.rtl-container.purple.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.small.large .page-sub-title-container,.rtl-container.purple.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.small.large .fa-icon-small,.rtl-container.purple.small.large .modal-info-header,.rtl-container.purple.small.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.small.large .sidenav-img svg,.rtl-container.purple.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.small.large .material-icons{font-size:4rem}.rtl-container.purple.small.large .mat-expansion-panel-header,.rtl-container.purple.small.large .mat-list .mat-list-item,.rtl-container.purple.small.large .mat-menu-item,.rtl-container.purple.small.large .mat-nav-list .mat-list-item,.rtl-container.purple.small.large .mat-option,.rtl-container.purple.small.large .mat-select,.rtl-container.purple.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.small.large .logo{font-size:3.2rem}.rtl-container.purple.small.large .font-60-percent{font-size:.96rem}.rtl-container.purple.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.small.large .icon-large{font-size:8rem}.rtl-container.purple.small.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.small.large .size-triple{font-size:4.8rem}.rtl-container.purple.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.small .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.small .mat-flat-button.mat-primary:focus,.rtl-container.purple.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.medium.small .mat-header-cell{font-weight:700}.rtl-container.purple.medium.small .mr-4{margin-right:1rem!important}.rtl-container.purple.medium.small .mat-menu-item,.rtl-container.purple.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.medium.small .fa-icon-small,.rtl-container.purple.medium.small .genseed-message,.rtl-container.purple.medium.small .top-icon-small,.rtl-container.purple.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.medium.small .page-sub-title-container,.rtl-container.purple.medium.small .page-title-container{font-size:1.32rem}.rtl-container.purple.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.medium.small .sidenav-img svg,.rtl-container.purple.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.medium.small .material-icons,.rtl-container.purple.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.medium.small .mat-expansion-panel-header,.rtl-container.purple.medium.small .mat-list .mat-list-item,.rtl-container.purple.medium.small .mat-menu-item,.rtl-container.purple.medium.small .mat-nav-list .mat-list-item,.rtl-container.purple.medium.small .mat-option,.rtl-container.purple.medium.small .mat-select,.rtl-container.purple.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.medium.small .logo{font-size:2.4rem}.rtl-container.purple.medium.small .font-60-percent{font-size:.72rem}.rtl-container.purple.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.medium.small .icon-large{font-size:6rem}.rtl-container.purple.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.medium.small .size-triple{font-size:3.6rem}.rtl-container.purple.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium.medium .mat-header-cell{font-weight:700}.rtl-container.purple.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.medium.medium .genseed-message,.rtl-container.purple.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.medium.medium .page-sub-title-container,.rtl-container.purple.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.medium.medium .fa-icon-small,.rtl-container.purple.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.medium.medium .sidenav-img svg,.rtl-container.purple.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.medium.medium .material-icons{font-size:2.8rem}.rtl-container.purple.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.medium.medium .mat-expansion-panel-header,.rtl-container.purple.medium.medium .mat-list .mat-list-item,.rtl-container.purple.medium.medium .mat-menu-item,.rtl-container.purple.medium.medium .mat-nav-list .mat-list-item,.rtl-container.purple.medium.medium .mat-option,.rtl-container.purple.medium.medium .mat-select,.rtl-container.purple.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.medium.medium .logo{font-size:2.8rem}.rtl-container.purple.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.medium.medium .icon-large{font-size:7rem}.rtl-container.purple.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.medium.medium .size-triple{font-size:4.2rem}.rtl-container.purple.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium.large .mat-header-cell{font-weight:800}.rtl-container.purple.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.medium.large .genseed-message,.rtl-container.purple.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.medium.large .page-sub-title-container,.rtl-container.purple.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.medium.large .fa-icon-small,.rtl-container.purple.medium.large .modal-info-header,.rtl-container.purple.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.medium.large .sidenav-img svg,.rtl-container.purple.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.medium.large .material-icons{font-size:4rem}.rtl-container.purple.medium.large .mat-expansion-panel-header,.rtl-container.purple.medium.large .mat-list .mat-list-item,.rtl-container.purple.medium.large .mat-menu-item,.rtl-container.purple.medium.large .mat-nav-list .mat-list-item,.rtl-container.purple.medium.large .mat-option,.rtl-container.purple.medium.large .mat-select,.rtl-container.purple.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.medium.large .logo{font-size:3.2rem}.rtl-container.purple.medium.large .font-60-percent{font-size:.96rem}.rtl-container.purple.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.medium.large .icon-large{font-size:8rem}.rtl-container.purple.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.medium.large .size-triple{font-size:4.8rem}.rtl-container.purple.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.medium .mat-flat-button.mat-primary:focus,.rtl-container.purple.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.large.small .mat-header-cell{font-weight:700}.rtl-container.purple.large.small .mr-4{margin-right:1rem!important}.rtl-container.purple.large.small .mat-menu-item,.rtl-container.purple.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.purple.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.purple.large.small .fa-icon-small,.rtl-container.purple.large.small .genseed-message,.rtl-container.purple.large.small .top-icon-small,.rtl-container.purple.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.purple.large.small .page-sub-title-container,.rtl-container.purple.large.small .page-title-container{font-size:1.32rem}.rtl-container.purple.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.purple.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.purple.large.small .sidenav-img svg,.rtl-container.purple.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.purple.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.purple.large.small .material-icons,.rtl-container.purple.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.purple.large.small .mat-expansion-panel-header,.rtl-container.purple.large.small .mat-list .mat-list-item,.rtl-container.purple.large.small .mat-menu-item,.rtl-container.purple.large.small .mat-nav-list .mat-list-item,.rtl-container.purple.large.small .mat-option,.rtl-container.purple.large.small .mat-select,.rtl-container.purple.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.purple.large.small .logo{font-size:2.4rem}.rtl-container.purple.large.small .font-60-percent{font-size:.72rem}.rtl-container.purple.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.purple.large.small .icon-large{font-size:6rem}.rtl-container.purple.large.small .icon-small{font-size:1.8rem!important}.rtl-container.purple.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.purple.large.small .size-triple{font-size:3.6rem}.rtl-container.purple.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.purple.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large.medium .mat-header-cell{font-weight:700}.rtl-container.purple.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.purple.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.purple.large.medium .genseed-message,.rtl-container.purple.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.purple.large.medium .page-sub-title-container,.rtl-container.purple.large.medium .page-title-container{font-size:1.54rem}.rtl-container.purple.large.medium .fa-icon-small,.rtl-container.purple.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.purple.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.purple.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.purple.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.purple.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.purple.large.medium .sidenav-img svg,.rtl-container.purple.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.purple.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.purple.large.medium .material-icons{font-size:2.8rem}.rtl-container.purple.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.purple.large.medium .mat-expansion-panel-header,.rtl-container.purple.large.medium .mat-list .mat-list-item,.rtl-container.purple.large.medium .mat-menu-item,.rtl-container.purple.large.medium .mat-nav-list .mat-list-item,.rtl-container.purple.large.medium .mat-option,.rtl-container.purple.large.medium .mat-select,.rtl-container.purple.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.purple.large.medium .logo{font-size:2.8rem}.rtl-container.purple.large.medium .font-60-percent{font-size:.84rem}.rtl-container.purple.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.purple.large.medium .icon-large{font-size:7rem}.rtl-container.purple.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.purple.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.purple.large.medium .size-triple{font-size:4.2rem}.rtl-container.purple.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.purple.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large.large .mat-header-cell{font-weight:800}.rtl-container.purple.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.purple.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.purple.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.purple.large.large .genseed-message,.rtl-container.purple.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.purple.large.large .page-sub-title-container,.rtl-container.purple.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.purple.large.large .fa-icon-small,.rtl-container.purple.large.large .modal-info-header,.rtl-container.purple.large.large .top-icon-small{font-size:1.92rem}.rtl-container.purple.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.purple.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.purple.large.large .sidenav-img svg,.rtl-container.purple.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.purple.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.purple.large.large .material-icons{font-size:4rem}.rtl-container.purple.large.large .mat-expansion-panel-header,.rtl-container.purple.large.large .mat-list .mat-list-item,.rtl-container.purple.large.large .mat-menu-item,.rtl-container.purple.large.large .mat-nav-list .mat-list-item,.rtl-container.purple.large.large .mat-option,.rtl-container.purple.large.large .mat-select,.rtl-container.purple.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.purple.large.large .logo{font-size:3.2rem}.rtl-container.purple.large.large .font-60-percent{font-size:.96rem}.rtl-container.purple.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.purple.large.large .icon-large{font-size:8rem}.rtl-container.purple.large.large .icon-small{font-size:2.4rem!important}.rtl-container.purple.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.purple.large.large .size-triple{font-size:4.8rem}.rtl-container.purple.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.purple.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.purple.large .mat-icon.material-icons:focus{outline:none}.rtl-container.purple.large .mat-flat-button.mat-primary:focus,.rtl-container.purple.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.purple.day .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.day .mat-option{color:#000000de}.rtl-container.purple.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.purple.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.purple.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.purple.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.purple.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#5e4ea5}.rtl-container.purple.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.purple.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.purple.day .mat-optgroup-label{color:#0000008a}.rtl-container.purple.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.purple.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.purple.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.purple.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.purple.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#5e4ea5}.rtl-container.purple.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.purple.day .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.purple.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.purple.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.purple.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.purple.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.purple.day.mat-app-background,.rtl-container.purple.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.purple.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.purple.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.purple.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.purple.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.purple.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.purple.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.purple.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.purple.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.purple.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.purple.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.purple.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.purple.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.purple.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.purple.day .mat-badge-content{color:#fff;background:#5e4ea5}.cdk-high-contrast-active .rtl-container.purple.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.purple.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.purple.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.purple.day .mat-badge{position:relative}.rtl-container.purple.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.purple.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.purple.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.purple.day .mat-badge-content._mat-animation-noopable,.rtl-container.purple.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.purple.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.purple.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.purple.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.purple.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.purple.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.purple.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.purple.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.purple.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.purple.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.purple.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.purple.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.purple.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.purple.day .mat-button,.rtl-container.purple.day .mat-icon-button,.rtl-container.purple.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.purple.day .mat-button.mat-primary,.rtl-container.purple.day .mat-icon-button.mat-primary,.rtl-container.purple.day .mat-stroked-button.mat-primary{color:#5e4ea5}.rtl-container.purple.day .mat-button.mat-accent,.rtl-container.purple.day .mat-icon-button.mat-accent,.rtl-container.purple.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.purple.day .mat-button.mat-warn,.rtl-container.purple.day .mat-icon-button.mat-warn,.rtl-container.purple.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.purple.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.purple.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#5e4ea5}.rtl-container.purple.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.purple.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.purple.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.purple.day .mat-button .mat-ripple-element,.rtl-container.purple.day .mat-icon-button .mat-ripple-element,.rtl-container.purple.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.purple.day .mat-button-focus-overlay{background:#000}.rtl-container.purple.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.purple.day .mat-fab,.rtl-container.purple.day .mat-flat-button,.rtl-container.purple.day .mat-mini-fab,.rtl-container.purple.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.purple.day .mat-fab.mat-accent,.rtl-container.purple.day .mat-fab.mat-primary,.rtl-container.purple.day .mat-fab.mat-warn,.rtl-container.purple.day .mat-flat-button.mat-accent,.rtl-container.purple.day .mat-flat-button.mat-primary,.rtl-container.purple.day .mat-flat-button.mat-warn,.rtl-container.purple.day .mat-mini-fab.mat-accent,.rtl-container.purple.day .mat-mini-fab.mat-primary,.rtl-container.purple.day .mat-mini-fab.mat-warn,.rtl-container.purple.day .mat-raised-button.mat-accent,.rtl-container.purple.day .mat-raised-button.mat-primary,.rtl-container.purple.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.purple.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.purple.day .mat-fab.mat-primary,.rtl-container.purple.day .mat-flat-button.mat-primary,.rtl-container.purple.day .mat-mini-fab.mat-primary,.rtl-container.purple.day .mat-raised-button.mat-primary{background-color:#5e4ea5}.rtl-container.purple.day .mat-fab.mat-accent,.rtl-container.purple.day .mat-flat-button.mat-accent,.rtl-container.purple.day .mat-mini-fab.mat-accent,.rtl-container.purple.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.purple.day .mat-fab.mat-warn,.rtl-container.purple.day .mat-flat-button.mat-warn,.rtl-container.purple.day .mat-mini-fab.mat-warn,.rtl-container.purple.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.purple.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.purple.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.purple.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-button-toggle-group,.rtl-container.purple.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard,.rtl-container.purple.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.purple.day .mat-button-toggle{color:#00000061}.rtl-container.purple.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.purple.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.purple.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.purple.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.purple.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.purple.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.purple.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.purple.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.purple.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.purple.day .mat-button-toggle-group-appearance-standard,.rtl-container.purple.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.rtl-container.purple.day .mat-card{background:#fff;color:#000000de}.rtl-container.purple.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.day .mat-card-subtitle{color:#0000008a}.rtl-container.purple.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.purple.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.purple.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.purple.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.purple.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#5e4ea5}.rtl-container.purple.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.purple.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.purple.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.purple.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.purple.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.purple.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.purple.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#5e4ea5}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.purple.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.purple.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.purple.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.purple.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.day .mat-table{background:#fff}.rtl-container.purple.day .mat-table-sticky,.rtl-container.purple.day .mat-table tbody,.rtl-container.purple.day .mat-table tfoot,.rtl-container.purple.day .mat-table thead,.rtl-container.purple.day [mat-footer-row],.rtl-container.purple.day [mat-header-row],.rtl-container.purple.day [mat-row],.rtl-container.purple.day mat-footer-row,.rtl-container.purple.day mat-header-row,.rtl-container.purple.day mat-row{background:inherit}.rtl-container.purple.day mat-footer-row,.rtl-container.purple.day mat-header-row,.rtl-container.purple.day mat-row,.rtl-container.purple.day td.mat-cell,.rtl-container.purple.day td.mat-footer-cell,.rtl-container.purple.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.purple.day .mat-header-cell{color:#0000008a}.rtl-container.purple.day .mat-cell,.rtl-container.purple.day .mat-footer-cell{color:#000000de}.rtl-container.purple.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.purple.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.purple.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.purple.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.purple.day .mat-calendar-table-header{color:#00000061}.rtl-container.purple.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.purple.day .mat-calendar-body-label{color:#0000008a}.rtl-container.purple.day .mat-calendar-body-cell-content,.rtl-container.purple.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.purple.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.purple.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.purple.day .mat-calendar-body-in-range:before{background:#5e4ea533}.rtl-container.purple.day .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-calendar-body-selected{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#5e4ea566}.rtl-container.purple.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#5e4ea54d}.rtl-container.purple.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.purple.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.day .mat-datepicker-toggle-active{color:#5e4ea5}.rtl-container.purple.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.purple.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.purple.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.purple.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.purple.day .mat-divider{border-top-color:#0000001f}.rtl-container.purple.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.purple.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.purple.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.day .mat-action-row{border-top-color:#0000001f}.rtl-container.purple.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.purple.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.purple.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.purple.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.purple.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.purple.day .mat-expansion-indicator:after,.rtl-container.purple.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-expansion-panel-header{height:48px}.mat-expansion-panel-header.mat-expanded{height:64px}.rtl-container.purple.day .mat-form-field-label,.rtl-container.purple.day .mat-hint{color:#0009}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label{color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.purple.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.purple.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#5e4ea5}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.purple.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.purple.day .mat-error{color:#b00020}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.purple.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.purple.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.purple.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.purple.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#5e4ea5}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.purple.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.purple.day .mat-icon.mat-primary{color:#5e4ea5}.rtl-container.purple.day .mat-icon.mat-accent{color:#424242}.rtl-container.purple.day .mat-icon.mat-warn{color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.purple.day .mat-input-element:disabled{color:#00000061}.rtl-container.purple.day .mat-input-element{caret-color:#5e4ea5}.rtl-container.purple.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.purple.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.purple.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.purple.day .mat-form-field-invalid .mat-input-element,.rtl-container.purple.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.purple.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.purple.day .mat-list-base .mat-list-item,.rtl-container.purple.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.purple.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.purple.day .mat-list-item-disabled{background-color:#eee}.rtl-container.purple.day .mat-action-list .mat-list-item:focus,.rtl-container.purple.day .mat-action-list .mat-list-item:hover,.rtl-container.purple.day .mat-list-option:focus,.rtl-container.purple.day .mat-list-option:hover,.rtl-container.purple.day .mat-nav-list .mat-list-item:focus,.rtl-container.purple.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.purple.day .mat-list-single-selected-option,.rtl-container.purple.day .mat-list-single-selected-option:focus,.rtl-container.purple.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.purple.day .mat-menu-panel{background:#fff}.rtl-container.purple.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.purple.day .mat-menu-item[disabled],.rtl-container.purple.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.purple.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.purple.day .mat-menu-item-submenu-trigger:after,.rtl-container.purple.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.purple.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.purple.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.purple.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.purple.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.purple.day .mat-paginator{background:#fff}.rtl-container.purple.day .mat-paginator,.rtl-container.purple.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.purple.day .mat-paginator-decrement,.rtl-container.purple.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.purple.day .mat-paginator-first,.rtl-container.purple.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.purple.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.mat-paginator-container{min-height:56px}.rtl-container.purple.day .mat-progress-bar-background{fill:#d3cfe5}.rtl-container.purple.day .mat-progress-bar-buffer{background-color:#d3cfe5}.rtl-container.purple.day .mat-progress-bar-fill:after{background-color:#5e4ea5}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.purple.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.purple.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.purple.day .mat-progress-spinner circle,.rtl-container.purple.day .mat-spinner circle{stroke:#5e4ea5}.rtl-container.purple.day .mat-progress-spinner.mat-accent circle,.rtl-container.purple.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.purple.day .mat-progress-spinner.mat-warn circle,.rtl-container.purple.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.purple.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.purple.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#5e4ea5}.rtl-container.purple.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#5e4ea5}.rtl-container.purple.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.purple.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.purple.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.purple.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.purple.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.purple.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-select-value{color:#000000de}.rtl-container.purple.day .mat-select-placeholder{color:#0000006b}.rtl-container.purple.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.purple.day .mat-select-arrow{color:#0000008a}.rtl-container.purple.day .mat-select-panel{background:#fff}.rtl-container.purple.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.purple.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#5e4ea5}.rtl-container.purple.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.purple.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.purple.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.purple.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.purple.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.purple.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.purple.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.purple.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.purple.day .mat-drawer-side.mat-drawer-end,.rtl-container.purple.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.purple.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.purple.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.purple.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#5e4ea5}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#5e4ea58a}.rtl-container.purple.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#5e4ea5}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.purple.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.purple.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.purple.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.purple.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.purple.day .mat-slider-track-background{background-color:#00000042}.rtl-container.purple.day .mat-primary .mat-slider-thumb,.rtl-container.purple.day .mat-primary .mat-slider-thumb-label,.rtl-container.purple.day .mat-primary .mat-slider-track-fill{background-color:#5e4ea5}.rtl-container.purple.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-primary .mat-slider-focus-ring{background-color:#5e4ea533}.rtl-container.purple.day .mat-accent .mat-slider-thumb,.rtl-container.purple.day .mat-accent .mat-slider-thumb-label,.rtl-container.purple.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.purple.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.purple.day .mat-warn .mat-slider-thumb,.rtl-container.purple.day .mat-warn .mat-slider-thumb-label,.rtl-container.purple.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.purple.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.purple.day .cdk-focused .mat-slider-track-background,.rtl-container.purple.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.purple.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.purple.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.purple.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.purple.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.purple.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.purple.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.purple.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.purple.day .mat-step-header.cdk-keyboard-focused,.rtl-container.purple.day .mat-step-header.cdk-program-focused,.rtl-container.purple.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.purple.day .mat-step-header:hover{background:none}}.rtl-container.purple.day .mat-step-header .mat-step-label,.rtl-container.purple.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.purple.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.purple.day .mat-step-header .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header .mat-step-icon-state-edit{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.purple.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.purple.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.purple.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.purple.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.purple.day .mat-stepper-horizontal,.rtl-container.purple.day .mat-stepper-vertical{background-color:#fff}.rtl-container.purple.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.purple.day .mat-horizontal-stepper-header:after,.rtl-container.purple.day .mat-horizontal-stepper-header:before,.rtl-container.purple.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.mat-horizontal-stepper-header{height:72px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.mat-vertical-stepper-header{padding:24px}.mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before,.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.rtl-container.purple.day .mat-sort-header-arrow{color:#757575}.rtl-container.purple.day .mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.purple.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.purple.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.purple.day .mat-tab-label,.rtl-container.purple.day .mat-tab-link{color:#000000de}.rtl-container.purple.day .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.purple.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.purple.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.purple.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#5e4ea5}.rtl-container.purple.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.purple.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.purple.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.purple.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#5e4ea5}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.purple.day .mat-toolbar.mat-primary{background:#5e4ea5;color:#fff}.rtl-container.purple.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.purple.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.purple.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.purple.day .mat-toolbar .mat-form-field-ripple,.rtl-container.purple.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.purple.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.purple.day .mat-toolbar .mat-form-field-label,.rtl-container.purple.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.purple.day .mat-toolbar .mat-select-arrow,.rtl-container.purple.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.purple.day .mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media (max-width:599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}.rtl-container.purple.day .mat-tooltip{background:#616161e6}.rtl-container.purple.day .mat-tree{background:#fff}.rtl-container.purple.day .mat-nested-tree-node,.rtl-container.purple.day .mat-tree-node{color:#000000de}.mat-tree-node{min-height:48px}.rtl-container.purple.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.day .mat-simple-snackbar-action{color:#424242}.rtl-container.purple.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.purple.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.purple.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.purple.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.purple.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.purple.day .bg-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.purple.day .mat-tab-label.mat-tab-label-active{color:#5e4ea5}.rtl-container.purple.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#5e4ea5}.rtl-container.purple.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.purple.day .mat-form-field-suffix,.rtl-container.purple.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.purple.day .ng-fa-icon{color:#0000008a}.rtl-container.purple.day .mat-stroked-button.mat-primary{border-color:#5e4ea5}.rtl-container.purple.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.purple.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.purple.day .selected-color{border-color:#8e83c0}.rtl-container.purple.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.purple.day .page-sub-title-container,.rtl-container.purple.day .page-title-container{color:#0000008a}.rtl-container.purple.day .page-sub-title-container .page-title-img,.rtl-container.purple.day .page-title-container .page-title-img{color:#00000061}.rtl-container.purple.day .page-sub-title-container .mat-input-element,.rtl-container.purple.day .page-sub-title-container .mat-radio-label-content,.rtl-container.purple.day .page-sub-title-container .theme-name,.rtl-container.purple.day .page-title-container .mat-input-element,.rtl-container.purple.day .page-title-container .mat-radio-label-content,.rtl-container.purple.day .page-title-container .theme-name{color:#000000de}.rtl-container.purple.day .cc-data-block .cc-data-title{color:#5e4ea5}.rtl-container.purple.day .active-link,.rtl-container.purple.day .active-link .fa-icon-small{color:#5e4ea5;font-weight:500;cursor:pointer;fill:#5e4ea5}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.purple.day .mat-nested-tree-node-parent:hover,.rtl-container.purple.day .mat-select-panel .mat-option:hover,.rtl-container.purple.day .mat-tree-node:hover{color:#5e4ea5;cursor:pointer;background:#0000000a}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.purple.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.purple.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.purple.day .mat-tree-node:hover .mat-icon,.rtl-container.purple.day .mat-tree-node:hover .ng-fa-icon{color:#5e4ea5}.rtl-container.purple.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.purple.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.purple.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.purple.day .mat-tree-node:hover .sidenav-img svg{fill:#5e4ea5}.rtl-container.purple.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.purple.day .mat-nested-tree-node .sidenav-img,.rtl-container.purple.day .mat-tree-node .sidenav-img,.rtl-container.purple.day .page-title-container .page-title-img,.rtl-container.purple.day svg.top-icon-small{fill:#000000de}.rtl-container.purple.day .mat-progress-bar-fill:after{background-color:#312579}.rtl-container.purple.day .modal-qr-code-container{background:#0000001f}.rtl-container.purple.day .mat-tab-label,.rtl-container.purple.day .mat-tab-link{color:#0000008a}.rtl-container.purple.day .mat-card,.rtl-container.purple.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.purple.day .dashboard-info-title{color:#5e4ea5}.rtl-container.purple.day .dashboard-info-value{color:#0000008a}.rtl-container.purple.day .color-primary{color:#5e4ea5!important}.rtl-container.purple.day .dot-primary{background-color:#5e4ea5!important}.rtl-container.purple.day .dot-primary-lighter{background-color:#8e83c0!important}.rtl-container.purple.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.purple.day .mat-tooltip{font-size:120%}.rtl-container.purple.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.purple.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.purple.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.purple.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-1{fill:#fff}.rtl-container.purple.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.purple.day svg .fill-color-3,.rtl-container.purple.day svg .fill-color-4,.rtl-container.purple.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.purple.day svg .fill-color-6{fill:#fff}.rtl-container.purple.day svg .fill-color-7,.rtl-container.purple.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-9{fill:#fff}.rtl-container.purple.day svg .fill-color-10,.rtl-container.purple.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.purple.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-13,.rtl-container.purple.day svg .fill-color-14,.rtl-container.purple.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.purple.day svg .fill-color-16,.rtl-container.purple.day svg .fill-color-17{fill:#404040}.rtl-container.purple.day svg .fill-color-18{fill:#000}.rtl-container.purple.day svg .fill-color-19,.rtl-container.purple.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.purple.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-22,.rtl-container.purple.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.purple.day svg .fill-color-24{fill:#000}.rtl-container.purple.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.purple.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.purple.day svg .fill-color-27{fill:#000}.rtl-container.purple.day svg .fill-color-28{fill:#313131}.rtl-container.purple.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.purple.day svg .fill-color-30{fill:#fff}.rtl-container.purple.day svg .fill-color-31{fill:#5e4ea5}.rtl-container.purple.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.purple.day svg .fill-color-primary{fill:#5e4ea5}.rtl-container.purple.day svg .fill-color-primary-lighter{fill:#8e83c0}.rtl-container.purple.day svg .fill-color-primary-darker{fill:#5e4ea5}.rtl-container.purple.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.purple.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.purple.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.purple.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.purple.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.purple.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.purple.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#5e4ea5}.rtl-container.purple.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.purple.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#312579}.rtl-container.purple.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.purple.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#afa7d2}.rtl-container.purple.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.purple.day .mat-progress-bar-buffer{background-color:#cfcae4}.rtl-container.purple.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.purple.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.purple.day .foreground.mat-progress-spinner circle,.rtl-container.purple.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.purple.day .mat-toolbar-row,.rtl-container.purple.day .mat-toolbar-single-row{height:5rem}.rtl-container.purple.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.purple.day a{color:#5e4ea5}.rtl-container.purple.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.purple.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.purple.day .mat-icon-36{color:#0000008a}.rtl-container.purple.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.purple.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.purple.day .genseed-message{width:10%;color:#5e4ea5}.rtl-container.purple.day .material-icons.primary{color:#5e4ea5}.rtl-container.purple.day .material-icons.accent{color:#424242}.rtl-container.purple.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.purple.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.purple.day .row-disabled{background-color:gray}.rtl-container.purple.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.purple.day .mat-menu-panel{min-width:6.4rem}.rtl-container.purple.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.purple.day .horizontal-button:hover{background:#8e83c0;color:#424242}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#5e4ea5}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.purple.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.purple.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.purple.day .mat-cell,.rtl-container.purple.day .mat-footer-cell,.rtl-container.purple.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.purple.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.purple.day table.mat-table thead tr th{color:#000}.rtl-container.purple.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.purple.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.purple.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.purple.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.purple.day .more-button{color:#00000061}.rtl-container.purple.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.purple.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.purple.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.purple.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.purple.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.purple.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.purple.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.purple.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.purple.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.purple.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.purple.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.purple.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.purple.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.purple.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.purple.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.purple.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.purple.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#afa7d2!important}.rtl-container.purple.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#56479d!important}.rtl-container.purple.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.purple.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.purple.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.purple.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.purple.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.purple.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.purple.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.purple.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.purple.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.purple.day .color-warn{color:#b00020}.rtl-container.purple.day .fill-warn{fill:#b00020}.rtl-container.purple.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.purple.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.purple.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.purple.day .alert.alert-info a{color:#004085}.rtl-container.purple.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.purple.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.purple.day .alert.alert-warn a{color:#856404}.rtl-container.purple.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.purple.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.purple.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.purple.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.purple.day .help-expansion .mat-expansion-panel-header,.rtl-container.purple.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.purple.day .help-expansion .mat-expansion-indicator:after,.rtl-container.purple.day .help-expansion .mat-expansion-panel-content,.rtl-container.purple.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.purple.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.purple.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.purple.day .failed-status{color:#b00020}.rtl-container.purple.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.purple.day .svg-fill-primary{fill:#5e4ea5}.rtl-container.purple.day .svg-fill-primary-lighter{fill:#8e83c0}.rtl-container.purple.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.purple.day ngx-charts-bar-vertical-2d text,.rtl-container.purple.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.purple.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.purple.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.purple.day .mat-paginator-container{padding:0}.rtl-container.purple.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-option{color:#fff}.rtl-container.purple.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.purple.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.purple.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.purple.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#5e4ea5}.rtl-container.purple.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.purple.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.purple.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.purple.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.purple.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#5e4ea5}.rtl-container.purple.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.purple.night .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.purple.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.purple.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.purple.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.purple.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.purple.night.mat-app-background,.rtl-container.purple.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.purple.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.purple.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.purple.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.purple.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.purple.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.purple.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.purple.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.purple.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.purple.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.purple.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.purple.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.purple.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.purple.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.purple.night .mat-badge-content{color:#fff;background:#5e4ea5}.cdk-high-contrast-active .rtl-container.purple.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.purple.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.purple.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.purple.night .mat-badge{position:relative}.rtl-container.purple.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.purple.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.purple.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.purple.night .mat-badge-content._mat-animation-noopable,.rtl-container.purple.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.purple.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.purple.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.purple.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.purple.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.purple.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.purple.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.purple.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.purple.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.purple.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.purple.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.purple.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.purple.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.purple.night .mat-button,.rtl-container.purple.night .mat-icon-button,.rtl-container.purple.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.purple.night .mat-button.mat-primary,.rtl-container.purple.night .mat-icon-button.mat-primary,.rtl-container.purple.night .mat-stroked-button.mat-primary{color:#5e4ea5}.rtl-container.purple.night .mat-button.mat-accent,.rtl-container.purple.night .mat-icon-button.mat-accent,.rtl-container.purple.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.purple.night .mat-button.mat-warn,.rtl-container.purple.night .mat-icon-button.mat-warn,.rtl-container.purple.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.purple.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.purple.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#5e4ea5}.rtl-container.purple.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.purple.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.purple.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.purple.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.purple.night .mat-button .mat-ripple-element,.rtl-container.purple.night .mat-icon-button .mat-ripple-element,.rtl-container.purple.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.purple.night .mat-button-focus-overlay{background:#fff}.rtl-container.purple.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.purple.night .mat-fab,.rtl-container.purple.night .mat-flat-button,.rtl-container.purple.night .mat-mini-fab,.rtl-container.purple.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.purple.night .mat-fab.mat-primary,.rtl-container.purple.night .mat-flat-button.mat-primary,.rtl-container.purple.night .mat-mini-fab.mat-primary,.rtl-container.purple.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.purple.night .mat-fab.mat-accent,.rtl-container.purple.night .mat-flat-button.mat-accent,.rtl-container.purple.night .mat-mini-fab.mat-accent,.rtl-container.purple.night .mat-raised-button.mat-accent{color:#000}.rtl-container.purple.night .mat-fab.mat-warn,.rtl-container.purple.night .mat-flat-button.mat-warn,.rtl-container.purple.night .mat-mini-fab.mat-warn,.rtl-container.purple.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.purple.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.purple.night .mat-fab.mat-primary,.rtl-container.purple.night .mat-flat-button.mat-primary,.rtl-container.purple.night .mat-mini-fab.mat-primary,.rtl-container.purple.night .mat-raised-button.mat-primary{background-color:#5e4ea5}.rtl-container.purple.night .mat-fab.mat-accent,.rtl-container.purple.night .mat-flat-button.mat-accent,.rtl-container.purple.night .mat-mini-fab.mat-accent,.rtl-container.purple.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.purple.night .mat-fab.mat-warn,.rtl-container.purple.night .mat-flat-button.mat-warn,.rtl-container.purple.night .mat-mini-fab.mat-warn,.rtl-container.purple.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.purple.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.purple.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.purple.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.purple.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.purple.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.purple.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-button-toggle-group,.rtl-container.purple.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard,.rtl-container.purple.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.purple.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.purple.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.purple.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.purple.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.purple.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.purple.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.purple.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.purple.night .mat-button-toggle-group-appearance-standard,.rtl-container.purple.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.purple.night .mat-card{background:#202020;color:#fff}.rtl-container.purple.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.purple.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.purple.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.purple.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.purple.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.purple.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#5e4ea5}.rtl-container.purple.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.purple.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.purple.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.purple.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.purple.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.purple.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#5e4ea5}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.purple.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.purple.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.purple.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.purple.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.purple.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.purple.night .mat-table{background:#202020}.rtl-container.purple.night .mat-table-sticky,.rtl-container.purple.night .mat-table tbody,.rtl-container.purple.night .mat-table tfoot,.rtl-container.purple.night .mat-table thead,.rtl-container.purple.night [mat-footer-row],.rtl-container.purple.night [mat-header-row],.rtl-container.purple.night [mat-row],.rtl-container.purple.night mat-footer-row,.rtl-container.purple.night mat-header-row,.rtl-container.purple.night mat-row{background:inherit}.rtl-container.purple.night mat-footer-row,.rtl-container.purple.night mat-header-row,.rtl-container.purple.night mat-row,.rtl-container.purple.night td.mat-cell,.rtl-container.purple.night td.mat-footer-cell,.rtl-container.purple.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.purple.night .mat-cell,.rtl-container.purple.night .mat-footer-cell{color:#fff}.rtl-container.purple.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.purple.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.purple.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.purple.night .mat-datepicker-toggle{color:#fff}.rtl-container.purple.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.purple.night .mat-calendar-body-cell-content,.rtl-container.purple.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.purple.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.purple.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.purple.night .mat-calendar-body-in-range:before{background:#5e4ea533}.rtl-container.purple.night .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#5e4ea533 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-calendar-body-selected{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#5e4ea566}.rtl-container.purple.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#5e4ea54d}.rtl-container.purple.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.purple.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.purple.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.purple.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.purple.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.purple.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.purple.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.purple.night .mat-datepicker-toggle-active{color:#5e4ea5}.rtl-container.purple.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.purple.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.purple.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.purple.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.purple.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.purple.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.purple.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.purple.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.purple.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.purple.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.purple.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label{color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.purple.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.purple.night .mat-form-field-ripple{background-color:#fff}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#5e4ea5}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.purple.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.purple.night .mat-error{color:#b00020}.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.purple.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.purple.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.purple.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.purple.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.purple.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.purple.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.purple.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.purple.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#5e4ea5}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.purple.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.purple.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.purple.night .mat-icon.mat-primary{color:#5e4ea5}.rtl-container.purple.night .mat-icon.mat-accent{color:#eee}.rtl-container.purple.night .mat-icon.mat-warn{color:#b00020}.rtl-container.purple.night .mat-input-element{caret-color:#5e4ea5}.rtl-container.purple.night .mat-input-element option{color:#000000de}.rtl-container.purple.night .mat-input-element option:disabled{color:#00000061}.rtl-container.purple.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.purple.night .mat-form-field-invalid .mat-input-element,.rtl-container.purple.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.purple.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.purple.night .mat-list-base .mat-list-item,.rtl-container.purple.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.purple.night .mat-list-item-disabled{background-color:#444}.rtl-container.purple.night .mat-action-list .mat-list-item:focus,.rtl-container.purple.night .mat-action-list .mat-list-item:hover,.rtl-container.purple.night .mat-list-option:focus,.rtl-container.purple.night .mat-list-option:hover,.rtl-container.purple.night .mat-nav-list .mat-list-item:focus,.rtl-container.purple.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.purple.night .mat-list-single-selected-option,.rtl-container.purple.night .mat-list-single-selected-option:focus,.rtl-container.purple.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.purple.night .mat-menu-panel{background:#202020}.rtl-container.purple.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.purple.night .mat-menu-item-submenu-trigger:after,.rtl-container.purple.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.purple.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.purple.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.purple.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.purple.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.purple.night .mat-paginator{background:#202020}.rtl-container.purple.night .mat-paginator-decrement,.rtl-container.purple.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.purple.night .mat-paginator-first,.rtl-container.purple.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.purple.night .mat-progress-bar-background{fill:#211d33}.rtl-container.purple.night .mat-progress-bar-buffer{background-color:#211d33}.rtl-container.purple.night .mat-progress-bar-fill:after{background-color:#5e4ea5}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.purple.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.purple.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.purple.night .mat-progress-spinner circle,.rtl-container.purple.night .mat-spinner circle{stroke:#5e4ea5}.rtl-container.purple.night .mat-progress-spinner.mat-accent circle,.rtl-container.purple.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.purple.night .mat-progress-spinner.mat-warn circle,.rtl-container.purple.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.purple.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#5e4ea5}.rtl-container.purple.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#5e4ea5}.rtl-container.purple.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.purple.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.purple.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.purple.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.purple.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.purple.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.purple.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.purple.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-select-value{color:#fff}.rtl-container.purple.night .mat-select-panel{background:#202020}.rtl-container.purple.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.purple.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#5e4ea5}.rtl-container.purple.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.purple.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.purple.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.purple.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.purple.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.purple.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.purple.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.purple.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-drawer-side.mat-drawer-end,.rtl-container.purple.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.purple.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.purple.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.purple.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#5e4ea5}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#5e4ea58a}.rtl-container.purple.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#5e4ea5}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.purple.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.purple.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.purple.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.purple.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.purple.night .mat-primary .mat-slider-thumb,.rtl-container.purple.night .mat-primary .mat-slider-thumb-label,.rtl-container.purple.night .mat-primary .mat-slider-track-fill{background-color:#5e4ea5}.rtl-container.purple.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.night .mat-primary .mat-slider-focus-ring{background-color:#5e4ea533}.rtl-container.purple.night .mat-accent .mat-slider-thumb,.rtl-container.purple.night .mat-accent .mat-slider-thumb-label,.rtl-container.purple.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.purple.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.purple.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.purple.night .mat-warn .mat-slider-thumb,.rtl-container.purple.night .mat-warn .mat-slider-thumb-label,.rtl-container.purple.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.purple.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.purple.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.purple.night .cdk-focused .mat-slider-track-background,.rtl-container.purple.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.purple.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.purple.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.purple.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.purple.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.purple.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.purple.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.purple.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.purple.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.purple.night .mat-step-header.cdk-keyboard-focused,.rtl-container.purple.night .mat-step-header.cdk-program-focused,.rtl-container.purple.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.purple.night .mat-step-header:hover{background:none}}.rtl-container.purple.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header .mat-step-icon-state-edit{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.purple.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.purple.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.purple.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.purple.night .mat-stepper-horizontal,.rtl-container.purple.night .mat-stepper-vertical{background-color:#202020}.rtl-container.purple.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.purple.night .mat-horizontal-stepper-header:after,.rtl-container.purple.night .mat-horizontal-stepper-header:before,.rtl-container.purple.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.purple.night .mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.purple.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.purple.night .mat-tab-label,.rtl-container.purple.night .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.purple.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#5e4ea5}.rtl-container.purple.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.purple.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.purple.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.purple.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#8e83c04d}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#5e4ea5}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.purple.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.purple.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.purple.night .mat-toolbar.mat-primary{background:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.purple.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.purple.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.purple.night .mat-toolbar .mat-form-field-ripple,.rtl-container.purple.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.purple.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.purple.night .mat-toolbar .mat-form-field-label,.rtl-container.purple.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.purple.night .mat-toolbar .mat-select-arrow,.rtl-container.purple.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.purple.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.purple.night .mat-tree{background:#202020}.rtl-container.purple.night .mat-nested-tree-node,.rtl-container.purple.night .mat-tree-node{color:#fff}.rtl-container.purple.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.purple.night .mat-simple-snackbar-action{color:inherit}.rtl-container.purple.night .mat-primary{color:#9787ff}.rtl-container.purple.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.purple.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.purple.night .bg-primary{background-color:#5e4ea5;color:#fff}.rtl-container.purple.night .mat-tab-label.mat-tab-label-active{color:#9787ff}.rtl-container.purple.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#9787ff}.rtl-container.purple.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.purple.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.purple.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.purple.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#9787ff}.rtl-container.purple.night .cc-data-block .cc-data-title{color:#9787ff}.rtl-container.purple.night .mat-stroked-button.mat-primary{border-color:#9787ff;color:#9787ff}.rtl-container.purple.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.purple.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.purple.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.purple.night .active-link,.rtl-container.purple.night .active-link .fa-icon-small,.rtl-container.purple.night .mat-select-panel .mat-option.mat-active,.rtl-container.purple.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#9787ff;font-weight:500;cursor:pointer;fill:#9787ff}.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.purple.night .mat-nested-tree-node-parent:hover,.rtl-container.purple.night .mat-select-panel .mat-option:hover,.rtl-container.purple.night .mat-tree-node:hover{color:#9787ff;cursor:pointer;background:#ffffff0f}.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.purple.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.purple.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.purple.night .mat-tree-node:hover .mat-icon,.rtl-container.purple.night .mat-tree-node:hover .ng-fa-icon{color:#9787ff}.rtl-container.purple.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.purple.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.purple.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.purple.night .mat-tree-node:hover .sidenav-img svg{fill:#9787ff}.rtl-container.purple.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.purple.night .mat-nested-tree-node .sidenav-img,.rtl-container.purple.night .mat-tree-node .sidenav-img,.rtl-container.purple.night .page-title-container .page-title-img,.rtl-container.purple.night svg.top-icon-small{fill:#fff}.rtl-container.purple.night .selected-color{border-color:#8e83c0}.rtl-container.purple.night .mat-progress-bar-fill:after{background-color:#56479d}.rtl-container.purple.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.purple.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.purple.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.purple.night .mat-tree{background:#262626}.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.purple.night .dashboard-info-title{color:#9787ff}.rtl-container.purple.night .dashboard-capacity-header,.rtl-container.purple.night .dashboard-info-value{color:#fff}.rtl-container.purple.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.purple.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.purple.night .color-primary{color:#9787ff!important}.rtl-container.purple.night .dot-primary{background-color:#9787ff!important}.rtl-container.purple.night .dot-primary-lighter{background-color:#5e4ea5!important}.rtl-container.purple.night .mat-stepper-vertical{background-color:#262626}.rtl-container.purple.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.purple.night svg .boltz-icon-fill{fill:#fff}.rtl-container.purple.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.purple.night svg .fill-color-0,.rtl-container.purple.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.purple.night svg .fill-color-1{fill:#232323}.rtl-container.purple.night svg .fill-color-2{fill:#222}.rtl-container.purple.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.purple.night svg .fill-color-4{fill:#383838}.rtl-container.purple.night svg .fill-color-5{fill:#555}.rtl-container.purple.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.purple.night svg .fill-color-7{fill:#202020}.rtl-container.purple.night svg .fill-color-8{fill:#242424}.rtl-container.purple.night svg .fill-color-9{fill:#262626}.rtl-container.purple.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.purple.night svg .fill-color-11{fill:#171717}.rtl-container.purple.night svg .fill-color-12{fill:#ccc}.rtl-container.purple.night svg .fill-color-13{fill:#adadad}.rtl-container.purple.night svg .fill-color-14{fill:#ababab}.rtl-container.purple.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.purple.night svg .fill-color-16{fill:#707070}.rtl-container.purple.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.purple.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.purple.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.purple.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.purple.night svg .fill-color-21{fill:#cacaca}.rtl-container.purple.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.purple.night svg .fill-color-23{fill:#777}.rtl-container.purple.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.purple.night svg .fill-color-25{fill:#252525}.rtl-container.purple.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.purple.night svg .fill-color-27{fill:#000}.rtl-container.purple.night svg .fill-color-28{fill:#313131}.rtl-container.purple.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.purple.night svg .fill-color-30{fill:#fff}.rtl-container.purple.night svg .fill-color-31{fill:#5e4ea5}.rtl-container.purple.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.purple.night svg .fill-color-primary{fill:#5e4ea5}.rtl-container.purple.night svg .fill-color-primary-lighter{fill:#8e83c0}.rtl-container.purple.night svg .fill-color-primary-darker{fill:#9787ff}.rtl-container.purple.night .mat-select-arrow,.rtl-container.purple.night .mat-select-value{color:#fff}.rtl-container.purple.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.purple.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.purple.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.purple.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.purple.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.purple.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.purple.night .mat-button.mat-primary,.rtl-container.purple.night .mat-icon-button.mat-primary,.rtl-container.purple.night .mat-stroked-button.mat-primary{color:#9787ff}.rtl-container.purple.night tr.alert.alert-warn .mat-cell,.rtl-container.purple.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.purple.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.purple.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.purple.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#9787ff}.rtl-container.purple.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.purple.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#42358a}.rtl-container.purple.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.purple.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#9787ff}.rtl-container.purple.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.purple.night .mat-progress-bar-buffer{background-color:#cfcae4}.rtl-container.purple.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.purple.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.purple.night .foreground.mat-progress-spinner circle,.rtl-container.purple.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.purple.night .mat-toolbar-row,.rtl-container.purple.night .mat-toolbar-single-row{height:5rem}.rtl-container.purple.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night a{color:#5e4ea5}.rtl-container.purple.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.purple.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.purple.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.purple.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.purple.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.purple.night .genseed-message{width:10%;color:#5e4ea5}.rtl-container.purple.night .material-icons.primary{color:#5e4ea5}.rtl-container.purple.night .material-icons.accent{color:#eee}.rtl-container.purple.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.purple.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.purple.night .row-disabled{background-color:gray}.rtl-container.purple.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.purple.night .mat-menu-panel{min-width:6.4rem}.rtl-container.purple.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.purple.night .horizontal-button:hover{background:#8e83c0;color:#eee}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#5e4ea5}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.purple.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.purple.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.purple.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.purple.night .mat-cell,.rtl-container.purple.night .mat-footer-cell,.rtl-container.purple.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.purple.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.purple.night table.mat-table thead tr th{color:#fff}.rtl-container.purple.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.purple.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.purple.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.purple.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.purple.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.purple.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.purple.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.purple.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.purple.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.purple.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.purple.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.purple.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.purple.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.purple.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.purple.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.purple.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.purple.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.purple.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.purple.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.purple.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.purple.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#afa7d2!important}.rtl-container.purple.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#56479d!important}.rtl-container.purple.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.purple.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.purple.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.purple.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.purple.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.purple.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.purple.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.purple.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.purple.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.purple.night .color-warn{color:#b00020}.rtl-container.purple.night .fill-warn{fill:#b00020}.rtl-container.purple.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.purple.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.purple.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.purple.night .alert.alert-info a{color:#004085}.rtl-container.purple.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.purple.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.purple.night .alert.alert-warn a{color:#856404}.rtl-container.purple.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.purple.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.purple.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.purple.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.purple.night .help-expansion .mat-expansion-panel-header,.rtl-container.purple.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.purple.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.purple.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.purple.night .failed-status{color:#b00020}.rtl-container.purple.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.purple.night .svg-fill-primary{fill:#5e4ea5}.rtl-container.purple.night .svg-fill-primary-lighter{fill:#8e83c0}.rtl-container.purple.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.purple.night ngx-charts-bar-vertical-2d text,.rtl-container.purple.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.purple.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.purple.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.purple.night .mat-paginator-container{padding:0}.rtl-container.blue.small.small .mat-header-cell{font-weight:700}.rtl-container.blue.small.small .mr-4{margin-right:1rem!important}.rtl-container.blue.small.small .mat-menu-item,.rtl-container.blue.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.small.small .fa-icon-small,.rtl-container.blue.small.small .genseed-message,.rtl-container.blue.small.small .top-icon-small,.rtl-container.blue.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.small.small .page-sub-title-container,.rtl-container.blue.small.small .page-title-container{font-size:1.32rem}.rtl-container.blue.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.small.small .sidenav-img svg,.rtl-container.blue.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.small.small .material-icons,.rtl-container.blue.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.small.small .mat-expansion-panel-header,.rtl-container.blue.small.small .mat-list .mat-list-item,.rtl-container.blue.small.small .mat-menu-item,.rtl-container.blue.small.small .mat-nav-list .mat-list-item,.rtl-container.blue.small.small .mat-option,.rtl-container.blue.small.small .mat-select,.rtl-container.blue.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.small.small .logo{font-size:2.4rem}.rtl-container.blue.small.small .font-60-percent{font-size:.72rem}.rtl-container.blue.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.small.small .icon-large{font-size:6rem}.rtl-container.blue.small.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.small.small .size-triple{font-size:3.6rem}.rtl-container.blue.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small.medium .mat-header-cell{font-weight:700}.rtl-container.blue.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.small.medium .genseed-message,.rtl-container.blue.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.small.medium .page-sub-title-container,.rtl-container.blue.small.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.small.medium .fa-icon-small,.rtl-container.blue.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.small.medium .sidenav-img svg,.rtl-container.blue.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.small.medium .material-icons{font-size:2.8rem}.rtl-container.blue.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.small.medium .mat-expansion-panel-header,.rtl-container.blue.small.medium .mat-list .mat-list-item,.rtl-container.blue.small.medium .mat-menu-item,.rtl-container.blue.small.medium .mat-nav-list .mat-list-item,.rtl-container.blue.small.medium .mat-option,.rtl-container.blue.small.medium .mat-select,.rtl-container.blue.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.small.medium .logo{font-size:2.8rem}.rtl-container.blue.small.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.small.medium .icon-large{font-size:7rem}.rtl-container.blue.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.small.medium .size-triple{font-size:4.2rem}.rtl-container.blue.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small.large .mat-header-cell{font-weight:800}.rtl-container.blue.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.small.large .genseed-message,.rtl-container.blue.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.small.large .page-sub-title-container,.rtl-container.blue.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.small.large .fa-icon-small,.rtl-container.blue.small.large .modal-info-header,.rtl-container.blue.small.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.small.large .sidenav-img svg,.rtl-container.blue.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.small.large .material-icons{font-size:4rem}.rtl-container.blue.small.large .mat-expansion-panel-header,.rtl-container.blue.small.large .mat-list .mat-list-item,.rtl-container.blue.small.large .mat-menu-item,.rtl-container.blue.small.large .mat-nav-list .mat-list-item,.rtl-container.blue.small.large .mat-option,.rtl-container.blue.small.large .mat-select,.rtl-container.blue.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.small.large .logo{font-size:3.2rem}.rtl-container.blue.small.large .font-60-percent{font-size:.96rem}.rtl-container.blue.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.small.large .icon-large{font-size:8rem}.rtl-container.blue.small.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.small.large .size-triple{font-size:4.8rem}.rtl-container.blue.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.small .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.small .mat-flat-button.mat-primary:focus,.rtl-container.blue.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.medium.small .mat-header-cell{font-weight:700}.rtl-container.blue.medium.small .mr-4{margin-right:1rem!important}.rtl-container.blue.medium.small .mat-menu-item,.rtl-container.blue.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.medium.small .fa-icon-small,.rtl-container.blue.medium.small .genseed-message,.rtl-container.blue.medium.small .top-icon-small,.rtl-container.blue.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.medium.small .page-sub-title-container,.rtl-container.blue.medium.small .page-title-container{font-size:1.32rem}.rtl-container.blue.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.medium.small .sidenav-img svg,.rtl-container.blue.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.medium.small .material-icons,.rtl-container.blue.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.medium.small .mat-expansion-panel-header,.rtl-container.blue.medium.small .mat-list .mat-list-item,.rtl-container.blue.medium.small .mat-menu-item,.rtl-container.blue.medium.small .mat-nav-list .mat-list-item,.rtl-container.blue.medium.small .mat-option,.rtl-container.blue.medium.small .mat-select,.rtl-container.blue.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.medium.small .logo{font-size:2.4rem}.rtl-container.blue.medium.small .font-60-percent{font-size:.72rem}.rtl-container.blue.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.medium.small .icon-large{font-size:6rem}.rtl-container.blue.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.medium.small .size-triple{font-size:3.6rem}.rtl-container.blue.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium.medium .mat-header-cell{font-weight:700}.rtl-container.blue.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.medium.medium .genseed-message,.rtl-container.blue.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.medium.medium .page-sub-title-container,.rtl-container.blue.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.medium.medium .fa-icon-small,.rtl-container.blue.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.medium.medium .sidenav-img svg,.rtl-container.blue.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.medium.medium .material-icons{font-size:2.8rem}.rtl-container.blue.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.medium.medium .mat-expansion-panel-header,.rtl-container.blue.medium.medium .mat-list .mat-list-item,.rtl-container.blue.medium.medium .mat-menu-item,.rtl-container.blue.medium.medium .mat-nav-list .mat-list-item,.rtl-container.blue.medium.medium .mat-option,.rtl-container.blue.medium.medium .mat-select,.rtl-container.blue.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.medium.medium .logo{font-size:2.8rem}.rtl-container.blue.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.medium.medium .icon-large{font-size:7rem}.rtl-container.blue.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.medium.medium .size-triple{font-size:4.2rem}.rtl-container.blue.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium.large .mat-header-cell{font-weight:800}.rtl-container.blue.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.medium.large .genseed-message,.rtl-container.blue.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.medium.large .page-sub-title-container,.rtl-container.blue.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.medium.large .fa-icon-small,.rtl-container.blue.medium.large .modal-info-header,.rtl-container.blue.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.medium.large .sidenav-img svg,.rtl-container.blue.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.medium.large .material-icons{font-size:4rem}.rtl-container.blue.medium.large .mat-expansion-panel-header,.rtl-container.blue.medium.large .mat-list .mat-list-item,.rtl-container.blue.medium.large .mat-menu-item,.rtl-container.blue.medium.large .mat-nav-list .mat-list-item,.rtl-container.blue.medium.large .mat-option,.rtl-container.blue.medium.large .mat-select,.rtl-container.blue.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.medium.large .logo{font-size:3.2rem}.rtl-container.blue.medium.large .font-60-percent{font-size:.96rem}.rtl-container.blue.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.medium.large .icon-large{font-size:8rem}.rtl-container.blue.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.medium.large .size-triple{font-size:4.8rem}.rtl-container.blue.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.medium .mat-flat-button.mat-primary:focus,.rtl-container.blue.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.large.small .mat-header-cell{font-weight:700}.rtl-container.blue.large.small .mr-4{margin-right:1rem!important}.rtl-container.blue.large.small .mat-menu-item,.rtl-container.blue.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.blue.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.blue.large.small .fa-icon-small,.rtl-container.blue.large.small .genseed-message,.rtl-container.blue.large.small .top-icon-small,.rtl-container.blue.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.blue.large.small .page-sub-title-container,.rtl-container.blue.large.small .page-title-container{font-size:1.32rem}.rtl-container.blue.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.blue.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.blue.large.small .sidenav-img svg,.rtl-container.blue.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.blue.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.blue.large.small .material-icons,.rtl-container.blue.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.blue.large.small .mat-expansion-panel-header,.rtl-container.blue.large.small .mat-list .mat-list-item,.rtl-container.blue.large.small .mat-menu-item,.rtl-container.blue.large.small .mat-nav-list .mat-list-item,.rtl-container.blue.large.small .mat-option,.rtl-container.blue.large.small .mat-select,.rtl-container.blue.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.blue.large.small .logo{font-size:2.4rem}.rtl-container.blue.large.small .font-60-percent{font-size:.72rem}.rtl-container.blue.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.blue.large.small .icon-large{font-size:6rem}.rtl-container.blue.large.small .icon-small{font-size:1.8rem!important}.rtl-container.blue.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.blue.large.small .size-triple{font-size:3.6rem}.rtl-container.blue.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.blue.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large.medium .mat-header-cell{font-weight:700}.rtl-container.blue.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.blue.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.blue.large.medium .genseed-message,.rtl-container.blue.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.blue.large.medium .page-sub-title-container,.rtl-container.blue.large.medium .page-title-container{font-size:1.54rem}.rtl-container.blue.large.medium .fa-icon-small,.rtl-container.blue.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.blue.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.blue.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.blue.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.blue.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.blue.large.medium .sidenav-img svg,.rtl-container.blue.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.blue.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.blue.large.medium .material-icons{font-size:2.8rem}.rtl-container.blue.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.blue.large.medium .mat-expansion-panel-header,.rtl-container.blue.large.medium .mat-list .mat-list-item,.rtl-container.blue.large.medium .mat-menu-item,.rtl-container.blue.large.medium .mat-nav-list .mat-list-item,.rtl-container.blue.large.medium .mat-option,.rtl-container.blue.large.medium .mat-select,.rtl-container.blue.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.blue.large.medium .logo{font-size:2.8rem}.rtl-container.blue.large.medium .font-60-percent{font-size:.84rem}.rtl-container.blue.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.blue.large.medium .icon-large{font-size:7rem}.rtl-container.blue.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.blue.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.blue.large.medium .size-triple{font-size:4.2rem}.rtl-container.blue.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.blue.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large.large .mat-header-cell{font-weight:800}.rtl-container.blue.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.blue.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.blue.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.blue.large.large .genseed-message,.rtl-container.blue.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.blue.large.large .page-sub-title-container,.rtl-container.blue.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.blue.large.large .fa-icon-small,.rtl-container.blue.large.large .modal-info-header,.rtl-container.blue.large.large .top-icon-small{font-size:1.92rem}.rtl-container.blue.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.blue.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.blue.large.large .sidenav-img svg,.rtl-container.blue.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.blue.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.blue.large.large .material-icons{font-size:4rem}.rtl-container.blue.large.large .mat-expansion-panel-header,.rtl-container.blue.large.large .mat-list .mat-list-item,.rtl-container.blue.large.large .mat-menu-item,.rtl-container.blue.large.large .mat-nav-list .mat-list-item,.rtl-container.blue.large.large .mat-option,.rtl-container.blue.large.large .mat-select,.rtl-container.blue.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.blue.large.large .logo{font-size:3.2rem}.rtl-container.blue.large.large .font-60-percent{font-size:.96rem}.rtl-container.blue.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.blue.large.large .icon-large{font-size:8rem}.rtl-container.blue.large.large .icon-small{font-size:2.4rem!important}.rtl-container.blue.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.blue.large.large .size-triple{font-size:4.8rem}.rtl-container.blue.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.blue.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.blue.large .mat-icon.material-icons:focus{outline:none}.rtl-container.blue.large .mat-flat-button.mat-primary:focus,.rtl-container.blue.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.blue.day .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.day .mat-option{color:#000000de}.rtl-container.blue.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.blue.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.blue.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.blue.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.blue.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1976d2}.rtl-container.blue.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.blue.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.blue.day .mat-optgroup-label{color:#0000008a}.rtl-container.blue.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.blue.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.blue.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.blue.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.blue.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#1976d2}.rtl-container.blue.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.blue.day .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.blue.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.blue.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.blue.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.blue.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.blue.day.mat-app-background,.rtl-container.blue.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.blue.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.blue.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.blue.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.blue.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.blue.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.blue.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.blue.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.blue.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.blue.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.blue.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.blue.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.blue.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.blue.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.blue.day .mat-badge-content{color:#fff;background:#1976d2}.cdk-high-contrast-active .rtl-container.blue.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.blue.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.blue.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.blue.day .mat-badge{position:relative}.rtl-container.blue.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.blue.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.blue.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.blue.day .mat-badge-content._mat-animation-noopable,.rtl-container.blue.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.blue.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.blue.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.blue.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.blue.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.blue.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.blue.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.blue.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.blue.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.blue.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.blue.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.blue.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.blue.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.blue.day .mat-button,.rtl-container.blue.day .mat-icon-button,.rtl-container.blue.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.blue.day .mat-button.mat-primary,.rtl-container.blue.day .mat-icon-button.mat-primary,.rtl-container.blue.day .mat-stroked-button.mat-primary{color:#1976d2}.rtl-container.blue.day .mat-button.mat-accent,.rtl-container.blue.day .mat-icon-button.mat-accent,.rtl-container.blue.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.blue.day .mat-button.mat-warn,.rtl-container.blue.day .mat-icon-button.mat-warn,.rtl-container.blue.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.blue.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.blue.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1976d2}.rtl-container.blue.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.blue.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.blue.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.blue.day .mat-button .mat-ripple-element,.rtl-container.blue.day .mat-icon-button .mat-ripple-element,.rtl-container.blue.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.blue.day .mat-button-focus-overlay{background:#000}.rtl-container.blue.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.blue.day .mat-fab,.rtl-container.blue.day .mat-flat-button,.rtl-container.blue.day .mat-mini-fab,.rtl-container.blue.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.blue.day .mat-fab.mat-accent,.rtl-container.blue.day .mat-fab.mat-primary,.rtl-container.blue.day .mat-fab.mat-warn,.rtl-container.blue.day .mat-flat-button.mat-accent,.rtl-container.blue.day .mat-flat-button.mat-primary,.rtl-container.blue.day .mat-flat-button.mat-warn,.rtl-container.blue.day .mat-mini-fab.mat-accent,.rtl-container.blue.day .mat-mini-fab.mat-primary,.rtl-container.blue.day .mat-mini-fab.mat-warn,.rtl-container.blue.day .mat-raised-button.mat-accent,.rtl-container.blue.day .mat-raised-button.mat-primary,.rtl-container.blue.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.blue.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.blue.day .mat-fab.mat-primary,.rtl-container.blue.day .mat-flat-button.mat-primary,.rtl-container.blue.day .mat-mini-fab.mat-primary,.rtl-container.blue.day .mat-raised-button.mat-primary{background-color:#1976d2}.rtl-container.blue.day .mat-fab.mat-accent,.rtl-container.blue.day .mat-flat-button.mat-accent,.rtl-container.blue.day .mat-mini-fab.mat-accent,.rtl-container.blue.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.blue.day .mat-fab.mat-warn,.rtl-container.blue.day .mat-flat-button.mat-warn,.rtl-container.blue.day .mat-mini-fab.mat-warn,.rtl-container.blue.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.blue.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.blue.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.blue.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-button-toggle-group,.rtl-container.blue.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard,.rtl-container.blue.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.blue.day .mat-button-toggle{color:#00000061}.rtl-container.blue.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.blue.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.blue.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.blue.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.blue.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.blue.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.blue.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.blue.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.blue.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.blue.day .mat-button-toggle-group-appearance-standard,.rtl-container.blue.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.blue.day .mat-card{background:#fff;color:#000000de}.rtl-container.blue.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.day .mat-card-subtitle{color:#0000008a}.rtl-container.blue.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.blue.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.blue.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.blue.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.blue.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#1976d2}.rtl-container.blue.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.blue.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.blue.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.blue.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.blue.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.blue.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.blue.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1976d2}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.blue.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.blue.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.blue.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.blue.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.day .mat-table{background:#fff}.rtl-container.blue.day .mat-table-sticky,.rtl-container.blue.day .mat-table tbody,.rtl-container.blue.day .mat-table tfoot,.rtl-container.blue.day .mat-table thead,.rtl-container.blue.day [mat-footer-row],.rtl-container.blue.day [mat-header-row],.rtl-container.blue.day [mat-row],.rtl-container.blue.day mat-footer-row,.rtl-container.blue.day mat-header-row,.rtl-container.blue.day mat-row{background:inherit}.rtl-container.blue.day mat-footer-row,.rtl-container.blue.day mat-header-row,.rtl-container.blue.day mat-row,.rtl-container.blue.day td.mat-cell,.rtl-container.blue.day td.mat-footer-cell,.rtl-container.blue.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.blue.day .mat-header-cell{color:#0000008a}.rtl-container.blue.day .mat-cell,.rtl-container.blue.day .mat-footer-cell{color:#000000de}.rtl-container.blue.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.blue.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.blue.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.blue.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.blue.day .mat-calendar-table-header{color:#00000061}.rtl-container.blue.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.blue.day .mat-calendar-body-label{color:#0000008a}.rtl-container.blue.day .mat-calendar-body-cell-content,.rtl-container.blue.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.blue.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.blue.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.blue.day .mat-calendar-body-in-range:before{background:#1976d233}.rtl-container.blue.day .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-calendar-body-selected{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1976d266}.rtl-container.blue.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1976d24d}.rtl-container.blue.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.blue.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.day .mat-datepicker-toggle-active{color:#1976d2}.rtl-container.blue.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.blue.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.blue.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.blue.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.blue.day .mat-divider{border-top-color:#0000001f}.rtl-container.blue.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.blue.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.blue.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.day .mat-action-row{border-top-color:#0000001f}.rtl-container.blue.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.blue.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.blue.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.blue.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.blue.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.blue.day .mat-expansion-indicator:after,.rtl-container.blue.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.blue.day .mat-form-field-label,.rtl-container.blue.day .mat-hint{color:#0009}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label{color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.blue.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.blue.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1976d2}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.blue.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.blue.day .mat-error{color:#b00020}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.blue.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.blue.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.blue.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.blue.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1976d2}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.blue.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.blue.day .mat-icon.mat-primary{color:#1976d2}.rtl-container.blue.day .mat-icon.mat-accent{color:#424242}.rtl-container.blue.day .mat-icon.mat-warn{color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.blue.day .mat-input-element:disabled{color:#00000061}.rtl-container.blue.day .mat-input-element{caret-color:#1976d2}.rtl-container.blue.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.blue.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.blue.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.blue.day .mat-form-field-invalid .mat-input-element,.rtl-container.blue.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.blue.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.blue.day .mat-list-base .mat-list-item,.rtl-container.blue.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.blue.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.blue.day .mat-list-item-disabled{background-color:#eee}.rtl-container.blue.day .mat-action-list .mat-list-item:focus,.rtl-container.blue.day .mat-action-list .mat-list-item:hover,.rtl-container.blue.day .mat-list-option:focus,.rtl-container.blue.day .mat-list-option:hover,.rtl-container.blue.day .mat-nav-list .mat-list-item:focus,.rtl-container.blue.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.blue.day .mat-list-single-selected-option,.rtl-container.blue.day .mat-list-single-selected-option:focus,.rtl-container.blue.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.blue.day .mat-menu-panel{background:#fff}.rtl-container.blue.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.blue.day .mat-menu-item[disabled],.rtl-container.blue.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.blue.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.blue.day .mat-menu-item-submenu-trigger:after,.rtl-container.blue.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.blue.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.blue.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.blue.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.blue.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.blue.day .mat-paginator{background:#fff}.rtl-container.blue.day .mat-paginator,.rtl-container.blue.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.blue.day .mat-paginator-decrement,.rtl-container.blue.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.blue.day .mat-paginator-first,.rtl-container.blue.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.blue.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.blue.day .mat-progress-bar-background{fill:#c2d9f0}.rtl-container.blue.day .mat-progress-bar-buffer{background-color:#c2d9f0}.rtl-container.blue.day .mat-progress-bar-fill:after{background-color:#1976d2}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.blue.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.blue.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.blue.day .mat-progress-spinner circle,.rtl-container.blue.day .mat-spinner circle{stroke:#1976d2}.rtl-container.blue.day .mat-progress-spinner.mat-accent circle,.rtl-container.blue.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.blue.day .mat-progress-spinner.mat-warn circle,.rtl-container.blue.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.blue.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.blue.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1976d2}.rtl-container.blue.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1976d2}.rtl-container.blue.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.blue.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.blue.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.blue.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.blue.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.blue.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-select-value{color:#000000de}.rtl-container.blue.day .mat-select-placeholder{color:#0000006b}.rtl-container.blue.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.blue.day .mat-select-arrow{color:#0000008a}.rtl-container.blue.day .mat-select-panel{background:#fff}.rtl-container.blue.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.blue.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1976d2}.rtl-container.blue.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.blue.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.blue.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.blue.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.blue.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.blue.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.blue.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.blue.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.blue.day .mat-drawer-side.mat-drawer-end,.rtl-container.blue.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.blue.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.blue.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.blue.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1976d2}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1976d28a}.rtl-container.blue.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1976d2}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.blue.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.blue.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.blue.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.blue.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.blue.day .mat-slider-track-background{background-color:#00000042}.rtl-container.blue.day .mat-primary .mat-slider-thumb,.rtl-container.blue.day .mat-primary .mat-slider-thumb-label,.rtl-container.blue.day .mat-primary .mat-slider-track-fill{background-color:#1976d2}.rtl-container.blue.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-primary .mat-slider-focus-ring{background-color:#1976d233}.rtl-container.blue.day .mat-accent .mat-slider-thumb,.rtl-container.blue.day .mat-accent .mat-slider-thumb-label,.rtl-container.blue.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.blue.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.blue.day .mat-warn .mat-slider-thumb,.rtl-container.blue.day .mat-warn .mat-slider-thumb-label,.rtl-container.blue.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.blue.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.blue.day .cdk-focused .mat-slider-track-background,.rtl-container.blue.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.blue.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.blue.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.blue.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.blue.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.blue.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.blue.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.blue.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.blue.day .mat-step-header.cdk-keyboard-focused,.rtl-container.blue.day .mat-step-header.cdk-program-focused,.rtl-container.blue.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.blue.day .mat-step-header:hover{background:none}}.rtl-container.blue.day .mat-step-header .mat-step-label,.rtl-container.blue.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.blue.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.blue.day .mat-step-header .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header .mat-step-icon-state-edit{background-color:#1976d2;color:#fff}.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.blue.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.blue.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.blue.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.blue.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.blue.day .mat-stepper-horizontal,.rtl-container.blue.day .mat-stepper-vertical{background-color:#fff}.rtl-container.blue.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.blue.day .mat-horizontal-stepper-header:after,.rtl-container.blue.day .mat-horizontal-stepper-header:before,.rtl-container.blue.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.blue.day .mat-sort-header-arrow{color:#757575}.rtl-container.blue.day .mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.blue.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.blue.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.blue.day .mat-tab-label,.rtl-container.blue.day .mat-tab-link{color:#000000de}.rtl-container.blue.day .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.blue.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.blue.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.blue.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1976d2}.rtl-container.blue.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.blue.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.blue.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.blue.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#1976d2}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.blue.day .mat-toolbar.mat-primary{background:#1976d2;color:#fff}.rtl-container.blue.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.blue.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.blue.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.blue.day .mat-toolbar .mat-form-field-ripple,.rtl-container.blue.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.blue.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.blue.day .mat-toolbar .mat-form-field-label,.rtl-container.blue.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.blue.day .mat-toolbar .mat-select-arrow,.rtl-container.blue.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.blue.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.blue.day .mat-tooltip{background:#616161e6}.rtl-container.blue.day .mat-tree{background:#fff}.rtl-container.blue.day .mat-nested-tree-node,.rtl-container.blue.day .mat-tree-node{color:#000000de}.rtl-container.blue.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.day .mat-simple-snackbar-action{color:#424242}.rtl-container.blue.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.blue.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.blue.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.blue.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.blue.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.blue.day .bg-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.blue.day .mat-tab-label.mat-tab-label-active{color:#1976d2}.rtl-container.blue.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#1976d2}.rtl-container.blue.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.blue.day .mat-form-field-suffix,.rtl-container.blue.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.blue.day .ng-fa-icon{color:#0000008a}.rtl-container.blue.day .mat-stroked-button.mat-primary{border-color:#1976d2}.rtl-container.blue.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.blue.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.blue.day .selected-color{border-color:#90caf9}.rtl-container.blue.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.blue.day .page-sub-title-container,.rtl-container.blue.day .page-title-container{color:#0000008a}.rtl-container.blue.day .page-sub-title-container .page-title-img,.rtl-container.blue.day .page-title-container .page-title-img{color:#00000061}.rtl-container.blue.day .page-sub-title-container .mat-input-element,.rtl-container.blue.day .page-sub-title-container .mat-radio-label-content,.rtl-container.blue.day .page-sub-title-container .theme-name,.rtl-container.blue.day .page-title-container .mat-input-element,.rtl-container.blue.day .page-title-container .mat-radio-label-content,.rtl-container.blue.day .page-title-container .theme-name{color:#000000de}.rtl-container.blue.day .cc-data-block .cc-data-title{color:#1976d2}.rtl-container.blue.day .active-link,.rtl-container.blue.day .active-link .fa-icon-small{color:#1976d2;font-weight:500;cursor:pointer;fill:#1976d2}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.blue.day .mat-nested-tree-node-parent:hover,.rtl-container.blue.day .mat-select-panel .mat-option:hover,.rtl-container.blue.day .mat-tree-node:hover{color:#1976d2;cursor:pointer;background:#0000000a}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.blue.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.blue.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.blue.day .mat-tree-node:hover .mat-icon,.rtl-container.blue.day .mat-tree-node:hover .ng-fa-icon{color:#1976d2}.rtl-container.blue.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.blue.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.blue.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.blue.day .mat-tree-node:hover .sidenav-img svg{fill:#1976d2}.rtl-container.blue.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.blue.day .mat-nested-tree-node .sidenav-img,.rtl-container.blue.day .mat-tree-node .sidenav-img,.rtl-container.blue.day .page-title-container .page-title-img,.rtl-container.blue.day svg.top-icon-small{fill:#000000de}.rtl-container.blue.day .mat-progress-bar-fill:after{background-color:#0d47a1}.rtl-container.blue.day .modal-qr-code-container{background:#0000001f}.rtl-container.blue.day .mat-tab-label,.rtl-container.blue.day .mat-tab-link{color:#0000008a}.rtl-container.blue.day .mat-card,.rtl-container.blue.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.blue.day .dashboard-info-title{color:#1976d2}.rtl-container.blue.day .dashboard-info-value{color:#0000008a}.rtl-container.blue.day .color-primary{color:#1976d2!important}.rtl-container.blue.day .dot-primary{background-color:#1976d2!important}.rtl-container.blue.day .dot-primary-lighter{background-color:#90caf9!important}.rtl-container.blue.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.blue.day .mat-tooltip{font-size:120%}.rtl-container.blue.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.blue.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.blue.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.blue.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-1{fill:#fff}.rtl-container.blue.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.blue.day svg .fill-color-3,.rtl-container.blue.day svg .fill-color-4,.rtl-container.blue.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.blue.day svg .fill-color-6{fill:#fff}.rtl-container.blue.day svg .fill-color-7,.rtl-container.blue.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-9{fill:#fff}.rtl-container.blue.day svg .fill-color-10,.rtl-container.blue.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.blue.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-13,.rtl-container.blue.day svg .fill-color-14,.rtl-container.blue.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.blue.day svg .fill-color-16,.rtl-container.blue.day svg .fill-color-17{fill:#404040}.rtl-container.blue.day svg .fill-color-18{fill:#000}.rtl-container.blue.day svg .fill-color-19,.rtl-container.blue.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.blue.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-22,.rtl-container.blue.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.blue.day svg .fill-color-24{fill:#000}.rtl-container.blue.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.blue.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.blue.day svg .fill-color-27{fill:#000}.rtl-container.blue.day svg .fill-color-28{fill:#313131}.rtl-container.blue.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.blue.day svg .fill-color-30{fill:#fff}.rtl-container.blue.day svg .fill-color-31{fill:#1976d2}.rtl-container.blue.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.blue.day svg .fill-color-primary{fill:#1976d2}.rtl-container.blue.day svg .fill-color-primary-lighter{fill:#90caf9}.rtl-container.blue.day svg .fill-color-primary-darker{fill:#1976d2}.rtl-container.blue.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.blue.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.blue.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.blue.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.blue.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.blue.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.blue.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#1976d2}.rtl-container.blue.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.blue.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#0d47a1}.rtl-container.blue.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.blue.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#90caf9}.rtl-container.blue.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.blue.day .mat-progress-bar-buffer{background-color:#bbdefb}.rtl-container.blue.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.blue.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.blue.day .foreground.mat-progress-spinner circle,.rtl-container.blue.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.blue.day .mat-toolbar-row,.rtl-container.blue.day .mat-toolbar-single-row{height:5rem}.rtl-container.blue.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.blue.day a{color:#1976d2}.rtl-container.blue.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.blue.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.blue.day .mat-icon-36{color:#0000008a}.rtl-container.blue.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.blue.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.blue.day .genseed-message{width:10%;color:#1976d2}.rtl-container.blue.day .material-icons.primary{color:#1976d2}.rtl-container.blue.day .material-icons.accent{color:#424242}.rtl-container.blue.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.blue.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.blue.day .row-disabled{background-color:gray}.rtl-container.blue.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.blue.day .mat-menu-panel{min-width:6.4rem}.rtl-container.blue.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.blue.day .horizontal-button:hover{background:#90caf9;color:#424242}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#1976d2}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.blue.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.blue.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.blue.day .mat-cell,.rtl-container.blue.day .mat-footer-cell,.rtl-container.blue.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.blue.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.blue.day table.mat-table thead tr th{color:#000}.rtl-container.blue.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.blue.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.blue.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.blue.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.blue.day .more-button{color:#00000061}.rtl-container.blue.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.blue.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.blue.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.blue.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.blue.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.blue.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.blue.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.blue.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.blue.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.blue.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.blue.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.blue.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.blue.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.blue.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.blue.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.blue.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.blue.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#90caf9!important}.rtl-container.blue.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#1e88e5!important}.rtl-container.blue.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.blue.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.blue.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.blue.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.blue.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.blue.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.blue.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.blue.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.blue.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.blue.day .color-warn{color:#b00020}.rtl-container.blue.day .fill-warn{fill:#b00020}.rtl-container.blue.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.blue.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.blue.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.blue.day .alert.alert-info a{color:#004085}.rtl-container.blue.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.blue.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.blue.day .alert.alert-warn a{color:#856404}.rtl-container.blue.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.blue.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.blue.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.blue.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.blue.day .help-expansion .mat-expansion-panel-header,.rtl-container.blue.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.blue.day .help-expansion .mat-expansion-indicator:after,.rtl-container.blue.day .help-expansion .mat-expansion-panel-content,.rtl-container.blue.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.blue.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.blue.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.blue.day .failed-status{color:#b00020}.rtl-container.blue.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.blue.day .svg-fill-primary{fill:#1976d2}.rtl-container.blue.day .svg-fill-primary-lighter{fill:#90caf9}.rtl-container.blue.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.blue.day ngx-charts-bar-vertical-2d text,.rtl-container.blue.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.blue.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.blue.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.blue.day .mat-paginator-container{padding:0}.rtl-container.blue.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-option{color:#fff}.rtl-container.blue.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.blue.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.blue.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.blue.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#1976d2}.rtl-container.blue.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.blue.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.blue.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.blue.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.blue.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#1976d2}.rtl-container.blue.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.blue.night .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.blue.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.blue.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.blue.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.blue.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.blue.night.mat-app-background,.rtl-container.blue.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.blue.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.blue.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.blue.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.blue.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.blue.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.blue.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.blue.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.blue.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.blue.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.blue.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.blue.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.blue.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.blue.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.blue.night .mat-badge-content{color:#fff;background:#1976d2}.cdk-high-contrast-active .rtl-container.blue.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.blue.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.blue.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.blue.night .mat-badge{position:relative}.rtl-container.blue.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.blue.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.blue.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.blue.night .mat-badge-content._mat-animation-noopable,.rtl-container.blue.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.blue.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.blue.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.blue.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.blue.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.blue.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.blue.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.blue.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.blue.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.blue.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.blue.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.blue.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.blue.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.blue.night .mat-button,.rtl-container.blue.night .mat-icon-button,.rtl-container.blue.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.blue.night .mat-button.mat-primary,.rtl-container.blue.night .mat-icon-button.mat-primary,.rtl-container.blue.night .mat-stroked-button.mat-primary{color:#1976d2}.rtl-container.blue.night .mat-button.mat-accent,.rtl-container.blue.night .mat-icon-button.mat-accent,.rtl-container.blue.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.blue.night .mat-button.mat-warn,.rtl-container.blue.night .mat-icon-button.mat-warn,.rtl-container.blue.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.blue.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.blue.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#1976d2}.rtl-container.blue.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.blue.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.blue.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.blue.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.blue.night .mat-button .mat-ripple-element,.rtl-container.blue.night .mat-icon-button .mat-ripple-element,.rtl-container.blue.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.blue.night .mat-button-focus-overlay{background:#fff}.rtl-container.blue.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.blue.night .mat-fab,.rtl-container.blue.night .mat-flat-button,.rtl-container.blue.night .mat-mini-fab,.rtl-container.blue.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.blue.night .mat-fab.mat-primary,.rtl-container.blue.night .mat-flat-button.mat-primary,.rtl-container.blue.night .mat-mini-fab.mat-primary,.rtl-container.blue.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.blue.night .mat-fab.mat-accent,.rtl-container.blue.night .mat-flat-button.mat-accent,.rtl-container.blue.night .mat-mini-fab.mat-accent,.rtl-container.blue.night .mat-raised-button.mat-accent{color:#000}.rtl-container.blue.night .mat-fab.mat-warn,.rtl-container.blue.night .mat-flat-button.mat-warn,.rtl-container.blue.night .mat-mini-fab.mat-warn,.rtl-container.blue.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.blue.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.blue.night .mat-fab.mat-primary,.rtl-container.blue.night .mat-flat-button.mat-primary,.rtl-container.blue.night .mat-mini-fab.mat-primary,.rtl-container.blue.night .mat-raised-button.mat-primary{background-color:#1976d2}.rtl-container.blue.night .mat-fab.mat-accent,.rtl-container.blue.night .mat-flat-button.mat-accent,.rtl-container.blue.night .mat-mini-fab.mat-accent,.rtl-container.blue.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.blue.night .mat-fab.mat-warn,.rtl-container.blue.night .mat-flat-button.mat-warn,.rtl-container.blue.night .mat-mini-fab.mat-warn,.rtl-container.blue.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.blue.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.blue.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.blue.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.blue.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.blue.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.blue.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-button-toggle-group,.rtl-container.blue.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard,.rtl-container.blue.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.blue.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.blue.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.blue.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.blue.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.blue.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.blue.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.blue.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.blue.night .mat-button-toggle-group-appearance-standard,.rtl-container.blue.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.blue.night .mat-card{background:#202020;color:#fff}.rtl-container.blue.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.blue.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.blue.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.blue.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.blue.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.blue.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#1976d2}.rtl-container.blue.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.blue.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.blue.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.blue.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.blue.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.blue.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#1976d2}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.blue.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.blue.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.blue.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.blue.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.blue.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.blue.night .mat-table{background:#202020}.rtl-container.blue.night .mat-table-sticky,.rtl-container.blue.night .mat-table tbody,.rtl-container.blue.night .mat-table tfoot,.rtl-container.blue.night .mat-table thead,.rtl-container.blue.night [mat-footer-row],.rtl-container.blue.night [mat-header-row],.rtl-container.blue.night [mat-row],.rtl-container.blue.night mat-footer-row,.rtl-container.blue.night mat-header-row,.rtl-container.blue.night mat-row{background:inherit}.rtl-container.blue.night mat-footer-row,.rtl-container.blue.night mat-header-row,.rtl-container.blue.night mat-row,.rtl-container.blue.night td.mat-cell,.rtl-container.blue.night td.mat-footer-cell,.rtl-container.blue.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.blue.night .mat-cell,.rtl-container.blue.night .mat-footer-cell{color:#fff}.rtl-container.blue.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.blue.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.blue.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.blue.night .mat-datepicker-toggle{color:#fff}.rtl-container.blue.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.blue.night .mat-calendar-body-cell-content,.rtl-container.blue.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.blue.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.blue.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.blue.night .mat-calendar-body-in-range:before{background:#1976d233}.rtl-container.blue.night .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#1976d233 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-calendar-body-selected{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#1976d266}.rtl-container.blue.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1976d24d}.rtl-container.blue.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.blue.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.blue.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.blue.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.blue.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.blue.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.blue.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.blue.night .mat-datepicker-toggle-active{color:#1976d2}.rtl-container.blue.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.blue.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.blue.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.blue.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.blue.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.blue.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.blue.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.blue.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.blue.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.blue.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.blue.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label{color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.blue.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.blue.night .mat-form-field-ripple{background-color:#fff}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#1976d2}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.blue.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.blue.night .mat-error{color:#b00020}.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.blue.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.blue.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.blue.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.blue.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.blue.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.blue.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.blue.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.blue.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#1976d2}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.blue.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.blue.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.blue.night .mat-icon.mat-primary{color:#1976d2}.rtl-container.blue.night .mat-icon.mat-accent{color:#eee}.rtl-container.blue.night .mat-icon.mat-warn{color:#b00020}.rtl-container.blue.night .mat-input-element{caret-color:#1976d2}.rtl-container.blue.night .mat-input-element option{color:#000000de}.rtl-container.blue.night .mat-input-element option:disabled{color:#00000061}.rtl-container.blue.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.blue.night .mat-form-field-invalid .mat-input-element,.rtl-container.blue.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.blue.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.blue.night .mat-list-base .mat-list-item,.rtl-container.blue.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.blue.night .mat-list-item-disabled{background-color:#444}.rtl-container.blue.night .mat-action-list .mat-list-item:focus,.rtl-container.blue.night .mat-action-list .mat-list-item:hover,.rtl-container.blue.night .mat-list-option:focus,.rtl-container.blue.night .mat-list-option:hover,.rtl-container.blue.night .mat-nav-list .mat-list-item:focus,.rtl-container.blue.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.blue.night .mat-list-single-selected-option,.rtl-container.blue.night .mat-list-single-selected-option:focus,.rtl-container.blue.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.blue.night .mat-menu-panel{background:#202020}.rtl-container.blue.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.blue.night .mat-menu-item-submenu-trigger:after,.rtl-container.blue.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.blue.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.blue.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.blue.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.blue.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.blue.night .mat-paginator{background:#202020}.rtl-container.blue.night .mat-paginator-decrement,.rtl-container.blue.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.blue.night .mat-paginator-first,.rtl-container.blue.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.blue.night .mat-progress-bar-background{fill:#10273e}.rtl-container.blue.night .mat-progress-bar-buffer{background-color:#10273e}.rtl-container.blue.night .mat-progress-bar-fill:after{background-color:#1976d2}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.blue.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.blue.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.blue.night .mat-progress-spinner circle,.rtl-container.blue.night .mat-spinner circle{stroke:#1976d2}.rtl-container.blue.night .mat-progress-spinner.mat-accent circle,.rtl-container.blue.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.blue.night .mat-progress-spinner.mat-warn circle,.rtl-container.blue.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.blue.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#1976d2}.rtl-container.blue.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#1976d2}.rtl-container.blue.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.blue.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.blue.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.blue.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.blue.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.blue.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.blue.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.blue.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-select-value{color:#fff}.rtl-container.blue.night .mat-select-panel{background:#202020}.rtl-container.blue.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.blue.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#1976d2}.rtl-container.blue.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.blue.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.blue.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.blue.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.blue.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.blue.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.blue.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.blue.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-drawer-side.mat-drawer-end,.rtl-container.blue.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.blue.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.blue.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.blue.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#1976d2}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1976d28a}.rtl-container.blue.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#1976d2}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.blue.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.blue.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.blue.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.blue.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.blue.night .mat-primary .mat-slider-thumb,.rtl-container.blue.night .mat-primary .mat-slider-thumb-label,.rtl-container.blue.night .mat-primary .mat-slider-track-fill{background-color:#1976d2}.rtl-container.blue.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.night .mat-primary .mat-slider-focus-ring{background-color:#1976d233}.rtl-container.blue.night .mat-accent .mat-slider-thumb,.rtl-container.blue.night .mat-accent .mat-slider-thumb-label,.rtl-container.blue.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.blue.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.blue.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.blue.night .mat-warn .mat-slider-thumb,.rtl-container.blue.night .mat-warn .mat-slider-thumb-label,.rtl-container.blue.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.blue.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.blue.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.blue.night .cdk-focused .mat-slider-track-background,.rtl-container.blue.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.blue.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.blue.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.blue.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.blue.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.blue.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.blue.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.blue.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.blue.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.blue.night .mat-step-header.cdk-keyboard-focused,.rtl-container.blue.night .mat-step-header.cdk-program-focused,.rtl-container.blue.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.blue.night .mat-step-header:hover{background:none}}.rtl-container.blue.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header .mat-step-icon-state-edit{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.blue.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.blue.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.blue.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.blue.night .mat-stepper-horizontal,.rtl-container.blue.night .mat-stepper-vertical{background-color:#202020}.rtl-container.blue.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.blue.night .mat-horizontal-stepper-header:after,.rtl-container.blue.night .mat-horizontal-stepper-header:before,.rtl-container.blue.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.blue.night .mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.blue.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.blue.night .mat-tab-label,.rtl-container.blue.night .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.blue.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#1976d2}.rtl-container.blue.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.blue.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.blue.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.blue.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#90caf94d}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#1976d2}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.blue.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.blue.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.blue.night .mat-toolbar.mat-primary{background:#1976d2;color:#fff}.rtl-container.blue.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.blue.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.blue.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.blue.night .mat-toolbar .mat-form-field-ripple,.rtl-container.blue.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.blue.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.blue.night .mat-toolbar .mat-form-field-label,.rtl-container.blue.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.blue.night .mat-toolbar .mat-select-arrow,.rtl-container.blue.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.blue.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.blue.night .mat-tree{background:#202020}.rtl-container.blue.night .mat-nested-tree-node,.rtl-container.blue.night .mat-tree-node{color:#fff}.rtl-container.blue.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.blue.night .mat-simple-snackbar-action{color:inherit}.rtl-container.blue.night .mat-primary{color:#448aff}.rtl-container.blue.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.blue.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.blue.night .bg-primary{background-color:#1976d2;color:#fff}.rtl-container.blue.night .mat-tab-label.mat-tab-label-active{color:#448aff}.rtl-container.blue.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#448aff}.rtl-container.blue.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.blue.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.blue.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.blue.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#448aff}.rtl-container.blue.night .cc-data-block .cc-data-title{color:#448aff}.rtl-container.blue.night .mat-stroked-button.mat-primary{border-color:#448aff;color:#448aff}.rtl-container.blue.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.blue.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.blue.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.blue.night .active-link,.rtl-container.blue.night .active-link .fa-icon-small,.rtl-container.blue.night .mat-select-panel .mat-option.mat-active,.rtl-container.blue.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#448aff;font-weight:500;cursor:pointer;fill:#448aff}.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.blue.night .mat-nested-tree-node-parent:hover,.rtl-container.blue.night .mat-select-panel .mat-option:hover,.rtl-container.blue.night .mat-tree-node:hover{color:#448aff;cursor:pointer;background:#ffffff0f}.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.blue.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.blue.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.blue.night .mat-tree-node:hover .mat-icon,.rtl-container.blue.night .mat-tree-node:hover .ng-fa-icon{color:#448aff}.rtl-container.blue.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.blue.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.blue.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.blue.night .mat-tree-node:hover .sidenav-img svg{fill:#448aff}.rtl-container.blue.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.blue.night .mat-nested-tree-node .sidenav-img,.rtl-container.blue.night .mat-tree-node .sidenav-img,.rtl-container.blue.night .page-title-container .page-title-img,.rtl-container.blue.night svg.top-icon-small{fill:#fff}.rtl-container.blue.night .selected-color{border-color:#90caf9}.rtl-container.blue.night .mat-progress-bar-fill:after{background-color:#1e88e5}.rtl-container.blue.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.blue.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.blue.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.blue.night .mat-tree{background:#262626}.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.blue.night .dashboard-info-title{color:#448aff}.rtl-container.blue.night .dashboard-capacity-header,.rtl-container.blue.night .dashboard-info-value{color:#fff}.rtl-container.blue.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.blue.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.blue.night .color-primary{color:#448aff!important}.rtl-container.blue.night .dot-primary{background-color:#448aff!important}.rtl-container.blue.night .dot-primary-lighter{background-color:#1976d2!important}.rtl-container.blue.night .mat-stepper-vertical{background-color:#262626}.rtl-container.blue.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.blue.night svg .boltz-icon-fill{fill:#fff}.rtl-container.blue.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.blue.night svg .fill-color-0,.rtl-container.blue.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.blue.night svg .fill-color-1{fill:#232323}.rtl-container.blue.night svg .fill-color-2{fill:#222}.rtl-container.blue.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.blue.night svg .fill-color-4{fill:#383838}.rtl-container.blue.night svg .fill-color-5{fill:#555}.rtl-container.blue.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.blue.night svg .fill-color-7{fill:#202020}.rtl-container.blue.night svg .fill-color-8{fill:#242424}.rtl-container.blue.night svg .fill-color-9{fill:#262626}.rtl-container.blue.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.blue.night svg .fill-color-11{fill:#171717}.rtl-container.blue.night svg .fill-color-12{fill:#ccc}.rtl-container.blue.night svg .fill-color-13{fill:#adadad}.rtl-container.blue.night svg .fill-color-14{fill:#ababab}.rtl-container.blue.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.blue.night svg .fill-color-16{fill:#707070}.rtl-container.blue.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.blue.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.blue.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.blue.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.blue.night svg .fill-color-21{fill:#cacaca}.rtl-container.blue.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.blue.night svg .fill-color-23{fill:#777}.rtl-container.blue.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.blue.night svg .fill-color-25{fill:#252525}.rtl-container.blue.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.blue.night svg .fill-color-27{fill:#000}.rtl-container.blue.night svg .fill-color-28{fill:#313131}.rtl-container.blue.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.blue.night svg .fill-color-30{fill:#fff}.rtl-container.blue.night svg .fill-color-31{fill:#1976d2}.rtl-container.blue.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.blue.night svg .fill-color-primary{fill:#1976d2}.rtl-container.blue.night svg .fill-color-primary-lighter{fill:#90caf9}.rtl-container.blue.night svg .fill-color-primary-darker{fill:#448aff}.rtl-container.blue.night .mat-select-arrow,.rtl-container.blue.night .mat-select-value{color:#fff}.rtl-container.blue.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.blue.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.blue.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.blue.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.blue.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.blue.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.blue.night .mat-button.mat-primary,.rtl-container.blue.night .mat-icon-button.mat-primary,.rtl-container.blue.night .mat-stroked-button.mat-primary{color:#448aff}.rtl-container.blue.night tr.alert.alert-warn .mat-cell,.rtl-container.blue.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.blue.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.blue.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.blue.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#448aff}.rtl-container.blue.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.blue.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#1565c0}.rtl-container.blue.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.blue.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#448aff}.rtl-container.blue.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.blue.night .mat-progress-bar-buffer{background-color:#bbdefb}.rtl-container.blue.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.blue.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.blue.night .foreground.mat-progress-spinner circle,.rtl-container.blue.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.blue.night .mat-toolbar-row,.rtl-container.blue.night .mat-toolbar-single-row{height:5rem}.rtl-container.blue.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night a{color:#1976d2}.rtl-container.blue.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.blue.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.blue.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.blue.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.blue.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.blue.night .genseed-message{width:10%;color:#1976d2}.rtl-container.blue.night .material-icons.primary{color:#1976d2}.rtl-container.blue.night .material-icons.accent{color:#eee}.rtl-container.blue.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.blue.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.blue.night .row-disabled{background-color:gray}.rtl-container.blue.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.blue.night .mat-menu-panel{min-width:6.4rem}.rtl-container.blue.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.blue.night .horizontal-button:hover{background:#90caf9;color:#eee}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#1976d2}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.blue.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.blue.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.blue.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.blue.night .mat-cell,.rtl-container.blue.night .mat-footer-cell,.rtl-container.blue.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.blue.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.blue.night table.mat-table thead tr th{color:#fff}.rtl-container.blue.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.blue.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.blue.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.blue.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.blue.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.blue.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.blue.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.blue.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.blue.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.blue.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.blue.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.blue.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.blue.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.blue.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.blue.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.blue.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.blue.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.blue.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.blue.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.blue.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.blue.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#90caf9!important}.rtl-container.blue.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#1e88e5!important}.rtl-container.blue.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.blue.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.blue.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.blue.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.blue.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.blue.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.blue.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.blue.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.blue.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.blue.night .color-warn{color:#b00020}.rtl-container.blue.night .fill-warn{fill:#b00020}.rtl-container.blue.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.blue.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.blue.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.blue.night .alert.alert-info a{color:#004085}.rtl-container.blue.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.blue.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.blue.night .alert.alert-warn a{color:#856404}.rtl-container.blue.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.blue.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.blue.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.blue.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.blue.night .help-expansion .mat-expansion-panel-header,.rtl-container.blue.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.blue.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.blue.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.blue.night .failed-status{color:#b00020}.rtl-container.blue.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.blue.night .svg-fill-primary{fill:#1976d2}.rtl-container.blue.night .svg-fill-primary-lighter{fill:#90caf9}.rtl-container.blue.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.blue.night ngx-charts-bar-vertical-2d text,.rtl-container.blue.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.blue.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.blue.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.blue.night .mat-paginator-container{padding:0}.rtl-container.indigo.small.small .mat-header-cell{font-weight:700}.rtl-container.indigo.small.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.small.small .mat-menu-item,.rtl-container.indigo.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.small.small .fa-icon-small,.rtl-container.indigo.small.small .genseed-message,.rtl-container.indigo.small.small .top-icon-small,.rtl-container.indigo.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.small.small .page-sub-title-container,.rtl-container.indigo.small.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.small.small .sidenav-img svg,.rtl-container.indigo.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.small.small .material-icons,.rtl-container.indigo.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.small.small .mat-expansion-panel-header,.rtl-container.indigo.small.small .mat-list .mat-list-item,.rtl-container.indigo.small.small .mat-menu-item,.rtl-container.indigo.small.small .mat-nav-list .mat-list-item,.rtl-container.indigo.small.small .mat-option,.rtl-container.indigo.small.small .mat-select,.rtl-container.indigo.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.small.small .logo{font-size:2.4rem}.rtl-container.indigo.small.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.small.small .icon-large{font-size:6rem}.rtl-container.indigo.small.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.small.small .size-triple{font-size:3.6rem}.rtl-container.indigo.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.small.medium .genseed-message,.rtl-container.indigo.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.small.medium .page-sub-title-container,.rtl-container.indigo.small.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.small.medium .fa-icon-small,.rtl-container.indigo.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.small.medium .sidenav-img svg,.rtl-container.indigo.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.small.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.small.medium .mat-expansion-panel-header,.rtl-container.indigo.small.medium .mat-list .mat-list-item,.rtl-container.indigo.small.medium .mat-menu-item,.rtl-container.indigo.small.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.small.medium .mat-option,.rtl-container.indigo.small.medium .mat-select,.rtl-container.indigo.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.small.medium .logo{font-size:2.8rem}.rtl-container.indigo.small.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.small.medium .icon-large{font-size:7rem}.rtl-container.indigo.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.small.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small.large .mat-header-cell{font-weight:800}.rtl-container.indigo.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.small.large .genseed-message,.rtl-container.indigo.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.small.large .page-sub-title-container,.rtl-container.indigo.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.small.large .fa-icon-small,.rtl-container.indigo.small.large .modal-info-header,.rtl-container.indigo.small.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.small.large .sidenav-img svg,.rtl-container.indigo.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.small.large .material-icons{font-size:4rem}.rtl-container.indigo.small.large .mat-expansion-panel-header,.rtl-container.indigo.small.large .mat-list .mat-list-item,.rtl-container.indigo.small.large .mat-menu-item,.rtl-container.indigo.small.large .mat-nav-list .mat-list-item,.rtl-container.indigo.small.large .mat-option,.rtl-container.indigo.small.large .mat-select,.rtl-container.indigo.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.small.large .logo{font-size:3.2rem}.rtl-container.indigo.small.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.small.large .icon-large{font-size:8rem}.rtl-container.indigo.small.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.small.large .size-triple{font-size:4.8rem}.rtl-container.indigo.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.small .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.small .mat-flat-button.mat-primary:focus,.rtl-container.indigo.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.medium.small .mat-header-cell{font-weight:700}.rtl-container.indigo.medium.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.medium.small .mat-menu-item,.rtl-container.indigo.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.medium.small .fa-icon-small,.rtl-container.indigo.medium.small .genseed-message,.rtl-container.indigo.medium.small .top-icon-small,.rtl-container.indigo.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.medium.small .page-sub-title-container,.rtl-container.indigo.medium.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.medium.small .sidenav-img svg,.rtl-container.indigo.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.medium.small .material-icons,.rtl-container.indigo.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.medium.small .mat-expansion-panel-header,.rtl-container.indigo.medium.small .mat-list .mat-list-item,.rtl-container.indigo.medium.small .mat-menu-item,.rtl-container.indigo.medium.small .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.small .mat-option,.rtl-container.indigo.medium.small .mat-select,.rtl-container.indigo.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.medium.small .logo{font-size:2.4rem}.rtl-container.indigo.medium.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.medium.small .icon-large{font-size:6rem}.rtl-container.indigo.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.medium.small .size-triple{font-size:3.6rem}.rtl-container.indigo.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.medium.medium .genseed-message,.rtl-container.indigo.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.medium.medium .page-sub-title-container,.rtl-container.indigo.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.medium.medium .fa-icon-small,.rtl-container.indigo.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.medium.medium .sidenav-img svg,.rtl-container.indigo.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.medium.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.medium.medium .mat-expansion-panel-header,.rtl-container.indigo.medium.medium .mat-list .mat-list-item,.rtl-container.indigo.medium.medium .mat-menu-item,.rtl-container.indigo.medium.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.medium .mat-option,.rtl-container.indigo.medium.medium .mat-select,.rtl-container.indigo.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.medium.medium .logo{font-size:2.8rem}.rtl-container.indigo.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.medium.medium .icon-large{font-size:7rem}.rtl-container.indigo.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.medium.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium.large .mat-header-cell{font-weight:800}.rtl-container.indigo.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.medium.large .genseed-message,.rtl-container.indigo.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.medium.large .page-sub-title-container,.rtl-container.indigo.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.medium.large .fa-icon-small,.rtl-container.indigo.medium.large .modal-info-header,.rtl-container.indigo.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.medium.large .sidenav-img svg,.rtl-container.indigo.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.medium.large .material-icons{font-size:4rem}.rtl-container.indigo.medium.large .mat-expansion-panel-header,.rtl-container.indigo.medium.large .mat-list .mat-list-item,.rtl-container.indigo.medium.large .mat-menu-item,.rtl-container.indigo.medium.large .mat-nav-list .mat-list-item,.rtl-container.indigo.medium.large .mat-option,.rtl-container.indigo.medium.large .mat-select,.rtl-container.indigo.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.medium.large .logo{font-size:3.2rem}.rtl-container.indigo.medium.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.medium.large .icon-large{font-size:8rem}.rtl-container.indigo.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.medium.large .size-triple{font-size:4.8rem}.rtl-container.indigo.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.medium .mat-flat-button.mat-primary:focus,.rtl-container.indigo.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.large.small .mat-header-cell{font-weight:700}.rtl-container.indigo.large.small .mr-4{margin-right:1rem!important}.rtl-container.indigo.large.small .mat-menu-item,.rtl-container.indigo.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.indigo.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.indigo.large.small .fa-icon-small,.rtl-container.indigo.large.small .genseed-message,.rtl-container.indigo.large.small .top-icon-small,.rtl-container.indigo.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.indigo.large.small .page-sub-title-container,.rtl-container.indigo.large.small .page-title-container{font-size:1.32rem}.rtl-container.indigo.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.indigo.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.indigo.large.small .sidenav-img svg,.rtl-container.indigo.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.indigo.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.indigo.large.small .material-icons,.rtl-container.indigo.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.indigo.large.small .mat-expansion-panel-header,.rtl-container.indigo.large.small .mat-list .mat-list-item,.rtl-container.indigo.large.small .mat-menu-item,.rtl-container.indigo.large.small .mat-nav-list .mat-list-item,.rtl-container.indigo.large.small .mat-option,.rtl-container.indigo.large.small .mat-select,.rtl-container.indigo.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.indigo.large.small .logo{font-size:2.4rem}.rtl-container.indigo.large.small .font-60-percent{font-size:.72rem}.rtl-container.indigo.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.indigo.large.small .icon-large{font-size:6rem}.rtl-container.indigo.large.small .icon-small{font-size:1.8rem!important}.rtl-container.indigo.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.indigo.large.small .size-triple{font-size:3.6rem}.rtl-container.indigo.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.indigo.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large.medium .mat-header-cell{font-weight:700}.rtl-container.indigo.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.indigo.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.indigo.large.medium .genseed-message,.rtl-container.indigo.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.indigo.large.medium .page-sub-title-container,.rtl-container.indigo.large.medium .page-title-container{font-size:1.54rem}.rtl-container.indigo.large.medium .fa-icon-small,.rtl-container.indigo.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.indigo.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.indigo.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.indigo.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.indigo.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.indigo.large.medium .sidenav-img svg,.rtl-container.indigo.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.indigo.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.indigo.large.medium .material-icons{font-size:2.8rem}.rtl-container.indigo.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.indigo.large.medium .mat-expansion-panel-header,.rtl-container.indigo.large.medium .mat-list .mat-list-item,.rtl-container.indigo.large.medium .mat-menu-item,.rtl-container.indigo.large.medium .mat-nav-list .mat-list-item,.rtl-container.indigo.large.medium .mat-option,.rtl-container.indigo.large.medium .mat-select,.rtl-container.indigo.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.indigo.large.medium .logo{font-size:2.8rem}.rtl-container.indigo.large.medium .font-60-percent{font-size:.84rem}.rtl-container.indigo.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.indigo.large.medium .icon-large{font-size:7rem}.rtl-container.indigo.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.indigo.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.indigo.large.medium .size-triple{font-size:4.2rem}.rtl-container.indigo.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.indigo.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large.large .mat-header-cell{font-weight:800}.rtl-container.indigo.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.indigo.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.indigo.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.indigo.large.large .genseed-message,.rtl-container.indigo.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.indigo.large.large .page-sub-title-container,.rtl-container.indigo.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.indigo.large.large .fa-icon-small,.rtl-container.indigo.large.large .modal-info-header,.rtl-container.indigo.large.large .top-icon-small{font-size:1.92rem}.rtl-container.indigo.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.indigo.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.indigo.large.large .sidenav-img svg,.rtl-container.indigo.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.indigo.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.indigo.large.large .material-icons{font-size:4rem}.rtl-container.indigo.large.large .mat-expansion-panel-header,.rtl-container.indigo.large.large .mat-list .mat-list-item,.rtl-container.indigo.large.large .mat-menu-item,.rtl-container.indigo.large.large .mat-nav-list .mat-list-item,.rtl-container.indigo.large.large .mat-option,.rtl-container.indigo.large.large .mat-select,.rtl-container.indigo.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.indigo.large.large .logo{font-size:3.2rem}.rtl-container.indigo.large.large .font-60-percent{font-size:.96rem}.rtl-container.indigo.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.indigo.large.large .icon-large{font-size:8rem}.rtl-container.indigo.large.large .icon-small{font-size:2.4rem!important}.rtl-container.indigo.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.indigo.large.large .size-triple{font-size:4.8rem}.rtl-container.indigo.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.indigo.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.indigo.large .mat-icon.material-icons:focus{outline:none}.rtl-container.indigo.large .mat-flat-button.mat-primary:focus,.rtl-container.indigo.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.indigo.day .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.day .mat-option{color:#000000de}.rtl-container.indigo.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.indigo.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.indigo.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.indigo.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.indigo.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.rtl-container.indigo.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.indigo.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.indigo.day .mat-optgroup-label{color:#0000008a}.rtl-container.indigo.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.indigo.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.indigo.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.indigo.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.indigo.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.rtl-container.indigo.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.indigo.day .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.indigo.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.indigo.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.indigo.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.indigo.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.indigo.day.mat-app-background,.rtl-container.indigo.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.indigo.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.indigo.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.indigo.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.indigo.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.indigo.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.indigo.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.indigo.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.indigo.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.indigo.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.indigo.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.indigo.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.indigo.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.indigo.day .mat-badge-content{color:#fff;background:#3f51b5}.cdk-high-contrast-active .rtl-container.indigo.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.indigo.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.indigo.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.indigo.day .mat-badge{position:relative}.rtl-container.indigo.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.indigo.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.indigo.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.indigo.day .mat-badge-content._mat-animation-noopable,.rtl-container.indigo.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.indigo.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.indigo.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.indigo.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.indigo.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.indigo.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.indigo.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.indigo.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.indigo.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.indigo.day .mat-button,.rtl-container.indigo.day .mat-icon-button,.rtl-container.indigo.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.indigo.day .mat-button.mat-primary,.rtl-container.indigo.day .mat-icon-button.mat-primary,.rtl-container.indigo.day .mat-stroked-button.mat-primary{color:#3f51b5}.rtl-container.indigo.day .mat-button.mat-accent,.rtl-container.indigo.day .mat-icon-button.mat-accent,.rtl-container.indigo.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.indigo.day .mat-button.mat-warn,.rtl-container.indigo.day .mat-icon-button.mat-warn,.rtl-container.indigo.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.indigo.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.rtl-container.indigo.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.indigo.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.indigo.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.indigo.day .mat-button .mat-ripple-element,.rtl-container.indigo.day .mat-icon-button .mat-ripple-element,.rtl-container.indigo.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.indigo.day .mat-button-focus-overlay{background:#000}.rtl-container.indigo.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.indigo.day .mat-fab,.rtl-container.indigo.day .mat-flat-button,.rtl-container.indigo.day .mat-mini-fab,.rtl-container.indigo.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.indigo.day .mat-fab.mat-accent,.rtl-container.indigo.day .mat-fab.mat-primary,.rtl-container.indigo.day .mat-fab.mat-warn,.rtl-container.indigo.day .mat-flat-button.mat-accent,.rtl-container.indigo.day .mat-flat-button.mat-primary,.rtl-container.indigo.day .mat-flat-button.mat-warn,.rtl-container.indigo.day .mat-mini-fab.mat-accent,.rtl-container.indigo.day .mat-mini-fab.mat-primary,.rtl-container.indigo.day .mat-mini-fab.mat-warn,.rtl-container.indigo.day .mat-raised-button.mat-accent,.rtl-container.indigo.day .mat-raised-button.mat-primary,.rtl-container.indigo.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.indigo.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.indigo.day .mat-fab.mat-primary,.rtl-container.indigo.day .mat-flat-button.mat-primary,.rtl-container.indigo.day .mat-mini-fab.mat-primary,.rtl-container.indigo.day .mat-raised-button.mat-primary{background-color:#3f51b5}.rtl-container.indigo.day .mat-fab.mat-accent,.rtl-container.indigo.day .mat-flat-button.mat-accent,.rtl-container.indigo.day .mat-mini-fab.mat-accent,.rtl-container.indigo.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.indigo.day .mat-fab.mat-warn,.rtl-container.indigo.day .mat-flat-button.mat-warn,.rtl-container.indigo.day .mat-mini-fab.mat-warn,.rtl-container.indigo.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.indigo.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.indigo.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.indigo.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-button-toggle-group,.rtl-container.indigo.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.indigo.day .mat-button-toggle{color:#00000061}.rtl-container.indigo.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.indigo.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.indigo.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.indigo.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.indigo.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.indigo.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.indigo.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.indigo.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.indigo.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.indigo.day .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.indigo.day .mat-card{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.day .mat-card-subtitle{color:#0000008a}.rtl-container.indigo.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.indigo.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.indigo.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.indigo.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.indigo.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.rtl-container.indigo.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.indigo.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.indigo.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.indigo.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.indigo.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.indigo.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.indigo.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.indigo.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.indigo.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.indigo.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.indigo.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.day .mat-table{background:#fff}.rtl-container.indigo.day .mat-table-sticky,.rtl-container.indigo.day .mat-table tbody,.rtl-container.indigo.day .mat-table tfoot,.rtl-container.indigo.day .mat-table thead,.rtl-container.indigo.day [mat-footer-row],.rtl-container.indigo.day [mat-header-row],.rtl-container.indigo.day [mat-row],.rtl-container.indigo.day mat-footer-row,.rtl-container.indigo.day mat-header-row,.rtl-container.indigo.day mat-row{background:inherit}.rtl-container.indigo.day mat-footer-row,.rtl-container.indigo.day mat-header-row,.rtl-container.indigo.day mat-row,.rtl-container.indigo.day td.mat-cell,.rtl-container.indigo.day td.mat-footer-cell,.rtl-container.indigo.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.indigo.day .mat-header-cell{color:#0000008a}.rtl-container.indigo.day .mat-cell,.rtl-container.indigo.day .mat-footer-cell{color:#000000de}.rtl-container.indigo.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.indigo.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.indigo.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.indigo.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.indigo.day .mat-calendar-table-header{color:#00000061}.rtl-container.indigo.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.indigo.day .mat-calendar-body-label{color:#0000008a}.rtl-container.indigo.day .mat-calendar-body-cell-content,.rtl-container.indigo.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.indigo.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.indigo.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.indigo.day .mat-calendar-body-in-range:before{background:#3f51b533}.rtl-container.indigo.day .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#3f51b566}.rtl-container.indigo.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#3f51b54d}.rtl-container.indigo.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.indigo.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.day .mat-datepicker-toggle-active{color:#3f51b5}.rtl-container.indigo.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.indigo.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.indigo.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.indigo.day .mat-divider{border-top-color:#0000001f}.rtl-container.indigo.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.indigo.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.indigo.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.day .mat-action-row{border-top-color:#0000001f}.rtl-container.indigo.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.indigo.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.indigo.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.indigo.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.indigo.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.indigo.day .mat-expansion-indicator:after,.rtl-container.indigo.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.indigo.day .mat-form-field-label,.rtl-container.indigo.day .mat-hint{color:#0009}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.indigo.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#3f51b5}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.indigo.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.indigo.day .mat-error{color:#b00020}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.indigo.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.indigo.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.indigo.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.indigo.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.indigo.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.indigo.day .mat-icon.mat-primary{color:#3f51b5}.rtl-container.indigo.day .mat-icon.mat-accent{color:#424242}.rtl-container.indigo.day .mat-icon.mat-warn{color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.indigo.day .mat-input-element:disabled{color:#00000061}.rtl-container.indigo.day .mat-input-element{caret-color:#3f51b5}.rtl-container.indigo.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.indigo.day .mat-form-field-invalid .mat-input-element,.rtl-container.indigo.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.indigo.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.indigo.day .mat-list-base .mat-list-item,.rtl-container.indigo.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.indigo.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.indigo.day .mat-list-item-disabled{background-color:#eee}.rtl-container.indigo.day .mat-action-list .mat-list-item:focus,.rtl-container.indigo.day .mat-action-list .mat-list-item:hover,.rtl-container.indigo.day .mat-list-option:focus,.rtl-container.indigo.day .mat-list-option:hover,.rtl-container.indigo.day .mat-nav-list .mat-list-item:focus,.rtl-container.indigo.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.indigo.day .mat-list-single-selected-option,.rtl-container.indigo.day .mat-list-single-selected-option:focus,.rtl-container.indigo.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.indigo.day .mat-menu-panel{background:#fff}.rtl-container.indigo.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.indigo.day .mat-menu-item[disabled],.rtl-container.indigo.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.indigo.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.indigo.day .mat-menu-item-submenu-trigger:after,.rtl-container.indigo.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.indigo.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.indigo.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.indigo.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.indigo.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.indigo.day .mat-paginator{background:#fff}.rtl-container.indigo.day .mat-paginator,.rtl-container.indigo.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.indigo.day .mat-paginator-decrement,.rtl-container.indigo.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.indigo.day .mat-paginator-first,.rtl-container.indigo.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.indigo.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.indigo.day .mat-progress-bar-background{fill:#cbd0e9}.rtl-container.indigo.day .mat-progress-bar-buffer{background-color:#cbd0e9}.rtl-container.indigo.day .mat-progress-bar-fill:after{background-color:#3f51b5}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.indigo.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.indigo.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.indigo.day .mat-progress-spinner circle,.rtl-container.indigo.day .mat-spinner circle{stroke:#3f51b5}.rtl-container.indigo.day .mat-progress-spinner.mat-accent circle,.rtl-container.indigo.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.indigo.day .mat-progress-spinner.mat-warn circle,.rtl-container.indigo.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.indigo.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.indigo.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.rtl-container.indigo.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.rtl-container.indigo.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.indigo.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.indigo.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.indigo.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.indigo.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.indigo.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-select-value{color:#000000de}.rtl-container.indigo.day .mat-select-placeholder{color:#0000006b}.rtl-container.indigo.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.indigo.day .mat-select-arrow{color:#0000008a}.rtl-container.indigo.day .mat-select-panel{background:#fff}.rtl-container.indigo.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.indigo.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.indigo.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.indigo.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.indigo.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.indigo.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.indigo.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.indigo.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-drawer-side.mat-drawer-end,.rtl-container.indigo.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.indigo.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.indigo.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.indigo.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#3f51b58a}.rtl-container.indigo.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.indigo.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.indigo.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.indigo.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.indigo.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.indigo.day .mat-slider-track-background{background-color:#00000042}.rtl-container.indigo.day .mat-primary .mat-slider-thumb,.rtl-container.indigo.day .mat-primary .mat-slider-thumb-label,.rtl-container.indigo.day .mat-primary .mat-slider-track-fill{background-color:#3f51b5}.rtl-container.indigo.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-primary .mat-slider-focus-ring{background-color:#3f51b533}.rtl-container.indigo.day .mat-accent .mat-slider-thumb,.rtl-container.indigo.day .mat-accent .mat-slider-thumb-label,.rtl-container.indigo.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.indigo.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.indigo.day .mat-warn .mat-slider-thumb,.rtl-container.indigo.day .mat-warn .mat-slider-thumb-label,.rtl-container.indigo.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.indigo.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.indigo.day .cdk-focused .mat-slider-track-background,.rtl-container.indigo.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.indigo.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.indigo.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.indigo.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.indigo.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.indigo.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.indigo.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.indigo.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.indigo.day .mat-step-header.cdk-keyboard-focused,.rtl-container.indigo.day .mat-step-header.cdk-program-focused,.rtl-container.indigo.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.indigo.day .mat-step-header:hover{background:none}}.rtl-container.indigo.day .mat-step-header .mat-step-label,.rtl-container.indigo.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.indigo.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.indigo.day .mat-step-header .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.indigo.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.indigo.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.indigo.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.indigo.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.indigo.day .mat-stepper-horizontal,.rtl-container.indigo.day .mat-stepper-vertical{background-color:#fff}.rtl-container.indigo.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.indigo.day .mat-horizontal-stepper-header:after,.rtl-container.indigo.day .mat-horizontal-stepper-header:before,.rtl-container.indigo.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.indigo.day .mat-sort-header-arrow{color:#757575}.rtl-container.indigo.day .mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.indigo.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.indigo.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.indigo.day .mat-tab-label,.rtl-container.indigo.day .mat-tab-link{color:#000000de}.rtl-container.indigo.day .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.indigo.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.indigo.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.indigo.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.rtl-container.indigo.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.indigo.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.indigo.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.indigo.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#3f51b5}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.indigo.day .mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.rtl-container.indigo.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.indigo.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.indigo.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.indigo.day .mat-toolbar .mat-form-field-ripple,.rtl-container.indigo.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.indigo.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.indigo.day .mat-toolbar .mat-form-field-label,.rtl-container.indigo.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.indigo.day .mat-toolbar .mat-select-arrow,.rtl-container.indigo.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.indigo.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.indigo.day .mat-tooltip{background:#616161e6}.rtl-container.indigo.day .mat-tree{background:#fff}.rtl-container.indigo.day .mat-nested-tree-node,.rtl-container.indigo.day .mat-tree-node{color:#000000de}.rtl-container.indigo.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.day .mat-simple-snackbar-action{color:#424242}.rtl-container.indigo.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.indigo.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.indigo.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.indigo.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.indigo.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.indigo.day .bg-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.indigo.day .mat-tab-label.mat-tab-label-active{color:#3f51b5}.rtl-container.indigo.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#3f51b5}.rtl-container.indigo.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.indigo.day .mat-form-field-suffix,.rtl-container.indigo.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.indigo.day .ng-fa-icon{color:#0000008a}.rtl-container.indigo.day .mat-stroked-button.mat-primary{border-color:#3f51b5}.rtl-container.indigo.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.indigo.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.indigo.day .selected-color{border-color:#9fa8da}.rtl-container.indigo.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.indigo.day .page-sub-title-container,.rtl-container.indigo.day .page-title-container{color:#0000008a}.rtl-container.indigo.day .page-sub-title-container .page-title-img,.rtl-container.indigo.day .page-title-container .page-title-img{color:#00000061}.rtl-container.indigo.day .page-sub-title-container .mat-input-element,.rtl-container.indigo.day .page-sub-title-container .mat-radio-label-content,.rtl-container.indigo.day .page-sub-title-container .theme-name,.rtl-container.indigo.day .page-title-container .mat-input-element,.rtl-container.indigo.day .page-title-container .mat-radio-label-content,.rtl-container.indigo.day .page-title-container .theme-name{color:#000000de}.rtl-container.indigo.day .cc-data-block .cc-data-title{color:#3f51b5}.rtl-container.indigo.day .active-link,.rtl-container.indigo.day .active-link .fa-icon-small{color:#3f51b5;font-weight:500;cursor:pointer;fill:#3f51b5}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover,.rtl-container.indigo.day .mat-select-panel .mat-option:hover,.rtl-container.indigo.day .mat-tree-node:hover{color:#3f51b5;cursor:pointer;background:#0000000a}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.indigo.day .mat-tree-node:hover .mat-icon,.rtl-container.indigo.day .mat-tree-node:hover .ng-fa-icon{color:#3f51b5}.rtl-container.indigo.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.indigo.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.indigo.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.indigo.day .mat-tree-node:hover .sidenav-img svg{fill:#3f51b5}.rtl-container.indigo.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.indigo.day .mat-nested-tree-node .sidenav-img,.rtl-container.indigo.day .mat-tree-node .sidenav-img,.rtl-container.indigo.day .page-title-container .page-title-img,.rtl-container.indigo.day svg.top-icon-small{fill:#000000de}.rtl-container.indigo.day .mat-progress-bar-fill:after{background-color:#1a237e}.rtl-container.indigo.day .modal-qr-code-container{background:#0000001f}.rtl-container.indigo.day .mat-tab-label,.rtl-container.indigo.day .mat-tab-link{color:#0000008a}.rtl-container.indigo.day .mat-card,.rtl-container.indigo.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.indigo.day .dashboard-info-title{color:#3f51b5}.rtl-container.indigo.day .dashboard-info-value{color:#0000008a}.rtl-container.indigo.day .color-primary{color:#3f51b5!important}.rtl-container.indigo.day .dot-primary{background-color:#3f51b5!important}.rtl-container.indigo.day .dot-primary-lighter{background-color:#9fa8da!important}.rtl-container.indigo.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.indigo.day .mat-tooltip{font-size:120%}.rtl-container.indigo.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.indigo.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.indigo.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.indigo.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-1{fill:#fff}.rtl-container.indigo.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.indigo.day svg .fill-color-3,.rtl-container.indigo.day svg .fill-color-4,.rtl-container.indigo.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.indigo.day svg .fill-color-6{fill:#fff}.rtl-container.indigo.day svg .fill-color-7,.rtl-container.indigo.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-9{fill:#fff}.rtl-container.indigo.day svg .fill-color-10,.rtl-container.indigo.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.indigo.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-13,.rtl-container.indigo.day svg .fill-color-14,.rtl-container.indigo.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.indigo.day svg .fill-color-16,.rtl-container.indigo.day svg .fill-color-17{fill:#404040}.rtl-container.indigo.day svg .fill-color-18{fill:#000}.rtl-container.indigo.day svg .fill-color-19,.rtl-container.indigo.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.indigo.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-22,.rtl-container.indigo.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.indigo.day svg .fill-color-24{fill:#000}.rtl-container.indigo.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.indigo.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.indigo.day svg .fill-color-27{fill:#000}.rtl-container.indigo.day svg .fill-color-28{fill:#313131}.rtl-container.indigo.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.indigo.day svg .fill-color-30{fill:#fff}.rtl-container.indigo.day svg .fill-color-31{fill:#3f51b5}.rtl-container.indigo.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.indigo.day svg .fill-color-primary{fill:#3f51b5}.rtl-container.indigo.day svg .fill-color-primary-lighter{fill:#9fa8da}.rtl-container.indigo.day svg .fill-color-primary-darker{fill:#3f51b5}.rtl-container.indigo.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.indigo.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.indigo.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.indigo.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#3f51b5}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.indigo.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#1a237e}.rtl-container.indigo.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.indigo.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#9fa8da}.rtl-container.indigo.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.indigo.day .mat-progress-bar-buffer{background-color:#c5cae9}.rtl-container.indigo.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.indigo.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.indigo.day .foreground.mat-progress-spinner circle,.rtl-container.indigo.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.indigo.day .mat-toolbar-row,.rtl-container.indigo.day .mat-toolbar-single-row{height:5rem}.rtl-container.indigo.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.indigo.day a{color:#3f51b5}.rtl-container.indigo.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.indigo.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.indigo.day .mat-icon-36{color:#0000008a}.rtl-container.indigo.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.indigo.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.indigo.day .genseed-message{width:10%;color:#3f51b5}.rtl-container.indigo.day .material-icons.primary{color:#3f51b5}.rtl-container.indigo.day .material-icons.accent{color:#424242}.rtl-container.indigo.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.indigo.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.indigo.day .row-disabled{background-color:gray}.rtl-container.indigo.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.indigo.day .mat-menu-panel{min-width:6.4rem}.rtl-container.indigo.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.indigo.day .horizontal-button:hover{background:#9fa8da;color:#424242}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#3f51b5}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.indigo.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.indigo.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.indigo.day .mat-cell,.rtl-container.indigo.day .mat-footer-cell,.rtl-container.indigo.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.indigo.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.indigo.day table.mat-table thead tr th{color:#000}.rtl-container.indigo.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.indigo.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.indigo.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.indigo.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.indigo.day .more-button{color:#00000061}.rtl-container.indigo.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.indigo.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.indigo.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.indigo.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.indigo.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.indigo.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.indigo.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.indigo.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.indigo.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.indigo.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.indigo.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.indigo.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.indigo.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.indigo.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.indigo.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.indigo.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.indigo.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#9fa8da!important}.rtl-container.indigo.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#3949ab!important}.rtl-container.indigo.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.indigo.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.indigo.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.indigo.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.indigo.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.indigo.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.indigo.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.indigo.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.indigo.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.indigo.day .color-warn{color:#b00020}.rtl-container.indigo.day .fill-warn{fill:#b00020}.rtl-container.indigo.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.indigo.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.indigo.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.indigo.day .alert.alert-info a{color:#004085}.rtl-container.indigo.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.indigo.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.indigo.day .alert.alert-warn a{color:#856404}.rtl-container.indigo.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.indigo.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.indigo.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.indigo.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.indigo.day .help-expansion .mat-expansion-indicator:after,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-content,.rtl-container.indigo.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.indigo.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.indigo.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.indigo.day .failed-status{color:#b00020}.rtl-container.indigo.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.indigo.day .svg-fill-primary{fill:#3f51b5}.rtl-container.indigo.day .svg-fill-primary-lighter{fill:#9fa8da}.rtl-container.indigo.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.indigo.day ngx-charts-bar-vertical-2d text,.rtl-container.indigo.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.indigo.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.indigo.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.indigo.day .mat-paginator-container{padding:0}.rtl-container.indigo.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-option{color:#fff}.rtl-container.indigo.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.indigo.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.indigo.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.indigo.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.rtl-container.indigo.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.indigo.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.indigo.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.indigo.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.indigo.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.rtl-container.indigo.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.indigo.night .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.indigo.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.indigo.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.indigo.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.indigo.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.indigo.night.mat-app-background,.rtl-container.indigo.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.indigo.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.indigo.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.indigo.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.indigo.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.indigo.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.indigo.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.indigo.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.indigo.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.indigo.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.indigo.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.indigo.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.indigo.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.indigo.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.indigo.night .mat-badge-content{color:#fff;background:#3f51b5}.cdk-high-contrast-active .rtl-container.indigo.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.indigo.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.indigo.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.indigo.night .mat-badge{position:relative}.rtl-container.indigo.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.indigo.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.indigo.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.indigo.night .mat-badge-content._mat-animation-noopable,.rtl-container.indigo.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.indigo.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.indigo.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.indigo.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.indigo.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.indigo.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.indigo.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.indigo.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.indigo.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.indigo.night .mat-button,.rtl-container.indigo.night .mat-icon-button,.rtl-container.indigo.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.indigo.night .mat-button.mat-primary,.rtl-container.indigo.night .mat-icon-button.mat-primary,.rtl-container.indigo.night .mat-stroked-button.mat-primary{color:#3f51b5}.rtl-container.indigo.night .mat-button.mat-accent,.rtl-container.indigo.night .mat-icon-button.mat-accent,.rtl-container.indigo.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.indigo.night .mat-button.mat-warn,.rtl-container.indigo.night .mat-icon-button.mat-warn,.rtl-container.indigo.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.indigo.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.indigo.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.rtl-container.indigo.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.indigo.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.indigo.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.indigo.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.indigo.night .mat-button .mat-ripple-element,.rtl-container.indigo.night .mat-icon-button .mat-ripple-element,.rtl-container.indigo.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.indigo.night .mat-button-focus-overlay{background:#fff}.rtl-container.indigo.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.indigo.night .mat-fab,.rtl-container.indigo.night .mat-flat-button,.rtl-container.indigo.night .mat-mini-fab,.rtl-container.indigo.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.indigo.night .mat-fab.mat-primary,.rtl-container.indigo.night .mat-flat-button.mat-primary,.rtl-container.indigo.night .mat-mini-fab.mat-primary,.rtl-container.indigo.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.indigo.night .mat-fab.mat-accent,.rtl-container.indigo.night .mat-flat-button.mat-accent,.rtl-container.indigo.night .mat-mini-fab.mat-accent,.rtl-container.indigo.night .mat-raised-button.mat-accent{color:#000}.rtl-container.indigo.night .mat-fab.mat-warn,.rtl-container.indigo.night .mat-flat-button.mat-warn,.rtl-container.indigo.night .mat-mini-fab.mat-warn,.rtl-container.indigo.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.indigo.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.indigo.night .mat-fab.mat-primary,.rtl-container.indigo.night .mat-flat-button.mat-primary,.rtl-container.indigo.night .mat-mini-fab.mat-primary,.rtl-container.indigo.night .mat-raised-button.mat-primary{background-color:#3f51b5}.rtl-container.indigo.night .mat-fab.mat-accent,.rtl-container.indigo.night .mat-flat-button.mat-accent,.rtl-container.indigo.night .mat-mini-fab.mat-accent,.rtl-container.indigo.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.indigo.night .mat-fab.mat-warn,.rtl-container.indigo.night .mat-flat-button.mat-warn,.rtl-container.indigo.night .mat-mini-fab.mat-warn,.rtl-container.indigo.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.indigo.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.indigo.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.indigo.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.indigo.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.indigo.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.indigo.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-button-toggle-group,.rtl-container.indigo.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.indigo.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.indigo.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.indigo.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.indigo.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.indigo.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.indigo.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.indigo.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.indigo.night .mat-button-toggle-group-appearance-standard,.rtl-container.indigo.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.indigo.night .mat-card{background:#202020;color:#fff}.rtl-container.indigo.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.indigo.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.indigo.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.indigo.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.indigo.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.indigo.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.rtl-container.indigo.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.indigo.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.indigo.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.indigo.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.indigo.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.indigo.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.indigo.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.indigo.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.indigo.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.indigo.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.indigo.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.indigo.night .mat-table{background:#202020}.rtl-container.indigo.night .mat-table-sticky,.rtl-container.indigo.night .mat-table tbody,.rtl-container.indigo.night .mat-table tfoot,.rtl-container.indigo.night .mat-table thead,.rtl-container.indigo.night [mat-footer-row],.rtl-container.indigo.night [mat-header-row],.rtl-container.indigo.night [mat-row],.rtl-container.indigo.night mat-footer-row,.rtl-container.indigo.night mat-header-row,.rtl-container.indigo.night mat-row{background:inherit}.rtl-container.indigo.night mat-footer-row,.rtl-container.indigo.night mat-header-row,.rtl-container.indigo.night mat-row,.rtl-container.indigo.night td.mat-cell,.rtl-container.indigo.night td.mat-footer-cell,.rtl-container.indigo.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.indigo.night .mat-cell,.rtl-container.indigo.night .mat-footer-cell{color:#fff}.rtl-container.indigo.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.indigo.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.indigo.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.indigo.night .mat-datepicker-toggle{color:#fff}.rtl-container.indigo.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.indigo.night .mat-calendar-body-cell-content,.rtl-container.indigo.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.indigo.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.indigo.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.indigo.night .mat-calendar-body-in-range:before{background:#3f51b533}.rtl-container.indigo.night .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#3f51b533 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#3f51b566}.rtl-container.indigo.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#3f51b54d}.rtl-container.indigo.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.indigo.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.indigo.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.indigo.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.indigo.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.indigo.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.indigo.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.indigo.night .mat-datepicker-toggle-active{color:#3f51b5}.rtl-container.indigo.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.indigo.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.indigo.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.indigo.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.indigo.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.indigo.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.indigo.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.indigo.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.indigo.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.indigo.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.indigo.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.indigo.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.indigo.night .mat-form-field-ripple{background-color:#fff}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#3f51b5}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.indigo.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.indigo.night .mat-error{color:#b00020}.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.indigo.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.indigo.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.indigo.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.indigo.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.indigo.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.indigo.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.indigo.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.indigo.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.indigo.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.indigo.night .mat-icon.mat-primary{color:#3f51b5}.rtl-container.indigo.night .mat-icon.mat-accent{color:#eee}.rtl-container.indigo.night .mat-icon.mat-warn{color:#b00020}.rtl-container.indigo.night .mat-input-element{caret-color:#3f51b5}.rtl-container.indigo.night .mat-input-element option{color:#000000de}.rtl-container.indigo.night .mat-input-element option:disabled{color:#00000061}.rtl-container.indigo.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.indigo.night .mat-form-field-invalid .mat-input-element,.rtl-container.indigo.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.indigo.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.indigo.night .mat-list-base .mat-list-item,.rtl-container.indigo.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.indigo.night .mat-list-item-disabled{background-color:#444}.rtl-container.indigo.night .mat-action-list .mat-list-item:focus,.rtl-container.indigo.night .mat-action-list .mat-list-item:hover,.rtl-container.indigo.night .mat-list-option:focus,.rtl-container.indigo.night .mat-list-option:hover,.rtl-container.indigo.night .mat-nav-list .mat-list-item:focus,.rtl-container.indigo.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.indigo.night .mat-list-single-selected-option,.rtl-container.indigo.night .mat-list-single-selected-option:focus,.rtl-container.indigo.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.indigo.night .mat-menu-panel{background:#202020}.rtl-container.indigo.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.indigo.night .mat-menu-item-submenu-trigger:after,.rtl-container.indigo.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.indigo.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.indigo.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.indigo.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.indigo.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.indigo.night .mat-paginator{background:#202020}.rtl-container.indigo.night .mat-paginator-decrement,.rtl-container.indigo.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.indigo.night .mat-paginator-first,.rtl-container.indigo.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.indigo.night .mat-progress-bar-background{fill:#1a1e37}.rtl-container.indigo.night .mat-progress-bar-buffer{background-color:#1a1e37}.rtl-container.indigo.night .mat-progress-bar-fill:after{background-color:#3f51b5}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.indigo.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.indigo.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.indigo.night .mat-progress-spinner circle,.rtl-container.indigo.night .mat-spinner circle{stroke:#3f51b5}.rtl-container.indigo.night .mat-progress-spinner.mat-accent circle,.rtl-container.indigo.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.indigo.night .mat-progress-spinner.mat-warn circle,.rtl-container.indigo.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.indigo.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.rtl-container.indigo.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.rtl-container.indigo.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.indigo.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.indigo.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.indigo.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.indigo.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.indigo.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.indigo.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.indigo.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-select-value{color:#fff}.rtl-container.indigo.night .mat-select-panel{background:#202020}.rtl-container.indigo.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.indigo.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.indigo.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.indigo.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.indigo.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.indigo.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.indigo.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.indigo.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-drawer-side.mat-drawer-end,.rtl-container.indigo.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.indigo.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.indigo.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.indigo.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#3f51b58a}.rtl-container.indigo.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.indigo.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.indigo.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.indigo.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.indigo.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.indigo.night .mat-primary .mat-slider-thumb,.rtl-container.indigo.night .mat-primary .mat-slider-thumb-label,.rtl-container.indigo.night .mat-primary .mat-slider-track-fill{background-color:#3f51b5}.rtl-container.indigo.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.night .mat-primary .mat-slider-focus-ring{background-color:#3f51b533}.rtl-container.indigo.night .mat-accent .mat-slider-thumb,.rtl-container.indigo.night .mat-accent .mat-slider-thumb-label,.rtl-container.indigo.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.indigo.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.indigo.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.indigo.night .mat-warn .mat-slider-thumb,.rtl-container.indigo.night .mat-warn .mat-slider-thumb-label,.rtl-container.indigo.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.indigo.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.indigo.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.indigo.night .cdk-focused .mat-slider-track-background,.rtl-container.indigo.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.indigo.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.indigo.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.indigo.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.indigo.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.indigo.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.indigo.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.indigo.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.indigo.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.indigo.night .mat-step-header.cdk-keyboard-focused,.rtl-container.indigo.night .mat-step-header.cdk-program-focused,.rtl-container.indigo.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.indigo.night .mat-step-header:hover{background:none}}.rtl-container.indigo.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.indigo.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.indigo.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.indigo.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.indigo.night .mat-stepper-horizontal,.rtl-container.indigo.night .mat-stepper-vertical{background-color:#202020}.rtl-container.indigo.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.indigo.night .mat-horizontal-stepper-header:after,.rtl-container.indigo.night .mat-horizontal-stepper-header:before,.rtl-container.indigo.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.indigo.night .mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.indigo.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.indigo.night .mat-tab-label,.rtl-container.indigo.night .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.indigo.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.rtl-container.indigo.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.indigo.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.indigo.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.indigo.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9fa8da4d}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#3f51b5}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.indigo.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.indigo.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.indigo.night .mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.indigo.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.indigo.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.indigo.night .mat-toolbar .mat-form-field-ripple,.rtl-container.indigo.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.indigo.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.indigo.night .mat-toolbar .mat-form-field-label,.rtl-container.indigo.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.indigo.night .mat-toolbar .mat-select-arrow,.rtl-container.indigo.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.indigo.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.indigo.night .mat-tree{background:#202020}.rtl-container.indigo.night .mat-nested-tree-node,.rtl-container.indigo.night .mat-tree-node{color:#fff}.rtl-container.indigo.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.indigo.night .mat-simple-snackbar-action{color:inherit}.rtl-container.indigo.night .mat-primary{color:#536dfe}.rtl-container.indigo.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.indigo.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.indigo.night .bg-primary{background-color:#3f51b5;color:#fff}.rtl-container.indigo.night .mat-tab-label.mat-tab-label-active{color:#536dfe}.rtl-container.indigo.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#536dfe}.rtl-container.indigo.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.indigo.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.indigo.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.indigo.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#536dfe}.rtl-container.indigo.night .cc-data-block .cc-data-title{color:#536dfe}.rtl-container.indigo.night .mat-stroked-button.mat-primary{border-color:#536dfe;color:#536dfe}.rtl-container.indigo.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.indigo.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.indigo.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.indigo.night .active-link,.rtl-container.indigo.night .active-link .fa-icon-small,.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active,.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#536dfe;font-weight:500;cursor:pointer;fill:#536dfe}.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover,.rtl-container.indigo.night .mat-select-panel .mat-option:hover,.rtl-container.indigo.night .mat-tree-node:hover{color:#536dfe;cursor:pointer;background:#ffffff0f}.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.indigo.night .mat-tree-node:hover .mat-icon,.rtl-container.indigo.night .mat-tree-node:hover .ng-fa-icon{color:#536dfe}.rtl-container.indigo.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.indigo.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.indigo.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.indigo.night .mat-tree-node:hover .sidenav-img svg{fill:#536dfe}.rtl-container.indigo.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.indigo.night .mat-nested-tree-node .sidenav-img,.rtl-container.indigo.night .mat-tree-node .sidenav-img,.rtl-container.indigo.night .page-title-container .page-title-img,.rtl-container.indigo.night svg.top-icon-small{fill:#fff}.rtl-container.indigo.night .selected-color{border-color:#9fa8da}.rtl-container.indigo.night .mat-progress-bar-fill:after{background-color:#3949ab}.rtl-container.indigo.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.indigo.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.indigo.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.indigo.night .mat-tree{background:#262626}.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.indigo.night .dashboard-info-title{color:#536dfe}.rtl-container.indigo.night .dashboard-capacity-header,.rtl-container.indigo.night .dashboard-info-value{color:#fff}.rtl-container.indigo.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.indigo.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.indigo.night .color-primary{color:#536dfe!important}.rtl-container.indigo.night .dot-primary{background-color:#536dfe!important}.rtl-container.indigo.night .dot-primary-lighter{background-color:#3f51b5!important}.rtl-container.indigo.night .mat-stepper-vertical{background-color:#262626}.rtl-container.indigo.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.indigo.night svg .boltz-icon-fill{fill:#fff}.rtl-container.indigo.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.indigo.night svg .fill-color-0,.rtl-container.indigo.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.indigo.night svg .fill-color-1{fill:#232323}.rtl-container.indigo.night svg .fill-color-2{fill:#222}.rtl-container.indigo.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.indigo.night svg .fill-color-4{fill:#383838}.rtl-container.indigo.night svg .fill-color-5{fill:#555}.rtl-container.indigo.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.indigo.night svg .fill-color-7{fill:#202020}.rtl-container.indigo.night svg .fill-color-8{fill:#242424}.rtl-container.indigo.night svg .fill-color-9{fill:#262626}.rtl-container.indigo.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.indigo.night svg .fill-color-11{fill:#171717}.rtl-container.indigo.night svg .fill-color-12{fill:#ccc}.rtl-container.indigo.night svg .fill-color-13{fill:#adadad}.rtl-container.indigo.night svg .fill-color-14{fill:#ababab}.rtl-container.indigo.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.indigo.night svg .fill-color-16{fill:#707070}.rtl-container.indigo.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.indigo.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.indigo.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.indigo.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.indigo.night svg .fill-color-21{fill:#cacaca}.rtl-container.indigo.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.indigo.night svg .fill-color-23{fill:#777}.rtl-container.indigo.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.indigo.night svg .fill-color-25{fill:#252525}.rtl-container.indigo.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.indigo.night svg .fill-color-27{fill:#000}.rtl-container.indigo.night svg .fill-color-28{fill:#313131}.rtl-container.indigo.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.indigo.night svg .fill-color-30{fill:#fff}.rtl-container.indigo.night svg .fill-color-31{fill:#3f51b5}.rtl-container.indigo.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.indigo.night svg .fill-color-primary{fill:#3f51b5}.rtl-container.indigo.night svg .fill-color-primary-lighter{fill:#9fa8da}.rtl-container.indigo.night svg .fill-color-primary-darker{fill:#536dfe}.rtl-container.indigo.night .mat-select-arrow,.rtl-container.indigo.night .mat-select-value{color:#fff}.rtl-container.indigo.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.indigo.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.indigo.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.indigo.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.indigo.night .mat-button.mat-primary,.rtl-container.indigo.night .mat-icon-button.mat-primary,.rtl-container.indigo.night .mat-stroked-button.mat-primary{color:#536dfe}.rtl-container.indigo.night tr.alert.alert-warn .mat-cell,.rtl-container.indigo.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.indigo.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.indigo.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#536dfe}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.indigo.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#283593}.rtl-container.indigo.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.indigo.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#536dfe}.rtl-container.indigo.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.indigo.night .mat-progress-bar-buffer{background-color:#c5cae9}.rtl-container.indigo.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.indigo.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.indigo.night .foreground.mat-progress-spinner circle,.rtl-container.indigo.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.indigo.night .mat-toolbar-row,.rtl-container.indigo.night .mat-toolbar-single-row{height:5rem}.rtl-container.indigo.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night a{color:#3f51b5}.rtl-container.indigo.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.indigo.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.indigo.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.indigo.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.indigo.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.indigo.night .genseed-message{width:10%;color:#3f51b5}.rtl-container.indigo.night .material-icons.primary{color:#3f51b5}.rtl-container.indigo.night .material-icons.accent{color:#eee}.rtl-container.indigo.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.indigo.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.indigo.night .row-disabled{background-color:gray}.rtl-container.indigo.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.indigo.night .mat-menu-panel{min-width:6.4rem}.rtl-container.indigo.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.indigo.night .horizontal-button:hover{background:#9fa8da;color:#eee}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#3f51b5}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.indigo.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.indigo.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.indigo.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.indigo.night .mat-cell,.rtl-container.indigo.night .mat-footer-cell,.rtl-container.indigo.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.indigo.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.indigo.night table.mat-table thead tr th{color:#fff}.rtl-container.indigo.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.indigo.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.indigo.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.indigo.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.indigo.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.indigo.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.indigo.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.indigo.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.indigo.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.indigo.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.indigo.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.indigo.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.indigo.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.indigo.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.indigo.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.indigo.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.indigo.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.indigo.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.indigo.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.indigo.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.indigo.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#9fa8da!important}.rtl-container.indigo.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#3949ab!important}.rtl-container.indigo.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.indigo.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.indigo.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.indigo.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.indigo.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.indigo.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.indigo.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.indigo.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.indigo.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.indigo.night .color-warn{color:#b00020}.rtl-container.indigo.night .fill-warn{fill:#b00020}.rtl-container.indigo.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.indigo.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.indigo.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.indigo.night .alert.alert-info a{color:#004085}.rtl-container.indigo.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.indigo.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.indigo.night .alert.alert-warn a{color:#856404}.rtl-container.indigo.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.indigo.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.indigo.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.indigo.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.indigo.night .help-expansion .mat-expansion-panel-header,.rtl-container.indigo.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.indigo.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.indigo.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.indigo.night .failed-status{color:#b00020}.rtl-container.indigo.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.indigo.night .svg-fill-primary{fill:#3f51b5}.rtl-container.indigo.night .svg-fill-primary-lighter{fill:#9fa8da}.rtl-container.indigo.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.indigo.night ngx-charts-bar-vertical-2d text,.rtl-container.indigo.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.indigo.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.indigo.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.indigo.night .mat-paginator-container{padding:0}.rtl-container.green.small.small .mat-header-cell{font-weight:700}.rtl-container.green.small.small .mr-4{margin-right:1rem!important}.rtl-container.green.small.small .mat-menu-item,.rtl-container.green.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.small.small .fa-icon-small,.rtl-container.green.small.small .genseed-message,.rtl-container.green.small.small .top-icon-small,.rtl-container.green.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.small.small .page-sub-title-container,.rtl-container.green.small.small .page-title-container{font-size:1.32rem}.rtl-container.green.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.small.small .sidenav-img svg,.rtl-container.green.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.small.small .material-icons,.rtl-container.green.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.small.small .mat-expansion-panel-header,.rtl-container.green.small.small .mat-list .mat-list-item,.rtl-container.green.small.small .mat-menu-item,.rtl-container.green.small.small .mat-nav-list .mat-list-item,.rtl-container.green.small.small .mat-option,.rtl-container.green.small.small .mat-select,.rtl-container.green.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.small.small .logo{font-size:2.4rem}.rtl-container.green.small.small .font-60-percent{font-size:.72rem}.rtl-container.green.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.small.small .icon-large{font-size:6rem}.rtl-container.green.small.small .icon-small{font-size:1.8rem!important}.rtl-container.green.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.small.small .size-triple{font-size:3.6rem}.rtl-container.green.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small.medium .mat-header-cell{font-weight:700}.rtl-container.green.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.small.medium .genseed-message,.rtl-container.green.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.small.medium .page-sub-title-container,.rtl-container.green.small.medium .page-title-container{font-size:1.54rem}.rtl-container.green.small.medium .fa-icon-small,.rtl-container.green.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.small.medium .sidenav-img svg,.rtl-container.green.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.small.medium .material-icons{font-size:2.8rem}.rtl-container.green.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.small.medium .mat-expansion-panel-header,.rtl-container.green.small.medium .mat-list .mat-list-item,.rtl-container.green.small.medium .mat-menu-item,.rtl-container.green.small.medium .mat-nav-list .mat-list-item,.rtl-container.green.small.medium .mat-option,.rtl-container.green.small.medium .mat-select,.rtl-container.green.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.small.medium .logo{font-size:2.8rem}.rtl-container.green.small.medium .font-60-percent{font-size:.84rem}.rtl-container.green.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.small.medium .icon-large{font-size:7rem}.rtl-container.green.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.small.medium .size-triple{font-size:4.2rem}.rtl-container.green.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small.large .mat-header-cell{font-weight:800}.rtl-container.green.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.small.large .genseed-message,.rtl-container.green.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.small.large .page-sub-title-container,.rtl-container.green.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.small.large .fa-icon-small,.rtl-container.green.small.large .modal-info-header,.rtl-container.green.small.large .top-icon-small{font-size:1.92rem}.rtl-container.green.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.small.large .sidenav-img svg,.rtl-container.green.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.small.large .material-icons{font-size:4rem}.rtl-container.green.small.large .mat-expansion-panel-header,.rtl-container.green.small.large .mat-list .mat-list-item,.rtl-container.green.small.large .mat-menu-item,.rtl-container.green.small.large .mat-nav-list .mat-list-item,.rtl-container.green.small.large .mat-option,.rtl-container.green.small.large .mat-select,.rtl-container.green.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.small.large .logo{font-size:3.2rem}.rtl-container.green.small.large .font-60-percent{font-size:.96rem}.rtl-container.green.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.small.large .icon-large{font-size:8rem}.rtl-container.green.small.large .icon-small{font-size:2.4rem!important}.rtl-container.green.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.small.large .size-triple{font-size:4.8rem}.rtl-container.green.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.small .mat-icon.material-icons:focus{outline:none}.rtl-container.green.small .mat-flat-button.mat-primary:focus,.rtl-container.green.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.medium.small .mat-header-cell{font-weight:700}.rtl-container.green.medium.small .mr-4{margin-right:1rem!important}.rtl-container.green.medium.small .mat-menu-item,.rtl-container.green.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.medium.small .fa-icon-small,.rtl-container.green.medium.small .genseed-message,.rtl-container.green.medium.small .top-icon-small,.rtl-container.green.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.medium.small .page-sub-title-container,.rtl-container.green.medium.small .page-title-container{font-size:1.32rem}.rtl-container.green.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.medium.small .sidenav-img svg,.rtl-container.green.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.medium.small .material-icons,.rtl-container.green.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.medium.small .mat-expansion-panel-header,.rtl-container.green.medium.small .mat-list .mat-list-item,.rtl-container.green.medium.small .mat-menu-item,.rtl-container.green.medium.small .mat-nav-list .mat-list-item,.rtl-container.green.medium.small .mat-option,.rtl-container.green.medium.small .mat-select,.rtl-container.green.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.medium.small .logo{font-size:2.4rem}.rtl-container.green.medium.small .font-60-percent{font-size:.72rem}.rtl-container.green.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.medium.small .icon-large{font-size:6rem}.rtl-container.green.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.green.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.medium.small .size-triple{font-size:3.6rem}.rtl-container.green.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium.medium .mat-header-cell{font-weight:700}.rtl-container.green.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.medium.medium .genseed-message,.rtl-container.green.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.medium.medium .page-sub-title-container,.rtl-container.green.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.green.medium.medium .fa-icon-small,.rtl-container.green.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.medium.medium .sidenav-img svg,.rtl-container.green.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.medium.medium .material-icons{font-size:2.8rem}.rtl-container.green.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.medium.medium .mat-expansion-panel-header,.rtl-container.green.medium.medium .mat-list .mat-list-item,.rtl-container.green.medium.medium .mat-menu-item,.rtl-container.green.medium.medium .mat-nav-list .mat-list-item,.rtl-container.green.medium.medium .mat-option,.rtl-container.green.medium.medium .mat-select,.rtl-container.green.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.medium.medium .logo{font-size:2.8rem}.rtl-container.green.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.green.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.medium.medium .icon-large{font-size:7rem}.rtl-container.green.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.medium.medium .size-triple{font-size:4.2rem}.rtl-container.green.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium.large .mat-header-cell{font-weight:800}.rtl-container.green.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.medium.large .genseed-message,.rtl-container.green.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.medium.large .page-sub-title-container,.rtl-container.green.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.medium.large .fa-icon-small,.rtl-container.green.medium.large .modal-info-header,.rtl-container.green.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.green.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.medium.large .sidenav-img svg,.rtl-container.green.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.medium.large .material-icons{font-size:4rem}.rtl-container.green.medium.large .mat-expansion-panel-header,.rtl-container.green.medium.large .mat-list .mat-list-item,.rtl-container.green.medium.large .mat-menu-item,.rtl-container.green.medium.large .mat-nav-list .mat-list-item,.rtl-container.green.medium.large .mat-option,.rtl-container.green.medium.large .mat-select,.rtl-container.green.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.medium.large .logo{font-size:3.2rem}.rtl-container.green.medium.large .font-60-percent{font-size:.96rem}.rtl-container.green.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.medium.large .icon-large{font-size:8rem}.rtl-container.green.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.green.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.medium.large .size-triple{font-size:4.8rem}.rtl-container.green.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.green.medium .mat-flat-button.mat-primary:focus,.rtl-container.green.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.large.small .mat-header-cell{font-weight:700}.rtl-container.green.large.small .mr-4{margin-right:1rem!important}.rtl-container.green.large.small .mat-menu-item,.rtl-container.green.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.green.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.green.large.small .fa-icon-small,.rtl-container.green.large.small .genseed-message,.rtl-container.green.large.small .top-icon-small,.rtl-container.green.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.green.large.small .page-sub-title-container,.rtl-container.green.large.small .page-title-container{font-size:1.32rem}.rtl-container.green.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.green.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.green.large.small .sidenav-img svg,.rtl-container.green.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.green.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.green.large.small .material-icons,.rtl-container.green.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.green.large.small .mat-expansion-panel-header,.rtl-container.green.large.small .mat-list .mat-list-item,.rtl-container.green.large.small .mat-menu-item,.rtl-container.green.large.small .mat-nav-list .mat-list-item,.rtl-container.green.large.small .mat-option,.rtl-container.green.large.small .mat-select,.rtl-container.green.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.green.large.small .logo{font-size:2.4rem}.rtl-container.green.large.small .font-60-percent{font-size:.72rem}.rtl-container.green.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.green.large.small .icon-large{font-size:6rem}.rtl-container.green.large.small .icon-small{font-size:1.8rem!important}.rtl-container.green.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.green.large.small .size-triple{font-size:3.6rem}.rtl-container.green.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.green.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large.medium .mat-header-cell{font-weight:700}.rtl-container.green.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.green.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.green.large.medium .genseed-message,.rtl-container.green.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.green.large.medium .page-sub-title-container,.rtl-container.green.large.medium .page-title-container{font-size:1.54rem}.rtl-container.green.large.medium .fa-icon-small,.rtl-container.green.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.green.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.green.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.green.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.green.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.green.large.medium .sidenav-img svg,.rtl-container.green.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.green.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.green.large.medium .material-icons{font-size:2.8rem}.rtl-container.green.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.green.large.medium .mat-expansion-panel-header,.rtl-container.green.large.medium .mat-list .mat-list-item,.rtl-container.green.large.medium .mat-menu-item,.rtl-container.green.large.medium .mat-nav-list .mat-list-item,.rtl-container.green.large.medium .mat-option,.rtl-container.green.large.medium .mat-select,.rtl-container.green.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.green.large.medium .logo{font-size:2.8rem}.rtl-container.green.large.medium .font-60-percent{font-size:.84rem}.rtl-container.green.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.green.large.medium .icon-large{font-size:7rem}.rtl-container.green.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.green.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.green.large.medium .size-triple{font-size:4.2rem}.rtl-container.green.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.green.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large.large .mat-header-cell{font-weight:800}.rtl-container.green.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.green.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.green.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.green.large.large .genseed-message,.rtl-container.green.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.green.large.large .page-sub-title-container,.rtl-container.green.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.green.large.large .fa-icon-small,.rtl-container.green.large.large .modal-info-header,.rtl-container.green.large.large .top-icon-small{font-size:1.92rem}.rtl-container.green.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.green.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.green.large.large .sidenav-img svg,.rtl-container.green.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.green.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.green.large.large .material-icons{font-size:4rem}.rtl-container.green.large.large .mat-expansion-panel-header,.rtl-container.green.large.large .mat-list .mat-list-item,.rtl-container.green.large.large .mat-menu-item,.rtl-container.green.large.large .mat-nav-list .mat-list-item,.rtl-container.green.large.large .mat-option,.rtl-container.green.large.large .mat-select,.rtl-container.green.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.green.large.large .logo{font-size:3.2rem}.rtl-container.green.large.large .font-60-percent{font-size:.96rem}.rtl-container.green.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.green.large.large .icon-large{font-size:8rem}.rtl-container.green.large.large .icon-small{font-size:2.4rem!important}.rtl-container.green.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.green.large.large .size-triple{font-size:4.8rem}.rtl-container.green.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.green.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.green.large .mat-icon.material-icons:focus{outline:none}.rtl-container.green.large .mat-flat-button.mat-primary:focus,.rtl-container.green.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.green.day .mat-ripple-element{background-color:#0000001a}.rtl-container.green.day .mat-option{color:#000000de}.rtl-container.green.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.green.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.green.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.green.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.green.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#185127}.rtl-container.green.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.green.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.green.day .mat-optgroup-label{color:#0000008a}.rtl-container.green.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.green.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.green.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.green.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.green.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#185127}.rtl-container.green.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.green.day .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.green.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.green.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.green.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.green.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.green.day.mat-app-background,.rtl-container.green.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.green.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.green.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.green.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.green.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.green.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.green.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.green.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.green.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.green.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.green.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.green.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.green.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.green.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.green.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.green.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.green.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.green.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.green.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.green.day .mat-badge-content{color:#fff;background:#185127}.cdk-high-contrast-active .rtl-container.green.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.green.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.green.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.green.day .mat-badge{position:relative}.rtl-container.green.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.green.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.green.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.green.day .mat-badge-content._mat-animation-noopable,.rtl-container.green.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.green.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.green.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.green.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.green.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.green.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.green.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.green.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.green.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.green.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.green.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.green.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.green.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.green.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.green.day .mat-button,.rtl-container.green.day .mat-icon-button,.rtl-container.green.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.green.day .mat-button.mat-primary,.rtl-container.green.day .mat-icon-button.mat-primary,.rtl-container.green.day .mat-stroked-button.mat-primary{color:#185127}.rtl-container.green.day .mat-button.mat-accent,.rtl-container.green.day .mat-icon-button.mat-accent,.rtl-container.green.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.green.day .mat-button.mat-warn,.rtl-container.green.day .mat-icon-button.mat-warn,.rtl-container.green.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.green.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.green.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#185127}.rtl-container.green.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.green.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.green.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.green.day .mat-button .mat-ripple-element,.rtl-container.green.day .mat-icon-button .mat-ripple-element,.rtl-container.green.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.green.day .mat-button-focus-overlay{background:#000}.rtl-container.green.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.green.day .mat-fab,.rtl-container.green.day .mat-flat-button,.rtl-container.green.day .mat-mini-fab,.rtl-container.green.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.green.day .mat-fab.mat-accent,.rtl-container.green.day .mat-fab.mat-primary,.rtl-container.green.day .mat-fab.mat-warn,.rtl-container.green.day .mat-flat-button.mat-accent,.rtl-container.green.day .mat-flat-button.mat-primary,.rtl-container.green.day .mat-flat-button.mat-warn,.rtl-container.green.day .mat-mini-fab.mat-accent,.rtl-container.green.day .mat-mini-fab.mat-primary,.rtl-container.green.day .mat-mini-fab.mat-warn,.rtl-container.green.day .mat-raised-button.mat-accent,.rtl-container.green.day .mat-raised-button.mat-primary,.rtl-container.green.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.green.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.green.day .mat-fab.mat-primary,.rtl-container.green.day .mat-flat-button.mat-primary,.rtl-container.green.day .mat-mini-fab.mat-primary,.rtl-container.green.day .mat-raised-button.mat-primary{background-color:#185127}.rtl-container.green.day .mat-fab.mat-accent,.rtl-container.green.day .mat-flat-button.mat-accent,.rtl-container.green.day .mat-mini-fab.mat-accent,.rtl-container.green.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.green.day .mat-fab.mat-warn,.rtl-container.green.day .mat-flat-button.mat-warn,.rtl-container.green.day .mat-mini-fab.mat-warn,.rtl-container.green.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.green.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.green.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.green.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.green.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-button-toggle-group,.rtl-container.green.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-button-toggle-group-appearance-standard,.rtl-container.green.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.green.day .mat-button-toggle{color:#00000061}.rtl-container.green.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.green.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.green.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.green.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.green.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.green.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.green.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.green.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.green.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.green.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.green.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.green.day .mat-button-toggle-group-appearance-standard,.rtl-container.green.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.green.day .mat-card{background:#fff;color:#000000de}.rtl-container.green.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.day .mat-card-subtitle{color:#0000008a}.rtl-container.green.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.green.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.green.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.green.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.green.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#185127}.rtl-container.green.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.green.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.green.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.green.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.green.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.green.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.green.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#185127}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.green.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.green.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.green.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.green.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#185127;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.day .mat-table{background:#fff}.rtl-container.green.day .mat-table-sticky,.rtl-container.green.day .mat-table tbody,.rtl-container.green.day .mat-table tfoot,.rtl-container.green.day .mat-table thead,.rtl-container.green.day [mat-footer-row],.rtl-container.green.day [mat-header-row],.rtl-container.green.day [mat-row],.rtl-container.green.day mat-footer-row,.rtl-container.green.day mat-header-row,.rtl-container.green.day mat-row{background:inherit}.rtl-container.green.day mat-footer-row,.rtl-container.green.day mat-header-row,.rtl-container.green.day mat-row,.rtl-container.green.day td.mat-cell,.rtl-container.green.day td.mat-footer-cell,.rtl-container.green.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.green.day .mat-header-cell{color:#0000008a}.rtl-container.green.day .mat-cell,.rtl-container.green.day .mat-footer-cell{color:#000000de}.rtl-container.green.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.green.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.green.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.green.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.green.day .mat-calendar-table-header{color:#00000061}.rtl-container.green.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.green.day .mat-calendar-body-label{color:#0000008a}.rtl-container.green.day .mat-calendar-body-cell-content,.rtl-container.green.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.green.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.green.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.green.day .mat-calendar-body-in-range:before{background:#18512733}.rtl-container.green.day .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-calendar-body-selected{background-color:#185127;color:#fff}.rtl-container.green.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#18512766}.rtl-container.green.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1851274d}.rtl-container.green.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.green.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.day .mat-datepicker-toggle-active{color:#185127}.rtl-container.green.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.green.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.green.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.green.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.green.day .mat-divider{border-top-color:#0000001f}.rtl-container.green.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.green.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.green.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.day .mat-action-row{border-top-color:#0000001f}.rtl-container.green.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.green.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.green.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.green.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.green.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.green.day .mat-expansion-indicator:after,.rtl-container.green.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.green.day .mat-form-field-label,.rtl-container.green.day .mat-hint{color:#0009}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label{color:#185127}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.green.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.green.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#185127}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.green.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#185127}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.green.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.green.day .mat-error{color:#b00020}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.green.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.green.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.green.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.green.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.green.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#185127}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.green.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.green.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.green.day .mat-icon.mat-primary{color:#185127}.rtl-container.green.day .mat-icon.mat-accent{color:#424242}.rtl-container.green.day .mat-icon.mat-warn{color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.green.day .mat-input-element:disabled{color:#00000061}.rtl-container.green.day .mat-input-element{caret-color:#185127}.rtl-container.green.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.green.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.green.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.green.day .mat-form-field-invalid .mat-input-element,.rtl-container.green.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.green.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.green.day .mat-list-base .mat-list-item,.rtl-container.green.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.green.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.green.day .mat-list-item-disabled{background-color:#eee}.rtl-container.green.day .mat-action-list .mat-list-item:focus,.rtl-container.green.day .mat-action-list .mat-list-item:hover,.rtl-container.green.day .mat-list-option:focus,.rtl-container.green.day .mat-list-option:hover,.rtl-container.green.day .mat-nav-list .mat-list-item:focus,.rtl-container.green.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.green.day .mat-list-single-selected-option,.rtl-container.green.day .mat-list-single-selected-option:focus,.rtl-container.green.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.green.day .mat-menu-panel{background:#fff}.rtl-container.green.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.green.day .mat-menu-item[disabled],.rtl-container.green.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.green.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.green.day .mat-menu-item-submenu-trigger:after,.rtl-container.green.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.green.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.green.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.green.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.green.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.green.day .mat-paginator{background:#fff}.rtl-container.green.day .mat-paginator,.rtl-container.green.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.green.day .mat-paginator-decrement,.rtl-container.green.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.green.day .mat-paginator-first,.rtl-container.green.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.green.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.green.day .mat-progress-bar-background{fill:#c2d0c5}.rtl-container.green.day .mat-progress-bar-buffer{background-color:#c2d0c5}.rtl-container.green.day .mat-progress-bar-fill:after{background-color:#185127}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.green.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.green.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.green.day .mat-progress-spinner circle,.rtl-container.green.day .mat-spinner circle{stroke:#185127}.rtl-container.green.day .mat-progress-spinner.mat-accent circle,.rtl-container.green.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.green.day .mat-progress-spinner.mat-warn circle,.rtl-container.green.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.green.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.green.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#185127}.rtl-container.green.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#185127}.rtl-container.green.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.green.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.green.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.green.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.green.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.green.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.green.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-select-value{color:#000000de}.rtl-container.green.day .mat-select-placeholder{color:#0000006b}.rtl-container.green.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.green.day .mat-select-arrow{color:#0000008a}.rtl-container.green.day .mat-select-panel{background:#fff}.rtl-container.green.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.green.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#185127}.rtl-container.green.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.green.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.green.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.green.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.green.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.green.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.green.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.green.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.green.day .mat-drawer-side.mat-drawer-end,.rtl-container.green.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.green.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.green.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.green.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#185127}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1851278a}.rtl-container.green.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#185127}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.green.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.green.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.green.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.green.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.green.day .mat-slider-track-background{background-color:#00000042}.rtl-container.green.day .mat-primary .mat-slider-thumb,.rtl-container.green.day .mat-primary .mat-slider-thumb-label,.rtl-container.green.day .mat-primary .mat-slider-track-fill{background-color:#185127}.rtl-container.green.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-primary .mat-slider-focus-ring{background-color:#18512733}.rtl-container.green.day .mat-accent .mat-slider-thumb,.rtl-container.green.day .mat-accent .mat-slider-thumb-label,.rtl-container.green.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.green.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.green.day .mat-warn .mat-slider-thumb,.rtl-container.green.day .mat-warn .mat-slider-thumb-label,.rtl-container.green.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.green.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.green.day .cdk-focused .mat-slider-track-background,.rtl-container.green.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.green.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.green.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.green.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.green.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.green.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.green.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.green.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.green.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.green.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.green.day .mat-step-header.cdk-keyboard-focused,.rtl-container.green.day .mat-step-header.cdk-program-focused,.rtl-container.green.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.green.day .mat-step-header:hover{background:none}}.rtl-container.green.day .mat-step-header .mat-step-label,.rtl-container.green.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.green.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.green.day .mat-step-header .mat-step-icon-selected,.rtl-container.green.day .mat-step-header .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header .mat-step-icon-state-edit{background-color:#185127;color:#fff}.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.green.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.green.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.green.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.green.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.green.day .mat-stepper-horizontal,.rtl-container.green.day .mat-stepper-vertical{background-color:#fff}.rtl-container.green.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.green.day .mat-horizontal-stepper-header:after,.rtl-container.green.day .mat-horizontal-stepper-header:before,.rtl-container.green.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.green.day .mat-sort-header-arrow{color:#757575}.rtl-container.green.day .mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.green.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.green.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.green.day .mat-tab-label,.rtl-container.green.day .mat-tab-link{color:#000000de}.rtl-container.green.day .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.green.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.green.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.green.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#185127}.rtl-container.green.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.green.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.green.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.green.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#185127}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.green.day .mat-toolbar.mat-primary{background:#185127;color:#fff}.rtl-container.green.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.green.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.green.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.green.day .mat-toolbar .mat-form-field-ripple,.rtl-container.green.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.green.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.green.day .mat-toolbar .mat-form-field-label,.rtl-container.green.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.green.day .mat-toolbar .mat-select-arrow,.rtl-container.green.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.green.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.green.day .mat-tooltip{background:#616161e6}.rtl-container.green.day .mat-tree{background:#fff}.rtl-container.green.day .mat-nested-tree-node,.rtl-container.green.day .mat-tree-node{color:#000000de}.rtl-container.green.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.day .mat-simple-snackbar-action{color:#424242}.rtl-container.green.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.green.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.green.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.green.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.green.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.green.day .bg-primary{background-color:#185127;color:#fff}.rtl-container.green.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.green.day .mat-tab-label.mat-tab-label-active{color:#185127}.rtl-container.green.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#185127}.rtl-container.green.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.green.day .mat-form-field-suffix,.rtl-container.green.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.green.day .ng-fa-icon{color:#0000008a}.rtl-container.green.day .mat-stroked-button.mat-primary{border-color:#185127}.rtl-container.green.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.green.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.green.day .selected-color{border-color:#5d8568}.rtl-container.green.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.green.day .page-sub-title-container,.rtl-container.green.day .page-title-container{color:#0000008a}.rtl-container.green.day .page-sub-title-container .page-title-img,.rtl-container.green.day .page-title-container .page-title-img{color:#00000061}.rtl-container.green.day .page-sub-title-container .mat-input-element,.rtl-container.green.day .page-sub-title-container .mat-radio-label-content,.rtl-container.green.day .page-sub-title-container .theme-name,.rtl-container.green.day .page-title-container .mat-input-element,.rtl-container.green.day .page-title-container .mat-radio-label-content,.rtl-container.green.day .page-title-container .theme-name{color:#000000de}.rtl-container.green.day .cc-data-block .cc-data-title{color:#185127}.rtl-container.green.day .active-link,.rtl-container.green.day .active-link .fa-icon-small{color:#185127;font-weight:500;cursor:pointer;fill:#185127}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.green.day .mat-nested-tree-node-parent:hover,.rtl-container.green.day .mat-select-panel .mat-option:hover,.rtl-container.green.day .mat-tree-node:hover{color:#185127;cursor:pointer;background:#0000000a}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.green.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.green.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.green.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.green.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.green.day .mat-tree-node:hover .mat-icon,.rtl-container.green.day .mat-tree-node:hover .ng-fa-icon{color:#185127}.rtl-container.green.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.green.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.green.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.green.day .mat-tree-node:hover .sidenav-img svg{fill:#185127}.rtl-container.green.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.green.day .mat-nested-tree-node .sidenav-img,.rtl-container.green.day .mat-tree-node .sidenav-img,.rtl-container.green.day .page-title-container .page-title-img,.rtl-container.green.day svg.top-icon-small{fill:#000000de}.rtl-container.green.day .mat-progress-bar-fill:after{background-color:#08270e}.rtl-container.green.day .modal-qr-code-container{background:#0000001f}.rtl-container.green.day .mat-tab-label,.rtl-container.green.day .mat-tab-link{color:#0000008a}.rtl-container.green.day .mat-card,.rtl-container.green.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.green.day .dashboard-info-title{color:#185127}.rtl-container.green.day .dashboard-info-value{color:#0000008a}.rtl-container.green.day .color-primary{color:#185127!important}.rtl-container.green.day .dot-primary{background-color:#185127!important}.rtl-container.green.day .dot-primary-lighter{background-color:#5d8568!important}.rtl-container.green.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.green.day .mat-tooltip{font-size:120%}.rtl-container.green.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.green.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.green.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.green.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-1{fill:#fff}.rtl-container.green.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.green.day svg .fill-color-3,.rtl-container.green.day svg .fill-color-4,.rtl-container.green.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.green.day svg .fill-color-6{fill:#fff}.rtl-container.green.day svg .fill-color-7,.rtl-container.green.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-9{fill:#fff}.rtl-container.green.day svg .fill-color-10,.rtl-container.green.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.green.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-13,.rtl-container.green.day svg .fill-color-14,.rtl-container.green.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.green.day svg .fill-color-16,.rtl-container.green.day svg .fill-color-17{fill:#404040}.rtl-container.green.day svg .fill-color-18{fill:#000}.rtl-container.green.day svg .fill-color-19,.rtl-container.green.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.green.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-22,.rtl-container.green.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.green.day svg .fill-color-24{fill:#000}.rtl-container.green.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.green.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.green.day svg .fill-color-27{fill:#000}.rtl-container.green.day svg .fill-color-28{fill:#313131}.rtl-container.green.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.green.day svg .fill-color-30{fill:#fff}.rtl-container.green.day svg .fill-color-31{fill:#185127}.rtl-container.green.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.green.day svg .fill-color-primary{fill:#185127}.rtl-container.green.day svg .fill-color-primary-lighter{fill:#5d8568}.rtl-container.green.day svg .fill-color-primary-darker{fill:#185127}.rtl-container.green.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.green.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.green.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.green.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.green.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.green.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.green.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#185127}.rtl-container.green.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.green.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#08270e}.rtl-container.green.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.green.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#8ca893}.rtl-container.green.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.green.day .mat-progress-bar-buffer{background-color:#bacbbe}.rtl-container.green.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.green.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.green.day .foreground.mat-progress-spinner circle,.rtl-container.green.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.green.day .mat-toolbar-row,.rtl-container.green.day .mat-toolbar-single-row{height:5rem}.rtl-container.green.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.green.day a{color:#185127}.rtl-container.green.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.green.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.green.day .mat-icon-36{color:#0000008a}.rtl-container.green.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.green.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.green.day .genseed-message{width:10%;color:#185127}.rtl-container.green.day .material-icons.primary{color:#185127}.rtl-container.green.day .material-icons.accent{color:#424242}.rtl-container.green.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.green.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.green.day .row-disabled{background-color:gray}.rtl-container.green.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.green.day .mat-menu-panel{min-width:6.4rem}.rtl-container.green.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.green.day .horizontal-button:hover{background:#5d8568;color:#424242}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#185127}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.green.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.green.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.green.day .mat-cell,.rtl-container.green.day .mat-footer-cell,.rtl-container.green.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.green.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.green.day table.mat-table thead tr th{color:#000}.rtl-container.green.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.green.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.green.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.green.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.green.day .more-button{color:#00000061}.rtl-container.green.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.green.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.green.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.green.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.green.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.green.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.green.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.green.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.green.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.green.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.green.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.green.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.green.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.green.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.green.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.green.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.green.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#8ca893!important}.rtl-container.green.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#154a23!important}.rtl-container.green.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.green.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.green.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.green.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.green.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.green.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.green.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.green.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.green.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.green.day .color-warn{color:#b00020}.rtl-container.green.day .fill-warn{fill:#b00020}.rtl-container.green.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.green.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.green.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.green.day .alert.alert-info a{color:#004085}.rtl-container.green.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.green.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.green.day .alert.alert-warn a{color:#856404}.rtl-container.green.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.green.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.green.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.green.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.green.day .help-expansion .mat-expansion-panel-header,.rtl-container.green.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.green.day .help-expansion .mat-expansion-indicator:after,.rtl-container.green.day .help-expansion .mat-expansion-panel-content,.rtl-container.green.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.green.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.green.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.green.day .failed-status{color:#b00020}.rtl-container.green.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.green.day .svg-fill-primary{fill:#185127}.rtl-container.green.day .svg-fill-primary-lighter{fill:#5d8568}.rtl-container.green.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.green.day ngx-charts-bar-vertical-2d text,.rtl-container.green.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.green.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.green.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.green.day .mat-paginator-container{padding:0}.rtl-container.green.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-option{color:#fff}.rtl-container.green.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.green.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.green.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.green.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#185127}.rtl-container.green.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.green.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.green.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.green.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.green.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#185127}.rtl-container.green.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.green.night .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.green.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.green.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.green.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.green.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.green.night.mat-app-background,.rtl-container.green.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.green.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.green.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.green.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.green.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.green.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.green.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.green.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.green.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.green.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.green.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.green.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.green.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.green.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.green.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.green.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.green.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.green.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.green.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.green.night .mat-badge-content{color:#fff;background:#185127}.cdk-high-contrast-active .rtl-container.green.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.green.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.green.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.green.night .mat-badge{position:relative}.rtl-container.green.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.green.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.green.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.green.night .mat-badge-content._mat-animation-noopable,.rtl-container.green.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.green.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.green.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.green.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.green.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.green.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.green.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.green.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.green.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.green.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.green.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.green.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.green.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.green.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.green.night .mat-button,.rtl-container.green.night .mat-icon-button,.rtl-container.green.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.green.night .mat-button.mat-primary,.rtl-container.green.night .mat-icon-button.mat-primary,.rtl-container.green.night .mat-stroked-button.mat-primary{color:#185127}.rtl-container.green.night .mat-button.mat-accent,.rtl-container.green.night .mat-icon-button.mat-accent,.rtl-container.green.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.green.night .mat-button.mat-warn,.rtl-container.green.night .mat-icon-button.mat-warn,.rtl-container.green.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.green.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.green.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#185127}.rtl-container.green.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.green.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.green.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.green.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.green.night .mat-button .mat-ripple-element,.rtl-container.green.night .mat-icon-button .mat-ripple-element,.rtl-container.green.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.green.night .mat-button-focus-overlay{background:#fff}.rtl-container.green.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.green.night .mat-fab,.rtl-container.green.night .mat-flat-button,.rtl-container.green.night .mat-mini-fab,.rtl-container.green.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.green.night .mat-fab.mat-primary,.rtl-container.green.night .mat-flat-button.mat-primary,.rtl-container.green.night .mat-mini-fab.mat-primary,.rtl-container.green.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.green.night .mat-fab.mat-accent,.rtl-container.green.night .mat-flat-button.mat-accent,.rtl-container.green.night .mat-mini-fab.mat-accent,.rtl-container.green.night .mat-raised-button.mat-accent{color:#000}.rtl-container.green.night .mat-fab.mat-warn,.rtl-container.green.night .mat-flat-button.mat-warn,.rtl-container.green.night .mat-mini-fab.mat-warn,.rtl-container.green.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.green.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.green.night .mat-fab.mat-primary,.rtl-container.green.night .mat-flat-button.mat-primary,.rtl-container.green.night .mat-mini-fab.mat-primary,.rtl-container.green.night .mat-raised-button.mat-primary{background-color:#185127}.rtl-container.green.night .mat-fab.mat-accent,.rtl-container.green.night .mat-flat-button.mat-accent,.rtl-container.green.night .mat-mini-fab.mat-accent,.rtl-container.green.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.green.night .mat-fab.mat-warn,.rtl-container.green.night .mat-flat-button.mat-warn,.rtl-container.green.night .mat-mini-fab.mat-warn,.rtl-container.green.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.green.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.green.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.green.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.green.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.green.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.green.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.green.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.green.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-button-toggle-group,.rtl-container.green.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-button-toggle-group-appearance-standard,.rtl-container.green.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.green.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.green.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.green.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.green.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.green.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.green.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.green.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.green.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.green.night .mat-button-toggle-group-appearance-standard,.rtl-container.green.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.green.night .mat-card{background:#202020;color:#fff}.rtl-container.green.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.green.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.green.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.green.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.green.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.green.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#185127}.rtl-container.green.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.green.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.green.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.green.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.green.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.green.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#185127}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.green.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.green.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.green.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.green.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#185127;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.green.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.green.night .mat-table{background:#202020}.rtl-container.green.night .mat-table-sticky,.rtl-container.green.night .mat-table tbody,.rtl-container.green.night .mat-table tfoot,.rtl-container.green.night .mat-table thead,.rtl-container.green.night [mat-footer-row],.rtl-container.green.night [mat-header-row],.rtl-container.green.night [mat-row],.rtl-container.green.night mat-footer-row,.rtl-container.green.night mat-header-row,.rtl-container.green.night mat-row{background:inherit}.rtl-container.green.night mat-footer-row,.rtl-container.green.night mat-header-row,.rtl-container.green.night mat-row,.rtl-container.green.night td.mat-cell,.rtl-container.green.night td.mat-footer-cell,.rtl-container.green.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.green.night .mat-cell,.rtl-container.green.night .mat-footer-cell{color:#fff}.rtl-container.green.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.green.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.green.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.green.night .mat-datepicker-toggle{color:#fff}.rtl-container.green.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.green.night .mat-calendar-body-cell-content,.rtl-container.green.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.green.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.green.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.green.night .mat-calendar-body-in-range:before{background:#18512733}.rtl-container.green.night .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#18512733 50%,#f9ab0033 0)}.rtl-container.green.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-calendar-body-selected{background-color:#185127;color:#fff}.rtl-container.green.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#18512766}.rtl-container.green.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#1851274d}.rtl-container.green.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.green.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.green.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.green.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.green.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.green.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.green.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.green.night .mat-datepicker-toggle-active{color:#185127}.rtl-container.green.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.green.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.green.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.green.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.green.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.green.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.green.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.green.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.green.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.green.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.green.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.green.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.green.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label{color:#185127}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.green.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.green.night .mat-form-field-ripple{background-color:#fff}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#185127}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.green.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#185127}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.green.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.green.night .mat-error{color:#b00020}.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.green.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.green.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.green.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.green.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.green.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.green.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.green.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.green.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#185127}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.green.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.green.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.green.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.green.night .mat-icon.mat-primary{color:#185127}.rtl-container.green.night .mat-icon.mat-accent{color:#eee}.rtl-container.green.night .mat-icon.mat-warn{color:#b00020}.rtl-container.green.night .mat-input-element{caret-color:#185127}.rtl-container.green.night .mat-input-element option{color:#000000de}.rtl-container.green.night .mat-input-element option:disabled{color:#00000061}.rtl-container.green.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.green.night .mat-form-field-invalid .mat-input-element,.rtl-container.green.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.green.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.green.night .mat-list-base .mat-list-item,.rtl-container.green.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.green.night .mat-list-item-disabled{background-color:#444}.rtl-container.green.night .mat-action-list .mat-list-item:focus,.rtl-container.green.night .mat-action-list .mat-list-item:hover,.rtl-container.green.night .mat-list-option:focus,.rtl-container.green.night .mat-list-option:hover,.rtl-container.green.night .mat-nav-list .mat-list-item:focus,.rtl-container.green.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.green.night .mat-list-single-selected-option,.rtl-container.green.night .mat-list-single-selected-option:focus,.rtl-container.green.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.green.night .mat-menu-panel{background:#202020}.rtl-container.green.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.green.night .mat-menu-item-submenu-trigger:after,.rtl-container.green.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.green.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.green.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.green.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.green.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.green.night .mat-paginator{background:#202020}.rtl-container.green.night .mat-paginator-decrement,.rtl-container.green.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.green.night .mat-paginator-first,.rtl-container.green.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.green.night .mat-progress-bar-background{fill:#101e14}.rtl-container.green.night .mat-progress-bar-buffer{background-color:#101e14}.rtl-container.green.night .mat-progress-bar-fill:after{background-color:#185127}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.green.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.green.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.green.night .mat-progress-spinner circle,.rtl-container.green.night .mat-spinner circle{stroke:#185127}.rtl-container.green.night .mat-progress-spinner.mat-accent circle,.rtl-container.green.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.green.night .mat-progress-spinner.mat-warn circle,.rtl-container.green.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.green.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#185127}.rtl-container.green.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#185127}.rtl-container.green.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.green.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.green.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.green.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.green.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.green.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.green.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.green.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-select-value{color:#fff}.rtl-container.green.night .mat-select-panel{background:#202020}.rtl-container.green.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.green.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#185127}.rtl-container.green.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.green.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.green.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.green.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.green.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.green.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.green.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.green.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-drawer-side.mat-drawer-end,.rtl-container.green.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.green.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.green.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.green.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#185127}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#1851278a}.rtl-container.green.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#185127}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.green.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.green.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.green.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.green.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.green.night .mat-primary .mat-slider-thumb,.rtl-container.green.night .mat-primary .mat-slider-thumb-label,.rtl-container.green.night .mat-primary .mat-slider-track-fill{background-color:#185127}.rtl-container.green.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.night .mat-primary .mat-slider-focus-ring{background-color:#18512733}.rtl-container.green.night .mat-accent .mat-slider-thumb,.rtl-container.green.night .mat-accent .mat-slider-thumb-label,.rtl-container.green.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.green.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.green.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.green.night .mat-warn .mat-slider-thumb,.rtl-container.green.night .mat-warn .mat-slider-thumb-label,.rtl-container.green.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.green.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.green.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.green.night .cdk-focused .mat-slider-track-background,.rtl-container.green.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.green.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.green.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.green.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.green.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.green.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.green.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.green.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.green.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.green.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.green.night .mat-step-header.cdk-keyboard-focused,.rtl-container.green.night .mat-step-header.cdk-program-focused,.rtl-container.green.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.green.night .mat-step-header:hover{background:none}}.rtl-container.green.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.green.night .mat-step-header .mat-step-icon-selected,.rtl-container.green.night .mat-step-header .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header .mat-step-icon-state-edit{background-color:#185127;color:#fff}.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.green.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.green.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.green.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.green.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.green.night .mat-stepper-horizontal,.rtl-container.green.night .mat-stepper-vertical{background-color:#202020}.rtl-container.green.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.green.night .mat-horizontal-stepper-header:after,.rtl-container.green.night .mat-horizontal-stepper-header:before,.rtl-container.green.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.green.night .mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.green.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.green.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.green.night .mat-tab-label,.rtl-container.green.night .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.green.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#185127}.rtl-container.green.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.green.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.green.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.green.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#5d85684d}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#185127}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.green.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.green.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.green.night .mat-toolbar.mat-primary{background:#185127;color:#fff}.rtl-container.green.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.green.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.green.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.green.night .mat-toolbar .mat-form-field-ripple,.rtl-container.green.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.green.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.green.night .mat-toolbar .mat-form-field-label,.rtl-container.green.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.green.night .mat-toolbar .mat-select-arrow,.rtl-container.green.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.green.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.green.night .mat-tree{background:#202020}.rtl-container.green.night .mat-nested-tree-node,.rtl-container.green.night .mat-tree-node{color:#fff}.rtl-container.green.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.green.night .mat-simple-snackbar-action{color:inherit}.rtl-container.green.night .mat-primary{color:#30ff4b}.rtl-container.green.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.green.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.green.night .bg-primary{background-color:#185127;color:#fff}.rtl-container.green.night .mat-tab-label.mat-tab-label-active{color:#30ff4b}.rtl-container.green.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#30ff4b}.rtl-container.green.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.green.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.green.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.green.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#30ff4b}.rtl-container.green.night .cc-data-block .cc-data-title{color:#30ff4b}.rtl-container.green.night .mat-stroked-button.mat-primary{border-color:#30ff4b;color:#30ff4b}.rtl-container.green.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.green.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.green.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.green.night .active-link,.rtl-container.green.night .active-link .fa-icon-small,.rtl-container.green.night .mat-select-panel .mat-option.mat-active,.rtl-container.green.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#30ff4b;font-weight:500;cursor:pointer;fill:#30ff4b}.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.green.night .mat-nested-tree-node-parent:hover,.rtl-container.green.night .mat-select-panel .mat-option:hover,.rtl-container.green.night .mat-tree-node:hover{color:#30ff4b;cursor:pointer;background:#ffffff0f}.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.green.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.green.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.green.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.green.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.green.night .mat-tree-node:hover .mat-icon,.rtl-container.green.night .mat-tree-node:hover .ng-fa-icon{color:#30ff4b}.rtl-container.green.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.green.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.green.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.green.night .mat-tree-node:hover .sidenav-img svg{fill:#30ff4b}.rtl-container.green.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.green.night .mat-nested-tree-node .sidenav-img,.rtl-container.green.night .mat-tree-node .sidenav-img,.rtl-container.green.night .page-title-container .page-title-img,.rtl-container.green.night svg.top-icon-small{fill:#fff}.rtl-container.green.night .selected-color{border-color:#5d8568}.rtl-container.green.night .mat-progress-bar-fill:after{background-color:#154a23}.rtl-container.green.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.green.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.green.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.green.night .mat-tree{background:#262626}.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.green.night .dashboard-info-title{color:#30ff4b}.rtl-container.green.night .dashboard-capacity-header,.rtl-container.green.night .dashboard-info-value{color:#fff}.rtl-container.green.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.green.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.green.night .color-primary{color:#30ff4b!important}.rtl-container.green.night .dot-primary{background-color:#30ff4b!important}.rtl-container.green.night .dot-primary-lighter{background-color:#185127!important}.rtl-container.green.night .mat-stepper-vertical{background-color:#262626}.rtl-container.green.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.green.night svg .boltz-icon-fill{fill:#fff}.rtl-container.green.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.green.night svg .fill-color-0,.rtl-container.green.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.green.night svg .fill-color-1{fill:#232323}.rtl-container.green.night svg .fill-color-2{fill:#222}.rtl-container.green.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.green.night svg .fill-color-4{fill:#383838}.rtl-container.green.night svg .fill-color-5{fill:#555}.rtl-container.green.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.green.night svg .fill-color-7{fill:#202020}.rtl-container.green.night svg .fill-color-8{fill:#242424}.rtl-container.green.night svg .fill-color-9{fill:#262626}.rtl-container.green.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.green.night svg .fill-color-11{fill:#171717}.rtl-container.green.night svg .fill-color-12{fill:#ccc}.rtl-container.green.night svg .fill-color-13{fill:#adadad}.rtl-container.green.night svg .fill-color-14{fill:#ababab}.rtl-container.green.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.green.night svg .fill-color-16{fill:#707070}.rtl-container.green.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.green.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.green.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.green.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.green.night svg .fill-color-21{fill:#cacaca}.rtl-container.green.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.green.night svg .fill-color-23{fill:#777}.rtl-container.green.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.green.night svg .fill-color-25{fill:#252525}.rtl-container.green.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.green.night svg .fill-color-27{fill:#000}.rtl-container.green.night svg .fill-color-28{fill:#313131}.rtl-container.green.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.green.night svg .fill-color-30{fill:#fff}.rtl-container.green.night svg .fill-color-31{fill:#185127}.rtl-container.green.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.green.night svg .fill-color-primary{fill:#185127}.rtl-container.green.night svg .fill-color-primary-lighter{fill:#5d8568}.rtl-container.green.night svg .fill-color-primary-darker{fill:#30ff4b}.rtl-container.green.night .mat-select-arrow,.rtl-container.green.night .mat-select-value{color:#fff}.rtl-container.green.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.green.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.green.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.green.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.green.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.green.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.green.night .mat-button.mat-primary,.rtl-container.green.night .mat-icon-button.mat-primary,.rtl-container.green.night .mat-stroked-button.mat-primary{color:#30ff4b}.rtl-container.green.night tr.alert.alert-warn .mat-cell,.rtl-container.green.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.green.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.green.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.green.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#30ff4b}.rtl-container.green.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.green.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#0e3717}.rtl-container.green.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.green.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#30ff4b}.rtl-container.green.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.green.night .mat-progress-bar-buffer{background-color:#bacbbe}.rtl-container.green.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.green.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.green.night .foreground.mat-progress-spinner circle,.rtl-container.green.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.green.night .mat-toolbar-row,.rtl-container.green.night .mat-toolbar-single-row{height:5rem}.rtl-container.green.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.green.night a{color:#185127}.rtl-container.green.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.green.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.green.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.green.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.green.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.green.night .genseed-message{width:10%;color:#185127}.rtl-container.green.night .material-icons.primary{color:#185127}.rtl-container.green.night .material-icons.accent{color:#eee}.rtl-container.green.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.green.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.green.night .row-disabled{background-color:gray}.rtl-container.green.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.green.night .mat-menu-panel{min-width:6.4rem}.rtl-container.green.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.green.night .horizontal-button:hover{background:#5d8568;color:#eee}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#185127}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.green.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.green.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.green.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.green.night .mat-cell,.rtl-container.green.night .mat-footer-cell,.rtl-container.green.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.green.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.green.night table.mat-table thead tr th{color:#fff}.rtl-container.green.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.green.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.green.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.green.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.green.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.green.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.green.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.green.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.green.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.green.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.green.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.green.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.green.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.green.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.green.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.green.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.green.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.green.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.green.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.green.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.green.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#8ca893!important}.rtl-container.green.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#154a23!important}.rtl-container.green.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.green.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.green.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.green.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.green.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.green.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.green.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.green.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.green.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.green.night .color-warn{color:#b00020}.rtl-container.green.night .fill-warn{fill:#b00020}.rtl-container.green.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.green.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.green.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.green.night .alert.alert-info a{color:#004085}.rtl-container.green.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.green.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.green.night .alert.alert-warn a{color:#856404}.rtl-container.green.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.green.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.green.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.green.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.green.night .help-expansion .mat-expansion-panel-header,.rtl-container.green.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.green.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.green.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.green.night .failed-status{color:#b00020}.rtl-container.green.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.green.night .svg-fill-primary{fill:#185127}.rtl-container.green.night .svg-fill-primary-lighter{fill:#5d8568}.rtl-container.green.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.green.night ngx-charts-bar-vertical-2d text,.rtl-container.green.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.green.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.green.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.green.night .mat-paginator-container{padding:0}.rtl-container.teal.small.small .mat-header-cell{font-weight:700}.rtl-container.teal.small.small .mr-4{margin-right:1rem!important}.rtl-container.teal.small.small .mat-menu-item,.rtl-container.teal.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.small.small .fa-icon-small,.rtl-container.teal.small.small .genseed-message,.rtl-container.teal.small.small .top-icon-small,.rtl-container.teal.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.small.small .page-sub-title-container,.rtl-container.teal.small.small .page-title-container{font-size:1.32rem}.rtl-container.teal.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.small.small .sidenav-img svg,.rtl-container.teal.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.small.small .material-icons,.rtl-container.teal.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.small.small .mat-expansion-panel-header,.rtl-container.teal.small.small .mat-list .mat-list-item,.rtl-container.teal.small.small .mat-menu-item,.rtl-container.teal.small.small .mat-nav-list .mat-list-item,.rtl-container.teal.small.small .mat-option,.rtl-container.teal.small.small .mat-select,.rtl-container.teal.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.small.small .logo{font-size:2.4rem}.rtl-container.teal.small.small .font-60-percent{font-size:.72rem}.rtl-container.teal.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.small.small .icon-large{font-size:6rem}.rtl-container.teal.small.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.small.small .size-triple{font-size:3.6rem}.rtl-container.teal.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small.medium .mat-header-cell{font-weight:700}.rtl-container.teal.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.small.medium .genseed-message,.rtl-container.teal.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.small.medium .page-sub-title-container,.rtl-container.teal.small.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.small.medium .fa-icon-small,.rtl-container.teal.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.small.medium .sidenav-img svg,.rtl-container.teal.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.small.medium .material-icons{font-size:2.8rem}.rtl-container.teal.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.small.medium .mat-expansion-panel-header,.rtl-container.teal.small.medium .mat-list .mat-list-item,.rtl-container.teal.small.medium .mat-menu-item,.rtl-container.teal.small.medium .mat-nav-list .mat-list-item,.rtl-container.teal.small.medium .mat-option,.rtl-container.teal.small.medium .mat-select,.rtl-container.teal.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.small.medium .logo{font-size:2.8rem}.rtl-container.teal.small.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.small.medium .icon-large{font-size:7rem}.rtl-container.teal.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.small.medium .size-triple{font-size:4.2rem}.rtl-container.teal.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small.large .mat-header-cell{font-weight:800}.rtl-container.teal.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.small.large .genseed-message,.rtl-container.teal.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.small.large .page-sub-title-container,.rtl-container.teal.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.small.large .fa-icon-small,.rtl-container.teal.small.large .modal-info-header,.rtl-container.teal.small.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.small.large .sidenav-img svg,.rtl-container.teal.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.small.large .material-icons{font-size:4rem}.rtl-container.teal.small.large .mat-expansion-panel-header,.rtl-container.teal.small.large .mat-list .mat-list-item,.rtl-container.teal.small.large .mat-menu-item,.rtl-container.teal.small.large .mat-nav-list .mat-list-item,.rtl-container.teal.small.large .mat-option,.rtl-container.teal.small.large .mat-select,.rtl-container.teal.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.small.large .logo{font-size:3.2rem}.rtl-container.teal.small.large .font-60-percent{font-size:.96rem}.rtl-container.teal.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.small.large .icon-large{font-size:8rem}.rtl-container.teal.small.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.small.large .size-triple{font-size:4.8rem}.rtl-container.teal.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.small .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.small .mat-flat-button.mat-primary:focus,.rtl-container.teal.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.medium.small .mat-header-cell{font-weight:700}.rtl-container.teal.medium.small .mr-4{margin-right:1rem!important}.rtl-container.teal.medium.small .mat-menu-item,.rtl-container.teal.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.medium.small .fa-icon-small,.rtl-container.teal.medium.small .genseed-message,.rtl-container.teal.medium.small .top-icon-small,.rtl-container.teal.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.medium.small .page-sub-title-container,.rtl-container.teal.medium.small .page-title-container{font-size:1.32rem}.rtl-container.teal.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.medium.small .sidenav-img svg,.rtl-container.teal.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.medium.small .material-icons,.rtl-container.teal.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.medium.small .mat-expansion-panel-header,.rtl-container.teal.medium.small .mat-list .mat-list-item,.rtl-container.teal.medium.small .mat-menu-item,.rtl-container.teal.medium.small .mat-nav-list .mat-list-item,.rtl-container.teal.medium.small .mat-option,.rtl-container.teal.medium.small .mat-select,.rtl-container.teal.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.medium.small .logo{font-size:2.4rem}.rtl-container.teal.medium.small .font-60-percent{font-size:.72rem}.rtl-container.teal.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.medium.small .icon-large{font-size:6rem}.rtl-container.teal.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.medium.small .size-triple{font-size:3.6rem}.rtl-container.teal.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium.medium .mat-header-cell{font-weight:700}.rtl-container.teal.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.medium.medium .genseed-message,.rtl-container.teal.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.medium.medium .page-sub-title-container,.rtl-container.teal.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.medium.medium .fa-icon-small,.rtl-container.teal.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.medium.medium .sidenav-img svg,.rtl-container.teal.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.medium.medium .material-icons{font-size:2.8rem}.rtl-container.teal.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.medium.medium .mat-expansion-panel-header,.rtl-container.teal.medium.medium .mat-list .mat-list-item,.rtl-container.teal.medium.medium .mat-menu-item,.rtl-container.teal.medium.medium .mat-nav-list .mat-list-item,.rtl-container.teal.medium.medium .mat-option,.rtl-container.teal.medium.medium .mat-select,.rtl-container.teal.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.medium.medium .logo{font-size:2.8rem}.rtl-container.teal.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.medium.medium .icon-large{font-size:7rem}.rtl-container.teal.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.medium.medium .size-triple{font-size:4.2rem}.rtl-container.teal.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium.large .mat-header-cell{font-weight:800}.rtl-container.teal.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.medium.large .genseed-message,.rtl-container.teal.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.medium.large .page-sub-title-container,.rtl-container.teal.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.medium.large .fa-icon-small,.rtl-container.teal.medium.large .modal-info-header,.rtl-container.teal.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.medium.large .sidenav-img svg,.rtl-container.teal.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.medium.large .material-icons{font-size:4rem}.rtl-container.teal.medium.large .mat-expansion-panel-header,.rtl-container.teal.medium.large .mat-list .mat-list-item,.rtl-container.teal.medium.large .mat-menu-item,.rtl-container.teal.medium.large .mat-nav-list .mat-list-item,.rtl-container.teal.medium.large .mat-option,.rtl-container.teal.medium.large .mat-select,.rtl-container.teal.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.medium.large .logo{font-size:3.2rem}.rtl-container.teal.medium.large .font-60-percent{font-size:.96rem}.rtl-container.teal.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.medium.large .icon-large{font-size:8rem}.rtl-container.teal.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.medium.large .size-triple{font-size:4.8rem}.rtl-container.teal.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.medium .mat-flat-button.mat-primary:focus,.rtl-container.teal.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.large.small .mat-header-cell{font-weight:700}.rtl-container.teal.large.small .mr-4{margin-right:1rem!important}.rtl-container.teal.large.small .mat-menu-item,.rtl-container.teal.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.teal.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.teal.large.small .fa-icon-small,.rtl-container.teal.large.small .genseed-message,.rtl-container.teal.large.small .top-icon-small,.rtl-container.teal.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.teal.large.small .page-sub-title-container,.rtl-container.teal.large.small .page-title-container{font-size:1.32rem}.rtl-container.teal.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.teal.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.teal.large.small .sidenav-img svg,.rtl-container.teal.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.teal.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.teal.large.small .material-icons,.rtl-container.teal.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.teal.large.small .mat-expansion-panel-header,.rtl-container.teal.large.small .mat-list .mat-list-item,.rtl-container.teal.large.small .mat-menu-item,.rtl-container.teal.large.small .mat-nav-list .mat-list-item,.rtl-container.teal.large.small .mat-option,.rtl-container.teal.large.small .mat-select,.rtl-container.teal.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.teal.large.small .logo{font-size:2.4rem}.rtl-container.teal.large.small .font-60-percent{font-size:.72rem}.rtl-container.teal.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.teal.large.small .icon-large{font-size:6rem}.rtl-container.teal.large.small .icon-small{font-size:1.8rem!important}.rtl-container.teal.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.teal.large.small .size-triple{font-size:3.6rem}.rtl-container.teal.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.teal.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large.medium .mat-header-cell{font-weight:700}.rtl-container.teal.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.teal.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.teal.large.medium .genseed-message,.rtl-container.teal.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.teal.large.medium .page-sub-title-container,.rtl-container.teal.large.medium .page-title-container{font-size:1.54rem}.rtl-container.teal.large.medium .fa-icon-small,.rtl-container.teal.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.teal.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.teal.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.teal.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.teal.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.teal.large.medium .sidenav-img svg,.rtl-container.teal.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.teal.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.teal.large.medium .material-icons{font-size:2.8rem}.rtl-container.teal.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.teal.large.medium .mat-expansion-panel-header,.rtl-container.teal.large.medium .mat-list .mat-list-item,.rtl-container.teal.large.medium .mat-menu-item,.rtl-container.teal.large.medium .mat-nav-list .mat-list-item,.rtl-container.teal.large.medium .mat-option,.rtl-container.teal.large.medium .mat-select,.rtl-container.teal.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.teal.large.medium .logo{font-size:2.8rem}.rtl-container.teal.large.medium .font-60-percent{font-size:.84rem}.rtl-container.teal.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.teal.large.medium .icon-large{font-size:7rem}.rtl-container.teal.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.teal.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.teal.large.medium .size-triple{font-size:4.2rem}.rtl-container.teal.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.teal.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large.large .mat-header-cell{font-weight:800}.rtl-container.teal.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.teal.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.teal.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.teal.large.large .genseed-message,.rtl-container.teal.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.teal.large.large .page-sub-title-container,.rtl-container.teal.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.teal.large.large .fa-icon-small,.rtl-container.teal.large.large .modal-info-header,.rtl-container.teal.large.large .top-icon-small{font-size:1.92rem}.rtl-container.teal.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.teal.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.teal.large.large .sidenav-img svg,.rtl-container.teal.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.teal.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.teal.large.large .material-icons{font-size:4rem}.rtl-container.teal.large.large .mat-expansion-panel-header,.rtl-container.teal.large.large .mat-list .mat-list-item,.rtl-container.teal.large.large .mat-menu-item,.rtl-container.teal.large.large .mat-nav-list .mat-list-item,.rtl-container.teal.large.large .mat-option,.rtl-container.teal.large.large .mat-select,.rtl-container.teal.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.teal.large.large .logo{font-size:3.2rem}.rtl-container.teal.large.large .font-60-percent{font-size:.96rem}.rtl-container.teal.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.teal.large.large .icon-large{font-size:8rem}.rtl-container.teal.large.large .icon-small{font-size:2.4rem!important}.rtl-container.teal.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.teal.large.large .size-triple{font-size:4.8rem}.rtl-container.teal.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.teal.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.teal.large .mat-icon.material-icons:focus{outline:none}.rtl-container.teal.large .mat-flat-button.mat-primary:focus,.rtl-container.teal.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.teal.day .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.day .mat-option{color:#000000de}.rtl-container.teal.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.teal.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.teal.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.teal.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.teal.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#00695c}.rtl-container.teal.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.teal.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.teal.day .mat-optgroup-label{color:#0000008a}.rtl-container.teal.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.teal.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.teal.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.teal.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.teal.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#00695c}.rtl-container.teal.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.teal.day .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.teal.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.teal.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.teal.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.teal.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.teal.day.mat-app-background,.rtl-container.teal.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.teal.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.teal.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.teal.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.teal.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.teal.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.teal.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.teal.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.teal.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.teal.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.teal.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.teal.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.teal.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.teal.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.teal.day .mat-badge-content{color:#fff;background:#00695c}.cdk-high-contrast-active .rtl-container.teal.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.teal.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.teal.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.teal.day .mat-badge{position:relative}.rtl-container.teal.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.teal.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.teal.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.teal.day .mat-badge-content._mat-animation-noopable,.rtl-container.teal.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.teal.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.teal.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.teal.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.teal.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.teal.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.teal.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.teal.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.teal.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.teal.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.teal.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.teal.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.teal.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.teal.day .mat-button,.rtl-container.teal.day .mat-icon-button,.rtl-container.teal.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.teal.day .mat-button.mat-primary,.rtl-container.teal.day .mat-icon-button.mat-primary,.rtl-container.teal.day .mat-stroked-button.mat-primary{color:#00695c}.rtl-container.teal.day .mat-button.mat-accent,.rtl-container.teal.day .mat-icon-button.mat-accent,.rtl-container.teal.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.teal.day .mat-button.mat-warn,.rtl-container.teal.day .mat-icon-button.mat-warn,.rtl-container.teal.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.teal.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.teal.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#00695c}.rtl-container.teal.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.teal.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.teal.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.teal.day .mat-button .mat-ripple-element,.rtl-container.teal.day .mat-icon-button .mat-ripple-element,.rtl-container.teal.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.teal.day .mat-button-focus-overlay{background:#000}.rtl-container.teal.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.teal.day .mat-fab,.rtl-container.teal.day .mat-flat-button,.rtl-container.teal.day .mat-mini-fab,.rtl-container.teal.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.teal.day .mat-fab.mat-accent,.rtl-container.teal.day .mat-fab.mat-primary,.rtl-container.teal.day .mat-fab.mat-warn,.rtl-container.teal.day .mat-flat-button.mat-accent,.rtl-container.teal.day .mat-flat-button.mat-primary,.rtl-container.teal.day .mat-flat-button.mat-warn,.rtl-container.teal.day .mat-mini-fab.mat-accent,.rtl-container.teal.day .mat-mini-fab.mat-primary,.rtl-container.teal.day .mat-mini-fab.mat-warn,.rtl-container.teal.day .mat-raised-button.mat-accent,.rtl-container.teal.day .mat-raised-button.mat-primary,.rtl-container.teal.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.teal.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.teal.day .mat-fab.mat-primary,.rtl-container.teal.day .mat-flat-button.mat-primary,.rtl-container.teal.day .mat-mini-fab.mat-primary,.rtl-container.teal.day .mat-raised-button.mat-primary{background-color:#00695c}.rtl-container.teal.day .mat-fab.mat-accent,.rtl-container.teal.day .mat-flat-button.mat-accent,.rtl-container.teal.day .mat-mini-fab.mat-accent,.rtl-container.teal.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.teal.day .mat-fab.mat-warn,.rtl-container.teal.day .mat-flat-button.mat-warn,.rtl-container.teal.day .mat-mini-fab.mat-warn,.rtl-container.teal.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.teal.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.teal.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.teal.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-button-toggle-group,.rtl-container.teal.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard,.rtl-container.teal.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.teal.day .mat-button-toggle{color:#00000061}.rtl-container.teal.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.teal.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.teal.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.teal.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.teal.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.teal.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.teal.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.teal.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.teal.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.teal.day .mat-button-toggle-group-appearance-standard,.rtl-container.teal.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.teal.day .mat-card{background:#fff;color:#000000de}.rtl-container.teal.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.day .mat-card-subtitle{color:#0000008a}.rtl-container.teal.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.teal.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.teal.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.teal.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.teal.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#00695c}.rtl-container.teal.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.teal.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.teal.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.teal.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.teal.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.teal.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.teal.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#00695c}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.teal.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.teal.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.teal.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.teal.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.day .mat-table{background:#fff}.rtl-container.teal.day .mat-table-sticky,.rtl-container.teal.day .mat-table tbody,.rtl-container.teal.day .mat-table tfoot,.rtl-container.teal.day .mat-table thead,.rtl-container.teal.day [mat-footer-row],.rtl-container.teal.day [mat-header-row],.rtl-container.teal.day [mat-row],.rtl-container.teal.day mat-footer-row,.rtl-container.teal.day mat-header-row,.rtl-container.teal.day mat-row{background:inherit}.rtl-container.teal.day mat-footer-row,.rtl-container.teal.day mat-header-row,.rtl-container.teal.day mat-row,.rtl-container.teal.day td.mat-cell,.rtl-container.teal.day td.mat-footer-cell,.rtl-container.teal.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.teal.day .mat-header-cell{color:#0000008a}.rtl-container.teal.day .mat-cell,.rtl-container.teal.day .mat-footer-cell{color:#000000de}.rtl-container.teal.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.teal.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.teal.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.teal.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.teal.day .mat-calendar-table-header{color:#00000061}.rtl-container.teal.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.teal.day .mat-calendar-body-label{color:#0000008a}.rtl-container.teal.day .mat-calendar-body-cell-content,.rtl-container.teal.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.teal.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.teal.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.teal.day .mat-calendar-body-in-range:before{background:#00695c33}.rtl-container.teal.day .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-calendar-body-selected{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#00695c66}.rtl-container.teal.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00695c4d}.rtl-container.teal.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.teal.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.day .mat-datepicker-toggle-active{color:#00695c}.rtl-container.teal.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.teal.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.teal.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.teal.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.teal.day .mat-divider{border-top-color:#0000001f}.rtl-container.teal.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.teal.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.teal.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.day .mat-action-row{border-top-color:#0000001f}.rtl-container.teal.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.teal.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.teal.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.teal.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.teal.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.teal.day .mat-expansion-indicator:after,.rtl-container.teal.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.teal.day .mat-form-field-label,.rtl-container.teal.day .mat-hint{color:#0009}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label{color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.teal.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.teal.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#00695c}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.teal.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.teal.day .mat-error{color:#b00020}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.teal.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.teal.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.teal.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.teal.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#00695c}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.teal.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.teal.day .mat-icon.mat-primary{color:#00695c}.rtl-container.teal.day .mat-icon.mat-accent{color:#424242}.rtl-container.teal.day .mat-icon.mat-warn{color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.teal.day .mat-input-element:disabled{color:#00000061}.rtl-container.teal.day .mat-input-element{caret-color:#00695c}.rtl-container.teal.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.teal.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.teal.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.teal.day .mat-form-field-invalid .mat-input-element,.rtl-container.teal.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.teal.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.teal.day .mat-list-base .mat-list-item,.rtl-container.teal.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.teal.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.teal.day .mat-list-item-disabled{background-color:#eee}.rtl-container.teal.day .mat-action-list .mat-list-item:focus,.rtl-container.teal.day .mat-action-list .mat-list-item:hover,.rtl-container.teal.day .mat-list-option:focus,.rtl-container.teal.day .mat-list-option:hover,.rtl-container.teal.day .mat-nav-list .mat-list-item:focus,.rtl-container.teal.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.teal.day .mat-list-single-selected-option,.rtl-container.teal.day .mat-list-single-selected-option:focus,.rtl-container.teal.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.teal.day .mat-menu-panel{background:#fff}.rtl-container.teal.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.teal.day .mat-menu-item[disabled],.rtl-container.teal.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.teal.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.teal.day .mat-menu-item-submenu-trigger:after,.rtl-container.teal.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.teal.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.teal.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.teal.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.teal.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.teal.day .mat-paginator{background:#fff}.rtl-container.teal.day .mat-paginator,.rtl-container.teal.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.teal.day .mat-paginator-decrement,.rtl-container.teal.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.teal.day .mat-paginator-first,.rtl-container.teal.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.teal.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.teal.day .mat-progress-bar-background{fill:#bcd6d3}.rtl-container.teal.day .mat-progress-bar-buffer{background-color:#bcd6d3}.rtl-container.teal.day .mat-progress-bar-fill:after{background-color:#00695c}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.teal.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.teal.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.teal.day .mat-progress-spinner circle,.rtl-container.teal.day .mat-spinner circle{stroke:#00695c}.rtl-container.teal.day .mat-progress-spinner.mat-accent circle,.rtl-container.teal.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.teal.day .mat-progress-spinner.mat-warn circle,.rtl-container.teal.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.teal.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.teal.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#00695c}.rtl-container.teal.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#00695c}.rtl-container.teal.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.teal.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.teal.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.teal.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.teal.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.teal.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-select-value{color:#000000de}.rtl-container.teal.day .mat-select-placeholder{color:#0000006b}.rtl-container.teal.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.teal.day .mat-select-arrow{color:#0000008a}.rtl-container.teal.day .mat-select-panel{background:#fff}.rtl-container.teal.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.teal.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#00695c}.rtl-container.teal.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.teal.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.teal.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.teal.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.teal.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.teal.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.teal.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.teal.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.teal.day .mat-drawer-side.mat-drawer-end,.rtl-container.teal.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.teal.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.teal.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.teal.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#00695c}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#00695c8a}.rtl-container.teal.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#00695c}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.teal.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.teal.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.teal.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.teal.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.teal.day .mat-slider-track-background{background-color:#00000042}.rtl-container.teal.day .mat-primary .mat-slider-thumb,.rtl-container.teal.day .mat-primary .mat-slider-thumb-label,.rtl-container.teal.day .mat-primary .mat-slider-track-fill{background-color:#00695c}.rtl-container.teal.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-primary .mat-slider-focus-ring{background-color:#00695c33}.rtl-container.teal.day .mat-accent .mat-slider-thumb,.rtl-container.teal.day .mat-accent .mat-slider-thumb-label,.rtl-container.teal.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.teal.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.teal.day .mat-warn .mat-slider-thumb,.rtl-container.teal.day .mat-warn .mat-slider-thumb-label,.rtl-container.teal.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.teal.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.teal.day .cdk-focused .mat-slider-track-background,.rtl-container.teal.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.teal.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.teal.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.teal.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.teal.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.teal.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.teal.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.teal.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.teal.day .mat-step-header.cdk-keyboard-focused,.rtl-container.teal.day .mat-step-header.cdk-program-focused,.rtl-container.teal.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.teal.day .mat-step-header:hover{background:none}}.rtl-container.teal.day .mat-step-header .mat-step-label,.rtl-container.teal.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.teal.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.teal.day .mat-step-header .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header .mat-step-icon-state-edit{background-color:#00695c;color:#fff}.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.teal.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.teal.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.teal.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.teal.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.teal.day .mat-stepper-horizontal,.rtl-container.teal.day .mat-stepper-vertical{background-color:#fff}.rtl-container.teal.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.teal.day .mat-horizontal-stepper-header:after,.rtl-container.teal.day .mat-horizontal-stepper-header:before,.rtl-container.teal.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.teal.day .mat-sort-header-arrow{color:#757575}.rtl-container.teal.day .mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.teal.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.teal.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.teal.day .mat-tab-label,.rtl-container.teal.day .mat-tab-link{color:#000000de}.rtl-container.teal.day .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.teal.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.teal.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.teal.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#00695c}.rtl-container.teal.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.teal.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.teal.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.teal.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#00695c}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.teal.day .mat-toolbar.mat-primary{background:#00695c;color:#fff}.rtl-container.teal.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.teal.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.teal.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.teal.day .mat-toolbar .mat-form-field-ripple,.rtl-container.teal.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.teal.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.teal.day .mat-toolbar .mat-form-field-label,.rtl-container.teal.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.teal.day .mat-toolbar .mat-select-arrow,.rtl-container.teal.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.teal.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.teal.day .mat-tooltip{background:#616161e6}.rtl-container.teal.day .mat-tree{background:#fff}.rtl-container.teal.day .mat-nested-tree-node,.rtl-container.teal.day .mat-tree-node{color:#000000de}.rtl-container.teal.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.day .mat-simple-snackbar-action{color:#424242}.rtl-container.teal.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.teal.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.teal.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.teal.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.teal.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.teal.day .bg-primary{background-color:#00695c;color:#fff}.rtl-container.teal.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.teal.day .mat-tab-label.mat-tab-label-active{color:#00695c}.rtl-container.teal.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#00695c}.rtl-container.teal.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.teal.day .mat-form-field-suffix,.rtl-container.teal.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.teal.day .ng-fa-icon{color:#0000008a}.rtl-container.teal.day .mat-stroked-button.mat-primary{border-color:#00695c}.rtl-container.teal.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.teal.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.teal.day .selected-color{border-color:#4db6ac}.rtl-container.teal.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.teal.day .page-sub-title-container,.rtl-container.teal.day .page-title-container{color:#0000008a}.rtl-container.teal.day .page-sub-title-container .page-title-img,.rtl-container.teal.day .page-title-container .page-title-img{color:#00000061}.rtl-container.teal.day .page-sub-title-container .mat-input-element,.rtl-container.teal.day .page-sub-title-container .mat-radio-label-content,.rtl-container.teal.day .page-sub-title-container .theme-name,.rtl-container.teal.day .page-title-container .mat-input-element,.rtl-container.teal.day .page-title-container .mat-radio-label-content,.rtl-container.teal.day .page-title-container .theme-name{color:#000000de}.rtl-container.teal.day .cc-data-block .cc-data-title{color:#00695c}.rtl-container.teal.day .active-link,.rtl-container.teal.day .active-link .fa-icon-small{color:#00695c;font-weight:500;cursor:pointer;fill:#00695c}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.teal.day .mat-nested-tree-node-parent:hover,.rtl-container.teal.day .mat-select-panel .mat-option:hover,.rtl-container.teal.day .mat-tree-node:hover{color:#00695c;cursor:pointer;background:#0000000a}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.teal.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.teal.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.teal.day .mat-tree-node:hover .mat-icon,.rtl-container.teal.day .mat-tree-node:hover .ng-fa-icon{color:#00695c}.rtl-container.teal.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.teal.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.teal.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.teal.day .mat-tree-node:hover .sidenav-img svg{fill:#00695c}.rtl-container.teal.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.teal.day .mat-nested-tree-node .sidenav-img,.rtl-container.teal.day .mat-tree-node .sidenav-img,.rtl-container.teal.day .page-title-container .page-title-img,.rtl-container.teal.day svg.top-icon-small{fill:#000000de}.rtl-container.teal.day .mat-progress-bar-fill:after{background-color:#004d40}.rtl-container.teal.day .modal-qr-code-container{background:#0000001f}.rtl-container.teal.day .mat-tab-label,.rtl-container.teal.day .mat-tab-link{color:#0000008a}.rtl-container.teal.day .mat-card,.rtl-container.teal.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.teal.day .dashboard-info-title{color:#00695c}.rtl-container.teal.day .dashboard-info-value{color:#0000008a}.rtl-container.teal.day .color-primary{color:#00695c!important}.rtl-container.teal.day .dot-primary{background-color:#00695c!important}.rtl-container.teal.day .dot-primary-lighter{background-color:#4db6ac!important}.rtl-container.teal.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.teal.day .mat-tooltip{font-size:120%}.rtl-container.teal.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.teal.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.teal.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.teal.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-1{fill:#fff}.rtl-container.teal.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.teal.day svg .fill-color-3,.rtl-container.teal.day svg .fill-color-4,.rtl-container.teal.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.teal.day svg .fill-color-6{fill:#fff}.rtl-container.teal.day svg .fill-color-7,.rtl-container.teal.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-9{fill:#fff}.rtl-container.teal.day svg .fill-color-10,.rtl-container.teal.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.teal.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-13,.rtl-container.teal.day svg .fill-color-14,.rtl-container.teal.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.teal.day svg .fill-color-16,.rtl-container.teal.day svg .fill-color-17{fill:#404040}.rtl-container.teal.day svg .fill-color-18{fill:#000}.rtl-container.teal.day svg .fill-color-19,.rtl-container.teal.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.teal.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-22,.rtl-container.teal.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.teal.day svg .fill-color-24{fill:#000}.rtl-container.teal.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.teal.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.teal.day svg .fill-color-27{fill:#000}.rtl-container.teal.day svg .fill-color-28{fill:#313131}.rtl-container.teal.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.teal.day svg .fill-color-30{fill:#fff}.rtl-container.teal.day svg .fill-color-31{fill:#00695c}.rtl-container.teal.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.teal.day svg .fill-color-primary{fill:#00695c}.rtl-container.teal.day svg .fill-color-primary-lighter{fill:#4db6ac}.rtl-container.teal.day svg .fill-color-primary-darker{fill:#00695c}.rtl-container.teal.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.teal.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.teal.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.teal.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.teal.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.teal.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.teal.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#00695c}.rtl-container.teal.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.teal.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#004d40}.rtl-container.teal.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.teal.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#80cbc4}.rtl-container.teal.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.teal.day .mat-progress-bar-buffer{background-color:#b2dfdb}.rtl-container.teal.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.teal.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.teal.day .foreground.mat-progress-spinner circle,.rtl-container.teal.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.teal.day .mat-toolbar-row,.rtl-container.teal.day .mat-toolbar-single-row{height:5rem}.rtl-container.teal.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.teal.day a{color:#00695c}.rtl-container.teal.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.teal.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.teal.day .mat-icon-36{color:#0000008a}.rtl-container.teal.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.teal.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.teal.day .genseed-message{width:10%;color:#00695c}.rtl-container.teal.day .material-icons.primary{color:#00695c}.rtl-container.teal.day .material-icons.accent{color:#424242}.rtl-container.teal.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.teal.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.teal.day .row-disabled{background-color:gray}.rtl-container.teal.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.teal.day .mat-menu-panel{min-width:6.4rem}.rtl-container.teal.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.teal.day .horizontal-button:hover{background:#4db6ac;color:#424242}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#00695c}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.teal.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.teal.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.teal.day .mat-cell,.rtl-container.teal.day .mat-footer-cell,.rtl-container.teal.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.teal.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.teal.day table.mat-table thead tr th{color:#000}.rtl-container.teal.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.teal.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.teal.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.teal.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.teal.day .more-button{color:#00000061}.rtl-container.teal.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.teal.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.teal.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.teal.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.teal.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.teal.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.teal.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.teal.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.teal.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.teal.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.teal.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.teal.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.teal.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.teal.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.teal.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.teal.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.teal.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#80cbc4!important}.rtl-container.teal.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#00897b!important}.rtl-container.teal.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.teal.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.teal.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.teal.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.teal.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.teal.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.teal.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.teal.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.teal.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.teal.day .color-warn{color:#b00020}.rtl-container.teal.day .fill-warn{fill:#b00020}.rtl-container.teal.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.teal.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.teal.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.teal.day .alert.alert-info a{color:#004085}.rtl-container.teal.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.teal.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.teal.day .alert.alert-warn a{color:#856404}.rtl-container.teal.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.teal.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.teal.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.teal.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.teal.day .help-expansion .mat-expansion-panel-header,.rtl-container.teal.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.teal.day .help-expansion .mat-expansion-indicator:after,.rtl-container.teal.day .help-expansion .mat-expansion-panel-content,.rtl-container.teal.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.teal.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.teal.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.teal.day .failed-status{color:#b00020}.rtl-container.teal.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.teal.day .svg-fill-primary{fill:#00695c}.rtl-container.teal.day .svg-fill-primary-lighter{fill:#4db6ac}.rtl-container.teal.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.teal.day ngx-charts-bar-vertical-2d text,.rtl-container.teal.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.teal.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.teal.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.teal.day .mat-paginator-container{padding:0}.rtl-container.teal.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-option{color:#fff}.rtl-container.teal.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.teal.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.teal.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.teal.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#00695c}.rtl-container.teal.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.teal.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.teal.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.teal.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.teal.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#00695c}.rtl-container.teal.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.teal.night .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.teal.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.teal.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.teal.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.teal.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.teal.night.mat-app-background,.rtl-container.teal.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.teal.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.teal.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.teal.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.teal.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.teal.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.teal.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.teal.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.teal.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.teal.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.teal.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.teal.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.teal.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.teal.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.teal.night .mat-badge-content{color:#fff;background:#00695c}.cdk-high-contrast-active .rtl-container.teal.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.teal.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.teal.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.teal.night .mat-badge{position:relative}.rtl-container.teal.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.teal.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.teal.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.teal.night .mat-badge-content._mat-animation-noopable,.rtl-container.teal.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.teal.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.teal.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.teal.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.teal.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.teal.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.teal.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.teal.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.teal.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.teal.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.teal.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.teal.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.teal.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.teal.night .mat-button,.rtl-container.teal.night .mat-icon-button,.rtl-container.teal.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.teal.night .mat-button.mat-primary,.rtl-container.teal.night .mat-icon-button.mat-primary,.rtl-container.teal.night .mat-stroked-button.mat-primary{color:#00695c}.rtl-container.teal.night .mat-button.mat-accent,.rtl-container.teal.night .mat-icon-button.mat-accent,.rtl-container.teal.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.teal.night .mat-button.mat-warn,.rtl-container.teal.night .mat-icon-button.mat-warn,.rtl-container.teal.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.teal.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.teal.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#00695c}.rtl-container.teal.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.teal.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.teal.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.teal.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.teal.night .mat-button .mat-ripple-element,.rtl-container.teal.night .mat-icon-button .mat-ripple-element,.rtl-container.teal.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.teal.night .mat-button-focus-overlay{background:#fff}.rtl-container.teal.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.teal.night .mat-fab,.rtl-container.teal.night .mat-flat-button,.rtl-container.teal.night .mat-mini-fab,.rtl-container.teal.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.teal.night .mat-fab.mat-primary,.rtl-container.teal.night .mat-flat-button.mat-primary,.rtl-container.teal.night .mat-mini-fab.mat-primary,.rtl-container.teal.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.teal.night .mat-fab.mat-accent,.rtl-container.teal.night .mat-flat-button.mat-accent,.rtl-container.teal.night .mat-mini-fab.mat-accent,.rtl-container.teal.night .mat-raised-button.mat-accent{color:#000}.rtl-container.teal.night .mat-fab.mat-warn,.rtl-container.teal.night .mat-flat-button.mat-warn,.rtl-container.teal.night .mat-mini-fab.mat-warn,.rtl-container.teal.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.teal.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.teal.night .mat-fab.mat-primary,.rtl-container.teal.night .mat-flat-button.mat-primary,.rtl-container.teal.night .mat-mini-fab.mat-primary,.rtl-container.teal.night .mat-raised-button.mat-primary{background-color:#00695c}.rtl-container.teal.night .mat-fab.mat-accent,.rtl-container.teal.night .mat-flat-button.mat-accent,.rtl-container.teal.night .mat-mini-fab.mat-accent,.rtl-container.teal.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.teal.night .mat-fab.mat-warn,.rtl-container.teal.night .mat-flat-button.mat-warn,.rtl-container.teal.night .mat-mini-fab.mat-warn,.rtl-container.teal.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.teal.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.teal.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.teal.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.teal.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.teal.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.teal.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-button-toggle-group,.rtl-container.teal.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard,.rtl-container.teal.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.teal.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.teal.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.teal.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.teal.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.teal.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.teal.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.teal.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.teal.night .mat-button-toggle-group-appearance-standard,.rtl-container.teal.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.teal.night .mat-card{background:#202020;color:#fff}.rtl-container.teal.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.teal.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.teal.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.teal.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.teal.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.teal.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#00695c}.rtl-container.teal.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.teal.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.teal.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.teal.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.teal.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.teal.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#00695c}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.teal.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.teal.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.teal.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.teal.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.teal.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.teal.night .mat-table{background:#202020}.rtl-container.teal.night .mat-table-sticky,.rtl-container.teal.night .mat-table tbody,.rtl-container.teal.night .mat-table tfoot,.rtl-container.teal.night .mat-table thead,.rtl-container.teal.night [mat-footer-row],.rtl-container.teal.night [mat-header-row],.rtl-container.teal.night [mat-row],.rtl-container.teal.night mat-footer-row,.rtl-container.teal.night mat-header-row,.rtl-container.teal.night mat-row{background:inherit}.rtl-container.teal.night mat-footer-row,.rtl-container.teal.night mat-header-row,.rtl-container.teal.night mat-row,.rtl-container.teal.night td.mat-cell,.rtl-container.teal.night td.mat-footer-cell,.rtl-container.teal.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.teal.night .mat-cell,.rtl-container.teal.night .mat-footer-cell{color:#fff}.rtl-container.teal.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.teal.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.teal.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.teal.night .mat-datepicker-toggle{color:#fff}.rtl-container.teal.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.teal.night .mat-calendar-body-cell-content,.rtl-container.teal.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.teal.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.teal.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.teal.night .mat-calendar-body-in-range:before{background:#00695c33}.rtl-container.teal.night .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#00695c33 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-calendar-body-selected{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#00695c66}.rtl-container.teal.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00695c4d}.rtl-container.teal.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.teal.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.teal.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.teal.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.teal.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.teal.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.teal.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.teal.night .mat-datepicker-toggle-active{color:#00695c}.rtl-container.teal.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.teal.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.teal.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.teal.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.teal.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.teal.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.teal.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.teal.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.teal.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.teal.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.teal.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label{color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.teal.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.teal.night .mat-form-field-ripple{background-color:#fff}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#00695c}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.teal.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.teal.night .mat-error{color:#b00020}.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.teal.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.teal.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.teal.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.teal.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.teal.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.teal.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.teal.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.teal.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#00695c}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.teal.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.teal.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.teal.night .mat-icon.mat-primary{color:#00695c}.rtl-container.teal.night .mat-icon.mat-accent{color:#eee}.rtl-container.teal.night .mat-icon.mat-warn{color:#b00020}.rtl-container.teal.night .mat-input-element{caret-color:#00695c}.rtl-container.teal.night .mat-input-element option{color:#000000de}.rtl-container.teal.night .mat-input-element option:disabled{color:#00000061}.rtl-container.teal.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.teal.night .mat-form-field-invalid .mat-input-element,.rtl-container.teal.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.teal.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.teal.night .mat-list-base .mat-list-item,.rtl-container.teal.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.teal.night .mat-list-item-disabled{background-color:#444}.rtl-container.teal.night .mat-action-list .mat-list-item:focus,.rtl-container.teal.night .mat-action-list .mat-list-item:hover,.rtl-container.teal.night .mat-list-option:focus,.rtl-container.teal.night .mat-list-option:hover,.rtl-container.teal.night .mat-nav-list .mat-list-item:focus,.rtl-container.teal.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.teal.night .mat-list-single-selected-option,.rtl-container.teal.night .mat-list-single-selected-option:focus,.rtl-container.teal.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.teal.night .mat-menu-panel{background:#202020}.rtl-container.teal.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.teal.night .mat-menu-item-submenu-trigger:after,.rtl-container.teal.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.teal.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.teal.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.teal.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.teal.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.teal.night .mat-paginator{background:#202020}.rtl-container.teal.night .mat-paginator-decrement,.rtl-container.teal.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.teal.night .mat-paginator-first,.rtl-container.teal.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.teal.night .mat-progress-bar-background{fill:#0a2421}.rtl-container.teal.night .mat-progress-bar-buffer{background-color:#0a2421}.rtl-container.teal.night .mat-progress-bar-fill:after{background-color:#00695c}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.teal.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.teal.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.teal.night .mat-progress-spinner circle,.rtl-container.teal.night .mat-spinner circle{stroke:#00695c}.rtl-container.teal.night .mat-progress-spinner.mat-accent circle,.rtl-container.teal.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.teal.night .mat-progress-spinner.mat-warn circle,.rtl-container.teal.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.teal.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#00695c}.rtl-container.teal.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#00695c}.rtl-container.teal.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.teal.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.teal.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.teal.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.teal.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.teal.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.teal.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.teal.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-select-value{color:#fff}.rtl-container.teal.night .mat-select-panel{background:#202020}.rtl-container.teal.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.teal.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#00695c}.rtl-container.teal.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.teal.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.teal.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.teal.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.teal.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.teal.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.teal.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.teal.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-drawer-side.mat-drawer-end,.rtl-container.teal.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.teal.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.teal.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.teal.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#00695c}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#00695c8a}.rtl-container.teal.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#00695c}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.teal.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.teal.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.teal.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.teal.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.teal.night .mat-primary .mat-slider-thumb,.rtl-container.teal.night .mat-primary .mat-slider-thumb-label,.rtl-container.teal.night .mat-primary .mat-slider-track-fill{background-color:#00695c}.rtl-container.teal.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.night .mat-primary .mat-slider-focus-ring{background-color:#00695c33}.rtl-container.teal.night .mat-accent .mat-slider-thumb,.rtl-container.teal.night .mat-accent .mat-slider-thumb-label,.rtl-container.teal.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.teal.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.teal.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.teal.night .mat-warn .mat-slider-thumb,.rtl-container.teal.night .mat-warn .mat-slider-thumb-label,.rtl-container.teal.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.teal.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.teal.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.teal.night .cdk-focused .mat-slider-track-background,.rtl-container.teal.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.teal.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.teal.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.teal.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.teal.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.teal.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.teal.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.teal.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.teal.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.teal.night .mat-step-header.cdk-keyboard-focused,.rtl-container.teal.night .mat-step-header.cdk-program-focused,.rtl-container.teal.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.teal.night .mat-step-header:hover{background:none}}.rtl-container.teal.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header .mat-step-icon-state-edit{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.teal.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.teal.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.teal.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.teal.night .mat-stepper-horizontal,.rtl-container.teal.night .mat-stepper-vertical{background-color:#202020}.rtl-container.teal.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.teal.night .mat-horizontal-stepper-header:after,.rtl-container.teal.night .mat-horizontal-stepper-header:before,.rtl-container.teal.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.teal.night .mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.teal.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.teal.night .mat-tab-label,.rtl-container.teal.night .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.teal.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#00695c}.rtl-container.teal.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.teal.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.teal.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.teal.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#4db6ac4d}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#00695c}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.teal.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.teal.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.teal.night .mat-toolbar.mat-primary{background:#00695c;color:#fff}.rtl-container.teal.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.teal.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.teal.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.teal.night .mat-toolbar .mat-form-field-ripple,.rtl-container.teal.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.teal.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.teal.night .mat-toolbar .mat-form-field-label,.rtl-container.teal.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.teal.night .mat-toolbar .mat-select-arrow,.rtl-container.teal.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.teal.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.teal.night .mat-tree{background:#202020}.rtl-container.teal.night .mat-nested-tree-node,.rtl-container.teal.night .mat-tree-node{color:#fff}.rtl-container.teal.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.teal.night .mat-simple-snackbar-action{color:inherit}.rtl-container.teal.night .mat-primary{color:#64ffda}.rtl-container.teal.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.teal.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.teal.night .bg-primary{background-color:#00695c;color:#fff}.rtl-container.teal.night .mat-tab-label.mat-tab-label-active{color:#64ffda}.rtl-container.teal.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#64ffda}.rtl-container.teal.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.teal.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.teal.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.teal.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#64ffda}.rtl-container.teal.night .cc-data-block .cc-data-title{color:#64ffda}.rtl-container.teal.night .mat-stroked-button.mat-primary{border-color:#64ffda;color:#64ffda}.rtl-container.teal.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.teal.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.teal.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.teal.night .active-link,.rtl-container.teal.night .active-link .fa-icon-small,.rtl-container.teal.night .mat-select-panel .mat-option.mat-active,.rtl-container.teal.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#64ffda;font-weight:500;cursor:pointer;fill:#64ffda}.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.teal.night .mat-nested-tree-node-parent:hover,.rtl-container.teal.night .mat-select-panel .mat-option:hover,.rtl-container.teal.night .mat-tree-node:hover{color:#64ffda;cursor:pointer;background:#ffffff0f}.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.teal.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.teal.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.teal.night .mat-tree-node:hover .mat-icon,.rtl-container.teal.night .mat-tree-node:hover .ng-fa-icon{color:#64ffda}.rtl-container.teal.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.teal.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.teal.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.teal.night .mat-tree-node:hover .sidenav-img svg{fill:#64ffda}.rtl-container.teal.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.teal.night .mat-nested-tree-node .sidenav-img,.rtl-container.teal.night .mat-tree-node .sidenav-img,.rtl-container.teal.night .page-title-container .page-title-img,.rtl-container.teal.night svg.top-icon-small{fill:#fff}.rtl-container.teal.night .selected-color{border-color:#4db6ac}.rtl-container.teal.night .mat-progress-bar-fill:after{background-color:#00897b}.rtl-container.teal.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.teal.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.teal.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.teal.night .mat-tree{background:#262626}.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.teal.night .dashboard-info-title{color:#64ffda}.rtl-container.teal.night .dashboard-capacity-header,.rtl-container.teal.night .dashboard-info-value{color:#fff}.rtl-container.teal.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.teal.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.teal.night .color-primary{color:#64ffda!important}.rtl-container.teal.night .dot-primary{background-color:#64ffda!important}.rtl-container.teal.night .dot-primary-lighter{background-color:#00695c!important}.rtl-container.teal.night .mat-stepper-vertical{background-color:#262626}.rtl-container.teal.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.teal.night svg .boltz-icon-fill{fill:#fff}.rtl-container.teal.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.teal.night svg .fill-color-0,.rtl-container.teal.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.teal.night svg .fill-color-1{fill:#232323}.rtl-container.teal.night svg .fill-color-2{fill:#222}.rtl-container.teal.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.teal.night svg .fill-color-4{fill:#383838}.rtl-container.teal.night svg .fill-color-5{fill:#555}.rtl-container.teal.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.teal.night svg .fill-color-7{fill:#202020}.rtl-container.teal.night svg .fill-color-8{fill:#242424}.rtl-container.teal.night svg .fill-color-9{fill:#262626}.rtl-container.teal.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.teal.night svg .fill-color-11{fill:#171717}.rtl-container.teal.night svg .fill-color-12{fill:#ccc}.rtl-container.teal.night svg .fill-color-13{fill:#adadad}.rtl-container.teal.night svg .fill-color-14{fill:#ababab}.rtl-container.teal.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.teal.night svg .fill-color-16{fill:#707070}.rtl-container.teal.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.teal.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.teal.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.teal.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.teal.night svg .fill-color-21{fill:#cacaca}.rtl-container.teal.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.teal.night svg .fill-color-23{fill:#777}.rtl-container.teal.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.teal.night svg .fill-color-25{fill:#252525}.rtl-container.teal.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.teal.night svg .fill-color-27{fill:#000}.rtl-container.teal.night svg .fill-color-28{fill:#313131}.rtl-container.teal.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.teal.night svg .fill-color-30{fill:#fff}.rtl-container.teal.night svg .fill-color-31{fill:#00695c}.rtl-container.teal.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.teal.night svg .fill-color-primary{fill:#00695c}.rtl-container.teal.night svg .fill-color-primary-lighter{fill:#4db6ac}.rtl-container.teal.night svg .fill-color-primary-darker{fill:#64ffda}.rtl-container.teal.night .mat-select-arrow,.rtl-container.teal.night .mat-select-value{color:#fff}.rtl-container.teal.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.teal.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.teal.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.teal.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.teal.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.teal.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.teal.night .mat-button.mat-primary,.rtl-container.teal.night .mat-icon-button.mat-primary,.rtl-container.teal.night .mat-stroked-button.mat-primary{color:#64ffda}.rtl-container.teal.night tr.alert.alert-warn .mat-cell,.rtl-container.teal.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.teal.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.teal.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.teal.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#64ffda}.rtl-container.teal.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.teal.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#00695c}.rtl-container.teal.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.teal.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#64ffda}.rtl-container.teal.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.teal.night .mat-progress-bar-buffer{background-color:#b2dfdb}.rtl-container.teal.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.teal.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.teal.night .foreground.mat-progress-spinner circle,.rtl-container.teal.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.teal.night .mat-toolbar-row,.rtl-container.teal.night .mat-toolbar-single-row{height:5rem}.rtl-container.teal.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night a{color:#00695c}.rtl-container.teal.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.teal.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.teal.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.teal.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.teal.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.teal.night .genseed-message{width:10%;color:#00695c}.rtl-container.teal.night .material-icons.primary{color:#00695c}.rtl-container.teal.night .material-icons.accent{color:#eee}.rtl-container.teal.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.teal.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.teal.night .row-disabled{background-color:gray}.rtl-container.teal.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.teal.night .mat-menu-panel{min-width:6.4rem}.rtl-container.teal.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.teal.night .horizontal-button:hover{background:#4db6ac;color:#eee}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#00695c}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.teal.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.teal.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.teal.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.teal.night .mat-cell,.rtl-container.teal.night .mat-footer-cell,.rtl-container.teal.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.teal.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.teal.night table.mat-table thead tr th{color:#fff}.rtl-container.teal.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.teal.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.teal.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.teal.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.teal.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.teal.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.teal.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.teal.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.teal.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.teal.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.teal.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.teal.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.teal.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.teal.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.teal.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.teal.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.teal.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.teal.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.teal.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.teal.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.teal.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#80cbc4!important}.rtl-container.teal.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#00897b!important}.rtl-container.teal.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.teal.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.teal.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.teal.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.teal.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.teal.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.teal.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.teal.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.teal.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.teal.night .color-warn{color:#b00020}.rtl-container.teal.night .fill-warn{fill:#b00020}.rtl-container.teal.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.teal.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.teal.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.teal.night .alert.alert-info a{color:#004085}.rtl-container.teal.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.teal.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.teal.night .alert.alert-warn a{color:#856404}.rtl-container.teal.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.teal.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.teal.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.teal.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.teal.night .help-expansion .mat-expansion-panel-header,.rtl-container.teal.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.teal.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.teal.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.teal.night .failed-status{color:#b00020}.rtl-container.teal.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.teal.night .svg-fill-primary{fill:#00695c}.rtl-container.teal.night .svg-fill-primary-lighter{fill:#4db6ac}.rtl-container.teal.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.teal.night ngx-charts-bar-vertical-2d text,.rtl-container.teal.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.teal.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.teal.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.teal.night .mat-paginator-container{padding:0}.rtl-container.pink.small.small .mat-header-cell{font-weight:700}.rtl-container.pink.small.small .mr-4{margin-right:1rem!important}.rtl-container.pink.small.small .mat-menu-item,.rtl-container.pink.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.small.small .fa-icon-small,.rtl-container.pink.small.small .genseed-message,.rtl-container.pink.small.small .top-icon-small,.rtl-container.pink.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.small.small .page-sub-title-container,.rtl-container.pink.small.small .page-title-container{font-size:1.32rem}.rtl-container.pink.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.small.small .sidenav-img svg,.rtl-container.pink.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.small.small .material-icons,.rtl-container.pink.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.small.small .mat-expansion-panel-header,.rtl-container.pink.small.small .mat-list .mat-list-item,.rtl-container.pink.small.small .mat-menu-item,.rtl-container.pink.small.small .mat-nav-list .mat-list-item,.rtl-container.pink.small.small .mat-option,.rtl-container.pink.small.small .mat-select,.rtl-container.pink.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.small.small .logo{font-size:2.4rem}.rtl-container.pink.small.small .font-60-percent{font-size:.72rem}.rtl-container.pink.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.small.small .icon-large{font-size:6rem}.rtl-container.pink.small.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.small.small .size-triple{font-size:3.6rem}.rtl-container.pink.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small.medium .mat-header-cell{font-weight:700}.rtl-container.pink.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.small.medium .genseed-message,.rtl-container.pink.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.small.medium .page-sub-title-container,.rtl-container.pink.small.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.small.medium .fa-icon-small,.rtl-container.pink.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.small.medium .sidenav-img svg,.rtl-container.pink.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.small.medium .material-icons{font-size:2.8rem}.rtl-container.pink.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.small.medium .mat-expansion-panel-header,.rtl-container.pink.small.medium .mat-list .mat-list-item,.rtl-container.pink.small.medium .mat-menu-item,.rtl-container.pink.small.medium .mat-nav-list .mat-list-item,.rtl-container.pink.small.medium .mat-option,.rtl-container.pink.small.medium .mat-select,.rtl-container.pink.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.small.medium .logo{font-size:2.8rem}.rtl-container.pink.small.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.small.medium .icon-large{font-size:7rem}.rtl-container.pink.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.small.medium .size-triple{font-size:4.2rem}.rtl-container.pink.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small.large .mat-header-cell{font-weight:800}.rtl-container.pink.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.small.large .genseed-message,.rtl-container.pink.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.small.large .page-sub-title-container,.rtl-container.pink.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.small.large .fa-icon-small,.rtl-container.pink.small.large .modal-info-header,.rtl-container.pink.small.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.small.large .sidenav-img svg,.rtl-container.pink.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.small.large .material-icons{font-size:4rem}.rtl-container.pink.small.large .mat-expansion-panel-header,.rtl-container.pink.small.large .mat-list .mat-list-item,.rtl-container.pink.small.large .mat-menu-item,.rtl-container.pink.small.large .mat-nav-list .mat-list-item,.rtl-container.pink.small.large .mat-option,.rtl-container.pink.small.large .mat-select,.rtl-container.pink.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.small.large .logo{font-size:3.2rem}.rtl-container.pink.small.large .font-60-percent{font-size:.96rem}.rtl-container.pink.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.small.large .icon-large{font-size:8rem}.rtl-container.pink.small.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.small.large .size-triple{font-size:4.8rem}.rtl-container.pink.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.small .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.small .mat-flat-button.mat-primary:focus,.rtl-container.pink.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.medium.small .mat-header-cell{font-weight:700}.rtl-container.pink.medium.small .mr-4{margin-right:1rem!important}.rtl-container.pink.medium.small .mat-menu-item,.rtl-container.pink.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.medium.small .fa-icon-small,.rtl-container.pink.medium.small .genseed-message,.rtl-container.pink.medium.small .top-icon-small,.rtl-container.pink.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.medium.small .page-sub-title-container,.rtl-container.pink.medium.small .page-title-container{font-size:1.32rem}.rtl-container.pink.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.medium.small .sidenav-img svg,.rtl-container.pink.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.medium.small .material-icons,.rtl-container.pink.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.medium.small .mat-expansion-panel-header,.rtl-container.pink.medium.small .mat-list .mat-list-item,.rtl-container.pink.medium.small .mat-menu-item,.rtl-container.pink.medium.small .mat-nav-list .mat-list-item,.rtl-container.pink.medium.small .mat-option,.rtl-container.pink.medium.small .mat-select,.rtl-container.pink.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.medium.small .logo{font-size:2.4rem}.rtl-container.pink.medium.small .font-60-percent{font-size:.72rem}.rtl-container.pink.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.medium.small .icon-large{font-size:6rem}.rtl-container.pink.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.medium.small .size-triple{font-size:3.6rem}.rtl-container.pink.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium.medium .mat-header-cell{font-weight:700}.rtl-container.pink.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.medium.medium .genseed-message,.rtl-container.pink.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.medium.medium .page-sub-title-container,.rtl-container.pink.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.medium.medium .fa-icon-small,.rtl-container.pink.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.medium.medium .sidenav-img svg,.rtl-container.pink.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.medium.medium .material-icons{font-size:2.8rem}.rtl-container.pink.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.medium.medium .mat-expansion-panel-header,.rtl-container.pink.medium.medium .mat-list .mat-list-item,.rtl-container.pink.medium.medium .mat-menu-item,.rtl-container.pink.medium.medium .mat-nav-list .mat-list-item,.rtl-container.pink.medium.medium .mat-option,.rtl-container.pink.medium.medium .mat-select,.rtl-container.pink.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.medium.medium .logo{font-size:2.8rem}.rtl-container.pink.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.medium.medium .icon-large{font-size:7rem}.rtl-container.pink.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.medium.medium .size-triple{font-size:4.2rem}.rtl-container.pink.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium.large .mat-header-cell{font-weight:800}.rtl-container.pink.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.medium.large .genseed-message,.rtl-container.pink.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.medium.large .page-sub-title-container,.rtl-container.pink.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.medium.large .fa-icon-small,.rtl-container.pink.medium.large .modal-info-header,.rtl-container.pink.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.medium.large .sidenav-img svg,.rtl-container.pink.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.medium.large .material-icons{font-size:4rem}.rtl-container.pink.medium.large .mat-expansion-panel-header,.rtl-container.pink.medium.large .mat-list .mat-list-item,.rtl-container.pink.medium.large .mat-menu-item,.rtl-container.pink.medium.large .mat-nav-list .mat-list-item,.rtl-container.pink.medium.large .mat-option,.rtl-container.pink.medium.large .mat-select,.rtl-container.pink.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.medium.large .logo{font-size:3.2rem}.rtl-container.pink.medium.large .font-60-percent{font-size:.96rem}.rtl-container.pink.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.medium.large .icon-large{font-size:8rem}.rtl-container.pink.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.medium.large .size-triple{font-size:4.8rem}.rtl-container.pink.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.medium .mat-flat-button.mat-primary:focus,.rtl-container.pink.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.large.small .mat-header-cell{font-weight:700}.rtl-container.pink.large.small .mr-4{margin-right:1rem!important}.rtl-container.pink.large.small .mat-menu-item,.rtl-container.pink.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.pink.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.pink.large.small .fa-icon-small,.rtl-container.pink.large.small .genseed-message,.rtl-container.pink.large.small .top-icon-small,.rtl-container.pink.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.pink.large.small .page-sub-title-container,.rtl-container.pink.large.small .page-title-container{font-size:1.32rem}.rtl-container.pink.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.pink.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.pink.large.small .sidenav-img svg,.rtl-container.pink.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.pink.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.pink.large.small .material-icons,.rtl-container.pink.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.pink.large.small .mat-expansion-panel-header,.rtl-container.pink.large.small .mat-list .mat-list-item,.rtl-container.pink.large.small .mat-menu-item,.rtl-container.pink.large.small .mat-nav-list .mat-list-item,.rtl-container.pink.large.small .mat-option,.rtl-container.pink.large.small .mat-select,.rtl-container.pink.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.pink.large.small .logo{font-size:2.4rem}.rtl-container.pink.large.small .font-60-percent{font-size:.72rem}.rtl-container.pink.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.pink.large.small .icon-large{font-size:6rem}.rtl-container.pink.large.small .icon-small{font-size:1.8rem!important}.rtl-container.pink.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.pink.large.small .size-triple{font-size:3.6rem}.rtl-container.pink.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.pink.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large.medium .mat-header-cell{font-weight:700}.rtl-container.pink.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.pink.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.pink.large.medium .genseed-message,.rtl-container.pink.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.pink.large.medium .page-sub-title-container,.rtl-container.pink.large.medium .page-title-container{font-size:1.54rem}.rtl-container.pink.large.medium .fa-icon-small,.rtl-container.pink.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.pink.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.pink.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.pink.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.pink.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.pink.large.medium .sidenav-img svg,.rtl-container.pink.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.pink.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.pink.large.medium .material-icons{font-size:2.8rem}.rtl-container.pink.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.pink.large.medium .mat-expansion-panel-header,.rtl-container.pink.large.medium .mat-list .mat-list-item,.rtl-container.pink.large.medium .mat-menu-item,.rtl-container.pink.large.medium .mat-nav-list .mat-list-item,.rtl-container.pink.large.medium .mat-option,.rtl-container.pink.large.medium .mat-select,.rtl-container.pink.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.pink.large.medium .logo{font-size:2.8rem}.rtl-container.pink.large.medium .font-60-percent{font-size:.84rem}.rtl-container.pink.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.pink.large.medium .icon-large{font-size:7rem}.rtl-container.pink.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.pink.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.pink.large.medium .size-triple{font-size:4.2rem}.rtl-container.pink.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.pink.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large.large .mat-header-cell{font-weight:800}.rtl-container.pink.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.pink.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.pink.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.pink.large.large .genseed-message,.rtl-container.pink.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.pink.large.large .page-sub-title-container,.rtl-container.pink.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.pink.large.large .fa-icon-small,.rtl-container.pink.large.large .modal-info-header,.rtl-container.pink.large.large .top-icon-small{font-size:1.92rem}.rtl-container.pink.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.pink.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.pink.large.large .sidenav-img svg,.rtl-container.pink.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.pink.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.pink.large.large .material-icons{font-size:4rem}.rtl-container.pink.large.large .mat-expansion-panel-header,.rtl-container.pink.large.large .mat-list .mat-list-item,.rtl-container.pink.large.large .mat-menu-item,.rtl-container.pink.large.large .mat-nav-list .mat-list-item,.rtl-container.pink.large.large .mat-option,.rtl-container.pink.large.large .mat-select,.rtl-container.pink.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.pink.large.large .logo{font-size:3.2rem}.rtl-container.pink.large.large .font-60-percent{font-size:.96rem}.rtl-container.pink.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.pink.large.large .icon-large{font-size:8rem}.rtl-container.pink.large.large .icon-small{font-size:2.4rem!important}.rtl-container.pink.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.pink.large.large .size-triple{font-size:4.8rem}.rtl-container.pink.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.pink.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.pink.large .mat-icon.material-icons:focus{outline:none}.rtl-container.pink.large .mat-flat-button.mat-primary:focus,.rtl-container.pink.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.pink.day .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.day .mat-option{color:#000000de}.rtl-container.pink.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.pink.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.pink.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.pink.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.pink.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#e91e63}.rtl-container.pink.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.pink.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.pink.day .mat-optgroup-label{color:#0000008a}.rtl-container.pink.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.pink.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.pink.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.pink.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.pink.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#e91e63}.rtl-container.pink.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.pink.day .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.pink.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.pink.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.pink.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.pink.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.pink.day.mat-app-background,.rtl-container.pink.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.pink.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.pink.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.pink.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.pink.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.pink.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.pink.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.pink.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.pink.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.pink.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.pink.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.pink.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.pink.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.pink.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.pink.day .mat-badge-content{color:#fff;background:#e91e63}.cdk-high-contrast-active .rtl-container.pink.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.pink.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.pink.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.pink.day .mat-badge{position:relative}.rtl-container.pink.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.pink.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.pink.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.pink.day .mat-badge-content._mat-animation-noopable,.rtl-container.pink.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.pink.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.pink.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.pink.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.pink.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.pink.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.pink.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.pink.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.pink.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.pink.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.pink.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.pink.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.pink.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.pink.day .mat-button,.rtl-container.pink.day .mat-icon-button,.rtl-container.pink.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.pink.day .mat-button.mat-primary,.rtl-container.pink.day .mat-icon-button.mat-primary,.rtl-container.pink.day .mat-stroked-button.mat-primary{color:#e91e63}.rtl-container.pink.day .mat-button.mat-accent,.rtl-container.pink.day .mat-icon-button.mat-accent,.rtl-container.pink.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.pink.day .mat-button.mat-warn,.rtl-container.pink.day .mat-icon-button.mat-warn,.rtl-container.pink.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.pink.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.pink.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#e91e63}.rtl-container.pink.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.pink.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.pink.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.pink.day .mat-button .mat-ripple-element,.rtl-container.pink.day .mat-icon-button .mat-ripple-element,.rtl-container.pink.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.pink.day .mat-button-focus-overlay{background:#000}.rtl-container.pink.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.pink.day .mat-fab,.rtl-container.pink.day .mat-flat-button,.rtl-container.pink.day .mat-mini-fab,.rtl-container.pink.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.pink.day .mat-fab.mat-accent,.rtl-container.pink.day .mat-fab.mat-primary,.rtl-container.pink.day .mat-fab.mat-warn,.rtl-container.pink.day .mat-flat-button.mat-accent,.rtl-container.pink.day .mat-flat-button.mat-primary,.rtl-container.pink.day .mat-flat-button.mat-warn,.rtl-container.pink.day .mat-mini-fab.mat-accent,.rtl-container.pink.day .mat-mini-fab.mat-primary,.rtl-container.pink.day .mat-mini-fab.mat-warn,.rtl-container.pink.day .mat-raised-button.mat-accent,.rtl-container.pink.day .mat-raised-button.mat-primary,.rtl-container.pink.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.pink.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.pink.day .mat-fab.mat-primary,.rtl-container.pink.day .mat-flat-button.mat-primary,.rtl-container.pink.day .mat-mini-fab.mat-primary,.rtl-container.pink.day .mat-raised-button.mat-primary{background-color:#e91e63}.rtl-container.pink.day .mat-fab.mat-accent,.rtl-container.pink.day .mat-flat-button.mat-accent,.rtl-container.pink.day .mat-mini-fab.mat-accent,.rtl-container.pink.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.pink.day .mat-fab.mat-warn,.rtl-container.pink.day .mat-flat-button.mat-warn,.rtl-container.pink.day .mat-mini-fab.mat-warn,.rtl-container.pink.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.pink.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.pink.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.pink.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-button-toggle-group,.rtl-container.pink.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard,.rtl-container.pink.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.pink.day .mat-button-toggle{color:#00000061}.rtl-container.pink.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.pink.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.pink.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.pink.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.pink.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.pink.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.pink.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.pink.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.pink.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.pink.day .mat-button-toggle-group-appearance-standard,.rtl-container.pink.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.pink.day .mat-card{background:#fff;color:#000000de}.rtl-container.pink.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.day .mat-card-subtitle{color:#0000008a}.rtl-container.pink.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.pink.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.pink.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.pink.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.pink.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#e91e63}.rtl-container.pink.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.pink.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.pink.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.pink.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.pink.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.pink.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.pink.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#e91e63}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.pink.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.pink.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.pink.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.pink.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.day .mat-table{background:#fff}.rtl-container.pink.day .mat-table-sticky,.rtl-container.pink.day .mat-table tbody,.rtl-container.pink.day .mat-table tfoot,.rtl-container.pink.day .mat-table thead,.rtl-container.pink.day [mat-footer-row],.rtl-container.pink.day [mat-header-row],.rtl-container.pink.day [mat-row],.rtl-container.pink.day mat-footer-row,.rtl-container.pink.day mat-header-row,.rtl-container.pink.day mat-row{background:inherit}.rtl-container.pink.day mat-footer-row,.rtl-container.pink.day mat-header-row,.rtl-container.pink.day mat-row,.rtl-container.pink.day td.mat-cell,.rtl-container.pink.day td.mat-footer-cell,.rtl-container.pink.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.pink.day .mat-header-cell{color:#0000008a}.rtl-container.pink.day .mat-cell,.rtl-container.pink.day .mat-footer-cell{color:#000000de}.rtl-container.pink.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.pink.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.pink.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.pink.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.pink.day .mat-calendar-table-header{color:#00000061}.rtl-container.pink.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.pink.day .mat-calendar-body-label{color:#0000008a}.rtl-container.pink.day .mat-calendar-body-cell-content,.rtl-container.pink.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.pink.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.pink.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.pink.day .mat-calendar-body-in-range:before{background:#e91e6333}.rtl-container.pink.day .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-calendar-body-selected{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#e91e6366}.rtl-container.pink.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e91e634d}.rtl-container.pink.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.pink.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.day .mat-datepicker-toggle-active{color:#e91e63}.rtl-container.pink.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.pink.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.pink.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.pink.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.pink.day .mat-divider{border-top-color:#0000001f}.rtl-container.pink.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.pink.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.pink.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.day .mat-action-row{border-top-color:#0000001f}.rtl-container.pink.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.pink.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.pink.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.pink.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.pink.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.pink.day .mat-expansion-indicator:after,.rtl-container.pink.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.pink.day .mat-form-field-label,.rtl-container.pink.day .mat-hint{color:#0009}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label{color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.pink.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.pink.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#e91e63}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.pink.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.pink.day .mat-error{color:#b00020}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.pink.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.pink.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.pink.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.pink.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#e91e63}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.pink.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.pink.day .mat-icon.mat-primary{color:#e91e63}.rtl-container.pink.day .mat-icon.mat-accent{color:#424242}.rtl-container.pink.day .mat-icon.mat-warn{color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.pink.day .mat-input-element:disabled{color:#00000061}.rtl-container.pink.day .mat-input-element{caret-color:#e91e63}.rtl-container.pink.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.pink.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.pink.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.pink.day .mat-form-field-invalid .mat-input-element,.rtl-container.pink.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.pink.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.pink.day .mat-list-base .mat-list-item,.rtl-container.pink.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.pink.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.pink.day .mat-list-item-disabled{background-color:#eee}.rtl-container.pink.day .mat-action-list .mat-list-item:focus,.rtl-container.pink.day .mat-action-list .mat-list-item:hover,.rtl-container.pink.day .mat-list-option:focus,.rtl-container.pink.day .mat-list-option:hover,.rtl-container.pink.day .mat-nav-list .mat-list-item:focus,.rtl-container.pink.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.pink.day .mat-list-single-selected-option,.rtl-container.pink.day .mat-list-single-selected-option:focus,.rtl-container.pink.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.pink.day .mat-menu-panel{background:#fff}.rtl-container.pink.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.pink.day .mat-menu-item[disabled],.rtl-container.pink.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.pink.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.pink.day .mat-menu-item-submenu-trigger:after,.rtl-container.pink.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.pink.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.pink.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.pink.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.pink.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.pink.day .mat-paginator{background:#fff}.rtl-container.pink.day .mat-paginator,.rtl-container.pink.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.pink.day .mat-paginator-decrement,.rtl-container.pink.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.pink.day .mat-paginator-first,.rtl-container.pink.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.pink.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.pink.day .mat-progress-bar-background{fill:#f6c3d4}.rtl-container.pink.day .mat-progress-bar-buffer{background-color:#f6c3d4}.rtl-container.pink.day .mat-progress-bar-fill:after{background-color:#e91e63}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.pink.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.pink.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.pink.day .mat-progress-spinner circle,.rtl-container.pink.day .mat-spinner circle{stroke:#e91e63}.rtl-container.pink.day .mat-progress-spinner.mat-accent circle,.rtl-container.pink.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.pink.day .mat-progress-spinner.mat-warn circle,.rtl-container.pink.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.pink.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.pink.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#e91e63}.rtl-container.pink.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#e91e63}.rtl-container.pink.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.pink.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.pink.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.pink.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.pink.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.pink.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-select-value{color:#000000de}.rtl-container.pink.day .mat-select-placeholder{color:#0000006b}.rtl-container.pink.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.pink.day .mat-select-arrow{color:#0000008a}.rtl-container.pink.day .mat-select-panel{background:#fff}.rtl-container.pink.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.pink.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#e91e63}.rtl-container.pink.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.pink.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.pink.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.pink.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.pink.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.pink.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.pink.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.pink.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.pink.day .mat-drawer-side.mat-drawer-end,.rtl-container.pink.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.pink.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.pink.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.pink.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#e91e63}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#e91e638a}.rtl-container.pink.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#e91e63}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.pink.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.pink.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.pink.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.pink.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.pink.day .mat-slider-track-background{background-color:#00000042}.rtl-container.pink.day .mat-primary .mat-slider-thumb,.rtl-container.pink.day .mat-primary .mat-slider-thumb-label,.rtl-container.pink.day .mat-primary .mat-slider-track-fill{background-color:#e91e63}.rtl-container.pink.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-primary .mat-slider-focus-ring{background-color:#e91e6333}.rtl-container.pink.day .mat-accent .mat-slider-thumb,.rtl-container.pink.day .mat-accent .mat-slider-thumb-label,.rtl-container.pink.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.pink.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.pink.day .mat-warn .mat-slider-thumb,.rtl-container.pink.day .mat-warn .mat-slider-thumb-label,.rtl-container.pink.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.pink.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.pink.day .cdk-focused .mat-slider-track-background,.rtl-container.pink.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.pink.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.pink.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.pink.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.pink.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.pink.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.pink.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.pink.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.pink.day .mat-step-header.cdk-keyboard-focused,.rtl-container.pink.day .mat-step-header.cdk-program-focused,.rtl-container.pink.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.pink.day .mat-step-header:hover{background:none}}.rtl-container.pink.day .mat-step-header .mat-step-label,.rtl-container.pink.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.pink.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.pink.day .mat-step-header .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header .mat-step-icon-state-edit{background-color:#e91e63;color:#fff}.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.pink.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.pink.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.pink.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.pink.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.pink.day .mat-stepper-horizontal,.rtl-container.pink.day .mat-stepper-vertical{background-color:#fff}.rtl-container.pink.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.pink.day .mat-horizontal-stepper-header:after,.rtl-container.pink.day .mat-horizontal-stepper-header:before,.rtl-container.pink.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.pink.day .mat-sort-header-arrow{color:#757575}.rtl-container.pink.day .mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.pink.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.pink.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.pink.day .mat-tab-label,.rtl-container.pink.day .mat-tab-link{color:#000000de}.rtl-container.pink.day .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.pink.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.pink.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.pink.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#e91e63}.rtl-container.pink.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.pink.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.pink.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.pink.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#e91e63}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.pink.day .mat-toolbar.mat-primary{background:#e91e63;color:#fff}.rtl-container.pink.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.pink.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.pink.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.pink.day .mat-toolbar .mat-form-field-ripple,.rtl-container.pink.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.pink.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.pink.day .mat-toolbar .mat-form-field-label,.rtl-container.pink.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.pink.day .mat-toolbar .mat-select-arrow,.rtl-container.pink.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.pink.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.pink.day .mat-tooltip{background:#616161e6}.rtl-container.pink.day .mat-tree{background:#fff}.rtl-container.pink.day .mat-nested-tree-node,.rtl-container.pink.day .mat-tree-node{color:#000000de}.rtl-container.pink.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.day .mat-simple-snackbar-action{color:#424242}.rtl-container.pink.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.pink.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.pink.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.pink.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.pink.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.pink.day .bg-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.pink.day .mat-tab-label.mat-tab-label-active{color:#e91e63}.rtl-container.pink.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#e91e63}.rtl-container.pink.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.pink.day .mat-form-field-suffix,.rtl-container.pink.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.pink.day .ng-fa-icon{color:#0000008a}.rtl-container.pink.day .mat-stroked-button.mat-primary{border-color:#e91e63}.rtl-container.pink.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.pink.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.pink.day .selected-color{border-color:#f06292}.rtl-container.pink.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.pink.day .page-sub-title-container,.rtl-container.pink.day .page-title-container{color:#0000008a}.rtl-container.pink.day .page-sub-title-container .page-title-img,.rtl-container.pink.day .page-title-container .page-title-img{color:#00000061}.rtl-container.pink.day .page-sub-title-container .mat-input-element,.rtl-container.pink.day .page-sub-title-container .mat-radio-label-content,.rtl-container.pink.day .page-sub-title-container .theme-name,.rtl-container.pink.day .page-title-container .mat-input-element,.rtl-container.pink.day .page-title-container .mat-radio-label-content,.rtl-container.pink.day .page-title-container .theme-name{color:#000000de}.rtl-container.pink.day .cc-data-block .cc-data-title{color:#e91e63}.rtl-container.pink.day .active-link,.rtl-container.pink.day .active-link .fa-icon-small{color:#e91e63;font-weight:500;cursor:pointer;fill:#e91e63}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.pink.day .mat-nested-tree-node-parent:hover,.rtl-container.pink.day .mat-select-panel .mat-option:hover,.rtl-container.pink.day .mat-tree-node:hover{color:#e91e63;cursor:pointer;background:#0000000a}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.pink.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.pink.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.pink.day .mat-tree-node:hover .mat-icon,.rtl-container.pink.day .mat-tree-node:hover .ng-fa-icon{color:#e91e63}.rtl-container.pink.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.pink.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.pink.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.pink.day .mat-tree-node:hover .sidenav-img svg{fill:#e91e63}.rtl-container.pink.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.pink.day .mat-nested-tree-node .sidenav-img,.rtl-container.pink.day .mat-tree-node .sidenav-img,.rtl-container.pink.day .page-title-container .page-title-img,.rtl-container.pink.day svg.top-icon-small{fill:#000000de}.rtl-container.pink.day .mat-progress-bar-fill:after{background-color:#880e4f}.rtl-container.pink.day .modal-qr-code-container{background:#0000001f}.rtl-container.pink.day .mat-tab-label,.rtl-container.pink.day .mat-tab-link{color:#0000008a}.rtl-container.pink.day .mat-card,.rtl-container.pink.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.pink.day .dashboard-info-title{color:#e91e63}.rtl-container.pink.day .dashboard-info-value{color:#0000008a}.rtl-container.pink.day .color-primary{color:#e91e63!important}.rtl-container.pink.day .dot-primary{background-color:#e91e63!important}.rtl-container.pink.day .dot-primary-lighter{background-color:#f06292!important}.rtl-container.pink.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.pink.day .mat-tooltip{font-size:120%}.rtl-container.pink.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.pink.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.pink.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.pink.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-1{fill:#fff}.rtl-container.pink.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.pink.day svg .fill-color-3,.rtl-container.pink.day svg .fill-color-4,.rtl-container.pink.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.pink.day svg .fill-color-6{fill:#fff}.rtl-container.pink.day svg .fill-color-7,.rtl-container.pink.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-9{fill:#fff}.rtl-container.pink.day svg .fill-color-10,.rtl-container.pink.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.pink.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-13,.rtl-container.pink.day svg .fill-color-14,.rtl-container.pink.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.pink.day svg .fill-color-16,.rtl-container.pink.day svg .fill-color-17{fill:#404040}.rtl-container.pink.day svg .fill-color-18{fill:#000}.rtl-container.pink.day svg .fill-color-19,.rtl-container.pink.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.pink.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-22,.rtl-container.pink.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.pink.day svg .fill-color-24{fill:#000}.rtl-container.pink.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.pink.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.pink.day svg .fill-color-27{fill:#000}.rtl-container.pink.day svg .fill-color-28{fill:#313131}.rtl-container.pink.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.pink.day svg .fill-color-30{fill:#fff}.rtl-container.pink.day svg .fill-color-31{fill:#e91e63}.rtl-container.pink.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.pink.day svg .fill-color-primary{fill:#e91e63}.rtl-container.pink.day svg .fill-color-primary-lighter{fill:#f06292}.rtl-container.pink.day svg .fill-color-primary-darker{fill:#e91e63}.rtl-container.pink.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.pink.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.pink.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.pink.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.pink.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.pink.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.pink.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#e91e63}.rtl-container.pink.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.pink.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#880e4f}.rtl-container.pink.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.pink.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#f48fb1}.rtl-container.pink.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.pink.day .mat-progress-bar-buffer{background-color:#f8bbd0}.rtl-container.pink.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.pink.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.pink.day .foreground.mat-progress-spinner circle,.rtl-container.pink.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.pink.day .mat-toolbar-row,.rtl-container.pink.day .mat-toolbar-single-row{height:5rem}.rtl-container.pink.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.pink.day a{color:#e91e63}.rtl-container.pink.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.pink.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.pink.day .mat-icon-36{color:#0000008a}.rtl-container.pink.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.pink.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.pink.day .genseed-message{width:10%;color:#e91e63}.rtl-container.pink.day .material-icons.primary{color:#e91e63}.rtl-container.pink.day .material-icons.accent{color:#424242}.rtl-container.pink.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.pink.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.pink.day .row-disabled{background-color:gray}.rtl-container.pink.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.pink.day .mat-menu-panel{min-width:6.4rem}.rtl-container.pink.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.pink.day .horizontal-button:hover{background:#f06292;color:#424242}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#e91e63}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.pink.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.pink.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.pink.day .mat-cell,.rtl-container.pink.day .mat-footer-cell,.rtl-container.pink.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.pink.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.pink.day table.mat-table thead tr th{color:#000}.rtl-container.pink.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.pink.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.pink.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.pink.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.pink.day .more-button{color:#00000061}.rtl-container.pink.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.pink.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.pink.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.pink.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.pink.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.pink.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.pink.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.pink.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.pink.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.pink.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.pink.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.pink.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.pink.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.pink.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.pink.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.pink.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.pink.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#f48fb1!important}.rtl-container.pink.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#d81b60!important}.rtl-container.pink.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.pink.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.pink.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.pink.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.pink.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.pink.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.pink.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.pink.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.pink.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.pink.day .color-warn{color:#b00020}.rtl-container.pink.day .fill-warn{fill:#b00020}.rtl-container.pink.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.pink.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.pink.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.pink.day .alert.alert-info a{color:#004085}.rtl-container.pink.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.pink.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.pink.day .alert.alert-warn a{color:#856404}.rtl-container.pink.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.pink.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.pink.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.pink.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.pink.day .help-expansion .mat-expansion-panel-header,.rtl-container.pink.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.pink.day .help-expansion .mat-expansion-indicator:after,.rtl-container.pink.day .help-expansion .mat-expansion-panel-content,.rtl-container.pink.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.pink.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.pink.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.pink.day .failed-status{color:#b00020}.rtl-container.pink.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.pink.day .svg-fill-primary{fill:#e91e63}.rtl-container.pink.day .svg-fill-primary-lighter{fill:#f06292}.rtl-container.pink.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.pink.day ngx-charts-bar-vertical-2d text,.rtl-container.pink.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.pink.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.pink.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.pink.day .mat-paginator-container{padding:0}.rtl-container.pink.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-option{color:#fff}.rtl-container.pink.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.pink.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.pink.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.pink.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#e91e63}.rtl-container.pink.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.pink.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.pink.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.pink.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.pink.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#e91e63}.rtl-container.pink.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.pink.night .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.pink.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.pink.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.pink.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.pink.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.pink.night.mat-app-background,.rtl-container.pink.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.pink.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.pink.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.pink.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.pink.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.pink.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.pink.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.pink.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.pink.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.pink.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.pink.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.pink.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.pink.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.pink.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.pink.night .mat-badge-content{color:#fff;background:#e91e63}.cdk-high-contrast-active .rtl-container.pink.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.pink.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.pink.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.pink.night .mat-badge{position:relative}.rtl-container.pink.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.pink.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.pink.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.pink.night .mat-badge-content._mat-animation-noopable,.rtl-container.pink.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.pink.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.pink.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.pink.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.pink.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.pink.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.pink.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.pink.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.pink.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.pink.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.pink.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.pink.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.pink.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.pink.night .mat-button,.rtl-container.pink.night .mat-icon-button,.rtl-container.pink.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.pink.night .mat-button.mat-primary,.rtl-container.pink.night .mat-icon-button.mat-primary,.rtl-container.pink.night .mat-stroked-button.mat-primary{color:#e91e63}.rtl-container.pink.night .mat-button.mat-accent,.rtl-container.pink.night .mat-icon-button.mat-accent,.rtl-container.pink.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.pink.night .mat-button.mat-warn,.rtl-container.pink.night .mat-icon-button.mat-warn,.rtl-container.pink.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.pink.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.pink.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#e91e63}.rtl-container.pink.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.pink.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.pink.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.pink.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.pink.night .mat-button .mat-ripple-element,.rtl-container.pink.night .mat-icon-button .mat-ripple-element,.rtl-container.pink.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.pink.night .mat-button-focus-overlay{background:#fff}.rtl-container.pink.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.pink.night .mat-fab,.rtl-container.pink.night .mat-flat-button,.rtl-container.pink.night .mat-mini-fab,.rtl-container.pink.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.pink.night .mat-fab.mat-primary,.rtl-container.pink.night .mat-flat-button.mat-primary,.rtl-container.pink.night .mat-mini-fab.mat-primary,.rtl-container.pink.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.pink.night .mat-fab.mat-accent,.rtl-container.pink.night .mat-flat-button.mat-accent,.rtl-container.pink.night .mat-mini-fab.mat-accent,.rtl-container.pink.night .mat-raised-button.mat-accent{color:#000}.rtl-container.pink.night .mat-fab.mat-warn,.rtl-container.pink.night .mat-flat-button.mat-warn,.rtl-container.pink.night .mat-mini-fab.mat-warn,.rtl-container.pink.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.pink.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.pink.night .mat-fab.mat-primary,.rtl-container.pink.night .mat-flat-button.mat-primary,.rtl-container.pink.night .mat-mini-fab.mat-primary,.rtl-container.pink.night .mat-raised-button.mat-primary{background-color:#e91e63}.rtl-container.pink.night .mat-fab.mat-accent,.rtl-container.pink.night .mat-flat-button.mat-accent,.rtl-container.pink.night .mat-mini-fab.mat-accent,.rtl-container.pink.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.pink.night .mat-fab.mat-warn,.rtl-container.pink.night .mat-flat-button.mat-warn,.rtl-container.pink.night .mat-mini-fab.mat-warn,.rtl-container.pink.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.pink.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.pink.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.pink.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.pink.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.pink.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.pink.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-button-toggle-group,.rtl-container.pink.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard,.rtl-container.pink.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.pink.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.pink.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.pink.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.pink.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.pink.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.pink.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.pink.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.pink.night .mat-button-toggle-group-appearance-standard,.rtl-container.pink.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.pink.night .mat-card{background:#202020;color:#fff}.rtl-container.pink.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.pink.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.pink.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.pink.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.pink.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.pink.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#e91e63}.rtl-container.pink.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.pink.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.pink.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.pink.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.pink.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.pink.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#e91e63}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.pink.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.pink.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.pink.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.pink.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.pink.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.pink.night .mat-table{background:#202020}.rtl-container.pink.night .mat-table-sticky,.rtl-container.pink.night .mat-table tbody,.rtl-container.pink.night .mat-table tfoot,.rtl-container.pink.night .mat-table thead,.rtl-container.pink.night [mat-footer-row],.rtl-container.pink.night [mat-header-row],.rtl-container.pink.night [mat-row],.rtl-container.pink.night mat-footer-row,.rtl-container.pink.night mat-header-row,.rtl-container.pink.night mat-row{background:inherit}.rtl-container.pink.night mat-footer-row,.rtl-container.pink.night mat-header-row,.rtl-container.pink.night mat-row,.rtl-container.pink.night td.mat-cell,.rtl-container.pink.night td.mat-footer-cell,.rtl-container.pink.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.pink.night .mat-cell,.rtl-container.pink.night .mat-footer-cell{color:#fff}.rtl-container.pink.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.pink.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.pink.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.pink.night .mat-datepicker-toggle{color:#fff}.rtl-container.pink.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.pink.night .mat-calendar-body-cell-content,.rtl-container.pink.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.pink.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.pink.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.pink.night .mat-calendar-body-in-range:before{background:#e91e6333}.rtl-container.pink.night .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#e91e6333 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-calendar-body-selected{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#e91e6366}.rtl-container.pink.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e91e634d}.rtl-container.pink.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.pink.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.pink.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.pink.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.pink.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.pink.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.pink.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.pink.night .mat-datepicker-toggle-active{color:#e91e63}.rtl-container.pink.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.pink.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.pink.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.pink.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.pink.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.pink.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.pink.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.pink.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.pink.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.pink.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.pink.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label{color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.pink.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.pink.night .mat-form-field-ripple{background-color:#fff}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#e91e63}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.pink.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.pink.night .mat-error{color:#b00020}.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.pink.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.pink.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.pink.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.pink.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.pink.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.pink.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.pink.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.pink.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#e91e63}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.pink.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.pink.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.pink.night .mat-icon.mat-primary{color:#e91e63}.rtl-container.pink.night .mat-icon.mat-accent{color:#eee}.rtl-container.pink.night .mat-icon.mat-warn{color:#b00020}.rtl-container.pink.night .mat-input-element{caret-color:#e91e63}.rtl-container.pink.night .mat-input-element option{color:#000000de}.rtl-container.pink.night .mat-input-element option:disabled{color:#00000061}.rtl-container.pink.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.pink.night .mat-form-field-invalid .mat-input-element,.rtl-container.pink.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.pink.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.pink.night .mat-list-base .mat-list-item,.rtl-container.pink.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.pink.night .mat-list-item-disabled{background-color:#444}.rtl-container.pink.night .mat-action-list .mat-list-item:focus,.rtl-container.pink.night .mat-action-list .mat-list-item:hover,.rtl-container.pink.night .mat-list-option:focus,.rtl-container.pink.night .mat-list-option:hover,.rtl-container.pink.night .mat-nav-list .mat-list-item:focus,.rtl-container.pink.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.pink.night .mat-list-single-selected-option,.rtl-container.pink.night .mat-list-single-selected-option:focus,.rtl-container.pink.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.pink.night .mat-menu-panel{background:#202020}.rtl-container.pink.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.pink.night .mat-menu-item-submenu-trigger:after,.rtl-container.pink.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.pink.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.pink.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.pink.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.pink.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.pink.night .mat-paginator{background:#202020}.rtl-container.pink.night .mat-paginator-decrement,.rtl-container.pink.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.pink.night .mat-paginator-first,.rtl-container.pink.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.pink.night .mat-progress-bar-background{fill:#441123}.rtl-container.pink.night .mat-progress-bar-buffer{background-color:#441123}.rtl-container.pink.night .mat-progress-bar-fill:after{background-color:#e91e63}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.pink.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.pink.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.pink.night .mat-progress-spinner circle,.rtl-container.pink.night .mat-spinner circle{stroke:#e91e63}.rtl-container.pink.night .mat-progress-spinner.mat-accent circle,.rtl-container.pink.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.pink.night .mat-progress-spinner.mat-warn circle,.rtl-container.pink.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.pink.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#e91e63}.rtl-container.pink.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#e91e63}.rtl-container.pink.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.pink.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.pink.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.pink.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.pink.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.pink.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.pink.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.pink.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-select-value{color:#fff}.rtl-container.pink.night .mat-select-panel{background:#202020}.rtl-container.pink.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.pink.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#e91e63}.rtl-container.pink.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.pink.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.pink.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.pink.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.pink.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.pink.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.pink.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.pink.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-drawer-side.mat-drawer-end,.rtl-container.pink.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.pink.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.pink.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.pink.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#e91e63}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#e91e638a}.rtl-container.pink.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#e91e63}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.pink.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.pink.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.pink.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.pink.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.pink.night .mat-primary .mat-slider-thumb,.rtl-container.pink.night .mat-primary .mat-slider-thumb-label,.rtl-container.pink.night .mat-primary .mat-slider-track-fill{background-color:#e91e63}.rtl-container.pink.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.night .mat-primary .mat-slider-focus-ring{background-color:#e91e6333}.rtl-container.pink.night .mat-accent .mat-slider-thumb,.rtl-container.pink.night .mat-accent .mat-slider-thumb-label,.rtl-container.pink.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.pink.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.pink.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.pink.night .mat-warn .mat-slider-thumb,.rtl-container.pink.night .mat-warn .mat-slider-thumb-label,.rtl-container.pink.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.pink.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.pink.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.pink.night .cdk-focused .mat-slider-track-background,.rtl-container.pink.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.pink.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.pink.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.pink.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.pink.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.pink.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.pink.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.pink.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.pink.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.pink.night .mat-step-header.cdk-keyboard-focused,.rtl-container.pink.night .mat-step-header.cdk-program-focused,.rtl-container.pink.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.pink.night .mat-step-header:hover{background:none}}.rtl-container.pink.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header .mat-step-icon-state-edit{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.pink.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.pink.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.pink.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.pink.night .mat-stepper-horizontal,.rtl-container.pink.night .mat-stepper-vertical{background-color:#202020}.rtl-container.pink.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.pink.night .mat-horizontal-stepper-header:after,.rtl-container.pink.night .mat-horizontal-stepper-header:before,.rtl-container.pink.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.pink.night .mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.pink.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.pink.night .mat-tab-label,.rtl-container.pink.night .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.pink.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#e91e63}.rtl-container.pink.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.pink.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.pink.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.pink.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#f062924d}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#e91e63}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.pink.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.pink.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.pink.night .mat-toolbar.mat-primary{background:#e91e63;color:#fff}.rtl-container.pink.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.pink.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.pink.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.pink.night .mat-toolbar .mat-form-field-ripple,.rtl-container.pink.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.pink.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.pink.night .mat-toolbar .mat-form-field-label,.rtl-container.pink.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.pink.night .mat-toolbar .mat-select-arrow,.rtl-container.pink.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.pink.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.pink.night .mat-tree{background:#202020}.rtl-container.pink.night .mat-nested-tree-node,.rtl-container.pink.night .mat-tree-node{color:#fff}.rtl-container.pink.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.pink.night .mat-simple-snackbar-action{color:inherit}.rtl-container.pink.night .mat-primary{color:#ff4081}.rtl-container.pink.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.pink.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.pink.night .bg-primary{background-color:#e91e63;color:#fff}.rtl-container.pink.night .mat-tab-label.mat-tab-label-active{color:#ff4081}.rtl-container.pink.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#ff4081}.rtl-container.pink.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.pink.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.pink.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.pink.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#ff4081}.rtl-container.pink.night .cc-data-block .cc-data-title{color:#ff4081}.rtl-container.pink.night .mat-stroked-button.mat-primary{border-color:#ff4081;color:#ff4081}.rtl-container.pink.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.pink.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.pink.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.pink.night .active-link,.rtl-container.pink.night .active-link .fa-icon-small,.rtl-container.pink.night .mat-select-panel .mat-option.mat-active,.rtl-container.pink.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#ff4081;font-weight:500;cursor:pointer;fill:#ff4081}.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.pink.night .mat-nested-tree-node-parent:hover,.rtl-container.pink.night .mat-select-panel .mat-option:hover,.rtl-container.pink.night .mat-tree-node:hover{color:#ff4081;cursor:pointer;background:#ffffff0f}.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.pink.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.pink.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.pink.night .mat-tree-node:hover .mat-icon,.rtl-container.pink.night .mat-tree-node:hover .ng-fa-icon{color:#ff4081}.rtl-container.pink.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.pink.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.pink.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.pink.night .mat-tree-node:hover .sidenav-img svg{fill:#ff4081}.rtl-container.pink.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.pink.night .mat-nested-tree-node .sidenav-img,.rtl-container.pink.night .mat-tree-node .sidenav-img,.rtl-container.pink.night .page-title-container .page-title-img,.rtl-container.pink.night svg.top-icon-small{fill:#fff}.rtl-container.pink.night .selected-color{border-color:#f06292}.rtl-container.pink.night .mat-progress-bar-fill:after{background-color:#d81b60}.rtl-container.pink.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.pink.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.pink.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.pink.night .mat-tree{background:#262626}.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.pink.night .dashboard-info-title{color:#ff4081}.rtl-container.pink.night .dashboard-capacity-header,.rtl-container.pink.night .dashboard-info-value{color:#fff}.rtl-container.pink.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.pink.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.pink.night .color-primary{color:#ff4081!important}.rtl-container.pink.night .dot-primary{background-color:#ff4081!important}.rtl-container.pink.night .dot-primary-lighter{background-color:#e91e63!important}.rtl-container.pink.night .mat-stepper-vertical{background-color:#262626}.rtl-container.pink.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.pink.night svg .boltz-icon-fill{fill:#fff}.rtl-container.pink.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.pink.night svg .fill-color-0,.rtl-container.pink.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.pink.night svg .fill-color-1{fill:#232323}.rtl-container.pink.night svg .fill-color-2{fill:#222}.rtl-container.pink.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.pink.night svg .fill-color-4{fill:#383838}.rtl-container.pink.night svg .fill-color-5{fill:#555}.rtl-container.pink.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.pink.night svg .fill-color-7{fill:#202020}.rtl-container.pink.night svg .fill-color-8{fill:#242424}.rtl-container.pink.night svg .fill-color-9{fill:#262626}.rtl-container.pink.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.pink.night svg .fill-color-11{fill:#171717}.rtl-container.pink.night svg .fill-color-12{fill:#ccc}.rtl-container.pink.night svg .fill-color-13{fill:#adadad}.rtl-container.pink.night svg .fill-color-14{fill:#ababab}.rtl-container.pink.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.pink.night svg .fill-color-16{fill:#707070}.rtl-container.pink.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.pink.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.pink.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.pink.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.pink.night svg .fill-color-21{fill:#cacaca}.rtl-container.pink.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.pink.night svg .fill-color-23{fill:#777}.rtl-container.pink.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.pink.night svg .fill-color-25{fill:#252525}.rtl-container.pink.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.pink.night svg .fill-color-27{fill:#000}.rtl-container.pink.night svg .fill-color-28{fill:#313131}.rtl-container.pink.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.pink.night svg .fill-color-30{fill:#fff}.rtl-container.pink.night svg .fill-color-31{fill:#e91e63}.rtl-container.pink.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.pink.night svg .fill-color-primary{fill:#e91e63}.rtl-container.pink.night svg .fill-color-primary-lighter{fill:#f06292}.rtl-container.pink.night svg .fill-color-primary-darker{fill:#ff4081}.rtl-container.pink.night .mat-select-arrow,.rtl-container.pink.night .mat-select-value{color:#fff}.rtl-container.pink.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.pink.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.pink.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.pink.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.pink.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.pink.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.pink.night .mat-button.mat-primary,.rtl-container.pink.night .mat-icon-button.mat-primary,.rtl-container.pink.night .mat-stroked-button.mat-primary{color:#ff4081}.rtl-container.pink.night tr.alert.alert-warn .mat-cell,.rtl-container.pink.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.pink.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.pink.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.pink.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#ff4081}.rtl-container.pink.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.pink.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#ad1457}.rtl-container.pink.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.pink.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#ff4081}.rtl-container.pink.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.pink.night .mat-progress-bar-buffer{background-color:#f8bbd0}.rtl-container.pink.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.pink.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.pink.night .foreground.mat-progress-spinner circle,.rtl-container.pink.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.pink.night .mat-toolbar-row,.rtl-container.pink.night .mat-toolbar-single-row{height:5rem}.rtl-container.pink.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night a{color:#e91e63}.rtl-container.pink.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.pink.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.pink.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.pink.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.pink.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.pink.night .genseed-message{width:10%;color:#e91e63}.rtl-container.pink.night .material-icons.primary{color:#e91e63}.rtl-container.pink.night .material-icons.accent{color:#eee}.rtl-container.pink.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.pink.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.pink.night .row-disabled{background-color:gray}.rtl-container.pink.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.pink.night .mat-menu-panel{min-width:6.4rem}.rtl-container.pink.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.pink.night .horizontal-button:hover{background:#f06292;color:#eee}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#e91e63}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.pink.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.pink.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.pink.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.pink.night .mat-cell,.rtl-container.pink.night .mat-footer-cell,.rtl-container.pink.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.pink.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.pink.night table.mat-table thead tr th{color:#fff}.rtl-container.pink.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.pink.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.pink.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.pink.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.pink.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.pink.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.pink.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.pink.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.pink.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.pink.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.pink.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.pink.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.pink.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.pink.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.pink.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.pink.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.pink.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.pink.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.pink.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.pink.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.pink.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#f48fb1!important}.rtl-container.pink.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#d81b60!important}.rtl-container.pink.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.pink.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.pink.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.pink.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.pink.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.pink.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.pink.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.pink.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.pink.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.pink.night .color-warn{color:#b00020}.rtl-container.pink.night .fill-warn{fill:#b00020}.rtl-container.pink.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.pink.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.pink.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.pink.night .alert.alert-info a{color:#004085}.rtl-container.pink.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.pink.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.pink.night .alert.alert-warn a{color:#856404}.rtl-container.pink.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.pink.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.pink.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.pink.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.pink.night .help-expansion .mat-expansion-panel-header,.rtl-container.pink.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.pink.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.pink.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.pink.night .failed-status{color:#b00020}.rtl-container.pink.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.pink.night .svg-fill-primary{fill:#e91e63}.rtl-container.pink.night .svg-fill-primary-lighter{fill:#f06292}.rtl-container.pink.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.pink.night ngx-charts-bar-vertical-2d text,.rtl-container.pink.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.pink.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.pink.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.pink.night .mat-paginator-container{padding:0}.rtl-container.yellow.small.small .mat-header-cell{font-weight:700}.rtl-container.yellow.small.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.small.small .mat-menu-item,.rtl-container.yellow.small.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.small.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.small.small .fa-icon-small,.rtl-container.yellow.small.small .genseed-message,.rtl-container.yellow.small.small .top-icon-small,.rtl-container.yellow.small.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.small.small .page-sub-title-container,.rtl-container.yellow.small.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.small.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.small.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.small.small .sidenav-img svg,.rtl-container.yellow.small.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.small.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.small.small .material-icons,.rtl-container.yellow.small.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.small.small .mat-expansion-panel-header,.rtl-container.yellow.small.small .mat-list .mat-list-item,.rtl-container.yellow.small.small .mat-menu-item,.rtl-container.yellow.small.small .mat-nav-list .mat-list-item,.rtl-container.yellow.small.small .mat-option,.rtl-container.yellow.small.small .mat-select,.rtl-container.yellow.small.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.small.small .logo{font-size:2.4rem}.rtl-container.yellow.small.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.small.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.small.small .icon-large{font-size:6rem}.rtl-container.yellow.small.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.small.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.small.small .size-triple{font-size:3.6rem}.rtl-container.yellow.small.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.small.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.small.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.small.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.small.medium .genseed-message,.rtl-container.yellow.small.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.small.medium .page-sub-title-container,.rtl-container.yellow.small.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.small.medium .fa-icon-small,.rtl-container.yellow.small.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.small.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.small.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.small.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.small.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.small.medium .sidenav-img svg,.rtl-container.yellow.small.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.small.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.small.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.small.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.small.medium .mat-expansion-panel-header,.rtl-container.yellow.small.medium .mat-list .mat-list-item,.rtl-container.yellow.small.medium .mat-menu-item,.rtl-container.yellow.small.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.small.medium .mat-option,.rtl-container.yellow.small.medium .mat-select,.rtl-container.yellow.small.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.small.medium .logo{font-size:2.8rem}.rtl-container.yellow.small.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.small.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.small.medium .icon-large{font-size:7rem}.rtl-container.yellow.small.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.small.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.small.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.small.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.small.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small.large .mat-header-cell{font-weight:800}.rtl-container.yellow.small.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.small.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.small.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.small.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.small.large .genseed-message,.rtl-container.yellow.small.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.small.large .page-sub-title-container,.rtl-container.yellow.small.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.small.large .fa-icon-small,.rtl-container.yellow.small.large .modal-info-header,.rtl-container.yellow.small.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.small.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.small.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.small.large .sidenav-img svg,.rtl-container.yellow.small.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.small.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.small.large .material-icons{font-size:4rem}.rtl-container.yellow.small.large .mat-expansion-panel-header,.rtl-container.yellow.small.large .mat-list .mat-list-item,.rtl-container.yellow.small.large .mat-menu-item,.rtl-container.yellow.small.large .mat-nav-list .mat-list-item,.rtl-container.yellow.small.large .mat-option,.rtl-container.yellow.small.large .mat-select,.rtl-container.yellow.small.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.small.large .logo{font-size:3.2rem}.rtl-container.yellow.small.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.small.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.small.large .icon-large{font-size:8rem}.rtl-container.yellow.small.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.small.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.small.large .size-triple{font-size:4.8rem}.rtl-container.yellow.small.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.small.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.small .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.small .mat-flat-button.mat-primary:focus,.rtl-container.yellow.small .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.small .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.medium.small .mat-header-cell{font-weight:700}.rtl-container.yellow.medium.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.medium.small .mat-menu-item,.rtl-container.yellow.medium.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.medium.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.medium.small .fa-icon-small,.rtl-container.yellow.medium.small .genseed-message,.rtl-container.yellow.medium.small .top-icon-small,.rtl-container.yellow.medium.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.medium.small .page-sub-title-container,.rtl-container.yellow.medium.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.medium.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.medium.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.medium.small .sidenav-img svg,.rtl-container.yellow.medium.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.medium.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.medium.small .material-icons,.rtl-container.yellow.medium.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.medium.small .mat-expansion-panel-header,.rtl-container.yellow.medium.small .mat-list .mat-list-item,.rtl-container.yellow.medium.small .mat-menu-item,.rtl-container.yellow.medium.small .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.small .mat-option,.rtl-container.yellow.medium.small .mat-select,.rtl-container.yellow.medium.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.medium.small .logo{font-size:2.4rem}.rtl-container.yellow.medium.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.medium.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.medium.small .icon-large{font-size:6rem}.rtl-container.yellow.medium.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.medium.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.medium.small .size-triple{font-size:3.6rem}.rtl-container.yellow.medium.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.medium.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.medium.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.medium.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.medium.medium .genseed-message,.rtl-container.yellow.medium.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.medium.medium .page-sub-title-container,.rtl-container.yellow.medium.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.medium.medium .fa-icon-small,.rtl-container.yellow.medium.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.medium.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.medium.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.medium.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.medium.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.medium.medium .sidenav-img svg,.rtl-container.yellow.medium.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.medium.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.medium.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.medium.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.medium.medium .mat-expansion-panel-header,.rtl-container.yellow.medium.medium .mat-list .mat-list-item,.rtl-container.yellow.medium.medium .mat-menu-item,.rtl-container.yellow.medium.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.medium .mat-option,.rtl-container.yellow.medium.medium .mat-select,.rtl-container.yellow.medium.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.medium.medium .logo{font-size:2.8rem}.rtl-container.yellow.medium.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.medium.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.medium.medium .icon-large{font-size:7rem}.rtl-container.yellow.medium.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.medium.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.medium.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.medium.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.medium.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium.large .mat-header-cell{font-weight:800}.rtl-container.yellow.medium.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.medium.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.medium.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.medium.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.medium.large .genseed-message,.rtl-container.yellow.medium.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.medium.large .page-sub-title-container,.rtl-container.yellow.medium.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.medium.large .fa-icon-small,.rtl-container.yellow.medium.large .modal-info-header,.rtl-container.yellow.medium.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.medium.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.medium.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.medium.large .sidenav-img svg,.rtl-container.yellow.medium.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.medium.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.medium.large .material-icons{font-size:4rem}.rtl-container.yellow.medium.large .mat-expansion-panel-header,.rtl-container.yellow.medium.large .mat-list .mat-list-item,.rtl-container.yellow.medium.large .mat-menu-item,.rtl-container.yellow.medium.large .mat-nav-list .mat-list-item,.rtl-container.yellow.medium.large .mat-option,.rtl-container.yellow.medium.large .mat-select,.rtl-container.yellow.medium.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.medium.large .logo{font-size:3.2rem}.rtl-container.yellow.medium.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.medium.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.medium.large .icon-large{font-size:8rem}.rtl-container.yellow.medium.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.medium.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.medium.large .size-triple{font-size:4.8rem}.rtl-container.yellow.medium.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.medium.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.medium .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.medium .mat-flat-button.mat-primary:focus,.rtl-container.yellow.medium .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.medium .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.large.small .mat-header-cell{font-weight:700}.rtl-container.yellow.large.small .mr-4{margin-right:1rem!important}.rtl-container.yellow.large.small .mat-menu-item,.rtl-container.yellow.large.small .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.small .mat-tree .mat-tree-node{min-height:2.8rem;height:2.8rem}.rtl-container.yellow.large.small .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.small .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.32rem}.rtl-container.yellow.large.small .fa-icon-small,.rtl-container.yellow.large.small .genseed-message,.rtl-container.yellow.large.small .top-icon-small,.rtl-container.yellow.large.small .validation-error-message .validation-error-icon.mat-icon{font-size:1.44rem}.rtl-container.yellow.large.small .page-sub-title-container,.rtl-container.yellow.large.small .page-title-container{font-size:1.32rem}.rtl-container.yellow.large.small .mat-icon-button .top-toolbar-icon.icon-pinned,.rtl-container.yellow.large.small .mat-step-header .mat-step-icon .mat-icon{padding-top:1rem}.rtl-container.yellow.large.small .sidenav-img svg,.rtl-container.yellow.large.small .top-toolbar-icon .top-toolbar-img{width:2.16rem;height:2.16rem;font-size:1.5rem}.rtl-container.yellow.large.small .horizontal-button .sidenav-img svg{width:2.52rem;height:2.52rem;font-size:2.2rem}.rtl-container.yellow.large.small .material-icons,.rtl-container.yellow.large.small .modal-info-header{font-size:1.8rem;line-height:2rem}.rtl-container.yellow.large.small .mat-expansion-panel-header,.rtl-container.yellow.large.small .mat-list .mat-list-item,.rtl-container.yellow.large.small .mat-menu-item,.rtl-container.yellow.large.small .mat-nav-list .mat-list-item,.rtl-container.yellow.large.small .mat-option,.rtl-container.yellow.large.small .mat-select,.rtl-container.yellow.large.small .mat-selection-list .mat-list-item{font-size:1.2rem!important}.rtl-container.yellow.large.small .logo{font-size:2.4rem}.rtl-container.yellow.large.small .font-60-percent{font-size:.72rem}.rtl-container.yellow.large.small .fa-icon-regular{font-size:2.1rem}.rtl-container.yellow.large.small .icon-large{font-size:6rem}.rtl-container.yellow.large.small .icon-small{font-size:1.8rem!important}.rtl-container.yellow.large.small .icon-smaller{font-size:.9rem!important}.rtl-container.yellow.large.small .size-triple{font-size:3.6rem}.rtl-container.yellow.large.small .mat-icon-36{font-size:2.4rem}.rtl-container.yellow.large.small .btn-close-x{font-size:1.8rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large.medium .mat-header-cell{font-weight:700}.rtl-container.yellow.large.medium .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.medium .mat-tree .mat-tree-node{min-height:4rem;height:4rem}.rtl-container.yellow.large.medium .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.medium .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.54rem}.rtl-container.yellow.large.medium .genseed-message,.rtl-container.yellow.large.medium .validation-error-message .validation-error-icon.mat-icon{font-size:1.68rem}.rtl-container.yellow.large.medium .page-sub-title-container,.rtl-container.yellow.large.medium .page-title-container{font-size:1.54rem}.rtl-container.yellow.large.medium .fa-icon-small,.rtl-container.yellow.large.medium .top-icon-small{font-size:1.68rem}.rtl-container.yellow.large.medium .modal-info-header{font-size:1.82rem;padding:.8rem .4rem .8rem 1.6rem!important}@media only screen and (max-width:56.25em){.rtl-container.yellow.large.medium .modal-info-header{padding:.4rem .4rem .4rem .8rem!important}}@media only screen and (max-width:37.5em){.rtl-container.yellow.large.medium .modal-info-header{padding:.2rem!important}}.rtl-container.yellow.large.medium .top-toolbar-icon.icon-pinned{font-size:1.82rem}.rtl-container.yellow.large.medium .sidenav-img svg,.rtl-container.yellow.large.medium .top-toolbar-icon .top-toolbar-img{width:2.52rem;height:2.52rem;font-size:1.82rem}.rtl-container.yellow.large.medium .horizontal-button .sidenav-img svg{width:3.08rem;height:3.08rem;font-size:2.5rem}.rtl-container.yellow.large.medium .material-icons{font-size:2.8rem}.rtl-container.yellow.large.medium .mat-step-header .mat-step-icon .mat-icon{font-size:medium}.rtl-container.yellow.large.medium .mat-expansion-panel-header,.rtl-container.yellow.large.medium .mat-list .mat-list-item,.rtl-container.yellow.large.medium .mat-menu-item,.rtl-container.yellow.large.medium .mat-nav-list .mat-list-item,.rtl-container.yellow.large.medium .mat-option,.rtl-container.yellow.large.medium .mat-select,.rtl-container.yellow.large.medium .mat-selection-list .mat-list-item{font-size:1.4rem!important}.rtl-container.yellow.large.medium .logo{font-size:2.8rem}.rtl-container.yellow.large.medium .font-60-percent{font-size:.84rem}.rtl-container.yellow.large.medium .fa-icon-regular{font-size:2.45rem}.rtl-container.yellow.large.medium .icon-large{font-size:7rem}.rtl-container.yellow.large.medium .icon-small{font-size:2.1rem!important}.rtl-container.yellow.large.medium .icon-smaller{font-size:1.05rem!important}.rtl-container.yellow.large.medium .size-triple{font-size:4.2rem}.rtl-container.yellow.large.medium .mat-icon-36{font-size:2.8rem}.rtl-container.yellow.large.medium .btn-close-x{font-size:2.1rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large.large .mat-header-cell{font-weight:800}.rtl-container.yellow.large.large .mat-tree .mat-nested-tree-node-parent,.rtl-container.yellow.large.large .mat-tree .mat-tree-node{height:4rem}.rtl-container.yellow.large.large .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.large.large .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){font-size:1.76rem}.rtl-container.yellow.large.large .genseed-message,.rtl-container.yellow.large.large .validation-error-message .validation-error-icon.mat-icon{font-size:1.92rem}.rtl-container.yellow.large.large .page-sub-title-container,.rtl-container.yellow.large.large .page-title-container{margin-top:.5rem;font-size:1.76rem}.rtl-container.yellow.large.large .fa-icon-small,.rtl-container.yellow.large.large .modal-info-header,.rtl-container.yellow.large.large .top-icon-small{font-size:1.92rem}.rtl-container.yellow.large.large .mat-step-header .mat-step-icon .mat-icon,.rtl-container.yellow.large.large .top-toolbar-icon.icon-pinned{font-size:2rem}.rtl-container.yellow.large.large .sidenav-img svg,.rtl-container.yellow.large.large .top-toolbar-icon .top-toolbar-img{width:3.2rem;height:3.2rem;font-size:2rem}.rtl-container.yellow.large.large .horizontal-button .sidenav-img svg{width:3.6rem;height:3.6rem;font-size:3.2rem}.rtl-container.yellow.large.large .material-icons{font-size:4rem}.rtl-container.yellow.large.large .mat-expansion-panel-header,.rtl-container.yellow.large.large .mat-list .mat-list-item,.rtl-container.yellow.large.large .mat-menu-item,.rtl-container.yellow.large.large .mat-nav-list .mat-list-item,.rtl-container.yellow.large.large .mat-option,.rtl-container.yellow.large.large .mat-select,.rtl-container.yellow.large.large .mat-selection-list .mat-list-item{font-size:1.6rem!important}.rtl-container.yellow.large.large .logo{font-size:3.2rem}.rtl-container.yellow.large.large .font-60-percent{font-size:.96rem}.rtl-container.yellow.large.large .fa-icon-regular{font-size:2.8rem}.rtl-container.yellow.large.large .icon-large{font-size:8rem}.rtl-container.yellow.large.large .icon-small{font-size:2.4rem!important}.rtl-container.yellow.large.large .icon-smaller{font-size:1.2rem!important}.rtl-container.yellow.large.large .size-triple{font-size:4.8rem}.rtl-container.yellow.large.large .mat-icon-36{font-size:3.2rem}.rtl-container.yellow.large.large .btn-close-x{font-size:2.4rem;font-weight:600;min-width:3.6rem;max-width:3.6rem}.rtl-container.yellow.large .mat-icon.material-icons:focus{outline:none}.rtl-container.yellow.large .mat-flat-button.mat-primary:focus,.rtl-container.yellow.large .mat-flat-button.mat-primary:hover{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.large .mat-flat-button.mat-primary:disabled{cursor:not-allowed}.rtl-container.yellow.day .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.day .mat-option{color:#000000de}.rtl-container.yellow.day .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.day .mat-option:focus:not(.mat-option-disabled),.rtl-container.yellow.day .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.yellow.day .mat-option.mat-active{background:#0000000a;color:#000000de}.rtl-container.yellow.day .mat-option.mat-option-disabled{color:#00000061}.rtl-container.yellow.day .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#945f1f}.rtl-container.yellow.day .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#424242}.rtl-container.yellow.day .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.yellow.day .mat-optgroup-label{color:#0000008a}.rtl-container.yellow.day .mat-optgroup-disabled .mat-optgroup-label{color:#00000061}.rtl-container.yellow.day .mat-pseudo-checkbox{color:#0000008a}.rtl-container.yellow.day .mat-pseudo-checkbox:after{color:#fafafa}.rtl-container.yellow.day .mat-pseudo-checkbox-disabled{color:#b0b0b0}.rtl-container.yellow.day .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-primary .mat-pseudo-checkbox-indeterminate{background:#945f1f}.rtl-container.yellow.day .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.yellow.day .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-pseudo-checkbox-indeterminate{background:#424242}.rtl-container.yellow.day .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.yellow.day .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.yellow.day .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.yellow.day .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.rtl-container.yellow.day.mat-app-background,.rtl-container.yellow.day .mat-app-background{background-color:#fafafa;color:#000000de}.rtl-container.yellow.day .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.yellow.day .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.day .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.yellow.day .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.yellow.day .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.yellow.day .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.yellow.day .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.yellow.day .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.yellow.day .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.yellow.day .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.yellow.day .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.yellow.day .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.day .mat-autocomplete-panel{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.rtl-container.yellow.day .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#000000de}.rtl-container.yellow.day .mat-badge-content{color:#fff;background:#945f1f}.cdk-high-contrast-active .rtl-container.yellow.day .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.yellow.day .mat-badge-accent .mat-badge-content{background:#424242;color:#fff}.rtl-container.yellow.day .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.yellow.day .mat-badge{position:relative}.rtl-container.yellow.day .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.yellow.day .mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:#00000061}.rtl-container.yellow.day .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.yellow.day .mat-badge-content._mat-animation-noopable,.rtl-container.yellow.day .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.yellow.day .mat-badge-content.mat-badge-active{transform:none}.rtl-container.yellow.day .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.yellow.day .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.yellow.day .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.yellow.day .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.yellow.day .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.yellow.day .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.yellow.day .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#fff;color:#000000de}.rtl-container.yellow.day .mat-button,.rtl-container.yellow.day .mat-icon-button,.rtl-container.yellow.day .mat-stroked-button{color:inherit;background:#0000}.rtl-container.yellow.day .mat-button.mat-primary,.rtl-container.yellow.day .mat-icon-button.mat-primary,.rtl-container.yellow.day .mat-stroked-button.mat-primary{color:#945f1f}.rtl-container.yellow.day .mat-button.mat-accent,.rtl-container.yellow.day .mat-icon-button.mat-accent,.rtl-container.yellow.day .mat-stroked-button.mat-accent{color:#424242}.rtl-container.yellow.day .mat-button.mat-warn,.rtl-container.yellow.day .mat-icon-button.mat-warn,.rtl-container.yellow.day .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-stroked-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.yellow.day .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#945f1f}.rtl-container.yellow.day .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#424242}.rtl-container.yellow.day .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.yellow.day .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.day .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.day .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.yellow.day .mat-button .mat-ripple-element,.rtl-container.yellow.day .mat-icon-button .mat-ripple-element,.rtl-container.yellow.day .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.yellow.day .mat-button-focus-overlay{background:#000}.rtl-container.yellow.day .mat-stroked-button:not(.mat-button-disabled){border-color:#0000001f}.rtl-container.yellow.day .mat-fab,.rtl-container.yellow.day .mat-flat-button,.rtl-container.yellow.day .mat-mini-fab,.rtl-container.yellow.day .mat-raised-button{color:#000000de;background-color:#fff}.rtl-container.yellow.day .mat-fab.mat-accent,.rtl-container.yellow.day .mat-fab.mat-primary,.rtl-container.yellow.day .mat-fab.mat-warn,.rtl-container.yellow.day .mat-flat-button.mat-accent,.rtl-container.yellow.day .mat-flat-button.mat-primary,.rtl-container.yellow.day .mat-flat-button.mat-warn,.rtl-container.yellow.day .mat-mini-fab.mat-accent,.rtl-container.yellow.day .mat-mini-fab.mat-primary,.rtl-container.yellow.day .mat-mini-fab.mat-warn,.rtl-container.yellow.day .mat-raised-button.mat-accent,.rtl-container.yellow.day .mat-raised-button.mat-primary,.rtl-container.yellow.day .mat-raised-button.mat-warn{color:#fff}.rtl-container.yellow.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-warn.mat-button-disabled{color:#00000042}.rtl-container.yellow.day .mat-fab.mat-primary,.rtl-container.yellow.day .mat-flat-button.mat-primary,.rtl-container.yellow.day .mat-mini-fab.mat-primary,.rtl-container.yellow.day .mat-raised-button.mat-primary{background-color:#945f1f}.rtl-container.yellow.day .mat-fab.mat-accent,.rtl-container.yellow.day .mat-flat-button.mat-accent,.rtl-container.yellow.day .mat-mini-fab.mat-accent,.rtl-container.yellow.day .mat-raised-button.mat-accent{background-color:#424242}.rtl-container.yellow.day .mat-fab.mat-warn,.rtl-container.yellow.day .mat-flat-button.mat-warn,.rtl-container.yellow.day .mat-mini-fab.mat-warn,.rtl-container.yellow.day .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.yellow.day .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.day .mat-raised-button.mat-warn.mat-button-disabled{background-color:#0000001f}.rtl-container.yellow.day .mat-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.day .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-fab:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.day .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.yellow.day .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-button-toggle-group,.rtl-container.yellow.day .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.yellow.day .mat-button-toggle{color:#00000061}.rtl-container.yellow.day .mat-button-toggle .mat-button-toggle-focus-overlay{background-color:#0000001f}.rtl-container.yellow.day .mat-button-toggle-appearance-standard{color:#000000de;background:#fff}.rtl-container.yellow.day .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #0000001f}.rtl-container.yellow.day [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #0000001f}.rtl-container.yellow.day .mat-button-toggle-checked{background-color:#e0e0e0;color:#0000008a}.rtl-container.yellow.day .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#000000de}.rtl-container.yellow.day .mat-button-toggle-disabled{color:#00000042;background-color:#eee}.rtl-container.yellow.day .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.rtl-container.yellow.day .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.rtl-container.yellow.day .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.day .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #0000001f}.rtl-container.yellow.day .mat-card{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.day .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.day .mat-card-subtitle{color:#0000008a}.rtl-container.yellow.day .mat-checkbox-frame{border-color:#0000008a}.rtl-container.yellow.day .mat-checkbox-checkmark{fill:#fafafa}.rtl-container.yellow.day .mat-checkbox-checkmark-path{stroke:#fafafa!important}.rtl-container.yellow.day .mat-checkbox-mixedmark{background-color:#fafafa}.rtl-container.yellow.day .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#945f1f}.rtl-container.yellow.day .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#424242}.rtl-container.yellow.day .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.yellow.day .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.yellow.day .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.rtl-container.yellow.day .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.rtl-container.yellow.day .mat-checkbox-disabled .mat-checkbox-label{color:#0000008a}.rtl-container.yellow.day .mat-checkbox .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#945f1f}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#424242}.rtl-container.yellow.day .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.yellow.day .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.yellow.day .mat-chip.mat-standard-chip{background-color:#e0e0e0;color:#000000de}.rtl-container.yellow.day .mat-chip.mat-standard-chip .mat-chip-remove{color:#000000de;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.day .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip:after{background:#000}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.day .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.day .mat-table{background:#fff}.rtl-container.yellow.day .mat-table-sticky,.rtl-container.yellow.day .mat-table tbody,.rtl-container.yellow.day .mat-table tfoot,.rtl-container.yellow.day .mat-table thead,.rtl-container.yellow.day [mat-footer-row],.rtl-container.yellow.day [mat-header-row],.rtl-container.yellow.day [mat-row],.rtl-container.yellow.day mat-footer-row,.rtl-container.yellow.day mat-header-row,.rtl-container.yellow.day mat-row{background:inherit}.rtl-container.yellow.day mat-footer-row,.rtl-container.yellow.day mat-header-row,.rtl-container.yellow.day mat-row,.rtl-container.yellow.day td.mat-cell,.rtl-container.yellow.day td.mat-footer-cell,.rtl-container.yellow.day th.mat-header-cell{border-bottom-color:#0000001f}.rtl-container.yellow.day .mat-header-cell{color:#0000008a}.rtl-container.yellow.day .mat-cell,.rtl-container.yellow.day .mat-footer-cell{color:#000000de}.rtl-container.yellow.day .mat-calendar-arrow{border-top-color:#0000008a}.rtl-container.yellow.day .mat-datepicker-content .mat-calendar-next-button,.rtl-container.yellow.day .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.yellow.day .mat-datepicker-toggle{color:#0000008a}.rtl-container.yellow.day .mat-calendar-table-header{color:#00000061}.rtl-container.yellow.day .mat-calendar-table-header-divider:after{background:#0000001f}.rtl-container.yellow.day .mat-calendar-body-label{color:#0000008a}.rtl-container.yellow.day .mat-calendar-body-cell-content,.rtl-container.yellow.day .mat-date-range-input-separator{color:#000000de;border-color:#0000}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-form-field-disabled .mat-date-range-input-separator{color:#00000061}.rtl-container.yellow.day .mat-calendar-body-in-preview{color:#0000003d}.rtl-container.yellow.day .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#00000061}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:#0000002e}.rtl-container.yellow.day .mat-calendar-body-in-range:before{background:#945f1f33}.rtl-container.yellow.day .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-calendar-body-selected{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#945f1f66}.rtl-container.yellow.day .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#945f1f4d}.rtl-container.yellow.day .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#fff;color:#000000de}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#42424233}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#42424233 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#42424233 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#42424266}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#4242424d}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.day .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.day .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.day .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.yellow.day .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.day .mat-datepicker-toggle-active{color:#945f1f}.rtl-container.yellow.day .mat-datepicker-toggle-active.mat-accent{color:#424242}.rtl-container.yellow.day .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-date-range-input-inner[disabled]{color:#00000061}.rtl-container.yellow.day .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#fff;color:#000000de}.rtl-container.yellow.day .mat-divider{border-top-color:#0000001f}.rtl-container.yellow.day .mat-divider-vertical{border-right-color:#0000001f}.rtl-container.yellow.day .mat-expansion-panel{background:#fff;color:#000000de}.rtl-container.yellow.day .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.day .mat-action-row{border-top-color:#0000001f}.rtl-container.yellow.day .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.yellow.day .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.yellow.day .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.yellow.day .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.rtl-container.yellow.day .mat-expansion-panel-header-title{color:#000000de}.rtl-container.yellow.day .mat-expansion-indicator:after,.rtl-container.yellow.day .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true]{color:#00000042}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.yellow.day .mat-form-field-label,.rtl-container.yellow.day .mat-hint{color:#0009}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label{color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-focused .mat-form-field-required-marker{color:#424242}.rtl-container.yellow.day .mat-form-field-ripple{background-color:#000000de}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#945f1f}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#424242}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.yellow.day .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.yellow.day .mat-error{color:#b00020}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-label,.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-hint{color:#0000008a}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.day .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#0000006b 0,#0000006b 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.day .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#0000000a}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#00000005}.rtl-container.yellow.day .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#0000006b}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.yellow.day .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.yellow.day .mat-form-field-appearance-outline .mat-form-field-outline{color:#0000001f}.rtl-container.yellow.day .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#000000de}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#945f1f}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#424242}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#00000061}.rtl-container.yellow.day .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#0000000f}.rtl-container.yellow.day .mat-icon.mat-primary{color:#945f1f}.rtl-container.yellow.day .mat-icon.mat-accent{color:#424242}.rtl-container.yellow.day .mat-icon.mat-warn{color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select .mat-form-field-infix:after{color:#0000008a}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix:after,.rtl-container.yellow.day .mat-input-element:disabled{color:#00000061}.rtl-container.yellow.day .mat-input-element{caret-color:#945f1f}.rtl-container.yellow.day .mat-input-element::placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element::-moz-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element::-webkit-input-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-input-element:-ms-input-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-form-field.mat-accent .mat-input-element{caret-color:#424242}.rtl-container.yellow.day .mat-form-field-invalid .mat-input-element,.rtl-container.yellow.day .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.yellow.day .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.yellow.day .mat-list-base .mat-list-item,.rtl-container.yellow.day .mat-list-base .mat-list-option{color:#000000de}.rtl-container.yellow.day .mat-list-base .mat-subheader{color:#0000008a}.rtl-container.yellow.day .mat-list-item-disabled{background-color:#eee}.rtl-container.yellow.day .mat-action-list .mat-list-item:focus,.rtl-container.yellow.day .mat-action-list .mat-list-item:hover,.rtl-container.yellow.day .mat-list-option:focus,.rtl-container.yellow.day .mat-list-option:hover,.rtl-container.yellow.day .mat-nav-list .mat-list-item:focus,.rtl-container.yellow.day .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.yellow.day .mat-list-single-selected-option,.rtl-container.yellow.day .mat-list-single-selected-option:focus,.rtl-container.yellow.day .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.yellow.day .mat-menu-panel{background:#fff}.rtl-container.yellow.day .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-menu-item{background:#0000;color:#000000de}.rtl-container.yellow.day .mat-menu-item[disabled],.rtl-container.yellow.day .mat-menu-item[disabled] .mat-icon-no-color,.rtl-container.yellow.day .mat-menu-item[disabled]:after{color:#00000061}.rtl-container.yellow.day .mat-menu-item-submenu-trigger:after,.rtl-container.yellow.day .mat-menu-item .mat-icon-no-color{color:#0000008a}.rtl-container.yellow.day .mat-menu-item-highlighted:not([disabled]),.rtl-container.yellow.day .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.yellow.day .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.yellow.day .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.yellow.day .mat-paginator{background:#fff}.rtl-container.yellow.day .mat-paginator,.rtl-container.yellow.day .mat-paginator-page-size .mat-select-trigger{color:#0000008a}.rtl-container.yellow.day .mat-paginator-decrement,.rtl-container.yellow.day .mat-paginator-increment{border-top:2px solid #0000008a;border-right:2px solid #0000008a}.rtl-container.yellow.day .mat-paginator-first,.rtl-container.yellow.day .mat-paginator-last{border-top:2px solid #0000008a}.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-decrement,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-first,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-increment,.rtl-container.yellow.day .mat-icon-button[disabled] .mat-paginator-last{border-color:#00000061}.rtl-container.yellow.day .mat-progress-bar-background{fill:#e1d3c3}.rtl-container.yellow.day .mat-progress-bar-buffer{background-color:#e1d3c3}.rtl-container.yellow.day .mat-progress-bar-fill:after{background-color:#945f1f}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.rtl-container.yellow.day .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#424242}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#e8bcc4}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#e8bcc4}.rtl-container.yellow.day .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.yellow.day .mat-progress-spinner circle,.rtl-container.yellow.day .mat-spinner circle{stroke:#945f1f}.rtl-container.yellow.day .mat-progress-spinner.mat-accent circle,.rtl-container.yellow.day .mat-spinner.mat-accent circle{stroke:#424242}.rtl-container.yellow.day .mat-progress-spinner.mat-warn circle,.rtl-container.yellow.day .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.yellow.day .mat-radio-outer-circle{border-color:#0000008a}.rtl-container.yellow.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#945f1f}.rtl-container.yellow.day .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#945f1f}.rtl-container.yellow.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#424242}.rtl-container.yellow.day .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#424242}.rtl-container.yellow.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.yellow.day .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.day .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.day .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle{border-color:#00000061}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:#00000061}.rtl-container.yellow.day .mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:#00000061}.rtl-container.yellow.day .mat-radio-button .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-select-value{color:#000000de}.rtl-container.yellow.day .mat-select-placeholder{color:#0000006b}.rtl-container.yellow.day .mat-select-disabled .mat-select-value{color:#00000061}.rtl-container.yellow.day .mat-select-arrow{color:#0000008a}.rtl-container.yellow.day .mat-select-panel{background:#fff}.rtl-container.yellow.day .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#945f1f}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#424242}.rtl-container.yellow.day .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.yellow.day .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.yellow.day .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#00000061}.rtl-container.yellow.day .mat-drawer-container{background-color:#fafafa;color:#000000de}.rtl-container.yellow.day .mat-drawer{background-color:#fff;color:#000000de}.rtl-container.yellow.day .mat-drawer.mat-drawer-push{background-color:#fff}.rtl-container.yellow.day .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.day .mat-drawer-side{border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-drawer-side.mat-drawer-end,.rtl-container.yellow.day [dir=rtl] .mat-drawer-side{border-left:1px solid #0000001f;border-right:none}.rtl-container.yellow.day [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #0000001f}.rtl-container.yellow.day .mat-drawer-backdrop.mat-drawer-shown{background-color:#0009}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#424242}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#4242428a}.rtl-container.yellow.day .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#424242}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#945f1f}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#945f1f8a}.rtl-container.yellow.day .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#945f1f}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.yellow.day .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.yellow.day .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.rtl-container.yellow.day .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#fafafa}.rtl-container.yellow.day .mat-slide-toggle-bar{background-color:#00000061}.rtl-container.yellow.day .mat-slider-track-background{background-color:#00000042}.rtl-container.yellow.day .mat-primary .mat-slider-thumb,.rtl-container.yellow.day .mat-primary .mat-slider-thumb-label,.rtl-container.yellow.day .mat-primary .mat-slider-track-fill{background-color:#945f1f}.rtl-container.yellow.day .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-primary .mat-slider-focus-ring{background-color:#945f1f33}.rtl-container.yellow.day .mat-accent .mat-slider-thumb,.rtl-container.yellow.day .mat-accent .mat-slider-thumb-label,.rtl-container.yellow.day .mat-accent .mat-slider-track-fill{background-color:#424242}.rtl-container.yellow.day .mat-accent .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-accent .mat-slider-focus-ring{background-color:#42424233}.rtl-container.yellow.day .mat-warn .mat-slider-thumb,.rtl-container.yellow.day .mat-warn .mat-slider-thumb-label,.rtl-container.yellow.day .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.yellow.day .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.day .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.yellow.day .cdk-focused .mat-slider-track-background,.rtl-container.yellow.day .mat-slider:hover .mat-slider-track-background{background-color:#00000061}.rtl-container.yellow.day .mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-disabled .mat-slider-track-background,.rtl-container.yellow.day .mat-slider-disabled .mat-slider-track-fill,.rtl-container.yellow.day .mat-slider-disabled:hover .mat-slider-track-background{background-color:#00000042}.rtl-container.yellow.day .mat-slider-min-value .mat-slider-focus-ring{background-color:#0000001f}.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#000000de}.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#00000042}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#00000042;background-color:initial}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#00000061}.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.day .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#00000042}.rtl-container.yellow.day .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#000000b3}.rtl-container.yellow.day .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#000000b3,#000000b3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.yellow.day .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#000000b3,#000000b3 2px,#0000 0,#0000)}.rtl-container.yellow.day .mat-step-header.cdk-keyboard-focused,.rtl-container.yellow.day .mat-step-header.cdk-program-focused,.rtl-container.yellow.day .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.yellow.day .mat-step-header:hover{background:none}}.rtl-container.yellow.day .mat-step-header .mat-step-label,.rtl-container.yellow.day .mat-step-header .mat-step-optional{color:#0000008a}.rtl-container.yellow.day .mat-step-header .mat-step-icon{background-color:#0000008a;color:#fff}.rtl-container.yellow.day .mat-step-header .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-edit{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon{color:#fff}.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#424242;color:#fff}.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.yellow.day .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.yellow.day .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.yellow.day .mat-step-header .mat-step-label.mat-step-label-active{color:#000000de}.rtl-container.yellow.day .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.yellow.day .mat-stepper-horizontal,.rtl-container.yellow.day .mat-stepper-vertical{background-color:#fff}.rtl-container.yellow.day .mat-stepper-vertical-line:before{border-left-color:#0000001f}.rtl-container.yellow.day .mat-horizontal-stepper-header:after,.rtl-container.yellow.day .mat-horizontal-stepper-header:before,.rtl-container.yellow.day .mat-stepper-horizontal-line{border-top-color:#0000001f}.rtl-container.yellow.day .mat-sort-header-arrow{color:#757575}.rtl-container.yellow.day .mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar{border-bottom:1px solid #0000001f}.rtl-container.yellow.day .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.yellow.day .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #0000001f;border-bottom:none}.rtl-container.yellow.day .mat-tab-label,.rtl-container.yellow.day .mat-tab-link{color:#000000de}.rtl-container.yellow.day .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-link.mat-tab-disabled{color:#00000061}.rtl-container.yellow.day .mat-tab-header-pagination-chevron{border-color:#000000de}.rtl-container.yellow.day .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#00000061}.rtl-container.yellow.day .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.day .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#945f1f}.rtl-container.yellow.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.yellow.day .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#424242}.rtl-container.yellow.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.day .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.yellow.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.day .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#945f1f}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#7575754d}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#424242}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.day .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.day .mat-toolbar{background:#f5f5f5;color:#000000de}.rtl-container.yellow.day .mat-toolbar.mat-primary{background:#945f1f;color:#fff}.rtl-container.yellow.day .mat-toolbar.mat-accent{background:#424242;color:#fff}.rtl-container.yellow.day .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.yellow.day .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.yellow.day .mat-toolbar .mat-form-field-ripple,.rtl-container.yellow.day .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.yellow.day .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.yellow.day .mat-toolbar .mat-form-field-label,.rtl-container.yellow.day .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.yellow.day .mat-toolbar .mat-select-arrow,.rtl-container.yellow.day .mat-toolbar .mat-select-value{color:inherit}.rtl-container.yellow.day .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.yellow.day .mat-tooltip{background:#616161e6}.rtl-container.yellow.day .mat-tree{background:#fff}.rtl-container.yellow.day .mat-nested-tree-node,.rtl-container.yellow.day .mat-tree-node{color:#000000de}.rtl-container.yellow.day .mat-snack-bar-container{color:#ffffffb3;background:#323232;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.day .mat-simple-snackbar-action{color:#424242}.rtl-container.yellow.day .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container{color:#fff}.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-progress-spinner circle,.rtl-container.yellow.day .cdk-overlay-container .cdk-global-overlay-wrapper .mat-dialog-container .spinner-container .mat-spinner circle{stroke:#fff}.rtl-container.yellow.day .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#616161}.rtl-container.yellow.day .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#eee}.rtl-container.yellow.day .rtl-top-toolbar{border-bottom:1px solid #fff}.rtl-container.yellow.day .bg-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.day .rtl-snack-bar{max-width:90vw!important}.rtl-container.yellow.day .mat-tab-label.mat-tab-label-active{color:#945f1f}.rtl-container.yellow.day .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#945f1f}.rtl-container.yellow.day .mat-tab-label .tab-badge .mat-badge-content{background:#0000008a}.rtl-container.yellow.day .mat-form-field-suffix,.rtl-container.yellow.day .mat-nested-tree-node-parent .mat-icon,.rtl-container.yellow.day .ng-fa-icon{color:#0000008a}.rtl-container.yellow.day .mat-stroked-button.mat-primary{border-color:#945f1f}.rtl-container.yellow.day .mat-stroked-button.mat-accent{border-color:#424242}.rtl-container.yellow.day .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.yellow.day .selected-color{border-color:#b48f62}.rtl-container.yellow.day .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{opacity:.06}.rtl-container.yellow.day .page-sub-title-container,.rtl-container.yellow.day .page-title-container{color:#0000008a}.rtl-container.yellow.day .page-sub-title-container .page-title-img,.rtl-container.yellow.day .page-title-container .page-title-img{color:#00000061}.rtl-container.yellow.day .page-sub-title-container .mat-input-element,.rtl-container.yellow.day .page-sub-title-container .mat-radio-label-content,.rtl-container.yellow.day .page-sub-title-container .theme-name,.rtl-container.yellow.day .page-title-container .mat-input-element,.rtl-container.yellow.day .page-title-container .mat-radio-label-content,.rtl-container.yellow.day .page-title-container .theme-name{color:#000000de}.rtl-container.yellow.day .cc-data-block .cc-data-title{color:#945f1f}.rtl-container.yellow.day .active-link,.rtl-container.yellow.day .active-link .fa-icon-small{color:#945f1f;font-weight:500;cursor:pointer;fill:#945f1f}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover,.rtl-container.yellow.day .mat-select-panel .mat-option:hover,.rtl-container.yellow.day .mat-tree-node:hover{color:#945f1f;cursor:pointer;background:#0000000a}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.yellow.day .mat-tree-node:hover .mat-icon,.rtl-container.yellow.day .mat-tree-node:hover .ng-fa-icon{color:#945f1f}.rtl-container.yellow.day .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.yellow.day .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.yellow.day .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.yellow.day .mat-tree-node:hover .sidenav-img svg{fill:#945f1f}.rtl-container.yellow.day .mat-nested-tree-node-parent .sidenav-img,.rtl-container.yellow.day .mat-nested-tree-node .sidenav-img,.rtl-container.yellow.day .mat-tree-node .sidenav-img,.rtl-container.yellow.day .page-title-container .page-title-img,.rtl-container.yellow.day svg.top-icon-small{fill:#000000de}.rtl-container.yellow.day .mat-progress-bar-fill:after{background-color:#65320a}.rtl-container.yellow.day .modal-qr-code-container{background:#0000001f}.rtl-container.yellow.day .mat-tab-label,.rtl-container.yellow.day .mat-tab-link{color:#0000008a}.rtl-container.yellow.day .mat-card,.rtl-container.yellow.day .mat-card:not([class*=mat-elevation-z]){box-shadow:none;border:1px solid #0000001f}.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title,.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#00000061}.rtl-container.yellow.day .dashboard-info-title{color:#945f1f}.rtl-container.yellow.day .dashboard-info-value{color:#0000008a}.rtl-container.yellow.day .color-primary{color:#945f1f!important}.rtl-container.yellow.day .dot-primary{background-color:#945f1f!important}.rtl-container.yellow.day .dot-primary-lighter{background-color:#b48f62!important}.rtl-container.yellow.day .mat-expansion-panel.flat-expansion-panel{border:1px solid #0000001f}.rtl-container.yellow.day .mat-tooltip{font-size:120%}.rtl-container.yellow.day svg .boltz-icon{stroke:#0000008a;stroke-width:4}.rtl-container.yellow.day svg .boltz-icon-fill{fill:#0000008a}.rtl-container.yellow.day svg .stroke-color-thicker{stroke:#404040;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thick{stroke:#404040;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color{stroke:#404040;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thin{stroke:#404040;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thiner{stroke:#404040;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .stroke-color-thinest{stroke:#404040;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.day svg .fill-color-boltz-bk{fill:#313131}.rtl-container.yellow.day svg .fill-color-0{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-1{fill:#fff}.rtl-container.yellow.day svg .fill-color-2{fill:#f1f1f1}.rtl-container.yellow.day svg .fill-color-3,.rtl-container.yellow.day svg .fill-color-4,.rtl-container.yellow.day svg .fill-color-5{fill:#f2f2f2}.rtl-container.yellow.day svg .fill-color-6{fill:#fff}.rtl-container.yellow.day svg .fill-color-7,.rtl-container.yellow.day svg .fill-color-8{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-9{fill:#fff}.rtl-container.yellow.day svg .fill-color-10,.rtl-container.yellow.day svg .fill-color-11{fill:#e6e6e6}.rtl-container.yellow.day svg .fill-color-12{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-13,.rtl-container.yellow.day svg .fill-color-14,.rtl-container.yellow.day svg .fill-color-15{fill:#4a4a4a}.rtl-container.yellow.day svg .fill-color-16,.rtl-container.yellow.day svg .fill-color-17{fill:#404040}.rtl-container.yellow.day svg .fill-color-18{fill:#000}.rtl-container.yellow.day svg .fill-color-19,.rtl-container.yellow.day svg .fill-color-20{fill:#4a4a4a}.rtl-container.yellow.day svg .fill-color-21{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-22,.rtl-container.yellow.day svg .fill-color-23{fill:#cbcbcb}.rtl-container.yellow.day svg .fill-color-24{fill:#000}.rtl-container.yellow.day svg .fill-color-25{fill:#f2f2f2}.rtl-container.yellow.day svg .fill-color-26{fill:#6f6f6f}.rtl-container.yellow.day svg .fill-color-27{fill:#000}.rtl-container.yellow.day svg .fill-color-28{fill:#313131}.rtl-container.yellow.day svg .fill-color-29{fill:#5b5b5b}.rtl-container.yellow.day svg .fill-color-30{fill:#fff}.rtl-container.yellow.day svg .fill-color-31{fill:#945f1f}.rtl-container.yellow.day svg .fill-color-green-light{fill:#6ecb48}.rtl-container.yellow.day svg .fill-color-primary{fill:#945f1f}.rtl-container.yellow.day svg .fill-color-primary-lighter{fill:#b48f62}.rtl-container.yellow.day svg .fill-color-primary-darker{fill:#945f1f}.rtl-container.yellow.day .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.yellow.day .mat-form-field-disabled .mat-form-field-flex{background-color:#0000000a}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#0000000a}.rtl-container.yellow.day .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.yellow.day ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#945f1f}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.yellow.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#65320a}.rtl-container.yellow.day ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.yellow.day ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#caaf8f}.rtl-container.yellow.day .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.yellow.day .mat-progress-bar-buffer{background-color:#dfcfbc}.rtl-container.yellow.day .foreground-text{color:#000000de!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.yellow.day .foreground-secondary-text{color:#0000008a!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.yellow.day .foreground.mat-progress-spinner circle,.rtl-container.yellow.day .foreground.mat-spinner circle{stroke:#000000de}.rtl-container.yellow.day .mat-toolbar-row,.rtl-container.yellow.day .mat-toolbar-single-row{height:5rem}.rtl-container.yellow.day .lnd-info{border-bottom:1px solid #0000001f}.rtl-container.yellow.day a{color:#945f1f}.rtl-container.yellow.day .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.yellow.day .h-active-link{border-bottom:2px solid #fff}.rtl-container.yellow.day .mat-icon-36{color:#0000008a}.rtl-container.yellow.day .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.day .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.yellow.day .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.yellow.day .genseed-message{width:10%;color:#945f1f}.rtl-container.yellow.day .material-icons.primary{color:#945f1f}.rtl-container.yellow.day .material-icons.accent{color:#424242}.rtl-container.yellow.day .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.yellow.day .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.yellow.day .row-disabled{background-color:gray}.rtl-container.yellow.day .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.yellow.day .mat-menu-panel{min-width:6.4rem}.rtl-container.yellow.day .horizontal-button{height:5rem;border-radius:0}.rtl-container.yellow.day .horizontal-button:hover{background:#b48f62;color:#424242}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#945f1f}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.day .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.yellow.day .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.yellow.day .cc-data-block .cc-data-value{font-size:120%;color:#0000008a;margin-right:4rem;min-width:7rem}.rtl-container.yellow.day .mat-cell,.rtl-container.yellow.day .mat-footer-cell,.rtl-container.yellow.day .mat-header-cell{border-bottom:1px solid #0000001f}.rtl-container.yellow.day table.mat-table{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.yellow.day table.mat-table thead tr th{color:#000}.rtl-container.yellow.day table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.yellow.day .bordered-box{border:1px solid #0000001f;border-radius:4px;background:none}.rtl-container.yellow.day .bordered-box.read-only{background-color:#0000000a}.rtl-container.yellow.day .mat-expansion-panel{border:1px solid #0000001f}.rtl-container.yellow.day .more-button{color:#00000061}.rtl-container.yellow.day .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.yellow.day .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.yellow.day .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.yellow.day .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.yellow.day .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.yellow.day .modal-info-header{color:#000000de;font-weight:500}.rtl-container.yellow.day .modal-info-header .page-title-img svg{color:#000000de}.rtl-container.yellow.day .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.yellow.day .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.yellow.day .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.yellow.day .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.yellow.day .table-actions-select .mat-select-placeholder{color:#000000de}.rtl-container.yellow.day .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.yellow.day .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.yellow.day .mat-drawer-inner-container{overflow:hidden}.rtl-container.yellow.day .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.yellow.day .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#caaf8f!important}.rtl-container.yellow.day .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#8c571b!important}.rtl-container.yellow.day .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.yellow.day .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.yellow.day .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.yellow.day .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.yellow.day .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid #0000008a}.rtl-container.yellow.day .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.yellow.day .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700;color:#0000008a}.rtl-container.yellow.day .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.yellow.day .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.yellow.day .color-warn{color:#b00020}.rtl-container.yellow.day .fill-warn{fill:#b00020}.rtl-container.yellow.day .alert{border:1px solid #0000008a;color:#0000008a;background-color:#0000000a}.rtl-container.yellow.day .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.yellow.day .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.yellow.day .alert.alert-info a{color:#004085}.rtl-container.yellow.day .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.yellow.day .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.yellow.day .alert.alert-warn a{color:#856404}.rtl-container.yellow.day .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.yellow.day .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.yellow.day .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.yellow.day .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header-title{font-weight:500;color:#0000008a}.rtl-container.yellow.day .help-expansion .mat-expansion-indicator:after,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-content,.rtl-container.yellow.day .help-expansion .mat-expansion-panel-header-description{color:#0000008a}.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.yellow.day .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.yellow.day .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.yellow.day .failed-status{color:#b00020}.rtl-container.yellow.day .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.yellow.day .svg-fill-primary{fill:#945f1f}.rtl-container.yellow.day .svg-fill-primary-lighter{fill:#b48f62}.rtl-container.yellow.day .mat-expansion-panel-header[aria-disabled=true]{color:#000000de}.rtl-container.yellow.day ngx-charts-bar-vertical-2d text,.rtl-container.yellow.day ngx-charts-bar-vertical text{fill:#000000de}.rtl-container.yellow.day ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.yellow.day ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.yellow.day .mat-paginator-container{padding:0}.rtl-container.yellow.night .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-option{color:#fff}.rtl-container.yellow.night .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.night .mat-option:focus:not(.mat-option-disabled),.rtl-container.yellow.night .mat-option:hover:not(.mat-option-disabled){background:#0000000a}.rtl-container.yellow.night .mat-option.mat-active{background:#0000000a;color:#fff}.rtl-container.yellow.night .mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#945f1f}.rtl-container.yellow.night .mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#eee}.rtl-container.yellow.night .mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#b00020}.rtl-container.yellow.night .mat-pseudo-checkbox:after{color:#0d0d0d}.rtl-container.yellow.night .mat-pseudo-checkbox-disabled{color:#686868}.rtl-container.yellow.night .mat-primary .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-primary .mat-pseudo-checkbox-indeterminate{background:#945f1f}.rtl-container.yellow.night .mat-accent .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-accent .mat-pseudo-checkbox-indeterminate,.rtl-container.yellow.night .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-pseudo-checkbox-indeterminate{background:#eee}.rtl-container.yellow.night .mat-warn .mat-pseudo-checkbox-checked,.rtl-container.yellow.night .mat-warn .mat-pseudo-checkbox-indeterminate{background:#b00020}.rtl-container.yellow.night .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.rtl-container.yellow.night .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.rtl-container.yellow.night.mat-app-background,.rtl-container.yellow.night .mat-app-background{background-color:#0d0d0d;color:#fff}.rtl-container.yellow.night .mat-elevation-z0{box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px 0 #00000024,0 1px 14px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.rtl-container.yellow.night .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.night .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.rtl-container.yellow.night .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.rtl-container.yellow.night .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.rtl-container.yellow.night .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.rtl-container.yellow.night .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.rtl-container.yellow.night .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.rtl-container.yellow.night .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.rtl-container.yellow.night .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.rtl-container.yellow.night .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.rtl-container.yellow.night .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}.rtl-container.yellow.night .mat-autocomplete-panel{background:#202020;color:#fff}.rtl-container.yellow.night .mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#202020}.rtl-container.yellow.night .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.rtl-container.yellow.night .mat-badge-content{color:#fff;background:#945f1f}.cdk-high-contrast-active .rtl-container.yellow.night .mat-badge-content{outline:1px solid;border-radius:0}.rtl-container.yellow.night .mat-badge-accent .mat-badge-content{background:#eee;color:#000}.rtl-container.yellow.night .mat-badge-warn .mat-badge-content{color:#fff;background:#b00020}.rtl-container.yellow.night .mat-badge{position:relative}.rtl-container.yellow.night .mat-badge-hidden .mat-badge-content{display:none}.rtl-container.yellow.night .mat-badge-disabled .mat-badge-content{background:#4c4c4c}.rtl-container.yellow.night .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.rtl-container.yellow.night .mat-badge-content._mat-animation-noopable,.rtl-container.yellow.night .ng-animate-disabled .mat-badge-content{transition:none}.rtl-container.yellow.night .mat-badge-content.mat-badge-active{transform:none}.rtl-container.yellow.night .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .rtl-container.yellow.night .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.rtl-container.yellow.night .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .rtl-container.yellow.night .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.rtl-container.yellow.night .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .rtl-container.yellow.night .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.rtl-container.yellow.night .mat-bottom-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;background:#262626;color:#fff}.rtl-container.yellow.night .mat-button,.rtl-container.yellow.night .mat-icon-button,.rtl-container.yellow.night .mat-stroked-button{color:inherit;background:#0000}.rtl-container.yellow.night .mat-button.mat-primary,.rtl-container.yellow.night .mat-icon-button.mat-primary,.rtl-container.yellow.night .mat-stroked-button.mat-primary{color:#945f1f}.rtl-container.yellow.night .mat-button.mat-accent,.rtl-container.yellow.night .mat-icon-button.mat-accent,.rtl-container.yellow.night .mat-stroked-button.mat-accent{color:#eee}.rtl-container.yellow.night .mat-button.mat-warn,.rtl-container.yellow.night .mat-icon-button.mat-warn,.rtl-container.yellow.night .mat-stroked-button.mat-warn{color:#b00020}.rtl-container.yellow.night .mat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-icon-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-stroked-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.yellow.night .mat-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-primary .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#945f1f}.rtl-container.yellow.night .mat-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-accent .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#eee}.rtl-container.yellow.night .mat-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-warn .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#b00020}.rtl-container.yellow.night .mat-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.night .mat-icon-button.mat-button-disabled .mat-button-focus-overlay,.rtl-container.yellow.night .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay{background-color:initial}.rtl-container.yellow.night .mat-button .mat-ripple-element,.rtl-container.yellow.night .mat-icon-button .mat-ripple-element,.rtl-container.yellow.night .mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.rtl-container.yellow.night .mat-button-focus-overlay{background:#fff}.rtl-container.yellow.night .mat-stroked-button:not(.mat-button-disabled){border-color:#ffffff4d}.rtl-container.yellow.night .mat-fab,.rtl-container.yellow.night .mat-flat-button,.rtl-container.yellow.night .mat-mini-fab,.rtl-container.yellow.night .mat-raised-button{color:#fff;background-color:#363636}.rtl-container.yellow.night .mat-fab.mat-primary,.rtl-container.yellow.night .mat-flat-button.mat-primary,.rtl-container.yellow.night .mat-mini-fab.mat-primary,.rtl-container.yellow.night .mat-raised-button.mat-primary{color:#fff}.rtl-container.yellow.night .mat-fab.mat-accent,.rtl-container.yellow.night .mat-flat-button.mat-accent,.rtl-container.yellow.night .mat-mini-fab.mat-accent,.rtl-container.yellow.night .mat-raised-button.mat-accent{color:#000}.rtl-container.yellow.night .mat-fab.mat-warn,.rtl-container.yellow.night .mat-flat-button.mat-warn,.rtl-container.yellow.night .mat-mini-fab.mat-warn,.rtl-container.yellow.night .mat-raised-button.mat-warn{color:#fff}.rtl-container.yellow.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-warn.mat-button-disabled{color:#ffffff42}.rtl-container.yellow.night .mat-fab.mat-primary,.rtl-container.yellow.night .mat-flat-button.mat-primary,.rtl-container.yellow.night .mat-mini-fab.mat-primary,.rtl-container.yellow.night .mat-raised-button.mat-primary{background-color:#945f1f}.rtl-container.yellow.night .mat-fab.mat-accent,.rtl-container.yellow.night .mat-flat-button.mat-accent,.rtl-container.yellow.night .mat-mini-fab.mat-accent,.rtl-container.yellow.night .mat-raised-button.mat-accent{background-color:#eee}.rtl-container.yellow.night .mat-fab.mat-warn,.rtl-container.yellow.night .mat-flat-button.mat-warn,.rtl-container.yellow.night .mat-mini-fab.mat-warn,.rtl-container.yellow.night .mat-raised-button.mat-warn{background-color:#b00020}.rtl-container.yellow.night .mat-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-flat-button.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-mini-fab.mat-warn.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-accent.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-button-disabled.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-primary.mat-button-disabled,.rtl-container.yellow.night .mat-raised-button.mat-warn.mat-button-disabled{background-color:#404040}.rtl-container.yellow.night .mat-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.night .mat-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-flat-button.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-mini-fab.mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-raised-button.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-flat-button:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.rtl-container.yellow.night .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-fab:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.rtl-container.yellow.night .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]),.rtl-container.yellow.night .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-button-toggle-group,.rtl-container.yellow.night .mat-button-toggle-standalone{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.rtl-container.yellow.night .mat-button-toggle-appearance-standard{color:#fff;background:#202020}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid #ffffff4d}.rtl-container.yellow.night [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid #ffffff4d}.rtl-container.yellow.night .mat-button-toggle-checked{background-color:#303030}.rtl-container.yellow.night .mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:#fff}.rtl-container.yellow.night .mat-button-toggle-disabled{color:#ffffff42;background-color:#404040}.rtl-container.yellow.night .mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#202020}.rtl-container.yellow.night .mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#363636}.rtl-container.yellow.night .mat-button-toggle-group-appearance-standard,.rtl-container.yellow.night .mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:1px solid #ffffff4d}.rtl-container.yellow.night .mat-card{background:#202020;color:#fff}.rtl-container.yellow.night .mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f}.rtl-container.yellow.night .mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 #0003,0 0 0 0 #00000024,0 0 0 0 #0000001f}.rtl-container.yellow.night .mat-checkbox-checkmark{fill:#0d0d0d}.rtl-container.yellow.night .mat-checkbox-checkmark-path{stroke:#0d0d0d!important}.rtl-container.yellow.night .mat-checkbox-mixedmark{background-color:#0d0d0d}.rtl-container.yellow.night .mat-checkbox-checked.mat-primary .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#945f1f}.rtl-container.yellow.night .mat-checkbox-checked.mat-accent .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#eee}.rtl-container.yellow.night .mat-checkbox-checked.mat-warn .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#b00020}.rtl-container.yellow.night .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.rtl-container.yellow.night .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.rtl-container.yellow.night .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.rtl-container.yellow.night .mat-checkbox .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#945f1f}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#eee}.rtl-container.yellow.night .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.rtl-container.yellow.night .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#b00020}.rtl-container.yellow.night .mat-chip.mat-standard-chip{background-color:#404040;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f}.rtl-container.yellow.night .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip:after{background:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#b00020;color:#fff}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background-color:#ffffff1a}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#000;opacity:.4}.rtl-container.yellow.night .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background-color:#0000001a}.rtl-container.yellow.night .mat-table{background:#202020}.rtl-container.yellow.night .mat-table-sticky,.rtl-container.yellow.night .mat-table tbody,.rtl-container.yellow.night .mat-table tfoot,.rtl-container.yellow.night .mat-table thead,.rtl-container.yellow.night [mat-footer-row],.rtl-container.yellow.night [mat-header-row],.rtl-container.yellow.night [mat-row],.rtl-container.yellow.night mat-footer-row,.rtl-container.yellow.night mat-header-row,.rtl-container.yellow.night mat-row{background:inherit}.rtl-container.yellow.night mat-footer-row,.rtl-container.yellow.night mat-header-row,.rtl-container.yellow.night mat-row,.rtl-container.yellow.night td.mat-cell,.rtl-container.yellow.night td.mat-footer-cell,.rtl-container.yellow.night th.mat-header-cell{border-bottom-color:#ffffff4d}.rtl-container.yellow.night .mat-cell,.rtl-container.yellow.night .mat-footer-cell{color:#fff}.rtl-container.yellow.night .mat-calendar-arrow{border-top-color:#fff}.rtl-container.yellow.night .mat-datepicker-content .mat-calendar-next-button,.rtl-container.yellow.night .mat-datepicker-content .mat-calendar-previous-button,.rtl-container.yellow.night .mat-datepicker-toggle{color:#fff}.rtl-container.yellow.night .mat-calendar-table-header-divider:after{background:#ffffff4d}.rtl-container.yellow.night .mat-calendar-body-cell-content,.rtl-container.yellow.night .mat-date-range-input-separator{color:#fff;border-color:#0000}.rtl-container.yellow.night .mat-calendar-body-in-preview{color:#fff9}.rtl-container.yellow.night .mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){opacity:.5}.rtl-container.yellow.night .mat-calendar-body-in-range:before{background:#945f1f33}.rtl-container.yellow.night .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#945f1f33 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-calendar-body-selected{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#945f1f66}.rtl-container.yellow.night .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.night .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#945f1f4d}.rtl-container.yellow.night .mat-datepicker-content{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;background-color:#202020;color:#fff}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background:#eee3}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#eee3 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#eee3 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#eee6}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #000}.rtl-container.yellow.night .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#eeeeee4d}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range:before{background:#b0002033}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range:before{background:#f9ab0033}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start:before,.rtl-container.yellow.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end:before{background:linear-gradient(90deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end:before,.rtl-container.yellow.night .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start:before{background:linear-gradient(270deg,#b0002033 50%,#f9ab0033 0)}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range:after,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-range>.mat-calendar-body-comparison-identical{background:#a8dab5}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:#46a35e}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#b00020;color:#fff}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:#b0002066}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.rtl-container.yellow.night .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.rtl-container.yellow.night .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#b000204d}.rtl-container.yellow.night .mat-datepicker-content-touch{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.rtl-container.yellow.night .mat-datepicker-toggle-active{color:#945f1f}.rtl-container.yellow.night .mat-datepicker-toggle-active.mat-accent{color:#eee}.rtl-container.yellow.night .mat-datepicker-toggle-active.mat-warn{color:#b00020}.rtl-container.yellow.night .mat-dialog-container{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;background:#262626;color:#fff}.rtl-container.yellow.night .mat-divider{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-divider-vertical{border-right-color:#ffffff4d}.rtl-container.yellow.night .mat-expansion-panel{background:#202020;color:#fff}.rtl-container.yellow.night .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.rtl-container.yellow.night .mat-action-row{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]),.rtl-container.yellow.night .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]),.rtl-container.yellow.night .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]){background:#0000000a}@media (hover:none){.rtl-container.yellow.night .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#202020}}.rtl-container.yellow.night .mat-expansion-panel-header-title{color:#fff}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true]{color:#ffffff42}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label{color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#b00020}.rtl-container.yellow.night .mat-focused .mat-form-field-required-marker{color:#eee}.rtl-container.yellow.night .mat-form-field-ripple{background-color:#fff}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#b00020}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#945f1f}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#eee}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#b00020}.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.rtl-container.yellow.night .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#b00020}.rtl-container.yellow.night .mat-error{color:#b00020}.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.yellow.night .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.night .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}.rtl-container.yellow.night .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(90deg,#ffffffb3 0,#ffffffb3 33%,#0000 0);background-size:4px 100%;background-repeat:repeat-x}.rtl-container.yellow.night .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}.rtl-container.yellow.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}.rtl-container.yellow.night .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}.rtl-container.yellow.night .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:initial}.rtl-container.yellow.night .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}.rtl-container.yellow.night .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#945f1f}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#eee}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#b00020}.rtl-container.yellow.night .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}.rtl-container.yellow.night .mat-icon.mat-primary{color:#945f1f}.rtl-container.yellow.night .mat-icon.mat-accent{color:#eee}.rtl-container.yellow.night .mat-icon.mat-warn{color:#b00020}.rtl-container.yellow.night .mat-input-element{caret-color:#945f1f}.rtl-container.yellow.night .mat-input-element option{color:#000000de}.rtl-container.yellow.night .mat-input-element option:disabled{color:#00000061}.rtl-container.yellow.night .mat-form-field.mat-accent .mat-input-element{caret-color:#eee}.rtl-container.yellow.night .mat-form-field-invalid .mat-input-element,.rtl-container.yellow.night .mat-form-field.mat-warn .mat-input-element{caret-color:#b00020}.rtl-container.yellow.night .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix:after{color:#b00020}.rtl-container.yellow.night .mat-list-base .mat-list-item,.rtl-container.yellow.night .mat-list-base .mat-list-option{color:#fff}.rtl-container.yellow.night .mat-list-item-disabled{background-color:#444}.rtl-container.yellow.night .mat-action-list .mat-list-item:focus,.rtl-container.yellow.night .mat-action-list .mat-list-item:hover,.rtl-container.yellow.night .mat-list-option:focus,.rtl-container.yellow.night .mat-list-option:hover,.rtl-container.yellow.night .mat-nav-list .mat-list-item:focus,.rtl-container.yellow.night .mat-nav-list .mat-list-item:hover{background:#0000000a}.rtl-container.yellow.night .mat-list-single-selected-option,.rtl-container.yellow.night .mat-list-single-selected-option:focus,.rtl-container.yellow.night .mat-list-single-selected-option:hover{background:#0000001f}.rtl-container.yellow.night .mat-menu-panel{background:#202020}.rtl-container.yellow.night .mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-menu-item{background:#0000;color:#fff}.rtl-container.yellow.night .mat-menu-item-submenu-trigger:after,.rtl-container.yellow.night .mat-menu-item .mat-icon-no-color{color:#fff}.rtl-container.yellow.night .mat-menu-item-highlighted:not([disabled]),.rtl-container.yellow.night .mat-menu-item.cdk-keyboard-focused:not([disabled]),.rtl-container.yellow.night .mat-menu-item.cdk-program-focused:not([disabled]),.rtl-container.yellow.night .mat-menu-item:hover:not([disabled]){background:#0000000a}.rtl-container.yellow.night .mat-paginator{background:#202020}.rtl-container.yellow.night .mat-paginator-decrement,.rtl-container.yellow.night .mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.rtl-container.yellow.night .mat-paginator-first,.rtl-container.yellow.night .mat-paginator-last{border-top:2px solid #fff}.rtl-container.yellow.night .mat-progress-bar-background{fill:#2f2212}.rtl-container.yellow.night .mat-progress-bar-buffer{background-color:#2f2212}.rtl-container.yellow.night .mat-progress-bar-fill:after{background-color:#945f1f}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#454545}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#454545}.rtl-container.yellow.night .mat-progress-bar.mat-accent .mat-progress-bar-fill:after{background-color:#eee}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#360a12}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#360a12}.rtl-container.yellow.night .mat-progress-bar.mat-warn .mat-progress-bar-fill:after{background-color:#b00020}.rtl-container.yellow.night .mat-progress-spinner circle,.rtl-container.yellow.night .mat-spinner circle{stroke:#945f1f}.rtl-container.yellow.night .mat-progress-spinner.mat-accent circle,.rtl-container.yellow.night .mat-spinner.mat-accent circle{stroke:#eee}.rtl-container.yellow.night .mat-progress-spinner.mat-warn circle,.rtl-container.yellow.night .mat-spinner.mat-warn circle{stroke:#b00020}.rtl-container.yellow.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#945f1f}.rtl-container.yellow.night .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-primary .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#945f1f}.rtl-container.yellow.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#eee}.rtl-container.yellow.night .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-accent .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#eee}.rtl-container.yellow.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#b00020}.rtl-container.yellow.night .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.rtl-container.yellow.night .mat-radio-button.mat-warn .mat-radio-inner-circle,.rtl-container.yellow.night .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.rtl-container.yellow.night .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#b00020}.rtl-container.yellow.night .mat-radio-button .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-select-value{color:#fff}.rtl-container.yellow.night .mat-select-panel{background:#202020}.rtl-container.yellow.night .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:#0000001f}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#945f1f}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#eee}.rtl-container.yellow.night .mat-form-field.mat-focused.mat-warn .mat-select-arrow,.rtl-container.yellow.night .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#b00020}.rtl-container.yellow.night .mat-drawer-container{background-color:#0d0d0d;color:#fff}.rtl-container.yellow.night .mat-drawer{background-color:#262626;color:#fff}.rtl-container.yellow.night .mat-drawer.mat-drawer-push{background-color:#262626}.rtl-container.yellow.night .mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.rtl-container.yellow.night .mat-drawer-side{border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-drawer-side.mat-drawer-end,.rtl-container.yellow.night [dir=rtl] .mat-drawer-side{border-left:1px solid #ffffff4d;border-right:none}.rtl-container.yellow.night [dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid #ffffff4d}.rtl-container.yellow.night .mat-drawer-backdrop.mat-drawer-shown{background-color:#dfdfdf99}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#eee}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#eeeeee8a}.rtl-container.yellow.night .mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#eee}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#945f1f}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:#945f1f8a}.rtl-container.yellow.night .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#945f1f}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#b00020}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:#b000208a}.rtl-container.yellow.night .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#b00020}.rtl-container.yellow.night .mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#fff}.rtl-container.yellow.night .mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;background-color:#bdbdbd}.rtl-container.yellow.night .mat-slider-track-background{background-color:#ffffff80}.rtl-container.yellow.night .mat-primary .mat-slider-thumb,.rtl-container.yellow.night .mat-primary .mat-slider-thumb-label,.rtl-container.yellow.night .mat-primary .mat-slider-track-fill{background-color:#945f1f}.rtl-container.yellow.night .mat-primary .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.night .mat-primary .mat-slider-focus-ring{background-color:#945f1f33}.rtl-container.yellow.night .mat-accent .mat-slider-thumb,.rtl-container.yellow.night .mat-accent .mat-slider-thumb-label,.rtl-container.yellow.night .mat-accent .mat-slider-track-fill{background-color:#eee}.rtl-container.yellow.night .mat-accent .mat-slider-thumb-label-text{color:#000}.rtl-container.yellow.night .mat-accent .mat-slider-focus-ring{background-color:#eee3}.rtl-container.yellow.night .mat-warn .mat-slider-thumb,.rtl-container.yellow.night .mat-warn .mat-slider-thumb-label,.rtl-container.yellow.night .mat-warn .mat-slider-track-fill{background-color:#b00020}.rtl-container.yellow.night .mat-warn .mat-slider-thumb-label-text{color:#fff}.rtl-container.yellow.night .mat-warn .mat-slider-focus-ring{background-color:#b0002033}.rtl-container.yellow.night .cdk-focused .mat-slider-track-background,.rtl-container.yellow.night .mat-slider:hover .mat-slider-track-background{background-color:#fff9}.rtl-container.yellow.night .mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-disabled .mat-slider-track-background,.rtl-container.yellow.night .mat-slider-disabled .mat-slider-track-fill,.rtl-container.yellow.night .mat-slider-disabled:hover .mat-slider-track-background{background-color:#ffffff80}.rtl-container.yellow.night .mat-slider-min-value .mat-slider-focus-ring{background-color:#ffffff1f}.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:#ffffff80}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:#ffffff80;background-color:initial}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:#fff9}.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.rtl-container.yellow.night .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:#ffffff80}.rtl-container.yellow.night .mat-slider-has-ticks .mat-slider-wrapper:after{border-color:#ffffffb3}.rtl-container.yellow.night .mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(90deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000);background-image:-moz-repeating-linear-gradient(.0001deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.yellow.night .mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(180deg,#ffffffb3,#ffffffb3 2px,#0000 0,#0000)}.rtl-container.yellow.night .mat-step-header.cdk-keyboard-focused,.rtl-container.yellow.night .mat-step-header.cdk-program-focused,.rtl-container.yellow.night .mat-step-header:hover{background-color:#0000000a}@media (hover:none){.rtl-container.yellow.night .mat-step-header:hover{background:none}}.rtl-container.yellow.night .mat-step-header .mat-step-icon{color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-edit{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon{color:#000}.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header.mat-accent .mat-step-icon-state-edit{background-color:#eee;color:#000}.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon{color:#fff}.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-selected,.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-state-done,.rtl-container.yellow.night .mat-step-header.mat-warn .mat-step-icon-state-edit{background-color:#b00020;color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-icon-state-error{background-color:initial;color:#b00020}.rtl-container.yellow.night .mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.rtl-container.yellow.night .mat-step-header .mat-step-label.mat-step-label-error{color:#b00020}.rtl-container.yellow.night .mat-stepper-horizontal,.rtl-container.yellow.night .mat-stepper-vertical{background-color:#202020}.rtl-container.yellow.night .mat-stepper-vertical-line:before{border-left-color:#ffffff4d}.rtl-container.yellow.night .mat-horizontal-stepper-header:after,.rtl-container.yellow.night .mat-horizontal-stepper-header:before,.rtl-container.yellow.night .mat-stepper-horizontal-line{border-top-color:#ffffff4d}.rtl-container.yellow.night .mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night .mat-tab-group-inverted-header .mat-tab-header,.rtl-container.yellow.night .mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid #ffffff4d;border-bottom:none}.rtl-container.yellow.night .mat-tab-label,.rtl-container.yellow.night .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-header-pagination-chevron{border-color:#fff}.rtl-container.yellow.night .mat-tab-group[class*=mat-background-] .mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#945f1f}.rtl-container.yellow.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary.mat-background-primary>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.yellow.night .mat-tab-group.mat-accent .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#eee}.rtl-container.yellow.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-accent.mat-background-accent>.mat-tab-link-container .mat-ink-bar{background-color:#000}.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.night .mat-tab-group.mat-warn .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#b00020}.rtl-container.yellow.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-group.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-header .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-warn.mat-background-warn>.mat-tab-link-container .mat-ink-bar{background-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#b48f624d}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container{background-color:#945f1f}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-primary>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#9999994d}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container{background-color:#eee}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link{color:#000}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#0006}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-focus-indicator:before{border-color:#000}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#0006}.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-accent>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-accent>.mat-tab-link-container .mat-ripple-element{background-color:#0000001f}.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:#e7b3bc4d}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container{background-color:#b00020}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link{color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-label.mat-tab-disabled,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-tab-link.mat-tab-disabled{color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-focus-indicator:before,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-focus-indicator:before{border-color:#fff}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#fff6}.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-group.mat-background-warn>.mat-tab-link-container .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header-pagination .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-header .mat-ripple-element,.rtl-container.yellow.night .mat-tab-nav-bar.mat-background-warn>.mat-tab-link-container .mat-ripple-element{background-color:#ffffff1f}.rtl-container.yellow.night .mat-toolbar{background:#262626;color:#fff}.rtl-container.yellow.night .mat-toolbar.mat-primary{background:#945f1f;color:#fff}.rtl-container.yellow.night .mat-toolbar.mat-accent{background:#eee;color:#000}.rtl-container.yellow.night .mat-toolbar.mat-warn{background:#b00020;color:#fff}.rtl-container.yellow.night .mat-toolbar .mat-focused .mat-form-field-ripple,.rtl-container.yellow.night .mat-toolbar .mat-form-field-ripple,.rtl-container.yellow.night .mat-toolbar .mat-form-field-underline{background-color:currentColor}.rtl-container.yellow.night .mat-toolbar .mat-focused .mat-form-field-label,.rtl-container.yellow.night .mat-toolbar .mat-form-field-label,.rtl-container.yellow.night .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.rtl-container.yellow.night .mat-toolbar .mat-select-arrow,.rtl-container.yellow.night .mat-toolbar .mat-select-value{color:inherit}.rtl-container.yellow.night .mat-toolbar .mat-input-element{caret-color:currentColor}.rtl-container.yellow.night .mat-tree{background:#202020}.rtl-container.yellow.night .mat-nested-tree-node,.rtl-container.yellow.night .mat-tree-node{color:#fff}.rtl-container.yellow.night .mat-snack-bar-container{color:#000000de;background:#fafafa;box-shadow:0 3px 5px -1px #0003,0 6px 10px 0 #00000024,0 1px 18px 0 #0000001f}.rtl-container.yellow.night .mat-simple-snackbar-action{color:inherit}.rtl-container.yellow.night .mat-primary{color:#ffa164}.rtl-container.yellow.night .mat-button-base.mat-flat-button.mat-primary{color:#fff}.rtl-container.yellow.night .rtl-top-toolbar{border-bottom:1px solid #202020}.rtl-container.yellow.night .bg-primary{background-color:#945f1f;color:#fff}.rtl-container.yellow.night .mat-tab-label.mat-tab-label-active{color:#ffa164}.rtl-container.yellow.night .mat-tab-label.mat-tab-label-active .tab-badge .mat-badge-content{background:#ffa164}.rtl-container.yellow.night .mat-tab-label .tab-badge .mat-badge-content{color:#262626}.rtl-container.yellow.night .rtl-snack-bar{max-width:90vw!important}.rtl-container.yellow.night .mat-tab-group.mat-primary .mat-ink-bar,.rtl-container.yellow.night .mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#ffa164}.rtl-container.yellow.night .cc-data-block .cc-data-title{color:#ffa164}.rtl-container.yellow.night .mat-stroked-button.mat-primary{border-color:#ffa164;color:#ffa164}.rtl-container.yellow.night .mat-stroked-button.mat-primary:hover .mat-button-focus-overlay{background-color:#fff;opacity:.09}.rtl-container.yellow.night .mat-stroked-button.mat-accent{border-color:#eee}.rtl-container.yellow.night .mat-stroked-button.mat-warn{border-color:#b00020}.rtl-container.yellow.night .active-link,.rtl-container.yellow.night .active-link .fa-icon-small,.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active,.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active .fa-icon-small{color:#ffa164;font-weight:500;cursor:pointer;fill:#ffa164}.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover,.rtl-container.yellow.night .mat-select-panel .mat-option:hover,.rtl-container.yellow.night .mat-tree-node:hover{color:#ffa164;cursor:pointer;background:#ffffff0f}.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .mat-icon,.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .ng-fa-icon,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .mat-icon,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .ng-fa-icon,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .mat-icon,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .ng-fa-icon,.rtl-container.yellow.night .mat-tree-node:hover .mat-icon,.rtl-container.yellow.night .mat-tree-node:hover .ng-fa-icon{color:#ffa164}.rtl-container.yellow.night .mat-menu-panel .mat-menu-content .mat-menu-item:hover .sidenav-img svg,.rtl-container.yellow.night .mat-nested-tree-node-parent:hover .sidenav-img svg,.rtl-container.yellow.night .mat-select-panel .mat-option:hover .sidenav-img svg,.rtl-container.yellow.night .mat-tree-node:hover .sidenav-img svg{fill:#ffa164}.rtl-container.yellow.night .mat-nested-tree-node-parent .sidenav-img,.rtl-container.yellow.night .mat-nested-tree-node .sidenav-img,.rtl-container.yellow.night .mat-tree-node .sidenav-img,.rtl-container.yellow.night .page-title-container .page-title-img,.rtl-container.yellow.night svg.top-icon-small{fill:#fff}.rtl-container.yellow.night .selected-color{border-color:#b48f62}.rtl-container.yellow.night .mat-progress-bar-fill:after{background-color:#8c571b}.rtl-container.yellow.night .chart-legend .legend-label .active .legend-label-text,.rtl-container.yellow.night .chart-legend .legend-label:hover{color:#fff!important}.rtl-container.yellow.night .cdk-overlay-container .cdk-overlay-dark-backdrop{background:#0009}.rtl-container.yellow.night .mat-tree{background:#262626}.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title,.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title .ng-fa-icon{color:#fff}.rtl-container.yellow.night .dashboard-info-title{color:#ffa164}.rtl-container.yellow.night .dashboard-capacity-header,.rtl-container.yellow.night .dashboard-info-value{color:#fff}.rtl-container.yellow.night .mat-progress-bar.this-channel-bar .mat-progress-bar-fill:after{background-color:#444}.rtl-container.yellow.night .mat-progress-bar.this-channel-bar .mat-progress-bar-buffer{background-color:#bbb}.rtl-container.yellow.night .color-primary{color:#ffa164!important}.rtl-container.yellow.night .dot-primary{background-color:#ffa164!important}.rtl-container.yellow.night .dot-primary-lighter{background-color:#945f1f!important}.rtl-container.yellow.night .mat-stepper-vertical{background-color:#262626}.rtl-container.yellow.night svg .boltz-icon{stroke:#fff;stroke-width:4}.rtl-container.yellow.night svg .boltz-icon-fill{fill:#fff}.rtl-container.yellow.night svg .stroke-color-thicker{stroke:#b6b6b6;stroke-width:15.3333;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thick{stroke:#b6b6b6;stroke-width:13.4583;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color{stroke:#b6b6b6;stroke-width:12.5;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thin{stroke:#b6b6b6;stroke-width:11.625;stroke-miterlimit:10;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thiner{stroke:#b6b6b6;stroke-width:10.125;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .stroke-color-thinest{stroke:#b6b6b6;stroke-width:9.40381;stroke-linecap:"round";stroke-linejoin:"round"}.rtl-container.yellow.night svg .fill-color-0,.rtl-container.yellow.night svg .fill-color-boltz-bk{fill:#171717}.rtl-container.yellow.night svg .fill-color-1{fill:#232323}.rtl-container.yellow.night svg .fill-color-2{fill:#222}.rtl-container.yellow.night svg .fill-color-3{fill:#3a3a3a}.rtl-container.yellow.night svg .fill-color-4{fill:#383838}.rtl-container.yellow.night svg .fill-color-5{fill:#555}.rtl-container.yellow.night svg .fill-color-6{fill:#5b5b5b}.rtl-container.yellow.night svg .fill-color-7{fill:#202020}.rtl-container.yellow.night svg .fill-color-8{fill:#242424}.rtl-container.yellow.night svg .fill-color-9{fill:#262626}.rtl-container.yellow.night svg .fill-color-10{fill:#1a1a1a}.rtl-container.yellow.night svg .fill-color-11{fill:#171717}.rtl-container.yellow.night svg .fill-color-12{fill:#ccc}.rtl-container.yellow.night svg .fill-color-13{fill:#adadad}.rtl-container.yellow.night svg .fill-color-14{fill:#ababab}.rtl-container.yellow.night svg .fill-color-15{fill:#b6b6b6}.rtl-container.yellow.night svg .fill-color-16{fill:#707070}.rtl-container.yellow.night svg .fill-color-17{fill:#7c7c7c}.rtl-container.yellow.night svg .fill-color-18{fill:#5a5a5a}.rtl-container.yellow.night svg .fill-color-19{fill:#4a4a4a}.rtl-container.yellow.night svg .fill-color-20{fill:#9f9f9f}.rtl-container.yellow.night svg .fill-color-21{fill:#cacaca}.rtl-container.yellow.night svg .fill-color-22{fill:#7f7f7f}.rtl-container.yellow.night svg .fill-color-23{fill:#777}.rtl-container.yellow.night svg .fill-color-24{fill:#5e5e5e}.rtl-container.yellow.night svg .fill-color-25{fill:#252525}.rtl-container.yellow.night svg .fill-color-26{fill:#6f6f6f}.rtl-container.yellow.night svg .fill-color-27{fill:#000}.rtl-container.yellow.night svg .fill-color-28{fill:#313131}.rtl-container.yellow.night svg .fill-color-29{fill:#e7e7e7}.rtl-container.yellow.night svg .fill-color-30{fill:#fff}.rtl-container.yellow.night svg .fill-color-31{fill:#945f1f}.rtl-container.yellow.night svg .fill-color-green-light{fill:#6ecb48}.rtl-container.yellow.night svg .fill-color-primary{fill:#945f1f}.rtl-container.yellow.night svg .fill-color-primary-lighter{fill:#b48f62}.rtl-container.yellow.night svg .fill-color-primary-darker{fill:#ffa164}.rtl-container.yellow.night .mat-select-arrow,.rtl-container.yellow.night .mat-select-value{color:#fff}.rtl-container.yellow.night .mat-form-field-disabled .mat-form-field-underline{background-color:initial;background-image:linear-gradient(90deg,#0000006b,#0000006b 33%,#0000 0);background-size:5px 100%;height:1.4px}.rtl-container.yellow.night .mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0f}.rtl-container.yellow.night .mat-tooltip{background-color:#ffffffe6;color:#202020;font-size:120%}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled{opacity:1}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-content{background-color:#ffffff0f}.rtl-container.yellow.night .mat-slide-toggle.mat-disabled .mat-slide-toggle-label{cursor:not-allowed!important}.rtl-container.yellow.night .mat-button.mat-primary,.rtl-container.yellow.night .mat-icon-button.mat-primary,.rtl-container.yellow.night .mat-stroked-button.mat-primary{color:#ffa164}.rtl-container.yellow.night tr.alert.alert-warn .mat-cell,.rtl-container.yellow.night tr.alert.alert-warn .mat-footer-cell,.rtl-container.yellow.night tr.alert.alert-warn .mat-header-cell{color:#856404}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.one-color .ngx-charts .chart.bar-chart g g path,.rtl-container.yellow.night ngx-charts-bar-vertical.one-color .ngx-charts .chart.bar-chart g g path{fill:#ffa164}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path,.rtl-container.yellow.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(odd) path{fill:#774312}.rtl-container.yellow.night ngx-charts-bar-vertical-2d.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path,.rtl-container.yellow.night ngx-charts-bar-vertical.two-color .ngx-charts .chart.bar-chart g g:nth-child(2n+2) path{fill:#ffa164}.rtl-container.yellow.night .mat-expansion-panel.flat-expansion-panel{box-shadow:none;padding:0;border-radius:4px;background:none}.rtl-container.yellow.night .mat-progress-bar-buffer{background-color:#dfcfbc}.rtl-container.yellow.night .foreground-text{color:#fff!important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all}.rtl-container.yellow.night .foreground-secondary-text{color: !important;white-space:pre-line;overflow-wrap:break-word;word-break:break-all;min-height:2rem}.rtl-container.yellow.night .foreground.mat-progress-spinner circle,.rtl-container.yellow.night .foreground.mat-spinner circle{stroke:#fff}.rtl-container.yellow.night .mat-toolbar-row,.rtl-container.yellow.night .mat-toolbar-single-row{height:5rem}.rtl-container.yellow.night .lnd-info{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night a{color:#945f1f}.rtl-container.yellow.night .horizontal-button .fa-icon-small{fill:#fff;color:#fff}.rtl-container.yellow.night .h-active-link{border-bottom:2px solid #fff}.rtl-container.yellow.night .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.rtl-container.yellow.night .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:none;font-weight:900}.rtl-container.yellow.night .validation-error-icon{position:relative;top:2px;left:.4rem}.rtl-container.yellow.night .genseed-message{width:10%;color:#945f1f}.rtl-container.yellow.night .material-icons.primary{color:#945f1f}.rtl-container.yellow.night .material-icons.accent{color:#eee}.rtl-container.yellow.night .validation-error-message{position:relative;margin-top:.5rem;width:100%;color:#b00020}.rtl-container.yellow.night .mat-vertical-content{padding:0 .4rem 0 1.2rem}.rtl-container.yellow.night .row-disabled{background-color:gray}.rtl-container.yellow.night .row-disabled .mat-icon{cursor:not-allowed}.rtl-container.yellow.night .mat-menu-panel{min-width:6.4rem}.rtl-container.yellow.night .horizontal-button{height:5rem;border-radius:0}.rtl-container.yellow.night .horizontal-button:hover{background:#b48f62;color:#eee}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show{line-height:2.4rem;border-radius:12rem;background-color:#fff;color:#945f1f}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f}.rtl-container.yellow.night .mat-stroked-button.mat-primary.horizontal-button-show:hover .mat-button-focus-overlay{opacity:.09}.rtl-container.yellow.night .cc-data-block .cc-data-title{font-size:80%;font-weight:500}.rtl-container.yellow.night .cc-data-block .cc-data-value{font-size:120%;margin-right:4rem;min-width:7rem}.rtl-container.yellow.night .mat-cell,.rtl-container.yellow.night .mat-footer-cell,.rtl-container.yellow.night .mat-header-cell{border-bottom:1px solid #ffffff4d}.rtl-container.yellow.night table.mat-table{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.yellow.night table.mat-table thead tr th{color:#fff}.rtl-container.yellow.night table.mat-table.error-border{border:1px solid red;box-shadow:0 3px 1px -2px #f003,0 2px 2px 0 #ff000024,0 1px 5px 0 #ff00001f!important}.rtl-container.yellow.night .bordered-box{border:1px solid #ffffff4d;border-radius:4px;background:none}.rtl-container.yellow.night .bordered-box.read-only{background-color:#0000000a}.rtl-container.yellow.night .mat-expansion-panel{border:1px solid #ffffff4d}.rtl-container.yellow.night .mat-icon-button.more-button-short{height:1.6rem;line-height:1.6rem}.rtl-container.yellow.night .mat-icon-button.more-button-short .material-icons{font-size:1.6rem}.rtl-container.yellow.night .mat-icon-button.more-button-short .mat-icon{line-height:1.6rem}.rtl-container.yellow.night .dashboard-tabs-group .mat-tab-label:last-child{padding-right:0}.rtl-container.yellow.night .dashboard-tabs-group .mat-tab-label:last-child .more-button{position:absolute;right:0;top:.4rem}.rtl-container.yellow.night .modal-info-header{color:#fff;font-weight:500}.rtl-container.yellow.night .modal-info-header .page-title-img svg{color:#fff}.rtl-container.yellow.night .mat-badge-medium.mat-badge-above .mat-badge-content{top:1px}.rtl-container.yellow.night .tab-badge .mat-badge-content{width:auto;min-width:.8rem;height:.8rem;line-height:.8rem;border-radius:.96rem;margin:auto;padding:.5rem;font-size:80%;font-weight:500;overflow:visible;text-overflow:inherit}.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{right:unset;margin-left:1rem!important}@media only screen and (max-width:37.5em){.rtl-container.yellow.night .mat-badge-medium.mat-badge-after .mat-badge-content{margin-left:0!important}}.rtl-container.yellow.night .table-actions-select{padding:.5rem 1rem;margin:.7rem 0;width:10rem;float:right}.rtl-container.yellow.night .table-actions-select .mat-select-placeholder{color:#fff}.rtl-container.yellow.night .mat-select-panel .mat-option.mat-active{background:none}.rtl-container.yellow.night .mat-tab-label{opacity:1;padding:0 3.2rem;min-width:18rem}.rtl-container.yellow.night .mat-drawer-inner-container{overflow:hidden}.rtl-container.yellow.night .mat-fa-icon-button{width:2rem;height:2rem;line-height:2rem}.rtl-container.yellow.night .balances-info-pie-chart .legend-label:first-child .legend-label-color{background-color:#caaf8f!important}.rtl-container.yellow.night .balances-info-pie-chart .legend-label:nth-child(2) .legend-label-color{background-color:#8c571b!important}.rtl-container.yellow.night .dashboard-card .dashboard-divider{border-top-width:2px}.rtl-container.yellow.night .dashboard-card .mat-card-header .mat-card-title{min-height:4rem;font-size:180%;margin-bottom:0 0 .8rem 0}.rtl-container.yellow.night .dashboard-card .dashboard-info-value{font-weight:700}.rtl-container.yellow.night .dashboard-card .dashboard-info-title{font-weight:500}.rtl-container.yellow.night .dashboard-card .dashboard-node-dot{margin:0 0 -2px 1rem;border:1px solid}.rtl-container.yellow.night .dashboard-card .dashboard-node-square{display:inline-flex;width:1.2rem;height:1.2rem;margin-right:1rem}.rtl-container.yellow.night .dashboard-card .dashboard-capacity-header{font-size:130%;font-weight:700}.rtl-container.yellow.night .dashboard-card .dashboard-capacity-header.this-channel-capacity{font-size:120%}.rtl-container.yellow.night .dashboard-card .mat-icon-button.more-button{width:2rem}.rtl-container.yellow.night .color-warn{color:#b00020}.rtl-container.yellow.night .fill-warn{fill:#b00020}.rtl-container.yellow.night .alert{border:1px solid;background-color:#0000000a}.rtl-container.yellow.night .alert.alert-info{border:1px solid #004085;background-color:#cce5ff;color:#004085}.rtl-container.yellow.night .alert.alert-info .alert-icon.ng-fa-icon,.rtl-container.yellow.night .alert.alert-info a{color:#004085}.rtl-container.yellow.night .alert.alert-warn{border:1px solid #856404;background-color:#fff3cd;color:#856404}.rtl-container.yellow.night .alert.alert-warn .alert-icon.ng-fa-icon,.rtl-container.yellow.night .alert.alert-warn a{color:#856404}.rtl-container.yellow.night .alert.alert-danger{border:1px solid #c62828;background-color:#f8d7da;color:#c62828}.rtl-container.yellow.night .alert.alert-danger .alert-icon.ng-fa-icon{color:#c62828}.rtl-container.yellow.night .alert.alert-success{border:1px solid #28ca43;background-color:#d4edda;color:#28ca43}.rtl-container.yellow.night .alert.alert-success .alert-icon.ng-fa-icon{color:#28ca43}.rtl-container.yellow.night .help-expansion .mat-expansion-panel-header,.rtl-container.yellow.night .help-expansion .mat-expansion-panel-header-title{font-weight:500}.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.rtl-container.yellow.night .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1.8rem}.rtl-container.yellow.night .button-link-dashboard{line-height:0px;font-weight:600;text-decoration:underline;padding:0}.rtl-container.yellow.night .failed-status{color:#b00020}.rtl-container.yellow.night .material-icons.icon-failed-status{font-size:1.8rem;fill:#b00020;height:2rem}.rtl-container.yellow.night .svg-fill-primary{fill:#945f1f}.rtl-container.yellow.night .svg-fill-primary-lighter{fill:#b48f62}.rtl-container.yellow.night .mat-expansion-panel-header[aria-disabled=true]{color:#fff}.rtl-container.yellow.night ngx-charts-bar-vertical-2d text,.rtl-container.yellow.night ngx-charts-bar-vertical text{fill:#fff}.rtl-container.yellow.night ngx-charts-bar-vertical-2d .ngx-charts .grid-panel.odd rect,.rtl-container.yellow.night ngx-charts-bar-vertical .ngx-charts .grid-panel.odd rect{fill:none}.rtl-container.yellow.night .mat-paginator-container{padding:0} \ No newline at end of file diff --git a/controllers/c-lightning/balance.js b/controllers/c-lightning/balance.js index 7159f9ec..e68f22e3 100644 --- a/controllers/c-lightning/balance.js +++ b/controllers/c-lightning/balance.js @@ -9,39 +9,14 @@ exports.getBalance = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/getBalance'; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Balance', msg: 'Balance Received', data: body}); - if(!body.totalBalance) { - body.totalBalance = 0; - body.btc_totalBalance = 0; - } else { - body.btc_totalBalance = common.convertToBTC(body.totalBalance); - } - if(!body.confBalance) { - body.confBalance = 0; - body.btc_confBalance = 0; - } else { - body.btc_confBalance = common.convertToBTC(body.confBalance); - } - if(!body.unconfBalance) { - body.unconfBalance = 0; - body.btc_unconfBalance = 0; - } else { - body.btc_unconfBalance = common.convertToBTC(body.unconfBalance); - } + if (!body.totalBalance) { body.totalBalance = 0; } + if (!body.confBalance) { body.confBalance = 0; } + if (!body.unconfBalance) { body.unconfBalance = 0; } logger.log({level: 'INFO', fileName: 'Balance', msg: 'Balance Received'}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Balance', msg: 'Balance Fetch Error', error: err}); - return res.status(500).json({ - message: "Fetching balance failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Balance', 'Get Balance Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/channels.js b/controllers/c-lightning/channels.js index a778b03c..f13b5c8f 100644 --- a/controllers/c-lightning/channels.js +++ b/controllers/c-lightning/channels.js @@ -20,18 +20,8 @@ exports.listChannels = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'List Channels Error', error: err}); - return res.status(500).json({ - message: 'Fetching List Channels Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'List Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -43,30 +33,12 @@ exports.openChannel = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Open Channel Options', data: options.body}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Open Channel Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open Channel Error', error: body.error}); - res.status(500).json({ - message: 'Open Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Opened'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Opened'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open Channel Error', error: err}); - return res.status(500).json({ - message: 'Open Channel Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Open Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -78,30 +50,12 @@ exports.setChannelFee = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Update Channel Policy Options', data: options.body}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Update Channel Policy', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Update Channel Policy Error', error: body.error}); - res.status(500).json({ - message: 'Update Channel Policy Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Fee Set'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Fee Set'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Update Channel Policy Error', error: err}); - return res.status(500).json({ - message: 'Update Channel Policy Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Update Channel Policy Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -114,30 +68,12 @@ exports.closeChannel = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Closing Channel', data: options.url}); request.delete(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Close Channel Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: body.error}); - res.status(500).json({ - message: 'Close Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Closed'}); - res.status(204).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Closed'}); + res.status(204).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: err}); - return res.status(500).json({ - message: 'Close Channel Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Close Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -147,70 +83,30 @@ exports.getLocalRemoteBalance = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/channel/localremotebal'; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Local Remote Balance', data: body}); - if(!body.localBalance) { - body.localBalance = 0; - body.btc_localBalance = 0; - } else { - body.btc_localBalance = common.convertToBTC(body.localBalance); - } - if(!body.remoteBalance) { - body.remoteBalance = 0; - body.btc_remoteBalance = 0; - } else { - body.btc_remoteBalance = common.convertToBTC(body.remoteBalance); - } + if (!body.localBalance) { body.localBalance = 0; } + if (!body.remoteBalance) { body.remoteBalance = 0; } logger.log({level: 'INFO', fileName: 'Channels', msg: 'Local & Remote Balances Received'}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Local Remote Balance Error', error: err}); - return res.status(500).json({ - message: 'Fetching Local Remote Balance Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Local Remote Balance Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.listForwards = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Channels', msg: 'Getting Channel List Forwards..'}); options = common.getOptions(); - options.url = common.getSelLNServerUrl() + '/v1/channel/listForwards/'; + options.url = common.getSelLNServerUrl() + '/v1/channel/listForwards?status=' + req.query.status; request.get(options).then((body) => { - logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Forwarding History Error', error: body.error}); - res.status(500).json({ - message: "Forwarding History Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - if (body && body.length > 0) { - body = common.sortDescByKey(body, 'received_time'); - } - logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Received', data: body}); - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel List Forwards Received'}); - res.status(200).json({ last_offset_index: 0, forwarding_events: body }); - } + logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Response For Status ' + req.query.status, data: body}); + if (body && body.length > 0) { body = common.sortDescByKey(body, 'received_time'); } + logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Received For Status' + req.query.status, data: body}); + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel List Forwards Received For Status ' + req.query.status}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Forwarding History Error', error: err}); - return res.status(500).json({ - message: "Forwarding History Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Forwarding History Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/fees.js b/controllers/c-lightning/fees.js index 1bf57d70..58619916 100644 --- a/controllers/c-lightning/fees.js +++ b/controllers/c-lightning/fees.js @@ -9,35 +9,12 @@ exports.getFees = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/getFees'; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Fee Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Get Fee Error', error: body.error}); - res.status(500).json({ - message: "Fetching fee failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - if(!body.feeCollected) { - body.feeCollected = 0; - body.btc_feeCollected = 0; - } else { - body.btc_feeCollected = common.convertToBTC(body.feeCollected); - } - logger.log({level: 'INFO', fileName: 'Fees', msg: 'Fees Received'}); - res.status(200).json(body); - } + if (!body.feeCollected) { body.feeCollected = 0; } + logger.log({level: 'INFO', fileName: 'Fees', msg: 'Fees Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Get Fees Error', error: err}); - return res.status(500).json({ - message: "Fetching fee failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Fees', 'Get Fees Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/getInfo.js b/controllers/c-lightning/getInfo.js index d2d80b96..39ae6c6b 100644 --- a/controllers/c-lightning/getInfo.js +++ b/controllers/c-lightning/getInfo.js @@ -11,25 +11,19 @@ exports.getInfo = (req, res, next) => { logger.log({level: 'DEBUG', fileName:'GetInfo', msg: 'Selected Node', data: common.selectedNode.ln_node}); logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Calling Info from C-Lightning server url', data: options.url}); if (!options.headers || !options.headers.macaroon) { - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'C-Lightning Get info failed due to bad or missing macaroon!', error: {error: 'Bad macaroon.'}}); - res.status(502).json({ - message: "Fetching Info Failed!", - error: "Bad Macaroon" - }); + const errMsg = 'C-Lightning get info failed due to bad or missing macaroon!'; + const err = common.handleError({ statusCode: 502, message: 'Bad Macaroon', error: errMsg }, 'GetInfo', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Node Information', data: body}); const body_str = (!body) ? '' : JSON.stringify(body); const search_idx = (!body) ? -1 : body_str.search('Not Found'); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Get Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching Info failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); + if (!body || search_idx > -1 || body.error) { + if (body && !body.error) { body.error = 'Error From Server!'; } + const err = common.handleError(body, 'GetInfo', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { - body.currency_unit = 'BTC'; - body.smaller_currency_unit = 'Sats'; body.lnImplementation = 'C-Lightning'; let chainObj = { chain: '', network: '' }; if (body.network === 'testnet') { @@ -57,18 +51,8 @@ exports.getInfo = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Get Info Error', error: err}); - return res.status(500).json({ - message: "Fetching Info failed!", - error: err.error - }); + const err = common.handleError(errRes, 'GetInfo', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; diff --git a/controllers/c-lightning/invoices.js b/controllers/c-lightning/invoices.js index 44d76df9..69d3b223 100644 --- a/controllers/c-lightning/invoices.js +++ b/controllers/c-lightning/invoices.js @@ -10,29 +10,12 @@ exports.deleteExpiredInvoice = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/invoice/delExpiredInvoice' + queryStr; request.delete(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices Deleted', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Invoice Delete Error', error: body.error}); - res.status(500).json({ - message: "Deleting Invoice Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Expired Invoices Deleted'}); res.status(204).json({status: 'Invoice Deleted Successfully'}); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Invoice Delete Error', error: err}); - return res.status(500).json({ - message: "Deleting Invoice Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoice', 'Delete Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -43,34 +26,16 @@ exports.listInvoices = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/invoice/listInvoices' + labelQuery; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoice Error', error: body.error}); - res.status(500).json({ - message: "Fetching Invoice Info failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - if ( body.invoices && body.invoices.length > 0) { - body.invoices = common.sortDescByKey(body.invoices, 'expires_at'); - } - logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); - logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Invoices Received'}); - res.status(200).json(body); + if ( body.invoices && body.invoices.length > 0) { + body.invoices = common.sortDescByKey(body.invoices, 'expires_at'); } + logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); + logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Invoices Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoice Error', error: err}); - return res.status(500).json({ - message: "Fetching Invoice Info failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoice', 'List Invoices Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -81,29 +46,11 @@ exports.addInvoice = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Add Invoice Responce', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Add Invoice Error', error: body.error}); - res.status(500).json({ - message: "Add Invoice Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Invoice Created'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Invoice Created'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Add Invoice Error', error: err}); - return res.status(500).json({ - message: "Add Invoice Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoice', 'Add Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/message.js b/controllers/c-lightning/message.js index 940e1a45..eb1a2298 100644 --- a/controllers/c-lightning/message.js +++ b/controllers/c-lightning/message.js @@ -8,32 +8,14 @@ exports.signMessage = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/utility/signMessage'; options.form = { message: req.body.message }; - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Messages', msg: 'Message Signed', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Message Sign Error', error: body.error}); - res.status(500).json({ - message: "Sign message failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Signed'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Signed'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Sign Message Error', error: err}); - return res.status(500).json({ - message: 'Sign Message Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Message', 'Sign Message Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -43,29 +25,11 @@ exports.verifyMessage = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/utility/checkMessage/' + req.body.message + '/' + req.body.signature; request.get(options, (error, response, body) => { logger.log({level: 'DEBUG', fileName: 'Messages', msg: 'Message Verified', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Verify Message Error', error: body.error}); - res.status(500).json({ - message: "Verify message failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Verified'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Verified'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Message Verification Error', error: err}); - return res.status(500).json({ - message: 'Verify Message Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Message', 'Verify Message Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/network.js b/controllers/c-lightning/network.js index e7f4e3e7..960e341d 100644 --- a/controllers/c-lightning/network.js +++ b/controllers/c-lightning/network.js @@ -9,29 +9,12 @@ exports.getRoute = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/network/getRoute/' + req.params.destPubkey + '/' + req.params.amount; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Network', msg: 'Query Routes Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Query Routes Error', error: body.error}); - res.status(500).json({ - message: "Fetching Query Routes Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } logger.log({level: 'INFO', fileName: 'Network', msg: 'Network Routes Received'}); res.status(200).json({routes: body}); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Query Routes Error', error: err}); - return res.status(500).json({ - message: "Fetching Query Routes Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Network', 'Query Routes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -45,18 +28,8 @@ exports.listNode = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Node Lookup Error', error: err}); - return res.status(500).json({ - message: "Node Lookup Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Network', 'Node Lookup Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -70,18 +43,8 @@ exports.listChannel = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Channel Lookup Error', error: err}); - return res.status(500).json({ - message: "Channel Lookup Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Network', 'Channel Lookup Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -90,21 +53,11 @@ exports.feeRates = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/network/feeRates/' + req.params.feeRateStyle; request(options).then(function (body) { - logger.log({level: 'INFO', fileName: 'Network', msg: 'Network Fee Rates Received'}); + logger.log({level: 'DEBUG', fileName: 'Network', msg: 'Network Fee Rates Received for ' + req.params.feeRateStyle, data: body}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Fee Rates Error', error: err}); - return res.status(500).json({ - message: "Fee Rates Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Network', 'Fee Rates Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/onchain.js b/controllers/c-lightning/onchain.js index 019d458c..c32b8a36 100644 --- a/controllers/c-lightning/onchain.js +++ b/controllers/c-lightning/onchain.js @@ -12,18 +12,8 @@ exports.getNewAddress = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'OnChain', msg: 'OnChain New Address Error', error: err}); - return res.status(500).json({ - message: "Fetching new address failed!", - error: err.error - }); + const err = common.handleError(errRes, 'OnChain', 'New Address Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -35,30 +25,12 @@ exports.onChainWithdraw = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'OnChain', msg: 'OnChain Withdraw Options', data: options.body}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'OnChain', msg: 'OnChain Withdraw Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'OnChain', msg: 'OnChain Withdraw Error', error: body.error}); - res.status(500).json({ - message: 'OnChain Withdraw Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'OnChain', msg: 'Withdraw Finished'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'OnChain', msg: 'Withdraw Finished'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'OnChain', msg: 'OnChain Withdraw Error', error: err}); - return res.status(500).json({ - message: 'OnChain Withdraw Failed!', - error: err - }); + const err = common.handleError(errRes, 'OnChain', 'Withdraw Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -68,20 +40,10 @@ exports.getUTXOs = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/listFunds'; request(options).then((body) => { if (body.outputs) { body.outputs = common.sortDescByStrKey(body.outputs, 'status'); } - logger.log({level: 'INFO', fileName: 'OnChain', msg: 'List Funds Received'}); + logger.log({level: 'DEBUG', fileName: 'OnChain', msg: 'List Funds Received', data: body}); res.status(200).json(body); }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'OnChain', msg: 'OnChain List Funds Error', error: err}); - return res.status(500).json({ - message: "Fetching list funds failed!", - error: err.error - }); + const err = common.handleError(errRes, 'OnChain', 'List Funds Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/payments.js b/controllers/c-lightning/payments.js index 5f274075..678613c3 100644 --- a/controllers/c-lightning/payments.js +++ b/controllers/c-lightning/payments.js @@ -6,7 +6,7 @@ var options = {}; function paymentReducer(accumulator, currentPayment) { let currPayHash = currentPayment.payment_hash; if (!currentPayment.partid) { currentPayment.partid = 0; } - if(!accumulator[currPayHash]) { + if (!accumulator[currPayHash]) { accumulator[currPayHash] = [currentPayment]; } else { accumulator[currPayHash].push(currentPayment); @@ -51,33 +51,15 @@ exports.listPayments = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/pay/listPayments'; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payment List Received', data: body.payments}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payments List Error', error: body.error}); - res.status(500).json({ - message: "Payments List Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - if ( body && body.payments && body.payments.length > 0) { - body.payments = common.sortDescByKey(body.payments, 'created_at'); - } - logger.log({level: 'INFO', fileName: 'Payments', msg: 'List Payments Received'}); - res.status(200).json(groupBy(body.payments)); + if ( body && body.payments && body.payments.length > 0) { + body.payments = common.sortDescByKey(body.payments, 'created_at'); } + logger.log({level: 'INFO', fileName: 'Payments', msg: 'List Payments Received'}); + res.status(200).json(groupBy(body.payments)); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payments List Error', error: err}); - return res.status(500).json({ - message: "Payments List Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Payments', 'List Payments Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -87,30 +69,12 @@ exports.decodePayment = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/pay/decodePay/' + req.params.invoice; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payment Decode Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payment Decode Error', error: body.error}); - res.status(500).json({ - message: "Payment Request Decode Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payment Decoded'}); - res.status(200).json(body); - } + logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payment Decoded'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payment Decode Error', error: err}); - return res.status(500).json({ - message: "Payment Request Decode Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Payments', 'Decode Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -126,29 +90,11 @@ exports.postPayment = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Send Payment Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Send Payment Error', error: body.error}); - res.status(500).json({ - message: "Send Payment Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payment Sent'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payment Sent'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Send Payments Error', error: err}); - return res.status(500).json({ - message: "Send Payment Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Payments', 'Send Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/c-lightning/peers.js b/controllers/c-lightning/peers.js index 4b1eba87..31ebbbc2 100644 --- a/controllers/c-lightning/peers.js +++ b/controllers/c-lightning/peers.js @@ -15,18 +15,8 @@ exports.getPeers = (req, res, next) => { res.status(200).json(peers); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Peers List Error', error: err}); - return res.status(500).json({ - message: "Peers Fetch Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Peers', 'List Peers Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -35,38 +25,23 @@ exports.postPeer = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/peer/connect'; options.body = req.body; - request.post(options, (error, response, body) => { - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Connect Peer Error', error: body.error}); - res.status(500).json({ - message: "Adding peer failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added', data: body}); - options.url = common.getSelLNServerUrl() + '/v1/peer/listPeers'; - request(options).then(function (body) { - let peers = ( body) ? common.sortDescByStrKey(body, 'alias') : []; - peers = common.newestOnTop(peers, 'id', req.body.id); - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Newest On Top', data: peers}); - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added Successfully'}); - logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Connected'}); - res.status(201).json(peers); - }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Connect Peer Error', error: err}); - return res.status(500).json({ - message: "Peer Add Failed!", - error: err.error - }); - }); - } + request.post(options).then((body) => { + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added', data: body}); + options.url = common.getSelLNServerUrl() + '/v1/peer/listPeers'; + request(options).then(function (body) { + let peers = ( body) ? common.sortDescByStrKey(body, 'alias') : []; + peers = common.newestOnTop(peers, 'id', req.body.id); + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Newest On Top', data: peers}); + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added Successfully'}); + logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Connected'}); + res.status(201).json(peers); + }).catch(errRes => { + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + }); + }).catch(errRes => { + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -76,30 +51,12 @@ exports.deletePeer = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/peer/disconnect/' + req.params.peerId + '?force=' + req.query.force; request.delete(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Detach Peer Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Detach Peer Error', error: body.error}); - res.status(500).json({ - message: "Detach peer failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Detached', data: req.params.peerId}); - logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Disconnected'}); - res.status(204).json({}); - } + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Detached', data: req.params.peerId}); + logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Disconnected'}); + res.status(204).json({}); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.macaroon) { - delete err.options.headers.macaroon; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { - delete err.response.request.headers.macaroon; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Detach Peer Error', error: err}); - return res.status(500).json({ - message: "Detach Peer Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Peers', 'Detach Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/eclair/channels.js b/controllers/eclair/channels.js index ce65289f..de8d7b81 100644 --- a/controllers/eclair/channels.js +++ b/controllers/eclair/channels.js @@ -95,7 +95,7 @@ exports.getChannels = (req, res, next) => { } else { request.post(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'All Channels', data: body}); - if(body && body.length) { + if (body && body.length) { return simplifyAllChannels(body).then(function(simplifiedChannels) { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Simplified Channels with Alias', data: simplifiedChannels}); logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channels List Received'}); @@ -107,18 +107,8 @@ exports.getChannels = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get Channels Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: 'Fetching Channels Failed!', - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Channels', 'List Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -134,18 +124,8 @@ exports.getChannelStats = (req, res, next) => { res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'ChannelStats', msg: 'Get Channel Stats Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Channel Stats Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Channels', 'Get Channel Stats Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -157,30 +137,12 @@ exports.openChannel = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Open Channel Params', data: options.form}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Open Channel Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open Channel Error', error: body.error}); - res.status(500).json({ - message: 'Open Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Opened'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Opened'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open Channel Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Open Channel Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Channels', 'Open Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -196,18 +158,8 @@ exports.updateChannelRelayFee = (req, res, next) => { res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Update Relay Fee Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Update Relay Fee Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Channels', 'Update Relay Fee Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -228,18 +180,8 @@ exports.closeChannel = (req, res, next) => { res.status(204).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Close Channel Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Channels', 'Close Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } diff --git a/controllers/eclair/fees.js b/controllers/eclair/fees.js index 2619acf8..92a7d6d1 100644 --- a/controllers/eclair/fees.js +++ b/controllers/eclair/fees.js @@ -81,18 +81,8 @@ exports.getFees = (req, res, next) => { res.status(200).json(arrangeFees(body, Math.round((new Date().getTime())))); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Get Fees Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching Fees failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Fees', 'Get Fees Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -111,18 +101,8 @@ exports.getPayments = (req, res, next) => { res.status(200).json(arrangePayments(body)); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Get Payments Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching Payments failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Fees', 'Get Payments Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; diff --git a/controllers/eclair/getInfo.js b/controllers/eclair/getInfo.js index c20bffb7..139fefcf 100644 --- a/controllers/eclair/getInfo.js +++ b/controllers/eclair/getInfo.js @@ -13,42 +13,24 @@ exports.getInfo = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Calling Info from Eclair server url', data: options.url}); if (common.read_dummy_data) { common.getDummyData('GetInfo').then(function(data) { - data.currency_unit = 'BTC'; - data.smaller_currency_unit = 'Sats'; data.lnImplementation = 'Eclair'; res.status(200).json(data); }); } else { if (!options.headers || !options.headers.authorization) { - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Eclair Get info failed due to missing or wrong password!', error: {error: 'Missing or wrong password.'}}); - res.status(502).json({ - message: "Fetching Info Failed!", - error: "Missing Or Wrong Password" - }); + const errMsg = 'Eclair Get info failed due to missing or wrong password!'; + const err = common.handleError({ statusCode: 502, message: 'Missing or Wrong Password', error: errMsg }, 'GetInfo', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Get Info Response', data: body}); - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - body.currency_unit = 'BTC'; - body.smaller_currency_unit = 'Sats'; body.lnImplementation = 'Eclair'; logger.log({level: 'INFO', fileName: 'GetInfo', msg: 'Eclair Node Information Received'}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Get Info Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching Info failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'GetInfo', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } } diff --git a/controllers/eclair/invoices.js b/controllers/eclair/invoices.js index 75d3fe60..c4089e98 100644 --- a/controllers/eclair/invoices.js +++ b/controllers/eclair/invoices.js @@ -30,6 +30,25 @@ getReceivedPaymentInfo = (invoice) => { } } +exports.getInvoice = (req, res, next) => { + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Getting Invoice..'}); + options = common.getOptions(); + options.url = common.getSelLNServerUrl() + '/getinvoice'; + options.form = { paymentHash: req.params.paymentHash }; + request.post(options).then(function (body) { + logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoice Found', data: body}); + let current_time = (Math.round(new Date(Date.now()).getTime()/1000)).toString(); + body.amount = body.amount ? body.amount/1000 : 0; + body.expiresAt = body.expiresAt ? body.expiresAt : (body.timestamp + body.expiry); + body.status = body.status ? body.status : (+body.expiresAt < current_time ? "expired" : "unknown"); + res.status(200).json(body); + }) + .catch(errRes => { + const err = common.handleError(errRes, 'Invoices', 'Get Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + }); +}; + exports.listInvoices = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Getting List Invoices..'}); options = common.getOptions(); @@ -65,18 +84,8 @@ exports.listInvoices = (req, res, next) => { res.status(200).json(invoices); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoices Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching Invoices failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Invoices', 'List Invoices Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { logger.log({level: 'INFO', fileName: 'Invoices', msg: 'Empty List Invoice Received'}); @@ -84,18 +93,8 @@ exports.listInvoices = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoices Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching Invoices failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Invoices', 'List Invoices Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -112,17 +111,7 @@ exports.createInvoice = (req, res, next) => { res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Create Invoice Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Create Invoice Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Invoices', 'Create Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/eclair/network.js b/controllers/eclair/network.js index ada1fe92..235c5aea 100644 --- a/controllers/eclair/network.js +++ b/controllers/eclair/network.js @@ -14,17 +14,7 @@ exports.getNodes = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Network', msg: 'Node Lookup Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: 'Node Lookup Failed!', - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Network', 'Node Lookup Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/eclair/onchain.js b/controllers/eclair/onchain.js index c1b84f2e..eda9635c 100644 --- a/controllers/eclair/onchain.js +++ b/controllers/eclair/onchain.js @@ -4,18 +4,8 @@ var logger = require('../shared/logger'); var options = {}; arrangeBalances = (body) => { - if(!body.confirmed) { - body.confirmed = 0; - body.btc_confirmed = 0; - } else { - body.btc_confirmed = common.convertToBTC(body.confirmed); - } - if(!body.unconfirmed) { - body.unconfirmed = 0; - body.btc_unconfirmed = 0; - } else { - body.btc_unconfirmed = common.convertToBTC(body.unconfirmed); - } + if (!body.confirmed) { body.confirmed = 0; } + if (!body.unconfirmed) { body.unconfirmed = 0; } body.total = +body.confirmed + +body.unconfirmed; body.btc_total = +body.btc_confirmed + +body.btc_unconfirmed; return body; @@ -32,18 +22,8 @@ exports.getNewAddress = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Onchain', msg: 'Get New Address Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Getting New Address failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'OnChain', 'Get New Address Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -61,18 +41,8 @@ exports.getBalance = (req, res, next) => { res.status(200).json(arrangeBalances(body)); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Onchain', msg: 'Fetch Balance Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Fetching balance failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'OnChain', 'Get Balance Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -95,18 +65,8 @@ exports.getTransactions = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Onchain', msg: 'Get Transactions Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Getting transactions failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'OnChain', 'Get Transactions Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -126,17 +86,7 @@ exports.sendFunds = (req, res, next) => { res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Onchain', msg: 'Send Funds Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Send funds failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'OnChain', 'Send Funds Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/eclair/payments.js b/controllers/eclair/payments.js index fec44252..2ba51050 100644 --- a/controllers/eclair/payments.js +++ b/controllers/eclair/payments.js @@ -26,18 +26,8 @@ exports.decodePayment = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payment Decode Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Payment Decode Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Payments', 'Decode Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -53,18 +43,8 @@ exports.postPayment = (req, res, next) => { res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Send Payment Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Send Payment Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Payments', 'Send Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -97,18 +77,8 @@ exports.queryPaymentRoute = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Query Payment Route Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Query Payment Route Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Payments', 'Query Route Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -119,24 +89,13 @@ exports.getSentPaymentsInformation = (req, res, next) => { let paymentsArr = req.body.payments.split(','); return Promise.all(paymentsArr.map(payment => {return getSentInfoFromPaymentRequest(payment)})) .then(function(values) { - console.warn(values); logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payment Sent Informations', data: values}); logger.log({level: 'INFO', fileName: 'Payments', msg: 'Sent Payment Information Received'}); res.status(200).json(values); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'Payment Sent Information Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Payment Sent Information Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Payments', 'Sent Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { logger.log({level: 'INFO', fileName: 'Payments', msg: 'Empty Sent Payment Information Received'}); diff --git a/controllers/eclair/peers.js b/controllers/eclair/peers.js index 40125ab6..06360ad0 100644 --- a/controllers/eclair/peers.js +++ b/controllers/eclair/peers.js @@ -45,18 +45,8 @@ exports.getPeers = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Get Peers Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: 'Fetching Peers Failed!', - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Peers', 'List Peers Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -70,22 +60,18 @@ exports.connectPeer = (req, res, next) => { options.form = req.query; logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Connect Peer Params', data: options.form}); } - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Add Peer Response', data: body}); - if (body === 'already connected') { - return res.status(500).json({ - message: "Connect Peer Failed!", - error: "Already connected" - }); + if (typeof body === 'string' && body.includes('already connected')) { + const err = common.handleError({ statusCode: 500, message: 'Connect Peer Error', error: body }, 'Peers', body); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else if (typeof body === 'string' && body.includes('connection failed')) { - return res.status(500).json({ - message: "Connect Peer Failed!", - error: body.charAt(0).toUpperCase() + body.slice(1) - }); + const err = common.handleError({ statusCode: 500, message: 'Connect Peer Error', error: body }, 'Peers', body); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } options.url = common.getSelLNServerUrl() + '/peers'; options.form = {}; - request.post(options).then(function (body) { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peers Received', data: body}); if (body && body.length) { let peersNodeIds = ''; @@ -108,32 +94,12 @@ exports.connectPeer = (req, res, next) => { res.status(201).json([]); } }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Connect Peer Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Connect Peer Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Connect Peer Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Connect Peer Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -146,24 +112,14 @@ exports.deletePeer = (req, res, next) => { options.form = { nodeId: req.params.nodeId }; logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Disconnect Peer Params', data: options.form}); } - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Disconnect Peer Response', data: body}); logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Disconnected: ' + req.params.nodeId}); logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Disconnected'}); res.status(204).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers.authorization) { - delete err.options.headers.authorization; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { - delete err.response.request.headers.authorization; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Disconnect Peer Error', error: err}); - return res.status(err.statusCode ? err.statusCode : 500).json({ - message: "Disconnect Peer Failed!", - error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" - }); + const err = common.handleError(errRes, 'Peers', 'Disconnect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/balance.js b/controllers/lnd/balance.js index ce212947..0b1d3b9a 100644 --- a/controllers/lnd/balance.js +++ b/controllers/lnd/balance.js @@ -6,7 +6,7 @@ var options = {}; exports.getBalance = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Balance', msg: 'Getting Balance..'}); options = common.getOptions(); - options.url = common.getSelLNServerUrl() + '/v1/balance/' + req.params.source; + options.url = common.getSelLNServerUrl() + '/v1/balance/' + (req.params.source).toLowerCase(); options.qs = req.query; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Balance', msg: '[Request params, Request Query, Balance Received]', data: [req.params, req.query, body]}); @@ -15,32 +15,17 @@ exports.getBalance = (req, res, next) => { if (!body.total_balance) { body.total_balance = 0; } if (!body.confirmed_balance) { body.confirmed_balance = 0; } if (!body.unconfirmed_balance) { body.unconfirmed_balance = 0; } - body.btc_total_balance = common.convertToBTC(body.total_balance); - body.btc_confirmed_balance = common.convertToBTC(body.confirmed_balance); - body.btc_unconfirmed_balance = common.convertToBTC(body.unconfirmed_balance); } if (req.params.source === 'channels') { if (!body.balance) { body.balance = 0; } if (!body.pending_open_balance) { body.pending_open_balance = 0; } - body.btc_balance = common.convertToBTC(body.balance); - body.btc_pending_open_balance = common.convertToBTC(body.pending_open_balance); } logger.log({level: 'INFO', fileName: 'Balance', msg: 'Balance Received'}); res.status(200).json(body); } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Balance', msg: 'Fetch Balance Error', error: err}); - return res.status(500).json({ - message: "Fetching balance failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Balance', 'Get Balance Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/channels.js b/controllers/lnd/channels.js index 323ded16..c0225da1 100644 --- a/controllers/lnd/channels.js +++ b/controllers/lnd/channels.js @@ -27,7 +27,7 @@ exports.getAllChannels = (req, res, next) => { let total = 0; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'All Channels Received', data: body}); - if(body.channels) { + if (body.channels) { return Promise.all( body.channels.map(channel => { local = (channel.local_balance) ? +channel.local_balance : 0; @@ -44,18 +44,8 @@ exports.getAllChannels = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get All Channel Alias Error', error: err}); - res.status(500).json({ - message: 'Fetching Channels Alias Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Get All Channel Aliases Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { body.channels = []; @@ -64,18 +54,8 @@ exports.getAllChannels = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get All Channels Error', error: err}); - return res.status(500).json({ - message: 'Fetching All Channels Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'List Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -87,21 +67,18 @@ exports.getPendingChannels = (req, res, next) => { request(options).then(function (body) { if (!body.total_limbo_balance) { body.total_limbo_balance = 0; - body.btc_total_limbo_balance = 0; - } else { - body.btc_total_limbo_balance = common.convertToBTC(body.total_limbo_balance); } const promises = []; - if(body.pending_open_channels && body.pending_open_channels.length > 0) { + if (body.pending_open_channels && body.pending_open_channels.length > 0) { body.pending_open_channels.map(channel => { return promises.push(getAliasForChannel(channel.channel))}); } - if(body.pending_closing_channels && body.pending_closing_channels.length > 0) { + if (body.pending_closing_channels && body.pending_closing_channels.length > 0) { body.pending_closing_channels.map(channel => { return promises.push(getAliasForChannel(channel.channel))}); } - if(body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) { + if (body.pending_force_closing_channels && body.pending_force_closing_channels.length > 0) { body.pending_force_closing_channels.map(channel => { return promises.push(getAliasForChannel(channel.channel))}); } - if(body.waiting_close_channels && body.waiting_close_channels.length > 0) { + if (body.waiting_close_channels && body.waiting_close_channels.length > 0) { body.waiting_close_channels.map(channel => { return promises.push(getAliasForChannel(channel.channel))}); } return Promise.all(promises).then(function(values) { @@ -110,33 +87,13 @@ exports.getPendingChannels = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get Pending Channel Alias Error', error: err}); - res.status(500).json({ - message: 'Fetching Pending Channels Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Get Pending Channel Aliases Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get Pending Channel Error', error: err}); - return res.status(500).json({ - message: 'Fetching Pending Channels Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'List Pending Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -160,18 +117,8 @@ exports.getClosedChannels = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get All Channel Alias Error', error: err}); - res.status(500).json({ - message: 'Fetching Channels Alias Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Get Closed Channel Aliases Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { body.channels = []; @@ -179,18 +126,8 @@ exports.getClosedChannels = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Get Closed Channel Error', error: err}); - return res.status(500).json({ - message: 'Fetching Closed Channels Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'List Closed Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -212,30 +149,12 @@ exports.postChannel = (req, res, next) => { options.form = JSON.stringify(options.form); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Channel Open Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open New Channel Error', error: body.error}); - res.status(500).json({ - message: 'Open Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channels Opened'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channels Opened'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Open New Channel Error', error: err}); - return res.status(500).json({ - message: 'Open Channel Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Open Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -244,7 +163,7 @@ exports.postTransactions = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/channels/transactions'; options.form = { payment_request: req.body.paymentReq }; - if(req.body.paymentAmount) { + if (req.body.paymentAmount) { options.form.amt = req.body.paymentAmount; } if (req.body.feeLimit) { options.form.fee_limit = req.body.feeLimit; } @@ -255,82 +174,42 @@ exports.postTransactions = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Send Payment Options', data: options.form}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Send Payment Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Send Payment Error', error: body.error}); - res.status(500).json({ - message: 'Send Payment Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else if (body.payment_error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Send Payment Error: ' + JSON.stringify(body.payment_error)}); - res.status(500).json({ - message: 'Send Payment Failed!', - error: (!body) ? 'Error From Server!' : body.payment_error - }); + if (body.payment_error) { + const err = common.handleError(body.payment_error, 'Channels', 'Send Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { logger.log({level: 'INFO', fileName: 'Channels', msg: 'Payment Sent'}); res.status(201).json(body); } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Send Payment Error', error: err}); - return res.status(500).json({ - message: 'Send Payment Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Send Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.closeChannel = (req, res, next) => { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Closing Channel..'}); - req.setTimeout(60000 * 10); // timeout 10 mins - options = common.getOptions(); - let channelpoint = req.params.channelPoint.replace(':', '/'); - options.url = common.getSelLNServerUrl() + '/v1/channels/' + channelpoint + '?force=' + req.query.force; - if(req.query.target_conf) { options.url = options.url + '&target_conf=' + req.query.target_conf; } - if(req.query.sat_per_byte) { options.url = options.url + '&sat_per_byte=' + req.query.sat_per_byte; } - logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Closing Channel Options URL', data: options.url}); - request.delete(options).then((body) => { - logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Close Channel Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: body.error}); - res.status(500).json({ - message: 'Close Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Closed'}); - res.status(204).json({message: 'Channel Closed!'}); - } - }) - .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: err}); - return res.status(500).json({ - message: 'Close Channel Failed!', - error: err.error - }); - }); + try { + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Closing Channel..'}); + options = common.getOptions(); + let channelpoint = req.params.channelPoint.replace(':', '/'); + options.url = common.getSelLNServerUrl() + '/v1/channels/' + channelpoint + '?force=' + req.query.force; + if (req.query.target_conf) { options.url = options.url + '&target_conf=' + req.query.target_conf; } + if (req.query.sat_per_byte) { options.url = options.url + '&sat_per_byte=' + req.query.sat_per_byte; } + logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Closing Channel Options URL', data: options.url}); + request.delete(options); + res.status(202).json({message: 'Close channel request has been submitted.'}); + } catch (error) { + logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Close Channel Error', error: error.message}); + return res.status(500).json({message: 'Close Channel Error', error: error.message}); + } } exports.postChanPolicy = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Channels', msg: 'Updating Channel Policy..'}); options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/chanpolicy'; - if(req.body.chanPoint === 'all') { + if (req.body.chanPoint === 'all') { options.form = JSON.stringify({ global: true, base_fee_msat: req.body.baseFeeMsat, @@ -351,29 +230,11 @@ exports.postChanPolicy = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Update Channel Policy Options', data: options.form}); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Channels', msg: 'Update Channel Policy', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Update Channel Policy Error', error: body.error}); - res.status(500).json({ - message: 'Update Channel Failed!', - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Policy Updated'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Channels', msg: 'Channel Policy Updated'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Channels', msg: 'Update Channel Policy Error', error: err}); - return res.status(500).json({ - message: 'Update Channel Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Channels', 'Update Channel Policy Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/channelsBackup.js b/controllers/lnd/channelsBackup.js index d136b575..65a02c00 100644 --- a/controllers/lnd/channelsBackup.js +++ b/controllers/lnd/channelsBackup.js @@ -9,8 +9,10 @@ function getFilesList(callback) { let all_restore_exists = false; let response = {all_restore_exists: false, files: []}; fs.readdir(common.selectedNode.channel_backup_path + common.path_separator + 'restore', function (err, files) { - if (err && err.code !== 'ENOENT' && err.errno !== -4058) { response = { message: 'Channels Restore List Failed!', error: err } } - if( files && files.length > 0) { + if (err && err.code !== 'ENOENT' && err.errno !== -4058) { + response = { message: 'Channels Restore List Failed!', error: err, statusCode: 500 }; + } + if (files && files.length > 0) { files.forEach(file => { if (!file.includes('.restored')) { if (file.toLowerCase() === 'channel-all.bak' || file.toLowerCase() === 'backup-channel-all.bak') { @@ -49,15 +51,8 @@ exports.getBackup = (req, res, next) => { createStream.end(); } catch (errRes) { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'ChannelsBackup', msg: 'Channels Backup Error', error: err}); - return res.status(500).json({ message: 'Channels Backup Failed!', error: err }); + const err = common.handleError(errRes, 'ChannelsBackup', 'Backup Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } } @@ -65,15 +60,8 @@ exports.getBackup = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'ChannelsBackup', msg: 'Channel Backup', data: body}); fs.writeFile(channel_backup_file, JSON.stringify(body), function(errRes) { if (errRes) { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'ChannelsBackup', msg: 'Channels Backup Error', error: err}); - return res.status(500).json({ message: 'Channels Backup Failed!', error: err.error }); + const err = common.handleError(errRes, 'ChannelsBackup', 'Backup Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { logger.log({level: 'INFO', fileName: 'ChannelBackup', msg: 'Channel Backup Finished'}); res.status(200).json({ message: message }); @@ -81,18 +69,8 @@ exports.getBackup = (req, res, next) => { }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'ChannelsBackup', msg: 'Channel Backup Error', error: err}); - return res.status(500).json({ - message: 'Channels Backup Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'ChannelsBackup', 'Backup Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -114,13 +92,15 @@ exports.postBackupVerify = (req, res, next) => { delete verify_backup.single_chan_backups; options.form = JSON.stringify(verify_backup); } else { - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Backup Verify Error. Channel backup to verify does not Exist!', error: {error: 'Channel backup to verify does not Exist.'}}); - res.status(404).json({ message: 'Channels backup to verify does not Exist!' }); + const errMsg = 'Channel backup to verify does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Verify Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else { verify_backup = ''; - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Backup Verify Error. Channel backup to verify does not Exist!', error: {error: 'Channel backup to verify does not Exist.'}}); - res.status(404).json({ message: 'Channels backup to verify does not Exist!' }); + const errMsg = 'Channel backup to verify does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Verify Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else { message = 'Channel Verify Successful.'; @@ -131,8 +111,9 @@ exports.postBackupVerify = (req, res, next) => { options.form = JSON.stringify({ single_chan_backups: { chan_backups: [JSON.parse(verify_backup)] } }); } else { verify_backup = ''; - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Backup Verify Error. Channel backup to verify does not Exist!', error: {error: 'Channel backup to verify does not Exist.'}}); - res.status(404).json({ message: 'Channel backup to verify does not Exist!' }); + const errMsg = 'Channel backup to verify does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Verify Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } if (verify_backup !== '') { @@ -142,18 +123,8 @@ exports.postBackupVerify = (req, res, next) => { res.status(201).json({ message: message }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Backup Verify Error', error: err}); - return res.status(404).json({ - message: 'Channel backup to Verify failed!', - error: err.error - }); + const err = common.handleError(errRes, 'ChannelsBackup', 'Verify Channels Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -176,8 +147,9 @@ exports.postRestore = (req, res, next) => { restore_backup = JSON.parse(restore_backup); options.form = JSON.stringify({multi_chan_backup: restore_backup.multi_chan_backup.multi_chan_backup}); } else { - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error.Channels backup to restore does not Exist!', error: {error: 'Channel backup to restore does not Exist.'}}); - res.status(404).json({ message: 'Channels backup to restore does not Exist!' }); + const errMsg = 'Channel backup to restore does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Restore Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else if (downloaded_exists) { restore_backup = fs.readFileSync(channel_restore_file + 'backup-channel-all.bak', 'utf-8'); @@ -185,13 +157,15 @@ exports.postRestore = (req, res, next) => { restore_backup = JSON.parse(restore_backup); options.form = JSON.stringify({multi_chan_backup: restore_backup.multi_chan_backup.multi_chan_backup}); } else { - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error. Channels backup to restore does not Exist!', error: {error: 'Channel backup to restore does not Exist.'}}); - res.status(404).json({ message: 'Channels backup to restore does not Exist!' }); + const errMsg = 'Channel backup to restore does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Restore Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else { restore_backup = ''; - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error. Channels backup to restore does not Exist!', error: {error: 'Channel backup to restore does not Exist.'}}); - res.status(404).json({ message: 'Channels backup to restore does not Exist!' }); + const errMsg = 'Channel backup to restore does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Restore Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else { message = 'Channel Restore Successful.'; @@ -202,18 +176,21 @@ exports.postRestore = (req, res, next) => { options.form = JSON.stringify({ chan_backups: { chan_backups: [JSON.parse(restore_backup)] } }); } else { restore_backup = ''; - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error. Channels backup to restore does not Exist!', error: {error: 'Channel backup to restore does not Exist.'}}); - res.status(404).json({ message: 'Channel backup to restore does not Exist!' }); + const errMsg = 'Channel backup to restore does not Exist.'; + const err = common.handleError({ statusCode: 404, message: 'Restore Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } if (restore_backup !== '') { request.post(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'ChannelBackup', msg: 'Channel Backup Restore', data: body}); + if(req.params.channelPoint === 'ALL') { channel_restore_file = channel_restore_file + 'channel-all.bak'; } fs.rename(channel_restore_file, channel_restore_file + '.restored', () => { getFilesList(getFilesListRes => { if (getFilesListRes.error) { - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error', error: getFilesListRes.error}); - return res.status(500).json({ message: 'Channel restore failed!', list: getFilesListRes }); + const errMsg = getFilesListRes.error; + const err = common.handleError({ statusCode: 500, message: 'Restore Channel Error', error: errMsg }, 'ChannelBackup', errMsg); + return res.status(err.statusCode).json({message: err.error, list: getFilesListRes}); } else { logger.log({level: 'INFO', fileName: 'ChannelBackup', msg: 'Channel Restored'}); return res.status(201).json({ message: message, list: getFilesListRes }); @@ -222,18 +199,8 @@ exports.postRestore = (req, res, next) => { }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'ChannelBackup', msg: 'Channel Restore Error', error: err}); - return res.status(404).json({ - message: 'Channel restore failed!', - error: err.error.error - }); + const err = common.handleError(errRes, 'ChannelsBackup', 'Restore Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; @@ -241,7 +208,7 @@ exports.postRestore = (req, res, next) => { exports.getRestoreList = (req, res, next) => { getFilesList(getFilesListRes => { if (getFilesListRes.error) { - return res.status(500).json(getFilesListRes); + return res.status(getFilesListRes.statusCode).json(getFilesListRes); } else { return res.status(200).json(getFilesListRes); } diff --git a/controllers/lnd/fees.js b/controllers/lnd/fees.js index 7e5bc1f9..d445cabe 100644 --- a/controllers/lnd/fees.js +++ b/controllers/lnd/fees.js @@ -10,57 +10,36 @@ exports.getFees = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/fees'; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Fee Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Get Fee Error', error: body.error}); - res.status(500).json({ - message: "Fetching fee failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - let today = new Date(Date.now()); - let start_date = new Date(today.getFullYear(), today.getMonth(), 1, 0, 0, 0); - let current_time = (Math.round(today.getTime()/1000)).toString(); - let month_start_time = (Math.round(start_date.getTime()/1000)).toString(); - let week_start_time = current_time - 604800; - let day_start_time = current_time - 86400; - return swtch.getAllForwardingEvents(month_start_time, current_time, 0, (history) => { - logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Forwarding History Received', data: history}); - daily_sum = history.forwarding_events.reduce((acc, curr) => (curr.timestamp >= day_start_time) ? [(acc[0] + 1), (acc[1] + +curr.fee_msat)] : acc, [0, 0]); - weekly_sum = history.forwarding_events.reduce((acc, curr) => (curr.timestamp >= week_start_time) ? [(acc[0] + 1), (acc[1] + +curr.fee_msat)] : acc, [0, 0]); - monthly_sum = history.forwarding_events.reduce((acc, curr) => [(acc[0] + 1), (acc[1] + +curr.fee_msat)], [0, 0]); - logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Daily Sum (Transactions, Fee)', data: daily_sum}); - logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Weekly Sum (Transactions, Fee)', data: weekly_sum}); - logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Monthly Sum (Transactions, Fee)', data: monthly_sum}); - body.daily_tx_count = daily_sum[0]; - body.weekly_tx_count = weekly_sum[0]; - body.monthly_tx_count = monthly_sum[0]; - body.day_fee_sum = (daily_sum[1] / 1000).toFixed(2); - body.week_fee_sum = (weekly_sum[1] / 1000).toFixed(2); - body.month_fee_sum = (monthly_sum[1] / 1000).toFixed(2); - body.btc_day_fee_sum = common.convertToBTC(body.day_fee_sum); - body.btc_week_fee_sum = common.convertToBTC(body.week_fee_sum); - body.btc_month_fee_sum = common.convertToBTC(body.month_fee_sum); - body.forwarding_events_history = history; - if (history.error) { - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Fetch Forwarding Events Error', error: history.error}); - } - logger.log({level: 'INFO', fileName: 'Fees', msg: 'Fees Received'}); - res.status(200).json(body); - }) - } + let today = new Date(Date.now()); + let start_date = new Date(today.getFullYear(), today.getMonth(), 1, 0, 0, 0); + let current_time = (Math.round(today.getTime()/1000)).toString(); + let month_start_time = (Math.round(start_date.getTime()/1000)).toString(); + let week_start_time = current_time - 604800; + let day_start_time = current_time - 86400; + return swtch.getAllForwardingEvents(month_start_time, current_time, 0, (history) => { + logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Forwarding History Received', data: history}); + daily_sum = history.forwarding_events.reduce((acc, curr) => (curr.timestamp >= day_start_time) ? [(acc[0] + 1), (acc[1] + +curr.fee_msat)] : acc, [0, 0]); + weekly_sum = history.forwarding_events.reduce((acc, curr) => (curr.timestamp >= week_start_time) ? [(acc[0] + 1), (acc[1] + +curr.fee_msat)] : acc, [0, 0]); + monthly_sum = history.forwarding_events.reduce((acc, curr) => [(acc[0] + 1), (acc[1] + +curr.fee_msat)], [0, 0]); + logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Daily Sum (Transactions, Fee)', data: daily_sum}); + logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Weekly Sum (Transactions, Fee)', data: weekly_sum}); + logger.log({level: 'DEBUG', fileName: 'Fees', msg: 'Monthly Sum (Transactions, Fee)', data: monthly_sum}); + body.daily_tx_count = daily_sum[0]; + body.weekly_tx_count = weekly_sum[0]; + body.monthly_tx_count = monthly_sum[0]; + body.day_fee_sum = (daily_sum[1] / 1000).toFixed(2); + body.week_fee_sum = (weekly_sum[1] / 1000).toFixed(2); + body.month_fee_sum = (monthly_sum[1] / 1000).toFixed(2); + body.forwarding_events_history = history; + if (history.error) { + logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Fetch Forwarding Events Error', error: history.error}); + } + logger.log({level: 'INFO', fileName: 'Fees', msg: 'Fees Received'}); + res.status(200).json(body); + }) }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Fees', msg: 'Fetch Forwarding Events Error', error: err}); - return res.status(500).json({ - message: "Fetching fee failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Fees', 'Get Forwarding Events Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/getInfo.js b/controllers/lnd/getInfo.js index 5f8a5d10..7802a9b1 100644 --- a/controllers/lnd/getInfo.js +++ b/controllers/lnd/getInfo.js @@ -12,41 +12,27 @@ exports.getInfo = (req, res, next) => { logger.log({level: 'DEBUG', fileName:'GetInfo', msg: 'Selected Node', data: common.selectedNode.ln_node}); logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Calling Info from LND server url', data: options.url}); if (!options.headers || !options.headers['Grpc-Metadata-macaroon']) { - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'LND Get info failed due to bad or missing macaroon!', error: {error: 'Bad or missing macaroon.'}}); - res.status(502).json({ - message: "Fetching Info Failed!", - error: "Bad Macaroon" - }); + const errMsg = 'LND Get info failed due to bad or missing macaroon!'; + const err = common.handleError({ statusCode: 502, message: 'Bad or Missing Macaroon', error: errMsg }, 'GetInfo', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { common.nodes.map(node => { if (node.lnImplementation === 'LND') { connect.getAllNodeAllChannelBackup(node); }}); request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'GetInfo', msg: 'Node Information', data: body}); const body_str = (!body) ? '' : JSON.stringify(body); const search_idx = (!body) ? -1 : body_str.search('Not Found'); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Get Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching Info Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); + if (!body || search_idx > -1 || body.error) { + if (body && !body.error) { body.error = 'Error From Server!'; } + const err = common.handleError(body, 'GetInfo', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { logger.log({level: 'INFO', fileName: 'GetInfo', msg: 'LND Node Information Received'}); res.status(200).json(body); } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'GetInfo', msg: 'Get Info Error', error: err}); - return res.status(500).json({ - message: "Fetching Info Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'GetInfo', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } }; diff --git a/controllers/lnd/graph.js b/controllers/lnd/graph.js index 0c8881ba..f95e64de 100644 --- a/controllers/lnd/graph.js +++ b/controllers/lnd/graph.js @@ -17,33 +17,13 @@ exports.getDescribeGraph = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/graph'; request.get(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Describe Graph Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Describe Graph Error', error: body.error}); - res.status(500).json({ - message: "Fetching Describe Graph Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Graph', msg: 'Network Graph Received'}); - res.status(200).json(body); - } + logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Describe Graph Received', data: body}); + logger.log({level: 'INFO', fileName: 'Graph', msg: 'Network Graph Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Describe Graph Error', error: err}); - return res.status(500).json({ - message: "Fetching Describe Graph Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Describe Graph Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -52,38 +32,13 @@ exports.getGraphInfo = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/graph/info'; request.get(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Network Info Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Network Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching network Info failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - body.btc_total_network_capacity = (!body.total_network_capacity) ? 0 : common.convertToBTC(body.total_network_capacity); - body.btc_avg_channel_size = (!body.avg_channel_size) ? 0 : common.convertToBTC(body.avg_channel_size); - body.btc_min_channel_size = (!body.min_channel_size) ? 0 : common.convertToBTC(body.min_channel_size); - body.btc_max_channel_size = (!body.max_channel_size) ? 0 : common.convertToBTC(body.max_channel_size); - logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Network Information After Rounding and Conversion', data: body_str}); - logger.log({level: 'INFO', fileName: 'Graph', msg: 'Graph Information Received'}); - res.status(200).json(body); - } + logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Network Information After Rounding and Conversion', data: body}); + logger.log({level: 'INFO', fileName: 'Graph', msg: 'Graph Information Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Network Info Error', error: err}); - return res.status(500).json({ - message: "Fetching network Info failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Graph Information Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -93,29 +48,12 @@ exports.getGraphNode = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/graph/node/' + req.params.pubKey; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Node Info Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Node Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching node Info failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } logger.log({level: 'INFO', fileName: 'Graph', msg: 'Graph Node Information Received'}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Node Info Error', error: err}); - return res.status(500).json({ - message: "Fetching node Info failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Get Node Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -125,50 +63,26 @@ exports.getGraphEdge = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/graph/edge/' + req.params.chanid; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Edge Info Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Edge Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching Edge Info Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } logger.log({level: 'INFO', fileName: 'Graph', msg: 'Graph Edge Information Received'}); res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Edge Info Error', error: err}); - return res.status(500).json({ - message: "Fetching Edge Info Failed!", - error: err.error - }); - }); + const err = common.handleError(errRes, 'Graph', 'Get Edge Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + }); }; exports.getQueryRoutes = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Graph', msg: 'Getting Graph Routes..'}); options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/graph/routes/' + req.params.destPubkey + '/' + req.params.amount; - if(req.query.outgoing_chan_id) { + if (req.query.outgoing_chan_id) { options.url = options.url + '?outgoing_chan_id=' + req.query.outgoing_chan_id; } logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Query Routes URL', data: options.url}); request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Query Routes Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Query Routes Error', error: body.error}); - res.status(500).json({ - message: "Fetching Query Routes Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } - if(body.routes && body.routes.length && body.routes.length > 0 && body.routes[0].hops && body.routes[0].hops.length && body.routes[0].hops.length > 0) { + if (body.routes && body.routes.length && body.routes.length > 0 && body.routes[0].hops && body.routes[0].hops.length && body.routes[0].hops.length > 0) { return Promise.all(body.routes[0].hops.map(hop => getAliasFromPubkey(hop.pub_key))) .then(function(values) { body.routes[0].hops.map((hop, i) => { @@ -181,18 +95,8 @@ exports.getQueryRoutes = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Query Routes Error', error: err}); - return res.status(500).json({ - message: "Fetching Query Routes Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Get Query Routes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { logger.log({level: 'INFO', fileName: 'Graph', msg: 'Graph Routes Received'}); @@ -200,18 +104,8 @@ exports.getQueryRoutes = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Query Routes Error', error: err}); - return res.status(500).json({ - message: "Fetching Query Routes Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Get Query Routes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -221,21 +115,14 @@ exports.getRemoteFeePolicy = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/graph/edge/' + req.params.chanid; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Graph', msg: 'Edge Info Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Edge Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching Edge Info Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } remoteNodeFee = {}; - if(body.node1_pub === req.params.localPubkey){ + if (body.node1_pub === req.params.localPubkey){ remoteNodeFee = { time_lock_delta: body.node2_policy.time_lock_delta, fee_base_msat: body.node2_policy.fee_base_msat, fee_rate_milli_msat: body.node2_policy.fee_rate_milli_msat }; - } else if(body.node2_pub === req.params.localPubkey) { + } else if (body.node2_pub === req.params.localPubkey) { remoteNodeFee = { time_lock_delta: body.node1_policy.time_lock_delta, fee_base_msat: body.node1_policy.fee_base_msat, @@ -246,18 +133,8 @@ exports.getRemoteFeePolicy = (req, res, next) => { res.status(200).json(remoteNodeFee); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Fetch Edge Info Error', error: err}); - return res.status(500).json({ - message: "Fetching Edge Info Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Remote Fee Policy Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -271,18 +148,8 @@ exports.getAliasesForPubkeys = (req, res, next) => { res.status(200).json(values); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Graph', msg: 'Get Aliases for Pubkeys Error', error: err}); - return res.status(500).json({ - message: "Getting Aliases for Pubkeys Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Graph', 'Get Aliases for Pubkeys Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { res.status(200).json([]); diff --git a/controllers/lnd/invoices.js b/controllers/lnd/invoices.js index b65d9b23..dbdbf16a 100644 --- a/controllers/lnd/invoices.js +++ b/controllers/lnd/invoices.js @@ -9,29 +9,15 @@ exports.getInvoice = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/invoice/' + req.params.rHashStr; request(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoice Info Received', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Invoice Info Error', error: body.error}); - res.status(500).json({ - message: "Fetching Invoice Info Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } logger.log({level: 'INFO', fileName: 'Invoice', msg: 'Invoice Information Received'}); + body.r_preimage = body.r_preimage ? Buffer.from(body.r_preimage, 'base64').toString('hex') : ''; + body.r_hash = body.r_hash ? Buffer.from(body.r_hash, 'base64').toString('hex') : ''; + body.description_hash = body.description_hash ? Buffer.from(body.description_hash, 'base64').toString('hex') : null; res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Fetch Invoice Info Error', error: err}); - return res.status(500).json({ - message: "Fetching Invoice Info Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoices', 'Get Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -41,44 +27,22 @@ exports.listInvoices = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/invoices?num_max_invoices=' + req.query.num_max_invoices + '&index_offset=' + req.query.index_offset + '&reversed=' + req.query.reversed; request(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoices Error', error: body.error}); - res.status(500).json({ - message: "Fetching Invoice Info failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error + logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); + if (body.invoices && body.invoices.length > 0) { + body.invoices.forEach(invoice => { + invoice.r_preimage = invoice.r_preimage ? Buffer.from(invoice.r_preimage, 'base64').toString('hex') : ''; + invoice.r_hash = invoice.r_hash ? Buffer.from(invoice.r_hash, 'base64').toString('hex') : ''; + invoice.description_hash = invoice.description_hash ? Buffer.from(invoice.description_hash, 'base64').toString('hex') : null; }); - } else { - if (body.invoices && body.invoices.length > 0) { - body.invoices.forEach(invoice => { - invoice.r_preimage = invoice.r_preimage ? Buffer.from(invoice.r_preimage, 'base64').toString('hex') : ''; - invoice.r_hash = invoice.r_hash ? Buffer.from(invoice.r_hash, 'base64').toString('hex') : ''; - invoice.description_hash = invoice.description_hash ? Buffer.from(invoice.description_hash, 'base64').toString('hex') : null; - invoice.btc_value = (!invoice.value) ? 0 : common.convertToBTC(invoice.value); - invoice.btc_amt_paid_sat = (!invoice.amt_paid_sat) ? 0 : common.convertToBTC(invoice.amt_paid_sat); - }); - body.invoices = common.sortDescByKey(body.invoices, 'creation_date'); - } - logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); - logger.log({level: 'INFO', fileName: 'Invoice', msg: 'Invoices List Received'}); - res.status(200).json(body); + body.invoices = common.sortDescByKey(body.invoices, 'creation_date'); } + logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body}); + logger.log({level: 'INFO', fileName: 'Invoice', msg: 'Invoices List Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'List Invoice Error', error: err}); - return res.status(500).json({ - message: "Fetching Invoices failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoices', 'List Invoices Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -99,29 +63,11 @@ exports.addInvoice = (req, res, next) => { options.form = JSON.stringify(options.form); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Invoice', msg: 'Add Invoice Responce', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Add Invoice Error', error: body.error}); - res.status(500).json({ - message: "Add Invoice Failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Invoice', msg: 'Invoice Added'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Invoice', msg: 'Invoice Added'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Invoice', msg: 'Add Invoice Error', error: err}); - return res.status(500).json({ - message: "Add Invoice Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Invoices', 'Add Invoice Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/message.js b/controllers/lnd/message.js index b04baa07..dc1acc8f 100644 --- a/controllers/lnd/message.js +++ b/controllers/lnd/message.js @@ -10,32 +10,14 @@ exports.signMessage = (req, res, next) => { options.form = JSON.stringify({ msg: Buffer.from(req.body.message).toString('base64') }); - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Messages', msg: 'Message Signed', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Sign Message Error', error: body.error}); - res.status(500).json({ - message: "Sign message failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Signed'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Signed'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Sign Message Error', error: err}); - return res.status(500).json({ - message: 'Sign Message Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Messages', 'Sign Message Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -47,31 +29,13 @@ exports.verifyMessage = (req, res, next) => { msg: Buffer.from(req.body.message).toString('base64'), signature: req.body.signature }); - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Messages', msg: 'Message Verified', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Verify Message Error', error: body.error}); - res.status(500).json({ - message: "Verify message failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Verified'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Message', msg: 'Message Verified'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Messages', msg: 'Message Verification Error', error: err}); - return res.status(500).json({ - message: 'Verify Message Failed!', - error: err.error - }); + const err = common.handleError(errRes, 'Messages', 'Verify Message Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/newAddress.js b/controllers/lnd/newAddress.js index 0290737e..6bf14a73 100644 --- a/controllers/lnd/newAddress.js +++ b/controllers/lnd/newAddress.js @@ -8,32 +8,12 @@ exports.getNewAddress = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/newaddress?type=' + req.query.type; request(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'NewAddress', msg: 'New Address Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'NewAddress', msg: 'New Address Error', error: body.error}); - res.status(500).json({ - message: "Fetching new address failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'NewAddress', msg: 'New Address Received'}); - res.status(200).json(body); - } + logger.log({level: 'DEBUG', fileName: 'NewAddress', msg: 'New Address Received', data: body}); + logger.log({level: 'INFO', fileName: 'NewAddress', msg: 'New Address Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'NewAddress', msg: 'New Address Error', error: err}); - return res.status(500).json({ - message: "Fetching new address failed!", - error: err.error - }); + const err = common.handleError(errRes, 'NewAddress', 'New Address Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/payReq.js b/controllers/lnd/payReq.js index 787eba51..eacb2523 100644 --- a/controllers/lnd/payReq.js +++ b/controllers/lnd/payReq.js @@ -17,34 +17,13 @@ exports.decodePayment = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/payreq/' + req.params.payRequest; request(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'PayReq', msg: 'Payment Decode Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'PayReq', msg: 'Payment Decode Error 1', error: body.error}); - res.status(500).json({ - message: "Payment Request Decode Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - body.btc_num_satoshis = (!body.num_satoshis) ? 0 : common.convertToBTC(body.num_satoshis); - logger.log({level: 'INFO', fileName: 'PayRequest', msg: 'Payment Decoded'}); - res.status(200).json(body); - } + logger.log({level: 'DEBUG', fileName: 'PayReq', msg: 'Payment Decode Received', data: body}); + logger.log({level: 'INFO', fileName: 'PayRequest', msg: 'Payment Decoded'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'PayReq', msg: 'Payment Decode Error 2', error: err.error}); - return res.status(500).json({ - message: "Payment Request Decode Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'PayRequest', 'Decode Payment Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -60,18 +39,8 @@ exports.decodePayments = (req, res, next) => { res.status(200).json(values); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'PayReq', msg: 'Decode Payments Error', error: err}); - return res.status(500).json({ - message: "Decode Payments Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'PayRequest', 'Decode Payments Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } else { logger.log({level: 'INFO', fileName: 'PayRequest', msg: 'Empty Payment List Decoded'}); diff --git a/controllers/lnd/payments.js b/controllers/lnd/payments.js index 54345724..aaa5cfb3 100644 --- a/controllers/lnd/payments.js +++ b/controllers/lnd/payments.js @@ -8,37 +8,17 @@ exports.getPayments = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/payments?max_payments=' + req.query.max_payments + '&index_offset=' + req.query.index_offset + '&reversed=' + req.query.reversed; request(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payment List Received', data: body_str}); - if(!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'List Payments Error', error: body.error}); - res.status(500).json({ - message: "Payments List Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - if (body.payments && body.payments.length > 0) { - body.payments = common.sortDescByKey(body.payments, 'creation_date'); - } - logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payments After Sort', data: body}); - logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payments List Received'}); - res.status(200).json(body); + logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payment List Received', data: body}); + if (body.payments && body.payments.length > 0) { + body.payments = common.sortDescByKey(body.payments, 'creation_date'); } + logger.log({level: 'DEBUG', fileName: 'Payments', msg: 'Payments After Sort', data: body}); + logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payments List Received'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'List Payments Error', error: err}); - return res.status(500).json({ - message: "Payments List Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Payments', 'List Payments Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -54,17 +34,7 @@ exports.getAllLightningTransactions = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Payments', msg: 'Payments & Invoices Received'}); res.status(200).json({paymentsAll: values[0], invoicesAll: values[1]}); }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Payments', msg: 'All Lightning Transactions Error', error: err}); - return res.status(500).json({ - message: "All Lightning Transactions Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Payments', 'All Lightning Transactions Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/peers.js b/controllers/lnd/peers.js index eeffcad3..0ce29007 100644 --- a/controllers/lnd/peers.js +++ b/controllers/lnd/peers.js @@ -33,18 +33,8 @@ exports.getPeers = (req, res, next) => { res.status(200).json(body.peers); }) }).catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'List Peers Error', error: err}); - return res.status(500).json({ - message: "Peers List Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Peers', 'List Peers Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -53,48 +43,35 @@ exports.postPeer = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/peers'; options.form = JSON.stringify({ - addr: { host: req.body.host, pubkey: req.body.pubkey }, + // addr: { host: req.body.host, pubkey: req.body.pubkey }, perm: req.body.perm }); - request.post(options, (error, response, body) => { + request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Add Peer Error', error: body.error}); - res.status(500).json({ - message: "Adding peer failed!", - error: (!body) ? 'Error From Server!' : body.error + options.url = common.getSelLNServerUrl() + '/v1/peers'; + request(options).then((body) => { + let peers = (!body.peers) ? [] : body.peers; + return Promise.all(peers.map(peer => getAliasForPeers(peer))).then(function(values) { + if (body.peers) { + body.peers = common.sortDescByStrKey(body.peers, 'alias'); + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Alias', data: body}); + body.peers = common.newestOnTop(body.peers, 'pub_key', req.body.pubkey); + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Newest On Top', data: body}); + } + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added Successfully'}); + logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Connected'}); + res.status(201).json(body.peers); + }).catch(errRes => { + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); - } else { - options.url = common.getSelLNServerUrl() + '/v1/peers'; - request(options).then(function (body) { - let peers = (!body.peers) ? [] : body.peers; - return Promise.all(peers.map(peer => getAliasForPeers(peer))).then(function(values) { - if (body.peers) { - body.peers = common.sortDescByStrKey(body.peers, 'alias'); - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Alias', data: body}); - body.peers = common.newestOnTop(body.peers, 'pub_key', req.body.pubkey); - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer with Newest On Top', data: body}); - } - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Added Successfully'}); - logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Connected'}); - res.status(201).json(body.peers); - }) - .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Peer', msg: 'Add Peer Error', error: err}); - return res.status(500).json({ - message: "Peer Add Failed!", - error: err.error - }); - }); - }) - } + }).catch(errRes => { + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + }); + }).catch(errRes => { + const err = common.handleError(errRes, 'Peers', 'Connect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -104,30 +81,12 @@ exports.deletePeer = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/peers/' + req.params.peerPubKey; request.delete(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Detach Peer Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Detach Peer Error', error: body.error}); - res.status(500).json({ - message: "Detach peer failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Detached', data: req.params.peerPubKey}); - logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Disconnected'}); - res.status(204).json({}); - } + logger.log({level: 'DEBUG', fileName: 'Peers', msg: 'Peer Detached', data: req.params.peerPubKey}); + logger.log({level: 'INFO', fileName: 'Peers', msg: 'Peer Disconnected'}); + res.status(204).json({}); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Peers', msg: 'Detach Peer Error', error: err}); - return res.status(500).json({ - message: "Detach Peer Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Peers', 'Disconnect Peer Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/switch.js b/controllers/lnd/switch.js index a60e3fca..f71191ea 100644 --- a/controllers/lnd/switch.js +++ b/controllers/lnd/switch.js @@ -9,7 +9,7 @@ var responseData = { forwarding_events: [], last_offset_index: 0 }; exports.forwardingHistory = (req, res, next) => { return this.getAllForwardingEvents(req.body.start_time, req.body.end_time, 0, (eventsResponse) => { if (eventsResponse.error) { - res.status(500).json(eventsResponse); + res.status(error.statusCode).json(eventsResponse); } else { res.status(201).json(eventsResponse); } @@ -45,17 +45,7 @@ exports.getAllForwardingEvents = (start, end, offset, callback) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Switch', msg: 'Get All Forwarding Events Error', error: err}); - return callback({ - message: "Forwarding Events Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Switch', 'Get All Forwarding Events Error'); + return callback({message: err.message, error: err.error, statusCode: err.statusCode}); }); } diff --git a/controllers/lnd/transactions.js b/controllers/lnd/transactions.js index 2165d658..0c6cf0fb 100644 --- a/controllers/lnd/transactions.js +++ b/controllers/lnd/transactions.js @@ -8,36 +8,16 @@ exports.getTransactions = (req, res, next) => { options = common.getOptions(); options.url = common.getSelLNServerUrl() + '/v1/transactions'; request(options).then((body) => { - const body_str = (!body) ? '' : JSON.stringify(body); - const search_idx = (!body) ? -1 : body_str.search('Not Found'); - logger.log({level: 'DEBUG', fileName: 'Transactions', msg: 'Transaction Received', data: body_str}); - if (!body || search_idx > -1 || body.error) { - logger.log({level: 'ERROR', fileName: 'Transactions', msg: 'List Transactions Error', error: body.error}); - res.status(500).json({ - message: "Fetching Transactions Failed!", - error: (!body || search_idx > -1) ? 'Error From Server!' : body.error - }); - } else { - if (body.transactions && body.transactions.length > 0) { - body.transactions = common.sortDescByKey(body.transactions, 'time_stamp'); - } - logger.log({level: 'INFO', fileName: 'Transactions', msg: 'Transactions Received'}); - res.status(200).json(body.transactions); + logger.log({level: 'DEBUG', fileName: 'Transactions', msg: 'Transaction Received', data: body}); + if (body.transactions && body.transactions.length > 0) { + body.transactions = common.sortDescByKey(body.transactions, 'time_stamp'); } + logger.log({level: 'INFO', fileName: 'Transactions', msg: 'Transactions Received'}); + res.status(200).json(body.transactions); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Transactions', msg: 'List Transactions Error', error: err}); - return res.status(500).json({ - message: "Fetching Transactions Failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Transactions', 'List Transactions Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; @@ -57,29 +37,11 @@ exports.postTransactions = (req, res, next) => { options.form = JSON.stringify(options.form); request.post(options).then((body) => { logger.log({level: 'DEBUG', fileName: 'Transactions', msg: 'Transaction Post Response', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Transactions', msg: 'Post Transaction Error', error: body.error}); - res.status(500).json({ - message: "Transactions post failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Transactions', msg: 'Transaction Sent'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Transactions', msg: 'Transaction Sent'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Transactions', msg: 'Transaction Post Error', error: err}); - return res.status(500).json({ - message: "Transactions post failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Transactions', 'Send Transaction Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/lnd/wallet.js b/controllers/lnd/wallet.js index 3e712c3d..14880dba 100644 --- a/controllers/lnd/wallet.js +++ b/controllers/lnd/wallet.js @@ -13,30 +13,12 @@ exports.genSeed = (req, res, next) => { options.url = common.getSelLNServerUrl() + '/v1/genseed'; } request(options).then((body) => { - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Gen Seed Error', error: body.error}); - res.status(500).json({ - message: "Genseed failed!", - error: (!body) ? 'Error From Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'Wallet', msg: 'Seed Generated'}); - res.status(200).json(body); - } + logger.log({level: 'INFO', fileName: 'Wallet', msg: 'Seed Generated'}); + res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Gen Seed Error', error: err}); - return res.status(500).json({ - message: "Genseed failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'Gen Seed Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -71,27 +53,21 @@ exports.operateWallet = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Wallet', msg: 'Wallet Response', data: body}); const body_str = (!body) ? '' : JSON.stringify(body); const search_idx = (!body) ? -1 : body_str.search('Not Found'); - if(!body) { - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Wallet Error', error: {error: (error ? error : err_message)}}); - res.status(500).json({ - message: err_message, - error: (error) ? error : err_message - }); - } else if(search_idx > -1) { - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Wallet Error', error: {error: err_message}}); - res.status(500).json({ - message: err_message, - error: err_message - }); - } else if(body.error) { - if((body.code === 1 && body.error === 'context canceled') || (body.code === 14 && body.error === 'transport is closing')) { + if (!body) { + const errMsg = error ? error : err_message; + const err = common.handleError({ statusCode: 500, message: 'Wallet Error', error: errMsg }, 'Wallet', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); + } else if (search_idx > -1) { + const errMsg = err_message; + const err = common.handleError({ statusCode: 500, message: 'Wallet Error', error: errMsg }, 'Wallet', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); + } else if (body.error) { + if ((body.code === 1 && body.error === 'context canceled') || (body.code === 14 && body.error === 'transport is closing')) { res.status(201).json('Successful'); } else { - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Wallet Error', error: body.error}); - res.status(500).json({ - message: err_message, - error: body.error - }); + const errMsg = (body.error && typeof body.error === 'object') ? JSON.stringify(body.error) : (body.error && typeof body.error === 'string') ? body.error : err_message; + const err = common.handleError({ statusCode: 500, message: 'Wallet Error', error: errMsg }, 'Wallet', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } } else { logger.log({level: 'INFO', fileName: 'Wallet', msg: 'Wallet Unlocked/Initialized'}); @@ -99,21 +75,11 @@ exports.operateWallet = (req, res, next) => { } }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Wallet Error', error: err}); - if((err.error.code === 1 && err.error.error === 'context canceled') || (err.error.code === 14 && err.error.error === 'transport is closing')) { + if ((err.error.code === 1 && err.error.error === 'context canceled') || (err.error.code === 14 && err.error.error === 'transport is closing')) { res.status(201).json('Successful'); } else { - res.status(500).json({ - message: err_message, - error: err.error.message ? err.error.message : err.message ? err.message : err_message - }); + const err = common.handleError(errRes, 'Wallet', err_message); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } }); }; @@ -133,18 +99,8 @@ exports.getUTXOs = (req, res, next) => { res.status(200).json(body.utxos ? body.utxos : []); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'UTXOs Error', error: err}); - return res.status(500).json({ - message: "UTXO list failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'List UTXOs Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -169,18 +125,8 @@ exports.bumpFee = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Bump Fee Error', error: err}); - return res.status(500).json({ - message: "Bump fee failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'Bump Fee Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -200,18 +146,8 @@ exports.labelTransaction = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Label Transaction Error', error: err}); - return res.status(500).json({ - message: "Transaction label failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'Label Transaction Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -233,18 +169,8 @@ exports.leaseUTXO = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Lease UTXO Error', error: err}); - return res.status(500).json({ - message: "Lease UTXO failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'Lease UTXO Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } @@ -265,17 +191,7 @@ exports.releaseUTXO = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Wallet', msg: 'Release UTXO Error', error: err}); - return res.status(500).json({ - message: "Release UTXO failed!", - error: err.error - }); + const err = common.handleError(errRes, 'Wallet', 'Release UTXO Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); } diff --git a/controllers/shared/RTLConf.js b/controllers/shared/RTLConf.js index 1a7d451b..353e51be 100644 --- a/controllers/shared/RTLConf.js +++ b/controllers/shared/RTLConf.js @@ -16,21 +16,58 @@ exports.updateSelectedNode = (req, res, next) => { res.status(200).json({status: 'Selected Node Updated To: ' + JSON.stringify(responseVal) + '!'}); }; +exports.getRTLConfigInitial = (req, res, next) => { + logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Getting Initial RTL Configuration..'}); + var confFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; + fs.readFile(confFile, 'utf8', function(errRes, data) { + if (errRes) { + if (errRes.code === 'ENOENT') { + logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Node config does not exist!', error: {error: 'Node config does not exist.'}}); + res.status(200).json({ defaultNodeIndex: 0, selectedNodeIndex: 0, sso: {}, nodes: [] }); + } else { + const errMsg = 'Get Node Config Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); + } + } else { + const nodeConfData = JSON.parse(data); + const sso = { rtlSSO: common.rtl_sso, logoutRedirectLink: common.logout_redirect_link }; + const enable2FA = !common.rtl_secret2fa ? false : true; + var nodesArr = []; + if (common.nodes && common.nodes.length > 0) { + common.nodes.forEach((node, i) => { + const settings = {}; + settings.userPersona = node.user_persona ? node.user_persona : 'MERCHANT'; + settings.themeMode = (node.theme_mode) ? node.theme_mode : 'DAY'; + settings.themeColor = (node.theme_color) ? node.theme_color : 'PURPLE'; + settings.fiatConversion = (node.fiat_conversion) ? !!node.fiat_conversion : false; + settings.currencyUnit = node.currency_unit; + nodesArr.push({ + index: node.index, + lnNode: node.ln_node, + lnImplementation: node.ln_implementation, + settings: settings, + authentication: {}}) + }); + } + logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Initial RTL Configuration Received'}); + res.status(200).json({ defaultNodeIndex: nodeConfData.defaultNodeIndex, selectedNodeIndex: common.selectedNode.index, sso: sso, enable2FA: enable2FA, nodes: nodesArr }); + } + }); +}; + exports.getRTLConfig = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Getting RTL Configuration..'}); var confFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; - logger.log({level: 'DEBUG', fileName: 'RTLConf', msg: 'Getting Node Config'}); - fs.readFile(confFile, 'utf8', function(err, data) { - if (err) { - if (err.code === 'ENOENT') { + fs.readFile(confFile, 'utf8', function(errRes, data) { + if (errRes) { + if (errRes.code === 'ENOENT') { logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Node config does not exist!', error: {error: 'Node config does not exist.'}}); res.status(200).json({ defaultNodeIndex: 0, selectedNodeIndex: 0, sso: {}, nodes: [] }); } else { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Getting Node Config Failed!', error: err}); - res.status(500).json({ - message: "Reading Node Config Failed!", - error: err - }); + const errMsg = 'Get Node Config Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } } else { const nodeConfData = JSON.parse(data); @@ -49,7 +86,7 @@ exports.getRTLConfig = (req, res, next) => { settings.themeColor = (node.theme_color) ? node.theme_color : 'PURPLE'; settings.fiatConversion = (node.fiat_conversion) ? !!node.fiat_conversion : false; settings.bitcoindConfigPath = node.bitcoind_config_path; - settings.enableLogging = node.enable_logging ? !!node.enable_logging : false; + settings.logLevel = node.log_level ? node.log_level : 'ERROR'; settings.lnServerUrl = node.ln_server_url; settings.swapServerUrl = node.swap_server_url; settings.boltzServerUrl = node.boltz_server_url; @@ -74,12 +111,12 @@ exports.updateUISettings = (req, res, next) => { var RTLConfFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; var config = JSON.parse(fs.readFileSync(RTLConfFile, 'utf-8')); config.nodes.find(node => { - if(node.index == common.selectedNode.index) { + if (node.index == common.selectedNode.index) { node.Settings.userPersona = req.body.updatedSettings.userPersona; node.Settings.themeMode = req.body.updatedSettings.themeMode; node.Settings.themeColor = req.body.updatedSettings.themeColor; node.Settings.fiatConversion = req.body.updatedSettings.fiatConversion; - if(req.body.updatedSettings.fiatConversion) { + if (req.body.updatedSettings.fiatConversion) { node.Settings.currencyUnit = req.body.updatedSettings.currencyUnit ? req.body.updatedSettings.currencyUnit : 'USD'; } else { delete node.Settings.currencyUnit; @@ -89,7 +126,7 @@ exports.updateUISettings = (req, res, next) => { selectedNode.theme_mode = req.body.updatedSettings.themeMode; selectedNode.theme_color = req.body.updatedSettings.themeColor; selectedNode.fiat_conversion = req.body.updatedSettings.fiatConversion; - if(req.body.updatedSettings.fiatConversion) { + if (req.body.updatedSettings.fiatConversion) { selectedNode.currency_unit = req.body.updatedSettings.currencyUnit ? req.body.updatedSettings.currencyUnit : 'USD'; } else { delete selectedNode.currency_unit; @@ -103,12 +140,10 @@ exports.updateUISettings = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'UI Settings Updated'}); res.status(201).json({message: 'Node Settings Updated Successfully'}); } - catch (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Updating Node Settings Failed!', error: {error: 'Updating node settings failed.'}}); - res.status(500).json({ - message: "Updating Node Settings Failed!", - error: 'Updating Node Settings Failed!' - }); + catch (errRes) { + const errMsg = 'Update Node Settings Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } }; @@ -125,12 +160,10 @@ exports.update2FASettings = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: '2FA Updated'}); res.status(201).json({message: message}); } - catch (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Updating 2FA Settings Failed!', error: {error: 'Updating 2FA settings failed.'}}); - res.status(500).json({ - message: "Updating 2FA Settings Failed!", - error: 'Updating 2FA Settings Failed!' - }); + catch (errRes) { + const errMsg = 'Update 2FA Settings Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } }; @@ -145,12 +178,10 @@ exports.updateDefaultNode = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Default Node Updated'}); res.status(201).json({message: 'Default Node Updated Successfully'}); } - catch (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Updating Default Node Failed!', error: {error: 'Updating dafault node failed.'}}); - res.status(500).json({ - message: "Updating Default Node Failed!", - error: 'Updating Default Node Failed!' - }); + catch (errRes) { + const errMsg = 'Update Default Node Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } }; @@ -174,13 +205,11 @@ exports.getConfig = (req, res, next) => { break; } logger.log({level: 'DEBUG', fileName: 'RTLConf', msg: '[Node Type, File Path]', data: [req.params.nodeType, confFile]}); - fs.readFile(confFile, 'utf8', function(err, data) { - if (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Reading Conf Failed!', error: err}); - res.status(500).json({ - message: "Reading Config File Failed!", - error: err - }); + fs.readFile(confFile, 'utf8', function(errRes, data) { + if (errRes) { + const errMsg = 'Reading Config Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } else { let jsonConfig = {}; if (fileFormat === 'JSON') { @@ -205,16 +234,12 @@ exports.getFile = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Getting File..'}); let file = req.query.path ? req.query.path : (common.selectedNode.channel_backup_path + common.path_separator + 'channel-' + req.query.channel.replace(':', '-') + '.bak'); logger.log({level: 'DEBUG', fileName: 'RTLConf', msg: '[Channel Point, File Path]', data: [req.query.channel, file]}); - fs.readFile(file, 'utf8', function(err, data) { - if (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Reading File Failed!', error: err}); - if (err.code && err.code === 'ENOENT') { - err.code = 'Backup File Not Found!'; - } - res.status(500).json({ - message: "Reading File Failed!", - error: err - }); + fs.readFile(file, 'utf8', function(errRes, data) { + if (errRes) { + if (errRes.code && errRes.code === 'ENOENT') { errRes.code = 'File Not Found!'; } + const errMsg = 'Reading File Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } else { logger.log({level: 'DEBUG', fileName: 'RTLConf', msg: 'File Data', data: data}); logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'File Data Received'}); @@ -227,22 +252,13 @@ exports.getCurrencyRates = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Getting Currency Rates..'}); options.url = 'https://blockchain.info/ticker'; request(options).then((body) => { - if(!body || body.error) { - res.status(500).json({ - message: "Fetching Rates Failed!", - error: (!body) ? 'Error From External Server!' : body.error - }); - } else { - logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Currency Rates Received'}); - res.status(200).json(JSON.parse(body)); - } + logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Currency Rates Received'}); + res.status(200).json(JSON.parse(body)); }) - .catch(function (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Fetching Rates Failed!', error: err}); - return res.status(500).json({ - message: "Fetching Rates Failed!", - error: err.error - }); + .catch(errRes => { + const errMsg = 'Get Rates Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); }); }; @@ -258,12 +274,10 @@ exports.updateSSO = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'SSO Setting Updated'}); res.status(201).json({message: 'SSO Updated Successfully'}); } - catch (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Updating SSO Failed!', error: {error: 'Updating SSO failed.'}}); - res.status(500).json({ - message: "Updating SSO Failed!", - error: 'Updating SSO Failed!' - }); + catch (errRes) { + const errMsg = 'Update SSO Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } }; @@ -273,7 +287,7 @@ exports.updateServiceSettings = (req, res, next) => { var config = JSON.parse(fs.readFileSync(RTLConfFile, 'utf-8')); const selectedNode = common.findNode(common.selectedNode.index); config.nodes.find(node => { - if(node.index == common.selectedNode.index) { + if (node.index == common.selectedNode.index) { switch (req.body.service) { case 'LOOP': if (req.body.settings.enable) { @@ -315,12 +329,10 @@ exports.updateServiceSettings = (req, res, next) => { logger.log({level: 'INFO', fileName: 'RTLConf', msg: 'Service Settings Updated'}); res.status(201).json({message: 'Service Settings Updated Successfully'}); } - catch (err) { - logger.log({level: 'ERROR', fileName: 'RTLConf', msg: 'Updating Service Settings Failed!', error: {error: 'Updating service settings failed.'}}); - res.status(500).json({ - message: "Updating Service Settings Failed!", - error: 'Updating Service Settings Failed!' - }); + catch (errRes) { + const errMsg = 'Update Service Settings Error'; + const err = common.handleError({ statusCode: 500, message: errMsg, error: errRes }, 'RTLConf', errMsg); + return res.status(err.statusCode).json({message: err.error, error: err.error}); } }; diff --git a/controllers/shared/authenticate.js b/controllers/shared/authenticate.js index ba953dda..d9d74db9 100644 --- a/controllers/shared/authenticate.js +++ b/controllers/shared/authenticate.js @@ -25,11 +25,11 @@ getFailedInfo = (reqIP, currentTime) => { return failed; } -handleError = (failed, currentTime, errMsg) => { +handleMultipleFailedAttemptsError = (failed, currentTime, errMsg) => { if (failed.count >= ALLOWED_LOGIN_ATTEMPTS && (currentTime <= (failed.lastTried + LOCKING_PERIOD))) { return { message: "Multiple Failed Login Attempts!", - error: "Application locked for " + (LOCKING_PERIOD/ONE_MINUTE) + " minutes due to multiple failed login attempts! Try again after " + common.convertTimestampToTime((failed.lastTried + LOCKING_PERIOD)/1000) + "!" + error: "Application locked for " + (LOCKING_PERIOD/ONE_MINUTE) + " minutes due to multiple failed attempts!\nTry again after " + common.convertTimestampToTime((failed.lastTried + LOCKING_PERIOD)/1000) + "!" }; } else { return { @@ -48,24 +48,19 @@ exports.verifyToken = (twoFAToken) => { exports.authenticateUser = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'Authenticating User..'}); - if(+common.rtl_sso) { - if(req.body.authenticateWith === 'JWT' && jwt.verify(req.body.authenticationValue, common.secret_key)) { + if (+common.rtl_sso) { + if (req.body.authenticateWith === 'JWT' && jwt.verify(req.body.authenticationValue, common.secret_key)) { logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'User Authenticated'}); res.status(200).json({ token: token }); } else if (req.body.authenticateWith === 'PASSWORD' && common.cookie.trim().length >= 32 && crypto.timingSafeEqual(Buffer.from(crypto.createHash('sha256').update(common.cookie).digest('hex'), 'utf-8'), Buffer.from(req.body.authenticationValue, 'utf-8'))) { connect.refreshCookie(common.rtl_cookie_path); - const token = jwt.sign( - { user: 'SSO_USER', configPath: common.nodes[0].config_path, macaroonPath: common.nodes[0].macaroon_path }, - common.secret_key - ); + const token = jwt.sign({ user: 'SSO_USER' }, common.secret_key); logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'User Authenticated.'}); res.status(200).json({ token: token }); } else { - logger.log({level: 'ERROR', fileName: 'Authenticate', msg: 'SSO Authentication Failed! Access key too short or does not match.', error: {error: 'Access key too short or does not match.'}}); - res.status(406).json({ - message: "SSO Authentication Failed!", - error: "SSO failed. Access key too short or does not match." - }); + const errMsg = 'SSO Authentication Failed! Access key too short or does not match.'; + const err = common.handleError({ statusCode: 406, message: 'SSO Authentication Error', error: errMsg }, 'Authenticate', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } else { const currentTime = new Date().getTime(); @@ -78,51 +73,39 @@ exports.authenticateUser = (req, res, next) => { logger.log({level: 'ERROR', fileName: 'Authenticate', msg: 'Invalid Token! Failed IP ' + reqIP, error: {error: 'Invalid token.'}}); failed.count = failed.count + 1; failed.lastTried = currentTime; - return res.status(401).json(handleError(failed, currentTime, 'Invalid 2FA Token!')); + return res.status(401).json(handleMultipleFailedAttemptsError(failed, currentTime, 'Invalid 2FA Token!')); } } delete failedLoginAttempts[reqIP]; - let rpcUser = 'NODE_USER'; - const token = jwt.sign( - { user: rpcUser, configPath: common.nodes[0].config_path, macaroonPath: common.nodes[0].macaroon_path }, - common.secret_key - ); + const token = jwt.sign({ user: 'NODE_USER' }, common.secret_key); logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'User Authenticated'}); res.status(200).json({ token: token }); } else { logger.log({level: 'ERROR', fileName: 'Authenticate', msg: 'Invalid Password! Failed IP ' + reqIP, error: {error: 'Invalid password.'}}); failed.count = common.rtl_pass !== password ? (failed.count + 1) : failed.count; failed.lastTried = common.rtl_pass !== password ? currentTime : failed.lastTried; - return res.status(401).json(handleError(failed, currentTime, 'Invalid Password!')); + return res.status(401).json(handleMultipleFailedAttemptsError(failed, currentTime, 'Invalid Password!')); } } }; exports.resetPassword = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'Resetting Password..'}); - if(+common.rtl_sso) { - logger.log({level: 'ERROR', fileName: 'Authenticate', msg: 'Password Reset Failed!', error: {error: 'Password reset failed.'}}); - res.status(401).json({ - message: "Password Reset Failed!", - error: "Password cannot be reset for SSO authentication!" - }); + if (+common.rtl_sso) { + const errMsg = 'Password cannot be reset for SSO authentication'; + const err = common.handleError({ statusCode: 401, message: 'Password Reset Error', error: errMsg }, 'Authenticate', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } else { const currPassword = req.body.currPassword; if (common.rtl_pass === currPassword) { common.rtl_pass = connect.replacePasswordWithHash(req.body.newPassword); - var rpcUser = 'NODE_USER'; - const token = jwt.sign( - { user: rpcUser, configPath: common.nodes[0].config_path, macaroonPath: common.nodes[0].macaroon_path }, - common.secret_key - ); + const token = jwt.sign({ user: 'NODE_USER' }, common.secret_key); logger.log({level: 'INFO', fileName: 'Authenticate', msg: 'Password Reset Successful'}); res.status(200).json({ token: token }); } else { - logger.log({level: 'ERROR', fileName: 'Authenticate', msg: 'Password Reset Failed!', error: {error: 'Password reset failed.'}}); - res.status(401).json({ - message: "Password Reset Failed!", - error: "Old password is not correct!" - }); + const errMsg = 'Incorrect Old Password'; + const err = common.handleError({ statusCode: 401, message: 'Password Reset Error', error: errMsg }, 'Authenticate', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } } }; diff --git a/controllers/shared/boltz.js b/controllers/shared/boltz.js index f9197fd2..18f3044c 100644 --- a/controllers/shared/boltz.js +++ b/controllers/shared/boltz.js @@ -6,7 +6,11 @@ var options = {}; exports.getInfo = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Getting Boltz Information..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Boltz Get Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Get Info Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/info'; request(options).then(function (body) { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Information Received'}); @@ -14,25 +18,19 @@ exports.getInfo = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Boltz Get Info Error', error: err}); - return res.status(500).json({ - message: "Boltz Get Info Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Get Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.getServiceInfo = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Getting Service Information..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Boltz Get Service Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Get Service Information Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/serviceinfo'; request(options).then(function (body) { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Service Information Received'}); @@ -40,25 +38,19 @@ exports.getServiceInfo = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Boltz Get Service Info Error', error: err}); - return res.status(500).json({ - message: "Boltz Get Service Info Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Get Service Information Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.listSwaps = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Getting List Swaps..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Boltz List Swaps Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'List Swaps Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/listswaps'; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Boltz List Swaps Info', data: body}); @@ -68,25 +60,19 @@ exports.listSwaps = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Boltz List Swaps Error', error: err}); - return res.status(500).json({ - message: "Boltz List Swaps Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'List Swaps Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.getSwapInfo = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Getting Swap..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Boltz Swap Info Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Get Swap Information Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/swap/' + req.params.swapId; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Boltz Swap Info', data: body}); @@ -94,162 +80,96 @@ exports.getSwapInfo = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Boltz Swap Info Error', error: err}); - return res.status(500).json({ - message: "Boltz Swap Info Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Swap Info Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.createSwap = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Creating Swap..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Create Swap Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Create Swap Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/createswap'; options.body = { amount: req.body.amount }; if (req.body.address !== '') { options.body.address = req.body.address; } logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Swap Body', data: options.body}); request.post(options).then(createSwapRes => { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Swap Response', data: createSwapRes}); - if(!createSwapRes || createSwapRes.error) { - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Swap Error', error: createSwapRes.error}); - res.status(500).json({ - message: 'Create Swap Failed!', - error: (!createSwapRes) ? 'Error From Server!' : createSwapRes.error.message - }); - } else { - logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Swap Created'}); - res.status(201).json(createSwapRes); - } + logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Swap Created'}); + res.status(201).json(createSwapRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Swap Error', error: err}); - return res.status(500).json({ - message: "Create Swap Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Create Swap Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.createReverseSwap = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Creating Reverse Swap..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Create Reverse Swap Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Create Reverse Swap Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/createreverseswap'; options.body = { amount: req.body.amount }; if (req.body.address !== '') { options.body.address = req.body.address; } logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Reverse Swap Body', data: options.body}); request.post(options).then(createReverseSwapRes => { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Reverse Swap Response', data: createReverseSwapRes}); - if(!createReverseSwapRes || createReverseSwapRes.error) { - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Reverse Swap Error', error: createReverseSwapRes.error}); - res.status(500).json({ - message: 'Create Reverse Swap Failed!', - error: (!createReverseSwapRes) ? 'Error From Server!' : createReverseSwapRes.error.message - }); - } else { - logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Reverse Swap Created'}); - res.status(201).json(createReverseSwapRes); - } + logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Reverse Swap Created'}); + res.status(201).json(createReverseSwapRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Reverse Swap Error', error: err}); - return res.status(500).json({ - message: "Create Reverse Swap Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Create Reverse Swap Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.createChannel = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Creating Boltz Channel..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Create Channel Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Create Channel Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/createchannel'; options.body = { amount: req.body.amount }; if (req.body.address !== '') { options.body.address = req.body.address; } logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Channel Body', data: options.body}); request.post(options).then(createChannelRes => { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Create Channel Response', data: createChannelRes}); - if(!createChannelRes || createChannelRes.error) { - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Channel Error', error: createChannelRes.error}); - res.status(500).json({ - message: 'Create Channel Failed!', - error: (!createChannelRes) ? 'Error From Server!' : createChannelRes.error.message - }); - } else { - logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Channel Created'}); - res.status(201).json(createChannelRes); - } + logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Channel Created'}); + res.status(201).json(createChannelRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Create Channel Error', error: err}); - return res.status(500).json({ - message: "Create Channel Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Create Channel Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.deposit = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Deposit Start..'}); options = common.getBoltzServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Deposit Failed!",error: { message: 'Boltz Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Boltz Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Deposit Error', error: errMsg }, 'Boltz', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/deposit'; request.post(options).then(depositRes => { logger.log({level: 'DEBUG', fileName: 'Boltz', msg: 'Deposit Response', data: depositRes}); - if(!depositRes || depositRes.error) { - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Deposit Error', error: depositRes.error}); - res.status(500).json({ - message: 'Deposit Failed!', - error: (!depositRes) ? 'Error From Server!' : depositRes.error.message - }); - } else { - logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Deposit Finished'}); - res.status(201).json(depositRes); - } + logger.log({level: 'INFO', fileName: 'Boltz', msg: 'Boltz Deposit Finished'}); + res.status(201).json(depositRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Boltz', msg: 'Deposit Error', error: err}); - return res.status(500).json({ - message: "Deposit Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Boltz', 'Deposit Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/controllers/shared/logger.js b/controllers/shared/logger.js index cfa8c91d..6994510d 100644 --- a/controllers/shared/logger.js +++ b/controllers/shared/logger.js @@ -2,57 +2,46 @@ var fs = require('fs'); var common = require('../../routes/common'); exports.log = (msgJSON, selNode = common.selectedNode) => { - let msgStr = '\r\n[' + new Date().toISOString() + '] ' + msgJSON.level + ': ' + msgJSON.fileName + ' => ' + msgJSON.msg; + let msgStr = '\r\n[' + new Date().toISOString() + '] ' + msgJSON.level + ': ' + msgJSON.fileName + ' => ' + msgJSON.msg; switch (msgJSON.level) { case 'ERROR': - msgStr = msgStr + ': ' + (msgJSON.error && typeof msgJSON.error === 'object' ? JSON.stringify(msgJSON.error) : (msgJSON.error && typeof msgJSON.error === 'string') ? msgJSON.error : ''); - console.error(msgStr); - if(selNode && selNode.enable_logging) { - fs.appendFile(selNode.log_file, msgStr, function(err) { - if (err) { - return ({ error: 'Updating Log Failed!' }); - } else { - return ({ message: 'Log Updated Successfully' }); - } - }); + if (selNode) { + msgStr = msgStr + ': ' + (typeof msgJSON.error === 'object' ? JSON.stringify(msgJSON.error) : (typeof msgJSON.error === 'string') ? msgJSON.error : ''); + console.error(msgStr); + fs.appendFile(selNode.log_file, msgStr, () => {}); + } + break; + + case 'WARN': + if (selNode && (selNode.log_level == "INFO" || selNode.log_level == "WARN" || selNode.log_level == "DEBUG")) { + msgStr = msgStr + ': ' + (typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (typeof msgJSON.data === 'string') ? msgJSON.data : ''); + console.warn(msgStr) + fs.appendFile(selNode.log_file, msgStr, () => {}); } break; case 'INFO': - if(selNode && selNode.enable_logging && msgJSON.data) { - msgStr = msgStr + ': ' + (msgJSON.data && typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (msgJSON.data && typeof msgJSON.data === 'string') ? msgJSON.data : ''); - if (msgJSON.fileName !== 'Config Setup Variable') { console.log(msgStr); } - fs.appendFile(selNode.log_file, msgStr, function(err) { - if (err) { - return ({ error: 'Updating Log Failed!' }); - } else { - return ({ message: 'Log Updated Successfully' }); - } - }); - } else { - console.log(msgStr + '.'); + if (selNode && (selNode.log_level == "INFO" || selNode.log_level == "DEBUG")) { + msgStr = msgStr + '. ' + (typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (typeof msgJSON.data === 'string') ? msgJSON.data : ''); + console.log(msgStr); + fs.appendFile(selNode.log_file, msgStr, () => {}); } break; - + case 'DEBUG': - if(selNode && selNode.enable_logging) { - if (msgJSON.data && typeof msgJSON.data !== 'string' && msgJSON.data.length && msgJSON.data.length > 0) { + if (selNode && selNode.log_level == "DEBUG") { + if (typeof msgJSON.data !== 'string' && msgJSON.data && msgJSON.data.length && msgJSON.data.length > 0) { msgStr = msgJSON.data.reduce((accumulator, dataEle) => { return accumulator + (typeof dataEle === 'object' ? JSON.stringify(dataEle) : (typeof dataEle === 'string') ? dataEle : '') + ', '; }, msgStr + ': ['); msgStr = msgStr.slice(0, -2) + ']'; } else { - msgStr = msgStr + ': ' + (msgJSON.data && typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (msgJSON.data && typeof msgJSON.data === 'string') ? msgJSON.data : ''); - } - if (msgJSON.fileName !== 'Config Setup Variable') { console.log(msgStr); } - fs.appendFile(selNode.log_file, msgStr, function(err) { - if (err) { - return ({ error: 'Updating Log Failed!' }); - } else { - return ({ message: 'Log Updated Successfully' }); + if (msgJSON.data && msgJSON.data !== '') { + msgStr = msgStr + ': ' + (typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : typeof msgJSON.data == 'string' ? msgJSON.data : ''); } - }); - } + } + fs.appendFile(selNode.log_file, msgStr, () => {}); + } break; default: diff --git a/controllers/shared/loop.js b/controllers/shared/loop.js index 9b159ed5..f94141da 100644 --- a/controllers/shared/loop.js +++ b/controllers/shared/loop.js @@ -6,7 +6,11 @@ var options = {}; exports.loopOut = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Looping Out..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop Out Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/out'; options.body = { amt: req.body.amount, @@ -24,37 +28,23 @@ exports.loopOut = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Out Body', data: options.body}); request.post(options).then(loopOutRes => { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Out', data: loopOutRes}); - if(!loopOutRes || loopOutRes.error) { - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Error', error: loopOutRes.error}); - res.status(500).json({ - message: 'Loop Out Failed!', - error: (!loopOutRes) ? 'Error From Server!' : loopOutRes.error.message - }); - } else { - logger.log({level: 'INFO', fileName: 'Loop', msg: 'Loop Out Finished'}); - res.status(201).json(loopOutRes); - } + logger.log({level: 'INFO', fileName: 'Loop', msg: 'Loop Out Finished'}); + res.status(201).json(loopOutRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Error', error: err}); - return res.status(500).json({ - message: "Loop Out Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop Out Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopOutTerms = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop Out Terms..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Terms Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop Out Terms Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/out/terms'; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Out Terms', data: body}); @@ -62,25 +52,19 @@ exports.loopOutTerms = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Terms Error', error: err}); - return res.status(500).json({ - message: "Loop Out Terms Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop Out Terms Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopOutQuote = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop Out Quotes..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Quote Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop Out Quotes Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/out/quote/' + req.params.amount + '?conf_target=' + (req.query.targetConf ? req.query.targetConf : '2') + '&swap_publication_deadline=' + req.query.swapPublicationDeadline; logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Out Quote URL', data: options.url}); request(options).then(function (quoteRes) { @@ -91,25 +75,19 @@ exports.loopOutQuote = (req, res, next) => { res.status(200).json(quoteRes); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Quote Error', error: err}); - return res.status(500).json({ - message: "Loop Out Quote Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop Out Quotes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopOutTermsAndQuotes = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop Out Terms & Quotes..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Terms And Quotes Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop Out Terms & Quotes Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/out/terms'; request(options).then(function(terms) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Out Terms', data: terms}); @@ -129,40 +107,24 @@ exports.loopOutTermsAndQuotes = (req, res, next) => { res.status(200).json(values); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Quotes Error', error: err}); - return res.status(500).json({ - message: "Loop Out Quotes Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop Out Terms & Quotes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop Out Terms Error', error: err}); - return res.status(500).json({ - message: "Loop Out Terms Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop Out Terms & Quotes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopIn = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Looping In..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop In Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop In Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/in'; options.body = { amt: req.body.amount, @@ -173,37 +135,23 @@ exports.loopIn = (req, res, next) => { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop In Body', data: options.body}); request.post(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop In', data: body}); - if(!body || body.error) { - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Error', error: body.error}); - res.status(500).json({ - message: 'Loop In Failed!', - error: (body.error && body.error.message) ? body.error.message : 'Error From Server!' - }); - } else { - logger.log({level: 'INFO', fileName: 'Loop', msg: 'Loop In Finished'}); - res.status(201).json(body); - } + logger.log({level: 'INFO', fileName: 'Loop', msg: 'Loop In Finished'}); + res.status(201).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Error', error: err}); - return res.status(500).json({ - message: "Loop In Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop In Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopInTerms = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop In Terms..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop In Terms Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop In Terms Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/in/terms'; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop In Terms', data: body}); @@ -211,25 +159,19 @@ exports.loopInTerms = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Terms Error', error: err}); - return res.status(500).json({ - message: "Loop In Terms Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop In Terms Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopInQuote = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop In Quotes..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop In Quote Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop In Quotes Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/in/quote/' + req.params.amount + '?conf_target=' + (req.query.targetConf ? req.query.targetConf : '2') + '&swap_publication_deadline=' + req.query.swapPublicationDeadline; logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop In Quote Options', data: options.url}); request(options).then(function (body) { @@ -240,25 +182,19 @@ exports.loopInQuote = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Quote Error', error: err}); - return res.status(500).json({ - message: "Loop In Quote Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop In Quote Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.loopInTermsAndQuotes = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Loop In Terms & Quotes..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop In Terms And Quotes Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Loop In Terms & Quotes Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/in/terms'; request(options).then(function(terms) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop In Terms', data: terms}); @@ -278,40 +214,24 @@ exports.loopInTermsAndQuotes = (req, res, next) => { res.status(200).json(values); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Quotes Error', error: err}); - return res.status(500).json({ - message: "Loop In Quotes Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop In Terms & Quotes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Loop In Terms Error', error: err}); - return res.status(500).json({ - message: "Loop In Terms Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Loop In Terms & Quotes Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.swaps = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting List Swaps..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'List Swaps Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/swaps'; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Swaps', data: body}); @@ -323,25 +243,19 @@ exports.swaps = (req, res, next) => { res.status(200).json(body.swaps); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'List Swaps Error', error: err}); - return res.status(500).json({ - message: "Loop Swaps Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'List Swaps Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; exports.swap = (req, res, next) => { logger.log({level: 'INFO', fileName: 'Loop', msg: 'Getting Swap Information..'}); options = common.getSwapServerOptions(); - if(options.url === '') { return res.status(500).json({message: "Loop Out Failed!",error: { message: 'Loop Server URL is missing in the configuration.'}}); } + if (options.url === '') { + const errMsg = 'Loop Server URL is missing in the configuration.'; + const err = common.handleError({ statusCode: 500, message: 'Get Swap Error', error: errMsg }, 'Loop', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); + } options.url = options.url + '/v1/loop/swap/' + req.params.id; request(options).then(function (body) { logger.log({level: 'DEBUG', fileName: 'Loop', msg: 'Loop Swap', data: body}); @@ -349,17 +263,7 @@ exports.swap = (req, res, next) => { res.status(200).json(body); }) .catch(errRes => { - let err = JSON.parse(JSON.stringify(errRes)); - if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { - delete err.options.headers['Grpc-Metadata-macaroon']; - } - if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { - delete err.response.request.headers['Grpc-Metadata-macaroon']; - } - logger.log({level: 'ERROR', fileName: 'Loop', msg: 'Swap Info Error', error: err}); - return res.status(500).json({ - message: "Loop Swap Failed!", - error: (err.error && err.error.error) ? err.error.error : (err.error) ? err.error : err - }); + const err = common.handleError(errRes, 'Loop', 'Get Swap Error'); + return res.status(err.statusCode).json({message: err.message, error: err.error}); }); }; diff --git a/docs/Application_configurations b/docs/Application_configurations index 35abe236..34f94eba 100644 --- a/docs/Application_configurations +++ b/docs/Application_configurations @@ -31,7 +31,7 @@ parameters have `default` values for initial setup and can be updated after RTL "themeColor": "", "channelBackupPath": "\backup\node-1, Optional>", "bitcoindConfigPath": "", - "enableLogging": , + "logLevel": , "fiatConversion": , "currencyUnit": "", "lnServerUrl": ":3001" } diff --git a/docs/Contributing.md b/docs/Contributing.md index 0c8b30eb..3d3d91b0 100644 --- a/docs/Contributing.md +++ b/docs/Contributing.md @@ -38,16 +38,38 @@ Design suggestions are always welcome and helpful. Design suggestion can range f #### Code Contributions via code is the most sought after contribution and something we enthusiastically encourage. Follow the below guideline to be able to contribute code to RTL. + ##### Pull Code +* Pull the code from the release (current eg Release-0.11.1) or [master](https://github.com/Ride-The-Lightning/RTL/tree/master) branch into your local workspace via github commandline/GUI. + ##### Install Dependencies -##### Node Server +* Assuming that nodejs (v12 & above) and npm are already installed on your local machine. Go into your RTL root folder and run `npm install`. +* Sometimes after installation, user receives a message from npm to fix dependency vulnerability by running `npm audit fix`. Please do not follow this step as it can break some of the working RTL code on your machine. We audit and fix these vulnerabilities as soon as possible at our end. + +##### Node Server for Development +* To run RTL node server in development mode, go to workspace/RTL and excute `npm run server` in the command window. This will run the script named `server` defined in package.json. This script sets the node environment as development and starts the server from rtl.js. Nodemon restarts the node application when file changes in the directory are detected. +* This `server` script has been written for windows machine. Please update the script to set the `NODE_ENV=development` according to your machine's OS. +* To check all available scripts for the project, explore the `scripts` section of package.json. +![](../screenshots/node-server-dev.jpg) + ##### Angular Server for Development -##### Package Angular Updates -##### Create a New Branch +* The last step starts the node server but it cannot detect and update the code written in Angular. We run the angular development server separately while working on the frontend of the project and package the final build once the development is finished. +* To run the angular development server, go to workspace/RTL and run `npm run start`. It will start the angular server at default '4200' port and serve the application on localhost:4200. +![](../screenshots/angular-server-dev.jpg) +![](../screenshots/localhost-ui-dev.jpg) + +##### Package Angular Build +* If the change/update were only made for the backend, you can directly move to the next step. +* In case the code was updated for the frontend (in the src folder), the Angular application code needs to be compiled into the output directory named `angular` at workspace/RTL. It can be done by running `npm run build` command in the RTL root. +* Please make sure to remove all linting and other errors thrown by the build command before moving to the next step. +![](../screenshots/angular-build.jpg) + +##### Create a Pull Request +* Create a new branch on the github to push your updated code. +* Commit your updates into the newly created branch. +* Create a new pull request once you are satisfied with your updates to be merged into the `release`/`master` branch with details of your updates and submit it for the review. + ##### Caution about adding new libraries -* We are very conservative in adding new dependencies. Do your best to not add any new libraries on RTL. This is the best strategy to keep the software safe from adding new vulnerabilites. -* Confirm before starting by creating an issue about the adding the library +* We are conservative in adding new dependencies to the repository. Do your best to not add any new libraries on RTL. We believe this is the best strategy to keep the software safe from vulnerabilites. +* Confirm before starting by creating an issue about adding the library * The library should be popular, well maintained and pre-existing vulnerability free. - -##### Commit Updates -##### Create Pull Request \ No newline at end of file diff --git a/docs/Eclair-setup.md b/docs/Eclair-setup.md index a7242788..ecff5503 100644 --- a/docs/Eclair-setup.md +++ b/docs/Eclair-setup.md @@ -73,7 +73,7 @@ Ensure that the follow values are correct per your config: "themeMode": "DAY", "themeColor": "PURPLE", "bitcoindConfigPath": "", - "enableLogging": true, + "logLevel": "INFO", "fiatConversion": false, "lnServerUrl": "http://:port" } diff --git a/docs/README.md b/docs/README.md index e9aba060..3a147924 100644 --- a/docs/README.md +++ b/docs/README.md @@ -104,7 +104,7 @@ Example RTL-Config.json: "themeColor": "PURPLE", "channelBackupPath": "C:\\RTL\\backup\\node-1", "bitcoindConfigPath": "", - "enableLogging": true, + "logLevel": "INFO", "fiatConversion": false, "lnServerUrl": "", "swapServerUrl": "", diff --git a/docs/RTL_setups.md b/docs/RTL_setups.md index b1f71bbb..03a22971 100644 --- a/docs/RTL_setups.md +++ b/docs/RTL_setups.md @@ -37,7 +37,7 @@ If your running RTL and LND on different devices on your local LAN, certain conf "themeColor": "PURPLE", "channelBackupPath": "", "bitcoindConfigPath": "", - "enableLogging": false, + "logLevel": "INFO", "fiatConversion": false, "lnServerUrl": ":8080; e.g. https://192.168.0.1:8080>", "swapServerUrl": ":8081>", diff --git a/docs/Sample-RTL-Config.json b/docs/Sample-RTL-Config.json index 0bb30d7d..a633d7b7 100644 --- a/docs/Sample-RTL-Config.json +++ b/docs/Sample-RTL-Config.json @@ -23,7 +23,7 @@ "themeMode": "DAY", "themeColor": "PURPLE", "channelBackupPath": "C:\\Users\\xyz\\backup\\node-1", - "enableLogging": false, + "logLevel": "ERROR", "lnServerUrl": "https://localhost:8080", "swapServerUrl": "https://localhost:8081", "boltzServerUrl": "https://localhost:9003", diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js deleted file mode 100644 index 361e7f0c..00000000 --- a/e2e/protractor.conf.js +++ /dev/null @@ -1,37 +0,0 @@ -// @ts-check -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); - -/** - * @type { import("protractor").Config } - */ -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './src/**/*.e2e-spec.ts' - ], - capabilities: { - browserName: 'chrome' - }, - directConnect: true, - SELENIUM_PROMISE_MANAGER: false, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.json') - }); - jasmine.getEnv().addReporter(new SpecReporter({ - spec: { - displayStacktrace: StacktraceOption.PRETTY - } - })); - } -}; \ No newline at end of file diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts deleted file mode 100644 index 37913a32..00000000 --- a/e2e/src/app.e2e-spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { AppPage } from './app.po'; -import { browser, logging } from 'protractor'; - -describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display welcome message', async () => { - await page.navigateTo(); - expect(await page.getTitleText()).toEqual('RTL app is running!'); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - } as logging.Entry)); - }); -}); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts deleted file mode 100644 index c9c85ab9..00000000 --- a/e2e/src/app.po.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { browser, by, element } from 'protractor'; - -export class AppPage { - async navigateTo(): Promise { - return browser.get(browser.baseUrl); - } - - async getTitleText(): Promise { - return element(by.css('app-root .content span')).getText(); - } -} diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json deleted file mode 100644 index 0782539c..00000000 --- a/e2e/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "module": "commonjs", - "target": "es2018", - "types": [ - "jasmine", - "node" - ] - } -} diff --git a/package-lock.json b/package-lock.json index c35189b9..a591a6b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "rtl", - "version": "0.11.0-beta", + "version": "0.11.1-beta", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1657,9 +1657,9 @@ "dev": true }, "@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -1674,9 +1674,9 @@ }, "dependencies": { "globals": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", - "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -1733,6 +1733,23 @@ "@fortawesome/fontawesome-common-types": "^0.2.35" } }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, "@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -2374,9 +2391,9 @@ "dev": true }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, "adjust-sourcemap-loader": { @@ -4450,15 +4467,15 @@ } }, "css-select": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", - "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^4.0.0", - "domhandler": "^4.0.0", - "domutils": "^2.4.3", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", "nth-check": "^2.0.0" } }, @@ -4473,9 +4490,9 @@ } }, "css-what": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", - "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", "dev": true }, "cssdb": { @@ -5344,13 +5361,14 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -5409,9 +5427,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5451,9 +5469,9 @@ "dev": true }, "globals": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", - "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -5518,6 +5536,75 @@ } } }, + "eslint-plugin-deprecation": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-deprecation/-/eslint-plugin-deprecation-1.2.1.tgz", + "integrity": "sha512-8KFAWPO3AvF0szxIh1ivRtHotd1fzxVOuNR3NI8dfCsQKgcxu9fAgEY+eTKvCRLAwwI8kaDDfImMt+498+EgRw==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^2.19.2 || ^3.0.0", + "tslib": "^1.10.0", + "tsutils": "^3.0.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", + "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", + "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", + "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", + "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -6027,9 +6114,9 @@ } }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "flatten": { @@ -7637,9 +7724,9 @@ } }, "jszip": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", - "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", + "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", "dev": true, "requires": { "lie": "~3.3.0", @@ -13066,15 +13153,15 @@ } }, "svgo": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz", - "integrity": "sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", + "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", "dev": true, "requires": { "@trysound/sax": "0.1.1", "chalk": "^4.1.0", "commander": "^7.1.0", - "css-select": "^3.1.2", + "css-select": "^4.1.3", "css-tree": "^1.1.2", "csso": "^4.2.0", "stable": "^0.1.8" @@ -13090,9 +13177,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -13152,9 +13239,9 @@ }, "dependencies": { "ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -13178,9 +13265,9 @@ "dev": true }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.8.tgz", + "integrity": "sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -13765,9 +13852,9 @@ } }, "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "dev": true, "requires": { "querystringify": "^2.1.1", diff --git a/package.json b/package.json index 563659e5..01a1dc82 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,15 @@ { "name": "rtl", - "version": "0.11.0-beta", + "version": "0.11.1-beta", "license": "MIT", "scripts": { "ng": "ng", "start": "ng serve --open", "prebuild": "node ./src/prebuild", - "build": "ng analytics off && ng lint && ng build --configuration production", - "devbuild": "ng build --configuration production", - "serve": "ng serve", + "build": "ng analytics off && ng lint && ng test && ng build --configuration production", "server": "set NODE_ENV=development&&nodemon ./rtl.js", - "test": "ng test", + "test": "ng test --watch=true --code-coverage", "lint": "ng lint", - "e2e": "ng e2e", "postinstall": "ngcc" }, "private": true, @@ -72,7 +69,8 @@ "@typescript-eslint/parser": "4.23.0", "crypto-browserify": "^3.12.0", "dotenv": "^8.2.0", - "eslint": "^7.26.0", + "eslint": "^7.32.0", + "eslint-plugin-deprecation": "^1.2.1", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.3.2", diff --git a/routes/common.js b/routes/common.js index f284be1b..7f438edc 100644 --- a/routes/common.js +++ b/routes/common.js @@ -157,10 +157,6 @@ common.replaceNode = (selNodeIndex, newNode) => { common.selectedNode = common.findNode(selNodeIndex); } -common.convertToBTC = (num) => { - return (num / 100000000).toFixed(6); -}; - common.convertTimestampToTime = (num) => { let myDate = new Date(+num * 1000); let days = myDate.getDate().toString(); @@ -213,6 +209,58 @@ common.newestOnTop = (array, key, value) => { return array; } +common.handleError = (errRes, fileName, errMsg) => { + let err = JSON.parse(JSON.stringify(errRes)); + switch (common.selectedNode.ln_implementation) { + case 'LND': + if (err.options && err.options.headers && err.options.headers['Grpc-Metadata-macaroon']) { + delete err.options.headers['Grpc-Metadata-macaroon']; + } + if (err.response && err.response.request && err.response.request.headers && err.response.request.headers['Grpc-Metadata-macaroon']) { + delete err.response.request.headers['Grpc-Metadata-macaroon']; + } + break; + + case 'CLT': + if (err.options && err.options.headers && err.options.headers.macaroon) { + delete err.options.headers.macaroon; + } + if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.macaroon) { + delete err.response.request.headers.macaroon; + } + break; + + case 'ECL': + if (err.options && err.options.headers && err.options.headers.authorization) { + delete err.options.headers.authorization; + } + if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { + delete err.response.request.headers.authorization; + } + break; + + default: + if (err.options && err.options.headers) { delete err.options.headers; } + break; + } + const msgStr = '\r\n[' + new Date().toISOString() + '] ERROR: ' + fileName + ' => ' + errMsg + ': ' + (typeof err === 'object' ? JSON.stringify(err) : (typeof err === 'string') ? err : 'Unknown Error'); + console.error(msgStr); + if (common.selectedNode) { fs.appendFile(common.selectedNode.log_file, msgStr, () => {}) } + const newErrorObj = { + statusCode: err.statusCode ? err.statusCode : err.status ? err.status : (err.error && err.error.code && err.error.code === 'ECONNREFUSED') ? 503 : 500, + message: (err.error && err.error.message) ? err.error.message : err.message ? err.message : errMsg, + error: ( + (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : + (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : + (err.error && err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message : + (err.error && err.error.message && typeof err.error.message === 'string') ? err.error.message : + (err.message && typeof err.message === 'string') ? err.message : + (err.error) ? err.error : (typeof err === 'string') ? err : 'Unknown Error' + ) + }; + return newErrorObj; +} + common.getRequestIP = (req) => { return (typeof req.headers['x-forwarded-for'] === 'string' && req.headers['x-forwarded-for'].split(',').shift()) || req.ip @@ -249,41 +297,36 @@ common.getMonthDays = (selMonth, selYear) => { filterData = (data_key) => { let search_string = ''; - switch (data_key) { - case 'GetInfo': - search_string = 'INFO: GetInfo => Get Info Response: '; - break; - - case 'Fees': - search_string = 'INFO: Fees => Fee Response: '; - break; - - case 'Payments': - search_string = 'INFO: Fees => Payments Response: '; - break; - - case 'Invoices': - search_string = 'INFO: Invoice => Invoices List Received: '; - break; - - case 'OnChainBalance': - search_string = 'INFO: Onchain => Balance Received: '; - break; - - case 'Peers': - search_string = 'INFO: Peers => Peers with Alias: '; - break; - - case 'Channels': - search_string = 'INFO: Channels => Simplified Channels with Alias: '; - break; - - default: - search_string = 'INFO: GetInfo => Get Info Response: '; - break; + if (common.selectedNode.ln_implementation === 'ECL') { + switch (data_key) { + case 'GetInfo': search_string = 'INFO: GetInfo => Get Info Response: '; break; + case 'Fees': search_string = 'INFO: Fees => Fee Response: '; break; + case 'Payments': search_string = 'INFO: Fees => Payments Response: '; break; + case 'Invoices': search_string = 'INFO: Invoice => Invoices List Received: '; break; + case 'OnChainBalance': search_string = 'INFO: Onchain => Balance Received: '; break; + case 'Peers': search_string = 'INFO: Peers => Peers with Alias: '; break; + case 'Channels': search_string = 'INFO: Channels => Simplified Channels with Alias: '; break; + default: search_string = 'Random Line'; break; + } + } else if (common.selectedNode.ln_implementation === 'CLT') { + switch (data_key) { + case 'GetInfo': search_string = 'DEBUG: GetInfo => Node Information. '; break; + case 'Fees': search_string = 'DEBUG: Fees => Fee Received. '; break; + case 'Payments': search_string = 'DEBUG: Payments => Payment List Received: '; break; + case 'Invoices': search_string = 'DEBUG: Invoice => Invoices List Received. '; break; + case 'ChannelBalance': search_string = 'DEBUG: Channels => Local Remote Balance. '; break; + case 'Peers': search_string = 'DEBUG: Peers => Peers with Alias: '; break; + case 'Channels': search_string = 'DEBUG: Channels => List Channels: '; break; + case 'Balance': search_string = 'DEBUG: Balance => Balance Received. '; break; + case 'ForwardingHistory': search_string = 'DEBUG: Channels => Forwarding History Received: '; break; + case 'UTXOs': search_string = 'DEBUG: OnChain => List Funds Received. '; break; + case 'FeeRateperkb': search_string = 'DEBUG: Network => Network Fee Rates Received for perkb. '; break; + case 'FeeRateperkw': search_string = 'DEBUG: Network => Network Fee Rates Received for perkw. '; break; + default: search_string = 'Random Line'; break; + } } let foundDataLine = dummy_data_array_from_file.find(dataItem => dataItem.includes(search_string)); - let dataStr = foundDataLine ? foundDataLine.replace(search_string, '') : {}; + let dataStr = foundDataLine ? foundDataLine.substring((foundDataLine.indexOf(search_string)) + search_string.length) : '{}'; return JSON.parse(dataStr); } diff --git a/routes/connect.js b/routes/connect.js index 5725c474..0d50768b 100644 --- a/routes/connect.js +++ b/routes/connect.js @@ -39,7 +39,7 @@ connect.setDefaultConfig = () => { configPath = ''; channelBackupPath = ''; break; - } + } return { multiPass: "password", port: "3000", @@ -53,7 +53,7 @@ connect.setDefaultConfig = () => { { index: 1, lnNode: "Node 1", - lnImplementation: "LND", + lnImplementation: "LND", Authentication: { macaroonPath: macaroonPath, configPath: configPath, @@ -63,7 +63,7 @@ connect.setDefaultConfig = () => { themeMode: "DAY", themeColor: "PURPLE", channelBackupPath: channelBackupPath, - enableLogging: false, + logLevel: "ERROR", lnServerUrl: "https://localhost:8080", fiatConversion: false } @@ -86,7 +86,7 @@ connect.normalizePort = val => { connect.replacePasswordWithHash = (multiPassHashed) => { common.rtl_conf_file_path = process.env.RTL_CONFIG_PATH ? process.env.RTL_CONFIG_PATH : path.join(__dirname, '..'); try { - RTLConfFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; + RTLConfFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; var config = JSON.parse(fs.readFileSync(RTLConfFile, 'utf-8')); config.multiPassHashed = multiPassHashed; delete config.multiPass; @@ -98,8 +98,29 @@ connect.replacePasswordWithHash = (multiPassHashed) => { } } +connect.updateLogByLevel = () => { + updateLogFlag = false; + common.rtl_conf_file_path = process.env.RTL_CONFIG_PATH ? process.env.RTL_CONFIG_PATH : path.join(__dirname, '..'); + try { + RTLConfFile = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; + var config = JSON.parse(fs.readFileSync(RTLConfFile, 'utf-8')); + config.nodes.forEach((node) => { + if (node.Settings.hasOwnProperty('enableLogging')) { + updateLogFlag = true; + node.Settings.logLevel = node.Settings.enableLogging? 'INFO' : 'ERROR'; + delete node.Settings.enableLogging; + } + }) + if (updateLogFlag) { + fs.writeFileSync(RTLConfFile, JSON.stringify(config, null, 2), 'utf-8'); + } + } catch (err) { + errMsg = errMsg + '\nLog level update failed!'; + } +} + connect.validateNodeConfig = (config) => { - if((process.env.RTL_SSO == 0) || (typeof process.env.RTL_SSO === 'undefined' && +config.SSO.rtlSSO === 0)) { + if ((process.env.RTL_SSO == 0) || (typeof process.env.RTL_SSO === 'undefined' && +config.SSO.rtlSSO === 0)) { if (config.multiPassHashed !== '' && config.multiPassHashed) { common.rtl_pass = config.multiPassHashed; } else if (config.multiPass !== '' && config.multiPass) { @@ -119,7 +140,7 @@ connect.validateNodeConfig = (config) => { common.nodes[idx].ln_implementation = (process.env.LN_IMPLEMENTATION) ? process.env.LN_IMPLEMENTATION : node.lnImplementation ? node.lnImplementation : 'LND'; if (common.nodes[idx].ln_implementation !== 'ECL' && process.env.MACAROON_PATH && process.env.MACAROON_PATH.trim() !== '') { common.nodes[idx].macaroon_path = process.env.MACAROON_PATH; - } else if(common.nodes[idx].ln_implementation !== 'ECL' && node.Authentication && node.Authentication.macaroonPath && node.Authentication.macaroonPath.trim() !== '') { + } else if (common.nodes[idx].ln_implementation !== 'ECL' && node.Authentication && node.Authentication.macaroonPath && node.Authentication.macaroonPath.trim() !== '') { common.nodes[idx].macaroon_path = node.Authentication.macaroonPath; } else if (common.nodes[idx].ln_implementation !== 'ECL') { errMsg = 'Please set macaroon path for node index ' + node.index + ' in RTL-Config.json!'; @@ -158,7 +179,7 @@ connect.validateNodeConfig = (config) => { } } else { errMsg = errMsg + '\nInvalid config path: ' + common.nodes[idx].config_path; - } + } } catch (err) { errMsg = errMsg + '\nUnable to read config file: \n' + err; } @@ -167,13 +188,13 @@ connect.validateNodeConfig = (config) => { errMsg = errMsg + '\nPlease set config path Or api password for node index ' + node.index + ' in RTL-Config.json! It is mandatory for Eclair authentication!'; } - if(process.env.LN_SERVER_URL && process.env.LN_SERVER_URL.trim() !== '') { + if (process.env.LN_SERVER_URL && process.env.LN_SERVER_URL.trim() !== '') { common.nodes[idx].ln_server_url = process.env.LN_SERVER_URL.endsWith('/v1') ? process.env.LN_SERVER_URL.slice(0, -3) : process.env.LN_SERVER_URL; - } else if(process.env.LND_SERVER_URL && process.env.LND_SERVER_URL.trim() !== '') { + } else if (process.env.LND_SERVER_URL && process.env.LND_SERVER_URL.trim() !== '') { common.nodes[idx].ln_server_url = process.env.LND_SERVER_URL.endsWith('/v1') ? process.env.LND_SERVER_URL.slice(0, -3) : process.env.LND_SERVER_URL; - } else if(node.Settings.lnServerUrl && node.Settings.lnServerUrl.trim() !== '') { + } else if (node.Settings.lnServerUrl && node.Settings.lnServerUrl.trim() !== '') { common.nodes[idx].ln_server_url = node.Settings.lnServerUrl.endsWith('/v1') ? node.Settings.lnServerUrl.slice(0, -3) : node.Settings.lnServerUrl; - } else if(node.Settings.lndServerUrl && node.Settings.lndServerUrl.trim() !== '') { + } else if (node.Settings.lndServerUrl && node.Settings.lndServerUrl.trim() !== '') { common.nodes[idx].ln_server_url = node.Settings.lndServerUrl.endsWith('/v1') ? node.Settings.lndServerUrl.slice(0, -3) : node.Settings.lndServerUrl; } else { errMsg = errMsg + '\nPlease set LN Server URL for node index ' + node.index + ' in RTL-Config.json!'; @@ -181,24 +202,25 @@ connect.validateNodeConfig = (config) => { common.nodes[idx].user_persona = node.Settings.userPersona ? node.Settings.userPersona : 'MERCHANT'; common.nodes[idx].theme_mode = node.Settings.themeMode ? node.Settings.themeMode : 'DAY'; common.nodes[idx].theme_color = node.Settings.themeColor ? node.Settings.themeColor : 'PURPLE'; + common.nodes[idx].log_level = node.Settings.logLevel ? node.Settings.logLevel : 'ERROR' common.nodes[idx].fiat_conversion = node.Settings.fiatConversion ? !!node.Settings.fiatConversion : false; - if(common.nodes[idx].fiat_conversion) { + if (common.nodes[idx].fiat_conversion) { common.nodes[idx].currency_unit = node.Settings.currencyUnit ? node.Settings.currencyUnit : 'USD'; } - if(process.env.SWAP_SERVER_URL && process.env.SWAP_SERVER_URL.trim() !== '') { + if (process.env.SWAP_SERVER_URL && process.env.SWAP_SERVER_URL.trim() !== '') { common.nodes[idx].swap_server_url = process.env.SWAP_SERVER_URL.endsWith('/v1') ? process.env.SWAP_SERVER_URL.slice(0, -3) : process.env.SWAP_SERVER_URL; common.nodes[idx].swap_macaroon_path = process.env.SWAP_MACAROON_PATH; - } else if(node.Settings.swapServerUrl && node.Settings.swapServerUrl.trim() !== '') { + } else if (node.Settings.swapServerUrl && node.Settings.swapServerUrl.trim() !== '') { common.nodes[idx].swap_server_url = node.Settings.swapServerUrl.endsWith('/v1') ? node.Settings.swapServerUrl.slice(0, -3) : node.Settings.swapServerUrl; common.nodes[idx].swap_macaroon_path = node.Authentication.swapMacaroonPath ? node.Authentication.swapMacaroonPath : ''; } else { common.nodes[idx].swap_server_url = ''; common.nodes[idx].swap_macaroon_path = ''; } - if(process.env.BOLTZ_SERVER_URL && process.env.BOLTZ_SERVER_URL.trim() !== '') { + if (process.env.BOLTZ_SERVER_URL && process.env.BOLTZ_SERVER_URL.trim() !== '') { common.nodes[idx].boltz_server_url = process.env.BOLTZ_SERVER_URL.endsWith('/v1') ? process.env.BOLTZ_SERVER_URL.slice(0, -3) : process.env.BOLTZ_SERVER_URL; common.nodes[idx].boltz_macaroon_path = process.env.BOLTZ_MACAROON_PATH; - } else if(node.Settings.boltzServerUrl && node.Settings.boltzServerUrl.trim() !== '') { + } else if (node.Settings.boltzServerUrl && node.Settings.boltzServerUrl.trim() !== '') { common.nodes[idx].boltz_server_url = node.Settings.boltzServerUrl.endsWith('/v1') ? node.Settings.boltzServerUrl.slice(0, -3) : node.Settings.boltzServerUrl; common.nodes[idx].boltz_macaroon_path = node.Authentication.boltzMacaroonPath ? node.Authentication.boltzMacaroonPath : ''; } else { @@ -206,7 +228,6 @@ connect.validateNodeConfig = (config) => { common.nodes[idx].boltz_macaroon_path = ''; } common.nodes[idx].bitcoind_config_path = process.env.BITCOIND_CONFIG_PATH ? process.env.BITCOIND_CONFIG_PATH : (node.Settings.bitcoindConfigPath) ? node.Settings.bitcoindConfigPath : ''; - common.nodes[idx].enable_logging = (node.Settings.enableLogging) ? !!node.Settings.enableLogging : false; common.nodes[idx].channel_backup_path = process.env.CHANNEL_BACKUP_PATH ? process.env.CHANNEL_BACKUP_PATH : (node.Settings.channelBackupPath) ? node.Settings.channelBackupPath : common.rtl_conf_file_path + common.path_separator + 'backup' + common.path_separator + 'node-' + node.index; try { connect.createDirectory(common.nodes[idx].channel_backup_path); @@ -218,42 +239,38 @@ connect.validateNodeConfig = (config) => { } catch (err) { console.error('Something went wrong while creating backup file: \n' + err); } - } + } } catch (err) { console.error('Something went wrong while creating the backup directory: \n' + err); } - - if (common.nodes[idx].enable_logging) { - common.nodes[idx].log_file = common.rtl_conf_file_path + '/logs/RTL-Node-' + node.index + '.log'; - const log_file = common.nodes[idx].log_file; - if (fs.existsSync(log_file)) { - fs.writeFile(log_file, '', () => { }); - } else { - try { - var dirname = path.dirname(log_file); - connect.createDirectory(dirname); - var createStream = fs.createWriteStream(log_file); - createStream.end(); - } - catch (err) { - console.error('Something went wrong while creating log file ' + log_file + ': \n' + err); - } + common.nodes[idx].log_file = common.rtl_conf_file_path + '/logs/RTL-Node-' + node.index + '.log'; + const log_file = common.nodes[idx].log_file; + if (fs.existsSync(log_file)) { + fs.writeFile(log_file, '', () => { }); + } else { + try { + var dirname = path.dirname(log_file); + connect.createDirectory(dirname); + var createStream = fs.createWriteStream(log_file); + createStream.end(); + } + catch (err) { + console.error('Something went wrong while creating log file ' + log_file + ': \n' + err); } } }); } - connect.setSSOParams(config); - if (errMsg && errMsg.trim() !== '') { throw new Error(errMsg); } + if (errMsg && errMsg.trim() !== '') { throw new Error(errMsg); } } connect.setSSOParams = (config) => { - if (process.env.RTL_SSO) { - common.rtl_sso = process.env.RTL_SSO; - } else if (config.SSO && config.SSO.rtlSSO) { - common.rtl_sso = config.SSO.rtlSSO; - } - + if (process.env.RTL_SSO) { + common.rtl_sso = process.env.RTL_SSO; + } else if (config.SSO && config.SSO.rtlSSO) { + common.rtl_sso = config.SSO.rtlSSO; + } + if (process.env.RTL_COOKIE_PATH) { common.rtl_cookie_path = process.env.RTL_COOKIE_PATH; } else if (config.SSO && config.SSO.rtlCookiePath) { @@ -314,7 +331,7 @@ connect.readCookie = (cookieFile) => { fs.writeFileSync(cookieFile, crypto.randomBytes(64).toString('hex')); common.cookie = fs.readFileSync(cookieFile, 'utf-8'); } - catch(err) { + catch (err) { console.error('Something went wrong while reading the cookie: \n' + err); throw new Error(err); } @@ -326,62 +343,59 @@ connect.refreshCookie = (cookieFile) => { fs.writeFileSync(cookieFile, crypto.randomBytes(64).toString('hex')); common.cookie = fs.readFileSync(cookieFile, 'utf-8'); } - catch(err) { + catch (err) { console.error('Something went wrong while refreshing cookie: \n' + err); throw new Error(err); } } connect.logEnvVariables = () => { - if (common.nodes && common.nodes.length > 0) { - common.nodes.forEach((node, idx) => { - if (!node.enable_logging) { return; } - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'PORT: ' + common.port, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'HOST: ' + common.host, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'DEFAULT NODE INDEX: ' + common.selectedNode.index}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'SSO: ' + common.rtl_sso, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LOGOUT REDIRECT LINK: ' + common.logout_redirect_link + '\r\n', node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'INDEX: ' + node.index, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN NODE: ' + node.ln_node, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN IMPLEMENTATION: ' + node.ln_implementation, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'FIAT CONVERSION: ' + node.fiat_conversion, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'CURRENCY UNIT: ' + node.currency_unit, node}); - logger.log({level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN SERVER URL: ' + node.ln_server_url, node}); - }); + if (common.selectedNode && common.selectedNode.index) { + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'PORT: ' + common.port}); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'HOST: ' + common.host }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'SSO: ' + common.rtl_sso }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'DEFAULT NODE INDEX: ' + common.selectedNode.index }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'INDEX: ' + common.selectedNode.index }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN NODE: ' + common.selectedNode.ln_node }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN IMPLEMENTATION: ' + common.selectedNode.ln_implementation }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'FIAT CONVERSION: ' + common.selectedNode.fiat_conversion }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'CURRENCY UNIT: ' + common.selectedNode.currency_unit }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LN SERVER URL: ' + common.selectedNode.ln_server_url }); + logger.log({ level: 'DEBUG', fileName: 'Config Setup Variable', msg: 'LOGOUT REDIRECT LINK: ' + common.logout_redirect_link + '\r\n' }); } } connect.getAllNodeAllChannelBackup = (node) => { let channel_backup_file = node.channel_backup_path + common.path_separator + 'channel-all.bak'; - let options = { + let options = { url: node.ln_server_url + '/channels/backup', rejectUnauthorized: false, json: true, - headers: {'Grpc-Metadata-macaroon': fs.readFileSync(node.macaroon_path + '/admin.macaroon').toString('hex')} + headers: { 'Grpc-Metadata-macaroon': fs.readFileSync(node.macaroon_path + '/admin.macaroon').toString('hex') } }; - request(options).then(function(body) { - fs.writeFile(channel_backup_file, JSON.stringify(body), function(err) { + request(options).then(function (body) { + fs.writeFile(channel_backup_file, JSON.stringify(body), function (err) { if (err) { if (node.ln_node) { - logger.log({level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Failed for Node ' + node.ln_node, error: err}); + logger.log({ level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Failed for Node ' + node.ln_node, error: err }); } else { - logger.log({level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Error', error: err}); + logger.log({ level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Error', error: err }); } } else { if (node.ln_node) { - logger.log({level: 'DEBUG', fileName: 'Connect', msg: 'Channel Backup Successful for Node', data: node.ln_node}); + logger.log({ level: 'DEBUG', fileName: 'Connect', msg: 'Channel Backup Successful for Node', data: node.ln_node }); } else { - logger.log({level: 'DEBUG', fileName: 'Connect', msg: 'Channel Backup Successful'}); + logger.log({ level: 'DEBUG', fileName: 'Connect', msg: 'Channel Backup Successful' }); } } }); }, (err) => { - logger.log({level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Response Error', error: err}); + logger.log({ level: 'ERROR', fileName: 'Connect', msg: 'Channel Backup Response Error', error: err }); }) }; connect.setSelectedNode = (config) => { - if(config.defaultNodeIndex) { + if (config.defaultNodeIndex) { common.selectedNode = common.findNode(config.defaultNodeIndex); } else { common.selectedNode = common.findNode(common.nodes[0].index); @@ -405,19 +419,19 @@ connect.modifyJsonMultiNodeConfig = (confFileFullPath) => { if (config.host) { newConfig.host = config.host; } - if(config.nodes && config.nodes.length > 0) { + if (config.nodes && config.nodes.length > 0) { let newNode = {}; config.nodes.forEach((node, idx) => { newNode = { index: node.index ? node.index : (idx + 1), lnNode: node.lnNode ? node.lnNode : "Node " + (idx + 1), - lnImplementation: node.lnImplementation ? node.lnImplementation : "LND", + lnImplementation: node.lnImplementation ? node.lnImplementation : "LND", Authentication: { macaroonPath: node.Authentication.macaroonPath ? node.Authentication.macaroonPath : '' }, Settings: { userPersona: node.Settings.userPersona ? node.Settings.userPersona : "MERCHANT", - enableLogging: node.Settings.enableLogging ? !!node.Settings.enableLogging : false, + logLevel: node.Settings.logLevel, fiatConversion: node.Settings.fiatConversion ? node.Settings.fiatConversion : false } }; @@ -476,14 +490,14 @@ connect.modifyIniSingleNodeConfig = (confFileFullPath) => { { index: 1, lnNode: "Node 1", - lnImplementation: config.Settings.lnImplementation ? config.Settings.lnImplementation : "LND", + lnImplementation: config.Settings.lnImplementation ? config.Settings.lnImplementation : "LND", Authentication: { macaroonPath: config.Authentication.macaroonPath ? config.Authentication.macaroonPath : (config.Authentication.macroonPath ? config.Authentication.macroonPath : ''), configPath: config.Authentication.configPath ? config.Authentication.configPath : (config.Authentication.lndConfigPath ? config.Authentication.lndConfigPath : ''), }, Settings: { userPersona: config.Settings.userPersona ? config.Settings.userPersona : "MERCHANT", - enableLogging: config.Settings.enableLogging ? !!config.Settings.enableLogging : (config.Authentication.enableLogging ? !!config.Authentication.enableLogging : false), + logLevel: config.Settings.logLevel ? config.Settings.logLevel : 'ERROR', fiatConversion: config.Settings.fiatConversion ? config.Settings.fiatConversion : false } } @@ -504,7 +518,7 @@ connect.modifyIniSingleNodeConfig = (confFileFullPath) => { if (config.Settings.bitcoindConfigPath) { newConfig.nodes[0].Settings.bitcoindConfigPath = config.Settings.bitcoindConfigPath; - } else if(config.Authentication.bitcoindConfigPath) { + } else if (config.Authentication.bitcoindConfigPath) { newConfig.nodes[0].Settings.bitcoindConfigPath = config.Authentication.bitcoindConfigPath; } @@ -543,7 +557,7 @@ connect.upgradeConfig = (confFileFullPath) => { console.log('End...config creation.'); } } - } catch(err) { + } catch (err) { console.error('Something went wrong while upgrading the RTL config file: \n' + err); throw new Error(err); } @@ -552,15 +566,16 @@ connect.upgradeConfig = (confFileFullPath) => { connect.setServerConfiguration = () => { try { common.rtl_conf_file_path = (process.env.RTL_CONFIG_PATH) ? process.env.RTL_CONFIG_PATH : path.join(__dirname, '/..'); - confFileFullPath = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; - if(!fs.existsSync(confFileFullPath)) { + confFileFullPath = common.rtl_conf_file_path + common.path_separator + 'RTL-Config.json'; + if (!fs.existsSync(confFileFullPath)) { connect.upgradeConfig(confFileFullPath); } var config = JSON.parse(fs.readFileSync(confFileFullPath, 'utf-8')); + connect.updateLogByLevel(); connect.validateNodeConfig(config); connect.setSelectedNode(config); connect.logEnvVariables(); - } catch(err) { + } catch (err) { console.error('Something went wrong while configuring the node server: \n' + err); throw new Error(err); } diff --git a/routes/eclair/invoices.js b/routes/eclair/invoices.js index d1705662..8ab697e4 100644 --- a/routes/eclair/invoices.js +++ b/routes/eclair/invoices.js @@ -4,6 +4,7 @@ const router = express.Router(); const authCheck = require("../shared/authCheck"); router.get("/", authCheck, invoicesController.listInvoices); +router.get("/:paymentHash", authCheck, invoicesController.getInvoice); router.post("/", authCheck, invoicesController.createInvoice); module.exports = router; \ No newline at end of file diff --git a/routes/shared/RTLConf.js b/routes/shared/RTLConf.js index 014056d0..8f84ba33 100644 --- a/routes/shared/RTLConf.js +++ b/routes/shared/RTLConf.js @@ -3,7 +3,8 @@ const express = require("express"); const router = express.Router(); const authCheck = require("./authCheck"); -router.get("/rtlconf", RTLConfController.getRTLConfig); +router.get("/rtlconfinit", RTLConfController.getRTLConfigInitial); +router.get("/rtlconf", authCheck, RTLConfController.getRTLConfig); router.post("/", authCheck, RTLConfController.updateUISettings); router.post("/update2FA", authCheck, RTLConfController.update2FASettings); router.get("/config/:nodeType", authCheck, RTLConfController.getConfig); diff --git a/routes/shared/authCheck.js b/routes/shared/authCheck.js index 54fdeeec..c008682e 100644 --- a/routes/shared/authCheck.js +++ b/routes/shared/authCheck.js @@ -7,9 +7,8 @@ module.exports = (req, res, next) => { jwt.verify(token, common.secret_key); next(); } catch (error) { - res.status(401).json({ - message: "Authentication Failed!", - error: "Authentication Failed! Please Login First!" - }); + const errMsg = 'Authentication Failed! Please Login First!'; + const err = common.handleError({ statusCode: 401, message: 'Authentication Error', error: errMsg }, 'AuthCheck', errMsg); + return res.status(err.statusCode).json({message: err.message, error: err.error}); } }; diff --git a/screenshots/angular-build.jpg b/screenshots/angular-build.jpg new file mode 100644 index 00000000..a95f4c17 Binary files /dev/null and b/screenshots/angular-build.jpg differ diff --git a/screenshots/angular-server-dev.jpg b/screenshots/angular-server-dev.jpg new file mode 100644 index 00000000..36a0eb55 Binary files /dev/null and b/screenshots/angular-server-dev.jpg differ diff --git a/screenshots/localhost-ui-dev.jpg b/screenshots/localhost-ui-dev.jpg new file mode 100644 index 00000000..1012259b Binary files /dev/null and b/screenshots/localhost-ui-dev.jpg differ diff --git a/screenshots/node-server-dev.jpg b/screenshots/node-server-dev.jpg new file mode 100644 index 00000000..197c0673 Binary files /dev/null and b/screenshots/node-server-dev.jpg differ diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 017f5930..647c4f33 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -26,6 +26,7 @@ import * as fromRTLReducer from './store/rtl.reducers'; animations: [routeAnimation] }) export class AppComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild('sideNavigation', { static: false }) sideNavigation: any; @ViewChild('sideNavContent', { static: false }) sideNavContent: any; public selNode: ConfigSettingsNode; @@ -42,90 +43,99 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy { public flgLoggedIn = false; unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions, - private userIdle: UserIdleService, private router: Router, private sessionService: SessionService, private breakpointObserver: BreakpointObserver, private renderer: Renderer2) {} + constructor( + private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions, + private userIdle: UserIdleService, private router: Router, private sessionService: SessionService, private breakpointObserver: BreakpointObserver, private renderer: Renderer2 + ) { } ngOnInit() { this.router.events.subscribe((evt) => { - if (!(evt instanceof NavigationEnd)) { return; } - document.getElementsByTagName('mat-sidenav-content')[0].scrollTo(0, 0); - }); - this.breakpointObserver.observe([Breakpoints.XSmall, Breakpoints.TabletPortrait, Breakpoints.Small, Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge]) - .pipe(takeUntil(this.unSubs[0])) - .subscribe((matches) => { - if(matches.breakpoints[Breakpoints.XSmall]) { - this.commonService.setScreenSize(ScreenSizeEnum.XS); - this.smallScreen = true; - } else if(matches.breakpoints[Breakpoints.TabletPortrait]) { - this.commonService.setScreenSize(ScreenSizeEnum.SM); - this.smallScreen = true; - } else if(matches.breakpoints[Breakpoints.Small] || matches.breakpoints[Breakpoints.Medium]) { - this.commonService.setScreenSize(ScreenSizeEnum.MD); - this.smallScreen = false; - } else if(matches.breakpoints[Breakpoints.Large]) { - this.commonService.setScreenSize(ScreenSizeEnum.LG); - this.smallScreen = false; - } else { - this.commonService.setScreenSize(ScreenSizeEnum.XL); - this.smallScreen = false; + if (!(evt instanceof NavigationEnd)) { + return; } + document.getElementsByTagName('mat-sidenav-content')[0].scrollTo(0, 0); }); + this.breakpointObserver.observe([Breakpoints.XSmall, Breakpoints.TabletPortrait, Breakpoints.Small, Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge]). + pipe(takeUntil(this.unSubs[0])). + subscribe((matches) => { + if (matches.breakpoints[Breakpoints.XSmall]) { + this.commonService.setScreenSize(ScreenSizeEnum.XS); + this.smallScreen = true; + } else if (matches.breakpoints[Breakpoints.TabletPortrait]) { + this.commonService.setScreenSize(ScreenSizeEnum.SM); + this.smallScreen = true; + } else if (matches.breakpoints[Breakpoints.Small] || matches.breakpoints[Breakpoints.Medium]) { + this.commonService.setScreenSize(ScreenSizeEnum.MD); + this.smallScreen = false; + } else if (matches.breakpoints[Breakpoints.Large]) { + this.commonService.setScreenSize(ScreenSizeEnum.LG); + this.smallScreen = false; + } else { + this.commonService.setScreenSize(ScreenSizeEnum.XL); + this.smallScreen = false; + } + }); this.store.dispatch(new RTLActions.FetchRTLConfig()); this.accessKey = this.readAccessKey(); - this.store.select('root') - .pipe(takeUntil(this.unSubs[1])) - .subscribe(rtlStore => { - this.selNode = rtlStore.selNode; - this.settings = this.selNode.settings; - this.appConfig = rtlStore.appConfig; - this.information = rtlStore.nodeData; - this.flgLoading[0] = ( this.information.identity_pubkey) ? false : true; - this.logger.info(this.settings); - if (!this.sessionService.getItem('token')) { - this.flgLoggedIn = false; - this.flgLoading[0] = false; - } else { - this.flgLoggedIn = true; - this.userIdle.startWatching(); - } - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.selNode = rtlStore.selNode; + this.settings = this.selNode.settings; + this.appConfig = rtlStore.appConfig; + this.information = rtlStore.nodeData; + this.flgLoading[0] = !(this.information.identity_pubkey); + this.logger.info(this.settings); + if (!this.sessionService.getItem('token')) { + this.flgLoggedIn = false; + this.flgLoading[0] = false; + } else { + this.flgLoggedIn = true; + this.userIdle.startWatching(); + } + }); if (this.sessionService.getItem('defaultPassword') === 'true') { this.flgSideNavOpened = false; - } - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === RTLActions.SET_RTL_CONFIG || action.type === RTLActions.LOGOUT)) - .subscribe((action: (RTLActions.SetRTLConfig | RTLActions.Logout)) => { - if (action.type === RTLActions.SET_RTL_CONFIG) { - if (!this.sessionService.getItem('token')) { - if (+action.payload.sso.rtlSSO) { - if(!this.accessKey || this.accessKey.trim().length < 32) { - this.router.navigate(['./error'], { state: {errorCode: '406', errorMessage: 'Access key too short. It should be at least 32 characters long.'} }); + } + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === RTLActions.SET_RTL_CONFIG || action.type === RTLActions.LOGOUT)). + subscribe((action: (RTLActions.SetRTLConfig | RTLActions.Logout)) => { + if (action.type === RTLActions.SET_RTL_CONFIG) { + if (!this.sessionService.getItem('token')) { + if (+action.payload.sso.rtlSSO) { + if (!this.accessKey || this.accessKey.trim().length < 32) { + this.router.navigate(['./error'], { state: { errorCode: '406', errorMessage: 'Access key too short. It should be at least 32 characters long.' } }); + } else { + this.store.dispatch(new RTLActions.Login({ password: sha256(this.accessKey), defaultPassword: false })); + } } else { - this.store.dispatch(new RTLActions.Login({password: sha256(this.accessKey), defaultPassword: false})); + this.router.navigate(['./login']); } - } else { - this.router.navigate(['./login']); } } - } - if (action.type === RTLActions.LOGOUT) { - this.flgLoggedIn = false; - this.userIdle.stopWatching(); - this.userIdle.stopTimer(); - } + if (action.type === RTLActions.LOGOUT) { + this.flgLoggedIn = false; + this.userIdle.stopWatching(); + this.userIdle.stopTimer(); + } + }); + this.userIdle.onTimerStart().pipe(takeUntil(this.unSubs[3])).subscribe((count) => { + this.logger.info('Counting Down: ' + (11 - count)); }); - this.userIdle.onTimerStart().pipe(takeUntil(this.unSubs[3])).subscribe(count => {this.logger.info('Counting Down: ' + (11 - count))}); this.userIdle.onTimeout().pipe(takeUntil(this.unSubs[4])).subscribe(() => { this.logger.info('Time Out!'); if (this.sessionService.getItem('token')) { this.flgLoggedIn = false; this.logger.warn('Time limit exceeded for session inactivity.'); this.store.dispatch(new RTLActions.CloseAllDialogs()); - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.WARNING, - alertTitle: 'Logging out', - titleMessage: 'Time limit exceeded for session inactivity.' - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.WARNING, + alertTitle: 'Logging out', + titleMessage: 'Time limit exceeded for session inactivity.' + } + })); this.store.dispatch(new RTLActions.Logout()); } }); @@ -146,7 +156,7 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy { } else { setTimeout(() => { if (this.flgLoggedIn) { - this.renderer.setStyle(this.sideNavContent.elementRef.nativeElement, 'marginLeft', '22rem'); //$regular-sidenav-width + this.renderer.setStyle(this.sideNavContent.elementRef.nativeElement, 'marginLeft', '22rem'); // $regular-sidenav-width } this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth, this.sideNavContent.elementRef.nativeElement.clientHeight); }, 100); @@ -166,14 +176,17 @@ export class AppComponent implements OnInit, AfterViewInit, OnDestroy { copiedText(payload: string) { this.flgCopied = true; - setTimeout(() => {this.flgCopied = false; }, 5000); + setTimeout(() => { + this.flgCopied = false; + }, 5000); this.logger.info('Copied Text: ' + payload); } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); } + } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 69520eca..7385e926 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { BrowserModule, HammerModule } from '@angular/platform-browser'; +import { HammerModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; @@ -30,13 +30,12 @@ import { LayoutModule } from '@angular/cdk/layout'; @NgModule({ imports: [ - BrowserModule, BrowserAnimationsModule, SharedModule, routing, LayoutModule, HammerModule, - UserIdleModule.forRoot({idle: 3590, timeout: 10, ping: 12000}), // One hour + UserIdleModule.forRoot({ idle: 3590, timeout: 10, ping: 12000 }), // One hour StoreModule.forRoot(RTLReducer, { runtimeChecks: { strictStateImmutability: false, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts index aae7e764..8bfee8b4 100644 --- a/src/app/app.routing.ts +++ b/src/app/app.routing.ts @@ -22,37 +22,37 @@ import { AuthGuard } from './shared/services/auth.guard'; export const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: 'login' }, - { path: 'lnd', loadChildren: () => import('./lnd/lnd.module').then(childModule => childModule.LNDModule), canActivate: [AuthGuard] }, - { path: 'cl', loadChildren: () => import('./clightning/cl.module').then(childModule => childModule.CLModule), canActivate: [AuthGuard] }, - { path: 'ecl', loadChildren: () => import('./eclair/ecl.module').then(childModule => childModule.ECLModule), canActivate: [AuthGuard] }, + { path: 'lnd', loadChildren: () => import('./lnd/lnd.module').then((childModule) => childModule.LNDModule), canActivate: [AuthGuard] }, + { path: 'cl', loadChildren: () => import('./clightning/cl.module').then((childModule) => childModule.CLModule), canActivate: [AuthGuard] }, + { path: 'ecl', loadChildren: () => import('./eclair/ecl.module').then((childModule) => childModule.ECLModule), canActivate: [AuthGuard] }, { path: 'settings', component: SettingsComponent, canActivate: [AuthGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'app' }, { path: 'app', component: AppSettingsComponent, canActivate: [AuthGuard] }, { path: 'auth', component: AuthSettingsComponent, canActivate: [AuthGuard] }, { path: 'bconfig', component: BitcoinConfigComponent, canActivate: [AuthGuard] } - ]}, + ] }, { path: 'config', component: NodeConfigComponent, canActivate: [AuthGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'node' }, { path: 'node', component: NodeSettingsComponent, canActivate: [AuthGuard] }, { path: 'services', component: ServicesSettingsComponent, canActivate: [AuthGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'loop' }, { path: 'loop', component: LoopServiceSettingsComponent, canActivate: [AuthGuard] }, - { path: 'boltz', component: BoltzServiceSettingsComponent, canActivate: [AuthGuard] }, - ]}, + { path: 'boltz', component: BoltzServiceSettingsComponent, canActivate: [AuthGuard] } + ] }, { path: 'lnconfig', component: LNPConfigComponent, canActivate: [AuthGuard] } - ]}, + ] }, { path: 'services', component: ServicesComponent, canActivate: [AuthGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'loop' }, { path: 'loop', pathMatch: 'full', redirectTo: 'loop/loopout' }, { path: 'loop/:selTab', component: LoopComponent }, { path: 'boltz', pathMatch: 'full', redirectTo: 'boltz/swapout' }, - { path: 'boltz/:selTab', component: BoltzRootComponent }, - ]}, + { path: 'boltz/:selTab', component: BoltzRootComponent } + ] }, { path: 'help', component: HelpComponent }, { path: 'login', component: LoginComponent }, { path: 'error', component: ErrorComponent }, - { path: '**', component: NotFoundComponent } + { path: '**', component: NotFoundComponent } ]; -// export const routing: ModuleWithProviders = RouterModule.forRoot(routes, { enableTracing: true }); +// Export const routing: ModuleWithProviders = RouterModule.forRoot(routes, { enableTracing: true }); export const routing: ModuleWithProviders = RouterModule.forRoot(routes); diff --git a/src/app/clightning/cl-root.component.ts b/src/app/clightning/cl-root.component.ts index d9e17185..f8f775e2 100644 --- a/src/app/clightning/cl-root.component.ts +++ b/src/app/clightning/cl-root.component.ts @@ -9,6 +9,7 @@ import { routeAnimation } from '../shared/animation/route-animation'; animations: [routeAnimation] }) export class CLRootComponent { + loading = false; constructor(private router: Router) { @@ -28,6 +29,7 @@ export class CLRootComponent { break; } } - }); + }); } + } diff --git a/src/app/clightning/cl.module.ts b/src/app/clightning/cl.module.ts index 84aaa79f..6755bcb3 100644 --- a/src/app/clightning/cl.module.ts +++ b/src/app/clightning/cl.module.ts @@ -20,11 +20,13 @@ import { CLLookupsComponent } from './lookups/lookups.component'; import { CLRoutingComponent } from './routing/routing.component'; import { CLForwardingHistoryComponent } from './routing/forwarding-history/forwarding-history.component'; import { CLFailedTransactionsComponent } from './routing/failed-transactions/failed-transactions.component'; +import { CLRoutingPeersComponent } from './routing/routing-peers/routing-peers.component'; import { CLChannelLookupComponent } from './lookups/channel-lookup/channel-lookup.component'; import { CLNodeLookupComponent } from './lookups/node-lookup/node-lookup.component'; import { CLQueryRoutesComponent } from './transactions/query-routes/query-routes.component'; import { CLChannelOpenTableComponent } from './peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component'; import { CLChannelPendingTableComponent } from './peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component'; +import { CLBumpFeeComponent } from './peers-channels/channels/bump-fee-modal/bump-fee.component'; import { CLNodeInfoComponent } from './home/node-info/node-info.component'; import { CLBalancesInfoComponent } from './home/balances-info/balances-info.component'; import { CLFeeInfoComponent } from './home/fee-info/fee-info.component'; @@ -33,6 +35,7 @@ import { CLChannelCapacityInfoComponent } from './home/channel-capacity-info/cha import { CLChannelLiquidityInfoComponent } from './home/channel-liquidity-info/channel-liquidity-info.component'; import { CLNetworkInfoComponent } from './network-info/network-info.component'; import { CLFeeRatesComponent } from './network-info/fee-rates/fee-rates.component'; +import { CLOnChainFeeEstimatesComponent } from './network-info/on-chain-fee-estimates/on-chain-fee-estimates.component'; import { CLSignVerifyMessageComponent } from './sign-verify-message/sign-verify-message.component'; import { CLSignComponent } from './sign-verify-message/sign/sign.component'; import { CLVerifyComponent } from './sign-verify-message/verify/verify.component'; @@ -68,6 +71,7 @@ import { CLUnlockedGuard } from '../shared/services/auth.guard'; CLRoutingComponent, CLForwardingHistoryComponent, CLFailedTransactionsComponent, + CLRoutingPeersComponent, CLChannelLookupComponent, CLNodeLookupComponent, CLQueryRoutesComponent, @@ -78,6 +82,7 @@ import { CLUnlockedGuard } from '../shared/services/auth.guard'; CLChannelsTablesComponent, CLChannelOpenTableComponent, CLChannelPendingTableComponent, + CLBumpFeeComponent, CLNodeInfoComponent, CLBalancesInfoComponent, CLFeeInfoComponent, @@ -86,6 +91,7 @@ import { CLUnlockedGuard } from '../shared/services/auth.guard'; CLChannelLiquidityInfoComponent, CLNetworkInfoComponent, CLFeeRatesComponent, + CLOnChainFeeEstimatesComponent, CLSignVerifyMessageComponent, CLSignComponent, CLVerifyComponent, diff --git a/src/app/clightning/cl.routing.ts b/src/app/clightning/cl.routing.ts index 44188805..fb2340bf 100644 --- a/src/app/clightning/cl.routing.ts +++ b/src/app/clightning/cl.routing.ts @@ -23,6 +23,8 @@ import { CLSignComponent } from './sign-verify-message/sign/sign.component'; import { CLVerifyComponent } from './sign-verify-message/verify/verify.component'; import { CLForwardingHistoryComponent } from './routing/forwarding-history/forwarding-history.component'; import { CLFailedTransactionsComponent } from './routing/failed-transactions/failed-transactions.component'; +import { CLRoutingPeersComponent } from './routing/routing-peers/routing-peers.component'; + import { CLReportsComponent } from './reports/reports.component'; import { CLFeeReportComponent } from './reports/fee/fee-report.component'; import { CLTransactionsReportComponent } from './reports/transactions/transactions-report.component'; @@ -37,8 +39,8 @@ export const ClRoutes: Routes = [ { path: 'onchain', component: CLOnChainComponent, canActivate: [CLUnlockedGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'receive/utxos' }, { path: 'receive/:selTab', component: CLOnChainReceiveComponent, canActivate: [CLUnlockedGuard] }, - { path: 'send/:selTab', component: CLOnChainSendComponent, data : {sweepAll : false}, canActivate: [CLUnlockedGuard] }, - { path: 'sweep/:selTab', component: CLOnChainSendComponent, data : {sweepAll : true}, canActivate: [CLUnlockedGuard] } + { path: 'send/:selTab', component: CLOnChainSendComponent, data: { sweepAll: false }, canActivate: [CLUnlockedGuard] }, + { path: 'sweep/:selTab', component: CLOnChainSendComponent, data: { sweepAll: true }, canActivate: [CLUnlockedGuard] } ] }, { path: 'connections', component: CLConnectionsComponent, canActivate: [CLUnlockedGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'channels' }, @@ -47,7 +49,7 @@ export const ClRoutes: Routes = [ { path: 'open', component: CLChannelOpenTableComponent, canActivate: [CLUnlockedGuard] }, { path: 'pending', component: CLChannelPendingTableComponent, canActivate: [CLUnlockedGuard] } ] }, - { path: 'peers', component: CLPeersComponent, data : {sweepAll : false}, canActivate: [CLUnlockedGuard] } + { path: 'peers', component: CLPeersComponent, data: { sweepAll: false }, canActivate: [CLUnlockedGuard] } ] }, { path: 'transactions', component: CLTransactionsComponent, canActivate: [CLUnlockedGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'payments' }, @@ -63,7 +65,8 @@ export const ClRoutes: Routes = [ { path: 'routing', component: CLRoutingComponent, canActivate: [CLUnlockedGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'forwardinghistory' }, { path: 'forwardinghistory', component: CLForwardingHistoryComponent, canActivate: [CLUnlockedGuard] }, - { path: 'failedtransactions', component: CLFailedTransactionsComponent, canActivate: [CLUnlockedGuard] } + { path: 'failedtransactions', component: CLFailedTransactionsComponent, canActivate: [CLUnlockedGuard] }, + { path: 'routingpeers', component: CLRoutingPeersComponent, canActivate: [CLUnlockedGuard] } ] }, { path: 'reports', component: CLReportsComponent, canActivate: [CLUnlockedGuard], children: [ { path: '', pathMatch: 'full', redirectTo: 'routingfees' }, @@ -76,8 +79,7 @@ export const ClRoutes: Routes = [ { path: 'network', redirectTo: 'rates' }, { path: 'wallet', redirectTo: 'home' }, { path: 'backup', redirectTo: 'home' } - ] - } + ] } ]; export const CLRouting: ModuleWithProviders = RouterModule.forChild(ClRoutes); diff --git a/src/app/clightning/home/balances-info/balances-info.component.html b/src/app/clightning/home/balances-info/balances-info.component.html index 4c038451..4f2f152f 100644 --- a/src/app/clightning/home/balances-info/balances-info.component.html +++ b/src/app/clightning/home/balances-info/balances-info.component.html @@ -1,4 +1,4 @@ -
+

Lightning

{{balances.lightning | number}} Sats
@@ -14,3 +14,8 @@
{{balances.total | number}} Sats
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/home/balances-info/balances-info.component.spec.ts b/src/app/clightning/home/balances-info/balances-info.component.spec.ts index e62d1332..2c3b5ca1 100644 --- a/src/app/clightning/home/balances-info/balances-info.component.spec.ts +++ b/src/app/clightning/home/balances-info/balances-info.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { CLBalancesInfoComponent } from './balances-info.component'; @@ -6,11 +7,12 @@ describe('CLBalancesInfoComponent', () => { let component: CLBalancesInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLBalancesInfoComponent ] - }) - .compileComponents(); + declarations: [CLBalancesInfoComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('CLBalancesInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/balances-info/balances-info.component.ts b/src/app/clightning/home/balances-info/balances-info.component.ts index 5e16fc1d..2e84691b 100644 --- a/src/app/clightning/home/balances-info/balances-info.component.ts +++ b/src/app/clightning/home/balances-info/balances-info.component.ts @@ -6,7 +6,9 @@ import { Component, Input } from '@angular/core'; styleUrls: ['./balances-info.component.scss'] }) export class CLBalancesInfoComponent { + @Input() balances = { onchain: 0, lightning: 0, total: 0 }; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.html b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.html index 8320f1c6..c36a5b93 100644 --- a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.html +++ b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.html @@ -1,15 +1,15 @@ -
+
Total Capacity
- Local:{{channelBalances.localBalance || 0 | number:'1.0-0'}} Sats + Local:{{channelBalances?.localBalance || 0 | number:'1.0-0'}} Sats ({{channelBalances?.balancedness || 0 | number}}) - Remote:{{channelBalances.remoteBalance || 0 | number:'1.0-0'}} Sats + Remote:{{channelBalances?.remoteBalance || 0 | number:'1.0-0'}} Sats
- +
@@ -35,3 +35,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.spec.ts b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.spec.ts index be97f96f..36acbc2a 100644 --- a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.spec.ts +++ b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { CLChannelCapacityInfoComponent } from './channel-capacity-info.component'; @@ -6,11 +8,12 @@ describe('CLChannelCapacityInfoComponent', () => { let component: CLChannelCapacityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelCapacityInfoComponent ] - }) - .compileComponents(); + declarations: [CLChannelCapacityInfoComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('CLChannelCapacityInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.ts b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.ts index c3c85a0d..f98fe1a4 100644 --- a/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.ts +++ b/src/app/clightning/home/channel-capacity-info/channel-capacity-info.component.ts @@ -10,11 +10,13 @@ import { Channel } from '../../../shared/models/clModels'; styleUrls: ['./channel-capacity-info.component.scss'] }) export class CLChannelCapacityInfoComponent { + public faBalanceScale = faBalanceScale; public faDumbbell = faDumbbell; @Input() channelBalances: {localBalance: number, remoteBalance: number, balancedness: number}; @Input() allChannels: Channel[]; - @Input() sortBy: string = 'Balance Score'; + @Input() sortBy = 'Balance Score'; + @Input() errorMessage: string; constructor(private router: Router) {} diff --git a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.html b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.html index 2a2990ed..35b567ce 100644 --- a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.html +++ b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.html @@ -1,4 +1,4 @@ -
+
Total Capacity {{totalLiquidity | number:'1.0-0'}} Sats @@ -25,3 +25,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts index 3a8eaddd..e796ce64 100644 --- a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts +++ b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts @@ -1,16 +1,27 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; + +import { SharedModule } from '../../../shared/shared.module'; +import { CommonService } from '../../../shared/services/common.service'; +import { mockDataService } from '../../../shared/test-helpers/mock-services'; import { CLChannelLiquidityInfoComponent } from './channel-liquidity-info.component'; +import { DataService } from '../../../shared/services/data.service'; describe('CLChannelLiquidityInfoComponent', () => { let component: CLChannelLiquidityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelLiquidityInfoComponent ] - }) - .compileComponents(); + declarations: [CLChannelLiquidityInfoComponent], + imports: [SharedModule, RouterTestingModule], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { diff --git a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.ts b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.ts index ff95de5c..57a1edda 100644 --- a/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.ts +++ b/src/app/clightning/home/channel-liquidity-info/channel-liquidity-info.component.ts @@ -11,9 +11,11 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./channel-liquidity-info.component.scss'] }) export class CLChannelLiquidityInfoComponent implements OnInit { + @Input() direction: string; @Input() totalLiquidity: number; @Input() allChannels: Channel[]; + @Input() errorMessage: string; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; diff --git a/src/app/clightning/home/channel-status-info/channel-status-info.component.html b/src/app/clightning/home/channel-status-info/channel-status-info.component.html index a8a6760a..89dedfd7 100644 --- a/src/app/clightning/home/channel-status-info/channel-status-info.component.html +++ b/src/app/clightning/home/channel-status-info/channel-status-info.component.html @@ -1,28 +1,35 @@ -
-
-

Active

-
{{(channelsStatus.active.channels || 0) | number}}
+
+
+
+

Active

+
{{(channelsStatus?.active?.channels || 0) | number}}
+
+
+

Pending

+
{{(channelsStatus?.pending?.channels || 0) | number}}
+
+
+

Inactive

+
{{(channelsStatus?.inactive?.channels || 0) | number}}
+
-
-

Pending

-
{{(channelsStatus.pending.channels || 0) | number}}
-
-
-

Inactive

-
{{(channelsStatus.inactive.channels || 0) | number}}
+
+
+

Capacity

+
{{(channelsStatus?.active?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus?.pending?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus?.inactive?.capacity || 0) | number}} Sats
+
-
-
-

Capacity

-
{{(channelsStatus.active.capacity || 0) | number}} Sats
-
-
-

Capacity

-
{{(channelsStatus.pending.capacity || 0) | number}} Sats
+ +
+

{{errorMessage}}

-
-

Capacity

-
{{(channelsStatus.inactive.capacity || 0) | number}} Sats
-
-
+ diff --git a/src/app/clightning/home/channel-status-info/channel-status-info.component.spec.ts b/src/app/clightning/home/channel-status-info/channel-status-info.component.spec.ts index c5cbec1a..142d6d77 100644 --- a/src/app/clightning/home/channel-status-info/channel-status-info.component.spec.ts +++ b/src/app/clightning/home/channel-status-info/channel-status-info.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { CLChannelStatusInfoComponent } from './channel-status-info.component'; @@ -6,11 +7,12 @@ describe('CLChannelStatusInfoComponent', () => { let component: CLChannelStatusInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelStatusInfoComponent ] - }) - .compileComponents(); + declarations: [CLChannelStatusInfoComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('CLChannelStatusInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/channel-status-info/channel-status-info.component.ts b/src/app/clightning/home/channel-status-info/channel-status-info.component.ts index 7b72617e..89d853e7 100644 --- a/src/app/clightning/home/channel-status-info/channel-status-info.component.ts +++ b/src/app/clightning/home/channel-status-info/channel-status-info.component.ts @@ -7,7 +7,9 @@ import { ChannelsStatus } from '../../../shared/models/clModels'; styleUrls: ['./channel-status-info.component.scss'] }) export class CLChannelStatusInfoComponent { + @Input() channelsStatus: ChannelsStatus = {}; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/clightning/home/fee-info/fee-info.component.html b/src/app/clightning/home/fee-info/fee-info.component.html index a0ddd458..662e75b2 100644 --- a/src/app/clightning/home/fee-info/fee-info.component.html +++ b/src/app/clightning/home/fee-info/fee-info.component.html @@ -1,12 +1,19 @@ -
-
-

Total

-
{{fees?.feeCollected/1000 | number}} Sats
+
+
+
+

Total

+
{{fees?.feeCollected/1000 | number}} Sats
+
-
-
-
-

Transactions

-
{{fees?.totalTxCount | number}}
+
+
+

Transactions

+
{{fees?.totalTxCount | number}}
+
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/home/fee-info/fee-info.component.spec.ts b/src/app/clightning/home/fee-info/fee-info.component.spec.ts index 0aeeefff..8d633be2 100644 --- a/src/app/clightning/home/fee-info/fee-info.component.spec.ts +++ b/src/app/clightning/home/fee-info/fee-info.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { CLFeeInfoComponent } from './fee-info.component'; @@ -6,11 +7,12 @@ describe('CLFeeInfoComponent', () => { let component: CLFeeInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLFeeInfoComponent ] - }) - .compileComponents(); + declarations: [CLFeeInfoComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('CLFeeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/fee-info/fee-info.component.ts b/src/app/clightning/home/fee-info/fee-info.component.ts index 8c8dc703..006222e8 100644 --- a/src/app/clightning/home/fee-info/fee-info.component.ts +++ b/src/app/clightning/home/fee-info/fee-info.component.ts @@ -7,7 +7,9 @@ import { Fees } from '../../../shared/models/clModels'; styleUrls: ['./fee-info.component.scss'] }) export class CLFeeInfoComponent { + @Input() fees: Fees; - totalFees = [{'name': 'Total', 'value': 0}]; + @Input() errorMessage: string; + totalFees = [{ name: 'Total', value: 0 }]; } diff --git a/src/app/clightning/home/home.component.html b/src/app/clightning/home/home.component.html index 52af6846..608b6390 100644 --- a/src/app/clightning/home/home.component.html +++ b/src/app/clightning/home/home.component.html @@ -1,7 +1,7 @@
- - {{!flgLoading[0] ? 'Welcome ' + information.alias + '! Your node is up and running.' : 'Error! Please check the server connection.'}} + + {{apisCallStatus?.FetchInfo.status === apiCallStatusEnum.COMPLETED ? 'Welcome ' + information.alias + '! Your node is up and running.' : apisCallStatus?.FetchInfo.status === apiCallStatusEnum.INITIATED ? 'Wait! Getting your node information...' : 'Error! Please check the server connection.'}}
@@ -24,13 +24,26 @@
- + +
- - - - - + + + + +

Error! Unable to find information!

@@ -62,12 +75,21 @@
- + +
- - - - + + + + diff --git a/src/app/clightning/home/home.component.spec.ts b/src/app/clightning/home/home.component.spec.ts index 5189a7ed..d80f582e 100644 --- a/src/app/clightning/home/home.component.spec.ts +++ b/src/app/clightning/home/home.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../shared/shared.module'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; + +import { RTLReducer } from '../../store/rtl.reducers'; import { CLHomeComponent } from './home.component'; +import { CLNodeInfoComponent } from './node-info/node-info.component'; +import { CLBalancesInfoComponent } from './balances-info/balances-info.component'; +import { CLChannelCapacityInfoComponent } from './channel-capacity-info/channel-capacity-info.component'; +import { CLChannelStatusInfoComponent } from './channel-status-info/channel-status-info.component'; +import { CLFeeInfoComponent } from './fee-info/fee-info.component'; +import { DataService } from '../../shared/services/data.service'; describe('CLHomeComponent', () => { let component: CLHomeComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLHomeComponent ] - }) - .compileComponents(); + declarations: [CLHomeComponent, CLNodeInfoComponent, CLBalancesInfoComponent, CLChannelCapacityInfoComponent, CLChannelStatusInfoComponent, CLFeeInfoComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('CLHomeComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/home.component.ts b/src/app/clightning/home/home.component.ts index 2bfd96f3..f11e5fc9 100644 --- a/src/app/clightning/home/home.component.ts +++ b/src/app/clightning/home/home.component.ts @@ -7,11 +7,13 @@ import { Actions } from '@ngrx/effects'; import { faSmile, faFrown } from '@fortawesome/free-regular-svg-icons'; import { faAngleDoubleDown, faAngleDoubleUp, faChartPie, faBolt, faServer, faNetworkWired } from '@fortawesome/free-solid-svg-icons'; +import { SelNodeChild } from '../../shared/models/RTLconfig'; +import { UserPersonaEnum, ScreenSizeEnum, APICallStatusEnum } from '../../shared/services/consts-enums-functions'; +import { ChannelsStatus, GetInfo, Fees, Channel, Balance } from '../../shared/models/clModels'; +import { ApiCallsListCL } from '../../shared/models/apiCallsPayload'; import { LoggerService } from '../../shared/services/logger.service'; import { CommonService } from '../../shared/services/common.service'; -import { UserPersonaEnum, ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; -import { ChannelsStatus, GetInfo, Fees, Channel, Balance, FeeRates } from '../../shared/models/clModels'; -import { SelNodeChild } from '../../shared/models/RTLconfig'; + import * as CLActions from '../store/cl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; @@ -21,6 +23,7 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./home.component.scss'] }) export class CLHomeComponent implements OnInit, OnDestroy { + public faSmile = faSmile; public faFrown = faFrown; public faAngleDoubleDown = faAngleDoubleDown; @@ -28,10 +31,10 @@ export class CLHomeComponent implements OnInit, OnDestroy { public faChartPie = faChartPie; public faBolt = faBolt; public faServer = faServer; - public faNetworkWired = faNetworkWired; + public faNetworkWired = faNetworkWired; public flgChildInfoUpdated = false; public userPersonaEnum = UserPersonaEnum; - public channelBalances = {localBalance: 0, remoteBalance: 0, balancedness: 0}; + public channelBalances = { localBalance: 0, remoteBalance: 0, balancedness: 0 }; public selNode: SelNodeChild = {}; public fees: Fees; public information: GetInfo = {}; @@ -44,20 +47,20 @@ export class CLHomeComponent implements OnInit, OnDestroy { public allOutboundChannels: Channel[] = []; public totalInboundLiquidity = 0; public totalOutboundLiquidity = 0; - public feeRatesPerKB: FeeRates = {}; - public feeRatesPerKW: FeeRates = {}; public operatorCards = []; public merchantCards = []; public screenSize = ''; public operatorCardHeight = '330px'; public merchantCardHeight = '65px'; public sortField = 'Balance Score'; - public flgLoading: Array = [true, true, true, true, true, true, true, true]; // 0: Info, 1: Fee, 2: Wallet, 3: Channel, 4: Network + public errorMessages = ['', '', '', '', '', '']; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private actions$: Actions, private commonService: CommonService, private router: Router) { + constructor(private logger: LoggerService, private store: Store, private actions: Actions, private commonService: CommonService, private router: Router) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.operatorCards = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 10, rows: 1 }, { id: 'balance', goTo: 'On-Chain', link: '/cl/onchain', icon: this.faChartPie, title: 'Balances', cols: 10, rows: 1 }, @@ -71,7 +74,7 @@ export class CLHomeComponent implements OnInit, OnDestroy { { id: 'inboundLiq', goTo: 'Channels', link: '/cl/connections', icon: this.faAngleDoubleDown, title: 'In-Bound Liquidity', cols: 6, rows: 8 }, { id: 'outboundLiq', goTo: 'Channels', link: '/cl/connections', icon: this.faAngleDoubleUp, title: 'Out-Bound Liquidity', cols: 6, rows: 8 } ]; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.operatorCards = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 5, rows: 1 }, { id: 'balance', goTo: 'On-Chain', link: '/cl/onchain', icon: this.faChartPie, title: 'Balances', cols: 5, rows: 1 }, @@ -105,99 +108,80 @@ export class CLHomeComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.flgLoading = [true, true, true, true, true, true, true, true]; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInfo') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.errorMessages = ['', '', '', '', '', '']; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) { + this.errorMessages[0] = (typeof (this.apisCallStatus.FetchInfo.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInfo.message) : this.apisCallStatus.FetchInfo.message; } - if (effectsErr.action === 'FetchFees') { - this.flgLoading[1] = 'error'; + if (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) { + this.errorMessages[1] = (typeof (this.apisCallStatus.FetchFees.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFees.message) : this.apisCallStatus.FetchFees.message; } - if (effectsErr.action === 'FetchBalance') { - this.flgLoading[2] = 'error'; + if (rtlStore.apisCallStatus.FetchBalance.status === APICallStatusEnum.ERROR) { + this.errorMessages[2] = (typeof (this.apisCallStatus.FetchBalance.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchBalance.message) : this.apisCallStatus.FetchBalance.message; } - if (effectsErr.action === 'FetchLocalRemoteBalance') { - this.flgLoading[3] = 'error'; + if (rtlStore.apisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.ERROR) { + this.errorMessages[3] = (typeof (this.apisCallStatus.FetchLocalRemoteBalance.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchLocalRemoteBalance.message) : this.apisCallStatus.FetchLocalRemoteBalance.message; } - if (effectsErr.action === 'FetchFeeRates') { - this.flgLoading[4] = 'error'; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[4] = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; } - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[5] = 'error'; + if (rtlStore.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessages[5] = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; } + + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + + this.fees = rtlStore.fees; + + this.totalBalance = rtlStore.balance; + this.balances.onchain = rtlStore.balance.totalBalance; + this.balances.lightning = rtlStore.localRemoteBalance.localBalance; + this.balances.total = this.balances.lightning + this.balances.onchain; + this.balances = Object.assign({}, this.balances); + + const local = (rtlStore.localRemoteBalance.localBalance) ? +rtlStore.localRemoteBalance.localBalance : 0; + const remote = (rtlStore.localRemoteBalance.remoteBalance) ? +rtlStore.localRemoteBalance.remoteBalance : 0; + const total = local + remote; + this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local - remote) / total)).toFixed(3) }; + + this.channelsStatus = { + active: { channels: rtlStore.information.num_active_channels, capacity: rtlStore.localRemoteBalance.localBalance }, + pending: { channels: rtlStore.information.num_pending_channels, capacity: rtlStore.localRemoteBalance.pendingBalance || 0 }, + inactive: { channels: rtlStore.information.num_inactive_channels, capacity: rtlStore.localRemoteBalance.inactiveBalance || 0 } + }; + this.totalInboundLiquidity = 0; + this.totalOutboundLiquidity = 0; + this.allChannels = rtlStore.allChannels.filter((channel) => channel.state === 'CHANNELD_NORMAL' && channel.connected); + this.allChannelsCapacity = this.allChannels.length > 0 ? JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))) : []; + this.allInboundChannels = this.allChannels.length > 0 ? JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter((channel) => channel.msatoshi_to_them > 0), 'msatoshi_to_them'))) : []; + this.allOutboundChannels = this.allChannels.length > 0 ? JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter((channel) => channel.msatoshi_to_us > 0), 'msatoshi_to_us'))) : []; + this.allChannels.forEach((channel) => { + this.totalInboundLiquidity = this.totalInboundLiquidity + Math.ceil(channel.msatoshi_to_them / 1000); + this.totalOutboundLiquidity = this.totalOutboundLiquidity + Math.floor(channel.msatoshi_to_us / 1000); + }); + + if (this.balances.lightning >= 0 && this.balances.onchain >= 0 && this.fees.feeCollected >= 0) { + this.flgChildInfoUpdated = true; + } else { + this.flgChildInfoUpdated = false; + } + this.logger.info(rtlStore); }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.information.id) ? false : true; - } - - this.fees = rtlStore.fees; - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = ( this.fees.feeCollected) ? false : true; - } - - this.totalBalance = rtlStore.balance; - this.balances.onchain = rtlStore.balance.totalBalance; - this.balances.lightning = rtlStore.localRemoteBalance.localBalance; - this.balances.total = this.balances.lightning + this.balances.onchain; - this.balances = Object.assign({}, this.balances); - if (this.flgLoading[2] !== 'error') { - this.flgLoading[2] = ('' !== this.totalBalance) ? false : true; - } - - let local = (rtlStore.localRemoteBalance.localBalance) ? +rtlStore.localRemoteBalance.localBalance : 0; - let remote = (rtlStore.localRemoteBalance.remoteBalance) ? +rtlStore.localRemoteBalance.remoteBalance : 0; - let total = local + remote; - this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local-remote)/total)).toFixed(3) }; - if (this.flgLoading[3] !== 'error') { - this.flgLoading[3] = (rtlStore.localRemoteBalance.localBalance) ? false : true; - } - - this.feeRatesPerKB = rtlStore.feeRatesPerKB; - this.feeRatesPerKW = rtlStore.feeRatesPerKW; - if (this.flgLoading[4] !== 'error') { - this.flgLoading[4] = ( this.feeRatesPerKB && this.feeRatesPerKW) ? false : true; - } - - this.channelsStatus = { - active: { channels: rtlStore.information.num_active_channels, capacity: rtlStore.localRemoteBalance.localBalance }, - pending: { channels: rtlStore.information.num_pending_channels, capacity: rtlStore.localRemoteBalance.pendingBalance | 0 }, - inactive: { channels: rtlStore.information.num_inactive_channels, capacity: rtlStore.localRemoteBalance.inactiveBalance | 0 } - }; - this.totalInboundLiquidity = 0; - this.totalOutboundLiquidity = 0; - this.allChannels = rtlStore.allChannels.filter(channel => channel.state === 'CHANNELD_NORMAL' && channel.connected); - this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))); - this.allInboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(channel => channel.msatoshi_to_them > 0), 'msatoshi_to_them'))); - this.allOutboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(channel => channel.msatoshi_to_us > 0), 'msatoshi_to_us'))); - this.allChannels.forEach(channel => { - this.totalInboundLiquidity = this.totalInboundLiquidity + Math.ceil(channel.msatoshi_to_them/1000); - this.totalOutboundLiquidity = this.totalOutboundLiquidity + Math.floor(channel.msatoshi_to_us/1000); + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === CLActions.FETCH_FEES_CL || action.type === CLActions.SET_FEES_CL)). + subscribe((action) => { + if (action.type === CLActions.FETCH_FEES_CL) { + this.flgChildInfoUpdated = false; + } + if (action.type === CLActions.SET_FEES_CL) { + this.flgChildInfoUpdated = true; + } }); - if (this.flgLoading[5] !== 'error') { - this.flgLoading[5] = (this.allChannels && this.allChannels.length) ? false : true; - } - if (this.balances.lightning >= 0 && this.balances.onchain >= 0 && this.fees.feeCollected >= 0) { - this.flgChildInfoUpdated = true; - } else { - this.flgChildInfoUpdated = false; - } - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === CLActions.FETCH_FEES_CL || action.type === CLActions.SET_FEES_CL)) - .subscribe(action => { - if(action.type === CLActions.FETCH_FEES_CL) { - this.flgChildInfoUpdated = false; - } - if(action.type === CLActions.SET_FEES_CL) { - this.flgChildInfoUpdated = true; - } - }); } onNavigateTo(link: string) { @@ -206,20 +190,20 @@ export class CLHomeComponent implements OnInit, OnDestroy { onsortChannelsBy() { if (this.sortField === 'Balance Score') { - this.sortField = 'Capacity'; - this.allChannelsCapacity = this.allChannels.sort(function (a, b) { + this.sortField = 'Capacity'; + this.allChannelsCapacity = this.allChannels.sort((a, b) => { const x = +a.msatoshi_to_us + +a.msatoshi_to_them; const y = +b.msatoshi_to_them + +b.msatoshi_to_them; return ((x > y) ? -1 : ((x < y) ? 1 : 0)); }); } else { - this.sortField = 'Balance Score'; - this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))); + this.sortField = 'Balance Score'; + this.allChannelsCapacity = this.allChannels.length > 0 ? JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))) : []; } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/home/node-info/node-info.component.html b/src/app/clightning/home/node-info/node-info.component.html index 211e0e7c..e7221175 100644 --- a/src/app/clightning/home/node-info/node-info.component.html +++ b/src/app/clightning/home/node-info/node-info.component.html @@ -2,20 +2,20 @@

Alias

- {{information.alias}} - + {{information?.alias}} +

Color

- - {{information.color | uppercase}} + + {{information?.color | uppercase}}

Implementation

-
{{(information.lnImplementation || information.version) ? information.lnImplementation + ' ' + information.version : ''}}
+
{{(information?.lnImplementation || information?.version) ? information?.lnImplementation + ' ' + information?.version : ''}}

Chain

diff --git a/src/app/clightning/home/node-info/node-info.component.spec.ts b/src/app/clightning/home/node-info/node-info.component.spec.ts index ae883ca5..d18b0fc2 100644 --- a/src/app/clightning/home/node-info/node-info.component.spec.ts +++ b/src/app/clightning/home/node-info/node-info.component.spec.ts @@ -1,27 +1,34 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { CLNodeInfoComponent } from './node-info.component'; +import { SharedModule } from '../../../shared/shared.module'; import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; + +import { CLNodeInfoComponent } from './node-info.component'; describe('CLNodeInfoComponent', () => { let component: CLNodeInfoComponent; let fixture: ComponentFixture; - const mockCommonService = jasmine.createSpyObj("CommonService",["getScreenSize","setScreenSize", -"sortDescByKey","camelCase","titleCase","convertCurrency","convertWithoutFiat","convertWithFiat", -"convertTime","convertTimestampToDate","downloadFile","convertToCSV"]); + let commonService: CommonService; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLNodeInfoComponent ], + declarations: [CLNodeInfoComponent], + imports: [SharedModule], providers: [ - { provide: CommonService, useValue: mockCommonService } + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(CLNodeInfoComponent); + commonService = TestBed.inject(CommonService); component = fixture.componentInstance; fixture.detectChanges(); }); @@ -29,4 +36,8 @@ describe('CLNodeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/home/node-info/node-info.component.ts b/src/app/clightning/home/node-info/node-info.component.ts index 748c71ad..9ed95793 100644 --- a/src/app/clightning/home/node-info/node-info.component.ts +++ b/src/app/clightning/home/node-info/node-info.component.ts @@ -8,6 +8,7 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./node-info.component.scss'] }) export class CLNodeInfoComponent implements OnChanges { + @Input() information: GetInfo; @Input() showColorFieldSeparately: boolean; public chains: Array = ['']; @@ -15,9 +16,9 @@ export class CLNodeInfoComponent implements OnChanges { constructor(private commonService: CommonService) { } ngOnChanges() { - if(this.information && this.information.chains && this.information.chains.length > 0) { + if (this.information && this.information.chains && this.information.chains.length > 0) { this.chains = ['']; - this.information.chains.forEach(chain => { + this.information.chains.forEach((chain) => { this.chains.push(this.commonService.titleCase(chain.chain) + ' ' + this.commonService.titleCase(chain.network)); }); } diff --git a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.html b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.html index 1eba516f..c37afa7e 100644 --- a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.html +++ b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.html @@ -9,77 +9,77 @@

Short Channel Id

- {{lookupResult[0].short_channel_id}} + {{lookupResult[0]?.short_channel_id}}

Active

- {{lookupResult[0].active ? 'True' : 'False'}} + {{lookupResult[0]?.active ? 'True' : 'False'}}

Last Update

- {{lookupResult[0].last_update }} + {{lookupResult[0]?.last_update }}

Amount (mSats)

- {{lookupResult[0].amount_msat}} + {{lookupResult[0]?.amount_msat}}

Base Fee (mSats)

- {{lookupResult[0].base_fee_millisatoshi | number}} + {{lookupResult[0]?.base_fee_millisatoshi | number}}

Channel Flags

- {{lookupResult[0].channel_flags | number}} + {{lookupResult[0]?.channel_flags | number}}

Delay

- {{lookupResult[0].delay | number}} + {{lookupResult[0]?.delay | number}}

Destination

- {{lookupResult[0].destination}} + {{lookupResult[0]?.destination}}

Fee/Millionth

- {{lookupResult[0].fee_per_millionth | number}} + {{lookupResult[0]?.fee_per_millionth | number}}

Max Htlc (mSat)

- {{lookupResult[0].htlc_maximum_msat}} + {{lookupResult[0]?.htlc_maximum_msat}}

Min Htlc (mSat)

- {{lookupResult[0].htlc_minimum_msat}} + {{lookupResult[0]?.htlc_minimum_msat}}

Message Flags

- {{lookupResult[0].message_flags | number}} + {{lookupResult[0]?.message_flags | number}}

Public

- {{lookupResult[0].public ? 'Yes' : 'No'}} + {{lookupResult[0]?.public ? 'Yes' : 'No'}}

Satoshis

- {{lookupResult[0].satoshis | number}} + {{lookupResult[0]?.satoshis | number}}

Source

- {{lookupResult[0].source}} + {{lookupResult[0]?.source}}
@@ -90,77 +90,77 @@

Short Channel Id

- {{lookupResult[1].short_channel_id}} + {{lookupResult[1]?.short_channel_id}}

Active

- {{lookupResult[1].active ? 'True' : 'False'}} + {{lookupResult[1]?.active ? 'True' : 'False'}}

Last Update

- {{(lookupResult[1].last_update * 1000) | date:'dd/MMM/YYYY HH:mm'}} + {{(lookupResult[1]?.last_update * 1000) | date:'dd/MMM/YYYY HH:mm'}}

Amount (mSats)

- {{lookupResult[1].amount_msat}} + {{lookupResult[1]?.amount_msat}}

Base Fee (mSats)

- {{lookupResult[1].base_fee_millisatoshi | number}} + {{lookupResult[1]?.base_fee_millisatoshi | number}}

Channel Flags

- {{lookupResult[1].channel_flags | number}} + {{lookupResult[1]?.channel_flags | number}}

Delay

- {{lookupResult[1].delay | number}} + {{lookupResult[1]?.delay | number}}

Destination

- {{lookupResult[1].destination}} + {{lookupResult[1]?.destination}}

Fee/Millionth

- {{lookupResult[1].fee_per_millionth | number}} + {{lookupResult[1]?.fee_per_millionth | number}}

Max Htlc (mSat)

- {{lookupResult[1].htlc_maximum_msat}} + {{lookupResult[1]?.htlc_maximum_msat}}

Min Htlc (mSat)

- {{lookupResult[1].htlc_minimum_msat}} + {{lookupResult[1]?.htlc_minimum_msat}}

Message Flags

- {{lookupResult[1].message_flags | number}} + {{lookupResult[1]?.message_flags | number}}

Public

- {{lookupResult[1].public ? 'Yes' : 'No'}} + {{lookupResult[1]?.public ? 'Yes' : 'No'}}

Satoshis

- {{lookupResult[1].satoshis | number}} + {{lookupResult[1]?.satoshis | number}}

Source

- {{lookupResult[1].source}} + {{lookupResult[1]?.source}}
diff --git a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.spec.ts b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.spec.ts index e42d43f8..e2c919c5 100644 --- a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.spec.ts +++ b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.spec.ts @@ -1,16 +1,28 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { CLChannelLookupComponent } from './channel-lookup.component'; describe('CLChannelLookupComponent', () => { let component: CLChannelLookupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelLookupComponent ] - }) - .compileComponents(); + declarations: [CLChannelLookupComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +34,8 @@ describe('CLChannelLookupComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.ts b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.ts index 07b98491..8a02ab08 100644 --- a/src/app/clightning/lookups/channel-lookup/channel-lookup.component.ts +++ b/src/app/clightning/lookups/channel-lookup/channel-lookup.component.ts @@ -12,7 +12,8 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./channel-lookup.component.scss'] }) export class CLChannelLookupComponent implements OnInit { - @Input() lookupResult: ChannelEdge[]; + + @Input() lookupResult: ChannelEdge[] = []; public node1_match = false; public node2_match = false; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; @@ -20,16 +21,16 @@ export class CLChannelLookupComponent implements OnInit { constructor(private store: Store) { } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if (this.lookupResult.length > 0 && this.lookupResult[0].source === rtlStore.information.id) { - this.node1_match = true; - } - if (this.lookupResult.length > 1 && this.lookupResult[1].source === rtlStore.information.id) { - this.node2_match = true; - } - }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (this.lookupResult.length > 0 && this.lookupResult[0].source === rtlStore.information.id) { + this.node1_match = true; + } + if (this.lookupResult.length > 1 && this.lookupResult[1].source === rtlStore.information.id) { + this.node2_match = true; + } + }); } } diff --git a/src/app/clightning/lookups/lookups.component.spec.ts b/src/app/clightning/lookups/lookups.component.spec.ts index c37e3712..d67d291e 100644 --- a/src/app/clightning/lookups/lookups.component.spec.ts +++ b/src/app/clightning/lookups/lookups.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { RTLReducer } from '../../store/rtl.reducers'; import { CLLookupsComponent } from './lookups.component'; +import { SharedModule } from '../../shared/shared.module'; +import { CLNodeLookupComponent } from './node-lookup/node-lookup.component'; +import { CLChannelLookupComponent } from './channel-lookup/channel-lookup.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('CLLookupsComponent', () => { let component: CLLookupsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLLookupsComponent ] - }) - .compileComponents(); + declarations: [CLLookupsComponent, CLNodeLookupComponent, CLChannelLookupComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('CLLookupsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/lookups/lookups.component.ts b/src/app/clightning/lookups/lookups.component.ts index d70a096e..8e0f6d64 100644 --- a/src/app/clightning/lookups/lookups.component.ts +++ b/src/app/clightning/lookups/lookups.component.ts @@ -5,13 +5,12 @@ import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { faSearch } from '@fortawesome/free-solid-svg-icons'; +import { APICallStatusEnum, ScreenSizeEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; +import { CommonService } from '../../shared/services/common.service'; import { LoggerService } from '../../shared/services/logger.service'; import * as CLActions from '../store/cl.actions'; -import * as RTLActions from '../../store/rtl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; -import { CommonService } from '../../shared/services/common.service'; @Component({ selector: 'rtl-cl-lookups', @@ -19,17 +18,18 @@ import { CommonService } from '../../shared/services/common.service'; styleUrls: ['./lookups.component.scss'] }) export class CLLookupsComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public lookupKey = ''; - public nodeLookupValue = {nodeid: ''}; + public nodeLookupValue = { nodeid: '' }; public channelLookupValue = []; public flgSetLookupValue = false; public temp: any; public messageObj = []; public selectedFieldId = 0; public lookupFields = [ - { id: 0, name: 'Node', placeholder: 'Pubkey'}, - { id: 1, name: 'Channel', placeholder: 'Short Channel ID'} + { id: 0, name: 'Node', placeholder: 'Pubkey' }, + { id: 1, name: 'Channel', placeholder: 'Short Channel ID' } ]; public flgLoading: Array = [true]; public faSearch = faSearch; @@ -37,50 +37,51 @@ export class CLLookupsComponent implements OnInit, OnDestroy { public screenSizeEnum = ScreenSizeEnum; private unSubs: Array> = [new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); } ngOnInit() { - this.actions$ - .pipe( - takeUntil(this.unSubs[0]), - filter((action) => (action.type === CLActions.SET_LOOKUP_CL || action.type === CLActions.EFFECT_ERROR_CL)) - ).subscribe((resLookup: CLActions.SetLookup | CLActions.EffectError) => { - if(resLookup.type === CLActions.SET_LOOKUP_CL) { - this.flgLoading[0] = true; - switch (this.selectedFieldId) { - case 0: - this.nodeLookupValue = resLookup.payload[0] ? JSON.parse(JSON.stringify(resLookup.payload[0])) : {nodeid: ''}; - break; - case 1: - this.channelLookupValue = resLookup.payload ? JSON.parse(JSON.stringify(resLookup.payload)) : []; - break; - default: - break; + this.actions. + pipe( + takeUntil(this.unSubs[0]), + filter((action) => (action.type === CLActions.SET_LOOKUP_CL || action.type === CLActions.UPDATE_API_CALL_STATUS_CL)) + ).subscribe((resLookup: CLActions.SetLookup | CLActions.UpdateAPICallStatus) => { + if (resLookup.type === CLActions.SET_LOOKUP_CL) { + this.flgLoading[0] = true; + switch (this.selectedFieldId) { + case 0: + this.nodeLookupValue = resLookup.payload[0] ? JSON.parse(JSON.stringify(resLookup.payload[0])) : { nodeid: '' }; + break; + case 1: + this.channelLookupValue = resLookup.payload ? JSON.parse(JSON.stringify(resLookup.payload)) : []; + break; + default: + break; + } + this.flgSetLookupValue = true; + this.logger.info(this.nodeLookupValue); + this.logger.info(this.channelLookupValue); } - this.flgSetLookupValue = true; - this.logger.info(this.nodeLookupValue); - this.logger.info(this.channelLookupValue); - } - if (resLookup.type === CLActions.EFFECT_ERROR_CL && resLookup.payload.action === 'Lookup') { - this.flgLoading[0] = 'error'; - } - }); + if (resLookup.type === CLActions.UPDATE_API_CALL_STATUS_CL && resLookup.payload.status === APICallStatusEnum.ERROR && resLookup.payload.action === 'Lookup') { + this.flgLoading[0] = 'error'; + } + }); } - onLookup():boolean|void { - if(!this.lookupKey) { return true; } + onLookup(): boolean|void { + if (!this.lookupKey) { + return true; + } this.flgSetLookupValue = false; - this.nodeLookupValue = {nodeid: ''}; + this.nodeLookupValue = { nodeid: '' }; this.channelLookupValue = []; - this.store.dispatch(new RTLActions.OpenSpinner('Searching ' + this.lookupFields[this.selectedFieldId].name + '...')); switch (this.selectedFieldId) { case 0: this.store.dispatch(new CLActions.PeerLookup(this.lookupKey.trim())); break; case 1: - this.store.dispatch(new CLActions.ChannelLookup({shortChannelID: this.lookupKey.trim(), showError: false})); + this.store.dispatch(new CLActions.ChannelLookup({ uiMessage: UI_MESSAGES.SEARCHING_CHANNEL, shortChannelID: this.lookupKey.trim(), showError: false })); break; default: break; @@ -95,19 +96,19 @@ export class CLLookupsComponent implements OnInit, OnDestroy { resetData() { this.flgSetLookupValue = false; this.selectedFieldId = 0; - this.nodeLookupValue = {nodeid: ''}; + this.nodeLookupValue = { nodeid: '' }; this.channelLookupValue = []; this.form.resetForm(); } clearLookupValue() { - this.nodeLookupValue = {nodeid: ''}; + this.nodeLookupValue = { nodeid: '' }; this.channelLookupValue = []; this.flgSetLookupValue = false; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/lookups/node-lookup/node-lookup.component.html b/src/app/clightning/lookups/node-lookup/node-lookup.component.html index b4f0585f..022643ef 100644 --- a/src/app/clightning/lookups/node-lookup/node-lookup.component.html +++ b/src/app/clightning/lookups/node-lookup/node-lookup.component.html @@ -2,24 +2,24 @@

Pub Key

- {{lookupResult.nodeid}} + {{lookupResult?.nodeid}}

Alias

- {{lookupResult.alias}}{{lookupResult.color ? '#' + lookupResult.color : ''}} + {{lookupResult?.alias}}{{lookupResult?.color ? '#' + lookupResult?.color : ''}}

Last Update

- {{(lookupResult.last_timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} + {{(lookupResult?.last_timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}}

Features

- {{lookupResult.features}} + {{lookupResult?.features}}
@@ -43,7 +43,7 @@ Actions - + diff --git a/src/app/clightning/lookups/node-lookup/node-lookup.component.spec.ts b/src/app/clightning/lookups/node-lookup/node-lookup.component.spec.ts index 06e69a92..dafea8b8 100644 --- a/src/app/clightning/lookups/node-lookup/node-lookup.component.spec.ts +++ b/src/app/clightning/lookups/node-lookup/node-lookup.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { SharedModule } from '../../../shared/shared.module'; import { CLNodeLookupComponent } from './node-lookup.component'; @@ -6,11 +8,13 @@ describe('CLNodeLookupComponent', () => { let component: CLNodeLookupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLNodeLookupComponent ] - }) - .compileComponents(); + declarations: [CLNodeLookupComponent], + imports: [SharedModule], + providers: [LoggerService] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +26,8 @@ describe('CLNodeLookupComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/lookups/node-lookup/node-lookup.component.ts b/src/app/clightning/lookups/node-lookup/node-lookup.component.ts index d3ebc407..95739c51 100644 --- a/src/app/clightning/lookups/node-lookup/node-lookup.component.ts +++ b/src/app/clightning/lookups/node-lookup/node-lookup.component.ts @@ -12,6 +12,7 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./node-lookup.component.scss'] }) export class CLNodeLookupComponent implements OnInit { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; @Input() lookupResult: LookupNode; public addresses: any; @@ -20,15 +21,15 @@ export class CLNodeLookupComponent implements OnInit { constructor(private logger: LoggerService, private snackBar: MatSnackBar) { } ngOnInit() { - this.addresses = this.lookupResult.addresses ? new MatTableDataSource([...this.lookupResult.addresses]) : new MatTableDataSource([]); - this.addresses.data = this.lookupResult.addresses ? this.lookupResult.addresses : []; + this.addresses = this.lookupResult && this.lookupResult.addresses ? new MatTableDataSource([...this.lookupResult.addresses]) : new MatTableDataSource([]); + this.addresses.data = this.lookupResult && this.lookupResult.addresses ? this.lookupResult.addresses : []; this.addresses.sort = this.sort; - this.addresses.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.addresses.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); } onCopyNodeURI(payload: string) { this.snackBar.open('Node URI copied.'); - this.logger.info('Copied Text: ' + payload); + this.logger.info('Copied Text: ' + payload); } } diff --git a/src/app/clightning/network-info/fee-rates/fee-rates.component.html b/src/app/clightning/network-info/fee-rates/fee-rates.component.html index cf2dea87..e05ab21d 100644 --- a/src/app/clightning/network-info/fee-rates/fee-rates.component.html +++ b/src/app/clightning/network-info/fee-rates/fee-rates.component.html @@ -1,38 +1,43 @@ -
+
-
-

Urgent

-
{{perkbw?.urgent | number}}
+
+

Opening

+
{{perkbw?.opening | number}}
-
-

Normal

-
{{perkbw?.normal | number}}
+
+

Mutual Close

+
{{perkbw?.mutual_close | number}}
-
-

Slow

-
{{perkbw?.slow | number}}
+
+

Unilateral Close

+
{{perkbw?.unilateral_close | number}}
-
-

Opening Channel

-
{{feeRates?.onchain_fee_estimates?.opening_channel_satoshis | number}}
+
+

Delayed To Us

+
{{perkbw?.delayed_to_us | number}}
-
-

Min Acceptable

+
+

Minimum Acceptable

{{perkbw?.min_acceptable | number}}
-
-

Max Acceptable

+
+

Maximum Acceptable

{{perkbw?.max_acceptable | number}}
-
-

Mutual Close

-
{{feeRates?.onchain_fee_estimates?.mutual_close_satoshis | number}}
+
+

HTLC Resolution

+
{{perkbw?.htlc_resolution | number}}
-
-

Unilateral Close

-
{{feeRates?.onchain_fee_estimates?.unilateral_close_satoshis | number}}
+
+

Penalty

+
{{perkbw?.penalty | number}}
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/network-info/fee-rates/fee-rates.component.spec.ts b/src/app/clightning/network-info/fee-rates/fee-rates.component.spec.ts index 9add4a34..30c31403 100644 --- a/src/app/clightning/network-info/fee-rates/fee-rates.component.spec.ts +++ b/src/app/clightning/network-info/fee-rates/fee-rates.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { CLFeeRatesComponent } from './fee-rates.component'; @@ -6,11 +6,11 @@ describe('CLFeeRatesComponent', () => { let component: CLFeeRatesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLFeeRatesComponent ] - }) - .compileComponents(); + declarations: [CLFeeRatesComponent] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +22,8 @@ describe('CLFeeRatesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/network-info/fee-rates/fee-rates.component.ts b/src/app/clightning/network-info/fee-rates/fee-rates.component.ts index 2528dacc..4dde9e8c 100644 --- a/src/app/clightning/network-info/fee-rates/fee-rates.component.ts +++ b/src/app/clightning/network-info/fee-rates/fee-rates.component.ts @@ -8,9 +8,10 @@ import { FeeRates, FeeRatePerObj, feeRateStyle } from '../../../shared/models/cl styleUrls: ['./fee-rates.component.scss'] }) export class CLFeeRatesComponent implements AfterContentChecked { + @Input() feeRateStyle: string; @Input() feeRates: FeeRates; - @Input() flgLoading: Boolean | 'error'; + @Input() errorMessage: string; perkbw: FeeRatePerObj = {}; constructor() { } diff --git a/src/app/clightning/network-info/network-info.component.html b/src/app/clightning/network-info/network-info.component.html index e5ba4926..777eaab7 100644 --- a/src/app/clightning/network-info/network-info.component.html +++ b/src/app/clightning/network-info/network-info.component.html @@ -1,5 +1,5 @@
- +
@@ -10,13 +10,29 @@
- + +
- - - - - + + + + + +
@@ -24,7 +40,7 @@
- +
@@ -35,13 +51,29 @@
- + +
- - - - - + + + + + +
diff --git a/src/app/clightning/network-info/network-info.component.spec.ts b/src/app/clightning/network-info/network-info.component.spec.ts index 5e2349c1..c70455f1 100644 --- a/src/app/clightning/network-info/network-info.component.spec.ts +++ b/src/app/clightning/network-info/network-info.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; +import { CLFeeRatesComponent } from './fee-rates/fee-rates.component'; import { CLNetworkInfoComponent } from './network-info.component'; describe('CLNetworkInfoComponent', () => { let component: CLNetworkInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLNetworkInfoComponent ] - }) - .compileComponents(); + declarations: [CLNetworkInfoComponent, CLFeeRatesComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('CLNetworkInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/network-info/network-info.component.ts b/src/app/clightning/network-info/network-info.component.ts index 963aba4b..3201890b 100644 --- a/src/app/clightning/network-info/network-info.component.ts +++ b/src/app/clightning/network-info/network-info.component.ts @@ -2,15 +2,16 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { faBolt, faServer, faNetworkWired } from '@fortawesome/free-solid-svg-icons'; +import { faBolt, faServer, faNetworkWired, faLink } from '@fortawesome/free-solid-svg-icons'; -import { LoggerService } from '../../shared/services/logger.service'; -import { GetInfo, Fees, ChannelsStatus, FeeRates } from '../../shared/models/clModels'; import { SelNodeChild } from '../../shared/models/RTLconfig'; +import { GetInfo, Fees, ChannelsStatus, FeeRates } from '../../shared/models/clModels'; +import { APICallStatusEnum, ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../shared/models/apiCallsPayload'; +import { LoggerService } from '../../shared/services/logger.service'; +import { CommonService } from '../../shared/services/common.service'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { CommonService } from '../../shared/services/common.service'; -import { ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-cl-network-info', @@ -18,102 +19,115 @@ import { ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-en styleUrls: ['./network-info.component.scss'] }) export class CLNetworkInfoComponent implements OnInit, OnDestroy { + public faBolt = faBolt; public faServer = faServer; - public faNetworkWired = faNetworkWired; + public faNetworkWired = faNetworkWired; + public faLink = faLink; public selNode: SelNodeChild = {}; public information: GetInfo = {}; public fees: Fees; public channelsStatus: ChannelsStatus = {}; - feeRatesPerKB: FeeRates = {}; - feeRatesPerKW: FeeRates = {}; + public feeRatesPerKB: FeeRates = {}; + public feeRatesPerKW: FeeRates = {}; public nodeCardsOperator = []; public nodeCardsMerchant = []; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; public userPersonaEnum = UserPersonaEnum; - public flgLoading: Array = [true, true, true]; + public errorMessages = ['', '', '', '', '', '', '']; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.nodeCardsMerchant = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 6, rows: 3 }, { id: 'status', icon: this.faNetworkWired, title: 'Channels', cols: 6, rows: 3 }, { id: 'fee', icon: this.faBolt, title: 'Routing Fee', cols: 6, rows: 1 }, - { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 6, rows: 4 }, - { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 6, rows: 4 } + { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 4, rows: 4 }, + { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 4, rows: 4 }, + { id: 'onChainFeeEstimates', icon: this.faLink, title: 'Onchain Fee Estimates (Sats)', cols: 4, rows: 4 } ]; this.nodeCardsOperator = [ - { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 6, rows: 4 }, - { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 6, rows: 4 } + { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 4, rows: 4 }, + { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 4, rows: 4 }, + { id: 'onChainFeeEstimates', icon: this.faLink, title: 'Onchain Fee Estimates (Sats)', cols: 4, rows: 4 } ]; } else { this.nodeCardsMerchant = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 2, rows: 3 }, { id: 'status', icon: this.faNetworkWired, title: 'Channels', cols: 2, rows: 3 }, { id: 'fee', icon: this.faBolt, title: 'Routing Fee', cols: 2, rows: 3 }, - { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 3, rows: 4 }, - { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 3, rows: 4 } + { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 2, rows: 4 }, + { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 2, rows: 4 }, + { id: 'onChainFeeEstimates', icon: this.faLink, title: 'Onchain Fee Estimates (Sats)', cols: 2, rows: 4 } ]; this.nodeCardsOperator = [ - { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 3, rows: 4 }, - { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 3, rows: 4 } + { id: 'feeRatesKB', icon: this.faServer, title: 'Fee Rate Per KB', cols: 2, rows: 4 }, + { id: 'feeRatesKW', icon: this.faNetworkWired, title: 'Fee Rate Per KW', cols: 2, rows: 4 }, + { id: 'onChainFeeEstimates', icon: this.faLink, title: 'Onchain Fee Estimates (Sats)', cols: 2, rows: 4 } ]; } } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInfo') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessages = ['', '', '', '', '', '', '']; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) { + this.errorMessages[0] = (typeof (this.apisCallStatus.FetchInfo.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInfo.message) : this.apisCallStatus.FetchInfo.message; } - if (effectsErr.action === 'FetchFees') { - this.flgLoading[1] = 'error'; + if (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) { + this.errorMessages[1] = (typeof (this.apisCallStatus.FetchFees.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFees.message) : this.apisCallStatus.FetchFees.message; } - if (effectsErr.action === 'FetchFeeRates') { - this.flgLoading[2] = 'error'; + if (rtlStore.apisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.ERROR) { + this.errorMessages[2] = (typeof (this.apisCallStatus.FetchLocalRemoteBalance.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchLocalRemoteBalance.message) : this.apisCallStatus.FetchLocalRemoteBalance.message; + } + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[3] = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; + } + if (rtlStore.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessages[4] = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; + } + if (rtlStore.apisCallStatus.FetchFeeRatesperkb.status === APICallStatusEnum.ERROR) { + this.errorMessages[5] = (typeof (this.apisCallStatus.FetchFeeRatesperkb.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFeeRatesperkb.message) : this.apisCallStatus.FetchFeeRatesperkb.message; + } + if (rtlStore.apisCallStatus.FetchFeeRatesperkw.status === APICallStatusEnum.ERROR) { + this.errorMessages[6] = (typeof (this.apisCallStatus.FetchFeeRatesperkw.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFeeRatesperkw.message) : this.apisCallStatus.FetchFeeRatesperkw.message; } - }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.information.id) ? false : true; - } - this.fees = rtlStore.fees; - this.fees.totalTxCount = 0; - if (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events && rtlStore.forwardingHistory.forwarding_events.length) { - this.fees.totalTxCount = rtlStore.forwardingHistory.forwarding_events.filter(event => event.status === 'settled').length - } - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = ( this.fees.feeCollected) ? false : true; - } - - this.channelsStatus = { - active: { channels: rtlStore.information.num_active_channels, capacity: 0 }, - inactive: { channels: rtlStore.information.num_inactive_channels, capacity: 0 }, - pending: { channels: rtlStore.information.num_pending_channels, capacity: 0 } - }; + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.fees = rtlStore.fees; + this.fees.totalTxCount = 0; - this.feeRatesPerKB = rtlStore.feeRatesPerKB; - this.feeRatesPerKW = rtlStore.feeRatesPerKW; - if (this.flgLoading[2] !== 'error') { - this.flgLoading[2] = ( this.feeRatesPerKB && this.feeRatesPerKW) ? false : true; - } + if (rtlStore.forwardingHistory && rtlStore.forwardingHistory.length) { + this.fees.totalTxCount = rtlStore.forwardingHistory.length; + } - this.logger.info(rtlStore); - }); + this.channelsStatus = { + active: { channels: rtlStore.information.num_active_channels, capacity: 0 }, + inactive: { channels: rtlStore.information.num_inactive_channels, capacity: 0 }, + pending: { channels: rtlStore.information.num_pending_channels, capacity: 0 } + }; + + this.feeRatesPerKB = rtlStore.feeRatesPerKB; + this.feeRatesPerKW = rtlStore.feeRatesPerKW; + + this.logger.info(rtlStore); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.html b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.html new file mode 100644 index 00000000..446293db --- /dev/null +++ b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.html @@ -0,0 +1,43 @@ +
+
+
+

Opening Channel

+
{{feeRates?.onchain_fee_estimates?.opening_channel_satoshis | number}}
+
+
+

Mutual Close

+
{{feeRates?.onchain_fee_estimates?.mutual_close_satoshis | number}}
+
+
+

Unilateral Close

+
{{feeRates?.onchain_fee_estimates?.unilateral_close_satoshis | number}}
+
+
+

+
+
+
+
+
+

HTLC Timeout

+
{{feeRates?.onchain_fee_estimates?.htlc_timeout_satoshis | number}}
+
+
+

HTLC Success

+
{{feeRates?.onchain_fee_estimates?.htlc_success_satoshis | number}}
+
+
+

+
+
+
+

+
+
+
+
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.scss b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.scss new file mode 100644 index 00000000..64e35f02 --- /dev/null +++ b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.scss @@ -0,0 +1,3 @@ +.fee-rate-list .mat-list-item { + height: 44px; +} \ No newline at end of file diff --git a/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.spec.ts b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.spec.ts new file mode 100644 index 00000000..cd003827 --- /dev/null +++ b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.spec.ts @@ -0,0 +1,29 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CLOnChainFeeEstimatesComponent } from './on-chain-fee-estimates.component'; + +describe('CLOnChainFeeEstimatesComponent', () => { + let component: CLOnChainFeeEstimatesComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [CLOnChainFeeEstimatesComponent] + }). + compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CLOnChainFeeEstimatesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); +}); diff --git a/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.ts b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.ts new file mode 100644 index 00000000..2ed9f697 --- /dev/null +++ b/src/app/clightning/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.ts @@ -0,0 +1,17 @@ +import { Component, Input } from '@angular/core'; + +import { FeeRates } from '../../../shared/models/clModels'; + +@Component({ + selector: 'rtl-cl-onchain-fee-estimates', + templateUrl: './on-chain-fee-estimates.component.html', + styleUrls: ['./on-chain-fee-estimates.component.scss'] +}) +export class CLOnChainFeeEstimatesComponent { + + @Input() feeRates: FeeRates; + @Input() errorMessage: string; + + constructor() {} + +} diff --git a/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.spec.ts b/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.spec.ts index ace557b5..8e9346b6 100644 --- a/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.spec.ts +++ b/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.spec.ts @@ -1,16 +1,37 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { EffectsModule } from '@ngrx/effects'; +import { StoreModule } from '@ngrx/store'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CLEffects } from '../../store/cl.effects'; import { CLOnChainReceiveComponent } from './on-chain-receive.component'; describe('CLOnChainReceiveComponent', () => { let component: CLOnChainReceiveComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOnChainReceiveComponent ] - }) - .compileComponents(); + declarations: [CLOnChainReceiveComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + { provide: CLEffects, useClass: mockCLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +43,8 @@ describe('CLOnChainReceiveComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.ts b/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.ts index 8dcf83f9..4c45149b 100644 --- a/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.ts +++ b/src/app/clightning/on-chain/on-chain-receive/on-chain-receive.component.ts @@ -16,6 +16,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-receive.component.scss'] }) export class CLOnChainReceiveComponent { + public addressTypes = ADDRESS_TYPES; public selectedAddressType = ADDRESS_TYPES[0]; public newAddress = ''; @@ -23,21 +24,20 @@ export class CLOnChainReceiveComponent { constructor(private store: Store, private clEffects: CLEffects) {} onGenerateAddress() { - this.store.dispatch(new RTLActions.OpenSpinner('Getting New Address...')); this.store.dispatch(new CLActions.GetNewAddress(this.selectedAddressType)); - this.clEffects.setNewAddressCL - .pipe(take(1)) - .subscribe(newAddress => { - this.newAddress = newAddress; - this.store.dispatch(new RTLActions.OpenAlert({ - width: '58%', - data: { - address: this.newAddress, - addressType: this.selectedAddressType.addressTp, - component: OnChainGeneratedAddressComponent - } - })); - }); + this.clEffects.setNewAddressCL. + pipe(take(1)). + subscribe((newAddress) => { + this.newAddress = newAddress; + this.store.dispatch(new RTLActions.OpenAlert({ + width: '58%', + data: { + address: this.newAddress, + addressType: this.selectedAddressType.addressTp, + component: OnChainGeneratedAddressComponent + } + })); + }); } } diff --git a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.html b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.html index c4c81ec6..0597d852 100644 --- a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.html +++ b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.html @@ -16,7 +16,7 @@ Amount replaced by UTXO balance {{selAmountUnit}} - Amount is required. + {{amountError}} diff --git a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts index bb42ebb6..7e4b80cc 100644 --- a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts +++ b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; +import { StoreModule } from '@ngrx/store'; +import { EffectsModule } from '@ngrx/effects'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { CLOnChainSendModalComponent } from './on-chain-send-modal.component'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLOnChainSendModalComponent', () => { let component: CLOnChainSendModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOnChainSendModalComponent ] - }) - .compileComponents(); + declarations: [CLOnChainSendModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { sweepAll: true } }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('CLOnChainSendModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts index 3ccd7bfd..9b034f60 100644 --- a/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts +++ b/src/app/clightning/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts @@ -7,14 +7,13 @@ import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; -import { SelNodeChild, GetInfoRoot } from '../../../shared/models/RTLconfig'; +import { SelNodeChild, GetInfoRoot, RTLConfiguration } from '../../../shared/models/RTLconfig'; import { CLOnChainSendFunds } from '../../../shared/models/alertData'; import { GetInfo, Balance, OnChain, UTXO } from '../../../shared/models/clModels'; -import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, ADDRESS_TYPES, FEE_RATE_TYPES } from '../../../shared/services/consts-enums-functions'; -import { RTLConfiguration } from '../../../shared/models/RTLconfig'; +import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, ADDRESS_TYPES, FEE_RATE_TYPES, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; @@ -31,9 +30,10 @@ import * as sha256 from 'sha256'; styleUrls: ['./on-chain-send-modal.component.scss'] }) export class CLOnChainSendModalComponent implements OnInit, OnDestroy { - @ViewChild('form', { static: true }) form: any; - @ViewChild('formSweepAll', { static: false }) formSweepAll: any; - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('form', { static: true }) form: any; + @ViewChild('formSweepAll', { static: false }) formSweepAll: any; + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public sweepAll = false; public selNode: SelNodeChild = {}; @@ -44,7 +44,6 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { public selUTXOs = []; public flgUseAllBalance = false; public totalSelectedUTXOAmount = null; - public flgLoadingWallet: Boolean | 'error' = true; public selectedAddress = ADDRESS_TYPES[1]; public blockchainBalance: Balance = {}; public information: GetInfo = {}; @@ -66,12 +65,13 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { public passwordFormLabel = 'Authenticate with your RTL password'; public sendFundFormLabel = 'Sweep funds'; public confirmFormLabel = 'Confirm sweep'; + public amountError = 'Amount is Required.'; passwordFormGroup: FormGroup; - sendFundFormGroup: FormGroup; - confirmFormGroup: FormGroup; + sendFundFormGroup: FormGroup; + confirmFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOnChainSendFunds, private logger: LoggerService, private store: Store, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions$: Actions, private formBuilder: FormBuilder, private rtlEffects: RTLEffects, private snackBar: MatSnackBar) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOnChainSendFunds, private logger: LoggerService, private store: Store, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions: Actions, private formBuilder: FormBuilder, private rtlEffects: RTLEffects, private snackBar: MatSnackBar) { } ngOnInit() { this.sweepAll = this.data.sweepAll; @@ -83,10 +83,10 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { transactionAddress: ['', Validators.required], transactionFeeRate: [null], flgMinConf: [false], - transactionBlocks: [{value: null, disabled: true}] + transactionBlocks: [{ value: null, disabled: true }] }); - this.confirmFormGroup = this.formBuilder.group({}); - this.sendFundFormGroup.controls.flgMinConf.valueChanges.pipe(takeUntil(this.unSubs[4])).subscribe(flg => { + this.confirmFormGroup = this.formBuilder.group({}); + this.sendFundFormGroup.controls.flgMinConf.valueChanges.pipe(takeUntil(this.unSubs[4])).subscribe((flg) => { if (flg) { this.sendFundFormGroup.controls.transactionBlocks.enable(); this.sendFundFormGroup.controls.transactionBlocks.setValidators([Validators.required]); @@ -102,65 +102,66 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { this.sendFundFormGroup.controls.transactionFeeRate.setValue(null); } }); - combineLatest( - this.store.select('root'), - this.store.select('cl')) - .pipe(takeUntil(this.unSubs[0])) - .subscribe(([rootStore, rtlStore]) => { - this.fiatConversion = rootStore.selNode.settings.fiatConversion; - this.amountUnits = rootStore.selNode.settings.currencyUnits; - this.appConfig = rootStore.appConfig; - this.nodeData = rootStore.nodeData; - this.information = rtlStore.information; - this.isCompatibleVersion = - this.commonService.isVersionCompatible(this.information.version, '0.9.0') - && this.commonService.isVersionCompatible(this.information.api_version, '0.4.0'); - this.utxos = this.commonService.sortAscByKey(rtlStore.utxos.filter(utxo => utxo.status === 'confirmed'), 'value'); - this.logger.info(rootStore); - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === CLActions.EFFECT_ERROR_CL || action.type === CLActions.SET_CHANNEL_TRANSACTION_RES_CL)) - .subscribe((action: CLActions.EffectError | CLActions.SetChannelTransactionRes) => { - if (action.type === CLActions.SET_CHANNEL_TRANSACTION_RES_CL) { - this.store.dispatch(new RTLActions.OpenSnackBar('Fund Sent Successfully!')); - this.dialogRef.close(); - } - if (action.type === CLActions.EFFECT_ERROR_CL && action.payload.action === 'SetChannelTransaction') { - this.sendFundError = action.payload.message; - } - }); - + combineLatest([this.store.select('root'), this.store.select('cl')]). + pipe(takeUntil(this.unSubs[0])). + subscribe(([rootStore, rtlStore]) => { + this.fiatConversion = rootStore.selNode.settings.fiatConversion; + this.amountUnits = rootStore.selNode.settings.currencyUnits; + this.appConfig = rootStore.appConfig; + this.nodeData = rootStore.nodeData; + this.information = rtlStore.information; + this.isCompatibleVersion = + this.commonService.isVersionCompatible(this.information.version, '0.9.0') && + this.commonService.isVersionCompatible(this.information.api_version, '0.4.0'); + this.utxos = this.commonService.sortAscByKey(rtlStore.utxos.filter((utxo) => utxo.status === 'confirmed'), 'value'); + this.logger.info(rootStore); + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === CLActions.UPDATE_API_CALL_STATUS_CL || action.type === CLActions.SET_CHANNEL_TRANSACTION_RES_CL)). + subscribe((action: CLActions.UpdateAPICallStatus | CLActions.SetChannelTransactionRes) => { + if (action.type === CLActions.SET_CHANNEL_TRANSACTION_RES_CL) { + this.store.dispatch(new RTLActions.OpenSnackBar('Fund Sent Successfully!')); + this.dialogRef.close(); + } + if (action.type === CLActions.UPDATE_API_CALL_STATUS_CL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SetChannelTransaction') { + this.sendFundError = action.payload.message; + } + }); } - onAuthenticate():boolean|void { - if (!this.passwordFormGroup.controls.password.value) { return true; } + onAuthenticate(): boolean | void { + if (!this.passwordFormGroup.controls.password.value) { + return true; + } this.flgValidated = false; this.store.dispatch(new RTLActions.IsAuthorized(sha256(this.passwordFormGroup.controls.password.value))); - this.rtlEffects.isAuthorizedRes - .pipe(take(1)) - .subscribe(authRes => { - if (authRes !== 'ERROR') { - this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); - this.stepper.next(); - } else { - this.dialogRef.close(); - this.snackBar.open('Unauthorized User. Logging out from RTL.'); - } - }); + this.rtlEffects.isAuthorizedRes. + pipe(take(1)). + subscribe((authRes) => { + if (authRes !== 'ERROR') { + this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); + this.stepper.next(); + } else { + this.dialogRef.close(); + this.snackBar.open('Unauthorized User. Logging out from RTL.'); + } + }); } - onSendFunds():boolean|void { - if(this.invalidValues) { return true; } + onSendFunds(): boolean | void { + if (this.invalidValues) { + return true; + } this.sendFundError = ''; if (this.flgUseAllBalance) { this.transaction.satoshis = 'all'; } if (this.selUTXOs.length && this.selUTXOs.length > 0) { this.transaction.utxos = []; - this.selUTXOs.forEach(utxo => this.transaction.utxos.push(utxo.txid + ':' + utxo.output)); + this.selUTXOs.forEach((utxo) => this.transaction.utxos.push(utxo.txid + ':' + utxo.output)); } - this.store.dispatch(new RTLActions.OpenSpinner('Sending Funds...')); if (this.sweepAll) { this.transaction.satoshis = 'all'; this.transaction.address = this.sendFundFormGroup.controls.transactionAddress.value; @@ -178,14 +179,20 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { delete this.transaction.utxos; this.store.dispatch(new CLActions.SetChannelTransaction(this.transaction)); } else { - if(this.transaction.satoshis && this.transaction.satoshis !== 'all' && this.selAmountUnit !== CurrencyUnitEnum.SATS) { - this.commonService.convertCurrency(+this.transaction.satoshis, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.transaction.satoshis = data[CurrencyUnitEnum.SATS]; - this.selAmountUnit = CurrencyUnitEnum.SATS; - this.store.dispatch(new CLActions.SetChannelTransaction(this.transaction)); - }); + if (this.transaction.satoshis && this.transaction.satoshis !== 'all' && this.selAmountUnit !== CurrencyUnitEnum.SATS) { + this.commonService.convertCurrency(+this.transaction.satoshis, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, CurrencyUnitEnum.SATS, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ + next: (data) => { + this.transaction.satoshis = data[CurrencyUnitEnum.SATS]; + this.selAmountUnit = CurrencyUnitEnum.SATS; + this.store.dispatch(new CLActions.SetChannelTransaction(this.transaction)); + }, error: (err) => { + this.transaction.satoshis = null; + this.selAmountUnit = CurrencyUnitEnum.SATS; + this.amountError = 'Conversion Error: ' + err; + } + }); } else { this.store.dispatch(new CLActions.SetChannelTransaction(this.transaction)); } @@ -196,14 +203,14 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { if (this.sweepAll) { return (!this.sendFundFormGroup.controls.transactionAddress.value || this.sendFundFormGroup.controls.transactionAddress.value === '') || (this.sendFundFormGroup.controls.flgMinConf.value && (!this.sendFundFormGroup.controls.transactionBlocks.value || this.sendFundFormGroup.controls.transactionBlocks.value <= 0)); } else { - return (!this.transaction.address || this.transaction.address === '') - || ((!this.transaction.satoshis || +this.transaction.satoshis <= 0)) - || (this.flgMinConf && (!this.transaction.minconf || this.transaction.minconf <= 0)); + return (!this.transaction.address || this.transaction.address === '') || + ((!this.transaction.satoshis || +this.transaction.satoshis <= 0)) || + (this.flgMinConf && (!this.transaction.minconf || this.transaction.minconf <= 0)); } } resetData() { - this.sendFundError = ''; + this.sendFundError = ''; this.transaction = {}; this.flgMinConf = false; this.totalSelectedUTXOAmount = null; @@ -217,36 +224,43 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { switch (event.selectedIndex) { case 0: this.passwordFormLabel = 'Authenticate with your RTL password'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; - + case 1: this.passwordFormLabel = 'User authenticated successfully'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; case 2: this.passwordFormLabel = 'User authenticated successfully'; - this.sendFundFormLabel = 'Sweep funds | Address: ' + this.sendFundFormGroup.controls.transactionAddress.value + (this.sendFundFormGroup.controls.flgMinConf.value ? (' | Min Confirmation Blocks: ' + this.sendFundFormGroup.controls.transactionBlocks.value) : (this.sendFundFormGroup.controls.transactionFeeRate.value ? (' | Fee Rate: ' + this.feeRateTypes.find(frType => frType.feeRateId === this.sendFundFormGroup.controls.transactionFeeRate.value).feeRateType) : '')); + this.sendFundFormLabel = 'Sweep funds | Address: ' + this.sendFundFormGroup.controls.transactionAddress.value + + (this.sendFundFormGroup.controls.flgMinConf.value ? (' | Min Confirmation Blocks: ' + this.sendFundFormGroup.controls.transactionBlocks.value) : (this.sendFundFormGroup.controls.transactionFeeRate.value ? (' | Fee Rate: ' + + this.feeRateTypes.find((frType) => frType.feeRateId === this.sendFundFormGroup.controls.transactionFeeRate.value).feeRateType) : '')); break; default: this.passwordFormLabel = 'Authenticate with your RTL password'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; } if (event.selectedIndex < event.previouslySelectedIndex) { if (event.selectedIndex === 0) { this.passwordFormGroup.controls.hiddenPassword.setValue(''); } - } + } } onUTXOSelectionChange(event: any) { - let utxoNew = {value: 0}; + const utxoNew = { value: 0 }; if (this.selUTXOs.length && this.selUTXOs.length > 0) { - this.totalSelectedUTXOAmount = this.selUTXOs.reduce((a, b) => {utxoNew.value = a.value + b.value; return utxoNew;}).value; - if (this.flgUseAllBalance) { this.onUTXOAllBalanceChange(); } + this.totalSelectedUTXOAmount = this.selUTXOs.reduce((a, b) => { + utxoNew.value = a.value + b.value; + return utxoNew; + }).value; + if (this.flgUseAllBalance) { + this.onUTXOAllBalanceChange(); + } } else { this.totalSelectedUTXOAmount = null; this.transaction.satoshis = null; @@ -264,18 +278,25 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { } onAmountUnitChange(event: any) { - let self = this; - let prevSelectedUnit = (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; + const self = this; + const prevSelectedUnit = (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; let currSelectedUnit = event.value === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : event.value; - if(this.transaction.satoshis && this.selAmountUnit !== event.value) { - this.commonService.convertCurrency(+this.transaction.satoshis, prevSelectedUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - self.transaction.satoshis = self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); - }); + if (this.transaction.satoshis && this.selAmountUnit !== event.value) { + this.commonService.convertCurrency(+this.transaction.satoshis, prevSelectedUnit, currSelectedUnit, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ + next: (data) => { + this.selAmountUnit = event.value; + self.transaction.satoshis = self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); + }, error: (err) => { + self.transaction.satoshis = null; + this.amountError = 'Conversion Error: ' + err; + this.selAmountUnit = prevSelectedUnit; + currSelectedUnit = prevSelectedUnit; + } + }); } - this.selAmountUnit = event.value; - } + } onAdvancedPanelToggle(isClosed: boolean) { if (isClosed) { @@ -286,7 +307,7 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.spec.ts b/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.spec.ts index b891a994..c7abad97 100644 --- a/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.spec.ts +++ b/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { CLOnChainSendComponent } from './on-chain-send.component'; describe('CLOnChainSendComponent', () => { let component: CLOnChainSendComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOnChainSendComponent ] - }) - .compileComponents(); + declarations: [CLOnChainSendComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('CLOnChainSendComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.ts b/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.ts index 04744266..72a17448 100644 --- a/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.ts +++ b/src/app/clightning/on-chain/on-chain-send/on-chain-send.component.ts @@ -15,24 +15,27 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-send.component.scss'] }) export class CLOnChainSendComponent implements OnInit, OnDestroy { + public sweepAll = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private store: Store, private activatedRoute: ActivatedRoute) {} ngOnInit() { - this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe(routeData => this.sweepAll = routeData.sweepAll); + this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe((routeData) => { + this.sweepAll = routeData.sweepAll; + }); } openSendFundsModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { sweepAll: this.sweepAll, component: CLOnChainSendModalComponent - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/on-chain/on-chain.component.html b/src/app/clightning/on-chain/on-chain.component.html index fd5b04ed..f24184a5 100644 --- a/src/app/clightning/on-chain/on-chain.component.html +++ b/src/app/clightning/on-chain/on-chain.component.html @@ -17,13 +17,13 @@
- +
diff --git a/src/app/clightning/on-chain/on-chain.component.spec.ts b/src/app/clightning/on-chain/on-chain.component.spec.ts index 03a194de..ba22f320 100644 --- a/src/app/clightning/on-chain/on-chain.component.spec.ts +++ b/src/app/clightning/on-chain/on-chain.component.spec.ts @@ -1,16 +1,44 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; import { CLOnChainComponent } from './on-chain.component'; +import { CLOnChainUtxosComponent } from './utxo-tables/utxos/utxos.component'; +import { CLOnChainSendComponent } from './on-chain-send/on-chain-send.component'; +import { CLOnChainReceiveComponent } from './on-chain-receive/on-chain-receive.component'; +import { CurrencyUnitConverterComponent } from '../../shared/components/currency-unit-converter/currency-unit-converter.component'; +import { CommonService } from '../../shared/services/common.service'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { CLUTXOTablesComponent } from './utxo-tables/utxo-tables.component'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('CLOnChainComponent', () => { let component: CLOnChainComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOnChainComponent ] - }) - .compileComponents(); + declarations: [CLOnChainComponent, CurrencyUnitConverterComponent, CLUTXOTablesComponent, CLOnChainUtxosComponent, CLOnChainSendComponent, CLOnChainReceiveComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +50,8 @@ describe('CLOnChainComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/on-chain.component.ts b/src/app/clightning/on-chain/on-chain.component.ts index 241f6e6b..80ce7d4f 100644 --- a/src/app/clightning/on-chain/on-chain.component.ts +++ b/src/app/clightning/on-chain/on-chain.component.ts @@ -16,50 +16,51 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./on-chain.component.scss'] }) export class CLOnChainComponent implements OnInit, OnDestroy { + public selNode: SelNodeChild = {}; public faExchangeAlt = faExchangeAlt; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'receive', name: 'Receive'}, {link: 'send', name: 'Send'}, {link: 'sweep', name: 'Sweep All'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'receive', name: 'Receive' }, { link: 'send', name: 'Send' }, { link: 'sweep', name: 'Sweep All' }]; public activeLink = this.links[0].link; - public tables = [{id: 0, name: 'utxos'}, {id: 1, name: 'dustUtxos'}]; + public tables = [{ id: 0, name: 'utxos' }, { id: 1, name: 'dustUtxos' }]; public selectedTable = this.tables[0]; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private store: Store, private router: Router, private activatedRoute: ActivatedRoute) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.selectedTable = this.tables.find(table => table.name === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.selectedTable = this.tables.find(table => table.name === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.balance.totalBalance || 0}, {title: 'Confirmed', dataValue: rtlStore.balance.confBalance}, {title: 'Unconfirmed', dataValue: rtlStore.balance.unconfBalance}]; - }); + this.selectedTable = this.tables.find((table) => table.name === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + this.selectedTable = this.tables.find((table) => table.name === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.balance.totalBalance || 0 }, { title: 'Confirmed', dataValue: rtlStore.balance.confBalance }, { title: 'Unconfirmed', dataValue: rtlStore.balance.unconfBalance }]; + }); } openSendFundsModal(sweepAll: boolean) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { sweepAll: sweepAll, component: CLOnChainSendModalComponent - }})); + } })); } onSelectedTableIndexChanged(event: number) { - this.selectedTable = this.tables.find(table => table.id === event); - this.router.navigate(['./', this.activeLink, this.selectedTable.name], {relativeTo: this.activatedRoute}); + this.selectedTable = this.tables.find((table) => table.id === event); + this.router.navigate(['./', this.activeLink, this.selectedTable.name], { relativeTo: this.activatedRoute }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.html b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.html index 8d9f2189..fcfe91c7 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.html +++ b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.html @@ -4,13 +4,13 @@ UTXOs - + Dust UTXOs - +
diff --git a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.spec.ts b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.spec.ts index fe0010a1..b17fd4d2 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.spec.ts +++ b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { CLUTXOTablesComponent } from './utxo-tables.component'; +import { CLOnChainUtxosComponent } from './utxos/utxos.component'; describe('CLUTXOTablesComponent', () => { let component: CLUTXOTablesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLUTXOTablesComponent ] - }) - .compileComponents(); + declarations: [CLUTXOTablesComponent, CLOnChainUtxosComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('CLUTXOTablesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.ts b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.ts index 2c5d6aba..eb5b0975 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.ts +++ b/src/app/clightning/on-chain/utxo-tables/utxo-tables.component.ts @@ -14,44 +14,33 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./utxo-tables.component.scss'] }) export class CLUTXOTablesComponent implements OnInit, OnDestroy { + @Input() selectedTableIndex = 0; - @Output() selectedTableIndexChange = new EventEmitter(); + @Output() readonly selectedTableIndexChange = new EventEmitter(); public utxos: UTXO[] = []; public numUtxos = 0; public dustUtxos: UTXO[] = []; public numDustUtxos = 0; - public flgLoading: Array = [true, true]; private unSubs: Array> = [new Subject()]; constructor(private logger: LoggerService, private store: Store) {} ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchUTXOs') { - this.flgLoading[1] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (rtlStore.utxos && rtlStore.utxos.length > 0) { + this.utxos = rtlStore.utxos; + this.numUtxos = this.utxos.length; + this.dustUtxos = rtlStore.utxos.filter((utxo) => +utxo.value < 1000); + this.numDustUtxos = this.dustUtxos.length; + } + if (rtlStore.utxos && rtlStore.utxos.length > 0) { + this.utxos = rtlStore.utxos; + this.numUtxos = this.utxos.length; } + this.logger.info(rtlStore); }); - if (rtlStore.utxos && rtlStore.utxos.length > 0) { - this.utxos = rtlStore.utxos; - this.numUtxos = this.utxos.length; - this.dustUtxos = rtlStore.utxos.filter(utxo => +utxo.value < 1000); - this.numDustUtxos = this.dustUtxos.length; - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.utxos) ? false : true; - } - if (rtlStore.utxos && rtlStore.utxos.length > 0) { - this.utxos = rtlStore.utxos; - this.numUtxos = this.utxos.length; - } - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = (rtlStore.utxos) ? false : true; - } - this.logger.info(rtlStore); - }); } onSelectedIndexChanged(event) { @@ -59,9 +48,10 @@ export class CLUTXOTablesComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.html b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.html index 41385a5b..11422676 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.html +++ b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.html @@ -7,9 +7,8 @@
- - + +
diff --git a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.spec.ts b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.spec.ts index d04d78c6..3bcd7787 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.spec.ts +++ b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.spec.ts @@ -1,16 +1,39 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../../../shared/services/common.service'; +import { DataService } from '../../../../shared/services/data.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { CLOnChainUtxosComponent } from './utxos.component'; describe('CLOnChainUtxosComponent', () => { let component: CLOnChainUtxosComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOnChainUtxosComponent ] - }) - .compileComponents(); + declarations: [CLOnChainUtxosComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +45,8 @@ describe('CLOnChainUtxosComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.ts b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.ts index 8cb12fb4..5a83cd16 100644 --- a/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.ts +++ b/src/app/clightning/on-chain/utxo-tables/utxos/utxos.component.ts @@ -1,12 +1,14 @@ -import { Component, ViewChild, Input, OnChanges, AfterViewInit } from '@angular/core'; +import { Component, ViewChild, Input, OnChanges, AfterViewInit, OnDestroy, OnInit } from '@angular/core'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Actions } from '@ngrx/effects'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { UTXO } from '../../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../shared/services/logger.service'; import { CommonService } from '../../../../shared/services/common.service'; @@ -19,15 +21,15 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./utxos.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('UTXOs') } - ] + ] }) -export class CLOnChainUtxosComponent implements OnChanges, AfterViewInit { +export class CLOnChainUtxosComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; @Input() numDustUTXOs = 0; @Input() isDustUTXO = false; @Input() utxos: UTXO[]; - @Input() errorLoading: any; public displayedColumns: any[] = []; public listUTXOs: any; public flgSticky = false; @@ -35,16 +37,20 @@ export class CLOnChainUtxosComponent implements OnChanges, AfterViewInit { public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; + private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['txid', 'value', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['txid', 'output', 'value', 'blockheight', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['txid', 'output', 'value', 'blockheight', 'actions']; } else { @@ -53,6 +59,19 @@ export class CLOnChainUtxosComponent implements OnChanges, AfterViewInit { } } + ngOnInit() { + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchUTXOs.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchUTXOs.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchUTXOs.message) : this.apisCallStatus.FetchUTXOs.message; + } + this.logger.info(rtlStore); + }); + } + ngAfterViewInit() { if (this.utxos && this.utxos.length > 0 && this.sort && this.paginator) { this.loadUTXOsTable(this.utxos); @@ -71,23 +90,23 @@ export class CLOnChainUtxosComponent implements OnChanges, AfterViewInit { onUTXOClick(selUtxo: UTXO, event: any) { const reorderedUTXO = [ - [{key: 'txid', value: selUtxo.txid, title: 'Transaction ID', width: 100}], - [{key: 'output', value: selUtxo.output, title: 'Output', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'value', value: selUtxo.value, title: 'Value (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'status', value: this.commonService.titleCase(selUtxo.status), title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'blockheight', value: selUtxo.blockheight, title: 'Blockheight', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'address', value: selUtxo.address, title: 'Address', width: 100}], + [{ key: 'txid', value: selUtxo.txid, title: 'Transaction ID', width: 100 }], + [{ key: 'output', value: selUtxo.output, title: 'Output', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'value', value: selUtxo.value, title: 'Value (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'status', value: this.commonService.titleCase(selUtxo.status), title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'blockheight', value: selUtxo.blockheight, title: 'Blockheight', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'address', value: selUtxo.address, title: 'Address', width: 100 }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'UTXO Information', message: reorderedUTXO - }})); + } })); } loadUTXOsTable(utxos: any[]) { this.listUTXOs = new MatTableDataSource([...utxos]); - this.listUTXOs.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.listUTXOs.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.listUTXOs.sort = this.sort; this.listUTXOs.filterPredicate = (utxo: UTXO, fltr: string) => JSON.stringify(utxo).toLowerCase().includes(fltr); this.listUTXOs.paginator = this.paginator; @@ -95,9 +114,16 @@ export class CLOnChainUtxosComponent implements OnChanges, AfterViewInit { } onDownloadCSV() { - if(this.listUTXOs.data && this.listUTXOs.data.length > 0) { + if (this.listUTXOs.data && this.listUTXOs.data.length > 0) { this.commonService.downloadFile(this.listUTXOs.data, 'UTXOs'); } } + ngOnDestroy() { + this.unSubs.forEach((completeSub) => { + completeSub.next(null); + completeSub.complete(); + }); + } + } diff --git a/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.html b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.html new file mode 100644 index 00000000..5d9a53d2 --- /dev/null +++ b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.html @@ -0,0 +1,53 @@ +
+
+ +
+ Bump Fee +
+ +
+ +
+
+

Bump fee for transaction id: {{bumpFeeChannel?.funding_txid}} + +

+
+
+ + Bumping fee on pending open channels is an advanced feature, attempt it only if you are familiar with the functionality of Bitcoin transactions. +
Before attempting fee bump ensure the following:
+
1: Use a Bitcoin block explorer to ensure that channel opening transaction is not confirmed.
+
2: The channel opening transaction must have a sizable change output, which can be spent further. The fee cannot be bumped without the change output.
+
3: Find the index value of the change output via a block explorer.
+
4: Enter the index value of the change output in the form below and the desired fee rate.
+
5: Upon successful fee bump, use your block explorer to track the child transaction in the mempool, which should be linked with the change output transaction.
+
+
+
+ + + Output Index required. + Invalid index value. + + + + Fees is required. + +
+
+ + {{bumpFeeError}} +
+
+
+
+ + +
+ +
+
+
+ \ No newline at end of file diff --git a/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.scss b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts new file mode 100644 index 00000000..d335cdb5 --- /dev/null +++ b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts @@ -0,0 +1,51 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { EffectsModule } from '@ngrx/effects'; +import { StoreModule } from '@ngrx/store'; +import { DataService } from '../../../../shared/services/data.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { SharedModule } from '../../../../shared/shared.module'; +import { mockCLEffects, mockDataService, mockECLEffects, mockLNDEffects, mockLoggerService, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { CLBumpFeeComponent } from './bump-fee.component'; + +describe('CLBumpFeeComponent', () => { + let component: CLBumpFeeComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [CLBumpFeeComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {} } }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(CLBumpFeeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.ts b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.ts new file mode 100644 index 00000000..171047b3 --- /dev/null +++ b/src/app/clightning/peers-channels/channels/bump-fee-modal/bump-fee.component.ts @@ -0,0 +1,101 @@ +import { Component, OnInit, OnDestroy, ViewChild, Inject } from '@angular/core'; +import { NgModel } from '@angular/forms'; +import { Subject } from 'rxjs'; +import { filter, take, takeUntil } from 'rxjs/operators'; +import { Store } from '@ngrx/store'; +import { Actions } from '@ngrx/effects'; +import { faCopy, faInfoCircle, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { MatSnackBar } from '@angular/material/snack-bar'; + +import { Channel } from '../../../../shared/models/clModels'; +import { CLChannelInformation } from '../../../../shared/models/alertData'; +import { ADDRESS_TYPES, APICallStatusEnum } from '../../../../shared/services/consts-enums-functions'; +import { LoggerService } from '../../../../shared/services/logger.service'; + +import * as CLActions from '../../../store/cl.actions'; +import * as RTLActions from '../../../../store/rtl.actions'; +import * as fromRTLReducer from '../../../../store/rtl.reducers'; + +@Component({ + selector: 'rtl-cl-bump-fee', + templateUrl: './bump-fee.component.html', + styleUrls: ['./bump-fee.component.scss'] +}) +export class CLBumpFeeComponent implements OnInit, OnDestroy { + + private outputIdx: NgModel; + @ViewChild('outputIdx') set payReq(outIdx: NgModel) { + if (outIdx) { + this.outputIdx = outIdx; + } + } + + public newAddress = ''; + public bumpFeeChannel: Channel; + public fees = null; + public outputIndex = null; + public faCopy = faCopy; + public faInfoCircle = faInfoCircle; + public faExclamationTriangle = faExclamationTriangle; + public bumpFeeError = ''; + private unSubs: Array> = [new Subject(), new Subject()]; + + constructor(private actions: Actions, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLChannelInformation, private store: Store, private logger: LoggerService, private snackBar: MatSnackBar) { } + + ngOnInit() { + this.bumpFeeChannel = this.data.channel; + } + + onBumpFee(): boolean | void { + if ((!this.outputIndex && this.outputIndex !== 0) || !this.fees) { + return true; + } + this.bumpFeeError = ''; + this.store.dispatch(new CLActions.GetNewAddress(ADDRESS_TYPES[0])); + this.actions.pipe(filter((action) => action.type === CLActions.SET_NEW_ADDRESS_CL), take(1)). + subscribe((action: CLActions.SetNewAddress) => { + this.store.dispatch(new CLActions.SetChannelTransaction({ + address: action.payload, + satoshis: 'all', + feeRate: this.fees, + utxos: [this.bumpFeeChannel.funding_txid + ':' + this.outputIndex.toString()] + })); + }); + this.actions.pipe(filter((action) => action.type === CLActions.SET_CHANNEL_TRANSACTION_RES_CL), take(1)). + subscribe((action: CLActions.SetChannelTransactionRes) => { + this.store.dispatch(new RTLActions.OpenSnackBar('Successfully bumped the fee. Use the block explorer to verify transaction.')); + this.dialogRef.close(); + }); + this.actions.pipe(filter((action) => action.type === CLActions.UPDATE_API_CALL_STATUS_CL), takeUntil(this.unSubs[0])). + subscribe((action: CLActions.UpdateAPICallStatus) => { + if (action.payload.status === APICallStatusEnum.ERROR && (action.payload.action === 'SetChannelTransaction' || action.payload.action === 'GenerateNewAddress')) { + this.logger.error(action.payload.message); + this.bumpFeeError = action.payload.message; + } + }); + } + + onCopyID(payload: string) { + this.snackBar.open('Transaction ID copied.'); + } + + resetData() { + this.bumpFeeError = ''; + this.fees = null; + this.outputIndex = null; + this.outputIdx.control.setErrors(null); + } + + onClose() { + this.dialogRef.close(false); + } + + ngOnDestroy() { + this.unSubs.forEach((completeSub) => { + completeSub.next(null); + completeSub.complete(); + }); + } + +} diff --git a/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts b/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts index 2755b4da..767d145c 100644 --- a/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts +++ b/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts @@ -1,4 +1,10 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { CommonService } from '../../../../shared/services/common.service'; +import { DataService } from '../../../../shared/services/data.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; import { CLChannelInformationComponent } from './channel-information.component'; @@ -6,11 +12,21 @@ describe('CLChannelInformationComponent', () => { let component: CLChannelInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelInformationComponent ] - }) - .compileComponents(); + declarations: [CLChannelInformationComponent], + imports: [ + SharedModule + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +38,8 @@ describe('CLChannelInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.ts b/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.ts index 18c96fc2..ad02c809 100644 --- a/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.ts +++ b/src/app/clightning/peers-channels/channels/channel-information-modal/channel-information.component.ts @@ -15,6 +15,7 @@ import { ScreenSizeEnum } from '../../../../shared/services/consts-enums-functio styleUrls: ['./channel-information.component.scss'] }) export class CLChannelInformationComponent implements OnInit { + public faReceipt = faReceipt; public showAdvanced = false; public showCopy = true; @@ -37,10 +38,11 @@ export class CLChannelInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; - } + } onCopyChanID(payload: string) { this.snackBar.open('Short channel ID ' + payload + ' copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html index 81eb70b0..430ba64a 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html @@ -5,9 +5,9 @@ +
- -
Transaction ID @@ -57,7 +56,9 @@ -

No utxos available.

+

No utxos available.

+

Getting utxos...

+

{{errorMessage}}

+
diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts index 2735c0a4..6e6258ab 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts @@ -1,16 +1,45 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { EffectsModule } from '@ngrx/effects'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { DataService } from '../../../../../shared/services/data.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { RTLEffects } from '../../../../../store/rtl.effects'; +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CLEffects } from '../../../../store/cl.effects'; import { CLChannelOpenTableComponent } from './channel-open-table.component'; describe('CLChannelOpenTableComponent', () => { let component: CLChannelOpenTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelOpenTableComponent ] - }) - .compileComponents(); + declarations: [CLChannelOpenTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects }, + { provide: CLEffects, useClass: mockCLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +51,8 @@ describe('CLChannelOpenTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts index 27b103ff..5c4c8e80 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts @@ -2,19 +2,21 @@ import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular import { Subject } from 'rxjs'; import { take, takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"; +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Channel, GetInfo, ChannelEdge } from '../../../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, FEE_RATE_TYPES } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, FEE_RATE_TYPES, APICallStatusEnum, UI_MESSAGES } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; import { CLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; import { CLEffects } from '../../../../store/cl.effects'; import { RTLEffects } from '../../../../../store/rtl.effects'; + import * as CLActions from '../../../../store/cl.actions'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; @@ -25,11 +27,12 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./channel-open-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faEye = faEye; public faEyeSlash = faEyeSlash public totalBalance = 0; @@ -40,24 +43,26 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes public information: GetInfo = {}; public numPeers = -1; public feeRateTypes = FEE_RATE_TYPES; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private clEffects: CLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'msatoshi_to_us', 'msatoshi_to_them', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['short_channel_id', 'alias', 'msatoshi_to_us', 'msatoshi_to_them', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['short_channel_id', 'alias', 'msatoshi_to_us', 'msatoshi_to_them', 'actions']; } else { @@ -67,26 +72,23 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; } + this.information = rtlStore.information; + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = rtlStore.balance.totalBalance; + this.channelsData = rtlStore.allChannels.filter((channel) => channel.state === 'CHANNELD_NORMAL' && channel.connected); + if (this.channelsData.length > 0) { + this.loadChannelsTable(this.channelsData); + } + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = rtlStore.balance.totalBalance; - this.channelsData = rtlStore.allChannels.filter(channel => channel.state === 'CHANNELD_NORMAL' && channel.connected); - if (this.channelsData.length > 0) { - this.loadChannelsTable(this.channelsData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.allChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -94,35 +96,36 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes this.loadChannelsTable(this.channelsData); } } - - onViewRemotePolicy(selChannel: Channel) { - this.store.dispatch(new CLActions.ChannelLookup({shortChannelID: selChannel.short_channel_id, showError: true})); - this.clEffects.setLookupCL - .pipe(take(1)) - .subscribe((resLookup: ChannelEdge[]):boolean|void => { - if(resLookup.length === 0) { return false; } - let remoteNode: ChannelEdge = {}; - if(resLookup[0].source !== this.information.id) { - remoteNode = resLookup[0]; - } else { - remoteNode = resLookup[1]; - } - const reorderedChannelPolicy = [ - [{key: 'base_fee_millisatoshi', value: remoteNode.base_fee_millisatoshi, title: 'Base Fees (mSats)', width: 34, type: DataTypeEnum.NUMBER}, - {key: 'fee_per_millionth', value: remoteNode.fee_per_millionth, title: 'Fee/Millionth', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'delay', value: remoteNode.delay, title: 'Delay', width: 33, type: DataTypeEnum.NUMBER}] - ]; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'Remote Channel Policy', - message: reorderedChannelPolicy - }})); - }); + onViewRemotePolicy(selChannel: Channel) { + this.store.dispatch(new CLActions.ChannelLookup({ uiMessage: UI_MESSAGES.GET_REMOTE_POLICY, shortChannelID: selChannel.short_channel_id, showError: true })); + this.clEffects.setLookupCL. + pipe(take(1)). + subscribe((resLookup: ChannelEdge[]): boolean|void => { + if (resLookup.length === 0) { + return false; + } + let remoteNode: ChannelEdge = {}; + if (resLookup[0].source !== this.information.id) { + remoteNode = resLookup[0]; + } else { + remoteNode = resLookup[1]; + } + const reorderedChannelPolicy = [ + [{ key: 'base_fee_millisatoshi', value: remoteNode.base_fee_millisatoshi, title: 'Base Fees (mSats)', width: 34, type: DataTypeEnum.NUMBER }, + { key: 'fee_per_millionth', value: remoteNode.fee_per_millionth, title: 'Fee/Millionth', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'delay', value: remoteNode.delay, title: 'Delay', width: 33, type: DataTypeEnum.NUMBER }] + ]; + this.store.dispatch(new RTLActions.OpenAlert({ data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'Remote Channel Policy', + message: reorderedChannelPolicy + } })); + }); } onChannelUpdate(channelToUpdate: any) { - if(channelToUpdate !== 'all' && channelToUpdate.state === 'ONCHAIN') { + if (channelToUpdate !== 'all' && channelToUpdate.state === 'ONCHAIN') { return; } if (channelToUpdate === 'all') { @@ -136,62 +139,58 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes titleMessage: 'Update fee policy for all channels', flgShowInput: true, getInputs: [ - {placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: 1000, width: 48}, - {placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: 1, min: 1, width: 48, hintFunction: this.percentHintFunction} + { placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: 1000, width: 48 }, + { placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: 1, min: 1, width: 48, hintFunction: this.percentHintFunction } ] - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[1])) - .subscribe(confirmRes => { - if (confirmRes) { - const base_fee = confirmRes[0].inputValue; - const fee_rate = confirmRes[1].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Channel Policy...')); - this.store.dispatch(new CLActions.UpdateChannels({baseFeeMsat: base_fee, feeRate: fee_rate, channelId: 'all'})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[1])). + subscribe((confirmRes) => { + if (confirmRes) { + const base_fee = confirmRes[0].inputValue; + const fee_rate = confirmRes[1].inputValue; + this.store.dispatch(new CLActions.UpdateChannels({ baseFeeMsat: base_fee, feeRate: fee_rate, channelId: 'all' })); + } + }); } else { - this.myChanPolicy = {fee_base_msat: 0, fee_rate_milli_msat: 0}; - this.store.dispatch(new RTLActions.OpenSpinner('Fetching Channel Policy...')); - this.store.dispatch(new CLActions.ChannelLookup({shortChannelID: channelToUpdate.short_channel_id, showError: false})); - this.clEffects.setLookupCL - .pipe(take(1)) - .subscribe((resLookup: ChannelEdge[]) => { - if (resLookup.length > 0 && resLookup[0].source === this.information.id) { - this.myChanPolicy = {fee_base_msat: resLookup[0].base_fee_millisatoshi, fee_rate_milli_msat: resLookup[0].fee_per_millionth}; - } else if (resLookup.length > 1 && resLookup[1].source === this.information.id) { - this.myChanPolicy = {fee_base_msat: resLookup[1].base_fee_millisatoshi, fee_rate_milli_msat: resLookup[1].fee_per_millionth}; - } else { - this.myChanPolicy = {fee_base_msat: 0, fee_rate_milli_msat: 0}; - } - this.logger.info(this.myChanPolicy); - this.store.dispatch(new RTLActions.CloseSpinner()); - const titleMsg = 'Update fee policy for Channel: ' + channelToUpdate.channel_id; - const confirmationMsg = []; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { - type: AlertTypeEnum.CONFIRM, - alertTitle: 'Update Fee Policy', - noBtnText: 'Cancel', - yesBtnText: 'Update', - message: confirmationMsg, - titleMessage: titleMsg, - flgShowInput: true, - getInputs: [ - {placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: (this.myChanPolicy.fee_base_msat === '') ? 0 : this.myChanPolicy.fee_base_msat, width: 48}, - {placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: this.myChanPolicy.fee_rate_milli_msat, min: 1, width: 48, hintFunction: this.percentHintFunction} - ] - }})); - }); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[2])) - .subscribe(confirmRes => { - if (confirmRes) { - const base_fee = confirmRes[0].inputValue; - const fee_rate = confirmRes[1].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Channel Policy...')); - this.store.dispatch(new CLActions.UpdateChannels({baseFeeMsat: base_fee, feeRate: fee_rate, channelId: channelToUpdate.channel_id})); - } - }); + this.myChanPolicy = { fee_base_msat: 0, fee_rate_milli_msat: 0 }; + this.store.dispatch(new CLActions.ChannelLookup({ uiMessage: UI_MESSAGES.GET_CHAN_POLICY, shortChannelID: channelToUpdate.short_channel_id, showError: false })); + this.clEffects.setLookupCL. + pipe(take(1)). + subscribe((resLookup: ChannelEdge[]) => { + if (resLookup.length > 0 && resLookup[0].source === this.information.id) { + this.myChanPolicy = { fee_base_msat: resLookup[0].base_fee_millisatoshi, fee_rate_milli_msat: resLookup[0].fee_per_millionth }; + } else if (resLookup.length > 1 && resLookup[1].source === this.information.id) { + this.myChanPolicy = { fee_base_msat: resLookup[1].base_fee_millisatoshi, fee_rate_milli_msat: resLookup[1].fee_per_millionth }; + } else { + this.myChanPolicy = { fee_base_msat: 0, fee_rate_milli_msat: 0 }; + } + this.logger.info(this.myChanPolicy); + const titleMsg = 'Update fee policy for Channel: ' + channelToUpdate.channel_id; + const confirmationMsg = []; + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + type: AlertTypeEnum.CONFIRM, + alertTitle: 'Update Fee Policy', + noBtnText: 'Cancel', + yesBtnText: 'Update', + message: confirmationMsg, + titleMessage: titleMsg, + flgShowInput: true, + getInputs: [ + { placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: (this.myChanPolicy.fee_base_msat === '') ? 0 : this.myChanPolicy.fee_base_msat, width: 48 }, + { placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: this.myChanPolicy.fee_rate_milli_msat, min: 1, width: 48, hintFunction: this.percentHintFunction } + ] + } })); + }); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[2])). + subscribe((confirmRes) => { + if (confirmRes) { + const base_fee = confirmRes[0].inputValue; + const fee_rate = confirmRes[1].inputValue; + this.store.dispatch(new CLActions.UpdateChannels({ baseFeeMsat: base_fee, feeRate: fee_rate, channelId: channelToUpdate.channel_id })); + } + }); } this.applyFilter(); } @@ -201,21 +200,20 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes } onChannelClose(channelToClose: Channel) { - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Close Channel', titleMessage: 'Closing channel: ' + channelToClose.channel_id, noBtnText: 'Cancel', yesBtnText: 'Close Channel' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Closing Channel...')); - this.store.dispatch(new CLActions.CloseChannel({channelId: channelToClose.channel_id, force: false})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new CLActions.CloseChannel({ channelId: channelToClose.channel_id, force: false })); + } + }); } applyFilter() { @@ -223,17 +221,15 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - channel: selChannel, - showCopy: true, - component: CLChannelInformationComponent - }})); - } + this.store.dispatch(new RTLActions.OpenAlert({ data: { + channel: selChannel, + showCopy: true, + component: CLChannelInformationComponent + } })); + } loadChannelsTable(mychannels) { - mychannels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? 1 : -1); - }); + mychannels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? 1 : -1))); this.channels = new MatTableDataSource([...mychannels]); this.channels.filterPredicate = (channel: Channel, fltr: string) => { const newChannel = ((channel.connected) ? 'connected' : 'disconnected') + (channel.channel_id ? channel.channel_id.toLowerCase() : '') + @@ -245,19 +241,19 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes return newChannel.includes(fltr); }; this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.paginator = this.paginator; this.logger.info(this.channels); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'Open-channels'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html index d429d9bb..f547629a 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html @@ -5,9 +5,9 @@ +
- -
Short Channel ID @@ -91,8 +91,10 @@ -

No peers connected. Add a peer in order to open a channel.

-

No channels available.

+

No peers connected. Add a peer in order to open a channel.

+

No channel available.

+

Getting channels...

+

{{errorMessage}}

+
@@ -26,7 +26,7 @@ - + @@ -58,14 +58,17 @@ View InfoClose Channel + Bump Fee diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss index 0ad983c7..e04787fd 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss @@ -1,3 +1,12 @@ +@import "../../../../../shared/theme/styles/mixins.scss"; + .mat-column-actions { min-height: 4.8rem; } + +.mat-column-state { + flex: 1 1 15%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts index ae3f5f88..54e2846b 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts @@ -1,16 +1,44 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { CLChannelPendingTableComponent } from './channel-pending-table.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { RTLEffects } from '../../../../../store/rtl.effects'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('CLChannelPendingTableComponent', () => { let component: CLChannelPendingTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelPendingTableComponent ] - }) - .compileComponents(); + declarations: [CLChannelPendingTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +50,8 @@ describe('CLChannelPendingTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts index fb14c1f6..ab38e306 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts @@ -7,16 +7,17 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { GetInfo, Channel } from '../../../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum, APICallStatusEnum, CLChannelPendingState } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; import { CLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; -import { CLEffects } from '../../../../store/cl.effects'; import { RTLEffects } from '../../../../../store/rtl.effects'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as CLActions from '../../../../store/cl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; +import { CLBumpFeeComponent } from '../../bump-fee-modal/bump-fee.component'; @Component({ selector: 'rtl-cl-channel-pending-table', @@ -24,11 +25,12 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./channel-pending-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class CLChannelPendingTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public isCompatibleVersion = false; public totalBalance = 0; public displayedColumns: any[] = []; @@ -38,24 +40,27 @@ export class CLChannelPendingTableComponent implements OnInit, AfterViewInit, On public information: GetInfo = {}; public numPeers = -1; public feeRateTypes = FEE_RATE_TYPES; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; + public CLChannelPendingState = CLChannelPendingState; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private clEffects: CLEffects, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'state', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'connected', 'state', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'connected', 'state', 'msatoshi_total', 'actions']; } else { @@ -65,33 +70,31 @@ export class CLChannelPendingTableComponent implements OnInit, AfterViewInit, On } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; + } + this.information = rtlStore.information; + if (this.information.api_version) { + this.isCompatibleVersion = this.commonService.isVersionCompatible(this.information.api_version, '0.4.2'); + } + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = rtlStore.balance.totalBalance; + this.channelsData = rtlStore.allChannels.filter((channel) => !(channel.state === 'CHANNELD_NORMAL' && channel.connected)); + this.channelsData = this.channelsData.sort((a, b) => ((this.CLChannelPendingState[a.state] >= this.CLChannelPendingState[b.state]) ? 1 : -1)); + if (this.channelsData && this.channelsData.length > 0) { + this.loadChannelsTable(this.channelsData); } + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - if (this.information.api_version) { - this.isCompatibleVersion = this.commonService.isVersionCompatible(this.information.api_version, '0.4.2'); - } - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = rtlStore.balance.totalBalance; - this.channelsData = this.commonService.sortByKey(rtlStore.allChannels.filter(channel => !(channel.state === 'CHANNELD_NORMAL' && channel.connected)), 'state', 'string'); - if (this.channelsData.length > 0) { - this.loadChannelsTable(this.channelsData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.allChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { - if (this.channelsData.length > 0) { + if (this.channelsData && this.channelsData.length > 0) { this.loadChannelsTable(this.channelsData); } } @@ -100,60 +103,72 @@ export class CLChannelPendingTableComponent implements OnInit, AfterViewInit, On this.channels.filter = this.selFilter.trim().toLowerCase(); } + onBumpFee(selChannel: Channel) { + this.store.dispatch(new RTLActions.OpenAlert({ data: { + channel: selChannel, + component: CLBumpFeeComponent + } })); + } + onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { channel: selChannel, showCopy: true, component: CLChannelInformationComponent - }})); + } })); } onChannelClose(channelToClose: Channel) { - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Force Close Channel', titleMessage: 'Force closing channel: ' + channelToClose.channel_id, noBtnText: 'Cancel', yesBtnText: 'Force Close' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Force Closing Channel...')); - this.store.dispatch(new CLActions.CloseChannel({channelId: channelToClose.channel_id, force: true})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new CLActions.CloseChannel({ channelId: channelToClose.channel_id, force: true })); + } + }); } loadChannelsTable(mychannels) { - mychannels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? 1 : -1); - }); + mychannels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? 1 : -1))); this.channels = new MatTableDataSource([...mychannels]); this.channels.filterPredicate = (channel: Channel, fltr: string) => { const newChannel = ((channel.connected) ? 'connected' : 'disconnected') + (channel.channel_id ? channel.channel_id.toLowerCase() : '') + (channel.short_channel_id ? channel.short_channel_id.toLowerCase() : '') + (channel.id ? channel.id.toLowerCase() : '') + (channel.alias ? channel.alias.toLowerCase() : '') + - (channel.private ? 'private' : 'public') + (channel.state ? channel.state.toLowerCase() : '') + + (channel.private ? 'private' : 'public') + ((channel.state && this.CLChannelPendingState[channel.state]) ? this.CLChannelPendingState[channel.state].toLowerCase() : '') + (channel.funding_txid ? channel.funding_txid.toLowerCase() : '') + (channel.msatoshi_to_us ? channel.msatoshi_to_us : '') + (channel.msatoshi_total ? channel.msatoshi_total : '') + (channel.their_channel_reserve_satoshis ? channel.their_channel_reserve_satoshis : '') + (channel.our_channel_reserve_satoshis ? channel.our_channel_reserve_satoshis : '') + (channel.spendable_msatoshi ? channel.spendable_msatoshi : ''); return newChannel.includes(fltr); }; this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => { + switch (sortHeaderId) { + case 'state': + return this.CLChannelPendingState[data.state]; + + default: + return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + } + }; this.channels.paginator = this.paginator; this.logger.info(this.channels); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'Pending-inactive-channels'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.spec.ts b/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.spec.ts index 6eed0356..f76badaf 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.spec.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../../../shared/services/common.service'; +import { DataService } from '../../../../shared/services/data.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { CLChannelsTablesComponent } from './channels-tables.component'; describe('CLChannelsTablesComponent', () => { let component: CLChannelsTablesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLChannelsTablesComponent ] - }) - .compileComponents(); + declarations: [CLChannelsTablesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('CLChannelsTablesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.ts b/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.ts index 62270027..e7b5f310 100644 --- a/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.ts +++ b/src/app/clightning/peers-channels/channels/channels-tables/channels-tables.component.ts @@ -19,6 +19,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./channels-tables.component.scss'] }) export class CLChannelsTablesComponent implements OnInit, OnDestroy { + public openChannels = 0; public pendingChannels = 0; public selNode: SelNodeChild = {}; @@ -26,58 +27,58 @@ export class CLChannelsTablesComponent implements OnInit, OnDestroy { public peers: Peer[] = []; public utxos: UTXO[] = []; public totalBalance = 0; - public links = [{link: 'open', name: 'Open'}, {link: 'pending', name: 'Pending/Inactive'}]; + public links = [{ link: 'open', name: 'Open' }, { link: 'pending', name: 'Pending/Inactive' }]; public activeLink = 0; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private commonService: CommonService, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - if (rtlStore.allChannels && rtlStore.allChannels.length) { - this.openChannels = 0; - this.pendingChannels = 0; - rtlStore.allChannels.forEach(channel => { - if(channel.state === 'CHANNELD_NORMAL' && channel.connected) { - this.openChannels++; - } else { - this.pendingChannels++; - } - }); - } else { - this.openChannels = 0; - this.pendingChannels = 0; - } - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.peers = rtlStore.peers; - this.utxos = this.commonService.sortAscByKey(rtlStore.utxos.filter(utxo => utxo.status === 'confirmed'), 'value'); - this.totalBalance = rtlStore.balance.totalBalance; - this.logger.info(rtlStore); - }); + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + if (rtlStore.allChannels && rtlStore.allChannels.length) { + this.openChannels = 0; + this.pendingChannels = 0; + rtlStore.allChannels.forEach((channel) => { + if (channel.state === 'CHANNELD_NORMAL' && channel.connected) { + this.openChannels++; + } else { + this.pendingChannels++; + } + }); + } else { + this.openChannels = 0; + this.pendingChannels = 0; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.peers = rtlStore.peers; + this.utxos = this.commonService.sortAscByKey(rtlStore.utxos.filter((utxo) => utxo.status === 'confirmed'), 'value'); + this.totalBalance = rtlStore.balance.totalBalance; + this.logger.info(rtlStore); + }); } onOpenChannel() { const peerToAddChannelMessage = { - peers: this.peers, + peers: this.peers, information: this.information, balance: this.totalBalance, utxos: this.utxos, isCompatibleVersion: this.commonService.isVersionCompatible(this.information.version, '0.9.0') && this.commonService.isVersionCompatible(this.information.api_version, '0.4.0') }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, component: CLOpenChannelComponent - }})); + } })); } onSelectedTabChange(event) { @@ -85,9 +86,10 @@ export class CLChannelsTablesComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.html b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.html index 80589e1a..876607a0 100644 --- a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.html +++ b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.html @@ -24,7 +24,7 @@ Remaining Bal: {{totalBalance - ((fundingAmount) ? fundingAmount : 0) | number}}{{flgUseAllBalance ? '. Amount replaced by UTXO balance' : ''}} - {{information?.smaller_currency_unit}} + Sats Amount is required. Amount must be less than or equal to {{totalBalance}}. @@ -39,23 +39,29 @@
-
- - - - {{feeRateType.feeRateType}} - - - +
+
+ + + + {{feeRateType.feeRateType}} + + + + + + Fee Rate is required. + +
- + Min Confirmation Blocks is required.
-
+
{{totalSelectedUTXOAmount | number}} Sats ({{selUTXOs.length > 1 ? selUTXOs.length + ' UTXOs' : '1 UTXO'}}) diff --git a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts index 5e93ea2f..7fdb1823 100644 --- a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts +++ b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../../../shared/services/common.service'; +import { DataService } from '../../../../shared/services/data.service'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { CLOpenChannelComponent } from './open-channel.component'; +import { mockCLEffects, mockDataService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('CLOpenChannelComponent', () => { let component: CLOpenChannelComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLOpenChannelComponent ] - }) - .compileComponents(); + declarations: [CLOpenChannelComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('CLOpenChannelComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.ts b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.ts index ce746e7d..847f2492 100644 --- a/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.ts +++ b/src/app/clightning/peers-channels/channels/open-channel-modal/open-channel.component.ts @@ -8,12 +8,12 @@ import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; +import { CommonService } from '../../../../shared/services/common.service'; import { Peer, GetInfo, UTXO } from '../../../../shared/models/clModels'; import { CLOpenChannelAlert } from '../../../../shared/models/alertData'; -import { FEE_RATE_TYPES } from '../../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, FEE_RATE_TYPES, ScreenSizeEnum } from '../../../../shared/services/consts-enums-functions'; import * as CLActions from '../../../store/cl.actions'; -import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; @Component({ @@ -22,6 +22,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./open-channel.component.scss'] }) export class CLOpenChannelComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public selectedPeer = new FormControl(); public faExclamationTriangle = faExclamationTriangle; @@ -33,7 +34,7 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { public filteredPeers: Observable; public utxos: UTXO[] = []; public selUTXOs = []; - public flgUseAllBalance = false; + public flgUseAllBalance = false; public totalSelectedUTXOAmount = 0; public channelConnectionError = ''; public advancedTitle = 'Advanced Options'; @@ -44,11 +45,16 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { public isPrivate = false; public feeRateTypes = FEE_RATE_TYPES; public selFeeRate = ''; + public customFeeRate = null; public flgMinConf = false; public minConfValue = null; + public screenSize = ''; + public screenSizeEnum = ScreenSizeEnum; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOpenChannelAlert, private store: Store, private actions$: Actions, private decimalPipe: DecimalPipe) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOpenChannelAlert, private store: Store, private actions: Actions, private decimalPipe: DecimalPipe, private commonService: CommonService) { + this.screenSize = this.commonService.getScreenSize(); + } ngOnInit() { this.isCompatibleVersion = this.data.message.isCompatibleVersion; @@ -58,30 +64,32 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { this.alertTitle = this.data.alertTitle; this.peer = this.data.message.peer ? this.data.message.peer : null; this.peers = this.data.message.peers && this.data.message.peers.length ? this.data.message.peers : []; - this.actions$.pipe(takeUntil(this.unSubs[0]), - filter(action => action.type === CLActions.EFFECT_ERROR_CL || action.type === CLActions.FETCH_CHANNELS_CL)) - .subscribe((action: CLActions.EffectError | CLActions.FetchChannels) => { - if (action.type === CLActions.EFFECT_ERROR_CL && action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; - } - if (action.type === CLActions.FETCH_CHANNELS_CL) { - this.dialogRef.close(); - } - }); - let x = '', y = ''; + this.actions.pipe( + takeUntil(this.unSubs[0]), + filter((action) => action.type === CLActions.UPDATE_API_CALL_STATUS_CL || action.type === CLActions.FETCH_CHANNELS_CL)). + subscribe((action: CLActions.UpdateAPICallStatus | CLActions.FetchChannels) => { + if (action.type === CLActions.UPDATE_API_CALL_STATUS_CL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + if (action.type === CLActions.FETCH_CHANNELS_CL) { + this.dialogRef.close(); + } + }); + let x = '', + y = ''; this.sortedPeers = this.peers.sort((p1, p2) => { x = p1.alias ? p1.alias.toLowerCase() : p1.id ? p1.id.toLowerCase() : ''; y = p2.alias ? p2.alias.toLowerCase() : p1.id.toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); this.filteredPeers = this.selectedPeer.valueChanges.pipe(takeUntil(this.unSubs[1]), startWith(''), - map(peer => typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.id), - map(alias => alias ? this.filterPeers(alias) : this.sortedPeers.slice()) + map((peer) => (typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.id)), + map((alias) => (alias ? this.filterPeers(alias) : this.sortedPeers.slice())) ); } private filterPeers(newlySelectedPeer: string): Peer[] { - return this.sortedPeers.filter(peer => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); + return this.sortedPeers.filter((peer) => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); } displayFn(peer: Peer): string { @@ -90,16 +98,18 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { onSelectedPeerChanged() { this.channelConnectionError = ''; - this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.id) ? this.selectedPeer.value.id : undefined; + this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.id) ? this.selectedPeer.value.id : null; if (typeof this.selectedPeer.value === 'string') { - let selPeer = this.peers.filter(peer => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); - if (selPeer.length === 1 && selPeer[0].id) { this.selectedPubkey = selPeer[0].id; } + const selPeer = this.peers.filter((peer) => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); + if (selPeer.length === 1 && selPeer[0].id) { + this.selectedPubkey = selPeer[0].id; + } } if (this.selectedPeer.value && !this.selectedPubkey) { - this.selectedPeer.setErrors({notfound: true}); + this.selectedPeer.setErrors({ notfound: true }); } else { this.selectedPeer.setErrors(null); - } + } } onClose() { @@ -115,7 +125,7 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { this.isPrivate = false; this.channelConnectionError = ''; this.advancedTitle = 'Advanced Options'; - this.form.resetForm(); + this.form.resetForm(); } onAdvancedPanelToggle(isClosed: boolean) { @@ -128,7 +138,7 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { this.advancedTitle = this.advancedTitle + ' | Min Confirmation Blocks: ' + this.minConfValue; } if (this.selFeeRate) { - this.advancedTitle = this.advancedTitle + ' | Fee Rate: ' + this.feeRateTypes.find(feeRateType => feeRateType.feeRateId === this.selFeeRate).feeRateType; + this.advancedTitle = this.advancedTitle + ' | Fee Rate: ' + (this.customFeeRate ? (this.customFeeRate + ' (Sats/vB)') : (this.feeRateTypes.find((feeRateType) => feeRateType.feeRateId === this.selFeeRate).feeRateType)); } if (this.selUTXOs.length && this.selUTXOs.length > 0) { this.advancedTitle = this.advancedTitle + ' | Total Selected: ' + this.selUTXOs.length + ' | Selected UTXOs: ' + this.decimalPipe.transform(this.totalSelectedUTXOAmount) + ' Sats'; @@ -140,10 +150,15 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { } onUTXOSelectionChange(event: any) { - let utxoNew = {value: 0}; + const utxoNew = { value: 0 }; if (this.selUTXOs.length && this.selUTXOs.length > 0) { - this.totalSelectedUTXOAmount = this.selUTXOs.reduce((a, b) => {utxoNew.value = a.value + b.value; return utxoNew;}).value; - if (this.flgUseAllBalance) { this.onUTXOAllBalanceChange(); } + this.totalSelectedUTXOAmount = this.selUTXOs.reduce((a, b) => { + utxoNew.value = a.value + b.value; + return utxoNew; + }).value; + if (this.flgUseAllBalance) { + this.onUTXOAllBalanceChange(); + } } else { this.totalSelectedUTXOAmount = 0; this.fundingAmount = null; @@ -159,21 +174,24 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy { } } - onOpenChannel():boolean|void { - if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0) || (this.flgMinConf && !this.minConfValue))) { return true; } - let newChannel = { peerId: ((!this.peer || !this.peer.id) ? this.selectedPubkey : this.peer.id), satoshis: (this.flgUseAllBalance) ? 'all' : this.fundingAmount.toString(), announce: !this.isPrivate, feeRate: this.selFeeRate, minconf: this.flgMinConf ? this.minConfValue : null }; + onOpenChannel(): boolean | void { + if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0) || (this.flgMinConf && !this.minConfValue)) || (this.selFeeRate === 'customperkb' && !this.flgMinConf && !this.customFeeRate)) { + return true; + } + const newChannel = { peerId: ((!this.peer || !this.peer.id) ? this.selectedPubkey : this.peer.id), satoshis: (this.flgUseAllBalance) ? 'all' : this.fundingAmount.toString(), announce: !this.isPrivate, minconf: this.flgMinConf ? this.minConfValue : null }; + newChannel['feeRate'] = (this.selFeeRate === 'customperkb' && !this.flgMinConf && this.customFeeRate) ? (this.customFeeRate * 1000) + 'perkb' : this.selFeeRate; if (this.selUTXOs.length && this.selUTXOs.length > 0) { newChannel['utxos'] = []; - this.selUTXOs.forEach(utxo => newChannel['utxos'].push(utxo.txid + ':' + utxo.output)); + this.selUTXOs.forEach((utxo) => newChannel['utxos'].push(utxo.txid + ':' + utxo.output)); } - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); this.store.dispatch(new CLActions.SaveNewChannel(newChannel)); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.html b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.html index 63f5ad27..6f2dfb3d 100644 --- a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.html +++ b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.html @@ -26,10 +26,10 @@ -
+ {{channelFormLabel}} -
-
+
+
Remaining Bal: {{totalBalance - ((channelFormGroup.controls.fundingAmount.value) ? channelFormGroup.controls.fundingAmount.value : 0)}} @@ -42,16 +42,22 @@ Private Channel
-
- - - - {{feeRateType.feeRateType}} - - - +
+
+ + + + {{feeRateType.feeRateType}} + + + + + + Fee Rate is required. + +
- + Min Confirmation Blocks is required. @@ -64,7 +70,7 @@ {{channelConnectionError}}
- +
diff --git a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.spec.ts b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.spec.ts index d1385a4c..fa9fc726 100644 --- a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.spec.ts +++ b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.spec.ts @@ -1,16 +1,44 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { SharedModule } from '../../../shared/shared.module'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; import { CLConnectPeerComponent } from './connect-peer.component'; +import { mockCLEffects, mockDataService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('CLConnectPeerComponent', () => { let component: CLConnectPeerComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLConnectPeerComponent ] - }) - .compileComponents(); + declarations: [CLConnectPeerComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + LoggerService, CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { alertTitle: '', titleMessage: '', message: {}, newlyAdded: true } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +50,8 @@ describe('CLConnectPeerComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.ts b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.ts index c89b2ab3..bfcf2866 100644 --- a/src/app/clightning/peers-channels/connect-peer/connect-peer.component.ts +++ b/src/app/clightning/peers-channels/connect-peer/connect-peer.component.ts @@ -5,17 +5,16 @@ import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; +import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; import { Peer } from '../../../shared/models/clModels'; import { CLOpenChannelAlert } from '../../../shared/models/alertData'; -import { FEE_RATE_TYPES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, FEE_RATE_TYPES, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; -import { CLEffects } from '../../store/cl.effects'; import * as CLActions from '../../store/cl.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -24,8 +23,9 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./connect-peer.component.scss'] }) export class CLConnectPeerComponent implements OnInit, OnDestroy { - @ViewChild('peersForm', {static: false}) form: any; - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('peersForm', { static: false }) form: any; + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public peerAddress = ''; public totalBalance = 0; @@ -38,17 +38,21 @@ export class CLConnectPeerComponent implements OnInit, OnDestroy { public channelConnectionError = ''; public peerFormLabel = 'Peer Details'; public channelFormLabel = 'Open Channel (Optional)'; + public screenSize = ''; + public screenSizeEnum = ScreenSizeEnum; peerFormGroup: FormGroup; - channelFormGroup: FormGroup; - statusFormGroup: FormGroup; - private unSubs: Array> = [new Subject(), new Subject()]; + channelFormGroup: FormGroup; + statusFormGroup: FormGroup; + private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOpenChannelAlert, private store: Store, private clEffects: CLEffects, private formBuilder: FormBuilder, private actions$: Actions, private logger: LoggerService) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLOpenChannelAlert, private store: Store, private formBuilder: FormBuilder, private actions: Actions, private logger: LoggerService, private commonService: CommonService) { + this.screenSize = this.commonService.getScreenSize(); + } ngOnInit() { this.totalBalance = this.data.message.balance; - this.peerAddress = (this.data.message.peer && this.data.message.peer.id && this.data.message.peer.netaddr) ? (this.data.message.peer.id + '@' + this.data.message.peer.netaddr) : - (this.data.message.peer && this.data.message.peer.id && !this.data.message.peer.netaddr) ? this.data.message.peer.id : ''; + this.peerAddress = (this.data.message.peer && this.data.message.peer.id && this.data.message.peer.netaddr) ? (this.data.message.peer.id + '@' + this.data.message.peer.netaddr) : + (this.data.message.peer && this.data.message.peer.id && !this.data.message.peer.netaddr) ? this.data.message.peer.id : ''; this.peerFormGroup = this.formBuilder.group({ hiddenAddress: ['', [Validators.required]], peerAddress: [this.peerAddress, [Validators.required]] @@ -57,59 +61,76 @@ export class CLConnectPeerComponent implements OnInit, OnDestroy { fundingAmount: ['', [Validators.required, Validators.min(1), Validators.max(this.totalBalance)]], isPrivate: [false], selFeeRate: [null], + customFeeRate: [null], flgMinConf: [false], - minConfValue: [null], + minConfValue: [{ value: null, disabled: true }], hiddenAmount: ['', [Validators.required]] - }); - this.statusFormGroup = this.formBuilder.group({}); - this.channelFormGroup.controls.flgMinConf.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe(flg => { + }); + this.statusFormGroup = this.formBuilder.group({}); + this.channelFormGroup.controls.flgMinConf.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe((flg) => { if (flg) { this.channelFormGroup.controls.selFeeRate.setValue(null); this.channelFormGroup.controls.selFeeRate.disable(); + this.channelFormGroup.controls.customFeeRate.setValue(null); + this.channelFormGroup.controls.minConfValue.reset(); this.channelFormGroup.controls.minConfValue.enable(); this.channelFormGroup.controls.minConfValue.setValidators([Validators.required]); } else { this.channelFormGroup.controls.selFeeRate.enable(); + this.channelFormGroup.controls.minConfValue.setValue(null); this.channelFormGroup.controls.minConfValue.disable(); this.channelFormGroup.controls.minConfValue.setValidators(null); } }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter((action) => action.type === CLActions.NEWLY_ADDED_PEER_CL || action.type === CLActions.FETCH_CHANNELS_CL || action.type === CLActions.EFFECT_ERROR_CL)) - .subscribe((action: (CLActions.NewlyAddedPeer | CLActions.FetchChannels | CLActions.EffectError)) => { - if (action.type === CLActions.NEWLY_ADDED_PEER_CL) { - this.logger.info(action.payload); - this.flgEditable = false; - this.newlyAddedPeer = action.payload.peer; - this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); - this.stepper.next(); - } - if (action.type === CLActions.FETCH_CHANNELS_CL) { - this.dialogRef.close(); - } - if (action.type === CLActions.EFFECT_ERROR_CL) { - if (action.payload.action === 'SaveNewPeer') { - this.peerConnectionError = action.payload.message; - } else if (action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; - } + this.channelFormGroup.controls.selFeeRate.valueChanges.pipe(takeUntil(this.unSubs[1])).subscribe((feeRate) => { + this.channelFormGroup.controls.customFeeRate.setValue(null); + this.channelFormGroup.controls.customFeeRate.reset(); + if (feeRate === 'customperkb' && !this.channelFormGroup.controls.flgMinConf.value) { + this.channelFormGroup.controls.customFeeRate.setValidators([Validators.required]); + } else { + this.channelFormGroup.controls.customFeeRate.setValidators(null); } }); + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === CLActions.NEWLY_ADDED_PEER_CL || action.type === CLActions.FETCH_CHANNELS_CL || action.type === CLActions.UPDATE_API_CALL_STATUS_CL)). + subscribe((action: (CLActions.NewlyAddedPeer | CLActions.FetchChannels | CLActions.UpdateAPICallStatus)) => { + if (action.type === CLActions.NEWLY_ADDED_PEER_CL) { + this.logger.info(action.payload); + this.flgEditable = false; + this.newlyAddedPeer = action.payload.peer; + this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); + this.stepper.next(); + } + if (action.type === CLActions.FETCH_CHANNELS_CL) { + this.dialogRef.close(); + } + if (action.type === CLActions.UPDATE_API_CALL_STATUS_CL && action.payload.status === APICallStatusEnum.ERROR) { + if (action.payload.action === 'SaveNewPeer') { + this.peerConnectionError = action.payload.message; + } else if (action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + } + }); } - onConnectPeer():boolean|void { - if(!this.peerFormGroup.controls.peerAddress.value) { return true; } + onConnectPeer(): boolean|void { + if (!this.peerFormGroup.controls.peerAddress.value) { + return true; + } this.peerConnectionError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Adding Peer...')); - this.store.dispatch(new CLActions.SaveNewPeer({id: this.peerFormGroup.controls.peerAddress.value})); -} + this.store.dispatch(new CLActions.SaveNewPeer({ id: this.peerFormGroup.controls.peerAddress.value })); + } - onOpenChannel():boolean|void { - if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0) || (this.channelFormGroup.controls.flgMinConf.value && !this.channelFormGroup.controls.minConfValue.value)) { return true; } + onOpenChannel(): boolean|void { + if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0) || (this.channelFormGroup.controls.flgMinConf.value && !this.channelFormGroup.controls.minConfValue.value)) { + return true; + } this.channelConnectionError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); this.store.dispatch(new CLActions.SaveNewChannel({ - peerId: this.newlyAddedPeer.id, satoshis: this.channelFormGroup.controls.fundingAmount.value, announce: !this.channelFormGroup.controls.isPrivate.value, feeRate: this.channelFormGroup.controls.selFeeRate.value, minconf: this.channelFormGroup.controls.flgMinConf.value ? this.channelFormGroup.controls.minConfValue.value : null + peerId: this.newlyAddedPeer.id, satoshis: this.channelFormGroup.controls.fundingAmount.value, announce: !this.channelFormGroup.controls.isPrivate.value, + feeRate: (this.channelFormGroup.controls.selFeeRate.value === 'customperkb' && !this.channelFormGroup.controls.flgMinConf.value && this.channelFormGroup.controls.customFeeRate.value) ? ((this.channelFormGroup.controls.customFeeRate.value * 1000) + 'perkb') : this.channelFormGroup.controls.selFeeRate.value, minconf: this.channelFormGroup.controls.flgMinConf.value ? this.channelFormGroup.controls.minConfValue.value : null })); } @@ -123,7 +144,7 @@ export class CLConnectPeerComponent implements OnInit, OnDestroy { this.peerFormLabel = 'Peer Details'; this.channelFormLabel = 'Open Channel (Optional)'; break; - + case 1: if (this.peerFormGroup.controls.peerAddress.value) { this.peerFormLabel = 'Peer Added: ' + (this.newlyAddedPeer.alias ? this.newlyAddedPeer.alias : this.newlyAddedPeer.id); @@ -157,11 +178,11 @@ export class CLConnectPeerComponent implements OnInit, OnDestroy { } else if (event.selectedIndex === 1) { this.channelFormGroup.controls.hiddenAmount.setValue(''); } - } + } } - + ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/peers-channels/connections.component.spec.ts b/src/app/clightning/peers-channels/connections.component.spec.ts index 602496c6..147ef376 100644 --- a/src/app/clightning/peers-channels/connections.component.spec.ts +++ b/src/app/clightning/peers-channels/connections.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { CurrencyUnitConverterComponent } from '../../shared/components/currency-unit-converter/currency-unit-converter.component'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; import { CLConnectionsComponent } from './connections.component'; describe('CLConnectionsComponent', () => { let component: CLConnectionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLConnectionsComponent ] - }) - .compileComponents(); + declarations: [CLConnectionsComponent, CurrencyUnitConverterComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('CLConnectionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/connections.component.ts b/src/app/clightning/peers-channels/connections.component.ts index f8039601..3ddfa98e 100644 --- a/src/app/clightning/peers-channels/connections.component.ts +++ b/src/app/clightning/peers-channels/connections.component.ts @@ -6,7 +6,6 @@ import { Store } from '@ngrx/store'; import { faUsers, faChartPie } from '@fortawesome/free-solid-svg-icons'; import { LoggerService } from '../../shared/services/logger.service'; -import { CommonService } from '../../shared/services/common.service'; import * as fromRTLReducer from '../../store/rtl.reducers'; @@ -16,31 +15,32 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./connections.component.scss'] }) export class CLConnectionsComponent implements OnInit, OnDestroy { + public activePeers = 0; public activeChannels = 0; public faUsers = faUsers; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'channels', name: 'Channels'}, {link: 'peers', name: 'Peers'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'channels', name: 'Channels' }, { link: 'peers', name: 'Peers' }]; public activeLink = 0; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private logger: LoggerService, private commonService: CommonService, private router: Router) {} + constructor(private store: Store, private logger: LoggerService, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.activeChannels = rtlStore.information.num_active_channels; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.balance.totalBalance || 0}, {title: 'Confirmed', dataValue: rtlStore.balance.confBalance}, {title: 'Unconfirmed', dataValue: rtlStore.balance.unconfBalance}]; - this.logger.info(rtlStore); - }); + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.activeChannels = rtlStore.information.num_active_channels; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.balance.totalBalance || 0 }, { title: 'Confirmed', dataValue: rtlStore.balance.confBalance }, { title: 'Unconfirmed', dataValue: rtlStore.balance.unconfBalance }]; + this.logger.info(rtlStore); + }); } onSelectedTabChange(event) { @@ -48,7 +48,7 @@ export class CLConnectionsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/peers-channels/peers/peers.component.html b/src/app/clightning/peers-channels/peers/peers.component.html index 5ef11e3e..0a61119d 100644 --- a/src/app/clightning/peers-channels/peers/peers.component.html +++ b/src/app/clightning/peers-channels/peers/peers.component.html @@ -1,10 +1,10 @@
-
+
-
+
Connected Peers
@@ -14,9 +14,9 @@
-
- -
Short Channel ID {{channel?.short_channel_id}} State {{channel?.state}} {{CLChannelPendingState[channel?.state]}} mSatoshi To Us -

No peers connected. Add a peer in order to open a channel.

-

No channels available.

+

No peers connected. Add a peer in order to open a channel.

+

No pending/inactive channel available.

+

Getting pending/inactive channels...

+

{{errorMessage}}

+
+ +
diff --git a/src/app/clightning/peers-channels/peers/peers.component.spec.ts b/src/app/clightning/peers-channels/peers/peers.component.spec.ts index f5b05a3e..7c83f3b4 100644 --- a/src/app/clightning/peers-channels/peers/peers.component.spec.ts +++ b/src/app/clightning/peers-channels/peers/peers.component.spec.ts @@ -1,16 +1,44 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { CLPeersComponent } from './peers.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLPeersComponent', () => { let component: CLPeersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLPeersComponent ] - }) - .compileComponents(); + declarations: [CLPeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +50,8 @@ describe('CLPeersComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/peers-channels/peers/peers.component.ts b/src/app/clightning/peers-channels/peers/peers.component.ts index 6db6e9d4..64cdc1fa 100644 --- a/src/app/clightning/peers-channels/peers/peers.component.ts +++ b/src/app/clightning/peers-channels/peers/peers.component.ts @@ -10,18 +10,18 @@ import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Peer, GetInfo } from '../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; +import { CLConnectPeerComponent } from '../connect-peer/connect-peer.component'; import { CLOpenChannelComponent } from '../channels/open-channel-modal/open-channel.component'; import { newlyAddedRowAnimation } from '../../../shared/animation/row-animation'; -import { CLEffects } from '../../store/cl.effects'; import { RTLEffects } from '../../../store/rtl.effects'; import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { CLConnectPeerComponent } from '../connect-peer/connect-peer.component'; @Component({ selector: 'rtl-cl-peers', @@ -29,12 +29,13 @@ import { CLConnectPeerComponent } from '../connect-peer/connect-peer.component'; styleUrls: ['./peers.component.scss'], animations: [newlyAddedRowAnimation], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') }, + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } ] }) export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faUsers = faUsers; public newlyAddedPeer = ''; public flgAnimate = true; @@ -44,23 +45,25 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { public peers: any; public information: GetInfo = {}; public availableBalance = 0; - public flgLoading: Array = [true]; // 0: peers public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private clEffects: CLEffects, private actions$: Actions, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private actions: Actions, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'id', 'netaddr', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'id', 'netaddr', 'actions']; } else { @@ -70,33 +73,30 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPeers') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPeers.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPeers.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPeers.message) : this.apisCallStatus.FetchPeers.message; } + this.information = rtlStore.information; + this.availableBalance = rtlStore.balance.totalBalance || 0; + this.peersData = rtlStore.peers ? rtlStore.peers : []; + if (this.peersData.length > 0) { + this.loadPeersTable(this.peersData); + } + this.logger.info(rtlStore); + }); + this.actions. + pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === CLActions.SET_PEERS_CL) + ).subscribe((setPeers: CLActions.SetPeers) => { + this.peerAddress = null; + this.flgAnimate = true; }); - this.information = rtlStore.information; - this.availableBalance = rtlStore.balance.totalBalance || 0; - this.peersData = rtlStore.peers ? rtlStore.peers : []; - if (this.peersData.length > 0) { - this.loadPeersTable(this.peersData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = false; - } - this.logger.info(rtlStore); - }); - this.actions$ - .pipe( - takeUntil(this.unSubs[1]), - filter((action) => action.type === CLActions.SET_PEERS_CL) - ).subscribe((setPeers: CLActions.SetPeers) => { - this.peerAddress = undefined; - this.flgAnimate = true; - }); } ngAfterViewInit() { @@ -107,10 +107,10 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { onPeerClick(selPeer: Peer, event: any) { const reorderedPeer = [ - [{key: 'id', value: selPeer.id, title: 'Public Key', width: 100}], - [{key: 'netaddr', value: selPeer.netaddr, title: 'Address', width: 100}], - [{key: 'alias', value: selPeer.alias, title: 'Alias', width: 50}, - {key: 'connected', value: selPeer.connected ? 'True' : 'False', title: 'Connected', width: 50}] + [{ key: 'id', value: selPeer.id, title: 'Public Key', width: 100 }], + [{ key: 'netaddr', value: selPeer.netaddr, title: 'Address', width: 100 }], + [{ key: 'alias', value: selPeer.alias, title: 'Alias', width: 50 }, + { key: 'connected', value: selPeer.connected ? 'True' : 'False', title: 'Connected', width: 50 }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, @@ -118,28 +118,28 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { showQRName: 'Public Key', showQRField: selPeer.id, message: reorderedPeer - }})); + } })); } onConnectPeer(selPeer: Peer) { this.store.dispatch(new RTLActions.OpenAlert({ data: { message: { peer: (selPeer.id ? selPeer : null), information: this.information, balance: this.availableBalance }, component: CLConnectPeerComponent - }})); + } })); } onOpenChannel(peerToAddChannel: Peer) { const peerToAddChannelMessage = { - peer: peerToAddChannel, + peer: peerToAddChannel, information: this.information, balance: this.availableBalance }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, newlyAdded: false, component: CLOpenChannelComponent - }})); + } })); } onPeerDetach(peerToDetach: Peer) { @@ -150,15 +150,14 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { titleMessage: msg, noBtnText: 'Cancel', yesBtnText: 'Disconnect' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Disconnecting Peer...')); - this.store.dispatch(new CLActions.DetachPeer({id: peerToDetach.id, force: false})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new CLActions.DetachPeer({ id: peerToDetach.id, force: false })); + } + }); } applyFilter(selFilter: any) { @@ -169,32 +168,33 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy { this.peers = new MatTableDataSource([...peersArr]); this.peers.sortingDataAccessor = (data: any, sortHeaderId: string) => { switch (sortHeaderId) { - case 'netaddr': + case 'netaddr': if (data.netaddr && data.netaddr[0]) { - let firstSplit = data.netaddr[0].toString().split('.'); + const firstSplit = data.netaddr[0].toString().split('.'); return (firstSplit[0]) ? +firstSplit[0] : data.netaddr[0]; } else { - return ''; + return ''; } default: return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; } - } + }; this.peers.sort = this.sort; this.peers.filterPredicate = (peer: Peer, fltr: string) => JSON.stringify(peer).toLowerCase().includes(fltr); this.peers.paginator = this.paginator; } onDownloadCSV() { - if(this.peers.data && this.peers.data.length > 0) { + if (this.peers.data && this.peers.data.length > 0) { this.commonService.downloadFile(this.peers.data, 'Peers'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/reports/fee/fee-report.component.html b/src/app/clightning/reports/fee/fee-report.component.html index a0234373..7c74670c 100644 --- a/src/app/clightning/reports/fee/fee-report.component.html +++ b/src/app/clightning/reports/fee/fee-report.component.html @@ -1,9 +1,14 @@
-
+ +

Getting fee report...

+
+
{{errorMessage}}
+
{{(totalFeeMsat / 1000 || 0) | number:'1.0-2'}} Sats/{{(filteredEventsBySelectedPeriod.length || 0) | number}} Events
-
No fee report for the selected period
+
No fee report for the selected period
{ let component: CLFeeReportComponent; let fixture: ComponentFixture; - const mockDataService = jasmine.createSpyObj("DataService", ["getChildAPIUrl","setChildAPIUrl","getFiatRates", - "getAliasesFromPubkeys","signMessage","verifyMessage","handleErrorWithoutAlert","handleErrorWithAlert"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLFeeReportComponent ], + declarations: [CLFeeReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], providers: [ - { provide: DataService, useValue: mockDataService } + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { @@ -28,4 +46,8 @@ describe('CLFeeReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/reports/fee/fee-report.component.ts b/src/app/clightning/reports/fee/fee-report.component.ts index 8fc4c22b..04c23e53 100644 --- a/src/app/clightning/reports/fee/fee-report.component.ts +++ b/src/app/clightning/reports/fee/fee-report.component.ts @@ -1,13 +1,13 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { ForwardingHistoryRes, ForwardingEvent } from '../../../shared/models/clModels'; -import { MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; +import { ForwardingEvent } from '../../../shared/models/clModels'; +import { APICallStatusEnum, MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; -import { DataService } from '../../../shared/services/data.service'; import { fadeIn } from '../../../shared/animation/opacity-animation'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -18,13 +18,13 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./fee-report.component.scss'], animations: [fadeIn] }) -export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class CLFeeReportComponent implements OnInit, AfterContentInit, OnDestroy { + public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; - public events: ForwardingHistoryRes = {}; + public events: ForwardingEvent[] = []; public filteredEventsBySelectedPeriod: ForwardingEvent[] = []; public eventFilterValue = ''; - public errorMessage = ''; public totalFeeMsat = null; public today = new Date(Date.now()); public startDate = new Date(this.today.getFullYear(), this.today.getMonth(), 1, 0, 0, 0); @@ -38,55 +38,57 @@ export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { public showYAxisLabel = true; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private dataService: DataService, private commonService: CommonService, private store: Store) {} + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) {} ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'GetForwardingHistory') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (rtlStore.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(rtlStore.apisCallStatus.GetForwardingHistory.message) : rtlStore.apisCallStatus.GetForwardingHistory.message; } + this.events = rtlStore.forwardingHistory ? rtlStore.forwardingHistory : []; + this.filterForwardingEvents(this.startDate, this.endDate); + this.logger.info(rtlStore); }); - this.events = (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events) ? rtlStore.forwardingHistory : {}; - this.filterForwardingEvents(this.startDate, this.endDate); - this.logger.info(rtlStore); - }); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } filterForwardingEvents(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - const endDateInSeconds = Math.round(end.getTime()/1000); + const startDateInSeconds = Math.round(start.getTime() / 1000); + const endDateInSeconds = Math.round(end.getTime() / 1000); this.filteredEventsBySelectedPeriod = []; this.feeReportData = []; this.totalFeeMsat = null; - if (this.events && this.events.forwarding_events && this.events.forwarding_events.length > 0) { - this.events.forwarding_events.forEach(event => { - if (event.status === 'settled' && event.received_time >= startDateInSeconds && event.received_time < endDateInSeconds) { + if (this.events && this.events.length > 0) { + this.events.forEach((event) => { + if (event.received_time >= startDateInSeconds && event.received_time < endDateInSeconds) { this.filteredEventsBySelectedPeriod.push(event); } }); @@ -99,9 +101,9 @@ export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { this.eventFilterValue = ''; } } - + onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.eventFilterValue = event.name + '/' + this.startDate.getFullYear(); } else { this.eventFilterValue = event.name.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -109,27 +111,29 @@ export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } prepareFeeReport(start: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - let feeReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const feeReport = []; if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - feeReport.push({name: MONTHS[i].name, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: MONTHS[i].name, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.filteredEventsBySelectedPeriod.map(event => { - let monthNumber = new Date((+event.received_time)*1000).getMonth(); + this.filteredEventsBySelectedPeriod.map((event) => { + const monthNumber = new Date((+event.received_time) * 1000).getMonth(); feeReport[monthNumber].value = feeReport[monthNumber].value + (+event.fee / 1000); feeReport[monthNumber].extra.totalEvents = feeReport[monthNumber].extra.totalEvents + 1; this.totalFeeMsat = (this.totalFeeMsat ? this.totalFeeMsat : 0) + +event.fee; + return this.filteredEventsBySelectedPeriod; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - feeReport.push({name: i + 1, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: i + 1, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.filteredEventsBySelectedPeriod.map(event => { - let dateNumber = Math.floor((+event.received_time - startDateInSeconds) / this.secondsInADay); + this.filteredEventsBySelectedPeriod.map((event) => { + const dateNumber = Math.floor((+event.received_time - startDateInSeconds) / this.secondsInADay); feeReport[dateNumber].value = feeReport[dateNumber].value + (+event.fee / 1000); feeReport[dateNumber].extra.totalEvents = feeReport[dateNumber].extra.totalEvents + 1; this.totalFeeMsat = (this.totalFeeMsat ? this.totalFeeMsat : 0) + +event.fee; + return this.filteredEventsBySelectedPeriod; }); } return feeReport; @@ -151,13 +155,14 @@ export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/reports/reports.component.spec.ts b/src/app/clightning/reports/reports.component.spec.ts index 7f3866bf..2b6aa490 100644 --- a/src/app/clightning/reports/reports.component.spec.ts +++ b/src/app/clightning/reports/reports.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { CLReportsComponent } from './reports.component'; @@ -6,11 +8,12 @@ describe('CLReportsComponent', () => { let component: CLReportsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLReportsComponent ] - }) - .compileComponents(); + declarations: [CLReportsComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('CLReportsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/reports/reports.component.ts b/src/app/clightning/reports/reports.component.ts index 8c97c259..3929b288 100644 --- a/src/app/clightning/reports/reports.component.ts +++ b/src/app/clightning/reports/reports.component.ts @@ -10,25 +10,26 @@ import { faChartBar } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./reports.component.scss'] }) export class CLReportsComponent implements OnInit, OnDestroy { + public faChartBar = faChartBar; - public links = [{link: 'routingfees', name: 'Routing Fees'}, {link: 'transactions', name: 'Transactions'}]; + public links = [{ link: 'routingfees', name: 'Routing Fees' }, { link: 'transactions', name: 'Transactions' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/reports/transactions/transactions-report.component.spec.ts b/src/app/clightning/reports/transactions/transactions-report.component.spec.ts index 7b9a370e..a76e965d 100644 --- a/src/app/clightning/reports/transactions/transactions-report.component.spec.ts +++ b/src/app/clightning/reports/transactions/transactions-report.component.spec.ts @@ -1,19 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; import { CLTransactionsReportComponent } from './transactions-report.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLTransactionsReportComponent', () => { let component: CLTransactionsReportComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLTransactionsReportComponent ] - }) - .compileComponents(); + declarations: [CLTransactionsReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { + const service = TestBed.inject(CommonService); fixture = TestBed.createComponent(CLTransactionsReportComponent); component = fixture.componentInstance; fixture.detectChanges(); @@ -22,4 +45,8 @@ describe('CLTransactionsReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/reports/transactions/transactions-report.component.ts b/src/app/clightning/reports/transactions/transactions-report.component.ts index df72f155..bcfd6281 100644 --- a/src/app/clightning/reports/transactions/transactions-report.component.ts +++ b/src/app/clightning/reports/transactions/transactions-report.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; @@ -16,7 +16,8 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./transactions-report.component.scss'], animations: [fadeIn] }) -export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class CLTransactionsReportComponent implements OnInit, AfterContentInit, OnDestroy { + public scrollRanges = SCROLL_RANGES; public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; @@ -44,32 +45,32 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.payments = rtlStore.payments; - this.invoices = rtlStore.invoices.invoices; - this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); - this.transactionsNonZeroReportData = this.prepareTableData(); - }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.payments = rtlStore.payments; + this.invoices = rtlStore.invoices.invoices; + this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); + this.transactionsNonZeroReportData = this.prepareTableData(); + }); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } @HostListener('mouseup', ['$event']) onChartMouseUp(e) { @@ -79,7 +80,7 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD } onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.transactionFilterValue = event.series + '/' + this.startDate.getFullYear(); } else { this.transactionFilterValue = event.series.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -87,45 +88,49 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD } filterTransactionsForSelectedPeriod(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - const endDateInSeconds = Math.round(end.getTime()/1000); - let transactionsReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const endDateInSeconds = Math.round(end.getTime() / 1000); + const transactionsReport = []; this.transactionsReportSummary = { paymentsSelectedPeriod: 0, invoicesSelectedPeriod: 0, amountPaidSelectedPeriod: 0, amountReceivedSelectedPeriod: 0 }; - let filteredPayments = this.payments.filter(payment => payment.status === 'complete' && payment.created_at >= startDateInSeconds && payment.created_at < endDateInSeconds); - let filteredInvoices = this.invoices.filter(invoice => invoice.status === 'paid' && invoice.paid_at >= startDateInSeconds && invoice.paid_at < endDateInSeconds); + const filteredPayments = this.payments.filter((payment) => payment.status === 'complete' && payment.created_at >= startDateInSeconds && payment.created_at < endDateInSeconds); + const filteredInvoices = this.invoices.filter((invoice) => invoice.status === 'paid' && invoice.paid_at >= startDateInSeconds && invoice.paid_at < endDateInSeconds); this.transactionsReportSummary.paymentsSelectedPeriod = filteredPayments.length; this.transactionsReportSummary.invoicesSelectedPeriod = filteredInvoices.length; if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - transactionsReport.push({name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let monthNumber = new Date((payment.created_at)*1000).getMonth(); + filteredPayments.map((payment) => { + const monthNumber = new Date((payment.created_at) * 1000).getMonth(); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + payment.msatoshi_sent; transactionsReport[monthNumber].series[0].value = transactionsReport[monthNumber].series[0].value + (payment.msatoshi_sent / 1000); transactionsReport[monthNumber].series[0].extra.total = transactionsReport[monthNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let monthNumber = new Date((+invoice.paid_at)*1000).getMonth(); + filteredInvoices.map((invoice) => { + const monthNumber = new Date((+invoice.paid_at) * 1000).getMonth(); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + invoice.msatoshi_received; transactionsReport[monthNumber].series[1].value = transactionsReport[monthNumber].series[1].value + (invoice.msatoshi_received / 1000); transactionsReport[monthNumber].series[1].extra.total = transactionsReport[monthNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - transactionsReport.push({name: (i + 1).toString(), date: new Date((((i)*this.secondsInADay) + startDateInSeconds)*1000), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: (i + 1).toString(), date: new Date((((i) * this.secondsInADay) + startDateInSeconds) * 1000), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let dateNumber = Math.floor((+payment.created_at - startDateInSeconds) / this.secondsInADay); + filteredPayments.map((payment) => { + const dateNumber = Math.floor((+payment.created_at - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + payment.msatoshi_sent; transactionsReport[dateNumber].series[0].value = transactionsReport[dateNumber].series[0].value + (payment.msatoshi_sent / 1000); transactionsReport[dateNumber].series[0].extra.total = transactionsReport[dateNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let dateNumber = Math.floor((+invoice.paid_at - startDateInSeconds) / this.secondsInADay); + filteredInvoices.map((invoice) => { + const dateNumber = Math.floor((+invoice.paid_at - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + invoice.msatoshi_received; transactionsReport[dateNumber].series[1].value = transactionsReport[dateNumber].series[1].value + (invoice.msatoshi_received / 1000); transactionsReport[dateNumber].series[1].extra.total = transactionsReport[dateNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } return transactionsReport; @@ -134,7 +139,7 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD prepareTableData() { return this.transactionsReportData.reduce((acc, curr) => { if (curr.series[0].extra.total > 0 || curr.series[1].extra.total > 0) { - return acc.concat({date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total}); + return acc.concat({ date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total }); } return acc; }, []); @@ -157,14 +162,15 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/routing/failed-transactions/failed-transactions.component.html b/src/app/clightning/routing/failed-transactions/failed-transactions.component.html index 6a14c05c..89a4405c 100644 --- a/src/app/clightning/routing/failed-transactions/failed-transactions.component.html +++ b/src/app/clightning/routing/failed-transactions/failed-transactions.component.html @@ -1,5 +1,5 @@ -
-
{{errorMessage}}
+
+
{{errorMessage}}
@@ -7,45 +7,24 @@
-
Alias @@ -60,7 +60,9 @@ -

No connected peers.

+

No connected peer.

+

Getting peers...

+

{{errorMessage}}

+ +
- + - - - - - - - - - + - - - - - - - - - - - - - +
Status{{fhEvent?.status | titlecase}}{{(fhEvent?.status === 'local_failed' ? 'local failed' : fhEvent?.status ) | titlecase}} Received Time {{(fhEvent?.received_time * 1000) | date:'dd/MMM/YYYY HH:mm'}} Resolved Time{{(fhEvent?.resolved_time * 1000) | date:'dd/MMM/YYYY HH:mm'}} In Channel{{fhEvent?.in_channel_alias || fhEvent?.in_channel}}Out Channel{{fhEvent?.out_channel_alias || fhEvent?.out_channel}}{{fhEvent?.in_channel_alias}} Amount In (Sats) {{fhEvent?.in_msatoshi/1000 | number:fhEvent?.in_msatoshi < 1000 ? '1.0-4' : '1.0-0'}} Amount Out (Sats){{fhEvent?.out_msatoshi/1000 | number:fhEvent?.out_msatoshi < 1000 ? '1.0-4' : '1.0-0'}}Fee mSat{{fhEvent?.fee | number}}Payment Hash -
{{fhEvent?.payment_hash | slice:0:10}}...
-
@@ -56,18 +35,20 @@
- + -

No forwarding event available.

+

No failed transaction available.

+

Getting failed transactions...

+

{{errorMessage}}

- +
diff --git a/src/app/clightning/routing/failed-transactions/failed-transactions.component.spec.ts b/src/app/clightning/routing/failed-transactions/failed-transactions.component.spec.ts index b891f331..ff01860f 100644 --- a/src/app/clightning/routing/failed-transactions/failed-transactions.component.spec.ts +++ b/src/app/clightning/routing/failed-transactions/failed-transactions.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { CLFailedTransactionsComponent } from './failed-transactions.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLFailedTransactionsComponent', () => { let component: CLFailedTransactionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLFailedTransactionsComponent ] - }) - .compileComponents(); + declarations: [CLFailedTransactionsComponent], + imports: [ + BrowserAnimationsModule, + RouterTestingModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('CLFailedTransactionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/routing/failed-transactions/failed-transactions.component.ts b/src/app/clightning/routing/failed-transactions/failed-transactions.component.ts index e6098022..4163de85 100644 --- a/src/app/clightning/routing/failed-transactions/failed-transactions.component.ts +++ b/src/app/clightning/routing/failed-transactions/failed-transactions.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit, ViewChild, OnDestroy, AfterViewInit } from '@angular/core'; +import { Router } from '@angular/router'; import { DatePipe } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -8,10 +9,12 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ForwardingEvent } from '../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; +import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -24,104 +27,108 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; ] }) export class CLFailedTransactionsComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public failedEvents: any; public errorMessage = ''; public displayedColumns: any[] = []; - public forwardingHistoryEvents: any; + public failedForwardingEvents: any; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe, private router: Router) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; - this.displayedColumns = ['status', 'in_msatoshi', 'out_msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + this.displayedColumns = ['status', 'received_time', 'in_msatoshi', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; - this.displayedColumns = ['status', 'in_msatoshi', 'out_msatoshi', 'fee', 'actions']; + this.displayedColumns = ['status', 'received_time', 'in_msatoshi', 'actions']; } else { this.flgSticky = true; - this.displayedColumns = ['status', 'received_time', 'resolved_time', 'in_channel', 'out_channel', 'in_msatoshi', 'out_msatoshi', 'fee', 'actions']; + this.displayedColumns = ['status', 'received_time', 'in_channel', 'in_msatoshi', 'actions']; } } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'GetForwardingHistory') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.router.routeReuseStrategy.shouldReuseRoute = () => false; + this.router.onSameUrlNavigation = 'reload'; + this.store.dispatch(new CLActions.GetFailedForwardingHistory()); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (this.apisCallStatus.GetFailedForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.GetFailedForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetFailedForwardingHistory.message) : this.apisCallStatus.GetFailedForwardingHistory.message; + } + this.failedEvents = (rtlStore.failedForwardingHistory) ? rtlStore.failedForwardingHistory : []; + if (this.failedEvents.length > 0 && this.sort && this.paginator) { + this.loadFailedEventsTable(this.failedEvents); } + this.logger.info(rtlStore); }); - this.failedEvents = (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events && rtlStore.forwardingHistory.forwarding_events.length > 0) ? this.filterFailedEvents(rtlStore.forwardingHistory.forwarding_events) : []; - this.loadForwardingEventsTable(this.failedEvents); - this.logger.info(rtlStore); - }); } ngAfterViewInit() { if (this.failedEvents.length > 0) { - this.loadForwardingEventsTable(this.failedEvents); + this.loadFailedEventsTable(this.failedEvents); } } - filterFailedEvents(events) { - return events.filter(event => event.status !== 'settled'); - } - - onForwardingEventClick(selFEvent: ForwardingEvent, event: any) { + onFailedEventClick(selFEvent: ForwardingEvent) { const reorderedFHEvent = [ - [{key: 'payment_hash', value: selFEvent.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'received_time', value: selFEvent.received_time, title: 'Received Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'resolved_time', value: selFEvent.resolved_time, title: 'Resolved Time', width: 50, type: DataTypeEnum.DATE_TIME}], - [{key: 'in_channel', value: selFEvent.in_channel_alias ? selFEvent.in_channel_alias : selFEvent.in_channel, title: 'Inbound Channel', width: 50, type: DataTypeEnum.STRING}, - {key: 'out_channel', value: selFEvent.out_channel_alias ? selFEvent.out_channel_alias : selFEvent.out_channel, title: 'Outbound Channel', width: 50, type: DataTypeEnum.STRING}], - [{key: 'status', value: (selFEvent.status=== 'settled' ? 'Settled' : 'Unsettled'), title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'fee', value: selFEvent.fee, title: 'Fee (mSats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'in_msatoshi', value: selFEvent.in_msatoshi, title: 'In (mSats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'out_msatoshi', value: selFEvent.out_msatoshi, title: 'Out (mSats)', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'payment_hash', value: selFEvent.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'status', value: selFEvent.status === 'local_failed' ? 'Local Failed' : this.commonService.titleCase(selFEvent.status), title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'received_time', value: selFEvent.received_time, title: 'Received Time', width: 50, type: DataTypeEnum.DATE_TIME }], + [{ key: 'in_channel', value: selFEvent.in_channel_alias, title: 'Inbound Channel', width: 50, type: DataTypeEnum.STRING }, + { key: 'in_msatoshi', value: selFEvent.in_msatoshi, title: 'In (mSats)', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Event Information', message: reorderedFHEvent - }})); + } })); } - loadForwardingEventsTable(forwardingEvents: ForwardingEvent[]) { - this.forwardingHistoryEvents = new MatTableDataSource([...forwardingEvents]); - this.forwardingHistoryEvents.sort = this.sort; - this.forwardingHistoryEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; - this.forwardingHistoryEvents.paginator = this.paginator; - this.forwardingHistoryEvents.filterPredicate = (event: ForwardingEvent, fltr: string) => { - const newEvent = (event.status ? event.status.toLowerCase() : '') + (event.received_time ? this.datePipe.transform(new Date(event.received_time*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + (event.resolved_time ? this.datePipe.transform(new Date(event.resolved_time*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + (event.in_channel ? event.in_channel.toLowerCase() : '') + (event.out_channel ? event.out_channel.toLowerCase() : '') + (event.in_msatoshi ? (event.in_msatoshi/1000) : '') + (event.out_msatoshi ? (event.out_msatoshi/1000) : '') + (event.fee ? event.fee : ''); + loadFailedEventsTable(forwardingEvents: ForwardingEvent[]) { + this.failedForwardingEvents = new MatTableDataSource([...forwardingEvents]); + this.failedForwardingEvents.sort = this.sort; + this.failedForwardingEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); + this.failedForwardingEvents.paginator = this.paginator; + this.failedForwardingEvents.filterPredicate = (event: ForwardingEvent, fltr: string) => { + const newEvent = (event.status ? (event.status === 'local_failed') ? 'local failed' : event.status.toLowerCase() : '') + + (event.received_time ? this.datePipe.transform(new Date(event.received_time * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + + (event.resolved_time ? this.datePipe.transform(new Date(event.resolved_time * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + + (event.in_channel ? event.in_channel.toLowerCase() : '') + (event.out_channel ? event.out_channel.toLowerCase() : '') + + (event.in_msatoshi ? (event.in_msatoshi / 1000) : '') + (event.out_msatoshi ? (event.out_msatoshi / 1000) : '') + (event.fee ? event.fee : ''); return newEvent.includes(fltr); - }; - this.logger.info(this.forwardingHistoryEvents); + }; + this.logger.info(this.failedForwardingEvents); } onDownloadCSV() { - if(this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { - this.commonService.downloadFile(this.forwardingHistoryEvents.data, 'Failed-transactions'); + if (this.failedForwardingEvents && this.failedForwardingEvents.data && this.failedForwardingEvents.data.length > 0) { + this.commonService.downloadFile(this.failedForwardingEvents.data, 'Failed-transactions'); } } applyFilter(selFilter: any) { - this.forwardingHistoryEvents.filter = selFilter.value.trim().toLowerCase(); + this.failedForwardingEvents.filter = selFilter.value.trim().toLowerCase(); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/routing/forwarding-history/forwarding-history.component.html b/src/app/clightning/routing/forwarding-history/forwarding-history.component.html index 1944ddaf..f8759e33 100644 --- a/src/app/clightning/routing/forwarding-history/forwarding-history.component.html +++ b/src/app/clightning/routing/forwarding-history/forwarding-history.component.html @@ -1,5 +1,5 @@ -
-
{{errorMessage}}
+
+
{{errorMessage}}
@@ -7,6 +7,7 @@
+ @@ -22,11 +23,11 @@ - + - + @@ -40,12 +41,6 @@ - - - - @@ -69,5 +66,5 @@
Status In Channel{{fhEvent?.in_channel_alias || fhEvent?.in_channel}}{{fhEvent?.in_channel_alias}} Out Channel{{fhEvent?.out_channel_alias || fhEvent?.out_channel}}{{fhEvent?.out_channel_alias}} Amount In (Sats)Fee (mSat) {{fhEvent?.fee | number}} Payment Hash -
{{fhEvent?.payment_hash | slice:0:10}}...
-
@@ -61,7 +56,9 @@
-

No forwarding event available.

+

No forwarding history available.

+

Getting forwarding history...

+

{{errorMessage}}

- +
diff --git a/src/app/clightning/routing/forwarding-history/forwarding-history.component.spec.ts b/src/app/clightning/routing/forwarding-history/forwarding-history.component.spec.ts index f4d5e139..42097b51 100644 --- a/src/app/clightning/routing/forwarding-history/forwarding-history.component.spec.ts +++ b/src/app/clightning/routing/forwarding-history/forwarding-history.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { CLForwardingHistoryComponent } from './forwarding-history.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLForwardingHistoryComponent', () => { let component: CLForwardingHistoryComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLForwardingHistoryComponent ] - }) - .compileComponents(); + declarations: [CLForwardingHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('CLForwardingHistoryComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/routing/forwarding-history/forwarding-history.component.ts b/src/app/clightning/routing/forwarding-history/forwarding-history.component.ts index a8c76099..96a1c966 100644 --- a/src/app/clightning/routing/forwarding-history/forwarding-history.component.ts +++ b/src/app/clightning/routing/forwarding-history/forwarding-history.component.ts @@ -8,7 +8,8 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ForwardingEvent } from '../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -24,12 +25,12 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; ] }) export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; @Input() eventsData = []; @Input() filterValue = ''; public successfulEvents = []; - public errorMessage = ''; public displayedColumns: any[] = []; public forwardingHistoryEvents: any; public flgSticky = false; @@ -37,14 +38,17 @@ export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterVie public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['in_msatoshi', 'out_msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['received_time', 'in_msatoshi', 'out_msatoshi', 'fee', 'actions']; } else { @@ -54,21 +58,22 @@ export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterVie } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if (this.eventsData.length <= 0) { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'GetForwardingHistory') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (this.eventsData.length <= 0) { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (this.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; } - }); - this.successfulEvents = (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events && rtlStore.forwardingHistory.forwarding_events.length > 0) ? this.filterSuccessfulEvents(rtlStore.forwardingHistory.forwarding_events) : []; - this.loadForwardingEventsTable(this.successfulEvents); - this.logger.info(rtlStore); - } - }); + this.successfulEvents = rtlStore.forwardingHistory ? rtlStore.forwardingHistory : []; + if (this.successfulEvents.length > 0 && this.sort && this.paginator) { + this.loadForwardingEventsTable(this.successfulEvents); + } + this.logger.info(rtlStore); + } + }); } ngAfterViewInit() { @@ -90,43 +95,42 @@ export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterVie } } - filterSuccessfulEvents(events) { - return events.filter(event => event.status === 'settled'); - } - onForwardingEventClick(selFEvent: ForwardingEvent, event: any) { const reorderedFHEvent = [ - [{key: 'payment_hash', value: selFEvent.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'received_time', value: selFEvent.received_time, title: 'Received Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'resolved_time', value: selFEvent.resolved_time, title: 'Resolved Time', width: 50, type: DataTypeEnum.DATE_TIME}], - [{key: 'in_channel', value: selFEvent.in_channel_alias ? selFEvent.in_channel_alias : selFEvent.in_channel, title: 'Inbound Channel', width: 50, type: DataTypeEnum.STRING}, - {key: 'out_channel', value: selFEvent.out_channel_alias ? selFEvent.out_channel_alias : selFEvent.out_channel, title: 'Outbound Channel', width: 50, type: DataTypeEnum.STRING}], - [{key: 'status', value: (selFEvent.status === 'settled' ? 'Settled' : 'Failed'), title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'fee', value: selFEvent.fee, title: 'Fee (mSats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'in_msatoshi', value: selFEvent.in_msatoshi, title: 'In (mSats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'out_msatoshi', value: selFEvent.out_msatoshi, title: 'Out (mSats)', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'payment_hash', value: selFEvent.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'status', value: 'Settled', title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'fee', value: selFEvent.fee, title: 'Fee (mSats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'received_time', value: selFEvent.received_time, title: 'Received Time', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'resolved_time', value: selFEvent.resolved_time, title: 'Resolved Time', width: 50, type: DataTypeEnum.DATE_TIME }], + [{ key: 'in_channel', value: selFEvent.in_channel_alias, title: 'Inbound Channel', width: 50, type: DataTypeEnum.STRING }, + { key: 'out_channel', value: selFEvent.out_channel_alias, title: 'Outbound Channel', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'in_msatoshi', value: selFEvent.in_msatoshi, title: 'In (mSats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'out_msatoshi', value: selFEvent.out_msatoshi, title: 'Out (mSats)', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Event Information', message: reorderedFHEvent - }})); + } })); } loadForwardingEventsTable(forwardingEvents: ForwardingEvent[]) { this.forwardingHistoryEvents = new MatTableDataSource([...forwardingEvents]); this.forwardingHistoryEvents.sort = this.sort; - this.forwardingHistoryEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.forwardingHistoryEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.forwardingHistoryEvents.paginator = this.paginator; this.forwardingHistoryEvents.filterPredicate = (event: ForwardingEvent, fltr: string) => { - const newEvent = (event.received_time ? this.datePipe.transform(new Date(event.received_time*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + (event.resolved_time ? this.datePipe.transform(new Date(event.resolved_time*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + (event.in_channel ? event.in_channel.toLowerCase() : '') + (event.out_channel ? event.out_channel.toLowerCase() : '') + (event.in_msatoshi ? (event.in_msatoshi/1000) : '') + (event.out_msatoshi ? (event.out_msatoshi/1000) : '') + (event.fee ? event.fee : ''); + const newEvent = (event.received_time ? this.datePipe.transform(new Date(event.received_time * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + + (event.resolved_time ? this.datePipe.transform(new Date(event.resolved_time * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + + (event.in_channel ? event.in_channel.toLowerCase() : '') + (event.out_channel ? event.out_channel.toLowerCase() : '') + + (event.in_msatoshi ? (event.in_msatoshi / 1000) : '') + (event.out_msatoshi ? (event.out_msatoshi / 1000) : '') + (event.fee ? event.fee : ''); return newEvent.includes(fltr); - }; + }; this.logger.info(this.forwardingHistoryEvents); } onDownloadCSV() { - if(this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { + if (this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { this.commonService.downloadFile(this.forwardingHistoryEvents.data, 'Forwarding-history'); } } @@ -138,9 +142,10 @@ export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterVie } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/routing/routing-peers/routing-peers.component.html b/src/app/clightning/routing/routing-peers/routing-peers.component.html new file mode 100644 index 00000000..5f8a3722 --- /dev/null +++ b/src/app/clightning/routing/routing-peers/routing-peers.component.html @@ -0,0 +1,95 @@ +
+
{{errorMessage}}
+
+
+
+
Incoming
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Channel ID{{rPeer.channel_id}}Peer Alias{{rPeer.alias}}Events{{rPeer.events | number}} + Amount (Sats){{rPeer.total_amount | number}}Fee (Sats){{rPeer.total_fee | number}} +

No incoming routing peer available.

+

Getting incoming routing peers...

+

{{errorMessage}}

+
+
+ +
+
+
+
Outgoing
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Channel ID{{rPeer.channel_id}}Peer Alias{{rPeer.alias}}Events{{rPeer.events | number}} + Amount (Sats){{rPeer.total_amount | number}}Fee (Sats){{rPeer.total_fee | number}} +

No outgoing routing peer available.

+

Getting outgoing routing peers...

+

{{errorMessage}}

+
+ +
+
+
+
diff --git a/src/app/clightning/routing/routing-peers/routing-peers.component.scss b/src/app/clightning/routing/routing-peers/routing-peers.component.scss new file mode 100644 index 00000000..fcd63fdf --- /dev/null +++ b/src/app/clightning/routing/routing-peers/routing-peers.component.scss @@ -0,0 +1,6 @@ +.mat-column-channelId, .mat-column-alias { + flex: 1 1 10%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/src/app/clightning/routing/routing-peers/routing-peers.component.spec.ts b/src/app/clightning/routing/routing-peers/routing-peers.component.spec.ts new file mode 100644 index 00000000..bd9c4720 --- /dev/null +++ b/src/app/clightning/routing/routing-peers/routing-peers.component.spec.ts @@ -0,0 +1,52 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { CommonService } from '../../../shared/services/common.service'; +import { CLRoutingPeersComponent } from './routing-peers.component'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SharedModule } from '../../../shared/shared.module'; +import { DataService } from '../../../shared/services/data.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; + +describe('CLRoutingPeersComponent', () => { + let component: CLRoutingPeersComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [CLRoutingPeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CLRoutingPeersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); +}); diff --git a/src/app/clightning/routing/routing-peers/routing-peers.component.ts b/src/app/clightning/routing/routing-peers/routing-peers.component.ts new file mode 100644 index 00000000..30229c45 --- /dev/null +++ b/src/app/clightning/routing/routing-peers/routing-peers.component.ts @@ -0,0 +1,160 @@ +import { Component, OnInit, AfterViewInit, ViewChild, OnDestroy, Input, SimpleChanges, OnChanges } from '@angular/core'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; +import { Store } from '@ngrx/store'; + +import { MatSort } from '@angular/material/sort'; +import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ForwardingEvent, RoutingPeer } from '../../../shared/models/clModels'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { CommonService } from '../../../shared/services/common.service'; + +import * as fromRTLReducer from '../../../store/rtl.reducers'; + +@Component({ + selector: 'rtl-cl-routing-peers', + templateUrl: './routing-peers.component.html', + styleUrls: ['./routing-peers.component.scss'], + providers: [ + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } + ] +}) +export class CLRoutingPeersComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { + + @ViewChild('tableIn', { read: MatSort, static: false }) sortIn: MatSort; + @ViewChild('tableOut', { read: MatSort, static: false }) sortOut: MatSort; + @ViewChild('paginatorIn', { static: false }) paginatorIn: MatPaginator|undefined; + @ViewChild('paginatorOut', { static: false }) paginatorOut: MatPaginator|undefined; + @Input() eventsData = []; + @Input() filterValue = ''; + public successfulEvents = []; + public displayedColumns: any[] = []; + public RoutingPeersIncoming: any = []; + public RoutingPeersOutgoing: any = []; + public flgSticky = false; + public pageSize = PAGE_SIZE; + public pageSizeOptions = PAGE_SIZE_OPTIONS; + public screenSize = ''; + public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; + private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; + + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { + this.screenSize = this.commonService.getScreenSize(); + if (this.screenSize === ScreenSizeEnum.XS) { + this.flgSticky = false; + this.displayedColumns = ['alias', 'total_fee']; + } else if (this.screenSize === ScreenSizeEnum.SM) { + this.flgSticky = false; + this.displayedColumns = ['alias', 'events', 'total_fee']; + } else if (this.screenSize === ScreenSizeEnum.MD) { + this.flgSticky = false; + this.displayedColumns = ['alias', 'events', 'total_amount', 'total_fee']; + } else { + this.flgSticky = true; + this.displayedColumns = ['channel_id', 'alias', 'events', 'total_amount', 'total_fee']; + } + } + + ngOnInit() { + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (this.eventsData.length <= 0) { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (this.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; + } + this.successfulEvents = rtlStore.forwardingHistory ? rtlStore.forwardingHistory : []; + if (this.successfulEvents.length > 0 && this.sortIn && this.paginatorIn && this.sortOut && this.paginatorOut) { + this.loadRoutingPeersTable(this.successfulEvents); + } + this.logger.info(rtlStore); + } + }); + } + + ngAfterViewInit() { + if (this.successfulEvents.length > 0) { + this.loadRoutingPeersTable(this.successfulEvents); + } + } + + ngOnChanges(changes: SimpleChanges) { + if (changes.eventsData) { + this.eventsData = changes.eventsData.currentValue; + this.successfulEvents = this.eventsData; + if (!changes.eventsData.firstChange) { + this.loadRoutingPeersTable(this.successfulEvents); + } + } + } + + loadRoutingPeersTable(events: ForwardingEvent[]) { + if (events.length > 0) { + const results = this.groupRoutingPeers(events); + this.RoutingPeersIncoming = new MatTableDataSource(results[0]); + this.RoutingPeersIncoming.sort = this.sortIn; + this.RoutingPeersIncoming.filterPredicate = (rpIn: RoutingPeer, fltr: string) => JSON.stringify(rpIn).toLowerCase().includes(fltr); + this.RoutingPeersIncoming.paginator = this.paginatorIn; + this.logger.info(this.RoutingPeersIncoming); + this.RoutingPeersOutgoing = new MatTableDataSource(results[1]); + this.RoutingPeersOutgoing.sort = this.sortOut; + this.RoutingPeersOutgoing.filterPredicate = (rpOut: RoutingPeer, fltr: string) => JSON.stringify(rpOut).toLowerCase().includes(fltr); + this.RoutingPeersOutgoing.paginator = this.paginatorOut; + this.logger.info(this.RoutingPeersOutgoing); + } else { + // To reset table after other Forwarding history calls + this.RoutingPeersIncoming = new MatTableDataSource([]); + this.RoutingPeersOutgoing = new MatTableDataSource([]); + } + this.logger.info(this.RoutingPeersIncoming); + this.logger.info(this.RoutingPeersOutgoing); + } + + groupRoutingPeers(forwardingEvents: ForwardingEvent[]) { + const incomingResults: RoutingPeer[] = []; + const outgoingResults: RoutingPeer[] = []; + forwardingEvents.forEach((event) => { + const incoming = incomingResults.find((result) => result.channel_id === event.in_channel); + const outgoing = outgoingResults.find((result) => result.channel_id === event.out_channel); + if (!incoming) { + incomingResults.push({ channel_id: event.in_channel, alias: event.in_channel_alias, events: 1, total_amount: event.in_msatoshi, total_fee: (event.in_msatoshi - event.out_msatoshi) }); + } else { + incoming.events++; + incoming.total_amount = +incoming.total_amount + +event.in_msatoshi; + incoming.total_fee = +incoming.total_fee + (event.in_msatoshi - event.out_msatoshi); + } + if (!outgoing) { + outgoingResults.push({ channel_id: event.out_channel, alias: event.out_channel_alias, events: 1, total_amount: event.out_msatoshi, total_fee: (event.in_msatoshi - event.out_msatoshi) }); + } else { + outgoing.events++; + outgoing.total_amount = +outgoing.total_amount + +event.out_msatoshi; + outgoing.total_fee = +outgoing.total_fee + (event.in_msatoshi - event.out_msatoshi); + } + }); + return [this.commonService.sortDescByKey(incomingResults, 'total_fee'), this.commonService.sortDescByKey(outgoingResults, 'total_fee')]; + } + + applyIncomingFilter(selFilter: any) { + this.RoutingPeersIncoming.filter = selFilter.value.trim().toLowerCase(); + } + + applyOutgoingFilter(selFilter: any) { + this.RoutingPeersOutgoing.filter = selFilter.value.trim().toLowerCase(); + } + + ngOnDestroy() { + this.unSubs.forEach((completeSub) => { + completeSub.next(null); + completeSub.complete(); + }); + } + +} diff --git a/src/app/clightning/routing/routing.component.html b/src/app/clightning/routing/routing.component.html index ca6d9d0b..8867948d 100644 --- a/src/app/clightning/routing/routing.component.html +++ b/src/app/clightning/routing/routing.component.html @@ -1,4 +1,4 @@ -
+
Routing diff --git a/src/app/clightning/routing/routing.component.spec.ts b/src/app/clightning/routing/routing.component.spec.ts index 8ac167c6..44d18306 100644 --- a/src/app/clightning/routing/routing.component.spec.ts +++ b/src/app/clightning/routing/routing.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { CLRoutingComponent } from './routing.component'; @@ -6,11 +8,12 @@ describe('CLRoutingComponent', () => { let component: CLRoutingComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLRoutingComponent ] - }) - .compileComponents(); + declarations: [CLRoutingComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('CLRoutingComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/routing/routing.component.ts b/src/app/clightning/routing/routing.component.ts index 731e9361..98c45c0f 100644 --- a/src/app/clightning/routing/routing.component.ts +++ b/src/app/clightning/routing/routing.component.ts @@ -2,36 +2,34 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; import { Router, ResolveEnd } from '@angular/router'; import { Subject } from 'rxjs'; import { takeUntil, filter } from 'rxjs/operators'; -import { Store } from '@ngrx/store'; import { faMapSigns } from '@fortawesome/free-solid-svg-icons'; -import * as fromRTLReducer from '../../store/rtl.reducers'; - @Component({ selector: 'rtl-cl-routing', templateUrl: './routing.component.html', styleUrls: ['./routing.component.scss'] }) export class CLRoutingComponent implements OnInit, OnDestroy { + public faMapSigns = faMapSigns; - public links = [{link: 'forwardinghistory', name: 'Forwarding History'}, {link: 'failedtransactions', name: 'Failed Transactions'}]; + public links = [{ link: 'forwardinghistory', name: 'Forwarding History' }, { link: 'routingpeers', name: 'Routing Peers' }, { link: 'failedtransactions', name: 'Failed Transactions' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private router: Router) {} + constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/sign-verify-message/sign-verify-message.component.spec.ts b/src/app/clightning/sign-verify-message/sign-verify-message.component.spec.ts index 99d19ff3..ce0374ee 100644 --- a/src/app/clightning/sign-verify-message/sign-verify-message.component.spec.ts +++ b/src/app/clightning/sign-verify-message/sign-verify-message.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { CLSignVerifyMessageComponent } from './sign-verify-message.component'; @@ -6,11 +8,12 @@ describe('CLSignVerifyMessageComponent', () => { let component: CLSignVerifyMessageComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLSignVerifyMessageComponent ] - }) - .compileComponents(); + declarations: [CLSignVerifyMessageComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('CLSignVerifyMessageComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/sign-verify-message/sign-verify-message.component.ts b/src/app/clightning/sign-verify-message/sign-verify-message.component.ts index c9a7b734..7a0774ba 100644 --- a/src/app/clightning/sign-verify-message/sign-verify-message.component.ts +++ b/src/app/clightning/sign-verify-message/sign-verify-message.component.ts @@ -10,25 +10,26 @@ import { faUserCheck } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./sign-verify-message.component.scss'] }) export class CLSignVerifyMessageComponent implements OnInit, OnDestroy { + public faUserCheck = faUserCheck; - public links = [{link: 'sign', name: 'Sign'}, {link: 'verify', name: 'Verify'}]; + public links = [{ link: 'sign', name: 'Sign' }, { link: 'verify', name: 'Verify' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/sign-verify-message/sign/sign.component.spec.ts b/src/app/clightning/sign-verify-message/sign/sign.component.spec.ts index d9e63e77..d081954c 100644 --- a/src/app/clightning/sign-verify-message/sign/sign.component.spec.ts +++ b/src/app/clightning/sign-verify-message/sign/sign.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoggerService } from '../../../shared/services/logger.service'; +import { DataService } from '../../../shared/services/data.service'; import { CLSignComponent } from './sign.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('CLSignComponent', () => { let component: CLSignComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLSignComponent ] - }) - .compileComponents(); + declarations: [CLSignComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [ + LoggerService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('CLSignComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/sign-verify-message/sign/sign.component.ts b/src/app/clightning/sign-verify-message/sign/sign.component.ts index 7ffd1aed..bd0e6b41 100644 --- a/src/app/clightning/sign-verify-message/sign/sign.component.ts +++ b/src/app/clightning/sign-verify-message/sign/sign.component.ts @@ -12,6 +12,7 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./sign.component.scss'] }) export class CLSignComponent implements OnDestroy { + public message = ''; public signedMessage = ''; public signature = ''; @@ -19,23 +20,27 @@ export class CLSignComponent implements OnDestroy { constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {} - onSign():boolean|void { - if (!this.message || this.message === '') { return true; } - this.dataService.signMessage(this.message).pipe(takeUntil(this.unSubs[0])).subscribe(res => { + onSign(): boolean|void { + if (!this.message || this.message === '') { + return true; + } + this.dataService.signMessage(this.message).pipe(takeUntil(this.unSubs[0])).subscribe((res) => { this.signedMessage = this.message; - this.signature = res.zbase; + this.signature = res.zbase; }); - } + } onMessageChange() { - if (this.signedMessage !== this.message) { this.signature = ''; } + if (this.signedMessage !== this.message) { + this.signature = ''; + } } onCopyField(payload: string) { this.snackBar.open('Signature copied.'); this.logger.info('Copied Text: ' + payload); } - + resetData() { this.message = ''; this.signature = ''; @@ -43,9 +48,10 @@ export class CLSignComponent implements OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/sign-verify-message/verify/verify.component.spec.ts b/src/app/clightning/sign-verify-message/verify/verify.component.spec.ts index 6af3a908..1ddbe39a 100644 --- a/src/app/clightning/sign-verify-message/verify/verify.component.spec.ts +++ b/src/app/clightning/sign-verify-message/verify/verify.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoggerService } from '../../../shared/services/logger.service'; +import { DataService } from '../../../shared/services/data.service'; import { CLVerifyComponent } from './verify.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('CLVerifyComponent', () => { let component: CLVerifyComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLVerifyComponent ] - }) - .compileComponents(); + declarations: [CLVerifyComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('CLVerifyComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/sign-verify-message/verify/verify.component.ts b/src/app/clightning/sign-verify-message/verify/verify.component.ts index b531d80a..f381b6f4 100644 --- a/src/app/clightning/sign-verify-message/verify/verify.component.ts +++ b/src/app/clightning/sign-verify-message/verify/verify.component.ts @@ -12,31 +12,34 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./verify.component.scss'] }) export class CLVerifyComponent implements OnDestroy { + public message = ''; public verifiedMessage = ''; public signature = ''; public verifiedSignature = ''; public showVerifyStatus = false; - public verifyRes = {pubkey: '', verified: null}; + public verifyRes = { pubkey: '', verified: null }; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {} - onVerify():boolean|void { - if ((!this.message || this.message === '') || (!this.signature || this.signature === '')) { return true; } - this.dataService.verifyMessage(this.message, this.signature).pipe(takeUntil(this.unSubs[0])) - .subscribe(res => { - this.verifyRes = res; - this.showVerifyStatus = true; - this.verifiedMessage = this.message; - this.verifiedSignature = this.signature; - }); - } + onVerify(): boolean|void { + if ((!this.message || this.message === '') || (!this.signature || this.signature === '')) { + return true; + } + this.dataService.verifyMessage(this.message, this.signature).pipe(takeUntil(this.unSubs[0])). + subscribe((res) => { + this.verifyRes = res; + this.showVerifyStatus = true; + this.verifiedMessage = this.message; + this.verifiedSignature = this.signature; + }); + } onChange() { - if (this.verifiedMessage !== this.message || this.verifiedSignature !== this.signature) { + if (this.verifiedMessage !== this.message || this.verifiedSignature !== this.signature) { this.showVerifyStatus = false; - this.verifyRes = {pubkey: '', verified: null}; + this.verifyRes = { pubkey: '', verified: null }; } } @@ -53,9 +56,10 @@ export class CLVerifyComponent implements OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/clightning/store/cl.actions.ts b/src/app/clightning/store/cl.actions.ts index 059594d5..6615d72a 100644 --- a/src/app/clightning/store/cl.actions.ts +++ b/src/app/clightning/store/cl.actions.ts @@ -1,14 +1,12 @@ import { Action } from '@ngrx/store'; -import { ErrorPayload } from '../../shared/models/errorPayload'; +import { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../shared/models/RTLconfig'; import { GetInfo, Fees, Peer, Payment, PayRequest, QueryRoutes, Channel, FeeRates, - ForwardingHistoryRes, Invoice, ListInvoices, OnChain, UTXO -} from '../../shared/models/clModels'; + ForwardingEvent, Invoice, ListInvoices, OnChain, UTXO } from '../../shared/models/clModels'; export const RESET_CL_STORE = 'RESET_CL_STORE'; -export const CLEAR_EFFECT_ERROR_CL = 'CLEAR_EFFECT_ERROR_CL'; -export const EFFECT_ERROR_CL = 'EFFECT_ERROR_CL'; +export const UPDATE_API_CALL_STATUS_CL = 'UPDATE_API_CALL_STATUS_CL'; export const SET_CHILD_NODE_SETTINGS_CL = 'SET_CHILD_NODE_SETTINGS_CL'; export const FETCH_INFO_CL = 'FETCH_INFO_CL_CL'; export const SET_INFO_CL = 'SET_INFO_CL'; @@ -51,6 +49,8 @@ export const INVOICE_LOOKUP_CL = 'INVOICE_LOOKUP_CL'; export const SET_LOOKUP_CL = 'SET_LOOKUP_CL'; export const GET_FORWARDING_HISTORY_CL = 'GET_FORWARDING_HISTORY_CL'; export const SET_FORWARDING_HISTORY_CL = 'SET_FORWARDING_HISTORY_CL'; +export const GET_FAILED_FORWARDING_HISTORY_CL = 'GET_FAILED_FORWARDING_HISTORY_CL'; +export const SET_FAILED_FORWARDING_HISTORY_CL = 'SET_FAILED_FORWARDING_HISTORY_CL'; export const FETCH_INVOICES_CL = 'FETCH_INVOICES_CL'; export const SET_INVOICES_CL = 'SET_INVOICES_CL'; export const SAVE_NEW_INVOICE_CL = 'SAVE_NEW_INVOICE_CL'; @@ -59,260 +59,370 @@ export const DELETE_EXPIRED_INVOICE_CL = 'DELETE_EXPIRED_INVOICE_CL'; export const SET_CHANNEL_TRANSACTION_CL = 'SET_CHANNEL_TRANSACTION_CL'; export const SET_CHANNEL_TRANSACTION_RES_CL = 'SET_CHANNEL_TRANSACTION_RES_CL'; -export class ClearEffectError implements Action { - readonly type = CLEAR_EFFECT_ERROR_CL; - constructor(public payload: string) { } // payload = errorAction -} +export class UpdateAPICallStatus implements Action { + + readonly type = UPDATE_API_CALL_STATUS_CL; + constructor(public payload: ApiCallStatusPayload) { } -export class EffectError implements Action { - readonly type = EFFECT_ERROR_CL; - constructor(public payload: ErrorPayload) { } } export class ResetCLStore implements Action { + readonly type = RESET_CL_STORE; constructor(public payload: SelNodeChild) {} + } export class SetChildNodeSettings implements Action { + readonly type = SET_CHILD_NODE_SETTINGS_CL; constructor(public payload: SelNodeChild) {} + } export class FetchInfo implements Action { + readonly type = FETCH_INFO_CL; constructor(public payload: {loadPage: string}) {} + } export class SetInfo implements Action { + readonly type = SET_INFO_CL; constructor(public payload: GetInfo) {} + } export class FetchFees implements Action { + readonly type = FETCH_FEES_CL; + } export class SetFees implements Action { + readonly type = SET_FEES_CL; constructor(public payload: Fees) {} + } export class FetchFeeRates implements Action { + readonly type = FETCH_FEE_RATES_CL; - constructor(public payload: string) {} //feeRateStyle + constructor(public payload: string) {} // FeeRateStyle + } export class SetFeeRates implements Action { + readonly type = SET_FEE_RATES_CL; constructor(public payload: FeeRates) {} + } export class FetchBalance implements Action { + readonly type = FETCH_BALANCE_CL; + } export class SetBalance implements Action { + readonly type = SET_BALANCE_CL; constructor(public payload: {}) {} + } export class FetchLocalRemoteBalance implements Action { + readonly type = FETCH_LOCAL_REMOTE_BALANCE_CL; + } export class SetLocalRemoteBalance implements Action { + readonly type = SET_LOCAL_REMOTE_BALANCE_CL; constructor(public payload: {localBalance: number, remoteBalance: number}) {} + } export class GetNewAddress implements Action { + readonly type = GET_NEW_ADDRESS_CL; constructor(public payload: { addressId?: string, addressCode?: string, addressTp?: string, addressDetails?: string}) {} + } export class SetNewAddress implements Action { + readonly type = SET_NEW_ADDRESS_CL; - constructor(public payload: string) {} // payload = newAddress + constructor(public payload: string) {} // Payload = newAddress + } export class FetchPeers implements Action { + readonly type = FETCH_PEERS_CL; + } export class SetPeers implements Action { + readonly type = SET_PEERS_CL; constructor(public payload: Peer[]) {} + } export class SaveNewPeer implements Action { + readonly type = SAVE_NEW_PEER_CL; constructor(public payload: {id: string}) {} + } export class NewlyAddedPeer implements Action { + readonly type = NEWLY_ADDED_PEER_CL; constructor(public payload: { peer: Peer, balance: number}) {} + } export class AddPeer implements Action { + readonly type = ADD_PEER_CL; constructor(public payload: Peer) {} + } export class DetachPeer implements Action { + readonly type = DETACH_PEER_CL; constructor(public payload: {id: string, force: boolean}) {} + } export class RemovePeer implements Action { + readonly type = REMOVE_PEER_CL; constructor(public payload: {id: string}) {} + } export class FetchPayments implements Action { + readonly type = FETCH_PAYMENTS_CL; + } export class SetPayments implements Action { + readonly type = SET_PAYMENTS_CL; constructor(public payload: Payment[]) {} + } export class DecodePayment implements Action { + readonly type = DECODE_PAYMENT_CL; - constructor(public payload: {routeParam: string, fromDialog: boolean}) {} // payload = routeParam + constructor(public payload: {routeParam: string, fromDialog: boolean}) {} // Payload = routeParam + } export class SetDecodedPayment implements Action { + readonly type = SET_DECODED_PAYMENT_CL; constructor(public payload: PayRequest) {} + } export class SendPayment implements Action { + readonly type = SEND_PAYMENT_CL; - constructor(public payload: {fromDialog: boolean, invoice?: string, amount?: number, pubkey?: string}) {} + constructor(public payload: {uiMessage: string, fromDialog: boolean, invoice?: string, amount?: number, pubkey?: string}) {} + } export class SendPaymentStatus implements Action { + readonly type = SEND_PAYMENT_STATUS_CL; constructor(public payload: any) {} + } export class GetQueryRoutes implements Action { + readonly type = GET_QUERY_ROUTES_CL; constructor(public payload: {destPubkey: string, amount: number}) {} + } export class SetQueryRoutes implements Action { + readonly type = SET_QUERY_ROUTES_CL; constructor(public payload: QueryRoutes) {} + } export class FetchChannels implements Action { + readonly type = FETCH_CHANNELS_CL; + } export class SetChannels implements Action { + readonly type = SET_CHANNELS_CL; constructor(public payload: Channel[]) {} + } export class UpdateChannels implements Action { + readonly type = UPDATE_CHANNELS_CL; constructor(public payload: {channelId: string, baseFeeMsat: number, feeRate: number}) {} + } export class SaveNewChannel implements Action { + readonly type = SAVE_NEW_CHANNEL_CL; - constructor(public payload: {peerId: string, satoshis: string, feeRate: string, announce: boolean, minconf?: number, utxos?: string[]}) {} + constructor(public payload: {peerId: string, satoshis: string, announce: boolean, feeRate?: string, minconf?: number, utxos?: string[]}) {} + } export class CloseChannel implements Action { + readonly type = CLOSE_CHANNEL_CL; constructor(public payload: {channelId: string, force: boolean}) {} + } export class RemoveChannel implements Action { + readonly type = REMOVE_CHANNEL_CL; constructor(public payload: {channelId: string}) {} + } export class PeerLookup implements Action { + readonly type = PEER_LOOKUP_CL; - constructor(public payload: string) {} // payload = id + constructor(public payload: string) {} // Payload = id + } export class ChannelLookup implements Action { + readonly type = CHANNEL_LOOKUP_CL; - constructor(public payload: {shortChannelID: string, showError: boolean}) {} + constructor(public payload: {uiMessage: string, shortChannelID: string, showError: boolean}) {} + } export class InvoiceLookup implements Action { + readonly type = INVOICE_LOOKUP_CL; - constructor(public payload: string) {} // payload = rHashStr + constructor(public payload: string) {} // Payload = rHashStr + } export class SetLookup implements Action { + readonly type = SET_LOOKUP_CL; - constructor(public payload: any) {} // payload = lookup Response (Peer/Channel/Invoice) + constructor(public payload: any) {} // Payload = lookup Response (Peer/Channel/Invoice) + } export class GetForwardingHistory implements Action { + readonly type = GET_FORWARDING_HISTORY_CL; - // constructor(public payload: SwitchReq) {} + constructor(public payload: { status: string }) {} + } export class SetForwardingHistory implements Action { + readonly type = SET_FORWARDING_HISTORY_CL; - constructor(public payload: ForwardingHistoryRes) {} + constructor(public payload: ForwardingEvent[]) {} + +} + +export class GetFailedForwardingHistory implements Action { + + readonly type = GET_FAILED_FORWARDING_HISTORY_CL; + +} + +export class SetFailedForwardingHistory implements Action { + + readonly type = SET_FAILED_FORWARDING_HISTORY_CL; + constructor(public payload: ForwardingEvent[]) {} + } export class FetchInvoices implements Action { + readonly type = FETCH_INVOICES_CL; constructor(public payload: {num_max_invoices?: number, index_offset?: number, reversed?: boolean}) {} + } export class SetInvoices implements Action { + readonly type = SET_INVOICES_CL; constructor(public payload: ListInvoices) {} + } export class SaveNewInvoice implements Action { + readonly type = SAVE_NEW_INVOICE_CL; constructor(public payload: {amount: number, label: string, description: string, expiry: number, private: boolean}) {} + } export class AddInvoice implements Action { + readonly type = ADD_INVOICE_CL; constructor(public payload: Invoice) {} + } export class DeleteExpiredInvoice implements Action { + readonly type = DELETE_EXPIRED_INVOICE_CL; - constructor(public payload?: number) {} // maxexpiry + constructor(public payload?: number) {} // Maxexpiry + } export class SetChannelTransaction implements Action { + readonly type = SET_CHANNEL_TRANSACTION_CL; constructor(public payload: OnChain) {} + } export class SetChannelTransactionRes implements Action { + readonly type = SET_CHANNEL_TRANSACTION_RES_CL; constructor(public payload: any) {} + } export class FetchUTXOs implements Action { + readonly type = FETCH_UTXOS_CL; + } export class SetUTXOs implements Action { + readonly type = SET_UTXOS_CL; constructor(public payload: UTXO[]) {} + } -export type CLActions = ClearEffectError | EffectError | ResetCLStore | +export type CLActions = UpdateAPICallStatus | ResetCLStore | SetChildNodeSettings | FetchInfo | SetInfo | FetchFees | SetFees | FetchFeeRates | SetFeeRates | FetchBalance | SetBalance | FetchLocalRemoteBalance | SetLocalRemoteBalance | GetNewAddress | SetNewAddress | FetchUTXOs | SetUTXOs | @@ -321,5 +431,5 @@ FetchChannels | SetChannels | UpdateChannels | SaveNewChannel | CloseChannel | R FetchPayments | SetPayments | SendPayment | SendPaymentStatus | DecodePayment | SetDecodedPayment | GetQueryRoutes | SetQueryRoutes | SetChannelTransaction | SetChannelTransactionRes | PeerLookup | ChannelLookup | InvoiceLookup | SetLookup | -GetForwardingHistory | SetForwardingHistory | -FetchInvoices | SetInvoices | SaveNewInvoice | AddInvoice | DeleteExpiredInvoice; \ No newline at end of file +GetForwardingHistory | SetForwardingHistory | GetFailedForwardingHistory | SetFailedForwardingHistory | +FetchInvoices | SetInvoices | SaveNewInvoice | AddInvoice | DeleteExpiredInvoice; diff --git a/src/app/clightning/store/cl.effects.ts b/src/app/clightning/store/cl.effects.ts index a3120cda..ad7e775e 100644 --- a/src/app/clightning/store/cl.effects.ts +++ b/src/app/clightning/store/cl.effects.ts @@ -3,18 +3,18 @@ import { HttpClient } from '@angular/common/http'; import { Router } from '@angular/router'; import { Store } from '@ngrx/store'; import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { Subject, of } from 'rxjs'; +import { Subject, of, forkJoin, Observable } from 'rxjs'; import { map, mergeMap, catchError, withLatestFrom, takeUntil } from 'rxjs/operators'; import { Location } from '@angular/common'; import { environment, API_URL } from '../../../environments/environment'; import { LoggerService } from '../../shared/services/logger.service'; -import { SessionService } from '../../shared/services/session.service'; import { CommonService } from '../../shared/services/common.service'; +import { SessionService } from '../../shared/services/session.service'; import { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component'; import { CLInvoiceInformationComponent } from '../transactions/invoice-information-modal/invoice-information.component'; -import { GetInfo, Fees, Balance, LocalRemoteBalance, Payment, FeeRates, ListInvoices, Invoice, Peer } from '../../shared/models/clModels'; -import { AlertTypeEnum, CurrencyUnitEnum } from '../../shared/services/consts-enums-functions'; +import { GetInfo, Fees, Balance, LocalRemoteBalance, Payment, FeeRates, ListInvoices, Invoice, Peer, ForwardingEvent } from '../../shared/models/clModels'; +import { AlertTypeEnum, APICallStatusEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; import * as fromRTLReducer from '../../store/rtl.reducers'; import * as RTLActions from '../../store/rtl.actions'; @@ -23,55 +23,70 @@ import * as fromCLReducers from '../store/cl.reducers'; @Injectable() export class CLEffects implements OnDestroy { + CHILD_API_URL = API_URL + '/cl'; + private flgInitialized = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor( - private actions$: Actions, + private actions: Actions, private httpClient: HttpClient, private store: Store, private sessionService: SessionService, - private logger: LoggerService, private commonService: CommonService, + private logger: LoggerService, private router: Router, - private location: Location) { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if(rtlStore.initialAPIResponseStatus[0] === 'INCOMPLETE' && rtlStore.initialAPIResponseStatus.length > 9) { // Num of Initial APIs + 1 - rtlStore.initialAPIResponseStatus[0] = 'COMPLETE'; - this.store.dispatch(new RTLActions.CloseSpinner()); + private location: Location + ) { + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if ( + ((rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchBalance.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchBalance.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.ERROR)) && + !this.flgInitialized + ) { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); + this.flgInitialized = true; } }); - } + } - infoFetchCL = createEffect(() => - this.actions$.pipe( + infoFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_INFO_CL), withLatestFrom(this.store.select('root')), mergeMap(([action, store]: [CLActions.FetchInfo, fromRTLReducer.RootState]) => { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Node Information...')); - this.store.dispatch(new CLActions.ClearEffectError('FetchInfo')); - return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API) - .pipe( - takeUntil(this.actions$.pipe(ofType(RTLActions.SET_SELECTED_NODE))), + this.flgInitialized = false; + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.INITIATED })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_NODE_INFO)); + return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API). + pipe( + takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))), map((info) => { this.logger.info(info); - this.store.dispatch(new RTLActions.CloseSpinner()); - if (info.chains && info.chains.length && info.chains[0] - && (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0) + if (info.chains && info.chains.length && info.chains[0] && + (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0) ) { + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_NODE_INFO)); this.store.dispatch(new RTLActions.CloseAllDialogs()); - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.ERROR, - alertTitle: 'Shitcoin Found', - titleMessage: 'Sorry Not Sorry, RTL is Bitcoin Only!' - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.ERROR, + alertTitle: 'Shitcoin Found', + titleMessage: 'Sorry Not Sorry, RTL is Bitcoin Only!' + } + })); return { type: RTLActions.LOGOUT }; } else { this.initializeRemainingData(info, action.payload.loadPage); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_NODE_INFO)); return { type: CLActions.SET_INFO_CL, payload: info ? info : {} @@ -79,180 +94,188 @@ export class CLEffects implements OnDestroy { } }), catchError((err) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - const code = (err.error && err.error.error && err.error.error.message && err.error.error.message.code) ? err.error.error.message.code : (err.error && err.error.error && err.error.error.code) ? err.error.error.code : err.status ? err.status : ''; - const message = ((err.error && err.error.message) ? err.error.message + ' ' : '') + ((err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error && err.error.error && err.error.error.errno && typeof err.error.error.errno === 'string') ? err.error.error.errno : (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : (err.error && typeof err.error === 'string') ? err.error : 'Unknown Error'); - this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: message }}); - this.handleErrorWithoutAlert('FetchInfo', 'Fetching Node Info Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + const code = this.commonService.extractErrorCode(err); + const msg = (code === 'ETIMEDOUT') ? 'Unable to Connect to C-Lightning Server.' : this.commonService.extractErrorMessage(err); + this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } }); + this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg }); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - fetchFeesCL = createEffect(() => - this.actions$.pipe( + fetchFeesCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_FEES_CL), mergeMap((action: CLActions.FetchFees) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchFees')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API); }), map((fees) => { this.logger.info(fees); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_FEES_CL, payload: fees ? fees : {} }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchFees', 'Fetching Fees Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - fetchFeeRatesCL = createEffect(() => - this.actions$.pipe( + fetchFeeRatesCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_FEE_RATES_CL), mergeMap((action: CLActions.FetchFeeRates) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchFeeRates')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/feeRates/' + action.payload); - }), - map((feeRates) => { - this.logger.info(feeRates); - return { - type: CLActions.SET_FEE_RATES_CL, - payload: feeRates ? feeRates : {} - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchFeeRates', 'Fetching Fee Rates Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchFeeRates' + action.payload, status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/feeRates/' + action.payload). + pipe( + map((feeRates) => { + this.logger.info(feeRates); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchFeeRates' + action.payload, status: APICallStatusEnum.COMPLETED })); + return { + type: CLActions.SET_FEE_RATES_CL, + payload: feeRates ? feeRates : {} + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchFeeRates' + action.payload, UI_MESSAGES.NO_SPINNER, 'Fetching Fee Rates Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - fetchBalanceCL = createEffect(() => - this.actions$.pipe( + fetchBalanceCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_BALANCE_CL), mergeMap((action: CLActions.FetchBalance) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchBalance')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchBalance', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.BALANCE_API); }), map((balance) => { this.logger.info(balance); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchBalance', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_BALANCE_CL, payload: balance ? balance : {} }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchBalance', 'Fetching Balances Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Balances Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - fetchLocalRemoteBalanceCL = createEffect(() => - this.actions$.pipe( + fetchLocalRemoteBalanceCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_LOCAL_REMOTE_BALANCE_CL), mergeMap((action: CLActions.FetchLocalRemoteBalance) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchLocalRemoteBalance')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchLocalRemoteBalance', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/localremotebalance'); }), map((lrBalance) => { this.logger.info(lrBalance); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchLocalRemoteBalance', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_LOCAL_REMOTE_BALANCE_CL, payload: lrBalance ? lrBalance : {} }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchLocalRemoteBalance', 'Fetching Balances Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchLocalRemoteBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Balances Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - getNewAddressCL = createEffect(() => - this.actions$.pipe( + getNewAddressCL = createEffect(() => this.actions.pipe( ofType(CLActions.GET_NEW_ADDRESS_CL), mergeMap((action: CLActions.GetNewAddress) => { - return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressCode) - .pipe(map((newAddress: any) => { - this.logger.info(newAddress); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: CLActions.SET_NEW_ADDRESS_CL, - payload: (newAddress && newAddress.address) ? newAddress.address : {} - }; - }), + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressCode). + pipe( + map((newAddress: any) => { + this.logger.info(newAddress); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return { + type: CLActions.SET_NEW_ADDRESS_CL, + payload: (newAddress && newAddress.address) ? newAddress.address : {} + }; + }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressId, err); - return of({type: RTLActions.VOID}); - })); - })) - ); - - setNewAddressCL = createEffect(() => - this.actions$.pipe( - ofType(CLActions.SET_NEW_ADDRESS_CL), - map((action: CLActions.SetNewAddress) => { - this.logger.info(action.payload); - return action.payload; - })), + this.handleErrorWithAlert('GenerateNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressId, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + setNewAddressCL = createEffect( + () => this.actions.pipe( + ofType(CLActions.SET_NEW_ADDRESS_CL), + map((action: CLActions.SetNewAddress) => { + this.logger.info(action.payload); + return action.payload; + }) + ), { dispatch: false } ); - peersFetchCL = createEffect(() => - this.actions$.pipe( + peersFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_PEERS_CL), mergeMap((action: CLActions.FetchPeers) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchPeers')); - return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API) - .pipe( + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API). + pipe( map((peers: any) => { this.logger.info(peers); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.COMPLETED })); return { - type: CLActions.SET_PEERS_CL , + type: CLActions.SET_PEERS_CL, payload: peers ? peers : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPeers', 'Fetching Peers Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - saveNewPeerCL = createEffect(() => - this.actions$.pipe( + saveNewPeerCL = createEffect(() => this.actions.pipe( ofType(CLActions.SAVE_NEW_PEER_CL), withLatestFrom(this.store.select('cl')), mergeMap(([action, clData]: [CLActions.SaveNewPeer, fromCLReducers.CLState]) => { - this.store.dispatch(new CLActions.ClearEffectError('SaveNewPeer')); - return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { id: action.payload.id }) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.CONNECT_PEER)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { id: action.payload.id }). + pipe( map((postRes: Peer[]) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.CONNECT_PEER)); this.store.dispatch(new CLActions.SetPeers((postRes && postRes.length > 0) ? postRes : [])); return { type: CLActions.NEWLY_ADDED_PEER_CL, - payload: {peer: postRes.find(peer => action.payload.id.indexOf(peer.id) === 0)} + payload: { peer: postRes.find((peer) => action.payload.id.indexOf(peer.id) === 0) } }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewPeer', 'Peer Connection Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - detachPeerCL = createEffect(() => - this.actions$.pipe( + detachPeerCL = createEffect(() => this.actions.pipe( ofType(CLActions.DETACH_PEER_CL), mergeMap((action: CLActions.DetachPeer) => { - return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id + '?force=' + action.payload.force) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DISCONNECT_PEER)); + return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id + '?force=' + action.payload.force). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DISCONNECT_PEER)); this.store.dispatch(new RTLActions.OpenSnackBar('Peer Disconnected Successfully!')); return { type: CLActions.REMOVE_PEER_CL, @@ -260,96 +283,103 @@ export class CLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('PeerDisconnect', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - channelsFetchCL = createEffect(() => - this.actions$.pipe( + channelsFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_CHANNELS_CL), mergeMap((action: CLActions.FetchChannels) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchChannels')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listChannels') - .pipe( - map((channels: any) => { - this.logger.info(channels); - this.store.dispatch(new CLActions.GetForwardingHistory()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listChannels'); + }), + map((channels: any) => { + this.logger.info(channels); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchChannels', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new CLActions.GetForwardingHistory({ status: 'settled' })); + return { + type: CLActions.SET_CHANNELS_CL, + payload: (channels && channels.length > 0) ? channels : [] + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Channels Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); + + openNewChannelCL = createEffect(() => this.actions.pipe( + ofType(CLActions.SAVE_NEW_CHANNEL_CL), + mergeMap((action: CLActions.SaveNewChannel) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.OPEN_CHANNEL)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED })); + const newPayload = { id: action.payload.peerId, satoshis: action.payload.satoshis, feeRate: action.payload.feeRate, announce: action.payload.announce, minconf: (action.payload.minconf) ? action.payload.minconf : null }; + if (action.payload.utxos) { + newPayload['utxos'] = action.payload.utxos; + } + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, newPayload). + pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.OPEN_CHANNEL)); + this.store.dispatch(new RTLActions.OpenSnackBar('Channel Added Successfully!')); + this.store.dispatch(new CLActions.FetchBalance()); + this.store.dispatch(new CLActions.FetchUTXOs()); return { - type: CLActions.SET_CHANNELS_CL, - payload: (channels && channels.length > 0) ? channels : [] + type: CLActions.FETCH_CHANNELS_CL }; - }, + }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannels', 'Fetching Channels Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err); + return of({ type: RTLActions.VOID }); }) - )); - })) - ); + ); + }) + )); - openNewChannelCL = createEffect(() => - this.actions$.pipe( - ofType(CLActions.SAVE_NEW_CHANNEL_CL), - mergeMap((action: CLActions.SaveNewChannel) => { - this.store.dispatch(new CLActions.ClearEffectError('SaveNewChannel')); - let newPayload = {id: action.payload.peerId, satoshis: action.payload.satoshis, feeRate: action.payload.feeRate, announce: action.payload.announce, minconf: (action.payload.minconf) ? action.payload.minconf : null}; - if (action.payload.utxos) { newPayload['utxos'] = action.payload.utxos; } - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, newPayload) - .pipe(map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSnackBar('Channel Added Successfully!')); - this.store.dispatch(new CLActions.FetchBalance()); - this.store.dispatch(new CLActions.FetchUTXOs()); - return { - type: CLActions.FETCH_CHANNELS_CL - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewChannel', 'Opening Channel Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); - - updateChannelCL = createEffect(() => - this.actions$.pipe( + updateChannelCL = createEffect(() => this.actions.pipe( ofType(CLActions.UPDATE_CHANNELS_CL), mergeMap((action: CLActions.UpdateChannels) => { - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/setChannelFee', - { id: action.payload.channelId, base: action.payload.baseFeeMsat, ppm: action.payload.feeRate }) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); + return this.httpClient.post( + this.CHILD_API_URL + environment.CHANNELS_API + '/setChannelFee', + { id: action.payload.channelId, base: action.payload.baseFeeMsat, ppm: action.payload.feeRate } + ). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - if(action.payload.channelId === 'all') { - this.store.dispatch(new RTLActions.OpenSnackBar({message:'All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000})); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); + if (action.payload.channelId === 'all') { + this.store.dispatch(new RTLActions.OpenSnackBar({ message: 'All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000 })); } else { - this.store.dispatch(new RTLActions.OpenSnackBar({message:'Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000})); + this.store.dispatch(new RTLActions.OpenSnackBar({ message: 'Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000 })); } return { type: CLActions.FETCH_CHANNELS_CL }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('UpdateChannel', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - closeChannelCL = createEffect(() => - this.actions$.pipe( + closeChannelCL = createEffect(() => this.actions.pipe( ofType(CLActions.CLOSE_CHANNEL_CL), mergeMap((action: CLActions.CloseChannel) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); const queryParam = action.payload.force ? '?force=' + action.payload.force : ''; - return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelId + queryParam) - .pipe( + return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelId + queryParam). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); this.store.dispatch(new CLActions.FetchChannels()); this.store.dispatch(new RTLActions.OpenSnackBar('Channel Closed Successfully!')); return { @@ -358,42 +388,44 @@ export class CLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('CloseChannel', (action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - paymentsFetchCL = createEffect(() => - this.actions$.pipe( + paymentsFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_PAYMENTS_CL), mergeMap((action: CLActions.FetchPayments) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchPayments')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API); }), map((payments) => { this.logger.info(payments); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_PAYMENTS_CL, payload: payments ? payments : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPayments', 'Fetching Payments Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - decodePaymentCL = createEffect(() => - this.actions$.pipe( + decodePaymentCL = createEffect(() => this.actions.pipe( ofType(CLActions.DECODE_PAYMENT_CL), mergeMap((action: CLActions.DecodePayment) => { - this.store.dispatch(new CLActions.ClearEffectError('DecodePayment')); - return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/' + action.payload.routeParam) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DECODE_PAYMENT)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'DecodePayment', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/' + action.payload.routeParam). + pipe( map((decodedPayment) => { this.logger.info(decodedPayment); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'DecodePayment', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DECODE_PAYMENT)); return { type: CLActions.SET_DECODED_PAYMENT_CL, payload: decodedPayment ? decodedPayment : {} @@ -401,78 +433,73 @@ export class CLEffects implements OnDestroy { }), catchError((err: any) => { if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('DecodePayment', 'Decode Payment Failed.', err); + this.handleErrorWithoutAlert('DecodePayment', UI_MESSAGES.DECODE_PAYMENT, 'Decode Payment Failed.', err); } else { - this.handleErrorWithAlert('ERROR', 'Decode Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API + '/' + action.payload, err); + this.handleErrorWithAlert('DecodePayment', UI_MESSAGES.DECODE_PAYMENT, 'Decode Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API + '/' + action.payload, err); } - return of({type: RTLActions.VOID}); - })); - })) - ); - - setDecodedPaymentCL = createEffect(() => - this.actions$.pipe( - ofType(CLActions.SET_DECODED_PAYMENT_CL), - map((action: CLActions.SetDecodedPayment) => { - this.logger.info(action.payload); - return action.payload; - })), + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + setDecodedPaymentCL = createEffect( + () => this.actions.pipe( + ofType(CLActions.SET_DECODED_PAYMENT_CL), + map((action: CLActions.SetDecodedPayment) => { + this.logger.info(action.payload); + return action.payload; + }) + ), { dispatch: false } ); - sendPaymentCL = createEffect(() => - this.actions$.pipe( + sendPaymentCL = createEffect(() => this.actions.pipe( ofType(CLActions.SEND_PAYMENT_CL), withLatestFrom(this.store.select('root')), mergeMap(([action, store]: [CLActions.SendPayment, any]) => { - this.store.dispatch(new CLActions.ClearEffectError('SendPayment')); - let paymentUrl = (action.payload.pubkey && action.payload.pubkey !== '') ? this.CHILD_API_URL + environment.PAYMENTS_API + '/keysend' : this.CHILD_API_URL + environment.PAYMENTS_API + '/invoice'; + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.INITIATED })); + const paymentUrl = (action.payload.pubkey && action.payload.pubkey !== '') ? this.CHILD_API_URL + environment.PAYMENTS_API + '/keysend' : this.CHILD_API_URL + environment.PAYMENTS_API + '/invoice'; return this.httpClient.post(paymentUrl, action.payload).pipe( map((sendRes: any) => { this.logger.info(sendRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - if (sendRes.error) { - this.logger.error('Error: ' + sendRes.payment_error); - const myErr = {status: sendRes.payment_error.status, error: sendRes.payment_error.error && sendRes.payment_error.error.error && typeof(sendRes.payment_error.error.error) === 'object' ? sendRes.payment_error.error.error : {error: sendRes.payment_error.error && sendRes.payment_error.error.error ? sendRes.payment_error.error.error : 'Unknown Error'}}; - if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); - } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, myErr); - } - return {type: RTLActions.VOID}; - } else { - this.store.dispatch(new RTLActions.OpenSnackBar('Payment Sent Successfully!')); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.OpenSnackBar('Payment Sent Successfully!')); + this.store.dispatch(new CLActions.SetDecodedPayment({})); + setTimeout(() => { this.store.dispatch(new CLActions.FetchChannels()); this.store.dispatch(new CLActions.FetchBalance()); this.store.dispatch(new CLActions.FetchPayments()); - this.store.dispatch(new CLActions.SetDecodedPayment({})); - return { - type: CLActions.SEND_PAYMENT_STATUS_CL, - payload: sendRes - }; - } + }, 1000); + return { + type: CLActions.SEND_PAYMENT_STATUS_CL, + payload: sendRes + }; }), catchError((err: any) => { this.logger.error('Error: ' + JSON.stringify(err)); - const myErr = {status: err.status, error: err.error && err.error.error && typeof(err.error.error) === 'object' ? err.error.error : {error: err.error && err.error.error ? err.error.error : 'Unknown Error'}}; if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); + this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err); } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, myErr); + this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, err); } - return of({type: RTLActions.VOID}); - })); - })) - ); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - queryRoutesFetchCL = createEffect(() => - this.actions$.pipe( + queryRoutesFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.GET_QUERY_ROUTES_CL), mergeMap((action: CLActions.GetQueryRoutes) => { - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount) - .pipe( + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetQueryRoutes', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount). + pipe( map((qrRes: any) => { this.logger.info(qrRes); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetQueryRoutes', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_QUERY_ROUTES_CL, payload: qrRes @@ -480,137 +507,211 @@ export class CLEffects implements OnDestroy { }), catchError((err: any) => { this.store.dispatch(new CLActions.SetQueryRoutes({ routes: [] })); - this.handleErrorWithAlert('ERROR', 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount, err); - return of({type: RTLActions.VOID}); - })); - })) - ); - - setQueryRoutesCL = createEffect(() => - this.actions$.pipe( - ofType(CLActions.SET_QUERY_ROUTES_CL), - map((action: CLActions.SetQueryRoutes) => { - return action.payload; - })), + this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + setQueryRoutesCL = createEffect( + () => this.actions.pipe( + ofType(CLActions.SET_QUERY_ROUTES_CL), + map((action: CLActions.SetQueryRoutes) => action.payload) + ), { dispatch: false } ); - peerLookupCL = createEffect(() => - this.actions$.pipe( + peerLookupCL = createEffect(() => this.actions.pipe( ofType(CLActions.PEER_LOOKUP_CL), mergeMap((action: CLActions.PeerLookup) => { - this.store.dispatch(new CLActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_NODE)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload). + pipe( map((resPeer) => { this.logger.info(resPeer); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_NODE)); return { type: CLActions.SET_LOOKUP_CL, payload: resPeer }; }), catchError((err: any) => { - this.store.dispatch(new CLActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - channelLookupCL = createEffect(() => - this.actions$.pipe( + channelLookupCL = createEffect(() => this.actions.pipe( ofType(CLActions.CHANNEL_LOOKUP_CL), mergeMap((action: CLActions.ChannelLookup) => { - this.store.dispatch(new CLActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID). + pipe( map((resChannel) => { this.logger.info(resChannel); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); return { type: CLActions.SET_LOOKUP_CL, payload: resChannel }; }), catchError((err: any) => { - if(action.payload.showError) { - this.store.dispatch(new CLActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID, err); + if (action.payload.showError) { + this.handleErrorWithAlert('Lookup', action.payload.uiMessage, 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID, err); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); } this.store.dispatch(new CLActions.SetLookup([])); - return of({type: RTLActions.VOID}); - })); - })) - ); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - invoiceLookupCL = createEffect(() => - this.actions$.pipe( + invoiceLookupCL = createEffect(() => this.actions.pipe( ofType(CLActions.INVOICE_LOOKUP_CL), mergeMap((action: CLActions.InvoiceLookup) => { - this.store.dispatch(new CLActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '/listInvoice?label=' + action.payload) - .pipe( - map((resInvoice) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_INVOICE)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?label=' + action.payload). + pipe( + map((resInvoice: any) => { this.logger.info(resInvoice); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_INVOICE)); return { type: CLActions.SET_LOOKUP_CL, - payload: resInvoice + payload: resInvoice.invoices && resInvoice.invoices.length && resInvoice.invoices.length > 0 ? resInvoice.invoices[0] : resInvoice }; }), catchError((err: any) => { - this.store.dispatch(new CLActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Invoice Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listInvoice?label=' + action.payload, err); - return of({type: RTLActions.VOID}); - })); - })) - ); - - setLookupCL = createEffect(() => - this.actions$.pipe( - ofType(CLActions.SET_LOOKUP_CL), - map((action: CLActions.SetLookup) => { - this.logger.info(action.payload); - return action.payload; - })), + this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err); + this.store.dispatch(new RTLActions.OpenSnackBar({ message: 'Invoice Refresh Failed.', type: 'ERROR' })); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + setLookupCL = createEffect( + () => this.actions.pipe( + ofType(CLActions.SET_LOOKUP_CL), + map((action: CLActions.SetLookup) => { + this.logger.info(action.payload); + return action.payload; + }) + ), { dispatch: false } ); - fetchForwardingHistoryCL = createEffect(() => - this.actions$.pipe( + fetchForwardingHistoryCL = createEffect(() => this.actions.pipe( ofType(CLActions.GET_FORWARDING_HISTORY_CL), - mergeMap((action: CLActions.GetForwardingHistory) => { - this.store.dispatch(new CLActions.ClearEffectError('GetForwardingHistory')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards') - .pipe( + withLatestFrom(this.store.select('cl')), + mergeMap(([action, clStore]: [CLActions.GetForwardingHistory, fromCLReducers.CLState]) => { + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetForwardingHistory', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=' + action.payload.status). + pipe( map((fhRes: any) => { this.logger.info(fhRes); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetForwardingHistory', status: APICallStatusEnum.COMPLETED })); + const isNewerVersion = (clStore.information.api_version) ? this.commonService.isVersionCompatible(clStore.information.api_version, '0.5.0') : false; + if (!isNewerVersion) { + const filteredFailedEvents = []; + const filteredSuccesfulEvents = []; + fhRes.forEach((event: ForwardingEvent) => { + if (event.status === 'settled') { + filteredSuccesfulEvents.push(event); + } else if (event.status === 'failed' || event.status === 'local_failed') { + filteredFailedEvents.push(event); + } + }); + fhRes = JSON.parse(JSON.stringify(filteredSuccesfulEvents)); + this.store.dispatch(new CLActions.SetFailedForwardingHistory(filteredFailedEvents)); + } return { type: CLActions.SET_FORWARDING_HISTORY_CL, payload: fhRes }; }), catchError((err: any) => { - this.store.dispatch(new CLActions.EffectError({ action: 'GetForwardingHistory', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Get Forwarding History Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards', err); - return of({type: RTLActions.VOID}); - })); + this.handleErrorWithAlert('GetForwardingHistory', UI_MESSAGES.NO_SPINNER, 'Get Forwarding History Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=' + action.payload.status, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + fetchFailedForwardingHistoryCL = createEffect(() => this.actions.pipe( + ofType(CLActions.GET_FAILED_FORWARDING_HISTORY_CL), + withLatestFrom(this.store.select('cl')), + mergeMap(([action, clStore]: [CLActions.GetFailedForwardingHistory, fromCLReducers.CLState]) => { + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetFailedForwardingHistory', status: APICallStatusEnum.INITIATED })); + // For backwards compatibility < 0.5.0 START + const isNewerVersion = (clStore.information.api_version) ? this.commonService.isVersionCompatible(clStore.information.api_version, '0.5.0') : false; + if (!isNewerVersion) { + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetFailedForwardingHistory', status: APICallStatusEnum.COMPLETED })); + return of({ type: RTLActions.VOID }); + } // For backwards compatibility < 0.5.0 END + let failedEventsReq = new Observable(); + const failedRes = this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=failed'); + const localFailedRes = this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=local_failed'); + failedEventsReq = forkJoin([failedRes, localFailedRes]); + return failedEventsReq.pipe(map((ffhRes: any) => { + this.logger.info(ffhRes); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetFailedForwardingHistory', status: APICallStatusEnum.COMPLETED })); + return { + type: CLActions.SET_FAILED_FORWARDING_HISTORY_CL, + payload: this.commonService.sortDescByKey([...ffhRes[0], ...ffhRes[1]], 'received_time') + }; + }), + catchError((err) => { + this.handleErrorWithAlert('GetFailedForwardingHistory', UI_MESSAGES.NO_SPINNER, 'Get Failed Forwarding History Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=failed', err); + return of({ type: RTLActions.VOID }); + })); })) ); - deleteExpiredInvoiceCL = createEffect(() => - this.actions$.pipe( + // fetchFailedForwardingHistoryCL = createEffect(() => this.actions.pipe( + // ofType(CLActions.GET_FAILED_FORWARDING_HISTORY_CL), + // mergeMap((action: CLActions.GetFailedForwardingHistory) => { + // this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetFailedForwardingHistory', status: APICallStatusEnum.INITIATED })); + // let updateSettingReq = new Observable(); + // const settingsRes = this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=failed'); + // const defaultNodeRes = this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=local_failed'); + // updateSettingReq = forkJoin([settingsRes, defaultNodeRes]); + // return updateSettingReq.pipe(map((updateStatus: any) => { + // this.logger.info(ffhRes); + // this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'GetFailedForwardingHistory', status: APICallStatusEnum.COMPLETED })); + // return { + // type: CLActions.SET_FAILED_FORWARDING_HISTORY_CL, + // payload: ffhRes + // }; + // }), + // catchError((err: any) => { + // this.handleErrorWithAlert('GetFailedForwardingHistory', UI_MESSAGES.NO_SPINNER, 'Get Failed Forwarding History Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=failed', err); + // return of({ type: RTLActions.VOID }); + // }) + // ); + // }) + // )); + + deleteExpiredInvoiceCL = createEffect(() => this.actions.pipe( ofType(CLActions.DELETE_EXPIRED_INVOICE_CL), mergeMap((action: CLActions.DeleteExpiredInvoice) => { - const queryStr = (action.payload) ? '?maxexpiry=' + action.payload : ''; - return this.httpClient.delete(this.CHILD_API_URL + environment.INVOICES_API + queryStr) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DELETE_INVOICE)); + const queryStr = (action.payload) ? '?maxexpiry=' + action.payload : ''; + return this.httpClient.delete(this.CHILD_API_URL + environment.INVOICES_API + queryStr). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DELETE_INVOICE)); this.store.dispatch(new RTLActions.OpenSnackBar('Invoices Deleted Successfully!')); return { type: CLActions.FETCH_INVOICES_CL, @@ -618,130 +719,137 @@ export class CLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Delete Invoice Failed', this.CHILD_API_URL + environment.INVOICES_API, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('DeleteInvoices', UI_MESSAGES.DELETE_INVOICE, 'Delete Invoice Failed', this.CHILD_API_URL + environment.INVOICES_API, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - saveNewInvoiceCL = createEffect(() => - this.actions$.pipe( + saveNewInvoiceCL = createEffect(() => this.actions.pipe( ofType(CLActions.SAVE_NEW_INVOICE_CL), mergeMap((action: CLActions.SaveNewInvoice) => { - this.store.dispatch(new CLActions.ClearEffectError('SaveNewInvoice')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.ADD_INVOICE)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewInvoice', status: APICallStatusEnum.INITIATED })); return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, { label: action.payload.label, amount: action.payload.amount, description: action.payload.description, expiry: action.payload.expiry, private: action.payload.private - }) - .pipe( + }). + pipe( map((postRes: Invoice) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SaveNewInvoice', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.ADD_INVOICE)); postRes.msatoshi = action.payload.amount; postRes.label = action.payload.label; postRes.expires_at = Math.round((new Date().getTime() / 1000) + action.payload.expiry); postRes.description = action.payload.description; postRes.status = 'unpaid'; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { invoice: postRes, newlyAdded: false, component: CLInvoiceInformationComponent - }})); + } + })); return { type: CLActions.ADD_INVOICE_CL, payload: postRes }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewInvoice', 'Add Invoice Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithoutAlert('SaveNewInvoice', UI_MESSAGES.ADD_INVOICE, 'Add Invoice Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - invoicesFetchCL = createEffect(() => - this.actions$.pipe( + invoicesFetchCL = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_INVOICES_CL), mergeMap((action: CLActions.FetchInvoices) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchInvoices')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.INITIATED })); const num_max_invoices = (action.payload.num_max_invoices) ? action.payload.num_max_invoices : 1000000; const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0; const reversed = (action.payload.reversed) ? action.payload.reversed : true; - return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed) - .pipe(map((res: ListInvoices) => { - this.logger.info(res); - return { - type: CLActions.SET_INVOICES_CL, - payload: res - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchInvoices', 'Fetching Invoices Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed). + pipe( + map((res: ListInvoices) => { + this.logger.info(res); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED })); + return { + type: CLActions.SET_INVOICES_CL, + payload: res + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - SetChannelTransactionCL = createEffect(() => - this.actions$.pipe( + SetChannelTransactionCL = createEffect(() => this.actions.pipe( ofType(CLActions.SET_CHANNEL_TRANSACTION_CL), mergeMap((action: CLActions.SetChannelTransaction) => { - this.store.dispatch(new CLActions.ClearEffectError('SetChannelTransaction')); - return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new CLActions.FetchBalance()); - this.store.dispatch(new CLActions.FetchUTXOs()); - return { - type: CLActions.SET_CHANNEL_TRANSACTION_RES_CL, - payload: postRes - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('SetChannelTransaction', 'Sending Fund Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SetChannelTransaction', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload). + pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'SetChannelTransaction', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new CLActions.FetchBalance()); + this.store.dispatch(new CLActions.FetchUTXOs()); + return { + type: CLActions.SET_CHANNEL_TRANSACTION_RES_CL, + payload: postRes + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('SetChannelTransaction', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - utxosFetch = createEffect(() => - this.actions$.pipe( + utxosFetch = createEffect(() => this.actions.pipe( ofType(CLActions.FETCH_UTXOS_CL), mergeMap((action: CLActions.FetchUTXOs) => { - this.store.dispatch(new CLActions.ClearEffectError('FetchUTXOs')); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchUTXOs', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/utxos'); }), map((utxos: any) => { this.logger.info(utxos); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: 'FetchUTXOs', status: APICallStatusEnum.COMPLETED })); return { type: CLActions.SET_UTXOS_CL, payload: (utxos && utxos.outputs && utxos.outputs.length > 0) ? utxos.outputs : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchUTXOs', 'Fetching UTXOs Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchUTXOs', UI_MESSAGES.NO_SPINNER, 'Fetching UTXOs Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); initializeRemainingData(info: any, landingPage: string) { this.sessionService.setItem('clUnlocked', 'true'); const node_data = { identity_pubkey: info.id, alias: info.alias, - testnet: (info.network.toLowerCase() === 'testnet') ? true : false, + testnet: (info.network.toLowerCase() === 'testnet'), chains: info.chains, - uris: info.uris, + uris: info.uris, version: info.version, api_version: info.api_version, - currency_unit: CurrencyUnitEnum.BTC, - smaller_currency_unit: CurrencyUnitEnum.SATS, numberOfPendingChannels: info.num_pending_channels }; - this.store.dispatch(new RTLActions.OpenSpinner('Initializing Node Data...')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); this.store.dispatch(new RTLActions.SetNodeData(node_data)); - this.store.dispatch(new CLActions.FetchInvoices({num_max_invoices: 1000000, index_offset: 0, reversed: true})); + this.store.dispatch(new CLActions.FetchInvoices({ num_max_invoices: 1000000, index_offset: 0, reversed: true })); this.store.dispatch(new CLActions.FetchFees()); this.store.dispatch(new CLActions.FetchChannels()); this.store.dispatch(new CLActions.FetchBalance()); @@ -752,7 +860,7 @@ export class CLEffects implements OnDestroy { this.store.dispatch(new CLActions.FetchUTXOs()); this.store.dispatch(new CLActions.FetchPayments()); let newRoute = this.location.path(); - if(newRoute.includes('/lnd/')) { + if (newRoute.includes('/lnd/')) { newRoute = newRoute.replace('/lnd/', '/cl/'); } else if (newRoute.includes('/ecl/')) { newRoute = newRoute.replace('/ecl/', '/cl/'); @@ -762,8 +870,8 @@ export class CLEffects implements OnDestroy { } this.router.navigate([newRoute]); } - - handleErrorWithoutAlert(actionName: string, genericErrorMessage: string, err: { status: number, error: any }) { + + handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) { this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -771,12 +879,13 @@ export class CLEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new CLActions.EffectError({ action: actionName, code: err.status.toString(), message: (err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message : (err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message : (err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message : (err.error.message && typeof err.error.message === 'string') ? err.error.message : typeof err.error === 'string' ? err.error : genericErrorMessage })); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.commonService.extractErrorMessage(err, genericErrorMessage); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg })); } } - handleErrorWithAlert(alerType: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { + handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { this.logger.error(err); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -784,20 +893,22 @@ export class CLEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.commonService.extractErrorMessage(err); this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: alerType, + type: 'ERROR', alertTitle: alertTitle, - message: { code: err.status, message: (err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message : (err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message : (err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message : (err.error.message && typeof err.error.message === 'string') ? err.error.message : typeof err.error === 'string' ? err.error : 'Unknown Error', URL: errURL }, - component: ErrorMessageComponent + message: { code: err.status, message: errMsg, URL: errURL }, + component: ErrorMessageComponent } })); + this.store.dispatch(new CLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL })); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/store/cl.reducers.ts b/src/app/clightning/store/cl.reducers.ts index 9a3960e9..0e40825c 100644 --- a/src/app/clightning/store/cl.reducers.ts +++ b/src/app/clightning/store/cl.reducers.ts @@ -1,12 +1,11 @@ import { SelNodeChild } from '../../shared/models/RTLconfig'; -import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; -import { GetInfo, Fees, Balance, LocalRemoteBalance, Peer, Payment, Channel, FeeRates, ForwardingHistoryRes, ListInvoices, UTXO } from '../../shared/models/clModels'; -import { ErrorPayload } from '../../shared/models/errorPayload'; +import { APICallStatusEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; +import { GetInfo, Fees, Balance, LocalRemoteBalance, Peer, Payment, Channel, FeeRates, ForwardingEvent, ListInvoices, UTXO } from '../../shared/models/clModels'; +import { ApiCallsListCL } from '../../shared/models/apiCallsPayload'; import * as CLActions from '../store/cl.actions'; export interface CLState { - initialAPIResponseStatus: String[]; - effectErrors: ErrorPayload[]; + apisCallStatus: ApiCallsListCL; nodeSettings: SelNodeChild; information: GetInfo; fees: Fees; @@ -17,14 +16,28 @@ export interface CLState { peers: Peer[]; allChannels: Channel[]; payments: Payment[]; - forwardingHistory: ForwardingHistoryRes; + forwardingHistory: ForwardingEvent[]; + failedForwardingHistory: ForwardingEvent[]; invoices: ListInvoices; utxos: UTXO[]; } export const initCLState: CLState = { - initialAPIResponseStatus: ['INCOMPLETE'], //[0] for All Data Status - effectErrors: [], + apisCallStatus: { + FetchInfo: { status: APICallStatusEnum.UN_INITIATED }, + FetchInvoices: { status: APICallStatusEnum.UN_INITIATED }, + FetchFees: { status: APICallStatusEnum.UN_INITIATED }, + FetchChannels: { status: APICallStatusEnum.UN_INITIATED }, + FetchBalance: { status: APICallStatusEnum.UN_INITIATED }, + FetchLocalRemoteBalance: { status: APICallStatusEnum.UN_INITIATED }, + FetchFeeRatesperkb: { status: APICallStatusEnum.UN_INITIATED }, + FetchFeeRatesperkw: { status: APICallStatusEnum.UN_INITIATED }, + FetchPeers: { status: APICallStatusEnum.UN_INITIATED }, + FetchUTXOs: { status: APICallStatusEnum.UN_INITIATED }, + FetchPayments: { status: APICallStatusEnum.UN_INITIATED }, + GetForwardingHistory: { status: APICallStatusEnum.UN_INITIATED }, + GetFailedForwardingHistory: { status: APICallStatusEnum.UN_INITIATED } + }, nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, selCurrencyUnit: 'USD', fiatConversion: false, channelBackupPath: '', currencyUnits: [] }, information: {}, fees: {}, @@ -35,41 +48,36 @@ export const initCLState: CLState = { peers: [], allChannels: [], payments: [], - forwardingHistory: {}, + forwardingHistory: [], + failedForwardingHistory: [], invoices: { invoices: [] }, utxos: [] -} +}; export function CLReducer(state = initCLState, action: CLActions.CLActions) { - let newAPIStatus = state.initialAPIResponseStatus; - switch (action.type) { - case CLActions.CLEAR_EFFECT_ERROR_CL: - const clearedEffectErrors = [...state.effectErrors]; - const removeEffectIdx = state.effectErrors.findIndex(err => { - return err.action === action.payload; - }); - if (removeEffectIdx > -1) { - clearedEffectErrors.splice(removeEffectIdx, 1); - } - return { - ...state, - effectErrors: clearedEffectErrors + case CLActions.UPDATE_API_CALL_STATUS_CL: + const updatedApisCallStatus = state.apisCallStatus; + updatedApisCallStatus[action.payload.action] = { + status: action.payload.status, + statusCode: action.payload.statusCode, + message: action.payload.message, + URL: action.payload.URL, + filePath: action.payload.filePath }; - case CLActions.EFFECT_ERROR_CL: return { ...state, - effectErrors: [...state.effectErrors, action.payload] + apisCallStatus: updatedApisCallStatus }; case CLActions.SET_CHILD_NODE_SETTINGS_CL: return { ...state, nodeSettings: action.payload - } + }; case CLActions.RESET_CL_STORE: return { ...initCLState, - nodeSettings: action.payload, + nodeSettings: action.payload }; case CLActions.SET_INFO_CL: return { @@ -77,51 +85,39 @@ export function CLReducer(state = initCLState, action: CLActions.CLActions) { information: action.payload }; case CLActions.SET_FEES_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'FEES']; return { ...state, - initialAPIResponseStatus: newAPIStatus, fees: action.payload }; case CLActions.SET_FEE_RATES_CL: if (action.payload.perkb) { - newAPIStatus = [...state.initialAPIResponseStatus, 'FEERATEKB']; return { ...state, - initialAPIResponseStatus: newAPIStatus, feeRatesPerKB: action.payload }; } else if (action.payload.perkw) { - newAPIStatus = [...state.initialAPIResponseStatus, 'FEERATEKW']; return { ...state, - initialAPIResponseStatus: newAPIStatus, feeRatesPerKW: action.payload }; } else { return { ...state - } + }; } case CLActions.SET_BALANCE_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'BALANCE']; return { ...state, - initialAPIResponseStatus: newAPIStatus, balance: action.payload }; case CLActions.SET_LOCAL_REMOTE_BALANCE_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'CHANNELBALANCE']; return { ...state, - initialAPIResponseStatus: newAPIStatus, localRemoteBalance: action.payload }; case CLActions.SET_PEERS_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'PEERS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, peers: action.payload }; case CLActions.ADD_PEER_CL: @@ -131,9 +127,7 @@ export function CLReducer(state = initCLState, action: CLActions.CLActions) { }; case CLActions.REMOVE_PEER_CL: const modifiedPeers = [...state.peers]; - const removePeerIdx = state.peers.findIndex(peer => { - return peer.id === action.payload.id; - }); + const removePeerIdx = state.peers.findIndex((peer) => peer.id === action.payload.id); if (removePeerIdx > -1) { modifiedPeers.splice(removePeerIdx, 1); } @@ -142,17 +136,13 @@ export function CLReducer(state = initCLState, action: CLActions.CLActions) { peers: modifiedPeers }; case CLActions.SET_CHANNELS_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'CHANNELS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, - allChannels: action.payload, + allChannels: action.payload }; case CLActions.REMOVE_CHANNEL_CL: const modifiedChannels = [...state.allChannels]; - const removeChannelIdx = state.allChannels.findIndex(channel => { - return channel.channel_id === action.payload.channelId; - }); + const removeChannelIdx = state.allChannels.findIndex((channel) => channel.channel_id === action.payload.channelId); if (removeChannelIdx > -1) { modifiedChannels.splice(removeChannelIdx, 1); } @@ -161,40 +151,75 @@ export function CLReducer(state = initCLState, action: CLActions.CLActions) { allChannels: modifiedChannels }; case CLActions.SET_PAYMENTS_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'PAYMENTS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, payments: action.payload }; case CLActions.SET_FORWARDING_HISTORY_CL: const modifiedFeeWithTxCount = state.fees; - if (action.payload.forwarding_events && action.payload.forwarding_events.length > 0) { + if (action.payload && action.payload.length > 0) { const storedChannels = [...state.allChannels]; - action.payload.forwarding_events.forEach(event => { + action.payload.forEach((fhEvent, i) => { if (storedChannels && storedChannels.length > 0) { for (let idx = 0; idx < storedChannels.length; idx++) { - if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id === event.in_channel) { - event.in_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : event.in_channel; - if (event.out_channel_alias) { return; } + if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id === fhEvent.in_channel) { + fhEvent.in_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.in_channel; + if (fhEvent.out_channel_alias) { return; } + } + if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id.toString() === fhEvent.out_channel) { + fhEvent.out_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.out_channel; + if (fhEvent.in_channel_alias) { return; } } - if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id.toString() === event.out_channel) { - event.out_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : event.out_channel; - if (event.in_channel_alias) { return; } + if (idx === storedChannels.length - 1) { + if (!fhEvent.in_channel_alias) { fhEvent.in_channel_alias = fhEvent.in_channel; } + if (!fhEvent.out_channel_alias) { fhEvent.out_channel_alias = fhEvent.out_channel; } } } + } else { + fhEvent.in_channel_alias = fhEvent.in_channel; + fhEvent.out_channel_alias = fhEvent.out_channel; } }); - modifiedFeeWithTxCount.totalTxCount = action.payload.forwarding_events.filter(event => event.status === 'settled').length; + modifiedFeeWithTxCount.totalTxCount = action.payload.length; } else { - action.payload = {}; + action.payload = []; } return { ...state, - initialAPIResponseStatus: newAPIStatus, fee: modifiedFeeWithTxCount, forwardingHistory: action.payload }; + case CLActions.SET_FAILED_FORWARDING_HISTORY_CL: + if (action.payload && action.payload.length > 0) { + const storedChannels = [...state.allChannels]; + action.payload.forEach((fhEvent, i) => { + if (storedChannels && storedChannels.length > 0) { + for (let idx = 0; idx < storedChannels.length; idx++) { + if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id === fhEvent.in_channel) { + fhEvent.in_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.in_channel; + if (fhEvent.out_channel_alias) { return; } + } + if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id.toString() === fhEvent.out_channel) { + fhEvent.out_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.out_channel; + if (fhEvent.in_channel_alias) { return; } + } + if (idx === storedChannels.length - 1) { + if (!fhEvent.in_channel_alias) { fhEvent.in_channel_alias = fhEvent.in_channel; } + if (!fhEvent.out_channel_alias) { fhEvent.out_channel_alias = fhEvent.out_channel; } + } + } + } else { + fhEvent.in_channel_alias = fhEvent.in_channel; + fhEvent.out_channel_alias = fhEvent.out_channel; + } + }); + } else { + action.payload = []; + } + return { + ...state, + failedForwardingHistory: action.payload + }; case CLActions.ADD_INVOICE_CL: const newInvoices = state.invoices; newInvoices.invoices.unshift(action.payload); @@ -208,14 +233,11 @@ export function CLReducer(state = initCLState, action: CLActions.CLActions) { invoices: action.payload }; case CLActions.SET_UTXOS_CL: - newAPIStatus = [...state.initialAPIResponseStatus, 'UTXOS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, utxos: action.payload }; default: return state; } - } diff --git a/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.html b/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.html index a19b1280..4eecb0cb 100644 --- a/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.html +++ b/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.html @@ -14,7 +14,7 @@
- {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}} diff --git a/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.ts b/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.ts index 2f06c1d2..64ab7479 100644 --- a/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.ts +++ b/src/app/clightning/transactions/create-invoice-modal/create-invoice.component.ts @@ -8,7 +8,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { InvoiceInformation } from '../../../shared/models/alertData'; -import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE } from '../../../shared/services/consts-enums-functions'; +import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo } from '../../../shared/models/clModels'; import { CommonService } from '../../../shared/services/common.service'; @@ -23,6 +23,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./create-invoice.component.scss'] }) export class CLCreateInvoiceComponent implements OnInit, OnDestroy { + public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; public description = ''; @@ -41,71 +42,75 @@ export class CLCreateInvoiceComponent implements OnInit, OnDestroy { public invoiceError = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: InvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions$: Actions) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: InvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions: Actions) {} ngOnInit() { this.pageSize = this.data.pageSize; - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === CLActions.EFFECT_ERROR_CL || action.type === CLActions.ADD_INVOICE_CL)) - .subscribe((action: CLActions.EffectError | CLActions.AddInvoice) => { - if (action.type === CLActions.ADD_INVOICE_CL) { - this.dialogRef.close(); - } - if (action.type === CLActions.EFFECT_ERROR_CL && action.payload.action === 'SaveNewInvoice') { - this.invoiceError = action.payload.message; - } - }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === CLActions.UPDATE_API_CALL_STATUS_CL || action.type === CLActions.ADD_INVOICE_CL)). + subscribe((action: CLActions.UpdateAPICallStatus | CLActions.AddInvoice) => { + if (action.type === CLActions.ADD_INVOICE_CL) { + this.dialogRef.close(); + } + if (action.type === CLActions.UPDATE_API_CALL_STATUS_CL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SaveNewInvoice') { + this.invoiceError = action.payload.message; + } + }); } onAddInvoice(form: any) { this.invoiceError = ''; - if(!this.invoiceValue) { this.invoiceValue = 0; } + if (!this.invoiceValue) { + this.invoiceValue = 0; + } let expiryInSecs = (this.expiry ? this.expiry : 3600); if (this.selTimeUnit !== TimeUnitEnum.SECS) { expiryInSecs = this.commonService.convertTime(this.expiry, this.selTimeUnit, TimeUnitEnum.SECS); } - this.store.dispatch(new RTLActions.OpenSpinner('Adding Invoice...')); this.store.dispatch(new CLActions.SaveNewInvoice({ - label: ('ulbl' + Math.random().toString(36).slice(2) + Date.now()), amount: this.invoiceValue*1000, description: this.description, expiry: expiryInSecs, private: this.private + label: ('ulbl' + Math.random().toString(36).slice(2) + Date.now()), amount: this.invoiceValue * 1000, description: this.description, expiry: expiryInSecs, private: this.private })); } resetData() { this.description = ''; - this.invoiceValue = undefined; + this.invoiceValue = null; this.private = false; - this.expiry = undefined; + this.expiry = null; this.invoiceValueHint = ''; this.selTimeUnit = TimeUnitEnum.SECS; this.invoiceError = ''; } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } }); } } onTimeUnitChange(event: any) { - if(this.expiry && this.selTimeUnit !== event.value) { + if (this.expiry && this.selTimeUnit !== event.value) { this.expiry = this.commonService.convertTime(this.expiry, this.selTimeUnit, event.value); } this.selTimeUnit = event.value; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.spec.ts b/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.spec.ts index 3af684e6..def04c76 100644 --- a/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.spec.ts +++ b/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { CLInvoiceInformationComponent } from './invoice-information.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { DataService } from '../../../shared/services/data.service'; describe('CLInvoiceInformationComponent', () => { let component: CLInvoiceInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLInvoiceInformationComponent ] - }) - .compileComponents(); + declarations: [CLInvoiceInformationComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { invoice: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('CLInvoiceInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.ts b/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.ts index 77ad5a0e..cd555b99 100644 --- a/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.ts +++ b/src/app/clightning/transactions/invoice-information-modal/invoice-information.component.ts @@ -6,15 +6,17 @@ import { MatSnackBar } from '@angular/material/snack-bar'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import { CLInvoiceInformation } from '../../../shared/models/alertData'; -import { Invoice } from '../../../shared/models/clModels'; import { ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { Invoice } from '../../../shared/models/clModels'; + @Component({ selector: 'rtl-cl-invoice-information', templateUrl: './invoice-information.component.html', styleUrls: ['./invoice-information.component.scss'] }) export class CLInvoiceInformationComponent implements OnInit { + public faReceipt = faReceipt; public faExclamationTriangle = faExclamationTriangle; public showAdvanced = false; @@ -30,7 +32,7 @@ export class CLInvoiceInformationComponent implements OnInit { this.invoice = this.data.invoice; this.newlyAdded = this.data.newlyAdded; this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.qrWidth = 220; } } @@ -41,10 +43,11 @@ export class CLInvoiceInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; - } + } onCopyPayment(payload: string) { this.snackBar.open('Invoice copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/clightning/transactions/invoices/lightning-invoices.component.html b/src/app/clightning/transactions/invoices/lightning-invoices.component.html index f7372af5..7c304fec 100644 --- a/src/app/clightning/transactions/invoices/lightning-invoices.component.html +++ b/src/app/clightning/transactions/invoices/lightning-invoices.component.html @@ -5,7 +5,7 @@ - {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}}
@@ -27,9 +27,9 @@
-
- - +
+ +
diff --git a/src/app/clightning/transactions/invoices/lightning-invoices.component.ts b/src/app/clightning/transactions/invoices/lightning-invoices.component.ts index 7ca93c11..a2f32560 100644 --- a/src/app/clightning/transactions/invoices/lightning-invoices.component.ts +++ b/src/app/clightning/transactions/invoices/lightning-invoices.component.ts @@ -1,14 +1,16 @@ import { Component, OnInit, OnDestroy, ViewChild, Input, AfterViewInit } from '@angular/core'; import { DecimalPipe, DatePipe } from '@angular/common'; import { Subject } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { filter, takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { Actions } from '@ngrx/effects'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo, Invoice } from '../../../shared/models/clModels'; import { LoggerService } from '../../../shared/services/logger.service'; @@ -17,8 +19,8 @@ import { CommonService } from '../../../shared/services/common.service'; import { CLCreateInvoiceComponent } from '../create-invoice-modal/create-invoice.component'; import { CLInvoiceInformationComponent } from '../invoice-information-modal/invoice-information.component'; import { newlyAddedRowAnimation } from '../../../shared/animation/row-animation'; -import { RTLEffects } from '../../../store/rtl.effects'; +import { RTLEffects } from '../../../store/rtl.effects'; import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -29,13 +31,14 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./lightning-invoices.component.scss'], animations: [newlyAddedRowAnimation], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') }, - ] + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') } + ] }) export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home + + @Input() calledFrom = 'transactions'; // Transactions/home @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; faHistory = faHistory; public selNode: SelNodeChild = {}; public newlyAddedInvoiceMemo = ''; @@ -48,9 +51,8 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe public displayedColumns: any[] = []; public invoicePaymentReq = ''; public invoices: any; - public invoiceJSONArr: Invoice[] = []; + public invoiceJSONArr: Invoice[] = []; public information: GetInfo = {}; - public flgLoading: Array = [true]; public flgSticky = false; public private = false; public expiryStep = 100; @@ -58,17 +60,20 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private rtlEffects: RTLEffects, private datePipe: DatePipe) { + constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private rtlEffects: RTLEffects, private datePipe: DatePipe, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['expires_at', 'msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['expires_at', 'description', 'msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['expires_at', 'description', 'msatoshi', 'msatoshi_received', 'actions']; } else { @@ -78,26 +83,34 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInvoices') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInvoices.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchInvoices.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInvoices.message) : this.apisCallStatus.FetchInvoices.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.invoiceJSONArr = (rtlStore.invoices.invoices && rtlStore.invoices.invoices.length > 0) ? rtlStore.invoices.invoices : []; + if (this.invoiceJSONArr && this.invoiceJSONArr.length > 0 && this.sort && this.paginator) { + this.loadInvoicesTable(this.invoiceJSONArr); + } + setTimeout(() => { + this.flgAnimate = false; + }, 5000); + this.logger.info(rtlStore); + }); + this.actions.pipe(takeUntil(this.unSubs[1]), filter((action) => (action.type === CLActions.SET_LOOKUP_CL || action.type === CLActions.UPDATE_API_CALL_STATUS_CL))). + subscribe((resLookup: CLActions.SetLookup | CLActions.UpdateAPICallStatus) => { + if (resLookup.type === CLActions.SET_LOOKUP_CL) { + if (this.invoiceJSONArr && this.invoiceJSONArr.length > 0 && this.sort && this.paginator && resLookup.payload) { + this.updateInvoicesData(JSON.parse(JSON.stringify(resLookup.payload))); + this.loadInvoicesTable(this.invoiceJSONArr); + } } }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.invoiceJSONArr = (rtlStore.invoices.invoices && rtlStore.invoices.invoices.length > 0) ? rtlStore.invoices.invoices : []; - if (this.invoiceJSONArr && this.invoiceJSONArr.length > 0 && this.sort && this.paginator) { - this.loadInvoicesTable(this.invoiceJSONArr); - } - setTimeout(() => { this.flgAnimate = false; }, 5000); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.invoices) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -107,21 +120,22 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe } openCreateInvoiceModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { pageSize: this.pageSize, component: CLCreateInvoiceComponent - }})); + } })); } onAddInvoice(form: any) { - if(!this.invoiceValue) { this.invoiceValue = 0; } - let expiryInSecs = (this.expiry ? this.expiry : 3600); + if (!this.invoiceValue) { + this.invoiceValue = 0; + } + const expiryInSecs = (this.expiry ? this.expiry : 3600); this.flgAnimate = true; this.newlyAddedInvoiceMemo = 'ulbl' + Math.random().toString(36).slice(2) + Date.now(); this.newlyAddedInvoiceValue = this.invoiceValue; - this.store.dispatch(new RTLActions.OpenSpinner('Adding Invoice...')); this.store.dispatch(new CLActions.SaveNewInvoice({ - label: this.newlyAddedInvoiceMemo, amount: this.invoiceValue*1000, description: this.description, expiry: expiryInSecs, private: this.private + label: this.newlyAddedInvoiceMemo, amount: this.invoiceValue * 1000, description: this.description, expiry: expiryInSecs, private: this.private })); this.resetData(); } @@ -130,18 +144,17 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: 'CONFIRM', titleMessage: 'Delete Expired Invoices', noBtnText: 'Cancel', yesBtnText: 'Delete Invoices' } })); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[1])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Deleting Invoices...')); - this.store.dispatch(new CLActions.DeleteExpiredInvoice()); - } - }); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[2])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new CLActions.DeleteExpiredInvoice()); + } + }); } - onInvoiceClick(selInvoice: Invoice, event: any) { - let reCreatedInvoice: Invoice = { + onInvoiceClick(selInvoice: Invoice) { + const reCreatedInvoice: Invoice = { msatoshi: selInvoice.msatoshi, label: selInvoice.label, expires_at: selInvoice.expires_at, @@ -152,18 +165,18 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe status: selInvoice.status, msatoshi_received: selInvoice.msatoshi_received }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - invoice: reCreatedInvoice, - newlyAdded: false, - component: CLInvoiceInformationComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ data: { + invoice: reCreatedInvoice, + newlyAdded: false, + component: CLInvoiceInformationComponent + } })); } resetData() { this.description = ''; - this.invoiceValue = undefined; + this.invoiceValue = null; this.private = false; - this.expiry = undefined; + this.expiry = null; this.invoiceValueHint = ''; } @@ -172,35 +185,45 @@ export class CLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDe } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } }); } } + onRefreshInvoice(selInvoice: Invoice) { + this.store.dispatch(new CLActions.InvoiceLookup(selInvoice.label)); + } + + updateInvoicesData(newInvoice: Invoice) { + this.invoiceJSONArr = this.invoiceJSONArr.map((invoice) => ((invoice.label === newInvoice.label) ? newInvoice : invoice)); + } + loadInvoicesTable(invs: Invoice[]) { this.invoices = (invs) ? new MatTableDataSource([...invs]) : new MatTableDataSource([]); - this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.invoices.sort = this.sort; this.invoices.filterPredicate = (rowData: Invoice, fltr: string) => { - const newRowData = ((rowData.paid_at) ? this.datePipe.transform(new Date(rowData.paid_at*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + ((rowData.expires_at) ? this.datePipe.transform(new Date(rowData.expires_at*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.paid_at) ? this.datePipe.transform(new Date(rowData.paid_at * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + ((rowData.expires_at) ? this.datePipe.transform(new Date(rowData.expires_at * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; - this.invoices.paginator = this.paginator; + this.invoices.paginator = this.paginator; } onDownloadCSV() { - if(this.invoices.data && this.invoices.data.length > 0) { + if (this.invoices.data && this.invoices.data.length > 0) { this.commonService.downloadFile(this.invoices.data, 'Invoices'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/transactions/payments/lightning-payments.component.html b/src/app/clightning/transactions/payments/lightning-payments.component.html index 447d0e93..0674f6d4 100644 --- a/src/app/clightning/transactions/payments/lightning-payments.component.html +++ b/src/app/clightning/transactions/payments/lightning-payments.component.html @@ -23,9 +23,9 @@ -
- -
Expiry Date @@ -68,12 +68,20 @@ - +
+ + + View Info + Refresh + +
-

No invoices available.

+

No invoice available.

+

Getting invoices...

+

{{errorMessage}}

+
+ +
diff --git a/src/app/clightning/transactions/payments/lightning-payments.component.ts b/src/app/clightning/transactions/payments/lightning-payments.component.ts index 1ca8b2a5..bf2921ec 100644 --- a/src/app/clightning/transactions/payments/lightning-payments.component.ts +++ b/src/app/clightning/transactions/payments/lightning-payments.component.ts @@ -9,19 +9,20 @@ import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { GetInfo, Payment, PayRequest } from '../../../shared/models/clModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListCL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import { newlyAddedRowAnimation } from '../../../shared/animation/row-animation'; import { CLLightningSendPaymentsComponent } from '../send-payment-modal/send-payment.component'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; + import { CLEffects } from '../../store/cl.effects'; import { RTLEffects } from '../../../store/rtl.effects'; import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { Payments } from '../../../shared/models/eclModels'; @Component({ selector: 'rtl-cl-lightning-payments', @@ -30,18 +31,18 @@ import { Payments } from '../../../shared/models/eclModels'; animations: [newlyAddedRowAnimation], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Payments') } - ] + ] }) export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home + + @Input() calledFrom = 'transactions'; // Transactions/home @ViewChild('sendPaymentForm', { static: false }) form; @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faHistory = faHistory; public newlyAddedPayment = ''; public flgAnimate = true; public selNode: SelNodeChild = {}; - public flgLoading: Array = [true]; public information: GetInfo = {}; public payments: any; public paymentJSONArr: Payment[] = []; @@ -55,19 +56,22 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListCL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private rtlEffects: RTLEffects, private clEffects: CLEffects, private decimalPipe: DecimalPipe, private titleCasePipe: TitleCasePipe, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['created_at', 'actions']; this.mppColumns = ['groupTotal', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['created_at', 'msatoshi', 'actions']; this.mppColumns = ['groupTotal', 'groupAmtRecv', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['created_at', 'msatoshi_sent', 'msatoshi', 'actions']; this.mppColumns = ['groupTotal', 'groupAmtSent', 'groupAmtRecv', 'groupAction']; @@ -79,26 +83,25 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe } ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPayments') { - this.flgLoading[0] = 'error'; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPayments.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; } + this.information = rtlStore.information; + this.selNode = rtlStore.nodeSettings; + this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.length > 0) ? rtlStore.payments : []; + if (this.paymentJSONArr.length > 0) { + this.loadPaymentsTable(this.paymentJSONArr); + } + setTimeout(() => { + this.flgAnimate = false; + }, 3000); + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.selNode = rtlStore.nodeSettings; - this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.length > 0) ? rtlStore.payments : []; - if (this.paymentJSONArr.length > 0) { - this.loadPaymentsTable(this.paymentJSONArr); - } - setTimeout(() => { this.flgAnimate = false; }, 3000); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.paymentJSONArr) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -107,78 +110,77 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe } } - is_group(index: number, payment: Payment):boolean { + is_group(index: number, payment: Payment): boolean { return payment.is_group; } - onSendPayment():boolean|void { - if(!this.paymentRequest) { return true; } + onSendPayment(): boolean|void { + if (!this.paymentRequest) { + return true; + } if (this.paymentDecoded.created_at) { this.sendPayment(); } else { - this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); - this.store.dispatch(new CLActions.DecodePayment({routeParam: this.paymentRequest, fromDialog: false})); - this.clEffects.setDecodedPaymentCL - .pipe(take(1)) - .subscribe(decodedPayment => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.created_at) { - if (!this.paymentDecoded.msatoshi) { - this.paymentDecoded.msatoshi = 0; + this.store.dispatch(new CLActions.DecodePayment({ routeParam: this.paymentRequest, fromDialog: false })); + this.clEffects.setDecodedPaymentCL. + pipe(take(1)). + subscribe((decodedPayment) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.created_at) { + if (!this.paymentDecoded.msatoshi) { + this.paymentDecoded.msatoshi = 0; + } + this.sendPayment(); + } else { + this.resetData(); } - this.sendPayment(); - } else { - this.resetData(); - } - }); + }); } - } sendPayment() { this.flgAnimate = true; this.newlyAddedPayment = this.paymentDecoded.payment_hash; - if (!this.paymentDecoded.msatoshi || this.paymentDecoded.msatoshi === 0) { - const reorderedPaymentDecoded = [ - [{key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100}], - [{key: 'payee', value: this.paymentDecoded.payee, title: 'Payee', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'created_at', value: this.paymentDecoded.created_at, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME}, - {key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'min_finaltv_expiry', value: this.paymentDecoded.min_final_cltv_expiry, title: 'CLTV Expiry', width: 30}] - ]; - const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { - type: AlertTypeEnum.CONFIRM, - alertTitle: 'Enter Amount and Confirm Send Payment', - message: reorderedPaymentDecoded, - noBtnText: 'Cancel', - yesBtnText: 'Send Payment', - flgShowInput: true, - titleMessage: titleMsg, - getInputs: [ - {placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30} - ] - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { + if (!this.paymentDecoded.msatoshi || this.paymentDecoded.msatoshi === 0) { + const reorderedPaymentDecoded = [ + [{ key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100 }], + [{ key: 'payee', value: this.paymentDecoded.payee, title: 'Payee', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'created_at', value: this.paymentDecoded.created_at, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME }, + { key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'min_finaltv_expiry', value: this.paymentDecoded.min_final_cltv_expiry, title: 'CLTV Expiry', width: 30 }] + ]; + const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + type: AlertTypeEnum.CONFIRM, + alertTitle: 'Enter Amount and Confirm Send Payment', + message: reorderedPaymentDecoded, + noBtnText: 'Cancel', + yesBtnText: 'Send Payment', + flgShowInput: true, + titleMessage: titleMsg, + getInputs: [ + { placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30 } + ] + } })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { if (confirmRes) { this.paymentDecoded.msatoshi = confirmRes[0].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new CLActions.SendPayment({invoice: this.paymentRequest, amount: confirmRes[0].inputValue*1000, fromDialog: false})); + this.store.dispatch(new CLActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, invoice: this.paymentRequest, amount: confirmRes[0].inputValue * 1000, fromDialog: false })); this.resetData(); } }); } else { const reorderedPaymentDecoded = [ - [{key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100}], - [{key: 'payee', value: this.paymentDecoded.payee, title: 'Payee', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'created_at', value: this.paymentDecoded.created_at, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'num_satoshis', value: this.paymentDecoded.msatoshi/1000, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'min_finaltv_expiry', value: this.paymentDecoded.min_final_cltv_expiry, title: 'CLTV Expiry', width: 50}] + [{ key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100 }], + [{ key: 'payee', value: this.paymentDecoded.payee, title: 'Payee', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'created_at', value: this.paymentDecoded.created_at, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'num_satoshis', value: this.paymentDecoded.msatoshi / 1000, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'min_finaltv_expiry', value: this.paymentDecoded.min_final_cltv_expiry, title: 'CLTV Expiry', width: 50 }] ]; this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, @@ -186,37 +188,37 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe noBtnText: 'Cancel', yesBtnText: 'Send Payment', message: reorderedPaymentDecoded - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new CLActions.SendPayment({invoice: this.paymentRequest, fromDialog: false})); - this.resetData(); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new CLActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, invoice: this.paymentRequest, fromDialog: false })); + this.resetData(); + } + }); } } onPaymentRequestEntry(event: any) { this.paymentRequest = event; this.paymentDecodedHint = ''; - if(this.paymentRequest && this.paymentRequest.length > 100) { - this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); - this.store.dispatch(new CLActions.DecodePayment({routeParam: this.paymentRequest, fromDialog: false})); - this.clEffects.setDecodedPaymentCL.subscribe(decodedPayment => { + if (this.paymentRequest && this.paymentRequest.length > 100) { + this.store.dispatch(new CLActions.DecodePayment({ routeParam: this.paymentRequest, fromDialog: false })); + this.clEffects.setDecodedPaymentCL.subscribe((decodedPayment) => { this.paymentDecoded = decodedPayment; - if(this.paymentDecoded.msatoshi) { - this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; - } else { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; - } - }); + if (this.paymentDecoded.msatoshi) { + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[1])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } }); + } else { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; + } } else { this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; } @@ -225,9 +227,9 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe } openSendPaymentModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { component: CLLightningSendPaymentsComponent - }})); + } })); } resetData() { @@ -238,30 +240,29 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe onPaymentClick(selPayment) { const reorderedPayment = [ - [{key: 'bolt11', value: selPayment.bolt11, title: 'Bolt 11', width: 100, type: DataTypeEnum.STRING}], - [{key: 'payment_preimage', value: selPayment.payment_preimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING}], - [{key: 'id', value: selPayment.id, title: 'ID', width: 20, type: DataTypeEnum.STRING}, - {key: 'destination', value: selPayment.destination, title: 'Destination', width: 80, type: DataTypeEnum.STRING}], - [{key: 'created_at', value: selPayment.created_at, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'status', value: this.titleCasePipe.transform(selPayment.status), title: 'Status', width: 50, type: DataTypeEnum.STRING}], - [{key: 'msatoshi', value: selPayment.msatoshi, title: 'Amount (mSats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'msatoshi_sent', value: selPayment.msatoshi_sent, title: 'Amount Sent (mSats)', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'bolt11', value: selPayment.bolt11, title: 'Bolt 11', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'payment_preimage', value: selPayment.payment_preimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'id', value: selPayment.id, title: 'ID', width: 20, type: DataTypeEnum.STRING }, + { key: 'destination', value: selPayment.destination, title: 'Destination', width: 80, type: DataTypeEnum.STRING }], + [{ key: 'created_at', value: selPayment.created_at, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'status', value: this.titleCasePipe.transform(selPayment.status), title: 'Status', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'msatoshi', value: selPayment.msatoshi, title: 'Amount (mSats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'msatoshi_sent', value: selPayment.msatoshi_sent, title: 'Amount Sent (mSats)', width: 50, type: DataTypeEnum.NUMBER }] ]; if (selPayment.memo && selPayment.memo !== '') { - reorderedPayment.splice(2, 0, [{key: 'memo', value: selPayment.memo, title: 'Memo', width: 100, type: DataTypeEnum.STRING}]); + reorderedPayment.splice(2, 0, [{ key: 'memo', value: selPayment.memo, title: 'Memo', width: 100, type: DataTypeEnum.STRING }]); } if (selPayment.hasOwnProperty('partid')) { - reorderedPayment.unshift( - [{key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 80, type: DataTypeEnum.STRING}, - {key: 'partid', value: selPayment.partid, title: 'Part ID', width: 20, type: DataTypeEnum.STRING}]); + reorderedPayment.unshift([{ key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 80, type: DataTypeEnum.STRING }, + { key: 'partid', value: selPayment.partid, title: 'Part ID', width: 20, type: DataTypeEnum.STRING }]); } else { - reorderedPayment.unshift([{key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}]); + reorderedPayment.unshift([{ key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }]); } this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Payment Information', message: reorderedPayment - }})); + } })); } applyFilter(selFilter: any) { @@ -272,19 +273,19 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe this.payments = (payments) ? new MatTableDataSource([...payments]) : new MatTableDataSource([]); this.payments.data = this.paymentJSONArr; this.payments.sort = this.sort; - this.payments.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.payments.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.payments.filterPredicate = (payment: Payment, fltr: string) => JSON.stringify(payment).toLowerCase().includes(fltr); this.payments.filterPredicate = (rowData: Payment, fltr: string) => { - const newRowData = ((rowData.created_at) ? this.datePipe.transform(new Date(rowData.created_at*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.created_at) ? this.datePipe.transform(new Date(rowData.created_at * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; this.payments.paginator = this.paginator; } onDownloadCSV() { - if(this.payments.data && this.payments.data.length > 0) { - let paymentsDataCopy = JSON.parse(JSON.stringify(this.payments.data)); - let flattenedPayments = paymentsDataCopy.reduce((acc, curr) => { + if (this.payments.data && this.payments.data.length > 0) { + const paymentsDataCopy = JSON.parse(JSON.stringify(this.payments.data)); + const flattenedPayments = paymentsDataCopy.reduce((acc, curr) => { if (curr.mpps) { return acc.concat(curr.mpps); } else { @@ -299,7 +300,7 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/transactions/query-routes/query-routes.component.spec.ts b/src/app/clightning/transactions/query-routes/query-routes.component.spec.ts index f31ab4f3..0d2d72fb 100644 --- a/src/app/clightning/transactions/query-routes/query-routes.component.spec.ts +++ b/src/app/clightning/transactions/query-routes/query-routes.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; import { CLQueryRoutesComponent } from './query-routes.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { CLEffects } from '../../store/cl.effects'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('CLQueryRoutesComponent', () => { let component: CLQueryRoutesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLQueryRoutesComponent ] - }) - .compileComponents(); + declarations: [CLQueryRoutesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: CLEffects, useClass: mockCLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('CLQueryRoutesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/transactions/query-routes/query-routes.component.ts b/src/app/clightning/transactions/query-routes/query-routes.component.ts index 64f6670d..4a2c2845 100644 --- a/src/app/clightning/transactions/query-routes/query-routes.component.ts +++ b/src/app/clightning/transactions/query-routes/query-routes.component.ts @@ -2,18 +2,18 @@ import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { faRoute, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; - -import { CommonService } from '../../../shared/services/common.service'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; +import { faRoute, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; + import { Routes } from '../../../shared/models/clModels'; +import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { CommonService } from '../../../shared/services/common.service'; import { CLEffects } from '../../store/cl.effects'; import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-cl-query-routes', @@ -21,10 +21,11 @@ import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/ser styleUrls: ['./query-routes.component.scss'] }) export class CLQueryRoutesComponent implements OnInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild('queryRoutesForm', { static: true }) form: any; + @ViewChild('queryRoutesForm', { static: true }) form: any; public destinationPubkey = ''; - public amount:number = null; + public amount: number = null; public qrHops: any; public flgSticky = false; public displayedColumns: any[] = []; @@ -37,13 +38,13 @@ export class CLQueryRoutesComponent implements OnInit, OnDestroy { constructor(private store: Store, private clEffects: CLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'direction', 'msatoshi', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'direction', 'delay', 'msatoshi', 'actions']; } else { @@ -53,27 +54,29 @@ export class CLQueryRoutesComponent implements OnInit, OnDestroy { } ngOnInit() { - this.clEffects.setQueryRoutesCL - .pipe(takeUntil(this.unSubs[1])) - .subscribe(queryRoute => { - this.qrHops = new MatTableDataSource([]); - this.qrHops.data = []; - if (queryRoute.routes) { - this.flgLoading[0] = false; - this.qrHops = new MatTableDataSource([...queryRoute.routes]); - this.qrHops.data = queryRoute.routes; - } else { - this.flgLoading[0] = 'error'; - } - this.qrHops.sort = this.sort; - this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; - }); + this.clEffects.setQueryRoutesCL. + pipe(takeUntil(this.unSubs[1])). + subscribe((queryRoute) => { + this.qrHops = new MatTableDataSource([]); + this.qrHops.data = []; + if (queryRoute.routes) { + this.flgLoading[0] = false; + this.qrHops = new MatTableDataSource([...queryRoute.routes]); + this.qrHops.data = queryRoute.routes; + } else { + this.flgLoading[0] = 'error'; + } + this.qrHops.sort = this.sort; + this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); + }); } - onQueryRoutes():boolean|void { - if(!this.destinationPubkey || !this.amount) { return true; } + onQueryRoutes(): boolean|void { + if (!this.destinationPubkey || !this.amount) { + return true; + } this.flgLoading[0] = true; - this.store.dispatch(new CLActions.GetQueryRoutes({destPubkey: this.destinationPubkey, amount: this.amount*1000})); + this.store.dispatch(new CLActions.GetQueryRoutes({ destPubkey: this.destinationPubkey, amount: this.amount * 1000 })); } resetData() { @@ -86,23 +89,23 @@ export class CLQueryRoutesComponent implements OnInit, OnDestroy { onHopClick(selHop: Routes, event: any) { const reorderedHop = [ - [{key: 'id', value: selHop.id, title: 'ID', width: 100, type: DataTypeEnum.STRING}], - [{key: 'channel', value: selHop.channel, title: 'Channel', width: 50, type: DataTypeEnum.STRING}, - {key: 'alias', value: selHop.alias, title: 'Peer Alias', width: 50, type: DataTypeEnum.STRING}], - [{key: 'msatoshi', value: selHop.msatoshi, title: 'mSatoshi', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'amount_msat', value: selHop.amount_msat, title: 'Amount mSat', width: 50, type: DataTypeEnum.STRING}], - [{key: 'direction', value: selHop.direction, title: 'Direction', width: 50, type: DataTypeEnum.STRING}, - {key: 'delay', value: selHop.delay, title: 'Delay', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'id', value: selHop.id, title: 'ID', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'channel', value: selHop.channel, title: 'Channel', width: 50, type: DataTypeEnum.STRING }, + { key: 'alias', value: selHop.alias, title: 'Peer Alias', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'msatoshi', value: selHop.msatoshi, title: 'mSatoshi', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'amount_msat', value: selHop.amount_msat, title: 'Amount mSat', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'direction', value: selHop.direction, title: 'Direction', width: 50, type: DataTypeEnum.STRING }, + { key: 'delay', value: selHop.delay, title: 'Delay', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Route Information', message: reorderedHop - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/transactions/send-payment-modal/send-payment.component.ts b/src/app/clightning/transactions/send-payment-modal/send-payment.component.ts index 84fa593f..71cb90a5 100644 --- a/src/app/clightning/transactions/send-payment-modal/send-payment.component.ts +++ b/src/app/clightning/transactions/send-payment-modal/send-payment.component.ts @@ -10,12 +10,11 @@ import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { PayRequest, Channel } from '../../../shared/models/clModels'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; import { CLEffects } from '../../store/cl.effects'; -import { RTLEffects } from '../../../store/rtl.effects'; import * as CLActions from '../../store/cl.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -23,11 +22,16 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ selector: 'rtl-cl-lightning-send-payments', templateUrl: './send-payment.component.html', - styleUrls: ['./send-payment.component.scss'], + styleUrls: ['./send-payment.component.scss'] }) export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { + private paymentReq: NgModel; - @ViewChild('paymentReq') set payReq(paymReq: NgModel) {if(paymReq) { this.paymentReq = paymReq; }} + @ViewChild('paymentReq') set payReq(paymReq: NgModel) { + if (paymReq) { + this.paymentReq = paymReq; + } + } public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; public paymentDecoded: PayRequest = {}; @@ -47,40 +51,43 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { public isCompatibleVersion = false; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, private store: Store, private clEffects: CLEffects, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions$: Actions, private rtlEffects: RTLEffects) {} + constructor(public dialogRef: MatDialogRef, private store: Store, private clEffects: CLEffects, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions: Actions) {} ngOnInit() { - this.store.select('cl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.activeChannels = rtlStore.allChannels.filter(channel => channel.state === 'CHANNELD_NORMAL' && channel.connected); - this.isCompatibleVersion = - this.commonService.isVersionCompatible(rtlStore.information.version, '0.9.0') - && this.commonService.isVersionCompatible(rtlStore.information.api_version, '0.4.0'); - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === CLActions.EFFECT_ERROR_CL || action.type === CLActions.SEND_PAYMENT_STATUS_CL)) - .subscribe((action: CLActions.EffectError | CLActions.SendPaymentStatus) => { - if (action.type === CLActions.SEND_PAYMENT_STATUS_CL) { - this.dialogRef.close(); - } - if (action.type === CLActions.EFFECT_ERROR_CL) { - if (action.payload.action === 'SendPayment') { - delete this.paymentDecoded.msatoshi; - this.paymentError = action.payload.message; + this.store.select('cl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.activeChannels = rtlStore.allChannels.filter((channel) => channel.state === 'CHANNELD_NORMAL' && channel.connected); + this.isCompatibleVersion = + this.commonService.isVersionCompatible(rtlStore.information.version, '0.9.0') && + this.commonService.isVersionCompatible(rtlStore.information.api_version, '0.4.0'); + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === CLActions.UPDATE_API_CALL_STATUS_CL || action.type === CLActions.SEND_PAYMENT_STATUS_CL)). + subscribe((action: CLActions.UpdateAPICallStatus | CLActions.SendPaymentStatus) => { + if (action.type === CLActions.SEND_PAYMENT_STATUS_CL) { + this.dialogRef.close(); } - if (action.payload.action === 'DecodePayment') { - this.paymentDecodedHint = 'ERROR: ' + action.payload.message; - this.paymentReq.control.setErrors({'decodeError': true}); + if (action.type === CLActions.UPDATE_API_CALL_STATUS_CL && action.payload.status === APICallStatusEnum.ERROR) { + if (action.payload.action === 'SendPayment') { + delete this.paymentDecoded.msatoshi; + this.paymentError = action.payload.message; + } + if (action.payload.action === 'DecodePayment') { + this.paymentDecodedHint = 'ERROR: ' + action.payload.message; + this.paymentReq.control.setErrors({ decodeError: true }); + } } - } - }); + }); } - onSendPayment():boolean|void { - if ((this.paymentType === 'invoice' && !this.paymentRequest) || (this.paymentType === 'keysend' && (!this.pubkey || this.pubkey.trim() === '' || !this.keysendAmount || this.keysendAmount <= 0))) { return true; } + onSendPayment(): boolean|void { + if ((this.paymentType === 'invoice' && !this.paymentRequest) || (this.paymentType === 'keysend' && (!this.pubkey || this.pubkey.trim() === '' || !this.keysendAmount || this.keysendAmount <= 0))) { + return true; + } if (this.paymentType === 'keysend') { this.keysendPayment(); } else { @@ -90,10 +97,9 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentAmount = null; this.paymentError = ''; this.paymentDecodedHint = ''; - this.paymentReq.control.setErrors(null); - this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); - this.store.dispatch(new CLActions.DecodePayment({routeParam: this.paymentRequest, fromDialog: true})); - this.clEffects.setDecodedPaymentCL.pipe(take(1)).subscribe(decodedPayment => { + this.paymentReq.control.setErrors(null); + this.store.dispatch(new CLActions.DecodePayment({ routeParam: this.paymentRequest, fromDialog: true })); + this.clEffects.setDecodedPaymentCL.pipe(take(1)).subscribe((decodedPayment) => { this.paymentDecoded = decodedPayment; if (this.paymentDecoded.created_at && !this.paymentDecoded.msatoshi) { this.paymentDecoded.msatoshi = 0; @@ -101,15 +107,17 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; } else { this.zeroAmtInvoice = false; - this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; - } else { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; - } - }); + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } }); + } else { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; + } } }); } @@ -117,16 +125,14 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { } keysendPayment() { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Keysend Payment...')); - this.store.dispatch(new CLActions.SendPayment({pubkey: this.pubkey, amount: this.keysendAmount*1000, fromDialog: true})); + this.store.dispatch(new CLActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_KEYSEND, pubkey: this.pubkey, amount: this.keysendAmount * 1000, fromDialog: true })); } sendPayment() { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); if (this.zeroAmtInvoice) { - this.store.dispatch(new CLActions.SendPayment({invoice: this.paymentRequest, amount: this.paymentAmount*1000, fromDialog: true})); + this.store.dispatch(new CLActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, invoice: this.paymentRequest, amount: this.paymentAmount * 1000, fromDialog: true })); } else { - this.store.dispatch(new CLActions.SendPayment({invoice: this.paymentRequest, fromDialog: true})); + this.store.dispatch(new CLActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, invoice: this.paymentRequest, fromDialog: true })); } } @@ -135,12 +141,11 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentError = ''; this.paymentDecodedHint = ''; this.zeroAmtInvoice = false; - if(this.paymentRequest && this.paymentRequest.length > 100) { + if (this.paymentRequest && this.paymentRequest.length > 100) { this.paymentReq.control.setErrors(null); this.zeroAmtInvoice = false; - this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); - this.store.dispatch(new CLActions.DecodePayment({routeParam: this.paymentRequest, fromDialog: true})); - this.clEffects.setDecodedPaymentCL.subscribe(decodedPayment => { + this.store.dispatch(new CLActions.DecodePayment({ routeParam: this.paymentRequest, fromDialog: true })); + this.clEffects.setDecodedPaymentCL.subscribe((decodedPayment) => { this.paymentDecoded = decodedPayment; if (this.paymentDecoded.created_at && !this.paymentDecoded.msatoshi) { this.paymentDecoded.msatoshi = 0; @@ -148,15 +153,17 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; } else { this.zeroAmtInvoice = false; - this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; - } else { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi/1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; - } - }); + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } }); + } else { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.msatoshi ? this.paymentDecoded.msatoshi / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; + } } }); } @@ -190,7 +197,7 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/clightning/transactions/transactions.component.spec.ts b/src/app/clightning/transactions/transactions.component.spec.ts index 3e2b05fd..64f07cae 100644 --- a/src/app/clightning/transactions/transactions.component.spec.ts +++ b/src/app/clightning/transactions/transactions.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { LoggerService } from '../../shared/services/logger.service'; import { CLTransactionsComponent } from './transactions.component'; +import { SharedModule } from '../../shared/shared.module'; +import { CLQueryRoutesComponent } from './query-routes/query-routes.component'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { CommonService } from '../../shared/services/common.service'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('CLTransactionsComponent', () => { let component: CLTransactionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CLTransactionsComponent ] - }) - .compileComponents(); + declarations: [CLTransactionsComponent, CLQueryRoutesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('CLTransactionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/clightning/transactions/transactions.component.ts b/src/app/clightning/transactions/transactions.component.ts index de56a780..63c4f796 100644 --- a/src/app/clightning/transactions/transactions.component.ts +++ b/src/app/clightning/transactions/transactions.component.ts @@ -5,9 +5,10 @@ import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faExchangeAlt, faChartPie } from '@fortawesome/free-solid-svg-icons'; +import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; import { LoggerService } from '../../shared/services/logger.service'; + import * as fromRTLReducer from '../../store/rtl.reducers'; -import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-cl-transactions', @@ -15,41 +16,43 @@ import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; styleUrls: ['./transactions.component.scss'] }) export class CLTransactionsComponent implements OnInit, OnDestroy { + faExchangeAlt = faExchangeAlt; faChartPie = faChartPie; currencyUnits = []; - balances = [{title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive'}]; - public links = [{link: 'payments', name: 'Payments'}, {link: 'invoices', name: 'Invoices'}, {link: 'queryroutes', name: 'Query Routes'}]; + balances = [{ title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive' }]; + public links = [{ link: 'payments', name: 'Payments' }, { link: 'invoices', name: 'Invoices' }, { link: 'queryroutes', name: 'Query Routes' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('cl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.currencyUnits = rtlStore.nodeSettings.currencyUnits; - if(rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { - this.balances = [{title: 'Local Capacity', dataValue: rtlStore.localRemoteBalance.localBalance, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: rtlStore.localRemoteBalance.remoteBalance, tooltip: 'Amount you can receive'}]; - } else { - this.balances = [{title: 'Outbound Capacity', dataValue: rtlStore.localRemoteBalance.localBalance, tooltip: 'Amount you can send'}, {title: 'Inbound Capacity', dataValue: rtlStore.localRemoteBalance.remoteBalance, tooltip: 'Amount you can receive'}]; - } - this.logger.info(rtlStore); - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('cl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.currencyUnits = rtlStore.nodeSettings.currencyUnits; + if (rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { + this.balances = [{ title: 'Local Capacity', dataValue: rtlStore.localRemoteBalance.localBalance, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: rtlStore.localRemoteBalance.remoteBalance, tooltip: 'Amount you can receive' }]; + } else { + this.balances = [{ title: 'Outbound Capacity', dataValue: rtlStore.localRemoteBalance.localBalance, tooltip: 'Amount you can send' }, { title: 'Inbound Capacity', dataValue: rtlStore.localRemoteBalance.remoteBalance, tooltip: 'Amount you can receive' }]; + } + this.logger.info(rtlStore); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/ecl-root.component.ts b/src/app/eclair/ecl-root.component.ts index 05efdddb..5ba29ed3 100644 --- a/src/app/eclair/ecl-root.component.ts +++ b/src/app/eclair/ecl-root.component.ts @@ -9,6 +9,7 @@ import { routeAnimation } from '../shared/animation/route-animation'; animations: [routeAnimation] }) export class ECLRootComponent { + loading = false; constructor(private router: Router) { @@ -28,6 +29,7 @@ export class ECLRootComponent { break; } } - }); + }); } + } diff --git a/src/app/eclair/ecl.routing.ts b/src/app/eclair/ecl.routing.ts index bdc45e25..035890ac 100644 --- a/src/app/eclair/ecl.routing.ts +++ b/src/app/eclair/ecl.routing.ts @@ -27,41 +27,54 @@ import { ECLUnlockedGuard } from '../shared/services/auth.guard'; import { NotFoundComponent } from '../shared/components/not-found/not-found.component'; export const EclRoutes: Routes = [ - { path: '', component: ECLRootComponent, + { + path: '', component: ECLRootComponent, children: [ { path: '', pathMatch: 'full', redirectTo: 'home' }, { path: 'home', component: ECLHomeComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'onchain', component: ECLOnChainComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'receive' }, - { path: 'receive', component: ECLOnChainReceiveComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'send', component: ECLOnChainSendComponent, canActivate: [ECLUnlockedGuard] } - ] }, - { path: 'connections', component: ECLConnectionsComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'channels' }, - { path: 'channels', component: ECLChannelsTablesComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'open' }, - { path: 'open', component: ECLChannelOpenTableComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'pending', component: ECLChannelPendingTableComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'inactive', component: ECLChannelInactiveTableComponent, canActivate: [ECLUnlockedGuard] } - ] }, - { path: 'peers', component: ECLPeersComponent, data : {sweepAll : false}, canActivate: [ECLUnlockedGuard] } - ] }, - { path: 'transactions', component: ECLTransactionsComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'payments' }, - { path: 'payments', component: ECLLightningPaymentsComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'invoices', component: ECLLightningInvoicesComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'queryroutes', component: ECLQueryRoutesComponent, canActivate: [ECLUnlockedGuard] } - ] }, - { path: 'routing', component: ECLRoutingComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'forwardinghistory' }, - { path: 'forwardinghistory', component: ECLForwardingHistoryComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'peers', component: ECLRoutingPeersComponent, canActivate: [ECLUnlockedGuard] } - ] }, - { path: 'reports', component: ECLReportsComponent, canActivate: [ECLUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'routingfees' }, - { path: 'routingfees', component: ECLFeeReportComponent, canActivate: [ECLUnlockedGuard] }, - { path: 'transactions', component: ECLTransactionsReportComponent, canActivate: [ECLUnlockedGuard] } - ] }, + { + path: 'onchain', component: ECLOnChainComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'receive' }, + { path: 'receive', component: ECLOnChainReceiveComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'send', component: ECLOnChainSendComponent, canActivate: [ECLUnlockedGuard] } + ] + }, + { + path: 'connections', component: ECLConnectionsComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'channels' }, + { + path: 'channels', component: ECLChannelsTablesComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'open' }, + { path: 'open', component: ECLChannelOpenTableComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'pending', component: ECLChannelPendingTableComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'inactive', component: ECLChannelInactiveTableComponent, canActivate: [ECLUnlockedGuard] } + ] + }, + { path: 'peers', component: ECLPeersComponent, data: { sweepAll: false }, canActivate: [ECLUnlockedGuard] } + ] + }, + { + path: 'transactions', component: ECLTransactionsComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'payments' }, + { path: 'payments', component: ECLLightningPaymentsComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'invoices', component: ECLLightningInvoicesComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'queryroutes', component: ECLQueryRoutesComponent, canActivate: [ECLUnlockedGuard] } + ] + }, + { + path: 'routing', component: ECLRoutingComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'forwardinghistory' }, + { path: 'forwardinghistory', component: ECLForwardingHistoryComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'peers', component: ECLRoutingPeersComponent, canActivate: [ECLUnlockedGuard] } + ] + }, + { + path: 'reports', component: ECLReportsComponent, canActivate: [ECLUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'routingfees' }, + { path: 'routingfees', component: ECLFeeReportComponent, canActivate: [ECLUnlockedGuard] }, + { path: 'transactions', component: ECLTransactionsReportComponent, canActivate: [ECLUnlockedGuard] } + ] + }, { path: 'lookups', component: ECLLookupsComponent, canActivate: [ECLUnlockedGuard] }, { path: '**', component: NotFoundComponent } ] diff --git a/src/app/eclair/home/balances-info/balances-info.component.html b/src/app/eclair/home/balances-info/balances-info.component.html index 4c038451..4f2f152f 100644 --- a/src/app/eclair/home/balances-info/balances-info.component.html +++ b/src/app/eclair/home/balances-info/balances-info.component.html @@ -1,4 +1,4 @@ -
+

Lightning

{{balances.lightning | number}} Sats
@@ -14,3 +14,8 @@
{{balances.total | number}} Sats
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/eclair/home/balances-info/balances-info.component.spec.ts b/src/app/eclair/home/balances-info/balances-info.component.spec.ts index 4d112bca..23fe958e 100644 --- a/src/app/eclair/home/balances-info/balances-info.component.spec.ts +++ b/src/app/eclair/home/balances-info/balances-info.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { ECLBalancesInfoComponent } from './balances-info.component'; @@ -6,11 +7,12 @@ describe('ECLBalancesInfoComponent', () => { let component: ECLBalancesInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLBalancesInfoComponent ] - }) - .compileComponents(); + declarations: [ECLBalancesInfoComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('ECLBalancesInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/balances-info/balances-info.component.ts b/src/app/eclair/home/balances-info/balances-info.component.ts index 38aedbaf..075f4066 100644 --- a/src/app/eclair/home/balances-info/balances-info.component.ts +++ b/src/app/eclair/home/balances-info/balances-info.component.ts @@ -6,7 +6,9 @@ import { Component, Input } from '@angular/core'; styleUrls: ['./balances-info.component.scss'] }) export class ECLBalancesInfoComponent { + @Input() balances = { onchain: 0, lightning: 0, total: 0 }; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.html b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.html index 9109e86e..260025be 100644 --- a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.html +++ b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.html @@ -1,15 +1,15 @@ -
+
Total Capacity
- Local:{{channelBalances.localBalance || 0 | number:'1.0-0'}} Sats + Local:{{channelBalances?.localBalance || 0 | number:'1.0-0'}} Sats ({{channelBalances?.balancedness || 0 | number}}) - Remote:{{channelBalances.remoteBalance || 0 | number:'1.0-0'}} Sats + Remote:{{channelBalances?.remoteBalance || 0 | number:'1.0-0'}} Sats
- +
@@ -35,3 +35,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.spec.ts b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.spec.ts index 60840013..6dd640aa 100644 --- a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.spec.ts +++ b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { ECLChannelCapacityInfoComponent } from './channel-capacity-info.component'; @@ -6,11 +8,12 @@ describe('ECLChannelCapacityInfoComponent', () => { let component: ECLChannelCapacityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelCapacityInfoComponent ] - }) - .compileComponents(); + declarations: [ECLChannelCapacityInfoComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('ECLChannelCapacityInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.ts b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.ts index 2b9b660b..2e2afd04 100644 --- a/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.ts +++ b/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.ts @@ -10,11 +10,13 @@ import { Channel } from '../../../shared/models/eclModels'; styleUrls: ['./channel-capacity-info.component.scss'] }) export class ECLChannelCapacityInfoComponent { + public faBalanceScale = faBalanceScale; public faDumbbell = faDumbbell; @Input() channelBalances: {localBalance: number, remoteBalance: number, balancedness: number}; @Input() allChannels: Channel[]; - @Input() sortBy: string = 'Balance Score'; + @Input() sortBy = 'Balance Score'; + @Input() errorMessage: string; constructor(private router: Router) {} diff --git a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.html b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.html index a42309d8..510b1383 100644 --- a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.html +++ b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.html @@ -1,4 +1,4 @@ -
+
Total Capacity {{totalLiquidity | number:'1.0-0'}} Sats @@ -25,3 +25,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts index 634fba82..c86a36ef 100644 --- a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts +++ b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts @@ -1,4 +1,10 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; + +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; import { ECLChannelLiquidityInfoComponent } from './channel-liquidity-info.component'; @@ -6,11 +12,16 @@ describe('ECLChannelLiquidityInfoComponent', () => { let component: ECLChannelLiquidityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelLiquidityInfoComponent ] - }) - .compileComponents(); + declarations: [ECLChannelLiquidityInfoComponent], + imports: [SharedModule, RouterTestingModule], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +33,8 @@ describe('ECLChannelLiquidityInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.ts b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.ts index 0d58932f..18941495 100644 --- a/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.ts +++ b/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.ts @@ -11,9 +11,11 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./channel-liquidity-info.component.scss'] }) export class ECLChannelLiquidityInfoComponent implements OnInit { + @Input() direction: string; @Input() totalLiquidity: number; @Input() allChannels: Channel[]; + @Input() errorMessage: string; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; diff --git a/src/app/eclair/home/channel-status-info/channel-status-info.component.html b/src/app/eclair/home/channel-status-info/channel-status-info.component.html index b98beac9..d2f92bfe 100644 --- a/src/app/eclair/home/channel-status-info/channel-status-info.component.html +++ b/src/app/eclair/home/channel-status-info/channel-status-info.component.html @@ -1,28 +1,35 @@ -
-
-

Active

-
{{(channelsStatus.active?.channels || 0) | number}}
+
+
+
+

Active

+
{{(channelsStatus.active?.channels || 0) | number}}
+
+
+

Pending

+
{{(channelsStatus.pending?.channels || 0) | number}}
+
+
+

Inactive

+
{{(channelsStatus.inactive?.channels || 0) | number}}
+
-
-

Pending

-
{{(channelsStatus.pending?.channels || 0) | number}}
-
-
-

Inactive

-
{{(channelsStatus.inactive?.channels || 0) | number}}
+
+
+

Capacity

+
{{(channelsStatus.active?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus.pending?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus.inactive?.capacity || 0) | number}} Sats
+
-
-
-

Capacity

-
{{(channelsStatus.active?.capacity || 0) | number}} Sats
-
-
-

Capacity

-
{{(channelsStatus.pending?.capacity || 0) | number}} Sats
+ +
+

{{errorMessage}}

-
-

Capacity

-
{{(channelsStatus.inactive?.capacity || 0) | number}} Sats
-
-
+ diff --git a/src/app/eclair/home/channel-status-info/channel-status-info.component.spec.ts b/src/app/eclair/home/channel-status-info/channel-status-info.component.spec.ts index 186c3ee8..22a3c111 100644 --- a/src/app/eclair/home/channel-status-info/channel-status-info.component.spec.ts +++ b/src/app/eclair/home/channel-status-info/channel-status-info.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { ECLChannelStatusInfoComponent } from './channel-status-info.component'; @@ -6,11 +6,11 @@ describe('ECLChannelStatusInfoComponent', () => { let component: ECLChannelStatusInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelStatusInfoComponent ] - }) - .compileComponents(); + declarations: [ECLChannelStatusInfoComponent] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +22,8 @@ describe('ECLChannelStatusInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/channel-status-info/channel-status-info.component.ts b/src/app/eclair/home/channel-status-info/channel-status-info.component.ts index 468dbe58..c359a898 100644 --- a/src/app/eclair/home/channel-status-info/channel-status-info.component.ts +++ b/src/app/eclair/home/channel-status-info/channel-status-info.component.ts @@ -7,7 +7,9 @@ import { ChannelsStatus } from '../../../shared/models/eclModels'; styleUrls: ['./channel-status-info.component.scss'] }) export class ECLChannelStatusInfoComponent { + @Input() channelsStatus: ChannelsStatus = {}; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/eclair/home/fee-info/fee-info.component.html b/src/app/eclair/home/fee-info/fee-info.component.html index 564a54cb..e5277582 100644 --- a/src/app/eclair/home/fee-info/fee-info.component.html +++ b/src/app/eclair/home/fee-info/fee-info.component.html @@ -1,28 +1,35 @@ -
-
-

Daily

-
{{fees?.daily_fee | number}} Sats
+
+
+
+

Daily

+
{{fees?.daily_fee | number}} Sats
+
+
+

Weekly

+
{{fees?.weekly_fee | number}} Sats
+
+
+

Monthly

+
{{fees?.monthly_fee | number}} Sats
+
-
-

Weekly

-
{{fees?.weekly_fee | number}} Sats
-
-
-

Monthly

-
{{fees?.monthly_fee | number}} Sats
+
+
+

Transactions

+
{{fees?.daily_txs | number}}
+
+
+

Transactions

+
{{fees?.weekly_txs | number}}
+
+
+

Transactions

+
{{fees?.monthly_txs | number}}
+
-
-
-

Transactions

-
{{fees?.daily_txs | number}}
-
-
-

Transactions

-
{{fees?.weekly_txs | number}}
+ +
+

{{errorMessage}}

-
-

Transactions

-
{{fees?.monthly_txs | number}}
-
-
+ diff --git a/src/app/eclair/home/fee-info/fee-info.component.spec.ts b/src/app/eclair/home/fee-info/fee-info.component.spec.ts index a839fffc..ff86d4b1 100644 --- a/src/app/eclair/home/fee-info/fee-info.component.spec.ts +++ b/src/app/eclair/home/fee-info/fee-info.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { ECLFeeInfoComponent } from './fee-info.component'; @@ -6,11 +6,11 @@ describe('ECLFeeInfoComponent', () => { let component: ECLFeeInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLFeeInfoComponent ] - }) - .compileComponents(); + declarations: [ECLFeeInfoComponent] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +22,8 @@ describe('ECLFeeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/fee-info/fee-info.component.ts b/src/app/eclair/home/fee-info/fee-info.component.ts index 2f3742b5..babddb7f 100644 --- a/src/app/eclair/home/fee-info/fee-info.component.ts +++ b/src/app/eclair/home/fee-info/fee-info.component.ts @@ -7,21 +7,23 @@ import { Fees } from '../../../shared/models/eclModels'; styleUrls: ['./fee-info.component.scss'] }) export class ECLFeeInfoComponent implements OnChanges { + @Input() fees: Fees; - totalFees = [{'name': 'Monthly', 'value': 0}, {'name': 'Weekly', 'value': 0}, {'name': 'Daily', 'value': 0}]; + @Input() errorMessage: string; + totalFees = [{ name: 'Monthly', value: 0 }, { name: 'Weekly', value: 0 }, { name: 'Daily', value: 0 }]; maxFeeValue = 100; - constructor() {} + constructor() { } ngOnChanges() { - if(this.fees.monthly_fee) { - this.totalFees = [{'name': 'Monthly', 'value': this.fees.monthly_fee}, {'name': 'Weekly', 'value': this.fees.weekly_fee}, {'name': 'Daily ', 'value': this.fees.daily_fee}]; - let e = Math.ceil(Math.log(this.fees.monthly_fee + 1) / Math.LN10); - let m = Math.pow(10, e - 1); + if (this.fees?.monthly_fee) { + this.totalFees = [{ name: 'Monthly', value: this.fees.monthly_fee }, { name: 'Weekly', value: this.fees.weekly_fee }, { name: 'Daily ', value: this.fees.daily_fee }]; + const e = Math.ceil(Math.log(this.fees.monthly_fee + 1) / Math.LN10); + const m = 10 ** (e - 1); this.maxFeeValue = (Math.ceil(this.fees.monthly_fee / m) * m) / 5 || 100; Object.assign(this, this.totalFees); } else { - this.totalFees = [{'name': 'Monthly', 'value': 0}, {'name': 'Weekly', 'value': 0}, {'name': 'Daily', 'value': 0}]; + this.totalFees = [{ name: 'Monthly', value: 0 }, { name: 'Weekly', value: 0 }, { name: 'Daily', value: 0 }]; this.maxFeeValue = 100; Object.assign(this, this.totalFees); } diff --git a/src/app/eclair/home/home.component.html b/src/app/eclair/home/home.component.html index 7ab88edb..5929c6eb 100644 --- a/src/app/eclair/home/home.component.html +++ b/src/app/eclair/home/home.component.html @@ -1,8 +1,7 @@
- - {{!flgLoading[0] ? 'Welcome ' + information.alias + '! Your node is up and running.' : 'Error! Please check the server connection.'}} + + {{apisCallStatus?.FetchInfo.status === apiCallStatusEnum.COMPLETED ? 'Welcome ' + information.alias + '! Your node is up and running.' : apisCallStatus?.FetchInfo.status === apiCallStatusEnum.INITIATED ? 'Wait! Getting your node information...' : 'Error! Please check the server connection.'}}
@@ -27,20 +26,24 @@
- + +
- - - - - - + + + + +

Error! Unable to find information!

@@ -73,18 +76,21 @@
- + +
- - - - + + + + diff --git a/src/app/eclair/home/home.component.spec.ts b/src/app/eclair/home/home.component.spec.ts index 24610175..c1d15860 100644 --- a/src/app/eclair/home/home.component.spec.ts +++ b/src/app/eclair/home/home.component.spec.ts @@ -1,16 +1,48 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; import { ECLHomeComponent } from './home.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../shared/shared.module'; +import { ECLNodeInfoComponent } from './node-info/node-info.component'; +import { ECLBalancesInfoComponent } from './balances-info/balances-info.component'; +import { ECLChannelCapacityInfoComponent } from './channel-capacity-info/channel-capacity-info.component'; +import { ECLFeeInfoComponent } from './fee-info/fee-info.component'; +import { ECLChannelStatusInfoComponent } from './channel-status-info/channel-status-info.component'; +import { DataService } from '../../shared/services/data.service'; describe('ECLHomeComponent', () => { let component: ECLHomeComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLHomeComponent ] - }) - .compileComponents(); + declarations: [ECLHomeComponent, ECLNodeInfoComponent, ECLBalancesInfoComponent, ECLChannelCapacityInfoComponent, ECLFeeInfoComponent, ECLChannelStatusInfoComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +54,8 @@ describe('ECLHomeComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/home.component.ts b/src/app/eclair/home/home.component.ts index b5f192c5..debf812e 100644 --- a/src/app/eclair/home/home.component.ts +++ b/src/app/eclair/home/home.component.ts @@ -9,8 +9,9 @@ import { faAngleDoubleDown, faAngleDoubleUp, faChartPie, faBolt, faServer, faNet import { LoggerService } from '../../shared/services/logger.service'; import { CommonService } from '../../shared/services/common.service'; -import { UserPersonaEnum, ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; +import { UserPersonaEnum, ScreenSizeEnum, APICallStatusEnum } from '../../shared/services/consts-enums-functions'; import { GetInfo, Channel, Fees, OnChainBalance, ChannelsStatus } from '../../shared/models/eclModels'; +import { ApiCallsListECL } from '../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../shared/models/RTLconfig'; import * as fromRTLReducer from '../../store/rtl.reducers'; @@ -22,6 +23,7 @@ import * as ECLActions from '../store/ecl.actions'; styleUrls: ['./home.component.scss'] }) export class ECLHomeComponent implements OnInit, OnDestroy { + public faSmile = faSmile; public faFrown = faFrown; public faAngleDoubleDown = faAngleDoubleDown; @@ -29,10 +31,9 @@ export class ECLHomeComponent implements OnInit, OnDestroy { public faChartPie = faChartPie; public faBolt = faBolt; public faServer = faServer; - public faNetworkWired = faNetworkWired; - public flgChildInfoUpdated = false; + public faNetworkWired = faNetworkWired; public userPersonaEnum = UserPersonaEnum; - public channelBalances = {localBalance: 0, remoteBalance: 0, balancedness: 0}; + public channelBalances = { localBalance: 0, remoteBalance: 0, balancedness: 0 }; public selNode: SelNodeChild = {}; public fees: Fees; public information: GetInfo = {}; @@ -51,12 +52,14 @@ export class ECLHomeComponent implements OnInit, OnDestroy { public operatorCardHeight = '330px'; public merchantCardHeight = '65px'; public sortField = 'Balance Score'; - public flgLoading: Array = [true, true, true, true, true, true, true, true]; // 0: Info, 1: Fee, 2: Wallet, 3: Channel, 4: Network + public errorMessages = ['', '', '', '']; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private actions$: Actions, private commonService: CommonService, private router: Router) { + constructor(private logger: LoggerService, private store: Store, private actions: Actions, private commonService: CommonService, private router: Router) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.operatorCards = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 10, rows: 1 }, { id: 'balance', goTo: 'On-Chain', link: '/ecl/onchain', icon: this.faChartPie, title: 'Balances', cols: 10, rows: 1 }, @@ -70,7 +73,7 @@ export class ECLHomeComponent implements OnInit, OnDestroy { { id: 'inboundLiq', goTo: 'Channels', link: '/ecl/connections', icon: this.faAngleDoubleDown, title: 'In-Bound Liquidity', cols: 6, rows: 8 }, { id: 'outboundLiq', goTo: 'Channels', link: '/ecl/connections', icon: this.faAngleDoubleUp, title: 'Out-Bound Liquidity', cols: 6, rows: 8 } ]; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.operatorCards = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 5, rows: 1 }, { id: 'balance', goTo: 'On-Chain', link: '/ecl/onchain', icon: this.faChartPie, title: 'Balances', cols: 5, rows: 1 }, @@ -104,72 +107,48 @@ export class ECLHomeComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.flgLoading = [true, true, true, true, true, true, true, true]; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInfo') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.errorMessages = ['', '', '', '']; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) { + this.errorMessages[0] = (typeof (this.apisCallStatus.FetchInfo.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInfo.message) : this.apisCallStatus.FetchInfo.message; } - if (effectsErr.action === 'FetchFees') { - this.flgLoading[1] = 'error'; + if (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) { + this.errorMessages[1] = (typeof (this.apisCallStatus.FetchFees.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFees.message) : this.apisCallStatus.FetchFees.message; } - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[2] = 'error'; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[2] = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; } + if (rtlStore.apisCallStatus.FetchOnchainBalance.status === APICallStatusEnum.ERROR) { + this.errorMessages[3] = (typeof (this.apisCallStatus.FetchOnchainBalance.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchOnchainBalance.message) : this.apisCallStatus.FetchOnchainBalance.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.fees = rtlStore.fees; + this.channels = rtlStore.activeChannels; + this.onchainBalance = rtlStore.onchainBalance; + this.balances.onchain = this.onchainBalance.total; + this.balances.lightning = rtlStore.lightningBalance.localBalance; + this.balances.total = this.balances.lightning + this.balances.onchain; + this.balances = Object.assign({}, this.balances); + const local = (rtlStore.lightningBalance.localBalance) ? +rtlStore.lightningBalance.localBalance : 0; + const remote = (rtlStore.lightningBalance.remoteBalance) ? +rtlStore.lightningBalance.remoteBalance : 0; + const total = local + remote; + this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local - remote) / total)).toFixed(3) }; + this.channelsStatus = rtlStore.channelsStatus; + this.totalInboundLiquidity = 0; + this.totalOutboundLiquidity = 0; + this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels, 'balancedness'))); + this.allInboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter((channel) => channel.toRemote > 0), 'toRemote'))); + this.allOutboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter((channel) => channel.toLocal > 0), 'toLocal'))); + this.channels.forEach((channel) => { + this.totalInboundLiquidity = this.totalInboundLiquidity + Math.ceil(channel.toRemote); + this.totalOutboundLiquidity = this.totalOutboundLiquidity + Math.floor(channel.toLocal); + }); + this.logger.info(rtlStore); }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (this.information.nodeId) ? false : true; - } - - this.fees = rtlStore.fees; - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = (this.fees.daily_fee) ? false : true; - } - - this.channels = rtlStore.activeChannels; - this.onchainBalance = rtlStore.onchainBalance; - this.balances.onchain = this.onchainBalance.total; - this.balances.lightning = rtlStore.lightningBalance.localBalance; - this.balances.total = this.balances.lightning + this.balances.onchain; - this.balances = Object.assign({}, this.balances); - let local = (rtlStore.lightningBalance.localBalance) ? +rtlStore.lightningBalance.localBalance : 0; - let remote = (rtlStore.lightningBalance.remoteBalance) ? +rtlStore.lightningBalance.remoteBalance : 0; - let total = local + remote; - this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local-remote)/total)).toFixed(3) }; - this.channelsStatus = rtlStore.channelsStatus; - this.totalInboundLiquidity = 0; - this.totalOutboundLiquidity = 0; - this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels, 'balancedness'))); - this.allInboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(channel => channel.toRemote > 0), 'toRemote'))); - this.allOutboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels.filter(channel => channel.toLocal > 0), 'toLocal'))); - this.channels.forEach(channel => { - this.totalInboundLiquidity = this.totalInboundLiquidity + Math.ceil(channel.toRemote); - this.totalOutboundLiquidity = this.totalOutboundLiquidity + Math.floor(channel.toLocal); - }); - if (this.flgLoading[2] !== 'error') { - this.flgLoading[2] = (this.channels) ? false : true; - } - if (this.balances.lightning >= 0 && this.balances.onchain >= 0 && this.fees.monthly_fee >= 0) { - this.flgChildInfoUpdated = true; - } else { - this.flgChildInfoUpdated = false; - } - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === ECLActions.FETCH_FEES_ECL || action.type === ECLActions.SET_FEES_ECL)) - .subscribe(action => { - if(action.type === ECLActions.FETCH_FEES_ECL) { - this.flgChildInfoUpdated = false; - } - if(action.type === ECLActions.SET_FEES_ECL) { - this.flgChildInfoUpdated = true; - } - }); } onNavigateTo(link: string) { @@ -178,20 +157,20 @@ export class ECLHomeComponent implements OnInit, OnDestroy { onsortChannelsBy() { if (this.sortField === 'Balance Score') { - this.sortField = 'Capacity'; - this.allChannelsCapacity = this.channels.sort(function (a, b) { + this.sortField = 'Capacity'; + this.allChannelsCapacity = this.channels.sort((a, b) => { const x = +a.toLocal + +a.toRemote; const y = +b.toLocal + +b.toRemote; return ((x > y) ? -1 : ((x < y) ? 1 : 0)); }); } else { - this.sortField = 'Balance Score'; + this.sortField = 'Balance Score'; this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.channels, 'balancedness'))); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/home/node-info/node-info.component.html b/src/app/eclair/home/node-info/node-info.component.html index a0d319db..73453364 100644 --- a/src/app/eclair/home/node-info/node-info.component.html +++ b/src/app/eclair/home/node-info/node-info.component.html @@ -2,20 +2,20 @@

Alias

- {{information.alias}} - + {{information?.alias}} +

Color

- - {{information.color | uppercase}} + + {{information?.color | uppercase}}

Implementation

-
{{(information.lnImplementation || information.version) ? information.lnImplementation + ' ' + information.version : ''}}
+
{{(information?.lnImplementation || information?.version) ? information?.lnImplementation + ' ' + information?.version : ''}}

Chain

diff --git a/src/app/eclair/home/node-info/node-info.component.spec.ts b/src/app/eclair/home/node-info/node-info.component.spec.ts index 59b857fa..3125de2b 100644 --- a/src/app/eclair/home/node-info/node-info.component.spec.ts +++ b/src/app/eclair/home/node-info/node-info.component.spec.ts @@ -1,16 +1,25 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; import { ECLNodeInfoComponent } from './node-info.component'; describe('ECLNodeInfoComponent', () => { let component: ECLNodeInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLNodeInfoComponent ] - }) - .compileComponents(); + declarations: [ECLNodeInfoComponent], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +31,8 @@ describe('ECLNodeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/home/node-info/node-info.component.ts b/src/app/eclair/home/node-info/node-info.component.ts index 5d0d4cfb..a92eeb6c 100644 --- a/src/app/eclair/home/node-info/node-info.component.ts +++ b/src/app/eclair/home/node-info/node-info.component.ts @@ -8,6 +8,7 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./node-info.component.scss'] }) export class ECLNodeInfoComponent implements OnChanges { + @Input() information: GetInfo; @Input() showColorFieldSeparately: boolean; public chains: Array = ['']; diff --git a/src/app/eclair/lookups/lookups.component.spec.ts b/src/app/eclair/lookups/lookups.component.spec.ts index 5926f787..384f3005 100644 --- a/src/app/eclair/lookups/lookups.component.spec.ts +++ b/src/app/eclair/lookups/lookups.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; import { ECLLookupsComponent } from './lookups.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('ECLLookupsComponent', () => { let component: ECLLookupsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLLookupsComponent ] - }) - .compileComponents(); + declarations: [ECLLookupsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ECLLookupsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/lookups/lookups.component.ts b/src/app/eclair/lookups/lookups.component.ts index 511ea2a2..062b5523 100644 --- a/src/app/eclair/lookups/lookups.component.ts +++ b/src/app/eclair/lookups/lookups.component.ts @@ -1,19 +1,18 @@ import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; +import { FormControl } from '@angular/forms'; import { Subject } from 'rxjs'; import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { faSearch } from '@fortawesome/free-solid-svg-icons'; +import { APICallStatusEnum, ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; +import { CommonService } from '../../shared/services/common.service'; +import { LookupNode } from '../../shared/models/eclModels'; import { LoggerService } from '../../shared/services/logger.service'; import * as ECLActions from '../store/ecl.actions'; -import * as RTLActions from '../../store/rtl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; -import { CommonService } from '../../shared/services/common.service'; -import { FormControl } from '@angular/forms'; -import { LookupNode } from '../../shared/models/eclModels'; @Component({ selector: 'rtl-ecl-lookups', @@ -21,9 +20,10 @@ import { LookupNode } from '../../shared/models/eclModels'; styleUrls: ['./lookups.component.scss'] }) export class ECLLookupsComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public lookupKeyCtrl = new FormControl(); - // public lookupKey = ''; + // Public lookupKey = ''; public nodeLookupValue: LookupNode = {}; public channelLookupValue = []; public flgSetLookupValue = false; @@ -31,8 +31,8 @@ export class ECLLookupsComponent implements OnInit, OnDestroy { public messageObj = []; public selectedFieldId = 0; public lookupFields = [ - { id: 0, name: 'Node', placeholder: 'Node ID'}, - { id: 1, name: 'Channel', placeholder: 'Short Channel ID'} + { id: 0, name: 'Node', placeholder: 'Node ID' }, + { id: 1, name: 'Channel', placeholder: 'Short Channel ID' } ]; public flgLoading: Array = [true]; public faSearch = faSearch; @@ -40,18 +40,20 @@ export class ECLLookupsComponent implements OnInit, OnDestroy { public screenSizeEnum = ScreenSizeEnum; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); } ngOnInit() { - this.actions$.pipe(takeUntil(this.unSubs[0]), - filter((action) => (action.type === ECLActions.SET_LOOKUP_ECL || action.type === ECLActions.EFFECT_ERROR_ECL))).subscribe((resLookup: ECLActions.SetLookup | ECLActions.EffectError) => { - if(resLookup.type === ECLActions.SET_LOOKUP_ECL) { + this.actions.pipe( + takeUntil(this.unSubs[0]), + filter((action) => (action.type === ECLActions.SET_LOOKUP_ECL || action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL))). + subscribe((resLookup: ECLActions.SetLookup | ECLActions.UpdateAPICallStatus) => { + if (resLookup.type === ECLActions.SET_LOOKUP_ECL) { this.flgLoading[0] = true; switch (this.selectedFieldId) { case 0: - this.nodeLookupValue = resLookup.payload[0] ? JSON.parse(JSON.stringify(resLookup.payload[0])) : {nodeid: ''}; + this.nodeLookupValue = resLookup.payload[0] ? JSON.parse(JSON.stringify(resLookup.payload[0])) : { nodeid: '' }; break; case 1: this.channelLookupValue = resLookup.payload ? JSON.parse(JSON.stringify(resLookup.payload)) : []; @@ -63,23 +65,23 @@ export class ECLLookupsComponent implements OnInit, OnDestroy { this.logger.info(this.nodeLookupValue); this.logger.info(this.channelLookupValue); } - if (resLookup.type === ECLActions.EFFECT_ERROR_ECL && resLookup.payload.action === 'Lookup') { + if (resLookup.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && resLookup.payload.status === APICallStatusEnum.ERROR && resLookup.payload.action === 'Lookup') { this.flgLoading[0] = 'error'; } - }); - this.lookupKeyCtrl.valueChanges.pipe(takeUntil(this.unSubs[1])).subscribe(value => { + }); + this.lookupKeyCtrl.valueChanges.pipe(takeUntil(this.unSubs[1])).subscribe((value) => { this.nodeLookupValue = {}; this.channelLookupValue = []; this.flgSetLookupValue = false; }); } - onLookup():boolean|void { + onLookup(): boolean|void { if (!this.lookupKeyCtrl.value) { - this.lookupKeyCtrl.setErrors({required: true}); + this.lookupKeyCtrl.setErrors({ required: true }); return true; } else if (this.lookupKeyCtrl.value && (this.lookupKeyCtrl.value.includes('@') || this.lookupKeyCtrl.value.includes(','))) { - this.lookupKeyCtrl.setErrors({invalid: true}); + this.lookupKeyCtrl.setErrors({ invalid: true }); return true; } else { if (!this.selectedFieldId) { @@ -88,13 +90,12 @@ export class ECLLookupsComponent implements OnInit, OnDestroy { this.flgSetLookupValue = false; this.nodeLookupValue = {}; this.channelLookupValue = []; - this.store.dispatch(new RTLActions.OpenSpinner('Searching ' + this.lookupFields[this.selectedFieldId].name + '...')); switch (this.selectedFieldId) { case 0: this.store.dispatch(new ECLActions.PeerLookup(this.lookupKeyCtrl.value.trim())); break; case 1: - // this.store.dispatch(new ECLActions.ChannelLookup({shortChannelID: this.lookupKey.trim(), showError: false})); + // This.store.dispatch(new ECLActions.ChannelLookup({shortChannelID: this.lookupKey.trim(), showError: false})); break; default: break; @@ -123,7 +124,7 @@ export class ECLLookupsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/lookups/node-lookup/node-lookup.component.html b/src/app/eclair/lookups/node-lookup/node-lookup.component.html index 1dc0647d..0014ae62 100644 --- a/src/app/eclair/lookups/node-lookup/node-lookup.component.html +++ b/src/app/eclair/lookups/node-lookup/node-lookup.component.html @@ -3,25 +3,25 @@

Pub Key

- {{lookupResult.nodeId}} + {{lookupResult?.nodeId}}

Signature

- {{lookupResult.signature}} + {{lookupResult?.signature}}

Alias

- {{lookupResult.alias}}{{lookupResult.rgbColor ? lookupResult.rgbColor : ''}} + {{lookupResult?.alias}}{{lookupResult?.rgbColor ? lookupResult?.rgbColor : ''}}

Date/Time

- {{(lookupResult.timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} + {{(lookupResult?.timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}}
@@ -36,7 +36,7 @@
diff --git a/src/app/eclair/lookups/node-lookup/node-lookup.component.spec.ts b/src/app/eclair/lookups/node-lookup/node-lookup.component.spec.ts index 643779a8..34f2e693 100644 --- a/src/app/eclair/lookups/node-lookup/node-lookup.component.spec.ts +++ b/src/app/eclair/lookups/node-lookup/node-lookup.component.spec.ts @@ -1,4 +1,8 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { LoggerService } from '../../../shared/services/logger.service'; +import { SharedModule } from '../../../shared/shared.module'; import { ECLNodeLookupComponent } from './node-lookup.component'; @@ -6,11 +10,16 @@ describe('ECLNodeLookupComponent', () => { let component: ECLNodeLookupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLNodeLookupComponent ] - }) - .compileComponents(); + declarations: [ECLNodeLookupComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [LoggerService] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +31,8 @@ describe('ECLNodeLookupComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/lookups/node-lookup/node-lookup.component.ts b/src/app/eclair/lookups/node-lookup/node-lookup.component.ts index ed7bd2df..5f1dd89b 100644 --- a/src/app/eclair/lookups/node-lookup/node-lookup.component.ts +++ b/src/app/eclair/lookups/node-lookup/node-lookup.component.ts @@ -12,8 +12,9 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./node-lookup.component.scss'] }) export class ECLNodeLookupComponent implements OnInit { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @Input() lookupResult: LookupNode; + @Input() lookupResult: LookupNode = {}; public addresses: any; public displayedColumns = ['address', 'actions']; @@ -23,7 +24,7 @@ export class ECLNodeLookupComponent implements OnInit { this.addresses = this.lookupResult.addresses ? new MatTableDataSource([...this.lookupResult.addresses]) : new MatTableDataSource([]); this.addresses.data = this.lookupResult.addresses ? this.lookupResult.addresses : []; this.addresses.sort = this.sort; - this.addresses.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.addresses.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); } onCopyNodeURI(payload: string) { diff --git a/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.spec.ts b/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.spec.ts index b1de07f2..ec899bb5 100644 --- a/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.spec.ts +++ b/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { mockECLEffects } from '../../../shared/test-helpers/mock-services'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { ECLEffects } from '../../store/ecl.effects'; import { ECLOnChainReceiveComponent } from './on-chain-receive.component'; describe('ECLOnChainReceiveComponent', () => { let component: ECLOnChainReceiveComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOnChainReceiveComponent ] - }) - .compileComponents(); + declarations: [ECLOnChainReceiveComponent], + imports: [ + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: ECLEffects, useClass: mockECLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('ECLOnChainReceiveComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.ts b/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.ts index d971b7b3..d121d7fc 100644 --- a/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.ts +++ b/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.ts @@ -15,25 +15,25 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-receive.component.scss'] }) export class ECLOnChainReceiveComponent { + public newAddress = ''; constructor(private store: Store, private eclEffects: ECLEffects) {} onGenerateAddress() { - this.store.dispatch(new RTLActions.OpenSpinner('Getting New Address...')); this.store.dispatch(new ECLActions.GetNewAddress()); - this.eclEffects.setNewAddress.pipe(take(1)) - .subscribe(newAddress => { - this.newAddress = newAddress; - this.store.dispatch(new RTLActions.OpenAlert({ - width: '58%', - data: { - address: this.newAddress, - addressType: '', - component: OnChainGeneratedAddressComponent - } - })); - }); + this.eclEffects.setNewAddress.pipe(take(1)). + subscribe((newAddress) => { + this.newAddress = newAddress; + this.store.dispatch(new RTLActions.OpenAlert({ + width: '58%', + data: { + address: this.newAddress, + addressType: '', + component: OnChainGeneratedAddressComponent + } + })); + }); } } diff --git a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.html b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.html index 3a22a3d2..6e3be66d 100644 --- a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.html +++ b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.html @@ -15,7 +15,7 @@ {{selAmountUnit}} - Amount is required. + {{amountError}} diff --git a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts index 36a3a7f0..78a8615b 100644 --- a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts +++ b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts @@ -1,16 +1,45 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLOnChainSendModalComponent } from './on-chain-send-modal.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLOnChainSendModalComponent', () => { let component: ECLOnChainSendModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOnChainSendModalComponent ] - }) - .compileComponents(); + declarations: [ECLOnChainSendModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: {} }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +51,8 @@ describe('ECLOnChainSendModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts index 60c969cc..92c8a82b 100644 --- a/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts +++ b/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts @@ -7,10 +7,9 @@ import { Actions } from '@ngrx/effects'; import { MatDialogRef } from '@angular/material/dialog'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; -import { SelNodeChild, GetInfoRoot } from '../../../shared/models/RTLconfig'; +import { SelNodeChild, GetInfoRoot, RTLConfiguration } from '../../../shared/models/RTLconfig'; import { GetInfo, OnChainBalance, SendPaymentOnChain } from '../../../shared/models/eclModels'; -import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, ADDRESS_TYPES } from '../../../shared/services/consts-enums-functions'; -import { RTLConfiguration } from '../../../shared/models/RTLconfig'; +import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, ADDRESS_TYPES, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; @@ -24,13 +23,13 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-send-modal.component.scss'] }) export class ECLOnChainSendModalComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; public appConfig: RTLConfiguration; public nodeData: GetInfoRoot; public addressTypes = []; - public flgLoadingWallet: Boolean | 'error' = true; public selectedAddress = ADDRESS_TYPES[1]; public blockchainBalance: OnChainBalance = {}; public information: GetInfo = {}; @@ -43,77 +42,94 @@ export class ECLOnChainSendModalComponent implements OnInit, OnDestroy { public currConvertorRate = {}; public unitConversionValue = 0; public currencyUnitFormats = CURRENCY_UNIT_FORMATS; + public amountError = 'Amount is Required.'; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, private logger: LoggerService, private store: Store, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions$: Actions) {} + constructor(public dialogRef: MatDialogRef, private logger: LoggerService, private store: Store, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions: Actions) { } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rootStore) => { - this.fiatConversion = rootStore.selNode.settings.fiatConversion; - this.amountUnits = rootStore.selNode.settings.currencyUnits; - this.appConfig = rootStore.appConfig; - this.nodeData = rootStore.nodeData; - this.logger.info(rootStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === ECLActions.EFFECT_ERROR_ECL || action.type === ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL)) - .subscribe((action: ECLActions.EffectError | ECLActions.SendOnchainFundsRes) => { - if (action.type === ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL) { - this.store.dispatch(new RTLActions.OpenSnackBar('Fund Sent Successfully!')); - this.dialogRef.close(); - } - if (action.type === ECLActions.EFFECT_ERROR_ECL && action.payload.action === 'SendOnchainFunds') { - this.sendFundError = action.payload.message; - } - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rootStore) => { + this.fiatConversion = rootStore.selNode.settings.fiatConversion; + this.amountUnits = rootStore.selNode.settings.currencyUnits; + this.appConfig = rootStore.appConfig; + this.nodeData = rootStore.nodeData; + this.logger.info(rootStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL || action.type === ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL) + ). + subscribe((action: ECLActions.UpdateAPICallStatus | ECLActions.SendOnchainFundsRes) => { + if (action.type === ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL) { + this.store.dispatch(new RTLActions.OpenSnackBar('Fund Sent Successfully!')); + this.dialogRef.close(); + } + if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SendOnchainFunds') { + this.sendFundError = action.payload.message; + } + }); } - onSendFunds():boolean|void { - if(this.invalidValues) { return true; } + onSendFunds(): boolean | void { + if (this.invalidValues) { + return true; + } this.sendFundError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Sending Funds...')); - if(this.transaction.amount && this.selAmountUnit !== CurrencyUnitEnum.SATS) { - this.commonService.convertCurrency(this.transaction.amount, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.transaction.amount = parseInt(data[CurrencyUnitEnum.SATS]); - this.selAmountUnit = CurrencyUnitEnum.SATS; - this.store.dispatch(new ECLActions.SendOnchainFunds(this.transaction)); - }); + if (this.transaction.amount && this.selAmountUnit !== CurrencyUnitEnum.SATS) { + this.commonService.convertCurrency(this.transaction.amount, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, CurrencyUnitEnum.SATS, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ + next: (data) => { + this.transaction.amount = parseInt(data[CurrencyUnitEnum.SATS]); + this.selAmountUnit = CurrencyUnitEnum.SATS; + this.store.dispatch(new ECLActions.SendOnchainFunds(this.transaction)); + }, error: (err) => { + this.transaction.amount = null; + this.selAmountUnit = CurrencyUnitEnum.SATS; + this.amountError = 'Conversion Error: ' + err; + } + }); } else { this.store.dispatch(new ECLActions.SendOnchainFunds(this.transaction)); } } get invalidValues(): boolean { - return (!this.transaction.address || this.transaction.address === '') - || ((!this.transaction.amount || this.transaction.amount <= 0)) - || (!this.transaction.blocks || this.transaction.blocks <= 0); + return (!this.transaction.address || this.transaction.address === '') || + ((!this.transaction.amount || this.transaction.amount <= 0)) || + (!this.transaction.blocks || this.transaction.blocks <= 0); } resetData() { - this.sendFundError = ''; + this.sendFundError = ''; this.transaction = {}; } onAmountUnitChange(event: any) { - let self = this; - let prevSelectedUnit = (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; + const self = this; + const prevSelectedUnit = (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; let currSelectedUnit = event.value === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : event.value; - if(this.transaction.amount && this.selAmountUnit !== event.value) { - this.commonService.convertCurrency(this.transaction.amount, prevSelectedUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - self.transaction.amount = +self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); - }); + if (this.transaction.amount && this.selAmountUnit !== event.value) { + this.commonService.convertCurrency(this.transaction.amount, prevSelectedUnit, currSelectedUnit, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ + next: (data) => { + this.selAmountUnit = event.value; + self.transaction.amount = +self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); + }, error: (err) => { + self.transaction.amount = null; + this.amountError = 'Conversion Error: ' + err; + this.selAmountUnit = prevSelectedUnit; + currSelectedUnit = prevSelectedUnit; + } + }); } - this.selAmountUnit = event.value; - } + } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.spec.ts b/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.spec.ts index 88a7b541..28720188 100644 --- a/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.spec.ts +++ b/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { ECLOnChainSendComponent } from './on-chain-send.component'; describe('ECLOnChainSendComponent', () => { let component: ECLOnChainSendComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOnChainSendComponent ] - }) - .compileComponents(); + declarations: [ECLOnChainSendComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('ECLOnChainSendComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.ts b/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.ts index 02b85942..bd499024 100644 --- a/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.ts +++ b/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.ts @@ -15,24 +15,27 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-send.component.scss'] }) export class ECLOnChainSendComponent implements OnInit, OnDestroy { + public sweepAll = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private store: Store, private activatedRoute: ActivatedRoute) {} ngOnInit() { - this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe(routeData => this.sweepAll = routeData.sweepAll); + this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe((routeData) => { + this.sweepAll = routeData.sweepAll; + }); } openSendFundsModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { sweepAll: this.sweepAll, component: ECLOnChainSendModalComponent - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.html b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.html index 8487db11..168e47de 100644 --- a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.html +++ b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.html @@ -9,10 +9,10 @@
-
- -
Created At @@ -65,7 +65,9 @@ -

No payments available.

+

No payment available.

+

Getting payments...

+

{{errorMessage}}

Actions - +
+
+ +
@@ -52,7 +52,9 @@ diff --git a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts index 44f9c0f6..8ccbfa10 100644 --- a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts +++ b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLOnChainTransactionHistoryComponent } from './on-chain-transaction-history.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLOnChainTransactionHistoryComponent', () => { let component: ECLOnChainTransactionHistoryComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOnChainTransactionHistoryComponent ] - }) - .compileComponents(); + declarations: [ECLOnChainTransactionHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ECLOnChainTransactionHistoryComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.ts b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.ts index 7d035b03..c540f971 100644 --- a/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.ts +++ b/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.ts @@ -4,12 +4,13 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; - import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; + import { Transaction } from '../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -23,31 +24,34 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-transaction-history.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Transactions') } - ] + ] }) export class ECLOnChainTransactionHistoryComponent implements OnInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; faHistory = faHistory; public displayedColumns: any[] = []; public listTransactions: any; - public flgLoading: Array = [true]; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unsub: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'confirmations', 'fees', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'fees', 'confirmations', 'address', 'actions']; } else { @@ -58,23 +62,19 @@ export class ECLOnChainTransactionHistoryComponent implements OnInit, OnDestroy ngOnInit() { this.store.dispatch(new ECLActions.FetchTransactions()); - this.store.select('ecl') - .pipe(takeUntil(this.unsub[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchTransactions') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unsub[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchTransactions.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; } + if (rtlStore.transactions) { + this.loadTransactionsTable(rtlStore.transactions); + } + this.logger.info(rtlStore); }); - if (rtlStore.transactions) { - this.loadTransactionsTable(rtlStore.transactions); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.transactions) ? false : true; - } - this.logger.info(rtlStore); - }); - } applyFilter(selFilter: any) { @@ -83,41 +83,41 @@ export class ECLOnChainTransactionHistoryComponent implements OnInit, OnDestroy onTransactionClick(selTransaction: Transaction, event: any) { const reorderedTransactions = [ - [{key: 'blockHash', value: selTransaction.blockHash, title: 'Block Hash', width: 100}], - [{key: 'txid', value: selTransaction.txid, title: 'Transaction ID', width: 100}], - [{key: 'timestamp', value: selTransaction.timestamp, title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'confirmations', value: selTransaction.confirmations, title: 'Number of Confirmations', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'fees', value: selTransaction.fees, title: 'Fees (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'amount', value: selTransaction.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'address', value: selTransaction.address, title: 'Address', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'blockHash', value: selTransaction.blockHash, title: 'Block Hash', width: 100 }], + [{ key: 'txid', value: selTransaction.txid, title: 'Transaction ID', width: 100 }], + [{ key: 'timestamp', value: selTransaction.timestamp, title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'confirmations', value: selTransaction.confirmations, title: 'Number of Confirmations', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'fees', value: selTransaction.fees, title: 'Fees (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'amount', value: selTransaction.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'address', value: selTransaction.address, title: 'Address', width: 100, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Transaction Information', message: reorderedTransactions - }})); + } })); } loadTransactionsTable(transactions: Transaction[]) { this.listTransactions = new MatTableDataSource([...transactions]); this.listTransactions.sort = this.sort; - this.listTransactions.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.listTransactions.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.listTransactions.filterPredicate = (rowData: Transaction, fltr: string) => { - const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; this.listTransactions.paginator = this.paginator; this.logger.info(this.listTransactions); } onDownloadCSV() { - if(this.listTransactions.data && this.listTransactions.data.length > 0) { + if (this.listTransactions.data && this.listTransactions.data.length > 0) { this.commonService.downloadFile(this.listTransactions.data, 'Transactions'); } } ngOnDestroy() { - this.unsub.forEach(completeSub => { + this.unsub.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/on-chain/on-chain.component.spec.ts b/src/app/eclair/on-chain/on-chain.component.spec.ts index 5699f7ff..8c4abc0d 100644 --- a/src/app/eclair/on-chain/on-chain.component.spec.ts +++ b/src/app/eclair/on-chain/on-chain.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { CurrencyUnitConverterComponent } from '../../shared/components/currency-unit-converter/currency-unit-converter.component'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; +import { ECLOnChainTransactionHistoryComponent } from './on-chain-transaction-history/on-chain-transaction-history.component'; import { ECLOnChainComponent } from './on-chain.component'; describe('ECLOnChainComponent', () => { let component: ECLOnChainComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOnChainComponent ] - }) - .compileComponents(); + declarations: [ECLOnChainComponent, CurrencyUnitConverterComponent, ECLOnChainTransactionHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ECLOnChainComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/on-chain/on-chain.component.ts b/src/app/eclair/on-chain/on-chain.component.ts index 123ba63c..744432ee 100644 --- a/src/app/eclair/on-chain/on-chain.component.ts +++ b/src/app/eclair/on-chain/on-chain.component.ts @@ -16,40 +16,41 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./on-chain.component.scss'] }) export class ECLOnChainComponent implements OnInit, OnDestroy { + public selNode: SelNodeChild = {}; public faExchangeAlt = faExchangeAlt; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'receive', name: 'Receive'}, {link: 'send', name: 'Send'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'receive', name: 'Receive' }, { link: 'send', name: 'Send' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private store: Store, private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.onchainBalance.total || 0}, {title: 'Confirmed', dataValue: rtlStore.onchainBalance.confirmed}, {title: 'Unconfirmed', dataValue: rtlStore.onchainBalance.unconfirmed}]; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.onchainBalance.total || 0 }, { title: 'Confirmed', dataValue: rtlStore.onchainBalance.confirmed }, { title: 'Unconfirmed', dataValue: rtlStore.onchainBalance.unconfirmed }]; + }); } openSendFundsModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { component: ECLOnChainSendModalComponent - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts b/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts index 7c2c3aa0..1cd628dd 100644 --- a/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { ECLChannelInformationComponent } from './channel-information.component'; +import { SharedModule } from '../../../../shared/shared.module'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../../shared/test-helpers/mock-services'; +import { DataService } from '../../../../shared/services/data.service'; describe('ECLChannelInformationComponent', () => { let component: ECLChannelInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelInformationComponent ] - }) - .compileComponents(); + declarations: [ECLChannelInformationComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('ECLChannelInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.ts b/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.ts index 6cc7321d..d331a5d6 100644 --- a/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.ts +++ b/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.ts @@ -15,6 +15,7 @@ import { ScreenSizeEnum } from '../../../../shared/services/consts-enums-functio styleUrls: ['./channel-information.component.scss'] }) export class ECLChannelInformationComponent implements OnInit { + public faReceipt = faReceipt; public showAdvanced = false; public channel: Channel; @@ -36,10 +37,11 @@ export class ECLChannelInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; - } + } onCopyChanID(payload: string) { this.snackBar.open((this.channelsType === 'open') ? ('Short channel ID ' + payload + ' copied.') : 'Channel ID copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.html b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.html index 57998bd4..eedb54bc 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.html +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.html @@ -5,9 +5,9 @@ -
- -
Date/Time {{(transaction.timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} -

No transactions available.

+

No transaction available.

+

Getting transactions...

+

{{errorMessage}}

+
+ +
diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.spec.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.spec.ts index 725367ab..9c4b16bc 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ECLChannelInactiveTableComponent } from './channel-inactive-table.component'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../../../store/rtl.effects'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ECLChannelInactiveTableComponent', () => { let component: ECLChannelInactiveTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelInactiveTableComponent ] - }) - .compileComponents(); + declarations: [ECLChannelInactiveTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ECLChannelInactiveTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.ts index 42ba13fd..94a3d13d 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.ts @@ -5,20 +5,19 @@ import { Store } from '@ngrx/store'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import {faEye, faEyeSlash} from "@fortawesome/free-solid-svg-icons"; +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; import { Channel, GetInfo } from '../../../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum, APICallStatusEnum } from '../../../../../shared/services/consts-enums-functions'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; import { ECLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; -import { ECLEffects } from '../../../../store/ecl.effects'; import { RTLEffects } from '../../../../../store/rtl.effects'; import * as ECLActions from '../../../../store/ecl.actions'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; - +import { ApiCallsListECL } from '../../../../../shared/models/apiCallsPayload'; @Component({ selector: 'rtl-ecl-channel-inactive-table', @@ -26,11 +25,12 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./channel-inactive-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faEye = faEye; public faEyeSlash = faEyeSlash public inactiveChannels: Channel[]; @@ -41,24 +41,26 @@ export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit, public information: GetInfo = {}; public numPeers = -1; public feeRateTypes = FEE_RATE_TYPES; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private eclEffects: ECLEffects, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['state', 'alias', 'toLocal', 'toRemote', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['state', 'alias', 'toLocal', 'toRemote', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['state', 'shortChannelId', 'alias', 'toLocal', 'toRemote', 'actions']; } else { @@ -68,24 +70,21 @@ export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit, } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; } + this.information = rtlStore.information; + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = rtlStore.onchainBalance.total; + this.inactiveChannels = rtlStore.inactiveChannels; + this.loadChannelsTable(); + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = rtlStore.onchainBalance.total; - this.inactiveChannels = rtlStore.inactiveChannels; - this.loadChannelsTable(); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.inactiveChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -98,21 +97,20 @@ export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit, const alertTitle = (forceClose) ? 'Force Close Channel' : 'Close Channel'; const titleMessage = (forceClose) ? ('Force closing channel: ' + channelToClose.channelId) : ('Closing channel: ' + channelToClose.channelId); const yesBtnText = (forceClose) ? 'Force Close' : 'Close Channel'; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, alertTitle: alertTitle, titleMessage: titleMessage, noBtnText: 'Cancel', yesBtnText: yesBtnText - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[1])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner((forceClose) ? 'Force Closing Channel...' : 'Closing Channel...')); - this.store.dispatch(new ECLActions.CloseChannel({channelId: channelToClose.channelId, force: forceClose})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[1])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new ECLActions.CloseChannel({ channelId: channelToClose.channelId, force: forceClose })); + } + }); } applyFilter() { @@ -120,33 +118,31 @@ export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit, } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - channel: selChannel, - channelsType: 'inactive', - component: ECLChannelInformationComponent - }})); - } + this.store.dispatch(new RTLActions.OpenAlert({ data: { + channel: selChannel, + channelsType: 'inactive', + component: ECLChannelInformationComponent + } })); + } loadChannelsTable() { - this.inactiveChannels.sort(function(a, b) { - return (a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1); - }); + this.inactiveChannels.sort((a, b) => ((a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1))); this.channels = new MatTableDataSource([...this.inactiveChannels]); this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.filterPredicate = (channel: Channel, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.channels.paginator = this.paginator; this.logger.info(this.channels); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'InactiveChannels'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html index a0899d2c..46906742 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html @@ -5,9 +5,9 @@ -
- -
State @@ -70,7 +70,9 @@ -

No inactive channels available.

+

No inactive channel available.

+

Getting inactive channels...

+

{{errorMessage}}

+
+ +
diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss index 4bb15156..4147e3d9 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss @@ -10,8 +10,8 @@ .mat-column-alias { padding-left: 1rem; - flex: 0 0 20%; - width: 20%; + flex: 0 0 15%; + width: 15%; & .ellipsis-parent { display: flex; } @@ -29,6 +29,11 @@ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + @include for_screensize(tab-port) { + white-space: unset; + flex: 1 1 20%; + width: 20%; + } @include for_screensize(phone) { white-space: unset; } @@ -39,7 +44,7 @@ & .bordered-box.table-actions-select { flex: 0 0 100%; @include for_screensize(tab-port) { - flex: 0 0 60%; + flex: 0 0 90%; } @include for_screensize(phone) { flex: 0 0 80%; diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts index 7241c381..614bbe92 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ECLChannelOpenTableComponent } from './channel-open-table.component'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../../../store/rtl.effects'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ECLChannelOpenTableComponent', () => { let component: ECLChannelOpenTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelOpenTableComponent ] - }) - .compileComponents(); + declarations: [ECLChannelOpenTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ECLChannelOpenTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts index 3f558e90..a190ef6e 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts @@ -2,22 +2,22 @@ import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"; +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Channel, GetInfo } from '../../../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, AlertTypeEnum, APICallStatusEnum } from '../../../../../shared/services/consts-enums-functions'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; import { ECLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; -import { ECLEffects } from '../../../../store/ecl.effects'; import { RTLEffects } from '../../../../../store/rtl.effects'; import * as ECLActions from '../../../../store/ecl.actions'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; +import { ApiCallsListECL } from '../../../../../shared/models/apiCallsPayload'; @Component({ selector: 'rtl-ecl-channel-open-table', @@ -25,11 +25,12 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./channel-open-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faEye = faEye; public faEyeSlash = faEyeSlash public activeChannels: Channel[]; @@ -40,24 +41,26 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe public information: GetInfo = {}; public numPeers = -1; public feeRateTypes = FEE_RATE_TYPES; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private eclEffects: ECLEffects, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'toLocal', 'toRemote', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['shortChannelId', 'alias', 'toLocal', 'toRemote', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['shortChannelId', 'alias', 'feeBaseMsat', 'feeProportionalMillionths', 'toLocal', 'toRemote', 'actions']; } else { @@ -67,26 +70,23 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; + } + this.information = rtlStore.information; + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = rtlStore.onchainBalance.total; + this.activeChannels = rtlStore.activeChannels; + if (this.activeChannels.length > 0 && this.sort && this.paginator) { + this.loadChannelsTable(); } + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = rtlStore.onchainBalance.total; - this.activeChannels = rtlStore.activeChannels; - if (this.activeChannels.length > 0 && this.sort && this.paginator) { - this.loadChannelsTable(); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.activeChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -96,7 +96,7 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe } onChannelUpdate(channelToUpdate: any) { - if(channelToUpdate !== 'all' && channelToUpdate.state !== 'NORMAL') { + if (channelToUpdate !== 'all' && channelToUpdate.state !== 'NORMAL') { return; } const titleMsg = channelToUpdate === 'all' ? 'Update fee policy for selected/all channels' : 'Update fee policy for Channel: ' + channelToUpdate.channelId; @@ -110,29 +110,30 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe titleMessage: titleMsg, flgShowInput: true, getInputs: [ - {placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: channelToUpdate && channelToUpdate.feeBaseMsat ? channelToUpdate.feeBaseMsat : 1000, width: 48}, - {placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: channelToUpdate && channelToUpdate.feeProportionalMillionths ? channelToUpdate.feeProportionalMillionths : 100, min: 1, width: 48, hintFunction: this.percentHintFunction} + { placeholder: 'Base Fee (mSats)', inputType: 'number', inputValue: channelToUpdate && channelToUpdate.feeBaseMsat ? channelToUpdate.feeBaseMsat : 1000, width: 48 }, + { placeholder: 'Fee Rate (mili mSats)', inputType: 'number', inputValue: channelToUpdate && channelToUpdate.feeProportionalMillionths ? channelToUpdate.feeProportionalMillionths : 100, min: 1, width: 48, hintFunction: this.percentHintFunction } ] - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[1])) - .subscribe(confirmRes => { - if (confirmRes) { - const base_fee = confirmRes[0].inputValue; - const fee_rate = confirmRes[1].inputValue; - let updateRequestPayload = null; - let channel_ids = ''; - if (channelToUpdate === 'all') { - this.activeChannels.forEach(channel => { channel_ids = channel_ids + ',' + channel.channelId; }); - channel_ids = channel_ids.substring(1); - updateRequestPayload = { baseFeeMsat: base_fee, feeRate: fee_rate, channelIds: channel_ids }; - } else { - updateRequestPayload = { baseFeeMsat: base_fee, feeRate: fee_rate, channelId: channelToUpdate.channelId }; + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[1])). + subscribe((confirmRes) => { + if (confirmRes) { + const base_fee = confirmRes[0].inputValue; + const fee_rate = confirmRes[1].inputValue; + let updateRequestPayload = null; + let channel_ids = ''; + if (channelToUpdate === 'all') { + this.activeChannels.forEach((channel) => { + channel_ids = channel_ids + ',' + channel.channelId; + }); + channel_ids = channel_ids.substring(1); + updateRequestPayload = { baseFeeMsat: base_fee, feeRate: fee_rate, channelIds: channel_ids }; + } else { + updateRequestPayload = { baseFeeMsat: base_fee, feeRate: fee_rate, channelId: channelToUpdate.channelId }; + } + this.store.dispatch(new ECLActions.UpdateChannels(updateRequestPayload)); } - this.store.dispatch(new RTLActions.OpenSpinner('Updating Channel Policy...')); - this.store.dispatch(new ECLActions.UpdateChannels(updateRequestPayload)); - } - }); + }); this.applyFilter(); } @@ -144,21 +145,20 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe const alertTitle = (forceClose) ? 'Force Close Channel' : 'Close Channel'; const titleMessage = (forceClose) ? ('Force closing channel: ' + channelToClose.channelId) : ('Closing channel: ' + channelToClose.channelId); const yesBtnText = (forceClose) ? 'Force Close' : 'Close Channel'; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, alertTitle: alertTitle, titleMessage: titleMessage, noBtnText: 'Cancel', yesBtnText: yesBtnText - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner((forceClose) ? 'Force Closing Channel...' : 'Closing Channel...')); - this.store.dispatch(new ECLActions.CloseChannel({channelId: channelToClose.channelId, force: forceClose})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new ECLActions.CloseChannel({ channelId: channelToClose.channelId, force: forceClose })); + } + }); } applyFilter() { @@ -166,33 +166,31 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - channel: selChannel, - channelsType: 'open', - component: ECLChannelInformationComponent - }})); - } + this.store.dispatch(new RTLActions.OpenAlert({ data: { + channel: selChannel, + channelsType: 'open', + component: ECLChannelInformationComponent + } })); + } loadChannelsTable() { - this.activeChannels.sort(function(a, b) { - return (a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1); - }); + this.activeChannels.sort((a, b) => ((a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1))); this.channels = new MatTableDataSource([...this.activeChannels]); this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.filterPredicate = (channel: Channel, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.channels.paginator = this.paginator; this.logger.info(this.channels); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'ActiveChannels'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html index e631ec1c..9ff81a7a 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html @@ -5,9 +5,9 @@ -
- -
Short Channel ID @@ -79,8 +79,10 @@ -

No peers connected. Add a peer in order to open a channel.

-

No open channels available.

+

No peers connected. Add a peer in order to open a channel.

+

No channel available.

+

Getting channels...

+

{{errorMessage}}

+
+ +
@@ -41,7 +41,9 @@ diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts index 3e8e5ab3..08e904f3 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ECLChannelPendingTableComponent } from './channel-pending-table.component'; +import { mockDataService, mockLoggerService } from '../../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ECLChannelPendingTableComponent', () => { let component: ECLChannelPendingTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelPendingTableComponent ] - }) - .compileComponents(); + declarations: [ECLChannelPendingTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('ECLChannelPendingTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts index a5200fb2..2221c472 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core'; import { Subject } from 'rxjs'; -import { take, takeUntil } from 'rxjs/operators'; +import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; @@ -8,28 +8,28 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Channel, GetInfo } from '../../../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, FEE_RATE_TYPES, APICallStatusEnum } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../../../../shared/models/apiCallsPayload'; +import { ECLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; -import { ECLChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; -import { ECLEffects } from '../../../../store/ecl.effects'; -import { RTLEffects } from '../../../../../store/rtl.effects'; - import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; + @Component({ selector: 'rtl-ecl-channel-pending-table', templateUrl: './channel-pending-table.component.html', styleUrls: ['./channel-pending-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class ECLChannelPendingTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public pendingChannels: Channel[]; public totalBalance = 0; public displayedColumns: any[] = []; @@ -38,24 +38,26 @@ export class ECLChannelPendingTableComponent implements OnInit, AfterViewInit, O public information: GetInfo = {}; public numPeers = -1; public feeRateTypes = FEE_RATE_TYPES; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private eclEffects: ECLEffects, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['state', 'alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['state', 'alias', 'toLocal', 'toRemote', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['state', 'alias', 'toLocal', 'toRemote', 'actions']; } else { @@ -65,24 +67,21 @@ export class ECLChannelPendingTableComponent implements OnInit, AfterViewInit, O } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchChannels.message) : this.apisCallStatus.FetchChannels.message; } + this.information = rtlStore.information; + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = rtlStore.onchainBalance.total; + this.pendingChannels = rtlStore.pendingChannels; + this.loadChannelsTable(); + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = rtlStore.onchainBalance.total; - this.pendingChannels = rtlStore.pendingChannels; - this.loadChannelsTable(); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.pendingChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -96,33 +95,31 @@ export class ECLChannelPendingTableComponent implements OnInit, AfterViewInit, O } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - channel: selChannel, - channelsType: 'pending', - component: ECLChannelInformationComponent - }})); - } + this.store.dispatch(new RTLActions.OpenAlert({ data: { + channel: selChannel, + channelsType: 'pending', + component: ECLChannelInformationComponent + } })); + } loadChannelsTable() { - this.pendingChannels.sort(function(a, b) { - return (a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1); - }); + this.pendingChannels.sort((a, b) => ((a.alias === b.alias) ? 0 : ((b.alias) ? 1 : -1))); this.channels = new MatTableDataSource([...this.pendingChannels]); this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.filterPredicate = (channel: Channel, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.channels.paginator = this.paginator; this.logger.info(this.channels); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'PendingChannels'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.spec.ts b/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.spec.ts index dbe25ff5..54932601 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { ECLChannelsTablesComponent } from './channels-tables.component'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { mockLoggerService } from '../../../../shared/test-helpers/mock-services'; describe('ECLChannelsTablesComponent', () => { let component: ECLChannelsTablesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLChannelsTablesComponent ] - }) - .compileComponents(); + declarations: [ECLChannelsTablesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('ECLChannelsTablesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.ts b/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.ts index 9aef87c2..62132b5a 100644 --- a/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.ts +++ b/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.ts @@ -18,6 +18,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./channels-tables.component.scss'] }) export class ECLChannelsTablesComponent implements OnInit, OnDestroy { + public numOfOpenChannels = 0; public numOfPendingChannels = 0; public numOfInactiveChannels = 0; @@ -25,43 +26,43 @@ export class ECLChannelsTablesComponent implements OnInit, OnDestroy { public information: GetInfo = {}; public peers: Peer[] = []; public totalBalance = 0; - public links = [{link: 'open', name: 'Open'}, {link: 'pending', name: 'Pending'}, {link: 'inactive', name: 'Inactive'}]; + public links = [{ link: 'open', name: 'Open' }, { link: 'pending', name: 'Pending' }, { link: 'inactive', name: 'Inactive' }]; public activeLink = 0; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.numOfOpenChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.active && rtlStore.channelsStatus.active.channels) ? rtlStore.channelsStatus.active.channels : 0; - this.numOfPendingChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.pending && rtlStore.channelsStatus.pending.channels) ? rtlStore.channelsStatus.pending.channels : 0; - this.numOfInactiveChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.inactive && rtlStore.channelsStatus.inactive.channels) ? rtlStore.channelsStatus.inactive.channels : 0; - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.peers = rtlStore.peers; - this.totalBalance = rtlStore.onchainBalance.total; - this.logger.info(rtlStore); - }); + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.numOfOpenChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.active && rtlStore.channelsStatus.active.channels) ? rtlStore.channelsStatus.active.channels : 0; + this.numOfPendingChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.pending && rtlStore.channelsStatus.pending.channels) ? rtlStore.channelsStatus.pending.channels : 0; + this.numOfInactiveChannels = (rtlStore.channelsStatus && rtlStore.channelsStatus.inactive && rtlStore.channelsStatus.inactive.channels) ? rtlStore.channelsStatus.inactive.channels : 0; + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.peers = rtlStore.peers; + this.totalBalance = rtlStore.onchainBalance.total; + this.logger.info(rtlStore); + }); } onOpenChannel() { const peerToAddChannelMessage = { - peers: this.peers, + peers: this.peers, information: this.information, balance: this.totalBalance }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, component: ECLOpenChannelComponent - }})); + } })); } onSelectedTabChange(event) { @@ -70,9 +71,10 @@ export class ECLChannelsTablesComponent implements OnInit, OnDestroy { ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.html b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.html index ef0b8381..18b7b2be 100644 --- a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.html +++ b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.html @@ -24,7 +24,7 @@ Remaining Bal: {{totalBalance - ((fundingAmount) ? fundingAmount : 0) | number}} - {{information?.smaller_currency_unit}} + Sats Amount is required. Amount must be less than or equal to {{totalBalance}}. diff --git a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts index 7ee03a82..3b2be639 100644 --- a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts +++ b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { EffectsModule } from '@ngrx/effects'; +import { StoreModule } from '@ngrx/store'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { ECLOpenChannelComponent } from './open-channel.component'; describe('ECLOpenChannelComponent', () => { let component: ECLOpenChannelComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLOpenChannelComponent ] - }) - .compileComponents(); + declarations: [ECLOpenChannelComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('ECLOpenChannelComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.ts b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.ts index 3a31a3ea..a1880cd1 100644 --- a/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.ts +++ b/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.ts @@ -8,10 +8,10 @@ import { Actions } from '@ngrx/effects'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { Peer, GetInfo } from '../../../../shared/models/eclModels'; +import { APICallStatusEnum } from '../../../../shared/services/consts-enums-functions'; import { ECLOpenChannelAlert } from '../../../../shared/models/alertData'; import * as ECLActions from '../../../store/ecl.actions'; -import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; @Component({ @@ -20,6 +20,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./open-channel.component.scss'] }) export class ECLOpenChannelComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public selectedPeer = new FormControl(); public faExclamationTriangle = faExclamationTriangle; @@ -38,7 +39,7 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy { public feeRate = null; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLOpenChannelAlert, private store: Store, private actions$: Actions) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLOpenChannelAlert, private store: Store, private actions: Actions) { } ngOnInit() { this.information = this.data.message.information; @@ -46,30 +47,33 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy { this.alertTitle = this.data.alertTitle; this.peer = this.data.message.peer ? this.data.message.peer : null; this.peers = this.data.message.peers && this.data.message.peers.length ? this.data.message.peers : []; - this.actions$.pipe(takeUntil(this.unSubs[0]), - filter(action => action.type === ECLActions.EFFECT_ERROR_ECL || action.type === ECLActions.FETCH_CHANNELS_ECL)) - .subscribe((action: ECLActions.EffectError | ECLActions.FetchChannels) => { - if (action.type === ECLActions.EFFECT_ERROR_ECL && action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; - } - if (action.type === ECLActions.FETCH_CHANNELS_ECL) { - this.dialogRef.close(); - } - }); - let x = '', y = ''; + this.actions.pipe( + takeUntil(this.unSubs[0]), + filter((action) => action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL || action.type === ECLActions.FETCH_CHANNELS_ECL)). + subscribe((action: ECLActions.UpdateAPICallStatus | ECLActions.FetchChannels) => { + if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + if (action.type === ECLActions.FETCH_CHANNELS_ECL) { + this.dialogRef.close(); + } + }); + let x = ''; + let y = ''; this.sortedPeers = this.peers.sort((p1, p2) => { x = p1.alias ? p1.alias.toLowerCase() : p1.nodeId ? p1.nodeId.toLowerCase() : ''; y = p2.alias ? p2.alias.toLowerCase() : p1.nodeId.toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); - this.filteredPeers = this.selectedPeer.valueChanges.pipe(takeUntil(this.unSubs[1]), startWith(''), - map(peer => typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.nodeId), - map(alias => alias ? this.filterPeers(alias) : this.sortedPeers.slice()) + this.filteredPeers = this.selectedPeer.valueChanges.pipe( + takeUntil(this.unSubs[1]), startWith(''), + map((peer) => (typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.nodeId)), + map((alias) => (alias ? this.filterPeers(alias) : this.sortedPeers.slice())) ); } private filterPeers(newlySelectedPeer: string): Peer[] { - return this.sortedPeers.filter(peer => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); + return this.sortedPeers.filter((peer) => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); } displayFn(peer: Peer): string { @@ -78,16 +82,18 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy { onSelectedPeerChanged() { this.channelConnectionError = ''; - this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.nodeId) ? this.selectedPeer.value.nodeId : undefined; + this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.nodeId) ? this.selectedPeer.value.nodeId : null; if (typeof this.selectedPeer.value === 'string') { - let selPeer = this.peers.filter(peer => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); - if (selPeer.length === 1 && selPeer[0].nodeId) { this.selectedPubkey = selPeer[0].nodeId; } + const selPeer = this.peers.filter((peer) => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); + if (selPeer.length === 1 && selPeer[0].nodeId) { + this.selectedPubkey = selPeer[0].nodeId; + } } if (this.selectedPeer.value && !this.selectedPubkey) { - this.selectedPeer.setErrors({notfound: true}); + this.selectedPeer.setErrors({ notfound: true }); } else { this.selectedPeer.setErrors(null); - } + } } onClose() { @@ -101,7 +107,7 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy { this.isPrivate = false; this.channelConnectionError = ''; this.advancedTitle = 'Advanced Options'; - this.form.resetForm(); + this.form.resetForm(); } onAdvancedPanelToggle(isClosed: boolean) { @@ -112,18 +118,20 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy { } } - onOpenChannel():boolean|void { - if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0))) { return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); + onOpenChannel(): boolean | void { + if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0))) { + return true; + } this.store.dispatch(new ECLActions.SaveNewChannel({ nodeId: ((!this.peer || !this.peer.nodeId) ? this.selectedPubkey : this.peer.nodeId), amount: this.fundingAmount, private: this.isPrivate, feeRate: this.feeRate })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/peers-channels/connect-peer/connect-peer.component.spec.ts b/src/app/eclair/peers-channels/connect-peer/connect-peer.component.spec.ts index 98ea40fc..0fc8d7be 100644 --- a/src/app/eclair/peers-channels/connect-peer/connect-peer.component.spec.ts +++ b/src/app/eclair/peers-channels/connect-peer/connect-peer.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLConnectPeerComponent } from './connect-peer.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('ECLConnectPeerComponent', () => { let component: ECLConnectPeerComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLConnectPeerComponent ] - }) - .compileComponents(); + declarations: [ECLConnectPeerComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + LoggerService, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('ECLConnectPeerComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/connect-peer/connect-peer.component.ts b/src/app/eclair/peers-channels/connect-peer/connect-peer.component.ts index 5248b249..122359a5 100644 --- a/src/app/eclair/peers-channels/connect-peer/connect-peer.component.ts +++ b/src/app/eclair/peers-channels/connect-peer/connect-peer.component.ts @@ -5,16 +5,15 @@ import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { Peer } from '../../../shared/models/eclModels'; +import { APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { ECLOpenChannelAlert } from '../../../shared/models/alertData'; import { LoggerService } from '../../../shared/services/logger.service'; -import { ECLEffects } from '../../store/ecl.effects'; import * as ECLActions from '../../store/ecl.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -23,8 +22,9 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./connect-peer.component.scss'] }) export class ECLConnectPeerComponent implements OnInit, OnDestroy { - @ViewChild('peersForm', {static: false}) form: any; - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('peersForm', { static: false }) form: any; + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public peerAddress = ''; public totalBalance = 0; @@ -37,16 +37,16 @@ export class ECLConnectPeerComponent implements OnInit, OnDestroy { public peerFormLabel = 'Peer Details'; public channelFormLabel = 'Open Channel (Optional)'; peerFormGroup: FormGroup; - channelFormGroup: FormGroup; - statusFormGroup: FormGroup; + channelFormGroup: FormGroup; + statusFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLOpenChannelAlert, private store: Store, private eclEffects: ECLEffects, private formBuilder: FormBuilder, private actions$: Actions, private logger: LoggerService) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLOpenChannelAlert, private store: Store, private formBuilder: FormBuilder, private actions: Actions, private logger: LoggerService) {} ngOnInit() { this.totalBalance = this.data.message.balance; - this.peerAddress = (this.data.message.peer && this.data.message.peer.nodeId && this.data.message.peer.address) ? (this.data.message.peer.nodeId + '@' + this.data.message.peer.address) : - (this.data.message.peer && this.data.message.peer.nodeId && !this.data.message.peer.address) ? this.data.message.peer.nodeId : ''; + this.peerAddress = (this.data.message.peer && this.data.message.peer.nodeId && this.data.message.peer.address) ? (this.data.message.peer.nodeId + '@' + this.data.message.peer.address) : + (this.data.message.peer && this.data.message.peer.nodeId && !this.data.message.peer.address) ? this.data.message.peer.nodeId : ''; this.peerFormGroup = this.formBuilder.group({ hiddenAddress: ['', [Validators.required]], peerAddress: [this.peerAddress, [Validators.required]] @@ -56,42 +56,45 @@ export class ECLConnectPeerComponent implements OnInit, OnDestroy { isPrivate: [false], feeRate: [null], hiddenAmount: ['', [Validators.required]] - }); - this.statusFormGroup = this.formBuilder.group({}); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter((action) => action.type === ECLActions.NEWLY_ADDED_PEER_ECL || action.type === ECLActions.FETCH_CHANNELS_ECL || action.type === ECLActions.EFFECT_ERROR_ECL)) - .subscribe((action: (ECLActions.NewlyAddedPeer | ECLActions.FetchChannels | ECLActions.EffectError)) => { - if (action.type === ECLActions.NEWLY_ADDED_PEER_ECL) { - this.logger.info(action.payload); - this.flgEditable = false; - this.newlyAddedPeer = action.payload.peer; - this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); - this.stepper.next(); - } - if (action.type === ECLActions.FETCH_CHANNELS_ECL) { - this.dialogRef.close(); - } - if (action.type === ECLActions.EFFECT_ERROR_ECL) { - if (action.payload.action === 'SaveNewPeer') { - this.peerConnectionError = action.payload.message; - } else if (action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; - } - } }); + this.statusFormGroup = this.formBuilder.group({}); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === ECLActions.NEWLY_ADDED_PEER_ECL || action.type === ECLActions.FETCH_CHANNELS_ECL || action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL)). + subscribe((action: (ECLActions.NewlyAddedPeer | ECLActions.FetchChannels | ECLActions.UpdateAPICallStatus)) => { + if (action.type === ECLActions.NEWLY_ADDED_PEER_ECL) { + this.logger.info(action.payload); + this.flgEditable = false; + this.newlyAddedPeer = action.payload.peer; + this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); + this.stepper.next(); + } + if (action.type === ECLActions.FETCH_CHANNELS_ECL) { + this.dialogRef.close(); + } + if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR) { + if (action.payload.action === 'SaveNewPeer') { + this.peerConnectionError = action.payload.message; + } else if (action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + } + }); } - onConnectPeer():boolean|void { - if(!this.peerFormGroup.controls.peerAddress.value) { return true; } + onConnectPeer(): boolean|void { + if (!this.peerFormGroup.controls.peerAddress.value) { + return true; + } this.peerConnectionError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Adding Peer...')); - this.store.dispatch(new ECLActions.SaveNewPeer({id: this.peerFormGroup.controls.peerAddress.value})); -} + this.store.dispatch(new ECLActions.SaveNewPeer({ id: this.peerFormGroup.controls.peerAddress.value })); + } - onOpenChannel():boolean|void { - if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0)) { return true; } + onOpenChannel(): boolean|void { + if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0)) { + return true; + } this.channelConnectionError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); this.store.dispatch(new ECLActions.SaveNewChannel({ nodeId: this.newlyAddedPeer.nodeId, amount: this.channelFormGroup.controls.fundingAmount.value, private: this.channelFormGroup.controls.isPrivate.value, feeRate: this.channelFormGroup.controls.feeRate.value })); @@ -107,7 +110,7 @@ export class ECLConnectPeerComponent implements OnInit, OnDestroy { this.peerFormLabel = 'Peer Details'; this.channelFormLabel = 'Open Channel (Optional)'; break; - + case 1: if (this.peerFormGroup.controls.peerAddress.value) { this.peerFormLabel = 'Peer Added: ' + (this.newlyAddedPeer.alias ? this.newlyAddedPeer.alias : this.newlyAddedPeer.nodeId); @@ -141,11 +144,11 @@ export class ECLConnectPeerComponent implements OnInit, OnDestroy { } else if (event.selectedIndex === 1) { this.channelFormGroup.controls.hiddenAmount.setValue(''); } - } + } } - + ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/connections.component.spec.ts b/src/app/eclair/peers-channels/connections.component.spec.ts index 20e06a3e..2dd8853c 100644 --- a/src/app/eclair/peers-channels/connections.component.spec.ts +++ b/src/app/eclair/peers-channels/connections.component.spec.ts @@ -1,16 +1,39 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; import { ECLConnectionsComponent } from './connections.component'; describe('ECLConnectionsComponent', () => { let component: ECLConnectionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLConnectionsComponent ] - }) - .compileComponents(); + declarations: [ECLConnectionsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +45,8 @@ describe('ECLConnectionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/connections.component.ts b/src/app/eclair/peers-channels/connections.component.ts index 3ff32148..38bcf103 100644 --- a/src/app/eclair/peers-channels/connections.component.ts +++ b/src/app/eclair/peers-channels/connections.component.ts @@ -13,30 +13,31 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./connections.component.scss'] }) export class ECLConnectionsComponent implements OnInit, OnDestroy { + public activePeers = 0; public activeChannels = 0; public faUsers = faUsers; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'channels', name: 'Channels'}, {link: 'peers', name: 'Peers'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'channels', name: 'Channels' }, { link: 'peers', name: 'Peers' }]; public activeLink = 0; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private store: Store, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.activeChannels = rtlStore.channelsStatus && rtlStore.channelsStatus.active && rtlStore.channelsStatus.active.channels ? rtlStore.channelsStatus.active.channels : 0; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.onchainBalance.total || 0}, {title: 'Confirmed', dataValue: rtlStore.onchainBalance.confirmed}, {title: 'Unconfirmed', dataValue: rtlStore.onchainBalance.unconfirmed}]; - }); + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.activeChannels = rtlStore.channelsStatus && rtlStore.channelsStatus.active && rtlStore.channelsStatus.active.channels ? rtlStore.channelsStatus.active.channels : 0; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.onchainBalance.total || 0 }, { title: 'Confirmed', dataValue: rtlStore.onchainBalance.confirmed }, { title: 'Unconfirmed', dataValue: rtlStore.onchainBalance.unconfirmed }]; + }); } onSelectedTabChange(event) { @@ -44,7 +45,7 @@ export class ECLConnectionsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/peers-channels/peers/peers.component.html b/src/app/eclair/peers-channels/peers/peers.component.html index 6fb5d296..fd737394 100644 --- a/src/app/eclair/peers-channels/peers/peers.component.html +++ b/src/app/eclair/peers-channels/peers/peers.component.html @@ -14,9 +14,9 @@ -
- -
State {{channel?.state | titlecase}} -

No pending channels available.

+

No pending channel available.

+

Getting pending channels...

+

{{errorMessage}}

+
+ +
diff --git a/src/app/eclair/peers-channels/peers/peers.component.spec.ts b/src/app/eclair/peers-channels/peers/peers.component.spec.ts index 1298e5e5..b82be725 100644 --- a/src/app/eclair/peers-channels/peers/peers.component.spec.ts +++ b/src/app/eclair/peers-channels/peers/peers.component.spec.ts @@ -1,16 +1,45 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLPeersComponent } from './peers.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLPeersComponent', () => { let component: ECLPeersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLPeersComponent ] - }) - .compileComponents(); + declarations: [ECLPeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +51,8 @@ describe('ECLPeersComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/peers-channels/peers/peers.component.ts b/src/app/eclair/peers-channels/peers/peers.component.ts index 7475b39e..9d9ee4bf 100644 --- a/src/app/eclair/peers-channels/peers/peers.component.ts +++ b/src/app/eclair/peers-channels/peers/peers.component.ts @@ -10,14 +10,14 @@ import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Peer, GetInfo } from '../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; import { ECLOpenChannelComponent } from '../channels/open-channel-modal/open-channel.component'; import { ECLConnectPeerComponent } from '../connect-peer/connect-peer.component'; import { newlyAddedRowAnimation } from '../../../shared/animation/row-animation'; -import { ECLEffects } from '../../store/ecl.effects'; import { RTLEffects } from '../../../store/rtl.effects'; import * as ECLActions from '../../store/ecl.actions'; import * as RTLActions from '../../../store/rtl.actions'; @@ -29,12 +29,13 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./peers.component.scss'], animations: [newlyAddedRowAnimation], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') }, + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } ] }) export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faUsers = faUsers; public newlyAddedPeer = ''; public flgAnimate = true; @@ -44,23 +45,25 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { public peers: any; public information: GetInfo = {}; public availableBalance = 0; - public flgLoading: Array = [true]; // 0: peers public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private eclEffects: ECLEffects, private actions$: Actions, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private actions: Actions, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'nodeId', 'address', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'nodeId', 'address', 'channels', 'actions']; } else { @@ -70,32 +73,31 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPeers') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPeers.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPeers.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPeers.message) : this.apisCallStatus.FetchPeers.message; } + this.information = rtlStore.information; + this.availableBalance = rtlStore.onchainBalance.total || 0; + this.peersData = rtlStore.peers; + this.loadPeersTable(this.peersData); + setTimeout(() => { + this.flgAnimate = false; + }, 3000); + this.logger.info(rtlStore); + }); + this.actions. + pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === ECLActions.SET_PEERS_ECL) + ).subscribe((setPeers: ECLActions.SetPeers) => { + this.peerAddress = null; + this.flgAnimate = true; }); - this.information = rtlStore.information; - this.availableBalance = rtlStore.onchainBalance.total || 0; - this.peersData = rtlStore.peers; - this.loadPeersTable(this.peersData); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = false; - } - setTimeout(() => { this.flgAnimate = false; }, 3000); - this.logger.info(rtlStore); - }); - this.actions$ - .pipe( - takeUntil(this.unSubs[1]), - filter((action) => action.type === ECLActions.SET_PEERS_ECL) - ).subscribe((setPeers: ECLActions.SetPeers) => { - this.peerAddress = undefined; - this.flgAnimate = true; - }); } ngAfterViewInit() { @@ -106,11 +108,11 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { onPeerClick(selPeer: Peer, event: any) { const reorderedPeer = [ - [{key: 'nodeId', value: selPeer.nodeId, title: 'Public Key', width: 100}], - [{key: 'address', value: selPeer.address, title: 'Address', width: 50}, - {key: 'alias', value: selPeer.alias, title: 'Alias', width: 50}], - [{key: 'state', value: this.commonService.titleCase(selPeer.state), title: 'State', width: 50}, - {key: 'channels', value: selPeer.channels, title: 'Channels', width: 50}] + [{ key: 'nodeId', value: selPeer.nodeId, title: 'Public Key', width: 100 }], + [{ key: 'address', value: selPeer.address, title: 'Address', width: 50 }, + { key: 'alias', value: selPeer.alias, title: 'Alias', width: 50 }], + [{ key: 'state', value: this.commonService.titleCase(selPeer.state), title: 'State', width: 50 }, + { key: 'channels', value: selPeer.channels, title: 'Channels', width: 50 }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, @@ -118,32 +120,32 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { showQRName: 'Public Key', showQRField: selPeer.nodeId, message: reorderedPeer - }})); + } })); } onConnectPeer(selPeer: Peer) { this.store.dispatch(new RTLActions.OpenAlert({ data: { - message: { + message: { peer: selPeer.nodeId ? selPeer : null, information: this.information, balance: this.availableBalance }, component: ECLConnectPeerComponent - }})); + } })); } onOpenChannel(peerToAddChannel: Peer) { const peerToAddChannelMessage = { - peer: peerToAddChannel, + peer: peerToAddChannel, information: this.information, balance: this.availableBalance }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, newlyAdded: false, component: ECLOpenChannelComponent - }})); + } })); } onPeerDetach(peerToDetach: Peer) { @@ -152,7 +154,7 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { type: AlertTypeEnum.ERROR, alertTitle: 'Disconnect Not Allowed', titleMessage: 'Channel active with this peer.' - }})); + } })); } else { this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, @@ -160,16 +162,15 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { titleMessage: 'Disconnect peer: ' + ((peerToDetach.alias) ? peerToDetach.alias : peerToDetach.nodeId), noBtnText: 'Cancel', yesBtnText: 'Disconnect' - }})); + } })); } - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Disconnecting Peer...')); - this.store.dispatch(new ECLActions.DisconnectPeer({nodeId: peerToDetach.nodeId})); - } - }); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new ECLActions.DisconnectPeer({ nodeId: peerToDetach.nodeId })); + } + }); } applyFilter(selFilter: any) { @@ -179,21 +180,22 @@ export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy { loadPeersTable(peers: Peer[]) { this.peers = (peers) ? new MatTableDataSource([...peers]) : new MatTableDataSource([]); this.peers.sort = this.sort; - this.peers.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.peers.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.peers.filterPredicate = (peer: Peer, fltr: string) => JSON.stringify(peer).toLowerCase().includes(fltr); this.peers.paginator = this.paginator; } onDownloadCSV() { - if(this.peers.data && this.peers.data.length > 0) { + if (this.peers.data && this.peers.data.length > 0) { this.commonService.downloadFile(this.peers.data, 'Peers'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/reports/fee/fee-report.component.spec.ts b/src/app/eclair/reports/fee/fee-report.component.spec.ts index bb68923c..d2acd55f 100644 --- a/src/app/eclair/reports/fee/fee-report.component.spec.ts +++ b/src/app/eclair/reports/fee/fee-report.component.spec.ts @@ -1,22 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { DataService } from '../../../shared/services/data.service'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLFeeReportComponent } from './fee-report.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLFeeReportComponent', () => { let component: ECLFeeReportComponent; let fixture: ComponentFixture; - const mockDataService = jasmine.createSpyObj("DataService", ["getChildAPIUrl","setChildAPIUrl","getFiatRates", - "getAliasesFromPubkeys","signMessage","verifyMessage","handleErrorWithoutAlert","handleErrorWithAlert"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLFeeReportComponent ], + declarations: [ECLFeeReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], providers: [ - { provide: DataService, useValue: mockDataService } + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { @@ -28,4 +46,8 @@ describe('ECLFeeReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/reports/fee/fee-report.component.ts b/src/app/eclair/reports/fee/fee-report.component.ts index 59350677..7f04ef42 100644 --- a/src/app/eclair/reports/fee/fee-report.component.ts +++ b/src/app/eclair/reports/fee/fee-report.component.ts @@ -1,15 +1,15 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { PaymentRelayed } from '../../../shared/models/eclModels'; import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; import { fadeIn } from '../../../shared/animation/opacity-animation'; import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { LoggerService } from '../../../shared/services/logger.service'; @Component({ selector: 'rtl-ecl-fee-report', @@ -17,7 +17,8 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./fee-report.component.scss'], animations: [fadeIn] }) -export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class ECLFeeReportComponent implements OnInit, AfterContentInit, OnDestroy { + public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; public events: PaymentRelayed[] = []; @@ -43,43 +44,43 @@ export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.events = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; - this.filterForwardingEvents(this.startDate, this.endDate); - this.logger.info(rtlStore); - }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.events = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; + this.filterForwardingEvents(this.startDate, this.endDate); + this.logger.info(rtlStore); + }); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } filterForwardingEvents(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - const endDateInSeconds = Math.round(end.getTime()/1000); + const startDateInSeconds = Math.round(start.getTime() / 1000); + const endDateInSeconds = Math.round(end.getTime() / 1000); this.logger.info('Filtering Forwarding Events Starting at ' + new Date(Date.now()).toLocaleString() + ' From ' + start.toLocaleString() + ' To ' + end.toLocaleString()); this.filteredEventsBySelectedPeriod = []; this.feeReportData = []; this.totalFeeSat = null; if (this.events && this.events.length > 0) { - this.events.forEach(event => { - if (Math.floor(event.timestamp/1000) >= startDateInSeconds && Math.floor(event.timestamp/1000) < endDateInSeconds) { + this.events.forEach((event) => { + if (Math.floor(event.timestamp / 1000) >= startDateInSeconds && Math.floor(event.timestamp / 1000) < endDateInSeconds) { this.filteredEventsBySelectedPeriod.push(event); } }); @@ -93,9 +94,9 @@ export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { this.eventFilterValue = ''; } } - + onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.eventFilterValue = event.name + '/' + this.startDate.getFullYear(); } else { this.eventFilterValue = event.name.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -103,28 +104,30 @@ export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } prepareFeeReport(start: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - let feeReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const feeReport = []; this.logger.info('Fee Report Prepare Starting at ' + new Date(Date.now()).toLocaleString() + ' From ' + start.toLocaleString()); if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - feeReport.push({name: MONTHS[i].name, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: MONTHS[i].name, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.filteredEventsBySelectedPeriod.map(event => { - let monthNumber = new Date(event.timestamp).getMonth(); + this.filteredEventsBySelectedPeriod.map((event) => { + const monthNumber = new Date(event.timestamp).getMonth(); feeReport[monthNumber].value = feeReport[monthNumber].value + (event.amountIn - event.amountOut); feeReport[monthNumber].extra.totalEvents = feeReport[monthNumber].extra.totalEvents + 1; this.totalFeeSat = (this.totalFeeSat ? this.totalFeeSat : 0) + (event.amountIn - event.amountOut); + return this.filteredEventsBySelectedPeriod; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - feeReport.push({name: i + 1, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: i + 1, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.filteredEventsBySelectedPeriod.map(event => { - let dateNumber = Math.floor((Math.floor(event.timestamp/1000) - startDateInSeconds) / this.secondsInADay); + this.filteredEventsBySelectedPeriod.map((event) => { + const dateNumber = Math.floor((Math.floor(event.timestamp / 1000) - startDateInSeconds) / this.secondsInADay); feeReport[dateNumber].value = feeReport[dateNumber].value + (event.amountIn - event.amountOut); feeReport[dateNumber].extra.totalEvents = feeReport[dateNumber].extra.totalEvents + 1; this.totalFeeSat = (this.totalFeeSat ? this.totalFeeSat : 0) + (event.amountIn - event.amountOut); + return this.filteredEventsBySelectedPeriod; }); } this.logger.info('Fee Report Prepare Finished at ' + new Date(Date.now()).toLocaleString()); @@ -147,13 +150,14 @@ export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/reports/reports.component.spec.ts b/src/app/eclair/reports/reports.component.spec.ts index 5f5e580e..dab96099 100644 --- a/src/app/eclair/reports/reports.component.spec.ts +++ b/src/app/eclair/reports/reports.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { ECLReportsComponent } from './reports.component'; @@ -6,11 +8,12 @@ describe('ECLReportsComponent', () => { let component: ECLReportsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLReportsComponent ] - }) - .compileComponents(); + declarations: [ECLReportsComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('ECLReportsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/reports/reports.component.ts b/src/app/eclair/reports/reports.component.ts index d82a6939..3ae807c6 100644 --- a/src/app/eclair/reports/reports.component.ts +++ b/src/app/eclair/reports/reports.component.ts @@ -10,25 +10,26 @@ import { faChartBar } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./reports.component.scss'] }) export class ECLReportsComponent implements OnInit, OnDestroy { + public faChartBar = faChartBar; - public links = [{link: 'routingfees', name: 'Routing Fees'}, {link: 'transactions', name: 'Transactions'}]; + public links = [{ link: 'routingfees', name: 'Routing Fees' }, { link: 'transactions', name: 'Transactions' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/reports/transactions/transactions-report.component.spec.ts b/src/app/eclair/reports/transactions/transactions-report.component.spec.ts index 982cd8a3..440436f1 100644 --- a/src/app/eclair/reports/transactions/transactions-report.component.spec.ts +++ b/src/app/eclair/reports/transactions/transactions-report.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; import { ECLTransactionsReportComponent } from './transactions-report.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLTransactionsReportComponent', () => { let component: ECLTransactionsReportComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLTransactionsReportComponent ] - }) - .compileComponents(); + declarations: [ECLTransactionsReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('ECLTransactionsReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/reports/transactions/transactions-report.component.ts b/src/app/eclair/reports/transactions/transactions-report.component.ts index 9d11659c..3cc94e1c 100644 --- a/src/app/eclair/reports/transactions/transactions-report.component.ts +++ b/src/app/eclair/reports/transactions/transactions-report.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; @@ -16,7 +16,8 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./transactions-report.component.scss'], animations: [fadeIn] }) -export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class ECLTransactionsReportComponent implements OnInit, AfterContentInit, OnDestroy { + public scrollRanges = SCROLL_RANGES; public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; @@ -44,34 +45,34 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.payments = rtlStore.payments.sent ? rtlStore.payments.sent : []; - this.invoices = rtlStore.invoices ? rtlStore.invoices : []; - if(this.payments.length > 0 || this.invoices.length > 0) { - this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); - this.transactionsNonZeroReportData = this.prepareTableData(); - } - }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.payments = rtlStore.payments.sent ? rtlStore.payments.sent : []; + this.invoices = rtlStore.invoices ? rtlStore.invoices : []; + if (this.payments.length > 0 || this.invoices.length > 0) { + this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); + this.transactionsNonZeroReportData = this.prepareTableData(); + } + }); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } @HostListener('mouseup', ['$event']) onChartMouseUp(e) { @@ -81,7 +82,7 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On } onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.transactionFilterValue = event.series.toString() + '/' + this.startDate.getFullYear(); } else { this.transactionFilterValue = event.series.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -89,45 +90,49 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On } filterTransactionsForSelectedPeriod(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - const endDateInSeconds = Math.round(end.getTime()/1000); - let transactionsReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const endDateInSeconds = Math.round(end.getTime() / 1000); + const transactionsReport = []; this.transactionsReportSummary = { paymentsSelectedPeriod: 0, invoicesSelectedPeriod: 0, amountPaidSelectedPeriod: 0, amountReceivedSelectedPeriod: 0 }; - let filteredPayments = this.payments.filter(payment => Math.floor(payment.firstPartTimestamp/1000) >= startDateInSeconds && Math.floor(payment.firstPartTimestamp/1000) < endDateInSeconds); - let filteredInvoices = this.invoices.filter(invoice => invoice.status === 'received' && invoice.timestamp >= startDateInSeconds && invoice.timestamp < endDateInSeconds); + const filteredPayments = this.payments.filter((payment) => Math.floor(payment.firstPartTimestamp / 1000) >= startDateInSeconds && Math.floor(payment.firstPartTimestamp / 1000) < endDateInSeconds); + const filteredInvoices = this.invoices.filter((invoice) => invoice.status === 'received' && invoice.timestamp >= startDateInSeconds && invoice.timestamp < endDateInSeconds); this.transactionsReportSummary.paymentsSelectedPeriod = filteredPayments.length; this.transactionsReportSummary.invoicesSelectedPeriod = filteredInvoices.length; if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - transactionsReport.push({name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let monthNumber = new Date(payment.firstPartTimestamp).getMonth(); + filteredPayments.map((payment) => { + const monthNumber = new Date(payment.firstPartTimestamp).getMonth(); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + payment.recipientAmount; transactionsReport[monthNumber].series[0].value = transactionsReport[monthNumber].series[0].value + payment.recipientAmount; transactionsReport[monthNumber].series[0].extra.total = transactionsReport[monthNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let monthNumber = new Date((invoice.timestamp)*1000).getMonth(); + filteredInvoices.map((invoice) => { + const monthNumber = new Date((invoice.timestamp) * 1000).getMonth(); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + invoice.amountSettled; transactionsReport[monthNumber].series[1].value = transactionsReport[monthNumber].series[1].value + invoice.amountSettled; transactionsReport[monthNumber].series[1].extra.total = transactionsReport[monthNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - transactionsReport.push({name: (i + 1).toString(), date: new Date((((i)*this.secondsInADay) + startDateInSeconds)*1000), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: (i + 1).toString(), date: new Date((((i) * this.secondsInADay) + startDateInSeconds) * 1000), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let dateNumber = Math.floor((Math.floor(payment.firstPartTimestamp/1000) - startDateInSeconds) / this.secondsInADay); + filteredPayments.map((payment) => { + const dateNumber = Math.floor((Math.floor(payment.firstPartTimestamp / 1000) - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + payment.recipientAmount; transactionsReport[dateNumber].series[0].value = transactionsReport[dateNumber].series[0].value + payment.recipientAmount; transactionsReport[dateNumber].series[0].extra.total = transactionsReport[dateNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let dateNumber = Math.floor((invoice.timestamp - startDateInSeconds) / this.secondsInADay); + filteredInvoices.map((invoice) => { + const dateNumber = Math.floor((invoice.timestamp - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + invoice.amountSettled; transactionsReport[dateNumber].series[1].value = transactionsReport[dateNumber].series[1].value + invoice.amountSettled; transactionsReport[dateNumber].series[1].extra.total = transactionsReport[dateNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } return transactionsReport; @@ -135,8 +140,8 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On prepareTableData() { return this.transactionsReportData.reduce((acc, curr) => { - if (curr.series[0].extra.total > 0 || curr.series[1].extra.total >0) { - return acc.concat({date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total}); + if (curr.series[0].extra.total > 0 || curr.series[1].extra.total > 0) { + return acc.concat({ date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total }); } return acc; }, []); @@ -159,14 +164,15 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/routing/forwarding-history/forwarding-history.component.html b/src/app/eclair/routing/forwarding-history/forwarding-history.component.html index f61e89aa..de3f4e09 100644 --- a/src/app/eclair/routing/forwarding-history/forwarding-history.component.html +++ b/src/app/eclair/routing/forwarding-history/forwarding-history.component.html @@ -1,5 +1,5 @@ -
-
{{errorMessage}}
+
+
{{errorMessage}}
@@ -7,6 +7,7 @@
+
ID @@ -66,7 +66,9 @@ -

No connected peers.

+

No connected peer.

+

Getting peers...

+

{{errorMessage}}

@@ -47,7 +48,9 @@ @@ -55,5 +58,5 @@
Date/Time -

No forwarding event available.

+

No forwarding history available.

+

Getting forwarding history...

+

{{errorMessage}}

- +
diff --git a/src/app/eclair/routing/forwarding-history/forwarding-history.component.spec.ts b/src/app/eclair/routing/forwarding-history/forwarding-history.component.spec.ts index a1933838..d7972078 100644 --- a/src/app/eclair/routing/forwarding-history/forwarding-history.component.spec.ts +++ b/src/app/eclair/routing/forwarding-history/forwarding-history.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLForwardingHistoryComponent } from './forwarding-history.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLForwardingHistoryComponent', () => { let component: ECLForwardingHistoryComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLForwardingHistoryComponent ] - }) - .compileComponents(); + declarations: [ECLForwardingHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ECLForwardingHistoryComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/routing/forwarding-history/forwarding-history.component.ts b/src/app/eclair/routing/forwarding-history/forwarding-history.component.ts index 1eb80266..1e9a8e1c 100644 --- a/src/app/eclair/routing/forwarding-history/forwarding-history.component.ts +++ b/src/app/eclair/routing/forwarding-history/forwarding-history.component.ts @@ -8,7 +8,8 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { PaymentRelayed } from '../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -24,11 +25,11 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; ] }) export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; @Input() eventsData = []; @Input() filterValue = ''; - public errorMessage = ''; public displayedColumns: any[] = []; public forwardingHistoryEvents: any; public flgSticky = false; @@ -36,17 +37,20 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amountIn', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amountIn', 'fee', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amountIn', 'amountOut', 'fee', 'actions']; } else { @@ -56,23 +60,22 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore: any) => { - if (this.eventsData.length <= 0) { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPayments') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore: any) => { + if (this.eventsData.length <= 0) { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPayments.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; } - }); - this.eventsData = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; - if (this.eventsData.length > 0 && this.sort && this.paginator) { - this.loadForwardingEventsTable(this.eventsData); - } - this.logger.info(this.eventsData); - } - }); + this.eventsData = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; + if (this.eventsData.length > 0 && this.sort && this.paginator) { + this.loadForwardingEventsTable(this.eventsData); + } + this.logger.info(this.eventsData); + } + }); } ngAfterViewInit() { @@ -95,23 +98,23 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi onForwardingEventClick(selFEvent: PaymentRelayed, event: any) { const reorderedFHEvent = [ - [{key: 'paymentHash', value: selFEvent.paymentHash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'timestamp', value: Math.round(selFEvent.timestamp/1000), title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'fee', value: (selFEvent.amountIn - selFEvent.amountOut), title: 'Fee Earned (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'amountIn', value: selFEvent.amountIn, title: 'Amount In (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'amountOut', value: selFEvent.amountOut, title: 'Amount Out (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'fromChannelAlias', value: selFEvent.fromChannelAlias, title: 'From Channel Alias', width: 50, type: DataTypeEnum.STRING}, - {key: 'fromShortChannelId', value: selFEvent.fromShortChannelId, title: 'From Short Channel ID', width: 50, type: DataTypeEnum.STRING}], - [{key: 'fromChannelId', value: selFEvent.fromChannelId, title: 'From Channel Id', width: 100, type: DataTypeEnum.STRING}], - [{key: 'toChannelAlias', value: selFEvent.toChannelAlias, title: 'To Channel Alias', width: 50, type: DataTypeEnum.STRING}, - {key: 'toShortChannelId', value: selFEvent.toShortChannelId, title: 'To Short Channel ID', width: 50, type: DataTypeEnum.STRING}], - [{key: 'toChannelId', value: selFEvent.toChannelId, title: 'To Channel Id', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'paymentHash', value: selFEvent.paymentHash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'timestamp', value: Math.round(selFEvent.timestamp / 1000), title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'fee', value: (selFEvent.amountIn - selFEvent.amountOut), title: 'Fee Earned (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'amountIn', value: selFEvent.amountIn, title: 'Amount In (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'amountOut', value: selFEvent.amountOut, title: 'Amount Out (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'fromChannelAlias', value: selFEvent.fromChannelAlias, title: 'From Channel Alias', width: 50, type: DataTypeEnum.STRING }, + { key: 'fromShortChannelId', value: selFEvent.fromShortChannelId, title: 'From Short Channel ID', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'fromChannelId', value: selFEvent.fromChannelId, title: 'From Channel Id', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'toChannelAlias', value: selFEvent.toChannelAlias, title: 'To Channel Alias', width: 50, type: DataTypeEnum.STRING }, + { key: 'toShortChannelId', value: selFEvent.toShortChannelId, title: 'To Short Channel ID', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'toChannelId', value: selFEvent.toChannelId, title: 'To Channel Id', width: 100, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Event Information', message: reorderedFHEvent - }})); + } })); } loadForwardingEventsTable(forwardingEvents: PaymentRelayed[]) { @@ -121,21 +124,21 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi switch (sortHeaderId) { case 'fee': return data.amountIn - data.amountOut; - + default: return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; } - } + }; this.forwardingHistoryEvents.filterPredicate = (rowData: PaymentRelayed, fltr: string) => { const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + return newRowData.includes(fltr); }; this.forwardingHistoryEvents.paginator = this.paginator; this.logger.info(this.forwardingHistoryEvents); } onDownloadCSV() { - if(this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { + if (this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { this.commonService.downloadFile(this.forwardingHistoryEvents.data, 'Forwarding-history'); } } @@ -147,9 +150,10 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/routing/routing-peers/routing-peers.component.html b/src/app/eclair/routing/routing-peers/routing-peers.component.html index 60609f00..5c3d8da2 100644 --- a/src/app/eclair/routing/routing-peers/routing-peers.component.html +++ b/src/app/eclair/routing/routing-peers/routing-peers.component.html @@ -1,15 +1,16 @@ -
-
{{errorMessage}}
+
+
{{errorMessage}}
-
+
Incoming
-
- +
+ +
@@ -33,7 +34,9 @@ @@ -43,15 +46,16 @@ -
+
Outgoing
-
-
Channel ID {{rPeer.channelId}} -

No incoming routing peer available.

+

No incoming routing peer available.

+

Getting incoming routing peers...

+

{{errorMessage}}

+
+ +
@@ -75,7 +79,9 @@ diff --git a/src/app/eclair/routing/routing-peers/routing-peers.component.spec.ts b/src/app/eclair/routing/routing-peers/routing-peers.component.spec.ts index 9ffcbe29..f5428f41 100644 --- a/src/app/eclair/routing/routing-peers/routing-peers.component.spec.ts +++ b/src/app/eclair/routing/routing-peers/routing-peers.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLRoutingPeersComponent } from './routing-peers.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLRoutingPeersComponent', () => { let component: ECLRoutingPeersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLRoutingPeersComponent ] - }) - .compileComponents(); + declarations: [ECLRoutingPeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ECLRoutingPeersComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/routing/routing-peers/routing-peers.component.ts b/src/app/eclair/routing/routing-peers/routing-peers.component.ts index 31f95a74..96d98a88 100644 --- a/src/app/eclair/routing/routing-peers/routing-peers.component.ts +++ b/src/app/eclair/routing/routing-peers/routing-peers.component.ts @@ -2,13 +2,13 @@ import { Component, OnInit, AfterViewInit, ViewChild, OnDestroy } from '@angular import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Actions } from '@ngrx/effects'; import { MatSort } from '@angular/material/sort'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { PaymentRelayed, RoutingPeers } from '../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -20,15 +20,15 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./routing-peers.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } - ] + ] }) export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestroy { - @ViewChild(MatSort, { static: false }) sortIn: MatSort; - @ViewChild('tableOut', {read: MatSort, static: false}) sortOut: MatSort; - @ViewChild('paginatorIn', {static: false}) paginatorIn: MatPaginator|undefined; - @ViewChild('paginatorOut', {static: false}) paginatorOut: MatPaginator|undefined; + + @ViewChild('tableIn', { read: MatSort, static: false }) sortIn: MatSort; + @ViewChild('tableOut', { read: MatSort, static: false }) sortOut: MatSort; + @ViewChild('paginatorIn', { static: false }) paginatorIn: MatPaginator|undefined; + @ViewChild('paginatorOut', { static: false }) paginatorOut: MatPaginator|undefined; public routingPeersData = []; - public errorMessage = ''; public displayedColumns: any[] = []; public RoutingPeersIncoming: any; public RoutingPeersOutgoing: any; @@ -37,17 +37,20 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'totalFee']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'events', 'totalFee']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'events', 'totalAmount', 'totalFee']; } else { @@ -57,21 +60,20 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPayments') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPayments.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; + } + this.routingPeersData = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; + if (this.routingPeersData.length > 0 && this.sortIn && this.paginatorIn && this.sortOut && this.paginatorOut) { + this.loadRoutingPeersTable(this.routingPeersData); } + this.logger.info(rtlStore); }); - this.routingPeersData = rtlStore.payments && rtlStore.payments.relayed ? rtlStore.payments.relayed : []; - if (this.routingPeersData.length > 0 && this.sortIn && this.paginatorIn && this.sortOut && this.paginatorOut) { - this.loadRoutingPeersTable(this.routingPeersData); - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -94,7 +96,7 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro this.RoutingPeersOutgoing.paginator = this.paginatorOut; this.logger.info(this.RoutingPeersOutgoing); } else { - // To reset table after other Forwarding history calls + // To reset table after other Forwarding history calls this.RoutingPeersIncoming = new MatTableDataSource([]); this.RoutingPeersOutgoing = new MatTableDataSource([]); } @@ -103,18 +105,18 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro groupRoutingPeers(forwardingEvents: PaymentRelayed[]) { const incomingResults: RoutingPeers[] = []; const outgoingResults: RoutingPeers[] = []; - forwardingEvents.forEach(event => { - const incoming = incomingResults.find(result => result.channelId === event.fromChannelId); - const outgoing = outgoingResults.find(result => result.channelId === event.toChannelId); + forwardingEvents.forEach((event) => { + const incoming = incomingResults.find((result) => result.channelId === event.fromChannelId); + const outgoing = outgoingResults.find((result) => result.channelId === event.toChannelId); if (!incoming) { - incomingResults.push({channelId: event.fromChannelId, alias: event.fromChannelAlias, events: 1, totalAmount: +event.amountIn, totalFee: (event.amountIn - event.amountOut)}); + incomingResults.push({ channelId: event.fromChannelId, alias: event.fromChannelAlias, events: 1, totalAmount: +event.amountIn, totalFee: (event.amountIn - event.amountOut) }); } else { incoming.events++; incoming.totalAmount = +incoming.totalAmount + +event.amountIn; incoming.totalFee = +incoming.totalFee + (event.amountIn - event.amountOut); } if (!outgoing) { - outgoingResults.push({channelId: event.toChannelId, alias: event.toChannelAlias, events: 1, totalAmount: +event.amountOut, totalFee: (event.amountIn - event.amountOut)}); + outgoingResults.push({ channelId: event.toChannelId, alias: event.toChannelAlias, events: 1, totalAmount: +event.amountOut, totalFee: (event.amountIn - event.amountOut) }); } else { outgoing.events++; outgoing.totalAmount = +outgoing.totalAmount + +event.amountOut; @@ -133,9 +135,10 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/eclair/routing/routing.component.spec.ts b/src/app/eclair/routing/routing.component.spec.ts index 11179494..c33778ad 100644 --- a/src/app/eclair/routing/routing.component.spec.ts +++ b/src/app/eclair/routing/routing.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { ECLRoutingComponent } from './routing.component'; @@ -6,11 +8,12 @@ describe('ECLRoutingComponent', () => { let component: ECLRoutingComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLRoutingComponent ] - }) - .compileComponents(); + declarations: [ECLRoutingComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('ECLRoutingComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/routing/routing.component.ts b/src/app/eclair/routing/routing.component.ts index add983ab..7cd9f3e6 100644 --- a/src/app/eclair/routing/routing.component.ts +++ b/src/app/eclair/routing/routing.component.ts @@ -11,28 +11,29 @@ import { faMapSigns } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./routing.component.scss'] }) export class ECLRoutingComponent implements OnInit, OnDestroy { + public faMapSigns = faMapSigns; public events = []; public flgLoading: Array = [true]; public errorMessage = ''; - public links = [{link: 'forwardinghistory', name: 'Forwarding History'}, {link: 'peers', name: 'Routing Peers'}]; + public links = [{ link: 'forwardinghistory', name: 'Forwarding History' }, { link: 'peers', name: 'Routing Peers' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/store/ecl.actions.ts b/src/app/eclair/store/ecl.actions.ts index a131e9ad..64d384a2 100644 --- a/src/app/eclair/store/ecl.actions.ts +++ b/src/app/eclair/store/ecl.actions.ts @@ -1,12 +1,11 @@ import { Action } from '@ngrx/store'; -import { ErrorPayload } from '../../shared/models/errorPayload'; +import { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../shared/models/RTLconfig'; -import { GetInfo, Channel, ChannelStats, Fees, Peer, LightningBalance, OnChainBalance, ChannelsStatus, Payments, Route, PayRequest, Transaction, SendPaymentOnChain, Invoice } from '../../shared/models/eclModels'; +import { GetInfo, Channel, ChannelStats, Fees, Peer, LightningBalance, OnChainBalance, ChannelsStatus, Payments, Route, Transaction, SendPaymentOnChain, Invoice } from '../../shared/models/eclModels'; export const RESET_ECL_STORE = 'RESET_ECL_STORE'; -export const CLEAR_EFFECT_ERROR_ECL = 'CLEAR_EFFECT_ERROR_ECL'; -export const EFFECT_ERROR_ECL = 'EFFECT_ERROR_ECL'; +export const UPDATE_API_CALL_STATUS_ECL = 'UPDATE_API_CALL_STATUS_ECL'; export const SET_CHILD_NODE_SETTINGS_ECL = 'SET_CHILD_NODE_SETTINGS_ECL'; export const FETCH_INFO_ECL = 'FETCH_INFO_ECL'; export const SET_INFO_ECL = 'SET_INFO_ECL'; @@ -52,243 +51,338 @@ export const SET_TOTAL_INVOICES_ECL = 'SET_TOTAL_INVOICES_ECL'; export const CREATE_INVOICE_ECL = 'CREATE_INVOICE_ECL'; export const ADD_INVOICE_ECL = 'ADD_INVOICE_ECL'; export const PEER_LOOKUP_ECL = 'PEER_LOOKUP_ECL'; +export const INVOICE_LOOKUP_ECL = 'INVOICE_LOOKUP_ECL'; export const SET_LOOKUP_ECL = 'SET_LOOKUP_ECL'; -export class ClearEffectError implements Action { - readonly type = CLEAR_EFFECT_ERROR_ECL; - constructor(public payload: string) { } // payload = errorAction -} +export class UpdateAPICallStatus implements Action { + + readonly type = UPDATE_API_CALL_STATUS_ECL; + constructor(public payload: ApiCallStatusPayload) { } -export class EffectError implements Action { - readonly type = EFFECT_ERROR_ECL; - constructor(public payload: ErrorPayload) { } } export class ResetECLStore implements Action { + readonly type = RESET_ECL_STORE; constructor(public payload: SelNodeChild) {} + } export class SetChildNodeSettings implements Action { + readonly type = SET_CHILD_NODE_SETTINGS_ECL; constructor(public payload: SelNodeChild) {} + } export class FetchInfo implements Action { + readonly type = FETCH_INFO_ECL; constructor(public payload: {loadPage: string}) {} + } export class SetInfo implements Action { + readonly type = SET_INFO_ECL; constructor(public payload: GetInfo) {} + } export class FetchFees implements Action { + readonly type = FETCH_FEES_ECL; + } export class SetFees implements Action { + readonly type = SET_FEES_ECL; constructor(public payload: Fees) {} + } export class FetchChannels implements Action { + readonly type = FETCH_CHANNELS_ECL; - constructor(public payload: {fetchPayments: boolean}) {} + constructor(public payload: {fetchPayments: boolean}) {} + } export class SetActiveChannels implements Action { + readonly type = SET_ACTIVE_CHANNELS_ECL; constructor(public payload: Channel[]) {} + } export class SetPendingChannels implements Action { + readonly type = SET_PENDING_CHANNELS_ECL; constructor(public payload: Channel[]) {} + } export class SetInactiveChannels implements Action { + readonly type = SET_INACTIVE_CHANNELS_ECL; constructor(public payload: Channel[]) {} + } export class FetchChannelStats implements Action { + readonly type = FETCH_CHANNEL_STATS_ECL; + } export class SetChannelStats implements Action { + readonly type = SET_CHANNEL_STATS_ECL; constructor(public payload: ChannelStats[]) {} + } export class FetchOnchainBalance implements Action { + readonly type = FETCH_ONCHAIN_BALANCE_ECL; + } export class SetOnchainBalance implements Action { + readonly type = SET_ONCHAIN_BALANCE_ECL; constructor(public payload: OnChainBalance) {} + } export class SetLightningBalance implements Action { + readonly type = SET_LIGHTNING_BALANCE_ECL; constructor(public payload: LightningBalance) {} + } export class SetChannelsStatus implements Action { + readonly type = SET_CHANNELS_STATUS_ECL; constructor(public payload: ChannelsStatus) {} + } export class FetchPeers implements Action { + readonly type = FETCH_PEERS_ECL; + } export class SetPeers implements Action { + readonly type = SET_PEERS_ECL; constructor(public payload: Peer[]) {} + } export class SaveNewPeer implements Action { + readonly type = SAVE_NEW_PEER_ECL; constructor(public payload: {id: string}) {} + } export class NewlyAddedPeer implements Action { + readonly type = NEWLY_ADDED_PEER_ECL; constructor(public payload: { peer: Peer }) {} + } export class AddPeer implements Action { + readonly type = ADD_PEER_ECL; constructor(public payload: Peer) {} + } export class DisconnectPeer implements Action { + readonly type = DETACH_PEER_ECL; constructor(public payload: {nodeId: string}) {} + } export class RemovePeer implements Action { + readonly type = REMOVE_PEER_ECL; constructor(public payload: {nodeId: string}) {} + } export class GetNewAddress implements Action { + readonly type = GET_NEW_ADDRESS_ECL; + } export class SetNewAddress implements Action { + readonly type = SET_NEW_ADDRESS_ECL; - constructor(public payload: string) {} // payload = newAddress + constructor(public payload: string) {} // Payload = newAddress + } export class SaveNewChannel implements Action { + readonly type = SAVE_NEW_CHANNEL_ECL; constructor(public payload: {nodeId: string, amount: number, private: boolean, feeRate?: number}) {} + } export class UpdateChannels implements Action { + readonly type = UPDATE_CHANNELS_ECL; constructor(public payload: {baseFeeMsat: number, feeRate: number, channelId?: string, channelIds?: string}) {} + } export class CloseChannel implements Action { + readonly type = CLOSE_CHANNEL_ECL; constructor(public payload: {channelId: string, force: boolean}) {} + } export class RemoveChannel implements Action { + readonly type = REMOVE_CHANNEL_ECL; constructor(public payload: {channelId: string}) {} + } export class FetchPayments implements Action { + readonly type = FETCH_PAYMENTS_ECL; + } export class SetPayments implements Action { + readonly type = SET_PAYMENTS_ECL; constructor(public payload: Payments) {} + } export class GetQueryRoutes implements Action { + readonly type = GET_QUERY_ROUTES_ECL; constructor(public payload: {nodeId: string, amount: number}) {} + } export class SetQueryRoutes implements Action { + readonly type = SET_QUERY_ROUTES_ECL; constructor(public payload: Route[]) {} + } export class SendPayment implements Action { + readonly type = SEND_PAYMENT_ECL; constructor(public payload: { fromDialog: boolean, invoice: string, amountMsat?: number }) {} + } export class SendPaymentStatus implements Action { + readonly type = SEND_PAYMENT_STATUS_ECL; constructor(public payload: any) {} + } export class FetchTransactions implements Action { + readonly type = FETCH_TRANSACTIONS_ECL; + } export class SetTransactions implements Action { + readonly type = SET_TRANSACTIONS_ECL; constructor(public payload: Transaction[]) {} + } export class SendOnchainFunds implements Action { + readonly type = SEND_ONCHAIN_FUNDS_ECL; constructor(public payload: SendPaymentOnChain) {} + } export class SendOnchainFundsRes implements Action { + readonly type = SEND_ONCHAIN_FUNDS_RES_ECL; constructor(public payload: any) {} + } export class FetchInvoices implements Action { + readonly type = FETCH_INVOICES_ECL; + } export class SetInvoices implements Action { + readonly type = SET_INVOICES_ECL; constructor(public payload: Invoice[]) {} + } export class CreateInvoice implements Action { + readonly type = CREATE_INVOICE_ECL; constructor(public payload: {description: string, expireIn: number, amountMsat?: number}) {} + } export class AddInvoice implements Action { + readonly type = ADD_INVOICE_ECL; constructor(public payload: Invoice) {} + } export class PeerLookup implements Action { + readonly type = PEER_LOOKUP_ECL; - constructor(public payload: string) {} // payload = id + constructor(public payload: string) {} // Payload = id + +} + +export class InvoiceLookup implements Action { + + readonly type = INVOICE_LOOKUP_ECL; + constructor(public payload: string) {} // Payload = paymentHash + } export class SetLookup implements Action { + readonly type = SET_LOOKUP_ECL; - constructor(public payload: any) {} // payload = lookup Response (Peer) + constructor(public payload: any) {} // Payload = lookup Response (Peer) + } -export type ECLActions = ResetECLStore | ClearEffectError | EffectError | SetChildNodeSettings | +export type ECLActions = ResetECLStore | UpdateAPICallStatus | SetChildNodeSettings | FetchInfo | SetInfo | FetchFees | SetFees | FetchChannels | SetActiveChannels | SetPendingChannels | SetInactiveChannels | FetchPeers | SetPeers | AddPeer | DisconnectPeer | SaveNewPeer | RemovePeer | NewlyAddedPeer | SetChannelsStatus | FetchChannelStats | SetChannelStats | FetchOnchainBalance | SetOnchainBalance | GetNewAddress | SetNewAddress | SendOnchainFunds | SendOnchainFundsRes | FetchTransactions | SetTransactions | - SetLightningBalance | FetchPeers | SetPeers | PeerLookup | SetLookup | + SetLightningBalance | FetchPeers | SetPeers | PeerLookup | InvoiceLookup | SetLookup | SaveNewChannel | UpdateChannels | CloseChannel | RemoveChannel | FetchPayments | SetPayments | SendPayment | SendPaymentStatus | FetchInvoices | SetInvoices | CreateInvoice | AddInvoice; diff --git a/src/app/eclair/store/ecl.effects.ts b/src/app/eclair/store/ecl.effects.ts index 750c9a4f..fc102cc3 100644 --- a/src/app/eclair/store/ecl.effects.ts +++ b/src/app/eclair/store/ecl.effects.ts @@ -13,6 +13,7 @@ import { SessionService } from '../../shared/services/session.service'; import { CommonService } from '../../shared/services/common.service'; import { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component'; import { GetInfo, Channel, OnChainBalance, LightningBalance, ChannelsStatus, ChannelStats, Peer, Audit, Transaction, Invoice } from '../../shared/models/eclModels'; +import { APICallStatusEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; import { ECLInvoiceInformationComponent } from '../transactions/invoice-information-modal/invoice-information.component'; import * as fromRTLReducer from '../../store/rtl.reducers'; @@ -22,257 +23,272 @@ import * as RTLActions from '../../store/rtl.actions'; @Injectable() export class ECLEffects implements OnDestroy { + CHILD_API_URL = API_URL + '/ecl'; + private flgInitialized = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor( - private actions$: Actions, + private actions: Actions, private httpClient: HttpClient, private store: Store, private sessionService: SessionService, - private logger: LoggerService, private commonService: CommonService, + private logger: LoggerService, private router: Router, - private location: Location) { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if(rtlStore.initialAPIResponseStatus[0] === 'INCOMPLETE' && rtlStore.initialAPIResponseStatus.length > 5) { // Num of Initial APIs + 1 - rtlStore.initialAPIResponseStatus[0] = 'COMPLETE'; - this.store.dispatch(new RTLActions.CloseSpinner()); + private location: Location + ) { + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if ( + ((rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchOnchainBalance.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchOnchainBalance.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR)) && + !this.flgInitialized + ) { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); + this.flgInitialized = true; } }); - } + } - infoFetchECL = createEffect(() => - this.actions$.pipe( + infoFetchECL = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_INFO_ECL), - withLatestFrom(this.store.select('root')), - mergeMap(([action, store]: [ECLActions.FetchInfo, fromRTLReducer.RootState]) => { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Node Information...')); - this.store.dispatch(new ECLActions.ClearEffectError('FetchInfo')); - return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API) - .pipe( - takeUntil(this.actions$.pipe(ofType(RTLActions.SET_SELECTED_NODE))), + mergeMap((action: ECLActions.FetchInfo) => { + this.flgInitialized = false; + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_NODE_INFO)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API). + pipe( + takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))), map((info) => { this.logger.info(info); - this.store.dispatch(new RTLActions.CloseSpinner()); this.initializeRemainingData(info, action.payload.loadPage); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_NODE_INFO)); return { type: ECLActions.SET_INFO_ECL, payload: info ? info : {} }; }), catchError((err) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - const code = (err.error && err.error.error && err.error.error.message && err.error.error.message.code) ? err.error.error.message.code : (err.error && err.error.error && err.error.error.code) ? err.error.error.code : err.status ? err.status : ''; - const message = ((err.error && err.error.message) ? err.error.message + ' ' : '') + ((err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error && err.error.error && err.error.error.errno && typeof err.error.error.errno === 'string') ? err.error.error.errno : (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : (err.error && typeof err.error === 'string') ? err.error : 'Unknown Error'); - this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: message }}); - this.handleErrorWithoutAlert('FetchInfo', 'Fetching Node Info Failed.', err); - return of({type: RTLActions.VOID}); + const code = this.commonService.extractErrorCode(err); + const msg = (code === 503) ? 'Unable to Connect to Eclair Server.' : this.commonService.extractErrorMessage(err); + this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } }); + this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg }); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - fetchFees = createEffect(() => - this.actions$.pipe( + fetchFees = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_FEES_ECL), mergeMap((action: ECLActions.FetchFees) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchFees')); - return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/fees') - .pipe(map((fees: any) => { - this.logger.info(fees); - return { - type: ECLActions.SET_FEES_ECL, - payload: fees ? fees : {} - }; - }, - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchFees', 'Fetching Fees Failed.', err); - return of({type: RTLActions.VOID}); - }) - )); - })) - ); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/fees'). + pipe( + map((fees: any) => { + this.logger.info(fees); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.COMPLETED })); + return { + type: ECLActions.SET_FEES_ECL, + payload: fees ? fees : {} + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - fetchPayments = createEffect(() => - this.actions$.pipe( + fetchPayments = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_PAYMENTS_ECL), mergeMap((action: ECLActions.FetchPayments) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchPayments')); - return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/payments') - .pipe(map((payments: any) => { - this.logger.info(payments); - return { - type: ECLActions.SET_PAYMENTS_ECL, - payload: payments ? payments : {} - }; - }, - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPayments', 'Fetching Payments Failed.', err); - return of({type: RTLActions.VOID}); - }) - )); - })) - ); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/payments'). + pipe( + map((payments: any) => { + this.logger.info(payments); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.COMPLETED })); + return { + type: ECLActions.SET_PAYMENTS_ECL, + payload: payments ? payments : {} + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - channelsFetch = createEffect(() => - this.actions$.pipe( + channelsFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_CHANNELS_ECL), mergeMap((action: ECLActions.FetchChannels) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchChannels')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API) - .pipe(map((channelsRes: {activeChannels: Channel[], pendingChannels: Channel[], inactiveChannels: Channel[], lightningBalances: LightningBalance, channelStatus: ChannelsStatus}) => { - this.logger.info(channelsRes); - this.store.dispatch(new ECLActions.SetActiveChannels((channelsRes && channelsRes.activeChannels.length > 0) ? channelsRes.activeChannels : [])); - this.store.dispatch(new ECLActions.SetPendingChannels((channelsRes && channelsRes.pendingChannels.length > 0) ? channelsRes.pendingChannels : [])); - this.store.dispatch(new ECLActions.SetInactiveChannels((channelsRes && channelsRes.inactiveChannels.length > 0) ? channelsRes.inactiveChannels : [])); - this.store.dispatch(new ECLActions.SetLightningBalance(channelsRes.lightningBalances)); - if (action.payload && action.payload.fetchPayments) { - this.store.dispatch(new ECLActions.FetchPayments()); - } - return { - type: ECLActions.SET_CHANNELS_STATUS_ECL, - payload: channelsRes.channelStatus - }; - }, - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannels', 'Fetching Channels Failed.', err); - return of({type: RTLActions.VOID}); - }) - )); - })) - ); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API). + pipe( + map((channelsRes: { activeChannels: Channel[], pendingChannels: Channel[], inactiveChannels: Channel[], lightningBalances: LightningBalance, channelStatus: ChannelsStatus }) => { + this.logger.info(channelsRes); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchChannels', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new ECLActions.SetActiveChannels((channelsRes && channelsRes.activeChannels.length > 0) ? channelsRes.activeChannels : [])); + this.store.dispatch(new ECLActions.SetPendingChannels((channelsRes && channelsRes.pendingChannels.length > 0) ? channelsRes.pendingChannels : [])); + this.store.dispatch(new ECLActions.SetInactiveChannels((channelsRes && channelsRes.inactiveChannels.length > 0) ? channelsRes.inactiveChannels : [])); + this.store.dispatch(new ECLActions.SetLightningBalance(channelsRes.lightningBalances)); + if (action.payload && action.payload.fetchPayments) { + this.store.dispatch(new ECLActions.FetchPayments()); + } + return { + type: ECLActions.SET_CHANNELS_STATUS_ECL, + payload: channelsRes.channelStatus + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Channels Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - channelStatsFetch = createEffect(() => - this.actions$.pipe( + channelStatsFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_CHANNEL_STATS_ECL), mergeMap((action: ECLActions.FetchChannelStats) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchChannelStats')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/stats') - .pipe(map((channelStats: ChannelStats[]) => { - this.logger.info(channelStats); - return { - type: ECLActions.SET_CHANNEL_STATS_ECL, - payload: (channelStats && channelStats.length > 0) ? channelStats : [] - }; - }, - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannelStats', 'Fetching Channel Stats Failed.', err); - return of({type: RTLActions.VOID}); - }) - )); - })) - ); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchChannelStats', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/stats'). + pipe( + map((channelStats: ChannelStats[]) => { + this.logger.info(channelStats); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchChannelStats', status: APICallStatusEnum.COMPLETED })); + return { + type: ECLActions.SET_CHANNEL_STATS_ECL, + payload: (channelStats && channelStats.length > 0) ? channelStats : [] + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchChannelStats', UI_MESSAGES.NO_SPINNER, 'Fetching Channel Stats Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - fetchOnchainBalance = createEffect(() => - this.actions$.pipe( + fetchOnchainBalance = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_ONCHAIN_BALANCE_ECL), mergeMap((action: ECLActions.FetchOnchainBalance) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchOnchainBalance')); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchOnchainBalance', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/balance'); }), map((balance) => { this.logger.info(balance); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchOnchainBalance', status: APICallStatusEnum.COMPLETED })); return { type: ECLActions.SET_ONCHAIN_BALANCE_ECL, payload: balance ? balance : {} }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchOnchainBalance', 'Fetching Onchain Balances Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchOnchainBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Onchain Balances Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - peersFetch = createEffect(() => - this.actions$.pipe( + peersFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_PEERS_ECL), mergeMap((action: ECLActions.FetchPeers) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchPeers')); - return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API) - .pipe( + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API). + pipe( map((peers: Peer[]) => { this.logger.info(peers); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.COMPLETED })); return { - type: ECLActions.SET_PEERS_ECL , + type: ECLActions.SET_PEERS_ECL, payload: peers && peers.length ? peers : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPeers', 'Fetching Peers Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - getNewAddress = createEffect(() => - this.actions$.pipe( + getNewAddress = createEffect(() => this.actions.pipe( ofType(ECLActions.GET_NEW_ADDRESS_ECL), mergeMap((action: ECLActions.GetNewAddress) => { - return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API) - .pipe(map((newAddress: any) => { - this.logger.info(newAddress); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: ECLActions.SET_NEW_ADDRESS_ECL, - payload: newAddress - }; - }), - catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API). + pipe( + map((newAddress: any) => { + this.logger.info(newAddress); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return { + type: ECLActions.SET_NEW_ADDRESS_ECL, + payload: newAddress + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('GetNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - setNewAddress = createEffect(() => - this.actions$.pipe( - ofType(ECLActions.SET_NEW_ADDRESS_ECL), - map((action: ECLActions.SetNewAddress) => { - this.logger.info(action.payload); - return action.payload; - })), + setNewAddress = createEffect( + () => this.actions.pipe( + ofType(ECLActions.SET_NEW_ADDRESS_ECL), + map((action: ECLActions.SetNewAddress) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - saveNewPeer = createEffect(() => - this.actions$.pipe( + saveNewPeer = createEffect(() => this.actions.pipe( ofType(ECLActions.SAVE_NEW_PEER_ECL), withLatestFrom(this.store.select('ecl')), mergeMap(([action, eclData]: [ECLActions.SaveNewPeer, fromECLReducer.ECLState]) => { - this.store.dispatch(new ECLActions.ClearEffectError('SaveNewPeer')); - return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API + ((action.payload.id.includes('@') ? '?uri=' : '?nodeId=') + action.payload.id), {}) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.CONNECT_PEER)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API + ((action.payload.id.includes('@') ? '?uri=' : '?nodeId=') + action.payload.id), {}). + pipe( map((postRes: Peer[]) => { this.logger.info(postRes); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED })); postRes = (postRes && postRes.length) ? postRes : []; - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.CONNECT_PEER)); this.store.dispatch(new ECLActions.SetPeers(postRes)); return { type: ECLActions.NEWLY_ADDED_PEER_ECL, - payload: { peer: postRes.find(peer => peer.nodeId === (action.payload.id.includes('@') ? action.payload.id.substring(0, action.payload.id.indexOf('@')) : action.payload.id)) } + payload: { peer: postRes.find((peer) => peer.nodeId === (action.payload.id.includes('@') ? action.payload.id.substring(0, action.payload.id.indexOf('@')) : action.payload.id)) } }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewPeer', 'Peer Connection Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - detachPeer = createEffect(() => - this.actions$.pipe( + detachPeer = createEffect(() => this.actions.pipe( ofType(ECLActions.DETACH_PEER_ECL), mergeMap((action: ECLActions.DisconnectPeer) => { - return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DISCONNECT_PEER)); + return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DISCONNECT_PEER)); this.store.dispatch(new RTLActions.OpenSnackBar('Disconnecting Peer!')); return { type: ECLActions.REMOVE_PEER_ECL, @@ -280,28 +296,29 @@ export class ECLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId, err); - return of({type: RTLActions.VOID}); + this.handleErrorWithAlert('DisconnectPeer', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId, err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - openNewChannel = createEffect(() => - this.actions$.pipe( + openNewChannel = createEffect(() => this.actions.pipe( ofType(ECLActions.SAVE_NEW_CHANNEL_ECL), mergeMap((action: ECLActions.SaveNewChannel) => { - this.store.dispatch(new ECLActions.ClearEffectError('SaveNewChannel')); - const reqBody = action.payload.feeRate && action.payload.feeRate > 0 ? - { nodeId: action.payload.nodeId, fundingSatoshis: action.payload.amount, channelFlags: +!action.payload.private, fundingFeerateSatByte: action.payload.feeRate } - : { nodeId: action.payload.nodeId, fundingSatoshis: action.payload.amount, channelFlags: +!action.payload.private} - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, reqBody) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.OPEN_CHANNEL)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED })); + const reqBody = action.payload.feeRate && action.payload.feeRate > 0 ? + { nodeId: action.payload.nodeId, fundingSatoshis: action.payload.amount, channelFlags: +!action.payload.private, fundingFeerateSatByte: action.payload.feeRate } : + { nodeId: action.payload.nodeId, fundingSatoshis: action.payload.amount, channelFlags: +!action.payload.private }; + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, reqBody). + pipe( map((postRes: any) => { this.logger.info(postRes); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED })); this.store.dispatch(new ECLActions.FetchPeers()); this.store.dispatch(new ECLActions.FetchOnchainBalance()); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.OPEN_CHANNEL)); this.store.dispatch(new RTLActions.OpenSnackBar('Channel Added Successfully!')); return { type: ECLActions.FETCH_CHANNELS_ECL, @@ -309,29 +326,29 @@ export class ECLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewChannel', 'Opening Channel Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - updateChannel = createEffect(() => - this.actions$.pipe( + updateChannel = createEffect(() => this.actions.pipe( ofType(ECLActions.UPDATE_CHANNELS_ECL), mergeMap((action: ECLActions.UpdateChannels) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); let queryParam = '?feeBaseMsat=' + action.payload.baseFeeMsat + '&feeProportionalMillionths=' + action.payload.feeRate; if (action.payload.channelIds) { queryParam = queryParam + '&channelIds=' + action.payload.channelIds; } else { - queryParam = queryParam + '&channelId=' + action.payload.channelId; + queryParam = queryParam + '&channelId=' + action.payload.channelId; } - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/updateRelayFee' + queryParam, {}) - .pipe( + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/updateRelayFee' + queryParam, {}). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - if(action.payload.channelIds) { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); + if (action.payload.channelIds) { this.store.dispatch(new RTLActions.OpenSnackBar('Channels Updated Successfully.')); } else { this.store.dispatch(new RTLActions.OpenSnackBar('Channel Updated Successfully!')); @@ -342,24 +359,24 @@ export class ECLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err); - return of({type: RTLActions.VOID}); + this.handleErrorWithAlert('UpdateChannels', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - closeChannel = createEffect(() => - this.actions$.pipe( + closeChannel = createEffect(() => this.actions.pipe( ofType(ECLActions.CLOSE_CHANNEL_ECL), mergeMap((action: ECLActions.CloseChannel) => { - return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '?channelId=' + action.payload.channelId + '&force=' + action.payload.force) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); + return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '?channelId=' + action.payload.channelId + '&force=' + action.payload.force). + pipe( map((postRes: any) => { this.logger.info(postRes); setTimeout(() => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new ECLActions.FetchChannels({fetchPayments: false})); + this.store.dispatch(new RTLActions.CloseSpinner((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); + this.store.dispatch(new ECLActions.FetchChannels({ fetchPayments: false })); this.store.dispatch(new RTLActions.OpenSnackBar(action.payload.force ? 'Channel Force Closed Successfully!' : 'Channel Closed Successfully!')); }, 2000); return { @@ -367,209 +384,230 @@ export class ECLEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err); - return of({type: RTLActions.VOID}); + this.handleErrorWithAlert('CloseChannel', ((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err); + return of({ type: RTLActions.VOID }); }) ); - })) - ); + }) + )); - queryRoutesFetch = createEffect(() => - this.actions$.pipe( + queryRoutesFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.GET_QUERY_ROUTES_ECL), - mergeMap((action: ECLActions.GetQueryRoutes) => { - return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount) - .pipe( - map((qrRes: any) => { - this.logger.info(qrRes); - return { - type: ECLActions.SET_QUERY_ROUTES_ECL, - payload: qrRes - }; - }), - catchError((err: any) => { - this.store.dispatch(new ECLActions.SetQueryRoutes([])); - this.handleErrorWithAlert('ERROR', 'Get Query Routes Failed', this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + mergeMap((action: ECLActions.GetQueryRoutes) => this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount). + pipe( + map((qrRes: any) => { + this.logger.info(qrRes); + return { + type: ECLActions.SET_QUERY_ROUTES_ECL, + payload: qrRes + }; + }), + catchError((err: any) => { + this.store.dispatch(new ECLActions.SetQueryRoutes([])); + this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount, err); + return of({ type: RTLActions.VOID }); + }) + )) + )); - setQueryRoutes = createEffect(() => - this.actions$.pipe( - ofType(ECLActions.SET_QUERY_ROUTES_ECL), - map((action: ECLActions.SetQueryRoutes) => { - return action.payload; - })), + setQueryRoutes = createEffect( + () => this.actions.pipe( + ofType(ECLActions.SET_QUERY_ROUTES_ECL), + map((action: ECLActions.SetQueryRoutes) => action.payload)), { dispatch: false } ); - sendPayment = createEffect(() => - this.actions$.pipe( + sendPayment = createEffect(() => this.actions.pipe( ofType(ECLActions.SEND_PAYMENT_ECL), withLatestFrom(this.store.select('root')), mergeMap(([action, store]: [ECLActions.SendPayment, any]) => { - this.store.dispatch(new ECLActions.ClearEffectError('SendPayment')); - return this.httpClient.post(this.CHILD_API_URL + environment.PAYMENTS_API, action.payload) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEND_PAYMENT)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.PAYMENTS_API, action.payload). + pipe( map((sendRes: any) => { this.logger.info(sendRes); - if (sendRes.error) { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.error('Error: ' + sendRes.payment_error); - const myErr = {status: sendRes.payment_error.status, error: sendRes.payment_error.error && sendRes.payment_error.error.error && typeof(sendRes.payment_error.error.error) === 'object' ? sendRes.payment_error.error.error : {error: sendRes.payment_error.error && sendRes.payment_error.error.error ? sendRes.payment_error.error.error : 'Unknown Error'}}; - if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); - } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, myErr); - } - return {type: RTLActions.VOID}; - } else { - setTimeout(() => { - this.store.dispatch(new ECLActions.SendPaymentStatus(sendRes)); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new ECLActions.FetchChannels({fetchPayments: true})); - this.store.dispatch(new ECLActions.FetchPayments()); - this.store.dispatch(new RTLActions.OpenSnackBar('Payment Submitted!')); - }, 3000); - return { type: RTLActions.VOID }; - } + setTimeout(() => { + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new ECLActions.SendPaymentStatus(sendRes)); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEND_PAYMENT)); + this.store.dispatch(new ECLActions.FetchChannels({ fetchPayments: true })); + this.store.dispatch(new ECLActions.FetchPayments()); + this.store.dispatch(new RTLActions.OpenSnackBar('Payment Submitted!')); + }, 3000); + return { type: RTLActions.VOID }; }), catchError((err: any) => { this.logger.error('Error: ' + JSON.stringify(err)); - const myErr = {status: err.status, error: err.error && err.error.error && typeof(err.error.error) === 'object' ? err.error.error : {error: err.error && err.error.error ? err.error.error : 'Unknown Error'}}; if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); + this.handleErrorWithoutAlert('SendPayment', UI_MESSAGES.SEND_PAYMENT, 'Send Payment Failed.', err); } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, myErr); + this.handleErrorWithAlert('SendPayment', UI_MESSAGES.SEND_PAYMENT, 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, err); } - return of({type: RTLActions.VOID}); - })); - })) - ); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - transactionsFetch = createEffect(() => - this.actions$.pipe( + transactionsFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_TRANSACTIONS_ECL), mergeMap((action: ECLActions.FetchTransactions) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchTransactions')); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchTransactions', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/transactions?count=1000&skip=0'); }), map((transactions) => { this.logger.info(transactions); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchTransactions', status: APICallStatusEnum.COMPLETED })); return { type: ECLActions.SET_TRANSACTIONS_ECL, payload: (transactions && transactions.length > 0) ? transactions : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchTransactions', 'Fetching Transactions Failed.', err); - return of({type: RTLActions.VOID}); - })) - ); + this.handleErrorWithoutAlert('FetchTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching Transactions Failed.', err); + return of({ type: RTLActions.VOID }); + }) + )); - SendOnchainFunds = createEffect(() => - this.actions$.pipe( + SendOnchainFunds = createEffect(() => this.actions.pipe( ofType(ECLActions.SEND_ONCHAIN_FUNDS_ECL), mergeMap((action: ECLActions.SendOnchainFunds) => { - this.store.dispatch(new ECLActions.ClearEffectError('SendOnchainFunds')); - return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload) - .pipe(map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new ECLActions.FetchOnchainBalance()); - return { - type: ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL, - payload: postRes - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('SendOnchainFunds', 'Sending Fund Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SendOnchainFunds', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload). + pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'SendOnchainFunds', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new ECLActions.FetchOnchainBalance()); + return { + type: ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL, + payload: postRes + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('SendOnchainFunds', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - createInvoice = createEffect(() => - this.actions$.pipe( + createInvoice = createEffect(() => this.actions.pipe( ofType(ECLActions.CREATE_INVOICE_ECL), mergeMap((action: ECLActions.CreateInvoice) => { - this.store.dispatch(new ECLActions.ClearEffectError('CreateInvoice')); - return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, action.payload) - .pipe(map((postRes: Invoice) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.CREATE_INVOICE)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'CreateInvoice', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, action.payload). + pipe( + map((postRes: Invoice) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'CreateInvoice', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.CREATE_INVOICE)); postRes.timestamp = new Date().getTime() / 1000; postRes.expiresAt = Math.round(postRes.timestamp + action.payload.expireIn); postRes.description = action.payload.description; postRes.status = 'unpaid'; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { invoice: postRes, newlyAdded: false, component: ECLInvoiceInformationComponent - }})); + } + })); return { type: ECLActions.ADD_INVOICE_ECL, payload: postRes }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('CreateInvoice', 'Create Invoice Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithoutAlert('CreateInvoice', UI_MESSAGES.CREATE_INVOICE, 'Create Invoice Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - invoicesFetch = createEffect(() => - this.actions$.pipe( + invoicesFetch = createEffect(() => this.actions.pipe( ofType(ECLActions.FETCH_INVOICES_ECL), mergeMap((action: ECLActions.FetchInvoices) => { - this.store.dispatch(new ECLActions.ClearEffectError('FetchInvoices')); - return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API) - .pipe(map((res: Invoice[]) => { - this.logger.info(res); - return { - type: ECLActions.SET_INVOICES_ECL, - payload: res - }; - }), + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API). + pipe( + map((res: Invoice[]) => { + this.logger.info(res); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED })); + return { + type: ECLActions.SET_INVOICES_ECL, + payload: res + }; + }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchInvoices', 'Fetching Invoices Failed.', err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - peerLookup = createEffect(() => - this.actions$.pipe( + peerLookup = createEffect(() => this.actions.pipe( ofType(ECLActions.PEER_LOOKUP_ECL), mergeMap((action: ECLActions.PeerLookup) => { - this.store.dispatch(new ECLActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_NODE)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload). + pipe( map((resPeer) => { this.logger.info(resPeer); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_NODE)); return { type: ECLActions.SET_LOOKUP_ECL, payload: resPeer }; }), catchError((err: any) => { - this.store.dispatch(new ECLActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload, err); - return of({type: RTLActions.VOID}); - })); - })) - ); + this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload, err); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); - setLookup = createEffect(() => - this.actions$.pipe( - ofType(ECLActions.SET_LOOKUP_ECL), - map((action: ECLActions.SetLookup) => { - this.logger.info(action.payload); - return action.payload; - })), + invoiceLookup = createEffect(() => this.actions.pipe( + ofType(ECLActions.INVOICE_LOOKUP_ECL), + mergeMap((action: ECLActions.InvoiceLookup) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_INVOICE)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '/' + action.payload). + pipe( + map((resInvoice) => { + this.logger.info(resInvoice); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_INVOICE)); + return { + type: ECLActions.SET_LOOKUP_ECL, + payload: resInvoice + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err); + this.store.dispatch(new RTLActions.OpenSnackBar({ message: 'Invoice Refresh Failed.', type: 'ERROR' })); + return of({ type: RTLActions.VOID }); + }) + ); + }) + )); + + setLookup = createEffect( + () => this.actions.pipe( + ofType(ECLActions.SET_LOOKUP_ECL), + map((action: ECLActions.SetLookup) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); @@ -580,21 +618,19 @@ export class ECLEffects implements OnDestroy { alias: info.alias, testnet: info.network === 'testnet', chains: info.publicAddresses, - uris: info.uris, + uris: info.uris, version: info.version, - currency_unit: 'BTC', - smaller_currency_unit: 'Sats', numberOfPendingChannels: 0 }; - this.store.dispatch(new RTLActions.OpenSpinner('Initializing Node Data...')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); this.store.dispatch(new RTLActions.SetNodeData(node_data)); this.store.dispatch(new ECLActions.FetchInvoices()); - this.store.dispatch(new ECLActions.FetchChannels({fetchPayments: true})); + this.store.dispatch(new ECLActions.FetchChannels({ fetchPayments: true })); this.store.dispatch(new ECLActions.FetchFees()); this.store.dispatch(new ECLActions.FetchOnchainBalance()); this.store.dispatch(new ECLActions.FetchPeers()); let newRoute = this.location.path(); - if(newRoute.includes('/lnd/')) { + if (newRoute.includes('/lnd/')) { newRoute = newRoute.replace('/lnd/', '/ecl/'); } else if (newRoute.includes('/cl/')) { newRoute = newRoute.replace('/cl/', '/ecl/'); @@ -604,8 +640,8 @@ export class ECLEffects implements OnDestroy { } this.router.navigate([newRoute]); } - - handleErrorWithoutAlert(actionName: string, genericErrorMessage: string, err: { status: number, error: any }) { + + handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) { this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -613,12 +649,12 @@ export class ECLEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new ECLActions.EffectError({ action: actionName, code: err.status.toString(), message: (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : genericErrorMessage })); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.commonService.extractErrorMessage(err, genericErrorMessage) })); } } - handleErrorWithAlert(alerType: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { + handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { this.logger.error(err); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -626,20 +662,22 @@ export class ECLEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.commonService.extractErrorMessage(err); this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: alerType, + type: 'ERROR', alertTitle: alertTitle, - message: { code: err.status, message: (err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : (err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : typeof err.error === 'string' ? err.error : 'Unknown Error', URL: errURL }, - component: ErrorMessageComponent + message: { code: err.status, message: errMsg, URL: errURL }, + component: ErrorMessageComponent } })); + this.store.dispatch(new ECLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL })); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/store/ecl.reducers.ts b/src/app/eclair/store/ecl.reducers.ts index 46dec13a..6b71b5ad 100644 --- a/src/app/eclair/store/ecl.reducers.ts +++ b/src/app/eclair/store/ecl.reducers.ts @@ -1,12 +1,11 @@ import { SelNodeChild } from '../../shared/models/RTLconfig'; import { GetInfo, Channel, ChannelStats, Fees, OnChainBalance, LightningBalance, Peer, ChannelsStatus, Payments, Transaction, Invoice } from '../../shared/models/eclModels'; -import { ErrorPayload } from '../../shared/models/errorPayload'; -import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../shared/models/apiCallsPayload'; +import { APICallStatusEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; import * as ECLActions from './ecl.actions'; export interface ECLState { - initialAPIResponseStatus: String[]; - effectErrors: ErrorPayload[]; + apisCallStatus: ApiCallsListECL; nodeSettings: SelNodeChild; information: GetInfo; fees: Fees; @@ -24,8 +23,16 @@ export interface ECLState { } export const initECLState: ECLState = { - initialAPIResponseStatus: ['INCOMPLETE'], //[0] for All Data Status - effectErrors: [], + apisCallStatus: { + FetchInfo: { status: APICallStatusEnum.UN_INITIATED }, + FetchFees: { status: APICallStatusEnum.UN_INITIATED }, + FetchChannels: { status: APICallStatusEnum.UN_INITIATED }, + FetchOnchainBalance: { status: APICallStatusEnum.UN_INITIATED }, + FetchPeers: { status: APICallStatusEnum.UN_INITIATED }, + FetchPayments: { status: APICallStatusEnum.UN_INITIATED }, + FetchInvoices: { status: APICallStatusEnum.UN_INITIATED }, + FetchTransactions: { status: APICallStatusEnum.UN_INITIATED } + }, nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, selCurrencyUnit: 'USD', fiatConversion: false, channelBackupPath: '', currencyUnits: [] }, information: {}, fees: {}, @@ -35,43 +42,37 @@ export const initECLState: ECLState = { channelsStatus: {}, channelStats: [], onchainBalance: { total: 0, confirmed: 0, unconfirmed: 0 }, - lightningBalance: { localBalance: -1, remoteBalance: -1 }, + lightningBalance: { localBalance: -1, remoteBalance: -1 }, peers: [], payments: {}, transactions: [], invoices: [] -} +}; export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) { - let newAPIStatus = state.initialAPIResponseStatus; - switch (action.type) { - case ECLActions.CLEAR_EFFECT_ERROR_ECL: - const clearedEffectErrors = [...state.effectErrors]; - const removeEffectIdx = state.effectErrors.findIndex(err => { - return err.action === action.payload; - }); - if (removeEffectIdx > -1) { - clearedEffectErrors.splice(removeEffectIdx, 1); - } - return { - ...state, - effectErrors: clearedEffectErrors + case ECLActions.UPDATE_API_CALL_STATUS_ECL: + const updatedApisCallStatus = state.apisCallStatus; + updatedApisCallStatus[action.payload.action] = { + status: action.payload.status, + statusCode: action.payload.statusCode, + message: action.payload.message, + URL: action.payload.URL, + filePath: action.payload.filePath }; - case ECLActions.EFFECT_ERROR_ECL: return { ...state, - effectErrors: [...state.effectErrors, action.payload] + apisCallStatus: updatedApisCallStatus }; case ECLActions.SET_CHILD_NODE_SETTINGS_ECL: return { ...state, nodeSettings: action.payload - } + }; case ECLActions.RESET_ECL_STORE: return { ...initECLState, - nodeSettings: action.payload, + nodeSettings: action.payload }; case ECLActions.SET_INFO_ECL: return { @@ -79,44 +80,38 @@ export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) information: action.payload }; case ECLActions.SET_FEES_ECL: - newAPIStatus = [...state.initialAPIResponseStatus, 'FEES']; return { ...state, - initialAPIResponseStatus: newAPIStatus, fees: action.payload }; case ECLActions.SET_ACTIVE_CHANNELS_ECL: return { ...state, - activeChannels: action.payload, + activeChannels: action.payload }; case ECLActions.SET_PENDING_CHANNELS_ECL: return { ...state, - pendingChannels: action.payload, + pendingChannels: action.payload }; case ECLActions.SET_INACTIVE_CHANNELS_ECL: return { ...state, - inactiveChannels: action.payload, + inactiveChannels: action.payload }; case ECLActions.SET_CHANNELS_STATUS_ECL: - newAPIStatus = [...state.initialAPIResponseStatus, 'CHANNELS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, - channelsStatus: action.payload, + channelsStatus: action.payload }; case ECLActions.SET_CHANNEL_STATS_ECL: return { ...state, - channelStats: action.payload, + channelStats: action.payload }; case ECLActions.SET_ONCHAIN_BALANCE_ECL: - newAPIStatus = [...state.initialAPIResponseStatus, 'ONCHAINBALANCE']; return { ...state, - initialAPIResponseStatus: newAPIStatus, onchainBalance: action.payload }; case ECLActions.SET_LIGHTNING_BALANCE_ECL: @@ -125,17 +120,13 @@ export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) lightningBalance: action.payload }; case ECLActions.SET_PEERS_ECL: - newAPIStatus = [...state.initialAPIResponseStatus, 'PEERS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, peers: action.payload }; case ECLActions.REMOVE_PEER_ECL: const modifiedPeers = [...state.peers]; - const removePeerIdx = state.peers.findIndex(peer => { - return peer.nodeId === action.payload.nodeId; - }); + const removePeerIdx = state.peers.findIndex((peer) => peer.nodeId === action.payload.nodeId); if (removePeerIdx > -1) { modifiedPeers.splice(removePeerIdx, 1); } @@ -145,9 +136,7 @@ export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) }; case ECLActions.REMOVE_CHANNEL_ECL: const modifiedChannels = [...state.activeChannels]; - const removeChannelIdx = state.activeChannels.findIndex(channel => { - return channel.channelId === action.payload.channelId; - }); + const removeChannelIdx = state.activeChannels.findIndex((channel) => channel.channelId === action.payload.channelId); if (removeChannelIdx > -1) { modifiedChannels.splice(removeChannelIdx, 1); } @@ -158,42 +147,44 @@ export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) case ECLActions.SET_PAYMENTS_ECL: if (action.payload && action.payload.relayed) { const storedChannels = [...state.activeChannels, ...state.pendingChannels, ...state.inactiveChannels]; - action.payload.relayed.forEach(event => { + action.payload.relayed.forEach((rlEvent) => { if (storedChannels && storedChannels.length > 0) { for (let idx = 0; idx < storedChannels.length; idx++) { - if (storedChannels[idx].channelId.toString() === event.fromChannelId) { - event.fromChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : event.fromChannelId; - event.fromShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : ''; - if (event.toChannelAlias) { return; } + if (storedChannels[idx].channelId.toString() === rlEvent.fromChannelId) { + rlEvent.fromChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : rlEvent.fromChannelId; + rlEvent.fromShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : ''; + if (rlEvent.toChannelAlias) { + return; + } } - if (storedChannels[idx].channelId.toString() === event.toChannelId) { - event.toChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : event.toChannelId; - event.toShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : ''; - if (event.fromChannelAlias) { return; } + if (storedChannels[idx].channelId.toString() === rlEvent.toChannelId) { + rlEvent.toChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : rlEvent.toChannelId; + rlEvent.toShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : ''; + if (rlEvent.fromChannelAlias) { + return; + } } - if (idx === storedChannels.length-1) { - if (!event.fromChannelAlias) { - event.fromChannelAlias = event.fromChannelId.substring(0, 17) + '...'; - event.fromShortChannelId = ''; + if (idx === storedChannels.length - 1) { + if (!rlEvent.fromChannelAlias) { + rlEvent.fromChannelAlias = rlEvent.fromChannelId.substring(0, 17) + '...'; + rlEvent.fromShortChannelId = ''; } - if (!event.toChannelAlias) { - event.toChannelAlias = event.toChannelId.substring(0, 17) + '...'; - event.toShortChannelId = ''; + if (!rlEvent.toChannelAlias) { + rlEvent.toChannelAlias = rlEvent.toChannelId.substring(0, 17) + '...'; + rlEvent.toShortChannelId = ''; } } } } else { - event.fromChannelAlias = event.fromChannelId.substring(0, 17) + '...'; - event.fromShortChannelId = ''; - event.toChannelAlias = event.toChannelId.substring(0, 17) + '...'; - event.toShortChannelId = ''; + rlEvent.fromChannelAlias = rlEvent.fromChannelId.substring(0, 17) + '...'; + rlEvent.fromShortChannelId = ''; + rlEvent.toChannelAlias = rlEvent.toChannelId.substring(0, 17) + '...'; + rlEvent.toShortChannelId = ''; } }); } - newAPIStatus = [...state.initialAPIResponseStatus, 'PAYMENTS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, payments: action.payload }; case ECLActions.SET_TRANSACTIONS_ECL: @@ -216,5 +207,4 @@ export function ECLReducer(state = initECLState, action: ECLActions.ECLActions) default: return state; } - } diff --git a/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.html b/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.html index ee43eeb2..22fc34b3 100644 --- a/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.html +++ b/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.html @@ -15,7 +15,7 @@
- {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}} diff --git a/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.ts b/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.ts index b3ad26e2..58070f9e 100644 --- a/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.ts +++ b/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.ts @@ -8,13 +8,12 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { ECLInvoiceInformation } from '../../../shared/models/alertData'; -import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE } from '../../../shared/services/consts-enums-functions'; +import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo } from '../../../shared/models/eclModels'; import { CommonService } from '../../../shared/services/common.service'; import * as ECLActions from '../../store/ecl.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -23,6 +22,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./create-invoice.component.scss'] }) export class ECLCreateInvoiceComponent implements OnInit, OnDestroy { + public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; public description = ''; @@ -41,42 +41,44 @@ export class ECLCreateInvoiceComponent implements OnInit, OnDestroy { public invoiceError = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLInvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions$: Actions) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLInvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions: Actions) {} ngOnInit() { this.pageSize = this.data.pageSize; - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === ECLActions.EFFECT_ERROR_ECL || action.type === ECLActions.ADD_INVOICE_ECL)) - .subscribe((action: ECLActions.EffectError | ECLActions.AddInvoice) => { - if (action.type === ECLActions.ADD_INVOICE_ECL) { - this.dialogRef.close(); - } - if (action.type === ECLActions.EFFECT_ERROR_ECL && action.payload.action === 'CreateInvoice') { - this.invoiceError = action.payload.message; - } - }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL || action.type === ECLActions.ADD_INVOICE_ECL)). + subscribe((action: ECLActions.UpdateAPICallStatus | ECLActions.AddInvoice) => { + if (action.type === ECLActions.ADD_INVOICE_ECL) { + this.dialogRef.close(); + } + if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'CreateInvoice') { + this.invoiceError = action.payload.message; + } + }); } - onAddInvoice(form: any):boolean|void { + onAddInvoice(form: any): boolean|void { this.invoiceError = ''; - if(!this.description) { return true; } + if (!this.description) { + return true; + } let expiryInSecs = (this.expiry ? this.expiry : 3600); if (this.selTimeUnit !== TimeUnitEnum.SECS) { expiryInSecs = this.commonService.convertTime(this.expiry, this.selTimeUnit, TimeUnitEnum.SECS); } let invoicePayload = null; if (this.invoiceValue) { - invoicePayload = { description: this.description, expireIn: expiryInSecs, amountMsat: this.invoiceValue*1000 }; + invoicePayload = { description: this.description, expireIn: expiryInSecs, amountMsat: this.invoiceValue * 1000 }; } else { invoicePayload = { description: this.description, expireIn: expiryInSecs }; } - this.store.dispatch(new RTLActions.OpenSpinner('Creating Invoice...')); this.store.dispatch(new ECLActions.CreateInvoice(invoicePayload)); } @@ -84,32 +86,34 @@ export class ECLCreateInvoiceComponent implements OnInit, OnDestroy { this.description = ''; this.invoiceValue = null; this.private = false; - this.expiry = undefined; + this.expiry = null; this.invoiceValueHint = ''; this.selTimeUnit = TimeUnitEnum.SECS; this.invoiceError = ''; } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } }); } } onTimeUnitChange(event: any) { - if(this.expiry && this.selTimeUnit !== event.value) { + if (this.expiry && this.selTimeUnit !== event.value) { this.expiry = this.commonService.convertTime(this.expiry, this.selTimeUnit, event.value); } this.selTimeUnit = event.value; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.spec.ts b/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.spec.ts index 523de731..0a267b0d 100644 --- a/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.spec.ts +++ b/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ECLInvoiceInformationComponent } from './invoice-information.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { DataService } from '../../../shared/services/data.service'; describe('ECLInvoiceInformationComponent', () => { let component: ECLInvoiceInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLInvoiceInformationComponent ] - }) - .compileComponents(); + declarations: [ECLInvoiceInformationComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { invoice: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('ECLInvoiceInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.ts b/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.ts index 851136ad..b6aed134 100644 --- a/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.ts +++ b/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.ts @@ -15,6 +15,7 @@ import { ScreenSizeEnum } from '../../../shared/services/consts-enums-functions' styleUrls: ['./invoice-information.component.scss'] }) export class ECLInvoiceInformationComponent implements OnInit { + public faReceipt = faReceipt; public faExclamationTriangle = faExclamationTriangle; public showAdvanced = false; @@ -30,7 +31,7 @@ export class ECLInvoiceInformationComponent implements OnInit { this.invoice = this.data.invoice; this.newlyAdded = this.data.newlyAdded; this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.qrWidth = 220; } } @@ -41,10 +42,11 @@ export class ECLInvoiceInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; - } + } onCopyPayment(payload: string) { this.snackBar.open('Invoice copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/eclair/transactions/invoices/lightning-invoices.component.html b/src/app/eclair/transactions/invoices/lightning-invoices.component.html index a93e450c..fbaedf5f 100644 --- a/src/app/eclair/transactions/invoices/lightning-invoices.component.html +++ b/src/app/eclair/transactions/invoices/lightning-invoices.component.html @@ -6,7 +6,7 @@ - {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}}
@@ -27,15 +27,15 @@
-
- -
Channel ID {{rPeer.channelId}} -

No outgoing routing peer available.

+

No outgoing routing peer available.

+

Getting outgoing routing peers...

+

{{errorMessage}}

+
+ +
@@ -73,12 +73,20 @@ diff --git a/src/app/eclair/transactions/invoices/lightning-invoices.component.ts b/src/app/eclair/transactions/invoices/lightning-invoices.component.ts index 65e87c92..afeef7ac 100644 --- a/src/app/eclair/transactions/invoices/lightning-invoices.component.ts +++ b/src/app/eclair/transactions/invoices/lightning-invoices.component.ts @@ -1,16 +1,18 @@ import { Component, OnInit, OnDestroy, ViewChild, Input, AfterViewInit } from '@angular/core'; import { DecimalPipe, DatePipe } from '@angular/common'; import { Subject } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { filter, takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { Actions } from '@ngrx/effects'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo, Invoice } from '../../../shared/models/eclModels'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -28,13 +30,14 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./lightning-invoices.component.scss'], animations: [newlyAddedRowAnimation], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') }, - ] + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') } + ] }) export class ECLLightningInvoicesComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home + + @Input() calledFrom = 'transactions'; // Transactions/home @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; faHistory = faHistory; public selNode: SelNodeChild = {}; public newlyAddedInvoiceMemo = ''; @@ -47,25 +50,27 @@ export class ECLLightningInvoicesComponent implements OnInit, AfterViewInit, OnD public displayedColumns: any[] = []; public invoicePaymentReq = ''; public invoices: any; - public invoiceJSONArr: Invoice[] = []; + public invoiceJSONArr: Invoice[] = []; public information: GetInfo = {}; - public flgLoading: Array = [true]; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private datePipe: DatePipe) { + constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private datePipe: DatePipe, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'amountSettled', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amount', 'amountSettled', 'actions']; } else { @@ -75,26 +80,34 @@ export class ECLLightningInvoicesComponent implements OnInit, AfterViewInit, OnD } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInvoices') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInvoices.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchInvoices.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInvoices.message) : this.apisCallStatus.FetchInvoices.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.invoiceJSONArr = (rtlStore.invoices && rtlStore.invoices.length > 0) ? rtlStore.invoices : []; + if (this.invoiceJSONArr && this.invoiceJSONArr.length > 0 && this.sort && this.paginator) { + this.loadInvoicesTable(this.invoiceJSONArr); + } + setTimeout(() => { + this.flgAnimate = false; + }, 5000); + this.logger.info(rtlStore); + }); + this.actions.pipe(takeUntil(this.unSubs[1]), filter((action) => (action.type === ECLActions.SET_LOOKUP_ECL || action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL))). + subscribe((resLookup: ECLActions.SetLookup | ECLActions.UpdateAPICallStatus) => { + if (resLookup.type === ECLActions.SET_LOOKUP_ECL) { + if (this.invoiceJSONArr.length > 0 && this.sort && this.paginator && resLookup.payload) { + this.updateInvoicesData(JSON.parse(JSON.stringify(resLookup.payload))); + this.loadInvoicesTable(this.invoiceJSONArr); + } } }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.invoiceJSONArr = (rtlStore.invoices && rtlStore.invoices.length > 0) ? rtlStore.invoices : []; - if (this.invoiceJSONArr && this.invoiceJSONArr.length > 0 && this.sort && this.paginator) { - this.loadInvoicesTable(this.invoiceJSONArr); - } - setTimeout(() => { this.flgAnimate = false; }, 5000); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.invoices) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -104,44 +117,53 @@ export class ECLLightningInvoicesComponent implements OnInit, AfterViewInit, OnD } openCreateInvoiceModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { pageSize: this.pageSize, component: ECLCreateInvoiceComponent - }})); + } })); } - onAddInvoice(form: any):boolean|void { - if(!this.description) { return true; } - let expiryInSecs = (this.expiry ? this.expiry : 3600); + onAddInvoice(form: any): boolean|void { + if (!this.description) { + return true; + } + const expiryInSecs = (this.expiry ? this.expiry : 3600); this.flgAnimate = true; this.newlyAddedInvoiceMemo = 'ulbl' + Math.random().toString(36).slice(2) + Date.now(); this.newlyAddedInvoiceValue = this.invoiceValue; let invoicePayload = null; if (this.invoiceValue) { - invoicePayload = { description: this.description, expireIn: expiryInSecs, amountMsat: this.invoiceValue*1000 }; + invoicePayload = { description: this.description, expireIn: expiryInSecs, amountMsat: this.invoiceValue * 1000 }; } else { invoicePayload = { description: this.description, expireIn: expiryInSecs }; } - this.store.dispatch(new RTLActions.OpenSpinner('Creating Invoice...')); this.store.dispatch(new ECLActions.CreateInvoice(invoicePayload)); this.resetData(); } - onInvoiceClick(selInvoice: Invoice, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - invoice: selInvoice, - newlyAdded: false, - component: ECLInvoiceInformationComponent - }})); + onInvoiceClick(selInvoice: Invoice) { + this.store.dispatch(new RTLActions.OpenAlert({ data: { + invoice: selInvoice, + newlyAdded: false, + component: ECLInvoiceInformationComponent + } })); + } + + onRefreshInvoice(selInvoice: Invoice) { + this.store.dispatch(new ECLActions.InvoiceLookup(selInvoice.paymentHash)); + } + + updateInvoicesData(newInvoice: Invoice) { + this.invoiceJSONArr = this.invoiceJSONArr.map((invoice) => ((invoice.paymentHash === newInvoice.paymentHash) ? newInvoice : invoice)); } loadInvoicesTable(invs: Invoice[]) { this.invoices = invs ? new MatTableDataSource([...invs]) : new MatTableDataSource([]); - this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.invoices.sort = this.sort; this.invoices.filterPredicate = (rowData: Invoice, fltr: string) => { - const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; this.invoices.paginator = this.paginator; } @@ -158,24 +180,26 @@ export class ECLLightningInvoicesComponent implements OnInit, AfterViewInit, OnD } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } }); } } onDownloadCSV() { - if(this.invoices.data && this.invoices.data.length > 0) { + if (this.invoices.data && this.invoices.data.length > 0) { this.commonService.downloadFile(this.invoices.data, 'Invoices'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/transactions/payment-information-modal/payment-information.component.spec.ts b/src/app/eclair/transactions/payment-information-modal/payment-information.component.spec.ts index 7fc30e94..93c7601e 100644 --- a/src/app/eclair/transactions/payment-information-modal/payment-information.component.spec.ts +++ b/src/app/eclair/transactions/payment-information-modal/payment-information.component.spec.ts @@ -1,4 +1,7 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { mockMatDialogRef } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; import { ECLPaymentInformationComponent } from './payment-information.component'; @@ -6,11 +9,16 @@ describe('ECLPaymentInformationComponent', () => { let component: ECLPaymentInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLPaymentInformationComponent ] - }) - .compileComponents(); + declarations: [ECLPaymentInformationComponent], + imports: [SharedModule], + providers: [ + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { payment: {}, sentPaymentInfo: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +30,8 @@ describe('ECLPaymentInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/transactions/payment-information-modal/payment-information.component.ts b/src/app/eclair/transactions/payment-information-modal/payment-information.component.ts index 03f0256b..9e4f6e73 100644 --- a/src/app/eclair/transactions/payment-information-modal/payment-information.component.ts +++ b/src/app/eclair/transactions/payment-information-modal/payment-information.component.ts @@ -10,6 +10,7 @@ import { ECLPaymentInformation } from '../../../shared/models/alertData'; styleUrls: ['./payment-information.component.scss'] }) export class ECLPaymentInformationComponent implements OnInit, AfterViewChecked { + @ViewChild('scrollContainer', { static: false }) scrollContainer: ElementRef; public payment: PaymentSent; public description: string = null; diff --git a/src/app/eclair/transactions/payments/lightning-payments.component.html b/src/app/eclair/transactions/payments/lightning-payments.component.html index 0a5900fe..eebd50f0 100644 --- a/src/app/eclair/transactions/payments/lightning-payments.component.html +++ b/src/app/eclair/transactions/payments/lightning-payments.component.html @@ -23,9 +23,9 @@ -
- -
Date Created - + {{(invoice.timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} - +
+ + + View Info + Refresh + +
-

No invoices available.

+

No invoice available.

+

Getting invoices...

+

{{errorMessage}}

+
+ +
@@ -65,7 +65,9 @@ diff --git a/src/app/eclair/transactions/payments/lightning-payments.component.ts b/src/app/eclair/transactions/payments/lightning-payments.component.ts index b17148b7..6456694a 100644 --- a/src/app/eclair/transactions/payments/lightning-payments.component.ts +++ b/src/app/eclair/transactions/payments/lightning-payments.component.ts @@ -4,12 +4,13 @@ import { Subject } from 'rxjs'; import { takeUntil, take } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; - import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; + import { GetInfo, PayRequest, PaymentSent, PaymentSentPart } from '../../../shared/models/eclModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListECL } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import { DataService } from '../../../shared/services/data.service'; @@ -31,18 +32,18 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; animations: [newlyAddedRowAnimation], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Payments') } - ] + ] }) export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home + + @Input() calledFrom = 'transactions'; // Transactions/home @ViewChild('sendPaymentForm', { static: false }) form; - @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; public faHistory = faHistory; public newlyAddedPayment = ''; public flgAnimate = true; public selNode: SelNodeChild = {}; - public flgLoading: Array = [true]; public information: GetInfo = {}; public payments: any; public paymentJSONArr: PaymentSent[] = []; @@ -56,19 +57,22 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListECL = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private rtlEffects: RTLEffects, private decimalPipe: DecimalPipe, private dataService: DataService, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['firstPartTimestamp', 'actions']; this.partColumns = ['groupTotal', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['firstPartTimestamp', 'recipientAmount', 'actions']; this.partColumns = ['groupTotal', 'groupAmount', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['firstPartTimestamp', 'id', 'recipientAmount', 'actions']; this.partColumns = ['groupTotal', 'groupId', 'groupAmount', 'groupAction']; @@ -80,57 +84,57 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD } ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPayments') { - this.flgLoading[0] = 'error'; + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPayments.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; } + this.information = rtlStore.information; + this.selNode = rtlStore.nodeSettings; + if (rtlStore.payments.sent) { + rtlStore.payments.sent.map((sentPayment) => { + const peerFound = rtlStore.peers.find((peer) => peer.nodeId === sentPayment.recipientNodeId); + sentPayment.recipientNodeAlias = peerFound ? peerFound.alias : sentPayment.recipientNodeId; + if (sentPayment.parts) { + sentPayment.parts.map((part) => { + const channelFound = rtlStore.activeChannels.find((channel) => channel.channelId === part.toChannelId); + part.toChannelAlias = channelFound ? channelFound.alias : part.toChannelId; + return sentPayment.parts; + }); + } + return rtlStore.payments.sent; + }); + } + this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.sent && rtlStore.payments.sent.length > 0) ? rtlStore.payments.sent : []; + // FOR MPP TESTING START + // If (this.paymentJSONArr.length > 0) { + // This.paymentJSONArr[3].parts.push({ + // Id: '34b609a5-f0f1-474e-9e5d-d7783b48702d', amount: 26000, feesPaid: 22, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c87', toChannelAlias: 'ion.radar.tech1', timestamp: 1596389827075 + // }); + // This.paymentJSONArr[3].parts.push({ + // Id: '35b609a5-f0f1-474e-9e5d-d7783b48702e', amount: 27000, feesPaid: 20, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c86', toChannelAlias: 'ion.radar.tech2', timestamp: 1596389817075 + // }); + // This.paymentJSONArr[5].parts.push({ + // Id: '38b609a5-f0f1-474e-9e5d-d7783b48702h', amount: 31000, feesPaid: 18, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c85', toChannelAlias: 'ion.radar.tech3', timestamp: 1596389887075 + // }); + // This.paymentJSONArr[5].parts.push({ + // Id: '36b609a5-f0f1-474e-9e5d-d7783b48702f', amount: 28000, feesPaid: 13, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c84', toChannelAlias: 'ion.radar.tech4', timestamp: 1596389687075 + // }); + // This.paymentJSONArr[5].parts.push({ + // Id: '37b609a5-f0f1-474e-9e5d-d7783b48702g', amount: 25000, feesPaid: 19, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c83', toChannelAlias: 'ion.radar.tech5', timestamp: 1596389707075 + // }); + // } + // This.paymentJSONArr = this.paymentJSONArr.splice(2, 5); + // FOR MPP TESTING END + this.loadPaymentsTable(this.paymentJSONArr); + setTimeout(() => { + this.flgAnimate = false; + }, 3000); + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.selNode = rtlStore.nodeSettings; - if (rtlStore.payments.sent) { - rtlStore.payments.sent.map(sentPayment => { - let peerFound = rtlStore.peers.find(peer => peer.nodeId === sentPayment.recipientNodeId); - sentPayment.recipientNodeAlias = peerFound ? peerFound.alias : sentPayment.recipientNodeId; - if (sentPayment.parts) { - sentPayment.parts.map(part => { - let channelFound = rtlStore.activeChannels.find(channel => channel.channelId === part.toChannelId); - part.toChannelAlias = channelFound ? channelFound.alias : part.toChannelId; - }); - } - }); - } - this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.sent && rtlStore.payments.sent.length > 0) ? rtlStore.payments.sent : []; - // FOR MPP TESTING START - // if(this.paymentJSONArr.length > 0) { - // this.paymentJSONArr[3].parts.push({ - // id: '34b609a5-f0f1-474e-9e5d-d7783b48702d', amount: 26000, feesPaid: 22, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c87', toChannelAlias: 'ion.radar.tech1', timestamp: 1596389827075 - // }); - // this.paymentJSONArr[3].parts.push({ - // id: '35b609a5-f0f1-474e-9e5d-d7783b48702e', amount: 27000, feesPaid: 20, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c86', toChannelAlias: 'ion.radar.tech2', timestamp: 1596389817075 - // }); - // this.paymentJSONArr[5].parts.push({ - // id: '38b609a5-f0f1-474e-9e5d-d7783b48702h', amount: 31000, feesPaid: 18, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c85', toChannelAlias: 'ion.radar.tech3', timestamp: 1596389887075 - // }); - // this.paymentJSONArr[5].parts.push({ - // id: '36b609a5-f0f1-474e-9e5d-d7783b48702f', amount: 28000, feesPaid: 13, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c84', toChannelAlias: 'ion.radar.tech4', timestamp: 1596389687075 - // }); - // this.paymentJSONArr[5].parts.push({ - // id: '37b609a5-f0f1-474e-9e5d-d7783b48702g', amount: 25000, feesPaid: 19, toChannelId: '7e78fa4a27db55df2955fb2be54162d01168744ad45a6539172a6dd6e6139c83', toChannelAlias: 'ion.radar.tech5', timestamp: 1596389707075 - // }); - // } - // this.paymentJSONArr = this.paymentJSONArr.splice(2, 5); - // FOR MPP TESTING END - this.loadPaymentsTable(this.paymentJSONArr); - setTimeout(() => { this.flgAnimate = false; }, 3000); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (this.paymentJSONArr) ? false : true; - } - this.logger.info(rtlStore); - }); - } ngAfterViewInit() { @@ -145,7 +149,7 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD case 'firstPartTimestamp': this.commonService.sortByKey(data.parts, 'timestamp', 'number', this.sort.direction); return data.firstPartTimestamp; - + case 'id': this.commonService.sortByKey(data.parts, 'id', 'string', this.sort.direction); return data.id; @@ -161,31 +165,33 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD default: return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; } - } + }; this.payments.filterPredicate = (rowData: PaymentSent, fltr: string) => { const newRowData = ((rowData.firstPartTimestamp) ? this.datePipe.transform(new Date(rowData.firstPartTimestamp), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + return newRowData.includes(fltr); }; this.payments.paginator = this.paginator; } - onSendPayment():boolean|void { - if(!this.paymentRequest) { return true; } + onSendPayment(): boolean | void { + if (!this.paymentRequest) { + return true; + } if (this.paymentDecoded.timestamp) { this.sendPayment(); } else { - this.dataService.decodePayment(this.paymentRequest, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.timestamp) { - if (!this.paymentDecoded.amount) { - this.paymentDecoded.amount = 0; + this.dataService.decodePayment(this.paymentRequest, false). + pipe(take(1)).subscribe((decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.timestamp) { + if (!this.paymentDecoded.amount) { + this.paymentDecoded.amount = 0; + } + this.sendPayment(); + } else { + this.resetData(); } - this.sendPayment(); - } else { - this.resetData(); - } - }); + }); } } @@ -193,16 +199,17 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD this.flgAnimate = true; this.newlyAddedPayment = this.paymentDecoded.paymentHash; if (!this.paymentDecoded.amount || this.paymentDecoded.amount === 0) { - const reorderedPaymentDecoded = [ - [{key: 'paymentHash', value: this.paymentDecoded.paymentHash, title: 'Payment Hash', width: 100}], - [{key: 'nodeId', value: this.paymentDecoded.nodeId, title: 'Payee', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME}, - {key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'minFinalCltvExpiry', value: this.paymentDecoded.minFinalCltvExpiry, title: 'CLTV Expiry', width: 30}] - ]; - const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + const reorderedPaymentDecoded = [ + [{ key: 'paymentHash', value: this.paymentDecoded.paymentHash, title: 'Payment Hash', width: 100 }], + [{ key: 'nodeId', value: this.paymentDecoded.nodeId, title: 'Payee', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME }, + { key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'minFinalCltvExpiry', value: this.paymentDecoded.minFinalCltvExpiry, title: 'CLTV Expiry', width: 30 }] + ]; + const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; + this.store.dispatch(new RTLActions.OpenConfirmation({ + data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Enter Amount and Confirm Send Payment', message: reorderedPaymentDecoded, @@ -211,76 +218,83 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD flgShowInput: true, titleMessage: titleMsg, getInputs: [ - {placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30} + { placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30 } ] - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { + } + })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { if (confirmRes) { this.paymentDecoded.amount = confirmRes[0].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new ECLActions.SendPayment({invoice: this.paymentRequest, amountMsat: confirmRes[0].inputValue*1000, fromDialog: false})); + this.store.dispatch(new ECLActions.SendPayment({ invoice: this.paymentRequest, amountMsat: confirmRes[0].inputValue * 1000, fromDialog: false })); this.resetData(); } }); } else { const reorderedPaymentDecoded = [ - [{key: 'paymentHash', value: this.paymentDecoded.paymentHash, title: 'Payment Hash', width: 100}], - [{key: 'nodeId', value: this.paymentDecoded.nodeId, title: 'Payee', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'amount', value: this.paymentDecoded.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'minFinalCltvExpiry', value: this.paymentDecoded.minFinalCltvExpiry, title: 'CLTV Expiry', width: 50}] + [{ key: 'paymentHash', value: this.paymentDecoded.paymentHash, title: 'Payment Hash', width: 100 }], + [{ key: 'nodeId', value: this.paymentDecoded.nodeId, title: 'Payee', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'amount', value: this.paymentDecoded.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'minFinalCltvExpiry', value: this.paymentDecoded.minFinalCltvExpiry, title: 'CLTV Expiry', width: 50 }] ]; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { - type: AlertTypeEnum.CONFIRM, - alertTitle: 'Confirm Send Payment', - noBtnText: 'Cancel', - yesBtnText: 'Send Payment', - message: reorderedPaymentDecoded - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new ECLActions.SendPayment({invoice: this.paymentRequest, fromDialog: false})); - this.resetData(); + this.store.dispatch(new RTLActions.OpenConfirmation({ + data: { + type: AlertTypeEnum.CONFIRM, + alertTitle: 'Confirm Send Payment', + noBtnText: 'Cancel', + yesBtnText: 'Send Payment', + message: reorderedPaymentDecoded } - }); + })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new ECLActions.SendPayment({ invoice: this.paymentRequest, fromDialog: false })); + this.resetData(); + } + }); } } onPaymentRequestEntry(event: any) { this.paymentRequest = event; this.paymentDecodedHint = ''; - if(this.paymentRequest && this.paymentRequest.length > 100) { - this.dataService.decodePayment(this.paymentRequest, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if(this.paymentDecoded.amount) { - this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + if (this.paymentRequest && this.paymentRequest.length > 100) { + this.dataService.decodePayment(this.paymentRequest, false). + pipe(take(1)).subscribe((decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.amount) { + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[1])). + subscribe({ + next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } + }); } else { this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; } - }); - } else { - this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; - } - }); + } else { + this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; + } + }); } } openSendPaymentModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - component: ECLLightningSendPaymentsComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + component: ECLLightningSendPaymentsComponent + } + })); } resetData() { @@ -289,64 +303,72 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD this.form.resetForm(); } - is_group(index: number, payment: PaymentSent):boolean { + is_group(index: number, payment: PaymentSent): boolean { return payment.parts && payment.parts.length > 1; - } + } onPaymentClick(selPayment: PaymentSent) { if (selPayment.paymentHash && selPayment.paymentHash.trim() !== '') { - this.dataService.decodePayments(selPayment.paymentHash) - .pipe(take(1)) - .subscribe(sentPaymentInfo => { - this.showPaymentView(selPayment, (sentPaymentInfo.length && sentPaymentInfo.length > 0) ? sentPaymentInfo[0] : []); - }, (error) => { - this.showPaymentView(selPayment, []); - }); + this.dataService.decodePayments(selPayment.paymentHash). + pipe(take(1)). + subscribe({ + next: (sentPaymentInfo) => { + this.showPaymentView(selPayment, (sentPaymentInfo.length && sentPaymentInfo.length > 0) ? sentPaymentInfo[0] : []); + }, error: (error) => { + this.showPaymentView(selPayment, []); + } + }); } else { this.showPaymentView(selPayment, []); } } showPaymentView(selPayment: PaymentSent, sentPaymentInfo?: any[]) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - sentPaymentInfo: sentPaymentInfo, - payment: selPayment, - component: ECLPaymentInformationComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + sentPaymentInfo: sentPaymentInfo, + payment: selPayment, + component: ECLPaymentInformationComponent + } + })); } onPartClick(selPart: PaymentSentPart, selPayment: PaymentSent) { if (selPayment.paymentHash && selPayment.paymentHash.trim() !== '') { - this.dataService.decodePayments(selPayment.paymentHash) - .pipe(take(1)) - .subscribe(sentPaymentInfo => { - this.showPartView(selPart, selPayment, sentPaymentInfo); - }, (error) => { - this.showPartView(selPart, selPayment, []); - }); + this.dataService.decodePayments(selPayment.paymentHash). + pipe(take(1)). + subscribe({ + next: (sentPaymentInfo) => { + this.showPartView(selPart, selPayment, sentPaymentInfo); + }, error: (error) => { + this.showPartView(selPart, selPayment, []); + } + }); } else { this.showPartView(selPart, selPayment, []); } } - + showPartView(selPart: PaymentSentPart, selPayment: PaymentSent, sentPaymentInfo?: any[]) { const reorderedPart = [ - [{key: 'paymentHash', value: selPayment.paymentHash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'paymentPreimage', value: selPayment.paymentPreimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING}], - [{key: 'toChannelId', value: selPart.toChannelId, title: 'Channel', width: 100, type: DataTypeEnum.STRING}], - [{key: 'id', value: selPart.id, title: 'Part ID', width: 50, type: DataTypeEnum.STRING}, - {key: 'timestamp', value: selPart.timestamp, title: 'Time', width: 50, type: DataTypeEnum.DATE_TIME}], - [{key: 'amount', value: selPart.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'feesPaid', value: selPart.feesPaid, title: 'Fee (Sats)', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'paymentHash', value: selPayment.paymentHash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'paymentPreimage', value: selPayment.paymentPreimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'toChannelId', value: selPart.toChannelId, title: 'Channel', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'id', value: selPart.id, title: 'Part ID', width: 50, type: DataTypeEnum.STRING }, + { key: 'timestamp', value: selPart.timestamp, title: 'Time', width: 50, type: DataTypeEnum.DATE_TIME }], + [{ key: 'amount', value: selPart.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'feesPaid', value: selPart.feesPaid, title: 'Fee (Sats)', width: 50, type: DataTypeEnum.NUMBER }] ]; if (sentPaymentInfo.length > 0 && sentPaymentInfo[0].paymentRequest && sentPaymentInfo[0].paymentRequest.description && sentPaymentInfo[0].paymentRequest.description !== '') { - reorderedPart.splice(3, 0, [{key: 'description', value: sentPaymentInfo[0].paymentRequest.description, title: 'Description', width: 100, type: DataTypeEnum.STRING}]); + reorderedPart.splice(3, 0, [{ key: 'description', value: sentPaymentInfo[0].paymentRequest.description, title: 'Description', width: 100, type: DataTypeEnum.STRING }]); } - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'Payment Part Information', - message: reorderedPart - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'Payment Part Information', + message: reorderedPart + } + })); } applyFilter(selFilter: any) { @@ -354,31 +376,30 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD } onDownloadCSV() { - if(this.payments.data && this.payments.data.length > 0) { - let paymentsDataCopy: PaymentSent[] = JSON.parse(JSON.stringify(this.payments.data)); - let paymentRequests = paymentsDataCopy.reduce((paymentReqs, payment) => { + if (this.payments.data && this.payments.data.length > 0) { + const paymentsDataCopy: PaymentSent[] = JSON.parse(JSON.stringify(this.payments.data)); + const paymentRequests = paymentsDataCopy.reduce((paymentReqs, payment) => { if (payment.paymentHash && payment.paymentHash.trim() !== '') { paymentReqs = (paymentReqs === '') ? payment.paymentHash : paymentReqs + ',' + payment.paymentHash; } return paymentReqs; }, ''); - this.dataService.decodePayments(paymentRequests) - .pipe(takeUntil(this.unSubs[2])) - .subscribe((decodedPayments: any[][]) => { - decodedPayments.forEach((decodedPayment, idx) => { - if (decodedPayment.length > 0 && decodedPayment[0].paymentRequest && decodedPayment[0].paymentRequest.description && decodedPayment[0].paymentRequest.description !== '') { - paymentsDataCopy[idx].description = decodedPayment[0].paymentRequest.description; - } + this.dataService.decodePayments(paymentRequests). + pipe(takeUntil(this.unSubs[2])). + subscribe((decodedPayments: any[][]) => { + decodedPayments.forEach((decodedPayment, idx) => { + if (decodedPayment.length > 0 && decodedPayment[0].paymentRequest && decodedPayment[0].paymentRequest.description && decodedPayment[0].paymentRequest.description !== '') { + paymentsDataCopy[idx].description = decodedPayment[0].paymentRequest.description; + } + }); + const flattenedPayments = paymentsDataCopy.reduce((acc, curr) => acc.concat(curr), []); + this.commonService.downloadFile(flattenedPayments, 'Payments'); }); - let flattenedPayments = paymentsDataCopy.reduce((acc, curr) => acc.concat(curr), []); - this.commonService.downloadFile(flattenedPayments, 'Payments'); - }); } - } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/transactions/query-routes/query-routes.component.spec.ts b/src/app/eclair/transactions/query-routes/query-routes.component.spec.ts index 16515e1d..8b632d48 100644 --- a/src/app/eclair/transactions/query-routes/query-routes.component.spec.ts +++ b/src/app/eclair/transactions/query-routes/query-routes.component.spec.ts @@ -1,4 +1,14 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; + +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService, mockECLEffects } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { ECLEffects } from '../../store/ecl.effects'; import { ECLQueryRoutesComponent } from './query-routes.component'; @@ -6,11 +16,27 @@ describe('ECLQueryRoutesComponent', () => { let component: ECLQueryRoutesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLQueryRoutesComponent ] - }) - .compileComponents(); + declarations: [ECLQueryRoutesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: ECLEffects, useClass: mockECLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('ECLQueryRoutesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/transactions/query-routes/query-routes.component.ts b/src/app/eclair/transactions/query-routes/query-routes.component.ts index 344cb691..5f82b60d 100644 --- a/src/app/eclair/transactions/query-routes/query-routes.component.ts +++ b/src/app/eclair/transactions/query-routes/query-routes.component.ts @@ -3,13 +3,13 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faRoute, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; - -import { CommonService } from '../../../shared/services/common.service'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import { Route } from '../../../shared/models/eclModels'; import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { Route } from '../../../shared/models/eclModels'; +import { CommonService } from '../../../shared/services/common.service'; + import { ECLEffects } from '../../store/ecl.effects'; import * as ECLActions from '../../store/ecl.actions'; import * as RTLActions from '../../../store/rtl.actions'; @@ -21,10 +21,11 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./query-routes.component.scss'] }) export class ECLQueryRoutesComponent implements OnInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild('queryRoutesForm', { static: true }) form: any; + @ViewChild('queryRoutesForm', { static: true }) form: any; public nodeId = ''; - public amount:number = 0; + public amount = 0; public qrHops: any; public flgSticky = false; public displayedColumns: any[] = []; @@ -37,13 +38,13 @@ export class ECLQueryRoutesComponent implements OnInit, OnDestroy { constructor(private store: Store, private eclEffects: ECLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['alias', 'nodeId', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'nodeId', 'actions']; } else { @@ -54,27 +55,29 @@ export class ECLQueryRoutesComponent implements OnInit, OnDestroy { ngOnInit() { this.qrHops = new MatTableDataSource([]); - this.eclEffects.setQueryRoutes - .pipe(takeUntil(this.unSubs[1])) - .subscribe(queryRoute => { - this.qrHops.data = []; - if (queryRoute) { - this.flgLoading[0] = false; - this.qrHops = new MatTableDataSource([...queryRoute]); - this.qrHops.data = queryRoute; - } else { - this.flgLoading[0] = 'error'; - } - this.qrHops.sort = this.sort; - this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; - }); + this.eclEffects.setQueryRoutes. + pipe(takeUntil(this.unSubs[1])). + subscribe((queryRoute) => { + this.qrHops.data = []; + if (queryRoute) { + this.flgLoading[0] = false; + this.qrHops = new MatTableDataSource([...queryRoute]); + this.qrHops.data = queryRoute; + } else { + this.flgLoading[0] = 'error'; + } + this.qrHops.sort = this.sort; + this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); + }); } - onQueryRoutes():boolean|void { - if(!this.nodeId || !this.amount) { return true; } + onQueryRoutes(): boolean|void { + if (!this.nodeId || !this.amount) { + return true; + } this.qrHops.data = []; this.flgLoading[0] = true; - this.store.dispatch(new ECLActions.GetQueryRoutes({nodeId: this.nodeId, amount: this.amount*1000})); + this.store.dispatch(new ECLActions.GetQueryRoutes({ nodeId: this.nodeId, amount: this.amount * 1000 })); } resetData() { @@ -87,18 +90,18 @@ export class ECLQueryRoutesComponent implements OnInit, OnDestroy { onHopClick(selHop: Route, event: any) { const reorderedHop = [ - [{key: 'alias', value: selHop.alias, title: 'Alias', width: 100, type: DataTypeEnum.STRING}], - [{key: 'nodeId', value: selHop.nodeId, title: 'Node ID', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'alias', value: selHop.alias, title: 'Alias', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'nodeId', value: selHop.nodeId, title: 'Node ID', width: 100, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Route Information', message: reorderedHop - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/transactions/send-payment-modal/send-payment.component.ts b/src/app/eclair/transactions/send-payment-modal/send-payment.component.ts index d5006446..8e20bc2a 100644 --- a/src/app/eclair/transactions/send-payment-modal/send-payment.component.ts +++ b/src/app/eclair/transactions/send-payment-modal/send-payment.component.ts @@ -10,22 +10,22 @@ import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { PayRequest, Channel } from '../../../shared/models/eclModels'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; import { DataService } from '../../../shared/services/data.service'; import { ECLEffects } from '../../store/ecl.effects'; import * as ECLActions from '../../store/ecl.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ selector: 'rtl-ecl-lightning-send-payments', templateUrl: './send-payment.component.html', - styleUrls: ['./send-payment.component.scss'], + styleUrls: ['./send-payment.component.scss'] }) export class ECLLightningSendPaymentsComponent implements OnInit, OnDestroy { + @ViewChild('paymentReq', { static: false }) paymentReq: NgModel; public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; @@ -42,73 +42,75 @@ export class ECLLightningSendPaymentsComponent implements OnInit, OnDestroy { public paymentError = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, private store: Store, private eclEffects: ECLEffects, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions$: Actions, private dataService: DataService) {} + constructor(public dialogRef: MatDialogRef, private store: Store, private eclEffects: ECLEffects, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions: Actions, private dataService: DataService) {} ngOnInit() { - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.activeChannels = rtlStore.activeChannels; - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === ECLActions.EFFECT_ERROR_ECL || action.type === ECLActions.SEND_PAYMENT_STATUS_ECL)) - .subscribe((action: ECLActions.EffectError | ECLActions.SendPaymentStatus) => { - if (action.type === ECLActions.SEND_PAYMENT_STATUS_ECL) { - this.dialogRef.close(); - } - if (action.type === ECLActions.EFFECT_ERROR_ECL) { - if (action.payload.action === 'SendPayment') { + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.activeChannels = rtlStore.activeChannels; + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL || action.type === ECLActions.SEND_PAYMENT_STATUS_ECL)). + subscribe((action: ECLActions.UpdateAPICallStatus | ECLActions.SendPaymentStatus) => { + if (action.type === ECLActions.SEND_PAYMENT_STATUS_ECL) { + this.dialogRef.close(); + } + if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SendPayment') { delete this.paymentDecoded.amount; this.paymentError = action.payload.message; } - } - }); + }); } - onSendPayment():boolean|void { - if(!this.paymentRequest) { return true; } + onSendPayment(): boolean|void { + if (!this.paymentRequest) { + return true; + } if (this.paymentDecoded.timestamp) { this.sendPayment(); } else { this.paymentAmount = null; this.paymentError = ''; this.paymentDecodedHint = ''; - this.paymentReq.control.setErrors(null); - this.dataService.decodePayment(this.paymentRequest, true) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.timestamp && !this.paymentDecoded.amount) { - this.paymentDecoded.amount = 0; - this.zeroAmtInvoice = true; - this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; - } else { - this.zeroAmtInvoice = false; - this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + this.paymentReq.control.setErrors(null); + this.dataService.decodePayment(this.paymentRequest, true). + pipe(take(1)).subscribe({ next: (decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.timestamp && !this.paymentDecoded.amount) { + this.paymentDecoded.amount = 0; + this.zeroAmtInvoice = true; + this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; + } else { + this.zeroAmtInvoice = false; + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount / 1000 : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } }); } else { this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; } - }); - } - }, err => { - this.logger.error(err); - this.paymentDecodedHint = 'ERROR: ' + ((err.message) ? err.message : ((typeof err === 'string') ? err : JSON.stringify(err))); - this.paymentReq.control.setErrors({'decodeError': true}); - }); + } + }, error: (err) => { + this.logger.error(err); + this.paymentDecodedHint = 'ERROR: ' + ((err.message) ? err.message : ((typeof err === 'string') ? err : JSON.stringify(err))); + this.paymentReq.control.setErrors({ decodeError: true }); + } }); } } sendPayment() { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); if (this.zeroAmtInvoice) { - this.store.dispatch(new ECLActions.SendPayment({invoice: this.paymentRequest, amountMsat: this.paymentAmount*1000, fromDialog: true})); + this.store.dispatch(new ECLActions.SendPayment({ invoice: this.paymentRequest, amountMsat: this.paymentAmount * 1000, fromDialog: true })); } else { - this.store.dispatch(new ECLActions.SendPayment({invoice: this.paymentRequest, fromDialog: true})); + this.store.dispatch(new ECLActions.SendPayment({ invoice: this.paymentRequest, fromDialog: true })); } } @@ -117,33 +119,35 @@ export class ECLLightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentError = ''; this.paymentDecodedHint = ''; this.zeroAmtInvoice = false; - if(this.paymentRequest && this.paymentRequest.length > 100) { + if (this.paymentRequest && this.paymentRequest.length > 100) { this.paymentReq.control.setErrors(null); this.zeroAmtInvoice = false; - this.dataService.decodePayment(this.paymentRequest, true) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.timestamp && !this.paymentDecoded.amount) { - this.paymentDecoded.amount = 0; - this.zeroAmtInvoice = true; - this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; - } else { - this.zeroAmtInvoice = false; - this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + this.dataService.decodePayment(this.paymentRequest, true). + pipe(take(1)).subscribe({ next: (decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.timestamp && !this.paymentDecoded.amount) { + this.paymentDecoded.amount = 0; + this.zeroAmtInvoice = true; + this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; + } else { + this.zeroAmtInvoice = false; + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(+this.paymentDecoded.amount, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } }); } else { this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.amount ? this.paymentDecoded.amount : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; } - }); - } - }, err => { - this.logger.error(err); - this.paymentDecodedHint = 'ERROR: ' + ((err.message) ? err.message : ((typeof err === 'string') ? err : JSON.stringify(err))); - this.paymentReq.control.setErrors({'decodeError': true}); - }); + } + }, error: (err) => { + this.logger.error(err); + this.paymentDecodedHint = 'ERROR: ' + ((err.message) ? err.message : ((typeof err === 'string') ? err : JSON.stringify(err))); + this.paymentReq.control.setErrors({ decodeError: true }); + } }); } } @@ -165,7 +169,7 @@ export class ECLLightningSendPaymentsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/eclair/transactions/transactions.component.spec.ts b/src/app/eclair/transactions/transactions.component.spec.ts index 9ac19460..a7e9948e 100644 --- a/src/app/eclair/transactions/transactions.component.spec.ts +++ b/src/app/eclair/transactions/transactions.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { LoggerService } from '../../shared/services/logger.service'; import { ECLTransactionsComponent } from './transactions.component'; +import { SharedModule } from '../../shared/shared.module'; +import { CurrencyUnitConverterComponent } from '../../shared/components/currency-unit-converter/currency-unit-converter.component'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; describe('ECLTransactionsComponent', () => { let component: ECLTransactionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ECLTransactionsComponent ] - }) - .compileComponents(); + declarations: [ECLTransactionsComponent, CurrencyUnitConverterComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ECLTransactionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/eclair/transactions/transactions.component.ts b/src/app/eclair/transactions/transactions.component.ts index 383dca01..d60d3237 100644 --- a/src/app/eclair/transactions/transactions.component.ts +++ b/src/app/eclair/transactions/transactions.component.ts @@ -5,9 +5,9 @@ import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faExchangeAlt, faChartPie } from '@fortawesome/free-solid-svg-icons'; +import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; import { LoggerService } from '../../shared/services/logger.service'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-ecl-transactions', @@ -15,41 +15,43 @@ import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; styleUrls: ['./transactions.component.scss'] }) export class ECLTransactionsComponent implements OnInit, OnDestroy { + faExchangeAlt = faExchangeAlt; faChartPie = faChartPie; currencyUnits = []; - balances = [{title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive'}]; - public links = [{link: 'payments', name: 'Payments'}, {link: 'invoices', name: 'Invoices'}, {link: 'queryroutes', name: 'Query Routes'}]; + balances = [{ title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive' }]; + public links = [{ link: 'payments', name: 'Payments' }, { link: 'invoices', name: 'Invoices' }, { link: 'queryroutes', name: 'Query Routes' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('ecl') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.currencyUnits = rtlStore.nodeSettings.currencyUnits; - if(rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { - this.balances = [{title: 'Local Capacity', dataValue: rtlStore.lightningBalance.localBalance, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: rtlStore.lightningBalance.remoteBalance, tooltip: 'Amount you can receive'}]; - } else { - this.balances = [{title: 'Outbound Capacity', dataValue: rtlStore.lightningBalance.localBalance, tooltip: 'Amount you can send'}, {title: 'Inbound Capacity', dataValue: rtlStore.lightningBalance.remoteBalance, tooltip: 'Amount you can receive'}]; - } - this.logger.info(rtlStore); - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('ecl'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.currencyUnits = rtlStore.nodeSettings.currencyUnits; + if (rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { + this.balances = [{ title: 'Local Capacity', dataValue: rtlStore.lightningBalance.localBalance, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: rtlStore.lightningBalance.remoteBalance, tooltip: 'Amount you can receive' }]; + } else { + this.balances = [{ title: 'Outbound Capacity', dataValue: rtlStore.lightningBalance.localBalance, tooltip: 'Amount you can send' }, { title: 'Inbound Capacity', dataValue: rtlStore.lightningBalance.remoteBalance, tooltip: 'Amount you can receive' }]; + } + this.logger.info(rtlStore); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/backup/backup.component.spec.ts b/src/app/lnd/backup/backup.component.spec.ts index c1342955..521ead32 100644 --- a/src/app/lnd/backup/backup.component.spec.ts +++ b/src/app/lnd/backup/backup.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { BackupComponent } from './backup.component'; @@ -6,11 +8,12 @@ describe('BackupComponent', () => { let component: BackupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ BackupComponent ] - }) - .compileComponents(); + declarations: [BackupComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('BackupComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/backup/backup.component.ts b/src/app/lnd/backup/backup.component.ts index f1460ed0..a90b6555 100644 --- a/src/app/lnd/backup/backup.component.ts +++ b/src/app/lnd/backup/backup.component.ts @@ -10,25 +10,26 @@ import { faDownload } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./backup.component.scss'] }) export class BackupComponent implements OnInit, OnDestroy { + public faDownload = faDownload; - public links = [{link: 'bckup', name: 'Backup'}, {link: 'restore', name: 'Restore'}]; + public links = [{ link: 'bckup', name: 'Backup' }, { link: 'restore', name: 'Restore' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.html b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.html index 35d3009f..4dcc799b 100644 --- a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.html +++ b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.html @@ -23,9 +23,9 @@ -
- -
Date/Time {{payment?.firstPartTimestamp | date:'dd/MMM/YYYY HH:mm'}} -

No payments available.

+

No payment available.

+

Getting payments...

+

{{errorMessage}}

+
+ +
@@ -46,7 +46,9 @@ diff --git a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.spec.ts b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.spec.ts index 5a5c8f18..f7dad733 100644 --- a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.spec.ts +++ b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ChannelBackupTableComponent } from './channel-backup-table.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ChannelBackupTableComponent', () => { let component: ChannelBackupTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelBackupTableComponent ] - }) - .compileComponents(); + declarations: [ChannelBackupTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('ChannelBackupTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.ts b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.ts index b64f0c5a..8f7f504f 100644 --- a/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.ts +++ b/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.ts @@ -11,11 +11,11 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { Channel } from '../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; -import { RTLEffects } from '../../../store/rtl.effects'; import * as LNDActions from '../../store/lnd.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -26,11 +26,12 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./channel-backup-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public faInfoCircle = faInfoCircle; public faExclamationTriangle = faExclamationTriangle; public faArchive = faArchive; @@ -41,44 +42,41 @@ export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDes public selectedChannel: Channel; public channelsData = []; public channels: any; - public flgLoading: Array = [true]; // 0: channels public flgSticky = false; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private actions$: Actions, private commonService: CommonService, private rtlEffects: RTLEffects) { + constructor(private logger: LoggerService, private store: Store, private actions: Actions, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'Fetchchannels') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchAllChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchAllChannels.message) : this.apisCallStatus.FetchAllChannels.message; + } + this.selNode = rtlStore.nodeSettings; + this.channelsData = rtlStore.allChannels; + if (this.channelsData.length > 0) { + this.loadBackupTable(this.channelsData); } + this.logger.info(rtlStore); }); - this.channelsData = rtlStore.allChannels; - if (this.channelsData.length > 0) { - this.loadBackupTable(this.channelsData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = false; - } - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), filter((action) => action.type === LNDActions.SET_ALL_CHANNELS_LND || action.type === RTLActions.SHOW_FILE) - ).subscribe((action: LNDActions.SetAllChannels | RTLActions.ShowFile) => { - if(action.type === LNDActions.SET_ALL_CHANNELS_LND) { - this.selectedChannel = undefined; + this.actions.pipe(takeUntil(this.unSubs[1]), filter((action) => action.type === LNDActions.SET_ALL_CHANNELS_LND || action.type === RTLActions.SHOW_FILE)).subscribe((action: LNDActions.SetAllChannels | RTLActions.ShowFile) => { + if (action.type === LNDActions.SET_ALL_CHANNELS_LND) { + this.selectedChannel = null; } - if(action.type === RTLActions.SHOW_FILE) { + if (action.type === RTLActions.SHOW_FILE) { this.commonService.downloadFile(action.payload, 'channel-' + (this.selectedChannel.channel_point ? this.selectedChannel.channel_point : 'all'), '.bak', '.bak'); - this.selectedChannel = undefined; - this.store.dispatch(new RTLActions.CloseSpinner()); + this.selectedChannel = null; } }); } @@ -90,27 +88,24 @@ export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDes } onBackupChannels(selChannel: Channel) { - this.store.dispatch(new RTLActions.OpenSpinner('Backup Channels...')); - this.store.dispatch(new LNDActions.BackupChannels({channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL', showMessage: ''})); + this.store.dispatch(new LNDActions.BackupChannels({ uiMessage: UI_MESSAGES.BACKUP_CHANNEL, channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL', showMessage: '' })); } onVerifyChannels(selChannel: Channel) { - this.store.dispatch(new RTLActions.OpenSpinner('Verify Channels...')); - this.store.dispatch(new LNDActions.VerifyChannels({channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL'})); + this.store.dispatch(new LNDActions.VerifyChannels({ channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL' })); } onDownloadBackup(selChannel: Channel) { this.selectedChannel = selChannel; - this.store.dispatch(new RTLActions.OpenSpinner('Downloading Backup File...')); - this.store.dispatch(new RTLActions.FetchFile({channelPoint: selChannel.channel_point ? selChannel.channel_point : 'all'})); + this.store.dispatch(new RTLActions.FetchFile({ channelPoint: selChannel.channel_point ? selChannel.channel_point : 'all' })); } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { channel: selChannel, showCopy: false, component: ChannelInformationComponent - }})); + } })); } applyFilter(selFilter: any) { @@ -120,7 +115,7 @@ export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDes loadBackupTable(channels: any[]) { this.channels = channels ? new MatTableDataSource([...channels]) : new MatTableDataSource([]); this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.paginator = this.paginator; this.channels.filterPredicate = (channel: Channel, fltr: string) => { const newChannel = ((channel.active) ? 'active' : 'inactive') + (channel.channel_point ? channel.channel_point.toLowerCase() : '') + (channel.chan_id ? channel.chan_id.toLowerCase() : '') + @@ -134,7 +129,7 @@ export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDes } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.spec.ts b/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.spec.ts index 3bc0db5a..9943e849 100644 --- a/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.spec.ts +++ b/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ChannelRestoreTableComponent } from './channel-restore-table.component'; +import { mockDataService, mockLoggerService, mockLNDEffects } from '../../../shared/test-helpers/mock-services'; +import { LNDEffects } from '../../store/lnd.effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ChannelRestoreTableComponent', () => { let component: ChannelRestoreTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelRestoreTableComponent ] - }) - .compileComponents(); + declarations: [ChannelRestoreTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: LNDEffects, useClass: mockLNDEffects } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ChannelRestoreTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.ts b/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.ts index 2c518ea1..dd843f62 100644 --- a/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.ts +++ b/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.ts @@ -14,7 +14,6 @@ import { CommonService } from '../../../shared/services/common.service'; import { LNDEffects } from '../../store/lnd.effects'; import * as LNDActions from '../../store/lnd.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -26,8 +25,9 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; ] }) export class ChannelRestoreTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public selNode: SelNodeChild = {}; @@ -48,37 +48,36 @@ export class ChannelRestoreTableComponent implements OnInit, AfterViewInit, OnDe ngOnInit() { this.store.dispatch(new LNDActions.RestoreChannelsList()); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.logger.info(rtlStore); - }); - this.lndEffects.setRestoreChannelList - .pipe(takeUntil(this.unSubs[0])) - .subscribe((resRCList) => { - this.allRestoreExists = resRCList.all_restore_exists; - this.channelsData = resRCList.files; - if (this.channelsData.length > 0) { - this.loadRestoreTable(this.channelsData); - } - if (this.flgLoading[0] !== 'error' || (resRCList && resRCList.files)) { - this.flgLoading[0] = false; - } - this.logger.info(resRCList); - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.logger.info(rtlStore); + }); + this.lndEffects.setRestoreChannelList. + pipe(takeUntil(this.unSubs[0])). + subscribe((resRCList) => { + this.allRestoreExists = resRCList.all_restore_exists; + this.channelsData = resRCList.files; + if (this.channelsData.length > 0) { + this.loadRestoreTable(this.channelsData); + } + if (this.flgLoading[0] !== 'error' || (resRCList && resRCList.files)) { + this.flgLoading[0] = false; + } + this.logger.info(resRCList); + }); } ngAfterViewInit() { - if (this.channelsData.length > 0) { + if (this.channelsData && this.channelsData.length > 0) { this.loadRestoreTable(this.channelsData); } } onRestoreChannels(selChannel: Channel) { - this.store.dispatch(new RTLActions.OpenSpinner('Restoring Channels...')); - this.store.dispatch(new LNDActions.RestoreChannels({channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL'})); - } + this.store.dispatch(new LNDActions.RestoreChannels({ channelPoint: (selChannel.channel_point) ? selChannel.channel_point : 'ALL' })); + } applyFilter(selFilter: any) { this.channels.filter = selFilter.value.trim().toLowerCase(); @@ -87,13 +86,13 @@ export class ChannelRestoreTableComponent implements OnInit, AfterViewInit, OnDe loadRestoreTable(channels: any[]) { this.channels = new MatTableDataSource([...channels]); this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.filterPredicate = (channel: Channel, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.channels.paginator = this.paginator; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/home/balances-info/balances-info.component.html b/src/app/lnd/home/balances-info/balances-info.component.html index 4c038451..76b98a46 100644 --- a/src/app/lnd/home/balances-info/balances-info.component.html +++ b/src/app/lnd/home/balances-info/balances-info.component.html @@ -1,16 +1,21 @@ -
+

Lightning

-
{{balances.lightning | number}} Sats
- +
{{balances?.lightning | number}} Sats
+

On-chain

-
{{balances.onchain | number}} Sats
- +
{{balances?.onchain | number}} Sats
+

Total

-
{{balances.total | number}} Sats
+
{{balances?.total | number}} Sats
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/lnd/home/balances-info/balances-info.component.spec.ts b/src/app/lnd/home/balances-info/balances-info.component.spec.ts index f2b4e37c..be779c72 100644 --- a/src/app/lnd/home/balances-info/balances-info.component.spec.ts +++ b/src/app/lnd/home/balances-info/balances-info.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { BalancesInfoComponent } from './balances-info.component'; @@ -6,11 +7,12 @@ describe('BalancesInfoComponent', () => { let component: BalancesInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ BalancesInfoComponent ] - }) - .compileComponents(); + declarations: [BalancesInfoComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('BalancesInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/balances-info/balances-info.component.ts b/src/app/lnd/home/balances-info/balances-info.component.ts index 71380b2c..86928d26 100644 --- a/src/app/lnd/home/balances-info/balances-info.component.ts +++ b/src/app/lnd/home/balances-info/balances-info.component.ts @@ -6,7 +6,9 @@ import { Component, Input } from '@angular/core'; styleUrls: ['./balances-info.component.scss'] }) export class BalancesInfoComponent { + @Input() balances = { onchain: 0, lightning: 0, total: 0 }; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.html b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.html index 33b6c144..741b87f1 100644 --- a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.html +++ b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.html @@ -1,15 +1,15 @@ -
+
Total Capacity
- Local:{{channelBalances.localBalance || 0 | number}} Sats + Local:{{channelBalances?.localBalance || 0 | number}} Sats ({{channelBalances?.balancedness || 0 | number}}) - Remote:{{channelBalances.remoteBalance || 0 | number}} Sats + Remote:{{channelBalances?.remoteBalance || 0 | number}} Sats
- +
@@ -35,3 +35,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.spec.ts b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.spec.ts index 33e93297..dec945b4 100644 --- a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.spec.ts +++ b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../../shared/shared.module'; import { ChannelCapacityInfoComponent } from './channel-capacity-info.component'; @@ -6,11 +8,12 @@ describe('ChannelCapacityInfoComponent', () => { let component: ChannelCapacityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelCapacityInfoComponent ] - }) - .compileComponents(); + declarations: [ChannelCapacityInfoComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('ChannelCapacityInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.ts b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.ts index 5fbbd7ee..2702835a 100644 --- a/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.ts +++ b/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.ts @@ -10,11 +10,13 @@ import { Channel } from '../../../shared/models/lndModels'; styleUrls: ['./channel-capacity-info.component.scss'] }) export class ChannelCapacityInfoComponent { + public faBalanceScale = faBalanceScale; public faDumbbell = faDumbbell; @Input() channelBalances: {localBalance: number, remoteBalance: number, balancedness: number}; @Input() allChannels: Channel[]; - @Input() sortBy: string = 'Balance Score'; + @Input() sortBy = 'Balance Score'; + @Input() errorMessage: string; constructor(private router: Router) {} diff --git a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.html b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.html index 58a62318..6839bcfd 100644 --- a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.html +++ b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.html @@ -1,4 +1,4 @@ -
+
Total Capacity {{totalLiquidity | number}} Sats @@ -26,3 +26,8 @@
+ +
+

{{errorMessage}}

+
+
diff --git a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts index 7464acb5..f7596612 100644 --- a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts +++ b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { LoopService } from '../../../shared/services/loop.service'; import { ChannelLiquidityInfoComponent } from './channel-liquidity-info.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; describe('ChannelLiquidityInfoComponent', () => { let component: ChannelLiquidityInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelLiquidityInfoComponent ] - }) - .compileComponents(); + declarations: [ChannelLiquidityInfoComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, LoopService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('ChannelLiquidityInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.ts b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.ts index 8f562d73..c74607cf 100644 --- a/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.ts +++ b/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.ts @@ -19,24 +19,26 @@ import * as RTLActions from '../../../store/rtl.actions'; styleUrls: ['./channel-liquidity-info.component.scss'] }) export class ChannelLiquidityInfoComponent implements OnInit, OnDestroy { + @Input() direction: string; @Input() totalLiquidity: number; @Input() allChannels: Channel[]; + @Input() errorMessage: string; public showLoop: boolean; private targetConf = 6; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private router: Router, private loopService: LoopService, private commonService: CommonService, private store: Store) {} + constructor(private router: Router, private loopService: LoopService, private commonService: CommonService, private store: Store) { } ngOnInit() { this.screenSize = this.commonService.getScreenSize(); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.showLoop = (rtlStore.nodeSettings.swapServerUrl && rtlStore.nodeSettings.swapServerUrl.trim() !== '') ? true : false; - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.showLoop = !!((rtlStore.nodeSettings.swapServerUrl && rtlStore.nodeSettings.swapServerUrl.trim() !== '')); + }); } goToChannels() { @@ -44,23 +46,23 @@ export class ChannelLiquidityInfoComponent implements OnInit, OnDestroy { } onLoopOut(channel: Channel) { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Terms and Quotes...')); - this.loopService.getLoopOutTermsAndQuotes(this.targetConf) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({ minHeight: '56rem', data: { - channel: channel, - minQuote: response[0], - maxQuote: response[1], - direction: LoopTypeEnum.LOOP_OUT, - component: LoopModalComponent - }})); - }); + this.loopService.getLoopOutTermsAndQuotes(this.targetConf). + pipe(takeUntil(this.unSubs[1])). + subscribe((response) => { + this.store.dispatch(new RTLActions.OpenAlert({ + minHeight: '56rem', data: { + channel: channel, + minQuote: response[0], + maxQuote: response[1], + direction: LoopTypeEnum.LOOP_OUT, + component: LoopModalComponent + } + })); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/home/channel-status-info/channel-status-info.component.html b/src/app/lnd/home/channel-status-info/channel-status-info.component.html index d44e61eb..df545f24 100644 --- a/src/app/lnd/home/channel-status-info/channel-status-info.component.html +++ b/src/app/lnd/home/channel-status-info/channel-status-info.component.html @@ -1,36 +1,43 @@ -
-
-

Active

-
{{(channelsStatus.active.channels || 0) | number}}
-
-
-

Pending

-
{{(channelsStatus.pending.channels || 0) | number}}
-
-
-

Inactive

-
{{(channelsStatus.inactive.channels || 0) | number}}
-
-
-

Closing

-
{{(channelsStatus.closing.channels || 0) | number}}
+
+
+
+

Active

+
{{(channelsStatus?.active?.channels || 0) | number}}
+
+
+

Pending

+
{{(channelsStatus?.pending?.channels || 0) | number}}
+
+
+

Inactive

+
{{(channelsStatus?.inactive?.channels || 0) | number}}
+
+
+

Closing

+
{{(channelsStatus?.closing?.channels || 0) | number}}
+
+
+
+
+

Capacity

+
{{(channelsStatus?.active?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus?.pending?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus?.inactive?.capacity || 0) | number}} Sats
+
+
+

Capacity

+
{{(channelsStatus?.closing?.capacity || 0) | number}} Sats
+
-
-
-

Capacity

-
{{(channelsStatus.active.capacity || 0) | number}} Sats
-
-
-

Capacity

-
{{(channelsStatus.pending.capacity || 0) | number}} Sats
+ +
+

{{errorMessage}}

-
-

Capacity

-
{{(channelsStatus.inactive.capacity || 0) | number}} Sats
-
-
-

Capacity

-
{{(channelsStatus.closing.capacity || 0) | number}} Sats
-
-
+ diff --git a/src/app/lnd/home/channel-status-info/channel-status-info.component.spec.ts b/src/app/lnd/home/channel-status-info/channel-status-info.component.spec.ts index 25929bdd..3d1eda62 100644 --- a/src/app/lnd/home/channel-status-info/channel-status-info.component.spec.ts +++ b/src/app/lnd/home/channel-status-info/channel-status-info.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { ChannelStatusInfoComponent } from './channel-status-info.component'; @@ -6,11 +6,11 @@ describe('ChannelStatusInfoComponent', () => { let component: ChannelStatusInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelStatusInfoComponent ] - }) - .compileComponents(); + declarations: [ChannelStatusInfoComponent] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +22,8 @@ describe('ChannelStatusInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/channel-status-info/channel-status-info.component.ts b/src/app/lnd/home/channel-status-info/channel-status-info.component.ts index 7fdaafef..a481cbcb 100644 --- a/src/app/lnd/home/channel-status-info/channel-status-info.component.ts +++ b/src/app/lnd/home/channel-status-info/channel-status-info.component.ts @@ -7,7 +7,9 @@ import { ChannelsStatus } from '../../../shared/models/lndModels'; styleUrls: ['./channel-status-info.component.scss'] }) export class ChannelStatusInfoComponent { + @Input() channelsStatus: ChannelsStatus = {}; + @Input() errorMessage: string; constructor() {} diff --git a/src/app/lnd/home/fee-info/fee-info.component.html b/src/app/lnd/home/fee-info/fee-info.component.html index e691530d..8e85f140 100644 --- a/src/app/lnd/home/fee-info/fee-info.component.html +++ b/src/app/lnd/home/fee-info/fee-info.component.html @@ -1,36 +1,43 @@ -
-
-

Daily

-
{{fees?.day_fee_sum | number}} Sats
+
+
+
+

Daily

+
{{fees?.day_fee_sum | number}} Sats
+
+
+

Weekly

+
{{fees?.week_fee_sum | number}} Sats
+
+
+

Monthly

+
{{fees?.month_fee_sum | number}} Sats
+
+
+

+ +
-
-

Weekly

-
{{fees?.week_fee_sum | number}} Sats
+
+
+

Transactions

+
{{fees?.daily_tx_count | number}}
+
+
+

Transactions

+
{{fees?.weekly_tx_count | number}}
+
+
+

Transactions

+
{{fees?.monthly_tx_count | number}}
+
+
+

+ +
-
-

Monthly

-
{{fees?.month_fee_sum | number}} Sats
-
-
-

- -
-
-
-

Transactions

-
{{fees?.daily_tx_count | number}}
-
-
-

Transactions

-
{{fees?.weekly_tx_count | number}}
+ +
+

{{errorMessage}}

-
-

Transactions

-
{{fees?.monthly_tx_count | number}}
-
-
-

- -
-
+ diff --git a/src/app/lnd/home/fee-info/fee-info.component.spec.ts b/src/app/lnd/home/fee-info/fee-info.component.spec.ts index fb210a44..7c655b8f 100644 --- a/src/app/lnd/home/fee-info/fee-info.component.spec.ts +++ b/src/app/lnd/home/fee-info/fee-info.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { FeeInfoComponent } from './fee-info.component'; @@ -6,11 +6,11 @@ describe('FeeInfoComponent', () => { let component: FeeInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ FeeInfoComponent ] - }) - .compileComponents(); + declarations: [FeeInfoComponent] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +22,8 @@ describe('FeeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/fee-info/fee-info.component.ts b/src/app/lnd/home/fee-info/fee-info.component.ts index c09d1bee..5a2dd097 100644 --- a/src/app/lnd/home/fee-info/fee-info.component.ts +++ b/src/app/lnd/home/fee-info/fee-info.component.ts @@ -7,21 +7,23 @@ import { Fees } from '../../../shared/models/lndModels'; styleUrls: ['./fee-info.component.scss'] }) export class FeeInfoComponent implements OnChanges { + @Input() fees: Fees; - totalFees = [{'name': 'Monthly', 'value': 0}, {'name': 'Weekly', 'value': 0}, {'name': 'Daily', 'value': 0}]; + @Input() errorMessage: string; + totalFees = [{ name: 'Monthly', value: 0 }, { name: 'Weekly', value: 0 }, { name: 'Daily', value: 0 }]; maxFeeValue = 100; - constructor() {} + constructor() { } ngOnChanges() { - if(this.fees.month_fee_sum) { - this.totalFees = [{'name': 'Monthly', 'value': this.fees.month_fee_sum}, {'name': 'Weekly', 'value': this.fees.week_fee_sum}, {'name': 'Daily ', 'value': this.fees.day_fee_sum}]; - let e = Math.ceil(Math.log(this.fees.month_fee_sum + 1) / Math.LN10); - let m = Math.pow(10, e - 1); + if (this.fees.month_fee_sum) { + this.totalFees = [{ name: 'Monthly', value: this.fees.month_fee_sum }, { name: 'Weekly', value: this.fees.week_fee_sum }, { name: 'Daily ', value: this.fees.day_fee_sum }]; + const e = Math.ceil(Math.log(this.fees.month_fee_sum + 1) / Math.LN10); + const m = 10 ** (e - 1); this.maxFeeValue = (Math.ceil(this.fees.month_fee_sum / m) * m) / 5 || 100; Object.assign(this, this.totalFees); } else { - this.totalFees = [{'name': 'Monthly', 'value': 0}, {'name': 'Weekly', 'value': 0}, {'name': 'Daily', 'value': 0}]; + this.totalFees = [{ name: 'Monthly', value: 0 }, { name: 'Weekly', value: 0 }, { name: 'Daily', value: 0 }]; this.maxFeeValue = 100; Object.assign(this, this.totalFees); } diff --git a/src/app/lnd/home/home.component.html b/src/app/lnd/home/home.component.html index cfb0ef11..c91f9ca0 100644 --- a/src/app/lnd/home/home.component.html +++ b/src/app/lnd/home/home.component.html @@ -1,7 +1,7 @@
- - {{!flgLoading[0] ? 'Welcome ' + information.alias + '! Your node is up and running.' : 'Error! Please check the server connection.'}} + + {{apisCallStatus?.FetchInfo.status === apiCallStatusEnum.COMPLETED ? 'Welcome ' + information.alias + '! Your node is up and running.' : apisCallStatus?.FetchInfo.status === apiCallStatusEnum.INITIATED ? 'Wait! Getting your node information...' : 'Error! Please check the server connection.'}}
@@ -24,13 +24,26 @@
- + +
- - - - - + + + + +

Error! Unable to find information!

@@ -62,12 +75,21 @@
- + +
- - - - + + + + diff --git a/src/app/lnd/home/home.component.spec.ts b/src/app/lnd/home/home.component.spec.ts index 490e81bd..e3a7008c 100644 --- a/src/app/lnd/home/home.component.spec.ts +++ b/src/app/lnd/home/home.component.spec.ts @@ -1,16 +1,48 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; import { HomeComponent } from './home.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { ChannelStatusInfoComponent } from './channel-status-info/channel-status-info.component'; +import { ChannelCapacityInfoComponent } from './channel-capacity-info/channel-capacity-info.component'; +import { ChannelLiquidityInfoComponent } from './channel-liquidity-info/channel-liquidity-info.component'; +import { BalancesInfoComponent } from './balances-info/balances-info.component'; +import { FeeInfoComponent } from './fee-info/fee-info.component'; +import { NodeInfoComponent } from './node-info/node-info.component'; +import { EffectsModule } from '@ngrx/effects'; +import { DataService } from '../../shared/services/data.service'; describe('HomeComponent', () => { let component: HomeComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ HomeComponent ] - }) - .compileComponents(); + declarations: [HomeComponent, BalancesInfoComponent, ChannelCapacityInfoComponent, ChannelLiquidityInfoComponent, ChannelStatusInfoComponent, FeeInfoComponent, NodeInfoComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +54,8 @@ describe('HomeComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/home.component.ts b/src/app/lnd/home/home.component.ts index 61f59ced..48f95f8a 100644 --- a/src/app/lnd/home/home.component.ts +++ b/src/app/lnd/home/home.component.ts @@ -9,7 +9,8 @@ import { faAngleDoubleDown, faAngleDoubleUp, faChartPie, faBolt, faServer, faNet import { LoggerService } from '../../shared/services/logger.service'; import { CommonService } from '../../shared/services/common.service'; -import { UserPersonaEnum, ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; +import { UserPersonaEnum, ScreenSizeEnum, APICallStatusEnum } from '../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../shared/models/apiCallsPayload'; import { ChannelsStatus, GetInfo, Fees, Channel } from '../../shared/models/lndModels'; import { SelNodeChild } from '../../shared/models/RTLconfig'; @@ -20,7 +21,7 @@ export interface Tile { id: string; title: string; cols: number; - rows: number; + rows: number; goTo?: string; link?: string; icon?: any; @@ -32,6 +33,7 @@ export interface Tile { styleUrls: ['./home.component.scss'] }) export class HomeComponent implements OnInit, OnDestroy { + public faSmile = faSmile; public faFrown = faFrown; public faAngleDoubleDown = faAngleDoubleDown; @@ -39,12 +41,12 @@ export class HomeComponent implements OnInit, OnDestroy { public faChartPie = faChartPie; public faBolt = faBolt; public faServer = faServer; - public faNetworkWired = faNetworkWired; + public faNetworkWired = faNetworkWired; public flgChildInfoUpdated = false; public userPersonaEnum = UserPersonaEnum; public activeChannels = 0; public inactiveChannels = 0; - public channelBalances = {localBalance: 0, remoteBalance: 0, balancedness: 0}; + public channelBalances = { localBalance: 0, remoteBalance: 0, balancedness: 0 }; public selNode: SelNodeChild = {}; public fees: Fees; public information: GetInfo = {}; @@ -63,10 +65,12 @@ export class HomeComponent implements OnInit, OnDestroy { public merchantCardHeight = '65px'; public sortField = 'Balance Score'; public screenSizeEnum = ScreenSizeEnum; - public flgLoading: Array = [true, true, true, true, true, true, true, true]; // 0: Info, 1: Fee, 2: Wallet, 3: Channel, 4: Network + public errorMessages = ['', '', '', '', '']; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private actions$: Actions, private commonService: CommonService, private router: Router) { + constructor(private logger: LoggerService, private store: Store, private actions: Actions, private commonService: CommonService, private router: Router) { this.screenSize = this.commonService.getScreenSize(); switch (this.screenSize) { case ScreenSizeEnum.XS: @@ -100,7 +104,7 @@ export class HomeComponent implements OnInit, OnDestroy { { id: 'outboundLiq', goTo: 'Channels', link: '/lnd/connections', icon: this.faAngleDoubleUp, title: 'Out-Bound Liquidity', cols: 3, rows: 8 } ]; break; - + case ScreenSizeEnum.MD: this.operatorCards = [ { id: 'node', icon: this.faServer, title: 'Node Information', cols: 5, rows: 1 }, @@ -136,71 +140,76 @@ export class HomeComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.flgLoading = [true, true, true, true, true, true, true, true]; - rtlStore.effectErrors.forEach(effectsErr => { - this.flgLoading[0] = (effectsErr.action === 'FetchInfo') ? 'error' : this.flgLoading[0]; - this.flgLoading[1] = (effectsErr.action === 'FetchFees') ? 'error' : this.flgLoading[1]; - this.flgLoading[2] = (effectsErr.action === 'FetchBalance/channels') ? 'error' : this.flgLoading[2]; - this.flgLoading[3] = (effectsErr.action === 'FetchChannels/all') ? 'error' : this.flgLoading[3]; - this.flgLoading[4] = (effectsErr.action === 'FetchChannels/pending') ? 'error' : this.flgLoading[4]; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.errorMessages = ['', '', '', '', '']; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) { + this.errorMessages[0] = (typeof (this.apisCallStatus.FetchInfo.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInfo.message) : this.apisCallStatus.FetchInfo.message; + } + if (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) { + this.errorMessages[1] = (typeof (this.apisCallStatus.FetchFees.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFees.message) : this.apisCallStatus.FetchFees.message; + } + if (rtlStore.apisCallStatus.FetchBalanceBlockchain.status === APICallStatusEnum.ERROR) { + this.errorMessages[2] = (typeof (this.apisCallStatus.FetchBalanceBlockchain.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchBalanceBlockchain.message) : this.apisCallStatus.FetchBalanceBlockchain.message; + } + if (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[3] = (typeof (this.apisCallStatus.FetchAllChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchAllChannels.message) : this.apisCallStatus.FetchAllChannels.message; + } + if (rtlStore.apisCallStatus.FetchPendingChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[4] = (typeof (this.apisCallStatus.FetchPendingChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPendingChannels.message) : this.apisCallStatus.FetchPendingChannels.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.fees = rtlStore.fees; + this.balances.onchain = (+rtlStore.blockchainBalance.total_balance >= 0) ? +rtlStore.blockchainBalance.total_balance : 0; + const local = (rtlStore.totalLocalBalance) ? +rtlStore.totalLocalBalance : 0; + const remote = (rtlStore.totalRemoteBalance) ? +rtlStore.totalRemoteBalance : 0; + const total = local + remote; + this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local - remote) / total)).toFixed(3) }; + this.balances.lightning = rtlStore.totalLocalBalance; + this.balances.total = this.balances.lightning + this.balances.onchain; + this.balances = Object.assign({}, this.balances); + this.activeChannels = rtlStore.numberOfActiveChannels; + this.inactiveChannels = rtlStore.numberOfInactiveChannels; + this.channelsStatus = { + active: { channels: rtlStore.numberOfActiveChannels, capacity: rtlStore.totalCapacityActive }, + inactive: { channels: rtlStore.numberOfInactiveChannels, capacity: rtlStore.totalCapacityInactive }, + pending: { channels: rtlStore.numberOfPendingChannels.open.num_channels, capacity: rtlStore.numberOfPendingChannels.open.limbo_balance }, + closing: { + channels: rtlStore.numberOfPendingChannels.closing.num_channels + rtlStore.numberOfPendingChannels.force_closing.num_channels + rtlStore.numberOfPendingChannels.waiting_close.num_channels, + capacity: rtlStore.numberOfPendingChannels.total_limbo_balance + } + }; + this.totalInboundLiquidity = 0; + this.totalOutboundLiquidity = 0; + this.allChannels = rtlStore.allChannels.filter((channel) => channel.active === true); + this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))); + this.allInboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter((channel) => channel.remote_balance > 0), 'remote_balance'))); + this.allOutboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter((channel) => channel.local_balance > 0), 'local_balance'))); + this.allChannels.forEach((channel) => { + this.totalInboundLiquidity = this.totalInboundLiquidity + +channel.remote_balance; + this.totalOutboundLiquidity = this.totalOutboundLiquidity + +channel.local_balance; + }); + if (this.balances.lightning >= 0 && this.balances.onchain >= 0 && this.fees.month_fee_sum >= 0) { + this.flgChildInfoUpdated = true; + } else { + this.flgChildInfoUpdated = false; + } + this.logger.info(rtlStore); }); - this.flgLoading[0] = (rtlStore.information.identity_pubkey) ? false : this.flgLoading[0]; - this.flgLoading[1] = (rtlStore.fees.day_fee_sum) ? false : this.flgLoading[1]; - this.flgLoading[2] = (+rtlStore.blockchainBalance.total_balance >= 0 && rtlStore.totalLocalBalance >= 0) ? false : this.flgLoading[2]; - this.flgLoading[3] = (rtlStore.totalLocalBalance >= 0 && rtlStore.totalRemoteBalance >= 0) ? false : this.flgLoading[3]; - this.flgLoading[4] = (this.flgLoading[4] !== 'error' && rtlStore.numberOfPendingChannels) ? false : this.flgLoading[4]; - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.fees = rtlStore.fees; - this.balances.onchain = (+rtlStore.blockchainBalance.total_balance >= 0) ? +rtlStore.blockchainBalance.total_balance : 0; - let local = (rtlStore.totalLocalBalance) ? +rtlStore.totalLocalBalance : 0; - let remote = (rtlStore.totalRemoteBalance) ? +rtlStore.totalRemoteBalance : 0; - let total = local + remote; - this.channelBalances = { localBalance: local, remoteBalance: remote, balancedness: +(1 - Math.abs((local-remote)/total)).toFixed(3) }; - this.balances.lightning = rtlStore.totalLocalBalance; - this.balances.total = this.balances.lightning + this.balances.onchain; - this.balances = Object.assign({}, this.balances); - this.activeChannels = rtlStore.numberOfActiveChannels; - this.inactiveChannels = rtlStore.numberOfInactiveChannels; - this.channelsStatus = { - active: { channels: rtlStore.numberOfActiveChannels, capacity: rtlStore.totalCapacityActive }, - inactive: { channels: rtlStore.numberOfInactiveChannels, capacity: rtlStore.totalCapacityInactive }, - pending: { channels: rtlStore.numberOfPendingChannels.open.num_channels, capacity: rtlStore.numberOfPendingChannels.open.limbo_balance }, - closing: { - channels: rtlStore.numberOfPendingChannels.closing.num_channels + rtlStore.numberOfPendingChannels.force_closing.num_channels + rtlStore.numberOfPendingChannels.waiting_close.num_channels, - capacity: rtlStore.numberOfPendingChannels.total_limbo_balance + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === LNDActions.FETCH_FEES_LND || action.type === LNDActions.SET_FEES_LND)). + subscribe((action) => { + if (action.type === LNDActions.FETCH_FEES_LND) { + this.flgChildInfoUpdated = false; + } + if (action.type === LNDActions.SET_FEES_LND) { + this.flgChildInfoUpdated = true; } - }; - this.totalInboundLiquidity = 0; - this.totalOutboundLiquidity = 0; - this.allChannels = rtlStore.allChannels.filter(channel => channel.active === true); - this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))); - this.allInboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(channel => channel.remote_balance > 0), 'remote_balance'))); - this.allOutboundChannels = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels.filter(channel => channel.local_balance > 0), 'local_balance'))); - this.allChannels.forEach(channel => { - this.totalInboundLiquidity = this.totalInboundLiquidity + +channel.remote_balance; - this.totalOutboundLiquidity = this.totalOutboundLiquidity + +channel.local_balance; }); - if (this.balances.lightning >= 0 && this.balances.onchain >= 0 && this.fees.month_fee_sum >= 0) { - this.flgChildInfoUpdated = true; - } else { - this.flgChildInfoUpdated = false; - } - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === LNDActions.FETCH_FEES_LND || action.type === LNDActions.SET_FEES_LND)) - .subscribe(action => { - if(action.type === LNDActions.FETCH_FEES_LND) { - this.flgChildInfoUpdated = false; - } - if(action.type === LNDActions.SET_FEES_LND) { - this.flgChildInfoUpdated = true; - } - }); } onNavigateTo(link: string) { @@ -209,20 +218,20 @@ export class HomeComponent implements OnInit, OnDestroy { onsortChannelsBy() { if (this.sortField === 'Balance Score') { - this.sortField = 'Capacity'; - this.allChannelsCapacity = this.allChannels.sort(function (a, b) { + this.sortField = 'Capacity'; + this.allChannelsCapacity = this.allChannels.sort((a, b) => { const x = +a.local_balance + +a.remote_balance; const y = +b.local_balance + +b.remote_balance; return ((x > y) ? -1 : ((x < y) ? 1 : 0)); }); } else { - this.sortField = 'Balance Score'; + this.sortField = 'Balance Score'; this.allChannelsCapacity = JSON.parse(JSON.stringify(this.commonService.sortDescByKey(this.allChannels, 'balancedness'))); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/home/node-info/node-info.component.html b/src/app/lnd/home/node-info/node-info.component.html index a0d319db..73453364 100644 --- a/src/app/lnd/home/node-info/node-info.component.html +++ b/src/app/lnd/home/node-info/node-info.component.html @@ -2,20 +2,20 @@

Alias

- {{information.alias}} - + {{information?.alias}} +

Color

- - {{information.color | uppercase}} + + {{information?.color | uppercase}}

Implementation

-
{{(information.lnImplementation || information.version) ? information.lnImplementation + ' ' + information.version : ''}}
+
{{(information?.lnImplementation || information?.version) ? information?.lnImplementation + ' ' + information?.version : ''}}

Chain

diff --git a/src/app/lnd/home/node-info/node-info.component.spec.ts b/src/app/lnd/home/node-info/node-info.component.spec.ts index 08cad3af..d47a5788 100644 --- a/src/app/lnd/home/node-info/node-info.component.spec.ts +++ b/src/app/lnd/home/node-info/node-info.component.spec.ts @@ -1,4 +1,9 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; import { NodeInfoComponent } from './node-info.component'; @@ -6,11 +11,16 @@ describe('NodeInfoComponent', () => { let component: NodeInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NodeInfoComponent ] - }) - .compileComponents(); + declarations: [NodeInfoComponent], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +32,8 @@ describe('NodeInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/home/node-info/node-info.component.ts b/src/app/lnd/home/node-info/node-info.component.ts index 8582b4e9..04edc460 100644 --- a/src/app/lnd/home/node-info/node-info.component.ts +++ b/src/app/lnd/home/node-info/node-info.component.ts @@ -8,6 +8,7 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./node-info.component.scss'] }) export class NodeInfoComponent implements OnChanges { + @Input() information: GetInfo; @Input() showColorFieldSeparately: boolean; public chains: Array = ['']; @@ -15,9 +16,9 @@ export class NodeInfoComponent implements OnChanges { constructor(private commonService: CommonService) { } ngOnChanges() { - if(this.information && this.information.chains && this.information.chains.length > 0) { + if (this.information && this.information.chains && this.information.chains.length > 0) { this.chains = ['']; - this.information.chains.forEach(chain => { + this.information.chains.forEach((chain) => { this.chains.push(this.commonService.titleCase(chain.chain) + ' ' + this.commonService.titleCase(chain.network)); }); } diff --git a/src/app/lnd/lnd-root.component.ts b/src/app/lnd/lnd-root.component.ts index 6107024c..584da2eb 100644 --- a/src/app/lnd/lnd-root.component.ts +++ b/src/app/lnd/lnd-root.component.ts @@ -9,6 +9,7 @@ import { routeAnimation } from '../shared/animation/route-animation'; animations: [routeAnimation] }) export class LNDRootComponent { + loading = false; constructor(private router: Router) { @@ -28,6 +29,7 @@ export class LNDRootComponent { break; } } - }); + }); } + } diff --git a/src/app/lnd/lnd.module.ts b/src/app/lnd/lnd.module.ts index 863e0a52..ef5dba2e 100644 --- a/src/app/lnd/lnd.module.ts +++ b/src/app/lnd/lnd.module.ts @@ -124,7 +124,7 @@ import { LNDUnlockedGuard } from '../shared/services/auth.guard'; OnChainSendComponent, OnChainSendModalComponent, OnChainLabelModalComponent - ], + ], providers: [ LNDUnlockedGuard ], diff --git a/src/app/lnd/lnd.routing.ts b/src/app/lnd/lnd.routing.ts index e0d7f6a6..a91e1400 100644 --- a/src/app/lnd/lnd.routing.ts +++ b/src/app/lnd/lnd.routing.ts @@ -39,57 +39,57 @@ import { AuthGuard, LNDUnlockedGuard } from '../shared/services/auth.guard'; export const LndRoutes: Routes = [ { path: '', component: LNDRootComponent, children: [ - { path: '', pathMatch: 'full', redirectTo: 'home' }, - { path: 'home', component: HomeComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'wallet', component: WalletComponent, canActivate: [AuthGuard] }, - { path: 'onchain', component: OnChainComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'receive/utxos' }, - { path: 'receive/:selTab', component: OnChainReceiveComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'send/:selTab', component: OnChainSendComponent, data : {sweepAll : false}, canActivate: [LNDUnlockedGuard] }, - { path: 'sweep/:selTab', component: OnChainSendComponent, data : {sweepAll : true}, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'connections', component: ConnectionsComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'channels' }, - { path: 'channels', component: ChannelsTablesComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'open' }, - { path: 'open', component: ChannelOpenTableComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'pending', component: ChannelPendingTableComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'closed', component: ChannelClosedTableComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'activehtlcs', component: ChannelActiveHTLCsTableComponent, canActivate: [LNDUnlockedGuard] } + { path: '', pathMatch: 'full', redirectTo: 'home' }, + { path: 'home', component: HomeComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'wallet', component: WalletComponent, canActivate: [AuthGuard] }, + { path: 'onchain', component: OnChainComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'receive/utxos' }, + { path: 'receive/:selTab', component: OnChainReceiveComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'send/:selTab', component: OnChainSendComponent, data: { sweepAll: false }, canActivate: [LNDUnlockedGuard] }, + { path: 'sweep/:selTab', component: OnChainSendComponent, data: { sweepAll: true }, canActivate: [LNDUnlockedGuard] } ] }, - { path: 'peers', component: PeersComponent, data : {sweepAll : false}, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'transactions', component: TransactionsComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'payments' }, - { path: 'payments', component: LightningPaymentsComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'invoices', component: LightningInvoicesComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'queryroutes', component: QueryRoutesComponent, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'messages', component: SignVerifyMessageComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'sign' }, - { path: 'sign', component: SignComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'verify', component: VerifyComponent, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'channelbackup', component: BackupComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'bckup' }, - { path: 'bckup', component: ChannelBackupTableComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'restore', component: ChannelRestoreTableComponent, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'routing', component: RoutingComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'forwardinghistory' }, - { path: 'forwardinghistory', component: ForwardingHistoryComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'peers', component: RoutingPeersComponent, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'reports', component: ReportsComponent, canActivate: [LNDUnlockedGuard], children: [ - { path: '', pathMatch: 'full', redirectTo: 'routingfees' }, - { path: 'routingfees', component: FeeReportComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'transactions', component: TransactionsReportComponent, canActivate: [LNDUnlockedGuard] } - ] }, - { path: 'lookups', component: LookupsComponent, canActivate: [LNDUnlockedGuard] }, - { path: 'network', component: NetworkInfoComponent, canActivate: [LNDUnlockedGuard] }, - { path: '**', component: NotFoundComponent }, - { path: 'rates', redirectTo: 'network' } - ]} + { path: 'connections', component: ConnectionsComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'channels' }, + { path: 'channels', component: ChannelsTablesComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'open' }, + { path: 'open', component: ChannelOpenTableComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'pending', component: ChannelPendingTableComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'closed', component: ChannelClosedTableComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'activehtlcs', component: ChannelActiveHTLCsTableComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'peers', component: PeersComponent, data: { sweepAll: false }, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'transactions', component: TransactionsComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'payments' }, + { path: 'payments', component: LightningPaymentsComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'invoices', component: LightningInvoicesComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'queryroutes', component: QueryRoutesComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'messages', component: SignVerifyMessageComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'sign' }, + { path: 'sign', component: SignComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'verify', component: VerifyComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'channelbackup', component: BackupComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'bckup' }, + { path: 'bckup', component: ChannelBackupTableComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'restore', component: ChannelRestoreTableComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'routing', component: RoutingComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'forwardinghistory' }, + { path: 'forwardinghistory', component: ForwardingHistoryComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'peers', component: RoutingPeersComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'reports', component: ReportsComponent, canActivate: [LNDUnlockedGuard], children: [ + { path: '', pathMatch: 'full', redirectTo: 'routingfees' }, + { path: 'routingfees', component: FeeReportComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'transactions', component: TransactionsReportComponent, canActivate: [LNDUnlockedGuard] } + ] }, + { path: 'lookups', component: LookupsComponent, canActivate: [LNDUnlockedGuard] }, + { path: 'network', component: NetworkInfoComponent, canActivate: [LNDUnlockedGuard] }, + { path: '**', component: NotFoundComponent }, + { path: 'rates', redirectTo: 'network' } + ] } ]; export const LNDRouting: ModuleWithProviders = RouterModule.forChild(LndRoutes); diff --git a/src/app/lnd/lookups/channel-lookup/channel-lookup.component.spec.ts b/src/app/lnd/lookups/channel-lookup/channel-lookup.component.spec.ts index 919141e4..a6cfb372 100644 --- a/src/app/lnd/lookups/channel-lookup/channel-lookup.component.spec.ts +++ b/src/app/lnd/lookups/channel-lookup/channel-lookup.component.spec.ts @@ -1,25 +1,44 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { ChannelLookupComponent } from './channel-lookup.component'; describe('ChannelLookupComponent', () => { let component: ChannelLookupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelLookupComponent ] - }) - .compileComponents(); + declarations: [ChannelLookupComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ChannelLookupComponent); component = fixture.componentInstance; + component.lookupResult = {}; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/lookups/channel-lookup/channel-lookup.component.ts b/src/app/lnd/lookups/channel-lookup/channel-lookup.component.ts index cec7d563..a324e12f 100644 --- a/src/app/lnd/lookups/channel-lookup/channel-lookup.component.ts +++ b/src/app/lnd/lookups/channel-lookup/channel-lookup.component.ts @@ -12,6 +12,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./channel-lookup.component.scss'] }) export class ChannelLookupComponent implements OnInit { + @Input() lookupResult: ChannelEdge; public node1_match = false; public node2_match = false; @@ -20,16 +21,16 @@ export class ChannelLookupComponent implements OnInit { constructor(private store: Store) { } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if (this.lookupResult.node1_pub === rtlStore.information.identity_pubkey) { - this.node1_match = true; - } - if (this.lookupResult.node2_pub === rtlStore.information.identity_pubkey) { - this.node2_match = true; - } - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (this.lookupResult.node1_pub === rtlStore.information.identity_pubkey) { + this.node1_match = true; + } + if (this.lookupResult.node2_pub === rtlStore.information.identity_pubkey) { + this.node2_match = true; + } + }); } } diff --git a/src/app/lnd/lookups/lookups.component.html b/src/app/lnd/lookups/lookups.component.html index 432c85b6..3b784559 100644 --- a/src/app/lnd/lookups/lookups.component.html +++ b/src/app/lnd/lookups/lookups.component.html @@ -22,8 +22,12 @@
- -
+ +
+ + {{errorMessage}} +
+
{{lookupFields[selectedFieldId].name}} Details
diff --git a/src/app/lnd/lookups/lookups.component.spec.ts b/src/app/lnd/lookups/lookups.component.spec.ts index 428d1de1..8e96822b 100644 --- a/src/app/lnd/lookups/lookups.component.spec.ts +++ b/src/app/lnd/lookups/lookups.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; import { LookupsComponent } from './lookups.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('LookupsComponent', () => { let component: LookupsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LookupsComponent ] - }) - .compileComponents(); + declarations: [LookupsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('LookupsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/lookups/lookups.component.ts b/src/app/lnd/lookups/lookups.component.ts index a1f4cb43..d238f419 100644 --- a/src/app/lnd/lookups/lookups.component.ts +++ b/src/app/lnd/lookups/lookups.component.ts @@ -1,17 +1,17 @@ -import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; +import { Component, OnInit, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { faSearch } from '@fortawesome/free-solid-svg-icons'; +import { APICallStatusEnum, ScreenSizeEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../shared/models/apiCallsPayload'; +import { CommonService } from '../../shared/services/common.service'; import { LoggerService } from '../../shared/services/logger.service'; import * as LNDActions from '../store/lnd.actions'; -import * as RTLActions from '../../store/rtl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { ScreenSizeEnum } from '../../shared/services/consts-enums-functions'; -import { CommonService } from '../../shared/services/common.service'; @Component({ selector: 'rtl-lookups', @@ -19,7 +19,7 @@ import { CommonService } from '../../shared/services/common.service'; styleUrls: ['./lookups.component.scss'] }) export class LookupsComponent implements OnInit, OnDestroy { - @ViewChild('form', { static: true }) form: any; + public lookupKey = ''; public lookupValue = {}; public flgSetLookupValue = false; @@ -27,48 +27,54 @@ export class LookupsComponent implements OnInit, OnDestroy { public messageObj = []; public selectedFieldId = 0; public lookupFields = [ - { id: 0, name: 'Node', placeholder: 'Pubkey'}, - { id: 1, name: 'Channel', placeholder: 'Channel ID'} + { id: 0, name: 'Node', placeholder: 'Pubkey' }, + { id: 1, name: 'Channel', placeholder: 'Channel ID' } ]; - public flgLoading: Array = [true]; public faSearch = faSearch; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); } ngOnInit() { - this.actions$ - .pipe( - takeUntil(this.unSubs[0]), - filter((action) => (action.type === LNDActions.SET_LOOKUP_LND || action.type === LNDActions.EFFECT_ERROR_LND)) - ).subscribe((resLookup: LNDActions.SetLookup | LNDActions.EffectError) => { - if(resLookup.type === LNDActions.SET_LOOKUP_LND) { - this.flgLoading[0] = true; - this.lookupValue = JSON.parse(JSON.stringify(resLookup.payload)); - this.flgSetLookupValue = true; - this.logger.info(this.lookupValue); - } - if (resLookup.type === LNDActions.EFFECT_ERROR_LND && resLookup.payload.action === 'Lookup') { - this.flgLoading[0] = 'error'; - } - }); + this.actions.pipe(takeUntil(this.unSubs[0]), filter((action) => (action.type === LNDActions.SET_LOOKUP_LND || action.type === LNDActions.UPDATE_API_CALL_STATUS_LND))). + subscribe((resLookup: LNDActions.SetLookup | LNDActions.UpdateAPICallStatus) => { + if (resLookup.type === LNDActions.SET_LOOKUP_LND) { + this.errorMessage = (this.selectedFieldId === 0 && resLookup.payload.hasOwnProperty('node')) ? '' : (this.selectedFieldId === 1 && resLookup.payload.hasOwnProperty('channel_id')) ? '' : this.errorMessage; + this.lookupValue = JSON.parse(JSON.stringify(resLookup.payload)); + this.flgSetLookupValue = (this.selectedFieldId === 0 && resLookup.payload.hasOwnProperty('node')) ? true : !!((this.selectedFieldId === 1 && resLookup.payload.hasOwnProperty('channel_id'))); + this.logger.info(this.lookupValue); + } + if (resLookup.type === LNDActions.UPDATE_API_CALL_STATUS_LND && resLookup.payload.action === 'Lookup') { + this.errorMessage = ''; + if (resLookup.payload.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (resLookup.payload.message) === 'object') ? JSON.stringify(resLookup.payload.message) : resLookup.payload.message; + } + if (resLookup.payload.status === APICallStatusEnum.INITIATED) { + this.errorMessage = UI_MESSAGES.GET_LOOKUP_DETAILS; + } + } + }); } - onLookup():boolean|void { - if(!this.lookupKey) { return true; } + onLookup(): boolean | void { + if (!this.lookupKey) { + return true; + } this.flgSetLookupValue = false; this.lookupValue = {}; - this.store.dispatch(new RTLActions.OpenSpinner('Searching ' + this.lookupFields[this.selectedFieldId].name + '...')); switch (this.selectedFieldId) { case 0: this.store.dispatch(new LNDActions.PeerLookup(this.lookupKey.trim())); break; case 1: - this.store.dispatch(new LNDActions.ChannelLookup(this.lookupKey.trim())); + this.store.dispatch(new LNDActions.ChannelLookup({ uiMessage: UI_MESSAGES.SEARCHING_CHANNEL, channelID: this.lookupKey.trim() })); break; default: break; @@ -81,14 +87,11 @@ export class LookupsComponent implements OnInit, OnDestroy { } resetData() { - this.form.resetForm(); this.flgSetLookupValue = false; this.selectedFieldId = 0; this.lookupKey = ''; this.lookupValue = {}; - this.flgLoading.forEach((flg, i) => { - this.flgLoading[i] = true; - }); + this.errorMessage = ''; } clearLookupValue() { @@ -97,7 +100,7 @@ export class LookupsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/lookups/node-lookup/node-lookup.component.spec.ts b/src/app/lnd/lookups/node-lookup/node-lookup.component.spec.ts index 64bc61bf..5bf65181 100644 --- a/src/app/lnd/lookups/node-lookup/node-lookup.component.spec.ts +++ b/src/app/lnd/lookups/node-lookup/node-lookup.component.spec.ts @@ -1,4 +1,7 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoggerService } from '../../../shared/services/logger.service'; +import { SharedModule } from '../../../shared/shared.module'; import { NodeLookupComponent } from './node-lookup.component'; @@ -6,11 +9,13 @@ describe('NodeLookupComponent', () => { let component: NodeLookupComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NodeLookupComponent ] - }) - .compileComponents(); + declarations: [NodeLookupComponent], + imports: [SharedModule], + providers: [LoggerService] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +27,8 @@ describe('NodeLookupComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/lookups/node-lookup/node-lookup.component.ts b/src/app/lnd/lookups/node-lookup/node-lookup.component.ts index 5bd93e6e..a9e8010b 100644 --- a/src/app/lnd/lookups/node-lookup/node-lookup.component.ts +++ b/src/app/lnd/lookups/node-lookup/node-lookup.component.ts @@ -10,6 +10,7 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./node-lookup.component.scss'] }) export class NodeLookupComponent { + @Input() lookupResult: GraphNode; public displayedColumns = ['network', 'addr', 'actions']; @@ -17,6 +18,7 @@ export class NodeLookupComponent { onCopyNodeURI(payload: string) { this.snackBar.open('Node URI copied.'); - this.logger.info('Copied Text: ' + payload); + this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/lnd/network-info/network-info.component.html b/src/app/lnd/network-info/network-info.component.html index 1776570b..128e3990 100644 --- a/src/app/lnd/network-info/network-info.component.html +++ b/src/app/lnd/network-info/network-info.component.html @@ -10,11 +10,19 @@
- + +
- - - + + +
@@ -29,11 +37,12 @@ - + +
-
-
-
+
+
+
@@ -41,6 +50,11 @@
+ +
+

{{errorMessages[1]}}

+
+
diff --git a/src/app/lnd/network-info/network-info.component.spec.ts b/src/app/lnd/network-info/network-info.component.spec.ts index b1e1f1e9..2cf7474d 100644 --- a/src/app/lnd/network-info/network-info.component.spec.ts +++ b/src/app/lnd/network-info/network-info.component.spec.ts @@ -1,16 +1,39 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { CommonService } from '../../shared/services/common.service'; +import { LoggerService } from '../../shared/services/logger.service'; import { NetworkInfoComponent } from './network-info.component'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { DataService } from '../../shared/services/data.service'; describe('NetworkInfoComponent', () => { let component: NetworkInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NetworkInfoComponent ] - }) - .compileComponents(); + declarations: [NetworkInfoComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +45,8 @@ describe('NetworkInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/network-info/network-info.component.ts b/src/app/lnd/network-info/network-info.component.ts index 23bcd2a5..b4cb3fcc 100644 --- a/src/app/lnd/network-info/network-info.component.ts +++ b/src/app/lnd/network-info/network-info.component.ts @@ -7,10 +7,11 @@ import { faProjectDiagram, faBolt, faServer, faNetworkWired } from '@fortawesome import { LoggerService } from '../../shared/services/logger.service'; import { GetInfo, NetworkInfo, Fees, ChannelsStatus } from '../../shared/models/lndModels'; import { SelNodeChild } from '../../shared/models/RTLconfig'; +import { CommonService } from '../../shared/services/common.service'; +import { APICallStatusEnum, ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../shared/models/apiCallsPayload'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { CommonService } from '../../shared/services/common.service'; -import { ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-network-info', @@ -18,10 +19,11 @@ import { ScreenSizeEnum, UserPersonaEnum } from '../../shared/services/consts-en styleUrls: ['./network-info.component.scss'] }) export class NetworkInfoComponent implements OnInit, OnDestroy { + public faProjectDiagram = faProjectDiagram; public faBolt = faBolt; public faServer = faServer; - public faNetworkWired = faNetworkWired; + public faNetworkWired = faNetworkWired; public selNode: SelNodeChild = {}; public information: GetInfo = {}; public fees: Fees; @@ -32,12 +34,14 @@ export class NetworkInfoComponent implements OnInit, OnDestroy { public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; public userPersonaEnum = UserPersonaEnum; - public flgLoading: Array = [true, true, true, true, true, true]; + public errorMessages = ['', '', '', '', '']; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.networkCards = [ { id: 'general', cols: 3, rows: 1 }, { id: 'channels', cols: 3, rows: 1 }, @@ -49,7 +53,7 @@ export class NetworkInfoComponent implements OnInit, OnDestroy { { id: 'fee', icon: this.faBolt, title: 'Routing Fee', cols: 3, rows: 1 } ]; } else { - this.networkCards = [ + this.networkCards = [ { id: 'general', cols: 1, rows: 1 }, { id: 'channels', cols: 1, rows: 1 }, { id: 'degrees', cols: 1, rows: 1 } @@ -63,64 +67,49 @@ export class NetworkInfoComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInfo') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessages = ['', '', '', '', '']; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) { + this.errorMessages[0] = (typeof (this.apisCallStatus.FetchInfo.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInfo.message) : this.apisCallStatus.FetchInfo.message; } - if (effectsErr.action === 'FetchNetwork') { - this.flgLoading[1] = 'error'; + if (rtlStore.apisCallStatus.FetchNetwork.status === APICallStatusEnum.ERROR) { + this.errorMessages[1] = (typeof (this.apisCallStatus.FetchNetwork.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchNetwork.message) : this.apisCallStatus.FetchNetwork.message; } - if (effectsErr.action === 'FetchFees') { - this.flgLoading[2] = 'error'; + if (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) { + this.errorMessages[2] = (typeof (this.apisCallStatus.FetchFees.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchFees.message) : this.apisCallStatus.FetchFees.message; } - if (effectsErr.action === 'FetchChannels/all') { - this.flgLoading[3] = 'error'; + if (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[3] = (typeof (this.apisCallStatus.FetchAllChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchAllChannels.message) : this.apisCallStatus.FetchAllChannels.message; } - if (effectsErr.action === 'FetchChannels/pending') { - this.flgLoading[4] = 'error'; + if (rtlStore.apisCallStatus.FetchPendingChannels.status === APICallStatusEnum.ERROR) { + this.errorMessages[4] = (typeof (this.apisCallStatus.FetchPendingChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPendingChannels.message) : this.apisCallStatus.FetchPendingChannels.message; } - }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.information.identity_pubkey) ? false : true; - } - this.networkInfo = rtlStore.networkInfo; - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = ( this.networkInfo.num_nodes) ? false : true; - } - - this.fees = rtlStore.fees; - if (this.flgLoading[2] !== 'error') { - this.flgLoading[2] = ( this.fees.day_fee_sum) ? false : true; - } - this.channelsStatus = { - active: { channels: rtlStore.numberOfActiveChannels, capacity: rtlStore.totalCapacityActive }, - inactive: { channels: rtlStore.numberOfInactiveChannels, capacity: rtlStore.totalCapacityInactive }, - pending: { channels: rtlStore.numberOfPendingChannels.open.num_channels, capacity: rtlStore.numberOfPendingChannels.open.limbo_balance }, - closing: { - channels: rtlStore.numberOfPendingChannels.closing.num_channels + rtlStore.numberOfPendingChannels.force_closing.num_channels + rtlStore.numberOfPendingChannels.waiting_close.num_channels, - capacity: rtlStore.numberOfPendingChannels.total_limbo_balance - } - }; - if (rtlStore.totalLocalBalance >= 0 && rtlStore.totalRemoteBalance >= 0 && this.flgLoading[3] !== 'error') { - this.flgLoading[3] = false; - } - if (rtlStore.numberOfPendingChannels && this.flgLoading[4] !== 'error') { - this.flgLoading[4] = false; - } - this.logger.info(rtlStore); - }); + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.networkInfo = rtlStore.networkInfo; + this.fees = rtlStore.fees; + this.channelsStatus = { + active: { channels: rtlStore.numberOfActiveChannels, capacity: rtlStore.totalCapacityActive }, + inactive: { channels: rtlStore.numberOfInactiveChannels, capacity: rtlStore.totalCapacityInactive }, + pending: { channels: rtlStore.numberOfPendingChannels.open.num_channels, capacity: rtlStore.numberOfPendingChannels.open.limbo_balance }, + closing: { + channels: rtlStore.numberOfPendingChannels.closing.num_channels + rtlStore.numberOfPendingChannels.force_closing.num_channels + rtlStore.numberOfPendingChannels.waiting_close.num_channels, + capacity: rtlStore.numberOfPendingChannels.total_limbo_balance + } + }; + this.logger.info(rtlStore); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.spec.ts b/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.spec.ts index af54d14a..04013f75 100644 --- a/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.spec.ts +++ b/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { DataService } from '../../../shared/services/data.service'; import { OnChainLabelModalComponent } from './on-chain-label-modal.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('OnChainLabelModalComponent', () => { let component: OnChainLabelModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainLabelModalComponent ] - }) - .compileComponents(); + declarations: [OnChainLabelModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { utxo: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('OnChainLabelModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.ts b/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.ts index 8fd16235..08deef16 100644 --- a/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.ts +++ b/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.ts @@ -21,7 +21,8 @@ import { CommonService } from '../../../shared/services/common.service'; styleUrls: ['./on-chain-label-modal.component.scss'] }) export class OnChainLabelModalComponent implements OnInit, OnDestroy { - @ViewChild('form', { static: true }) form: any; + + @ViewChild('form', { static: true }) form: any; public faExclamationTriangle = faExclamationTriangle; public utxo: UTXO = null; public label = ''; @@ -36,31 +37,29 @@ export class OnChainLabelModalComponent implements OnInit, OnDestroy { } onLabelUTXO(): boolean|void { - if(!this.label || this.label === '') { return true; } + if (!this.label || this.label === '') { + return true; + } this.labelError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Labelling UTXO...')); - this.dataService.labelUTXO(this.utxo.outpoint.txid_bytes, this.label, true) - .pipe(takeUntil(this.unSubs[0])) - .subscribe(res => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.FetchTransactions()); - this.store.dispatch(new LNDActions.FetchUTXOs()); - this.snackBar.open('Successfully labelled the UTXO.'); - this.dialogRef.close(); - }, (err) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.labelError = err.error && err.error.error && err.error.error.error ? err.error.error.error : err.error && err.error.error ? err.error.error : err.error ? err.error : err; - this.labelError = (typeof this.labelError === 'string') ? this.commonService.titleCase(this.labelError) : JSON.stringify(this.labelError); - }); + this.dataService.labelUTXO(this.utxo.outpoint.txid_bytes, this.label, true). + pipe(takeUntil(this.unSubs[0])). + subscribe({ next: (res) => { + this.store.dispatch(new LNDActions.FetchTransactions()); + this.store.dispatch(new LNDActions.FetchUTXOs()); + this.snackBar.open('Successfully labelled the UTXO.'); + this.dialogRef.close(); + }, error: (err) => { + this.labelError = err; + } }); } resetData() { - this.labelError = ''; - this.label = ''; + this.labelError = ''; + this.label = ''; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.spec.ts b/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.spec.ts index eae10a16..bfb68241 100644 --- a/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.spec.ts +++ b/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.spec.ts @@ -1,16 +1,35 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; +import { mockLNDEffects } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LNDEffects } from '../../store/lnd.effects'; import { OnChainReceiveComponent } from './on-chain-receive.component'; describe('OnChainReceiveComponent', () => { let component: OnChainReceiveComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainReceiveComponent ] - }) - .compileComponents(); + declarations: [OnChainReceiveComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LNDEffects, useClass: mockLNDEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +41,8 @@ describe('OnChainReceiveComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.ts b/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.ts index a6ee6924..416513ee 100644 --- a/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.ts +++ b/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.ts @@ -17,6 +17,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-receive.component.scss'] }) export class OnChainReceiveComponent { + public addressTypes = ADDRESS_TYPES; public selectedAddressType: AddressType = ADDRESS_TYPES[0]; public newAddress = ''; @@ -24,21 +25,20 @@ export class OnChainReceiveComponent { constructor(private store: Store, private lndEffects: LNDEffects) {} onGenerateAddress() { - this.store.dispatch(new RTLActions.OpenSpinner('Getting New Address...')); this.store.dispatch(new LNDActions.GetNewAddress(this.selectedAddressType)); - this.lndEffects.setNewAddress - .pipe(take(1)) - .subscribe(newAddress => { - this.newAddress = newAddress; - this.store.dispatch(new RTLActions.OpenAlert({ - width: '58%', - data: { - address: this.newAddress, - addressType: this.selectedAddressType.addressTp, - component: OnChainGeneratedAddressComponent - } - })); - }); + this.lndEffects.setNewAddress. + pipe(take(1)). + subscribe((newAddress) => { + this.newAddress = newAddress; + this.store.dispatch(new RTLActions.OpenAlert({ + width: '58%', + data: { + address: this.newAddress, + addressType: this.selectedAddressType.addressTp, + component: OnChainGeneratedAddressComponent + } + })); + }); } } diff --git a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.html b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.html index 61f04a51..d12e67a7 100644 --- a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.html +++ b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.html @@ -15,7 +15,7 @@ {{selAmountUnit}} - Amount is required. + {{amountError}} @@ -35,7 +35,7 @@ Number of blocks is required. - + Fees is required.
@@ -90,7 +90,7 @@ Number of blocks is required. - + Fees is required.
diff --git a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts index 72e2abd6..e43211b1 100644 --- a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts +++ b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { OnChainSendModalComponent } from './on-chain-send-modal.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('OnChainSendModalComponent', () => { let component: OnChainSendModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainSendModalComponent ] - }) - .compileComponents(); + declarations: [OnChainSendModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { sweepAll: true } }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('OnChainSendModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts index e1396732..75cc370a 100644 --- a/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts +++ b/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.ts @@ -7,20 +7,18 @@ import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { OnChainSendFunds } from '../../../shared/models/alertData'; -import { SelNodeChild, GetInfoRoot } from '../../../shared/models/RTLconfig'; +import { SelNodeChild, GetInfoRoot, RTLConfiguration } from '../../../shared/models/RTLconfig'; import { GetInfo, Balance, AddressType } from '../../../shared/models/lndModels'; -import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS } from '../../../shared/services/consts-enums-functions'; -import { RTLConfiguration } from '../../../shared/models/RTLconfig'; +import { CURRENCY_UNITS, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; import * as sha256 from 'sha256'; import { RTLEffects } from '../../../store/rtl.effects'; - import * as LNDActions from '../../store/lnd.actions'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @@ -31,16 +29,16 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-send-modal.component.scss'] }) export class OnChainSendModalComponent implements OnInit, OnDestroy { - @ViewChild('form', { static: true }) form: any; - @ViewChild('formSweepAll', { static: false }) formSweepAll: any; - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('form', { static: true }) form: any; + @ViewChild('formSweepAll', { static: false }) formSweepAll: any; + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public sweepAll = false; public selNode: SelNodeChild = {}; public appConfig: RTLConfiguration; public nodeData: GetInfoRoot; public addressTypes = []; - public flgLoadingWallet: Boolean | 'error' = true; public selectedAddress: AddressType = {}; public blockchainBalance: Balance = {}; public information: GetInfo = {}; @@ -49,7 +47,7 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { public transactionAmount = null; public transactionFees = null; public transactionBlocks = null; - public transTypes = [{id: '1', name: 'Target Confirmation Blocks'}, {id: '2', name: 'Fee'}]; + public transTypes = [{ id: '1', name: 'Target Confirmation Blocks' }, { id: '2', name: 'Fee' }]; public selTransType = '1'; public fiatConversion = false; public amountUnits = CURRENCY_UNITS; @@ -63,12 +61,13 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { public passwordFormLabel = 'Authenticate with your RTL password'; public sendFundFormLabel = 'Sweep funds'; public confirmFormLabel = 'Confirm sweep'; + public amountError = 'Amount is Required.'; passwordFormGroup: FormGroup; - sendFundFormGroup: FormGroup; - confirmFormGroup: FormGroup; + sendFundFormGroup: FormGroup; + confirmFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OnChainSendFunds, private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService, private decimalPipe: DecimalPipe, private snackBar: MatSnackBar, private actions$: Actions, private formBuilder: FormBuilder) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OnChainSendFunds, private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService, private decimalPipe: DecimalPipe, private snackBar: MatSnackBar, private actions: Actions, private formBuilder: FormBuilder) { } ngOnInit() { this.sweepAll = this.data.sweepAll; @@ -82,8 +81,8 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { transactionFees: [null], selTransType: ['1', Validators.required] }); - this.confirmFormGroup = this.formBuilder.group({}); - this.sendFundFormGroup.controls.selTransType.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe(transType => { + this.confirmFormGroup = this.formBuilder.group({}); + this.sendFundFormGroup.controls.selTransType.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe((transType) => { if (transType === '1') { this.sendFundFormGroup.controls.transactionBlocks.setValidators([Validators.required]); this.sendFundFormGroup.controls.transactionBlocks.setValue(null); @@ -96,60 +95,54 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { this.sendFundFormGroup.controls.transactionFees.setValue(null); } }); - this.store.select('root') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rootStore) => { - this.fiatConversion = rootStore.selNode.settings.fiatConversion; - this.amountUnits = rootStore.selNode.settings.currencyUnits; - this.appConfig = rootStore.appConfig; - this.nodeData = rootStore.nodeData; - this.logger.info(rootStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter(action => action.type === LNDActions.EFFECT_ERROR_LND || action.type === LNDActions.SET_CHANNEL_TRANSACTION_RES_LND)) - .subscribe((action: LNDActions.EffectError | LNDActions.SetChannelTransactionRes) => { - if (action.type === LNDActions.SET_CHANNEL_TRANSACTION_RES_LND) { - this.store.dispatch(new RTLActions.OpenSnackBar(this.sweepAll ? 'All Funds Sent Successfully!' : 'Fund Sent Successfully!')); - this.dialogRef.close(); - } - if (action.type === LNDActions.EFFECT_ERROR_LND && action.payload.action === 'SetChannelTransaction') { - this.sendFundError = action.payload.message; - } - }); - + this.store.select('root'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rootStore) => { + this.fiatConversion = rootStore.selNode.settings.fiatConversion; + this.amountUnits = rootStore.selNode.settings.currencyUnits; + this.appConfig = rootStore.appConfig; + this.nodeData = rootStore.nodeData; + this.logger.info(rootStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.SET_CHANNEL_TRANSACTION_RES_LND)). + subscribe((action: LNDActions.UpdateAPICallStatus | LNDActions.SetChannelTransactionRes) => { + if (action.type === LNDActions.SET_CHANNEL_TRANSACTION_RES_LND) { + this.store.dispatch(new RTLActions.OpenSnackBar(this.sweepAll ? 'All Funds Sent Successfully!' : 'Fund Sent Successfully!')); + this.dialogRef.close(); + } + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SetChannelTransaction') { + this.sendFundError = action.payload.message; + } + }); } - onAuthenticate():boolean|void { - if (!this.passwordFormGroup.controls.password.value) { return true; } + onAuthenticate(): boolean | void { + if (!this.passwordFormGroup.controls.password.value) { + return true; + } this.flgValidated = false; this.store.dispatch(new RTLActions.IsAuthorized(sha256(this.passwordFormGroup.controls.password.value))); - this.rtlEffects.isAuthorizedRes - .pipe(take(1)) - .subscribe(authRes => { - if (authRes !== 'ERROR') { - this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); - this.stepper.next(); - } else { - this.dialogRef.close(); - this.snackBar.open('Unauthorized User. Logging out from RTL.'); - } - }); + this.rtlEffects.isAuthorizedRes.pipe(take(1)). + subscribe((authRes) => { + if (authRes !== 'ERROR') { + this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); + this.stepper.next(); + } else { + this.dialogRef.close(); + this.snackBar.open('Unauthorized User. Logging out from RTL.'); + } + }); } - onSendFunds():boolean|void { - if(this.invalidValues) { return true; } - this.sendFundError = ''; - let amount = this.transactionAmount ? this.transactionAmount : 0; - if(this.transactionAmount && this.selAmountUnit !== CurrencyUnitEnum.SATS) { - this.commonService.convertCurrency(amount, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - amount = +this.decimalPipe.transform(data[this.amountUnits[0]], this.currencyUnitFormats[this.amountUnits[0]]).replace(/,/g, ''); - }); + onSendFunds(): boolean | void { + if (this.invalidValues) { + return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Sending Funds...')); + this.sendFundError = ''; const postTransaction = { - amount: amount, + amount: this.transactionAmount ? this.transactionAmount : 0, sendAll: this.sweepAll }; if (this.sweepAll) { @@ -169,21 +162,38 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { postTransaction['fees'] = this.transactionFees; } } - this.store.dispatch(new LNDActions.SetChannelTransaction(postTransaction)); + if (this.transactionAmount && this.selAmountUnit !== CurrencyUnitEnum.SATS) { + this.commonService.convertCurrency(this.transactionAmount, this.selAmountUnit === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : this.selAmountUnit, CurrencyUnitEnum.SATS, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ + next: (data) => { + this.selAmountUnit = CurrencyUnitEnum.SATS; + postTransaction.amount = +this.decimalPipe.transform(data[this.amountUnits[0]], this.currencyUnitFormats[this.amountUnits[0]]).replace(/,/g, ''); + this.store.dispatch(new LNDActions.SetChannelTransaction(postTransaction)); + }, error: (err) => { + this.transactionAmount = null; + this.selAmountUnit = CurrencyUnitEnum.SATS; + this.amountError = 'Conversion Error: ' + err; + } + }); + } else { + this.store.dispatch(new LNDActions.SetChannelTransaction(postTransaction)); + } } get invalidValues(): boolean { if (this.sweepAll) { - return (!this.sendFundFormGroup.controls.transactionAddress.value || this.sendFundFormGroup.controls.transactionAddress.value === '') || (this.sendFundFormGroup.controls.selTransType.value === '1' && (!this.sendFundFormGroup.controls.transactionBlocks.value || this.sendFundFormGroup.controls.transactionBlocks.value <= 0)) || (this.sendFundFormGroup.controls.selTransType.value === '2' && (!this.sendFundFormGroup.controls.transactionFees.value || this.sendFundFormGroup.controls.transactionFees.value <= 0)); + return (!this.sendFundFormGroup.controls.transactionAddress.value || this.sendFundFormGroup.controls.transactionAddress.value === '') || + (this.sendFundFormGroup.controls.selTransType.value === '1' && (!this.sendFundFormGroup.controls.transactionBlocks.value || this.sendFundFormGroup.controls.transactionBlocks.value <= 0)) || (this.sendFundFormGroup.controls.selTransType.value === '2' && (!this.sendFundFormGroup.controls.transactionFees.value || this.sendFundFormGroup.controls.transactionFees.value <= 0)); } else { - return (!this.transactionAddress || this.transactionAddress === '') || (!this.transactionAmount || this.transactionAmount <= 0) - || (this.selTransType === '1' && (!this.transactionBlocks || this.transactionBlocks <= 0)) || (this.selTransType === '2' && (!this.transactionFees || this.transactionFees <= 0)); + return (!this.transactionAddress || this.transactionAddress === '') || (!this.transactionAmount || this.transactionAmount <= 0) || + (this.selTransType === '1' && (!this.transactionBlocks || this.transactionBlocks <= 0)) || (this.selTransType === '2' && (!this.transactionFees || this.transactionFees <= 0)); } } resetData() { - this.sendFundError = ''; - this.selTransType = '1'; + this.sendFundError = ''; + this.selTransType = '1'; this.transactionAddress = ''; this.transactionBlocks = null; this.transactionFees = null; @@ -197,48 +207,58 @@ export class OnChainSendModalComponent implements OnInit, OnDestroy { switch (event.selectedIndex) { case 0: this.passwordFormLabel = 'Authenticate with your RTL password'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; - + case 1: this.passwordFormLabel = 'User authenticated successfully'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; case 2: this.passwordFormLabel = 'User authenticated successfully'; - this.sendFundFormLabel = 'Sweep funds | Address: ' + this.sendFundFormGroup.controls.transactionAddress.value + ' | ' + this.transTypes[this.sendFundFormGroup.controls.selTransType.value-1].name + (this.sendFundFormGroup.controls.selTransType.value === '2' ? ' (' + this.nodeData.smaller_currency_unit + '/vByte)' : '') + ': ' + (this.sendFundFormGroup.controls.selTransType.value === '1' ? this.sendFundFormGroup.controls.transactionBlocks.value : this.sendFundFormGroup.controls.transactionFees.value); + this.sendFundFormLabel = 'Sweep funds | Address: ' + this.sendFundFormGroup.controls.transactionAddress.value + ' | ' + + this.transTypes[this.sendFundFormGroup.controls.selTransType.value - 1].name + + (this.sendFundFormGroup.controls.selTransType.value === '2' ? ' (Sats/vByte)' : '') + ': ' + + (this.sendFundFormGroup.controls.selTransType.value === '1' ? this.sendFundFormGroup.controls.transactionBlocks.value : this.sendFundFormGroup.controls.transactionFees.value); break; default: this.passwordFormLabel = 'Authenticate with your RTL password'; - this.sendFundFormLabel = 'Sweep funds' + this.sendFundFormLabel = 'Sweep funds'; break; } if (event.selectedIndex < event.previouslySelectedIndex) { if (event.selectedIndex === 0) { this.passwordFormGroup.controls.hiddenPassword.setValue(''); } - } + } } onAmountUnitChange(event: any) { - let self = this; - let prevSelectedUnit = (this.sweepAll) ? CurrencyUnitEnum.SATS : (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; + const self = this; + const prevSelectedUnit = (this.sweepAll) ? CurrencyUnitEnum.SATS : (this.selAmountUnit === this.amountUnits[2]) ? CurrencyUnitEnum.OTHER : this.selAmountUnit; let currSelectedUnit = event.value === this.amountUnits[2] ? CurrencyUnitEnum.OTHER : event.value; - if(this.transactionAmount && this.selAmountUnit !== event.value) { - let amount = this.transactionAmount ? this.transactionAmount : 0; - this.commonService.convertCurrency(amount, prevSelectedUnit, this.amountUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(data => { - self.transactionAmount = +self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); - }); + if (this.transactionAmount && this.selAmountUnit !== event.value) { + const amount = this.transactionAmount ? this.transactionAmount : 0; + this.commonService.convertCurrency(amount, prevSelectedUnit, currSelectedUnit, this.amountUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[3])). + subscribe({ + next: (data) => { + this.selAmountUnit = event.value; + self.transactionAmount = +self.decimalPipe.transform(data[currSelectedUnit], self.currencyUnitFormats[currSelectedUnit]).replace(/,/g, ''); + }, error: (err) => { + self.transactionAmount = null; + this.amountError = 'Conversion Error: ' + err; + this.selAmountUnit = prevSelectedUnit; + currSelectedUnit = prevSelectedUnit; + } + }); } - this.selAmountUnit = event.value; - } + } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.spec.ts b/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.spec.ts index 55f5a8d1..b4f85709 100644 --- a/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.spec.ts +++ b/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { OnChainSendComponent } from './on-chain-send.component'; describe('OnChainSendComponent', () => { let component: OnChainSendComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainSendComponent ] - }) - .compileComponents(); + declarations: [OnChainSendComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('OnChainSendComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.ts b/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.ts index 4af2ef7d..98caecfe 100644 --- a/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.ts +++ b/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.ts @@ -15,24 +15,27 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./on-chain-send.component.scss'] }) export class OnChainSendComponent implements OnInit, OnDestroy { + public sweepAll = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private store: Store, private activatedRoute: ActivatedRoute) {} ngOnInit() { - this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe(routeData => this.sweepAll = routeData.sweepAll); + this.activatedRoute.data.pipe(takeUntil(this.unSubs[0])).subscribe((routeData) => { + this.sweepAll = routeData.sweepAll; + }); } openSendFundsModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { sweepAll: this.sweepAll, component: OnChainSendModalComponent - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/on-chain/on-chain.component.html b/src/app/lnd/on-chain/on-chain.component.html index e54a3bb4..e4282d2d 100644 --- a/src/app/lnd/on-chain/on-chain.component.html +++ b/src/app/lnd/on-chain/on-chain.component.html @@ -17,13 +17,13 @@
- +
diff --git a/src/app/lnd/on-chain/on-chain.component.spec.ts b/src/app/lnd/on-chain/on-chain.component.spec.ts index 7426be2f..7792ea60 100644 --- a/src/app/lnd/on-chain/on-chain.component.spec.ts +++ b/src/app/lnd/on-chain/on-chain.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { CommonService } from '../../shared/services/common.service'; +import { DataService } from '../../shared/services/data.service'; +import { LoggerService } from '../../shared/services/logger.service'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLEffects } from '../../store/rtl.effects'; +import { RTLReducer } from '../../store/rtl.reducers'; import { OnChainComponent } from './on-chain.component'; +import { OnChainTransactionHistoryComponent } from './utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component'; +import { UTXOTablesComponent } from './utxo-tables/utxo-tables.component'; +import { OnChainUTXOsComponent } from './utxo-tables/utxos/utxos.component'; describe('OnChainComponent', () => { let component: OnChainComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainComponent ] - }) - .compileComponents(); + declarations: [OnChainComponent, UTXOTablesComponent, OnChainTransactionHistoryComponent, OnChainUTXOsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('OnChainComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/on-chain.component.ts b/src/app/lnd/on-chain/on-chain.component.ts index ea6dfbf8..2d57b8a5 100644 --- a/src/app/lnd/on-chain/on-chain.component.ts +++ b/src/app/lnd/on-chain/on-chain.component.ts @@ -14,43 +14,44 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./on-chain.component.scss'] }) export class OnChainComponent implements OnInit, OnDestroy { + public selNode: SelNodeChild = {}; public faExchangeAlt = faExchangeAlt; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'receive', name: 'Receive'}, {link: 'send', name: 'Send'}, {link: 'sweep', name: 'Sweep All'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'receive', name: 'Receive' }, { link: 'send', name: 'Send' }, { link: 'sweep', name: 'Sweep All' }]; public activeLink = this.links[0].link; - public tables = [{id: 0, name: 'utxos'}, {id: 1, name: 'trans'}, {id: 2, name: 'dustUtxos'}]; + public tables = [{ id: 0, name: 'utxos' }, { id: 1, name: 'trans' }, { id: 2, name: 'dustUtxos' }]; public selectedTable = this.tables[0]; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private store: Store, private router: Router, private activatedRoute: ActivatedRoute) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.selectedTable = this.tables.find(table => table.name === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.selectedTable = this.tables.find(table => table.name === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.blockchainBalance.total_balance || 0}, {title: 'Confirmed', dataValue: rtlStore.blockchainBalance.confirmed_balance}, {title: 'Unconfirmed', dataValue: rtlStore.blockchainBalance.unconfirmed_balance}]; - }); + this.selectedTable = this.tables.find((table) => table.name === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + this.selectedTable = this.tables.find((table) => table.name === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.blockchainBalance.total_balance || 0 }, { title: 'Confirmed', dataValue: rtlStore.blockchainBalance.confirmed_balance }, { title: 'Unconfirmed', dataValue: rtlStore.blockchainBalance.unconfirmed_balance }]; + }); } onSelectedTableIndexChanged(event: number) { - this.selectedTable = this.tables.find(table => table.id === event); - this.router.navigate(['./', this.activeLink, this.selectedTable.name], {relativeTo: this.activatedRoute}); + this.selectedTable = this.tables.find((table) => table.id === event); + this.router.navigate(['./', this.activeLink, this.selectedTable.name], { relativeTo: this.activatedRoute }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.html b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.html index d6958fbd..a60398d8 100644 --- a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.html +++ b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.html @@ -5,10 +5,9 @@
-
- -
Channel Point {{channel?.channel_point}} -

No channels available.

+

No channel available.

+

Getting channels...

+

{{errorMessage}}

+
+ +
@@ -52,7 +51,9 @@ diff --git a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts index b5ca40c0..40ccbe35 100644 --- a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts +++ b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { OnChainTransactionHistoryComponent } from './on-chain-transaction-history.component'; +import { mockDataService, mockLoggerService } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../shared/services/data.service'; describe('OnChainTransactionHistoryComponent', () => { let component: OnChainTransactionHistoryComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainTransactionHistoryComponent ] - }) - .compileComponents(); + declarations: [OnChainTransactionHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('OnChainTransactionHistoryComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.ts b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.ts index 647c7295..a9f307ec 100644 --- a/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.ts +++ b/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.ts @@ -1,5 +1,7 @@ -import { Component, ViewChild, Input, OnChanges } from '@angular/core'; -import { DatePipe } from '@angular/common' +import { Component, ViewChild, Input, OnChanges, OnInit, OnDestroy } from '@angular/core'; +import { DatePipe } from '@angular/common'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; @@ -7,7 +9,8 @@ import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Transaction } from '../../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../shared/services/logger.service'; import { CommonService } from '../../../../shared/services/common.service'; @@ -20,13 +23,13 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./on-chain-transaction-history.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Transactions') } - ] + ] }) -export class OnChainTransactionHistoryComponent implements OnChanges { +export class OnChainTransactionHistoryComponent implements OnInit, OnChanges, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; - @Input() transactions: Transaction[]; - @Input() errorLoading: any; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; + public transactions: Transaction[]; faHistory = faHistory; public displayedColumns: any[] = []; public listTransactions: any; @@ -35,16 +38,20 @@ export class OnChainTransactionHistoryComponent implements OnChanges { public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; + private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['time_stamp', 'amount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['time_stamp', 'amount', 'num_confirmations', 'total_fees', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['time_stamp', 'label', 'amount', 'total_fees', 'num_confirmations', 'actions']; } else { @@ -53,6 +60,23 @@ export class OnChainTransactionHistoryComponent implements OnChanges { } } + ngOnInit() { + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchTransactions.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchTransactions.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchTransactions.message) : this.apisCallStatus.FetchTransactions.message; + } + if (rtlStore.transactions && rtlStore.transactions.length > 0) { + this.transactions = rtlStore.transactions; + this.loadTransactionsTable(this.transactions); + } + this.logger.info(rtlStore); + }); + } + ngOnChanges() { if (this.transactions && this.transactions.length > 0) { this.loadTransactionsTable(this.transactions); @@ -65,40 +89,47 @@ export class OnChainTransactionHistoryComponent implements OnChanges { onTransactionClick(selTransaction: Transaction) { const reorderedTransactions = [ - [{key: 'block_hash', value: selTransaction.block_hash, title: 'Block Hash', width: 100}], - [{key: 'tx_hash', value: selTransaction.tx_hash, title: 'Transaction Hash', width: 100}], - [{key: 'label', value: selTransaction.label, title: 'Label', width: 100, type: DataTypeEnum.STRING}], - [{key: 'time_stamp', value: selTransaction.time_stamp, title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'block_height', value: selTransaction.block_height, title: 'Block Height', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'num_confirmations', value: selTransaction.num_confirmations, title: 'Number of Confirmations', width: 34, type: DataTypeEnum.NUMBER}, - {key: 'total_fees', value: selTransaction.total_fees, title: 'Total Fees (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'amount', value: selTransaction.amount, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER}], - [{key: 'dest_addresses', value: selTransaction.dest_addresses, title: 'Destination Addresses', width: 100, type: DataTypeEnum.ARRAY}] + [{ key: 'block_hash', value: selTransaction.block_hash, title: 'Block Hash', width: 100 }], + [{ key: 'tx_hash', value: selTransaction.tx_hash, title: 'Transaction Hash', width: 100 }], + [{ key: 'label', value: selTransaction.label, title: 'Label', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'time_stamp', value: selTransaction.time_stamp, title: 'Date/Time', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'block_height', value: selTransaction.block_height, title: 'Block Height', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'num_confirmations', value: selTransaction.num_confirmations, title: 'Number of Confirmations', width: 34, type: DataTypeEnum.NUMBER }, + { key: 'total_fees', value: selTransaction.total_fees, title: 'Total Fees (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'amount', value: selTransaction.amount, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER }], + [{ key: 'dest_addresses', value: selTransaction.dest_addresses, title: 'Destination Addresses', width: 100, type: DataTypeEnum.ARRAY }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Transaction Information', message: reorderedTransactions, scrollable: selTransaction.dest_addresses && selTransaction.dest_addresses.length > 5 - }})); + } })); } loadTransactionsTable(transactions) { this.listTransactions = new MatTableDataSource([...transactions]); this.listTransactions.sort = this.sort; - this.listTransactions.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.listTransactions.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.listTransactions.filterPredicate = (rowData: Transaction, fltr: string) => { - const newRowData = ((rowData.time_stamp) ? this.datePipe.transform(new Date(rowData.time_stamp*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.time_stamp) ? this.datePipe.transform(new Date(rowData.time_stamp * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; this.listTransactions.paginator = this.paginator; this.logger.info(this.listTransactions); } onDownloadCSV() { - if(this.listTransactions.data && this.listTransactions.data.length > 0) { + if (this.listTransactions.data && this.listTransactions.data.length > 0) { this.commonService.downloadFile(this.listTransactions.data, 'Transactions'); } } + ngOnDestroy() { + this.unSubs.forEach((completeSub) => { + completeSub.next(null); + completeSub.complete(); + }); + } + } diff --git a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.html b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.html index f594b543..a48b27e8 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.html +++ b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.html @@ -4,19 +4,19 @@ UTXOs - + Transactions - + Dust UTXOs - + diff --git a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.spec.ts b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.spec.ts index e2618334..1d21a81d 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.spec.ts +++ b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.spec.ts @@ -1,16 +1,45 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LoggerService } from '../../../shared/services/logger.service'; import { UTXOTablesComponent } from './utxo-tables.component'; +import { OnChainTransactionHistoryComponent } from './on-chain-transaction-history/on-chain-transaction-history.component'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { CommonService } from '../../../shared/services/common.service'; +import { SharedModule } from '../../../shared/shared.module'; +import { OnChainUTXOsComponent } from './utxos/utxos.component'; +import { DataService } from '../../../shared/services/data.service'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('UTXOTablesComponent', () => { let component: UTXOTablesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ UTXOTablesComponent ] - }) - .compileComponents(); + declarations: [UTXOTablesComponent, OnChainTransactionHistoryComponent, OnChainUTXOsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +51,8 @@ describe('UTXOTablesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.ts b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.ts index 2d16ea72..527d4581 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.ts +++ b/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.ts @@ -3,7 +3,6 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Transaction, UTXO } from '../../../shared/models/lndModels'; import { LoggerService } from '../../../shared/services/logger.service'; import * as LNDActions from '../../store/lnd.actions'; @@ -15,15 +14,12 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./utxo-tables.component.scss'] }) export class UTXOTablesComponent implements OnInit, OnDestroy { + @Input() selectedTableIndex = 0; - @Output() selectedTableIndexChange = new EventEmitter(); - public transactions: Transaction[] = []; + @Output() readonly selectedTableIndexChange = new EventEmitter(); public numTransactions = 0; - public utxos: UTXO[] = []; public numUtxos = 0; - public dustUtxos: UTXO[] = []; public numDustUtxos = 0; - public flgLoading: Array = [true, true]; private unSubs: Array> = [new Subject()]; constructor(private logger: LoggerService, private store: Store) {} @@ -31,35 +27,18 @@ export class UTXOTablesComponent implements OnInit, OnDestroy { ngOnInit() { this.store.dispatch(new LNDActions.FetchTransactions()); this.store.dispatch(new LNDActions.FetchUTXOs()); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchUTXOs') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (rtlStore.utxos && rtlStore.utxos.length > 0) { + this.numUtxos = rtlStore.utxos.length; + this.numDustUtxos = rtlStore.utxos.filter((utxo) => +utxo.amount_sat < 1000).length; } - if (effectsErr.action === 'FetchTransactions') { - this.flgLoading[1] = 'error'; + if (rtlStore.transactions && rtlStore.transactions.length > 0) { + this.numTransactions = rtlStore.transactions.length; } + this.logger.info(rtlStore); }); - if (rtlStore.utxos && rtlStore.utxos.length > 0) { - this.utxos = rtlStore.utxos; - this.numUtxos = this.utxos.length; - this.dustUtxos = rtlStore.utxos.filter(utxo => +utxo.amount_sat < 1000); - this.numDustUtxos = this.dustUtxos.length; - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.utxos) ? false : true; - } - if (rtlStore.transactions && rtlStore.transactions.length > 0) { - this.transactions = rtlStore.transactions; - this.numTransactions = this.transactions.length; - } - if (this.flgLoading[1] !== 'error') { - this.flgLoading[1] = (rtlStore.transactions) ? false : true; - } - this.logger.info(rtlStore); - }); } onSelectedIndexChanged(event) { @@ -67,9 +46,10 @@ export class UTXOTablesComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.html b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.html index 38a11100..33542cc0 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.html +++ b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.html @@ -5,15 +5,15 @@
-
- -
Date/Time {{(transaction.time_stamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} -

No transactions available.

+

No transaction available.

+

Getting transactions...

+

{{errorMessage}}

+
+ +
-
Transaction ID - + warning @@ -64,12 +64,13 @@ -

No UTXOs available.

+

No UTXO available.

+

Getting UTXOs...

+

{{errorMessage}}

diff --git a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.spec.ts b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.spec.ts index 5a0e3250..0fbe5449 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.spec.ts +++ b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { DataService } from '../../../../shared/services/data.service'; import { OnChainUTXOsComponent } from './utxos.component'; +import { SharedModule } from '../../../../shared/shared.module'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../../store/rtl.effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('OnChainUTXOsComponent', () => { let component: OnChainUTXOsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainUTXOsComponent ] - }) - .compileComponents(); + declarations: [OnChainUTXOsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('OnChainUTXOsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.ts b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.ts index 863330be..538a185c 100644 --- a/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.ts +++ b/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, Input, OnChanges, OnDestroy } from '@angular/core'; +import { Component, ViewChild, Input, OnChanges, OnDestroy, OnInit } from '@angular/core'; import { DecimalPipe } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -9,15 +9,16 @@ import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { UTXO } from '../../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, WALLET_ADDRESS_TYPE } from '../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, WALLET_ADDRESS_TYPE, APICallStatusEnum } from '../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../shared/services/logger.service'; import { CommonService } from '../../../../shared/services/common.service'; import { DataService } from '../../../../shared/services/data.service'; import { OnChainLabelModalComponent } from '../../on-chain-label-modal/on-chain-label-modal.component'; +import { RTLEffects } from '../../../../store/rtl.effects'; import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; -import { RTLEffects } from '../../../../store/rtl.effects'; @Component({ selector: 'rtl-on-chain-utxos', @@ -25,15 +26,14 @@ import { RTLEffects } from '../../../../store/rtl.effects'; styleUrls: ['./utxos.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('UTXOs') } - ] + ] }) -export class OnChainUTXOsComponent implements OnChanges, OnDestroy { +export class OnChainUTXOsComponent implements OnInit, OnChanges, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; - @Input() numDustUTXOs = 0; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; @Input() isDustUTXO = false; - @Input() utxos: UTXO[]; - @Input() errorLoading: any; + public utxos: UTXO[]; public addressType = WALLET_ADDRESS_TYPE; faMoneyBillWave = faMoneyBillWave; public displayedColumns: any[] = []; @@ -43,17 +43,20 @@ export class OnChainUTXOsComponent implements OnChanges, OnDestroy { public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private dataService: DataService, private store: Store, private rtlEffects: RTLEffects, private decimalPipe: DecimalPipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['amount_sat', 'confirmations', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['tx_id', 'output', 'amount_sat', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['tx_id', 'output', 'label', 'amount_sat', 'confirmations', 'actions']; } else { @@ -62,6 +65,23 @@ export class OnChainUTXOsComponent implements OnChanges, OnDestroy { } } + ngOnInit() { + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchUTXOs.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchUTXOs.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchUTXOs.message) : this.apisCallStatus.FetchUTXOs.message; + } + if (rtlStore.utxos && rtlStore.utxos.length > 0) { + this.utxos = (this.isDustUTXO) ? rtlStore.utxos.filter((utxo) => +utxo.amount_sat < 1000) : rtlStore.utxos; + this.loadUTXOsTable(this.utxos); + } + this.logger.info(rtlStore); + }); + } + ngOnChanges() { if (this.utxos && this.utxos.length > 0) { this.loadUTXOsTable(this.utxos); @@ -74,28 +94,28 @@ export class OnChainUTXOsComponent implements OnChanges, OnDestroy { onUTXOClick(selUTXO: UTXO) { const reorderedUTXOs = [ - [{key: 'txid', value: selUTXO.outpoint.txid_str, title: 'Transaction ID', width: 100, type: DataTypeEnum.STRING}], - [{key: 'label', value: selUTXO.label, title: 'Label', width: 100, type: DataTypeEnum.STRING}], - [{key: 'output_index', value: selUTXO.outpoint.output_index, title: 'Output Index', width: 34, type: DataTypeEnum.NUMBER}, - {key: 'amount_sat', value: selUTXO.amount_sat, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'confirmations', value: selUTXO.confirmations, title: 'Confirmations', width: 33, type: DataTypeEnum.NUMBER}], - [{key: 'address_type', value: this.addressType[selUTXO.address_type].name, title: 'Address Type', width: 34}, - {key: 'address', value: selUTXO.address, title: 'Address', width: 66}], - [{key: 'pk_script', value: selUTXO.pk_script, title: 'PK Script', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'txid', value: selUTXO.outpoint.txid_str, title: 'Transaction ID', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'label', value: selUTXO.label, title: 'Label', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'output_index', value: selUTXO.outpoint.output_index, title: 'Output Index', width: 34, type: DataTypeEnum.NUMBER }, + { key: 'amount_sat', value: selUTXO.amount_sat, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'confirmations', value: selUTXO.confirmations, title: 'Confirmations', width: 33, type: DataTypeEnum.NUMBER }], + [{ key: 'address_type', value: this.addressType[selUTXO.address_type].name, title: 'Address Type', width: 34 }, + { key: 'address', value: selUTXO.address, title: 'Address', width: 66 }], + [{ key: 'pk_script', value: selUTXO.pk_script, title: 'PK Script', width: 100, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'UTXO Information', message: reorderedUTXOs - }})); + } })); } loadUTXOsTable(UTXOs: UTXO[]) { this.listUTXOs = new MatTableDataSource([...UTXOs]); this.listUTXOs.filterPredicate = (utxo: UTXO, fltr: string) => { - const newUTXO = ((utxo.label ? utxo.label.toLowerCase() : '') + (utxo.outpoint.txid_str ? utxo.outpoint.txid_str.toLowerCase() : '') + (utxo.outpoint.output_index ? utxo.outpoint.output_index : '') - + (utxo.outpoint.txid_bytes ? utxo.outpoint.txid_bytes.toLowerCase() : '') + (utxo.address ? utxo.address.toLowerCase() : '') + (utxo.address_type ? utxo.address_type.toLowerCase() : '') - + (utxo.amount_sat ? utxo.amount_sat : '') + (utxo.confirmations ? utxo.confirmations : '') + (utxo.pk_script ? utxo.pk_script.toLowerCase() : '')); + const newUTXO = ((utxo.label ? utxo.label.toLowerCase() : '') + (utxo.outpoint.txid_str ? utxo.outpoint.txid_str.toLowerCase() : '') + (utxo.outpoint.output_index ? utxo.outpoint.output_index : '') + + (utxo.outpoint.txid_bytes ? utxo.outpoint.txid_bytes.toLowerCase() : '') + (utxo.address ? utxo.address.toLowerCase() : '') + (utxo.address_type ? utxo.address_type.toLowerCase() : '') + + (utxo.amount_sat ? utxo.amount_sat : '') + (utxo.confirmations ? utxo.confirmations : '') + (utxo.pk_script ? utxo.pk_script.toLowerCase() : '')); return newUTXO.includes(fltr); }; this.listUTXOs.sortingDataAccessor = (data: any, sortHeaderId: string) => { @@ -104,7 +124,7 @@ export class OnChainUTXOsComponent implements OnChanges, OnDestroy { case 'output': return +data.outpoint.output_index; default: return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; } - } + }; this.listUTXOs.sort = this.sort; this.listUTXOs.filterPredicate = (utxo: UTXO, fltr: string) => JSON.stringify(utxo).toLowerCase().includes(fltr); this.listUTXOs.paginator = this.paginator; @@ -115,44 +135,45 @@ export class OnChainUTXOsComponent implements OnChanges, OnDestroy { this.store.dispatch(new RTLActions.OpenAlert({ data: { utxo: utxo, component: OnChainLabelModalComponent - }})); + } })); } onLeaseUTXO(utxo: UTXO) { const utxoDetails = [ - [{key: 'txid_str', value: utxo.outpoint.txid_str, title: 'Transaction ID', width: 100}], - [{key: 'amount_sat', value: this.decimalPipe.transform(utxo.amount_sat), title: 'Amount (Sats)', width: 100}] + [{ key: 'txid_str', value: utxo.outpoint.txid_str, title: 'Transaction ID', width: 100 }], + [{ key: 'amount_sat', value: this.decimalPipe.transform(utxo.amount_sat), title: 'Amount (Sats)', width: 100 }] ]; if (utxo.label) { - utxoDetails.splice(1, 0, [{key: 'label', value: utxo.label, title: 'Label', width: 100}]); + utxoDetails.splice(1, 0, [{ key: 'label', value: utxo.label, title: 'Label', width: 100 }]); } - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Lease UTXO', informationMessage: 'The UTXO will be leased for 10 minutes.', message: utxoDetails, noBtnText: 'Cancel', yesBtnText: 'Lease UTXO' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[0])) - .subscribe(confirmRes => { - if (confirmRes) { - this.dataService.leaseUTXO(utxo.outpoint.txid_bytes, utxo.outpoint.output_index); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[0])). + subscribe((confirmRes) => { + if (confirmRes) { + this.dataService.leaseUTXO(utxo.outpoint.txid_bytes, utxo.outpoint.output_index); + } + }); } onDownloadCSV() { - if(this.listUTXOs.data && this.listUTXOs.data.length > 0) { + if (this.listUTXOs.data && this.listUTXOs.data.length > 0) { this.commonService.downloadFile(this.listUTXOs.data, 'UTXOs'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts b/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts index b0dd77d6..c9250242 100644 --- a/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { DataService } from '../../../../shared/services/data.service'; import { BumpFeeComponent } from './bump-fee.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { LoggerService } from '../../../../shared/services/logger.service'; describe('BumpFeeComponent', () => { let component: BumpFeeComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ BumpFeeComponent ] - }) - .compileComponents(); + declarations: [BumpFeeComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { pendingChannel: { channel: {} } } }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('BumpFeeComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.ts b/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.ts index 8cddbcdd..3768504a 100644 --- a/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.ts +++ b/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.ts @@ -4,15 +4,13 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; -import { Store } from '@ngrx/store'; import { faCopy, faInfoCircle, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { PendingOpenChannel } from '../../../../shared/models/lndModels'; import { PendingOpenChannelInformation } from '../../../../shared/models/alertData'; import { TRANS_TYPES } from '../../../../shared/services/consts-enums-functions'; import { DataService } from '../../../../shared/services/data.service'; - -import * as fromRTLReducer from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; @Component({ selector: 'rtl-bump-fee', @@ -20,8 +18,13 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./bump-fee.component.scss'] }) export class BumpFeeComponent implements OnInit, OnDestroy { + private outputIdx: NgModel; - @ViewChild('outputIdx') set payReq(outIdx: NgModel) {if(outIdx) { this.outputIdx = outIdx; }} + @ViewChild('outputIdx') set payReq(outIdx: NgModel) { + if (outIdx) { + this.outputIdx = outIdx; + } + } public bumpFeeChannel: PendingOpenChannel; public transTypes = [...TRANS_TYPES]; public selTransType = '2'; @@ -34,7 +37,7 @@ export class BumpFeeComponent implements OnInit, OnDestroy { public bumpFeeError = ''; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: PendingOpenChannelInformation, private store: Store, private dataService: DataService, private snackBar: MatSnackBar) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: PendingOpenChannelInformation, private logger: LoggerService, private dataService: DataService, private snackBar: MatSnackBar) {} ngOnInit() { this.transTypes = this.transTypes.splice(1); @@ -44,19 +47,21 @@ export class BumpFeeComponent implements OnInit, OnDestroy { this.bumpFeeChannel.channel.output_index = channelPointArr[1] ? +channelPointArr[1] : null; } - onBumpFee():boolean|void { + onBumpFee(): boolean|void { if (this.outputIndex === this.bumpFeeChannel.channel.output_index) { - this.outputIdx.control.setErrors({'pendingChannelOutputIndex': true}); + this.outputIdx.control.setErrors({ pendingChannelOutputIndex: true }); return true; } - if ((!this.outputIndex && this.outputIndex !== 0) || (this.selTransType === '1' && (!this.blocks || this.blocks === 0)) || (this.selTransType === '2' && (!this.fees || this.fees === 0))) { return true; } - this.dataService.bumpFee(this.bumpFeeChannel.channel.txid_str, this.outputIndex, this.blocks, this.fees).pipe(takeUntil(this.unSubs[0])) - .subscribe(res => { - this.dialogRef.close(false); - }, (err) => { - console.error(err); - this.bumpFeeError = err.message ? err.message : err; - }); + if ((!this.outputIndex && this.outputIndex !== 0) || (this.selTransType === '1' && (!this.blocks || this.blocks === 0)) || (this.selTransType === '2' && (!this.fees || this.fees === 0))) { + return true; + } + this.dataService.bumpFee(this.bumpFeeChannel.channel.txid_str, this.outputIndex, this.blocks, this.fees).pipe(takeUntil(this.unSubs[0])). + subscribe({ next: (res) => { + this.dialogRef.close(false); + }, error: (err) => { + this.logger.error(err); + this.bumpFeeError = err.message ? err.message : err; + } }); } onCopyID(payload: string) { @@ -65,7 +70,7 @@ export class BumpFeeComponent implements OnInit, OnDestroy { resetData() { this.bumpFeeError = ''; - this.selTransType = '2'; + this.selTransType = '2'; this.blocks = null; this.fees = null; this.outputIdx.control.setErrors(null); @@ -76,9 +81,10 @@ export class BumpFeeComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts b/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts index 994215bd..4bc47c1a 100644 --- a/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { ChannelInformationComponent } from './channel-information.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { DataService } from '../../../../shared/services/data.service'; describe('ChannelInformationComponent', () => { let component: ChannelInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelInformationComponent ] - }) - .compileComponents(); + declarations: [ChannelInformationComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('ChannelInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.ts b/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.ts index a972f627..8b71b685 100644 --- a/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.ts +++ b/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.ts @@ -15,6 +15,7 @@ import { ScreenSizeEnum } from '../../../../shared/services/consts-enums-functio styleUrls: ['./channel-information.component.scss'] }) export class ChannelInformationComponent implements OnInit { + public faReceipt = faReceipt; public showAdvanced = false; public showCopy = true; @@ -37,10 +38,11 @@ export class ChannelInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; - } + } onCopyChanID(payload: string) { this.snackBar.open('Channel ID ' + payload + ' copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.html b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.html index 526fa13b..87a1624b 100644 --- a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.html +++ b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.html @@ -25,7 +25,7 @@ {{inputFormLabel}}
- + (Local Bal: {{selChannel?.local_balance}}, Remaining: {{selChannel?.local_balance - ((inputFormGroup.controls.rebalanceAmount.value) ? inputFormGroup.controls.rebalanceAmount.value : 0)}}) Sats Amount is required. @@ -33,16 +33,16 @@ Amount must be less than or equal to {{selChannel?.local_balance}}. - - - {{activeChannel.remote_alias || activeChannel.chan_id}} - - + + + {{activeChannel.remote_alias || activeChannel.chan_id}} + Peer is required. + Peer not found in the list.
- +
@@ -50,17 +50,6 @@
{{feeFormLabel}}
-
-
- - - Estimated Fee: {{queryRoute && queryRoute.routes && queryRoute.routes.length > 0 && queryRoute.routes[0].total_fees_msat ? queryRoute.routes[0].total_fees_msat : 0}} mSats | - Number of Hops: {{queryRoute && queryRoute.routes && queryRoute.routes.length > 0 && queryRoute.routes[0].hops && queryRoute.routes[0].hops.length ? queryRoute.routes[0].hops.length : 0}} - -
- - -
@@ -122,7 +111,7 @@ -
{{'Error: ' + (paymentStatus.error.error.error ? paymentStatus.error.error.error : paymentStatus.error.error ? paymentStatus.error.error : paymentStatus.error ? paymentStatus.error : 'Unknown')}}
+
Error: {{paymentStatus.error}}
diff --git a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.spec.ts b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.spec.ts index 30cdd489..e8c3f0a6 100644 --- a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { ChannelRebalanceComponent } from './channel-rebalance.component'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockLoggerService, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('ChannelRebalanceComponent', () => { let component: ChannelRebalanceComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelRebalanceComponent ] - }) - .compileComponents(); + declarations: [ChannelRebalanceComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: { selChannel: {}, channels: [] } } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('ChannelRebalanceComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.ts b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.ts index f6940645..82b70a81 100644 --- a/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.ts +++ b/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.ts @@ -2,17 +2,17 @@ import { Component, OnInit, Inject, OnDestroy, ViewChild } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { DecimalPipe } from '@angular/common'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; -import { Subject } from 'rxjs'; -import { takeUntil, filter } from 'rxjs/operators'; +import { MatStepper } from '@angular/material/stepper'; +import { Subject, Observable, of } from 'rxjs'; +import { takeUntil, filter, startWith, map } from 'rxjs/operators'; import { Actions } from '@ngrx/effects'; import { Store } from '@ngrx/store'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; -import { ChannelInformation } from '../../../../shared/models/alertData'; +import { ChannelRebalanceAlert } from '../../../../shared/models/alertData'; import { LoggerService } from '../../../../shared/services/logger.service'; import { Channel, QueryRoutes, ListInvoices } from '../../../../shared/models/lndModels'; -import { FEE_LIMIT_TYPES, PAGE_SIZE } from '../../../../shared/services/consts-enums-functions'; +import { FEE_LIMIT_TYPES, PAGE_SIZE, UI_MESSAGES } from '../../../../shared/services/consts-enums-functions'; import * as LNDActions from '../../../store/lnd.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; @@ -23,12 +23,13 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./channel-rebalance.component.scss'] }) export class ChannelRebalanceComponent implements OnInit, OnDestroy { - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faInfoCircle = faInfoCircle; public invoices: ListInvoices = {}; public selChannel: Channel = {}; public activeChannels = []; - public filteredActiveChannels = []; + public filteredActiveChannels: Observable; public feeLimitTypes = []; public queryRoute: QueryRoutes = {}; public paymentRequest = ''; @@ -40,20 +41,28 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { public feeFormLabel = 'Select rebalance fee'; public flgEditable = true; inputFormGroup: FormGroup; - feeFormGroup: FormGroup; - statusFormGroup: FormGroup; + feeFormGroup: FormGroup; + statusFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ChannelInformation, private logger: LoggerService, private store: Store, private actions$: Actions, private formBuilder: FormBuilder, private decimalPipe: DecimalPipe) { } + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ChannelRebalanceAlert, private logger: LoggerService, private store: Store, private actions: Actions, private formBuilder: FormBuilder, private decimalPipe: DecimalPipe) { } ngOnInit() { - this.selChannel = this.data.channel; + let x = ''; + let y = ''; + this.selChannel = this.data.message.selChannel; + this.activeChannels = this.data.message.channels.filter((channel) => channel.active && channel.chan_id !== this.selChannel.chan_id && channel.remote_balance > 0); + this.activeChannels = this.activeChannels.sort((c1: Channel, c2: Channel) => { + x = c1.remote_alias ? c1.remote_alias.toLowerCase() : c1.chan_id ? c1.chan_id.toLowerCase() : ''; + y = c2.remote_alias ? c2.remote_alias.toLowerCase() : c1.chan_id.toLowerCase(); + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }); FEE_LIMIT_TYPES.forEach((FEE_LIMIT_TYPE, i) => { - if(i > 0) { + if (i > 0) { this.feeLimitTypes.push(FEE_LIMIT_TYPE); } }); - // hiddenAmount & hiddenFeeLimit are temporary hacks to overcome material steppers stepChanged event shortcoming. + // HiddenAmount & hiddenFeeLimit are temporary hacks to overcome material steppers stepChanged event shortcoming. // User should be able to go to next step only by clicking the action button on the step. this.inputFormGroup = this.formBuilder.group({ hiddenAmount: ['', [Validators.required]], @@ -64,35 +73,56 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { selFeeLimitType: [this.feeLimitTypes[0], Validators.required], feeLimit: ['', [Validators.required, Validators.min(0)]], hiddenFeeLimit: ['', [Validators.required]] - }); - this.statusFormGroup = this.formBuilder.group({}); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.activeChannels = rtlStore.allChannels.filter(channel => channel.active && channel.remote_balance >= this.inputFormGroup.controls.rebalanceAmount.value && channel.chan_id !== this.selChannel.chan_id); - this.invoices = rtlStore.invoices; - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter((action) => action.type === LNDActions.SET_QUERY_ROUTES_LND || action.type === LNDActions.SEND_PAYMENT_STATUS_LND || action.type === LNDActions.NEWLY_SAVED_INVOICE_LND)) - .subscribe((action: (LNDActions.SetQueryRoutes | LNDActions.SendPaymentStatus | LNDActions.NewlySavedInvoice)) => { - if (action.type === LNDActions.SET_QUERY_ROUTES_LND) { this.queryRoute = action.payload; } - if (action.type === LNDActions.SEND_PAYMENT_STATUS_LND) { - this.logger.info(action.payload); - this.flgPaymentSent = true; - this.paymentStatus = action.payload; - this.flgEditable = true; - } - if (action.type === LNDActions.NEWLY_SAVED_INVOICE_LND) { - this.logger.info(action.payload); - this.flgInvoiceGenerated = true; - this.sendPayment(action.payload.paymentRequest); - } }); + this.statusFormGroup = this.formBuilder.group({}); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.invoices = rtlStore.invoices; + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === LNDActions.SET_QUERY_ROUTES_LND || action.type === LNDActions.SEND_PAYMENT_STATUS_LND || action.type === LNDActions.NEWLY_SAVED_INVOICE_LND)). + subscribe((action: (LNDActions.SetQueryRoutes | LNDActions.SendPaymentStatus | LNDActions.NewlySavedInvoice)) => { + if (action.type === LNDActions.SET_QUERY_ROUTES_LND) { + this.queryRoute = action.payload; + } + if (action.type === LNDActions.SEND_PAYMENT_STATUS_LND) { + this.logger.info(action.payload); + this.flgPaymentSent = true; + this.paymentStatus = action.payload; + this.flgEditable = true; + } + if (action.type === LNDActions.NEWLY_SAVED_INVOICE_LND) { + this.logger.info(action.payload); + this.flgInvoiceGenerated = true; + this.sendPayment(action.payload.paymentRequest); + } + }); + this.inputFormGroup.get('rebalanceAmount').valueChanges.pipe( + takeUntil(this.unSubs[2]), startWith(0)). + subscribe((amount) => { + this.inputFormGroup.controls.selRebalancePeer.setValue(''); + this.inputFormGroup.controls.selRebalancePeer.setErrors(null); + this.filteredActiveChannels = of(amount ? this.filterActiveChannels() : this.activeChannels.slice()); + }); + this.inputFormGroup.get('selRebalancePeer').valueChanges.pipe( + takeUntil(this.unSubs[3]), startWith('')). + subscribe((alias) => { + if (typeof alias === 'string') { + this.filteredActiveChannels = of(this.filterActiveChannels()); + } + }); } - onEstimateFee():boolean|void { - if(!this.inputFormGroup.controls.selRebalancePeer.value || !this.inputFormGroup.controls.rebalanceAmount.value) { return true; } + onSelectFee(): boolean|void { + if (this.inputFormGroup.controls.selRebalancePeer.value && typeof this.inputFormGroup.controls.selRebalancePeer.value === 'string') { + this.onSelectedPeerChanged(); + } + if (!this.inputFormGroup.controls.selRebalancePeer.value || typeof this.inputFormGroup.controls.selRebalancePeer.value === 'string' || !this.inputFormGroup.controls.rebalanceAmount.value) { + return true; + } if (this.stepper.selectedIndex === 0) { this.inputFormGroup.controls.hiddenAmount.setValue(this.inputFormGroup.controls.rebalanceAmount.value); this.stepper.next(); @@ -100,7 +130,10 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { this.queryRoute = null; this.feeFormGroup.reset(); this.feeFormGroup.controls.selFeeLimitType.setValue(this.feeLimitTypes[0]); - this.store.dispatch(new LNDActions.GetQueryRoutes({destPubkey: this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey, amount: this.inputFormGroup.controls.rebalanceAmount.value, outgoingChanId: this.selChannel.chan_id})); + this.feeFormGroup.controls.feeLimit.setValue(''); + this.feeFormGroup.controls.feeLimit.setErrors(null); + this.feeFormGroup.controls.hiddenFeeLimit.setValue(''); + this.feeFormGroup.controls.hiddenFeeLimit.setErrors(null); } stepSelectionChanged(event: any) { @@ -109,10 +142,11 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { this.inputFormLabel = 'Amount to rebalance'; this.feeFormLabel = 'Select rebalance fee'; break; - + case 1: if (this.inputFormGroup.controls.rebalanceAmount.value || this.inputFormGroup.controls.selRebalancePeer.value.remote_alias) { - this.inputFormLabel = 'Rebalancing Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value ? this.inputFormGroup.controls.rebalanceAmount.value : 0)) + ' Sats | Peer: ' + (this.inputFormGroup.controls.selRebalancePeer.value.remote_alias ? this.inputFormGroup.controls.selRebalancePeer.value.remote_alias : (this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0, 15) + '...')); + this.inputFormLabel = 'Rebalancing Amount: ' + + (this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value ? this.inputFormGroup.controls.rebalanceAmount.value : 0)) + ' Sats | Peer: ' + (this.inputFormGroup.controls.selRebalancePeer.value.remote_alias ? this.inputFormGroup.controls.selRebalancePeer.value.remote_alias : (this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0, 15) + '...')); } else { this.inputFormLabel = 'Amount to rebalance'; } @@ -121,7 +155,8 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { case 2: if (this.inputFormGroup.controls.rebalanceAmount.value || this.inputFormGroup.controls.selRebalancePeer.value.remote_alias) { - this.inputFormLabel = 'Rebalancing Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value ? this.inputFormGroup.controls.rebalanceAmount.value : 0)) + ' Sats | Peer: ' + (this.inputFormGroup.controls.selRebalancePeer.value.remote_alias ? this.inputFormGroup.controls.selRebalancePeer.value.remote_alias : (this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0, 15) + '...')); + this.inputFormLabel = 'Rebalancing Amount: ' + + (this.decimalPipe.transform(this.inputFormGroup.controls.rebalanceAmount.value ? this.inputFormGroup.controls.rebalanceAmount.value : 0)) + ' Sats | Peer: ' + (this.inputFormGroup.controls.selRebalancePeer.value.remote_alias ? this.inputFormGroup.controls.selRebalancePeer.value.remote_alias : (this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey.substring(0, 15) + '...')); } else { this.inputFormLabel = 'Amount to rebalance'; } @@ -143,16 +178,13 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { } else if (event.selectedIndex === 1) { this.feeFormGroup.controls.hiddenFeeLimit.setValue(''); } - } - } - - onUseEstimate() { - this.feeFormGroup.controls.selFeeLimitType.setValue(this.feeLimitTypes[0]); - this.feeFormGroup.controls.feeLimit.setValue((this.queryRoute.routes && this.queryRoute.routes.length > 0 && this.queryRoute.routes[0].total_fees_msat) ? Math.ceil(+this.queryRoute.routes[0].total_fees_msat/1000) : 0); + } } - onRebalance():boolean|void { - if (!this.inputFormGroup.controls.rebalanceAmount.value || this.inputFormGroup.controls.rebalanceAmount.value <= 0 || this.inputFormGroup.controls.rebalanceAmount.value > +this.selChannel.local_balance || !this.feeFormGroup.controls.feeLimit.value || this.feeFormGroup.controls.feeLimit.value < 0 || !this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey) { return true; } + onRebalance(): boolean|void { + if (!this.inputFormGroup.controls.rebalanceAmount.value || this.inputFormGroup.controls.rebalanceAmount.value <= 0 || this.inputFormGroup.controls.rebalanceAmount.value > +this.selChannel.local_balance || !this.feeFormGroup.controls.feeLimit.value || this.feeFormGroup.controls.feeLimit.value < 0 || !this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey) { + return true; + } this.feeFormGroup.controls.hiddenFeeLimit.setValue(this.feeFormGroup.controls.feeLimit.value); this.stepper.next(); this.flgEditable = false; @@ -161,29 +193,46 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { this.flgReusingInvoice = false; this.flgInvoiceGenerated = false; this.flgPaymentSent = false; - let unsettledInvoice = this.findUnsettledInvoice(); + const unsettledInvoice = this.findUnsettledInvoice(); if (unsettledInvoice) { this.flgReusingInvoice = true; this.sendPayment(unsettledInvoice.payment_request); } else { this.store.dispatch(new LNDActions.SaveNewInvoice({ - memo: 'Local-Rebalance-' + this.inputFormGroup.controls.rebalanceAmount.value + '-Sats', invoiceValue: this.inputFormGroup.controls.rebalanceAmount.value, private: false, expiry: 3600, pageSize: PAGE_SIZE, openModal: false + uiMessage: UI_MESSAGES.NO_SPINNER, memo: 'Local-Rebalance-' + this.inputFormGroup.controls.rebalanceAmount.value + '-Sats', invoiceValue: this.inputFormGroup.controls.rebalanceAmount.value, private: false, expiry: 3600, pageSize: PAGE_SIZE, openModal: false })); } } findUnsettledInvoice() { - return this.invoices.invoices.find(invoice => (invoice.settle_date === 0 || !invoice.settle_date) && invoice.memo === 'Local-Rebalance-' + this.inputFormGroup.controls.rebalanceAmount.value + '-Sats' && invoice.state !== 'CANCELED'); + return this.invoices.invoices.find((invoice) => (+invoice.settle_date === 0 || !invoice.settle_date) && invoice.memo === 'Local-Rebalance-' + this.inputFormGroup.controls.rebalanceAmount.value + '-Sats' && invoice.state !== 'CANCELED'); } sendPayment(payReq: string) { this.flgInvoiceGenerated = true; this.paymentRequest = payReq; - this.store.dispatch(new LNDActions.SendPayment({paymentReq: payReq, outgoingChannel: this.selChannel, feeLimitType: this.feeFormGroup.controls.selFeeLimitType.value, feeLimit: this.feeFormGroup.controls.feeLimit.value, allowSelfPayment: true, lastHopPubkey: this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey, fromDialog: true})); + this.store.dispatch(new LNDActions.SendPayment({ uiMessage: UI_MESSAGES.NO_SPINNER, paymentReq: payReq, outgoingChannel: this.selChannel, feeLimitType: this.feeFormGroup.controls.selFeeLimitType.value, feeLimit: this.feeFormGroup.controls.feeLimit.value, allowSelfPayment: true, lastHopPubkey: this.inputFormGroup.controls.selRebalancePeer.value.remote_pubkey, fromDialog: true })); } filterActiveChannels() { - this.filteredActiveChannels = this.activeChannels.filter(channel => channel.remote_balance >= this.inputFormGroup.controls.rebalanceAmount.value && channel.chan_id !== this.selChannel.chan_id); + return this.activeChannels.filter((channel) => channel.remote_balance >= this.inputFormGroup.controls.rebalanceAmount.value && + channel.chan_id !== this.selChannel.chan_id && ((channel.remote_alias.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value ? this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase() : '') === 0) || (channel.chan_id.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value ? this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase() : '') === 0))); + } + + onSelectedPeerChanged() { + if (this.inputFormGroup.controls.selRebalancePeer.value && this.inputFormGroup.controls.selRebalancePeer.value.length > 0 && typeof this.inputFormGroup.controls.selRebalancePeer.value === 'string') { + const foundChannels = this.activeChannels.filter((channel) => channel.remote_alias.length === this.inputFormGroup.controls.selRebalancePeer.value.length && channel.remote_alias.toLowerCase().indexOf(this.inputFormGroup.controls.selRebalancePeer.value ? this.inputFormGroup.controls.selRebalancePeer.value.toLowerCase() : '') === 0); + if (foundChannels && foundChannels.length > 0) { + this.inputFormGroup.controls.selRebalancePeer.setValue(foundChannels[0]); + this.inputFormGroup.controls.selRebalancePeer.setErrors(null); + } else { + this.inputFormGroup.controls.selRebalancePeer.setErrors({ notfound: true }); + } + } + } + + displayFn(channel: Channel): string { + return (channel && channel.remote_alias) ? channel.remote_alias : (channel && channel.chan_id) ? channel.chan_id : ''; } onClose() { @@ -191,19 +240,27 @@ export class ChannelRebalanceComponent implements OnInit, OnDestroy { } onRestart() { - this.flgInvoiceGenerated=false; - this.flgPaymentSent=false; - this.flgEditable=true; + this.flgInvoiceGenerated = false; + this.flgPaymentSent = false; + this.flgEditable = true; this.stepper.reset(); this.inputFormGroup.reset(); this.feeFormGroup.reset(); this.statusFormGroup.reset(); + this.inputFormGroup.controls.hiddenAmount.setValue(''); + this.inputFormGroup.controls.hiddenAmount.setErrors(null); + this.inputFormGroup.controls.rebalanceAmount.setValue(''); + this.inputFormGroup.controls.rebalanceAmount.setErrors(null); + this.inputFormGroup.controls.selRebalancePeer.setValue(''); + this.inputFormGroup.controls.selRebalancePeer.setErrors(null); + this.filteredActiveChannels = of(this.activeChannels); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.html b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.html index 164921c2..1a8a05b1 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.html +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.html @@ -5,9 +5,9 @@
-
- - +
+ +
@@ -81,11 +81,12 @@ - diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.spec.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.spec.ts index c625ac69..209a6856 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ChannelActiveHTLCsTableComponent } from './channel-active-htlcs-table.component'; +import { mockDataService, mockLoggerService } from '../../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ChannelActiveHTLCsTableComponent', () => { let component: ChannelActiveHTLCsTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelActiveHTLCsTableComponent ] - }) - .compileComponents(); + declarations: [ChannelActiveHTLCsTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ChannelActiveHTLCsTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.ts index 428cc97a..b7ce284d 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.ts @@ -8,7 +8,8 @@ import { MatTableDataSource } from '@angular/material/table'; import { ChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; import { Channel, ChannelHTLC } from '../../../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; @@ -21,12 +22,12 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./channel-active-htlcs-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('HTLCs') } - ] + ] }) export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; - public flgLoading: Array = [true]; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public channels: any; public channelsJSONArr: Channel[] = []; public displayedColumns: any[] = []; @@ -36,17 +37,20 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['amount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['amount', 'incoming', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['amount', 'incoming', 'expiration_height', 'actions']; } else { @@ -56,21 +60,18 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels/all') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchAllChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchAllChannels.message) : this.apisCallStatus.FetchAllChannels.message; } + this.channelsJSONArr = (rtlStore.allChannels && rtlStore.allChannels.length > 0) ? rtlStore.allChannels.filter((channel) => channel.pending_htlcs && channel.pending_htlcs.length > 0) : []; + this.loadHTLCsTable(this.channelsJSONArr); + this.logger.info(rtlStore); }); - this.channelsJSONArr = (rtlStore.allChannels && rtlStore.allChannels.length > 0) ? rtlStore.allChannels.filter(channel => channel.pending_htlcs && channel.pending_htlcs.length > 0) : []; - this.loadHTLCsTable(this.channelsJSONArr); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.channelsJSONArr) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -79,25 +80,25 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, onHTLCClick(selHtlc: ChannelHTLC, selChannel: Channel) { const reorderedHTLC = [ - [{key: 'remote_alias', value: selChannel.remote_alias, title: 'Alias', width: 100, type: DataTypeEnum.STRING}], - [{key: 'amount', value: selHtlc.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'incoming', value: (selHtlc.incoming ? 'Yes' : 'No'), title: 'Incoming', width: 50, type: DataTypeEnum.STRING}], - [{key: 'expiration_height', value: selHtlc.expiration_height, title: 'Expiration Height', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'hash_lock', value: selHtlc.hash_lock, title: 'Hash Lock', width: 50, type: DataTypeEnum.STRING}], + [{ key: 'remote_alias', value: selChannel.remote_alias, title: 'Alias', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'amount', value: selHtlc.amount, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'incoming', value: (selHtlc.incoming ? 'Yes' : 'No'), title: 'Incoming', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'expiration_height', value: selHtlc.expiration_height, title: 'Expiration Height', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'hash_lock', value: selHtlc.hash_lock, title: 'Hash Lock', width: 50, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'HTLC Information', message: reorderedHTLC - }})); + } })); } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { channel: selChannel, showCopy: true, component: ChannelInformationComponent - }})); + } })); } applyFilter(selFilter: any) { @@ -112,7 +113,7 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, case 'amount': this.commonService.sortByKey(data.pending_htlcs, sortHeaderId, 'number', this.sort.direction); return data.pending_htlcs && data.pending_htlcs.length ? data.pending_htlcs.length : null; - + case 'incoming': this.commonService.sortByKey(data.pending_htlcs, sortHeaderId, 'boolean', this.sort.direction); return data.remote_alias ? data.remote_alias : data.remote_pubkey ? data.remote_pubkey : null; @@ -131,21 +132,21 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, }; this.channels.paginator = this.paginator; this.channels.filterPredicate = (channel: Channel, fltr: string) => { - const newChannel = (channel.remote_alias ? channel.remote_alias.toLowerCase() : '') + - channel.pending_htlcs.map(htlc => JSON.stringify(htlc) + (htlc.incoming ? 'yes' : 'no')); + const newChannel = (channel.remote_alias ? channel.remote_alias.toLowerCase() : '') + + channel.pending_htlcs.map((htlc) => JSON.stringify(htlc) + (htlc.incoming ? 'yes' : 'no')); return newChannel.includes(fltr); - }; + }; } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.flattenHTLCs(), 'ActiveHTLCs'); } } flattenHTLCs() { - let channelsDataCopy = JSON.parse(JSON.stringify(this.channels.data)); - let flattenedHTLCs = channelsDataCopy.reduce((acc, curr) => { + const channelsDataCopy = JSON.parse(JSON.stringify(this.channels.data)); + const flattenedHTLCs = channelsDataCopy.reduce((acc, curr) => { if (curr.pending_htlcs) { return acc.concat(curr.pending_htlcs); } else { @@ -156,7 +157,7 @@ export class ChannelActiveHTLCsTableComponent implements OnInit, AfterViewInit, } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.html b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.html index 9474966e..4c7b627d 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.html +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.html @@ -5,9 +5,9 @@ -
- -
Amount (Sats) -

No active htlc available.

+

No active htlc available.

+

Getting active htlcs...

+

{{errorMessage}}

+
+ +
@@ -48,7 +48,9 @@ diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.spec.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.spec.ts index bd1713e1..f7237c06 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ChannelClosedTableComponent } from './channel-closed-table.component'; +import { mockDataService, mockLoggerService } from '../../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ChannelClosedTableComponent', () => { let component: ChannelClosedTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelClosedTableComponent ] - }) - .compileComponents(); + declarations: [ChannelClosedTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ChannelClosedTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.ts index 819d883e..f1cfb89c 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.ts @@ -1,15 +1,15 @@ import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core'; import { Subject } from 'rxjs'; -import { takeUntil, filter } from 'rxjs/operators'; +import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Actions } from '@ngrx/effects'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ClosedChannel } from '../../../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CHANNEL_CLOSURE_TYPE } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CHANNEL_CLOSURE_TYPE, APICallStatusEnum } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; @@ -25,27 +25,30 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; ] }) export class ChannelClosedTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public channelClosureType = CHANNEL_CLOSURE_TYPE; public faHistory = faHistory; public displayedColumns: any[] = []; public closedChannelsData: ClosedChannel[] =[]; public closedChannels: any; - public flgLoading: Array = [true]; public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unsub: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private actions$: Actions, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['remote_alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['close_type', 'remote_alias', 'settled_balance', 'actions']; } else { @@ -55,23 +58,20 @@ export class ChannelClosedTableComponent implements OnInit, AfterViewInit, OnDes } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unsub[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels/closed') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unsub[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchClosedChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchClosedChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchClosedChannels.message) : this.apisCallStatus.FetchClosedChannels.message; + } + this.closedChannelsData = rtlStore.closedChannels; + if (this.closedChannelsData.length > 0) { + this.loadClosedChannelsTable(this.closedChannelsData); } + this.logger.info(rtlStore); }); - this.closedChannelsData = rtlStore.closedChannels; - if (this.closedChannelsData.length > 0) { - this.loadClosedChannelsTable(this.closedChannelsData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( rtlStore.closedChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -86,41 +86,41 @@ export class ChannelClosedTableComponent implements OnInit, AfterViewInit, OnDes onClosedChannelClick(selChannel: ClosedChannel, event: any) { const reorderedChannel = [ - [{key: 'close_type', value: this.channelClosureType[selChannel.close_type].name, title: 'Close Type', width: 30, type: DataTypeEnum.STRING}, - {key: 'settled_balance', value: selChannel.settled_balance, title: 'Settled Balance', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'time_locked_balance', value: selChannel.time_locked_balance, title: 'Time Locked Balance', width: 40, type: DataTypeEnum.NUMBER}], - [{key: 'chan_id', value: selChannel.chan_id, title: 'Channel ID', width: 30}, - {key: 'capacity', value: selChannel.capacity, title: 'Capacity', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'close_height', value: selChannel.close_height, title: 'Close Height', width: 40, type: DataTypeEnum.NUMBER}], - [{key: 'remote_alias', value: selChannel.remote_alias, title: 'Peer Alias', width: 30}, - {key: 'remote_pubkey', value: selChannel.remote_pubkey, title: 'Peer Public Key', width: 70}], - [{key: 'channel_point', value: selChannel.channel_point, title: 'Channel Point', width: 100}], - [{key: 'closing_tx_hash', value: selChannel.closing_tx_hash, title: 'Closing Transaction Hash', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'close_type', value: this.channelClosureType[selChannel.close_type].name, title: 'Close Type', width: 30, type: DataTypeEnum.STRING }, + { key: 'settled_balance', value: selChannel.settled_balance, title: 'Settled Balance', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'time_locked_balance', value: selChannel.time_locked_balance, title: 'Time Locked Balance', width: 40, type: DataTypeEnum.NUMBER }], + [{ key: 'chan_id', value: selChannel.chan_id, title: 'Channel ID', width: 30 }, + { key: 'capacity', value: selChannel.capacity, title: 'Capacity', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'close_height', value: selChannel.close_height, title: 'Close Height', width: 40, type: DataTypeEnum.NUMBER }], + [{ key: 'remote_alias', value: selChannel.remote_alias, title: 'Peer Alias', width: 30 }, + { key: 'remote_pubkey', value: selChannel.remote_pubkey, title: 'Peer Public Key', width: 70 }], + [{ key: 'channel_point', value: selChannel.channel_point, title: 'Channel Point', width: 100 }], + [{ key: 'closing_tx_hash', value: selChannel.closing_tx_hash, title: 'Closing Transaction Hash', width: 100, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Closed Channel Information', message: reorderedChannel - }})); + } })); } loadClosedChannelsTable(closedChannels) { this.closedChannels = new MatTableDataSource([...closedChannels]); this.closedChannels.sort = this.sort; - this.closedChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.closedChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.closedChannels.filterPredicate = (channel: ClosedChannel, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.closedChannels.paginator = this.paginator; this.logger.info(this.closedChannels); } onDownloadCSV() { - if(this.closedChannels.data && this.closedChannels.data.length > 0) { + if (this.closedChannels.data && this.closedChannels.data.length > 0) { this.commonService.downloadFile(this.closedChannels.data, 'Closed-channels'); } } ngOnDestroy() { - this.unsub.forEach(completeSub => { + this.unsub.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html index cc2dfcd1..1cc09640 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.html @@ -5,13 +5,13 @@ -
- -
Close Type {{channelClosureType[channel.close_type].name}} -

No closed channels available.

+

No closed channel available.

+

Getting closed channels...

+

{{errorMessage}}

+
+ +
- + - + @@ -51,7 +51,7 @@ diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss index d485d487..c9e87e45 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss @@ -9,9 +9,16 @@ } .mat-column-balancedness { - padding-left: 2rem; flex: 0 0 20%; width: 20%; + @include for_screensize(tab-land) { + flex: 0 0 35%; + width: 35%; + } + @include for_screensize(tab-port) { + flex: 0 0 25%; + width: 25%; + } } .mat-column-uptime, .mat-column-local_balance, .mat-column-remote_balance, .mat-column-total_satoshis_sent, .mat-column-total_satoshis_received { @@ -19,7 +26,16 @@ width: 10%; white-space: nowrap; overflow: hidden; - text-overflow: ellipsis; + text-overflow: ellipsis; + @include for_screensize(tab-land) { + white-space: unset; + flex: 1 1 25%; + width: 25%; + } + @include for_screensize(tab-port) { + flex: 0 0 15%; + width: 15%; + } @include for_screensize(phone) { white-space: unset; } @@ -30,7 +46,7 @@ & .bordered-box.table-actions-select { flex: 0 0 100%; @include for_screensize(tab-port) { - flex: 0 0 60%; + flex: 0 0 90%; } @include for_screensize(phone) { flex: 0 0 80%; diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts index b8d7ac4e..c3306398 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.spec.ts @@ -1,16 +1,45 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { LoopService } from '../../../../../shared/services/loop.service'; import { ChannelOpenTableComponent } from './channel-open-table.component'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { mockDataService, mockLoggerService, mockLNDEffects, mockRTLEffects } from '../../../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../../../store/rtl.effects'; +import { LNDEffects } from '../../../../store/lnd.effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ChannelOpenTableComponent', () => { let component: ChannelOpenTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelOpenTableComponent ] - }) - .compileComponents(); + declarations: [ChannelOpenTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, LoopService, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects }, + { provide: LNDEffects, useClass: mockLNDEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +51,8 @@ describe('ChannelOpenTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts index 10c8a19f..c15f0e0f 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.ts @@ -6,12 +6,13 @@ import { Store } from '@ngrx/store'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import {faEye, faEyeSlash} from "@fortawesome/free-solid-svg-icons"; +import { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; import { ChannelInformationComponent } from '../../channel-information-modal/channel-information.component'; import { SelNodeChild } from '../../../../../shared/models/RTLconfig'; import { Channel, GetInfo } from '../../../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, UserPersonaEnum, LoopTypeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, UserPersonaEnum, LoopTypeEnum, APICallStatusEnum, UI_MESSAGES } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { LoopService } from '../../../../../shared/services/loop.service'; import { CommonService } from '../../../../../shared/services/common.service'; @@ -25,18 +26,18 @@ import * as LNDActions from '../../../../store/lnd.actions'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; - @Component({ selector: 'rtl-channel-open-table', templateUrl: './channel-open-table.component.html', styleUrls: ['./channel-open-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Channels') } - ] + ] }) export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public timeUnit = 'mins:secs'; public userPersonaEnum = UserPersonaEnum; public selNode: SelNodeChild = {}; @@ -47,7 +48,6 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr public myChanPolicy: any = {}; public information: GetInfo = {}; public numPeers = -1; - public flgLoading: Array = [true]; public selFilter = ''; public flgSticky = false; public pageSize = PAGE_SIZE; @@ -58,19 +58,22 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr public faEye = faEye; public faEyeSlash = faEyeSlash private targetConf = 6; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private lndEffects: LNDEffects, private commonService: CommonService, private loopService: LoopService, private decimalPipe: DecimalPipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['remote_alias', 'local_balance', 'remote_balance', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; - this.displayedColumns = ['remote_alias', 'uptime', 'local_balance', 'remote_balance', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + this.displayedColumns = ['remote_alias', 'local_balance', 'remote_balance', 'balancedness', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; - this.displayedColumns = ['remote_alias', 'uptime', 'local_balance', 'remote_balance', 'actions']; + this.displayedColumns = ['remote_alias', 'local_balance', 'remote_balance', 'balancedness', 'actions']; } else { this.flgSticky = true; this.displayedColumns = ['remote_alias', 'uptime', 'total_satoshis_sent', 'total_satoshis_received', 'local_balance', 'remote_balance', 'balancedness', 'actions']; @@ -78,28 +81,27 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels/all') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchAllChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchAllChannels.message) : this.apisCallStatus.FetchAllChannels.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + if (this.information && this.information.version) { + this.versionsArr = this.information.version.split('.'); + } + this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.totalBalance = +rtlStore.blockchainBalance.total_balance; + this.channelsData = this.calculateUptime(rtlStore.allChannels); + if (this.channelsData.length > 0) { + this.loadChannelsTable(this.channelsData); } + this.logger.info(rtlStore); }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - if(this.information && this.information.version) { this.versionsArr = this.information.version.split('.'); } - this.numPeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.totalBalance = +rtlStore.blockchainBalance.total_balance; - this.channelsData = this.calculateUptime(rtlStore.allChannels); - if (this.channelsData.length > 0) { - this.loadChannelsTable(this.channelsData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (rtlStore.allChannels) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -109,31 +111,36 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr } onViewRemotePolicy(selChannel: Channel) { - this.store.dispatch(new LNDActions.ChannelLookup(selChannel.chan_id.toString() + '/' + this.information.identity_pubkey)); - this.lndEffects.setLookup - .pipe(take(1)) - .subscribe((resLookup):boolean|void => { - if(!resLookup.fee_base_msat && !resLookup.fee_rate_milli_msat && !resLookup.time_lock_delta) { return false; } - const reorderedChannelPolicy = [ - [{key: 'fee_base_msat', value: resLookup.fee_base_msat, title: 'Base Fees (mSats)', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'fee_rate_milli_msat', value: resLookup.fee_rate_milli_msat, title: 'Fee Rate (milli mSats)', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'fee_rate_milli_msat', value: resLookup.fee_rate_milli_msat/10000, title: 'Fee Rate (%)', width: 25, type: DataTypeEnum.NUMBER, digitsInfo: '1.0-8'}, - {key: 'time_lock_delta', value: resLookup.time_lock_delta, title: 'Time Lock Delta', width: 25, type: DataTypeEnum.NUMBER}] - ]; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'Remote Channel Policy', - message: reorderedChannelPolicy - }})); - }); - + this.store.dispatch(new LNDActions.ChannelLookup({ uiMessage: UI_MESSAGES.GET_REMOTE_POLICY, channelID: selChannel.chan_id.toString() + '/' + this.information.identity_pubkey })); + this.lndEffects.setLookup. + pipe(take(1)). + subscribe((resLookup): boolean|void => { + if (!resLookup.fee_base_msat && !resLookup.fee_rate_milli_msat && !resLookup.time_lock_delta) { + return false; + } + const reorderedChannelPolicy = [ + [{ key: 'fee_base_msat', value: resLookup.fee_base_msat, title: 'Base Fees (mSats)', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'fee_rate_milli_msat', value: resLookup.fee_rate_milli_msat, title: 'Fee Rate (milli mSats)', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'fee_rate_milli_msat', value: resLookup.fee_rate_milli_msat / 10000, title: 'Fee Rate (%)', width: 25, type: DataTypeEnum.NUMBER, digitsInfo: '1.0-8' }, + { key: 'time_lock_delta', value: resLookup.time_lock_delta, title: 'Time Lock Delta', width: 25, type: DataTypeEnum.NUMBER }] + ]; + this.store.dispatch(new RTLActions.OpenAlert({ data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'Remote Channel Policy', + message: reorderedChannelPolicy + } })); + }); } onCircularRebalance(selChannel: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - channel: selChannel, + const channelsToRebalanceMessage = { + channels: this.channelsData, + selChannel: selChannel + }; + this.store.dispatch(new RTLActions.OpenAlert({ data: { + message: channelsToRebalanceMessage, component: ChannelRebalanceComponent - }})); + } })); } onChannelUpdate(channelToUpdate: any) { @@ -148,78 +155,74 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr titleMessage: 'Update fee policy for all channels', flgShowInput: true, getInputs: [ - {placeholder: 'Base Fee (mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 1000, width: 32}, - {placeholder: 'Fee Rate (mili mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 1, min: 1, width: 32, hintFunction: this.percentHintFunction}, - {placeholder: 'Time Lock Delta', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 40, width: 32} + { placeholder: 'Base Fee (mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 1000, width: 32 }, + { placeholder: 'Fee Rate (mili mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 1, min: 1, width: 32, hintFunction: this.percentHintFunction }, + { placeholder: 'Time Lock Delta', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: 40, width: 32 } ] - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[1])) - .subscribe(confirmRes => { - if (confirmRes) { - const base_fee = confirmRes[0].inputValue; - const fee_rate = confirmRes[1].inputValue; - const time_lock_delta = confirmRes[2].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Channel Policy...')); - this.store.dispatch(new LNDActions.UpdateChannels({baseFeeMsat: base_fee, feeRate: fee_rate, timeLockDelta: time_lock_delta, chanPoint: 'all'})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[1])). + subscribe((confirmRes) => { + if (confirmRes) { + const base_fee = confirmRes[0].inputValue; + const fee_rate = confirmRes[1].inputValue; + const time_lock_delta = confirmRes[2].inputValue; + this.store.dispatch(new LNDActions.UpdateChannels({ baseFeeMsat: base_fee, feeRate: fee_rate, timeLockDelta: time_lock_delta, chanPoint: 'all' })); + } + }); } else { - this.myChanPolicy = {fee_base_msat: 0, fee_rate_milli_msat: 0, time_lock_delta: 0}; - this.store.dispatch(new RTLActions.OpenSpinner('Fetching Channel Policy...')); - this.store.dispatch(new LNDActions.ChannelLookup(channelToUpdate.chan_id.toString())); - this.lndEffects.setLookup - .pipe(take(1)) - .subscribe(resLookup => { - if (resLookup.node1_pub === this.information.identity_pubkey) { - this.myChanPolicy = resLookup.node1_policy; - } else if (resLookup.node2_pub === this.information.identity_pubkey) { - this.myChanPolicy = resLookup.node2_policy; - } else { - this.myChanPolicy = {fee_base_msat: 0, fee_rate_milli_msat: 0, time_lock_delta: 0}; - } - this.logger.info(this.myChanPolicy); - this.store.dispatch(new RTLActions.CloseSpinner()); - const titleMsg = 'Update fee policy for channel point: ' + channelToUpdate.channel_point; - const confirmationMsg = []; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { - type: AlertTypeEnum.CONFIRM, - alertTitle: 'Update Fee Policy', - titleMessage: titleMsg, - noBtnText: 'Cancel', - yesBtnText: 'Update Channel', - message: confirmationMsg, - flgShowInput: true, - getInputs: [ - {placeholder: 'Base Fee (mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: (this.myChanPolicy.fee_base_msat === '') ? 0 : this.myChanPolicy.fee_base_msat, width: 32}, - {placeholder: 'Fee Rate (mili mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: this.myChanPolicy.fee_rate_milli_msat, min: 1, width: 32, hintFunction: this.percentHintFunction}, - {placeholder: 'Time Lock Delta', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: this.myChanPolicy.time_lock_delta, width: 32} - ] - }})); - }); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[2])) - .subscribe(confirmRes => { - if (confirmRes) { - const base_fee = confirmRes[0].inputValue; - const fee_rate = confirmRes[1].inputValue; - const time_lock_delta = confirmRes[2].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Channel Policy...')); - this.store.dispatch(new LNDActions.UpdateChannels({baseFeeMsat: base_fee, feeRate: fee_rate, timeLockDelta: time_lock_delta, chanPoint: channelToUpdate.channel_point})); - } - }); + this.myChanPolicy = { fee_base_msat: 0, fee_rate_milli_msat: 0, time_lock_delta: 0 }; + this.store.dispatch(new LNDActions.ChannelLookup({ uiMessage: UI_MESSAGES.GET_CHAN_POLICY, channelID: channelToUpdate.chan_id.toString() })); + this.lndEffects.setLookup. + pipe(take(1)). + subscribe((resLookup) => { + if (resLookup.node1_pub === this.information.identity_pubkey) { + this.myChanPolicy = resLookup.node1_policy; + } else if (resLookup.node2_pub === this.information.identity_pubkey) { + this.myChanPolicy = resLookup.node2_policy; + } else { + this.myChanPolicy = { fee_base_msat: 0, fee_rate_milli_msat: 0, time_lock_delta: 0 }; + } + this.logger.info(this.myChanPolicy); + const titleMsg = 'Update fee policy for channel point: ' + channelToUpdate.channel_point; + const confirmationMsg = []; + this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + type: AlertTypeEnum.CONFIRM, + alertTitle: 'Update Fee Policy', + titleMessage: titleMsg, + noBtnText: 'Cancel', + yesBtnText: 'Update Channel', + message: confirmationMsg, + flgShowInput: true, + getInputs: [ + { placeholder: 'Base Fee (mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: (this.myChanPolicy.fee_base_msat === '') ? 0 : this.myChanPolicy.fee_base_msat, width: 32 }, + { placeholder: 'Fee Rate (mili mSat)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: this.myChanPolicy.fee_rate_milli_msat, min: 1, width: 32, hintFunction: this.percentHintFunction }, + { placeholder: 'Time Lock Delta', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: this.myChanPolicy.time_lock_delta, width: 32 } + ] + } })); + }); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[2])). + subscribe((confirmRes) => { + if (confirmRes) { + const base_fee = confirmRes[0].inputValue; + const fee_rate = confirmRes[1].inputValue; + const time_lock_delta = confirmRes[2].inputValue; + this.store.dispatch(new LNDActions.UpdateChannels({ baseFeeMsat: base_fee, feeRate: fee_rate, timeLockDelta: time_lock_delta, chanPoint: channelToUpdate.channel_point })); + } + }); } this.applyFilter(); } onChannelClose(channelToClose: Channel) { if (channelToClose.active) { - this.store.dispatch(new LNDActions.FetchAllChannels()); //To get latest pending htlc status + this.store.dispatch(new LNDActions.FetchAllChannels()); // To get latest pending htlc status } - this.store.dispatch(new RTLActions.OpenAlert({width: '70%', data: { + this.store.dispatch(new RTLActions.OpenAlert({ width: '70%', data: { channel: channelToClose, component: CloseChannelComponent - }})); + } })); } applyFilter() { @@ -227,17 +230,15 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr } onChannelClick(selChannel: Channel, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { channel: selChannel, showCopy: true, component: ChannelInformationComponent - }})); + } })); } loadChannelsTable(mychannels: Channel[]) { - mychannels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? 1 : -1); - }); + mychannels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? 1 : -1))); this.channels = new MatTableDataSource([...mychannels]); this.channels.filterPredicate = (channel: Channel, fltr: string) => { const newChannel = ((channel.active) ? 'active' : 'inactive') + (channel.chan_id ? channel.chan_id.toLowerCase() : '') + @@ -249,7 +250,7 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr return newChannel.includes(fltr); }; this.channels.sort = this.sort; - this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.channels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.channels.paginator = this.paginator; this.logger.info(this.channels); } @@ -262,7 +263,11 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr let maxDivider = minutesDivider; let minDivider = 1; let max_uptime = 0; - channels.forEach(channel => { if(channel.uptime && +channel.uptime > max_uptime) { max_uptime = +channel.uptime; }}); + channels.forEach((channel) => { + if (channel.uptime && +channel.uptime > max_uptime) { + max_uptime = +channel.uptime; + } + }); switch (true) { case max_uptime < hoursDivider: this.timeUnit = 'Mins:Secs'; @@ -281,43 +286,41 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr maxDivider = daysDivider; minDivider = hoursDivider; break; - + case max_uptime > yearsDivider: this.timeUnit = 'Yrs:Days'; maxDivider = yearsDivider; minDivider = daysDivider; break; - + default: this.timeUnit = 'Mins:Secs'; maxDivider = minutesDivider; minDivider = 1; break; } - channels.forEach(channel => { + channels.forEach((channel) => { channel.uptime_str = channel.uptime ? (this.decimalPipe.transform(Math.floor(+channel.uptime / maxDivider), '2.0-0') + ':' + this.decimalPipe.transform(Math.round((+channel.uptime % maxDivider) / minDivider), '2.0-0')) : '---'; }); return channels; } onLoopOut(selChannel: Channel) { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Terms and Quotes...')); - this.loopService.getLoopOutTermsAndQuotes(this.targetConf) - .pipe(takeUntil(this.unSubs[0])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({ minHeight: '56rem', data: { - channel: selChannel, - minQuote: response[0], - maxQuote: response[1], - direction: LoopTypeEnum.LOOP_OUT, - component: LoopModalComponent - }})); - }); + this.loopService.getLoopOutTermsAndQuotes(this.targetConf). + pipe(takeUntil(this.unSubs[0])). + subscribe((response) => { + this.store.dispatch(new RTLActions.OpenAlert({ minHeight: '56rem', data: { + channel: selChannel, + minQuote: response[0], + maxQuote: response[1], + direction: LoopTypeEnum.LOOP_OUT, + component: LoopModalComponent + } })); + }); } onDownloadCSV() { - if(this.channels.data && this.channels.data.length > 0) { + if (this.channels.data && this.channels.data.length > 0) { this.commonService.downloadFile(this.channels.data, 'Open-channels'); } } @@ -327,7 +330,7 @@ export class ChannelOpenTableComponent implements OnInit, AfterViewInit, OnDestr } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html index 793cf4c6..fac65c33 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.html @@ -1,13 +1,14 @@
- Total Limbo Balance: {{pendingChannels.total_limbo_balance | number}} {{information?.smaller_currency_unit}} + Total Limbo Balance: {{pendingChannels.total_limbo_balance | number}} Sats - + Pending Open ({{pendingOpenChannelsLength}}) -
- +
+ +
Peer -
+
@@ -33,11 +33,11 @@
{{channel.total_satoshis_received | number}} Local Balance Local Balance (Sats) {{channel.local_balance | number}} Remote Balance Remote Balance (Sats) {{channel.remote_balance | number}} -
+
Update Fee Policy @@ -75,8 +75,10 @@
-

No peers connected. Add a peer in order to open a channel.

-

No channels available.

+

No peers connected. Add a peer in order to open a channel.

+

No channel available.

+

Getting channels...

+

{{errorMessage}}

Peer {{channel.channel.remote_alias}} @@ -38,22 +39,24 @@ - +
-

No pending channels.

+

No pending channel.

+

Getting pending channels...

+

{{errorMessage}}

- + Pending Force Closing ({{pendingForceClosingChannelsLength}}) -
- +
+ Peer {{channel.channel.remote_alias}} @@ -78,23 +81,25 @@ - +
-

No pending channels.

+

No pending channel.

+

Getting pending channels...

+

{{errorMessage}}

- + Pending Closing ({{pendingClosingChannelsLength}}) -
- +
+ Peer {{channel.channel.remote_alias}} @@ -125,23 +130,25 @@ - +
-

No pending channels.

+

No pending channel.

+

Getting pending channels...

+

{{errorMessage}}

- + Waiting Close ({{pendingWaitClosingChannelsLength}}) -
- +
+ Peer {{channel.channel.remote_alias}} @@ -178,13 +185,15 @@ - +
-

No pending channels.

+

No pending channel.

+

Getting pending channels...

+

{{errorMessage}}

diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts index 7fa5220d..18de7f01 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; import { ChannelPendingTableComponent } from './channel-pending-table.component'; +import { mockDataService, mockLoggerService } from '../../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../../shared/services/data.service'; describe('ChannelPendingTableComponent', () => { let component: ChannelPendingTableComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelPendingTableComponent ] - }) - .compileComponents(); + declarations: [ChannelPendingTableComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ChannelPendingTableComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts index 2ca173e8..67519dc5 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.ts @@ -6,6 +6,8 @@ import { Store } from '@ngrx/store'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Channel, GetInfo, PendingChannels, PendingOpenChannel } from '../../../../../shared/models/lndModels'; +import { AlertTypeEnum, APICallStatusEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../../../../shared/models/RTLconfig'; import { LoggerService } from '../../../../../shared/services/logger.service'; import { CommonService } from '../../../../../shared/services/common.service'; @@ -13,7 +15,6 @@ import { BumpFeeComponent } from '../../bump-fee-modal/bump-fee.component'; import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; -import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-channel-pending-table', @@ -21,6 +22,7 @@ import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../../../shar styleUrls: ['./channel-pending-table.component.scss'] }) export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; public selNode: SelNodeChild = {}; public selectedFilter = ''; @@ -38,19 +40,21 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe public displayedWaitClosingColumns = ['remote_alias', 'limbo_balance', 'local_balance', 'remote_balance', 'actions']; public pendingWaitClosingChannelsLength = 0; public pendingWaitClosingChannels: any; - public flgLoading: Array = [true]; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.displayedOpenColumns = ['remote_alias', 'actions']; this.displayedForceClosingColumns = ['remote_alias', 'actions']; this.displayedClosingColumns = ['remote_alias', 'actions']; this.displayedWaitClosingColumns = ['remote_alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.displayedOpenColumns = ['remote_alias', 'commit_fee', 'actions']; this.displayedForceClosingColumns = ['remote_alias', 'limbo_balance', 'actions']; this.displayedClosingColumns = ['remote_alias', 'remote_balance', 'actions']; @@ -64,38 +68,31 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchChannels/pending') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPendingChannels.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPendingChannels.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPendingChannels.message) : this.apisCallStatus.FetchPendingChannels.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.pendingChannels = rtlStore.pendingChannels; + if (this.pendingChannels.pending_open_channels && this.pendingChannels.pending_open_channels.length && this.pendingChannels.pending_open_channels.length > 0) { + this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels); + } + if (this.pendingChannels.pending_force_closing_channels && this.pendingChannels.pending_force_closing_channels.length && this.pendingChannels.pending_force_closing_channels.length > 0) { + this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels); + } + if (this.pendingChannels.pending_closing_channels && this.pendingChannels.pending_closing_channels.length && this.pendingChannels.pending_closing_channels.length > 0) { + this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels); } + if (this.pendingChannels.waiting_close_channels && this.pendingChannels.waiting_close_channels.length && this.pendingChannels.waiting_close_channels.length > 0) { + this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels); + } + this.logger.info(rtlStore); }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.pendingChannels = rtlStore.pendingChannels; - if (this.pendingChannels.total_limbo_balance) { - this.flgLoading[1] = false; - } - if (this.pendingChannels.pending_open_channels && this.pendingChannels.pending_open_channels.length && this.pendingChannels.pending_open_channels.length > 0) { - this.loadOpenChannelsTable(this.pendingChannels.pending_open_channels); - } - if (this.pendingChannels.pending_force_closing_channels && this.pendingChannels.pending_force_closing_channels.length && this.pendingChannels.pending_force_closing_channels.length > 0) { - this.loadForceClosingChannelsTable(this.pendingChannels.pending_force_closing_channels); - } - if (this.pendingChannels.pending_closing_channels && this.pendingChannels.pending_closing_channels.length && this.pendingChannels.pending_closing_channels.length > 0) { - this.loadClosingChannelsTable(this.pendingChannels.pending_closing_channels); - } - if (this.pendingChannels.waiting_close_channels && this.pendingChannels.waiting_close_channels.length && this.pendingChannels.waiting_close_channels.length > 0) { - this.loadWaitClosingChannelsTable(this.pendingChannels.waiting_close_channels); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = (this.information.identity_pubkey) ? false : true; - } - this.logger.info(rtlStore); - }); - } ngAfterViewInit() { @@ -119,54 +116,54 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe const preOrderedChannel: any = {}; Object.assign(preOrderedChannel, fcChannelObj1, fcChannelObj2); const reorderedChannel = [ - [{key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING}], - [{key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING}], - [{key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'confirmation_height', value: preOrderedChannel.confirmation_height, title: 'Confirmation Height', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER}], - [{key: 'fee_per_kw', value: preOrderedChannel.fee_per_kw, title: 'Fee/KW', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'commit_weight', value: preOrderedChannel.commit_weight, title: 'Commit Weight', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'commit_fee', value: preOrderedChannel.commit_fee, title: 'Commit Fee', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING }], + [{ key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'confirmation_height', value: preOrderedChannel.confirmation_height, title: 'Confirmation Height', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER }], + [{ key: 'fee_per_kw', value: preOrderedChannel.fee_per_kw, title: 'Fee/KW', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'commit_weight', value: preOrderedChannel.commit_weight, title: 'Commit Weight', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'commit_fee', value: preOrderedChannel.commit_fee, title: 'Commit Fee', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Opening Channel Information', message: reorderedChannel - }})); + } })); } onBumpFee(selChannel: PendingOpenChannel) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { pendingChannel: selChannel, component: BumpFeeComponent - }})); + } })); } - + onForceClosingClick(selChannel: any) { const fcChannelObj1 = JSON.parse(JSON.stringify(selChannel, ['closing_txid', 'limbo_balance', 'maturity_height', 'blocks_til_maturity', 'recovered_balance'], 2)); const fcChannelObj2 = JSON.parse(JSON.stringify(selChannel.channel, ['remote_alias', 'channel_point', 'remote_balance', 'local_balance', 'remote_node_pub', 'capacity'], 2)); const preOrderedChannel: any = {}; Object.assign(preOrderedChannel, fcChannelObj1, fcChannelObj2); const reorderedChannel = [ - [{key: 'closing_txid', value: preOrderedChannel.closing_txid, title: 'Closing Transaction ID', width: 100, type: DataTypeEnum.STRING}], - [{key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING}], - [{key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING}], - [{key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'limbo_balance', value: preOrderedChannel.limbo_balance, title: 'Limbo Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER}], - [{key: 'maturity_height', value: preOrderedChannel.maturity_height, title: 'Maturity Height', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'blocks_til_maturity', value: preOrderedChannel.blocks_til_maturity, title: 'Blocks Till Maturity', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'recovered_balance', value: preOrderedChannel.recovered_balance, title: 'Recovered Balance', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'closing_txid', value: preOrderedChannel.closing_txid, title: 'Closing Transaction ID', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING }], + [{ key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'limbo_balance', value: preOrderedChannel.limbo_balance, title: 'Limbo Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER }], + [{ key: 'maturity_height', value: preOrderedChannel.maturity_height, title: 'Maturity Height', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'blocks_til_maturity', value: preOrderedChannel.blocks_til_maturity, title: 'Blocks Till Maturity', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'recovered_balance', value: preOrderedChannel.recovered_balance, title: 'Recovered Balance', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Force Closing Channel Information', message: reorderedChannel - }})); + } })); } onClosingClick(selChannel: any) { @@ -175,19 +172,19 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe const preOrderedChannel: any = {}; Object.assign(preOrderedChannel, fcChannelObj1, fcChannelObj2); const reorderedChannel = [ - [{key: 'closing_txid', value: preOrderedChannel.closing_txid, title: 'Closing Transaction ID', width: 50, type: DataTypeEnum.STRING}], - [{key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING}], - [{key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING}], - [{key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'closing_txid', value: preOrderedChannel.closing_txid, title: 'Closing Transaction ID', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING }], + [{ key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Closing Channel Information', message: reorderedChannel - }})); + } })); } onWaitClosingClick(selChannel: any) { @@ -197,66 +194,58 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe const preOrderedChannel: any = {}; Object.assign(preOrderedChannel, fcChannelObj1, fcChannelObj2, fcChannelObj3); const reorderedChannel = [ - [{key: 'local_txid', value: preOrderedChannel.local_txid, title: 'Transaction ID', width: 100, type: DataTypeEnum.STRING}], - [{key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING}], - [{key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING}], - [{key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'limbo_balance', value: preOrderedChannel.limbo_balance, title: 'Limbo Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER}] + [{ key: 'local_txid', value: preOrderedChannel.local_txid, title: 'Transaction ID', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'channel_point', value: preOrderedChannel.channel_point, title: 'Channel Point', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'remote_alias', value: preOrderedChannel.remote_alias, title: 'Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'remote_node_pub', value: preOrderedChannel.remote_node_pub, title: 'Peer Node Pubkey', width: 75, type: DataTypeEnum.STRING }], + [{ key: 'capacity', value: preOrderedChannel.capacity, title: 'Capacity', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'limbo_balance', value: preOrderedChannel.limbo_balance, title: 'Limbo Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'local_balance', value: preOrderedChannel.local_balance, title: 'Local Balance', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'remote_balance', value: preOrderedChannel.remote_balance, title: 'Remote Balance', width: 25, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Wait Closing Channel Information', message: reorderedChannel - }})); + } })); } loadOpenChannelsTable(channels) { - channels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? -1 : 1); - }); + channels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? -1 : 1))); this.pendingOpenChannelsLength = (channels.length) ? channels.length : 0; this.pendingOpenChannels = new MatTableDataSource([...channels]); this.pendingOpenChannels.sort = this.sort; - this.pendingOpenChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.pendingOpenChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.pendingOpenChannels.filterPredicate = (channel: any, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.logger.info(this.pendingOpenChannels); } loadForceClosingChannelsTable(channels) { - channels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? -1 : 1); - }); + channels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? -1 : 1))); this.pendingForceClosingChannelsLength = (channels.length) ? channels.length : 0; this.pendingForceClosingChannels = new MatTableDataSource([...channels]); this.pendingForceClosingChannels.sort = this.sort; - this.pendingForceClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.pendingForceClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.pendingForceClosingChannels.filterPredicate = (channel: any, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.logger.info(this.pendingForceClosingChannels); } loadClosingChannelsTable(channels) { - channels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? -1 : 1); - }); + channels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? -1 : 1))); this.pendingClosingChannelsLength = (channels.length) ? channels.length : 0; this.pendingClosingChannels = new MatTableDataSource([...channels]); this.pendingClosingChannels.sort = this.sort; - this.pendingClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.pendingClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.pendingClosingChannels.filterPredicate = (channel: any, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.logger.info(this.pendingClosingChannels); } loadWaitClosingChannelsTable(channels) { - channels.sort(function(a, b) { - return (a.active === b.active) ? 0 : ((b.active) ? -1 : 1); - }); + channels.sort((a, b) => ((a.active === b.active) ? 0 : ((b.active) ? -1 : 1))); this.pendingWaitClosingChannelsLength = (channels.length) ? channels.length : 0; this.pendingWaitClosingChannels = new MatTableDataSource([...channels]); this.pendingWaitClosingChannels.sort = this.sort; - this.pendingWaitClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.pendingWaitClosingChannels.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.pendingWaitClosingChannels.filterPredicate = (channel: any, fltr: string) => JSON.stringify(channel).toLowerCase().includes(fltr); this.logger.info(this.pendingWaitClosingChannels); } @@ -266,7 +255,7 @@ export class ChannelPendingTableComponent implements OnInit, AfterViewInit, OnDe } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.spec.ts b/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.spec.ts index f34c78f0..46cfbf08 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { ChannelsTablesComponent } from './channels-tables.component'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { mockLoggerService } from '../../../../shared/test-helpers/mock-services'; describe('ChannelsTablesComponent', () => { let component: ChannelsTablesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ChannelsTablesComponent ] - }) - .compileComponents(); + declarations: [ChannelsTablesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('ChannelsTablesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.ts b/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.ts index df668e94..101cd6ea 100644 --- a/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.ts +++ b/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.ts @@ -17,6 +17,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./channels-tables.component.scss'] }) export class ChannelsTablesComponent implements OnInit, OnDestroy { + public numOpenChannels = 0; public numPendingChannels = 0; public numClosedChannels = 0; @@ -24,50 +25,48 @@ export class ChannelsTablesComponent implements OnInit, OnDestroy { public peers: Peer[] = []; public information: GetInfo = {}; public totalBalance = 0; - public links = [{link: 'open', name: 'Open'}, {link: 'pending', name: 'Pending'}, {link: 'closed', name: 'Closed'}, {link: 'activehtlcs', name: 'Active HTLCs'}]; + public links = [{ link: 'open', name: 'Open' }, { link: 'pending', name: 'Pending' }, { link: 'closed', name: 'Closed' }, { link: 'activehtlcs', name: 'Active HTLCs' }]; public activeLink = 0; - private unSubs: Array> = [new Subject(), new Subject]; + private unSubs: Array> = [new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.numOpenChannels = (rtlStore.allChannels && rtlStore.allChannels.length) ? rtlStore.allChannels.length : 0; - this.numPendingChannels = (rtlStore.numberOfPendingChannels.total_channels) ? rtlStore.numberOfPendingChannels.total_channels : 0; - this.numClosedChannels = (rtlStore.closedChannels && rtlStore.closedChannels.length) ? rtlStore.closedChannels.length : 0; - this.numActiveHTLCs = rtlStore.allChannels.reduce((totalHTLCs, channel) => { - return totalHTLCs + (channel.pending_htlcs && channel.pending_htlcs.length > 0 ? channel.pending_htlcs.length : 0); - }, 0); - this.information = rtlStore.information; - this.totalBalance = +rtlStore.blockchainBalance.total_balance; - this.peers = rtlStore.peers; - this.peers.forEach(peer => { - if (!peer.alias || peer.alias === '') { - peer.alias = peer.pub_key.substring(0, 15) + '...'; - } + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.numOpenChannels = (rtlStore.allChannels && rtlStore.allChannels.length) ? rtlStore.allChannels.length : 0; + this.numPendingChannels = (rtlStore.numberOfPendingChannels.total_channels) ? rtlStore.numberOfPendingChannels.total_channels : 0; + this.numClosedChannels = (rtlStore.closedChannels && rtlStore.closedChannels.length) ? rtlStore.closedChannels.length : 0; + this.numActiveHTLCs = rtlStore.allChannels.reduce((totalHTLCs, channel) => totalHTLCs + (channel.pending_htlcs && channel.pending_htlcs.length > 0 ? channel.pending_htlcs.length : 0), 0); + this.information = rtlStore.information; + this.totalBalance = +rtlStore.blockchainBalance.total_balance; + this.peers = rtlStore.peers; + this.peers.forEach((peer) => { + if (!peer.alias || peer.alias === '') { + peer.alias = peer.pub_key.substring(0, 15) + '...'; + } + }); + this.logger.info(rtlStore); }); - this.logger.info(rtlStore); - }); } onOpenChannel() { const peerToAddChannelMessage = { - peers: this.peers, + peers: this.peers, information: this.information, balance: this.totalBalance }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, component: OpenChannelComponent - }})); + } })); } onSelectedTabChange(event) { @@ -75,9 +74,10 @@ export class ChannelsTablesComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.spec.ts b/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.spec.ts index 29b50c41..21ce8117 100644 --- a/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { CloseChannelComponent } from './close-channel.component'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('CloseChannelComponent', () => { let component: CloseChannelComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CloseChannelComponent ] - }) - .compileComponents(); + declarations: [CloseChannelComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + LoggerService, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('CloseChannelComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.ts b/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.ts index 617e9c11..5e0fe2e6 100644 --- a/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.ts +++ b/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.ts @@ -9,10 +9,9 @@ import { faExclamationTriangle, faInfoCircle } from '@fortawesome/free-solid-svg import { LoggerService } from '../../../../shared/services/logger.service'; import { Channel } from '../../../../shared/models/lndModels'; import { ChannelInformation } from '../../../../shared/models/alertData'; -import { TRANS_TYPES } from '../../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, TRANS_TYPES } from '../../../../shared/services/consts-enums-functions'; import * as LNDActions from '../../../store/lnd.actions'; -import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; @Component({ @@ -21,6 +20,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./close-channel.component.scss'] }) export class CloseChannelComponent implements OnInit, OnDestroy { + public channelToClose: Channel; public transTypes = TRANS_TYPES; public selTransType = '0'; @@ -29,40 +29,46 @@ export class CloseChannelComponent implements OnInit, OnDestroy { public faExclamationTriangle = faExclamationTriangle; public faInfoCircle = faInfoCircle; public flgPendingHtlcs = false; - public errorMsg = 'Please wait for pending HTLCs to settle before attempting channel closure.'; + public errorMsg = 'Please wait for pending HTLCs to settle before attempting channel closure.'; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ChannelInformation, private store: Store, private actions$: Actions, private logger: LoggerService) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ChannelInformation, private store: Store, private actions: Actions, private logger: LoggerService) {} ngOnInit() { this.channelToClose = this.data.channel; - this.actions$.pipe(takeUntil(this.unSubs[0]), - filter(action => action.type === LNDActions.EFFECT_ERROR_LND || action.type === LNDActions.SET_ALL_CHANNELS_LND)) - .subscribe((action: LNDActions.EffectError | LNDActions.SetAllChannels) => { - if (action.type === LNDActions.SET_ALL_CHANNELS_LND) { - let filteredChannel = action.payload.find(channel => channel.chan_id === this.data.channel.chan_id); - if (filteredChannel.pending_htlcs && filteredChannel.pending_htlcs.length && filteredChannel.pending_htlcs.length > 0) { - this.flgPendingHtlcs = true; + this.actions.pipe( + takeUntil(this.unSubs[0]), + filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.SET_ALL_CHANNELS_LND)). + subscribe((action: LNDActions.UpdateAPICallStatus | LNDActions.SetAllChannels) => { + if (action.type === LNDActions.SET_ALL_CHANNELS_LND) { + const filteredChannel = action.payload.find((channel) => channel.chan_id === this.data.channel.chan_id); + if (filteredChannel.pending_htlcs && filteredChannel.pending_htlcs.length && filteredChannel.pending_htlcs.length > 0) { + this.flgPendingHtlcs = true; + } } - } - if (action.type === LNDActions.EFFECT_ERROR_LND && action.payload.action === 'FetchChannels/all') { - this.logger.error('Fetching latest channel information failed!\n' + action.payload.message); - } - }); + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'FetchAllChannels') { + this.logger.error('Fetching latest channel information failed!\n' + action.payload.message); + } + }); } - onCloseChannel():boolean|void { - if ((this.selTransType === '1' && (!this.blocks || this.blocks === 0)) || (this.selTransType === '2' && (!this.fees || this.fees === 0))) { return true; } - let closeChannelParams: any = { channelPoint: this.channelToClose.channel_point, forcibly: !this.channelToClose.active }; - if (this.blocks) { closeChannelParams.targetConf = this.blocks; } - if (this.fees) { closeChannelParams.satPerByte = this.fees; } - this.store.dispatch(new RTLActions.OpenSpinner(this.channelToClose.active ? 'Closing Channel...' : 'Force Closing Channel...')); + onCloseChannel(): boolean|void { + if ((this.selTransType === '1' && (!this.blocks || this.blocks === 0)) || (this.selTransType === '2' && (!this.fees || this.fees === 0))) { + return true; + } + const closeChannelParams: any = { channelPoint: this.channelToClose.channel_point, forcibly: !this.channelToClose.active }; + if (this.blocks) { + closeChannelParams.targetConf = this.blocks; + } + if (this.fees) { + closeChannelParams.satPerByte = this.fees; + } this.store.dispatch(new LNDActions.CloseChannel(closeChannelParams)); this.dialogRef.close(false); } resetData() { - this.selTransType = '0'; + this.selTransType = '0'; this.blocks = null; this.fees = null; } @@ -72,9 +78,10 @@ export class CloseChannelComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.html b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.html index d69a93ee..3a8731e0 100644 --- a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.html +++ b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.html @@ -10,7 +10,7 @@
- + {{peer.alias ? peer.alias : peer.pub_key ? peer.pub_key : ''}} @@ -24,7 +24,7 @@ (Remaining Bal: {{totalBalance - ((fundingAmount) ? fundingAmount : 0) | number}}) - {{information?.smaller_currency_unit}} + Sats Amount is required. Amount must be less than or equal to {{totalBalance}}. diff --git a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts index 4d451eb2..33e427fd 100644 --- a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts +++ b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { EffectsModule } from '@ngrx/effects'; +import { StoreModule } from '@ngrx/store'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { RTLEffects } from '../../../../store/rtl.effects'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { OpenChannelComponent } from './open-channel.component'; describe('OpenChannelComponent', () => { let component: OpenChannelComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OpenChannelComponent ] - }) - .compileComponents(); + declarations: [OpenChannelComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: {} } }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('OpenChannelComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.ts b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.ts index 5cfdd8a9..af3ac629 100644 --- a/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.ts +++ b/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.ts @@ -9,10 +9,9 @@ import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { Peer, GetInfo } from '../../../../shared/models/lndModels'; import { OpenChannelAlert } from '../../../../shared/models/alertData'; -import { TRANS_TYPES } from '../../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, TRANS_TYPES } from '../../../../shared/services/consts-enums-functions'; import * as LNDActions from '../../../store/lnd.actions'; -import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; @Component({ @@ -21,6 +20,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./open-channel.component.scss'] }) export class OpenChannelComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public selectedPeer = new FormControl(); public amount = new FormControl(); @@ -43,38 +43,41 @@ export class OpenChannelComponent implements OnInit, OnDestroy { public transTypes = TRANS_TYPES; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OpenChannelAlert, private store: Store, private actions$: Actions) { } + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OpenChannelAlert, private store: Store, private actions: Actions) { } ngOnInit() { this.information = this.data.message.information; this.totalBalance = this.data.message.balance; this.alertTitle = this.data.alertTitle; this.peer = this.data.message.peer ? this.data.message.peer : null; - this.peers = this.data.message.peers && this.data.message.peers.length ? this.data.message.peers : []; - this.actions$.pipe(takeUntil(this.unSubs[0]), - filter(action => action.type === LNDActions.EFFECT_ERROR_LND || action.type === LNDActions.FETCH_ALL_CHANNELS_LND)) - .subscribe((action: LNDActions.EffectError | LNDActions.FetchAllChannels) => { - if (action.type === LNDActions.EFFECT_ERROR_LND && action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; - } - if (action.type === LNDActions.FETCH_ALL_CHANNELS_LND) { - this.dialogRef.close(); - } - }); - let x = '', y = ''; + this.peers = this.data.message.peers && this.data.message.peers.length ? this.data.message.peers : []; + this.actions.pipe( + takeUntil(this.unSubs[0]), + filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.FETCH_ALL_CHANNELS_LND)). + subscribe((action: LNDActions.UpdateAPICallStatus | LNDActions.FetchAllChannels) => { + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + if (action.type === LNDActions.FETCH_ALL_CHANNELS_LND) { + this.dialogRef.close(); + } + }); + let x = ''; + let y = ''; this.sortedPeers = this.peers.sort((p1, p2) => { x = p1.alias ? p1.alias.toLowerCase() : p1.pub_key ? p1.pub_key.toLowerCase() : ''; y = p2.alias ? p2.alias.toLowerCase() : p1.pub_key.toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }); - this.filteredPeers = this.selectedPeer.valueChanges.pipe(takeUntil(this.unSubs[1]), startWith(''), - map(peer => typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.pub_key), - map(alias => alias ? this.filterPeers(alias) : this.sortedPeers.slice()) + this.filteredPeers = this.selectedPeer.valueChanges.pipe( + takeUntil(this.unSubs[1]), startWith(''), + map((peer) => (typeof peer === 'string' ? peer : peer.alias ? peer.alias : peer.pub_key)), + map((alias) => (alias ? this.filterPeers(alias) : this.sortedPeers.slice())) ); } private filterPeers(newlySelectedPeer: string): Peer[] { - return this.sortedPeers.filter(peer => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); + return this.sortedPeers.filter((peer) => peer.alias.toLowerCase().indexOf(newlySelectedPeer ? newlySelectedPeer.toLowerCase() : '') === 0); } displayFn(peer: Peer): string { @@ -83,13 +86,15 @@ export class OpenChannelComponent implements OnInit, OnDestroy { onSelectedPeerChanged() { this.channelConnectionError = ''; - this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.pub_key) ? this.selectedPeer.value.pub_key : undefined; + this.selectedPubkey = (this.selectedPeer.value && this.selectedPeer.value.pub_key) ? this.selectedPeer.value.pub_key : null; if (typeof this.selectedPeer.value === 'string') { - let selPeer = this.peers.filter(peer => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); - if (selPeer.length === 1 && selPeer[0].pub_key) { this.selectedPubkey = selPeer[0].pub_key; } + const selPeer = this.peers.filter((peer) => peer.alias.length === this.selectedPeer.value.length && peer.alias.toLowerCase().indexOf(this.selectedPeer.value ? this.selectedPeer.value.toLowerCase() : '') === 0); + if (selPeer.length === 1 && selPeer[0].pub_key) { + this.selectedPubkey = selPeer[0].pub_key; + } } if (this.selectedPeer.value && !this.selectedPubkey) { - this.selectedPeer.setErrors({notfound: true}); + this.selectedPeer.setErrors({ notfound: true }); } else { this.selectedPeer.setErrors(null); } @@ -108,12 +113,13 @@ export class OpenChannelComponent implements OnInit, OnDestroy { this.transTypeValue = ''; this.channelConnectionError = ''; this.advancedTitle = 'Advanced Options'; - this.form.resetForm(); + this.form.resetForm(); } - onOpenChannel():boolean|void { - if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0) || ((this.selTransType === '1' || this.selTransType === '2') && !this.transTypeValue))) { return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); + onOpenChannel(): boolean | void { + if ((!this.peer && !this.selectedPubkey) || (!this.fundingAmount || ((this.totalBalance - this.fundingAmount) < 0) || ((this.selTransType === '1' || this.selTransType === '2') && !this.transTypeValue))) { + return true; + } this.store.dispatch(new LNDActions.SaveNewChannel({ selectedPeerPubkey: ((!this.peer || !this.peer.pub_key) ? this.selectedPubkey : this.peer.pub_key), fundingAmount: this.fundingAmount, private: this.isPrivate, transType: this.selTransType, transTypeValue: this.transTypeValue, spendUnconfirmed: this.spendUnconfirmed @@ -129,9 +135,10 @@ export class OpenChannelComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/peers-channels/connect-peer/connect-peer.component.spec.ts b/src/app/lnd/peers-channels/connect-peer/connect-peer.component.spec.ts index c6891b93..8c000f24 100644 --- a/src/app/lnd/peers-channels/connect-peer/connect-peer.component.spec.ts +++ b/src/app/lnd/peers-channels/connect-peer/connect-peer.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ConnectPeerComponent } from './connect-peer.component'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { LNDEffects } from '../../store/lnd.effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('ConnectPeerComponent', () => { let component: ConnectPeerComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ConnectPeerComponent ] - }) - .compileComponents(); + declarations: [ConnectPeerComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + LoggerService, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { message: {} } }, + { provide: LNDEffects, useClass: mockLNDEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('ConnectPeerComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/connect-peer/connect-peer.component.ts b/src/app/lnd/peers-channels/connect-peer/connect-peer.component.ts index b8275d1a..6f780296 100644 --- a/src/app/lnd/peers-channels/connect-peer/connect-peer.component.ts +++ b/src/app/lnd/peers-channels/connect-peer/connect-peer.component.ts @@ -5,17 +5,16 @@ import { take, takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { LoggerService } from '../../../shared/services/logger.service'; import { Peer } from '../../../shared/models/lndModels'; import { OpenChannelAlert } from '../../../shared/models/alertData'; -import { TRANS_TYPES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, TRANS_TYPES } from '../../../shared/services/consts-enums-functions'; import { LNDEffects } from '../../store/lnd.effects'; import * as LNDActions from '../../store/lnd.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -24,8 +23,9 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./connect-peer.component.scss'] }) export class ConnectPeerComponent implements OnInit, OnDestroy { - @ViewChild('peersForm', {static: false}) form: any; - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('peersForm', { static: false }) form: any; + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public peerAddress = ''; public totalBalance = 0; @@ -39,11 +39,11 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { public peerFormLabel = 'Peer Details'; public channelFormLabel = 'Open Channel (Optional)'; peerFormGroup: FormGroup; - channelFormGroup: FormGroup; - statusFormGroup: FormGroup; + channelFormGroup: FormGroup; + statusFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OpenChannelAlert, private store: Store, private lndEffects: LNDEffects, private formBuilder: FormBuilder, private actions$: Actions, private logger: LoggerService) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: OpenChannelAlert, private store: Store, private lndEffects: LNDEffects, private formBuilder: FormBuilder, private actions: Actions, private logger: LoggerService) {} ngOnInit() { this.totalBalance = this.data.message.balance; @@ -55,12 +55,12 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { fundingAmount: ['', [Validators.required, Validators.min(1), Validators.max(this.totalBalance)]], isPrivate: [false], selTransType: [TRANS_TYPES[0].id], - transTypeValue: [{value: '', disabled: true}], + transTypeValue: [{ value: '', disabled: true }], spendUnconfirmed: [false], hiddenAmount: ['', [Validators.required]] - }); - this.statusFormGroup = this.formBuilder.group({}); - this.channelFormGroup.controls.selTransType.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe(transType => { + }); + this.statusFormGroup = this.formBuilder.group({}); + this.channelFormGroup.controls.selTransType.valueChanges.pipe(takeUntil(this.unSubs[0])).subscribe((transType) => { if (transType === TRANS_TYPES[0].id) { this.channelFormGroup.controls.transTypeValue.setValue(''); this.channelFormGroup.controls.transTypeValue.disable(); @@ -72,31 +72,34 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { this.channelFormGroup.controls.transTypeValue.setValidators([Validators.required]); } }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter((action) => action.type === LNDActions.NEWLY_ADDED_PEER_LND || action.type === LNDActions.FETCH_PENDING_CHANNELS_LND || action.type === LNDActions.EFFECT_ERROR_LND)) - .subscribe((action: (LNDActions.NewlyAddedPeer | LNDActions.FetchPendingChannels | LNDActions.EffectError)) => { - if (action.type === LNDActions.NEWLY_ADDED_PEER_LND) { - this.logger.info(action.payload); - this.flgEditable = false; - this.newlyAddedPeer = action.payload.peer; - this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); - this.stepper.next(); - } - if (action.type === LNDActions.FETCH_PENDING_CHANNELS_LND) { - this.dialogRef.close(); - } - if (action.type === LNDActions.EFFECT_ERROR_LND) { - if (action.payload.action === 'SaveNewPeer' || action.payload.action === 'FetchGraphNode') { - this.peerConnectionError = action.payload.message; - } else if (action.payload.action === 'SaveNewChannel') { - this.channelConnectionError = action.payload.message; + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === LNDActions.NEWLY_ADDED_PEER_LND || action.type === LNDActions.FETCH_PENDING_CHANNELS_LND || action.type === LNDActions.UPDATE_API_CALL_STATUS_LND)). + subscribe((action: (LNDActions.NewlyAddedPeer | LNDActions.FetchPendingChannels | LNDActions.UpdateAPICallStatus)) => { + if (action.type === LNDActions.NEWLY_ADDED_PEER_LND) { + this.logger.info(action.payload); + this.flgEditable = false; + this.newlyAddedPeer = action.payload.peer; + this.peerFormGroup.controls.hiddenAddress.setValue(this.peerFormGroup.controls.peerAddress.value); + this.stepper.next(); } - } - }); + if (action.type === LNDActions.FETCH_PENDING_CHANNELS_LND) { + this.dialogRef.close(); + } + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR) { + if (action.payload.action === 'SaveNewPeer' || action.payload.action === 'FetchGraphNode') { + this.peerConnectionError = action.payload.message; + } else if (action.payload.action === 'SaveNewChannel') { + this.channelConnectionError = action.payload.message; + } + } + }); } - onConnectPeer():boolean|void { - if(!this.peerFormGroup.controls.peerAddress.value) { return true; } + onConnectPeer(): boolean|void { + if (!this.peerFormGroup.controls.peerAddress.value) { + return true; + } this.peerConnectionError = ''; const deviderIndex = this.peerFormGroup.controls.peerAddress.value.search('@'); let pubkey = ''; @@ -106,27 +109,25 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { host = this.peerFormGroup.controls.peerAddress.value.substring(deviderIndex + 1); this.connectPeerWithParams(pubkey, host); } else { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Node Address...')); - this.store.dispatch(new LNDActions.FetchGraphNode({pubkey: this.peerFormGroup.controls.peerAddress.value})); - this.lndEffects.setGraphNode - .pipe(take(1)) - .subscribe(graphNode => { - this.store.dispatch(new RTLActions.CloseSpinner()); - host = (!graphNode.node.addresses || !graphNode.node.addresses[0].addr) ? '' : graphNode.node.addresses[0].addr; - this.connectPeerWithParams(this.peerFormGroup.controls.peerAddress.value, host); - }); + this.store.dispatch(new LNDActions.FetchGraphNode({ pubkey: this.peerFormGroup.controls.peerAddress.value })); + this.lndEffects.setGraphNode. + pipe(take(1)). + subscribe((graphNode) => { + host = (graphNode.node.addresses && graphNode.node.addresses.length && graphNode.node.addresses.length > 0 && graphNode.node.addresses[0].addr) ? graphNode.node.addresses[0].addr : ''; + this.connectPeerWithParams(this.peerFormGroup.controls.peerAddress.value, host); + }); } } connectPeerWithParams(pubkey: string, host: string) { - this.store.dispatch(new RTLActions.OpenSpinner('Adding Peer...')); - this.store.dispatch(new LNDActions.SaveNewPeer({pubkey: pubkey, host: host, perm: false})); + this.store.dispatch(new LNDActions.SaveNewPeer({ pubkey: pubkey, host: host, perm: false })); } - onOpenChannel():boolean|void { - if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0) || (this.channelFormGroup.controls.selTransType.value === '1' && !this.channelFormGroup.controls.transTypeValue.value) || (this.channelFormGroup.controls.selTransType.value === '2' && !this.channelFormGroup.controls.transTypeValue.value)) { return true; } + onOpenChannel(): boolean|void { + if (!this.channelFormGroup.controls.fundingAmount.value || ((this.totalBalance - this.channelFormGroup.controls.fundingAmount.value) < 0) || (this.channelFormGroup.controls.selTransType.value === '1' && !this.channelFormGroup.controls.transTypeValue.value) || (this.channelFormGroup.controls.selTransType.value === '2' && !this.channelFormGroup.controls.transTypeValue.value)) { + return true; + } this.channelConnectionError = ''; - this.store.dispatch(new RTLActions.OpenSpinner('Opening Channel...')); this.store.dispatch(new LNDActions.SaveNewChannel({ selectedPeerPubkey: this.newlyAddedPeer.pub_key, fundingAmount: this.channelFormGroup.controls.fundingAmount.value, private: this.channelFormGroup.controls.isPrivate.value, transType: this.channelFormGroup.controls.selTransType.value, transTypeValue: this.channelFormGroup.controls.transTypeValue.value, spendUnconfirmed: this.channelFormGroup.controls.spendUnconfirmed.value @@ -143,7 +144,7 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { this.peerFormLabel = 'Peer Details'; this.channelFormLabel = 'Open Channel (Optional)'; break; - + case 1: if (this.peerFormGroup.controls.peerAddress.value) { this.peerFormLabel = 'Peer Added: ' + this.newlyAddedPeer.alias; @@ -177,11 +178,11 @@ export class ConnectPeerComponent implements OnInit, OnDestroy { } else if (event.selectedIndex === 1) { this.channelFormGroup.controls.hiddenAmount.setValue(''); } - } + } } - + ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/connections.component.spec.ts b/src/app/lnd/peers-channels/connections.component.spec.ts index 0487b6fc..de274ee0 100644 --- a/src/app/lnd/peers-channels/connections.component.spec.ts +++ b/src/app/lnd/peers-channels/connections.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { LoggerService } from '../../shared/services/logger.service'; import { ConnectionsComponent } from './connections.component'; +import { SharedModule } from '../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { CommonService } from '../../shared/services/common.service'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('ConnectionsComponent', () => { let component: ConnectionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ConnectionsComponent ] - }) - .compileComponents(); + declarations: [ConnectionsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('ConnectionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/connections.component.ts b/src/app/lnd/peers-channels/connections.component.ts index 38a33c8d..b03fb092 100644 --- a/src/app/lnd/peers-channels/connections.component.ts +++ b/src/app/lnd/peers-channels/connections.component.ts @@ -16,33 +16,34 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./connections.component.scss'] }) export class ConnectionsComponent implements OnInit, OnDestroy { + public selNode: SelNodeChild = {}; public activePeers = 0; public activeChannels = 0; public faUsers = faUsers; public faChartPie = faChartPie; - public balances = [{title: 'Total Balance', dataValue: 0}, {title: 'Confirmed', dataValue: 0}, {title: 'Unconfirmed', dataValue: 0}]; - public links = [{link: 'channels', name: 'Channels'}, {link: 'peers', name: 'Peers'}]; + public balances = [{ title: 'Total Balance', dataValue: 0 }, { title: 'Confirmed', dataValue: 0 }, { title: 'Unconfirmed', dataValue: 0 }]; + public links = [{ link: 'channels', name: 'Channels' }, { link: 'peers', name: 'Peers' }]; public activeLink = 0; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private store: Store, private logger: LoggerService, private router: Router) {} ngOnInit() { - this.activeLink = this.links.findIndex(link => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.activeLink = this.links.findIndex(link => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); - }); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; - this.activeChannels = rtlStore.numberOfActiveChannels; - this.balances = [{title: 'Total Balance', dataValue: rtlStore.blockchainBalance.total_balance || 0}, {title: 'Confirmed', dataValue: rtlStore.blockchainBalance.confirmed_balance}, {title: 'Unconfirmed', dataValue: rtlStore.blockchainBalance.unconfirmed_balance}]; - this.logger.info(rtlStore); - }); + this.activeLink = this.links.findIndex((link) => link.link === this.router.url.substring(this.router.url.lastIndexOf('/') + 1)); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.activeLink = this.links.findIndex((link) => link.link === value.urlAfterRedirects.substring(value.urlAfterRedirects.lastIndexOf('/') + 1)); + }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.activePeers = (rtlStore.peers && rtlStore.peers.length) ? rtlStore.peers.length : 0; + this.activeChannels = rtlStore.numberOfActiveChannels; + this.balances = [{ title: 'Total Balance', dataValue: rtlStore.blockchainBalance.total_balance || 0 }, { title: 'Confirmed', dataValue: rtlStore.blockchainBalance.confirmed_balance }, { title: 'Unconfirmed', dataValue: rtlStore.blockchainBalance.unconfirmed_balance }]; + this.logger.info(rtlStore); + }); } onSelectedTabChange(event) { @@ -50,7 +51,7 @@ export class ConnectionsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/peers-channels/peers/peers.component.html b/src/app/lnd/peers-channels/peers/peers.component.html index 2a38a402..2813a291 100644 --- a/src/app/lnd/peers-channels/peers/peers.component.html +++ b/src/app/lnd/peers-channels/peers/peers.component.html @@ -12,9 +12,9 @@
-
- - +
+ +
@@ -60,7 +60,9 @@ diff --git a/src/app/lnd/peers-channels/peers/peers.component.spec.ts b/src/app/lnd/peers-channels/peers/peers.component.spec.ts index a5fe2db8..8ebb0728 100644 --- a/src/app/lnd/peers-channels/peers/peers.component.spec.ts +++ b/src/app/lnd/peers-channels/peers/peers.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { PeersComponent } from './peers.component'; +import { mockDataService, mockLoggerService, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { RTLEffects } from '../../../store/rtl.effects'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('PeersComponent', () => { let component: PeersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ PeersComponent ] - }) - .compileComponents(); + declarations: [PeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('PeersComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/peers-channels/peers/peers.component.ts b/src/app/lnd/peers-channels/peers/peers.component.ts index 2f2c68c8..b4b29993 100644 --- a/src/app/lnd/peers-channels/peers/peers.component.ts +++ b/src/app/lnd/peers-channels/peers/peers.component.ts @@ -2,20 +2,19 @@ import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Actions } from '@ngrx/effects'; import { faUsers } from '@fortawesome/free-solid-svg-icons'; import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { Peer, GetInfo } from '../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import { OpenChannelComponent } from '../channels/open-channel-modal/open-channel.component'; import { ConnectPeerComponent } from '../connect-peer/connect-peer.component'; -import { LNDEffects } from '../../store/lnd.effects'; import { RTLEffects } from '../../../store/rtl.effects'; import * as LNDActions from '../../store/lnd.actions'; import * as RTLActions from '../../../store/rtl.actions'; @@ -26,35 +25,38 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; templateUrl: './peers.component.html', styleUrls: ['./peers.component.scss'], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') }, + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } ] }) export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; public availableBalance = 0; public faUsers = faUsers; public displayedColumns: any[] = []; public peersData: Peer[] = []; public peers: any; public information: GetInfo = {}; - public flgLoading: Array = [true]; // 0: peers public flgSticky = false; public pageSize = PAGE_SIZE; public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private lndEffects: LNDEffects, private actions$: Actions, private commonService: CommonService) { + constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; - this.displayedColumns = [ 'alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + this.displayedColumns = ['alias', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; - this.displayedColumns = [ 'alias', 'sat_sent', 'sat_recv', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + this.displayedColumns = ['alias', 'sat_sent', 'sat_recv', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['alias', 'sat_sent', 'sat_recv', 'ping_time', 'actions']; } else { @@ -64,25 +66,22 @@ export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPeers') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPeers.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPeers.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPeers.message) : this.apisCallStatus.FetchPeers.message; + } + this.information = rtlStore.information; + this.availableBalance = rtlStore.blockchainBalance.total_balance || 0; + this.peersData = rtlStore.peers; + if (this.peersData.length > 0) { + this.loadPeersTable(this.peersData); } + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.availableBalance = rtlStore.blockchainBalance.total_balance || 0; - this.peersData = rtlStore.peers; - if (this.peersData.length > 0) { - this.loadPeersTable(this.peersData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = false; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -93,11 +92,11 @@ export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { onPeerClick(selPeer: Peer, event: any) { const reorderedPeer = [ - [{key: 'pub_key', value: selPeer.pub_key, title: 'Public Key', width: 100}], - [{key: 'address', value: selPeer.address, title: 'Address', width: 100}], - [{key: 'alias', value: selPeer.alias, title: 'Alias', width: 40}, {key: 'inbound', value: selPeer.inbound ? 'True' : 'False', title: 'Inbound', width: 30}, {key: 'ping_time', value: selPeer.ping_time, title: 'Ping Time', width: 30, type: DataTypeEnum.NUMBER}], - [{key: 'sat_sent', value: selPeer.sat_sent, title: 'Satoshis Sent', width: 50, type: DataTypeEnum.NUMBER}, {key: 'sat_recv', value: selPeer.sat_recv, title: 'Satoshis Received', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'bytes_sent', value: selPeer.bytes_sent, title: 'Bytes Sent', width: 50, type: DataTypeEnum.NUMBER}, {key: 'bytes_recv', value: selPeer.bytes_recv, title: 'Bytes Received', width: 50, type: DataTypeEnum.NUMBER}], + [{ key: 'pub_key', value: selPeer.pub_key, title: 'Public Key', width: 100 }], + [{ key: 'address', value: selPeer.address, title: 'Address', width: 100 }], + [{ key: 'alias', value: selPeer.alias, title: 'Alias', width: 40 }, { key: 'inbound', value: selPeer.inbound ? 'True' : 'False', title: 'Inbound', width: 30 }, { key: 'ping_time', value: selPeer.ping_time, title: 'Ping Time', width: 30, type: DataTypeEnum.NUMBER }], + [{ key: 'sat_sent', value: selPeer.sat_sent, title: 'Satoshis Sent', width: 50, type: DataTypeEnum.NUMBER }, { key: 'sat_recv', value: selPeer.sat_recv, title: 'Satoshis Received', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'bytes_sent', value: selPeer.bytes_sent, title: 'Bytes Sent', width: 50, type: DataTypeEnum.NUMBER }, { key: 'bytes_recv', value: selPeer.bytes_recv, title: 'Bytes Received', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, @@ -105,27 +104,27 @@ export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { showQRName: 'Public Key', showQRField: selPeer.pub_key, message: reorderedPeer - }})); + } })); } onConnectPeer() { this.store.dispatch(new RTLActions.OpenAlert({ data: { message: { peer: null, information: this.information, balance: this.availableBalance }, component: ConnectPeerComponent - }})); + } })); } onOpenChannel(peerToAddChannel: Peer) { const peerToAddChannelMessage = { - peer: peerToAddChannel, + peer: peerToAddChannel, information: this.information, balance: this.availableBalance }; - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.store.dispatch(new RTLActions.OpenAlert({ data: { alertTitle: 'Open Channel', message: peerToAddChannelMessage, component: OpenChannelComponent - }})); + } })); } onPeerDetach(peerToDetach: Peer) { @@ -136,15 +135,14 @@ export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { titleMessage: msg, noBtnText: 'Cancel', yesBtnText: 'Disconnect' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Disconnecting Peer...')); - this.store.dispatch(new LNDActions.DetachPeer({pubkey: peerToDetach.pub_key})); - } - }); + } })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new LNDActions.DetachPeer({ pubkey: peerToDetach.pub_key })); + } + }); } applyFilter(selFilter: any) { @@ -154,21 +152,22 @@ export class PeersComponent implements OnInit, AfterViewInit, OnDestroy { loadPeersTable(peers: Peer[]) { this.peers = peers ? new MatTableDataSource([...peers]) : new MatTableDataSource([]); this.peers.sort = this.sort; - this.peers.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.peers.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.peers.filterPredicate = (peer: Peer, fltr: string) => JSON.stringify(peer).toLowerCase().includes(fltr); this.peers.paginator = this.paginator; } onDownloadCSV() { - if(this.peers.data && this.peers.data.length > 0) { + if (this.peers.data && this.peers.data.length > 0) { this.commonService.downloadFile(this.peers.data, 'Peers'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/reports/fee/fee-report.component.html b/src/app/lnd/reports/fee/fee-report.component.html index 15e3103b..30077b12 100644 --- a/src/app/lnd/reports/fee/fee-report.component.html +++ b/src/app/lnd/reports/fee/fee-report.component.html @@ -1,9 +1,11 @@
+
{{(events.total_fee_msat / 1000 || 0) | number:'1.0-2'}} Sats/{{(events?.forwarding_events?.length || 0) | number}} Events
-
No fee report for the selected period
+
No fee report for the selected period
+
{{errorMessage}}
{ let component: FeeReportComponent; let fixture: ComponentFixture; - const mockDataService = jasmine.createSpyObj("DataService", ["getChildAPIUrl","setChildAPIUrl","getFiatRates", - "getAliasesFromPubkeys","signMessage","verifyMessage","handleErrorWithoutAlert","handleErrorWithAlert"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ FeeReportComponent ], + declarations: [FeeReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], providers: [ - { provide: DataService, useValue: mockDataService } + CommonService, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { @@ -28,4 +45,8 @@ describe('FeeReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/reports/fee/fee-report.component.ts b/src/app/lnd/reports/fee/fee-report.component.ts index f462281e..4c1816c4 100644 --- a/src/app/lnd/reports/fee/fee-report.component.ts +++ b/src/app/lnd/reports/fee/fee-report.component.ts @@ -1,11 +1,11 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { SwitchRes } from '../../../shared/models/lndModels'; import { CommonService } from '../../../shared/services/common.service'; -import { MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; +import { MONTHS, ScreenSizeEnum, SCROLL_RANGES, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { DataService } from '../../../shared/services/data.service'; import { fadeIn } from '../../../shared/animation/opacity-animation'; @@ -17,7 +17,8 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./fee-report.component.scss'], animations: [fadeIn] }) -export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class FeeReportComponent implements OnInit, AfterContentInit, OnDestroy { + public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; public events: SwitchRes = {}; @@ -34,6 +35,7 @@ export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { public showYAxisLabel = true; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private dataService: DataService, private commonService: CommonService, private store: Store) {} @@ -41,47 +43,45 @@ export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if(rtlStore.initialAPIResponseStatus[0] === 'COMPLETE') { - this.fetchEvents(this.startDate, this.endDate); - } - }); + this.fetchEvents(this.startDate, this.endDate); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } fetchEvents(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000).toString(); - const endDateInSeconds = Math.round(end.getTime()/1000).toString(); - this.dataService.getForwardingHistory(startDateInSeconds, endDateInSeconds) - .pipe(takeUntil(this.unSubs[1])).subscribe(res => { - if (res.forwarding_events && res.forwarding_events.length) { - res.forwarding_events = res.forwarding_events.reverse(); - this.events = res; - this.feeReportData = this.prepareFeeReport(start); - } else { - this.events = {}; - this.feeReportData = []; - } - }); + this.errorMessage = UI_MESSAGES.GET_FEE_REPORT; + const startDateInSeconds = Math.round(start.getTime() / 1000).toString(); + const endDateInSeconds = Math.round(end.getTime() / 1000).toString(); + this.dataService.getForwardingHistory(startDateInSeconds, endDateInSeconds). + pipe(takeUntil(this.unSubs[1])).subscribe({ next: (res) => { + this.errorMessage = ''; + if (res.forwarding_events && res.forwarding_events.length) { + res.forwarding_events = res.forwarding_events.reverse(); + this.events = res; + this.feeReportData = this.prepareFeeReport(start); + } else { + this.events = {}; + this.feeReportData = []; + } + }, error: (err) => { + this.errorMessage = err; + } }); } @HostListener('mouseup', ['$event']) onChartMouseUp(e) { @@ -89,9 +89,9 @@ export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { this.eventFilterValue = ''; } } - + onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.eventFilterValue = event.name + '/' + this.startDate.getFullYear(); } else { this.eventFilterValue = event.name.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -99,27 +99,29 @@ export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } prepareFeeReport(start: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - let feeReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const feeReport = []; if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - feeReport.push({name: MONTHS[i].name, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: MONTHS[i].name, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.events.forwarding_events.map(event => { - let monthNumber = new Date((+event.timestamp)*1000).getMonth(); + this.events.forwarding_events.map((event) => { + const monthNumber = new Date((+event.timestamp) * 1000).getMonth(); feeReport[monthNumber].value = feeReport[monthNumber].value + (+event.fee_msat / 1000); feeReport[monthNumber].extra.totalEvents = feeReport[monthNumber].extra.totalEvents + 1; this.events.total_fee_msat = (this.events.total_fee_msat ? this.events.total_fee_msat : 0) + +event.fee_msat; + return this.events; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - feeReport.push({name: i + 1, value: 0.000000001, extra: {totalEvents: 0}}); + feeReport.push({ name: i + 1, value: 0.000000001, extra: { totalEvents: 0 } }); } - this.events.forwarding_events.map(event => { - let dateNumber = Math.floor((+event.timestamp - startDateInSeconds) / this.secondsInADay); + this.events.forwarding_events.map((event) => { + const dateNumber = Math.floor((+event.timestamp - startDateInSeconds) / this.secondsInADay); feeReport[dateNumber].value = feeReport[dateNumber].value + (+event.fee_msat / 1000); feeReport[dateNumber].extra.totalEvents = feeReport[dateNumber].extra.totalEvents + 1; this.events.total_fee_msat = (this.events.total_fee_msat ? this.events.total_fee_msat : 0) + +event.fee_msat; + return this.events; }); } return feeReport; @@ -141,13 +143,14 @@ export class FeeReportComponent implements OnInit, AfterViewInit, OnDestroy { } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/reports/reports.component.spec.ts b/src/app/lnd/reports/reports.component.spec.ts index 0c7a3d22..fd171a63 100644 --- a/src/app/lnd/reports/reports.component.spec.ts +++ b/src/app/lnd/reports/reports.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { ReportsComponent } from './reports.component'; @@ -6,11 +8,12 @@ describe('ReportsComponent', () => { let component: ReportsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ReportsComponent ] - }) - .compileComponents(); + declarations: [ReportsComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('ReportsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/reports/reports.component.ts b/src/app/lnd/reports/reports.component.ts index 63a299ad..7ee10e19 100644 --- a/src/app/lnd/reports/reports.component.ts +++ b/src/app/lnd/reports/reports.component.ts @@ -10,25 +10,26 @@ import { faChartBar } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./reports.component.scss'] }) export class ReportsComponent implements OnInit, OnDestroy { + public faChartBar = faChartBar; - public links = [{link: 'routingfees', name: 'Routing Fees'}, {link: 'transactions', name: 'Transactions'}]; + public links = [{ link: 'routingfees', name: 'Routing Fees' }, { link: 'transactions', name: 'Transactions' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/reports/transactions/transactions-report.component.html b/src/app/lnd/reports/transactions/transactions-report.component.html index 935e16a9..68f6ade8 100644 --- a/src/app/lnd/reports/transactions/transactions-report.component.html +++ b/src/app/lnd/reports/transactions/transactions-report.component.html @@ -1,41 +1,48 @@
-
-
-
- Paid {{(transactionsReportSummary.amountPaidSelectedPeriod / 1000 || 0) | number:'1.0-2'}} Sats/{{transactionsReportSummary.paymentsSelectedPeriod | number}} Payments +
+ +
+ + Getting transactions data...
-
- Received {{(transactionsReportSummary.amountReceivedSelectedPeriod / 1000 || 0) | number:'1.0-2'}} Sats/{{transactionsReportSummary.invoicesSelectedPeriod | number}} Invoices +
{{errorMessage}}
+
+
+ Paid {{(transactionsReportSummary.amountPaidSelectedPeriod / 1000 || 0) | number:'1.0-2'}} Sats/{{transactionsReportSummary.paymentsSelectedPeriod | number}} Payments +
+
+ Received {{(transactionsReportSummary.amountReceivedSelectedPeriod / 1000 || 0) | number:'1.0-2'}} Sats/{{transactionsReportSummary.invoicesSelectedPeriod | number}} Invoices +
+
+
No transactions report for the selected period
+
+ + + {{model.name}}: {{(model.value || 0) | number:'1.0-2'}}/# {{model.name === 'Paid' ? 'Payments' : 'Invoices'}}: {{(model.extra?.total || 0) | number}} + + +
+
+
-
-
No transactions report for the selected period
-
- - - {{model.name}}: {{(model.value || 0) | number:'1.0-2'}}/# {{model.name === 'Paid' ? 'Payments' : 'Invoices'}}: {{(model.extra?.total || 0) | number}} - - -
-
-
diff --git a/src/app/lnd/reports/transactions/transactions-report.component.spec.ts b/src/app/lnd/reports/transactions/transactions-report.component.spec.ts index dda186e9..41dced25 100644 --- a/src/app/lnd/reports/transactions/transactions-report.component.spec.ts +++ b/src/app/lnd/reports/transactions/transactions-report.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; import { TransactionsReportComponent } from './transactions-report.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('TransactionsReportComponent', () => { let component: TransactionsReportComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ TransactionsReportComponent ] - }) - .compileComponents(); + declarations: [TransactionsReportComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('TransactionsReportComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/reports/transactions/transactions-report.component.ts b/src/app/lnd/reports/transactions/transactions-report.component.ts index 91c656be..14557e63 100644 --- a/src/app/lnd/reports/transactions/transactions-report.component.ts +++ b/src/app/lnd/reports/transactions/transactions-report.component.ts @@ -1,22 +1,25 @@ -import { Component, OnInit, OnDestroy, HostListener, AfterViewInit } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener, AfterContentInit } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Payment, Invoice } from '../../../shared/models/lndModels'; import { CommonService } from '../../../shared/services/common.service'; -import { MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, MONTHS, ScreenSizeEnum, SCROLL_RANGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { fadeIn } from '../../../shared/animation/opacity-animation'; import * as fromRTLReducer from '../../../store/rtl.reducers'; + @Component({ selector: 'rtl-transactions-report', templateUrl: './transactions-report.component.html', styleUrls: ['./transactions-report.component.scss'], animations: [fadeIn] }) -export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDestroy { +export class TransactionsReportComponent implements OnInit, AfterContentInit, OnDestroy { + public scrollRanges = SCROLL_RANGES; public reportPeriod = SCROLL_RANGES[0]; public secondsInADay = 24 * 60 * 60; @@ -27,8 +30,8 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes public today = new Date(Date.now()); public startDate = new Date(this.today.getFullYear(), this.today.getMonth(), 1, 0, 0, 0); public endDate = new Date(this.today.getFullYear(), this.today.getMonth(), this.getMonthDays(this.today.getMonth(), this.today.getFullYear()), 23, 59, 59); - public transactionsReportData: any = [{date: '', name: '1', series: [{extra: {total: 0.0}, name: 'Paid', value: 0.0}, {extra: {total: 0.0}, name: 'Received', value: 0.0}]}]; - public transactionsNonZeroReportData: any = [{amount_paid: 0.0, amount_received: 0.0, date: '', num_invoices: 0, num_payments: 0}]; + public transactionsReportData: any = [{ date: '', name: '1', series: [{ extra: { total: 0.0 }, name: 'Paid', value: 0.0 }, { extra: { total: 0.0 }, name: 'Received', value: 0.0 }] }]; + public transactionsNonZeroReportData: any = [{ amount_paid: 0.0, amount_received: 0.0, date: '', num_invoices: 0, num_payments: 0 }]; public view: [number, number] = [350, 350]; public screenPaddingX = 100; public gradient = true; @@ -37,41 +40,49 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes public showYAxisLabel = true; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private commonService: CommonService, private store: Store) {} + constructor(private commonService: CommonService, private store: Store) { } ngOnInit() { this.screenSize = this.commonService.getScreenSize(); this.showYAxisLabel = !(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.payments = rtlStore.allLightningTransactions.paymentsAll ? rtlStore.allLightningTransactions.paymentsAll.payments : []; - this.invoices = rtlStore.allLightningTransactions.invoicesAll ? rtlStore.allLightningTransactions.invoicesAll.invoices : []; - if(this.payments.length > 0 || this.invoices.length > 0) { - this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); - this.transactionsNonZeroReportData = this.prepareTableData(); - } - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchLightningTransactions.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchLightningTransactions.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchLightningTransactions.message) : this.apisCallStatus.FetchLightningTransactions.message; + } + this.payments = rtlStore.allLightningTransactions.paymentsAll ? rtlStore.allLightningTransactions.paymentsAll.payments : []; + this.invoices = rtlStore.allLightningTransactions.invoicesAll ? rtlStore.allLightningTransactions.invoicesAll.invoices : []; + if (this.payments.length > 0 || this.invoices.length > 0) { + this.transactionsReportData = this.filterTransactionsForSelectedPeriod(this.startDate, this.endDate); + this.transactionsNonZeroReportData = this.prepareTableData(); + } + }); } - ngAfterViewInit() { + ngAfterContentInit() { const CONTAINER_SIZE = this.commonService.getContainerSize(); switch (this.screenSize) { case ScreenSizeEnum.MD: - this.screenPaddingX = CONTAINER_SIZE.width/10; + this.screenPaddingX = CONTAINER_SIZE.width / 10; break; case ScreenSizeEnum.LG: - this.screenPaddingX = CONTAINER_SIZE.width/16; + this.screenPaddingX = CONTAINER_SIZE.width / 16; break; default: - this.screenPaddingX = CONTAINER_SIZE.width/20; + this.screenPaddingX = CONTAINER_SIZE.width / 20; break; } - this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height/2.2]; + this.view = [CONTAINER_SIZE.width - this.screenPaddingX, CONTAINER_SIZE.height / 2.2]; } @HostListener('mouseup', ['$event']) onChartMouseUp(e) { @@ -81,7 +92,7 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes } onChartBarSelected(event) { - if(this.reportPeriod === SCROLL_RANGES[1]) { + if (this.reportPeriod === SCROLL_RANGES[1]) { this.transactionFilterValue = event.series + '/' + this.startDate.getFullYear(); } else { this.transactionFilterValue = event.series.toString().padStart(2, '0') + '/' + MONTHS[this.startDate.getMonth()].name + '/' + this.startDate.getFullYear(); @@ -89,46 +100,50 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes } filterTransactionsForSelectedPeriod(start: Date, end: Date) { - const startDateInSeconds = Math.round(start.getTime()/1000); - const endDateInSeconds = Math.round(end.getTime()/1000); - let transactionsReport = []; + const startDateInSeconds = Math.round(start.getTime() / 1000); + const endDateInSeconds = Math.round(end.getTime() / 1000); + const transactionsReport = []; this.transactionsNonZeroReportData = []; this.transactionsReportSummary = { paymentsSelectedPeriod: 0, invoicesSelectedPeriod: 0, amountPaidSelectedPeriod: 0, amountReceivedSelectedPeriod: 0 }; - let filteredPayments = this.payments.filter(payment => payment.status === 'SUCCEEDED' && payment.creation_date >= startDateInSeconds && payment.creation_date < endDateInSeconds); - let filteredInvoices = this.invoices.filter(invoice => invoice.settled && +invoice.creation_date >= startDateInSeconds && +invoice.creation_date < endDateInSeconds); + const filteredPayments = this.payments.filter((payment) => payment.status === 'SUCCEEDED' && payment.creation_date >= startDateInSeconds && payment.creation_date < endDateInSeconds); + const filteredInvoices = this.invoices.filter((invoice) => invoice.settled && +invoice.creation_date >= startDateInSeconds && +invoice.creation_date < endDateInSeconds); this.transactionsReportSummary.paymentsSelectedPeriod = filteredPayments.length; this.transactionsReportSummary.invoicesSelectedPeriod = filteredInvoices.length; if (this.reportPeriod === SCROLL_RANGES[1]) { for (let i = 0; i < 12; i++) { - transactionsReport.push({name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: MONTHS[i].name, date: new Date(start.getFullYear(), i, 1, 0, 0, 0, 0), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let monthNumber = new Date((+payment.creation_date)*1000).getMonth(); + filteredPayments.map((payment) => { + const monthNumber = new Date((+payment.creation_date) * 1000).getMonth(); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + (+payment.value_msat) + (+payment.fee_msat); transactionsReport[monthNumber].series[0].value = transactionsReport[monthNumber].series[0].value + ((+payment.value_msat + +payment.fee_msat) / 1000); transactionsReport[monthNumber].series[0].extra.total = transactionsReport[monthNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let monthNumber = new Date((+invoice.creation_date)*1000).getMonth(); + filteredInvoices.map((invoice) => { + const monthNumber = new Date((+invoice.creation_date) * 1000).getMonth(); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + (+invoice.amt_paid_msat); transactionsReport[monthNumber].series[1].value = transactionsReport[monthNumber].series[1].value + (+invoice.amt_paid_msat / 1000); transactionsReport[monthNumber].series[1].extra.total = transactionsReport[monthNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } else { for (let i = 0; i < this.getMonthDays(start.getMonth(), start.getFullYear()); i++) { - transactionsReport.push({name: (i + 1).toString(), date: new Date((((i)*this.secondsInADay) + startDateInSeconds)*1000), series: [{name: 'Paid', value: 0, extra: {total: 0}}, {name: 'Received', value: 0, extra: {total: 0}}]}); + transactionsReport.push({ name: (i + 1).toString(), date: new Date((((i) * this.secondsInADay) + startDateInSeconds) * 1000), series: [{ name: 'Paid', value: 0, extra: { total: 0 } }, { name: 'Received', value: 0, extra: { total: 0 } }] }); } - filteredPayments.map(payment => { - let dateNumber = Math.floor((+payment.creation_date - startDateInSeconds) / this.secondsInADay); + filteredPayments.map((payment) => { + const dateNumber = Math.floor((+payment.creation_date - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountPaidSelectedPeriod = this.transactionsReportSummary.amountPaidSelectedPeriod + (+payment.value_msat) + (+payment.fee_msat); transactionsReport[dateNumber].series[0].value = transactionsReport[dateNumber].series[0].value + ((+payment.value_msat + +payment.fee_msat) / 1000); transactionsReport[dateNumber].series[0].extra.total = transactionsReport[dateNumber].series[0].extra.total + 1; + return this.transactionsReportSummary; }); - filteredInvoices.map(invoice => { - let dateNumber = Math.floor((+invoice.creation_date - startDateInSeconds) / this.secondsInADay); + filteredInvoices.map((invoice) => { + const dateNumber = Math.floor((+invoice.creation_date - startDateInSeconds) / this.secondsInADay); this.transactionsReportSummary.amountReceivedSelectedPeriod = this.transactionsReportSummary.amountReceivedSelectedPeriod + (+invoice.amt_paid_msat); transactionsReport[dateNumber].series[1].value = transactionsReport[dateNumber].series[1].value + (+invoice.amt_paid_msat / 1000); transactionsReport[dateNumber].series[1].extra.total = transactionsReport[dateNumber].series[1].extra.total + 1; + return this.transactionsReportSummary; }); } return transactionsReport; @@ -137,13 +152,13 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes prepareTableData() { return this.transactionsReportData.reduce((acc, curr) => { if (curr.series[0].extra.total > 0 || curr.series[1].extra.total > 0) { - return acc.concat({date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total}); + return acc.concat({ date: curr.date, amount_paid: curr.series[0].value, num_payments: curr.series[0].extra.total, amount_received: curr.series[1].value, num_invoices: curr.series[1].extra.total }); } return acc; }, []); } - onSelectionChange(selectedValues: {selDate: Date, selScrollRange: string}) { + onSelectionChange(selectedValues: { selDate: Date, selScrollRange: string }) { const selMonth = selectedValues.selDate.getMonth(); const selYear = selectedValues.selDate.getFullYear(); this.reportPeriod = selectedValues.selScrollRange; @@ -160,14 +175,15 @@ export class TransactionsReportComponent implements OnInit, AfterViewInit, OnDes } getMonthDays(selMonth: number, selYear: number) { - return (selMonth === 1 && selYear%4 === 0) ? (MONTHS[selMonth].days+1) : MONTHS[selMonth].days; + return (selMonth === 1 && selYear % 4 === 0) ? (MONTHS[selMonth].days + 1) : MONTHS[selMonth].days; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/routing/forwarding-history/forwarding-history.component.html b/src/app/lnd/routing/forwarding-history/forwarding-history.component.html index e4a65359..c4b82c5d 100644 --- a/src/app/lnd/routing/forwarding-history/forwarding-history.component.html +++ b/src/app/lnd/routing/forwarding-history/forwarding-history.component.html @@ -1,5 +1,5 @@ -
-
{{errorMessage}}
+
+
{{errorMessage}}
@@ -7,7 +7,8 @@
-
Alias {{peer?.alias}} -

No connected peers.

+

No connected peer.

+

Getting peers...

+

{{errorMessage}}

+ +
@@ -47,7 +48,9 @@ @@ -55,5 +58,5 @@
Timestamp {{(fhEvent.timestamp * 1000) | date:'dd/MMM/YYYY HH:mm'}} -

No forwarding event available.

+

No forwarding history available.

+

Getting forwarding history...

+

{{errorMessage}}

- +
diff --git a/src/app/lnd/routing/forwarding-history/forwarding-history.component.spec.ts b/src/app/lnd/routing/forwarding-history/forwarding-history.component.spec.ts index f5c03c97..a5ac4195 100644 --- a/src/app/lnd/routing/forwarding-history/forwarding-history.component.spec.ts +++ b/src/app/lnd/routing/forwarding-history/forwarding-history.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { ForwardingHistoryComponent } from './forwarding-history.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('ForwardingHistoryComponent', () => { let component: ForwardingHistoryComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ForwardingHistoryComponent ] - }) - .compileComponents(); + declarations: [ForwardingHistoryComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('ForwardingHistoryComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/routing/forwarding-history/forwarding-history.component.ts b/src/app/lnd/routing/forwarding-history/forwarding-history.component.ts index 4f2d9dd0..2549fd0a 100644 --- a/src/app/lnd/routing/forwarding-history/forwarding-history.component.ts +++ b/src/app/lnd/routing/forwarding-history/forwarding-history.component.ts @@ -8,7 +8,8 @@ import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { ForwardingEvent } from '../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, APICallStatusEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; @@ -24,12 +25,12 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; ] }) export class ForwardingHistoryComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator|undefined; @Input() eventsData = []; @Input() filterValue = ''; public forwardingHistoryData = []; - public errorMessage = ''; public displayedColumns: any[] = []; public forwardingHistoryEvents: any; public flgSticky = false; @@ -37,14 +38,17 @@ export class ForwardingHistoryComponent implements OnInit, AfterViewInit, OnChan public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'fee_msat', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.SM || this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['timestamp', 'amt_in', 'amt_out', 'fee_msat', 'actions']; } else { @@ -54,21 +58,20 @@ export class ForwardingHistoryComponent implements OnInit, AfterViewInit, OnChan } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if (this.eventsData.length <= 0) { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'GetForwardingHistory') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if (this.eventsData.length <= 0) { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; } - }); - this.forwardingHistoryData = (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events) ? rtlStore.forwardingHistory.forwarding_events : []; - this.loadForwardingEventsTable(this.forwardingHistoryData); - this.logger.info(rtlStore); - } - }); + this.forwardingHistoryData = (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events) ? rtlStore.forwardingHistory.forwarding_events : []; + this.loadForwardingEventsTable(this.forwardingHistoryData); + this.logger.info(rtlStore); + } + }); } ngAfterViewInit() { @@ -92,36 +95,36 @@ export class ForwardingHistoryComponent implements OnInit, AfterViewInit, OnChan onForwardingEventClick(selFEvent: ForwardingEvent, event: any) { const reorderedFHEvent = [ - [{key: 'timestamp', value: selFEvent.timestamp, title: 'Timestamp', width: 25, type: DataTypeEnum.DATE_TIME}, - {key: 'amt_in', value: selFEvent.amt_in, title: 'Inbound Amount (Sats)', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'amt_out', value: selFEvent.amt_out, title: 'Outbound Amount (Sats)', width: 25, type: DataTypeEnum.NUMBER}, - {key: 'fee_msat', value: selFEvent.fee_msat, title: 'Fee (mSats)', width: 25, type: DataTypeEnum.NUMBER}], - [{key: 'alias_in', value: selFEvent.alias_in, title: 'Inbound Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'chan_id_in', value: selFEvent.chan_id_in, title: 'Inbound Channel ID', width: 25, type: DataTypeEnum.STRING}, - {key: 'alias_out', value: selFEvent.alias_out, title: 'Outbound Peer Alias', width: 25, type: DataTypeEnum.STRING}, - {key: 'chan_id_out', value: selFEvent.chan_id_out, title: 'Outbound Channel ID', width: 25, type: DataTypeEnum.STRING}] + [{ key: 'timestamp', value: selFEvent.timestamp, title: 'Timestamp', width: 25, type: DataTypeEnum.DATE_TIME }, + { key: 'amt_in', value: selFEvent.amt_in, title: 'Inbound Amount (Sats)', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'amt_out', value: selFEvent.amt_out, title: 'Outbound Amount (Sats)', width: 25, type: DataTypeEnum.NUMBER }, + { key: 'fee_msat', value: selFEvent.fee_msat, title: 'Fee (mSats)', width: 25, type: DataTypeEnum.NUMBER }], + [{ key: 'alias_in', value: selFEvent.alias_in, title: 'Inbound Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'chan_id_in', value: selFEvent.chan_id_in, title: 'Inbound Channel ID', width: 25, type: DataTypeEnum.STRING }, + { key: 'alias_out', value: selFEvent.alias_out, title: 'Outbound Peer Alias', width: 25, type: DataTypeEnum.STRING }, + { key: 'chan_id_out', value: selFEvent.chan_id_out, title: 'Outbound Channel ID', width: 25, type: DataTypeEnum.STRING }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Event Information', message: reorderedFHEvent - }})); + } })); } loadForwardingEventsTable(forwardingEvents: ForwardingEvent[]) { this.forwardingHistoryEvents = forwardingEvents ? new MatTableDataSource([...forwardingEvents]) : new MatTableDataSource([]); this.forwardingHistoryEvents.sort = this.sort; - this.forwardingHistoryEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.forwardingHistoryEvents.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.forwardingHistoryEvents.filterPredicate = (rowData: ForwardingEvent, fltr: string) => { - const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); + const newRowData = ((rowData.timestamp) ? this.datePipe.transform(new Date(rowData.timestamp * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); }; this.forwardingHistoryEvents.paginator = this.paginator; this.logger.info(this.forwardingHistoryEvents); } onDownloadCSV() { - if(this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { + if (this.forwardingHistoryEvents && this.forwardingHistoryEvents.data && this.forwardingHistoryEvents.data.length > 0) { this.commonService.downloadFile(this.forwardingHistoryEvents.data, 'Forwarding-history'); } } @@ -133,9 +136,10 @@ export class ForwardingHistoryComponent implements OnInit, AfterViewInit, OnChan } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/routing/routing-peers/routing-peers.component.html b/src/app/lnd/routing/routing-peers/routing-peers.component.html index 31e84715..46d2aa1a 100644 --- a/src/app/lnd/routing/routing-peers/routing-peers.component.html +++ b/src/app/lnd/routing/routing-peers/routing-peers.component.html @@ -1,15 +1,16 @@ -
-
{{errorMessage}}
-
-
+
+
{{errorMessage}}
+
+
Incoming
- +
-
- +
+ +
@@ -35,7 +36,9 @@ @@ -43,16 +46,18 @@
Channel ID {{rPeer.chan_id}} -

No incoming routing peer available.

+

No incoming routing peer available.

+

Getting incoming routing peers...

+

{{errorMessage}}

+
-
+
Outgoing
- +
-
- +
+ +
@@ -78,7 +83,9 @@ @@ -86,6 +93,7 @@
Channel ID {{rPeer.chan_id}} -

No outgoing routing peer available.

+

No outgoing routing peer available.

+

Getting outgoing routing peers...

+

{{errorMessage}}

+
diff --git a/src/app/lnd/routing/routing-peers/routing-peers.component.spec.ts b/src/app/lnd/routing/routing-peers/routing-peers.component.spec.ts index 7423d075..aef8d189 100644 --- a/src/app/lnd/routing/routing-peers/routing-peers.component.spec.ts +++ b/src/app/lnd/routing/routing-peers/routing-peers.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { RoutingPeersComponent } from './routing-peers.component'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('RoutingPeersComponent', () => { let component: RoutingPeersComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ RoutingPeersComponent ] - }) - .compileComponents(); + declarations: [RoutingPeersComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('RoutingPeersComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/routing/routing-peers/routing-peers.component.ts b/src/app/lnd/routing/routing-peers/routing-peers.component.ts index a54ed8e1..52d268a3 100644 --- a/src/app/lnd/routing/routing-peers/routing-peers.component.ts +++ b/src/app/lnd/routing/routing-peers/routing-peers.component.ts @@ -2,45 +2,58 @@ import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { Actions } from '@ngrx/effects'; - import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; +import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; + import { ForwardingEvent, RoutingPeers } from '../../../shared/models/lndModels'; +import { AlertTypeEnum, APICallStatusEnum, DataTypeEnum, getPaginatorLabel, PAGE_SIZE, PAGE_SIZE_OPTIONS, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; @Component({ selector: 'rtl-routing-peers', templateUrl: './routing-peers.component.html', - styleUrls: ['./routing-peers.component.scss'] + styleUrls: ['./routing-peers.component.scss'], + providers: [ + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') } + ] }) export class RoutingPeersComponent implements OnInit, OnDestroy { - @ViewChild(MatSort, { static: false }) sortIn: MatSort; - @ViewChild('tableOut', {read: MatSort, static: false}) sortOut: MatSort; + + @ViewChild('tableIn', { read: MatSort, static: false }) sortIn: MatSort; + @ViewChild('tableOut', { read: MatSort, static: false }) sortOut: MatSort; + @ViewChild('paginatorIn', { static: false }) paginatorIn: MatPaginator|undefined; + @ViewChild('paginatorOut', { static: false }) paginatorOut: MatPaginator|undefined; public routingPeersData = []; - public errorMessage = ''; public displayedColumns: any[] = []; public RoutingPeersIncoming: any; public RoutingPeersOutgoing: any; public flgSticky = false; + public pageSize = PAGE_SIZE; + public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public filterIn = ''; + public filterOut = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['chan_id', 'events', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['chan_id', 'alias', 'events', 'total_amount']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['chan_id', 'alias', 'events', 'total_amount']; } else { @@ -50,23 +63,24 @@ export class RoutingPeersComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.errorMessage = ''; - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'GetForwardingHistory') { - this.errorMessage = (typeof(effectsErr.message) === 'object') ? JSON.stringify(effectsErr.message) : effectsErr.message; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.GetForwardingHistory.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.GetForwardingHistory.message) === 'object') ? JSON.stringify(this.apisCallStatus.GetForwardingHistory.message) : this.apisCallStatus.GetForwardingHistory.message; } + if (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events) { + this.routingPeersData = rtlStore.forwardingHistory.forwarding_events; + } else { + this.routingPeersData = []; + } + if (this.routingPeersData.length > 0 && this.sortIn && this.paginatorIn && this.sortOut && this.paginatorOut) { + this.loadRoutingPeersTable(this.routingPeersData); + } + this.logger.info(rtlStore); }); - if (rtlStore.forwardingHistory && rtlStore.forwardingHistory.forwarding_events) { - this.routingPeersData = rtlStore.forwardingHistory.forwarding_events; - } else { - this.routingPeersData = []; - } - this.loadRoutingPeersTable(this.routingPeersData); - this.logger.info(rtlStore); - }); } onRoutingPeerClick(selRPeer: RoutingPeers, event: any, direction: string) { @@ -77,31 +91,35 @@ export class RoutingPeersComponent implements OnInit, OnDestroy { alertTitle = 'Outgoing' + alertTitle; } const reorderedRoutingPeer = [ - [{key: 'chan_id', value: selRPeer.chan_id, title: 'Channel ID', width: 50, type: DataTypeEnum.STRING}, - {key: 'alias', value: selRPeer.alias, title: 'Peer Alias', width: 50, type: DataTypeEnum.STRING}], - [{key: 'events', value: selRPeer.events, title: 'Events', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'total_amount', value: selRPeer.total_amount, title: 'Total Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'chan_id', value: selRPeer.chan_id, title: 'Channel ID', width: 50, type: DataTypeEnum.STRING }, + { key: 'alias', value: selRPeer.alias, title: 'Peer Alias', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'events', value: selRPeer.events, title: 'Events', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'total_amount', value: selRPeer.total_amount, title: 'Total Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: alertTitle, message: reorderedRoutingPeer - }})); + } })); } loadRoutingPeersTable(forwardingEvents: ForwardingEvent[]) { + this.filterIn = ''; + this.filterOut = ''; if (forwardingEvents.length > 0) { const results = this.groupRoutingPeers(forwardingEvents); this.RoutingPeersIncoming = new MatTableDataSource(results[0]); this.RoutingPeersIncoming.sort = this.sortIn; this.RoutingPeersIncoming.filterPredicate = (rpIn: RoutingPeers, fltr: string) => JSON.stringify(rpIn).toLowerCase().includes(fltr); + this.RoutingPeersIncoming.paginator = this.paginatorIn; this.logger.info(this.RoutingPeersIncoming); this.RoutingPeersOutgoing = new MatTableDataSource(results[1]); this.RoutingPeersOutgoing.sort = this.sortOut; this.RoutingPeersOutgoing.filterPredicate = (rpOut: RoutingPeers, fltr: string) => JSON.stringify(rpOut).toLowerCase().includes(fltr); + this.RoutingPeersOutgoing.paginator = this.paginatorOut; this.logger.info(this.RoutingPeersOutgoing); } else { - // To reset table after other Forwarding history calls + // To reset table after other Forwarding history calls this.RoutingPeersIncoming = new MatTableDataSource([]); this.RoutingPeersOutgoing = new MatTableDataSource([]); } @@ -110,17 +128,17 @@ export class RoutingPeersComponent implements OnInit, OnDestroy { groupRoutingPeers(forwardingEvents: ForwardingEvent[]) { const incomingResults = []; const outgoingResults = []; - forwardingEvents.forEach(event => { - const incoming = incomingResults.find(result => result.chan_id === event.chan_id_in); - const outgoing = outgoingResults.find(result => result.chan_id === event.chan_id_out); + forwardingEvents.forEach((event) => { + const incoming = incomingResults.find((result) => result.chan_id === event.chan_id_in); + const outgoing = outgoingResults.find((result) => result.chan_id === event.chan_id_out); if (!incoming) { - incomingResults.push({chan_id: event.chan_id_in, alias: event.alias_in, events: 1, total_amount: +event.amt_in}); + incomingResults.push({ chan_id: event.chan_id_in, alias: event.alias_in, events: 1, total_amount: +event.amt_in }); } else { incoming.events++; incoming.total_amount = +incoming.total_amount + +event.amt_in; } if (!outgoing) { - outgoingResults.push({chan_id: event.chan_id_out, alias: event.alias_out, events: 1, total_amount: +event.amt_out}); + outgoingResults.push({ chan_id: event.chan_id_out, alias: event.alias_out, events: 1, total_amount: +event.amt_out }); } else { outgoing.events++; outgoing.total_amount = +outgoing.total_amount + +event.amt_out; @@ -138,7 +156,7 @@ export class RoutingPeersComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/routing/routing.component.spec.ts b/src/app/lnd/routing/routing.component.spec.ts index e88f13ca..01cc1393 100644 --- a/src/app/lnd/routing/routing.component.spec.ts +++ b/src/app/lnd/routing/routing.component.spec.ts @@ -1,16 +1,32 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../shared/shared.module'; +import { RTLReducer } from '../../store/rtl.reducers'; import { RoutingComponent } from './routing.component'; describe('RoutingComponent', () => { let component: RoutingComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ RoutingComponent ] - }) - .compileComponents(); + declarations: [RoutingComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +38,8 @@ describe('RoutingComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/routing/routing.component.ts b/src/app/lnd/routing/routing.component.ts index bf890467..d4430e4b 100644 --- a/src/app/lnd/routing/routing.component.ts +++ b/src/app/lnd/routing/routing.component.ts @@ -14,13 +14,14 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./routing.component.scss'] }) export class RoutingComponent implements OnInit, OnDestroy { + public faMapSigns = faMapSigns; public today = new Date(Date.now()); public lastMonthDay = new Date(this.today.getFullYear(), this.today.getMonth() - 1, this.today.getDate() + 1, 0, 0, 0); public yesterday = new Date(this.today.getFullYear(), this.today.getMonth(), this.today.getDate() - 1, 0, 0, 0); public endDate = this.today; public startDate = this.lastMonthDay; - public links = [{link: 'forwardinghistory', name: 'Forwarding History'}, {link: 'peers', name: 'Routing Peers'}]; + public links = [{ link: 'forwardinghistory', name: 'Forwarding History' }, { link: 'peers', name: 'Routing Peers' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; @@ -28,13 +29,13 @@ export class RoutingComponent implements OnInit, OnDestroy { ngOnInit() { this.onEventsFetch(); - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } onEventsFetch() { @@ -58,8 +59,8 @@ export class RoutingComponent implements OnInit, OnDestroy { ngOnDestroy() { this.resetData(); - this.store.dispatch(new LNDActions.SetForwardingHistory({})); - this.unSubs.forEach(completeSub => { + this.store.dispatch(new LNDActions.SetForwardingHistory({})); + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/sign-verify-message/sign-verify-message.component.spec.ts b/src/app/lnd/sign-verify-message/sign-verify-message.component.spec.ts index 2803cf5a..58345b91 100644 --- a/src/app/lnd/sign-verify-message/sign-verify-message.component.spec.ts +++ b/src/app/lnd/sign-verify-message/sign-verify-message.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SharedModule } from '../../shared/shared.module'; import { SignVerifyMessageComponent } from './sign-verify-message.component'; @@ -6,11 +8,12 @@ describe('SignVerifyMessageComponent', () => { let component: SignVerifyMessageComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SignVerifyMessageComponent ] - }) - .compileComponents(); + declarations: [SignVerifyMessageComponent], + imports: [SharedModule, RouterTestingModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +25,8 @@ describe('SignVerifyMessageComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/sign-verify-message/sign-verify-message.component.ts b/src/app/lnd/sign-verify-message/sign-verify-message.component.ts index d57e6c29..c21174af 100644 --- a/src/app/lnd/sign-verify-message/sign-verify-message.component.ts +++ b/src/app/lnd/sign-verify-message/sign-verify-message.component.ts @@ -10,25 +10,26 @@ import { faUserCheck } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./sign-verify-message.component.scss'] }) export class SignVerifyMessageComponent implements OnInit, OnDestroy { + public faUserCheck = faUserCheck; - public links = [{link: 'sign', name: 'Sign'}, {link: 'verify', name: 'Verify'}]; + public links = [{ link: 'sign', name: 'Sign' }, { link: 'verify', name: 'Verify' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/sign-verify-message/sign/sign.component.html b/src/app/lnd/sign-verify-message/sign/sign.component.html index bf72f291..479d3928 100644 --- a/src/app/lnd/sign-verify-message/sign/sign.component.html +++ b/src/app/lnd/sign-verify-message/sign/sign.component.html @@ -5,7 +5,7 @@ Message is required.
- +
diff --git a/src/app/lnd/sign-verify-message/sign/sign.component.spec.ts b/src/app/lnd/sign-verify-message/sign/sign.component.spec.ts index 886b3faa..4e0354c9 100644 --- a/src/app/lnd/sign-verify-message/sign/sign.component.spec.ts +++ b/src/app/lnd/sign-verify-message/sign/sign.component.spec.ts @@ -1,22 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoggerService } from '../../../shared/services/logger.service'; import { DataService } from '../../../shared/services/data.service'; import { SignComponent } from './sign.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('SignComponent', () => { let component: SignComponent; let fixture: ComponentFixture; - const mockDataService = jasmine.createSpyObj("DataService", ["getChildAPIUrl","setChildAPIUrl","getFiatRates", - "getAliasesFromPubkeys","signMessage","verifyMessage","handleErrorWithoutAlert","handleErrorWithAlert"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SignComponent ], + declarations: [SignComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], providers: [ - { provide: DataService, useValue: mockDataService } + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { @@ -28,4 +44,8 @@ describe('SignComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/sign-verify-message/sign/sign.component.ts b/src/app/lnd/sign-verify-message/sign/sign.component.ts index 317b19b7..2a7d01ef 100644 --- a/src/app/lnd/sign-verify-message/sign/sign.component.ts +++ b/src/app/lnd/sign-verify-message/sign/sign.component.ts @@ -12,6 +12,7 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./sign.component.scss'] }) export class SignComponent implements OnDestroy { + public message = ''; public signedMessage = ''; public signature = ''; @@ -19,23 +20,27 @@ export class SignComponent implements OnDestroy { constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {} - onSign():boolean|void { - if (!this.message || this.message === '') { return true; } - this.dataService.signMessage(this.message).pipe(takeUntil(this.unSubs[0])).subscribe(res => { + onSign(): boolean|void { + if (!this.message || this.message === '') { + return true; + } + this.dataService.signMessage(this.message).pipe(takeUntil(this.unSubs[0])).subscribe((res) => { this.signedMessage = this.message; - this.signature = res.signature; + this.signature = res.signature; }); - } + } onMessageChange() { - if (this.signedMessage !== this.message) { this.signature = ''; } + if (this.signedMessage !== this.message) { + this.signature = ''; + } } onCopyField(payload: string) { this.snackBar.open('Signature copied.'); this.logger.info('Copied Text: ' + payload); } - + resetData() { this.message = ''; this.signature = ''; @@ -43,9 +48,10 @@ export class SignComponent implements OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/sign-verify-message/verify/verify.component.html b/src/app/lnd/sign-verify-message/verify/verify.component.html index edc196f6..f2958d9e 100644 --- a/src/app/lnd/sign-verify-message/verify/verify.component.html +++ b/src/app/lnd/sign-verify-message/verify/verify.component.html @@ -10,7 +10,7 @@

closeVerification failed, please double check message and signature

- +
diff --git a/src/app/lnd/sign-verify-message/verify/verify.component.spec.ts b/src/app/lnd/sign-verify-message/verify/verify.component.spec.ts index f05d9720..33e422b8 100644 --- a/src/app/lnd/sign-verify-message/verify/verify.component.spec.ts +++ b/src/app/lnd/sign-verify-message/verify/verify.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoggerService } from '../../../shared/services/logger.service'; +import { DataService } from '../../../shared/services/data.service'; import { VerifyComponent } from './verify.component'; +import { SharedModule } from '../../../shared/shared.module'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { mockDataService, mockLoggerService } from '../../../shared/test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('VerifyComponent', () => { let component: VerifyComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ VerifyComponent ] - }) - .compileComponents(); + declarations: [VerifyComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('VerifyComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/sign-verify-message/verify/verify.component.ts b/src/app/lnd/sign-verify-message/verify/verify.component.ts index eb1ae4ee..69e25afc 100644 --- a/src/app/lnd/sign-verify-message/verify/verify.component.ts +++ b/src/app/lnd/sign-verify-message/verify/verify.component.ts @@ -12,31 +12,34 @@ import { LoggerService } from '../../../shared/services/logger.service'; styleUrls: ['./verify.component.scss'] }) export class VerifyComponent implements OnDestroy { + public message = ''; public verifiedMessage = ''; public signature = ''; public verifiedSignature = ''; public showVerifyStatus = false; - public verifyRes = {pubkey: '', valid: null}; + public verifyRes = { pubkey: '', valid: null }; private unSubs: Array> = [new Subject(), new Subject()]; constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {} - onVerify():boolean|void { - if ((!this.message || this.message === '') || (!this.signature || this.signature === '')) { return true; } - this.dataService.verifyMessage(this.message, this.signature).pipe(takeUntil(this.unSubs[0])) - .subscribe(res => { - this.verifyRes = res; - this.showVerifyStatus = true; - this.verifiedMessage = this.message; - this.verifiedSignature = this.signature; - }); - } + onVerify(): boolean|void { + if ((!this.message || this.message === '') || (!this.signature || this.signature === '')) { + return true; + } + this.dataService.verifyMessage(this.message, this.signature).pipe(takeUntil(this.unSubs[0])). + subscribe((res) => { + this.verifyRes = res; + this.showVerifyStatus = true; + this.verifiedMessage = this.message; + this.verifiedSignature = this.signature; + }); + } onChange() { - if (this.verifiedMessage !== this.message || this.verifiedSignature !== this.signature) { + if (this.verifiedMessage !== this.message || this.verifiedSignature !== this.signature) { this.showVerifyStatus = false; - this.verifyRes = {pubkey: '', valid: null}; + this.verifyRes = { pubkey: '', valid: null }; } } @@ -53,9 +56,10 @@ export class VerifyComponent implements OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/store/lnd.actions.ts b/src/app/lnd/store/lnd.actions.ts index ae8faa2f..ecb87c81 100644 --- a/src/app/lnd/store/lnd.actions.ts +++ b/src/app/lnd/store/lnd.actions.ts @@ -1,16 +1,14 @@ import { Action } from '@ngrx/store'; -import { ErrorPayload } from '../../shared/models/errorPayload'; +import { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../shared/models/RTLconfig'; -import { - GetInfo, Peer, Balance, NetworkInfo, Fees, Channel, Invoice, ListInvoices, - ChannelsTransaction, PendingChannels, ClosedChannel, Transaction, SwitchReq, +import { GetInfo, Peer, Balance, NetworkInfo, Fees, Channel, Invoice, ListInvoices, + ChannelsTransaction, PendingChannels, ClosedChannel, Transaction, SwitchReq, SwitchRes, QueryRoutes, PendingChannelsGroup, LightningNode, UTXO, ListPayments } -from '../../shared/models/lndModels'; + from '../../shared/models/lndModels'; export const RESET_LND_STORE = 'RESET_LND_STORE'; -export const CLEAR_EFFECT_ERROR_LND = 'CLEAR_EFFECT_ERROR_LND'; -export const EFFECT_ERROR_LND = 'EFFECT_ERROR_LND'; +export const UPDATE_API_CALL_STATUS_LND = 'UPDATE_API_CALL_STATUS_LND'; export const SET_CHILD_NODE_SETTINGS_LND = 'SET_CHILD_NODE_SETTINGS_LND'; export const FETCH_INFO_LND = 'FETCH_INFO_LND'; export const SET_INFO_LND = 'SET_INFO_LND'; @@ -80,352 +78,487 @@ export const SET_QUERY_ROUTES_LND = 'SET_QUERY_ROUTES_LND'; export const GET_ALL_LIGHTNING_TRANSATIONS_LND = 'GET_ALL_LIGHTNING_TRANSATIONS_LND'; export const SET_ALL_LIGHTNING_TRANSATIONS_LND = 'SET_ALL_LIGHTNING_TRANSATIONS_LND'; -export class ClearEffectError implements Action { - readonly type = CLEAR_EFFECT_ERROR_LND; - constructor(public payload: string) {} // payload = errorAction -} +export class UpdateAPICallStatus implements Action { + + readonly type = UPDATE_API_CALL_STATUS_LND; + constructor(public payload: ApiCallStatusPayload) { } -export class EffectError implements Action { - readonly type = EFFECT_ERROR_LND; - constructor(public payload: ErrorPayload) {} } export class ResetLNDStore implements Action { + readonly type = RESET_LND_STORE; constructor(public payload: SelNodeChild) {} + } export class SetChildNodeSettings implements Action { + readonly type = SET_CHILD_NODE_SETTINGS_LND; constructor(public payload: SelNodeChild) {} + } export class FetchInfo implements Action { + readonly type = FETCH_INFO_LND; constructor(public payload: {loadPage: string}) {} + } export class SetInfo implements Action { + readonly type = SET_INFO_LND; constructor(public payload: GetInfo) {} + } export class FetchPeers implements Action { + readonly type = FETCH_PEERS_LND; + } export class SetPeers implements Action { + readonly type = SET_PEERS_LND; constructor(public payload: Peer[]) {} + } export class SaveNewPeer implements Action { + readonly type = SAVE_NEW_PEER_LND; constructor(public payload: {pubkey: string, host: string, perm: boolean}) {} + } export class NewlyAddedPeer implements Action { + readonly type = NEWLY_ADDED_PEER_LND; constructor(public payload: { peer: Peer, balance: number}) {} + } export class DetachPeer implements Action { + readonly type = DETACH_PEER_LND; constructor(public payload: {pubkey: string}) {} + } export class RemovePeer implements Action { + readonly type = REMOVE_PEER_LND; constructor(public payload: {pubkey: string}) {} + } export class SaveNewInvoice implements Action { + readonly type = SAVE_NEW_INVOICE_LND; - constructor(public payload: {memo: string, invoiceValue: number, private: boolean, expiry: number, pageSize: number, openModal: boolean}) {} + constructor(public payload: {uiMessage: string, memo: string, invoiceValue: number, private: boolean, expiry: number, pageSize: number, openModal: boolean}) {} + } export class NewlySavedInvoice implements Action { + readonly type = NEWLY_SAVED_INVOICE_LND; constructor(public payload: { paymentRequest: string}) {} + } export class AddInvoice implements Action { + readonly type = ADD_INVOICE_LND; constructor(public payload: Invoice) {} + } export class FetchFees implements Action { + readonly type = FETCH_FEES_LND; + } export class SetFees implements Action { + readonly type = SET_FEES_LND; constructor(public payload: Fees) {} + } export class FetchBalance implements Action { + readonly type = FETCH_BALANCE_LND; - constructor(public payload: string) {} // payload = routeParam + constructor(public payload: string) {} // Payload = routeParam + } export class SetBalance implements Action { + readonly type = SET_BALANCE_LND; constructor(public payload: {target: string, balance: Balance}) {} + } export class FetchNetwork implements Action { + readonly type = FETCH_NETWORK_LND; + } export class SetNetwork implements Action { + readonly type = SET_NETWORK_LND; constructor(public payload: NetworkInfo) {} + } export class FetchAllChannels implements Action { + readonly type = FETCH_ALL_CHANNELS_LND; + } export class SetAllChannels implements Action { + readonly type = SET_ALL_CHANNELS_LND; constructor(public payload: Channel[]) {} + } export class FetchPendingChannels implements Action { + readonly type = FETCH_PENDING_CHANNELS_LND; + } export class SetPendingChannels implements Action { + readonly type = SET_PENDING_CHANNELS_LND; constructor(public payload: {channels: PendingChannels, pendingChannels: PendingChannelsGroup}) {} + } export class FetchClosedChannels implements Action { + readonly type = FETCH_CLOSED_CHANNELS_LND; + } export class SetClosedChannels implements Action { + readonly type = SET_CLOSED_CHANNELS_LND; constructor(public payload: ClosedChannel[]) {} + } export class UpdateChannels implements Action { + readonly type = UPDATE_CHANNELS_LND; constructor(public payload: any) {} + } export class SaveNewChannel implements Action { + readonly type = SAVE_NEW_CHANNEL_LND; constructor(public payload: {selectedPeerPubkey: string, fundingAmount: number, private: boolean, transType: string, transTypeValue: string, spendUnconfirmed: boolean}) {} + } export class CloseChannel implements Action { + readonly type = CLOSE_CHANNEL_LND; constructor(public payload: {channelPoint: string, forcibly: boolean, targetConf?: number, satPerByte?: number}) {} + } export class RemoveChannel implements Action { + readonly type = REMOVE_CHANNEL_LND; constructor(public payload: {channelPoint: string}) {} + } export class BackupChannels implements Action { + readonly type = BACKUP_CHANNELS_LND; - constructor(public payload: {channelPoint: string, showMessage: string}) {} + constructor(public payload: {uiMessage: string, channelPoint: string, showMessage: string}) {} + } export class VerifyChannels implements Action { + readonly type = VERIFY_CHANNELS_LND; constructor(public payload: {channelPoint: string}) {} + } export class BackupChannelsRes implements Action { + readonly type = BACKUP_CHANNELS_RES_LND; constructor(public payload: string) {} + } export class VerifyChannelsRes implements Action { + readonly type = VERIFY_CHANNELS_RES_LND; constructor(public payload: string) {} + } export class RestoreChannelsList implements Action { + readonly type = RESTORE_CHANNELS_LIST_LND; + } export class SetRestoreChannelsList implements Action { + readonly type = SET_RESTORE_CHANNELS_LIST_LND; constructor(public payload: {all_restore_exists: boolean, files: []}) {} + } export class RestoreChannels implements Action { + readonly type = RESTORE_CHANNELS_LND; constructor(public payload: {channelPoint: string}) {} + } export class RestoreChannelsRes implements Action { + readonly type = RESTORE_CHANNELS_RES_LND; constructor(public payload: string) {} + } export class FetchInvoices implements Action { + readonly type = FETCH_INVOICES_LND; constructor(public payload: {num_max_invoices?: number, index_offset?: number, reversed?: boolean}) {} + } export class SetInvoices implements Action { + readonly type = SET_INVOICES_LND; constructor(public payload: ListInvoices) {} + } export class SetTotalInvoices implements Action { + readonly type = SET_TOTAL_INVOICES_LND; constructor(public payload: number) {} + } export class FetchTransactions implements Action { + readonly type = FETCH_TRANSACTIONS_LND; + } export class SetTransactions implements Action { + readonly type = SET_TRANSACTIONS_LND; constructor(public payload: Transaction[]) {} + } export class FetchUTXOs implements Action { + readonly type = FETCH_UTXOS_LND; + } export class SetUTXOs implements Action { + readonly type = SET_UTXOS_LND; constructor(public payload: UTXO[]) {} + } export class FetchPayments implements Action { + readonly type = FETCH_PAYMENTS_LND; constructor(public payload: {max_payments?: number, index_offset?: number, reversed?: boolean}) {} + } export class SetPayments implements Action { + readonly type = SET_PAYMENTS_LND; constructor(public payload: ListPayments) {} + } export class SendPayment implements Action { + readonly type = SEND_PAYMENT_LND; - constructor(public payload: { fromDialog: boolean, paymentReq: string, paymentAmount?: number, outgoingChannel?: Channel, feeLimitType?: {id: string, name: string}, feeLimit?: number, allowSelfPayment?: boolean, lastHopPubkey?: string }) {} + constructor(public payload: { uiMessage: string, fromDialog: boolean, paymentReq: string, paymentAmount?: number, outgoingChannel?: Channel, feeLimitType?: {id: string, name: string}, feeLimit?: number, allowSelfPayment?: boolean, lastHopPubkey?: string }) {} + } export class SendPaymentStatus implements Action { + readonly type = SEND_PAYMENT_STATUS_LND; constructor(public payload: any) {} + } export class FetchGraphNode implements Action { + readonly type = FETCH_GRAPH_NODE_LND; constructor(public payload: {pubkey: string}) {} + } export class SetGraphNode implements Action { + readonly type = SET_GRAPH_NODE_LND; constructor(public payload: {node: LightningNode}) {} + } export class GetNewAddress implements Action { + readonly type = GET_NEW_ADDRESS_LND; constructor(public payload: { addressId?: string, addressCode?: string, addressTp?: string, addressDetails?: string}) {} + } export class SetNewAddress implements Action { + readonly type = SET_NEW_ADDRESS_LND; - constructor(public payload: string) {} // payload = newAddress + constructor(public payload: string) {} // Payload = newAddress + } export class SetChannelTransaction implements Action { + readonly type = SET_CHANNEL_TRANSACTION_LND; constructor(public payload: ChannelsTransaction) {} + } export class SetChannelTransactionRes implements Action { + readonly type = SET_CHANNEL_TRANSACTION_RES_LND; constructor(public payload: any) {} + } export class GenSeed implements Action { + readonly type = GEN_SEED_LND; constructor(public payload: string) {} + } export class GenSeedResponse implements Action { + readonly type = GEN_SEED_RESPONSE_LND; constructor(public payload: Array) {} + } export class InitWallet implements Action { + readonly type = INIT_WALLET_LND; constructor(public payload: {pwd: string, cipher?: Array, passphrase?: string}) {} + } export class InitWalletResponse implements Action { + readonly type = INIT_WALLET_RESPONSE_LND; constructor(public payload: string) {} + } export class UnlockWallet implements Action { + readonly type = UNLOCK_WALLET_LND; constructor(public payload: {pwd: string}) {} + } export class PeerLookup implements Action { + readonly type = PEER_LOOKUP_LND; - constructor(public payload: string) {} // payload = pubkey + constructor(public payload: string) {} // Payload = pubkey + } export class ChannelLookup implements Action { + readonly type = CHANNEL_LOOKUP_LND; - constructor(public payload: string) {} // payload = chanID + constructor(public payload: {uiMessage: string, channelID: string}) {} + } export class InvoiceLookup implements Action { + readonly type = INVOICE_LOOKUP_LND; - constructor(public payload: string) {} // payload = rHashStr + constructor(public payload: string) {} // Payload = rHashStr + } export class SetLookup implements Action { + readonly type = SET_LOOKUP_LND; - constructor(public payload: any) {} // payload = lookup Response (Peer/Channel/Invoice) + constructor(public payload: any) {} // Payload = lookup Response (Peer/Channel/Invoice) + } export class GetForwardingHistory implements Action { + readonly type = GET_FORWARDING_HISTORY_LND; constructor(public payload: SwitchReq) {} + } export class SetForwardingHistory implements Action { + readonly type = SET_FORWARDING_HISTORY_LND; constructor(public payload: SwitchRes) {} + } export class GetQueryRoutes implements Action { + readonly type = GET_QUERY_ROUTES_LND; constructor(public payload: {destPubkey: string, amount: number, outgoingChanId?: string}) {} + } export class SetQueryRoutes implements Action { + readonly type = SET_QUERY_ROUTES_LND; constructor(public payload: QueryRoutes) {} + } export class GetAllLightningTransactions implements Action { + readonly type = GET_ALL_LIGHTNING_TRANSATIONS_LND; + } export class SetAllLightningTransactions implements Action { + readonly type = SET_ALL_LIGHTNING_TRANSATIONS_LND; constructor(public payload: { paymentsAll: ListPayments, invoicesAll: ListInvoices }) {} + } -export type LNDActions = ClearEffectError | EffectError | ResetLNDStore | SetChildNodeSettings | +export type LNDActions = UpdateAPICallStatus | ResetLNDStore | SetChildNodeSettings | FetchInfo | SetInfo | FetchPeers | SetPeers | NewlyAddedPeer | DetachPeer | SaveNewPeer | RemovePeer | AddInvoice | SaveNewInvoice | NewlySavedInvoice | GetForwardingHistory | SetForwardingHistory | FetchFees | SetFees | @@ -442,4 +575,4 @@ GetAllLightningTransactions | SetAllLightningTransactions | FetchGraphNode | SetGraphNode | GetQueryRoutes | SetQueryRoutes | GetNewAddress | SetNewAddress | SetChannelTransaction | SetChannelTransactionRes | GenSeed | GenSeedResponse | InitWallet | InitWalletResponse | UnlockWallet | -PeerLookup | ChannelLookup | InvoiceLookup | SetLookup; \ No newline at end of file +PeerLookup | ChannelLookup | InvoiceLookup | SetLookup; diff --git a/src/app/lnd/store/lnd.effects.ts b/src/app/lnd/store/lnd.effects.ts index 6fffe77f..1c778cf4 100644 --- a/src/app/lnd/store/lnd.effects.ts +++ b/src/app/lnd/store/lnd.effects.ts @@ -15,7 +15,7 @@ import { SessionService } from '../../shared/services/session.service'; import { GetInfo, Fees, Balance, NetworkInfo, GraphNode, Transaction, SwitchReq, ListInvoices, PendingChannelsGroup, UTXO, ListPayments } from '../../shared/models/lndModels'; import { InvoiceInformationComponent } from '../transactions/invoice-information-modal/invoice-information.component'; import { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component'; -import { AlertTypeEnum, CurrencyUnitEnum, FEE_LIMIT_TYPES, PAGE_SIZE } from '../../shared/services/consts-enums-functions'; +import { AlertTypeEnum, APICallStatusEnum, FEE_LIMIT_TYPES, PAGE_SIZE, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; import * as RTLActions from '../../store/rtl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; @@ -24,12 +24,14 @@ import * as fromLNDReducers from '../store/lnd.reducers'; @Injectable() export class LNDEffects implements OnDestroy { + dialogRef: any; CHILD_API_URL = API_URL + '/lnd'; + private flgInitialized = false; private unSubs: Array> = [new Subject(), new Subject()]; constructor( - private actions$: Actions, + private actions: Actions, private httpClient: HttpClient, private store: Store, private logger: LoggerService, @@ -37,368 +39,375 @@ export class LNDEffects implements OnDestroy { private sessionService: SessionService, public dialog: MatDialog, private router: Router, - private location: Location) { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - if(rtlStore.initialAPIResponseStatus[0] === 'INCOMPLETE' && rtlStore.initialAPIResponseStatus.length > 8) { // Num of Initial APIs + 1 - rtlStore.initialAPIResponseStatus[0] = 'COMPLETE'; - this.store.dispatch(new RTLActions.CloseSpinner()); - } - }); + private location: Location + ) { + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + if ( + ((rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchBalanceBlockchain.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchBalanceBlockchain.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) && + (rtlStore.apisCallStatus.FetchPendingChannels.status === APICallStatusEnum.COMPLETED || rtlStore.apisCallStatus.FetchPendingChannels.status === APICallStatusEnum.ERROR)) && + !this.flgInitialized + ) { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); + this.flgInitialized = true; + } + }); } - infoFetch = createEffect(() => - this.actions$.pipe( + infoFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_INFO_LND), withLatestFrom(this.store.select('root')), mergeMap(([action, store]: [LNDActions.FetchInfo, fromRTLReducer.RootState]) => { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Node Information...')); - this.store.dispatch(new LNDActions.ClearEffectError('FetchInfo')); - return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API) - .pipe(takeUntil(this.actions$.pipe(ofType(RTLActions.SET_SELECTED_NODE))), - map((info) => { - this.logger.info(info); - this.store.dispatch(new RTLActions.CloseSpinner()); - if (info.chains && info.chains.length && info.chains[0] - && ( - (typeof info.chains[0] === 'string' && info.chains[0].toLowerCase().indexOf('bitcoin') < 0) - || (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0) - ) - ) { - this.store.dispatch(new RTLActions.CloseAllDialogs()); - this.store.dispatch(new RTLActions.OpenAlert({ data: { + this.flgInitialized = false; + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_NODE_INFO)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API).pipe( + takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))), + map((info) => { + this.logger.info(info); + if (info.chains && info.chains.length && info.chains[0] && ( + (typeof info.chains[0] === 'string' && info.chains[0].toLowerCase().indexOf('bitcoin') < 0) || + (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0) + ) + ) { + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE + this.store.dispatch(new RTLActions.OpenAlert({ + data: { type: AlertTypeEnum.ERROR, alertTitle: 'Shitcoin Found', titleMessage: 'Sorry Not Sorry, RTL is Bitcoin Only!' - }})); - return { type: RTLActions.LOGOUT }; - } else if (!info.identity_pubkey) { - this.sessionService.removeItem('lndUnlocked'); - this.logger.info('Redirecting to Unlock'); - this.router.navigate(['/lnd/wallet']); - return { - type: LNDActions.SET_INFO_LND, - payload: {} - }; - } else { - info.lnImplementation = 'LND'; - this.initializeRemainingData(info, action.payload.loadPage); - return { - type: LNDActions.SET_INFO_LND, - payload: info ? info : {} - }; - } - }), - catchError((err) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - if ((typeof err.error.error === 'string' && err.error.error.includes('Not Found')) || err.status === 502) { - this.sessionService.removeItem('lndUnlocked'); - this.logger.info('Redirecting to Unlock'); - this.router.navigate(['/lnd/wallet']); - this.handleErrorWithoutAlert('FetchInfo', 'Fetching Node Info Failed.', err); - } else { - const code = (err.error && err.error.error && err.error.error.message && err.error.error.message.code) ? err.error.error.message.code : (err.error && err.error.error && err.error.error.code) ? err.error.error.code : err.status ? err.status : ''; - const message = (err.error.message ? err.error.message + ' ' : '') + ((err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : (err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : (err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error.error && typeof err.error.error === 'string') ? err.error.error : typeof err.error === 'string' ? err.error : 'Unknown Error'); - this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: message }}); - this.handleErrorWithoutAlert('FetchInfo', 'Fetching Node Info Failed.', err); - } - return of({type: RTLActions.VOID}); - }) - ); + } + })); + return { type: RTLActions.LOGOUT }; + } else if (!info.identity_pubkey) { + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE + this.sessionService.removeItem('lndUnlocked'); + this.logger.info('Redirecting to Unlock'); + this.router.navigate(['/lnd/wallet']); + return { + type: LNDActions.SET_INFO_LND, + payload: {} + }; + } else { + info.lnImplementation = 'LND'; + this.initializeRemainingData(info, action.payload.loadPage); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInfo', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE + return { + type: LNDActions.SET_INFO_LND, + payload: info ? info : {} + }; + } + }), + catchError((err) => { + if ( + (typeof err.error.error === 'string' && err.error.error.includes('Not Found')) || + (typeof err.error.error === 'string' && err.error.error.includes('wallet locked')) || + err.status === 502 + ) { + this.sessionService.removeItem('lndUnlocked'); + this.logger.info('Redirecting to Unlock'); + this.router.navigate(['/lnd/wallet']); + this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', err); + } else if (typeof err.error.error === 'string' && err.error.error.includes('starting up') && err.status === 500) { + setTimeout(() => { + this.store.dispatch(new LNDActions.FetchInfo({ loadPage: 'HOME' })); + }, 2000); + } else { + const code = this.commonService.extractErrorCode(err); + const msg = (code === 503) ? 'Unable to Connect to LND Server.' : this.commonService.extractErrorMessage(err); + this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } }); + this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg }); + } + return of({ type: RTLActions.VOID }); + }) + ); })) ); - peersFetch = createEffect(() => - this.actions$.pipe( + peersFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_PEERS_LND), mergeMap((action: LNDActions.FetchPeers) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchPeers')); - return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API) - .pipe( - map((peers: any) => { - this.logger.info(peers); - return { - type: LNDActions.SET_PEERS_LND, - payload: peers ? peers : [] - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPeers', 'Fetching Peers Failed.', err); - return of({type: RTLActions.VOID}); - }) - ); - } - )) + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API).pipe( + map((peers: any) => { + this.logger.info(peers); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPeers', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_PEERS_LND, + payload: peers ? peers : [] + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); - saveNewPeer = createEffect(() => - this.actions$.pipe( + saveNewPeer = createEffect(() => this.actions.pipe( ofType(LNDActions.SAVE_NEW_PEER_LND), withLatestFrom(this.store.select('lnd')), mergeMap(([action, lndData]: [LNDActions.SaveNewPeer, fromLNDReducers.LNDState]) => { - this.store.dispatch(new LNDActions.ClearEffectError('SaveNewPeer')); - return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { pubkey: action.payload.pubkey, host: action.payload.host, perm: action.payload.perm }) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.SetPeers((postRes && postRes.length > 0) ? postRes : [])); - return { - type: LNDActions.NEWLY_ADDED_PEER_LND, - payload: {peer: postRes[0]} - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewPeer', 'Peer Connection Failed.', err); - return of({type: RTLActions.VOID}); - }) - ); - } - )) + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.CONNECT_PEER)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { pubkey: action.payload.pubkey, host: action.payload.host, perm: action.payload.perm }).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.CONNECT_PEER)); + this.store.dispatch(new LNDActions.SetPeers((postRes && postRes.length > 0) ? postRes : [])); + return { + type: LNDActions.NEWLY_ADDED_PEER_LND, + payload: { peer: postRes[0] } + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); - detachPeer = createEffect(() => - this.actions$.pipe( + detachPeer = createEffect(() => this.actions.pipe( ofType(LNDActions.DETACH_PEER_LND), mergeMap((action: LNDActions.DetachPeer) => { - return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSnackBar('Peer Disconnected Successfully.')); - return { - type: LNDActions.REMOVE_PEER_LND, - payload: { pubkey: action.payload.pubkey } - }; - }), - catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey, err); - return of({type: RTLActions.VOID}); - }) - ); - } - )) - ); - - saveNewInvoice = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SAVE_NEW_INVOICE_LND), - mergeMap((action: LNDActions.SaveNewInvoice) => { - this.store.dispatch(new LNDActions.ClearEffectError('SaveNewInvoice')); - return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, { - memo: action.payload.memo, amount: action.payload.invoiceValue, private: action.payload.private, expiry: action.payload.expiry - }) - .pipe( + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DISCONNECT_PEER)); + return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey).pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: action.payload.pageSize, reversed: true })); - if (action.payload.openModal) { - postRes.memo = action.payload.memo; - postRes.value = action.payload.invoiceValue; - postRes.expiry = action.payload.expiry; - postRes.cltv_expiry = '144'; - postRes.private = action.payload.private; - postRes.creation_date = Math.round(new Date().getTime() / 1000).toString(); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: RTLActions.OPEN_ALERT, - payload: { data: { - invoice: postRes, - newlyAdded: true, - component: InvoiceInformationComponent - }} - } - } else { - return { - type: LNDActions.NEWLY_SAVED_INVOICE_LND, - payload: { paymentRequest: postRes.payment_request } - } - } + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DISCONNECT_PEER)); + this.store.dispatch(new RTLActions.OpenSnackBar('Peer Disconnected Successfully.')); + return { + type: LNDActions.REMOVE_PEER_LND, + payload: { pubkey: action.payload.pubkey } + }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewInvoice', 'Add Invoice Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithAlert('DetachPeer', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey, err); + return of({ type: RTLActions.VOID }); }) ); })) ); - openNewChannel = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SAVE_NEW_CHANNEL_LND), - mergeMap((action: LNDActions.SaveNewChannel) => { - this.store.dispatch(new LNDActions.ClearEffectError('SaveNewChannel')); - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, { - node_pubkey: action.payload.selectedPeerPubkey, local_funding_amount: action.payload.fundingAmount, private: action.payload.private, - trans_type: action.payload.transType, trans_type_value: action.payload.transTypeValue, spend_unconfirmed: action.payload.spendUnconfirmed - }) - .pipe( + saveNewInvoice = createEffect(() => this.actions.pipe( + ofType(LNDActions.SAVE_NEW_INVOICE_LND), + mergeMap((action: LNDActions.SaveNewInvoice) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewInvoice', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, { + memo: action.payload.memo, amount: action.payload.invoiceValue, private: action.payload.private, expiry: action.payload.expiry + }). + pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.FetchBalance('blockchain')); - this.store.dispatch(new LNDActions.FetchAllChannels()); - this.store.dispatch(new LNDActions.BackupChannels({ channelPoint: 'ALL', showMessage: 'Channel Added Successfully!' })); - return { - type: LNDActions.FETCH_PENDING_CHANNELS_LND - }; + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewInvoice', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: action.payload.pageSize, reversed: true })); + if (action.payload.openModal) { + postRes.memo = action.payload.memo; + postRes.value = action.payload.invoiceValue; + postRes.expiry = action.payload.expiry; + postRes.cltv_expiry = '144'; + postRes.private = action.payload.private; + postRes.creation_date = Math.round(new Date().getTime() / 1000).toString(); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + return { + type: RTLActions.OPEN_ALERT, + payload: { + data: { + invoice: postRes, + newlyAdded: true, + component: InvoiceInformationComponent + } + } + }; + } else { + return { + type: LNDActions.NEWLY_SAVED_INVOICE_LND, + payload: { paymentRequest: postRes.payment_request } + }; + } }), catchError((err: any) => { - this.handleErrorWithoutAlert('SaveNewChannel', 'Opening Channel Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('SaveNewInvoice', action.payload.uiMessage, 'Add Invoice Failed.', err); + return of({ type: RTLActions.VOID }); }) ); })) ); - updateChannel = createEffect(() => - this.actions$.pipe( + openNewChannel = createEffect(() => this.actions.pipe( + ofType(LNDActions.SAVE_NEW_CHANNEL_LND), + mergeMap((action: LNDActions.SaveNewChannel) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.OPEN_CHANNEL)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, { + node_pubkey: action.payload.selectedPeerPubkey, local_funding_amount: action.payload.fundingAmount, private: action.payload.private, + trans_type: action.payload.transType, trans_type_value: action.payload.transTypeValue, spend_unconfirmed: action.payload.spendUnconfirmed + }).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.OPEN_CHANNEL)); + this.store.dispatch(new LNDActions.FetchBalance('Blockchain')); + this.store.dispatch(new LNDActions.FetchAllChannels()); + this.store.dispatch(new LNDActions.BackupChannels({ uiMessage: UI_MESSAGES.NO_SPINNER, channelPoint: 'ALL', showMessage: 'Channel Added Successfully!' })); + return { + type: LNDActions.FETCH_PENDING_CHANNELS_LND + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err); + return of({ type: RTLActions.VOID }); + })); + })) + ); + + updateChannel = createEffect(() => this.actions.pipe( ofType(LNDActions.UPDATE_CHANNELS_LND), mergeMap((action: LNDActions.UpdateChannels) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/chanPolicy', - { baseFeeMsat: action.payload.baseFeeMsat, feeRate: action.payload.feeRate, timeLockDelta: action.payload.timeLockDelta, chanPoint: action.payload.chanPoint }) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - if(action.payload.chanPoint === 'all') { - this.store.dispatch(new RTLActions.OpenSnackBar('All Channels Updated Successfully.')); - } else { - this.store.dispatch(new RTLActions.OpenSnackBar('Channel Updated Successfully!')); - } - return { - type: LNDActions.FETCH_ALL_CHANNELS_LND - }; - }), - catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/chanPolicy', err); - return of({type: RTLActions.VOID}); - }) - ); + { baseFeeMsat: action.payload.baseFeeMsat, feeRate: action.payload.feeRate, timeLockDelta: action.payload.timeLockDelta, chanPoint: action.payload.chanPoint } + ).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_CHAN_POLICY)); + if (action.payload.chanPoint === 'all') { + this.store.dispatch(new RTLActions.OpenSnackBar('All Channels Updated Successfully.')); + } else { + this.store.dispatch(new RTLActions.OpenSnackBar('Channel Updated Successfully!')); + } + return { + type: LNDActions.FETCH_ALL_CHANNELS_LND + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('UpdateChannels', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/chanPolicy', err); + return of({ type: RTLActions.VOID }); + })); })) ); - closeChannel = createEffect(() => - this.actions$.pipe( + closeChannel = createEffect(() => this.actions.pipe( ofType(LNDActions.CLOSE_CHANNEL_LND), mergeMap((action: LNDActions.CloseChannel) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); let reqUrl = this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelPoint + '?force=' + action.payload.forcibly; - if(action.payload.targetConf) { reqUrl = reqUrl + '&target_conf=' + action.payload.targetConf; } - if(action.payload.satPerByte) { reqUrl = reqUrl + '&sat_per_byte=' + action.payload.satPerByte; } - return this.httpClient.delete(reqUrl) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.FetchBalance('channels')); - this.store.dispatch(new LNDActions.FetchBalance('blockchain')); - this.store.dispatch(new LNDActions.FetchAllChannels()); - if (action.payload.forcibly) { - this.store.dispatch(new LNDActions.FetchPendingChannels()); - } else { - this.store.dispatch(new LNDActions.FetchClosedChannels()); - } - this.store.dispatch(new LNDActions.BackupChannels({ channelPoint: 'ALL', showMessage: 'Channel Closed Successfully!' })); - return { - type: LNDActions.REMOVE_CHANNEL_LND, - payload: { channelPoint: action.payload.channelPoint } - }; - }), - catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelPoint + '?force=' + action.payload.forcibly, err); - return of({type: RTLActions.VOID}); - }) - ); + if (action.payload.targetConf) { + reqUrl = reqUrl + '&target_conf=' + action.payload.targetConf; + } + if (action.payload.satPerByte) { + reqUrl = reqUrl + '&sat_per_byte=' + action.payload.satPerByte; + } + return this.httpClient.delete(reqUrl).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL)); + this.store.dispatch(new LNDActions.FetchAllChannels()); + this.store.dispatch(new LNDActions.FetchPendingChannels()); + this.store.dispatch(new LNDActions.BackupChannels({ uiMessage: UI_MESSAGES.NO_SPINNER, channelPoint: 'ALL', showMessage: postRes.message })); + return { type: RTLActions.VOID }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('CloseChannel', (action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelPoint + '?force=' + action.payload.forcibly, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - backupChannels = createEffect(() => - this.actions$.pipe( + backupChannels = createEffect(() => this.actions.pipe( ofType(LNDActions.BACKUP_CHANNELS_LND), mergeMap((action: LNDActions.BackupChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('BackupChannels')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSnackBar(action.payload.showMessage + ' ' + postRes.message)); - return { - type: LNDActions.BACKUP_CHANNELS_RES_LND, - payload: postRes.message - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'BackupChannels', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', action.payload.showMessage + ' ' + 'Unable to Backup Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint, err); - return of({type: RTLActions.VOID}); - }) - ); + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'BackupChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'BackupChannels', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.store.dispatch(new RTLActions.OpenSnackBar(action.payload.showMessage + ' ' + postRes.message)); + return { + type: LNDActions.BACKUP_CHANNELS_RES_LND, + payload: postRes.message + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('BackupChannels', action.payload.uiMessage, action.payload.showMessage + ' Unable to Backup Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - verifyChannels = createEffect(() => - this.actions$.pipe( + verifyChannels = createEffect(() => this.actions.pipe( ofType(LNDActions.VERIFY_CHANNELS_LND), mergeMap((action: LNDActions.VerifyChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('VerifyChannels')); - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, {}) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSnackBar(postRes.message)); - return { - type: LNDActions.VERIFY_CHANNELS_RES_LND, - payload: postRes.message - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'VerifyChannels', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Unable to Verify Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, err); - return of({type: RTLActions.VOID}); - }) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.VERIFY_CHANNEL)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'VerifyChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, {}).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'VerifyChannels', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.VERIFY_CHANNEL)); + this.store.dispatch(new RTLActions.OpenSnackBar(postRes.message)); + return { + type: LNDActions.VERIFY_CHANNELS_RES_LND, + payload: postRes.message + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('VerifyChannels', UI_MESSAGES.VERIFY_CHANNEL, 'Unable to Verify Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - restoreChannels = createEffect(() => - this.actions$.pipe( + restoreChannels = createEffect(() => this.actions.pipe( ofType(LNDActions.RESTORE_CHANNELS_LND), mergeMap((action: LNDActions.RestoreChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('RestoreChannels')); - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, {}) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSnackBar(postRes.message)); - this.store.dispatch(new LNDActions.SetRestoreChannelsList(postRes.list)); - return { - type: LNDActions.RESTORE_CHANNELS_RES_LND, - payload: postRes.message - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'RestoreChannels', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Unable to Restore Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, err); - return of({type: RTLActions.VOID}); - }) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.RESTORE_CHANNEL)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'RestoreChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, {}).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'RestoreChannels', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.RESTORE_CHANNEL)); + this.store.dispatch(new RTLActions.OpenSnackBar(postRes.message)); + this.store.dispatch(new LNDActions.SetRestoreChannelsList(postRes.list)); + return { + type: LNDActions.RESTORE_CHANNELS_RES_LND, + payload: postRes.message + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('RestoreChannels', UI_MESSAGES.RESTORE_CHANNEL, 'Unable to Restore Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, err); + return of({ type: RTLActions.VOID }); + })); })) ); - fetchFees = createEffect(() => - this.actions$.pipe( + + fetchFees = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_FEES_LND), mergeMap((action: LNDActions.FetchFees) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchFees')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API); }), map((fees) => { this.logger.info(fees); - if(fees.forwarding_events_history) { + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchFees', status: APICallStatusEnum.COMPLETED })); + if (fees.forwarding_events_history) { this.store.dispatch(new LNDActions.SetForwardingHistory(fees.forwarding_events_history)); delete fees.forwarding_events_history; } @@ -408,166 +417,155 @@ export class LNDEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchFees', 'Fetching Fees Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err); + return of({ type: RTLActions.VOID }); })) ); - balanceFetch = createEffect(() => - this.actions$.pipe( + balanceFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_BALANCE_LND), mergeMap((action: LNDActions.FetchBalance) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchBalance/' + action.payload)); - return this.httpClient.get(this.CHILD_API_URL + environment.BALANCE_API + '/' + action.payload) - .pipe( - map((res: any) => { - if (action.payload === 'channels') { - this.store.dispatch(new LNDActions.FetchBalance('blockchain')); - } - this.logger.info(res); - const emptyRes = (action.payload === 'channels') ? { balance: '', btc_balance: '' } : { total_balance: '', btc_total_balance: '' }; - return { - type: LNDActions.SET_BALANCE_LND, - payload: res ? { target: action.payload, balance: res } : { target: action.payload, balance: emptyRes } - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchBalance/' + action.payload, 'Fetching' + this.commonService.titleCase(action.payload) + ' Balance Failed.', err); - return of({type: RTLActions.VOID}); - } - )); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchBalance' + action.payload, status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.BALANCE_API + '/' + action.payload).pipe( + map((res: any) => { + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchBalance' + action.payload, status: APICallStatusEnum.COMPLETED })); + this.logger.info(res); + const emptyRes = (action.payload === 'channels') ? { balance: '' } : { total_balance: '' }; + return { + type: LNDActions.SET_BALANCE_LND, + payload: res ? { target: action.payload, balance: res } : { target: action.payload, balance: emptyRes } + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchBalance' + action.payload, UI_MESSAGES.NO_SPINNER, 'Fetching' + this.commonService.titleCase(action.payload) + ' Balance Failed.', err); + return of({ type: RTLActions.VOID }); + })); })) ); - networkInfoFetch = createEffect(() => - this.actions$.pipe( + networkInfoFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_NETWORK_LND), mergeMap((action: LNDActions.FetchNetwork) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchNetwork')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchNetwork', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/info'); }), map((networkInfo) => { this.logger.info(networkInfo); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchNetwork', status: APICallStatusEnum.COMPLETED })); return { type: LNDActions.SET_NETWORK_LND, payload: networkInfo ? networkInfo : {} }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchNetwork', 'Fetching Network Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchNetwork', UI_MESSAGES.NO_SPINNER, 'Fetching Network Failed.', err); + return of({ type: RTLActions.VOID }); })) ); - channelsAllFetch = createEffect(() => - this.actions$.pipe( + channelsAllFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_ALL_CHANNELS_LND), mergeMap((action: LNDActions.FetchAllChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchChannels/all')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API) - .pipe( - map((channels: any) => { - this.logger.info(channels); - return { - type: LNDActions.SET_ALL_CHANNELS_LND, - payload: (channels && channels.channels && channels.channels.length > 0) ? channels.channels : [] - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannels/all', 'Fetching All Channels Failed.', err); - return of({type: RTLActions.VOID}); - }) - ); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchAllChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API).pipe( + map((channels: any) => { + this.logger.info(channels); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchAllChannels', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_ALL_CHANNELS_LND, + payload: (channels && channels.channels && channels.channels.length > 0) ? channels.channels : [] + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchAllChannels', UI_MESSAGES.NO_SPINNER, 'Fetching All Channels Failed.', err); + return of({ type: RTLActions.VOID }); + })); })) ); - channelsPendingFetch = createEffect(() => - this.actions$.pipe( + channelsPendingFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_PENDING_CHANNELS_LND), mergeMap((action: LNDActions.FetchPendingChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchChannels/pending')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/pending') - .pipe( - map((channels: any) => { - this.logger.info(channels); - let pendingChannels: PendingChannelsGroup = { open: {num_channels: 0, limbo_balance: 0}, closing: {num_channels: 0, limbo_balance: 0}, force_closing: {num_channels: 0, limbo_balance: 0}, waiting_close: {num_channels: 0, limbo_balance: 0}, total_channels: 0, total_limbo_balance: 0}; - if (channels) { - pendingChannels.total_limbo_balance = channels.total_limbo_balance; - if (channels.pending_closing_channels) { - pendingChannels.closing.num_channels = channels.pending_closing_channels.length; - pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_closing_channels.length; - channels.pending_closing_channels.forEach(closingChannel => { - pendingChannels.closing.limbo_balance = +pendingChannels.closing.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); - }); - } - if (channels.pending_force_closing_channels) { - pendingChannels.force_closing.num_channels = channels.pending_force_closing_channels.length; - pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_force_closing_channels.length; - channels.pending_force_closing_channels.forEach(closingChannel => { - pendingChannels.force_closing.limbo_balance = +pendingChannels.force_closing.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); - }); - } - if (channels.pending_open_channels) { - pendingChannels.open.num_channels = channels.pending_open_channels.length; - pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_open_channels.length; - channels.pending_open_channels.forEach(openingChannel => { - pendingChannels.open.limbo_balance = +pendingChannels.open.limbo_balance + (openingChannel.channel.local_balance ? +openingChannel.channel.local_balance : 0); - }); - } - if (channels.waiting_close_channels) { - pendingChannels.waiting_close.num_channels = channels.waiting_close_channels.length; - pendingChannels.total_channels = pendingChannels.total_channels + channels.waiting_close_channels.length; - channels.waiting_close_channels.forEach(closingChannel => { - pendingChannels.waiting_close.limbo_balance = +pendingChannels.waiting_close.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); - }); - } + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPendingChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/pending').pipe( + map((channels: any) => { + this.logger.info(channels); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPendingChannels', status: APICallStatusEnum.COMPLETED })); + const pendingChannels: PendingChannelsGroup = { open: { num_channels: 0, limbo_balance: 0 }, closing: { num_channels: 0, limbo_balance: 0 }, force_closing: { num_channels: 0, limbo_balance: 0 }, waiting_close: { num_channels: 0, limbo_balance: 0 }, total_channels: 0, total_limbo_balance: 0 }; + if (channels) { + pendingChannels.total_limbo_balance = channels.total_limbo_balance; + if (channels.pending_closing_channels) { + pendingChannels.closing.num_channels = channels.pending_closing_channels.length; + pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_closing_channels.length; + channels.pending_closing_channels.forEach((closingChannel) => { + pendingChannels.closing.limbo_balance = +pendingChannels.closing.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); + }); } - return { - type: LNDActions.SET_PENDING_CHANNELS_LND, - payload: channels ? { channels: channels, pendingChannels: pendingChannels } : {channels: {}, pendingChannels: pendingChannels} - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannels/pending', 'Fetching Pending Channels Failed.', err); - return of({type: RTLActions.VOID}); - }) - ); + if (channels.pending_force_closing_channels) { + pendingChannels.force_closing.num_channels = channels.pending_force_closing_channels.length; + pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_force_closing_channels.length; + channels.pending_force_closing_channels.forEach((closingChannel) => { + pendingChannels.force_closing.limbo_balance = +pendingChannels.force_closing.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); + }); + } + if (channels.pending_open_channels) { + pendingChannels.open.num_channels = channels.pending_open_channels.length; + pendingChannels.total_channels = pendingChannels.total_channels + channels.pending_open_channels.length; + channels.pending_open_channels.forEach((openingChannel) => { + pendingChannels.open.limbo_balance = +pendingChannels.open.limbo_balance + (openingChannel.channel.local_balance ? +openingChannel.channel.local_balance : 0); + }); + } + if (channels.waiting_close_channels) { + pendingChannels.waiting_close.num_channels = channels.waiting_close_channels.length; + pendingChannels.total_channels = pendingChannels.total_channels + channels.waiting_close_channels.length; + channels.waiting_close_channels.forEach((closingChannel) => { + pendingChannels.waiting_close.limbo_balance = +pendingChannels.waiting_close.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0); + }); + } + } + return { + type: LNDActions.SET_PENDING_CHANNELS_LND, + payload: channels ? { channels: channels, pendingChannels: pendingChannels } : { channels: {}, pendingChannels: pendingChannels } + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchPendingChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Pending Channels Failed.', err); + return of({ type: RTLActions.VOID }); + })); })) ); - channelsClosedFetch = createEffect(() => - this.actions$.pipe( + channelsClosedFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_CLOSED_CHANNELS_LND), mergeMap((action: LNDActions.FetchClosedChannels) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchChannels/closed')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/closed') - .pipe( - map((channels: any) => { - this.logger.info(channels); - return { - type: LNDActions.SET_CLOSED_CHANNELS_LND, - payload: (channels && channels.channels && channels.channels.length > 0) ? channels.channels : [] - }; - }, - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchChannels/closed', 'Fetching Closed Channels Failed.', err); - return of({type: RTLActions.VOID}); - }) - )); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchClosedChannels', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/closed').pipe( + map((channels: any) => { + this.logger.info(channels); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchClosedChannels', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_CLOSED_CHANNELS_LND, + payload: (channels && channels.channels && channels.channels.length > 0) ? channels.channels : [] + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchClosedChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Closed Channels Failed.', err); + return of({ type: RTLActions.VOID }); + })); })) ); - invoicesFetch = createEffect(() => - this.actions$.pipe( + invoicesFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_INVOICES_LND), mergeMap((action: LNDActions.FetchInvoices) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchInvoices')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.INITIATED })); const num_max_invoices = (action.payload.num_max_invoices) ? action.payload.num_max_invoices : 100; const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0; const reversed = (action.payload.reversed) ? action.payload.reversed : false; - return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed) - .pipe(map((res: ListInvoices) => { + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed).pipe( + map((res: ListInvoices) => { this.logger.info(res); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED })); if (action.payload.reversed && !action.payload.index_offset) { this.store.dispatch(new LNDActions.SetTotalInvoices(+res.last_index_offset)); } @@ -577,550 +575,549 @@ export class LNDEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchInvoices', 'Fetching Invoices Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err); + return of({ type: RTLActions.VOID }); })); })) ); - transactionsFetch = createEffect(() => - this.actions$.pipe( + transactionsFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_TRANSACTIONS_LND), mergeMap((action: LNDActions.FetchTransactions) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchTransactions')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchTransactions', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.TRANSACTIONS_API); }), map((transactions) => { this.logger.info(transactions); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchTransactions', status: APICallStatusEnum.COMPLETED })); return { type: LNDActions.SET_TRANSACTIONS_LND, payload: (transactions && transactions.length > 0) ? transactions : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchTransactions', 'Fetching Transactions Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching Transactions Failed.', err); + return of({ type: RTLActions.VOID }); })) ); - utxosFetch = createEffect(() => - this.actions$.pipe( + utxosFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_UTXOS_LND), withLatestFrom(this.store.select('lnd')), mergeMap(([action, lndData]: [LNDActions.FetchUTXOs, fromLNDReducers.LNDState]) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchUTXOs')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchUTXOs', status: APICallStatusEnum.INITIATED })); return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/getUTXOs?max_confs=' + (lndData.information && lndData.information.block_height ? lndData.information.block_height : 1000000000)); }), map((utxos) => { this.logger.info(utxos); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchUTXOs', status: APICallStatusEnum.COMPLETED })); return { type: LNDActions.SET_UTXOS_LND, payload: (utxos && utxos.length > 0) ? utxos : [] }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchUTXOs', 'Fetching UTXOs Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchUTXOs', UI_MESSAGES.NO_SPINNER, 'Fetching UTXOs Failed.', err); + return of({ type: RTLActions.VOID }); })) ); - paymentsFetch = createEffect(() => - this.actions$.pipe( + paymentsFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_PAYMENTS_LND), mergeMap((action: LNDActions.FetchPayments) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchPayments')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.INITIATED })); const max_payments = (action.payload.max_payments) ? action.payload.max_payments : 100; const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0; const reversed = (action.payload.reversed) ? action.payload.reversed : false; - return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '?max_payments=' + max_payments + '&index_offset=' + index_offset + '&reversed=' + reversed) - .pipe(map((res: ListPayments) => { - this.logger.info(res); - return { - type: LNDActions.SET_PAYMENTS_LND, - payload: res - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchPayments', 'Fetching Payments Failed.', err); - return of({type: RTLActions.VOID}); - })); + return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '?max_payments=' + max_payments + '&index_offset=' + index_offset + '&reversed=' + reversed). + pipe(map((res: ListPayments) => { + this.logger.info(res); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchPayments', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_PAYMENTS_LND, + payload: res + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err); + return of({ + type: LNDActions.SET_PAYMENTS_LND, + payload: { payments: [] } + }); + })); })) ); - sendPayment = createEffect(() => - this.actions$.pipe( + sendPayment = createEffect(() => this.actions.pipe( ofType(LNDActions.SEND_PAYMENT_LND), mergeMap((action: LNDActions.SendPayment) => { - this.store.dispatch(new LNDActions.ClearEffectError('SendPayment')); - let queryHeaders = {}; + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.INITIATED })); + const queryHeaders = {}; queryHeaders['paymentReq'] = action.payload.paymentReq; - if (action.payload.paymentAmount) { queryHeaders['paymentAmount'] = action.payload.paymentAmount; } - if (action.payload.outgoingChannel) { queryHeaders['outgoingChannel'] = action.payload.outgoingChannel.chan_id; } - if (action.payload.allowSelfPayment) { queryHeaders['allowSelfPayment'] = action.payload.allowSelfPayment; } // Channel Rebalancing - if (action.payload.lastHopPubkey) { queryHeaders['lastHopPubkey'] = action.payload.lastHopPubkey; } - if(action.payload.feeLimitType && action.payload.feeLimitType !== FEE_LIMIT_TYPES[0]) { + if (action.payload.paymentAmount) { + queryHeaders['paymentAmount'] = action.payload.paymentAmount; + } + if (action.payload.outgoingChannel) { + queryHeaders['outgoingChannel'] = action.payload.outgoingChannel.chan_id; + } + if (action.payload.allowSelfPayment) { + queryHeaders['allowSelfPayment'] = action.payload.allowSelfPayment; + } // Channel Rebalancing + if (action.payload.lastHopPubkey) { + queryHeaders['lastHopPubkey'] = action.payload.lastHopPubkey; + } + if (action.payload.feeLimitType && action.payload.feeLimitType !== FEE_LIMIT_TYPES[0]) { queryHeaders['feeLimit'] = {}; queryHeaders['feeLimit'][action.payload.feeLimitType.id] = action.payload.feeLimit; } - return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', queryHeaders) - .pipe( - map((sendRes: any) => { - this.logger.info(sendRes); - if (sendRes.payment_error) { - if (action.payload.allowSelfPayment) { - this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); - return { - type: LNDActions.SEND_PAYMENT_STATUS_LND, - payload: sendRes - }; - } else { - this.logger.error('Error: ' + sendRes.payment_error); - const myErr = {status: sendRes.payment_error.status, error: sendRes.payment_error.error && sendRes.payment_error.error.error && typeof(sendRes.payment_error.error.error) === 'object' ? sendRes.payment_error.error.error : {error: sendRes.payment_error.error && sendRes.payment_error.error.error ? sendRes.payment_error.error.error : 'Unknown Error'}}; - if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); - } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', myErr); - } - return {type: RTLActions.VOID}; - } - } else { - this.store.dispatch(new LNDActions.FetchAllChannels()); - this.store.dispatch(new LNDActions.FetchBalance('channels')); - this.store.dispatch(new LNDActions.FetchPayments({ max_payments: PAGE_SIZE, reversed: true })); - if (action.payload.allowSelfPayment) { - this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); - } else { - this.store.dispatch(new RTLActions.CloseSpinner()); - let msg = 'Payment Sent Successfully.'; - if(sendRes.payment_route && sendRes.payment_route.total_fees_msat) { - msg = 'Payment sent successfully with the total fee ' + sendRes.payment_route.total_fees_msat + ' (mSats).'; - } - this.store.dispatch(new RTLActions.OpenSnackBar(msg)); - } + return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', queryHeaders).pipe( + map((sendRes: any) => { + this.logger.info(sendRes); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.COMPLETED })); + if (sendRes.payment_error) { + if (action.payload.allowSelfPayment) { + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); return { type: LNDActions.SEND_PAYMENT_STATUS_LND, payload: sendRes }; - } - }), - catchError((err: any) => { - if (action.payload.allowSelfPayment) { - this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); - return of({ - type: LNDActions.SEND_PAYMENT_STATUS_LND, - payload: err - }); } else { - this.logger.error('Error: ' + JSON.stringify(err)); - const myErr = {status: err.status, error: err.error && err.error.error && typeof(err.error.error) === 'object' ? err.error.error : {error: err.error && err.error.error ? err.error.error : 'Unknown Error'}}; if (action.payload.fromDialog) { - this.handleErrorWithoutAlert('SendPayment', 'Send Payment Failed.', myErr); + this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', sendRes.payment_error); } else { - this.handleErrorWithAlert('ERROR', 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', myErr); + this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', sendRes.payment_error); } - return of({type: RTLActions.VOID}); + return { type: RTLActions.VOID }; } - }) - ); + } else { + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SendPayment', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new LNDActions.FetchAllChannels()); + this.store.dispatch(new LNDActions.FetchPayments({ max_payments: PAGE_SIZE, reversed: true })); + if (action.payload.allowSelfPayment) { + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); + } else { + let msg = 'Payment Sent Successfully.'; + if (sendRes.payment_route && sendRes.payment_route.total_fees_msat) { + msg = 'Payment sent successfully with the total fee ' + sendRes.payment_route.total_fees_msat + ' (mSats).'; + } + this.store.dispatch(new RTLActions.OpenSnackBar(msg)); + } + return { + type: LNDActions.SEND_PAYMENT_STATUS_LND, + payload: sendRes + }; + } + }), + catchError((err: any) => { + this.logger.error('Error: ' + JSON.stringify(err)); + if (action.payload.allowSelfPayment) { + this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err); + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: PAGE_SIZE, reversed: true })); + return of({ + type: LNDActions.SEND_PAYMENT_STATUS_LND, + payload: { error: this.commonService.extractErrorMessage(err) } + }); + } else { + if (action.payload.fromDialog) { + this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err); + } else { + this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', err); + } + return of({ type: RTLActions.VOID }); + } + })); })) ); - graphNodeFetch = createEffect(() => - this.actions$.pipe( + graphNodeFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.FETCH_GRAPH_NODE_LND), mergeMap((action: LNDActions.FetchGraphNode) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchGraphNode')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload.pubkey) - .pipe(map((graphNode: any) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_NODE_ADDRESS)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchGraphNode', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload.pubkey).pipe( + map((graphNode: any) => { this.logger.info(graphNode); - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_NODE_ADDRESS)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchGraphNode', status: APICallStatusEnum.COMPLETED })); return { type: LNDActions.SET_GRAPH_NODE_LND, - payload: graphNode && graphNode.node ? {node: graphNode.node} : {node: null} + payload: graphNode && graphNode.node ? { node: graphNode.node } : { node: null } }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('FetchGraphNode', 'Fetching Graph Node Failed.', err); - return of({type: RTLActions.VOID}); + this.handleErrorWithoutAlert('FetchGraphNode', UI_MESSAGES.GET_NODE_ADDRESS, 'Fetching Graph Node Failed.', err); + return of({ type: RTLActions.VOID }); })); })) ); - setGraphNode = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SET_GRAPH_NODE_LND), - map((action: LNDActions.SetGraphNode) => { - this.logger.info(action.payload); - return action.payload; - })), + setGraphNode = createEffect( + () => this.actions.pipe( + ofType(LNDActions.SET_GRAPH_NODE_LND), + map((action: LNDActions.SetGraphNode) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - getNewAddress = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.GET_NEW_ADDRESS_LND), - mergeMap((action: LNDActions.GetNewAddress) => { - return this.httpClient.get(this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId) - .pipe(map((newAddress: any) => { - this.logger.info(newAddress); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.SET_NEW_ADDRESS_LND, - payload: (newAddress && newAddress.address) ? newAddress.address : {} - }; - }), - catchError((err: any) => { - this.handleErrorWithAlert('ERROR', 'Generate New Address Failed', this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId, err); - return of({type: RTLActions.VOID}); - })); - })) + getNewAddress = createEffect( + () => this.actions.pipe( + ofType(LNDActions.GET_NEW_ADDRESS_LND), + mergeMap((action: LNDActions.GetNewAddress) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return this.httpClient.get(this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId).pipe( + map((newAddress: any) => { + this.logger.info(newAddress); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GENERATE_NEW_ADDRESS)); + return { + type: LNDActions.SET_NEW_ADDRESS_LND, + payload: (newAddress && newAddress.address) ? newAddress.address : {} + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('GetNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId, err); + return of({ type: RTLActions.VOID }); + })); + })) ); - setNewAddress = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SET_NEW_ADDRESS_LND), - map((action: LNDActions.SetNewAddress) => { - this.logger.info(action.payload); - return action.payload; - })), + setNewAddress = createEffect( + () => this.actions.pipe( + ofType(LNDActions.SET_NEW_ADDRESS_LND), + map((action: LNDActions.SetNewAddress) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - SetChannelTransaction = createEffect(() => - this.actions$.pipe( + SetChannelTransaction = createEffect(() => this.actions.pipe( ofType(LNDActions.SET_CHANNEL_TRANSACTION_LND), mergeMap((action: LNDActions.SetChannelTransaction) => { - this.store.dispatch(new LNDActions.ClearEffectError('SetChannelTransaction')); - return this.httpClient.post(this.CHILD_API_URL + environment.TRANSACTIONS_API, + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SetChannelTransaction', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post( + this.CHILD_API_URL + environment.TRANSACTIONS_API, { amount: action.payload.amount, address: action.payload.address, sendAll: action.payload.sendAll, fees: action.payload.fees, blocks: action.payload.blocks } ).pipe( map((postRes: any) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.FetchTransactions()); - this.store.dispatch(new LNDActions.FetchBalance('blockchain')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'SetChannelTransaction', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEND_FUNDS)); + this.store.dispatch(new LNDActions.FetchTransactions()); + this.store.dispatch(new LNDActions.FetchBalance('Blockchain')); + this.store.dispatch(new LNDActions.FetchAllChannels()); return { type: LNDActions.SET_CHANNEL_TRANSACTION_RES_LND, payload: postRes }; }), catchError((err: any) => { - this.handleErrorWithoutAlert('SetChannelTransaction', 'Sending Fund Failed.', err); - return of({type: RTLActions.VOID}); - })); + this.handleErrorWithoutAlert('SetChannelTransaction', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - fetchForwardingHistory = createEffect(() => - this.actions$.pipe( + fetchForwardingHistory = createEffect(() => this.actions.pipe( ofType(LNDActions.GET_FORWARDING_HISTORY_LND), mergeMap((action: LNDActions.GetForwardingHistory) => { - this.store.dispatch(new LNDActions.ClearEffectError('GetForwardingHistory')); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'GetForwardingHistory', status: APICallStatusEnum.INITIATED })); const queryHeaders: SwitchReq = { num_max_events: action.payload.num_max_events, index_offset: action.payload.index_offset, end_time: action.payload.end_time, start_time: action.payload.start_time }; - return this.httpClient.post(this.CHILD_API_URL + environment.SWITCH_API, queryHeaders) - .pipe( - map((fhRes: any) => { - this.logger.info(fhRes); - return { - type: LNDActions.SET_FORWARDING_HISTORY_LND, - payload: fhRes - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'GetForwardingHistory', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Get Forwarding History Failed', this.CHILD_API_URL + environment.SWITCH_API, err); - return of({type: RTLActions.VOID}); - }) - ); + return this.httpClient.post(this.CHILD_API_URL + environment.SWITCH_API, queryHeaders).pipe( + map((fhRes: any) => { + this.logger.info(fhRes); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'GetForwardingHistory', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_FORWARDING_HISTORY_LND, + payload: fhRes + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('GetForwardingHistory', UI_MESSAGES.NO_SPINNER, 'Get Forwarding History Failed', this.CHILD_API_URL + environment.SWITCH_API, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - queryRoutesFetch = createEffect(() => - this.actions$.pipe( + queryRoutesFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.GET_QUERY_ROUTES_LND), mergeMap((action: LNDActions.GetQueryRoutes) => { let url = this.CHILD_API_URL + environment.NETWORK_API + '/routes/' + action.payload.destPubkey + '/' + action.payload.amount; - if (action.payload.outgoingChanId) { url = url + '?outgoing_chan_id=' + action.payload.outgoingChanId; } - return this.httpClient.get(url) - .pipe( - map((qrRes: any) => { - this.logger.info(qrRes); - return { - type: LNDActions.SET_QUERY_ROUTES_LND, - payload: qrRes - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.SetQueryRoutes({})); - this.handleErrorWithAlert('ERROR', 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API, err); - return of({type: RTLActions.VOID}); - }) - ); + if (action.payload.outgoingChanId) { + url = url + '?outgoing_chan_id=' + action.payload.outgoingChanId; + } + return this.httpClient.get(url).pipe( + map((qrRes: any) => { + this.logger.info(qrRes); + return { + type: LNDActions.SET_QUERY_ROUTES_LND, + payload: qrRes + }; + }), + catchError((err: any) => { + this.store.dispatch(new LNDActions.SetQueryRoutes({})); + this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - setQueryRoutes = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SET_QUERY_ROUTES_LND), - map((action: LNDActions.SetQueryRoutes) => { - return action.payload; - })), + setQueryRoutes = createEffect( + () => this.actions.pipe( + ofType(LNDActions.SET_QUERY_ROUTES_LND), + map((action: LNDActions.SetQueryRoutes) => action.payload)), { dispatch: false } ); - genSeed = createEffect(() => - this.actions$.pipe( + genSeed = createEffect(() => this.actions.pipe( ofType(LNDActions.GEN_SEED_LND), mergeMap((action: LNDActions.GenSeed) => { - return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload) - .pipe( - map((postRes: any) => { - this.logger.info('Generated GenSeed!'); - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.GEN_SEED_RESPONSE_LND, - payload: postRes.cipher_seed_mnemonic - }; - }), - catchError((err) => { - this.handleErrorWithAlert('ERROR', 'Genseed Generation Failed', this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload, err); - return of({type: RTLActions.VOID}); - }) - ); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GEN_SEED)); + return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload).pipe( + map((postRes: any) => { + this.logger.info('Generated GenSeed!'); + this.logger.info(postRes); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GEN_SEED)); + return { + type: LNDActions.GEN_SEED_RESPONSE_LND, + payload: postRes.cipher_seed_mnemonic + }; + }), + catchError((err) => { + this.handleErrorWithAlert('GenSeed', UI_MESSAGES.GEN_SEED, 'Genseed Generation Failed', this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - updateSelNodeOptions = createEffect(() => - this.actions$.pipe( + updateSelNodeOptions = createEffect(() => this.actions.pipe( ofType(RTLActions.UPDATE_SELECTED_NODE_OPTIONS), - mergeMap((action: RTLActions.UpdateSelectedNodeOptions) => { - return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/updateSelNodeOptions') - .pipe( - map((postRes: any) => { - this.logger.info('Update Sel Node Successfull'); - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: RTLActions.VOID - }; - }), - catchError((err) => { - this.handleErrorWithAlert('ERROR', 'Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!', 'Update Macaroon', err); - return of({type: RTLActions.VOID}); - }) - ); - })) + mergeMap((action: RTLActions.UpdateSelectedNodeOptions) => this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/updateSelNodeOptions').pipe( + map((postRes: any) => { + this.logger.info('Update Sel Node Successfull'); + this.logger.info(postRes); + return { + type: RTLActions.VOID + }; + }), + catchError((err) => { + this.handleErrorWithAlert('UpdateSelectedNodeOptions', UI_MESSAGES.NO_SPINNER, 'Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!', 'Update Macaroon', err); + return of({ type: RTLActions.VOID }); + }) + ))) ); - genSeedResponse = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.GEN_SEED_RESPONSE_LND), - map((action: LNDActions.GenSeedResponse) => { - return action.payload; - })), + genSeedResponse = createEffect( + () => this.actions.pipe( + ofType(LNDActions.GEN_SEED_RESPONSE_LND), + map((action: LNDActions.GenSeedResponse) => action.payload)), { dispatch: false } ); - initWalletRes = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.INIT_WALLET_RESPONSE_LND), - map((action: LNDActions.InitWalletResponse) => { - return action.payload; - })), + initWalletRes = createEffect( + () => this.actions.pipe( + ofType(LNDActions.INIT_WALLET_RESPONSE_LND), + map((action: LNDActions.InitWalletResponse) => action.payload)), { dispatch: false } ); - initWallet = createEffect(() => - this.actions$.pipe( + initWallet = createEffect(() => this.actions.pipe( ofType(LNDActions.INIT_WALLET_LND), mergeMap((action: LNDActions.InitWallet) => { - return this.httpClient.post(this.CHILD_API_URL + environment.WALLET_API + '/wallet/initwallet', + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.INITIALIZE_WALLET)); + return this.httpClient.post( + this.CHILD_API_URL + environment.WALLET_API + '/wallet/initwallet', { wallet_password: action.payload.pwd, cipher_seed_mnemonic: action.payload.cipher ? action.payload.cipher : '', aezeed_passphrase: action.payload.passphrase ? action.payload.passphrase : '' + } + ).pipe( + map((postRes) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.INITIALIZE_WALLET)); + return { + type: LNDActions.INIT_WALLET_RESPONSE_LND, + payload: postRes + }; + }), + catchError((err) => { + this.handleErrorWithAlert('InitWallet', UI_MESSAGES.INITIALIZE_WALLET, 'Wallet Initialization Failed', this.CHILD_API_URL + environment.WALLET_API + '/initwallet', err); + return of({ type: RTLActions.VOID }); }) - .pipe( - map((postRes) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.INIT_WALLET_RESPONSE_LND, - payload: postRes - }; - }), - catchError((err) => { - this.handleErrorWithAlert('ERROR', 'Wallet Initialization Failed', this.CHILD_API_URL + environment.WALLET_API + '/initwallet', err); - return of({type: RTLActions.VOID}); - })); + ); })) ); - unlockWallet = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.UNLOCK_WALLET_LND), - mergeMap((action: LNDActions.UnlockWallet) => { - return this.httpClient.post(this.CHILD_API_URL + environment.WALLET_API + '/wallet/unlockwallet', { wallet_password: action.payload.pwd }) - .pipe( + unlockWallet = createEffect( + () => this.actions.pipe( + ofType(LNDActions.UNLOCK_WALLET_LND), + mergeMap((action: LNDActions.UnlockWallet) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.UNLOCK_WALLET)); + return this.httpClient.post(this.CHILD_API_URL + environment.WALLET_API + '/wallet/unlockwallet', { wallet_password: action.payload.pwd }).pipe( map((postRes) => { this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenSpinner('Initializing Node...')); this.logger.info('Successfully Unlocked!'); this.sessionService.setItem('lndUnlocked', 'true'); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.UNLOCK_WALLET)); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.WAIT_SYNC_NODE)); setTimeout(() => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.info('Successfully Initialized!'); - this.store.dispatch(new LNDActions.FetchInfo({loadPage: 'HOME'})); - }, 1000 * 5); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.WAIT_SYNC_NODE)); + this.store.dispatch(new LNDActions.FetchInfo({ loadPage: 'HOME' })); + }, 5000); return { type: RTLActions.VOID }; }), catchError((err) => { - this.handleErrorWithAlert('ERROR', 'Unlock Wallet Failed', this.CHILD_API_URL + environment.WALLET_API + '/unlockwallet', err); + this.handleErrorWithAlert('UnlockWallet', UI_MESSAGES.UNLOCK_WALLET, 'Unlock Wallet Failed', this.CHILD_API_URL + environment.WALLET_API + '/unlockwallet', err); return of({ type: RTLActions.VOID }); }) ); - })), + })), { dispatch: false } ); - peerLookup = createEffect(() => - this.actions$.pipe( + peerLookup = createEffect(() => this.actions.pipe( ofType(LNDActions.PEER_LOOKUP_LND), mergeMap((action: LNDActions.PeerLookup) => { - this.store.dispatch(new LNDActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload) - .pipe( - map((resPeer) => { - this.logger.info(resPeer); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.SET_LOOKUP_LND, - payload: resPeer - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload, err); - return of({type: RTLActions.VOID}); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_NODE)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload).pipe( + map((resPeer) => { + this.logger.info(resPeer); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_NODE)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_LOOKUP_LND, + payload: resPeer + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - channelLookup = createEffect(() => - this.actions$.pipe( + channelLookup = createEffect(() => this.actions.pipe( ofType(LNDActions.CHANNEL_LOOKUP_LND), mergeMap((action: LNDActions.ChannelLookup) => { - this.store.dispatch(new LNDActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload) - .pipe( - map((resChannel) => { - this.logger.info(resChannel); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.SET_LOOKUP_LND, - payload: resChannel - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload, err); - this.store.dispatch(new LNDActions.SetLookup({})); - return of({type: RTLActions.VOID}); - })); + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload.channelID).pipe( + map((resChannel) => { + this.logger.info(resChannel); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_LOOKUP_LND, + payload: resChannel + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('Lookup', action.payload.uiMessage, 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload.channelID, err); + this.store.dispatch(new LNDActions.SetLookup({})); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - invoiceLookup = createEffect(() => - this.actions$.pipe( + invoiceLookup = createEffect(() => this.actions.pipe( ofType(LNDActions.INVOICE_LOOKUP_LND), mergeMap((action: LNDActions.InvoiceLookup) => { - this.store.dispatch(new LNDActions.ClearEffectError('Lookup')); - return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '/' + action.payload) - .pipe( - map((resInvoice) => { - this.logger.info(resInvoice); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.SET_LOOKUP_LND, - payload: resInvoice - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'Lookup', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Invoice Lookup Failed', this.CHILD_API_URL + environment.INVOICES_API + '/' + action.payload, err); - return of({type: RTLActions.VOID}); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SEARCHING_INVOICE)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '/' + action.payload).pipe( + map((resInvoice) => { + this.logger.info(resInvoice); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SEARCHING_INVOICE)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'Lookup', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_LOOKUP_LND, + payload: resInvoice + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err); + this.store.dispatch(new RTLActions.OpenSnackBar({ message: 'Invoice Refresh Failed.', type: 'ERROR' })); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - setLookup = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SET_LOOKUP_LND), - map((action: LNDActions.SetLookup) => { - this.logger.info(action.payload); - return action.payload; - })), + setLookup = createEffect( + () => this.actions.pipe( + ofType(LNDActions.SET_LOOKUP_LND), + map((action: LNDActions.SetLookup) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - getRestoreChannelList = createEffect(() => - this.actions$.pipe( + getRestoreChannelList = createEffect(() => this.actions.pipe( ofType(LNDActions.RESTORE_CHANNELS_LIST_LND), mergeMap((action: LNDActions.RestoreChannelsList) => { - this.store.dispatch(new LNDActions.ClearEffectError('RestoreChannelsList')); - return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/list') - .pipe( - map((resRestoreList) => { - this.logger.info(resRestoreList); - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: LNDActions.SET_RESTORE_CHANNELS_LIST_LND, - payload: (resRestoreList) ? resRestoreList : {all_restore_exists: false, files: []} - }; - }), - catchError((err: any) => { - this.store.dispatch(new LNDActions.EffectError({ action: 'RestoreChannelsList', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Restore Channels List Failed', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API, err); - return of({type: RTLActions.VOID}); - })); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'RestoreChannelsList', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/list').pipe( + map((resRestoreList) => { + this.logger.info(resRestoreList); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'RestoreChannelsList', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_RESTORE_CHANNELS_LIST_LND, + payload: (resRestoreList) ? resRestoreList : { all_restore_exists: false, files: [] } + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('RestoreChannelsList', UI_MESSAGES.NO_SPINNER, 'Restore Channels List Failed', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API, err); + return of({ type: RTLActions.VOID }); + }) + ); })) ); - setRestoreChannelList = createEffect(() => - this.actions$.pipe( - ofType(LNDActions.SET_RESTORE_CHANNELS_LIST_LND), - map((action: LNDActions.SetRestoreChannelsList) => { - this.logger.info(action.payload); - return action.payload; - })), + setRestoreChannelList = createEffect( + () => this.actions.pipe( + ofType(LNDActions.SET_RESTORE_CHANNELS_LIST_LND), + map((action: LNDActions.SetRestoreChannelsList) => { + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - allLightningTransactionsFetch = createEffect(() => - this.actions$.pipe( + allLightningTransactionsFetch = createEffect(() => this.actions.pipe( ofType(LNDActions.GET_ALL_LIGHTNING_TRANSATIONS_LND), mergeMap((action: LNDActions.GetAllLightningTransactions) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchLightningTransactions')); - return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/alltransactions') - .pipe( - map((respose: any) => { - this.logger.info(respose); - return { - type: LNDActions.SET_ALL_LIGHTNING_TRANSATIONS_LND, - payload: respose - }; - }), - catchError((err: any) => { - this.handleErrorWithoutAlert('FetchLightningTransactions', 'Fetching All Lightning Transaction Failed.', err); - return of({type: RTLActions.VOID}); - }) - ); - } - )) + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchLightningTransactions', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/alltransactions').pipe( + map((respose: any) => { + this.logger.info(respose); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: 'FetchLightningTransactions', status: APICallStatusEnum.COMPLETED })); + return { + type: LNDActions.SET_ALL_LIGHTNING_TRANSATIONS_LND, + payload: respose + }; + }), + catchError((err: any) => { + this.handleErrorWithoutAlert('FetchLightningTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching All Lightning Transaction Failed.', err); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); initializeRemainingData(info: any, landingPage: string) { @@ -1131,35 +1128,33 @@ export class LNDEffects implements OnDestroy { testnet: info.testnet, chains: info.chains, uris: info.uris, - version: (!info.version) ? '' : info.version.split(' ')[0], - currency_unit: CurrencyUnitEnum.BTC, - smaller_currency_unit: CurrencyUnitEnum.SATS + version: (!info.version) ? '' : info.version.split(' ')[0] }; - this.store.dispatch(new RTLActions.OpenSpinner('Initializing Node Data...')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.INITALIZE_NODE_DATA)); this.store.dispatch(new RTLActions.SetNodeData(node_data)); - this.store.dispatch(new LNDActions.FetchPeers()); - this.store.dispatch(new LNDActions.FetchBalance('channels')); - this.store.dispatch(new LNDActions.FetchNetwork()); - this.store.dispatch(new LNDActions.GetAllLightningTransactions()); + this.store.dispatch(new LNDActions.FetchFees()); // Fetches monthly forwarding history as well, to count total number of events + this.store.dispatch(new LNDActions.FetchBalance('Blockchain')); this.store.dispatch(new LNDActions.FetchAllChannels()); this.store.dispatch(new LNDActions.FetchPendingChannels()); this.store.dispatch(new LNDActions.FetchClosedChannels()); - this.store.dispatch(new LNDActions.FetchInvoices({num_max_invoices: 10, reversed: true})); - this.store.dispatch(new LNDActions.FetchPayments({max_payments: 10, reversed: true })); - this.store.dispatch(new LNDActions.FetchFees()); //Fetches monthly forwarding history as well, to count total number of events + this.store.dispatch(new LNDActions.FetchPeers()); + this.store.dispatch(new LNDActions.FetchNetwork()); + this.store.dispatch(new LNDActions.GetAllLightningTransactions()); + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: 10, reversed: true })); + this.store.dispatch(new LNDActions.FetchPayments({ max_payments: 10, reversed: true })); let newRoute = this.location.path(); - if(newRoute.includes('/cl/')) { + if (newRoute.includes('/cl/')) { newRoute = newRoute.replace('/cl/', '/lnd/'); } else if (newRoute.includes('/ecl/')) { newRoute = newRoute.replace('/ecl/', '/lnd/'); } - if(newRoute.includes('/unlock') || newRoute.includes('/login') || newRoute.includes('/error') || newRoute === '' || landingPage === 'HOME' || newRoute.includes('?access-key=')) { + if (newRoute.includes('/unlock') || newRoute.includes('/login') || newRoute.includes('/error') || newRoute === '' || landingPage === 'HOME' || newRoute.includes('?access-key=')) { newRoute = '/lnd/home'; } this.router.navigate([newRoute]); } - handleErrorWithoutAlert(actionName: string, genericErrorMessage: string, err: { status: number, error: any }) { + handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) { this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -1167,12 +1162,12 @@ export class LNDEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.EffectError({ action: actionName, code: err.status.toString(), message: (err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : (err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : (err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error.error && typeof err.error.error === 'string') ? err.error.error : typeof err.error === 'string' ? err.error : genericErrorMessage})); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.commonService.extractErrorMessage(err, genericErrorMessage) })); } } - handleErrorWithAlert(alertType: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { + handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { this.logger.error(err); if (err.status === 401) { this.logger.info('Redirecting to Login'); @@ -1180,20 +1175,22 @@ export class LNDEffects implements OnDestroy { this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.commonService.extractErrorMessage(err); this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: alertType, + type: 'ERROR', alertTitle: alertTitle, - message: { code: err.status, message: (err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : (err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : (err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error.error && typeof err.error.error === 'string') ? err.error.error : typeof err.error === 'string' ? err.error : 'Unknown Error', URL: errURL }, + message: { code: err.status, message: errMsg, URL: errURL }, component: ErrorMessageComponent } })); + this.store.dispatch(new LNDActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL })); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/store/lnd.reducers.ts b/src/app/lnd/store/lnd.reducers.ts index ac043d6b..4471c6d6 100644 --- a/src/app/lnd/store/lnd.reducers.ts +++ b/src/app/lnd/store/lnd.reducers.ts @@ -1,10 +1,10 @@ import { SelNodeChild } from '../../shared/models/RTLconfig'; -import { ErrorPayload } from '../../shared/models/errorPayload'; +import { ApiCallsListLND } from '../../shared/models/apiCallsPayload'; import { GetInfo, Peer, Fees, NetworkInfo, Balance, Channel, ListInvoices, PendingChannels, ClosedChannel, Transaction, SwitchRes, PendingChannelsGroup, UTXO, ListPayments } from '../../shared/models/lndModels'; -import { UserPersonaEnum } from '../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, UserPersonaEnum } from '../../shared/services/consts-enums-functions'; import * as LNDActions from './lnd.actions'; @@ -12,14 +12,12 @@ let flgTransactionsSet = false; let flgUTXOsSet = false; export interface LNDState { - initialAPIResponseStatus: String[]; - effectErrors: ErrorPayload[]; - nodeSettings: SelNodeChild; + apisCallStatus: ApiCallsListLND; + nodeSettings: SelNodeChild; information: GetInfo; peers: Peer[]; fees: Fees; networkInfo: NetworkInfo; - channelBalance: Balance; blockchainBalance: Balance; allChannels: Channel[]; closedChannels: ClosedChannel[]; @@ -41,21 +39,34 @@ export interface LNDState { } export const initLNDState: LNDState = { - initialAPIResponseStatus: ['INCOMPLETE'], //[0] for All Data Status - effectErrors: [], + apisCallStatus: { + FetchInfo: { status: APICallStatusEnum.UN_INITIATED }, + FetchFees: { status: APICallStatusEnum.UN_INITIATED }, + FetchPeers: { status: APICallStatusEnum.UN_INITIATED }, + FetchClosedChannels: { status: APICallStatusEnum.UN_INITIATED }, + FetchPendingChannels: { status: APICallStatusEnum.UN_INITIATED }, + FetchAllChannels: { status: APICallStatusEnum.UN_INITIATED }, + FetchBalanceBlockchain: { status: APICallStatusEnum.UN_INITIATED }, + FetchInvoices: { status: APICallStatusEnum.UN_INITIATED }, + FetchPayments: { status: APICallStatusEnum.UN_INITIATED }, + GetForwardingHistory: { status: APICallStatusEnum.UN_INITIATED }, + FetchUTXOs: { status: APICallStatusEnum.UN_INITIATED }, + FetchTransactions: { status: APICallStatusEnum.UN_INITIATED }, + FetchLightningTransactions: { status: APICallStatusEnum.UN_INITIATED }, + FetchNetwork: { status: APICallStatusEnum.UN_INITIATED } + }, nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, fiatConversion: false, channelBackupPath: '', currencyUnits: [], selCurrencyUnit: '', lnImplementation: '', swapServerUrl: '' }, information: {}, peers: [], fees: {}, networkInfo: {}, - channelBalance: { balance: -1, btc_balance: -1 }, - blockchainBalance: { total_balance: -1, btc_total_balance: -1 }, + blockchainBalance: { total_balance: -1 }, allChannels: [], closedChannels: [], pendingChannels: {}, numberOfActiveChannels: 0, numberOfInactiveChannels: 0, - numberOfPendingChannels: { open: {num_channels: 0, limbo_balance: 0}, closing: {num_channels: 0, limbo_balance: 0}, force_closing: {num_channels: 0, limbo_balance: 0}, waiting_close: {num_channels: 0, limbo_balance: 0}, total_channels: 0, total_limbo_balance: 0}, + numberOfPendingChannels: { open: { num_channels: 0, limbo_balance: 0 }, closing: { num_channels: 0, limbo_balance: 0 }, force_closing: { num_channels: 0, limbo_balance: 0 }, waiting_close: { num_channels: 0, limbo_balance: 0 }, total_channels: 0, total_limbo_balance: 0 }, totalCapacityActive: 0, totalCapacityInactive: 0, totalLocalBalance: -1, @@ -63,42 +74,36 @@ export const initLNDState: LNDState = { totalInvoices: -1, transactions: [], utxos: [], - payments: {payments: []}, - invoices: {invoices: []}, + payments: { payments: [] }, + invoices: { invoices: [] }, allLightningTransactions: { paymentsAll: null, invoicesAll: null }, forwardingHistory: {} -} +}; export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) { - let newAPIStatus = state.initialAPIResponseStatus; - switch (action.type) { - case LNDActions.CLEAR_EFFECT_ERROR_LND: - const clearedEffectErrors = [...state.effectErrors]; - const removeEffectIdx = state.effectErrors.findIndex(err => { - return err.action === action.payload; - }); - if (removeEffectIdx > -1) { - clearedEffectErrors.splice(removeEffectIdx, 1); - } - return { - ...state, - effectErrors: clearedEffectErrors + case LNDActions.UPDATE_API_CALL_STATUS_LND: + const updatedApisCallStatus = state.apisCallStatus; + updatedApisCallStatus[action.payload.action] = { + status: action.payload.status, + statusCode: action.payload.statusCode, + message: action.payload.message, + URL: action.payload.URL, + filePath: action.payload.filePath }; - case LNDActions.EFFECT_ERROR_LND: return { ...state, - effectErrors: [...state.effectErrors, action.payload] + apisCallStatus: updatedApisCallStatus }; case LNDActions.SET_CHILD_NODE_SETTINGS_LND: return { ...state, nodeSettings: action.payload - } + }; case LNDActions.RESET_LND_STORE: return { ...initLNDState, - nodeSettings: action.payload, + nodeSettings: action.payload }; case LNDActions.SET_INFO_LND: return { @@ -106,17 +111,13 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) information: action.payload }; case LNDActions.SET_PEERS_LND: - newAPIStatus = [...state.initialAPIResponseStatus, 'PEERS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, peers: action.payload }; case LNDActions.REMOVE_PEER_LND: const modifiedPeers = [...state.peers]; - const removePeerIdx = state.peers.findIndex(peer => { - return peer.pub_key === action.payload.pubkey; - }); + const removePeerIdx = state.peers.findIndex((peer) => peer.pub_key === action.payload.pubkey); if (removePeerIdx > -1) { modifiedPeers.splice(removePeerIdx, 1); } @@ -132,32 +133,33 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) invoices: newInvoices }; case LNDActions.SET_FEES_LND: - newAPIStatus = [...state.initialAPIResponseStatus, 'FEES']; return { ...state, - initialAPIResponseStatus: newAPIStatus, fees: action.payload }; case LNDActions.SET_CLOSED_CHANNELS_LND: - newAPIStatus = [...state.initialAPIResponseStatus, 'CLOSEDCHANNELS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, - closedChannels: action.payload, + closedChannels: action.payload }; case LNDActions.SET_PENDING_CHANNELS_LND: - newAPIStatus = [...state.initialAPIResponseStatus, 'PENDINGCHANNELS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, pendingChannels: action.payload.channels, - numberOfPendingChannels: action.payload.pendingChannels, + numberOfPendingChannels: action.payload.pendingChannels }; case LNDActions.SET_ALL_CHANNELS_LND: - let localBal = 0, remoteBal = 0, activeChannels = 0, inactiveChannels = 0, totalCapacityActive = 0, totalCapacityInactive = 0; + let localBal = 0; + let remoteBal = 0; + let activeChannels = 0; + let inactiveChannels = 0; + let totalCapacityActive = 0; + let totalCapacityInactive = 0; if (action.payload) { - action.payload.forEach(channel => { - if(!channel.local_balance) { channel.local_balance = 0; } + action.payload.forEach((channel) => { + if (!channel.local_balance) { + channel.local_balance = 0; + } if (channel.active === true) { totalCapacityActive = totalCapacityActive + +channel.local_balance; activeChannels = activeChannels + 1; @@ -177,10 +179,8 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) } }); } - newAPIStatus = [...state.initialAPIResponseStatus, 'ALLCHANNELS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, allChannels: action.payload, numberOfActiveChannels: activeChannels, numberOfInactiveChannels: inactiveChannels, @@ -191,9 +191,7 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) }; case LNDActions.REMOVE_CHANNEL_LND: const modifiedChannels = [...state.allChannels]; - const removeChannelIdx = state.allChannels.findIndex(channel => { - return channel.channel_point === action.payload.channelPoint; - }); + const removeChannelIdx = state.allChannels.findIndex((channel) => channel.channel_point === action.payload.channelPoint); if (removeChannelIdx > -1) { modifiedChannels.splice(removeChannelIdx, 1); } @@ -202,18 +200,13 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) allChannels: modifiedChannels }; case LNDActions.SET_BALANCE_LND: - if (action.payload.target === 'channels') { - newAPIStatus = [...state.initialAPIResponseStatus,'BALANCE']; - return { - ...state, - initialAPIResponseStatus: newAPIStatus, - channelBalance: action.payload.balance - }; - } else { + if (action.payload.target === 'Blockchain') { return { ...state, blockchainBalance: action.payload.balance }; + } else { + return { ...state }; } case LNDActions.SET_NETWORK_LND: return { @@ -221,10 +214,8 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) networkInfo: action.payload }; case LNDActions.SET_INVOICES_LND: - newAPIStatus = [...state.initialAPIResponseStatus,'INVOICES']; return { ...state, - initialAPIResponseStatus: newAPIStatus, invoices: action.payload }; case LNDActions.SET_TOTAL_INVOICES_LND: @@ -235,9 +226,9 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) case LNDActions.SET_TRANSACTIONS_LND: flgTransactionsSet = true; if (action.payload.length && flgUTXOsSet) { - let modifiedUTXOs = [...state.utxos]; - modifiedUTXOs.forEach(utxo => { - let foundTransaction = action.payload.find(transaction => transaction.tx_hash === utxo.outpoint.txid_str); + const modifiedUTXOs = [...state.utxos]; + modifiedUTXOs.forEach((utxo) => { + const foundTransaction = action.payload.find((transaction) => transaction.tx_hash === utxo.outpoint.txid_str); utxo.label = foundTransaction && foundTransaction.label ? foundTransaction.label : ''; }); return { @@ -253,9 +244,9 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) case LNDActions.SET_UTXOS_LND: flgUTXOsSet = true; if (action.payload.length && flgTransactionsSet) { - let transactions = [...state.transactions]; - action.payload.forEach(utxo => { - let foundTransaction = transactions.find(transaction => transaction.tx_hash === utxo.outpoint.txid_str); + const transactions = [...state.transactions]; + action.payload.forEach((utxo) => { + const foundTransaction = transactions.find((transaction) => transaction.tx_hash === utxo.outpoint.txid_str); utxo.label = foundTransaction && foundTransaction.label ? foundTransaction.label : ''; }); } @@ -264,10 +255,8 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) utxos: action.payload }; case LNDActions.SET_PAYMENTS_LND: - newAPIStatus = [...state.initialAPIResponseStatus, 'PAYMENTS']; return { ...state, - initialAPIResponseStatus: newAPIStatus, payments: action.payload }; case LNDActions.SET_ALL_LIGHTNING_TRANSATIONS_LND: @@ -278,25 +267,33 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) case LNDActions.SET_FORWARDING_HISTORY_LND: if (action.payload.forwarding_events) { const storedChannels = [...state.allChannels, ...state.closedChannels]; - action.payload.forwarding_events.forEach(event => { + action.payload.forwarding_events.forEach((fhEvent) => { if (storedChannels && storedChannels.length > 0) { for (let idx = 0; idx < storedChannels.length; idx++) { - if (storedChannels[idx].chan_id.toString() === event.chan_id_in) { - event.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_in; - if (event.alias_out) { return; } + if (storedChannels[idx].chan_id.toString() === fhEvent.chan_id_in) { + fhEvent.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : fhEvent.chan_id_in; + if (fhEvent.alias_out) { + return; + } } - if (storedChannels[idx].chan_id.toString() === event.chan_id_out) { - event.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_out; - if (event.alias_in) { return; } + if (storedChannels[idx].chan_id.toString() === fhEvent.chan_id_out) { + fhEvent.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : fhEvent.chan_id_out; + if (fhEvent.alias_in) { + return; + } } - if(idx === storedChannels.length-1) { - if (!event.alias_in) { event.alias_in = event.chan_id_in; } - if (!event.alias_out) { event.alias_out = event.chan_id_out; } + if (idx === storedChannels.length - 1) { + if (!fhEvent.alias_in) { + fhEvent.alias_in = fhEvent.chan_id_in; + } + if (!fhEvent.alias_out) { + fhEvent.alias_out = fhEvent.chan_id_out; + } } } } else { - event.alias_in = event.chan_id_in; - event.alias_out = event.chan_id_out; + fhEvent.alias_in = fhEvent.chan_id_in; + fhEvent.alias_out = fhEvent.chan_id_out; } }); } else { @@ -309,5 +306,4 @@ export function LNDReducer(state = initLNDState, action: LNDActions.LNDActions) default: return state; } - } diff --git a/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.html b/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.html index 9aa6654c..bb6da8a1 100644 --- a/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.html +++ b/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.html @@ -13,7 +13,7 @@ - {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}} diff --git a/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.ts b/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.ts index 8d55622a..07891354 100644 --- a/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.ts +++ b/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.ts @@ -8,13 +8,12 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { InvoiceInformation } from '../../../shared/models/alertData'; -import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE } from '../../../shared/services/consts-enums-functions'; +import { TimeUnitEnum, CurrencyUnitEnum, TIME_UNITS, CURRENCY_UNIT_FORMATS, PAGE_SIZE, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo } from '../../../shared/models/lndModels'; import { CommonService } from '../../../shared/services/common.service'; import * as LNDActions from '../../store/lnd.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -23,6 +22,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./create-invoice.component.scss'] }) export class CreateInvoiceComponent implements OnInit, OnDestroy { + public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; public memo = ''; @@ -41,26 +41,28 @@ export class CreateInvoiceComponent implements OnInit, OnDestroy { public invoiceError = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: InvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions$: Actions) {} + constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: InvoiceInformation, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private actions: Actions) {} ngOnInit() { this.pageSize = this.data.pageSize; - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === LNDActions.EFFECT_ERROR_LND || action.type === LNDActions.FETCH_INVOICES_LND)) //NEWLY_SAVED_INVOICE - .subscribe((action: LNDActions.EffectError | LNDActions.FetchInvoices) => { // NewlySavedInvoice - if (action.type === LNDActions.FETCH_INVOICES_LND) { // NEWLY_SAVED_INVOICE && openModal: false at line 73 - this.dialogRef.close(); - } - if (action.type === LNDActions.EFFECT_ERROR_LND && action.payload.action === 'SaveNewInvoice') { - this.invoiceError = action.payload.message; - } - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.FETCH_INVOICES_LND) + ). // NEWLY_SAVED_INVOICE + subscribe((action: LNDActions.UpdateAPICallStatus | LNDActions.FetchInvoices) => { // NewlySavedInvoice + if (action.type === LNDActions.FETCH_INVOICES_LND) { // NEWLY_SAVED_INVOICE && openModal: false at line 73 + this.dialogRef.close(); + } + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SaveNewInvoice') { + this.invoiceError = action.payload.message; + } + }); } onAddInvoice(form: any) { @@ -69,42 +71,43 @@ export class CreateInvoiceComponent implements OnInit, OnDestroy { if (this.selTimeUnit !== TimeUnitEnum.SECS) { expiryInSecs = this.commonService.convertTime(this.expiry, this.selTimeUnit, TimeUnitEnum.SECS); } - this.store.dispatch(new RTLActions.OpenSpinner('Adding Invoice...')); this.store.dispatch(new LNDActions.SaveNewInvoice({ - memo: this.memo, invoiceValue: this.invoiceValue, private: this.private, expiry: expiryInSecs, pageSize: this.pageSize, openModal: true + uiMessage: UI_MESSAGES.ADD_INVOICE, memo: this.memo, invoiceValue: this.invoiceValue, private: this.private, expiry: expiryInSecs, pageSize: this.pageSize, openModal: true })); } resetData() { this.memo = ''; - this.invoiceValue = undefined; + this.invoiceValue = null; this.private = false; - this.expiry = undefined; + this.expiry = null; this.invoiceValueHint = ''; this.selTimeUnit = TimeUnitEnum.SECS; this.invoiceError = ''; } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } }); } } onTimeUnitChange(event: any) { - if(this.expiry && this.selTimeUnit !== event.value) { + if (this.expiry && this.selTimeUnit !== event.value) { this.expiry = this.commonService.convertTime(this.expiry, this.selTimeUnit, event.value); } this.selTimeUnit = event.value; } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.html b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.html index 71fe5a51..2e110f54 100644 --- a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.html +++ b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.html @@ -37,7 +37,7 @@

Date Settled

- {{((invoice.settle_date * 1000) | date:'dd/MMM/YYYY HH:mm') || '-'}} + {{(+invoice.settle_date !== 0 ? ((+invoice.settle_date * 1000) | date:'dd/MMM/YYYY HH:mm') : '-')}}
diff --git a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.spec.ts b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.spec.ts index 6bef86ad..58cc31b4 100644 --- a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.spec.ts +++ b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../shared/services/common.service'; +import { LoggerService } from '../../../shared/services/logger.service'; import { InvoiceInformationComponent } from './invoice-information.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { DataService } from '../../../shared/services/data.service'; describe('InvoiceInformationComponent', () => { let component: InvoiceInformationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ InvoiceInformationComponent ] - }) - .compileComponents(); + declarations: [InvoiceInformationComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { invoice: {} } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('InvoiceInformationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.ts b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.ts index 2ccdca93..2f63e534 100644 --- a/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.ts +++ b/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.ts @@ -15,10 +15,13 @@ import { ScreenSizeEnum } from '../../../shared/services/consts-enums-functions' styleUrls: ['./invoice-information.component.scss'] }) export class InvoiceInformationComponent implements OnInit { + private scrollContainer: ElementRef; @ViewChild('scrollContainer') set container(containerContent: ElementRef) { - if(containerContent) { this.scrollContainer = containerContent; } - } + if (containerContent) { + this.scrollContainer = containerContent; + } + } public faReceipt = faReceipt; public showAdvanced = false; public newlyAdded = false; @@ -34,7 +37,7 @@ export class InvoiceInformationComponent implements OnInit { this.invoice = this.data.invoice; this.newlyAdded = this.data.newlyAdded; this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.qrWidth = 220; } } @@ -46,23 +49,24 @@ export class InvoiceInformationComponent implements OnInit { onShowAdvanced() { this.showAdvanced = !this.showAdvanced; this.flgOpened = false; - } + } onScrollDown() { this.scrollContainer.nativeElement.scrollTop = this.scrollContainer.nativeElement.scrollTop + 60; } onExpansionClosed() { - this.flgOpened = false + this.flgOpened = false; this.scrollContainer.nativeElement.scrollTop = 0; - } + } onCopyPayment(payload: string) { this.snackBar.open('Payment request copied.'); this.logger.info('Copied Text: ' + payload); } - getDecimalFormat(htlc: any):string { + getDecimalFormat(htlc: any): string { return htlc.amt_msat < 1000 ? '1.0-4' : '1.0-0'; } + } diff --git a/src/app/lnd/transactions/invoices/lightning-invoices.component.html b/src/app/lnd/transactions/invoices/lightning-invoices.component.html index b01d8273..9df1f833 100644 --- a/src/app/lnd/transactions/invoices/lightning-invoices.component.html +++ b/src/app/lnd/transactions/invoices/lightning-invoices.component.html @@ -5,7 +5,7 @@ - {{information?.smaller_currency_unit}} + Sats {{invoiceValueHint}}
@@ -26,9 +26,9 @@
-
- - +
+ +
- + @@ -66,12 +66,20 @@ diff --git a/src/app/lnd/transactions/invoices/lightning-invoices.component.ts b/src/app/lnd/transactions/invoices/lightning-invoices.component.ts index 20c8bcae..15544f5d 100644 --- a/src/app/lnd/transactions/invoices/lightning-invoices.component.ts +++ b/src/app/lnd/transactions/invoices/lightning-invoices.component.ts @@ -1,14 +1,16 @@ import { Component, OnInit, OnDestroy, ViewChild, Input, AfterViewInit } from '@angular/core'; import { DatePipe, DecimalPipe } from '@angular/common'; import { Subject } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { filter, takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { Actions } from '@ngrx/effects'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; -import { MatPaginatorIntl, PageEvent } from '@angular/material/paginator'; +import { MatPaginator, MatPaginatorIntl, PageEvent } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; +import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, ScreenSizeEnum, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { GetInfo, Invoice } from '../../../shared/models/lndModels'; import { LoggerService } from '../../../shared/services/logger.service'; @@ -28,12 +30,14 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./lightning-invoices.component.scss'], animations: [newlyAddedRowAnimation], providers: [ - { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') }, - ] + { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Invoices') } + ] }) export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home - @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; + + @Input() calledFrom = 'transactions'; // Transactions/home + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; faHistory = faHistory; public selNode: SelNodeChild = {}; public newlyAddedInvoiceMemo = null; @@ -48,7 +52,6 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest public invoicesData: Invoice[] = []; public invoices: any; public information: GetInfo = {}; - public flgLoading: Array = [true]; public flgSticky = false; public private = false; public expiryStep = 100; @@ -59,17 +62,20 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest private lastOffset = -1; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private datePipe: DatePipe) { + constructor(private logger: LoggerService, private store: Store, private decimalPipe: DecimalPipe, private commonService: CommonService, private datePipe: DatePipe, private actions: Actions) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'value', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'settle_date', 'value', 'amt_paid_sat', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'settle_date', 'memo', 'value', 'actions']; } else { @@ -79,28 +85,34 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchInvoices') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchInvoices.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchInvoices.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchInvoices.message) : this.apisCallStatus.FetchInvoices.message; + } + this.selNode = rtlStore.nodeSettings; + this.information = rtlStore.information; + this.totalInvoices = rtlStore.totalInvoices; + this.firstOffset = +rtlStore.invoices.first_index_offset; + this.lastOffset = +rtlStore.invoices.last_index_offset; + this.invoicesData = rtlStore.invoices.invoices ? rtlStore.invoices.invoices : []; + if (this.invoicesData.length > 0 && this.sort && this.paginator) { + this.loadInvoicesTable(this.invoicesData); + } + this.logger.info(rtlStore); + }); + this.actions.pipe(takeUntil(this.unSubs[1]), filter((action) => (action.type === LNDActions.SET_LOOKUP_LND || action.type === LNDActions.UPDATE_API_CALL_STATUS_LND))). + subscribe((resLookup: LNDActions.SetLookup | LNDActions.UpdateAPICallStatus) => { + if (resLookup.type === LNDActions.SET_LOOKUP_LND) { + if (this.invoicesData.length > 0 && this.sort && this.paginator && resLookup.payload) { + this.updateInvoicesData(JSON.parse(JSON.stringify(resLookup.payload))); + this.loadInvoicesTable(this.invoicesData); + } } }); - this.selNode = rtlStore.nodeSettings; - this.information = rtlStore.information; - this.totalInvoices = rtlStore.totalInvoices; - this.firstOffset = +rtlStore.invoices.first_index_offset; - this.lastOffset = +rtlStore.invoices.last_index_offset; - this.invoicesData = rtlStore.invoices.invoices ? rtlStore.invoices.invoices : []; - if (this.invoicesData.length > 0) { - this.loadInvoicesTable(this.invoicesData); - } - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( rtlStore.invoices) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -111,42 +123,53 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest onAddInvoice(form: any) { - let expiryInSecs = (this.expiry ? this.expiry : 3600); + const expiryInSecs = (this.expiry ? this.expiry : 3600); this.flgAnimate = true; this.newlyAddedInvoiceMemo = this.memo; this.newlyAddedInvoiceValue = this.invoiceValue; - this.store.dispatch(new RTLActions.OpenSpinner('Adding Invoice...')); this.store.dispatch(new LNDActions.SaveNewInvoice({ - memo: this.memo, invoiceValue: this.invoiceValue, private: this.private, expiry: expiryInSecs, pageSize: this.pageSize, openModal: true + uiMessage: UI_MESSAGES.ADD_INVOICE, memo: this.memo, invoiceValue: this.invoiceValue, private: this.private, expiry: expiryInSecs, pageSize: this.pageSize, openModal: true })); this.resetData(); } - onInvoiceClick(selInvoice: Invoice, event: any) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { + onInvoiceClick(selInvoice: Invoice) { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { invoice: selInvoice, newlyAdded: false, component: InvoiceInformationComponent - }})); + } + })); + } + + onRefreshInvoice(selInvoice: Invoice) { + this.store.dispatch(new LNDActions.InvoiceLookup(selInvoice.r_hash)); + } + + updateInvoicesData(newInvoice: Invoice) { + this.invoicesData = this.invoicesData.map((invoice) => ((invoice.r_hash === newInvoice.r_hash) ? newInvoice : invoice)); } loadInvoicesTable(invoices) { this.invoices = invoices ? new MatTableDataSource([...invoices]) : new MatTableDataSource([]); this.invoices.sort = this.sort; - this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.invoices.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.invoices.filterPredicate = (invoice: Invoice, fltr: string) => { - const newInvoice = ((invoice.creation_date) ? this.datePipe.transform(new Date(invoice.creation_date*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + ((invoice.settle_date) ? this.datePipe.transform(new Date(invoice.settle_date*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(invoice).toLowerCase(); - return newInvoice.includes(fltr); + const newInvoice = ((invoice.creation_date) ? this.datePipe.transform(new Date(invoice.creation_date * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + ((invoice.settle_date) ? this.datePipe.transform(new Date(invoice.settle_date * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(invoice).toLowerCase(); + return newInvoice.includes(fltr); }; - setTimeout(() => { this.flgAnimate = false; }, 5000); + setTimeout(() => { + this.flgAnimate = false; + }, 5000); this.logger.info(this.invoices); } resetData() { this.memo = ''; - this.invoiceValue = undefined; + this.invoiceValue = null; this.private = false; - this.expiry = undefined; + this.expiry = null; this.invoiceValueHint = ''; } @@ -157,6 +180,7 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest onPageChange(event: PageEvent) { let reverse = true; let index_offset = this.lastOffset; + let page_size = event.pageSize; if (event.pageIndex === 0) { reverse = true; index_offset = 0; @@ -168,37 +192,44 @@ export class LightningInvoicesComponent implements OnInit, AfterViewInit, OnDest index_offset = this.firstOffset; } else if (event.length <= ((event.pageIndex + 1) * event.pageSize)) { reverse = false; - index_offset = event.length - (event.pageIndex * event.pageSize) + 1; + index_offset = 0; + page_size = event.length - (event.pageIndex * event.pageSize); } - this.store.dispatch(new LNDActions.FetchInvoices({num_max_invoices: event.pageSize, index_offset: index_offset, reversed: reverse})); + this.store.dispatch(new LNDActions.FetchInvoices({ num_max_invoices: event.pageSize, index_offset: index_offset, reversed: reverse })); } onInvoiceValueChange() { - if(this.selNode.fiatConversion && this.invoiceValue > 99) { + if (this.selNode.fiatConversion && this.invoiceValue > 99) { this.invoiceValueHint = ''; - this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; - }); + this.commonService.convertCurrency(this.invoiceValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ + next: (data) => { + this.invoiceValueHint = '= ' + data.symbol + this.decimalPipe.transform(data.OTHER, CURRENCY_UNIT_FORMATS.OTHER) + ' ' + data.unit; + }, error: (err) => { + this.invoiceValueHint = 'Conversion Error: ' + err; + } + }); } } onDownloadCSV() { - if(this.invoices.data && this.invoices.data.length > 0) { + if (this.invoices.data && this.invoices.data.length > 0) { this.commonService.downloadFile(this.invoices.data, 'Invoices'); } } openCreateInvoiceModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - pageSize: this.pageSize, - component: CreateInvoiceComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + pageSize: this.pageSize, + component: CreateInvoiceComponent + } + })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/transactions/payments/lightning-payments.component.html b/src/app/lnd/transactions/payments/lightning-payments.component.html index 384fc9d4..77469cdc 100644 --- a/src/app/lnd/transactions/payments/lightning-payments.component.html +++ b/src/app/lnd/transactions/payments/lightning-payments.component.html @@ -24,9 +24,9 @@
-
- -
Date Created @@ -38,7 +38,7 @@ Date Settled {{((invoice.settle_date * 1000) | date:'dd/MMM/YYYY HH:mm') || '-'}}{{(+invoice.settle_date !== 0 ? ((+invoice.settle_date * 1000) | date:'dd/MMM/YYYY HH:mm') : '-')}} Memo - +
+ + + View Info + Refresh + +
-

No invoices available.

+

No invoice available.

+

Getting invoices...

+

{{errorMessage}}

+
+ +
- diff --git a/src/app/shared/components/transactions-report-table/transactions-report-table.component.ts b/src/app/shared/components/transactions-report-table/transactions-report-table.component.ts index 8dbba29f..fbe21892 100644 --- a/src/app/shared/components/transactions-report-table/transactions-report-table.component.ts +++ b/src/app/shared/components/transactions-report-table/transactions-report-table.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, Input, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core'; +import { Component, ViewChild, Input, AfterViewInit, OnChanges, SimpleChanges, OnInit } from '@angular/core'; import { DatePipe } from '@angular/common'; import { Store } from '@ngrx/store'; @@ -17,14 +17,15 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./transactions-report-table.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Transactions') } - ] + ] }) -export class TransactionsReportTableComponent implements AfterViewInit, OnChanges { +export class TransactionsReportTableComponent implements OnInit, AfterViewInit, OnChanges { + @Input() dataRange = SCROLL_RANGES[0]; @Input() dataList = []; @Input() filterValue = ''; - @ViewChild(MatSort, {static: false}) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; public timezoneOffset = new Date(Date.now()).getTimezoneOffset() * 60; public scrollRanges = SCROLL_RANGES; public transactions: any; @@ -37,10 +38,10 @@ export class TransactionsReportTableComponent implements AfterViewInit, OnChange constructor(private commonService: CommonService, private store: Store, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) { + if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['date', 'amount_paid', 'amount_received', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['date', 'amount_paid', 'num_payments', 'amount_received', 'num_invoices', 'actions']; } else { @@ -49,12 +50,16 @@ export class TransactionsReportTableComponent implements AfterViewInit, OnChange } } - ngAfterViewInit() { + ngOnInit() { if (this.dataList && this.dataList.length > 0) { this.loadTransactionsTable(this.dataList); } } + ngAfterViewInit() { + this.setTableWidgets(); + } + ngOnChanges(changes: SimpleChanges) { if (changes.dataList && !changes.dataList.firstChange) { this.loadTransactionsTable(this.dataList); @@ -62,21 +67,23 @@ export class TransactionsReportTableComponent implements AfterViewInit, OnChange if (changes.filterValue && !changes.filterValue.firstChange) { this.applyFilter(); } - } + } onTransactionClick(selTransaction: any) { const reorderedTransactions = [ - [{key: 'date', value: this.dataRange === SCROLL_RANGES[1] ? this.datePipe.transform(selTransaction.date, 'MMM/yyyy') : this.datePipe.transform(selTransaction.date, 'dd/MMM/yyyy'), title: 'Date', width: 100, type: DataTypeEnum.DATE}], - [{key: 'amount_paid', value: Math.round(selTransaction.amount_paid), title: 'Amount Paid (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'num_payments', value: selTransaction.num_payments, title: '# Payments', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'amount_received', value: Math.round(selTransaction.amount_received), title: 'Amount Received (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'num_invoices', value: selTransaction.num_invoices, title: '# Invoices', width: 50, type: DataTypeEnum.NUMBER}] + [{ key: 'date', value: this.dataRange === SCROLL_RANGES[1] ? this.datePipe.transform(selTransaction.date, 'MMM/yyyy') : this.datePipe.transform(selTransaction.date, 'dd/MMM/yyyy'), title: 'Date', width: 100, type: DataTypeEnum.DATE }], + [{ key: 'amount_paid', value: Math.round(selTransaction.amount_paid), title: 'Amount Paid (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'num_payments', value: selTransaction.num_payments, title: '# Payments', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'amount_received', value: Math.round(selTransaction.amount_received), title: 'Amount Received (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'num_invoices', value: selTransaction.num_invoices, title: '# Invoices', width: 50, type: DataTypeEnum.NUMBER }] ]; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'Transaction Summary', - message: reorderedTransactions - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'Transaction Summary', + message: reorderedTransactions + } + })); } applyFilter() { @@ -87,17 +94,23 @@ export class TransactionsReportTableComponent implements AfterViewInit, OnChange loadTransactionsTable(trans: any[]) { this.transactions = trans ? new MatTableDataSource([...trans]) : new MatTableDataSource([]); - this.transactions.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; - this.transactions.sort = this.sort; - this.transactions.filterPredicate = (rowData: any, fltr: string) => { - const newRowData = ((rowData.date) ? (this.datePipe.transform(rowData.date, 'dd/MMM') + '/' + rowData.date.getFullYear()).toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); - return newRowData.includes(fltr); - }; - this.transactions.paginator = this.paginator; -} + this.setTableWidgets(); + } + + setTableWidgets() { + if (this.transactions && this.transactions.data && this.transactions.data.length > 0) { + this.transactions.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); + this.transactions.sort = this.sort; + this.transactions.filterPredicate = (rowData: any, fltr: string) => { + const newRowData = ((rowData.date) ? (this.datePipe.transform(rowData.date, 'dd/MMM') + '/' + rowData.date.getFullYear()).toLowerCase() : '') + JSON.stringify(rowData).toLowerCase(); + return newRowData.includes(fltr); + }; + this.transactions.paginator = this.paginator; + } + } onDownloadCSV() { - if(this.transactions.data && this.transactions.data.length > 0) { + if (this.transactions.data && this.transactions.data.length > 0) { this.commonService.downloadFile(this.dataList, 'Transactions-report-' + this.dataRange.toLowerCase()); } } diff --git a/src/app/shared/directive/auto-focus.directive.ts b/src/app/shared/directive/auto-focus.directive.ts index 234329d8..947e94bf 100644 --- a/src/app/shared/directive/auto-focus.directive.ts +++ b/src/app/shared/directive/auto-focus.directive.ts @@ -4,6 +4,7 @@ import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core'; selector: '[autoFocus]' }) export class AutoFocusDirective implements AfterContentInit { + @Input() public appAutoFocus: boolean; public constructor(private el: ElementRef) {} @@ -14,4 +15,4 @@ export class AutoFocusDirective implements AfterContentInit { }, 500); } -} \ No newline at end of file +} diff --git a/src/app/shared/directive/clipboard.directive.ts b/src/app/shared/directive/clipboard.directive.ts index 2a0357c2..b7cdaf5f 100644 --- a/src/app/shared/directive/clipboard.directive.ts +++ b/src/app/shared/directive/clipboard.directive.ts @@ -4,10 +4,11 @@ import { Directive, Input, Output, EventEmitter, HostListener } from '@angular/c selector: '[rtlClipboard]' }) export class ClipboardDirective { + @Input() payload: string; @Output() - public copied: EventEmitter = new EventEmitter(); + public readonly copied: EventEmitter = new EventEmitter(); @HostListener('click', ['$event']) public onClick(event: MouseEvent): void { @@ -25,4 +26,5 @@ export class ClipboardDirective { document.execCommand('copy'); document.removeEventListener('copy', listener, false); } + } diff --git a/src/app/shared/directive/date-formats.directive.ts b/src/app/shared/directive/date-formats.directive.ts index e7a0628e..7986eb9e 100644 --- a/src/app/shared/directive/date-formats.directive.ts +++ b/src/app/shared/directive/date-formats.directive.ts @@ -3,6 +3,7 @@ import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter, MatDateFormats } from import { MONTHS } from '../services/consts-enums-functions'; @Injectable() class CustomDateAdapter extends NativeDateAdapter { + format(date: Date, displayFormat: Object): string { if (displayFormat === 'MMM YYYY') { return MONTHS[date.getMonth()].name + ', ' + date.getFullYear(); @@ -12,6 +13,7 @@ import { MONTHS } from '../services/consts-enums-functions'; return date.getDate() + '/' + MONTHS[date.getMonth()].name + '/' + date.getFullYear(); } } + } export const MONTHLY_DATE_FORMATS: MatDateFormats = { @@ -41,17 +43,17 @@ export const YEARLY_DATE_FORMATS: MatDateFormats = { @Directive({ selector: '[monthlyDate]', providers: [ - {provide: DateAdapter, useClass: CustomDateAdapter}, - {provide: MAT_DATE_FORMATS, useValue: MONTHLY_DATE_FORMATS} - ], + { provide: DateAdapter, useClass: CustomDateAdapter }, + { provide: MAT_DATE_FORMATS, useValue: MONTHLY_DATE_FORMATS } + ] }) export class MonthlyDateDirective {} @Directive({ selector: '[yearlyDate]', providers: [ - {provide: DateAdapter, useClass: CustomDateAdapter}, - {provide: MAT_DATE_FORMATS, useValue: YEARLY_DATE_FORMATS} - ], + { provide: DateAdapter, useClass: CustomDateAdapter }, + { provide: MAT_DATE_FORMATS, useValue: YEARLY_DATE_FORMATS } + ] }) export class YearlyDateDirective {} diff --git a/src/app/shared/directive/max-amount.directive.ts b/src/app/shared/directive/max-amount.directive.ts index dda8100a..45918350 100644 --- a/src/app/shared/directive/max-amount.directive.ts +++ b/src/app/shared/directive/max-amount.directive.ts @@ -1,14 +1,16 @@ -import { Directive, Input } from "@angular/core"; +import { Directive, Input } from '@angular/core'; import { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/forms'; @Directive({ - selector: "input[max]", - providers: [{provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true}] + selector: 'input[max]', + providers: [{ provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true }] }) export class MaxValidator implements Validator { - @Input() max:number; + + @Input() max: number; validate(control: AbstractControl): any { return this.max ? Validators.max(+this.max)(control) : null; } -} \ No newline at end of file + +} diff --git a/src/app/shared/directive/min-amount.directive.ts b/src/app/shared/directive/min-amount.directive.ts index a8e5084d..30d19af3 100644 --- a/src/app/shared/directive/min-amount.directive.ts +++ b/src/app/shared/directive/min-amount.directive.ts @@ -3,12 +3,14 @@ import { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/ @Directive({ selector: 'input[min]', - providers: [{provide: NG_VALIDATORS, useExisting: MinValidator, multi: true}] + providers: [{ provide: NG_VALIDATORS, useExisting: MinValidator, multi: true }] }) export class MinValidator implements Validator { - @Input() min:number; + + @Input() min: number; validate(control: AbstractControl): any { return this.min ? Validators.min(+this.min)(control) : null; } + } diff --git a/src/app/shared/models/RTLconfig.ts b/src/app/shared/models/RTLconfig.ts index a8922b74..32dcd768 100644 --- a/src/app/shared/models/RTLconfig.ts +++ b/src/app/shared/models/RTLconfig.ts @@ -1,13 +1,16 @@ import { GetInfoChain } from './lndModels'; export class SSO { + constructor( public rtlSSO: number, public logoutRedirectLink: string ) { } + } export class Settings { + constructor( public userPersona: string, public themeMode: string, @@ -15,24 +18,28 @@ export class Settings { public currencyUnits: Array, public fiatConversion: boolean, public bitcoindConfigPath?: string, - public enableLogging?: boolean, + public logLevel?: string, public lnServerUrl?: string, public swapServerUrl?: string, public boltzServerUrl?: string, public channelBackupPath?: string, public currencyUnit?: string ) { } + } export class Authentication { + constructor( public swapMacaroonPath: string, public boltzMacaroonPath: string, public configPath?: string ) { } + } export class ConfigSettingsNode { + constructor( public settings: Settings, public authentication: Authentication, @@ -40,9 +47,11 @@ export class ConfigSettingsNode { public lnNode?: string, public lnImplementation?: string ) { } + } export class RTLConfiguration { + constructor( public defaultNodeIndex: number, public selectedNodeIndex: number, @@ -50,6 +59,7 @@ export class RTLConfiguration { public enable2FA: boolean, public nodes: ConfigSettingsNode[] ) { } + } export interface GetInfoRoot { @@ -57,17 +67,15 @@ export interface GetInfoRoot { alias?: string; testnet?: boolean; chains?: GetInfoChain[] | string[]; - uris?: string[]; + uris?: string[]; version?: string; api_version?: string; - currency_unit?: string; - smaller_currency_unit?: string; } export interface SelNodeChild { userPersona?: string; channelBackupPath?: string; - selCurrencyUnit?: string; + selCurrencyUnit?: string; currencyUnits?: string[]; fiatConversion?: boolean; lnImplementation?: string; @@ -76,5 +84,7 @@ export interface SelNodeChild { } export class HelpTopic { + constructor(public help: {question: string, answer: string, link?: string, linkCaption?: string, lnImplementation?: string}) { } -} \ No newline at end of file + +} diff --git a/src/app/shared/models/alertData.ts b/src/app/shared/models/alertData.ts index 7eeaa09c..7c927bbf 100644 --- a/src/app/shared/models/alertData.ts +++ b/src/app/shared/models/alertData.ts @@ -47,6 +47,13 @@ export interface CLOnChainSendFunds { component?: any; } +export interface ChannelRebalanceAlert { + alertTitle?: string; + titleMessage?: string; + message?: { channels?: Channel[], selChannel?: Channel }; + component?: any; +} + export interface OpenChannelAlert { alertTitle?: string; titleMessage?: string; @@ -194,5 +201,8 @@ export interface DialogConfig { width?: string; maxWidth?: string; minHeight?: string; - data: AlertData | ConfirmationData | ErrorData | OpenChannelAlert | CLOpenChannelAlert | InvoiceInformation | CLInvoiceInformation | ECLInvoiceInformation | ECLPaymentInformation | ChannelInformation | CLChannelInformation | PendingOpenChannelInformation | OnChainAddressInformation | ShowPubkeyData | LoopAlert | SwapAlert | AuthConfig | OnChainLabelUTXO | OnChainSendFunds | CLOnChainSendFunds | ECLChannelInformation | ECLOpenChannelAlert; + data: AlertData | ConfirmationData | ErrorData | ChannelRebalanceAlert | OpenChannelAlert | CLOpenChannelAlert | InvoiceInformation | + CLInvoiceInformation | ECLInvoiceInformation | ECLPaymentInformation | ChannelInformation | CLChannelInformation | + PendingOpenChannelInformation | OnChainAddressInformation | ShowPubkeyData | LoopAlert | SwapAlert | AuthConfig | + OnChainLabelUTXO | OnChainSendFunds | CLOnChainSendFunds | ECLChannelInformation | ECLOpenChannelAlert; } diff --git a/src/app/shared/models/apiCallsPayload.ts b/src/app/shared/models/apiCallsPayload.ts new file mode 100644 index 00000000..6ad953a2 --- /dev/null +++ b/src/app/shared/models/apiCallsPayload.ts @@ -0,0 +1,62 @@ +import { APICallStatusEnum } from '../services/consts-enums-functions'; + +export interface ApiCallStatusPayload { + action: string; + status: APICallStatusEnum; + statusCode?: string; + message?: string; + URL?: string; + filePath?: string; +} + +export interface ApiCallsListRoot { + Login: any; + IsAuthorized: any; +} + +export interface ApiCallsListLND { + FetchInfo: any; + FetchFees: any; + FetchPendingChannels: any; + FetchAllChannels: any; + FetchBalanceBlockchain: any; + // Non-initial calls + FetchPeers: any; + FetchClosedChannels: any; + FetchInvoices: any; + FetchPayments: any; + GetForwardingHistory: any; + FetchUTXOs: any; + FetchTransactions: any; + FetchNetwork: any; + FetchLightningTransactions: any; +} + +export interface ApiCallsListCL { + FetchInfo: any; + FetchFees: any; + FetchChannels: any; + FetchBalance: any; + FetchLocalRemoteBalance: any; + // Non-initial calls + FetchInvoices: any; + FetchFeeRatesperkb: any; + FetchFeeRatesperkw: any; + FetchPeers: any; + FetchUTXOs: any; + FetchPayments: any; + GetForwardingHistory: any; + GetFailedForwardingHistory: any; +} + +export interface ApiCallsListECL { + FetchInfo: any; + FetchFees: any; + FetchChannels: any; + // Non-initial calls + FetchOnchainBalance: any; + FetchPeers: any; + FetchPayments: any; + FetchInvoices: any; + FetchTransactions: any; +} diff --git a/src/app/shared/models/boltzModels.ts b/src/app/shared/models/boltzModels.ts index 2ad2802f..f43f1419 100644 --- a/src/app/shared/models/boltzModels.ts +++ b/src/app/shared/models/boltzModels.ts @@ -1,6 +1,6 @@ export interface ServiceInfo { - fees?: {percentage?: number; miner: {normal?: number; reverse?: number;}}; - limits?: {minimal?: number; maximal?: number;}; + fees?: {percentage?: number, miner: {normal?: number, reverse?: number}}; + limits?: {minimal?: number, maximal?: number}; } export interface Swap { @@ -65,7 +65,7 @@ export interface CreateSwapResponse { export interface CreateReverseSwapRequest { amount?: number; address?: string; - acceptZeroConf?: boolean + acceptZeroConf?: boolean; } export interface CreateReverseSwapResponse { diff --git a/src/app/shared/models/clModels.ts b/src/app/shared/models/clModels.ts index 6ea17c8e..0b1aeb2a 100644 --- a/src/app/shared/models/clModels.ts +++ b/src/app/shared/models/clModels.ts @@ -5,7 +5,7 @@ export enum feeRateStyle { export interface ChannelStatus { channels?: number; - capacity?:number; + capacity?: number; } export interface ChannelsStatus { @@ -43,14 +43,11 @@ export interface GetInfo { chains?: GetInfoChain[]; msatoshi_fees_collected?: number; fees_collected_msat?: string; - currency_unit?: string; - smaller_currency_unit?: string; lnImplementation?: string; } export interface Fees { feeCollected?: number; - btc_feeCollected?: number; totalTxCount?: number; } @@ -58,9 +55,6 @@ export interface Balance { totalBalance?: number; confBalance?: number; unconfBalance?: number; - btc_totalBalance?: number; - btc_confBalance?: number; - btc_unconfBalance?: number; } export interface LocalRemoteBalance { @@ -68,10 +62,6 @@ export interface LocalRemoteBalance { remoteBalance: number; pendingBalance?: number; inactiveBalance?: number; - btc_localBalance?: number; - btc_remoteBalance?: number; - btc_pendingBalance?: number; - btc_inactiveBalance?: number; } export interface Peer { @@ -104,7 +94,7 @@ export interface ListInvoices { } export interface OnChain { - address?: string; + address?: string; satoshis?: string; feeRate?: string; minconf?: number; @@ -114,17 +104,17 @@ export interface OnChain { export interface Hop { hop_sequence?: number; pubkey_alias?: string; - chan_id?: string; - chan_capacity?: string; - amt_to_forward?: string; - fee?: string; - expiry?: number; - amt_to_forward_msat?: string; + chan_id?: string; + chan_capacity?: string; + amt_to_forward?: string; + fee?: string; + expiry?: number; + amt_to_forward_msat?: string; fee_msat?: string; - pub_key?: string; + pub_key?: string; } -export interface Payment { +export interface MPP { amount_msat?: string; amount_sent_msat?: string; bolt11?: string; @@ -136,13 +126,10 @@ export interface Payment { payment_hash?: string; payment_preimage?: string; status?: string; - is_group?: boolean; - is_expanded?: boolean; - total_parts?: number; - mpps?: MPP[]; + partid?: number; } -export interface MPP { +export interface Payment { amount_msat?: string; amount_sent_msat?: string; bolt11?: string; @@ -154,7 +141,10 @@ export interface MPP { payment_hash?: string; payment_preimage?: string; status?: string; - partid?: number; + is_group?: boolean; + is_expanded?: boolean; + total_parts?: number; + mpps?: MPP[]; } export interface PayRequest { @@ -187,15 +177,6 @@ export interface ForwardingEvent { resolved_time?: number; } -export interface ForwardingHistoryRes { - last_offset_index?: number; - forwarding_events?: ForwardingEvent[]; -} - -export interface QueryRoutes { - routes: Routes[]; -} - export interface Routes { id?: string; channel?: string; @@ -206,6 +187,10 @@ export interface Routes { alias?: string; } +export interface QueryRoutes { + routes: Routes[]; +} + export interface Channel { id?: string; alias?: string; @@ -251,22 +236,29 @@ export interface LookupNode { addresses?: Address[]; } -export interface FeeRates { - perkb?: FeeRatePerObj, - perkw?: FeeRatePerObj, - onchain_fee_estimates?: { - opening_channel_satoshis?: number; - mutual_close_satoshis?: number; - unilateral_close_satoshis?: number; - } -} - export interface FeeRatePerObj { - urgent?: number; - normal?: number; - slow?: number; min_acceptable?: number; max_acceptable?: number; + opening?: number; + mutual_close?: number; + unilateral_close?: number; + delayed_to_us?: number; + htlc_resolution?: number; + penalty?: number; +} + +export interface OnChainFeeEstimates { + opening_channel_satoshis?: number; + mutual_close_satoshis?: number; + unilateral_close_satoshis?: number; + htlc_timeout_satoshis?: number; + htlc_success_satoshis?: number; +} + +export interface FeeRates { + perkb?: FeeRatePerObj; + perkw?: FeeRatePerObj; + onchain_fee_estimates?: OnChainFeeEstimates; } export interface UTXO { @@ -278,3 +270,11 @@ export interface UTXO { address?: string; amount_msat?: string; } + +export interface RoutingPeer { + channel_id?: string; + alias?: string; + events?: number; + total_amount?: number; + total_fee?: number; +} diff --git a/src/app/shared/models/eclModels.ts b/src/app/shared/models/eclModels.ts index 9382d1cb..6821c81d 100644 --- a/src/app/shared/models/eclModels.ts +++ b/src/app/shared/models/eclModels.ts @@ -8,16 +8,9 @@ export interface GetInfo { network?: string; blockHeight?: number; publicAddresses?: string[]; - currency_unit?: string; - smaller_currency_unit?: string; lnImplementation?: string; } -export interface Audit { - fees: Fees; - payments: Payments; -} - export interface Fees { daily_fee?: number; daily_txs?: number; @@ -27,10 +20,13 @@ export interface Fees { monthly_txs?: number; } -export interface Payments { - sent?: PaymentSent[]; - received?: PaymentReceived[]; - relayed?: PaymentRelayed[]; +export interface PaymentSentPart { + id?: string; + amount?: number; + feesPaid?: number; + toChannelId?: string; + toChannelAlias?: string; + timestamp?: number; } export interface PaymentSent { @@ -46,12 +42,9 @@ export interface PaymentSent { parts: PaymentSentPart[]; } -export interface PaymentSentPart { - id?: string; +export interface PaymentReceivedPart { amount?: number; - feesPaid?: number; - toChannelId?: string; - toChannelAlias?: string; + fromChannelId?: string; timestamp?: number; } @@ -62,12 +55,6 @@ export interface PaymentReceived { parts: PaymentReceivedPart[]; } -export interface PaymentReceivedPart { - amount?: number; - fromChannelId?: string; - timestamp?: number; -} - export interface PaymentRelayed { type?: string; amountIn?: number; @@ -82,6 +69,17 @@ export interface PaymentRelayed { timestamp?: number; } +export interface Payments { + sent?: PaymentSent[]; + received?: PaymentReceived[]; + relayed?: PaymentRelayed[]; +} + +export interface Audit { + fees: Fees; + payments: Payments; +} + export interface PayRequest { prefix?: string; timestamp?: number; @@ -124,23 +122,17 @@ export interface OnChainBalance { total?: number; confirmed?: number; unconfirmed?: number; - btc_total?: number; - btc_confirmed?: number; - btc_unconfirmed?: number; } export interface LightningBalance { localBalance: number; remoteBalance: number; pendingBalance?: number; - btc_localBalance?: number; - btc_remoteBalance?: number; - btc_pendingBalance?: number; } export interface ChannelStatus { channels?: number; - capacity?:number; + capacity?: number; } export interface ChannelsStatus { @@ -159,7 +151,7 @@ export interface Peer { } export interface SendPaymentOnChain { - address?: string; + address?: string; amount?: number; blocks?: number; } @@ -178,6 +170,10 @@ export interface Transaction { txid?: string; timestamp?: number; } +export interface Feature { + name?: string; + support?: string; +} export interface Invoice { prefix?: string; @@ -192,12 +188,7 @@ export interface Invoice { expiry?: number; amount?: number; amountSettled?: number; - features?: { activated: Feature[], unknown: Feature[] } -} - -export interface Feature { - name?: string; - support?: string; + features?: { activated: Feature[], unknown: Feature[] }; } export interface LookupNode { diff --git a/src/app/shared/models/errorPayload.ts b/src/app/shared/models/errorPayload.ts deleted file mode 100644 index 9abcb4b0..00000000 --- a/src/app/shared/models/errorPayload.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface ErrorPayload { - action?: string; - code?: string; - message?: string; - URL?: string; - filePath?: string; -} diff --git a/src/app/shared/models/lndModels.ts b/src/app/shared/models/lndModels.ts index 2434a0a5..4039054f 100644 --- a/src/app/shared/models/lndModels.ts +++ b/src/app/shared/models/lndModels.ts @@ -1,6 +1,6 @@ export interface ChannelStatus { channels?: number; - capacity?:number; + capacity?: number; } export interface ChannelsStatus { @@ -17,15 +17,10 @@ export interface AddressType { } export interface Balance { - btc_balance?: number; balance?: number; - btc_pending_open_balance?: number; pending_open_balance?: number; - btc_total_balance?: number; total_balance?: number; - btc_confirmed_balance?: number; confirmed_balance?: number; - btc_unconfirmed_balance?: number; unconfirmed_balance?: number; } @@ -70,17 +65,23 @@ export interface Channel { uptime?: string; uptime_str?: string; lifetime?: string; - static_remote_key?: boolean; + static_remote_key?: boolean; balancedness?: number; // Between -1 to +1 } -export interface PendingChannels { - total_limbo_balance?: number; - btc_total_limbo_balance?: number; - pending_closing_channels?: Array; - pending_force_closing_channels?: Array; - pending_open_channels?: Array; - waiting_close_channels?: Array; +export interface PendingChannel { + remote_alias?: string; + remote_node_pub?: string; + channel_point?: string; + txid_str?: string; + output_index?: number; + capacity?: string; + local_balance?: string; + remote_balance?: string; + local_chan_reserve_sat?: string; + remote_chan_reserve_sat?: string; + initiator?: string; + commitment_type?: string; } export interface PendingClosingChannel { @@ -113,19 +114,12 @@ export interface WaitingCloseChannel { commitments?: any; } -export interface PendingChannel { - remote_alias?: string; - remote_node_pub?: string; - channel_point?: string; - txid_str?: string; - output_index?: number; - capacity?: string; - local_balance?: string; - remote_balance?: string; - local_chan_reserve_sat?: string; - remote_chan_reserve_sat?: string; - initiator?: string; - commitment_type?: string; +export interface PendingChannels { + total_limbo_balance?: number; + pending_closing_channels?: Array; + pending_force_closing_channels?: Array; + pending_open_channels?: Array; + waiting_close_channels?: Array; } export interface ClosedChannel { @@ -142,22 +136,25 @@ export interface ClosedChannel { settled_balance?: string; } -export interface NetworkGraph { - nodes: LightningNode[]; - edges: ChannelEdge[]; +export interface NodeAddress { + network?: string; + addr?: string; } export interface LightningNode { last_update?: number; pub_key?: string; alias?: string; - addresses?: NodeAddress[]; + addresses?: NodeAddress[]; color?: string; } -export interface NodeAddress { - network?: string; - addr?: string; +export interface RoutingPolicy { + time_lock_delta?: number; + min_htlc?: string; + fee_base_msat?: string; + fee_rate_milli_msat?: string; + disabled?: boolean; } export interface ChannelEdge { @@ -171,12 +168,9 @@ export interface ChannelEdge { node2_policy?: RoutingPolicy; } -export interface RoutingPolicy { - time_lock_delta?: number; - min_htlc?: string; - fee_base_msat?: string; - fee_rate_milli_msat?: string; - disabled?: boolean; +export interface NetworkGraph { + nodes: LightningNode[]; + edges: ChannelEdge[]; } export interface SigmaNode { @@ -198,14 +192,31 @@ export interface FeeLimit { fixed?: number; } +export interface ForwardingEvent { + timestamp?: number; + chan_id_out?: string; + alias_out?: string; + amt_out?: string; + amt_out_msat?: string; + amt_in?: string; + amt_in_msat?: string; + chan_id_in?: string; + alias_in?: string; + fee?: string; + fee_msat?: string; +} + +export interface SwitchRes { + last_offset_index?: number; + total_fee_msat?: number; + forwarding_events?: ForwardingEvent[]; +} + export interface Fees { channel_fees?: ChannelFeeReport[]; day_fee_sum?: number; week_fee_sum?: number; month_fee_sum?: number; - btc_day_fee_sum?: number; - btc_week_fee_sum?: number; - btc_month_fee_sum?: number; daily_tx_count?: number; weekly_tx_count?: number; monthly_tx_count?: number; @@ -213,8 +224,8 @@ export interface Fees { } export interface GetInfoChain { - chain?: string; - network?: string; + chain?: string; + network?: string; } export interface GetInfo { @@ -232,8 +243,6 @@ export interface GetInfo { uris?: string[]; best_header_timestamp?: number; version?: string; - currency_unit?: string; - smaller_currency_unit?: string; lnImplementation?: string; } @@ -246,14 +255,39 @@ export interface GraphNode { export interface HopHint { cltv_expiry_delta?: number; node_id?: string; - chan_id?: number; + chan_id?: string; fee_proportional_millionths?: number; fee_base_msat?: number; } +export interface Hop { + hop_sequence?: number; + pubkey_alias?: string; + chan_id?: string; + chan_capacity?: string; + amt_to_forward?: string; + fee?: string; + expiry?: number; + amt_to_forward_msat?: string; + fee_msat?: string; + pub_key?: string; + tlv_payload?: boolean; + mpp_record?: { payment_addr?: string, total_amt_msat?: number }; + custom_records?: any; +} + +export interface Route { + total_time_lock?: number; + total_fees?: string; + total_amt?: string; + hops?: Hop[]; + total_fees_msat?: string; + total_amt_msat?: string; +} + export interface PaymentHTLC { status?: string; - route?: Route; + route?: Route; attempt_time_ns?: string; resolve_time_ns?: string; failure?: any; @@ -273,12 +307,15 @@ export interface InvoiceHTLC { mpp_total_amt_msat?: string; } +export interface RouteHint { + hop_hints?: HopHint[]; +} + export interface Invoice { memo?: string; r_preimage?: string; r_hash?: string; value?: string; - btc_value?: string; value_msat?: string; settled?: boolean; creation_date?: number; @@ -294,12 +331,11 @@ export interface Invoice { settle_index?: string; amt_paid?: string; amt_paid_sat?: string; - btc_amt_paid_sat?: string; amt_paid_msat?: string; state?: string; htlcs?: InvoiceHTLC[]; features?: any; - is_keysend?: boolean; + is_keysend?: boolean; } export interface ListInvoices { @@ -318,17 +354,13 @@ export interface LightningNode { export interface NetworkInfo { num_nodes?: number; - btc_max_channel_size?: string; max_channel_size?: string; - btc_avg_channel_size?: string; avg_channel_size?: string; graph_diameter?: number; num_channels?: number; max_out_degree?: number; - btc_total_network_capacity?: string; total_network_capacity?: string; avg_out_degree?: number; - btc_min_channel_size?: string; min_channel_size?: string; } @@ -337,12 +369,6 @@ export interface NodeAddress { address?: string; } -export interface ListPayments { - payments?: Payment[]; - first_index_offset?: string; - last_index_offset?: string; -} - export interface Payment { creation_date?: number; payment_hash?: string; @@ -350,7 +376,7 @@ export interface Payment { status?: string; fee?: number; fee_sat?: number; - fee_msat?: number; + fee_msat?: number; value_msat?: number; value_sat?: number; value?: number; @@ -362,23 +388,30 @@ export interface Payment { is_expanded?: boolean; } +export interface ListPayments { + payments?: Payment[]; + first_index_offset?: string; + last_index_offset?: string; +} + export interface PayRequest { payment_hash?: string; route_hints?: RouteHint[]; - timestamp?: number; + timestamp?: string; fallback_addr?: string; - cltv_expiry?: number; + cltv_expiry?: string; description_hash?: string; destination?: string; - expiry?: number; + expiry?: string; description?: string; + payment_addr?: string; num_msat?: string; num_satoshis?: string; - btc_num_satoshis?: string; + features?: any; } export interface Peer { - pub_key?: string; + pub_key?: string; alias?: string; address?: string; bytes_sent?: number; @@ -394,35 +427,6 @@ export interface QueryRoutes { routes?: Route[]; } -export interface Hop { - hop_sequence?: number; - pubkey_alias?: string; - chan_id?: string; - chan_capacity?: string; - amt_to_forward?: string; - fee?: string; - expiry?: number; - amt_to_forward_msat?: string; - fee_msat?: string; - pub_key?: string; - tlv_payload?: boolean; - mpp_record?: { payment_addr?: string; total_amt_msat?: number; } - custom_records?: any; -} - -export interface Route { - total_time_lock?: number; - total_fees?: string; - total_amt?: string; - hops?: Hop[]; - total_fees_msat?: string; - total_amt_msat?: string; -} - -export interface RouteHint { - hop_hints?: HopHint[]; -} - export interface SendPayment { dest_string?: string; dest?: string; @@ -435,7 +439,7 @@ export interface SendPayment { } export interface ChannelsTransaction { - address?: string; + address?: string; amount?: number; sendAll?: boolean; blocks?: number; @@ -459,7 +463,7 @@ export interface UTXO { address?: string; amount_sat?: string; pk_script?: string; - outpoint?: {txid_bytes?: string; txid_str?: string; output_index?: number;}; + outpoint?: { txid_bytes?: string, txid_str?: string, output_index?: number }; confirmations?: string; label?: string; } @@ -471,20 +475,6 @@ export interface SwitchReq { start_time?: string; } -export interface ForwardingEvent { - timestamp?: number; - chan_id_out?: string; - alias_out?: string; - amt_out?: string; - amt_out_msat?: string; - amt_in?: string; - amt_in_msat?: string; - chan_id_in?: string; - alias_in?: string; - fee?: string; - fee_msat?: string; -} - export interface RoutingPeers { chan_id?: string; alias?: string; @@ -492,10 +482,9 @@ export interface RoutingPeers { total_amount?: number; } -export interface SwitchRes { - last_offset_index?: number; - total_fee_msat?: number; - forwarding_events?: ForwardingEvent[]; +export interface PendingChannelsData { + num_channels: number; + limbo_balance: number; } export interface PendingChannelsGroup { @@ -506,8 +495,3 @@ export interface PendingChannelsGroup { total_channels?: number; total_limbo_balance?: number; } - -export interface PendingChannelsData { - num_channels: number; - limbo_balance: number; -} diff --git a/src/app/shared/models/navMenu.ts b/src/app/shared/models/navMenu.ts index fed63c4f..46052a38 100644 --- a/src/app/shared/models/navMenu.ts +++ b/src/app/shared/models/navMenu.ts @@ -1,66 +1,8 @@ import { faTachometerAlt, faLink, faBolt, faExchangeAlt, faUsers, faMapSigns, faQuestion, faSearch, faChartBar, faTools, faProjectDiagram, faDownload, faServer, faPercentage, faInfinity, faUserCheck, faLayerGroup, faSync } from '@fortawesome/free-solid-svg-icons'; import { UserPersonaEnum } from '../services/consts-enums-functions'; -export const MENU_DATA: MenuRootNode = { - LNDChildren: [ - {id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/lnd/home', userPersona: UserPersonaEnum.ALL}, - {id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/lnd/onchain', userPersona: UserPersonaEnum.ALL}, - {id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL, children: [ - {id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL}, - {id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/lnd/transactions', userPersona: UserPersonaEnum.ALL}, - {id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/lnd/routing', userPersona: UserPersonaEnum.ALL}, - {id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/lnd/reports', userPersona: UserPersonaEnum.ALL}, - {id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/lnd/lookups', userPersona: UserPersonaEnum.ALL}, - {id: 36, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/lnd/messages', userPersona: UserPersonaEnum.ALL}, - {id: 37, parentId: 3, name: 'Backup', iconType: 'FA', icon: faDownload, link: '/lnd/channelbackup', userPersona: UserPersonaEnum.ALL}, - {id: 38, parentId: 3, name: 'Network', iconType: 'FA', icon: faProjectDiagram, link: '/lnd/network', userPersona: UserPersonaEnum.OPERATOR}, - {id: 39, parentId: 3, name: 'Node/Network', iconType: 'FA', icon: faServer, link: '/lnd/network', userPersona: UserPersonaEnum.MERCHANT} - ]}, - {id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/services/loop', userPersona: UserPersonaEnum.ALL, children: [ - {id: 41, parentId: 4, name: 'Loop', iconType: 'FA', icon: faInfinity, link: '/services/loop', userPersona: UserPersonaEnum.ALL}, - {id: 42, parentId: 4, name: 'Boltz', iconType: 'SVG', icon: 'boltzIconBlock', link: '/services/boltz', userPersona: UserPersonaEnum.ALL} - ]}, - {id: 5, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL}, - {id: 6, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL} - ], - CLChildren: [ - {id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/cl/home', userPersona: UserPersonaEnum.ALL}, - {id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/cl/onchain', userPersona: UserPersonaEnum.ALL}, - {id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/cl/connections', userPersona: UserPersonaEnum.ALL, children: [ - {id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/cl/connections', userPersona: UserPersonaEnum.ALL}, - {id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/cl/transactions', userPersona: UserPersonaEnum.ALL}, - {id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/cl/routing', userPersona: UserPersonaEnum.ALL}, - {id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/cl/reports', userPersona: UserPersonaEnum.ALL}, - {id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/cl/lookups', userPersona: UserPersonaEnum.ALL}, - {id: 36, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/cl/messages', userPersona: UserPersonaEnum.ALL}, - {id: 37, parentId: 3, name: 'Fee Rates', iconType: 'FA', icon: faPercentage, link: '/cl/rates', userPersona: UserPersonaEnum.OPERATOR}, - {id: 38, parentId: 3, name: 'Node/Fee Rates', iconType: 'FA', icon: faServer, link: '/cl/rates', userPersona: UserPersonaEnum.MERCHANT} - ]}, - {id: 4, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL}, - {id: 5, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL} - ], - ECLChildren: [ - {id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/ecl/home', userPersona: UserPersonaEnum.ALL}, - {id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/ecl/onchain', userPersona: UserPersonaEnum.ALL}, - {id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL, children: [ - {id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL}, - {id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/ecl/transactions', userPersona: UserPersonaEnum.ALL}, - {id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/ecl/routing', userPersona: UserPersonaEnum.ALL}, - {id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/ecl/reports', userPersona: UserPersonaEnum.ALL}, - {id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/ecl/lookups', userPersona: UserPersonaEnum.ALL} - ]}, - {id: 4, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL}, - {id: 5, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL} - ] -}; - -export class MenuRootNode { - LNDChildren?: MenuChildNode[]; - CLChildren?: MenuChildNode[]; - ECLChildren?: MenuChildNode[]; -} - export class MenuChildNode { + id: number; parentId: number; name?: string; @@ -69,4 +11,66 @@ export class MenuChildNode { link?: any; userPersona?: string; children?: MenuChildNode[]; + } + +export class MenuRootNode { + + LNDChildren?: MenuChildNode[]; + CLChildren?: MenuChildNode[]; + ECLChildren?: MenuChildNode[]; + +} + +export const MENU_DATA: MenuRootNode = { + LNDChildren: [ + { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/lnd/home', userPersona: UserPersonaEnum.ALL }, + { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/lnd/onchain', userPersona: UserPersonaEnum.ALL }, + { id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL, children: [ + { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL }, + { id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/lnd/transactions', userPersona: UserPersonaEnum.ALL }, + { id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/lnd/routing', userPersona: UserPersonaEnum.ALL }, + { id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/lnd/reports', userPersona: UserPersonaEnum.ALL }, + { id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/lnd/lookups', userPersona: UserPersonaEnum.ALL }, + { id: 36, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/lnd/messages', userPersona: UserPersonaEnum.ALL }, + { id: 37, parentId: 3, name: 'Backup', iconType: 'FA', icon: faDownload, link: '/lnd/channelbackup', userPersona: UserPersonaEnum.ALL }, + { id: 38, parentId: 3, name: 'Network', iconType: 'FA', icon: faProjectDiagram, link: '/lnd/network', userPersona: UserPersonaEnum.OPERATOR }, + { id: 39, parentId: 3, name: 'Node/Network', iconType: 'FA', icon: faServer, link: '/lnd/network', userPersona: UserPersonaEnum.MERCHANT } + ] }, + { id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/services/loop', userPersona: UserPersonaEnum.ALL, children: [ + { id: 41, parentId: 4, name: 'Loop', iconType: 'FA', icon: faInfinity, link: '/services/loop', userPersona: UserPersonaEnum.ALL }, + { id: 42, parentId: 4, name: 'Boltz', iconType: 'SVG', icon: 'boltzIconBlock', link: '/services/boltz', userPersona: UserPersonaEnum.ALL } + ] }, + { id: 5, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL }, + { id: 6, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL } + ], + CLChildren: [ + { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/cl/home', userPersona: UserPersonaEnum.ALL }, + { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/cl/onchain', userPersona: UserPersonaEnum.ALL }, + { id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/cl/connections', userPersona: UserPersonaEnum.ALL, children: [ + { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/cl/connections', userPersona: UserPersonaEnum.ALL }, + { id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/cl/transactions', userPersona: UserPersonaEnum.ALL }, + { id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/cl/routing', userPersona: UserPersonaEnum.ALL }, + { id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/cl/reports', userPersona: UserPersonaEnum.ALL }, + { id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/cl/lookups', userPersona: UserPersonaEnum.ALL }, + { id: 36, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/cl/messages', userPersona: UserPersonaEnum.ALL }, + { id: 37, parentId: 3, name: 'Fee Rates', iconType: 'FA', icon: faPercentage, link: '/cl/rates', userPersona: UserPersonaEnum.OPERATOR }, + { id: 38, parentId: 3, name: 'Node/Fee Rates', iconType: 'FA', icon: faServer, link: '/cl/rates', userPersona: UserPersonaEnum.MERCHANT } + ] }, + { id: 4, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL }, + { id: 5, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL } + ], + ECLChildren: [ + { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/ecl/home', userPersona: UserPersonaEnum.ALL }, + { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/ecl/onchain', userPersona: UserPersonaEnum.ALL }, + { id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL, children: [ + { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL }, + { id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/ecl/transactions', userPersona: UserPersonaEnum.ALL }, + { id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/ecl/routing', userPersona: UserPersonaEnum.ALL }, + { id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/ecl/reports', userPersona: UserPersonaEnum.ALL }, + { id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/ecl/lookups', userPersona: UserPersonaEnum.ALL } + ] }, + { id: 4, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL }, + { id: 5, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL } + ] +}; diff --git a/src/app/shared/services/auth.guard.ts b/src/app/shared/services/auth.guard.ts index d97f9a43..ec7571cd 100644 --- a/src/app/shared/services/auth.guard.ts +++ b/src/app/shared/services/auth.guard.ts @@ -7,6 +7,7 @@ import { map } from 'rxjs/operators'; @Injectable() export class AuthGuard implements CanActivate { + constructor(private router: Router, private sessionService: SessionService) {} canActivate(route: ActivatedRouteSnapshot): boolean | Observable | Promise { @@ -19,31 +20,38 @@ export class AuthGuard implements CanActivate { return true; } } + } @Injectable() export class LNDUnlockedGuard implements CanActivate { + constructor(private sessionService: SessionService) {} canActivate(): boolean | Observable | Promise { - return !!this.sessionService.watchSession().pipe(map(session => session.lndUnlocked)); + return !!this.sessionService.watchSession().pipe(map((session) => session.lndUnlocked)); } + } @Injectable() export class CLUnlockedGuard implements CanActivate { + constructor(private sessionService: SessionService) {} canActivate(): boolean | Observable | Promise { - return !!this.sessionService.watchSession().pipe(map(session => session.clUnlocked)); + return !!this.sessionService.watchSession().pipe(map((session) => session.clUnlocked)); } + } @Injectable() export class ECLUnlockedGuard implements CanActivate { + constructor(private sessionService: SessionService) {} canActivate(): boolean | Observable | Promise { - return !!this.sessionService.watchSession().pipe(map(session => session.eclUnlocked)); + return !!this.sessionService.watchSession().pipe(map((session) => session.eclUnlocked)); } + } diff --git a/src/app/shared/services/boltz.service.ts b/src/app/shared/services/boltz.service.ts index ba833f91..9aa8c477 100644 --- a/src/app/shared/services/boltz.service.ts +++ b/src/app/shared/services/boltz.service.ts @@ -1,13 +1,14 @@ import { Injectable, OnDestroy } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { BehaviorSubject, Subject, throwError } from 'rxjs'; -import { catchError, takeUntil } from 'rxjs/operators'; +import { catchError, takeUntil, map } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { environment, API_URL } from '../../../environments/environment'; import { ErrorMessageComponent } from '../components/data-modal/error-message/error-message.component'; +import { CommonService } from './common.service'; import { LoggerService } from './logger.service'; -import { AlertTypeEnum } from './consts-enums-functions'; +import { AlertTypeEnum, UI_MESSAGES } from './consts-enums-functions'; import { ListSwaps } from '../models/boltzModels'; import * as RTLActions from '../../store/rtl.actions'; @@ -15,143 +16,128 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; @Injectable() export class BoltzService implements OnDestroy { + private swapUrl = ''; private swaps: ListSwaps = {}; public swapsChanged = new BehaviorSubject({}); private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store) {} + constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store, private commonService: CommonService) { } getSwapsList() { return this.swaps; } listSwaps() { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Boltz Swaps...')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_BOLTZ_SWAPS)); this.swapUrl = API_URL + environment.BOLTZ_API + '/listSwaps'; - this.httpClient.get(this.swapUrl) - .pipe(takeUntil(this.unSubs[0])) - .subscribe((swapResponse: ListSwaps) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.swaps = swapResponse; - this.swapsChanged.next(this.swaps); - }, err => { - return this.handleErrorWithAlert('List Swaps', err); - }); + this.httpClient.get(this.swapUrl). + pipe(takeUntil(this.unSubs[0])). + subscribe({ + next: (swapResponse: ListSwaps) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_BOLTZ_SWAPS)); + this.swaps = swapResponse; + this.swapsChanged.next(this.swaps); + }, error: (err) => this.handleErrorWithAlert(UI_MESSAGES.GET_BOLTZ_SWAPS, this.swapUrl, err) + }); } swapInfo(id: string) { this.swapUrl = API_URL + environment.BOLTZ_API + '/swapInfo/' + id; - return this.httpClient.get(this.swapUrl).pipe(catchError(err => this.handleErrorWithAlert(this.swapUrl, err))); + return this.httpClient.get(this.swapUrl).pipe(catchError((err) => this.handleErrorWithAlert(UI_MESSAGES.NO_SPINNER, this.swapUrl, err))); } serviceInfo() { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_SERVICE_INFO)); this.swapUrl = API_URL + environment.BOLTZ_API + '/serviceInfo'; - return this.httpClient.get(this.swapUrl).pipe(catchError(err => this.handleErrorWithAlert('Service Info', err))); + return this.httpClient.get(this.swapUrl).pipe( + takeUntil(this.unSubs[1]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_SERVICE_INFO)); + return res; + }), + catchError((err) => this.handleErrorWithAlert(UI_MESSAGES.GET_SERVICE_INFO, this.swapUrl, err)) + ); } swapOut(amount: number, address: string) { - let requestBody = { amount: amount, address: address }; + const requestBody = { amount: amount, address: address }; this.swapUrl = API_URL + environment.BOLTZ_API + '/createreverseswap'; - return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError(err => this.handleErrorWithoutAlert('Swap Out for Address: ' + address, err))); + return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Swap Out for Address: ' + address, UI_MESSAGES.NO_SPINNER, err))); } swapIn(amount: number) { - let requestBody = { amount: amount }; + const requestBody = { amount: amount }; this.swapUrl = API_URL + environment.BOLTZ_API + '/createswap'; - return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError(err => this.handleErrorWithoutAlert('Swap In for Amount: ' + amount, err))); + return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Swap In for Amount: ' + amount, UI_MESSAGES.NO_SPINNER, err))); } - handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { + handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) { + let errMsg = ''; this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); - this.store.dispatch(new RTLActions.CloseSpinner()) + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); if (err.status === 401) { + errMsg = 'Unauthorized User.'; this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.Logout()); - } else if (err.error.errno === 'ECONNREFUSED' || err.error.error.errno === 'ECONNREFUSED') { + } else if (err.status === 503) { + errMsg = 'Unable to Connect to Boltz Server.'; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: 'ERROR', alertTitle: 'Boltz Not Connected', - message: { code: 'ECONNREFUSED', message: 'Unable to Connect to Boltz Server.', URL: actionName }, + message: { code: err.status, message: 'Unable to Connect to Boltz Server', URL: actionName }, component: ErrorMessageComponent } })); - } else if (err.error) { - let msg = ''; - if (err.error.error) { - if (typeof(err.error.error) === 'string') { - msg = err.error.error; - } else { - if (err.error.error.code) { - msg = msg + 'Code: ' + err.error.error.code + ', '; - } - if (err.error.error.message) { - msg = msg + err.error.error.message; - } - } - } else if (err.error.message) { - msg = err.error.message; - } else { - msg = (typeof(err.error) === 'object') ? JSON.stringify(err.error) : err.error; - } - return throwError({code: err.status, message: msg}); + } else { + errMsg = this.commonService.extractErrorMessage(err); } - return throwError(JSON.stringify(err)); + return throwError(() => new Error(errMsg)); } - handleErrorWithAlert(errURL: string, err: any) { + handleErrorWithAlert(uiMessage: string, errURL: string, err: any) { + let errMsg = ''; if (err.status === 401) { this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.Logout()); } this.logger.error(err); - this.store.dispatch(new RTLActions.CloseSpinner()) + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); if (err.status === 401) { + errMsg = 'Unauthorized User.'; this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.Logout()); - } else if (err.errno === 'ECONNREFUSED' || err.error.errno === 'ECONNREFUSED' || err.error.error.errno === 'ECONNREFUSED') { + } else if (err.status === 503) { + errMsg = 'Unable to Connect to Boltz Server.'; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: 'ERROR', alertTitle: 'Boltz Not Connected', - message: { code: 'ECONNREFUSED', message: 'Unable to Connect to Boltz Server', URL: errURL }, + message: { code: err.status, message: 'Unable to Connect to Boltz Server', URL: errURL }, component: ErrorMessageComponent } })); } else { - let msg = ''; - if (err.error.error) { - if (typeof(err.error.error) === 'string') { - msg = err.error.error; - } else { - if (err.error.error.code) { - msg = msg + 'Code: ' + err.error.error.code + ', '; - } - if (err.error.error.message) { - msg = msg + err.error.error.message; - } - } - } else if (err.error.message) { - msg = err.error.message; - } else { - msg = (typeof(err.error) === 'object') ? JSON.stringify(err.error) : err.error; - } - this.store.dispatch(new RTLActions.OpenAlert({data: { + errMsg = this.commonService.extractErrorMessage(err); + const errCode = (err.error && err.error.error && err.error.error.code) ? err.error.error.code : (err.error && err.error.code) ? err.error.code : err.code ? err.code : err.status; + this.store.dispatch(new RTLActions.OpenAlert({ + data: { type: AlertTypeEnum.ERROR, alertTitle: 'ERROR', - message: { code: (err.error && err.error.error && err.error.error.code) ? err.error.error.code : err.status, message: msg != '' ? msg : 'Unknown Error', URL: errURL }, + message: { code: errCode, message: errMsg, URL: errURL }, component: ErrorMessageComponent } })); } - return throwError(err); + return throwError(() => new Error(errMsg)); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/services/common.service.ts b/src/app/shared/services/common.service.ts index 09e83d36..385feef6 100644 --- a/src/app/shared/services/common.service.ts +++ b/src/app/shared/services/common.service.ts @@ -1,19 +1,22 @@ import { Injectable } from '@angular/core'; -import { of, Observable } from 'rxjs'; -import { take, map } from 'rxjs/operators'; +import { of, Observable, throwError } from 'rxjs'; +import { take, map, catchError } from 'rxjs/operators'; +import { LoggerService } from './logger.service'; import { DataService } from './data.service'; -import { CurrencyUnitEnum, TimeUnitEnum, ScreenSizeEnum } from './consts-enums-functions'; +import { CurrencyUnitEnum, TimeUnitEnum, ScreenSizeEnum, APICallStatusEnum } from './consts-enums-functions'; @Injectable() export class CommonService { + currencyUnits = []; CurrencyUnitEnum = CurrencyUnitEnum; conversionData = { data: null, last_fetched: null }; + private ratesAPIStatus = APICallStatusEnum.UN_INITIATED; private screenSize = ScreenSizeEnum.MD; - private containerSize = {width: 1200, height: 800}; + private containerSize = { width: 1200, height: 800 }; - constructor(private dataService: DataService) {} + constructor(public dataService: DataService, private logger: LoggerService) { } getScreenSize() { return this.screenSize; @@ -28,27 +31,27 @@ export class CommonService { } setContainerSize(width: number, height) { - this.containerSize = {width: width, height: height}; + this.containerSize = { width: width, height: height }; } sortByKey(array: any[], key: string, keyDataType: string, direction = 'asc') { if (keyDataType === 'number') { if (direction === 'desc') { - return array.sort((a, b) => +a[key] > +b[key] ? -1 : 1); + return array.sort((a, b) => (+a[key] > +b[key] ? -1 : 1)); } else { - return array.sort((a, b) => +a[key] > +b[key] ? 1 : -1); + return array.sort((a, b) => (+a[key] > +b[key] ? 1 : -1)); } } else { if (direction === 'desc') { - return array.sort((a, b) => a[key] > b[key] ? -1 : 1); + return array.sort((a, b) => (a[key] > b[key] ? -1 : 1)); } else { - return array.sort((a, b) => a[key] > b[key] ? 1 : -1); + return array.sort((a, b) => (a[key] > b[key] ? 1 : -1)); } } } sortDescByKey(array, key) { - return array.sort(function (a, b) { + return array.sort((a, b) => { const x = +a[key]; const y = +b[key]; return ((x > y) ? -1 : ((x < y) ? 1 : 0)); @@ -56,7 +59,7 @@ export class CommonService { } sortAscByKey(array, key) { - return array.sort(function (a, b) { + return array.sort((a, b) => { const x = +a[key]; const y = +b[key]; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); @@ -64,28 +67,36 @@ export class CommonService { } camelCase(str) { - return str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index == 0 ? word.toLowerCase() : word.toUpperCase(); - }).replace(/\s+/g, ''); - } + return str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => (index === 0 ? word.toLowerCase() : word.toUpperCase())).replace(/\s+/g, ''); + } titleCase(str) { - return str.charAt(0).toUpperCase() + str.substring(1).toLowerCase(); - } + if (str.indexOf('!\n') > 0 || str.indexOf('.\n') > 0) { + return str.split('\n').reduce((accumulator, currentStr) => accumulator + currentStr.charAt(0).toUpperCase() + currentStr.substring(1).toLowerCase() + '\n', ''); + } else { + return str.charAt(0).toUpperCase() + str.substring(1).toLowerCase(); + } + } - convertCurrency(value: number, from: string, otherCurrencyUnit: string, fiatConversion: boolean): Observable { - let latest_date = new Date().valueOf(); - if(fiatConversion && otherCurrencyUnit) { - if(this.conversionData.data && this.conversionData.last_fetched && (latest_date < (this.conversionData.last_fetched.valueOf() + 300000))) { + convertCurrency(value: number, from: string, to: string, otherCurrencyUnit: string, fiatConversion: boolean): Observable { + const latest_date = new Date().valueOf(); + if (fiatConversion && otherCurrencyUnit && this.ratesAPIStatus !== APICallStatusEnum.INITIATED && (from === CurrencyUnitEnum.OTHER || to === CurrencyUnitEnum.OTHER)) { + if (this.conversionData.data && this.conversionData.last_fetched && (latest_date < (this.conversionData.last_fetched.valueOf() + 300000))) { return of(this.convertWithFiat(value, from, otherCurrencyUnit)); } else { - return this.dataService.getFiatRates() - .pipe(take(1), - map((data: any) => { - this.conversionData.data = (data && typeof data === 'object') ? data : (data && typeof data === 'string') ? JSON.parse(data) : {}; - this.conversionData.last_fetched = latest_date; - return this.convertWithFiat(value, from, otherCurrencyUnit); - })); + this.ratesAPIStatus = APICallStatusEnum.INITIATED; + return this.dataService.getFiatRates().pipe(take(1), + map((data: any) => { + this.ratesAPIStatus = APICallStatusEnum.COMPLETED; + this.conversionData.data = (data && typeof data === 'object') ? data : (data && typeof data === 'string') ? JSON.parse(data) : {}; + this.conversionData.last_fetched = latest_date; + return this.convertWithFiat(value, from, otherCurrencyUnit); + }), + catchError((err) => { + this.ratesAPIStatus = APICallStatusEnum.ERROR; + return throwError(() => this.extractErrorMessage(err, 'Currency Conversion Error.')); + }) + ); } } else { return of(this.convertWithoutFiat(value, from)); @@ -93,7 +104,7 @@ export class CommonService { } convertWithoutFiat(value: number, from: string) { - let returnValue = {}; + const returnValue = {}; returnValue[CurrencyUnitEnum.SATS] = 0; returnValue[CurrencyUnitEnum.BTC] = 0; switch (from) { @@ -112,7 +123,7 @@ export class CommonService { } convertWithFiat(value: number, from: string, otherCurrencyUnit: string) { - let returnValue = {unit: otherCurrencyUnit, symbol: this.conversionData.data[otherCurrencyUnit].symbol}; + const returnValue = { unit: otherCurrencyUnit, symbol: this.conversionData.data[otherCurrencyUnit].symbol }; returnValue[CurrencyUnitEnum.SATS] = 0; returnValue[CurrencyUnitEnum.BTC] = 0; returnValue[CurrencyUnitEnum.OTHER] = 0; @@ -206,10 +217,6 @@ export class CommonService { return value; } - // convertTimestampToDate(num: number) { - // return new Date(num * 1000).toUTCString().substring(5, 22).replace(' ', '/').replace(' ', '/').toUpperCase(); - // }; - downloadFile(data: any[], filename: string, fromFormat = '.json', toFormat = '.csv') { let blob = new Blob(); if (fromFormat === '.json') { @@ -217,9 +224,9 @@ export class CommonService { } else { blob = new Blob([data.toString()], { type: 'text/plain;charset=utf-8' }); } - let downloadUrl = document.createElement('a'); - let url = URL.createObjectURL(blob); - let isSafariBrowser = navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1; + const downloadUrl = document.createElement('a'); + const url = URL.createObjectURL(blob); + const isSafariBrowser = navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1; if (isSafariBrowser) { downloadUrl.setAttribute('target', '_blank'); } @@ -232,28 +239,30 @@ export class CommonService { } convertToCSV(objArray: any[]) { - let keys = []; + const keys = []; let dataRow = ''; let arrayField = ''; let csvStrArray = ''; - if (typeof objArray !== 'object') { objArray = JSON.parse(objArray); } + if (typeof objArray !== 'object') { + objArray = JSON.parse(objArray); + } objArray.forEach((obj, i) => { - for(var key in obj) { - if (keys.findIndex(keyEle => keyEle === key) < 0) { - keys.push(key); + for (const key in obj) { + if (keys.findIndex((keyEle) => keyEle === key) < 0) { + keys.push(key); } } }); - let header = keys.join(','); + const header = keys.join(','); csvStrArray = header + '\r\n'; - objArray.forEach(obj => { + objArray.forEach((obj) => { dataRow = ''; - keys.forEach(key => { - if (obj.hasOwnProperty(key)) { + keys.forEach((key) => { + if (obj.hasOwnProperty(key)) { if (Array.isArray(obj[key])) { arrayField = ''; obj[key].forEach((arrEl, i) => { - if(typeof arrEl === 'object') { + if (typeof arrEl === 'object') { arrayField += '(' + JSON.stringify(arrEl).replace(/\,/g, ';') + ')'; } else { arrayField += '(' + arrEl + ')'; @@ -261,14 +270,14 @@ export class CommonService { }); dataRow += arrayField + ','; } else { - if(typeof obj[key] === 'object') { - dataRow += JSON.stringify(obj[key]).replace(/\,/g, ';') + ','; + if (typeof obj[key] === 'object') { + dataRow += JSON.stringify(obj[key]).replace(/\,/g, ';') + ','; } else { - dataRow += obj[key] + ','; + dataRow += obj[key] + ','; } } } else { - dataRow += ','; + dataRow += ','; } }); csvStrArray += dataRow.slice(0, -1) + '\r\n'; @@ -277,11 +286,47 @@ export class CommonService { } isVersionCompatible(currentVersion, checkVersion) { - let versionsArr = currentVersion.trim().replace('v', '').split('-')[0].split('.'); - let checkVersionsArr = checkVersion.split('.'); - return (+versionsArr[0] > +checkVersionsArr[0]) - || (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] > +checkVersionsArr[1]) - || (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] === +checkVersionsArr[1] && +versionsArr[2] >= +checkVersionsArr[2]); + const versionsArr = currentVersion ? currentVersion.trim().replace('v', ''). + split('-')[0]. + split('.') : []; + const checkVersionsArr = checkVersion.split('.'); + return (+versionsArr[0] > +checkVersionsArr[0]) || + (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] > +checkVersionsArr[1]) || + (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] === +checkVersionsArr[1] && +versionsArr[2] >= +checkVersionsArr[2]); + } + + extractErrorMessage(err: any, genericErrorMessage: string = 'Unknown Error.') { + const msg = this.titleCase((err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : + (err.error && err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : + (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : + (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : + (err.error && typeof err.error === 'string') ? err.error : + (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message : + (err.error && err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message : + (err.error && err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message : + (err.error && err.error.message && typeof err.error.message === 'string') ? err.error.message : + (err.message && typeof err.message === 'string') ? err.message : genericErrorMessage); + this.logger.info('Error Message: ' + msg); + return msg; + } + + extractErrorCode(err: any, genericErrorCode: number = 500) { + const code = (err.error && err.error.error && err.error.error.message && err.error.error.message.code) ? err.error.error.message.code : + (err.error && err.error.error && err.error.error.code) ? err.error.error.code : + (err.error && err.error.code) ? err.error.code : + err.code ? err.code : + err.status ? err.status : genericErrorCode; + this.logger.info('Error Code: ' + code); + return code; + } + + extractErrorNumber(err: any, genericErrorNumber: number = 500) { + const errNum = (err.error && err.error.error && err.error.error.errno) ? err.error.error.errno : + (err.error && err.error.errno) ? err.error.errno : + err.errno ? err.errno : + err.status ? err.status : genericErrorNumber; + this.logger.info('Error Number: ' + errNum); + return errNum; } } diff --git a/src/app/shared/services/consts-enums-functions.ts b/src/app/shared/services/consts-enums-functions.ts index bd9f8abb..de07940a 100644 --- a/src/app/shared/services/consts-enums-functions.ts +++ b/src/app/shared/services/consts-enums-functions.ts @@ -6,17 +6,17 @@ export function getPaginatorLabel(field: string) { return appPaginator; } -export const CURRENCY_UNITS = [ 'Sats', 'BTC' ]; -export const CURRENCY_UNIT_FORMATS = { Sats: '1.0-0', BTC: '1.6-6', OTHER: '1.2-2'}; +export const CURRENCY_UNITS = ['Sats', 'BTC']; +export const CURRENCY_UNIT_FORMATS = { Sats: '1.0-0', BTC: '1.6-6', OTHER: '1.2-2' }; export const FIAT_CURRENCY_UNITS = [ - {id: 'USD', name: 'USD'}, - {id: 'AUD', name: 'AUD'}, {id: 'BRL', name: 'BRL'}, {id: 'CAD', name: 'CAD'}, - {id: 'CHF', name: 'CHF'}, {id: 'CLP', name: 'CLP'}, {id: 'CNY', name: 'CNY'}, - {id: 'DKK', name: 'DKK'}, {id: 'EUR', name: 'EUR'}, {id: 'GBP', name: 'GBP'}, - {id: 'HKD', name: 'HKD'}, {id: 'INR', name: 'INR'}, {id: 'ISK', name: 'ISK'}, - {id: 'JPY', name: 'JPY'}, {id: 'KRW', name: 'KRW'}, {id: 'NZD', name: 'NZD'}, - {id: 'PLN', name: 'PLN'}, {id: 'RUB', name: 'RUB'}, {id: 'SEK', name: 'SEK'}, - {id: 'SGD', name: 'SGD'}, {id: 'THB', name: 'THB'}, {id: 'TWD', name: 'TWD'} + { id: 'USD', name: 'USD' }, + { id: 'AUD', name: 'AUD' }, { id: 'BRL', name: 'BRL' }, { id: 'CAD', name: 'CAD' }, + { id: 'CHF', name: 'CHF' }, { id: 'CLP', name: 'CLP' }, { id: 'CNY', name: 'CNY' }, + { id: 'DKK', name: 'DKK' }, { id: 'EUR', name: 'EUR' }, { id: 'GBP', name: 'GBP' }, + { id: 'HKD', name: 'HKD' }, { id: 'INR', name: 'INR' }, { id: 'ISK', name: 'ISK' }, + { id: 'JPY', name: 'JPY' }, { id: 'KRW', name: 'KRW' }, { id: 'NZD', name: 'NZD' }, + { id: 'PLN', name: 'PLN' }, { id: 'RUB', name: 'RUB' }, { id: 'SEK', name: 'SEK' }, + { id: 'SGD', name: 'SGD' }, { id: 'THB', name: 'THB' }, { id: 'TWD', name: 'TWD' } ]; export const TIME_UNITS = ['SECS', 'MINS', 'HOURS', 'DAYS']; @@ -25,38 +25,39 @@ export const PAGE_SIZE = 10; export const PAGE_SIZE_OPTIONS = [5, 10, 25, 100]; export const ADDRESS_TYPES = [ - { addressId: '0', addressCode: 'bech32', addressTp: 'Bech32 (P2WKH)', addressDetails: 'Pay to witness key hash'}, - { addressId: '1', addressCode: 'p2sh-segwit', addressTp: 'P2SH (NP2WKH)', addressDetails: 'Pay to nested witness key hash (default)'} + { addressId: '0', addressCode: 'bech32', addressTp: 'Bech32 (P2WKH)', addressDetails: 'Pay to witness key hash' }, + { addressId: '1', addressCode: 'p2sh-segwit', addressTp: 'P2SH (NP2WKH)', addressDetails: 'Pay to nested witness key hash (default)' } ]; export const TRANS_TYPES = [ - {id: '0', name: 'Priority (Default)'}, - {id: '1', name: 'Target Confirmation Blocks'}, - {id: '2', name: 'Fee'} + { id: '0', name: 'Priority (Default)' }, + { id: '1', name: 'Target Confirmation Blocks' }, + { id: '2', name: 'Fee' } ]; export const FEE_LIMIT_TYPES = [ - {id: 'none', name: 'No Fee Limit', placeholder: 'No Limit'}, - {id: 'fixed', name: 'Fixed Limit (Sats)', placeholder: 'Fixed Limit in Sats'}, - {id: 'percent', name: 'Percentage of Payment Amount', placeholder: 'Percentage Limit'} + { id: 'none', name: 'No Fee Limit', placeholder: 'No Limit' }, + { id: 'fixed', name: 'Fixed Limit (Sats)', placeholder: 'Fixed Limit in Sats' }, + { id: 'percent', name: 'Percentage of Payment Amount', placeholder: 'Percentage Limit' } ]; export const FEE_RATE_TYPES = [ - { feeRateId: 'urgent', feeRateType: 'Urgent'}, - { feeRateId: 'normal', feeRateType: 'Normal'}, - { feeRateId: 'slow', feeRateType: 'Slow'}, -] + { feeRateId: 'urgent', feeRateType: 'Urgent' }, + { feeRateId: 'normal', feeRateType: 'Normal' }, + { feeRateId: 'slow', feeRateType: 'Slow' }, + { feeRateId: 'customperkb', feeRateType: 'Custom (Sats/vB)' } +]; export const NODE_SETTINGS = { themes: [ - {id: 'PURPLE', name: 'Diogo'}, - {id: 'TEAL', name: 'My2Sats'}, - {id: 'INDIGO', name: 'RTL'}, - {id: 'PINK', name: 'BK'}, - {id: 'YELLOW', name: 'Gold'} + { id: 'PURPLE', name: 'Diogo' }, + { id: 'TEAL', name: 'My2Sats' }, + { id: 'INDIGO', name: 'RTL' }, + { id: 'PINK', name: 'BK' }, + { id: 'YELLOW', name: 'Gold' } ], - modes: [{id: 'DAY', name: 'Day'}, {id: 'NIGHT', name: 'Night'}] + modes: [{ id: 'DAY', name: 'Day' }, { id: 'NIGHT', name: 'Night' }] }; export enum UserPersonaEnum { @@ -105,8 +106,8 @@ export enum ScreenSizeEnum { XS = 'XS', // < 600 => mobile handsets SM = 'SM', // 600 - 839 => tab portrait MD = 'MD', // 840 - 1239 => tab landscape & small laptops - LG = 'LG', // 1240 - 1800 => small laptops - XL = 'XL' // >1801 => big laptops + LG = 'LG', // 1240 - 1800 => small laptops + XL = 'XL' // >1801 => big laptops } export const CHANNEL_CLOSURE_TYPE = { @@ -116,22 +117,36 @@ export const CHANNEL_CLOSURE_TYPE = { BREACH_CLOSE: { name: 'Breach Close', tooltip: 'Remote node attempted to broadcast a prior revoked channel state' }, FUNDING_CANCELED: { name: 'Funding Canceled', tooltip: 'Channel never fully opened' }, ABANDONED: { name: 'Abandoned', tooltip: 'Channel abandoned by the local node' } -} +}; export const WALLET_ADDRESS_TYPE = { WITNESS_PUBKEY_HASH: { name: 'Witness Pubkey Hash', tooltip: '' }, NESTED_PUBKEY_HASH: { name: 'Nested Pubkey Hash', tooltip: '' }, UNUSED_WITNESS_PUBKEY_HASH: { name: 'Unused Witness Pubkey Hash', tooltip: '' }, UNUSED_NESTED_PUBKEY_HASH: { name: 'Unused Nested Pubkey Hash', tooltip: '' } +}; + +export enum CLChannelPendingState { + CHANNELD_NORMAL = 'Active', + OPENINGD = 'Opening', + CHANNELD_AWAITING_LOCKIN = 'Pending Open', + CHANNELD_SHUTTING_DOWN = 'Shutting Down', + CLOSINGD_SIGEXCHANGE = 'Closing: Sig Exchange', + CLOSINGD_COMPLETE = 'Closed', + AWAITING_UNILATERAL = 'Awaiting Unilateral Close', + FUNDING_SPEND_SEEN = 'Funding Spend Seen', + ONCHAIN = 'Onchain', + DUALOPEND_OPEN_INIT = 'Dual Open Initialized', + DUALOPEND_AWAITING_LOCKIN = 'Dual Pending Open' } export enum LoopStateEnum { - INITIATED = 'Initiated', - PREIMAGE_REVEALED = 'Preimage Revealed', - HTLC_PUBLISHED = 'HTLC Published', - SUCCESS = 'Successful', - FAILED = 'Failed', - INVOICE_SETTLED = 'Invoice Settled' + INITIATED = 'Initiated', + PREIMAGE_REVEALED = 'Preimage Revealed', + HTLC_PUBLISHED = 'HTLC Published', + SUCCESS = 'Successful', + FAILED = 'Failed', + INVOICE_SETTLED = 'Invoice Settled' } export enum LoopTypeEnum { @@ -145,39 +160,39 @@ export enum SwapTypeEnum { } export enum SwapStateEnum { - 'swap.created' = 'Swap Created', - 'swap.expired' = 'Swap Expired', - 'invoice.set' = 'Invoice Set', - 'invoice.paid' = 'Invoice Paid', - 'invoice.pending' = 'Invoice Pending', - 'invoice.settled' = 'Invoice Settled', - 'invoice.failedToPay' = 'Invoice Failed To Pay', - 'channel.created' = 'Channel Created', - 'transaction.failed' = 'Transaction Failed', - 'transaction.mempool' = 'Transaction Mempool', - 'transaction.claimed' = 'Transaction Claimed', - 'transaction.refunded' = 'Transaction Refunded', - 'transaction.confirmed' = 'Transaction Confirmed', - 'swap.refunded' = 'Swap Refunded', - 'swap.abandoned' = 'Swap Abandoned' + 'swap.created' = 'Swap Created', + 'swap.expired' = 'Swap Expired', + 'invoice.set' = 'Invoice Set', + 'invoice.paid' = 'Invoice Paid', + 'invoice.pending' = 'Invoice Pending', + 'invoice.settled' = 'Invoice Settled', + 'invoice.failedToPay' = 'Invoice Failed To Pay', + 'channel.created' = 'Channel Created', + 'transaction.failed' = 'Transaction Failed', + 'transaction.mempool' = 'Transaction Mempool', + 'transaction.claimed' = 'Transaction Claimed', + 'transaction.refunded' = 'Transaction Refunded', + 'transaction.confirmed' = 'Transaction Confirmed', + 'swap.refunded' = 'Swap Refunded', + 'swap.abandoned' = 'Swap Abandoned' } export const MONTHS = [ - {name: 'Jan', days: 31}, - {name: 'Feb', days: 28}, - {name: 'Mar', days: 31}, - {name: 'Apr', days: 30}, - {name: 'May', days: 31}, - {name: 'Jun', days: 30}, - {name: 'Jul', days: 31}, - {name: 'Aug', days: 31}, - {name: 'Sep', days: 30}, - {name: 'Oct', days: 31}, - {name: 'Nov', days: 30}, - {name: 'Dec', days: 31} + { name: 'Jan', days: 31 }, + { name: 'Feb', days: 28 }, + { name: 'Mar', days: 31 }, + { name: 'Apr', days: 30 }, + { name: 'May', days: 31 }, + { name: 'Jun', days: 30 }, + { name: 'Jul', days: 31 }, + { name: 'Aug', days: 31 }, + { name: 'Sep', days: 30 }, + { name: 'Oct', days: 31 }, + { name: 'Nov', days: 30 }, + { name: 'Dec', days: 31 } ]; -export const SCROLL_RANGES = ['MONTHLY','YEARLY']; +export const SCROLL_RANGES = ['MONTHLY', 'YEARLY']; export enum ServicesEnum { LOOP = 'LOOP', @@ -185,3 +200,67 @@ export enum ServicesEnum { } export const PASSWORD_BLACKLIST = ['password', 'changeme', 'moneyprintergobrrr']; + +export enum APICallStatusEnum { + UN_INITIATED = 'UN_INITIATED', + INITIATED = 'INITIATED', + COMPLETED = 'COMPLETED', + ERROR = 'ERROR' +} + +export const UI_MESSAGES = { + NO_SPINNER: 'No Spinner...', + GET_NODE_INFO: 'Getting Node Information...', + INITALIZE_NODE_DATA: 'Initializing Node Data...', + GENERATE_NEW_ADDRESS: 'Getting New Address...', + SEND_FUNDS: 'Sending Funds...', + UPDATE_CHAN_POLICY: 'Updating Channel Policy...', + GET_CHAN_POLICY: 'Fetching Channel Policy...', + GET_REMOTE_POLICY: 'Fetching Remote Policy...', + CLOSE_CHANNEL: 'Closing Channel...', + FORCE_CLOSE_CHANNEL: 'Force Closing Channel...', + OPEN_CHANNEL: 'Opening Channel...', + CONNECT_PEER: 'Connecting Peer...', + DISCONNECT_PEER: 'Disconnecting Peer...', + ADD_INVOICE: 'Adding Invoice...', + CREATE_INVOICE: 'Creating Invoice...', + DELETE_INVOICE: 'Deleting Invoices...', + DECODE_PAYMENT: 'Decoding Payment...', + DECODE_PAYMENTS: 'Decoding Payments...', + GET_SENT_PAYMENTS: 'Getting Sent Payments...', + SEND_PAYMENT: 'Sending Payment...', + SEND_KEYSEND: 'Sending Keysend Payment...', + SEARCHING_NODE: 'Searching Node...', + SEARCHING_CHANNEL: 'Searching Channel...', + SEARCHING_INVOICE: 'Searching Invoice...', + BACKUP_CHANNEL: 'Backup Channels...', + VERIFY_CHANNEL: 'Verify Channels...', + DOWNLOAD_BACKUP_FILE: 'Downloading Backup File...', + RESTORE_CHANNEL: 'Restoring Channels...', + GET_TERMS_QUOTES: 'Getting Terms and Quotes...', + LABEL_UTXO: 'Labelling UTXO...', + GET_NODE_ADDRESS: 'Getting Node Address...', + GEN_SEED: 'Generating Seed...', + INITIALIZE_WALLET: 'Initializing Wallet...', + UNLOCK_WALLET: 'Unlocking Wallet...', + WAIT_SYNC_NODE: 'Waiting for Node Sync...', + UPDATE_BOLTZ_SETTINGS: 'Updating Boltz Service Settings...', + UPDATE_LOOP_SETTINGS: 'Updating Loop Service Settings...', + UPDATE_UI_SETTINGS: 'Updating Settings...', + UPDATE_NODE_SETTINGS: 'Updating Node Settings...', + UPDATE_SELECTED_NODE: 'Updating Selected Node...', + OPEN_CONFIG_FILE: 'Opening Config File...', + GET_SERVICE_INFO: 'Getting Service Info...', + GET_QUOTE: 'Getting Quotes...', + UPDATE_DEFAULT_NODE_SETTING: 'Updating Defaule Node Settings...', + GET_BOLTZ_SWAPS: 'Getting Boltz Swaps...', + SIGN_MESSAGE: 'Signing Message...', + VERIFY_MESSAGE: 'Verifying Message...', + BUMP_FEE: 'Bumping Fee...', + LEASE_UTXO: 'Leasing UTXO...', + GET_LOOP_SWAPS: 'Getting List Swaps...', + GET_FEE_REPORT: 'Getting fee report...', + GET_LOOKUP_DETAILS: 'Getting lookup details...', + GET_RTL_CONFIG: 'Getting RTL Config...', + VERIFY_TOKEN: 'Verify Token...' +}; diff --git a/src/app/shared/services/data.service.spec.ts b/src/app/shared/services/data.service.spec.ts new file mode 100644 index 00000000..9a270007 --- /dev/null +++ b/src/app/shared/services/data.service.spec.ts @@ -0,0 +1,47 @@ +import { TitleCasePipe } from '@angular/common'; +import { Store } from '@ngrx/store'; +import { of, throwError } from 'rxjs'; +import { DataService } from './data.service'; +import { LoggerService } from './logger.service'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import { mockResponseData } from '../test-helpers/test-data'; +import * as fromRTLReducer from '../../store/rtl.reducers'; + +describe('DataService', () => { + let httpClientSpy: { get: jasmine.Spy }; + let dataService: DataService; + let store: Store; + let logger: LoggerService; + let snackbar: MatSnackBar; + let titleCasePipe: TitleCasePipe; + + beforeEach(() => { + httpClientSpy = jasmine.createSpyObj('HttpClient', ['get', 'post']); + dataService = new DataService(httpClientSpy as any, store, logger, snackbar, titleCasePipe); + }); + + it('should return expected rates (HttpClient called once)', (done: DoneFn) => { + httpClientSpy.get.and.returnValue(of(mockResponseData.fiatRates)); + dataService.getFiatRates(). + subscribe({ + next: (rates) => { + expect(rates).toEqual(mockResponseData.fiatRates); + done(); + }, + error: done.fail + }); + expect(httpClientSpy.get.calls.count()).toBe(1); + }); + + it('should return an error when the server returns a 401', (done: DoneFn) => { + httpClientSpy.get.and.returnValue(throwError(() => mockResponseData.error401)); + dataService.getFiatRates().subscribe({ + next: (rates) => done.fail('expected an error, not rates'), + error: (error) => { + expect(error.status).toEqual('401'); + expect(error.statusText).toContain('Not Found'); + done(); + } + }); + }); +}); diff --git a/src/app/shared/services/data.service.ts b/src/app/shared/services/data.service.ts index 668a1ae9..175314e9 100644 --- a/src/app/shared/services/data.service.ts +++ b/src/app/shared/services/data.service.ts @@ -1,5 +1,6 @@ import { Injectable, OnDestroy } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; +import { TitleCasePipe } from '@angular/common'; import { Subject, throwError, of } from 'rxjs'; import { map, takeUntil, catchError, mergeMap, withLatestFrom } from 'rxjs/operators'; import { Store } from '@ngrx/store'; @@ -7,8 +8,8 @@ import { MatSnackBar } from '@angular/material/snack-bar'; import { LoggerService } from '../../shared/services/logger.service'; import { environment, API_URL } from '../../../environments/environment'; - -import { ListInvoices, SwitchReq } from '../models/lndModels'; +import { APICallStatusEnum, UI_MESSAGES } from './consts-enums-functions'; +import { SwitchReq } from '../models/lndModels'; import { ErrorMessageComponent } from '../components/data-modal/error-message/error-message.component'; import * as RTLActions from '../../store/rtl.actions'; @@ -18,11 +19,12 @@ import * as LNDActions from '../../lnd/store/lnd.actions'; @Injectable() export class DataService implements OnDestroy { + private lnImplementation = 'LND'; private childAPIUrl = API_URL; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private httpClient: HttpClient, private store: Store, private logger: LoggerService, private snackBar: MatSnackBar) {} + constructor(private httpClient: HttpClient, private store: Store, private logger: LoggerService, private snackBar: MatSnackBar, private titleCasePipe: TitleCasePipe) { } getChildAPIUrl() { return this.childAPIUrl; @@ -33,16 +35,16 @@ export class DataService implements OnDestroy { } setChildAPIUrl(lnImplementation: string) { - this.lnImplementation = lnImplementation; + this.lnImplementation = lnImplementation; switch (lnImplementation) { case 'CLT': this.childAPIUrl = API_URL + '/cl'; break; case 'ECL': - this.childAPIUrl = API_URL + '/ecl'; - break; - + this.childAPIUrl = API_URL + '/ecl'; + break; + default: this.childAPIUrl = API_URL + '/lnd'; break; @@ -58,189 +60,246 @@ export class DataService implements OnDestroy { if (this.getLnImplementation() === 'ECL') { url = this.childAPIUrl + environment.PAYMENTS_API + '/' + payment; } - this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); - return this.httpClient.get(url).pipe(takeUntil(this.unSubs[0]), - map((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - return res; - }), - catchError(err => { - if (fromDialog) { - this.handleErrorWithoutAlert('Decode Payment', err); - } else { - this.handleErrorWithAlert('ERROR', 'Decode Payment Failed', this.childAPIUrl + environment.PAYREQUEST_API, err); - } - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DECODE_PAYMENT)); + return this.httpClient.get(url).pipe( + takeUntil(this.unSubs[0]), + map((res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DECODE_PAYMENT)); + return res; + }), + catchError((err) => { + if (fromDialog) { + this.handleErrorWithoutAlert('Decode Payment', UI_MESSAGES.DECODE_PAYMENT, err); + } else { + this.handleErrorWithAlert('decodePaymentData', UI_MESSAGES.DECODE_PAYMENT, 'Decode Payment Failed', this.childAPIUrl + environment.PAYREQUEST_API, err); + } + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } decodePayments(payments: string) { let url = this.childAPIUrl + environment.PAYREQUEST_API; - let msg = 'Decoding Payments'; + let msg = UI_MESSAGES.DECODE_PAYMENTS; if (this.getLnImplementation() === 'ECL') { url = this.childAPIUrl + environment.PAYMENTS_API + '/getsentinfos'; - msg = 'Getting Sent Payments'; + msg = UI_MESSAGES.GET_SENT_PAYMENTS; } - this.store.dispatch(new RTLActions.OpenSpinner(msg + '...')); - return this.httpClient.post(url, {payments: payments}) - .pipe(takeUntil(this.unSubs[1]), - map((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - return res; - }), - catchError(err => { - this.handleErrorWithAlert('ERROR', msg + ' Failed', url, err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(msg)); + return this.httpClient.post(url, { payments: payments }).pipe( + takeUntil(this.unSubs[1]), + map((res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(msg)); + return res; + }), + catchError((err) => { + this.handleErrorWithAlert('decodePaymentsData', msg, msg + ' Failed', url, err); + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } getAliasesFromPubkeys(pubkey: string, multiple: boolean) { if (multiple) { - let pubkey_params = new HttpParams().set('pubkeys', pubkey); - return this.httpClient.get(this.childAPIUrl + environment.NETWORK_API + '/nodes', {params: pubkey_params}); + const pubkey_params = new HttpParams().set('pubkeys', pubkey); + return this.httpClient.get(this.childAPIUrl + environment.NETWORK_API + '/nodes', { params: pubkey_params }); } else { return this.httpClient.get(this.childAPIUrl + environment.NETWORK_API + '/node/' + pubkey); } } signMessage(msg: string) { - this.store.dispatch(new RTLActions.OpenSpinner('Signing Message...')); - return this.httpClient.post(this.childAPIUrl + environment.MESSAGE_API + '/sign', {message: msg}) - .pipe(takeUntil(this.unSubs[2]), - map((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - return res; - }), - catchError(err => { - this.handleErrorWithAlert('ERROR', 'Sign Message Failed', this.childAPIUrl + environment.MESSAGE_API + '/sign', err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.SIGN_MESSAGE)); + return this.httpClient.post(this.childAPIUrl + environment.MESSAGE_API + '/sign', { message: msg }).pipe( + takeUntil(this.unSubs[2]), + map((res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.SIGN_MESSAGE)); + return res; + }), + catchError((err) => { + this.handleErrorWithAlert('signMessageData', UI_MESSAGES.SIGN_MESSAGE, 'Sign Message Failed', this.childAPIUrl + environment.MESSAGE_API + '/sign', err); + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } verifyMessage(msg: string, sign: string) { - this.store.dispatch(new RTLActions.OpenSpinner('Verifying Message...')); - return this.httpClient.post(this.childAPIUrl + environment.MESSAGE_API + '/verify', {message: msg, signature: sign}) - .pipe(takeUntil(this.unSubs[3]), - map((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - return res; - }), - catchError(err => { - this.handleErrorWithAlert('ERROR', 'Verify Message Failed', this.childAPIUrl + environment.MESSAGE_API + '/verify', err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.VERIFY_MESSAGE)); + return this.httpClient.post(this.childAPIUrl + environment.MESSAGE_API + '/verify', { message: msg, signature: sign }).pipe( + takeUntil(this.unSubs[3]), + map((res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.VERIFY_MESSAGE)); + return res; + }), + catchError((err) => { + this.handleErrorWithAlert('verifyMessageData', UI_MESSAGES.VERIFY_MESSAGE, 'Verify Message Failed', this.childAPIUrl + environment.MESSAGE_API + '/verify', err); + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } bumpFee(txid: string, outputIndex: number, targetConf: number, satPerByte: number) { - let bumpFeeBody: any = {txid: txid, outputIndex: outputIndex}; - if (targetConf) { bumpFeeBody.targetConf = targetConf; } - if (satPerByte) { bumpFeeBody.satPerByte = satPerByte; } - this.store.dispatch(new RTLActions.OpenSpinner('Bumping Fee...')); - return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/bumpfee', bumpFeeBody) - .pipe(takeUntil(this.unSubs[4]), - map((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.snackBar.open('Successfully bumped the fee. Use the block explorer to verify transaction.'); - return res; - }), - catchError(err => { - this.handleErrorWithoutAlert('Bump Fee', err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); + const bumpFeeBody: any = { txid: txid, outputIndex: outputIndex }; + if (targetConf) { + bumpFeeBody.targetConf = targetConf; + } + if (satPerByte) { + bumpFeeBody.satPerByte = satPerByte; + } + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.BUMP_FEE)); + return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/bumpfee', bumpFeeBody).pipe( + takeUntil(this.unSubs[4]), + map((res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.BUMP_FEE)); + this.snackBar.open('Successfully bumped the fee. Use the block explorer to verify transaction.'); + return res; + }), + catchError((err) => { + this.handleErrorWithoutAlert('Bump Fee', UI_MESSAGES.BUMP_FEE, err); + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } labelUTXO(txid: string, label: string, overwrite: boolean = true) { - let labelBody = {txid: txid, label: label, overwrite: overwrite}; - return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/label', labelBody); + const labelBody = { txid: txid, label: label, overwrite: overwrite }; + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.LABEL_UTXO)); + return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/label', labelBody).pipe( + takeUntil(this.unSubs[5]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.LABEL_UTXO)); + return res; + }), catchError((err) => { + this.handleErrorWithoutAlert('Lease UTXO', UI_MESSAGES.LABEL_UTXO, err); + return throwError(() => new Error(this.extractErrorMessage(err))); + }) + ); } leaseUTXO(txid: string, output_index: number) { - let leaseBody: any = {txid: txid, outputIndex: output_index}; - this.store.dispatch(new RTLActions.OpenSpinner('Leasing UTXO...')); - return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/lease', leaseBody) - .pipe(takeUntil(this.unSubs[7])) - .subscribe((res: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new LNDActions.FetchTransactions()); - this.store.dispatch(new LNDActions.FetchUTXOs()); - const expirationDate = new Date(res.expiration * 1000); - const expiryDateInSeconds = Math.round(expirationDate.getTime()) - (expirationDate.getTimezoneOffset() * 60); - this.snackBar.open('The UTXO has been leased till ' + new Date(expiryDateInSeconds).toString().substring(4, 21).replace(' ', '/').replace(' ', '/').toUpperCase() + '.'); - }, err => { - this.handleErrorWithoutAlert('Lease UTXO', err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - }); + const leaseBody: any = { txid: txid, outputIndex: output_index }; + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.LEASE_UTXO)); + return this.httpClient.post(this.childAPIUrl + environment.WALLET_API + '/lease', leaseBody).pipe( + takeUntil(this.unSubs[6])). + subscribe({ + next: (res: any) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.LEASE_UTXO)); + this.store.dispatch(new LNDActions.FetchTransactions()); + this.store.dispatch(new LNDActions.FetchUTXOs()); + const expirationDate = new Date(res.expiration * 1000); + const expiryDateInSeconds = Math.round(expirationDate.getTime()) - (expirationDate.getTimezoneOffset() * 60); + this.snackBar.open('The UTXO has been leased till ' + new Date(expiryDateInSeconds).toString(). + substring(4, 21). + replace(' ', '/'). + replace(' ', '/'). + toUpperCase() + '.'); + }, error: (err) => { + this.handleErrorWithoutAlert('Lease UTXO', UI_MESSAGES.LEASE_UTXO, err); + return throwError(() => new Error(this.extractErrorMessage(err))); + } + }); } getForwardingHistory(start: string, end: string) { - const queryHeaders: SwitchReq = {end_time: end, start_time: start}; - return this.httpClient.post(this.childAPIUrl + environment.SWITCH_API, queryHeaders) - .pipe(takeUntil(this.unSubs[5]), - withLatestFrom(this.store.select('lnd')), - mergeMap(([res, lndData]: [any, fromLNDReducers.LNDState]) => { - if (res.forwarding_events) { - const storedChannels = [...lndData.allChannels, ...lndData.closedChannels]; - res.forwarding_events.forEach(event => { - if (storedChannels && storedChannels.length > 0) { - for (let idx = 0; idx < storedChannels.length; idx++) { - if (storedChannels[idx].chan_id.toString() === event.chan_id_in) { - event.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_in; - if (event.alias_out) { return; } - } - if (storedChannels[idx].chan_id.toString() === event.chan_id_out) { - event.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_out; - if (event.alias_in) { return; } - } - if(idx === storedChannels.length-1) { - if (!event.alias_in) { event.alias_in = event.chan_id_in; } - if (!event.alias_out) { event.alias_out = event.chan_id_out; } + const queryHeaders: SwitchReq = { end_time: end, start_time: start }; + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_FEE_REPORT)); + return this.httpClient.post(this.childAPIUrl + environment.SWITCH_API, queryHeaders).pipe( + takeUntil(this.unSubs[7]), + withLatestFrom(this.store.select('lnd')), + mergeMap(([res, lndData]: [any, fromLNDReducers.LNDState]) => { + if (res.forwarding_events) { + const storedChannels = [...lndData.allChannels, ...lndData.closedChannels]; + res.forwarding_events.forEach((event) => { + if (storedChannels && storedChannels.length > 0) { + for (let idx = 0; idx < storedChannels.length; idx++) { + if (storedChannels[idx].chan_id.toString() === event.chan_id_in) { + event.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_in; + if (event.alias_out) { + return; + } + } + if (storedChannels[idx].chan_id.toString() === event.chan_id_out) { + event.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_out; + if (event.alias_in) { + return; + } + } + if (idx === storedChannels.length - 1) { + if (!event.alias_in) { + event.alias_in = event.chan_id_in; + } + if (!event.alias_out) { + event.alias_out = event.chan_id_out; + } + } } + } else { + event.alias_in = event.chan_id_in; + event.alias_out = event.chan_id_out; } - } else { - event.alias_in = event.chan_id_in; - event.alias_out = event.chan_id_out; - } - }); - } else { - res = {}; - } - return of(res); - }), - catchError(err => { - this.handleErrorWithAlert('ERROR', 'Forwarding History Failed', this.childAPIUrl + environment.SWITCH_API, err); - return throwError(err.error && err.error.error ? err.error.error : err.error ? err.error : err); - })); - } - - handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { - this.store.dispatch(new RTLActions.CloseSpinner()); + }); + } else { + res = {}; + } + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_FEE_REPORT)); + return of(res); + }), + catchError((err) => { + this.handleErrorWithAlert('getForwardingHistoryData', UI_MESSAGES.GET_FEE_REPORT, 'Forwarding History Failed', this.childAPIUrl + environment.SWITCH_API, err); + return throwError(() => new Error(this.extractErrorMessage(err))); + })); + } + + extractErrorMessage(err: any, genericErrorMessage: string = 'Unknown Error.') { + return this.titleCasePipe.transform((err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : + (err.error && err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : + (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : + (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : + (err.error && typeof err.error === 'string') ? err.error : + (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message : + (err.error && err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message : + (err.error && err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message : + (err.error && err.error.message && typeof err.error.message === 'string') ? err.error.message : + (err.message && typeof err.message === 'string') ? err.message : genericErrorMessage); + } + + handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) { this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); - if (err.status === 401) { + if (err.status === 401 && actionName !== 'Login') { this.logger.info('Redirecting to Login'); + this.store.dispatch(new RTLActions.CloseAllDialogs()); this.store.dispatch(new RTLActions.Logout()); + this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); + } else { + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.extractErrorMessage(err) })); } } - handleErrorWithAlert(alertType: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { + handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { this.logger.error(err); - this.store.dispatch(new RTLActions.CloseSpinner()); if (err.status === 401) { this.logger.info('Redirecting to Login'); + this.store.dispatch(new RTLActions.CloseAllDialogs()); this.store.dispatch(new RTLActions.Logout()); + this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.extractErrorMessage(err); this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: alertType, + type: 'ERROR', alertTitle: alertTitle, - message: { code: err.status, message: err.error.error, URL: errURL }, + message: { code: err.status ? err.status : 'Unknown Error', message: errMsg, URL: errURL }, component: ErrorMessageComponent } })); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL })); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/services/logger.service.ts b/src/app/shared/services/logger.service.ts index 22ae50d9..e144cb39 100644 --- a/src/app/shared/services/logger.service.ts +++ b/src/app/shared/services/logger.service.ts @@ -1,24 +1,30 @@ +/* eslint-disable no-console */ import { Injectable } from '@angular/core'; import { environment } from '../../../environments/environment'; -export let isDebugMode = environment.isDebugMode; -const noop = (): any => undefined; +export const { isDebugMode } = environment; +const noop = (): any => null; export abstract class Logger { + info: any; warn: any; error: any; + } @Injectable() export class LoggerService implements Logger { + info: any; warn: any; error: any; - invokeConsoleMethod(type: string, args?: any): void {} + invokeConsoleMethod(type: string, args?: any): void { } + } @Injectable() export class ConsoleLoggerService implements Logger { + get info() { if (isDebugMode) { return console.log.bind(console); @@ -47,4 +53,5 @@ export class ConsoleLoggerService implements Logger { const logFn: Function = (console)[type] || console.log || noop; logFn.apply(console, [args]); } + } diff --git a/src/app/shared/services/loop.service.ts b/src/app/shared/services/loop.service.ts index 83bc0377..2a0ee13f 100644 --- a/src/app/shared/services/loop.service.ts +++ b/src/app/shared/services/loop.service.ts @@ -1,56 +1,59 @@ import { Injectable, OnDestroy } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; import { BehaviorSubject, Subject, throwError } from 'rxjs'; -import { catchError, takeUntil } from 'rxjs/operators'; +import { catchError, takeUntil, map } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { environment, API_URL } from '../../../environments/environment'; -import { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component'; +import { AlertTypeEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions'; +import { LoopSwapStatus } from '../models/loopModels'; +import { CommonService } from './common.service'; import { LoggerService } from '../../shared/services/logger.service'; -import { AlertTypeEnum } from '../../shared/services/consts-enums-functions'; +import { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component'; import * as RTLActions from '../../store/rtl.actions'; import * as fromRTLReducer from '../../store/rtl.reducers'; -import { LoopSwapStatus } from '../models/loopModels'; @Injectable() export class LoopService implements OnDestroy { + private CHILD_API_URL = API_URL + '/lnd'; private loopUrl = ''; private swaps: LoopSwapStatus[] = []; public swapsChanged = new BehaviorSubject([]); - private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; + private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store) {} + constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store, private commonService: CommonService) { } getSwapsList() { return this.swaps; } listSwaps() { - this.store.dispatch(new RTLActions.OpenSpinner('Getting List Swaps...')); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_LOOP_SWAPS)); this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/swaps'; - this.httpClient.get(this.loopUrl) - .pipe(takeUntil(this.unSubs[0])) - .subscribe((swapResponse: LoopSwapStatus[]) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.swaps = swapResponse; - this.swapsChanged.next(this.swaps); - }, err => { - return this.handleErrorWithAlert('Loop Swaps', err); - }); + this.httpClient.get(this.loopUrl).pipe(takeUntil(this.unSubs[0])). + subscribe({ + next: (swapResponse: LoopSwapStatus[]) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_LOOP_SWAPS)); + this.swaps = swapResponse; + this.swapsChanged.next(this.swaps); + }, error: (err) => this.handleErrorWithAlert(UI_MESSAGES.GET_LOOP_SWAPS, this.loopUrl, err) + }); } loopOut(amount: number, chanId: string, targetConf: number, swapRoutingFee: number, minerFee: number, prepayRoutingFee: number, prepayAmt: number, swapFee: number, swapPublicationDeadline: number, destAddress: string) { - let requestBody = { amount: amount, targetConf: targetConf, swapRoutingFee: swapRoutingFee, minerFee: minerFee, prepayRoutingFee: prepayRoutingFee, prepayAmt: prepayAmt, swapFee: swapFee, swapPublicationDeadline: swapPublicationDeadline, destAddress: destAddress }; - if (chanId !== '') { requestBody['chanId'] = chanId; } + const requestBody = { amount: amount, targetConf: targetConf, swapRoutingFee: swapRoutingFee, minerFee: minerFee, prepayRoutingFee: prepayRoutingFee, prepayAmt: prepayAmt, swapFee: swapFee, swapPublicationDeadline: swapPublicationDeadline, destAddress: destAddress }; + if (chanId !== '') { + requestBody['chanId'] = chanId; + } this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/out'; - return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError(err => this.handleErrorWithoutAlert('Loop Out for Channel: ' + chanId, err))); + return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Out for Channel: ' + chanId, UI_MESSAGES.NO_SPINNER, err))); } getLoopOutTerms() { this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/out/terms'; - return this.httpClient.get(this.loopUrl).pipe(catchError(err => this.handleErrorWithoutAlert('Loop Out Terms', err))); + return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Out Terms', UI_MESSAGES.NO_SPINNER, err))); } getLoopOutQuote(amount: number, targetConf: number, swapPublicationDeadline: number) { @@ -58,7 +61,15 @@ export class LoopService implements OnDestroy { params = params.append('targetConf', targetConf.toString()); params = params.append('swapPublicationDeadline', swapPublicationDeadline.toString()); this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/out/quote/' + amount; - return this.httpClient.get(this.loopUrl, { params: params }).pipe(catchError(err => this.handleErrorWithoutAlert('Loop Out Quote', err))); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_QUOTE)); + return this.httpClient.get(this.loopUrl, { params: params }).pipe( + takeUntil(this.unSubs[1]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_QUOTE)); + return res; + }), + catchError((err) => this.handleErrorWithoutAlert('Loop Out Quote', UI_MESSAGES.GET_QUOTE, err)) + ); } getLoopOutTermsAndQuotes(targetConf: number) { @@ -66,20 +77,26 @@ export class LoopService implements OnDestroy { params = params.append('targetConf', targetConf.toString()); params = params.append('swapPublicationDeadline', (new Date().getTime() + (30 * 60000)).toString()); this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/out/termsAndQuotes'; - return this.httpClient.get(this.loopUrl, { params: params }).pipe(catchError(err => { - return this.handleErrorWithAlert(this.loopUrl, err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_TERMS_QUOTES)); + return this.httpClient.get(this.loopUrl, { params: params }).pipe( + takeUntil(this.unSubs[2]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_TERMS_QUOTES)); + return res; + }), + catchError((err) => this.handleErrorWithAlert(UI_MESSAGES.GET_TERMS_QUOTES, this.loopUrl, err)) + ); } loopIn(amount: number, swapFee: number, minerFee: number, lastHop: string, externalHtlc: boolean) { const requestBody = { amount: amount, swapFee: swapFee, minerFee: minerFee, lastHop: lastHop, externalHtlc: externalHtlc }; this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/in'; - return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError(err => this.handleErrorWithoutAlert('Loop In', err))); + return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop In', UI_MESSAGES.NO_SPINNER, err))); } getLoopInTerms() { this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/in/terms'; - return this.httpClient.get(this.loopUrl).pipe(catchError(err => this.handleErrorWithoutAlert('Loop In Terms', err))); + return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop In Terms', UI_MESSAGES.NO_SPINNER, err))); } getLoopInQuote(amount: number, targetConf: string, swapPublicationDeadline: number) { @@ -87,7 +104,15 @@ export class LoopService implements OnDestroy { params = params.append('targetConf', targetConf.toString()); params = params.append('swapPublicationDeadline', swapPublicationDeadline.toString()); this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/in/quote/' + amount; - return this.httpClient.get(this.loopUrl, { params: params }).pipe(catchError(err => this.handleErrorWithoutAlert('Loop In Qoute', err))); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_QUOTE)); + return this.httpClient.get(this.loopUrl, { params: params }).pipe( + takeUntil(this.unSubs[3]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_QUOTE)); + return res; + }), + catchError((err) => this.handleErrorWithoutAlert('Loop In Qoute', UI_MESSAGES.GET_QUOTE, err)) + ); } getLoopInTermsAndQuotes(targetConf: number) { @@ -95,73 +120,83 @@ export class LoopService implements OnDestroy { params = params.append('targetConf', targetConf.toString()); params = params.append('swapPublicationDeadline', (new Date().getTime() + (30 * 60000)).toString()); this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/in/termsAndQuotes'; - return this.httpClient.get(this.loopUrl, { params: params }).pipe(catchError(err => { - return this.handleErrorWithAlert(this.loopUrl, err); - })); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_TERMS_QUOTES)); + return this.httpClient.get(this.loopUrl, { params: params }).pipe( + takeUntil(this.unSubs[4]), + map((res) => { + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_TERMS_QUOTES)); + return res; + }), catchError((err) => this.handleErrorWithAlert(UI_MESSAGES.GET_TERMS_QUOTES, this.loopUrl, err)) + ); } getSwap(id: string) { this.loopUrl = this.CHILD_API_URL + environment.LOOP_API + '/swap/' + id; - return this.httpClient.get(this.loopUrl).pipe(catchError(err => this.handleErrorWithoutAlert('Loop Get Swap for ID: ' + id, err))); + return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Get Swap for ID: ' + id, UI_MESSAGES.NO_SPINNER, err))); } - handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { + handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) { + let errMsg = ''; this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); - this.store.dispatch(new RTLActions.CloseSpinner()) + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); if (err.status === 401) { + errMsg = 'Unauthorized User.'; this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.Logout()); - } else if (err.error.errno === 'ECONNREFUSED' || err.error.error.errno === 'ECONNREFUSED') { + } else if (err.status === 503) { + errMsg = 'Unable to Connect to Loop Server.'; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: 'ERROR', alertTitle: 'Loop Not Connected', - message: { code: 'ECONNREFUSED', message: 'Unable to Connect to Loop Server', URL: actionName }, + message: { code: err.status, message: 'Unable to Connect to Loop Server', URL: actionName }, component: ErrorMessageComponent } })); + } else { + errMsg = this.commonService.extractErrorMessage(err); } - return throwError(err); + return throwError(() => new Error(errMsg)); } - handleErrorWithAlert(errURL: string, err: any) { - if (err.status === 401) { - this.logger.info('Redirecting to Login'); - this.store.dispatch(new RTLActions.Logout()); - } - err.message = (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : - (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error : - (err.error && typeof err.error === 'string') ? err.error : 'Unknown Error'; + handleErrorWithAlert(uiMessage: string, errURL: string, err: any) { + let errMsg = ''; this.logger.error(err); - this.store.dispatch(new RTLActions.CloseSpinner()) + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); if (err.status === 401) { + errMsg = 'Unauthorized User.'; this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.Logout()); - } else if (err.error.errno === 'ECONNREFUSED' || err.error.error.errno === 'ECONNREFUSED') { + } else if (err.status === 503) { + errMsg = 'Unable to Connect to Loop Server.'; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: 'ERROR', alertTitle: 'Loop Not Connected', - message: { code: 'ECONNREFUSED', message: 'Unable to Connect to Loop Server', URL: errURL }, + message: { code: err.status, message: 'Unable to Connect to Loop Server', URL: errURL }, component: ErrorMessageComponent } })); } else { - this.store.dispatch(new RTLActions.OpenAlert({data: { + errMsg = this.commonService.extractErrorMessage(err); + const errCode = (err.error && err.error.error && err.error.error.code) ? err.error.error.code : (err.error && err.error.code) ? err.error.code : err.code ? err.code : err.status; + this.store.dispatch(new RTLActions.OpenAlert({ + data: { type: AlertTypeEnum.ERROR, alertTitle: 'ERROR', - message: { code: err.code ? err.code : err.status, message: err.message ? err.message : 'Unknown Error', URL: errURL }, + message: { code: errCode, message: errMsg, URL: errURL }, component: ErrorMessageComponent } })); } - return throwError(err); + return throwError(() => new Error(errMsg)); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/services/session.service.ts b/src/app/shared/services/session.service.ts index 26bbe7ba..4bf7a6ae 100644 --- a/src/app/shared/services/session.service.ts +++ b/src/app/shared/services/session.service.ts @@ -3,6 +3,7 @@ import { Subject, Observable } from 'rxjs'; @Injectable() export class SessionService { + private sessionSub= new Subject(); watchSession(): Observable { diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 483327f0..079ab989 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -1,5 +1,6 @@ import { NgModule, Injectable } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { CommonModule, DecimalPipe, TitleCasePipe, DatePipe } from '@angular/common'; + import { RouterModule } from '@angular/router'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; @@ -41,10 +42,7 @@ import { MatTreeModule } from '@angular/material/tree'; import { NgxChartsModule } from '@swimlane/ngx-charts'; import { QRCodeModule } from 'angularx-qrcode'; -import { DecimalPipe, TitleCasePipe, DatePipe } from '@angular/common'; -import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; -import { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar'; -import { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar'; +import { PerfectScrollbarModule, PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar'; import { ThemeOverlay } from './theme/overlay-container/theme-overlay'; import { OverlayContainer } from '@angular/cdk/overlay'; @@ -108,6 +106,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { }; @Injectable() class DefaultDateAdapter extends NativeDateAdapter { + format(date: Date, displayFormat: Object): string { if (displayFormat === 'input') { let day: string = date.getDate().toString(); @@ -116,6 +115,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { } return MONTHS[date.getMonth()].name.toUpperCase() + ' ' + date.getFullYear(); } + } export const DEFAULT_DATE_FORMAT: MatDateFormats = { @@ -126,7 +126,7 @@ export const DEFAULT_DATE_FORMAT: MatDateFormats = { dateInput: 'input', monthYearLabel: { month: 'short', year: 'numeric' }, dateA11yLabel: { day: 'numeric', month: 'short', year: 'numeric' }, - monthYearA11yLabel: { month: 'short', year: 'numeric' }, + monthYearA11yLabel: { month: 'short', year: 'numeric' } } }; diff --git a/src/app/shared/test-helpers/mock-services.ts b/src/app/shared/test-helpers/mock-services.ts new file mode 100644 index 00000000..a91ae346 --- /dev/null +++ b/src/app/shared/test-helpers/mock-services.ts @@ -0,0 +1,324 @@ +import { HttpResponse } from '@angular/common/http'; +import { BehaviorSubject, of, throwError } from 'rxjs'; + +import { API_URL } from '../../../environments/environment'; +import { mockResponseData } from './test-data'; + +import * as CLActions from '../../clightning/store/cl.actions'; + +export class mockMatDialogRef { + + close = (dialogResult: any) => { }; + +} + +export class mockLoggerService { + + info() { }; + warn() { }; + error() { }; + invokeConsoleMethod(type: string, args?: any): void { }; + +} + +export class mockHttpClient { + + post(url: string) { + return of(new HttpResponse(mockResponseData.setSelectedNodeSuccess)); + } + +} + +export class mockDataService { + + private lnImplementation = 'LND'; + private childAPIUrl = API_URL; + + getChildAPIUrl() { + return of(this.childAPIUrl); + }; + + getLnImplementation() { + return of(this.lnImplementation); + }; + + setChildAPIUrl(lnImplementation: string) { + this.lnImplementation = lnImplementation; + switch (lnImplementation) { + case 'CLT': + this.childAPIUrl = API_URL + '/cl'; + break; + + case 'ECL': + this.childAPIUrl = API_URL + '/ecl'; + break; + + default: + this.childAPIUrl = API_URL + '/lnd'; + break; + } + }; + + getFiatRates() { + return of(mockResponseData.fiatRates); + } + + decodePayment(payment: string, fromDialog: boolean) { + if (payment === + 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3' + ) { + return of(mockResponseData.decodePayment); + } else if (payment === + 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk' + ) { + mockResponseData.decodeEmptyPayment.num_satoshis = '0'; + return of(mockResponseData.decodeEmptyPayment); + } else { + return throwError(() => mockResponseData.error); + } + }; + + decodePayments(payments: string) { + return of(mockResponseData.decodePayments); + }; + + getAliasesFromPubkeys(pubkey: string, multiple: boolean) { + return of(mockResponseData.getAliasesFromPubkeys); + }; + + signMessage(msg: string) { + return of(mockResponseData.signMessage); + }; + + verifyMessage(msg: string, sign: string) { + return of(mockResponseData.verifyMessage); + }; + + bumpFee(txid: string, outputIndex: number, targetConf: number, satPerByte: number) { + return of(mockResponseData.bumpFee); + }; + + labelUTXO(txid: string, label: string, overwrite: boolean = true) { + return of(mockResponseData.labelUTXO); + }; + + leaseUTXO(txid: string, output_index: number) { + return of(mockResponseData.leaseUTXO); // 10 mins + }; + + getForwardingHistory(start: string, end: string) { + return of(mockResponseData.getForwardingHistory); + }; + +}; + +export class mockSessionService { + + private sessionObj = { + token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiTk9ERV9VU0VSIiwiY29uZmlnUGF0aCI6IkM6L1VzZXJzL3NoYWhhL0FwcERhdGEvTG9jYWwvTG5kL2xuZC5jb25mIiwibWFjYXJvb25QYXRoIjoiQzovVXNlcnMvc2hhaGEvQXBwRGF0YS9Mb2NhbC9MbmQvZGF0YS9jaGFpbi9iaXRjb2luL3Rlc3RuZXQiLCJpYXQiOjE2MjU4NzcwMzZ9.ybM926PINgy3RINjG1CPqQOOFOcofgKbBLLeyfgW4zg', + defaultPassword: false, + lndUnlocked: true + }; + + watchSession() { + return of(this.sessionObj); + } + + getItem(key) { + return this.sessionObj[key]; + } + + getAllItems() { + return this.sessionObj; + } + + setItem(key: string, data: any) { + return of(this.sessionObj); + } + + removeItem(key) { + return of(this.sessionObj); + } + + clearAll() { + return of(this.sessionObj); + } + +} + +export class mockLoopService { + + public swapsChanged = new BehaviorSubject([]); + getSwapsList() { }; + listSwaps() { }; + loopOut(amount: number, chanId: string, targetConf: number, swapRoutingFee: number, minerFee: number, prepayRoutingFee: number, prepayAmt: number, swapFee: number, swapPublicationDeadline: number, destAddress: string) { }; + getLoopOutTerms() { }; + getLoopOutQuote(amount: number, targetConf: number, swapPublicationDeadline: number) { }; + getLoopOutTermsAndQuotes(targetConf: number) { }; + loopIn(amount: number, swapFee: number, minerFee: number, lastHop: string, externalHtlc: boolean) { }; + getLoopInTerms() { }; + getLoopInQuote(amount: number, targetConf: string, swapPublicationDeadline: number) { }; + getLoopInTermsAndQuotes(targetConf: number) { }; + getSwap(id: string) { }; + handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { }; + handleErrorWithAlert(errURL: string, err: any) { }; + +} + +export class mockBoltzService { + + public swapsChanged = new BehaviorSubject([]); + getSwapsList() { }; + listSwaps() { }; + swapInfo(id: string) { }; + serviceInfo() { }; + swapOut(amount: number, address: string) { }; + swapIn(amount: number) { }; + handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { }; + handleErrorWithAlert(errURL: string, err: any) { }; + +} + +export class mockRTLEffects { + + closeAllDialogs = of(() => ({})); + openSnackBar = of(() => ({})); + openSpinner = of(() => ({})); + closeSpinner = of(() => ({})); + openAlert = of(() => ({})); + closeAlert = of(() => ({})); + openConfirm = of(() => ({})); + closeConfirm = of(() => ({})); + showNodePubkey = of(() => ({})); + appConfigFetch = of(() => ({})); + settingSave = of(() => ({})); + updateServicesettings = of(() => ({})); + ssoSave = of(() => ({})); + twoFASettingSave = of(() => ({})); + configFetch = of(() => ({})); + showLnConfig = of(() => ({})); + isAuthorized = of(() => ({})); + isAuthorizedRes = of(() => ({})); + authLogin = of(() => ({})); + tokenVerify = of(() => ({})); + logOut = of(() => ({})); + resetPassword = of(() => ({})); + setSelectedNode = of(() => ({})); + fetchFile = of(() => ({})); + showFile = of(() => ({})); + initializeNode = of(() => ({})); + SetToken = of(() => ({})); + setLoggedInDetails = of(() => ({})); + handleErrorWithoutAlert = of(() => ({})); + handleErrorWithAlert = of(() => ({})); + +}; + +export class mockLNDEffects { + + infoFetch = of(() => ({})); + fetchFees = of(() => ({})); + fetchFeeRates = of(() => ({})); + fetchBalance = of(() => ({})); + fetchLocalRemoteBalance = of(() => ({})); + getNewAddress = of(() => ({})); + setNewAddress = of(() => ({})); + peersFetch = of(() => ({})); + saveNewPeer = of(() => ({})); + detachPeer = of(() => ({})); + channelsFetch = of(() => ({})); + openNewChannel = of(() => ({})); + updateChannel = of(() => ({})); + closeChannel = of(() => ({})); + paymentsFetch = of(() => ({})); + decodePayment = of(() => ({})); + setDecodedPayment = of(() => ({})); + sendPayment = of(() => ({})); + queryRoutesFetch = of(() => ({})); + setQueryRoutes = of(() => ({ type: 'SET_QUERY_ROUTES', payload: { routes: [] } })); + peerLookup = of(() => ({})); + channelLookup = of(() => ({})); + invoiceLookup = of(() => ({})); + setLookup = of(() => ({})); + fetchForwardingHistory = of(() => ({})); + deleteExpiredInvoice = of(() => ({})); + saveNewInvoice = of(() => ({})); + invoicesFetch = of(() => ({})); + SetChannelTransaction = of(() => ({})); + utxosFetch = of(() => ({})); + initWalletRes = of(() => ({})); + initWallet = of(() => ({})); + genSeedResponse = of(() => ({})); + setRestoreChannelList = of({ files: [], all_restore_exists: true }); + +} + +export class mockCLEffects { + + infoFetchCL = of(() => ({})); + fetchFeesCL = of(() => ({})); + fetchFeeRatesCL = of(() => ({})); + fetchBalancCL = of(() => ({})); + fetchLocalRemoteBalancCL = of(() => ({})); + getNewAddressCL = of(() => ({})); + setNewAddressCL = of(() => ({})); + peersFetchCL = of(() => ({})); + saveNewPeerCL = of(() => ({})); + detachPeerCL = of(() => ({})); + channelsFetchCL = of(() => ({})); + openNewChannelCL = of(() => ({})); + updateChannelCL = of(() => ({})); + closeChannelCL = of(() => ({})); + paymentsFetchCL = of(() => ({})); + decodePaymentCL = of(() => ({})); + setDecodedPaymentCL = of(() => ({})); + sendPaymentCL = of(() => ({})); + queryRoutesFetchCL = of(() => ({})); + peerLookupCL = of(() => ({})); + channelLookupCL = of(() => ({})); + invoiceLookupCL = of(() => ({})); + setLookupCL = of(() => ({})); + fetchForwardingHistoryCL = of(() => ({})); + deleteExpiredInvoiceCL = of(() => ({})); + saveNewInvoiceCL = of(() => ({})); + invoicesFetchCL = of(() => ({})); + SetChannelTransactionCL = of(() => ({})); + utxosFetchCL = of(() => ({})); + setQueryRoutesCL = of(() => ({ type: CLActions.SET_QUERY_ROUTES_CL, payload: { routes: [] } })) + +} + +export class mockECLEffects { + + infoFetch = of(() => ({})); + fetchFees = of(() => ({})); + fetchFeeRates = of(() => ({})); + fetchBalance = of(() => ({})); + fetchLocalRemoteBalance = of(() => ({})); + getNewAddress = of(() => ({})); + setNewAddress = of(() => ({})); + peersFetch = of(() => ({})); + saveNewPeer = of(() => ({})); + detachPeer = of(() => ({})); + channelsFetch = of(() => ({})); + openNewChannel = of(() => ({})); + updateChannel = of(() => ({})); + closeChannel = of(() => ({})); + paymentsFetch = of(() => ({})); + decodePayment = of(() => ({})); + setDecodedPayment = of(() => ({})); + sendPayment = of(() => ({})); + queryRoutesFetch = of(() => ({})); + setQueryRoutes = of([]); + peerLookup = of(() => ({})); + channelLookup = of(() => ({})); + invoiceLookup = of(() => ({})); + setLookup = of(() => ({})); + fetchForwardingHistory = of(() => ({})); + deleteExpiredInvoice = of(() => ({})); + saveNewInvoice = of(() => ({})); + invoicesFetch = of(() => ({})); + SetChannelTransaction = of(() => ({})); + utxosFetch = of(() => ({})); + +} diff --git a/src/app/shared/test-helpers/test-data.ts b/src/app/shared/test-helpers/test-data.ts new file mode 100644 index 00000000..58603e6a --- /dev/null +++ b/src/app/shared/test-helpers/test-data.ts @@ -0,0 +1,48649 @@ +/* eslint-disable max-len */ +export const mockResponseData = { + fiatRates: { + USD: { + '15m': 33438.82, + last: 33438.82, + buy: 33438.82, + sell: 33438.82, + symbol: 'USD' + }, + EUR: { + '15m': 28193.8, + last: 28193.8, + buy: 28193.8, + sell: 28193.8, + symbol: 'EUR' + }, + GBP: { + '15m': 23987.68, + last: 23987.68, + buy: 23987.68, + sell: 23987.68, + symbol: 'GBP' + }, + AUD: { + '15m': 44548.88, + last: 44548.88, + buy: 44548.88, + sell: 44548.88, + symbol: 'AUD' + }, + BRL: { + '15m': 170094.31, + last: 170094.31, + buy: 170094.31, + sell: 170094.31, + symbol: 'BRL' + }, + CAD: { + '15m': 41287.51, + last: 41287.51, + buy: 41287.51, + sell: 41287.51, + symbol: 'CAD' + }, + TRY: { + '15m': 291352.46, + last: 291352.46, + buy: 291352.46, + sell: 291352.46, + symbol: 'TRY' + }, + CLP: { + '15m': 24845458.07, + last: 24845458.07, + buy: 24845458.07, + sell: 24845458.07, + symbol: 'CLP' + }, + ISK: { + '15m': 4508648.05, + last: 4508648.05, + buy: 4508648.05, + sell: 4508648.05, + symbol: 'ISK' + }, + JPY: { + '15m': 3715369.25, + last: 3715369.25, + buy: 3715369.25, + sell: 3715369.25, + symbol: 'JPY' + }, + KRW: { + '15m': 39148401.79, + last: 39148401.79, + buy: 39148401.79, + sell: 39148401.79, + symbol: 'KRW' + }, + CHF: { + '15m': 30889.26, + last: 30889.26, + buy: 30889.26, + sell: 30889.26, + symbol: 'CHF' + }, + CNY: { + '15m': 216826.46, + last: 216826.46, + buy: 216826.46, + sell: 216826.46, + symbol: 'CNY' + }, + CZK: { + '15m': 724605.76, + last: 724605.76, + buy: 724605.76, + sell: 724605.76, + symbol: 'CZK' + }, + DKK: { + '15m': 245951.1, + last: 245951.1, + buy: 245951.1, + sell: 245951.1, + symbol: 'DKK' + }, + HKD: { + '15m': 260276.41, + last: 260276.41, + buy: 260276.41, + sell: 260276.41, + symbol: 'HKD' + }, + HUF: { + '15m': 11866363.6, + last: 11866363.6, + buy: 11866363.6, + sell: 11866363.6, + symbol: 'HUF' + }, + HRK: { + '15m': 584240.71, + last: 584240.71, + buy: 584240.71, + sell: 584240.71, + symbol: 'HRK' + }, + INR: { + '15m': 2687019.47, + last: 2687019.47, + buy: 2687019.47, + sell: 2687019.47, + symbol: 'INR' + }, + NZD: { + '15m': 47535.46, + last: 47535.46, + buy: 47535.46, + sell: 47535.46, + symbol: 'NZD' + }, + PLN: { + '15m': 127106.86, + last: 127106.86, + buy: 127106.86, + sell: 127106.86, + symbol: 'PLN' + }, + RON: { + '15m': 128655.22, + last: 128655.22, + buy: 128655.22, + sell: 128655.22, + symbol: 'RON' + }, + RUB: { + '15m': 2450480.5, + last: 2450480.5, + buy: 2450480.5, + sell: 2450480.5, + symbol: 'RUB' + }, + SEK: { + '15m': 285404.7, + last: 285404.7, + buy: 285404.7, + sell: 285404.7, + symbol: 'SEK' + }, + SGD: { + '15m': 45233.21, + last: 45233.21, + buy: 45233.21, + sell: 45233.21, + symbol: 'SGD' + }, + THB: { + '15m': 1074389.36, + last: 1074389.36, + buy: 1074389.36, + sell: 1074389.36, + symbol: 'THB' + }, + TWD: { + '15m': 1092607.79, + last: 1092607.79, + buy: 1092607.79, + sell: 1092607.79, + symbol: 'TWD' + } + }, + decodePayment: { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', + num_satoshis: '400', + timestamp: '1623624612', + expiry: '3600', + description: 'Testing ngrx Effects 4', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + chan_id: '2166413939696009216', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', + num_msat: '400000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + decodeEmptyPayment: { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: 'e1cbe4dcc6121fa3c84ba1568066b43c97e80e4b6eac589aab2ae11b81b66aa7', + num_satoshis: '0', + timestamp: '1618601223', + expiry: '432000', + description: 'Testing Empty Invoice for LND 3', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + chan_id: '1801940128740540417', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'TlB3JWmKew2FScn1bNyAT1ajYHJnJ9HnwxzUckmjccg=', + num_msat: '0', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + decodePayments: [ + { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', + num_satoshis: '400', + timestamp: '1623624612', + expiry: '3600', + description: 'Testing ngrx Effects 4', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + chan_id: '2166413939696009216', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', + num_msat: '400000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: 'd58d9c37beb517ff50d674b5f6a9ced55f71994f22e9a53d687190130e9685f3', + num_satoshis: '300', + timestamp: '1623624487', + expiry: '3600', + description: 'Testing ngrx Effects 3', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + chan_id: '1801940128740540417', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'wNPCjWmyhzJwjZUOMcNn5L4Bn2VQBlDWLEsL+wmp7jQ=', + num_msat: '300000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: '74a5d61001c7aac3a90dee448b73925b6a8e4d7dd27f3d22d3585c1c9c9c289b', + num_satoshis: '200', + timestamp: '1623624099', + expiry: '3600', + description: 'Testing ngrx Effects', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + chan_id: '2166413939696009216', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: '7R3g78VT3IXhOGlDemJeTiANZmYkIR0N2x+guCiR4/M=', + num_msat: '200000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + payment_hash: 'f81ea5b08648edd1829054e13574a033c477fc01a889b1edfc20702f12edd0ba', + num_satoshis: '248731', + timestamp: '1623348968', + expiry: '31536000', + description: 'swap - script: 0020572351296a6bc5acce8426633676898a460ebab14372739f23d9f199486f6ec5', + description_hash: '', + fallback_addr: '', + cltv_expiry: '100', + route_hints: [ + { + hop_hints: [ + { + node_id: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + chan_id: '2125910130351734784', + fee_base_msat: 0, + fee_proportional_millionths: 0, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + chan_id: '2125937618142953472', + fee_base_msat: 0, + fee_proportional_millionths: 0, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + num_msat: '248731000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + payment_hash: '626261dbe0bca553aa39bf1619c5add0c21b7ee317e0dcae7c3df46eea08f57c', + num_satoshis: '1337', + timestamp: '1623348968', + expiry: '31536000', + description: 'prepay', + description_hash: '', + fallback_addr: '', + cltv_expiry: '100', + route_hints: [ + { + hop_hints: [ + { + node_id: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + chan_id: '2125910130351734784', + fee_base_msat: 0, + fee_proportional_millionths: 0, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + chan_id: '2125937618142953472', + fee_base_msat: 0, + fee_proportional_millionths: 0, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'JqE8EIyys/eqny0nDabyjKgn8u0/5WL6TGrgCJyEGxQ=', + num_msat: '1337000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: '77b101814c364b3e3e4f3024429c641bab1d76dc090491f591301fc3d0c6a81c', + num_satoshis: '100', + timestamp: '1618601264', + expiry: '432000', + description: 'Testing Empty Invoice for LND 4', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '020e73f5a0928d3bd480d1155f3c09dfbc13613aab99dd3edbe65e510d839c6e84', + chan_id: '1952447877419368448', + fee_base_msat: 2000, + fee_proportional_millionths: 100, + cltv_expiry_delta: 144 + } + ] + } + ], + payment_addr: 'WwtWe/HE5Qt/RybXfGOOxJhsNdE5XY0s8e+WoOX0jfY=', + num_msat: '100000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + payment_hash: 'e1cbe4dcc6121fa3c84ba1568066b43c97e80e4b6eac589aab2ae11b81b66aa7', + num_satoshis: '0', + timestamp: '1618601223', + expiry: '432000', + description: 'Testing Empty Invoice for LND 3', + description_hash: '', + fallback_addr: '', + cltv_expiry: '10', + route_hints: [ + { + hop_hints: [ + { + node_id: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + chan_id: '1801940128740540417', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + payment_addr: 'TlB3JWmKew2FScn1bNyAT1ajYHJnJ9HnwxzUckmjccg=', + num_msat: '0', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + }, + { + destination: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + payment_hash: '0181e7484080056483d6c00a5cb70e5f54e48543473fbec74206ddb2b7c74217', + num_satoshis: '1337', + timestamp: '1610149448', + expiry: '31536000', + description: 'prepay', + description_hash: '', + fallback_addr: '', + cltv_expiry: '100', + route_hints: [], + payment_addr: '2qx8NRsnv8CwwZ3Kj+kTQAMHw8DG1EidRl+gzBFHyds=', + num_msat: '1337000', + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + } + } + ], + getAliasesFromPubkeys: [ + 'MyCLNode' + ], + signMessage: { + signature: 'ryon74c9addyr5sgagrkupxaguw7ypn3kfia5m5jbaxjfehi4b8r65ytufwpcrtswo1kqsynicpmkrtoowshqdgyjckzx51e9hu8xmiz' + }, + verifyMessage: { + valid: true, + pubkey: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb' + }, + bumpFee: {}, + labelUTXO: {}, + leaseUTXO: { + expiration: '1625354830' + }, + getForwardingHistory: { + forwarding_events: [ + { + timestamp: '1601990335', + chan_id_in: '2021231125829058561', + chan_id_out: '1958667814700974080', + amt_in: '103', + amt_out: '102', + fee: '1', + fee_msat: '1000', + amt_in_msat: '103593', + amt_out_msat: '102593' + }, + { + timestamp: '1601990281', + chan_id_in: '1830637382236438528', + chan_id_out: '2021231125829058561', + amt_in: '20001', + amt_out: '20000', + fee: '1', + fee_msat: '1020', + amt_in_msat: '20001020', + amt_out_msat: '20000000' + } + ], + last_offset_index: 2 + }, + setSelectedNodeSuccess: { + status: 200, + body: { + status: 'Selected Node Updated To: LN Node Name!' + } + }, + error401: { + status: '401', + statusText: 'Not Found' + }, + error: { + status: '500', + message: 'Request Failed!', + error: 'Request failed.' + } +}; + +export const mockActionsData = { + resetRootStore: { + settings: { + userPersona: 'MERCHANT', + themeMode: 'NIGHT', + themeColor: 'TEAL', + currencyUnits: [ + 'BTC', + 'SATS', + 'USD' + ], + fiatConversion: true, + bitcoindConfigPath: '', + enableLogging: true, + lnServerUrl: '', + swapServerUrl: '', + boltzServerUrl: '', + channelBackupPath: '', + currencyUnit: '' + }, + authentication: { + swapMacaroonPath: '', + boltzMacaroonPath: '', + configPath: '' + }, + index: '1', + lnNode: 'LN Node Name', + lnImplementation: 'LND' + }, + resetChildrenStores: { + userPersona: 'MERCHANT', + channelBackupPath: '', + selCurrencyUnit: '', + currencyUnits: [ + 'Sats', + 'BTC' + ], + fiatConversion: true, + lnImplementation: 'LND', + swapServerUrl: '', + boltzServerUrl: '' + }, + setSelectedNode: { + settings: { + userPersona: 'MERCHANT', + themeMode: 'NIGHT', + themeColor: 'TEAL', + currencyUnits: [ + 'BTC', + 'SATS', + 'USD' + ], + fiatConversion: true, + bitcoindConfigPath: '', + enableLogging: true, + lnServerUrl: '', + swapServerUrl: '', + boltzServerUrl: '', + channelBackupPath: '', + currencyUnit: '' + }, + authentication: { + swapMacaroonPath: '', + boltzMacaroonPath: '', + configPath: '' + }, + index: '1', + lnNode: 'LN Node Name', + lnImplementation: 'LND' + }, + errorSendPaymentStatus: { + action: 'SendPayment', + code: '500', + message: 'invoice expired. Valid until 2021-06-13 19:50:12 -0400 EDT' + }, + successfulSendPaymentStatus: { + payment_error: '', + payment_preimage: 'A8A8boZ/0FPDDTjzX1elYpMeAacYLl8aov4E3Ft/BGg=', + payment_route: { + total_time_lock: 2007733, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 2007733, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'QFJt3hhqsRmNDppvjKGmVPg3yB+H+ZdKFV6ISAbOj6s=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + payment_hash: 'qsC2AhYkbveGd2R+8f4fv2bb0lBkUMmvVmwondr/cqY=' + } +}; + +export const mockRTLStoreState = { + root: { + selNode: { + index: 1, + lnNode: 'Local Testnet', + lnImplementation: 'LND', + settings: { + userPersona: 'OPERATOR', + themeMode: 'DAY', + themeColor: 'TEAL', + fiatConversion: true, + bitcoindConfigPath: '../bitcoin.conf', + enableLogging: true, + lnServerUrl: 'https://localhost:8080', + swapServerUrl: 'https://localhost:8081', + boltzServerUrl: 'https://localhost:9003', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-1', + currencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ] + }, + authentication: { + configPath: '../AppData/Local/Lnd/lnd.conf', + swapMacaroonPath: '../AppData/Local/Loop/testnet', + boltzMacaroonPath: '../Boltz' + } + }, + appConfig: { + defaultNodeIndex: 1, + selectedNodeIndex: 1, + sso: { + rtlSSO: 0, + logoutRedirectLink: '/rtl/login' + }, + enable2FA: false, + nodes: [ + { + index: 1, + lnNode: 'Local Testnet', + lnImplementation: 'LND', + settings: { + userPersona: 'OPERATOR', + themeMode: 'DAY', + themeColor: 'TEAL', + fiatConversion: true, + bitcoindConfigPath: '../bitcoin.conf', + enableLogging: true, + lnServerUrl: 'https://localhost:8080', + swapServerUrl: 'https://localhost:8081', + boltzServerUrl: 'https://localhost:9003', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-1', + currencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ] + }, + authentication: { + configPath: '../AppData/Local/Lnd/lnd.conf', + swapMacaroonPath: '../AppData/Local/Loop/testnet', + boltzMacaroonPath: '../Boltz' + } + }, + { + index: 2, + lnNode: 'Ubuntu Testnet', + lnImplementation: 'CLT', + settings: { + userPersona: 'MERCHANT', + themeMode: 'DAY', + themeColor: 'INDIGO', + fiatConversion: true, + bitcoindConfigPath: '', + enableLogging: true, + lnServerUrl: 'https://localhost:3001', + swapServerUrl: '', + boltzServerUrl: '', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-2', + currencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ] + }, + authentication: { + configPath: '../Nodes/CLightning/config', + swapMacaroonPath: '', + boltzMacaroonPath: '' + } + }, + { + index: 3, + lnNode: 'Local Testnet', + lnImplementation: 'ECL', + settings: { + userPersona: 'OPERATOR', + themeMode: 'NIGHT', + themeColor: 'PURPLE', + fiatConversion: true, + bitcoindConfigPath: '', + enableLogging: false, + lnServerUrl: 'http://localhost:9090', + swapServerUrl: '', + boltzServerUrl: '', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-3', + currencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ] + }, + authentication: { + configPath: '../.eclair/eclair.conf', + swapMacaroonPath: '', + boltzMacaroonPath: '' + } + } + ] + }, + nodeData: { + identity_pubkey: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + alias: 'shafa', + testnet: true, + chains: [ + { + chain: 'bitcoin', + network: 'testnet' + } + ], + uris: [ + '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb@69.122.24.206:9999' + ], + version: '0.12.1-beta' + } + }, + lnd: { + nodeSettings: { + userPersona: 'OPERATOR', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-1', + selCurrencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ], + fiatConversion: true, + lnImplementation: 'LND', + swapServerUrl: 'https://localhost:8081', + boltzServerUrl: 'https://localhost:9003' + }, + information: { + version: '0.12.1-beta commit=v0.12.1-beta', + commit_hash: 'd233f61383f2f950aa06f5b09da5b0e78e784fae', + identity_pubkey: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + alias: 'shafa', + color: '#68f450', + num_pending_channels: 0, + num_active_channels: 8, + num_inactive_channels: 9, + num_peers: 5, + block_height: 2007393, + block_hash: '00000000000000261dbd294bf73baae79644f3e213741a7e1e0bd47fbdbc3b97', + best_header_timestamp: '1625426325', + synced_to_chain: true, + synced_to_graph: true, + testnet: true, + chains: [ + { + chain: 'bitcoin', + network: 'testnet' + } + ], + uris: [ + '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb@69.122.24.206:9999' + ], + features: { + 0: { + name: 'data-loss-protect', + is_required: true, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 12: { + name: 'static-remote-key', + is_required: true, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + lnImplementation: 'LND' + }, + peers: [ + { + pub_key: '0315fad9096f8addac2870ca00175d446ae41fe79084b98b5f0e268288ada32e61', + address: '34.122.163.242:9735', + bytes_sent: '4553', + bytes_recv: '58891', + sat_sent: '0', + sat_recv: '0', + inbound: false, + ping_time: '49356', + sync_type: 'ACTIVE_SYNC', + features: { + 1: { + name: 'data-loss-protect', + is_required: false, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 11: { + name: 'unknown', + is_required: false, + is_known: false + }, + 13: { + name: 'static-remote-key', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + }, + 27: { + name: 'unknown', + is_required: false, + is_known: false + } + }, + errors: [], + flap_count: 1, + last_flap_ns: '1625413880382368700', + alias: 'ThunderAlpha' + }, + { + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + address: '197.155.6.173:9735', + bytes_sent: '67618', + bytes_recv: '4649433', + sat_sent: '0', + sat_recv: '0', + inbound: false, + ping_time: '224318', + sync_type: 'ACTIVE_SYNC', + features: { + 0: { + name: 'data-loss-protect', + is_required: true, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 13: { + name: 'static-remote-key', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + }, + 19: { + name: 'wumbo-channels', + is_required: false, + is_known: true + } + }, + errors: [], + flap_count: 2, + last_flap_ns: '1625413880846704900', + alias: 'nanoparticle.space' + }, + { + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + address: '69.122.24.206:9888', + bytes_sent: '1722', + bytes_recv: '13934', + sat_sent: '867261', + sat_recv: '1022521', + inbound: false, + ping_time: '84011', + sync_type: 'PASSIVE_SYNC', + features: { + 1: { + name: 'data-loss-protect', + is_required: false, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 11: { + name: 'unknown', + is_required: false, + is_known: false + }, + 13: { + name: 'static-remote-key', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + errors: [ + { + timestamp: '1625416062', + error: 'disconnecting 031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2@69.122.24.206:9888, reason: read handler closed' + }, + { + timestamp: '1625417463', + error: 'disconnecting 031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2@69.122.24.206:9888, reason: read handler closed' + }, + { + timestamp: '1625421804', + error: 'disconnecting 031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2@69.122.24.206:9888, reason: read handler closed' + }, + { + timestamp: '1625422271', + error: 'disconnecting 031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2@69.122.24.206:9888, reason: read handler closed' + }, + { + timestamp: '1625423789', + error: 'disconnecting 031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2@69.122.24.206:9888, reason: read handler closed' + } + ], + flap_count: 40, + last_flap_ns: '1625423790526069600', + alias: 'MyCLNode' + }, + { + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + address: '163.172.94.64:9735', + bytes_sent: '8998', + bytes_recv: '188787', + sat_sent: '10233', + sat_recv: '0', + inbound: false, + ping_time: '84414', + sync_type: 'PASSIVE_SYNC', + features: { + 0: { + name: 'data-loss-protect', + is_required: true, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 12: { + name: 'static-remote-key', + is_required: true, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + errors: [], + flap_count: 2, + last_flap_ns: '1625413880478128300', + alias: 'lightning.glop.org' + }, + { + pub_key: '02346860ea1c432c4d449f8a1bc8ca7ebd0b38165ee99b43d2a820189171a4a922', + address: '35.190.175.12:9735', + bytes_sent: '20901', + bytes_recv: '120157', + sat_sent: '0', + sat_recv: '0', + inbound: false, + ping_time: '37785', + sync_type: 'ACTIVE_SYNC', + features: { + 0: { + name: 'data-loss-protect', + is_required: true, + is_known: true + }, + 5: { + name: 'upfront-shutdown-script', + is_required: false, + is_known: true + }, + 7: { + name: 'gossip-queries', + is_required: false, + is_known: true + }, + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 13: { + name: 'static-remote-key', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + }, + 19: { + name: 'wumbo-channels', + is_required: false, + is_known: true + } + }, + errors: [], + flap_count: 2, + last_flap_ns: '1625413880360466000', + alias: 'Buda.com [Testnet]' + } + ], + fees: { + channel_fees: [ + { + chan_id: '1830637382236438528', + channel_point: '8983657f11239db68b8d8da5104757da9915706203155d9171a443e7e2e19ce0:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '1958667814700974080', + channel_point: '9220a597b5e74b8915db0ffa9f0a7c949b6ebc9f3ebd87971b7ad61ec923c068:0', + base_fee_msat: '1000', + fee_per_mil: '5', + fee_rate: 0.000005 + }, + { + chan_id: '2021029915202617344', + channel_point: 'e39a93857df25ebb6d0d5870f57b223e0acabeecc63733008b03773d39bb04d5:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2021226727785234432', + channel_point: '232cbd9b3f498729c6ff0a062002492e87b6d0af8d5400b740bef2feb8a13965:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2021231125829058561', + channel_point: '151bbd823a1ba30adb0e82d93391276dea18069524c21f77ce3c8ca72f4184ee:1', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2050954223663710208', + channel_point: 'd08ec3e04c780fc1d8762a36e37893c854700f2573c389256bde29eea65dce8b:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2050957522198462464', + channel_point: '889f6250eb7af9e97df68413aa572fc4069e6a527a31a050fa7d4155b9680dd3:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2050990507548409856', + channel_point: '082a1b6dc57f9caf2d002d0188fcada054431f4b8a877670d9fad6ede5a92532:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2050993806083817472', + channel_point: '307e7161dd917e197f1d982fcc3e7e9e05136fd9b2ed88062668efdad1502079:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2050997104616996864', + channel_point: 'b40ad204c28cfd1f178537d5d09729d1654f098733dc281df23428ecf3952e78:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2051228002058633216', + channel_point: 'aa8d425f97510705904d1450fc123a353a4c0efcb11315acf1c2dea2a3a3bf40:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2080317781194506240', + channel_point: 'b5dce177720f7bfb58c827412c8966f3468ed486468fcff020dc0eb9930a6b47:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2166966994047991808', + channel_point: '690b030f669d380727f05f7ef3fb02420768e16dd1a02ac99e74e43cb64bde86:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2167767438510587904', + channel_point: '35b584c7bac7812738aee579a73df55bb8d435768bdb3ebaee3e5a3b20c05763:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2168173158300319744', + channel_point: '37f4d39676c2ad1a1aecb4d61c1d85391ce076698698e53645c5bf81b075fee3:0', + base_fee_msat: '1000', + fee_per_mil: '2', + fee_rate: 0.000002 + }, + { + chan_id: '2207043093368799233', + channel_point: '7010ee2d7f984b1e1cd2310d514a811bb6ff3a77b3983ed228f003afda001177:1', + base_fee_msat: '1000', + fee_per_mil: '1', + fee_rate: 0.000001 + }, + { + chan_id: '2207050789948162048', + channel_point: 'fa01c09f07ed0e86b7202f100a7000aa613865ec88b6e49817ea3e9cc41b459c:0', + base_fee_msat: '1000', + fee_per_mil: '1', + fee_rate: 0.000001 + } + ], + day_fee_sum: '0.00', + week_fee_sum: '0.00', + month_fee_sum: '0.00', + daily_tx_count: 0, + weekly_tx_count: 0, + monthly_tx_count: 0 + }, + networkInfo: { + graph_diameter: 0, + avg_out_degree: 4.62496222423692, + max_out_degree: 779, + num_nodes: 3309, + num_channels: 7652, + total_network_capacity: '49451827968', + avg_channel_size: 6462601.668583377, + min_channel_size: '4000', + max_channel_size: '200000000', + median_channel_size_sat: '1799895', + num_zombie_chans: '4435' + }, + channelBalance: { + balance: '962258', + pending_open_balance: '0', + local_balance: { + sat: '962258', + msat: '962258052' + }, + remote_balance: { + sat: '1084630', + msat: '1084630948' + }, + unsettled_local_balance: { + sat: '0', + msat: '0' + }, + unsettled_remote_balance: { + sat: '0', + msat: '0' + }, + pending_open_local_balance: { + sat: '0', + msat: '0' + }, + pending_open_remote_balance: { + sat: '0', + msat: '0' + } + }, + blockchainBalance: { + total_balance: '1621135', + confirmed_balance: '1621135', + unconfirmed_balance: '0' + }, + allChannels: [ + { + active: true, + remote_pubkey: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + channel_point: '9220a597b5e74b8915db0ffa9f0a7c949b6ebc9f3ebd87971b7ad61ec923c068:0', + chan_id: '1958667814700974080', + capacity: '20000', + local_balance: '9583', + remote_balance: '10233', + commit_fee: '184', + commit_weight: '724', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '10233', + total_satoshis_received: '0', + num_updates: '188', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.967', + remote_alias: 'lightning.glop.org' + }, + { + active: false, + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + channel_point: '232cbd9b3f498729c6ff0a062002492e87b6d0af8d5400b740bef2feb8a13965:0', + chan_id: '2021226727785234432', + capacity: '100000', + local_balance: '59708', + remote_balance: '40108', + commit_fee: '184', + commit_weight: '724', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '40108', + total_satoshis_received: '0', + num_updates: '68', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.804', + remote_alias: 'LiteGo.io' + }, + { + active: false, + remote_pubkey: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + channel_point: 'e39a93857df25ebb6d0d5870f57b223e0acabeecc63733008b03773d39bb04d5:0', + chan_id: '2021029915202617344', + capacity: '100000', + local_balance: '39805', + remote_balance: '60011', + commit_fee: '184', + commit_weight: '724', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '60011', + total_satoshis_received: '0', + num_updates: '46', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.798', + remote_alias: 'GetBittrStaging' + }, + { + active: false, + remote_pubkey: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + channel_point: '151bbd823a1ba30adb0e82d93391276dea18069524c21f77ce3c8ca72f4184ee:1', + chan_id: '2021231125829058561', + capacity: '100000', + local_balance: '69914', + remote_balance: '29902', + commit_fee: '184', + commit_weight: '724', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '50006', + total_satoshis_received: '20103', + num_updates: '27', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.599', + remote_alias: '⚡️MYTEST_NODE⚡️' + }, + { + active: true, + remote_pubkey: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + channel_point: '8983657f11239db68b8d8da5104757da9915706203155d9171a443e7e2e19ce0:0', + chan_id: '1830637382236438528', + capacity: '1000000', + local_balance: '155259', + remote_balance: '844557', + commit_fee: '184', + commit_weight: '724', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '867261', + total_satoshis_received: '1022521', + num_updates: '3702', + pending_htlcs: [], + csv_delay: 6, + private: false, + initiator: false, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '10000', + remote_chan_reserve_sat: '10000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12696', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 6, + chan_reserve_sat: '10000', + dust_limit_sat: '573', + max_pending_amt_msat: '18446744073709551615', + min_htlc_msat: '0', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '10000', + dust_limit_sat: '546', + max_pending_amt_msat: '990000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.311', + remote_alias: 'MyCLNode' + }, + { + active: true, + remote_pubkey: '02346860ea1c432c4d449f8a1bc8ca7ebd0b38165ee99b43d2a820189171a4a922', + channel_point: '35b584c7bac7812738aee579a73df55bb8d435768bdb3ebaee3e5a3b20c05763:0', + chan_id: '2167767438510587904', + capacity: '100000', + local_balance: '99817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '7', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'Buda.com [Testnet]' + }, + { + active: true, + remote_pubkey: '02346860ea1c432c4d449f8a1bc8ca7ebd0b38165ee99b43d2a820189171a4a922', + channel_point: '690b030f669d380727f05f7ef3fb02420768e16dd1a02ac99e74e43cb64bde86:0', + chan_id: '2166966994047991808', + capacity: '100000', + local_balance: '99817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '7', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'Buda.com [Testnet]' + }, + { + active: true, + remote_pubkey: '02346860ea1c432c4d449f8a1bc8ca7ebd0b38165ee99b43d2a820189171a4a922', + channel_point: 'fa01c09f07ed0e86b7202f100a7000aa613865ec88b6e49817ea3e9cc41b459c:0', + chan_id: '2207050789948162048', + capacity: '100000', + local_balance: '99817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '0', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'Buda.com [Testnet]' + }, + { + active: false, + remote_pubkey: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + channel_point: 'aa8d425f97510705904d1450fc123a353a4c0efcb11315acf1c2dea2a3a3bf40:0', + chan_id: '2051228002058633216', + capacity: '20000', + local_balance: '19817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '2', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: '⚡️MYTEST_NODE⚡️' + }, + { + active: true, + remote_pubkey: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + channel_point: '37f4d39676c2ad1a1aecb4d61c1d85391ce076698698e53645c5bf81b075fee3:0', + chan_id: '2168173158300319744', + capacity: '100000', + local_balance: '99817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '254', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '6', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'nanoparticle.space' + }, + { + active: false, + remote_pubkey: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + channel_point: 'b40ad204c28cfd1f178537d5d09729d1654f098733dc281df23428ecf3952e78:0', + chan_id: '2050997104616996864', + capacity: '25000', + local_balance: '24817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '5', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '24750000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '24750000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'GetBittrStaging' + }, + { + active: true, + remote_pubkey: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + channel_point: 'd08ec3e04c780fc1d8762a36e37893c854700f2573c389256bde29eea65dce8b:0', + chan_id: '2050954223663710208', + capacity: '100000', + local_balance: '99817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '34', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'lightning.glop.org' + }, + { + active: true, + remote_pubkey: '0315fad9096f8addac2870ca00175d446ae41fe79084b98b5f0e268288ada32e61', + channel_point: '7010ee2d7f984b1e1cd2310d514a811bb6ff3a77b3983ed228f003afda001177:1', + chan_id: '2207043093368799233', + capacity: '100000', + local_balance: '0', + remote_balance: '99817', + commit_fee: '183', + commit_weight: '552', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '0', + pending_htlcs: [], + csv_delay: 6, + private: false, + initiator: false, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '1000', + remote_chan_reserve_sat: '1000', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '12704', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 6, + chan_reserve_sat: '1000', + dust_limit_sat: '573', + max_pending_amt_msat: '18446744073709551615', + min_htlc_msat: '0', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '1000', + dust_limit_sat: '546', + max_pending_amt_msat: '99000000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'ThunderAlpha' + }, + { + active: false, + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + channel_point: '082a1b6dc57f9caf2d002d0188fcada054431f4b8a877670d9fad6ede5a92532:0', + chan_id: '2050990507548409856', + capacity: '20000', + local_balance: '19817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '17', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'LiteGo.io' + }, + { + active: false, + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + channel_point: 'b5dce177720f7bfb58c827412c8966f3468ed486468fcff020dc0eb9930a6b47:0', + chan_id: '2080317781194506240', + capacity: '20000', + local_balance: '19817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '12', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'LiteGo.io' + }, + { + active: false, + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + channel_point: '307e7161dd917e197f1d982fcc3e7e9e05136fd9b2ed88062668efdad1502079:0', + chan_id: '2050993806083817472', + capacity: '25000', + local_balance: '24817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '15', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '24750000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '24750000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'LiteGo.io' + }, + { + active: false, + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + channel_point: '889f6250eb7af9e97df68413aa572fc4069e6a527a31a050fa7d4155b9680dd3:0', + chan_id: '2050957522198462464', + capacity: '20000', + local_balance: '19817', + remote_balance: '0', + commit_fee: '183', + commit_weight: '600', + fee_per_kw: '253', + unsettled_balance: '0', + total_satoshis_sent: '0', + total_satoshis_received: '0', + num_updates: '10', + pending_htlcs: [], + csv_delay: 144, + private: false, + initiator: true, + chan_status_flags: 'ChanStatusDefault', + local_chan_reserve_sat: '573', + remote_chan_reserve_sat: '573', + static_remote_key: true, + commitment_type: 'STATIC_REMOTE_KEY', + lifetime: '12704', + uptime: '0', + close_address: '', + push_amount_sat: '0', + thaw_height: 0, + local_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + remote_constraints: { + csv_delay: 144, + chan_reserve_sat: '573', + dust_limit_sat: '573', + max_pending_amt_msat: '19800000', + min_htlc_msat: '1', + max_accepted_htlcs: 483 + }, + balancedness: '0.000', + remote_alias: 'LiteGo.io' + } + ], + closedChannels: [ + { + channel_point: 'd54848cec4aa5d486dc7550f8c015da4da2de9354b3fc2097784a5ca9669a259:0', + chan_id: '2050987209015033856', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '3e5fc832bbe30faf6b5a3ac5f48ee78c59a60319c6d130fac099f20b56ca8f72', + remote_pubkey: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + capacity: '20000', + close_height: 1970833, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'co/KVgvymcD6MNHGGQOmWYznjvTFOlprrw/juzLIXz4=', + txid_str: '3e5fc832bbe30faf6b5a3ac5f48ee78c59a60319c6d130fac099f20b56ca8f72', + output_index: 0 + }, + amount_sat: '19817', + sweep_txid: '44c6c685cb7b1c0a58cc28387ef244e73421e3492a3973fc7245c0c7aa6cbb7f' + } + ], + remote_alias: 'lightning.glop.org' + }, + { + channel_point: '9c8e5258f541c7b3d442c71eac587d8cb43b407b9a056c7124f744437473d4d8:0', + chan_id: '2050983910479560704', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '8b2d7bbf57357a27f1fa42a7939feeca6db3f61dab6fd02d5b97fafeefbed686', + remote_pubkey: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + capacity: '20000', + close_height: 1970832, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'hta+7/76l1st0G+rHfazbcrun5OnQvrxJ3o1V797LYs=', + txid_str: '8b2d7bbf57357a27f1fa42a7939feeca6db3f61dab6fd02d5b97fafeefbed686', + output_index: 0 + }, + amount_sat: '19817', + sweep_txid: '44c6c685cb7b1c0a58cc28387ef244e73421e3492a3973fc7245c0c7aa6cbb7f' + } + ], + remote_alias: 'GetBittrStaging' + }, + { + channel_point: 'b2ffd61cdaf89c5343d6ad86058bc07116ed24d43bb8fdf7a9d30d5ee9284638:0', + chan_id: '2050980611943759872', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'a93f0d6b4c7d0b7d33dde808f985d3ce15d444170215e3f0d99e2a8c9081742f', + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + capacity: '200000', + close_height: 1903688, + settled_balance: '75418', + time_locked_balance: '199606', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'L3SBkIwqntnw4xUCF0TUFc7ThfkI6N0zfQt9TGsNP6k=', + txid_str: 'a93f0d6b4c7d0b7d33dde808f985d3ce15d444170215e3f0d99e2a8c9081742f', + output_index: 0 + }, + amount_sat: '75418', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'L3SBkIwqntnw4xUCF0TUFc7ThfkI6N0zfQt9TGsNP6k=', + txid_str: 'a93f0d6b4c7d0b7d33dde808f985d3ce15d444170215e3f0d99e2a8c9081742f', + output_index: 1 + }, + amount_sat: '124355', + sweep_txid: '0a31f3519eca43b79efbeabdc37b328d0de7f27050dfcf44a40131b71be9555d' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: 'XVXpG7cxAaREz99QcPLnDY0ye8O96vuet0PKnlHzMQo=', + txid_str: '0a31f3519eca43b79efbeabdc37b328d0de7f27050dfcf44a40131b71be9555d', + output_index: 0 + }, + amount_sat: '124188', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + } + ], + remote_alias: 'LiteGo.io' + }, + { + channel_point: '3e16c7e325240c88bf3a926322107a73aab23033af59b63efe7083db55b1c79b:1', + chan_id: '2092055067843493889', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'c56bb3c60327f9b2c377869581f3d57179e4c3666a027ba901d183dea0226275', + remote_pubkey: '03b4e78b999c4ff29508c5889f51852d9d5f04eae1e829e54010d26b49628b953f', + capacity: '1000000', + close_height: 1903688, + settled_balance: '475896', + time_locked_balance: '999184', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: 'asb9DHt9oqaR6ymQ4eGo6pLZDSHB7Qmtm+9unq7FmFE=', + txid_str: '5198c5ae9e6eef9bad09edc1210dd992eaa8e1e19029eb91a6a27d7b0cfdc66a', + output_index: 0 + }, + amount_sat: '248913', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'dWIioN6D0QGpewJqZsPkeXHV84GVhnfDsvknA8aza8U=', + txid_str: 'c56bb3c60327f9b2c377869581f3d57179e4c3666a027ba901d183dea0226275', + output_index: 0 + }, + amount_sat: '25623', + sweep_txid: '808217405af5a920017d8a6c1667715dd1a2b46a4ef9e8b1dab9e6b3ac2cbc9c' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'dWIioN6D0QGpewJqZsPkeXHV84GVhnfDsvknA8aza8U=', + txid_str: 'c56bb3c60327f9b2c377869581f3d57179e4c3666a027ba901d183dea0226275', + output_index: 1 + }, + amount_sat: '249080', + sweep_txid: '5198c5ae9e6eef9bad09edc1210dd992eaa8e1e19029eb91a6a27d7b0cfdc66a' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'dWIioN6D0QGpewJqZsPkeXHV84GVhnfDsvknA8aza8U=', + txid_str: 'c56bb3c60327f9b2c377869581f3d57179e4c3666a027ba901d183dea0226275', + output_index: 2 + }, + amount_sat: '249086', + sweep_txid: '8db3b402e90062d008f9e198f09d23dc8eacee76c73e0d926806a781a76204f8' + }, + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'dWIioN6D0QGpewJqZsPkeXHV84GVhnfDsvknA8aza8U=', + txid_str: 'c56bb3c60327f9b2c377869581f3d57179e4c3666a027ba901d183dea0226275', + output_index: 3 + }, + amount_sat: '475896', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: 'nLwsrLPmudqx6PlOarSi0V1xZxZsin0BIKn1WkAXgoA=', + txid_str: '808217405af5a920017d8a6c1667715dd1a2b46a4ef9e8b1dab9e6b3ac2cbc9c', + output_index: 0 + }, + amount_sat: '25456', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: '+ARip4GnBmiSDT7Hdu6sjtwjnfCY4fkI0GIA6QK0s40=', + txid_str: '8db3b402e90062d008f9e198f09d23dc8eacee76c73e0d926806a781a76204f8', + output_index: 0 + }, + amount_sat: '248919', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + } + ], + remote_alias: 'Fold' + }, + { + channel_point: '9827124a03d374d0f03bdb127d6c70b07d5adc37b427397d4e926f88009eb224:0', + chan_id: '2050942129036328960', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '13c0cc1f43b48d6624bdb9ea7fde4914afb9d9d3c8cb45a3b63b433db73e256c', + remote_pubkey: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + capacity: '200000', + close_height: 1903688, + settled_balance: '75419', + time_locked_balance: '199606', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'bCU+tz1DO7ajRcvI09m5rxRJ3n/qub0kZo20Qx/MwBM=', + txid_str: '13c0cc1f43b48d6624bdb9ea7fde4914afb9d9d3c8cb45a3b63b433db73e256c', + output_index: 0 + }, + amount_sat: '75419', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'bCU+tz1DO7ajRcvI09m5rxRJ3n/qub0kZo20Qx/MwBM=', + txid_str: '13c0cc1f43b48d6624bdb9ea7fde4914afb9d9d3c8cb45a3b63b433db73e256c', + output_index: 1 + }, + amount_sat: '124354', + sweep_txid: '83e02e847630dd9ef24d639e9d51ff05e5b4a9a28c737b062a02b9e6dc22e2dd' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: '3eIi3Oa5AioGe3OMoqm05QX/UZ2eY03ynt0wdoQu4IM=', + txid_str: '83e02e847630dd9ef24d639e9d51ff05e5b4a9a28c737b062a02b9e6dc22e2dd', + output_index: 0 + }, + amount_sat: '124187', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + } + ], + remote_alias: 'LiteGo.io' + }, + { + channel_point: '45adaf058ea37375dd55d6c54293e635bdd752350f014620dbfa7ade43e8937f:1', + chan_id: '2086947836312748033', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '774cbf352bc6d52f29dd76faf2cca01901a3d2fe66eb903067a97c433177e281', + remote_pubkey: '035555cbdd2b5642bbd196b31df477fad20125ae99119fd5ffb1d42c7f4811dd3a', + capacity: '200000', + close_height: 1903688, + settled_balance: '75418', + time_locked_balance: '199606', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'geJ3MUN8qWcwkOtm/tKjARmgzPL6dt0pL9XGKzW/THc=', + txid_str: '774cbf352bc6d52f29dd76faf2cca01901a3d2fe66eb903067a97c433177e281', + output_index: 0 + }, + amount_sat: '75418', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'geJ3MUN8qWcwkOtm/tKjARmgzPL6dt0pL9XGKzW/THc=', + txid_str: '774cbf352bc6d52f29dd76faf2cca01901a3d2fe66eb903067a97c433177e281', + output_index: 1 + }, + amount_sat: '124355', + sweep_txid: 'b681b4047d0323bd4dc5f19d3b7116bb4d8839b129b1fcef9cafd40520bdb6d1' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: '0ba9IAXUr5zv/LEpsTmITbsWcTud8cVNvSMDfQS0gbY=', + txid_str: 'b681b4047d0323bd4dc5f19d3b7116bb4d8839b129b1fcef9cafd40520bdb6d1', + output_index: 0 + }, + amount_sat: '124188', + sweep_txid: '8d7b8f98f60b65c102f01c7bf701bc43c0a227974bea25614f2d0791d67387d6' + } + ], + remote_alias: 'lnd.testnet.bitcoin.ovh' + }, + { + channel_point: 'df418270d276b363b5db2fb2dec3d42729ab38c06eb2fffa20258c722d222430:0', + chan_id: '2050950925128695808', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'aa201db75cffb50109ced48554e096530bb59fbdb1a1340989ab91530d12308f', + remote_pubkey: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + capacity: '100000', + close_height: 1903275, + settled_balance: '85754', + time_locked_balance: '0', + close_type: 'REMOTE_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_BOTH', + resolutions: [ + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'jzASDVORq4kJNKGxvZ+1C1OW4FSF1M4JAbX/XLcdIKo=', + txid_str: 'aa201db75cffb50109ced48554e096530bb59fbdb1a1340989ab91530d12308f', + output_index: 0 + }, + amount_sat: '1339', + sweep_txid: '72f48d564b00ccc6c26acd5f72ed8adc9ea007bb6e4946e5d0718075b6246ea0' + }, + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'jzASDVORq4kJNKGxvZ+1C1OW4FSF1M4JAbX/XLcdIKo=', + txid_str: 'aa201db75cffb50109ced48554e096530bb59fbdb1a1340989ab91530d12308f', + output_index: 2 + }, + amount_sat: '85754', + sweep_txid: '405fc64e7b1dceaac45a316064f2b98e82d58475d652af7e28bff52fc82da73c' + } + ], + remote_alias: 'GetBittrStaging' + }, + { + channel_point: 'b5e79faaae29de633c4bf522a0b13049e36f98609ec099c09d5afae6d2cc3374:1', + chan_id: '2092048470773334017', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'bdbe4df89e17e05b6d7be3f273583bc60882b0bc95f08fb40c2b5db604f0d9ab', + remote_pubkey: '03f060953bef5b777dc77e44afa3859d022fc1a77c55138deb232ad7255e869c00', + capacity: '200000', + close_height: 1902860, + settled_balance: '29687', + time_locked_balance: '199186', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: 'XxzF5Fyg7ZCKKszDtpL6IJjK/kYwMcMp8l00Dx/m9f8=', + txid_str: 'fff5e61f0f345df229c3313046feca9820fa92b6c3cc2a8a90eda05ce4c51c5f', + output_index: 0 + }, + amount_sat: '59833', + sweep_txid: 'ea125dbce01997bde40b5ede2da3697dc05f93500b0c1cc19c58caa84dfa88c7' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: 'oHpyU72+ulpohoUsP/gosdN/xiAxagbtNtKH/VAxE+0=', + txid_str: 'ed133150fd87d236ed066a3120c67fd3b128f83f2c8586685ababebd53727aa0', + output_index: 0 + }, + amount_sat: '49833', + sweep_txid: 'ea125dbce01997bde40b5ede2da3697dc05f93500b0c1cc19c58caa84dfa88c7' + }, + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'q9nwBLZdKwy0j/CVvLCCCMY7WHPy43ttW+AXnvhNvr0=', + txid_str: 'bdbe4df89e17e05b6d7be3f273583bc60882b0bc95f08fb40c2b5db604f0d9ab', + output_index: 0 + }, + amount_sat: '29687', + sweep_txid: '66c1773741a91e4d6842542722acca7479c970bc93792a38ce159e4e8694d990' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'q9nwBLZdKwy0j/CVvLCCCMY7WHPy43ttW+AXnvhNvr0=', + txid_str: 'bdbe4df89e17e05b6d7be3f273583bc60882b0bc95f08fb40c2b5db604f0d9ab', + output_index: 1 + }, + amount_sat: '50000', + sweep_txid: 'ed133150fd87d236ed066a3120c67fd3b128f83f2c8586685ababebd53727aa0' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'q9nwBLZdKwy0j/CVvLCCCMY7WHPy43ttW+AXnvhNvr0=', + txid_str: 'bdbe4df89e17e05b6d7be3f273583bc60882b0bc95f08fb40c2b5db604f0d9ab', + output_index: 2 + }, + amount_sat: '60000', + sweep_txid: '0ed77b9d1531e657ea68c11c33e101579a58c95f2f1beaa617f2425dc3e575ef' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'FIRST_STAGE', + outpoint: { + txid_bytes: 'q9nwBLZdKwy0j/CVvLCCCMY7WHPy43ttW+AXnvhNvr0=', + txid_str: 'bdbe4df89e17e05b6d7be3f273583bc60882b0bc95f08fb40c2b5db604f0d9ab', + output_index: 3 + }, + amount_sat: '60000', + sweep_txid: 'fff5e61f0f345df229c3313046feca9820fa92b6c3cc2a8a90eda05ce4c51c5f' + }, + { + resolution_type: 'OUTGOING_HTLC', + outcome: 'TIMEOUT', + outpoint: { + txid_bytes: '73Xlw11C8hem6hsvX8lYmlcB4TMcwWjqV+YxFZ171w4=', + txid_str: '0ed77b9d1531e657ea68c11c33e101579a58c95f2f1beaa617f2425dc3e575ef', + output_index: 0 + }, + amount_sat: '59833', + sweep_txid: 'ea125dbce01997bde40b5ede2da3697dc05f93500b0c1cc19c58caa84dfa88c7' + } + ], + remote_alias: 'Boltz' + }, + { + channel_point: '0c7f078bb7cf231cd73fbbddda3c035fa53189dbfc68ee24de79b4deaf716cc6:1', + chan_id: '2092044072705720321', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'e46021b5d9b81e19543171592d923d8ef2d02f8cb98b44f328e8ad2620eaf528', + remote_pubkey: '03b4e78b999c4ff29508c5889f51852d9d5f04eae1e829e54010d26b49628b953f', + capacity: '1000000', + close_height: 1902711, + settled_balance: '999817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [], + remote_alias: 'Fold' + }, + { + channel_point: 'c221fe2c7da9b478f129b17155df880eac191ad6ad86cc396787d5a212a0db36:0', + chan_id: '2021033213736321024', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '759d1de91fd769a84769d11c714e4342e1ddd13c40eb73cd54af3ee10be8cc94', + remote_pubkey: '030b9e80fa104866a6c3d9cb399fa1ab6647fe13757c0ff13bc799a96f5dfef424', + capacity: '100000', + close_height: 1892232, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'REMOTE_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_REMOTE', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'lMzoC+E+r1TNc+tAPNHd4UJDTnEc0WlHqGnXH+kdnXU=', + txid_str: '759d1de91fd769a84769d11c714e4342e1ddd13c40eb73cd54af3ee10be8cc94', + output_index: 0 + }, + amount_sat: '99817', + sweep_txid: '9a46d04a8d0e37cff29251c0f0085976288556a75fa3e6ddf10f387430356dd4' + } + ], + remote_alias: 'rpi3nodeTestnet02' + }, + { + channel_point: '3d9b3f2d623def1a793ca57ca376263be84a7424d6e3822f1d6f7ef71571d2c0:0', + chan_id: '1832641791964676096', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'a8ae2653aa8c40be2e6fac23a57988e9e860c75144da23d62790c6b48d9ef867', + remote_pubkey: '03b7af0f7525b972f921894facc056386f32618c0a8791af8072ec4e755cfebbeb', + capacity: '20000', + close_height: 1838304, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [ + { + resolution_type: 'COMMIT', + outcome: 'CLAIMED', + outpoint: { + txid_bytes: 'Z/iejbTGkCfWI9pEUcdg6OmIeaUjrG8uvkCMqlMmrqg=', + txid_str: 'a8ae2653aa8c40be2e6fac23a57988e9e860c75144da23d62790c6b48d9ef867', + output_index: 0 + }, + amount_sat: '19817', + sweep_txid: '36a128592dcd7e7b9c1479de54bba5065c71c24eae225c799ade2191e7402ce2' + } + ], + remote_alias: 'prism' + }, + { + channel_point: '8f4bd8e71b76612286088d96056b8910cc234916a89374c75a8b5fc8992d6386:0', + chan_id: '1795545369112543232', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '740dbb082ef55e7d6a759543a150dbe4f361adb35207f30c3ea090856b50b1c1', + remote_pubkey: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + capacity: '100000', + close_height: 1802704, + settled_balance: '45293', + time_locked_balance: '91923', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [], + remote_alias: 'nanoparticle.space' + }, + { + channel_point: '793307d9406bb219f610ce7cadf1fe280a8a2a9e03f2124a78aa82d3036df37e:0', + chan_id: '1890180334914830336', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '5441955686ecaffda41d9ab4ea499616863a1f74f8d078aa7219d645d3d0e5dd', + remote_pubkey: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + capacity: '100000', + close_height: 1802704, + settled_balance: '30957', + time_locked_balance: '98792', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [], + remote_alias: 'nanoparticle.space' + }, + { + channel_point: '7a653ddb2ffdc18c8e2575721fa1d8f71a5ae390e856f5a8dca71785818125f3:0', + chan_id: '1801931332652957696', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '65ffdabe178c78b6f74a46270221bb55ff3b9491fb51319e8def8b10b4bbde42', + remote_pubkey: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + capacity: '100000', + close_height: 1802704, + settled_balance: '42488', + time_locked_balance: '67417', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [], + remote_alias: 'lightning.glop.org' + }, + { + channel_point: '9fb0039bd1af15f493b4c2e502ce7d7ab2d4b72bcbd55c7a781c00b8abba60cb:0', + chan_id: '1893908778847502336', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '2cf81888137ed10cbec113f53fc4dfe7b14043a6a9879c3c6a31d95d1cb05ec0', + remote_pubkey: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + capacity: '100000', + close_height: 1800389, + settled_balance: '89814', + time_locked_balance: '0', + close_type: 'REMOTE_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_REMOTE', + resolutions: [], + remote_alias: 'endurance' + }, + { + channel_point: '91cd65e3b2a25fd357d8c7e13f132e3b22d65106982f17db104fdf9f75e1b349:1', + chan_id: '1893981346617688065', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'a4ee9e1999d479e96d1c952711bb85fd8111a3eb52d5b12bb678ff8929ace3bc', + remote_pubkey: '02ec788f53255a5998a06eb0f89372737b93dc22926c5cd7e471e1930999c9830a', + capacity: '100000', + close_height: 1781690, + settled_balance: '99817', + time_locked_balance: '99817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_LOCAL', + resolutions: [], + remote_alias: 'ryomo-1[LND]' + }, + { + channel_point: 'ff3b6f14c942df4e4fcf3f2e425c43fbb58da2d3d88eb7ca6ae242b10f7c4960:0', + chan_id: '1797870836207190016', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'ac59d01c5a69aaf7bab0fefba16e5b10087dc7be086280f11f9aea77e4037bb9', + remote_pubkey: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + capacity: '250000', + close_height: 1722809, + settled_balance: '54790', + time_locked_balance: '0', + close_type: 'REMOTE_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'endurance' + }, + { + channel_point: '7c76a8a5ff4089bf0d0f06855cfc7aabedfc8eb223cd28976b7d9a3bd926debd:0', + chan_id: '1835857863446953984', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '4543de114d33ad1fb7c2ebed52cff11247d685fab18ea68932994eb76771d702', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1722570, + settled_balance: '19817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '36e42bfb0dec6a3ba878f95b9e28816934f01c94f9deacae414cf3723f605c96:0', + chan_id: '1893901082262962176', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '14502d5072e88e97f7d989f2c6494fbdcf4cd63d2aa3b14ebd1bf8f81948131f', + remote_pubkey: '02390389f09d4bf01d26cb495c8ea1c06ff8bd596c8c2e367daf37dc9312856b46', + capacity: '100000', + close_height: 1722565, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '02390389f0...9312856b46' + }, + { + channel_point: '98e1a82b91bbb70f978fe4eb307e1cdfdb22aec62858cb02b80e45b0833cad00:0', + chan_id: '1890241907567230976', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'dbbf1c63c1299a4ff2399e9a260d4c55da2f56b537ed964488afd2885f7caf2a', + remote_pubkey: '02312627fdf07fbdd7e5ddb136611bdde9b00d26821d14d94891395452f67af248', + capacity: '100000', + close_height: 1722562, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '1ML.com node ALPHA' + }, + { + channel_point: '86d042436f7e1c3d4fcd68cc564884708e69c592d71f22d16f86ddbe505a7d9e:0', + chan_id: '1892046206149132288', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '346f1c68d3bd365ca9d06f7506f742a61bad08919301f2280608e76c5d213036', + remote_pubkey: '02b4ba2a5b3ad06eb061050e0ec00e06f67906ff089062a21a90ffdfd2314760b3', + capacity: '1000000', + close_height: 1722560, + settled_balance: '999817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'dev-lndus0.zaphq.io' + }, + { + channel_point: '827eeb06fd8c23c91d1c83a453aa536044f336e7ca65592ab741b3fd5e398fa0:1', + chan_id: '1893905480311767041', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'e6234a9b275a17a92869f688537e97a74c7d3b80668820cbc3c01aeac7861b67', + remote_pubkey: '02312627fdf07fbdd7e5ddb136611bdde9b00d26821d14d94891395452f67af248', + capacity: '100000', + close_height: 1722500, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '1ML.com node ALPHA' + }, + { + channel_point: '6f12d4b7dac998dfa758306b3cf4ca4fbd99002546d90cd42d9182b1bd838c18:1', + chan_id: '1893089642695950337', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '9c6bcb2b81562a85aea198cd2317b16cd1829c6370867f9e16c99f8b463c5e96', + remote_pubkey: '02b4ba2a5b3ad06eb061050e0ec00e06f67906ff089062a21a90ffdfd2314760b3', + capacity: '1000000', + close_height: 1722500, + settled_balance: '999817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'dev-lndus0.zaphq.io' + }, + { + channel_point: 'a5abe9736a72ad75187d4c6c4ea5569089249bdf65b8195483c6bd0f50c2e41d:1', + chan_id: '1835855664427499521', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '471984add474f261feae11b1609258abe6828dd4d72d867651cb15545cb62c1f', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669706, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '2a75794c874cc7b8607d6f2cf95073bc78c1905793450f840214cb063d4fd280:0', + chan_id: '1835855664427630592', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'c5f6e56457fe330e0a7efd0d7b529824005dd7a3e853169e34096a88c2441f92', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669706, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '1a6c77051896fb6fb618fab3b09c5968f9e62190e8aa05ba395e0b7b5d3174c1:0', + chan_id: '1801934631181942784', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '13aa74b9f08f043937813c2e3df2a33209d65814b742c1d63095bf9dd207b5b5', + remote_pubkey: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + capacity: '100000', + close_height: 1669702, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '02b75534b5960e934840' + }, + { + channel_point: 'b32d4e84861cb05e6e59c759dda175a2b6a4dda348c48412472e7f4e0bc5417e:0', + chan_id: '1835842470276169728', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'ec24a740cacca456778777c2b4460456021451e9aa95ebcc2d3f469e447b3687', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669701, + settled_balance: '19817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '33618761d14e39a65e1bee9a77c4600a27ef3f0fff9f8b33c0e9d28e5432328b:1', + chan_id: '1832636294408830977', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'f8a8e894744d496e2783a51e186188ebd8a299fb3ba5a1942c38922ab4248985', + remote_pubkey: '02346860ea1c432c4d449f8a1bc8ca7ebd0b38165ee99b43d2a820189171a4a922', + capacity: '200000', + close_height: 1669701, + settled_balance: '199817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'Buda.com [Testnet]' + }, + { + channel_point: '45b45cfb95e4d16ac10811541adddbacde743762369a4f3932fcfe51370d5c52:0', + chan_id: '1832643990968401920', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '3c8529520b0809bf0a6cecc2194ecc6877ddf58e2c75a99f7bd4cf34f02a3275', + remote_pubkey: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + capacity: '100000', + close_height: 1669701, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '0270685ca81a8e4d4d01' + }, + { + channel_point: '0dada840d7a267a67ee30886cb2c368ef5d6cfe52f06cedd57535e08825ae260:0', + chan_id: '1835775400074543104', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '6e7b4e73effa86525edca09f5526455536dbae29fef1d560dd1b3d8971929bbe', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669701, + settled_balance: '19817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '11ab306e9b31240a9cc035c4c717a2ce6f6b3983b014f552407ecb2d1e43fb49:1', + chan_id: '1835766603978964993', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '22f6086fc327e44f75f526da1515df11057018c44eae5559840f73b5fdd37eae', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '200000', + close_height: 1669628, + settled_balance: '199817', + time_locked_balance: '199817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: '35d831fd1bb84b7d7d60ef714af724b6d817650fdb2ed75fd1257f86ea8e6deb:0', + chan_id: '1835766603979358208', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '15cffcda5bbb0896b55f91971a0ca00ffa63a14d1d723c0cb6564a7d830d3596', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669628, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: 'd8a1b7d73080df7db04a2c16c05a7f1671bc1ef1891ddb6d879ade8954ed2309:1', + chan_id: '1835764404968751105', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '8eef567b7def586d06a5eee14e50abe6f6b04121d0e0b86004d8a2127fffb15c', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669621, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: 'af1dec0a8d0df423829a0f2ce6d88b6abdb3d6b5f5f596e8d8c2d241c399791e:0', + chan_id: '1835764404958986240', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '605b87fcf9a1edacd6565007a1709f9e00dfedf93e7ba3f1879b9766a94e97a1', + remote_pubkey: '036b96e4713c5f84dcb8030592e1bd42a2d9a43d91fa2e535b9bfd05f2c5def9b9', + capacity: '20000', + close_height: 1669621, + settled_balance: '19817', + time_locked_balance: '19817', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'demo1.lndexplorer.com' + }, + { + channel_point: 'a0c0704403a48438837f089afa3e20f3be990448d50aad3357218c74066a155e:0', + chan_id: '1772357768397455360', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '2de6e7442322ead8eb68f933b40481d25e4cffc0b5c6cfc7af2a6c3e70a88836', + remote_pubkey: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + capacity: '500000', + close_height: 1668289, + settled_balance: '208632', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '0304ab2d2e...96222c97af' + }, + { + channel_point: 'd1dff7665a50d9163b0c68b56e05be70dadea88be27d6672e10fb647f8b9119d:0', + chan_id: '1772357768397389824', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'e1726878bddf87f615e3afca6dda3fb1ffaf5091c4adf156d40ac991f87dd40b', + remote_pubkey: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + capacity: '100000', + close_height: 1667231, + settled_balance: '9758', + time_locked_balance: '30636', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'LightningPeachHubTestnet' + }, + { + channel_point: '88d7a391f04ca65ba14d1c181c986a59f2803fa59d026614067b7097fd9676dd:0', + chan_id: '1801934631182008320', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '499d7be26af96526d7d3cbe5bcdce1714dc094717a74d53a1d48560f9fca9d15', + remote_pubkey: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + capacity: '100000', + close_height: 1665241, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '02b75534b5960e934840' + }, + { + channel_point: 'd945a03fda23a3446fb0d16ca647f3e856f333af976b14049cf6df1565c41eae:0', + chan_id: '1801932432164126720', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'd67fc266896799e4196b388e922fe8dbf66ab1e8d965969235a78a5fda1981cd', + remote_pubkey: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + capacity: '100000', + close_height: 1664186, + settled_balance: '98284', + time_locked_balance: '99455', + close_type: 'LOCAL_FORCE_CLOSE', + open_initiator: 'INITIATOR_LOCAL', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'LightningPeachHubTestnet' + }, + { + channel_point: '958c0ea91c65db6b17bc3243ed584c1721d39aa129b58104dc4aca8ec2d36a3e:0', + chan_id: '1772357768397258752', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: 'c76b7842c7f80276761763ea5473734d3f9602d2d71c01441ea18a62414c7abe', + remote_pubkey: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + capacity: '100000', + close_height: 1635154, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_UNKNOWN', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: '0304ab2d2e...96222c97af' + }, + { + channel_point: 'cf57c001b79c457f7f0ab9c5d8b38e6035de873982a18f6c7d7b353a9d832b85:0', + chan_id: '1772357768397324288', + chain_hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943', + closing_tx_hash: '4d736ee5895a3ef0203ee45580c011dda38f8163bb441e8d9c1abf80c5eda5b5', + remote_pubkey: '035555cbdd2b5642bbd196b31df477fad20125ae99119fd5ffb1d42c7f4811dd3a', + capacity: '100000', + close_height: 1634271, + settled_balance: '99817', + time_locked_balance: '0', + close_type: 'COOPERATIVE_CLOSE', + open_initiator: 'INITIATOR_UNKNOWN', + close_initiator: 'INITIATOR_UNKNOWN', + resolutions: [], + remote_alias: 'lnd.testnet.bitcoin.ovh' + } + ], + pendingChannels: { + total_limbo_balance: '0', + pending_open_channels: [], + pending_closing_channels: [], + pending_force_closing_channels: [], + waiting_close_channels: [] + }, + numberOfActiveChannels: 8, + numberOfInactiveChannels: 9, + numberOfPendingChannels: { + open: { + num_channels: 0, + limbo_balance: 0 + }, + closing: { + num_channels: 0, + limbo_balance: 0 + }, + force_closing: { + num_channels: 0, + limbo_balance: 0 + }, + waiting_close: { + num_channels: 0, + limbo_balance: 0 + }, + total_channels: 0, + total_limbo_balance: '0' + }, + totalCapacityActive: 663927, + totalCapacityInactive: 298329, + totalLocalBalance: 663927, + totalRemoteBalance: 954607, + totalInvoices: 817, + transactions: [], + utxos: [], + payments: { + payments: [ + { + payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', + value: '400', + creation_date: '1623624642', + fee: '0', + payment_preimage: '9f6cecc47470bce820d13f1230102dbca48b4f46ceb03988c411e214d625e58d', + value_sat: '400', + value_msat: '400000', + payment_request: 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624642085352400', + htlcs: [ + { + attempt_id: '54005', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004671, + total_fees: '0', + total_amt: '400', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '400', + fee: '0', + expiry: 2004671, + amt_to_forward_msat: '400000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', + total_amt_msat: '400000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '400000' + }, + attempt_time_ns: '1623624642103304200', + resolve_time_ns: '1623624642421893100', + failure: null, + preimage: 'n2zsxHRwvOgg0T8SMBAtvKSLT0bOsDmIxBHiFNYl5Y0=' + } + ], + payment_index: '514', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'd58d9c37beb517ff50d674b5f6a9ced55f71994f22e9a53d687190130e9685f3', + value: '300', + creation_date: '1623624580', + fee: '0', + payment_preimage: '1db792cccc5986a2a2e4bb9e194598d609f4afa5d7b522ed028b00c3116b16b9', + value_sat: '300', + value_msat: '300000', + payment_request: 'lntb3u1psvdze8pp56kxecda7k5tl75xkwj6ld2ww640hrx20yt5620tgwxgpxr5kshesdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyqescqp2sp5crfu9rtfk2rnyuydj58rrsm8ujlqr8m92qr9p43vfv9lkzdfac6qrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqqq42we7qyp6s7wastqedh6cmdlw3qn0taj8q78x67lczmzg3gxq4ehyk8gfkjgqlnanu7n8e3aqzm7f46fpjuk9m82s3sl8patfavhcpn2mkar', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624580575464300', + htlcs: [ + { + attempt_id: '54004', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004670, + total_fees: '0', + total_amt: '300', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '300', + fee: '0', + expiry: 2004670, + amt_to_forward_msat: '300000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'wNPCjWmyhzJwjZUOMcNn5L4Bn2VQBlDWLEsL+wmp7jQ=', + total_amt_msat: '300000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '300000' + }, + attempt_time_ns: '1623624580598403100', + resolve_time_ns: '1623624580879000000', + failure: null, + preimage: 'HbeSzMxZhqKi5LueGUWY1gn0r6XXtSLtAosAwxFrFrk=' + } + ], + payment_index: '513', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '74a5d61001c7aac3a90dee448b73925b6a8e4d7dd27f3d22d3585c1c9c9c289b', + value: '200', + creation_date: '1623624139', + fee: '0', + payment_preimage: '8d28703af076610cd69cd6c9fecfec2bc85f7fd27a82945cb8d1a7819fb98a98', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1psvdzdrpp5wjjavyqpc74v82gdaezgkuujtd4gunta6fln6gkntpwpe8yu9zdsdpq23jhxarfdenjqmn8wfuzq3txvejkxarncqp2sp5a5w7pm7920wgtcfcd9ph5cj7fcsq6enxyss36rwmr7sts2y3u0esrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqg06ag53yxq82jfsnhqvd84taw0cxzn0clwcg5c3mt63y5eys3hpsng9peajc6vur3uuf9l56zugpjwaynhrup0qegz587cearrrz89sphnzgen', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624139107890200', + htlcs: [ + { + attempt_id: '54000', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004670, + total_fees: '0', + total_amt: '200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 2004670, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: '7R3g78VT3IXhOGlDemJeTiANZmYkIR0N2x+guCiR4/M=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '200000' + }, + attempt_time_ns: '1623624139139808900', + resolve_time_ns: '1623624139464308700', + failure: null, + preimage: 'jShwOvB2YQzWnNbJ/s/sK8hff9J6gpRcuNGngZ+5ipg=' + } + ], + payment_index: '511', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'f81ea5b08648edd1829054e13574a033c477fc01a889b1edfc20702f12edd0ba', + value: '248731', + creation_date: '1623348967', + fee: '7', + payment_preimage: '65ce89a0066d3f36944f959be5eaa3dbee187acefe6debf002a98eeb8fef90bc', + value_sat: '248731', + value_msat: '248731000', + payment_request: 'lntb2487310n1psvy4hgpp5lq02tvyxfrkarq5s2nsn2a9qx0z80lqp4zymrm0uypcz7yhd6zaqdy9wdmkzupq95s8xcmjd9c8gw3qxqcryvp4xuerxdf3xgunvcfkvf3n2ctrvdjnsdpjxcmrxvekxumrswfcvy6rvvr9vfskyvf5xvmnyden89nryvmy89nrzwfexsurve3kv43n2cqzryxq97zvuqrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqcqqqqpgqqqqqqqqqqqqqqqqq9qrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqmyqqqrgqqqqqqqqqqqqqqqqq9qsp575fnfu7whe9z8x6skktfcdnuencluy8ml25utrrsskqnlx5zs0xs9qyyssqhynj7m4qwcq0jepvdtwxu4xcpwe45ywp3ez5uw40suuql22xa4p3j34zqht2ldktu0xgcpfkejdxm6g24rs8tx0qzs0t57phxl67yegqqppqz4', + status: 'SUCCEEDED', + fee_sat: '7', + fee_msat: '7727', + creation_time_ns: '1623348967897815500', + htlcs: [ + { + attempt_id: '53001', + status: 'FAILED', + route: { + total_time_lock: 2004485, + total_fees: '6', + total_amt: '248737', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '5', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '5230', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166413939696009216', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '6478', + total_amt_msat: '248737478' + }, + attempt_time_ns: '1623348968156136000', + resolve_time_ns: '1623348968425435900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'SEeNEvs9mIMfq7Yz0U89e9qybVI5IP6WxjU+C7/2tHRlGIl7xQ0cXnu5MxHGKY4R9+QdR9i/RQXTnbMNEsC/hQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166413939696009216', + timestamp: 1622906540, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 6, + htlc_minimum_msat: '1', + base_fee: 1500, + fee_rate: 15, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53002', + status: 'FAILED', + route: { + total_time_lock: 2004485, + total_fees: '6', + total_amt: '248737', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '5', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '5230', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '6478', + total_amt_msat: '248737478' + }, + attempt_time_ns: '1623348968583611000', + resolve_time_ns: '1623348971525198000', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'w6S2+TrZvJQHT90fq12EHLVaixzTAk4lTM1v23CeUA89I9M7JCCa2U+YNI72lnxS6E5jXospzhiuIO9kdpYzbQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '1985398041880559616', + timestamp: 1623296013, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '16609443000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53003', + status: 'FAILED', + route: { + total_time_lock: 2004510, + total_fees: '9', + total_amt: '248740', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '8', + expiry: 2004504, + amt_to_forward_msat: '248732248', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248731', + fee: '1', + expiry: 2004464, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290732032', + chan_capacity: '16777215', + amt_to_forward: '248731', + fee: '0', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748291977216', + chan_capacity: '16777215', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '9966', + total_amt_msat: '248740966' + }, + attempt_time_ns: '1623348971674140800', + resolve_time_ns: '1623348972558126100', + failure: { + code: 'EXPIRY_TOO_FAR', + channel_update: null, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53004', + status: 'FAILED', + route: { + total_time_lock: 2004491, + total_fees: '8', + total_amt: '248739', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248734', + fee: '5', + expiry: 2004485, + amt_to_forward_msat: '248734736', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088448', + chan_capacity: '10000000', + amt_to_forward: '248732', + fee: '2', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '2488', + pub_key: '031a3478d481b92e3c28810228252898c5f0d82fc4d07f5210c4f34d4aba56b769', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088415', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '029081a5673d5fc5844031159369fb66be31279e717acb35fef345b2d4cce15a97', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1946680938933256193', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '8967', + total_amt_msat: '248739967' + }, + attempt_time_ns: '1623348972705682700', + resolve_time_ns: '1623348973043441900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'HM5yf905FBmPZqOh9+FPeuI/86bIGlVbPl2Xub6Ly64f7vj4Q+He4A1r10rsVgXIckiqtd6aksO0+rCfVHFAtw==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2015709378435088448', + timestamp: 1623348974, + message_flags: 1, + channel_flags: 2, + time_lock_delta: 6, + htlc_minimum_msat: '0', + base_fee: 1500, + fee_rate: 15, + htlc_maximum_msat: '4294967295', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53005', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2174399692651692032', + chan_capacity: '1000000', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03a9995d25d0767ef38ce2eff01ee574e41360c16b7bdf16a8edd87d82d06163c7', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2190388790739206144', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348973642855200', + resolve_time_ns: '1623348974332720100', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'Mzey8snaaDwmypl+58FJTf/AkMFsF5xv3pwefghDAEtFCv9fa9xRxolte+a2cs0oBtIfBvWPLq7t5F2h5D+D0Q==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2174399692651692032', + timestamp: 1623265773, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '990000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53006', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168638251721424896', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03e5e53fba8260e1f3226791b2f2d3c418b8b112ff596cd5b5cd345feef663a493', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168991194952433664', + chan_capacity: '1201562', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348974487951800', + resolve_time_ns: '1623348975282795500', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'H13oLUQ2MSIZPWWLomgewnjQPklnDpad4CL3eFKDxahx5MhXePCYYWzrgS0tiN2lwqTNfPwREQAirq7nBvi6bw==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2168638251721424896', + timestamp: 1623262487, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '1117160000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53007', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2170904345186795521', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '02e1c04443ad000c5988103da2e5a5743926e5c600920790a1aa1651962e6759bd', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2170718527720521728', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348975454890900', + resolve_time_ns: '1623348977235860500', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'EqUzUgENdi0g0JEFnY6KLF4FAg/yposLwfqqoOHaRbQHeUyB89K/wHR3NIz9F6to7H2DYhfByryJtvDWK59fjA==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2170718527720521728', + timestamp: 1623329072, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '297000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53008', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166401845068955648', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348977364710000', + resolve_time_ns: '1623348978139465800', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'TE+1zpvDgRDUAH5tVAT9PaQjduhBs6zKEC/3gBZIeCgH2II7hLZRXDnBlqZdhZtmQLJjxK45Fi/kqavtkfhraQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166401845068955648', + timestamp: 1623339573, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53009', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166401845068759040', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348978293164900', + resolve_time_ns: '1623348980624861100', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'FtD2X3XszZTTT8xueI80BREhdXI9HV8MK5GIpr3kqswr+LyXQMo3P0ANy0aYTlM9cQ3AS7aaqdxfYCiWOF8lYg==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166401845068759040', + timestamp: 1623302864, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53010', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1835977710205796353', + chan_capacity: '10530185', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03fd0aebde8713e9c311f22468d3d0524e788b1ef57f4cda41bf5b5a2300fc5cd6', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2159058206905663489', + chan_capacity: '11751847', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348980772545400', + resolve_time_ns: '1623348984824174900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'H0by/KFV66CTGh5GxWr1aMAOxCoW7FkJef/SjYMpnr8E49X2b+2G7P21ymUdtvYAomucSubN3wQGHnqFXN+y0A==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2159058206905663489', + timestamp: 1623332969, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '11634329000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53011', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2169072558823440384', + chan_capacity: '16776992', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '039ee4e3a1d7435b399aadaf3e096ddf85e5f17d4cda4491e589b9a9591c171713', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2169048369560485888', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348984956849700', + resolve_time_ns: '1623350840352156900', + failure: null, + preimage: 'Zc6JoAZtPzaUT5Wb5eqj2+4Yes7+bevwAqmO64/vkLw=' + } + ], + payment_index: '509', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '626261dbe0bca553aa39bf1619c5add0c21b7ee317e0dcae7c3df46eea08f57c', + value: '1337', + creation_date: '1623348967', + fee: '2', + payment_preimage: '58177d56479b95add5738b23016dc1d9c93e430f0602e8711408469be13d15fe', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1psvy4hgpp5vf3xrklqhjj4823ehutpn3dd6rppklhrzlsdetnu8h6xa6sg747qdq2wpex2urp0ycqzryxq97zvuqrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqcqqqqpgqqqqqqqqqqqqqqqqq9qrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqmyqqqrgqqqqqqqqqqqqqqqqq9qsp5y6sncyyvk2el025l95nsmfhj3j5z0uhd8ljk97jvdtsq38yyrv2q9qyyssqahns7l5v9rhfjh2zum9m82dds370hut0uqj559jztpmr6sk4vevj6d808ryu9qschgfhxp7ukcesgr0sxqv3kgqj3t7l0589dyjqjhgq8af67t', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2521', + creation_time_ns: '1623348967897815500', + htlcs: [ + { + attempt_id: '53000', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004485, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1338', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '1338001', + fee_msat: '1520', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '1337', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: 'JqE8EIyys/eqny0nDabyjKgn8u0/5WL6TGrgCJyEGxQ=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2521', + total_amt_msat: '1339521' + }, + attempt_time_ns: '1623348968011063800', + resolve_time_ns: '1623350830612082000', + failure: null, + preimage: 'WBd9Vkebla3Vc4sjAW3B2ck+Qw8GAuhxFAhGm+E9Ff4=' + } + ], + payment_index: '510', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '77b101814c364b3e3e4f3024429c641bab1d76dc090491f591301fc3d0c6a81c', + value: '100', + creation_date: '1618602746', + fee: '0', + payment_preimage: 'e3970d0250a4d700a0b11d0193c37b3ac41a415c49f552b39cb1857b332deed0', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1ps8nefspp5w7csrq2vxe9nu0j0xqjy98ryrw436akupyzfrav3xq0u85xx4qwqdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxsxqyd9uqcqp2sp5tv94v7l3cnjskl68ymthccuwcjvxcdw389wc6t83a7t2pe053hmqrzjqg888adqj2xnh4yq6y2470qfm77pxcf64wva60kmue09zrvrn3hggxcc05qqqrqqqqqqqp7sqqqqqeqqjq9qy9qsqmqzvmhryn98x0m45jfmmxzvvg45rjkm63e0430zwt23h899kdvwntv28tgm3uml6tkyue2g5z4nfxvxnc4p0tlu72ndn2z6mutgrd0qqc3c436', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618602746497594300', + htlcs: [ + { + attempt_id: '52001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971700, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1971700, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'WwtWe/HE5Qt/RybXfGOOxJhsNdE5XY0s8e+WoOX0jfY=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1618602746521534400', + resolve_time_ns: '1618602746777995900', + failure: null, + preimage: '45cNAlCk1wCgsR0Bk8N7OsQaQVxJ9VKznLGFezMt7tA=' + } + ], + payment_index: '508', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e1cbe4dcc6121fa3c84ba1568066b43c97e80e4b6eac589aab2ae11b81b66aa7', + value: '150', + creation_date: '1618602725', + fee: '0', + payment_preimage: '7c46f0a01bd187dec5870d0f1951b3bffe8286276e6a7552ebe2a0451d30413a', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618602725186251800', + htlcs: [ + { + attempt_id: '52000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971700, + total_fees: '0', + total_amt: '150', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '150', + fee: '0', + expiry: 1971700, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'TlB3JWmKew2FScn1bNyAT1ajYHJnJ9HnwxzUckmjccg=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '150000' + }, + attempt_time_ns: '1618602725216162100', + resolve_time_ns: '1618602725519229400', + failure: null, + preimage: 'fEbwoBvRh97Fhw0PGVGzv/6ChiduanVS6+KgRR0wQTo=' + } + ], + payment_index: '507', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a40cb67e8aba6f6e0a15bd9cdc8939704af3528363b0396b3e720adc7501cad6', + value: '200', + creation_date: '1618599076', + fee: '0', + payment_preimage: 'ed278cda9337e8d2939a283a94f27affa6630a80f81c34de8094130e42466afd', + value_sat: '200', + value_msat: '200000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618599076116808400', + htlcs: [ + { + attempt_id: '51001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971694, + total_fees: '0', + total_amt: '200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 1971694, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '200000' + }, + attempt_time_ns: '1618599076138745300', + resolve_time_ns: '1618599076488061700', + failure: null, + preimage: '7SeM2pM36NKTmig6lPJ6/6ZjCoD4HDTegJQTDkJGav0=' + } + ], + payment_index: '506', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '52924e9bbf41e162f515b13a9ac1a851db591d4eef00f35fca60c4b1142eefb5', + value: '100', + creation_date: '1618598800', + fee: '0', + payment_preimage: '585da9bc58dc3b704035ef526250ecfc0075fbef9dc9a9c9da7a8a3ba1992a34', + value_sat: '100', + value_msat: '100000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618598800343447800', + htlcs: [ + { + attempt_id: '51000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971693, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1971693, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1618598800380358500', + resolve_time_ns: '1618598800714647800', + failure: null, + preimage: 'WF2pvFjcO3BANe9SYlDs/AB1+++dyanJ2nqKO6GZKjQ=' + } + ], + payment_index: '505', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0181e7484080056483d6c00a5cb70e5f54e48543473fbec74206ddb2b7c74217', + value: '1337', + creation_date: '1610149447', + fee: '2', + payment_preimage: '333da46d3ca3ccee8a9e60bdce722dbdfa101f54e6cd5caa467f18b673d2273c', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0l3mjgpp5qxq7wjzqsqzkfq7kcq99edcwta2wfp2rgulma36zqmwm9d78ggtsdq2wpex2urp0ycqzryxq97zvuqsp5m2k8cdgmy7lupvxpnh9gl6gngqps0s7qcm2y382xt7svcy28e8ds9qy9qsq283x2u454vm0xm2kcg8sx6da0xle6kkwkam5evasc69hlf5m830jcsesmj5qkhcjmturxhl2welk895hy2unyr6gmcenwh0fd8q8gfspeqa59a', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1610149447986449800', + htlcs: [ + { + attempt_id: '49054', + status: 'SUCCEEDED', + route: { + total_time_lock: 1903283, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '2050950925128695808', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1903243, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '1338', + amt_to_forward: '1337', + fee: '1', + expiry: 1903203, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1903163, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1903163, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '2qx8NRsnv8CwwZ3Kj+kTQAMHw8DG1EidRl+gzBFHyds=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '1610149448037311400', + resolve_time_ns: '1610465842684956600', + failure: null, + preimage: 'Mz2kbTyjzO6KnmC9znItvfoQH1TmzVyqRn8YtnPSJzw=' + } + ], + payment_index: '488', + failure_reason: 'FAILURE_REASON_NONE' + } + ], + first_index_offset: '488', + last_index_offset: '514' + }, + invoices: { + invoices: [ + { + memo: 'Testing ngrx effects 7', + r_preimage: 'aa6a9b41c39ff69bc29d9783e50d0b2a7e8cb294a80fdbe75c5d650ddc9b5015', + r_hash: 'c005d1e2112a863934e9b499f14c82613f5dc52e96e0648b73932901e94b5ab9', + value: '700', + value_msat: '700000', + settled: true, + creation_date: '1623625020', + settle_date: '1623625037', + payment_request: 'lntb7u1psvdrfupp5cqzarcs392rrjd8fkjvlznyzvyl4m3fwjmsxfzmnjv5sr62tt2usdpy23jhxarfdenjqmn8wfuzqetxvejkxarnyqmscqzpgxqrrsssp5r3h3tk62wanq7s8kehw0u0ttp5ye8qmskpa35cal5k5d3krtxghs9qyyssq8awcu8rssq2kqqpc4pwsdxww3vw96pr4ktttjt4gkpktzqu0djxhcmx6070x3s09ydzmuce5fysmzhcp8t9happfr9najvngkj3xmjcpmed6r5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '817', + settle_index: '97', + amt_paid: '700000', + amt_paid_sat: '700', + amt_paid_msat: '700000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '64', + amt_msat: '700000', + accept_height: 2004658, + accept_time: '1623625037', + resolve_time: '1623625037', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '700000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HG8V20p3Zg9A9s3c/j1rDQmTg3Cwexpjv6Wo2NhrMi8=' + }, + { + memo: 'Testing Eclair Payments 6', + r_preimage: '54791cd989e4d1ef06512deb2c4fafd17aa3c5d48c7b01edc47db78d703d99d4', + r_hash: '90b5ee60a59b4067d4657b2bb4aa020f6a71bd5cc1c5a799b8c886d547037608', + value: '600', + value_msat: '600000', + settled: true, + creation_date: '1623624972', + settle_date: '1623625051', + payment_request: 'lntb6u1psvdrgvpp5jz67uc99ndqx04r90v4mf2szpa48r02uc8z60xdcezrd23crwcyqdpg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgpkcqzpgxqrrsssp559yee5wtrl5chrmf5qp7884cfj2tj42uqc7nlphsfp4vjk8rwhds9qyyssqm4hacj9nwhg90rcd8qzvz9ykt6mhskz4nuevj0tsezgv8pgc3j3rg0qgu66kjw2vfp3wym02nrkv5tgnjpv7dv6x38md37rsr2r8vssquzv5x0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '816', + settle_index: '98', + amt_paid: '600000', + amt_paid_sat: '600', + amt_paid_msat: '600000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '65', + amt_msat: '600000', + accept_height: 2004658, + accept_time: '1623625051', + resolve_time: '1623625051', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '600000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oUmc0csf6YuPaaAD4564TJS5VVwGPT+G8EhqyVjjdds=' + }, + { + memo: 'Testing ngrx effects 5', + r_preimage: '3d7c192233b1d4c9862e0e4df397d46c37f436fcc3db94780c1ccbbd9d5a5764', + r_hash: 'a1fa944431dafbee2f259fb401a93a0dda36c7f554dcbeba8ed88e426d28b0f4', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1623624690', + settle_date: '1623624707', + payment_request: 'lntb5u1psvdzljpp558afg3p3mta7ute9n76qr2f6phdrd3l42nwtaw5wmz8yymfgkr6qdpy23jhxarfdenjqmn8wfuzqetxvejkxarnyq6scqzpgxqrrsssp50u562vs0e7z30ae955regxk87cwx0y9gctqzp7dmsczu60eu02wq9qyyssqdjdz6ujkgvnd0lzg45yrjrk2pus604mdl6dtmlvzx6zeje77s4vqncwgaeef0runpan4et45a0z32r9w36rrxzrhn4eytek05lgjdhgp5nycnw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '815', + settle_index: '96', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '63', + amt_msat: '500000', + accept_height: 2004658, + accept_time: '1623624707', + resolve_time: '1623624707', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'fymlMg/PhRf3JaUHlBrH9hxnkKjCwCD5u4YFzT88epw=' + }, + { + memo: 'Routing Hint Invoice Test 2', + r_preimage: '9a34d612ff24b3c802dc6d08b83ccdd1d5a8c0e8f4bacd6c9b9a24b6559ad669', + r_hash: 'ad3b1d09c5aa79b8703841f7c3c070aa34845a8c7166451def938a5fa593d0ac', + value: '50', + value_msat: '50000', + settled: false, + creation_date: '1611262367', + settle_date: '0', + payment_request: 'lntb500n1psqn6vlpp545a36zw94fumsupcg8mu8srs4g6ggk5vw9ny2800jw99lfvn6zkqdpv2fhh2arfdenjqjrfde6zqjtwwehkjcm9yp2x2um5yqeqcqzpgxqy8ayqsp5hnxnn8v88aml0yarm7dy30tefgz6ktd6j5kdqjs69r0v3vzr9aes9qy9qsq2u3ctegkuk8754yzf7em6wutu2qx9ggcvs5v3t8kdzdef5rlwnj8wqwdmgjdtcjfhw7sl27ehn35dfg20ygqg6lk36czp8zkxqxtjlqqdk6h8x', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '814', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vM05nYc/d/eTo9+aSL15SgWrLbqVLNBKGijeyLBDL3M=' + }, + { + memo: 'my test invoice', + r_preimage: '05d2b9005ea4ff3eed900f75b04929db0e64044b605317677aed471b667616fb', + r_hash: '39a565f79462e4ce243b03260a7e0042d933496b51384896eaec0e034f8347ba', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1611260961', + settle_date: '0', + payment_request: 'lntb1u1psqnepppp58xjktau5vtjvufpmqvnq5lsqgtvnxjtt2yuy39h2as8qxnurg7aqdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqy8ayqsp52zschckylrr8ss2qng98569ep0xjq0yvvlnc8v24lxcykylf7ruq9qy9qsqdd3778cls359zn3upj6nthk5ltvn5y3v8n7afkw2p5sq3sgkgl0yg9ck083ukep0vmh3da26t6u87p8hz2jk9mgeymrqltux3e3sy3cqwep3te', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '813', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UKGL4sT4xnhBQJoKemi5C80gPIxn54OxVfmwSxPp8Pg=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'c04d4e3feb80060d538c31c22be2663e516e295acd63ca6bc2e9040930d6f172', + r_hash: 'bdf616a9af4e00f94bc8f64f8dae2747fdac47de48c12deeca87621ca0ddaebe', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481791', + settle_date: '0', + payment_request: 'lntb500u1p0luqrlpp5hhmpd2d0fcq0jj7g7e8cmt38gl76c377frqjmmk2sa3pegxa46lqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5f7zrqkkn7sgkw50dhm2y4a4yy8s5wa96cgu65r96xufrwky87tfs9qy9qsqhkd0vxymyulk2hhhqmwk2zlw4zew6q060r4vfl3kqfd68mca5s845x8s4h2n6km6t0zpnwvneh8gkm5l8w4u33uyug6e876h5l49a6qp7yj92k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '812', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'T4QwWtP0EWdR7b7USvakIeFHdLrCOaoMujcSN1iH8tM=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: '5521d653ecf9704f86067aceb47e1daeff1428fdd9381bb465aa1b8dc32c6b24', + r_hash: 'fb25dafdbb1a5ef6b6edea0a029548e5a5f78801426bdcf0235838b4c834d690', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481784', + settle_date: '0', + payment_request: 'lntb50u1p0luqrcpp5lvja4ldmrf00ddhdag9q992gukjl0zqpgf4aeuprtqutfjp566gqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5e88uacnse0vn8nxlhyvvdmzxxwh3zvhtp9vlv75vedhd5r52006s9qy9qsqkhrue4wqa7q0x4073hdnuh7jvctqysxpfekmkz2f2dfneax5q3lkypwwxj6snhlrgqfqpdek9pttqd737yvfll3vxzp3593hmcysdsqpej33tg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '811', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yc/O4nDL2TPM37kYxuxGM68RMusJWfZ6jMtu2g6Ke/U=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'f251c57537e870ed390871fd93de335e44c35403d926c2b4a3639517c1c1e7cc', + r_hash: '45a3b38f877acf1e5162c5d3da37a3974a97722368d39390d5e7246424d82747', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481771', + settle_date: '0', + payment_request: 'lntb50u1p0luqrtpp5gk3m8ru80t83u5tzchfa5darja9fwu3rdrfe8yx4uujxgfxcyarsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5uprv0yqcqrj958ntcc9x2jd72l5s3ghmt9vt4mftq6gu4auseqcq9qy9qsqdkrvzfd6vnrza9appd26ep7fxrkwny0e2wn5prrvzkue3gw5kt7r88g426flmgd2hdpchh2q2qu64wtpucerwsas85dk7znmwnh5vmsp2zswwk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '810', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4EbHkBgA5Foea8YKZUm+V+kIovtZWLrtKwaRyveQyDA=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'de5d6061c75b3dc0c947a9b811d26b68b46b80689ced3deef7cf5e1bea63e7ce', + r_hash: '129e5a75333ebc52af509f880df3a778d163fe39eb96269014659349b106725b', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481355', + settle_date: '0', + payment_request: 'lntb500u1p0lmlktpp5z2095afn86799t6sn7yqmua80rgk8l3eawtzdyq5vkf5nvgxwfdsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5a2wuqn5mfyat0py85x9syexggp42cp9zsuzptkn9pyhn67atquys9qy9qsq2fxuexf8hcmdwzexm5qk6nmlhw556gvvky0f9nd0drw2k9jlxjt36zzldu0qecln4upqmkww5mr9msglsmpgcx9vaxdxauujrr92tmgq0lx9e6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '809', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6p3ATptJOreEh6GLAmTIQGqsBKKHBBXaZQkvPXurBwk=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: '43af86d7656a57ad2a7db2051ba4d261b0eb33f1e6ca1ab12b87108362e0e612', + r_hash: 'c21a25f41373847ad7834bfdeff8a58e7065b68db398d78335d8554f44d40176', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481347', + settle_date: '0', + payment_request: 'lntb50u1p0lmlkrpp5cgdztaqnwwz844urf077l7993ecxtd5dkwvd0qe4mp2573x5q9mqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5n6fgzf3vark70vewwyqtn9zduuztfaqvrmgv8a954cfg42arl4rs9qy9qsq3755gsr2jwv6wz8z9s6z2vd0hrqveg82nxjjaz9uuh7vwvjxuycnjlngnx9ya88urqcqcncu89vufgnlhn6l3cr0aesdcv6edmnrmfqq0pegaf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '808', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'npKBJizo7eezLnEAuZRN5wS09Awe0MP0tK4Siquj/Uc=' + } + ], + last_index_offset: '817', + first_index_offset: '808' + }, + allLightningTransactions: { + paymentsAll: { + payments: [ + { + payment_hash: 'eda97da0b2616d51b7606e36ba373a60877c87c532de5fd605ec4c8756b9e8c6', + value: '500', + creation_date: '1580858563', + fee: '1', + payment_preimage: 'b3aabc228e475eabe12cfde112b3716337e4c2313efe0f48d6a4735786dc56e2', + value_sat: '500', + value_msat: '500000', + payment_request: 'lntb5u1p0rnlxrpp5ak5hmg9jv9k4rdmqdcmt5de6vzrhep79xt09l4s9a3xgw44earrqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5kxjdj6rxaft4zm373m602cfzgxdk07p5r2d0f6kpwdjxrehlff3s9qy9qsqml8lfgxrwkhfhm60s9e5h3800cgcxnvkcrpky7cs8uedzljpg3uk9ttep3e0x5n34gak938u8jstlxlmc5npynaf5nv7e3s7y92sxycqc2un3r', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1580858563000000000', + htlcs: [ + { + attempt_id: '8000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665038, + total_fees: '1', + total_amt: '501', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '501', + amt_to_forward: '500', + fee: '1', + expiry: 1664998, + amt_to_forward_msat: '500000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '500', + amt_to_forward: '500', + fee: '0', + expiry: 1664998, + amt_to_forward_msat: '500000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'saTZaGbqV1FuPo709WEiQZtn+DQamvTqwXNkYeb/SmM=', + total_amt_msat: '500000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '501000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 's6q8Io5HXqvhLP3hErNxYzfkwjE+/g9I1qRzV4bcVuI=' + } + ], + payment_index: '51', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e53cdc1e0c14bacdbcebe9821491350317af39879e9ce479103c900aafdd9a10', + value: '100', + creation_date: '1580860607', + fee: '1', + payment_preimage: 'edb68f908f4ac975021c5d0b4be634b09503eb6c306e454310052c5aeee86b27', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1p0r5p9lpp5u57dc8svzjavm08taxppfyf4qvt67wv8n6wwg7gs8jgq4t7anggqdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5lxh74q9wydm7plspw7t8qrtyr4jknclq2pvjax74l3e9kk45zpjs9qy9qsq587lpf7x9crm57trynr6t8fs5jjvpqcmgdezyf5cu0tvcsngk7t5mgwqlzffe5a5c9pnmf5yflrlk0j22dfuluhqupt2pzwqejluv0qp6fwa62', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1580860607000000000', + htlcs: [ + { + attempt_id: '8001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665042, + total_fees: '1', + total_amt: '101', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '101', + amt_to_forward: '100', + fee: '1', + expiry: 1665002, + amt_to_forward_msat: '100000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '100', + amt_to_forward: '100', + fee: '0', + expiry: 1665002, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '+a/qgK4jd+D+AXeWcA1kHWVp4+BQWS6b1fxyW1q0EGU=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '101000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '7baPkI9KyXUCHF0LS+Y0sJUD62wwbkVDEAUsWu7oayc=' + } + ], + payment_index: '52', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b5510bcbbd2bf7e71d5c426b1033cb6b4557aba73c2ebc3e455baa1ad03e1248', + value: '1000', + creation_date: '1580862543', + fee: '2', + payment_preimage: '16b3fcd3e7b68821045a014db9e9128646b4392b3933907bdc64e7f2d011f62c', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p0r5rz0pp5k4gshjaa90m7w82ugf43qv7tddz402a88shtc0j9tw4p45p7zfyqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5pq7nhql8ap4n58ydfhxh5g97kmc985krx3dclt40e6eenz9ulttq9qy9qsqxyesm6g6kqsjw5y9ks5fyt985fxpnyzsy2qc23sll5azcq35x8u43hxrnlxjcy8ymdzgqep3jzswex7wg696thcagvp0k8mhsyhf9psq9gz29l', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2502', + creation_time_ns: '1580862543000000000', + htlcs: [ + { + attempt_id: '8003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665194, + total_fees: '2', + total_amt: '1002', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '1002', + amt_to_forward: '1001', + fee: '1', + expiry: 1665050, + amt_to_forward_msat: '1001012', + fee_msat: '1490', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1660703462107512832', + chan_capacity: '16777215', + amt_to_forward: '1000', + fee: '1', + expiry: 1665010, + amt_to_forward_msat: '1000011', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '1000', + amt_to_forward: '1000', + fee: '0', + expiry: 1665004, + amt_to_forward_msat: '1000000', + fee_msat: '11', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1665004, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'CD07g+foazocjU3NeiC+tvBT0sM0W4+ur86zmYi8+tY=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2502', + total_amt_msat: '1002502' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'FrP80+e2iCEEWgFNuekShka0OSs5M5B73GTn8tAR9iw=' + } + ], + payment_index: '54', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'bbe2cff939d363a66f5dff935a1ce8ee29b9e8f445438d2232562285b98e4c05', + value: '1100', + creation_date: '1580907117', + fee: '2', + payment_preimage: '64e2d574b0425086b9fee9445992532d8544f650376561fb90ff862cdd1a61c6', + value_sat: '1100', + value_msat: '1100000', + payment_request: 'lntb11u1p0r4wndpp5h03vl7fe6d36vm6al7f4588gac5mn685g4pc6g3j2c3gtwvwfszsdpgf3hkxctv94fx2cnpd3skucm995cnzvps94fkzarncqzpgxqrrsssp5xapmydgu2re4f2jz9gdd2wpxe7ja87x6cml0lg2nfhpphdky9a0q9qy9qsqxckaq2jl8hypj7hdjksy4dydwt53kkwugw63nszt9y43thxu00w584jj9xty9yxl90tz43f93vl6nrxa3x5jaul7a4usecs8958ztpqp5ehq5w', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2014', + creation_time_ns: '1580907117000000000', + htlcs: [ + { + attempt_id: '9000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665252, + total_fees: '2', + total_amt: '1102', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '1102', + amt_to_forward: '1101', + fee: '1', + expiry: 1665108, + amt_to_forward_msat: '1101013', + fee_msat: '1001', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '1100', + fee: '1', + expiry: 1665068, + amt_to_forward_msat: '1100012', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '1100', + amt_to_forward: '1100', + fee: '0', + expiry: 1665062, + amt_to_forward_msat: '1100000', + fee_msat: '12', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1100', + fee: '0', + expiry: 1665062, + amt_to_forward_msat: '1100000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'N0OyNRxQ81SqQioa1Tgmz6XT+NrG/v+hU03CG7bEL14=', + total_amt_msat: '1100000' + }, + custom_records: {} + } + ], + total_fees_msat: '2014', + total_amt_msat: '1102014' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'ZOLVdLBCUIa5/ulEWZJTLYVE9lA3ZWH7kP+GLN0aYcY=' + } + ], + payment_index: '57', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '54234e6fdada2e1ccb69084165d272f76b9ff95f1dab112cb9fbb7a7caa70c20', + value: '2000', + creation_date: '1580907380', + fee: '2', + payment_preimage: '88bc466c254b42520f3e6c46abbf3b01dc17087fbc1761cb2d0b7119a67e3337', + value_sat: '2000', + value_msat: '2000000', + payment_request: 'lntb20u1p0r4wm5pp52s35um76mghpejmfppqkt5nj7a4el72lrk43zt9elwm60j48pssqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5uqqzyf974cn02c3r4ucqrfykavuvgew4glntfgmf25k3zaftmpfq9qy9qsqnucp3ug98tvew0wrgvm60k5mzuscm6svhak6ptdepp7eyw93ntay599vjy45e3lt25t700wydq2ygycf4dw088nun6lsa2rf3ce4nvspqkrkp9', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2025', + creation_time_ns: '1580907380000000000', + htlcs: [ + { + attempt_id: '9001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665252, + total_fees: '2', + total_amt: '2002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '2002', + amt_to_forward: '2001', + fee: '1', + expiry: 1665108, + amt_to_forward_msat: '2001023', + fee_msat: '1002', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '2000', + fee: '1', + expiry: 1665068, + amt_to_forward_msat: '2000021', + fee_msat: '1002', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '2000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665062, + amt_to_forward_msat: '2000000', + fee_msat: '21', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665062, + amt_to_forward_msat: '2000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '4AAiJL6uJvViI68wAaSW6zjEZdVH5rSjaVUtEXUr2FI=', + total_amt_msat: '2000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2025', + total_amt_msat: '2002025' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'iLxGbCVLQlIPPmxGq787AdwXCH+8F2HLLQtxGaZ+Mzc=' + } + ], + payment_index: '59', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '1b86a168197e2c2aff96f836c7ed83c1a481a01de7756cd9096ca006c3e8131a', + value: '4000', + creation_date: '1580907507', + fee: '2', + payment_preimage: '33703469909c54aeba393de9055c201a69aecb5822e584754e4c063478fa1df6', + value_sat: '4000', + value_msat: '4000000', + payment_request: 'lntb40u1p0r4wlnpp5rwr2z6qe0ckz4luklqmv0mvrcxjgrgqaua6kekgfdjsqdslgzvdqdpgf3hkxctv94fx2cnpd3skucm9956rqvps94fkzarncqzpgxqrrsssp5lznmdq6z55geh8ffe4kf7dqqvhxv6w5m5strlmepqj3mhmxzqwws9qy9qsqu4m9xxuquzvrseclhaje9rrfcd62hfudjdxndw2gln23nmx0tae5lp5r0cwd4uezpgse3efgse6045fwf5w2gaedgf94nj383tuduzgqnrntkt', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2049', + creation_time_ns: '1580907507000000000', + htlcs: [ + { + attempt_id: '9002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665253, + total_fees: '2', + total_amt: '4002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '4002', + amt_to_forward: '4001', + fee: '1', + expiry: 1665109, + amt_to_forward_msat: '4001045', + fee_msat: '1004', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '4000', + fee: '1', + expiry: 1665069, + amt_to_forward_msat: '4000041', + fee_msat: '1004', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '4000', + amt_to_forward: '4000', + fee: '0', + expiry: 1665063, + amt_to_forward_msat: '4000000', + fee_msat: '41', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '4000', + fee: '0', + expiry: 1665063, + amt_to_forward_msat: '4000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '+Ke2g0KlEZudKc1snzQAZczNOpukFj/vIQSju+zCA50=', + total_amt_msat: '4000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2049', + total_amt_msat: '4002049' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'M3A0aZCcVK66OT3pBVwgGmmuy1gi5YR1TkwGNHj6HfY=' + } + ], + payment_index: '60', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '2a4b54ec91b8c37d8ace19274c16c28042a75665670a2ce857f17abb1d8d02f9', + value: '8000', + creation_date: '1580909082', + fee: '2', + payment_preimage: '16b7e0be9927ffc85f75b78bc919ac0b7dc2a833c05cad5a2a05ddc993c0095f', + value_sat: '8000', + value_msat: '8000000', + payment_request: 'lntb80u1p0r4ss6pp59f94fmy3hrphmzkwryn5c9kzspp2w4n9vu9ze6zh79atk8vdqtusdpgf3hkxctv94fx2cnpd3skucm995urqvps94fkzarncqzpgxqrrsssp5l45es698dpfwpemn9l6qwgkd04rhz0rs4zffg9av62fdxjz85j2s9qy9qsq46zrctphljum2frlxqptg40gklmc9wuhkkeajf5tg5ufhrxg580pt37fntgppn32z3ws80pq7y0xq9y0a7mmh86kggcw8vd7r0vwdcqpwysg6w', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2097', + creation_time_ns: '1580909082000000000', + htlcs: [ + { + attempt_id: '9005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665294, + total_fees: '2', + total_amt: '8002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '8002', + amt_to_forward: '8001', + fee: '1', + expiry: 1665254, + amt_to_forward_msat: '8001089', + fee_msat: '1008', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '8001', + amt_to_forward: '8001', + fee: '0', + expiry: 1665110, + amt_to_forward_msat: '8001089', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '8001', + amt_to_forward: '8000', + fee: '1', + expiry: 1665070, + amt_to_forward_msat: '8000081', + fee_msat: '1008', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '8000', + amt_to_forward: '8000', + fee: '0', + expiry: 1665064, + amt_to_forward_msat: '8000000', + fee_msat: '81', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '8000', + fee: '0', + expiry: 1665064, + amt_to_forward_msat: '8000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '/WmYaKdoUuDncy/0ByLNfUdxPHCokpQXrNKS00hHpJU=', + total_amt_msat: '8000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2097', + total_amt_msat: '8002097' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'Frfgvpkn/8hfdbeLyRmsC33CqDPAXK1aKgXdyZPACV8=' + } + ], + payment_index: '62', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '83562d616eb3670e2f73636d9bbdd901cfac99290e372b0f9105562f3cab1d07', + value: '1', + creation_date: '1580917436', + fee: '1', + payment_preimage: 'ee5d3d5536f1541b4d60c3c8650de1b7a64d8a3bb4bedb5c730e2aba0214c559', + value_sat: '1', + value_msat: '1000', + payment_request: 'lntb10n1p0r4c4upp5sdtz6ctwkdnsutmnvdkeh0weq886exffpcmjkru3q4tz709tr5rsdq8f3f5z4qcqzpgsp5cma77ka2lte5qmag4l5z4dvjkq78parnqeknk08z7elm74gnp2gq9qy9qsqpxyz5a9dcl459xxlgmf6zqxz63grsna2h96f8y3cg24ye7mgwgmk63ldfvxv6jssah6lgpjtc0rhfnmnjrwufhmajgnujx2855lupzqpt37tue', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1580917436000000000', + htlcs: [ + { + attempt_id: '9006', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665260, + total_fees: '1', + total_amt: '2', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '2', + amt_to_forward: '1', + fee: '1', + expiry: 1665220, + amt_to_forward_msat: '1000', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '1', + amt_to_forward: '1', + fee: '0', + expiry: 1665076, + amt_to_forward_msat: '1000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748291977216', + chan_capacity: '16777215', + amt_to_forward: '1', + fee: '0', + expiry: 1665076, + amt_to_forward_msat: '1000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: 'xvvvW6r680BvqK/oKrWSsDxw9HMGbTs84vZ/v1UTCpA=', + total_amt_msat: '1000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '2000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '7l09VTbxVBtNYMPIZQ3ht6ZNiju0vttccw4qugIUxVk=' + } + ], + payment_index: '63', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ce6e5c2a57fd39e001e1050da9599be9b3057da78139c2e01556d02cf2a2ca6e', + value: '120', + creation_date: '1581451602', + fee: '2', + payment_preimage: '449bc90d36be07f60cf2ac6e933e5995bc397ba09e6c3815a9ec0ee606d39a53', + value_sat: '120', + value_msat: '120000', + payment_request: 'lntb1200n1p0yxz2jpp5eeh9c2jhl5u7qq0pq5x6jkvmaxes2ld8syuu9cq42mgzeu4zefhqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5dey5xwyraj0x3usmfzkw2cq7wnaq8e0dukjwamze0prgl3lu9xhs9qy9qsqawjs3r9636kuq734jykmssw5krgls3a5lhwe9ztdwj0mjxfqvssz8hleh5zj30ydxxglc77qr9d7pz3tpk03hjm34uksu2rky4e84tcqlqwwlz', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1581451602000000000', + htlcs: [ + { + attempt_id: '10000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665846, + total_fees: '2', + total_amt: '122', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '122', + amt_to_forward: '121', + fee: '1', + expiry: 1665702, + amt_to_forward_msat: '121002', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '120', + fee: '1', + expiry: 1665662, + amt_to_forward_msat: '120002', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '120', + amt_to_forward: '120', + fee: '0', + expiry: 1665656, + amt_to_forward_msat: '120000', + fee_msat: '2', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '120', + fee: '0', + expiry: 1665656, + amt_to_forward_msat: '120000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'bklDOIPsnmjyG0is5WAedPoD5e3lpO7sWXhGj8f8Ka8=', + total_amt_msat: '120000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '122002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'RJvJDTa+B/YM8qxukz5Zlbw5e6CebDgVqewO5gbTmlM=' + } + ], + payment_index: '83', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '8a598636efaf5edc3fd01cfa5135e9d64f5142136827be0c90a964f629bcc5dd', + value: '500', + creation_date: '1581451742', + fee: '3', + payment_preimage: 'bef5a37bf8528588c33ee6c3d998e21d0166d58c07ebd212c5ded11dda865bdf', + value_sat: '500', + value_msat: '500000', + payment_request: 'lntb5u1p0yxzw7pp53fvcvdh04a0dc07srna9zd0f6e84zssndqnmurys49j0v2duchwsdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5fn483s3rtyshvhlgnvam4mknza2lla2ukq8yg0m42w3k96ak5nzq9qy9qsqlv877dgvrqv3apz56r6m42evqhv6slpm4dpex0fz74uf5x004fnxwamu4eyajlx5qujjhwsdpeugq76ce6zcxu85j079rh8ll4q8maqqy7j2x0', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3502', + creation_time_ns: '1581451742000000000', + htlcs: [ + { + attempt_id: '10001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665846, + total_fees: '3', + total_amt: '503', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '502', + fee: '1', + expiry: 1665840, + amt_to_forward_msat: '502000', + fee_msat: '1502', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '502', + amt_to_forward: '501', + fee: '1', + expiry: 1665696, + amt_to_forward_msat: '501000', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666315369465774081', + chan_capacity: '10000000', + amt_to_forward: '500', + fee: '1', + expiry: 1665656, + amt_to_forward_msat: '500000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '500', + amt_to_forward: '500', + fee: '0', + expiry: 1665656, + amt_to_forward_msat: '500000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'TOp4wiNZIXZf6Js7uu7TF1X/9VywDkQ/dVOjYuu2pMQ=', + total_amt_msat: '500000' + }, + custom_records: {} + } + ], + total_fees_msat: '3502', + total_amt_msat: '503502' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'vvWje/hShYjDPubD2ZjiHQFm1YwH69ISxd7RHdqGW98=' + } + ], + payment_index: '84', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0c89e67e320b8e06610b2c0e60ad9098e88bbde93bb39a48ad616df5b1ba252c', + value: '120', + creation_date: '1581456923', + fee: '2', + payment_preimage: '57e04e1677af7dd50b0c0a5404022304d9d68d049c0b5a3375fb78feea111518', + value_sat: '120', + value_msat: '120000', + payment_request: 'lntb1200n1p0yx8smpp5pjy7vl3jpw8qvcgt9s8xptvsnr5gh00f8wee5j9dv9kltvd6y5kqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5c43gvzc8vscv9w23r6al4z4ctrgtxzm30kfh9cludyhpkrc962ns9qy9qsq03rhrnckx4xy6shptpyw0r23th5xcam0nu22skw9x5ds5ct63eex88uzdm8gymvrswn6yg3s9vj2khnnwaczam4wfkzcnedseknzsgqpsmrs7y', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1581456923000000000', + htlcs: [ + { + attempt_id: '10002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665851, + total_fees: '2', + total_amt: '122', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '122', + amt_to_forward: '121', + fee: '1', + expiry: 1665707, + amt_to_forward_msat: '121002', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '120', + fee: '1', + expiry: 1665667, + amt_to_forward_msat: '120002', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '120', + amt_to_forward: '120', + fee: '0', + expiry: 1665661, + amt_to_forward_msat: '120000', + fee_msat: '2', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '120', + fee: '0', + expiry: 1665661, + amt_to_forward_msat: '120000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'xWKGCwdkMMK5UR67+oq4WNCzC3F9k3Lj/GkuGw8F0qc=', + total_amt_msat: '120000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '122002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'V+BOFnevfdULDApUBAIjBNnWjQScC1ozdft4/uoRFRg=' + } + ], + payment_index: '86', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0879834d60ef7f38ad17c39216f4fe3c46992541c8d2c5a63dbdaf2fffef0aa8', + value: '120', + creation_date: '1581457180', + fee: '2', + payment_preimage: '30f8a56c68fb7b9e72aec2e4cc07e6201fbcc3e2fb01c127d7acc35da6f82b36', + value_sat: '120', + value_msat: '120000', + payment_request: 'lntb1200n1p0yx8cupp5ppucxntqaaln3tghcwfpda8783rfjf2perfvtf3ahkhjlll0p25qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp539pamp3hf50xtj3z8eup8l5hu4k5y0ys33lglm4e6x4uulugn82s9qy9qsqx57h6w85qqhzwwpd7ey4egpugxmpmxua8amxge4ldp5daa0g9ta37ctlnp7lxqnzfe4yrn43wujskgf3eqwv47f0zkvg7qyv3scvh9cp2tjqyu', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1581457180000000000', + htlcs: [ + { + attempt_id: '10003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665851, + total_fees: '2', + total_amt: '122', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '122', + amt_to_forward: '121', + fee: '1', + expiry: 1665707, + amt_to_forward_msat: '121002', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '120', + fee: '1', + expiry: 1665667, + amt_to_forward_msat: '120002', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '120', + amt_to_forward: '120', + fee: '0', + expiry: 1665661, + amt_to_forward_msat: '120000', + fee_msat: '2', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '120', + fee: '0', + expiry: 1665661, + amt_to_forward_msat: '120000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'iUPdhjdNHmXKIj54E/6X5W1CPJCMfo/uudGrzn+ImdU=', + total_amt_msat: '120000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '122002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'MPilbGj7e55yrsLkzAfmIB+8w+L7AcEn16zDXab4KzY=' + } + ], + payment_index: '88', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '9fd36f2bbd37a675caf758c5c380e7c6d85018edb28dfd1f3c10a63872f2e4cb', + value: '201', + creation_date: '1581457406', + fee: '3', + payment_preimage: '8300e2352763856736969678f2d268579f52ad158a1dbf745f1f1918dded5991', + value_sat: '201', + value_msat: '201000', + payment_request: 'lntb2010n1p0yx8l7pp5nlfk72aax7n8tjhhtrzu8q88cmv9qx8dk2xl68euzznrsuhjun9sdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp5zqp49fdgz2zw0r887j425rqy64eva4me4l3nxxdmmc7zxxlh9uuq9qy9qsqma25tdjxeeg05fr2fcqx23lqn9khajlj67nygr5fh555arfp9yykwcwpt29pm0ujltpkqmap2fsa6yu4gtpg68tfm679tlylqp589tcpr29xu8', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3203', + creation_time_ns: '1581457406000000000', + htlcs: [ + { + attempt_id: '10004', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665852, + total_fees: '3', + total_amt: '204', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '203', + fee: '1', + expiry: 1665846, + amt_to_forward_msat: '203000', + fee_msat: '1203', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '203', + amt_to_forward: '202', + fee: '1', + expiry: 1665702, + amt_to_forward_msat: '202000', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666315369465774081', + chan_capacity: '10000000', + amt_to_forward: '201', + fee: '1', + expiry: 1665662, + amt_to_forward_msat: '201000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '201', + amt_to_forward: '201', + fee: '0', + expiry: 1665662, + amt_to_forward_msat: '201000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'EANSpagShOeM5/SqqgwE1XLO13mv4zMZu948Ixv3Lzg=', + total_amt_msat: '201000' + }, + custom_records: {} + } + ], + total_fees_msat: '3203', + total_amt_msat: '204203' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'gwDiNSdjhWc2lpZ48tJoV59SrRWKHb90Xx8ZGN3tWZE=' + } + ], + payment_index: '89', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ce9934c3f9eb1edd256e17144ca9de556ca1c8849fd9e49ff09aea47d586c62d', + value: '500', + creation_date: '1581457474', + fee: '2', + payment_preimage: '714100b7d42c0d67712e0d404ad462e2fcf4d7052dd9fd2f73cb018227b170d2', + value_sat: '500', + value_msat: '500000', + payment_request: 'lntb5u1p0yxgzzpp5e6vnfsleav0d6ftwzu2ye2w724k2rjyynlv7f8lsnt4y04vxccksdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5t9au9x7l0dx408d69ckkqtm2rxu3h8uxkkhcr0dp0m5g0pg3xxaq9qy9qsqeqgx5ajtscjkc4554k05hdtwkxtfzx44mmx9944r7dg3pyqppcsyv3u7huuyldykh2rjzhwwjckxy7r9pj5taes7hszqf7hny457q6cpkhww62', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2006', + creation_time_ns: '1581457474000000000', + htlcs: [ + { + attempt_id: '10005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665852, + total_fees: '2', + total_amt: '502', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '502', + amt_to_forward: '501', + fee: '1', + expiry: 1665708, + amt_to_forward_msat: '501006', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '500', + fee: '1', + expiry: 1665668, + amt_to_forward_msat: '500006', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '500', + amt_to_forward: '500', + fee: '0', + expiry: 1665662, + amt_to_forward_msat: '500000', + fee_msat: '6', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '500', + fee: '0', + expiry: 1665662, + amt_to_forward_msat: '500000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'WXvCm997TVedui4tYC9qGbkbn4a1r4G9oX7oh4URMbo=', + total_amt_msat: '500000' + }, + custom_records: {} + } + ], + total_fees_msat: '2006', + total_amt_msat: '502006' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'cUEAt9QsDWdxLg1AStRi4vz01wUt2f0vc8sBgiexcNI=' + } + ], + payment_index: '91', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '61f4a4730340a19f546a0562cf28bea87cedeba667a36fa1065a0dc77277569f', + value: '200', + creation_date: '1581468513', + fee: '3', + payment_preimage: '818917e2d17235e593158daf179e1f75dd05b97e1342912d378ec1ff5e737e61', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1p0yxjmppp5v862gucrgzse74r2q43v72974p7wm6axv73klggxtgxuwunh260sdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5gg98f4sgs24rc6w0cnwnwvplg75lz74m56nc89ljjz5czpxsxczs9qy9qsq47tlzzpcns23qjqd4d9cv9nmfpw86dxnh8e6xygwgx4mym9n8qt4hkmr7n4f9ssvxrq5h35qu6u6pgw8yq8xfnfd3p9vck2kcqx7lzqp4hg9ea', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3202', + creation_time_ns: '1581468513000000000', + htlcs: [ + { + attempt_id: '10006', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665863, + total_fees: '3', + total_amt: '203', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '202', + fee: '1', + expiry: 1665857, + amt_to_forward_msat: '202000', + fee_msat: '1202', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '202', + amt_to_forward: '201', + fee: '1', + expiry: 1665713, + amt_to_forward_msat: '201000', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '200', + fee: '1', + expiry: 1665673, + amt_to_forward_msat: '200000', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1772357768397389824', + chan_capacity: '200', + amt_to_forward: '200', + fee: '0', + expiry: 1665673, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Qgp01giCqjxpz8TdNzA/R6nxerump4OX8pCpgQTQNgU=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '3202', + total_amt_msat: '203202' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'gYkX4tFyNeWTFY2vF54fdd0FuX4TQpEtN47B/15zfmE=' + } + ], + payment_index: '94', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '88329d6d107bfca698994465b77b9a2ffa3fcd9d93d0366f5b81aed148eb33a1', + value: '1', + creation_date: '1581471051', + fee: '2', + payment_preimage: '0487bfb8cac68f5973a7dfd0e01a6e11c9e2c656c3a7c2dd29823607a28863e3', + value_sat: '1', + value_msat: '1000', + payment_request: 'lntb10n1p0yx42tpp53qef6mgs0072dxyeg3jmw7u69larlnvaj0grvm6msxhdzj8txwssdpyf3hkxctv94fx2cnpd3skucm995cj65mpw3escqzpgxqrrsssp5rpun8pztp3y38kf2ar74d863gaznqzftutlp9uny8gv38vzz5v7s9qy9qsqzcp4pv27k99mh9rywlp3tcqcl9dche9cc6ezuhdfd43zdrv2wdl9aee43f9ff6nsf8fcvuewvwnkrft2jlhdzw909vx25d9ksqfdnhgq5tq396', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2001', + creation_time_ns: '1581471051000000000', + htlcs: [ + { + attempt_id: '10008', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665865, + total_fees: '2', + total_amt: '3', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '3', + amt_to_forward: '2', + fee: '1', + expiry: 1665721, + amt_to_forward_msat: '2001', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '1', + fee: '1', + expiry: 1665681, + amt_to_forward_msat: '1001', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '1', + amt_to_forward: '1', + fee: '0', + expiry: 1665675, + amt_to_forward_msat: '1000', + fee_msat: '1', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1', + fee: '0', + expiry: 1665675, + amt_to_forward_msat: '1000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'GHkzhEsMSRPZKuj9Vp9RR0UwCSvi/hLyZDoZE7BCoz0=', + total_amt_msat: '1000' + }, + custom_records: {} + } + ], + total_fees_msat: '2001', + total_amt_msat: '3001' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'BIe/uMrGj1lzp9/Q4BpuEcnixlbDp8LdKYI2B6KIY+M=' + } + ], + payment_index: '96', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '88a1dff0da907399d366d2afd5876e702cbd636e6343d9744ccb875ca713ebe8', + value: '5000', + creation_date: '1581473763', + fee: '2', + payment_preimage: '9b6ed5c664743326349f78f45704b2f4fc69f09ccdc6a4ed2099712a48ba9e09', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yxhlrpp53zsalux6jpeen5mx62hatpmwwqkt6cmwvdpajazvewr4efcna05qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5a95c00r7c9g6cz2d6py8l449342pvh9nm9g30y7lkvj45wmlmq4s9qy9qsq4ftvkarj787dnpf8nfjz7ykja85wg66apx07s0lkkdnpty6d6rt599e0j06auctwxg2qcmg26tmac6uks2pf4lhzl6jwtg996hszpusqrh87ke', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1581473763000000000', + htlcs: [ + { + attempt_id: '10009', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665908, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5002', + fee: '0', + expiry: 1665902, + amt_to_forward_msat: '5002010', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665862, + amt_to_forward_msat: '5001005', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665718, + amt_to_forward_msat: '5001005', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665678, + amt_to_forward_msat: '5000000', + fee_msat: '1005', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665678, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '6WmHvH7BUawJTdBIf9aljVQWXLPZUReT37MlWjt/2Cs=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'm27VxmR0MyY0n3j0VwSy9Pxp8JzNxqTtIJlxKki6ngk=' + } + ], + payment_index: '98', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'bf4a929643ffd8b11ee6479736ca8ffbfdf45a9953696d0fbf07e05e9712d07c', + value: '5000', + creation_date: '1581473869', + fee: '2', + payment_preimage: '7dff0aff164088d7e457bef3909b89322b6fa90041112b61ceee40a3698d0686', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yxczdpp5ha9f99jrllvtz8hxg7tndj50l07lgk5e2d5k6ralqls9a9cj6p7qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5kdq008782vf35ehlmqckwfdstq8zcj6qyd5kn6afzflah2meedts9qy9qsq5mt2d4lu7ljeayswtf9pkatfzqd2wfanjc4h4w95urgkjfvjkkfr37kgjwq2j857rcpuwn5r2mcmgry8gra56luwdj3z4ueg2rhpcqcq9pw4gg', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1581473869000000000', + htlcs: [ + { + attempt_id: '10010', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665908, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665868, + amt_to_forward_msat: '5001056', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665724, + amt_to_forward_msat: '5001056', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665684, + amt_to_forward_msat: '5000051', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665678, + amt_to_forward_msat: '5000000', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665678, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 's0D3n8dTExpm/9gxZyWwWA4sS0AjaWnrqRJ/26t5y1c=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'ff8K/xZAiNfkV77zkJuJMitvqQBBESthzu5Ao2mNBoY=' + } + ], + payment_index: '99', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '12669273f3ac7062a199518193d8a3a9619c641073ebb658b9d1ed29d43d53ac', + value: '5000', + creation_date: '1581474550', + fee: '2', + payment_preimage: '56395c6506097d8efe0da781a007756a05bea9eff5351e4cdbe9513680af98c8', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yxchkpp5zfnfyuln43cx9gve2xqe8k9r49seceqsw04mvk9e68kjn4pa2wkqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5e55vr266w4ggsswhlk0es0jty3uzn207xj46yaftclv875k8ukts9qy9qsqy450gz5pnzzgrr4pgrpwxdxeqgelgschx0mjdnw4hjv5872ds4nymdcz4z294zhztx5gfz72tyetkfc0a0nde0h5hr6tr6u7l02cylsqah5rez', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1581474550000000000', + htlcs: [ + { + attempt_id: '10011', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665909, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665869, + amt_to_forward_msat: '5001056', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665725, + amt_to_forward_msat: '5001056', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665685, + amt_to_forward_msat: '5000051', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665679, + amt_to_forward_msat: '5000000', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665679, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'zSjBq1p1UIhB1/2fmD5LJHgpqf40q6J1K8fYf1LH5Zc=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'VjlcZQYJfY7+DaeBoAd1agW+qe/1NR5M2+lRNoCvmMg=' + } + ], + payment_index: '101', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '937fd0344f14977418a8d2046b25daff1c1c3f24f475b16ddda99b50c098d156', + value: '200', + creation_date: '1581474853', + fee: '2', + payment_preimage: 'f700fcb1812a6805c3d536c43c5eced1baf403e30d987a08c46eca201cbfe7c5', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1p0yxep9pp5jdlaqdz0zjthgx9g6gzxkfw6luwpc0ey736mzmwa4xd4psyc69tqdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp52qu2klmt03qdx3ht5kas90u40ljtszh9xk8vqg05ak6tv9nck70q9qy9qsq9e79w76z0ncd5g7l5sz97wuznc2upprjp90he8k64l4cx6d7er4ywzymuxt0ypynugkywk8d5hs9w0fgdcqhnjcdyf3rrnzm3689s9cqye65tm', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2003', + creation_time_ns: '1581474853000000000', + htlcs: [ + { + attempt_id: '10012', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665869, + total_fees: '2', + total_amt: '202', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '202', + amt_to_forward: '201', + fee: '1', + expiry: 1665725, + amt_to_forward_msat: '201003', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '200', + fee: '1', + expiry: 1665685, + amt_to_forward_msat: '200003', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '200', + amt_to_forward: '200', + fee: '0', + expiry: 1665679, + amt_to_forward_msat: '200000', + fee_msat: '3', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 1665679, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'UDirf2t8QNNG66W7Ar+Vf+S4CuU1jsAh9O20thZ4t54=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '2003', + total_amt_msat: '202003' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '9wD8sYEqaAXD1TbEPF7O0br0A+MNmHoIxG7KIBy/58U=' + } + ], + payment_index: '104', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '187bf09686238e2d8f49d8c5f2022a725f31878c5b841207444f40bb8e8a3ff7', + value: '2000', + creation_date: '1581476933', + fee: '2', + payment_preimage: 'bf3ff545489925d163dbfc7521f76693f548537c69018443bf64cb903ebc233d', + value_sat: '2000', + value_msat: '2000000', + payment_request: 'lntb20u1p0yxmz9pp5rpalp95xyw8zmr6fmrzlyq32wf0nrpuvtwzpyp6yfaqthr528lmsdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5pn2hmnpnmj9swd07lz4vvfjml3w7new93xx9unugudcsuup2fl3s9qy9qsqhr6wluh7sfvme7fecana9kgpyxxx35acnhn9vrw9mavyvrmk63sn852xlzr5hwexsx9tp0fs0k8qhytq6m8xwxhz3gk3ypd7n7h7z2qqkj34r7', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2025', + creation_time_ns: '1581476933000000000', + htlcs: [ + { + attempt_id: '10014', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665912, + total_fees: '2', + total_amt: '2002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '2002', + amt_to_forward: '2001', + fee: '1', + expiry: 1665872, + amt_to_forward_msat: '2001023', + fee_msat: '1002', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '2001', + amt_to_forward: '2001', + fee: '0', + expiry: 1665728, + amt_to_forward_msat: '2001023', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '2001', + amt_to_forward: '2000', + fee: '1', + expiry: 1665688, + amt_to_forward_msat: '2000021', + fee_msat: '1002', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '2000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665682, + amt_to_forward_msat: '2000000', + fee_msat: '21', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665682, + amt_to_forward_msat: '2000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'DNV9zDPciwc1/viqxiZb/F3p5cWJjF5PiONxDnAqT+M=', + total_amt_msat: '2000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2025', + total_amt_msat: '2002025' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'vz/1RUiZJdFj2/x1Ifdmk/VIU3xpAYRDv2TLkD68Iz0=' + } + ], + payment_index: '106', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'f012592169f9bd8e91eb0365a5542631fb42f1bc7b631ad8a114352c7eeaf9c8', + value: '5000', + creation_date: '1581477267', + fee: '2', + payment_preimage: '8d5047f37815abede6b05cf2658c241aabcfb3a370d797527431f32539753abf', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yxmvnpp57qf9jgtflx7cay0tqdj624pxx8a59udu0d334k9pzs6jclh2l8yqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5dmg0tqfstctzsj6n0mh2zg0fs5t6cgrhfkhgpxuj7c54nnduwvts9qy9qsqsnc3uqku2ccjcgctezjp6qkmn9rphe0vq5ytae9vrk0xp9dcuq4943cermnr9w844s00d33ztk6a8qgek45qyfxupgx6qdagyyahx0sps0s357', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1581477267000000000', + htlcs: [ + { + attempt_id: '10015', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665912, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665872, + amt_to_forward_msat: '5001056', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665728, + amt_to_forward_msat: '5001056', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665688, + amt_to_forward_msat: '5000051', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665682, + amt_to_forward_msat: '5000000', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665682, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'btD1gTBeFihLU37uoSHphResIHdNroCbkvYpWc28cxc=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'jVBH83gVq+3msFzyZYwkGqvPs6Nw15dSdDHzJTl1Or8=' + } + ], + payment_index: '109', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '469ba606f6e5de239d0595346507a1c5058dc4bf9cb68fd6cadb6cdc8561ef33', + value: '5000', + creation_date: '1581477680', + fee: '2', + payment_preimage: 'c491cde9f65b8fa867716dcea62ca583a6172ec76881c93f3be78c2cec5984dd', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yxmespp5g6d6vphkuh0z88g9j56x2papc5zcm39lnjmgl4k2mdkdeptpauesdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5ar4mvn34dx54xh9cegmvsykpmwggdmw0xuqhjrcu57pptwwf0qqq9qy9qsq8kav3fsatjt5kjyu5gns3am82dttewlqqqj7mzvdn834zkwwfan3g8nmmukwnulvdd4cyd2z2t5px3cpmacsg934l5q9crg86970x4qpf594fa', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2010', + creation_time_ns: '1581477680000000000', + htlcs: [ + { + attempt_id: '10018', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665907, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665867, + amt_to_forward_msat: '5001005', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665723, + amt_to_forward_msat: '5001005', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665683, + amt_to_forward_msat: '5000000', + fee_msat: '1005', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665683, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '6Ou2TjVpqVNcuMo2yBLB25CG7c83AXkPHKeCFbnJeAA=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2010', + total_amt_msat: '5002010' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'xJHN6fZbj6hncW3Opiylg6YXLsdogck/O+eMLOxZhN0=' + } + ], + payment_index: '113', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '429ad76426b141d3815a3598c79ce54364b6423853f901976da11b10e4882e48', + value: '2000', + creation_date: '1581477731', + fee: '2', + payment_preimage: 'e9930bc1078b6820c67057bb1d83506ea63522f778f486d47c2ade195bace5a0', + value_sat: '2000', + value_msat: '2000000', + payment_request: 'lntb20u1p0yxmmrpp5g2ddwepxk9qa8q26xkvv0889gdjtvs3c20usr9md5yd3peyg9eyqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5tvt7gmgr377ad6c7sp6levewh63fp542x699gqmkmrchfqxk6sxq9qy9qsqp73plzrfd7ptpmq4a6g67p4dk846sue4yn0yns5yj5j9pddwzzcnu2xvmf27jf99vv5sran76zt448urpfddx696a0raetypc0t9kdcprgyav8', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2025', + creation_time_ns: '1581477731000000000', + htlcs: [ + { + attempt_id: '10021', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665913, + total_fees: '2', + total_amt: '2002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '2002', + amt_to_forward: '2001', + fee: '1', + expiry: 1665873, + amt_to_forward_msat: '2001023', + fee_msat: '1002', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '2001', + amt_to_forward: '2001', + fee: '0', + expiry: 1665729, + amt_to_forward_msat: '2001023', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '2001', + amt_to_forward: '2000', + fee: '1', + expiry: 1665689, + amt_to_forward_msat: '2000021', + fee_msat: '1002', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '2000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665683, + amt_to_forward_msat: '2000000', + fee_msat: '21', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665683, + amt_to_forward_msat: '2000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'WxfkbQOPvdbrHoB1/LMuvqKQ0qo2ilQDdtjxdIDW1Aw=', + total_amt_msat: '2000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2025', + total_amt_msat: '2002025' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '6ZMLwQeLaCDGcFe7HYNQbqY1Ivd49IbUfCreGVus5aA=' + } + ], + payment_index: '116', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '3a89b5114958dfc83efde79eb218217ebcf465f6a9dcc4503926e05394b9ab23', + value: '2000', + creation_date: '1581477816', + fee: '2', + payment_preimage: '53f59aca661be691446e77b37aaca71165eb3e1ba29f7cb542f7a7d4feab2acd', + value_sat: '2000', + value_msat: '2000000', + payment_request: 'lntb20u1p0yxmacpp582ym2y2ftr0us0hau70tyxpp0670ge0k48wvg5peyms9899e4v3sdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5qht647uhcvzcltnc7f2mc4fck33hyuedeadz2vjcrn7hvalflwvs9qy9qsqr4qh76zsgmwu6hmegljwzxra2ca33kf294vn80edvu7ztv45t6k8k2y6rkdh299gxvs3hhzerfe739dwsm26t30tp6fmrsa3echmqgqqphn3yw', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2025', + creation_time_ns: '1581477816000000000', + htlcs: [ + { + attempt_id: '10022', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665913, + total_fees: '2', + total_amt: '2002', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2002', + fee: '0', + expiry: 1665907, + amt_to_forward_msat: '2002004', + fee_msat: '21', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '2002', + amt_to_forward: '2001', + fee: '1', + expiry: 1665867, + amt_to_forward_msat: '2001002', + fee_msat: '1002', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '2001', + amt_to_forward: '2001', + fee: '0', + expiry: 1665723, + amt_to_forward_msat: '2001002', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '2001', + amt_to_forward: '2000', + fee: '1', + expiry: 1665683, + amt_to_forward_msat: '2000000', + fee_msat: '1002', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1772357768397389824', + chan_capacity: '2000', + amt_to_forward: '2000', + fee: '0', + expiry: 1665683, + amt_to_forward_msat: '2000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Bdeq+5fDBY+uePJVvFU4tGNycy3PWiUyWBz9dnfp+5k=', + total_amt_msat: '2000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2025', + total_amt_msat: '2002025' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'U/WaymYb5pFEbnezeqynEWXrPhuin3y1Qven1P6rKs0=' + } + ], + payment_index: '117', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '7fa481955da1695b75509eec43204c345faa2a620240446ddbc6357437c353e2', + value: '1000', + creation_date: '1581477853', + fee: '2', + payment_preimage: '7aa06fb3e33c6f5cfb93c73c8a108dcbb829cb2ccfdf870b0eb978d93091229b', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p0yxm7app507jgr92a5954ka2snmkyxgzvx30652nzqfqygmwmcc6hgd7r203qdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp52capg7yldssaeznmvz0cqa9nagvwv4vtkkzfzplls6t82uek2ccs9qy9qsqrafnhk3756vu6jjqsmd0v4kxx23qs7gr06s4x23h20yxsspdexw9j55mgzwpgrer42kklygx4vzg8xgfpnj9aphpverxkke20ej4e9cqzk29vd', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2013', + creation_time_ns: '1581477853000000000', + htlcs: [ + { + attempt_id: '10024', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665913, + total_fees: '2', + total_amt: '1002', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1002', + fee: '0', + expiry: 1665907, + amt_to_forward_msat: '1002002', + fee_msat: '11', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '1002', + amt_to_forward: '1001', + fee: '1', + expiry: 1665867, + amt_to_forward_msat: '1001001', + fee_msat: '1001', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '1001', + amt_to_forward: '1001', + fee: '0', + expiry: 1665723, + amt_to_forward_msat: '1001001', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '1001', + amt_to_forward: '1000', + fee: '1', + expiry: 1665683, + amt_to_forward_msat: '1000000', + fee_msat: '1001', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '1000', + amt_to_forward: '1000', + fee: '0', + expiry: 1665683, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'VjoUeJ9sIdyKe2CfgHSz6hjmVYu1hJEH/4aWdXM2VjE=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2013', + total_amt_msat: '1002013' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'eqBvs+M8b1z7k8c8ihCNy7gpyyzP34cLDrl42TCRIps=' + } + ], + payment_index: '120', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '3a98546220a61b6c685a55ef928ef4afe0d48605366f6ae44760ed67e9ec9c25', + value: '120', + creation_date: '1581516480', + fee: '2', + payment_preimage: 'f6ae1450b467cf101ed49cee8be91f0f177be48e56e4979baec590ba0a6ce5f0', + value_sat: '120', + value_msat: '120000', + payment_request: 'lntb1200n1p0ygpkqpp582v9gc3q5cdkc6z62hhe9rh54lsdfps9xehk4ez8vrkk060vnsjsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5p277mu39ssaey86pvhjftmwsae3u46la44n3la08j4m2kzrux6lq9qy9qsqf80shtuqzxfas73x9dazgep3zj0hhfshnt9smgg602kh0t48rq9qw5tdcu8yd8yjjy3hxgzdt27utp9av28xxkvg7ekcfvncnvcadssp94j6mz', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1581516480000000000', + htlcs: [ + { + attempt_id: '11000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665911, + total_fees: '2', + total_amt: '122', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '122', + amt_to_forward: '121', + fee: '1', + expiry: 1665767, + amt_to_forward_msat: '121002', + fee_msat: '1000', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '120', + fee: '1', + expiry: 1665727, + amt_to_forward_msat: '120002', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '120', + amt_to_forward: '120', + fee: '0', + expiry: 1665721, + amt_to_forward_msat: '120000', + fee_msat: '2', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '120', + fee: '0', + expiry: 1665721, + amt_to_forward_msat: '120000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Cr3t8iWEO5IfQWXkle3Q7mPK6/2tZx/155V2qwh8Nr4=', + total_amt_msat: '120000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '122002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '9q4UULRnzxAe1Jzui+kfDxd75I5W5JebrsWQugps5fA=' + } + ], + payment_index: '122', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '224bb5c05d187b056429c65278016e4c0add6795dd5d86d8d5cdf02337f6ab14', + value: '5000', + creation_date: '1581518178', + fee: '2', + payment_preimage: 'b1b372ee712c40b29f33785086247c4bfa27f290ef5a82dc260368f2845fce0e', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0ygrtzpp5yf9mtszarpas2epfcef8sqtwfs9d6eu4m4wcdkx4ehczxdlk4v2qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5guwg0zz8yufmg7s6enn7c00lvlmmq7y54wnhr95j8rkxgc5fh5cq9qy9qsqexzva9u4x6a29t4fqe8q7g53sf92w78y2kndf6kglsmw6a05cvc3zj6eykp7tdykea4p3yw5s8fv86qf3v7p2nx26pkn8c2c5gswuqgq9t4fp3', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1581518178000000000', + htlcs: [ + { + attempt_id: '11002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665953, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665913, + amt_to_forward_msat: '5001056', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665769, + amt_to_forward_msat: '5001056', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665729, + amt_to_forward_msat: '5000051', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665723, + amt_to_forward_msat: '5000000', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665723, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'RxyHiEcnE7R6Gszn7D3/Z/eweJSrp3GWkjjsZGKJvTA=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'sbNy7nEsQLKfM3hQhiR8S/on8pDvWoLcJgNo8oRfzg4=' + } + ], + payment_index: '125', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e554dc36c42ee031f887de3a6d69d0e2d4672c39f9fabc7b9ece9aaebdfb7422', + value: '5000', + creation_date: '1581559761', + fee: '2', + payment_preimage: 'd42510e14c4db80d0e94588ebb40e07e69fb133633bf82fe1acb424d42065bab', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yft73pp5u42dcdky9msrr7y8mcax66wsut2xwtpel8atc7u7e6d2a00mws3qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp59e62avzal78hu9k2sg4w07pdr0dfmzmjpkjx7crm427up9ewth7s9qy9qsqau8l53hpfd8t94tfafcedfnqkmk58z5060ew2k44ssh300d4m4y4kfy2r3z9r2dz3xmmey8tnp097y2r8t0x6fs3axqtytev2xnx47spj3744r', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2010', + creation_time_ns: '1581559761000000000', + htlcs: [ + { + attempt_id: '11039', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666002, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1665962, + amt_to_forward_msat: '5001005', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1665818, + amt_to_forward_msat: '5001005', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1665778, + amt_to_forward_msat: '5000000', + fee_msat: '1005', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1665778, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'LnSusF3/j34WyoIq5/gtG9qdi3INpG9ge6q9wJcuXf0=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2010', + total_amt_msat: '5002010' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '1CUQ4UxNuA0OlFiOu0Dgfmn7EzYzv4L+GstCTUIGW6s=' + } + ], + payment_index: '130', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '7f1cfb2bb1da206903a82f13487103a402605d00ecfe0c73424e6b004549e1ac', + value: '10000', + creation_date: '1581604568', + fee: '13', + payment_preimage: 'b889f13a7e46a0d21d39a44280a211a17932956d774d9d788b694fc71b4414d5', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0y2hkcpp50uw0k2a3mgsxjqag9uf5sugr5spxqhgqanlqcu6zfe4sq32fuxkqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5zg5nz7hh5fhpuud0whzsx7s822l2xxjasavh770gcgtnsyu683rq9qy9qsq9w6pax4cfqyjdsk0eamwef7g7ytrv4r5y43a5ca20r05xp35hpa4zvtz9ye0vhd3e2tgy7jnvr9s46yu65f5ly0wluws727arpv4dpgqj976ad', + status: 'SUCCEEDED', + fee_sat: '13', + fee_msat: '13022', + creation_time_ns: '1581604568000000000', + htlcs: [ + { + attempt_id: '12002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1665924, + total_fees: '13', + total_amt: '10013', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10002', + fee: '11', + expiry: 1665918, + amt_to_forward_msat: '10002020', + fee_msat: '11002', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '10002', + amt_to_forward: '10001', + fee: '1', + expiry: 1665878, + amt_to_forward_msat: '10001010', + fee_msat: '1010', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666328563597443072', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1665838, + amt_to_forward_msat: '10000000', + fee_msat: '1010', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1665838, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Eikxeveibh5xr3XFA3oHUr6jGl2HWX956MIXOBOaPEY=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '13022', + total_amt_msat: '10013022' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'uInxOn5GoNIdOaRCgKIRoXkylW13TZ14i2lPxxtEFNU=' + } + ], + payment_index: '132', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '006ad70372904882abcabd84242fd8db016bce3b21624c37a3193cd949a6330f', + value: '10000', + creation_date: '1581696387', + fee: '2', + payment_preimage: '277cf1a4feb93a7abb1635f7cbc9875421bd1ae2205cabed93af3018106346d1', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0yd3vrpp5qp4dwqmjjpyg9272hkzzgt7cmvqkhn3my93ycdarry7djjdxxv8sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5r848hf5uqmu99clyu8scsxfk2dg7y3j4w0s89u9smcfxymvdgygq9qy9qsqltnkyfyh3c5k2nd96j22r4fsq6f4lh9x7qdtr55gpgg6hd8v60qsmnfz7fls4adat8n3s92pj7ngawc8q64uarg6z6ssnl6c5jxjfwqqdc0n2h', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1581696387000000000', + htlcs: [ + { + attempt_id: '13001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666144, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10002', + fee: '0', + expiry: 1666138, + amt_to_forward_msat: '10002020', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '10002', + amt_to_forward: '10001', + fee: '1', + expiry: 1666098, + amt_to_forward_msat: '10001010', + fee_msat: '1010', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '10001', + amt_to_forward: '10001', + fee: '0', + expiry: 1665954, + amt_to_forward_msat: '10001010', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1665914, + amt_to_forward_msat: '10000000', + fee_msat: '1010', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1665914, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Gep7ppwG+FLj5OHhiBk2U1HiRlVz4HLwsN4SYm2NQRA=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'J3zxpP65Onq7FjX3y8mHVCG9GuIgXKvtk68wGBBjRtE=' + } + ], + payment_index: '135', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c647813c1eb38d5b7b284020f8be8f6ab3abdd22326b22e3b8fdf58f872af307', + value: '254018', + creation_date: '1581703919', + fee: '77', + payment_preimage: '8d149355012ef43f7289f7291f1b912495c6f59ceb6fe84073f7ef40d5841093', + value_sat: '254018', + value_msat: '254018000', + payment_request: 'lntb2540180n1p0ydchwpp5cercz0q7kwx4k7eggqs03050d2e6hhfzxf4j9caclh6clpe27vrsdq8wdmkzuqcqzxgxq97zvuqrzjqtcjw6yeq34rdk4ghazhj4h4elwnn339e9aqzyfskn9qdm43cdkvkxt2luqqp3qqqqqqqqqpqqqqqzgqzqsp5jcwh24tvvfka84hxqv9k9walsaf0e7drg3fzhtjw3rm3q6ad74cs9qy9qsqwvtc08wt54tspqxczk5sumwlp582r65hl84ks7w6rflhdhvcazfq58e85h2pc6ye9d9rfuhv5zf4fl22kt93qk7yl6j4zy4q9m7sq5cpynegs2', + status: 'SUCCEEDED', + fee_sat: '77', + fee_msat: '77267', + creation_time_ns: '1581703919000000000', + htlcs: [ + { + attempt_id: '13022', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666206, + total_fees: '77', + total_amt: '254095', + hops: [ + { + chan_id: '1772357768397455360', + chan_capacity: '254095', + amt_to_forward: '254094', + fee: '1', + expiry: 1666166, + amt_to_forward_msat: '254094013', + fee_msat: '1254', + pub_key: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1811942386017304576', + chan_capacity: '254094', + amt_to_forward: '254020', + fee: '73', + expiry: 1666160, + amt_to_forward_msat: '254020508', + fee_msat: '73505', + pub_key: '032ea8483bb21aa3ff61d6742952e5cfc048154e892af696123798a872d33b1cb6', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1798195192140464128', + chan_capacity: '254020', + amt_to_forward: '254019', + fee: '1', + expiry: 1666120, + amt_to_forward_msat: '254019254', + fee_msat: '1254', + pub_key: '03f705236d65a9ed4f5f7dbfa24b7055e00620c95606a94c4cb416fd335bc15c07', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728693962636984320', + chan_capacity: '254019', + amt_to_forward: '254018', + fee: '1', + expiry: 1666080, + amt_to_forward_msat: '254018000', + fee_msat: '1254', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830321822398545920', + chan_capacity: '16776923', + amt_to_forward: '254018', + fee: '0', + expiry: 1666080, + amt_to_forward_msat: '254018000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: 'lh11VWxibdPW5gMLYru/h1L8+aNEUiuuToj3EGut9XE=', + total_amt_msat: '254018000' + }, + custom_records: {} + } + ], + total_fees_msat: '77267', + total_amt_msat: '254095267' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'jRSTVQEu9D9yifcpHxuRJJXG9Zzrb+hAc/fvQNWEEJM=' + } + ], + payment_index: '140', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '927656c1edb165296a75847f114c40eb3f22344b2c8efd0e157f9425bb17fe71', + value: '1337', + creation_date: '1581703919', + fee: '2', + payment_preimage: 'aeda3015cfbbb759a88a278a689d0c19a62db66b32bbb48e1487b0c56b5a18de', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0ydchwpp5jfm9ds0dk9jjj6n4s3l3znzqavljydzt9j806rs4072ztwchlecsdq2wpex2urp0ycqzxgxq97zvuqrzjqtcjw6yeq34rdk4ghazhj4h4elwnn339e9aqzyfskn9qdm43cdkvkxt2luqqp3qqqqqqqqqpqqqqqzgqzqsp5dfzuexz0ltuj87am82aafs4wqpxzwqsltdz3zr2ycecd3qtvvf8q9qy9qsqu4kg793t06yhzz29nu0szua0rnemd00ef6vkqeul4n2qx799msqhegcnq5zevukplfdre4cmja9p6wj2tlp4ue9mdtmgwuhdewtwkpsqy7g6vp', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1581703919000000000', + htlcs: [ + { + attempt_id: '13016', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666264, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1666120, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728049648818716672', + chan_capacity: '16777215', + amt_to_forward: '1337', + fee: '1', + expiry: 1666080, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830321822398545920', + chan_capacity: '16776923', + amt_to_forward: '1337', + fee: '0', + expiry: 1666080, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: 'akXMmE/6+SP7uzq71MKuAEwnAh9bRRENRMZw2IFsYk4=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'rtowFc+7t1moiieKaJ0MGaYttmsyu7SOFIewxWtaGN4=' + } + ], + payment_index: '141', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '73a535427e2023416363dae8d42248ad5a2baa185ee3f569ee76997be8b66dd3', + value: '150', + creation_date: '1582117061', + fee: '1', + payment_preimage: '31d9c36dcbd794ac0c27f47dbcdc3c618c8e1b419c39cd5e567a116429128beb', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0y6v9jpp5wwjn2sn7yq35zcmrmt5dggjg44dzh2sctm3l260ww6vhh69kdhfsdpq2fjkzep6yp2x2um5d9hxwgrfwssxzmrvcqzpgxqr23ssp5ztxsfzx9mlg8gtd52vth0mv646lnr4c47cq3tmultlkhdhc6qcvq9qy9qsqh0hvvetp7ddhudeecqhf5gcmtg0pshwwjzxmgv0njlc6u308645sr05wxeflk9llcl2kplmtwpavnu2hygylwj4pqaugzw3mkzyym8qqzfhu4k', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1582117061000000000', + htlcs: [ + { + attempt_id: '15000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666317, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1666277, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726343206794493953', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1666277, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'Es0EiMXf0HQttFMXd+2arr8x1xX2ARXvn1/tdt8aBhg=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'MdnDbcvXlKwMJ/R9vNw8YYyOG0GcOc1eVnoRZCkSi+s=' + } + ], + payment_index: '163', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '3a91116a366fe309cc01997a7f450f36fda478fd260c560ee2c7e02d9c0cb322', + value: '12000', + creation_date: '1582136287', + fee: '4', + payment_preimage: '6eeac66b5c364ce24d5b505559af8bebe36fe11b27b24fc6ac165174f722e284', + value_sat: '12000', + value_msat: '12000000', + payment_request: 'lntb120u1p0y677lpp582g3z63kdl3snnqpn9a873g0xm76g78aycx9vrhzclszm8qvkv3qdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5tm2nthqvq22mzjqcyvrw252wmcvwys8fag7hfw56qaxhygjdgyas9qy9qsq33p65hyxsu6s52n9426vqyemsedwcqvd0j9dydk7zg834v2dh294vscjfd4gawvmyuzdev92zlqsw85zwvs098a8f5e04ttt8r68nncpq0yd4d', + status: 'SUCCEEDED', + fee_sat: '4', + fee_msat: '4074', + creation_time_ns: '1582136287000000000', + htlcs: [ + { + attempt_id: '15022', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666563, + total_fees: '4', + total_amt: '12004', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '12004', + fee: '0', + expiry: 1666557, + amt_to_forward_msat: '12004048', + fee_msat: '26', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801940128740540417', + chan_capacity: '100000', + amt_to_forward: '12003', + fee: '1', + expiry: 1666517, + amt_to_forward_msat: '12003036', + fee_msat: '1012', + pub_key: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1723369027821633537', + chan_capacity: '12003', + amt_to_forward: '12002', + fee: '1', + expiry: 1666373, + amt_to_forward_msat: '12002024', + fee_msat: '1012', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1728052947353796608', + chan_capacity: '12002', + amt_to_forward: '12001', + fee: '1', + expiry: 1666333, + amt_to_forward_msat: '12001012', + fee_msat: '1012', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771970740304019457', + chan_capacity: '12001', + amt_to_forward: '12000', + fee: '1', + expiry: 1666293, + amt_to_forward_msat: '12000000', + fee_msat: '1012', + pub_key: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1772357768397455360', + chan_capacity: '12000', + amt_to_forward: '12000', + fee: '0', + expiry: 1666293, + amt_to_forward_msat: '12000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'XtU13AwClbFIGCMG5VFO3hjiQOnqPXS6mgdNciJNQTs=', + total_amt_msat: '12000000' + }, + custom_records: {} + } + ], + total_fees_msat: '4074', + total_amt_msat: '12004074' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'burGa1w2TOJNW1BVWa+L6+Nv4Rsnsk/GrBZRdPci4oQ=' + } + ], + payment_index: '183', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e24d5dd177f9688f8c45028cf9b09d7c36ee3cbacb5786849fde629a95eabfe3', + value: '249013', + creation_date: '1582136333', + fee: '76', + payment_preimage: '4718db2971ebe5b5a940f7ad221a4cfd303fc03e4d60636f30f7fca66d52d30e', + value_sat: '249013', + value_msat: '249013000', + payment_request: 'lntb2490130n1p0y6lqdpp5ufx4m5thl95glrz9q2x0nvya0smwu096edtcdpylme3f4902hl3sdq8wdmkzuqcqzxgxq97zvuqsp57n0kpegs9ka4lkrv0k2aqghd4w0vwk5c87gwc84pacs0ynh49u9q9qy9qsqvvhckksh93gu2lj4rlauqd8z2jx2c3mhah9ptf9j4wwh4q53vkcp7yzvmyvckp9x4ngh06pq290yj58ftrj547zxk68gxxyjg3zxjzsqhds7zg', + status: 'SUCCEEDED', + fee_sat: '76', + fee_msat: '76000', + creation_time_ns: '1582136333000000000', + htlcs: [ + { + attempt_id: '15024', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666683, + total_fees: '76', + total_amt: '249089', + hops: [ + { + chan_id: '1772357768397455360', + chan_capacity: '249089', + amt_to_forward: '249087', + fee: '1', + expiry: 1666643, + amt_to_forward_msat: '249087751', + fee_msat: '1249', + pub_key: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1811942386017304576', + chan_capacity: '249087', + amt_to_forward: '249015', + fee: '72', + expiry: 1666637, + amt_to_forward_msat: '249015498', + fee_msat: '72253', + pub_key: '032ea8483bb21aa3ff61d6742952e5cfc048154e892af696123798a872d33b1cb6', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1824217333830189056', + chan_capacity: '249015', + amt_to_forward: '249014', + fee: '1', + expiry: 1666493, + amt_to_forward_msat: '249014249', + fee_msat: '1249', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726290430217027584', + chan_capacity: '249014', + amt_to_forward: '249013', + fee: '1', + expiry: 1666453, + amt_to_forward_msat: '249013000', + fee_msat: '1249', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830321822398545920', + chan_capacity: '16776923', + amt_to_forward: '249013', + fee: '0', + expiry: 1666453, + amt_to_forward_msat: '249013000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: '9N9g5RAtu1/YbH2V0CLtq57HWpg/kOweoe4g8k71Lwo=', + total_amt_msat: '249013000' + }, + custom_records: {} + } + ], + total_fees_msat: '76000', + total_amt_msat: '249089000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'RxjbKXHr5bWpQPetIhpM/TA/wD5NYGNvMPf8pm1S0w4=' + } + ], + payment_index: '184', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e8e1d1d34ca482b511885596ef9b8a3d18cab899107a3fbc772127cfc4cde95a', + value: '1337', + creation_date: '1582136333', + fee: '2', + payment_preimage: '4b8ce5a0c037f1542ef7c1d9cc3730885adce8431cfb2412e3002c3b023395d5', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0y6lqdpp5arsar56v5jpt2yvg2ktwlxu285vv4wyezparl0rhyynul3xda9dqdq2wpex2urp0ycqzxgxq97zvuqsp5nylxz06e2vy2ys0fl8pnsps2zxf6dcry2kagggupnc837nv9cs4q9qy9qsqcrkpp4rt8ylxyzlqct93rcc5zfuppph0zxhj7t029hm7x65tnyhh77zvu8j3dzep5qztkvwt5e3a4ux5zh324ld7fhm0w22r2ctukncp07fuhj', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1582136333000000000', + htlcs: [ + { + attempt_id: '15023', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666637, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1666493, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726290430217027584', + chan_capacity: '1338', + amt_to_forward: '1337', + fee: '1', + expiry: 1666453, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830321822398545920', + chan_capacity: '16776923', + amt_to_forward: '1337', + fee: '0', + expiry: 1666453, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: 'mT5hP1lTCKJB6fnDOAYKEZOm4GRVuoQjgZ4PH02FxCo=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'S4zloMA38VQu98HZzDcwiFrc6EMc+yQS4wAsOwIzldU=' + } + ], + payment_index: '185', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e1e083c29b6c4f991e8e84fb9209b78c51f9db8f37d9b467e48a75145f89a5c4', + value: '6000', + creation_date: '1582215318', + fee: '2', + payment_preimage: '33204d1df43505faf06234547e745a7eca164261f037635bce1c91d8bd828cd6', + value_sat: '6000', + value_msat: '6000000', + payment_request: 'lntb60u1p0ya2k4pp5u8sg8s5md38ej85wsnaeyzdh33glnku0xlvmgely3f63ghuf5hzqdpgf3hkxctv94fx2cnpd3skucm995mrqvps94fkzarncqzpgxqrrsssp5w0am5rkpz0qpcx972ynfek2flv59v4mvm6setpl9pjzklph7vq5s9qy9qsq7nadu2fp6zn499plwp8zrvfkxv44u4w66fzhpfa4zcv9ljhr585q7e6k2rq9ehzqyvxx3pqwwlkc3ntrn49rlkg7eq708f2jsu07sfqq6xpjv3', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2073', + creation_time_ns: '1582215318000000000', + htlcs: [ + { + attempt_id: '16000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666591, + total_fees: '2', + total_amt: '6002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '6002', + amt_to_forward: '6001', + fee: '1', + expiry: 1666551, + amt_to_forward_msat: '6001067', + fee_msat: '1006', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '6001', + amt_to_forward: '6001', + fee: '0', + expiry: 1666407, + amt_to_forward_msat: '6001067', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '6001', + amt_to_forward: '6000', + fee: '1', + expiry: 1666367, + amt_to_forward_msat: '6000061', + fee_msat: '1006', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '6000', + amt_to_forward: '6000', + fee: '0', + expiry: 1666361, + amt_to_forward_msat: '6000000', + fee_msat: '61', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '6000', + fee: '0', + expiry: 1666361, + amt_to_forward_msat: '6000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'c/u6DsETwBwYvlEmnNlJ+yhWV2zeoZWH5QyFb4b+YCk=', + total_amt_msat: '6000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2073', + total_amt_msat: '6002073' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'MyBNHfQ1BfrwYjRUfnRafsoWQmHwN2NbzhyR2L2CjNY=' + } + ], + payment_index: '204', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '336001212b7ce11223da57b26437a244c692230c89e8a51edd7d4c203f2f04d0', + value: '6000', + creation_date: '1582215386', + fee: '3', + payment_preimage: '2aa905782deafa1a510ad80d9a8e842fea2d802f3c530ae8ca6ac55c9f7642df', + value_sat: '6000', + value_msat: '6000000', + payment_request: 'lntb60u1p0ya24spp5xdsqzgft0ns3yg7627exgdazgnrfygcv385228ka04xzq0e0qngqdpgf3hkxctv94fx2cnpd3skucm995mrqvps94fkzarncqzpgxqrrsssp5shr3t73xfurggfak8cvm4tptg6n8ue0rw3ushc2n0nmzr5rtw40s9qy9qsqpf7pg0925uad0tavkkfx2mkxlm45kvt88y448wtuz7z99xd3q09yz6z5vugjcqhauk8hz6k567tk25p2kw4keg50arykd5q59p6qfxcpk2emm6', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3079', + creation_time_ns: '1582215386000000000', + htlcs: [ + { + attempt_id: '16002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666735, + total_fees: '3', + total_amt: '6003', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '6003', + amt_to_forward: '6002', + fee: '1', + expiry: 1666695, + amt_to_forward_msat: '6002073', + fee_msat: '1006', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '6002', + amt_to_forward: '6001', + fee: '1', + expiry: 1666551, + amt_to_forward_msat: '6001067', + fee_msat: '1006', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726037542539427841', + chan_capacity: '6001', + amt_to_forward: '6001', + fee: '0', + expiry: 1666407, + amt_to_forward_msat: '6001067', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '6001', + amt_to_forward: '6000', + fee: '1', + expiry: 1666367, + amt_to_forward_msat: '6000061', + fee_msat: '1006', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '6000', + amt_to_forward: '6000', + fee: '0', + expiry: 1666361, + amt_to_forward_msat: '6000000', + fee_msat: '61', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '6000', + fee: '0', + expiry: 1666361, + amt_to_forward_msat: '6000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'hccV+iZPBoQntj4ZuqwrRqZ+ZeN0eQvhU3z2IdBrdV8=', + total_amt_msat: '6000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3079', + total_amt_msat: '6003079' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'KqkFeC3q+hpRCtgNmo6EL+otgC88UwroymrFXJ92Qt8=' + } + ], + payment_index: '208', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '9dffeb6f07fb254c44d60454cf5f8870f1eac65dbc32c4d82c98f31081690481', + value: '5000', + creation_date: '1582215658', + fee: '2', + payment_preimage: '178e31db807f338fb8717893ecba3193d17ced1e70d6b73fd3e0143cbed334a7', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yavf3pp5nhl7kmc8lvj5c3xkq32v7hugwrc743jahsevfkpvnre3pqtfqjqsdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5grx9ete5ttxsc63wqztyrvc9txnncxfr5v03z96h8jkr7eufyvns9qy9qsq4l29x5jg87wshmfcugh2k3s0tcvkqdlepfq9z79utfyul5lan2zklh6hpr8drn0ecgg9upzzt9hv373kshrjtrylpyy5pztevfw5dzgqdwy8x5', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2010', + creation_time_ns: '1582215658000000000', + htlcs: [ + { + attempt_id: '16003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666585, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1666545, + amt_to_forward_msat: '5001005', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1666401, + amt_to_forward_msat: '5001005', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1666361, + amt_to_forward_msat: '5000000', + fee_msat: '1005', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1666361, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'QMxcrzRazQxqLgCWQbMFWac8GSOjHxEXVzysP2eJIyc=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2010', + total_amt_msat: '5002010' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'F44x24B/M4+4cXiT7Loxk9F87R5w1rc/0+AUPL7TNKc=' + } + ], + payment_index: '211', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '22f71f152a003727f083ded8b4db30f21aba33983822e8ca4f062a5d4ae2b543', + value: '5000', + creation_date: '1582220240', + fee: '2', + payment_preimage: '79e060f337afd90063279ff2cb502ecba85410cdced99d954e90d696ddc65708', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0yasajpp5ytm379f2qqmj0uyrmmvtfkes7gdt5vuc8q3w3jj0qc496jhzk4psdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5htgt6jdgwxlm2y7s2fn08gxer4fnxdka34ftuf3kesn5m8seszdq9qy9qsq994glclw9y36yatdv4ldej6e8mush07er973fu28j2hd0a83hl8kzpuzszsw45qtm9suc5zhrz6sc6lmm7z0rygts0htuwn5vdwwangpvvsn68', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2061', + creation_time_ns: '1582220240000000000', + htlcs: [ + { + attempt_id: '17000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666595, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1666555, + amt_to_forward_msat: '5001056', + fee_msat: '1005', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '5001', + amt_to_forward: '5001', + fee: '0', + expiry: 1666411, + amt_to_forward_msat: '5001056', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1666371, + amt_to_forward_msat: '5000051', + fee_msat: '1005', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1666365, + amt_to_forward_msat: '5000000', + fee_msat: '51', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '5000', + fee: '0', + expiry: 1666365, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'utC9Sahxv7UT0FJm86DZHVMzNt2NUr4mNswnTZ4ZgJo=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2061', + total_amt_msat: '5002061' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'eeBg8zev2QBjJ5/yy1Auy6hUEM3O2Z2VTpDWlt3GVwg=' + } + ], + payment_index: '213', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'be439a400aa33aa34928e13ca44d0b839690fd3415460dbd264ef04823e92590', + value: '2500', + creation_date: '1582666634', + fee: '2', + payment_preimage: '9a8da715606c7c37fc31b20f7aa605e981e531ea0d23460cae1a63e733a3e4e8', + value_sat: '2500', + value_msat: '2500000', + payment_request: 'lntb25u1p09tyu2pp5hepe5sq25va2xjfguy72gngtswtfplf5z4rqm0fxfmcysglfykgqdpgf3hkxctv94fx2cnpd3skucm995er2vps94fkzarncqzpgxqrrsssp5ekdd0nw9k9ev0rdwhxx4vlr4k83qk3nfc7qgke7wgsjzpjzjms7q9qy9qsql9drm975sx7l4lkh4838gyv09829sflaykaqs33lx4prx5tf0u5jgk6990h7kmtqx8nc08rh8vajtw5a2h5jx7w8jxg3u63l5yqze6gquh08q7', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2030', + creation_time_ns: '1582666634000000000', + htlcs: [ + { + attempt_id: '20001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1666989, + total_fees: '2', + total_amt: '2502', + hops: [ + { + chan_id: '1772357768397389824', + chan_capacity: '2502', + amt_to_forward: '2501', + fee: '1', + expiry: 1666949, + amt_to_forward_msat: '2501028', + fee_msat: '1002', + pub_key: '02acb5b3bdf46d3a35e665c9abe46def12c341f55d603853ddeb1371076cab5c57', + tlv_payload: false, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748293615616', + chan_capacity: '2501', + amt_to_forward: '2501', + fee: '0', + expiry: 1666805, + amt_to_forward_msat: '2501028', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '2501', + amt_to_forward: '2500', + fee: '1', + expiry: 1666765, + amt_to_forward_msat: '2500026', + fee_msat: '1002', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '2500', + amt_to_forward: '2500', + fee: '0', + expiry: 1666759, + amt_to_forward_msat: '2500000', + fee_msat: '26', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2500', + fee: '0', + expiry: 1666759, + amt_to_forward_msat: '2500000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'zZrXzcWxcseNrrmNVnx1seILRmnHgItnzkQkIMhS3Dw=', + total_amt_msat: '2500000' + }, + custom_records: {} + } + ], + total_fees_msat: '2030', + total_amt_msat: '2502030' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'mo2nFWBsfDf8MbIPeqYF6YHlMeoNI0YMrhpj5zOj5Og=' + } + ], + payment_index: '234', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '6d4dce78f77807bba6c7e050396fb91889984bbbb4b1973121a643d8f20620f7', + value: '100000', + creation_date: '1583358813', + fee: '13', + payment_preimage: 'ddb4a83fd2b0b150941fca26f3327e8b00bf4f5e6d8e387579fa696e9125b37a', + value_sat: '100000', + value_msat: '100000000', + payment_request: 'lntb1m1p0xqg6app5d4xuu78h0qrmhfk8upgrjmaerzyesjamkjcewvfp5epa3usxyrmsdpvf3hkxctv94fx2cnpd3skucm995cnqvpsxqcz65mpw3escqzpgxqrrsssp5cuhea5pzva72cc2hxdxdqh5q70vud5ar2xy7el5lxdzwfsqx8lrq9qy9qsq9u4fqal33y2spknkvjq99tcttc32qp3z08z3sl2wxgqm8k8n8zh57w3ajp2v4zkghpr7zl6tutzmvkryx94hy2svud4tnrewceg7saqpr87pdj', + status: 'SUCCEEDED', + fee_sat: '13', + fee_msat: '13200', + creation_time_ns: '1583358813000000000', + htlcs: [ + { + attempt_id: '23000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1667965, + total_fees: '13', + total_amt: '100013', + hops: [ + { + chan_id: '1797870836207190016', + chan_capacity: '100013', + amt_to_forward: '100002', + fee: '11', + expiry: 1667821, + amt_to_forward_msat: '100002200', + fee_msat: '11000', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771755236024385536', + chan_capacity: '100002', + amt_to_forward: '100001', + fee: '1', + expiry: 1667781, + amt_to_forward_msat: '100001100', + fee_msat: '1100', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771970740304019457', + chan_capacity: '100001', + amt_to_forward: '100000', + fee: '1', + expiry: 1667741, + amt_to_forward_msat: '100000000', + fee_msat: '1100', + pub_key: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1772357768397455360', + chan_capacity: '100000', + amt_to_forward: '100000', + fee: '0', + expiry: 1667741, + amt_to_forward_msat: '100000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'xy+e0CJnfKxhVzNM0F6A89nG06NRiez+nzNE5MAGP8Y=', + total_amt_msat: '100000000' + }, + custom_records: {} + } + ], + total_fees_msat: '13200', + total_amt_msat: '100013200' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '3bSoP9KwsVCUH8om8zJ+iwC/T15tjjh1efppbpEls3o=' + } + ], + payment_index: '255', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '273fdbaf2cadf0197be1cd41570f3889df38b76c64e52500694a9b33fc0a0588', + value: '100000', + creation_date: '1583358972', + fee: '13', + payment_preimage: 'a0fd333c8387bdc2768a92fcaca1a5a4c86fdd9dbdd8ba5d7de221cfb96b44ca', + value_sat: '100000', + value_msat: '100000000', + payment_request: 'lntb1m1p0xqg7tpp5yulahtev4hcpj7lpe4q4wrec380n3dmvvnjj2qrff2dn8lq2qkyqdpvf3hkxctv94fx2cnpd3skucm995cnqvpsxqcz65mpw3escqzpgxqrrsssp5tnr0z8aq25qcrtqn55nh36mdqlgukz5mxfd8v77lz2ar09nvdvdq9qy9qsq7c8q5qgk62nx5n6g5w569wcnd83en4x4l7naxcn7tepqatsqachkpytvqmkwuukqujp95td595730pstwn85thnevgrnzzzx4agssmqphjvxtv', + status: 'SUCCEEDED', + fee_sat: '13', + fee_msat: '13200', + creation_time_ns: '1583358972000000000', + htlcs: [ + { + attempt_id: '23004', + status: 'SUCCEEDED', + route: { + total_time_lock: 1667965, + total_fees: '13', + total_amt: '100013', + hops: [ + { + chan_id: '1797870836207190016', + chan_capacity: '100013', + amt_to_forward: '100002', + fee: '11', + expiry: 1667821, + amt_to_forward_msat: '100002200', + fee_msat: '11000', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771755236024385536', + chan_capacity: '100002', + amt_to_forward: '100001', + fee: '1', + expiry: 1667781, + amt_to_forward_msat: '100001100', + fee_msat: '1100', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771970740304019457', + chan_capacity: '100001', + amt_to_forward: '100000', + fee: '1', + expiry: 1667741, + amt_to_forward_msat: '100000000', + fee_msat: '1100', + pub_key: '0304ab2d2e558ca768f179c18016611a7f494a3215b082d0c24330bb96222c97af', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1772357768397455360', + chan_capacity: '100000', + amt_to_forward: '100000', + fee: '0', + expiry: 1667741, + amt_to_forward_msat: '100000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'XMbxH6BVAYGsE6UneOttB9HLCpsyWnZ73xK6N5Zsaxo=', + total_amt_msat: '100000000' + }, + custom_records: {} + } + ], + total_fees_msat: '13200', + total_amt_msat: '100013200' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'oP0zPIOHvcJ2ipL8rKGlpMhv3Z292LpdfeIhz7lrRMo=' + } + ], + payment_index: '257', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b4e1674c73132a7f22f7f0ce9fb32a7f6217d3044c861d86a17566500948bf83', + value: '50000', + creation_date: '1583779788', + fee: '4', + payment_preimage: '78eb9db5a9db479cea44e0a5b577023c5bd31ee6f56b6dbbbfc3fea686a5686f', + value_sat: '50000', + value_msat: '50000000', + payment_request: 'lntb500u1p0xdr78pp5knskwnrnzv487ghh7r8flve20a3p05cyfjrpmp4pw4n9qz2gh7psdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp5uvd43tfdwd77p40renujqt8uar5x3l5wjksm3aps2kqk0735357q9qy9qsqs9hdw3mgsrskmxeryh3mupeqct0wmwmh7q2rdu9frer6k23ep57qlx4ag9l2eme70wf7an946099lr78jfj5d7yj7c9mn6dvd695wxcpd7f4tl', + status: 'SUCCEEDED', + fee_sat: '4', + fee_msat: '4302', + creation_time_ns: '1583779788000000000', + htlcs: [ + { + attempt_id: '25016', + status: 'SUCCEEDED', + route: { + total_time_lock: 1669718, + total_fees: '4', + total_amt: '50004', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '50004', + fee: '0', + expiry: 1669712, + amt_to_forward_msat: '50004200', + fee_msat: '102', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801940128740540417', + chan_capacity: '100000', + amt_to_forward: '50003', + fee: '1', + expiry: 1669672, + amt_to_forward_msat: '50003150', + fee_msat: '1050', + pub_key: '02b75534b5960e934840d7a98ddc7e486487b07a544e6e2cc1287c7267bcc3a499', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1723369027821633537', + chan_capacity: '50003', + amt_to_forward: '50002', + fee: '1', + expiry: 1669528, + amt_to_forward_msat: '50002100', + fee_msat: '1050', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '50002', + amt_to_forward: '50001', + fee: '1', + expiry: 1669488, + amt_to_forward_msat: '50001050', + fee_msat: '1050', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '50001', + amt_to_forward: '50000', + fee: '1', + expiry: 1669448, + amt_to_forward_msat: '50000000', + fee_msat: '1050', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801931332652957696', + chan_capacity: '50000', + amt_to_forward: '50000', + fee: '0', + expiry: 1669448, + amt_to_forward_msat: '50000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '4xtYrS1zfeDV48z5ICz86Oho/o6Vobj0MFWBZ/o0jTw=', + total_amt_msat: '50000000' + }, + custom_records: {} + } + ], + total_fees_msat: '4302', + total_amt_msat: '50004302' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'eOudtanbR5zqROCltXcCPFvTHub1a227v8P+poalaG8=' + } + ], + payment_index: '283', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ed7fe043f19f870b6077a1b3eeb9a51fcbf7461ed9c9af93073eb7c3b52fb89c', + value: '5000', + creation_date: '1583857404', + fee: '2', + payment_preimage: '2518d2628e271d45c08f15c3a340c9c4f5cfb22b8bbff61cd2f5dcf400afdab7', + value_sat: '5000', + value_msat: '5000000', + payment_request: 'lntb50u1p0x00hqpp5a4l7qsl3n7rskcrh5xe7awd9rl9lw3s7m8y6lyc886mu8df0hzwqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5jmph6d35gfjefzv58r328xa299dnxawe3ulyh046hud5wmymnz8q9qy9qsqh09p76glphluq6z2h0haw0g884lldkr5em40cmjmdzsprurvxed9me40af727qdwp4e0tdltpmhhcv2mhs6ge8hh2agngcd39rnglqsqgfu20p', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2505', + creation_time_ns: '1583857404000000000', + htlcs: [ + { + attempt_id: '25017', + status: 'SUCCEEDED', + route: { + total_time_lock: 1669805, + total_fees: '2', + total_amt: '5002', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '5002', + amt_to_forward: '5001', + fee: '1', + expiry: 1669661, + amt_to_forward_msat: '5001500', + fee_msat: '1005', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '5001', + amt_to_forward: '5000', + fee: '1', + expiry: 1669517, + amt_to_forward_msat: '5000000', + fee_msat: '1500', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1797870836207190016', + chan_capacity: '5000', + amt_to_forward: '5000', + fee: '0', + expiry: 1669517, + amt_to_forward_msat: '5000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'lsN9NjRCZZSJlDjio5uqKVszddmPPku+ur8bR2ybmI4=', + total_amt_msat: '5000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2505', + total_amt_msat: '5002505' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'JRjSYo4nHUXAjxXDo0DJxPXPsiuLv/Yc0vXc9ACv2rc=' + } + ], + payment_index: '285', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'd910d0b325648a13faebcac2d8477608bf82fa72e91bd355b0c0341a77389781', + value: '150', + creation_date: '1585582637', + fee: '1', + payment_preimage: '5103ecee52f0774ceb14f2488e09eff9628368a7f737ecf2e7f8a94fd96a2b2a', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gyyr7pp5mygdpve9vj9p87htetpds3mkpzlc97njaydax4dscq6p5aecj7qsdq62fjkzep6ypgh2etnw35k7mnn8ucqzpgxqr23ssp5j8uxxewj4qs94kzxcg2kfcrjv947ffnh528dupydda32h0j32cgq9qy9qsq5my6g6kmcgxx0gwgt4r2ujnq58pl4jd4mtlryu2mrvvzrxmugfjs644nw3w6qzsvx92z8wc4wcq4cqf75seepz2zcvpu30t3s5jsd3qpq3q3xj', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1585582637000000000', + htlcs: [ + { + attempt_id: '27002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692239, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692199, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726343206794493953', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692199, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'kfhjZdKoIFrYRsIVZOByYWvkpneijt4EjW9iq75RVhA=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'UQPs7lLwd0zrFPJIjgnv+WKDaKf3N+zy5/ipT9lqKyo=' + } + ], + payment_index: '292', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '93ba9d66f7070615c95ba88f5524901fef0a9af2116e8ec62845d2f39a15b32f', + value: '150', + creation_date: '1585594605', + fee: '1', + payment_preimage: '1377436f694504a38ba408ce0c84e224f859ddb08b0ef4eb76bc1da42acba96c', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gysxnpp5jwaf6ehhqurptj2m4z842fysrlhs4xhjz9hga33gghf08xs4kvhsdqvg9jxgg8zn2sscqzpgxqr23ssp56pzx3l688zgef4gspchjwrumfjqvlvgg28gk0hedee3ysgk7kjms9qy9qsq90yrdtjd8leg38yzj9jjd0eheqdtdrhvmuy82cmy299t69nah2g5qq60gsgrd7nshhfmjmc259qqa828kskl9atsclygc04wt0hh5msp4c0475', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1585594605000000000', + htlcs: [ + { + attempt_id: '27005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692322, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692282, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726343206794493953', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692282, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: '0ERo/0c4kZTVEA4vJw+bTIDPsQhR0WffLc5iSCLetLc=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'E3dDb2lFBKOLpAjODITiJPhZ3bCLDvTrdrwdpCrLqWw=' + } + ], + payment_index: '297', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'f230281cd33ba0ab821e591f81c656b055c86c9388efbdfd2d51b634b78d5d2e', + value: '150', + creation_date: '1585594673', + fee: '1', + payment_preimage: 'd786768ab04a4142b1c2a07dbc5c3fac21d9c3d8a312abb5674263d53637c2d8', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gysfppp57gczs8xn8ws2hqs7ty0cr3jkkp2usmyn3rhmmlfd2xmrfdudt5hqdqvg9jxgg8zn2sscqzpgxqr23ssp5z3c7paaeklk3useu92tt4sgf5nwkzhwd240z0kt6tggn57yy43fs9qy9qsqwf0djsjmrlqen4h7kl8awhkslcvw8nzs2r67esl42gmwv0kwkc5kkyw2022sr36g63a77w630gt6w2c9qku978ulrc9u9jmp0wlkh0gq2hv3n4', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1585594673000000000', + htlcs: [ + { + attempt_id: '27006', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692322, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692282, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726343206794493953', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692282, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'FHHg97m37R5DPCqWusEJpN1hXc1VXifZeloROniErFM=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '14Z2irBKQUKxwqB9vFw/rCHZw9ijEqu1Z0Jj1TY3wtg=' + } + ], + payment_index: '299', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a61dea97076299b3857def9bbb1284d88656c5fd4dddd9b6e3053eb47d82de41', + value: '150', + creation_date: '1585595327', + fee: '1', + payment_preimage: '631f20efa87d03957eb74ccaa62e499255d3158bc1c4e95aad753f62618e69bf', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gysadpp55cw749c8v2vm8ptaa7dmky5ymzr9d30afhwandhrq5ltglvzmeqsdqvg9jxgg8zn2sscqzpgxqr23ssp5ntt4z0rheec7eel3754jsletmnnqgnn3deful03wnn9yrc5tx3dq9qy9qsqaaa9dash6mx6chs0uxa9j5ccggn0p7gx2ft5lawurlf9ldx3m2vz9l4h0wegmgxn70trupvmcn9nqye5c075x4eykap47rrma0pascspgqc2qu', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1585595327000000000', + htlcs: [ + { + attempt_id: '27007', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692328, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692288, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726343206794493953', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692288, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'mtdRPHfOcezn8fUrKH8r3OYETnFuU8++LpzKQeKLNFo=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'Yx8g76h9A5V+t0zKpi5JklXTFYvBxOlarXU/YmGOab8=' + } + ], + payment_index: '301', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b5dc51deff171d3f4ccdf75b9acadbeb6f8e6bcff89fdfce17bc5e76d8268c56', + value: '150', + creation_date: '1585595470', + fee: '1', + payment_preimage: 'c4271c7745c3c45e0d21c9d31ae19e81034bb5286f2516afe8812e5f53ca56fc', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gy3prpp5khw9rhhlzuwn7nxd7ade4jkmadhcu670lz0alnshh308dkpx33tqdqvg9jxgg8zn2sscqzpgxqr23ssp5nlmd5czc63gvyqfhg8gqyy8hrkspwgxmrtz5sl7pyxwzczk8mc2s9qy9qsqwctkwxerzl6jt7szztcxcwrpncl92p0x2drtjmxe3kfqpq5wwu2s9hlm09z8t54gq9ldtz227jpu06gk2llfv3rrj0z62qn8u2e4jngqsvxjy6', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1585595470000000000', + htlcs: [ + { + attempt_id: '27009', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692447, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692303, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726231056588210176', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692288, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1670351676644786176', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692288, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'n/baYFjUUMIBN0HQAhD3HaAXINsaxUh/wSGcLArH3hU=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '151000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'xCccd0XDxF4NIcnTGuGegQNLtShvJRav6IEuX1PKVvw=' + } + ], + payment_index: '303', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'd0db1a6b4a49f69464489e601b030104d50316884ab01ba4b08d9072e449fa07', + value: '150', + creation_date: '1585608501', + fee: '1', + payment_preimage: '940111e27143604cc41800e8dd88440411aac76f2be17f30dba1d1ddc8d21a96', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1500n1p0gyac0pp56rd35662f8mfgezgnespkqcpqn2sx95gf2cphf9s3kg89ezflgrsdqvg9jxgg8zn2sscqzpgxqr23ssp5rcy69gj8gflw8km2g033cs6y9gux7gpmj4yj2gk9u968kzsq5fqs9qy9qsqenenxw7kszvhfxf732wmnrfc79fps2rns3vctx8v2cpxsj7dppk4prxyapxny3ra80q78lfq9namd7c3vcj23tdeywwwseguczywrusp60rzqm', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1002', + creation_time_ns: '1585608501000000000', + htlcs: [ + { + attempt_id: '27010', + status: 'SUCCEEDED', + route: { + total_time_lock: 1692456, + total_fees: '1', + total_amt: '151', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '151', + fee: '0', + expiry: 1692450, + amt_to_forward_msat: '151000', + fee_msat: '2', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1802102856465645568', + chan_capacity: '151', + amt_to_forward: '150', + fee: '1', + expiry: 1692410, + amt_to_forward_msat: '150000', + fee_msat: '1000', + pub_key: '02fc58503f73c433180b43f7fa22ca9b9212271279f5c054b3fad5ff3dc7c7c045', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290404352', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692395, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1670351676644786176', + chan_capacity: '150', + amt_to_forward: '150', + fee: '0', + expiry: 1692395, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '027455aef8453d92f4706b560b61527cc217ddf14da41770e8ed6607190a1851b8', + tlv_payload: true, + mpp_record: { + payment_addr: 'HgmiokdCfuPbakPjHENEKjhvIDuVSSUixeF0ewoAokE=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '1002', + total_amt_msat: '151002' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'lAER4nFDYEzEGADo3YhEBBGqx28r4X8w26HR3cjSGpY=' + } + ], + payment_index: '304', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0ad14cae942e819901df1e8caf4c41fffe876bf05609d490601394e61883cca8', + value: '1000', + creation_date: '1586462422', + fee: '0', + payment_preimage: 'b209fd992fd776044ebf283684159fc17c5d44e82641d4a782666dd01ba61b1f', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p0g7l4dpp5ptg5et5596qejqwlr6x27nzplllgw6ls2cyafyrqzw2wvxyrej5qdqsfp256gzyg4f5xgp3xqy6tcqcqp2sp5h2fs2q3w7rzjcs30z62t85x35wz8spxpr5ed4f5cnsltyr5t5q3qrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqne6s5trzd475tzjcgwd26k76yhsr9mwsj50v309vn76m6cxfzsj80l3kjg5n0s5c8v6v58a9au2eawq2ea3yduqjyrf7zac40t6tw4cpjc065f', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1586462422000000000', + htlcs: [ + { + attempt_id: '28000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1696917, + total_fees: '0', + total_amt: '1000', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1696917, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'upMFAi7wxSxCLxaUs9DRo4R4BMEdMtqmmJw+sg6LoCI=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '1000000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'sgn9mS/XdgROvyg2hBWfwXxdROgmQdSngmZt0BumGx8=' + } + ], + payment_index: '306', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b69f4f59e962b66a60a836159edc6b3b1db65e69ac753d3232f3e999ba76e759', + value: '100', + creation_date: '1586533080', + fee: '0', + payment_preimage: '762c000f727b7be99e680a65360a46909f400cc2bb7f8bbf73cb12b24b5274f0', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1p0fpzpypp5k6057k0fv2mx5c9gxc2eahrt8vwmvhnf436n6v3j705enwnkuavsdq6gd5kuetdvys9g6trddjhgueqxyxqyjw5qcqp2sp5h2v6p70fprdu34xmlewp0f2jyhsfm0269d96xks3jwnwpqhavmwsrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqzv0q72wsdcj07fqcwt8d09v7mv3pqdrhfurdrlnp7k72t4jcvtm8mq9vgj2n6d40e8p5g3p7quufsk56r3me58px0ttaap3ws5ek48qpwqtfkw', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1586533080000000000', + htlcs: [ + { + attempt_id: '29000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1697040, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1697040, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'upmg+ekI28jU2/5cF6VSJeCdvVorS6NaEZOm4IL9Zt0=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'diwAD3J7e+meaAplNgpGkJ9ADMK7f4u/c8sSsktSdPA=' + } + ], + payment_index: '308', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a65d22b023b6b9338d9aa0a579f7315900c67d9dd9a3d6e62398eb3adc664a53', + value: '1000', + creation_date: '1588536999', + fee: '4', + payment_preimage: 'e395eb3d0eec3b7c81705d09bde34529613f6b6c26dd5e9eae9b3bba0b7405c7', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p027f4xpp55ewj9vprk6un8rv65zjhnae3tyqvvlvamx3ade3rnr4n4hrxfffsdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5553v6z93kfpax6gmr77s2rxsa7cjfruml42xqy527yjmtdf4jnuq9qy9qsqcurfz6400hkk8jnmv8dn8p28svp4rvp4ar7r4dum8xm8jxupr6gpshajj8hqdm8gya69el2hfe2zhrea9y89dnwxjy9msmxwuch0uucqm7uyq4', + status: 'SUCCEEDED', + fee_sat: '4', + fee_msat: '4114', + creation_time_ns: '1588536999000000000', + htlcs: [ + { + attempt_id: '30001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723233, + total_fees: '4', + total_amt: '1004', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '1004', + amt_to_forward: '1003', + fee: '1', + expiry: 1723193, + amt_to_forward_msat: '1003113', + fee_msat: '1001', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '1003', + amt_to_forward: '1002', + fee: '1', + expiry: 1723049, + amt_to_forward_msat: '1002112', + fee_msat: '1001', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '1002', + amt_to_forward: '1001', + fee: '1', + expiry: 1722905, + amt_to_forward_msat: '1001012', + fee_msat: '1100', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671610368', + chan_capacity: '1001', + amt_to_forward: '1000', + fee: '1', + expiry: 1722865, + amt_to_forward_msat: '1000011', + fee_msat: '1001', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '1000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722859, + amt_to_forward_msat: '1000000', + fee_msat: '11', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722859, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'pSLNCLGyQ9NpGx+9BQzQ77Ekj5v9VGASivEltbU1lPg=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '4114', + total_amt_msat: '1004114' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '45XrPQ7sO3yBcF0JveNFKWE/a2wm3V6erps7ugt0Bcc=' + } + ], + payment_index: '310', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c89b4f691419797fad41225548b5f1bcdbf84a9495cc5310ef8da1ddcb726493', + value: '1000', + creation_date: '1588538249', + fee: '3', + payment_preimage: 'dcfb3357a7e7d640cb19a3bc05d91fa8e38e400a279df232bbbc66f5a3f163ba', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p0272mapp5ezd576g5r9uhlt2pyf253d03hndlsj55jhx9xy803ksamjmjvjfsdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5v3g8dqfc3fk2zeu0ehp50szfzstek0fr54eg0pxdp8tpqtlcn2gq9qy9qsq84c38lzjh6r67hs0gpy0xd7jdap3n8m8us32l3rf40yty4jn4aapzr45eq6x8e5474gsvjk0z9ftddgj0jcc6z3nzvzq347hq40c80cqvffwxg', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3113', + creation_time_ns: '1588538249000000000', + htlcs: [ + { + attempt_id: '30002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723194, + total_fees: '3', + total_amt: '1003', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '1003', + amt_to_forward: '1002', + fee: '1', + expiry: 1723050, + amt_to_forward_msat: '1002112', + fee_msat: '1001', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '1002', + amt_to_forward: '1001', + fee: '1', + expiry: 1722906, + amt_to_forward_msat: '1001012', + fee_msat: '1100', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671610368', + chan_capacity: '1001', + amt_to_forward: '1000', + fee: '1', + expiry: 1722866, + amt_to_forward_msat: '1000011', + fee_msat: '1001', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '1000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722860, + amt_to_forward_msat: '1000000', + fee_msat: '11', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722860, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'ZFB2gTiKbKFnj83DR8BJFBebPSOlcoeEzQnWEC/4mpA=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3113', + total_amt_msat: '1003113' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '3PszV6fn1kDLGaO8BdkfqOOOQAonnfIyu7xm9aPxY7o=' + } + ], + payment_index: '311', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '7943f8b32d8fc8580ff1fea981fa393ad75bf2f3fcfe96ac6cf961b4b8af61ac', + value: '2000', + creation_date: '1588538576', + fee: '3', + payment_preimage: 'a9a846dbe1763d000d5ddf3ccc02f843d6b158d897e28a11278cb516161592b4', + value_sat: '2000', + value_msat: '2000000', + payment_request: 'lntb20u1p027tpdpp509pl3ved3ly9srl3l65cr73e8tt4huhnlnlfdtrvl9smfw90vxkqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp59fcnsfqka8tl053shgvjnmhhw0tm9urwhllfnjcqrnepjdv700gq9qy9qsqmn2z09za22azc9ps3ufdr6j6ftycn2usfuaz9ujaxpxac9njca8jclpszujw7w0zq0gyep0867lsk7ezfevckgs3vcf8kjns22c9f5sq6ydz63', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3225', + creation_time_ns: '1588538576000000000', + htlcs: [ + { + attempt_id: '30003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723194, + total_fees: '3', + total_amt: '2003', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '2003', + amt_to_forward: '2002', + fee: '1', + expiry: 1723050, + amt_to_forward_msat: '2002223', + fee_msat: '1002', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '2002', + amt_to_forward: '2001', + fee: '1', + expiry: 1722906, + amt_to_forward_msat: '2001023', + fee_msat: '1200', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671610368', + chan_capacity: '2001', + amt_to_forward: '2000', + fee: '1', + expiry: 1722866, + amt_to_forward_msat: '2000021', + fee_msat: '1002', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '2000', + amt_to_forward: '2000', + fee: '0', + expiry: 1722860, + amt_to_forward_msat: '2000000', + fee_msat: '21', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '2000', + fee: '0', + expiry: 1722860, + amt_to_forward_msat: '2000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'KnE4JBbp1/fSMLoZKe73c9ey8G6//pnLABzyGTWee9A=', + total_amt_msat: '2000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3225', + total_amt_msat: '2003225' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'qahG2+F2PQANXd88zAL4Q9axWNiX4ooRJ4y1FhYVkrQ=' + } + ], + payment_index: '312', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'f74930328550e8142b2d3dcca318e3008241a1935b667f6f9f60d9f585d37deb', + value: '3000', + creation_date: '1588538917', + fee: '3', + payment_preimage: '3f4e7c8a5e2129fec31b54d77185e62c1be45e229322ccbbf25d7715947bd102', + value_sat: '3000', + value_msat: '3000000', + payment_request: 'lntb30u1p027tsgpp57aynqv592r5pg2ed8hx2xx8rqzpyrgvntdn87mulvrvltpwn0h4sdpgf3hkxctv94fx2cnpd3skucm995enqvps94fkzarncqzpgxqrrsssp55pmvne6wf0y263u34eu3vs9ws8l33lwwkvjwqxuf2nv0k7eectgs9qy9qsq5faz49m2s4r22kzj25llygt3lymj5j97xn2j76v9vlnpev3h96fpwzpmh9d8x0czqnkvwpceszp5atvrs9et7gru6zr3ectm6q90tmqqs75nnp', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3337', + creation_time_ns: '1588538917000000000', + htlcs: [ + { + attempt_id: '30004', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723195, + total_fees: '3', + total_amt: '3003', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '3003', + amt_to_forward: '3002', + fee: '1', + expiry: 1723051, + amt_to_forward_msat: '3002334', + fee_msat: '1003', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '3002', + amt_to_forward: '3001', + fee: '1', + expiry: 1722907, + amt_to_forward_msat: '3001034', + fee_msat: '1300', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671610368', + chan_capacity: '3001', + amt_to_forward: '3000', + fee: '1', + expiry: 1722867, + amt_to_forward_msat: '3000031', + fee_msat: '1003', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '3000', + amt_to_forward: '3000', + fee: '0', + expiry: 1722861, + amt_to_forward_msat: '3000000', + fee_msat: '31', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '3000', + fee: '0', + expiry: 1722861, + amt_to_forward_msat: '3000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'oHbJ505LyK1Hka55FkCugf8Y/c6zJOAbiVTY+3s5wtE=', + total_amt_msat: '3000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3337', + total_amt_msat: '3003337' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'P058il4hKf7DG1TXcYXmLBvkXiKTIsy78l13FZR70QI=' + } + ], + payment_index: '313', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e536b0f69337782570cbc88b9bb2c8c47bf5e2315e6da857b8e21ed37e41a15c', + value: '1000', + creation_date: '1588539135', + fee: '2', + payment_preimage: '9b6b034489c9acad296e5401dfb0853295d4e52bdb1e4c14f98b9fcbbb3a5a08', + value_sat: '1000', + value_msat: '1000000', + payment_request: 'lntb10u1p027tk8pp5u5mtpa5nxauz2uxtez9ehvkgc3altc33tek6s4acug0dxljp59wqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5kpueuw2tdwyy88af9ecnm0p7puhdudh5jnx8267h40j34c66kwnq9qy9qsqjsecgtykqsw2nwgnaltel4m23w8al2stw6r8glg5hzpq2q6hphc4xd4ygxkqd2xz37mgy3aglsj5k6m2x0zdg6pc986p2t6c3hzux4cphn6l53', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2013', + creation_time_ns: '1588539135000000000', + htlcs: [ + { + attempt_id: '30005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723051, + total_fees: '2', + total_amt: '1002', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '1002', + amt_to_forward: '1001', + fee: '1', + expiry: 1722907, + amt_to_forward_msat: '1001012', + fee_msat: '1001', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '1001', + amt_to_forward: '1000', + fee: '1', + expiry: 1722867, + amt_to_forward_msat: '1000011', + fee_msat: '1001', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '1000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722861, + amt_to_forward_msat: '1000000', + fee_msat: '11', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1722861, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'sHmeOUtriEOfqS5xPbw+Dy7eNvSUzHVr16vlGuNas6Y=', + total_amt_msat: '1000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2013', + total_amt_msat: '1002013' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'm2sDRInJrK0pblQB37CFMpXU5SvbHkwU+Yufy7s6Wgg=' + } + ], + payment_index: '314', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '753309a351249fd5962d1bef9c2fa9d2e4a2d6326904df9f3b022bbe1c5a91cc', + value: '200', + creation_date: '1588540401', + fee: '2', + payment_preimage: 'ed2237c76db68bd54bde2c9b7916cebfcb48c7365b1cca2e533ddcca55932a33', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1p027vc2pp5w5esng63yj0at93dr0hectaf6tj2943jdyzdl8emqg4mu8z6j8xqdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5wh4urx73wwzudvg6tjsvcxxjc374t0j2qxctsk7hwtuzk79s00ys9qy9qsqzaufrvy9mk54qps74jewyakw0nxlg4gly2z4kkxxc6f0msehd4pn574dcr42e5ze8u7885nwunc3yfwf53sdvj0p92js38ant4xcrsgph07794', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2003', + creation_time_ns: '1588540401000000000', + htlcs: [ + { + attempt_id: '30013', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723053, + total_fees: '2', + total_amt: '202', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '202', + amt_to_forward: '201', + fee: '1', + expiry: 1722909, + amt_to_forward_msat: '201003', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '201', + amt_to_forward: '200', + fee: '1', + expiry: 1722869, + amt_to_forward_msat: '200003', + fee_msat: '1000', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '200', + amt_to_forward: '200', + fee: '0', + expiry: 1722863, + amt_to_forward_msat: '200000', + fee_msat: '3', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 1722863, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'devBm9FzhcaxGlygzBjSxH1VvkoBsLhb13L4K3iwe8k=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '2003', + total_amt_msat: '202003' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '7SI3x222i9VL3iybeRbOv8tIxzZbHMouUz3cylWTKjM=' + } + ], + payment_index: '319', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a453cd7bceaceb840b822f9f6986747edd752e1671844eebb06356b6fa6c66a2', + value: '233', + creation_date: '1588541048', + fee: '3', + payment_preimage: '0e3cffdaa6266877b4a7ce051f110c06f5d8bae77948141138800cc3dab9f7cf', + value_sat: '233', + value_msat: '233000', + payment_request: 'lntb2330n1p027dn2pp553fu677w4n4cgzuz970knpn50mwh2tskwxzya6asvdttd7nvv63qdp8f3hkxctv94fx2cnpd3skucm995erxved2dshguccqzpgxqrrsssp50vgxuufwmhkpqn3fyefych9nmleaksgg5cvptumxt8vnx7rm2dtq9qy9qsq5m66sgj96fx0pc495r60rcm8ykmd67gvqmtx09tcktfxjpxq8d5hex3nwxw8ptpvutyf6v82prj8nr4mptvz7h8yc4edea7qzkd0udqq2fagah', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3468', + creation_time_ns: '1588541048000000000', + htlcs: [ + { + attempt_id: '30023', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723054, + total_fees: '3', + total_amt: '236', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '235', + fee: '1', + expiry: 1723048, + amt_to_forward_msat: '235233', + fee_msat: '1235', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '235', + amt_to_forward: '234', + fee: '1', + expiry: 1722904, + amt_to_forward_msat: '234233', + fee_msat: '1000', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '234', + amt_to_forward: '233', + fee: '1', + expiry: 1722864, + amt_to_forward_msat: '233000', + fee_msat: '1233', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1890180334914830336', + chan_capacity: '233', + amt_to_forward: '233', + fee: '0', + expiry: 1722864, + amt_to_forward_msat: '233000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'exBucS7d7BBOKSZSTFyz3/PbQQimGBXzZlnZM3h7U1Y=', + total_amt_msat: '233000' + }, + custom_records: {} + } + ], + total_fees_msat: '3468', + total_amt_msat: '236468' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'Djz/2qYmaHe0p84FHxEMBvXYuud5SBQROIAMw9q5988=' + } + ], + payment_index: '322', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '1285b9bcacb82054de4b48b4f1aa07d5a9bdaa2975d9919b02c0255f89644acf', + value: '900', + creation_date: '1588541490', + fee: '2', + payment_preimage: '7d4ac0288ca2040abf7569aa3b894051203db62a7253f3a7aaf197438e8d2e2c', + value_sat: '900', + value_msat: '900000', + payment_request: 'lntb9u1p027wpwpp5z2zmn09vhqs9fhjtfz60r2s86k5mm23fwhverxczcqj4lztyft8sdp8f3hkxctv94fx2cnpd3skucm995unqvpd2dshguccqzpgxqrrsssp5efpvcmvy9tsqn3jz0jjwrkcvmnz48hv4sk7eh5ugklyta4x0lz9s9qy9qsqhsywnhdj23th2xdhn3awnlm2qkswxqfempwuze9f770p7ay9yjd8m9y7m0tpy0kju4k3j68q93as5690qvv99d6c6mz2njephj0edfcquk46tt', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2910', + creation_time_ns: '1588541490000000000', + htlcs: [ + { + attempt_id: '30025', + status: 'SUCCEEDED', + route: { + total_time_lock: 1722965, + total_fees: '2', + total_amt: '902', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '902', + fee: '0', + expiry: 1722959, + amt_to_forward_msat: '902900', + fee_msat: '10', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1890174837356298240', + chan_capacity: '902', + amt_to_forward: '901', + fee: '1', + expiry: 1722919, + amt_to_forward_msat: '901900', + fee_msat: '1000', + pub_key: '037f5d1cf742a181ef407431f1be39c3fd9d8155396044d54fbc82340799b21aea', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1719774724309516288', + chan_capacity: '10000000', + amt_to_forward: '901', + fee: '0', + expiry: 1722904, + amt_to_forward_msat: '901900', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726037542539427841', + chan_capacity: '901', + amt_to_forward: '900', + fee: '1', + expiry: 1722864, + amt_to_forward_msat: '900000', + fee_msat: '1900', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1890180334914830336', + chan_capacity: '900', + amt_to_forward: '900', + fee: '0', + expiry: 1722864, + amt_to_forward_msat: '900000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'ykLMbYQq4AnGQnyk4dsM3MVT3ZWFvZvTiLfIvtTP+Is=', + total_amt_msat: '900000' + }, + custom_records: {} + } + ], + total_fees_msat: '2910', + total_amt_msat: '902910' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'fUrAKIyiBAq/dWmqO4lAUSA9tipyU/OnqvGXQ46NLiw=' + } + ], + payment_index: '323', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '44cf9287b60fd4f7dd82d6ddcebc42576ea634dae28c3fd5bd538d0859dbabb3', + value: '800', + creation_date: '1588541708', + fee: '4', + payment_preimage: 'c7c33a7b3628bcc692fda0774ce168df6ae9cdafa156f43f4b55d7216264296d', + value_sat: '800', + value_msat: '800000', + payment_request: 'lntb8u1p027wgvpp5gn8e9pakpl200hvz6mwua0zz2ah2vdx6u2xrl4da2wxsskwm4wesdp8f3hkxctv94fx2cnpd3skucm995urqvpd2dshguccqzpgxqrrsssp5v7qk66x3ef8svcsx5rfadg8hlypqwmprzatlcldveuzpf05v5e9s9qy9qsqxjl74aeyn2jnj03fyd9fez9mz43zpxgtwcp8qvr6zmsu2c860v5swnvpqrjasn5fmdg5kcnyncyrg0887t52ss9x6nf3a39fvgx3ndgpc5vgpw', + status: 'SUCCEEDED', + fee_sat: '4', + fee_msat: '4602', + creation_time_ns: '1588541708000000000', + htlcs: [ + { + attempt_id: '30033', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723055, + total_fees: '4', + total_amt: '804', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '802', + fee: '1', + expiry: 1723049, + amt_to_forward_msat: '802800', + fee_msat: '1802', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '802', + amt_to_forward: '801', + fee: '1', + expiry: 1722905, + amt_to_forward_msat: '801800', + fee_msat: '1000', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '801', + amt_to_forward: '800', + fee: '1', + expiry: 1722865, + amt_to_forward_msat: '800000', + fee_msat: '1800', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1890180334914830336', + chan_capacity: '800', + amt_to_forward: '800', + fee: '0', + expiry: 1722865, + amt_to_forward_msat: '800000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'Z4FtaNHKTwZiBqDT1qD3+QIHbCMXV/x9rM8EFL6Mpks=', + total_amt_msat: '800000' + }, + custom_records: {} + } + ], + total_fees_msat: '4602', + total_amt_msat: '804602' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'x8M6ezYovMaS/aB3TOFo32rpza+hVvQ/S1XXIWJkKW0=' + } + ], + payment_index: '325', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '8b3723f2273b233b297741c78af660af86ba80ef904806b363c3b68786b9e89b', + value: '700', + creation_date: '1588541875', + fee: '2', + payment_preimage: '1da630ae22f8f0dd05039f89bf66f683195d4c1cee563540947491f08f150204', + value_sat: '700', + value_msat: '700000', + payment_request: 'lntb7u1p027wdnpp53vmj8u388v3nk2thg8rc4anq47rt4q80jpyqdvmrcwmg0p4eazdsdp8f3hkxctv94fx2cnpd3skucm995mnqvpd2dshguccqzpgxqrrsssp56a6yswnusqt0jwk4nxq0c2km45lly4fawpcta22yslgclg75nztq9qy9qsq7xeyqpak06nmjgu08gze906u54ef49mx8y3z7kahjex4eq2gcf6qzywp2frn9w67q249rptf0lyzd3mnfqs7enjhayajvu0jpfsntwgp3yf80k', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2008', + creation_time_ns: '1588541875000000000', + htlcs: [ + { + attempt_id: '30034', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723055, + total_fees: '2', + total_amt: '702', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '702', + amt_to_forward: '701', + fee: '1', + expiry: 1722911, + amt_to_forward_msat: '701008', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '701', + amt_to_forward: '700', + fee: '1', + expiry: 1722871, + amt_to_forward_msat: '700008', + fee_msat: '1000', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '700', + amt_to_forward: '700', + fee: '0', + expiry: 1722865, + amt_to_forward_msat: '700000', + fee_msat: '8', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '700', + fee: '0', + expiry: 1722865, + amt_to_forward_msat: '700000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '13RIOnyAFvk61ZmA/CrbrT/yVT1wcL6pRIfRj6PUmJY=', + total_amt_msat: '700000' + }, + custom_records: {} + } + ], + total_fees_msat: '2008', + total_amt_msat: '702008' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'HaYwriL48N0FA5+Jv2b2gxldTBzuVjVAlHSR8I8VAgQ=' + } + ], + payment_index: '326', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '627206520b3d32ce6a87474946917192e53b946dfd587d38bae869b6f306ff51', + value: '800', + creation_date: '1588559575', + fee: '2', + payment_preimage: 'bf8c7baa13e5141992d08da2e57d825a88dd64af6873517fab7bab61ca2a727b', + value_sat: '800', + value_msat: '800000', + payment_request: 'lntb8u1p027lkwpp5vfeqv5st85evu658gay5dyt3jtjnh9rdl4v86w96ap5mducxlagsdp8f3hkxctv94fx2cnpd3skucm995urqvpd2dshguccqzpgxqrrsssp5k5wmd99g22zeh823g06nl87hwcal65ekafyq2ecxjh8usnq4l57s9qy9qsqq2sp30yxe99jsgzvu4mm70d6655dnt4px7s2dc8wwqlps3c9yw9zlh0a3u83nqsya94y6nxeyagyp9pump9psf7wllz77r8h9vre8tgq40jje7', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2009', + creation_time_ns: '1588559575000000000', + htlcs: [ + { + attempt_id: '30038', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723078, + total_fees: '2', + total_amt: '802', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '802', + amt_to_forward: '801', + fee: '1', + expiry: 1722934, + amt_to_forward_msat: '801009', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1416578895407415296', + chan_capacity: '801', + amt_to_forward: '800', + fee: '1', + expiry: 1722894, + amt_to_forward_msat: '800009', + fee_msat: '1000', + pub_key: '02ae2f22b02375e3e9b4b4a2db4f12e1b50752b4062dbefd6e01332acdaf680379', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801946725815615489', + chan_capacity: '800', + amt_to_forward: '800', + fee: '0', + expiry: 1722888, + amt_to_forward_msat: '800000', + fee_msat: '9', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '800', + fee: '0', + expiry: 1722888, + amt_to_forward_msat: '800000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'tR22lKhShZudUUP1P5/Xdjv9UzbqSAVnBpXPyEwV/T0=', + total_amt_msat: '800000' + }, + custom_records: {} + } + ], + total_fees_msat: '2009', + total_amt_msat: '802009' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'v4x7qhPlFBmS0I2i5X2CWojdZK9oc1F/q3urYcoqcns=' + } + ], + payment_index: '329', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '90f32706e6c59973b452e208ef4a1b27906c942e7f092626718ddeea88df330b', + value: '1100', + creation_date: '1588559860', + fee: '2', + payment_preimage: 'aff73ac8f96513b7db7f3b306047132a74b8470f66bf1395c535a03c74dcb5fa', + value_sat: '1100', + value_msat: '1100000', + payment_request: 'lntb11u1p027llnpp5jrejwphxckvh8dzjugyw7jsmy7gxe9pw0uyjvfn33h0w4zxlxv9sdpgf3hkxctv94fx2cnpd3skucm995cnzvps94fkzarncqzpgxqrrsssp5jvsdw7hzkg8r4t0kjlfhd86khy8t5edfc9x9aqrtfy5wgf7wy58s9qy9qsqwlw683rcf4ahwrdgseqm93xew79s9gt6e337r77ly5hz0axhav393u2nswnazwmrnrz0yqqpdt9u2jx8uzpnxc5rmzzfkrhna2jxqjgqqg8tda', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2345', + creation_time_ns: '1588559860000000000', + htlcs: [ + { + attempt_id: '30040', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723228, + total_fees: '2', + total_amt: '1102', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '1102', + amt_to_forward: '1101', + fee: '1', + expiry: 1723084, + amt_to_forward_msat: '1101344', + fee_msat: '1001', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1634894625671675905', + chan_capacity: '1101', + amt_to_forward: '1100', + fee: '1', + expiry: 1722940, + amt_to_forward_msat: '1100234', + fee_msat: '1110', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1799090194613338112', + chan_capacity: '1100', + amt_to_forward: '1100', + fee: '0', + expiry: 1722900, + amt_to_forward_msat: '1100024', + fee_msat: '210', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1770136754906202112', + chan_capacity: '1100', + amt_to_forward: '1100', + fee: '0', + expiry: 1722894, + amt_to_forward_msat: '1100012', + fee_msat: '12', + pub_key: '0251bb3a964f062d21e9f76ee0bb75c969e311c543b2adee57053c383e3083eb02', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1833033218076246017', + chan_capacity: '1100', + amt_to_forward: '1100', + fee: '0', + expiry: 1722888, + amt_to_forward_msat: '1100000', + fee_msat: '12', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1100', + fee: '0', + expiry: 1722888, + amt_to_forward_msat: '1100000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'kyDXeuKyDjqt9pfTdp9WuQ66ZanBTF6Aa0ko5CfOJQ8=', + total_amt_msat: '1100000' + }, + custom_records: {} + } + ], + total_fees_msat: '2345', + total_amt_msat: '1102345' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'r/c6yPllE7fbfzswYEcTKnS4Rw9mvxOVxTWgPHTctfo=' + } + ], + payment_index: '330', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b95582f396904849037451c3a05435250818c8075682bcc55873dc64ebe0fa2e', + value: '500', + creation_date: '1588560130', + fee: '2', + payment_preimage: 'fed1cc15256294b5f74cd56fb64e71d3b508a1f76015de609bbfb873f12ba123', + value_sat: '500', + value_msat: '500000', + payment_request: 'lntb5u1p02lq8mpp5h92c9uukjpyyjqm528p6q4p4y5yp3jq826pte32cw0wxf6lqlghqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5kt4u986284kc79x34mlaqyyuqawkg6ag7qte6nnk6a6u0d6c5chq9qy9qsqdu8n8gzetnucky6uuxdacacwjy9wgw6pj8m8fntd9ncww30mgswp76duz6ul06y9rvenedsxwymuv6kjt9pstl43fjt48f9zqfl6fyqqephcm3', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2006', + creation_time_ns: '1588560130000000000', + htlcs: [ + { + attempt_id: '30048', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723080, + total_fees: '2', + total_amt: '502', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '502', + amt_to_forward: '501', + fee: '1', + expiry: 1722936, + amt_to_forward_msat: '501006', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726290430217027584', + chan_capacity: '501', + amt_to_forward: '500', + fee: '1', + expiry: 1722896, + amt_to_forward_msat: '500006', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837298177', + chan_capacity: '500', + amt_to_forward: '500', + fee: '0', + expiry: 1722890, + amt_to_forward_msat: '500000', + fee_msat: '6', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '500', + fee: '0', + expiry: 1722890, + amt_to_forward_msat: '500000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'suvCn0o9bY8U0a7/0BCcB11ka6jwF51Odtd1x7dYpi4=', + total_amt_msat: '500000' + }, + custom_records: {} + } + ], + total_fees_msat: '2006', + total_amt_msat: '502006' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '/tHMFSVilLX3TNVvtk5x07UIofdgFd5gm7+4c/EroSM=' + } + ], + payment_index: '332', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '64e60e5664521563d0755da906c589e1116d3b8f2f4daa10bd924b229bb8e4bd', + value: '650', + creation_date: '1588561245', + fee: '3', + payment_preimage: '5acb1047f00694519510bf2c1a06cb7f2e8bf22c2964dd54399666d4d10b4313', + value_sat: '650', + value_msat: '650000', + payment_request: 'lntb6500n1p02lp2kpp5vnnqu4ny2g2k85r4tk5sd3vfuygk6wu09ax65y9ajf9j9xacuj7sdp8f3hkxctv94fx2cnpd3skucm995mr2vpd2dshguccqzpgxqrrsssp5hrly84yk660h0aqwdrgvtngnkpp34m8crrey65fkzrrl00l7t7ds9qy9qsqm3d34p0tuw392a2ahzf2r9fa9g4pvvq0mmnph5jjp0nl4qrqf4csslcr083spjkr8f0crgwpsypl7dxzhm2a9gl0htvl080tfm5s0rcpt25xvv', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3244', + creation_time_ns: '1588561245000000000', + htlcs: [ + { + attempt_id: '30063', + status: 'SUCCEEDED', + route: { + total_time_lock: 1723271, + total_fees: '3', + total_amt: '653', + hops: [ + { + chan_id: '1795545369112543232', + chan_capacity: '653', + amt_to_forward: '652', + fee: '1', + expiry: 1723127, + amt_to_forward_msat: '652244', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726290430217027584', + chan_capacity: '652', + amt_to_forward: '651', + fee: '1', + expiry: 1723087, + amt_to_forward_msat: '651244', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1771755236024385536', + chan_capacity: '651', + amt_to_forward: '650', + fee: '1', + expiry: 1722943, + amt_to_forward_msat: '650179', + fee_msat: '1065', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1799090194613338112', + chan_capacity: '650', + amt_to_forward: '650', + fee: '0', + expiry: 1722903, + amt_to_forward_msat: '650014', + fee_msat: '165', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1770136754906202112', + chan_capacity: '650', + amt_to_forward: '650', + fee: '0', + expiry: 1722897, + amt_to_forward_msat: '650007', + fee_msat: '7', + pub_key: '0251bb3a964f062d21e9f76ee0bb75c969e311c543b2adee57053c383e3083eb02', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1833033218076246017', + chan_capacity: '650', + amt_to_forward: '650', + fee: '0', + expiry: 1722891, + amt_to_forward_msat: '650000', + fee_msat: '7', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '650', + fee: '0', + expiry: 1722891, + amt_to_forward_msat: '650000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'uP5D1JbWn3f0DmjQxc0TsEMa7PgY8k1RNhDH97/+X5s=', + total_amt_msat: '650000' + }, + custom_records: {} + } + ], + total_fees_msat: '3244', + total_amt_msat: '653244' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'WssQR/AGlFGVEL8sGgbLfy6L8iwpZN1UOZZm1NELQxM=' + } + ], + payment_index: '337', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c8a1738947f47abe98835012297f0f8deb2da24910cfa9601d879aabc058138f', + value: '200', + creation_date: '1593910676', + fee: '1', + payment_preimage: 'c4e1b4fc48894ed83c03a24e5fcf98d16cb60efb4c5bed598a57975812e1f595', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1p0sz8fjpp5ezsh8z2873ataxyr2qfzjlc03h4jmgjfzr86jcqas7d2hszczw8sdp823jhxarfdenjqcmjv4shgefqd9h8vmmfvdjjqvsxqrrss9qy9qsqsp5k6vavdg40ryhsngztrhh8v6h6pca97j2u8zhd3sgdcmrgw6pdfjszusk47ar805cna6j80gd7fucp3s30d2f8f4hs80cy8upcv9jtac9stjh378gu0xmsmu9pu9k4ljjkxqt6eywk03q4s6ew72vxmw7zvgqnuhrde', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1593910676000000000', + htlcs: [ + { + attempt_id: '31000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1775424, + total_fees: '1', + total_amt: '201', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '201', + amt_to_forward: '200', + fee: '1', + expiry: 1775384, + amt_to_forward_msat: '200000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1949391235094020096', + chan_capacity: '130000', + amt_to_forward: '200', + fee: '0', + expiry: 1775384, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: { + payment_addr: 'tpnWNRV4yXhNAljvc7NX0HHS+krhxXbGCG42NDtBamU=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '201000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'xOG0/EiJTtg8A6JOX8+Y0Wy2DvtMW+1ZileXWBLh9ZU=' + } + ], + payment_index: '339', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '03c322553a5d27eb77ee31bdf1ae51cce217978abc9e777e5b007eb6b6c43d2f', + value: '500', + creation_date: '1593913014', + fee: '1', + payment_preimage: '689a8ff92971c37e1445684a797eb72b3a80dbb600257c367992f128c9b9dd42', + value_sat: '500', + value_msat: '500000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1593913014000000000', + htlcs: [ + { + attempt_id: '31001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1775430, + total_fees: '1', + total_amt: '501', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '501', + amt_to_forward: '500', + fee: '1', + expiry: 1775390, + amt_to_forward_msat: '500000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1949391235094020096', + chan_capacity: '130000', + amt_to_forward: '500', + fee: '0', + expiry: 1775390, + amt_to_forward_msat: '500000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '501000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'aJqP+Slxw34URWhKeX63KzqA27YAJXw2eZLxKMm53UI=' + } + ], + payment_index: '340', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a851041d8e2085c3800475c56fdab6e1f0cfebf19af9480eaaac6af19e9f4253', + value: '600', + creation_date: '1593914904', + fee: '2', + payment_preimage: '9f742a459e2a0d01e7a28754e1d6e7df9c8a2c4c9c27f31e57e3b90bd0d3d844', + value_sat: '600', + value_msat: '600000', + payment_request: 'lntb6u1p0szdd4pp54pgsg8vwyzzu8qqywhzklk4ku8cvl6l3ntu5sr424340r85lgffsdp823jhxarfdenjqcmjv4shgefqd9h8vmmfvdjjqdsxqr4rq9qy9qsqsp5f8zghfe6gwlrk7etzrvjt24tfngjrup9cwhxrxlj5tta8g6vkf0qxhlxc5mdyh026qyq0a69294eqzlvpudfwhrh36gjcf8cpzdp83j37u9r96hlhcnnltdgcve5y8hz3s3utpngar2xcxkzgxuzenll7vcpharwgx', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2000', + creation_time_ns: '1593914904000000000', + htlcs: [ + { + attempt_id: '31003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1775472, + total_fees: '2', + total_amt: '602', + hops: [ + { + chan_id: '1890180334914830336', + chan_capacity: '602', + amt_to_forward: '601', + fee: '1', + expiry: 1775432, + amt_to_forward_msat: '601000', + fee_msat: '1000', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1742029939171786752', + chan_capacity: '601', + amt_to_forward: '600', + fee: '1', + expiry: 1775392, + amt_to_forward_msat: '600000', + fee_msat: '1000', + pub_key: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1949689202744885249', + chan_capacity: '600', + amt_to_forward: '600', + fee: '0', + expiry: 1775392, + amt_to_forward_msat: '600000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: { + payment_addr: 'ScSLpzpDvjt7KxDZJaqrTNEh8CXDrmGb8qLX06NMsl4=', + total_amt_msat: '600000' + }, + custom_records: {} + } + ], + total_fees_msat: '2000', + total_amt_msat: '602000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'n3QqRZ4qDQHnoodU4dbn35yKLEycJ/MeV+O5C9DT2EQ=' + } + ], + payment_index: '341', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '2fb9d0990966f6203cb5b9f0da9fc63e3de95ef7339de3ca7ed99447ede03876', + value: '90', + creation_date: '1593966654', + fee: '1', + payment_preimage: 'da4d275470dd9f67882619f686562000b5f0791f0c8c793b286a1b985c57c186', + value_sat: '90', + value_msat: '90000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1000', + creation_time_ns: '1593966654000000000', + htlcs: [ + { + attempt_id: '32006', + status: 'SUCCEEDED', + route: { + total_time_lock: 1775545, + total_fees: '1', + total_amt: '91', + hops: [ + { + chan_id: '1801931332652957696', + chan_capacity: '91', + amt_to_forward: '90', + fee: '1', + expiry: 1775505, + amt_to_forward_msat: '90000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1949391235094020096', + chan_capacity: '130000', + amt_to_forward: '90', + fee: '0', + expiry: 1775505, + amt_to_forward_msat: '90000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '91000' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: '2k0nVHDdn2eIJhn2hlYgALXweR8MjHk7KGobmFxXwYY=' + } + ], + payment_index: '343', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '2efe7ace0aefb8ed51d55dd50a5864ebc0e52961dad25525201654d6a38543ba', + value: '10000', + creation_date: '1595433013', + fee: '2', + payment_preimage: '21ff58802952888eef73e740dd564237e98a88b6f00da9d73a7f431505bf727f', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p03scp4pp59ml84ns2a7uw65w4th2s5krya0qw22tpmtf92ffqze2ddgu9gwaqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp56t4xpmkl42v8jqmv0u7vstl27dyxwxk7dhsq4mpyzdeg5gmmdx9q9qy9qsqvp06k2ud24ddwyrwmzsyv6nrp265hr68k3arh64lm2376cf090hxmef95np97n4n9vd4h5s4unazwpru58ev7ny258mv92cp0dukausp4lc9fm', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2202', + creation_time_ns: '1595433013000000000', + htlcs: [ + { + attempt_id: '33000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1781579, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '1893908778847502336', + chan_capacity: '10002', + amt_to_forward: '10000', + fee: '2', + expiry: 1781435, + amt_to_forward_msat: '10000202', + fee_msat: '2000', + pub_key: '03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1920653299683098624', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1781429, + amt_to_forward_msat: '10000101', + fee_msat: '101', + pub_key: '020b3c378eeb313694f202da53ef38e63864d463c553755785b67dad2563fee719', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1920668692849491968', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1781423, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1781423, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '0upg7t+qmHkDbH88yC/q80hnGt5t4ArsJBNyiiN7aYo=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2202', + total_amt_msat: '10002202' + }, + attempt_time_ns: '0', + resolve_time_ns: '0', + failure: null, + preimage: 'If9YgClSiI7vc+dA3VZCN+mKiLbwDanXOn9DFQW/cn8=' + } + ], + payment_index: '344', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0b4aeff74a5f60071fd9d33b0fd3c960e25ee9dc3db8b24326c3d19d2301c079', + value: '123', + creation_date: '1597172942', + fee: '2', + payment_preimage: '629c25cf2b449d166edc14c802d778f46b034d390bcc7bf3d1a1626c2b42ad01', + value_sat: '123', + value_msat: '123000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2123', + creation_time_ns: '1597172942642819200', + htlcs: [ + { + attempt_id: '36000', + status: 'FAILED', + route: { + total_time_lock: 1806886, + total_fees: '1', + total_amt: '124', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '123', + fee: '1', + expiry: 1806846, + amt_to_forward_msat: '123000', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1952540236397019137', + chan_capacity: '123', + amt_to_forward: '123', + fee: '0', + expiry: 1806846, + amt_to_forward_msat: '123000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '1000', + total_amt_msat: '124000' + }, + attempt_time_ns: '1597172942696677700', + resolve_time_ns: '1597172949044015500', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'eErqMXtvu1G9l1NLaW9+dUOl0JVQwzTa2+UINj3yGJUicX1ebF1CRH5yjQgxV5vzsAiTnRyD4wJtr2ioB+z+bg==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '1952540236397019137', + timestamp: 1597172238, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '20000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '36001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1806926, + total_fees: '2', + total_amt: '125', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '124', + fee: '1', + expiry: 1806886, + amt_to_forward_msat: '124123', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '124', + amt_to_forward: '123', + fee: '1', + expiry: 1806846, + amt_to_forward_msat: '123000', + fee_msat: '1123', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1952540236396953600', + chan_capacity: '123', + amt_to_forward: '123', + fee: '0', + expiry: 1806846, + amt_to_forward_msat: '123000', + fee_msat: '0', + pub_key: '03270ba642946723be6b8e16f4ee3302b862a477c0e41c857f840a5b58d349817b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '2123', + total_amt_msat: '125123' + }, + attempt_time_ns: '1597172949088892600', + resolve_time_ns: '1597172952603702000', + failure: null, + preimage: 'YpwlzytEnRZu3BTIAtd49GsDTTkLzHvz0aFibCtCrQE=' + } + ], + payment_index: '390', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '66ff085aa4f5fc3107877f2078c5306da24d3a26528c05de6e574592e6c3c2ff', + value: '100', + creation_date: '1600984726', + fee: '0', + payment_preimage: 'f7a30bf401c92f320e104310712ead2af215c6d16b036932ece021f9413a0160', + value_sat: '100', + value_msat: '100000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1600984726280025300', + htlcs: [ + { + attempt_id: '38000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1835914, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1835914, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1600984726306953000', + resolve_time_ns: '1600984726696147400', + failure: null, + preimage: '96ML9AHJLzIOEEMQcS6tKvIVxtFrA2ky7OAh+UE6AWA=' + } + ], + payment_index: '397', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '3491ac5258814641c6e03f5435cee92b71fec5f263bd4939fdc673515ff46681', + value: '20000', + creation_date: '1600984847', + fee: '0', + payment_preimage: '62c784c43f9504060fa9523a60e787df5f5611da0e8543f9ed9e07ddfe344af0', + value_sat: '20000', + value_msat: '20000000', + payment_request: 'lntb200u1p0k6psepp5xjg6c5jcs9ryr3hq8a2rtnhf9dcla30jvw75jw0acee4zhl5v6qsdqlge5kcar9wgsyx6rpdehx2mpq23jhxaqxqr23scqp2sp5nnqxw60y8t0sehm5vy0q4whepf26xudz0zre77jw47tk40q4g0nqrzjqvdrg7x5sxuju0pgsypzsffgnrzlpkp0cng875sscne56j4626mkjxle85qqqrqqgqqqqqqpqqqqqzsqqc9qy9qsqt8zwq0ny9c0rrhu7wxqxfh968pckdcfr87rvrmvcwugnyzxtrm89kesqr4jz4a9ye62y4ynnawtwg0e7luklpuqm94as9qrkey99pecqah5n52', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1600984847662081800', + htlcs: [ + { + attempt_id: '38001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1835914, + total_fees: '0', + total_amt: '20000', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '20000', + fee: '0', + expiry: 1835914, + amt_to_forward_msat: '20000000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'nMBnaeQ63wzfdGEeCrr5ClWjcaJ4h596Tq+XarwVQ+Y=', + total_amt_msat: '20000000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '20000000' + }, + attempt_time_ns: '1600984847679036100', + resolve_time_ns: '1600984847973900800', + failure: null, + preimage: 'YseExD+VBAYPqVI6YOeH319WEdoOhUP57Z4H3f40SvA=' + } + ], + payment_index: '398', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e086994ddc9354e77ec72cd5b7261f9fcc4ef615d78d52bf9a4f9c84521dbc6e', + value: '1', + creation_date: '1601049126', + fee: '3', + payment_preimage: '2a77aa44992c529cb703eca333521680a172437def3b60b3235a932449ceca8b', + value_sat: '1', + value_msat: '1000', + payment_request: 'lntb10n1p0kuy38pp5uzrfjnwujd2wwlk89n2mwfslnlxyaas467x490u6f7wgg5sah3hqdq8f3f5z4qcqzpgsp5g9k0v8v3lz07r8nedv6xj739xvtvcn2r6nu5flpzf4krs90shqas9qy9qsq95aar0lqpap6fd7l07xfv0xw9342mjs59y9cvhfj7avx5y6ahfy4t50w2he672w7mhk2y297ms60t8weety4674ddnyaenqvfsureyqpunxtyz', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3002', + creation_time_ns: '1601049126977058700', + htlcs: [ + { + attempt_id: '39000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1836254, + total_fees: '3', + total_amt: '4', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '3', + fee: '1', + expiry: 1836214, + amt_to_forward_msat: '3002', + fee_msat: '1000', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '3', + amt_to_forward: '2', + fee: '1', + expiry: 1836070, + amt_to_forward_msat: '2000', + fee_msat: '1002', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986092933229772800', + chan_capacity: '2', + amt_to_forward: '1', + fee: '1', + expiry: 1836030, + amt_to_forward_msat: '1000', + fee_msat: '1000', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1', + amt_to_forward: '1', + fee: '0', + expiry: 1836030, + amt_to_forward_msat: '1000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: { + payment_addr: 'QWz2HZH4n+GeeWs0aXolMxbMTUPU+UT8Ik1sOBXwuDs=', + total_amt_msat: '1000' + }, + custom_records: {} + } + ], + total_fees_msat: '3002', + total_amt_msat: '4002' + }, + attempt_time_ns: '1601049127024996100', + resolve_time_ns: '1601049132368909700', + failure: null, + preimage: 'KneqRJksUpy3A+yjM1IWgKFyQ33vO2CzI1qTJEnOyos=' + } + ], + payment_index: '399', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '593c491038da1ee21ccd9c38a377fdec0155d755f55e91e517a7997c1bd8e96c', + value: '10000', + creation_date: '1601500556', + fee: '2', + payment_preimage: '71405bbe7f27969d74ceccb109cad54a6eaa2240bc347cb568db1cfcee802cad', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0hfavtpp5ty7yjypcmg0wy8xdnsu2xalaasq4t464740fregh57vhcx7ca9kqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5s5qhsty4haqey8hzrkm8x7lf0uhwws2yxtxl2yf0deawuyedgqdq9qy9qsqz0vvdp4at5ukx50yxlc2ugstlypng7mgdhe8lvw68t7gwxzpgcc4jwn6a9xydzxp2sfaj6elfa7h8mgf30nn84ey2mnhf526ez07tlgq46vme8', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1601500556067532300', + htlcs: [ + { + attempt_id: '40003', + status: 'FAILED', + route: { + total_time_lock: 1837174, + total_fees: '3', + total_amt: '10003', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '10002', + fee: '1', + expiry: 1837134, + amt_to_forward_msat: '10002121', + fee_msat: '1010', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1666330762632626176', + chan_capacity: '10002', + amt_to_forward: '10001', + fee: '1', + expiry: 1836990, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '0269a94e8b32c005e4336bfb743c08a6e9beb13d940d57c479d95c8e687ccbdb9f', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726037542539427841', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1836950, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1987101185411842048', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'hQF4LJW/QZIe4h22c3vpfy7nQUQyzfURL2567hMtQBo=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3131', + total_amt_msat: '10003131' + }, + attempt_time_ns: '1601500556174238900', + resolve_time_ns: '1601500562748741000', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'peGPgvMbU6qACEVGCi+fd0GBNeo102fgTaipt6e0YZJIuv0DKV5TypqlQHZn0DdcRqmuhqk4wgGkS6mlfXgu8A==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '1987101185411842048', + timestamp: 1601465938, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '150000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '40004', + status: 'FAILED', + route: { + total_time_lock: 1836996, + total_fees: '1', + total_amt: '10001', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '10000', + fee: '1', + expiry: 1836956, + amt_to_forward_msat: '10000202', + fee_msat: '1010', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088432', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836950, + amt_to_forward_msat: '10000101', + fee_msat: '101', + pub_key: '031a3478d481b92e3c28810228252898c5f0d82fc4d07f5210c4f34d4aba56b769', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088448', + chan_capacity: '10000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'hQF4LJW/QZIe4h22c3vpfy7nQUQyzfURL2567hMtQBo=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '1212', + total_amt_msat: '10001212' + }, + attempt_time_ns: '1601500562812572800', + resolve_time_ns: '1601500564304759300', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'IA+vSQw+qryknSfUWyb63Ie72CzFR6DUIxwiT0CEcqho9/dBELJoIsKyl7yxJNTxwXfSonmPskIBt8B5plshHg==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2015709378435088432', + timestamp: 1601443957, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '10000000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '40005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1837030, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '1958667814700974080', + chan_capacity: '20000', + amt_to_forward: '10001', + fee: '1', + expiry: 1836990, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '030f0bf260acdbd3edcad84d7588ec7c5df4711e87e6a23016f989b8d3a4147230', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2013004579831480321', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1836950, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '03b25c204679cde4ddd77b2c396f000638f468b76b29b74569a8d39c04bfc89d8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2013004579832791040', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1836944, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'hQF4LJW/QZIe4h22c3vpfy7nQUQyzfURL2567hMtQBo=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1601500564409475000', + resolve_time_ns: '1601500566972715600', + failure: null, + preimage: 'cUBbvn8nlp10zsyxCcrVSm6qIkC8NHy1aNsc/O6ALK0=' + } + ], + payment_index: '406', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '250bd5fb15c2fcea5b0d08a4c494c3e6d50428dba886311252de7f765144c5ec', + value: '1000', + creation_date: '1601587513', + fee: '0', + payment_preimage: 'a7bebfc84e6622dc8388cf6a983b748ce5c315da97868b28c83d2ef700835214', + value_sat: '1000', + value_msat: '1000000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1601587513565055400', + htlcs: [ + { + attempt_id: '40013', + status: 'SUCCEEDED', + route: { + total_time_lock: 1837059, + total_fees: '0', + total_amt: '1000', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1000', + fee: '0', + expiry: 1837059, + amt_to_forward_msat: '1000000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '1000000' + }, + attempt_time_ns: '1601587513589988200', + resolve_time_ns: '1601587513869818500', + failure: null, + preimage: 'p76/yE5mItyDiM9qmDt0jOXDFdqXhosoyD0u9wCDUhQ=' + } + ], + payment_index: '421', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0f48a0b40c878a26de563cc590be3d490d546fb6ecb6ad4bb4c34206e177ad99', + value: '200', + creation_date: '1601587748', + fee: '0', + payment_preimage: '96af0b9f52be39fdbbbd88771abee45b54869b7c7fc885f3df1ae83dc0634015', + value_sat: '200', + value_msat: '200000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1601587748671131700', + htlcs: [ + { + attempt_id: '40014', + status: 'SUCCEEDED', + route: { + total_time_lock: 1837059, + total_fees: '0', + total_amt: '200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 1837059, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '200000' + }, + attempt_time_ns: '1601587748689083600', + resolve_time_ns: '1601587748964555100', + failure: null, + preimage: 'lq8Ln1K+Of27vYh3Gr7kW1SGm3x/yIXz3xroPcBjQBU=' + } + ], + payment_index: '422', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e2b5eb9b927fadd1eaadac1569f1276545c0c3b5c61ca54e7dbe3731698ffc62', + value: '1200', + creation_date: '1601587842', + fee: '0', + payment_preimage: 'a4083bf24d74a062750cbc4efa2a0497293e84956da01cdafbb0fe31712eb17c', + value_sat: '1200', + value_msat: '1200000', + payment_request: 'lntb12u1p0hvjngpp5u267hxuj07kar64d4s2knuf8v4zupsa4ccw22nnahcmnz6v0l33qdq0w3jhxapqdp6xccccqp2sp5474me693szhvr0z5zdutuq2wacpqs52crt2wa0vs5m7uhyxhtngsrzjqfcxsh9gr28y6ngphmk90q05ejfydpq89tjjc5rl36lfmtcv424hkxgpeuqqq5gqqqqqqqlgqqqqqqgq9q9qy9qsqjhn490p0rjehf844lac4eksdr8ehkp7t87qzvg6txxxpvgn9ha35jsmn9223hnestldudk0p94jjruanrl4atjq0g27scnkl9yd57egp2ea93t', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1601587842741779600', + htlcs: [ + { + attempt_id: '40015', + status: 'SUCCEEDED', + route: { + total_time_lock: 1837059, + total_fees: '0', + total_amt: '1200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1200', + fee: '0', + expiry: 1837059, + amt_to_forward_msat: '1200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'r6u86LGArsG8VBN4vgFO7gIIUVga1O69kKb9y5DXXNE=', + total_amt_msat: '1200000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '1200000' + }, + attempt_time_ns: '1601587842759710200', + resolve_time_ns: '1601587843079811600', + failure: null, + preimage: 'pAg78k10oGJ1DLxO+ioElyk+hJVtoBza+7D+MXEusXw=' + } + ], + payment_index: '423', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ca913806807468a8e397d64adec4ee22742b92640cc95c6f7a1723de15bbf405', + value: '1200', + creation_date: '1601588015', + fee: '0', + payment_preimage: '2623171a92805d33e328c47ad1f0b5b687bff9a8aeccd4259835088094d8e233', + value_sat: '1200', + value_msat: '1200000', + payment_request: 'lntb12u1p0hvjc6pp5e2gnsp5qw3523cuh6e9da38wyf6zhynypny4cmm6zu3au9dm7szsdqjw3jhxapqdp6xcceqxscqp2sp5wt4768cgsv2l8g6lu9celr0rkh4ms6r29phkmympef09yxxazxgqrzjqgdt99r8zxaxlkt4jnynajhq3l8kxpve8pdsnkxhftad2secwllucxunngqqzwsqqyqqqqlgqqqqqqgq9q9qy9qsq5krg73g6qvesanr9st7yc0cqqldd0hkqg622ukymedyc9qzw9sencd7z6w79yt233em57przs5zj9l49t5sqehl8wm7q5z2666upgfgqx5jezt', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1601588015904284300', + htlcs: [ + { + attempt_id: '40016', + status: 'SUCCEEDED', + route: { + total_time_lock: 1837060, + total_fees: '0', + total_amt: '1200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1200', + fee: '0', + expiry: 1837060, + amt_to_forward_msat: '1200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'cuvtHwiDFfOjX+Fxn43jteu4aGoob22TYcpeUhjdEZA=', + total_amt_msat: '1200000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '1200000' + }, + attempt_time_ns: '1601588015923233000', + resolve_time_ns: '1601588016168294700', + failure: null, + preimage: 'JiMXGpKAXTPjKMR60fC1toe/+aiuzNQlmDUIgJTY4jM=' + } + ], + payment_index: '424', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a06641f3eb7b459e19cec5e03b36d466feb1ef77dc6ea6d1a1a1010a3ed6adf3', + value: '100', + creation_date: '1601989101', + fee: '2', + payment_preimage: '939eff298bfcae81777f0bd6cf92be01861e0a54ece4a0d08eb3b5ec9c261202', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1p0hc6wepp55pnyrult0dzeuxwwchsrkdk5vmltrmmhm3h2d5dp5yqs50kk4hesdpz23jhxarfdenjqur9dejxjmn8ypskc6tpwvxqr23scqp2sp53g9fdvrfrjwtckmsepfkkp46xyp3u4q59t607u2gc66lwv7a958srzjqgdt99r8zxaxlkt4jnynajhq3l8kxpve8pdsnkxhftad2secwllucxunngqqzwsqqyqqqqlgqqqqqqgq9q9qy9qsqnn3dna7ew6amdx62n0zj5y6urlt65mkee3trd3a7tjzr754xu2j3u9x38hu6p6alk767vczlc7f2dsma5rhezea2qmvme3qpw3gelpcqaj7gn5', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2000', + creation_time_ns: '1601989101905061800', + htlcs: [ + { + attempt_id: '41000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1838392, + total_fees: '2', + total_amt: '102', + hops: [ + { + chan_id: '2021226727785234432', + chan_capacity: '100000', + amt_to_forward: '101', + fee: '1', + expiry: 1838352, + amt_to_forward_msat: '101000', + fee_msat: '1000', + pub_key: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2012794573109657601', + chan_capacity: '101', + amt_to_forward: '100', + fee: '1', + expiry: 1838312, + amt_to_forward_msat: '100000', + fee_msat: '1000', + pub_key: '03b25c204679cde4ddd77b2c396f000638f468b76b29b74569a8d39c04bfc89d8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2013004579832791040', + chan_capacity: '100', + amt_to_forward: '100', + fee: '0', + expiry: 1838312, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'igqWsGkcnLxbcMhTawa6MQMeVBQq9P9xSMa19zPdLQ8=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '2000', + total_amt_msat: '102000' + }, + attempt_time_ns: '1601989102079633400', + resolve_time_ns: '1601989103567993100', + failure: null, + preimage: 'k57/KYv8roF3fwvWz5K+AYYeClTs5KDQjrO17JwmEgI=' + } + ], + payment_index: '425', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'd400fecfb252114978a59495c5d3f654aedf59fa981456eeff863e31db7387ea', + value: '10000', + creation_date: '1602183182', + fee: '2', + payment_preimage: 'ff6fc22652263e3d5c9afd58b6520a1f37568ce5cb0e8f50a0ff8077efa300de', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7cqwpp56sq0anaj2gg5j799jj2ut5lk2jhd7k06nq29dmhlsclrrkmnsl4qdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp53tm7x97scjf5xew9h4ejem67z5y4knqgd7h062hf8adyshgzg97s9qy9qsqk4rh7sdhrpx5pajq24mgzrdv0h2m73yr4ue8ssgw89swdmpn4fe8cjj4xh7mlewcmcn9nlc04eedr8npdzaul6drgsydz6t8ljyt5zcqk3wtff', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183182318480200', + htlcs: [ + { + attempt_id: '42000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859811, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021226727785234432', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859771, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2012794573109657601', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859731, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '03b25c204679cde4ddd77b2c396f000638f468b76b29b74569a8d39c04bfc89d8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2013004579832791040', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859725, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859725, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'ivfjF9DEk0Nlxb1zLO9eFQlbTAhvrv0q6T9aSF0CQX0=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183182445140400', + resolve_time_ns: '1602183184089230800', + failure: null, + preimage: '/2/CJlImPj1cmv1YtlIKHzdWjOXLDo9QoP+Ad++jAN4=' + } + ], + payment_index: '426', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '7b06fddd10f02381361f54727983fb4a0fecf8440697762c0f2903f29e2698e5', + value: '10000', + creation_date: '1602183241', + fee: '2', + payment_preimage: '7d5b9f3065d1e8ede89ce3608409d5aa84c695c8fae44914e7799d22b0e3c572', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7czfpp50vr0mhgs7q3czdsl23e8nqlmfg87e7zyq6thvtq09ypl983xnrjsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5354wprhmhfau60yyz8857tzfxm6lttvmpjm0fym6hunshkhhercs9qy9qsqh07yy2ln5lqnazcdy8ctxeg66p6lzyhrsr8f8q9zh6u8ta567n2rk69wqk8rhm0ya276h86vk2ezx5qlr27u4zya0dzzqpnw43x50zqqzzcme7', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183241786359500', + htlcs: [ + { + attempt_id: '42001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859812, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021231125829058561', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859772, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2011157400509743104', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859732, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '10000', + fee: '0', + expiry: 1859726, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859726, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'jSrgjvu6e808hBHPTyxJNvX1rZsMtvSTer8nC9r3yPE=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183241933963100', + resolve_time_ns: '1602183244349180100', + failure: null, + preimage: 'fVufMGXR6O3onONghAnVqoTGlcj65EkU53mdIrDjxXI=' + } + ], + payment_index: '427', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a7d98a2474f4022b6912324deea34ac61803ebcc33854ffe6504443233956cff', + value: '10000', + creation_date: '1602183283', + fee: '2', + payment_preimage: 'e6dd6e2532f9752ec366cc66c7e9bafc95672f3b00898f7a032b6aa7a4964dd1', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7crnpp55lvc5fr57spzk6gjxfx7ag62ccvq867vxwz5lln9q3zryvu4dnlsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5z2ec770qvxcfgldeql3wjjvyghx6feshj8d3hffq3k8m6z3qhtks9qy9qsq2yrg4z63vlj84k0u8q5770cqypzqa8unmuaa3l6y5sjnracr7d5raqtwg58qaek9lnwrvrssauhgtpv4vku6h5ld0jnm3kv0vtqsargpsjm3ay', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183283471997200', + htlcs: [ + { + attempt_id: '42002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859813, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021231125829058561', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859773, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2011157400509743104', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859733, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '10000', + fee: '0', + expiry: 1859727, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859727, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'ErOPeeBhsJR9uQfi6UmERc2k5heR2xulII2PvQoguu0=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183283529846500', + resolve_time_ns: '1602183285932913200', + failure: null, + preimage: '5t1uJTL5dS7DZsxmx+m6/JVnLzsAiY96Aytqp6SWTdE=' + } + ], + payment_index: '428', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c81a154108b46625646e6fbcd636b8a24dcd16773c621a5e260aed3effed150f', + value: '20000', + creation_date: '1602183354', + fee: '3', + payment_preimage: 'd3fbf7b9b271a057ba31fde71fd1a93ffd784c3e6b81a390fa12547df40aedc6', + value_sat: '20000', + value_msat: '20000000', + payment_request: 'lntb200u1p0h7c96pp5eqdp2sggk3nz2erwd77dvd4c5fxu69nh833p5h3xptknalldz58sdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5jzlqekvj052a5llvw0lwnjh4arf3f5agq3h05m3smfdwykc87jnq9qy9qsq8purnqap6ncc4zvslv87w6wn9wfsusvua0sn2qwu3zqdzc6sfam3rrtcv2l95y65vrlkmu6824ezzwz79lt3lsrccrfhp6sklugsr0gplf9g5u', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3060', + creation_time_ns: '1602183354251352500', + htlcs: [ + { + attempt_id: '42003', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859849, + total_fees: '3', + total_amt: '20003', + hops: [ + { + chan_id: '2021029915202617344', + chan_capacity: '100000', + amt_to_forward: '20002', + fee: '1', + expiry: 1859809, + amt_to_forward_msat: '20002040', + fee_msat: '1020', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '20002', + amt_to_forward: '20001', + fee: '1', + expiry: 1859769, + amt_to_forward_msat: '20001020', + fee_msat: '1020', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2011157400509743104', + chan_capacity: '20001', + amt_to_forward: '20000', + fee: '1', + expiry: 1859729, + amt_to_forward_msat: '20000000', + fee_msat: '1020', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2021231125829058561', + chan_capacity: '100000', + amt_to_forward: '20000', + fee: '0', + expiry: 1859729, + amt_to_forward_msat: '20000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'kL4M2ZJ9Fdp/7HP+6cr16NMU06gEbvpuMNpa4lsH9KY=', + total_amt_msat: '20000000' + }, + custom_records: {} + } + ], + total_fees_msat: '3060', + total_amt_msat: '20003060' + }, + attempt_time_ns: '1602183354369039300', + resolve_time_ns: '1602183356784817300', + failure: null, + preimage: '0/v3ubJxoFe6Mf3nH9GpP/14TD5rgaOQ+hJUffQK7cY=' + } + ], + payment_index: '429', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '62e8b1b25446fcdede9347bb13d4ad5083f58afe79a1e3afd7b4f2a16a13ed16', + value: '20000', + creation_date: '1602183463', + fee: '2', + payment_preimage: '4ec7d657c4f400f752c0804755ee2362abe75d69bd4f02d2624cb0c8c973b459', + value_sat: '20000', + value_msat: '20000000', + payment_request: 'lntb200u1p0h7cf8pp5vt5trvj5gm7dah5ng7a3849d2zpltzh70xs78t7hkne2z6sna5tqdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5xjtx9jrezkxf283ksj2satdkwej72e983lrep4qh0kx6aau22hmq9qy9qsq7amzxfcynvganj5cl3e5fnp454rcckjes4gt0lqkw5xxe0dujwksdmd3tvep08a7zwnmu55c8www7l9yklstejsq4zgemncmu34xlqqq2da86v', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2241', + creation_time_ns: '1602183463762909400', + htlcs: [ + { + attempt_id: '42004', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859923, + total_fees: '2', + total_amt: '20002', + hops: [ + { + chan_id: '2021226727785234432', + chan_capacity: '100000', + amt_to_forward: '20001', + fee: '1', + expiry: 1859779, + amt_to_forward_msat: '20001221', + fee_msat: '1020', + pub_key: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985432126741020672', + chan_capacity: '20001', + amt_to_forward: '20000', + fee: '1', + expiry: 1859739, + amt_to_forward_msat: '20000201', + fee_msat: '1020', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '20000', + fee: '0', + expiry: 1859733, + amt_to_forward_msat: '20000000', + fee_msat: '201', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '20000', + fee: '0', + expiry: 1859733, + amt_to_forward_msat: '20000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'NJZiyHkVjJUeNoSVDq22dmXlZKePx5DUF32NrveKVfY=', + total_amt_msat: '20000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2241', + total_amt_msat: '20002241' + }, + attempt_time_ns: '1602183463873603000', + resolve_time_ns: '1602183466296260000', + failure: null, + preimage: 'TsfWV8T0APdSwIBHVe4jYqvnXWm9TwLSYkywyMlztFk=' + } + ], + payment_index: '430', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ae7c480b70ee30506aba53bd39b30a0f7248c4ce9072eafc0d2d93c4a74f1035', + value: '10000', + creation_date: '1602183535', + fee: '2', + payment_preimage: 'fe8e6ec2ed4acebf3f6cb36d1324342c93900020859b4dd2aa97e62e201e6174', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7ct0pp54e7yszmsacc9q6462w7nnvc2paey33xwjpew4lqd9kfuff60zq6sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5s0ztwtey782s0h2w3hwdj76u6s3q6rpfkrutedrl4t85vs8a8xls9qy9qsqchuem273txqlazq4mvay08qepxm3mkj0yy3trj8c7kns8x05588yv5jhvhns9hgsgtxs95rxjnm9eklz40tzcvjtucs92y0z72vz23gpzcu0tv', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183535998720000', + htlcs: [ + { + attempt_id: '42005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859820, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021226727785234432', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859780, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2012794573109657601', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859740, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '03b25c204679cde4ddd77b2c396f000638f468b76b29b74569a8d39c04bfc89d8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2013004579832791040', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859734, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859734, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'g8S3LyTx1QfdTo3c2Xtc1CINDCmw+Ly0f6rPRkD9Ob8=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183536041604000', + resolve_time_ns: '1602183537694675600', + failure: null, + preimage: '/o5uwu1Kzr8/bLNtEyQ0LJOQACCFm03SqpfmLiAeYXQ=' + } + ], + payment_index: '431', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0bd7f00c382fb392ca4160c9b8188b4742ddca6e5c8cc24d7b72d9850d026635', + value: '10000', + creation_date: '1602183566', + fee: '2', + payment_preimage: '2d564bc372edd119df5364dd4cf9ed13b4973b73c21785f6061e3bb5f23d4741', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7cvwpp5p0tlqrpc97ee9jjpvrymsxytgapdmjnwtjxvyntmwtvc2rgzvc6sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp594smx9fwamc3t4d8pma58hpcds6ksse40sq4ejwrd6fmstws54tq9qy9qsq0rtcvv5w0xpj66kqmwwewdxruwggxuv32au8hwqkqezmrdcnwx956hngrk2yrveay07m9fl8nwlt6a5dpwlc7la0fykcp3gcz68w7aqqjn8jzx', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183566477936400', + htlcs: [ + { + attempt_id: '42006', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859821, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021029915202617344', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859781, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859741, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '10000', + fee: '0', + expiry: 1859735, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859735, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'LWGzFS7u8RXVpw77Q9w4bDVoQzV8AVzJw26TuC3QpVY=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183566521819000', + resolve_time_ns: '1602183568993719400', + failure: null, + preimage: 'LVZLw3Lt0RnfU2TdTPntE7SXO3PCF4X2Bh47tfI9R0E=' + } + ], + payment_index: '432', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '5ff6f6fd75892259e2021fb27353fb2258ed685eb4be0dab111485b4b4f157fa', + value: '10000', + creation_date: '1602183601', + fee: '2', + payment_preimage: 'fa408b761e5bdc926805230245c795a785d91997e81c32044ecd8d22c9fa0632', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7cdypp5tlm0dlt43y39ncszr7e8x5lmyfvw66z7kjlqm2c3zjzmfd832laqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5637ueyjzcgnjq9ppa476w4net4wa69ttyy858q7rlsgdpsyzudws9qy9qsqye574vvj85dg2lvmx2zadud2832mkgm6mxxkfj8s8rzhpunttcmr2x8hcavgvnwz5hpfw94mxryv9l48e7yc048f4srd3q4tv7vmeagpzq4fmt', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602183601166732200', + htlcs: [ + { + attempt_id: '42007', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859822, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021029915202617344', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1859782, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859742, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '10000', + fee: '0', + expiry: 1859736, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859736, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: '1H3MkkLCJyAUIe19p1Z5XV3dFWshD0ODw/wQ0MCC410=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602183601206638100', + resolve_time_ns: '1602183608326812300', + failure: null, + preimage: '+kCLdh5b3JJoBSMCRceVp4XZGZfoHDIETs2NIsn6BjI=' + } + ], + payment_index: '434', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '4d63b16c925745e9bb1220f7dfad1d39ef5f88fefe8e954fb806724c993650e4', + value: '10000', + creation_date: '1602184131', + fee: '1', + payment_preimage: '8747e8da225fadcd25497d9e0a3f01040b3c7c1415e936c15545c3c44ce35132', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0h7cugpp5f43mzmyj2az7nwcjyrmaltga88h4lz87l68f2nacqeeyexfk2rjqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5htljnwmctug4t8lej7mh7uhql0nujjs2ew0xhaej0kcfm82xrt2q9qy9qsqwu80zpgtqjtfe4ksa8yzzwexqcc3m8p5ny4cs7yf6tdk7yny8088wf07m76gxdcw7t0xm80af2py93zwwue0kvy7jvx2hjw9cf9gy6spzmfpep', + status: 'SUCCEEDED', + fee_sat: '1', + fee_msat: '1811', + creation_time_ns: '1602184131928442800', + htlcs: [ + { + attempt_id: '42009', + status: 'SUCCEEDED', + route: { + total_time_lock: 1859840, + total_fees: '1', + total_amt: '10001', + hops: [ + { + chan_id: '2021231125829058561', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '0', + expiry: 1859800, + amt_to_forward_msat: '10001111', + fee_msat: '700', + pub_key: '02372f1e47821a854b7b3e411e3633f4658a8a3ee4be721c5c2cf73b5c18cf9dff', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2021336678946766848', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1859760, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837167104', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859754, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1859754, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'uv8pu3hfEVWf+Ze3f3Lg++fJSgrLnmv3Mn2wnZ1GGtQ=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '1811', + total_amt_msat: '10001811' + }, + attempt_time_ns: '1602184131985290900', + resolve_time_ns: '1602184133103178300', + failure: null, + preimage: 'h0fo2iJfrc0lSX2eCj8BBAs8fBQV6TbBVUXDxEzjUTI=' + } + ], + payment_index: '437', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c150ee1f1828aec17212cd7f9c815b3e4b968ad96ed46894b71305ad2904a9fc', + value: '10000', + creation_date: '1602281795', + fee: '2', + payment_preimage: 'efd58e23ccd5be1112de057f7c66db2d944abbcec6ab902b2dcd6489b00e1a14', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0cpc2rpp5c9gwu8cc9zhvzusje4leeq2m8e9edzkedm2x399hzvz662gy487qdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5ff7qpny97xkvjplwqum6f4c5hkg7v9w74cer5erv94rqyzy8sfjq9qy9qsq0lz0kys6djz0c9y99nd8zcy7nt8emhaxsws0xrvm9wf5al2ps9q33j92wera2epxwr59t02v99c29e5gp6npw8krcyzmqf37yvldu5gpc46zdg', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2121', + creation_time_ns: '1602281795203231200', + htlcs: [ + { + attempt_id: '42010', + status: 'SUCCEEDED', + route: { + total_time_lock: 1861248, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021029915202617344', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1861208, + amt_to_forward_msat: '10001111', + fee_msat: '1010', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1861168, + amt_to_forward_msat: '10000101', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '10000', + fee: '0', + expiry: 1861162, + amt_to_forward_msat: '10000000', + fee_msat: '101', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '10000', + fee: '0', + expiry: 1861162, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '02fad37ef58f76c1a5f802d198a07da5a8e55620b9ffbcbdc316fc8c9e9eac02cb', + tlv_payload: true, + mpp_record: { + payment_addr: 'SnwAzIXxrMkH7gc3pNcUvZHmFd6uMjpkbC1GAgiHgmQ=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2121', + total_amt_msat: '10002121' + }, + attempt_time_ns: '1602281795265102700', + resolve_time_ns: '1602281797605415000', + failure: null, + preimage: '79WOI8zVvhES3gV/fGbbLZRKu87Gq5ArLc1kibAOGhQ=' + } + ], + payment_index: '438', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '13297fe784e387b85f7e50a167de7584431a5fb731e53eb3fcb27ffb59daf190', + value: '100', + creation_date: '1602532365', + fee: '0', + payment_preimage: 'b45eb8b035f686094484433a7ff2fe2152688ca8f27c892c72a1d7adfed4af16', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1p0cfvlzpp5zv5hleuyuwrmshm72zsk0hn4s3p35hahx8jnavlukfllkkw67xgqdpd23jhxarfdenjqcmjv4shgefqd9h8vmmfvdjjqnmrwscnyxqr23scqp2sp5ker6gtvznxcm3kujm5jexgthqe9ey7c90hcn4dc6sqn7zpjfkvaqrzjqwe9cgzx08x7fhwh0vkrjmcqqcu0g69hdv5mw3tf4rfecp9lezwccxl05yqqq2cqqqqqqqlgqqqqqqgq9q9qy9qsq8z9pkha7xdknyacx3yy9nwvh6f5c2k4hh2yc2dl0ktcsy2v0r4rzsyju3u52q856fpfahpf88p9rxg2u52wamlfrgd4rykh3fkkwf2cqdfdm6v', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1602532365067231100', + htlcs: [ + { + attempt_id: '43000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1862432, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1862432, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'tkekLYKZsbjbkt0lkyF3BkuSewV98Tq3GoAn4QZJszo=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1602532365099138600', + resolve_time_ns: '1602532365371252700', + failure: null, + preimage: 'tF64sDX2hglEhEM6f/L+IVJojKjyfIkscqHXrf7UrxY=' + } + ], + payment_index: '445', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '1e6501d38835b821ea4ae65b586970c999436acb2349f40b3d2262961c911b3a', + value: '10000', + creation_date: '1603415230', + fee: '2', + payment_preimage: '85e0725c6a8c567f5805d1830e0090d7a3a496cac1d8a64368ffa5ff1064f923', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0eyt97pp5rejsr5ugxkuzr6j2ued4s6tsexv5x6ktydylgzeayf3fv8y3rvaqdql2djkuepqw3hjqsj5gvsxzerywfjhxuccqzptsp5rpmtedcvsr3w5j2um053gkz6d907vqes2tg3kx60jysu4lugqmtq9qy9qsqwkgpemfwcr2945q8j8njxwryjv8xuyte98cq4xnhv48ae2qkzgp4wgkmazzrk6pphxnnhz7qsknyw2s5686wffs0h6ea2wquhxxtcmgp6u8crr', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2020', + creation_time_ns: '1603415230967079200', + htlcs: [ + { + attempt_id: '44000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1864259, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2021029915202617344', + chan_capacity: '100000', + amt_to_forward: '10001', + fee: '1', + expiry: 1864219, + amt_to_forward_msat: '10001010', + fee_msat: '1010', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1864179, + amt_to_forward_msat: '10000000', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726019950355087360', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1864179, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '03f060953bef5b777dc77e44afa3859d022fc1a77c55138deb232ad7255e869c00', + tlv_payload: true, + mpp_record: { + payment_addr: 'GHa8twyA4upJXNvpFFhaaV/mAzBS0RsbT5Ehyv+IBtY=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2020', + total_amt_msat: '10002020' + }, + attempt_time_ns: '1603415231015183200', + resolve_time_ns: '1603415873354673900', + failure: null, + preimage: 'heByXGqMVn9YBdGDDgCQ16OklsrB2KZDaP+l/xBk+SM=' + } + ], + payment_index: '446', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'c3269f1d23827d66b1dc1297db9bb831ed8c72f3a022533f4e553793d7afc68f', + value: '10000', + creation_date: '1605461390', + fee: '2', + payment_preimage: '15a7632d15e58e2c972de056f561068ff6edfdbe83eb377db7e4b6e7509caa94', + value_sat: '10000', + value_msat: '10000000', + payment_request: 'lntb100u1p0mzevwpp5cvnf78frsf7kdvwuz2tahxacx8kccuhn5q39x06w25me84a0c68sdql2djkuepqw3hjqsj5gvsxzerywfjhxuccqzptsp5ljw4m65sjycse2lqnf77rp2vkddupsz6xes9nt94hvc2cl34ex3s9qy9qsqrgl896enyvqnpwfflh9qc0c3r67lazecrpacaj2hnfysa5j0u0ghy3e3j4rmcg5szghprc0nagg45jh0rrvpe9z6en3u0fkuvhgqujsp0h6r5a', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2020', + creation_time_ns: '1605461390069347100', + htlcs: [ + { + attempt_id: '45000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1892169, + total_fees: '2', + total_amt: '10002', + hops: [ + { + chan_id: '2050950925128695808', + chan_capacity: '10002', + amt_to_forward: '10001', + fee: '1', + expiry: 1892129, + amt_to_forward_msat: '10001010', + fee_msat: '1010', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '10001', + amt_to_forward: '10000', + fee: '1', + expiry: 1892089, + amt_to_forward_msat: '10000000', + fee_msat: '1010', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726019950355087360', + chan_capacity: '10000', + amt_to_forward: '10000', + fee: '0', + expiry: 1892089, + amt_to_forward_msat: '10000000', + fee_msat: '0', + pub_key: '03f060953bef5b777dc77e44afa3859d022fc1a77c55138deb232ad7255e869c00', + tlv_payload: true, + mpp_record: { + payment_addr: '/J1d6pCRMQyr4Jp94YVMs1vAwFo2YFmstbswrH41yaM=', + total_amt_msat: '10000000' + }, + custom_records: {} + } + ], + total_fees_msat: '2020', + total_amt_msat: '10002020' + }, + attempt_time_ns: '1605461390146135500', + resolve_time_ns: '1605461888744683100', + failure: null, + preimage: 'FadjLRXljiyXLeBW9WEGj/bt/b6D6zd9t+S251CcqpQ=' + } + ], + payment_index: '447', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a427f9e383cd745e6b731d7be92418b1f9bbfd90525bf88dabef6431068b28b6', + value: '248838', + creation_date: '1605744502', + fee: '252', + payment_preimage: '9ba07f1a2470fa061f2080c409302b3d83b511ab07351d9a4a5de7e47c6a0481', + value_sat: '248838', + value_msat: '248838000', + payment_request: 'lntb2488380n1p0mtdm4pp55snlncure469u6mnr4a7jfqck8umhlvs2fdl3rdtaajrzp5t9zmqdq8wdmkzuqcqzxgxq97zvuqsp5682u72avg4zwd5dycjq4vgkzxdzfldugkrqed3r7arsv0k5x24nq9qy9qsqvrp36rwzvr5nhns5f93vymn0menql6cyqv8nn533u4ykcttk9hnyf52plv5ys2lqep05yx9s98rqrwqp4y4x94e7efa09wemctg55qcp578j9s', + status: 'SUCCEEDED', + fee_sat: '252', + fee_msat: '252336', + creation_time_ns: '1605744502482417400', + htlcs: [ + { + attempt_id: '46001', + status: 'FAILED', + route: { + total_time_lock: 1893003, + total_fees: '3', + total_amt: '248841', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248839', + fee: '2', + expiry: 1892997, + amt_to_forward_msat: '248839248', + fee_msat: '2489', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248838', + fee: '1', + expiry: 1892957, + amt_to_forward_msat: '248838000', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '0dXPK6xFRObRpMSBViLCM0Sft4iwwZbEfujgx9qGVWY=', + total_amt_msat: '248838000' + }, + custom_records: {} + } + ], + total_fees_msat: '3737', + total_amt_msat: '248841737' + }, + attempt_time_ns: '1605744502665913200', + resolve_time_ns: '1605744503056867900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'UF3DaLrJoOAWbUDhirSZe9l1Bfvw6t8yA0/88Ijs1zwgUMiAVVfJeE+fzRJN6OFcWmUEf1Rovnmco/gO8S3s7Q==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2044088873059811328', + timestamp: 1604594378, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 6, + htlc_minimum_msat: '1', + base_fee: 1, + fee_rate: 10, + htlc_maximum_msat: '4294967295', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '46002', + status: 'FAILED', + route: { + total_time_lock: 1893107, + total_fees: '251', + total_amt: '249089', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248839', + fee: '249', + expiry: 1893101, + amt_to_forward_msat: '248839248', + fee_msat: '249839', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837167104', + chan_capacity: '248839', + amt_to_forward: '248838', + fee: '1', + expiry: 1892957, + amt_to_forward_msat: '248838000', + fee_msat: '1248', + pub_key: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2011021060854513664', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '0dXPK6xFRObRpMSBViLCM0Sft4iwwZbEfujgx9qGVWY=', + total_amt_msat: '248838000' + }, + custom_records: {} + } + ], + total_fees_msat: '251087', + total_amt_msat: '249089087' + }, + attempt_time_ns: '1605744503154605500', + resolve_time_ns: '1605744503894625800', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'fB+CBQBdNeZq+H+oRn2uGPGBnr4mssgsiEtZNlR6gmNkJmDYAOv3nesWJfLNqPSzhUUTSNMPbDeuL7p/+9qe7A==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2011021060854513664', + timestamp: 1605733110, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '15840000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '46003', + status: 'FAILED', + route: { + total_time_lock: 1893132, + total_fees: '251', + total_amt: '249089', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248839', + fee: '249', + expiry: 1893126, + amt_to_forward_msat: '248839248', + fee_msat: '249839', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837167104', + chan_capacity: '248839', + amt_to_forward: '248838', + fee: '1', + expiry: 1892982, + amt_to_forward_msat: '248838000', + fee_msat: '1248', + pub_key: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748291452928', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892957, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748291977216', + chan_capacity: '16777215', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '0dXPK6xFRObRpMSBViLCM0Sft4iwwZbEfujgx9qGVWY=', + total_amt_msat: '248838000' + }, + custom_records: {} + } + ], + total_fees_msat: '251087', + total_amt_msat: '249089087' + }, + attempt_time_ns: '1605744503985382800', + resolve_time_ns: '1605744504912900300', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'ztVHfXqJdCLlr400qIyi+gyzcsF3hDwM9ka+Gf2ohvxMbqI0zLqmkJo6V5tt+vy9fOmFeQAVpUb5KfMmX8JH2w==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '1726249748291977216', + timestamp: 1605726471, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 25, + htlc_minimum_msat: '1000', + base_fee: 0, + fee_rate: 0, + htlc_maximum_msat: '16609443000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '46004', + status: 'FAILED', + route: { + total_time_lock: 1893049, + total_fees: '7', + total_amt: '248845', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248842', + fee: '2', + expiry: 1893043, + amt_to_forward_msat: '248842985', + fee_msat: '2489', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088448', + chan_capacity: '10000000', + amt_to_forward: '248840', + fee: '2', + expiry: 1893037, + amt_to_forward_msat: '248840496', + fee_msat: '2489', + pub_key: '031a3478d481b92e3c28810228252898c5f0d82fc4d07f5210c4f34d4aba56b769', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088457', + chan_capacity: '248840', + amt_to_forward: '248839', + fee: '1', + expiry: 1892997, + amt_to_forward_msat: '248839248', + fee_msat: '1248', + pub_key: '022cfd97528beb47c1684c81b97137915f9f20b64187a3bee80532d4d09976774c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1865436925247881217', + chan_capacity: '248839', + amt_to_forward: '248838', + fee: '1', + expiry: 1892957, + amt_to_forward_msat: '248838000', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '0dXPK6xFRObRpMSBViLCM0Sft4iwwZbEfujgx9qGVWY=', + total_amt_msat: '248838000' + }, + custom_records: {} + } + ], + total_fees_msat: '7474', + total_amt_msat: '248845474' + }, + attempt_time_ns: '1605744505008645900', + resolve_time_ns: '1605744505425438800', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'L/MEUbuNQkPZI+MFaqkbE5hlrJM2HZS4w3sT2YQgdfRUv4IOvlCy4J1FmkU5TwOotEDwQV4TNswOJKtP8WjbAA==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2015709378435088448', + timestamp: 1605744505, + message_flags: 1, + channel_flags: 2, + time_lock_delta: 6, + htlc_minimum_msat: '0', + base_fee: 1, + fee_rate: 10, + htlc_maximum_msat: '4294967295', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '46005', + status: 'SUCCEEDED', + route: { + total_time_lock: 1893043, + total_fees: '252', + total_amt: '249090', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248840', + fee: '249', + expiry: 1893037, + amt_to_forward_msat: '248840496', + fee_msat: '249840', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1801948924837167104', + chan_capacity: '248840', + amt_to_forward: '248839', + fee: '1', + expiry: 1892997, + amt_to_forward_msat: '248839248', + fee_msat: '1248', + pub_key: '0270685ca81a8e4d4d01beec5781f4cc924684072ae52c507f8ebe9daf0caaab7b', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1835557696766410752', + chan_capacity: '248839', + amt_to_forward: '248838', + fee: '1', + expiry: 1892957, + amt_to_forward_msat: '248838000', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1946963513428475905', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248838', + amt_to_forward: '248838', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '248838000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '0dXPK6xFRObRpMSBViLCM0Sft4iwwZbEfujgx9qGVWY=', + total_amt_msat: '248838000' + }, + custom_records: {} + } + ], + total_fees_msat: '252336', + total_amt_msat: '249090336' + }, + attempt_time_ns: '1605744505520417600', + resolve_time_ns: '1605746365324303700', + failure: null, + preimage: 'm6B/GiRw+gYfIIDECTArPYO1EasHNR2aSl3n5HxqBIE=' + } + ], + payment_index: '448', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '28adfc0590c468a82d1ba5f6324ccef11818cc4970c87a534709fb59cdc1cef3', + value: '1337', + creation_date: '1605744502', + fee: '2', + payment_preimage: 'fec3cc5594688a9e389a349939e1df55e99f8f79e2eee8006baf181c982d6870', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0mtdm4pp59zklcpvsc352stgm5hmrynxw7yvp3nzfwry85568p8a4nnwpemesdq2wpex2urp0ycqzxgxq97zvuqsp57xl4mdz3rn2f7yzrkz7kx2m9evxnk3ajc66fl9nz3gmkx9k3l8dq9qy9qsqaltcwh8k96l8fxy42ehmqlmngh048ucpdtm067ezl573r53r6dr40vdd437uzq7y7erwpepnxj8c6nhyamz35hczurf3h76p06pe33cpfj6hhc', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1605744502490386000', + htlcs: [ + { + attempt_id: '46000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1893037, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '2050950925128695808', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1892997, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '1338', + amt_to_forward: '1337', + fee: '1', + expiry: 1892957, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1892917, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '8b9dtFEc1J8QQ7C9Yytlyw07R7LGtJ+WYoo3YxbR+do=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '1605744502587129500', + resolve_time_ns: '1605746355294355800', + failure: null, + preimage: '/sPMVZRoip44mjSZOeHfVemfj3ni7ugAa68YHJgtaHA=' + } + ], + payment_index: '449', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'b83208d05132cdc433869fde6e8eb3ac5ff359ebf368aae05a9e4b5f573a6232', + value: '248704', + creation_date: '1608483403', + fee: '3', + payment_preimage: 'b89b10c968ed3d5a824910bb31da0e59f909dcff3c32f3ec690099533e9b7b79', + value_sat: '248704', + value_msat: '248704000', + payment_request: 'lntb2487040n1p0alqj2pp5hqeq35z3xtxugvuxnl0xar4n430lxk0t7d524cz6ne9474e6vgeqdq8wdmkzuqcqzryxq97zvuqsp5us3vd4tyxlk2vah6m45c0e000a5zxpf3zph3vd8jkf954yswl2ms9qy9qsq5nm3wmy0dkdr29t949nmdl7nt89pc4uwgaclzxx7797tg0hdy6x3f9qea8y00vvpfjgg5c6d2s8dcag00qem8777rclmfw0flg5h49gp868qkk', + status: 'SUCCEEDED', + fee_sat: '3', + fee_msat: '3736', + creation_time_ns: '1608483403890184800', + htlcs: [ + { + attempt_id: '47001', + status: 'FAILED', + route: { + total_time_lock: 1899207, + total_fees: '3', + total_amt: '248707', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248705', + fee: '2', + expiry: 1899201, + amt_to_forward_msat: '248705248', + fee_msat: '2488', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2083553643915640832', + chan_capacity: '248705', + amt_to_forward: '248704', + fee: '1', + expiry: 1899161, + amt_to_forward_msat: '248704000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2086977523124011008', + chan_capacity: '248704', + amt_to_forward: '248704', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '248704000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248704', + amt_to_forward: '248704', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '248704000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '5CLG1WQ37KZ2+t1ph+Xvf2gjBTEQbxY08rJLSpIO+rc=', + total_amt_msat: '248704000' + }, + custom_records: {} + } + ], + total_fees_msat: '3736', + total_amt_msat: '248707736' + }, + attempt_time_ns: '1608483404062722900', + resolve_time_ns: '1608483404426767700', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'dyeMtBwXpoIo+H3HodtunN8eY3ZsCWX4uSeoUCkY44wi3r38OAW68MB7Ig6rr6DM8Auss6asWpWrehIszo+wAw==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2083553643915640832', + timestamp: 1607618377, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 6, + htlc_minimum_msat: '1', + base_fee: 1, + fee_rate: 10, + htlc_maximum_msat: '1262098000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '47002', + status: 'SUCCEEDED', + route: { + total_time_lock: 1899207, + total_fees: '3', + total_amt: '248707', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248705', + fee: '2', + expiry: 1899201, + amt_to_forward_msat: '248705248', + fee_msat: '2488', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248704', + fee: '1', + expiry: 1899161, + amt_to_forward_msat: '248704000', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '248704', + amt_to_forward: '248704', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '248704000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '248704', + amt_to_forward: '248704', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '248704000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '5CLG1WQ37KZ2+t1ph+Xvf2gjBTEQbxY08rJLSpIO+rc=', + total_amt_msat: '248704000' + }, + custom_records: {} + } + ], + total_fees_msat: '3736', + total_amt_msat: '248707736' + }, + attempt_time_ns: '1608483404530802100', + resolve_time_ns: '1608485826680079600', + failure: null, + preimage: 'uJsQyWjtPVqCSRC7MdoOWfkJ3P88MvPsaQCZUz6be3k=' + } + ], + payment_index: '450', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'ba398e8f9b282acd185a3e28fccffa84e1152f62bf8a55f8f961dfb4cdde646f', + value: '1337', + creation_date: '1608483403', + fee: '2', + payment_preimage: '433196b7db3b5807fa755df9f50195492ddd87653935c17f3c7152075d41d0b0', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0alqj2pp5hgucarum9q4v6xz68c50enl6sns32tmzh799t78ev80mfnw7v3hsdq2wpex2urp0ycqzryxq97zvuqsp5yayj8ctu9h6qdschrwm4ajqv0qn2js7czs3m6twaz3uxz4ussvms9qy9qsqx8kcjamhs7n5cgg7v4az6237hrfp79r3ca90lvsznl3tk6ckn9l3q2t3r0n4sz2anrdqvgskyrpduwxng5x2kfl4nv4tr6eq5mdzcesqrv3na5', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1608483403890184800', + htlcs: [ + { + attempt_id: '47000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1899241, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '2050950925128695808', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1899201, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '1338', + amt_to_forward: '1337', + fee: '1', + expiry: 1899161, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1899121, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: 'J0kj4Xwt9AbDFxu3XsgMeCapQ9gUI70t3RR4YVeQgzc=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '1608483403975960600', + resolve_time_ns: '1608485816271552000', + failure: null, + preimage: 'QzGWt9s7WAf6dV359QGVSS3dh2U5NcF/PHFSB11B0LA=' + } + ], + payment_index: '451', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '0181e7484080056483d6c00a5cb70e5f54e48543473fbec74206ddb2b7c74217', + value: '1337', + creation_date: '1610149447', + fee: '2', + payment_preimage: '333da46d3ca3ccee8a9e60bdce722dbdfa101f54e6cd5caa467f18b673d2273c', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1p0l3mjgpp5qxq7wjzqsqzkfq7kcq99edcwta2wfp2rgulma36zqmwm9d78ggtsdq2wpex2urp0ycqzryxq97zvuqsp5m2k8cdgmy7lupvxpnh9gl6gngqps0s7qcm2y382xt7svcy28e8ds9qy9qsq283x2u454vm0xm2kcg8sx6da0xle6kkwkam5evasc69hlf5m830jcsesmj5qkhcjmturxhl2welk895hy2unyr6gmcenwh0fd8q8gfspeqa59a', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2002', + creation_time_ns: '1610149447986449800', + htlcs: [ + { + attempt_id: '49054', + status: 'SUCCEEDED', + route: { + total_time_lock: 1903283, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '2050950925128695808', + chan_capacity: '1339', + amt_to_forward: '1338', + fee: '1', + expiry: 1903243, + amt_to_forward_msat: '1338001', + fee_msat: '1001', + pub_key: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1986198486348333056', + chan_capacity: '1338', + amt_to_forward: '1337', + fee: '1', + expiry: 1903203, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1903163, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2018621984737394688', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 1903163, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '2qx8NRsnv8CwwZ3Kj+kTQAMHw8DG1EidRl+gzBFHyds=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2002', + total_amt_msat: '1339002' + }, + attempt_time_ns: '1610149448037311400', + resolve_time_ns: '1610465842684956600', + failure: null, + preimage: 'Mz2kbTyjzO6KnmC9znItvfoQH1TmzVyqRn8YtnPSJzw=' + } + ], + payment_index: '488', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '52924e9bbf41e162f515b13a9ac1a851db591d4eef00f35fca60c4b1142eefb5', + value: '100', + creation_date: '1618598800', + fee: '0', + payment_preimage: '585da9bc58dc3b704035ef526250ecfc0075fbef9dc9a9c9da7a8a3ba1992a34', + value_sat: '100', + value_msat: '100000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618598800343447800', + htlcs: [ + { + attempt_id: '51000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971693, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1971693, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1618598800380358500', + resolve_time_ns: '1618598800714647800', + failure: null, + preimage: 'WF2pvFjcO3BANe9SYlDs/AB1+++dyanJ2nqKO6GZKjQ=' + } + ], + payment_index: '505', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a40cb67e8aba6f6e0a15bd9cdc8939704af3528363b0396b3e720adc7501cad6', + value: '200', + creation_date: '1618599076', + fee: '0', + payment_preimage: 'ed278cda9337e8d2939a283a94f27affa6630a80f81c34de8094130e42466afd', + value_sat: '200', + value_msat: '200000', + payment_request: '', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618599076116808400', + htlcs: [ + { + attempt_id: '51001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971694, + total_fees: '0', + total_amt: '200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 1971694, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '200000' + }, + attempt_time_ns: '1618599076138745300', + resolve_time_ns: '1618599076488061700', + failure: null, + preimage: '7SeM2pM36NKTmig6lPJ6/6ZjCoD4HDTegJQTDkJGav0=' + } + ], + payment_index: '506', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'e1cbe4dcc6121fa3c84ba1568066b43c97e80e4b6eac589aab2ae11b81b66aa7', + value: '150', + creation_date: '1618602725', + fee: '0', + payment_preimage: '7c46f0a01bd187dec5870d0f1951b3bffe8286276e6a7552ebe2a0451d30413a', + value_sat: '150', + value_msat: '150000', + payment_request: 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618602725186251800', + htlcs: [ + { + attempt_id: '52000', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971700, + total_fees: '0', + total_amt: '150', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '150', + fee: '0', + expiry: 1971700, + amt_to_forward_msat: '150000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'TlB3JWmKew2FScn1bNyAT1ajYHJnJ9HnwxzUckmjccg=', + total_amt_msat: '150000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '150000' + }, + attempt_time_ns: '1618602725216162100', + resolve_time_ns: '1618602725519229400', + failure: null, + preimage: 'fEbwoBvRh97Fhw0PGVGzv/6ChiduanVS6+KgRR0wQTo=' + } + ], + payment_index: '507', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '77b101814c364b3e3e4f3024429c641bab1d76dc090491f591301fc3d0c6a81c', + value: '100', + creation_date: '1618602746', + fee: '0', + payment_preimage: 'e3970d0250a4d700a0b11d0193c37b3ac41a415c49f552b39cb1857b332deed0', + value_sat: '100', + value_msat: '100000', + payment_request: 'lntb1u1ps8nefspp5w7csrq2vxe9nu0j0xqjy98ryrw436akupyzfrav3xq0u85xx4qwqdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxsxqyd9uqcqp2sp5tv94v7l3cnjskl68ymthccuwcjvxcdw389wc6t83a7t2pe053hmqrzjqg888adqj2xnh4yq6y2470qfm77pxcf64wva60kmue09zrvrn3hggxcc05qqqrqqqqqqqp7sqqqqqeqqjq9qy9qsqmqzvmhryn98x0m45jfmmxzvvg45rjkm63e0430zwt23h899kdvwntv28tgm3uml6tkyue2g5z4nfxvxnc4p0tlu72ndn2z6mutgrd0qqc3c436', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1618602746497594300', + htlcs: [ + { + attempt_id: '52001', + status: 'SUCCEEDED', + route: { + total_time_lock: 1971700, + total_fees: '0', + total_amt: '100', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '100', + fee: '0', + expiry: 1971700, + amt_to_forward_msat: '100000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'WwtWe/HE5Qt/RybXfGOOxJhsNdE5XY0s8e+WoOX0jfY=', + total_amt_msat: '100000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '100000' + }, + attempt_time_ns: '1618602746521534400', + resolve_time_ns: '1618602746777995900', + failure: null, + preimage: '45cNAlCk1wCgsR0Bk8N7OsQaQVxJ9VKznLGFezMt7tA=' + } + ], + payment_index: '508', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'f81ea5b08648edd1829054e13574a033c477fc01a889b1edfc20702f12edd0ba', + value: '248731', + creation_date: '1623348967', + fee: '7', + payment_preimage: '65ce89a0066d3f36944f959be5eaa3dbee187acefe6debf002a98eeb8fef90bc', + value_sat: '248731', + value_msat: '248731000', + payment_request: 'lntb2487310n1psvy4hgpp5lq02tvyxfrkarq5s2nsn2a9qx0z80lqp4zymrm0uypcz7yhd6zaqdy9wdmkzupq95s8xcmjd9c8gw3qxqcryvp4xuerxdf3xgunvcfkvf3n2ctrvdjnsdpjxcmrxvekxumrswfcvy6rvvr9vfskyvf5xvmnyden89nryvmy89nrzwfexsurve3kv43n2cqzryxq97zvuqrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqcqqqqpgqqqqqqqqqqqqqqqqq9qrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqmyqqqrgqqqqqqqqqqqqqqqqq9qsp575fnfu7whe9z8x6skktfcdnuencluy8ml25utrrsskqnlx5zs0xs9qyyssqhynj7m4qwcq0jepvdtwxu4xcpwe45ywp3ez5uw40suuql22xa4p3j34zqht2ldktu0xgcpfkejdxm6g24rs8tx0qzs0t57phxl67yegqqppqz4', + status: 'SUCCEEDED', + fee_sat: '7', + fee_msat: '7727', + creation_time_ns: '1623348967897815500', + htlcs: [ + { + attempt_id: '53001', + status: 'FAILED', + route: { + total_time_lock: 2004485, + total_fees: '6', + total_amt: '248737', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '5', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '5230', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166413939696009216', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '6478', + total_amt_msat: '248737478' + }, + attempt_time_ns: '1623348968156136000', + resolve_time_ns: '1623348968425435900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'SEeNEvs9mIMfq7Yz0U89e9qybVI5IP6WxjU+C7/2tHRlGIl7xQ0cXnu5MxHGKY4R9+QdR9i/RQXTnbMNEsC/hQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166413939696009216', + timestamp: 1622906540, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 6, + htlc_minimum_msat: '1', + base_fee: 1500, + fee_rate: 15, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53002', + status: 'FAILED', + route: { + total_time_lock: 2004485, + total_fees: '6', + total_amt: '248737', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '5', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '5230', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '6478', + total_amt_msat: '248737478' + }, + attempt_time_ns: '1623348968583611000', + resolve_time_ns: '1623348971525198000', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'w6S2+TrZvJQHT90fq12EHLVaixzTAk4lTM1v23CeUA89I9M7JCCa2U+YNI72lnxS6E5jXospzhiuIO9kdpYzbQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '1985398041880559616', + timestamp: 1623296013, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '16609443000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53003', + status: 'FAILED', + route: { + total_time_lock: 2004510, + total_fees: '9', + total_amt: '248740', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248732', + fee: '8', + expiry: 2004504, + amt_to_forward_msat: '248732248', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248731', + fee: '1', + expiry: 2004464, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748290732032', + chan_capacity: '16777215', + amt_to_forward: '248731', + fee: '0', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1726249748291977216', + chan_capacity: '16777215', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '9966', + total_amt_msat: '248740966' + }, + attempt_time_ns: '1623348971674140800', + resolve_time_ns: '1623348972558126100', + failure: { + code: 'EXPIRY_TOO_FAR', + channel_update: null, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53004', + status: 'FAILED', + route: { + total_time_lock: 2004491, + total_fees: '8', + total_amt: '248739', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248734', + fee: '5', + expiry: 2004485, + amt_to_forward_msat: '248734736', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088448', + chan_capacity: '10000000', + amt_to_forward: '248732', + fee: '2', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '2488', + pub_key: '031a3478d481b92e3c28810228252898c5f0d82fc4d07f5210c4f34d4aba56b769', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2015709378435088415', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '029081a5673d5fc5844031159369fb66be31279e717acb35fef345b2d4cce15a97', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1946680938933256193', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '8967', + total_amt_msat: '248739967' + }, + attempt_time_ns: '1623348972705682700', + resolve_time_ns: '1623348973043441900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'HM5yf905FBmPZqOh9+FPeuI/86bIGlVbPl2Xub6Ly64f7vj4Q+He4A1r10rsVgXIckiqtd6aksO0+rCfVHFAtw==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2015709378435088448', + timestamp: 1623348974, + message_flags: 1, + channel_flags: 2, + time_lock_delta: 6, + htlc_minimum_msat: '0', + base_fee: 1500, + fee_rate: 15, + htlc_maximum_msat: '4294967295', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 1, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53005', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2174399692651692032', + chan_capacity: '1000000', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03a9995d25d0767ef38ce2eff01ee574e41360c16b7bdf16a8edd87d82d06163c7', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2190388790739206144', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348973642855200', + resolve_time_ns: '1623348974332720100', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'Mzey8snaaDwmypl+58FJTf/AkMFsF5xv3pwefghDAEtFCv9fa9xRxolte+a2cs0oBtIfBvWPLq7t5F2h5D+D0Q==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2174399692651692032', + timestamp: 1623265773, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '990000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53006', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168638251721424896', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03e5e53fba8260e1f3226791b2f2d3c418b8b112ff596cd5b5cd345feef663a493', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168991194952433664', + chan_capacity: '1201562', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348974487951800', + resolve_time_ns: '1623348975282795500', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'H13oLUQ2MSIZPWWLomgewnjQPklnDpad4CL3eFKDxahx5MhXePCYYWzrgS0tiN2lwqTNfPwREQAirq7nBvi6bw==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2168638251721424896', + timestamp: 1623262487, + message_flags: 1, + channel_flags: 0, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '1117160000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53007', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2170904345186795521', + chan_capacity: '248732', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '02e1c04443ad000c5988103da2e5a5743926e5c600920790a1aa1651962e6759bd', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2170718527720521728', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348975454890900', + resolve_time_ns: '1623348977235860500', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'EqUzUgENdi0g0JEFnY6KLF4FAg/yposLwfqqoOHaRbQHeUyB89K/wHR3NIz9F6to7H2DYhfByryJtvDWK59fjA==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2170718527720521728', + timestamp: 1623329072, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '297000000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53008', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '11', + total_amt: '248742', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '8', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '8718', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2168857054533189632', + chan_capacity: '890197', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '02eadbd9e7557375161df8b646776a547c5cbc2e95b3071ec81553f8ec2cea3b8c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166401845068955648', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '11214', + total_amt_msat: '248742214' + }, + attempt_time_ns: '1623348977364710000', + resolve_time_ns: '1623348978139465800', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'TE+1zpvDgRDUAH5tVAT9PaQjduhBs6zKEC/3gBZIeCgH2II7hLZRXDnBlqZdhZtmQLJjxK45Fi/kqavtkfhraQ==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166401845068955648', + timestamp: 1623339573, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53009', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166401845068759040', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2166415039214059520', + chan_capacity: '344646', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348978293164900', + resolve_time_ns: '1623348980624861100', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'FtD2X3XszZTTT8xueI80BREhdXI9HV8MK5GIpr3kqswr+LyXQMo3P0ANy0aYTlM9cQ3AS7aaqdxfYCiWOF8lYg==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2166401845068759040', + timestamp: 1623302864, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '341200000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 2, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53010', + status: 'FAILED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1835977710205796353', + chan_capacity: '10530185', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '03fd0aebde8713e9c311f22468d3d0524e788b1ef57f4cda41bf5b5a2300fc5cd6', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2159058206905663489', + chan_capacity: '11751847', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348980772545400', + resolve_time_ns: '1623348984824174900', + failure: { + code: 'TEMPORARY_CHANNEL_FAILURE', + channel_update: { + signature: 'H0by/KFV66CTGh5GxWr1aMAOxCoW7FkJef/SjYMpnr8E49X2b+2G7P21ymUdtvYAomucSubN3wQGHnqFXN+y0A==', + chain_hash: 'Q0l/1/gmlXEI9KMP2c7Drrp5lyCE6Q6tAeozCQAAAAA=', + chan_id: '2159058206905663489', + timestamp: 1623332969, + message_flags: 1, + channel_flags: 1, + time_lock_delta: 40, + htlc_minimum_msat: '1000', + base_fee: 1000, + fee_rate: 1, + htlc_maximum_msat: '11634329000', + extra_opaque_data: null + }, + htlc_msat: '0', + onion_sha_256: null, + cltv_expiry: 0, + flags: 0, + failure_source_index: 3, + height: 0 + }, + preimage: null + }, + { + attempt_id: '53011', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004525, + total_fees: '7', + total_amt: '248738', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '248733', + fee: '5', + expiry: 2004519, + amt_to_forward_msat: '248733496', + fee_msat: '5231', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '248732', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '248732248', + fee_msat: '1248', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2169072558823440384', + chan_capacity: '16776992', + amt_to_forward: '248731', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '248731000', + fee_msat: '1248', + pub_key: '039ee4e3a1d7435b399aadaf3e096ddf85e5f17d4cda4491e589b9a9591c171713', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2169048369560485888', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '248731', + amt_to_forward: '248731', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '248731000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: '9RM0886+SiObULWWnDZ8zPH+EPv6qcWMcIWBP5qCg80=', + total_amt_msat: '248731000' + }, + custom_records: {} + } + ], + total_fees_msat: '7727', + total_amt_msat: '248738727' + }, + attempt_time_ns: '1623348984956849700', + resolve_time_ns: '1623350840352156900', + failure: null, + preimage: 'Zc6JoAZtPzaUT5Wb5eqj2+4Yes7+bevwAqmO64/vkLw=' + } + ], + payment_index: '509', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '626261dbe0bca553aa39bf1619c5add0c21b7ee317e0dcae7c3df46eea08f57c', + value: '1337', + creation_date: '1623348967', + fee: '2', + payment_preimage: '58177d56479b95add5738b23016dc1d9c93e430f0602e8711408469be13d15fe', + value_sat: '1337', + value_msat: '1337000', + payment_request: 'lntb13370n1psvy4hgpp5vf3xrklqhjj4823ehutpn3dd6rppklhrzlsdetnu8h6xa6sg747qdq2wpex2urp0ycqzryxq97zvuqrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqcqqqqpgqqqqqqqqqqqqqqqqq9qrzjqg36el7h7d3mgkguapswm2rsl63496vpyykc5f0fdg8tagml4t3gs8vqmyqqqrgqqqqqqqqqqqqqqqqq9qsp5y6sncyyvk2el025l95nsmfhj3j5z0uhd8ljk97jvdtsq38yyrv2q9qyyssqahns7l5v9rhfjh2zum9m82dds370hut0uqj559jztpmr6sk4vevj6d808ryu9qschgfhxp7ukcesgr0sxqv3kgqj3t7l0589dyjqjhgq8af67t', + status: 'SUCCEEDED', + fee_sat: '2', + fee_msat: '2521', + creation_time_ns: '1623348967897815500', + htlcs: [ + { + attempt_id: '53000', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004485, + total_fees: '2', + total_amt: '1339', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '1338', + fee: '1', + expiry: 2004479, + amt_to_forward_msat: '1338001', + fee_msat: '1520', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2044088873059811328', + chan_capacity: '16776832', + amt_to_forward: '1337', + fee: '1', + expiry: 2004439, + amt_to_forward_msat: '1337000', + fee_msat: '1001', + pub_key: '038863cf8ab91046230f561cd5b386cbff8309fa02e3f0c3ed161a3aeb64a643b9', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '1985398041880559616', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '0223acffd7f363b4591ce860eda870fea352e981212d8a25e96a0ebea37faae288', + tlv_payload: true, + mpp_record: null, + custom_records: {} + }, + { + chan_id: '2125937618142953472', + chan_capacity: '1337', + amt_to_forward: '1337', + fee: '0', + expiry: 2004399, + amt_to_forward_msat: '1337000', + fee_msat: '0', + pub_key: '024ef6d6cb79add6f6f7c144519822a17248c244c8370db35a48a25c9a1db8ffd3', + tlv_payload: true, + mpp_record: { + payment_addr: 'JqE8EIyys/eqny0nDabyjKgn8u0/5WL6TGrgCJyEGxQ=', + total_amt_msat: '1337000' + }, + custom_records: {} + } + ], + total_fees_msat: '2521', + total_amt_msat: '1339521' + }, + attempt_time_ns: '1623348968011063800', + resolve_time_ns: '1623350830612082000', + failure: null, + preimage: 'WBd9Vkebla3Vc4sjAW3B2ck+Qw8GAuhxFAhGm+E9Ff4=' + } + ], + payment_index: '510', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: '74a5d61001c7aac3a90dee448b73925b6a8e4d7dd27f3d22d3585c1c9c9c289b', + value: '200', + creation_date: '1623624139', + fee: '0', + payment_preimage: '8d28703af076610cd69cd6c9fecfec2bc85f7fd27a82945cb8d1a7819fb98a98', + value_sat: '200', + value_msat: '200000', + payment_request: 'lntb2u1psvdzdrpp5wjjavyqpc74v82gdaezgkuujtd4gunta6fln6gkntpwpe8yu9zdsdpq23jhxarfdenjqmn8wfuzq3txvejkxarncqp2sp5a5w7pm7920wgtcfcd9ph5cj7fcsq6enxyss36rwmr7sts2y3u0esrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqg06ag53yxq82jfsnhqvd84taw0cxzn0clwcg5c3mt63y5eys3hpsng9peajc6vur3uuf9l56zugpjwaynhrup0qegz587cearrrz89sphnzgen', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624139107890200', + htlcs: [ + { + attempt_id: '54000', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004670, + total_fees: '0', + total_amt: '200', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '200', + fee: '0', + expiry: 2004670, + amt_to_forward_msat: '200000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: '7R3g78VT3IXhOGlDemJeTiANZmYkIR0N2x+guCiR4/M=', + total_amt_msat: '200000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '200000' + }, + attempt_time_ns: '1623624139139808900', + resolve_time_ns: '1623624139464308700', + failure: null, + preimage: 'jShwOvB2YQzWnNbJ/s/sK8hff9J6gpRcuNGngZ+5ipg=' + } + ], + payment_index: '511', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'd58d9c37beb517ff50d674b5f6a9ced55f71994f22e9a53d687190130e9685f3', + value: '300', + creation_date: '1623624580', + fee: '0', + payment_preimage: '1db792cccc5986a2a2e4bb9e194598d609f4afa5d7b522ed028b00c3116b16b9', + value_sat: '300', + value_msat: '300000', + payment_request: 'lntb3u1psvdze8pp56kxecda7k5tl75xkwj6ld2ww640hrx20yt5620tgwxgpxr5kshesdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyqescqp2sp5crfu9rtfk2rnyuydj58rrsm8ujlqr8m92qr9p43vfv9lkzdfac6qrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqqq42we7qyp6s7wastqedh6cmdlw3qn0taj8q78x67lczmzg3gxq4ehyk8gfkjgqlnanu7n8e3aqzm7f46fpjuk9m82s3sl8patfavhcpn2mkar', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624580575464300', + htlcs: [ + { + attempt_id: '54004', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004670, + total_fees: '0', + total_amt: '300', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '300', + fee: '0', + expiry: 2004670, + amt_to_forward_msat: '300000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'wNPCjWmyhzJwjZUOMcNn5L4Bn2VQBlDWLEsL+wmp7jQ=', + total_amt_msat: '300000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '300000' + }, + attempt_time_ns: '1623624580598403100', + resolve_time_ns: '1623624580879000000', + failure: null, + preimage: 'HbeSzMxZhqKi5LueGUWY1gn0r6XXtSLtAosAwxFrFrk=' + } + ], + payment_index: '513', + failure_reason: 'FAILURE_REASON_NONE' + }, + { + payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', + value: '400', + creation_date: '1623624642', + fee: '0', + payment_preimage: '9f6cecc47470bce820d13f1230102dbca48b4f46ceb03988c411e214d625e58d', + value_sat: '400', + value_msat: '400000', + payment_request: 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3', + status: 'SUCCEEDED', + fee_sat: '0', + fee_msat: '0', + creation_time_ns: '1623624642085352400', + htlcs: [ + { + attempt_id: '54005', + status: 'SUCCEEDED', + route: { + total_time_lock: 2004671, + total_fees: '0', + total_amt: '400', + hops: [ + { + chan_id: '1830637382236438528', + chan_capacity: '1000000', + amt_to_forward: '400', + fee: '0', + expiry: 2004671, + amt_to_forward_msat: '400000', + fee_msat: '0', + pub_key: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', + tlv_payload: true, + mpp_record: { + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', + total_amt_msat: '400000' + }, + custom_records: {} + } + ], + total_fees_msat: '0', + total_amt_msat: '400000' + }, + attempt_time_ns: '1623624642103304200', + resolve_time_ns: '1623624642421893100', + failure: null, + preimage: 'n2zsxHRwvOgg0T8SMBAtvKSLT0bOsDmIxBHiFNYl5Y0=' + } + ], + payment_index: '514', + failure_reason: 'FAILURE_REASON_NONE' + } + ], + first_index_offset: '51', + last_index_offset: '514' + }, + invoicesAll: { + invoices: [ + { + memo: '', + r_preimage: '2pkaZtAzVidSFVdxroCb5lK/nVRMdVLOo+vwyvfIuSM=', + r_hash: 'v35jGlmhTum8QC6FKguzt1Bg0dQvIgvCwaz9rK8hSeE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573736904', + settle_date: '0', + payment_request: 'lntb1pwu65wgpp5halxxxje598wn0zq96zj5zankagxp5w59u3qhskp4n76etepf8ssdqqcqzpgjs2wqpft4vgwmymxq7e4ap9ckfkcg0q6sc63vcrtcy04td6ljdayg0039z9fa4h2ehm8f4unggjl6lefj8uqyjh79affxxptylqz3hcpwnp4wd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '1', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'shnzdAPE1B4BViDDRQQ6+HwNppWa7S+ceoKbHFqGjbU=', + r_hash: 'ujTriM/VchDBZvq0nUqHmWvxjttkyzL5Ti5HINS3cBo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737087', + settle_date: '0', + payment_request: 'lntb1pwu65nlpp5hg6whzx064eppstxl26f6j58n94lrrkmvn9n972w9erjp49hwqdqdqqcqzpghy2lgj0gu7njz59njvt2j9rpyuxd08mjf794kn07xsxede3mlenxucxlucxk9j9p7lww2l7rnhj9njp38kswx4lrfxavrcrp0ph6zdcq89kg6a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '2', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lEsWyIbLlVoQ7CC72/cJcczO5Z7yU3up80e2cw3GlTw=', + r_hash: 'jZ/SF6F6NDIzFhnCsoLrJilC3KTL1riPLUehX556rDE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737169', + settle_date: '0', + payment_request: 'lntb1pwu65k3pp53k0ay9ap0g6ryvckr8pt9qhtyc559h9ye0tt3redg7s4l8n64scsdqqcqzpgeezh3263jn46dkds2h86wp37p548f9q8jm442musr2s7nm75tgxyhlx6xrdzzna0jdtlfcne40mfagvch9cjf8u0e0n6ahj99eg5j5cp4m28l2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '3', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'MT9rF5lM/GYvQJmWweRH+7ay2MpcKTb4uzgDXdhmdyg=', + r_hash: 'MwmytmElcVNnSakGyH3naFQjwz23+Z5/bP8ejCQkGoo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737317', + settle_date: '0', + payment_request: 'lntb1pwu65m9pp5xvym9dnpy4c4xe6f4yrvsl08dp2z8seaklueulmvlu0gcfpyr29qdqqcqzpgnpnwnutjfulnx58vwweqw3a4ufzypy0p2hw28dujtpxqv6vjallpl0uvzxztvuk2xdye5zk2edqjghggct4squqwn5pegplrfsgrf2gpd0rnxy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '4', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'WpN1kuTGPciw2kJcS38kdNm+//ZBf6gB4t/LTBFKm6U=', + r_hash: 'LLV1Wvl+EogkdKxkHZy5zU4GUd7jh5E/15bH0tp9J8Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737319', + settle_date: '0', + payment_request: 'lntb1pwu65m8pp59j6h2khe0cfgsfr543jpm89ee48qv5w7uwrez07hjmra9knaylrqdqqcqzpgdpqqfx5trsqpjfluscrywutre44y7pl2xadsewyqpeq6m8gp7r3j6cp89vvg4qee9z5jqtf8mqqnz2vh6q22pdkuckzqvtkahpxe5vsqfm6qvq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '5', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'd5WEsStJMeRQdk5UDWVurNH1r91XgKYOf+B6QwmENNA=', + r_hash: 'eCvppA0gJbgu7/kGcMpFEdwLo/GUWA2Nbv2/pk9Vi0g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737330', + settle_date: '0', + payment_request: 'lntb1pwu65mjpp50q47nfqdyqjmsth0lyr8pjj9z8wqhgl3j3vqmrtwlkl6vn643dyqdqqcqzpgj25twzakpukhjfc7e9ccjqg8nmtappyrx8fv0uk3vyamczh0u5t9l8h07wgpqc3l7zf3tsa4ea95lm4xemu93qqnp7e0lq9agpvg8qcp3sjxhn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '6', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JtfIPEa/ZIntNaIYncttTAxFL51/zBHBM3Qo3ofD7AY=', + r_hash: 'RHlU3nJQIwlNxamTRgZkMLmQStmmQKwIFNI9iowuv9g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737877', + settle_date: '0', + payment_request: 'lntb1pwu64v4pp5g3u4fhnj2q3sjnw94xf5vpnyxzueqjke5eq2czq56g7c4rpwhlvqdqqcqzpg9dce7xm4wc0vctq2h9zqp0sk5ef7y8m7z7cxmv7c5nrvze7v47ek77ksa0yurp8jllfuyx4w2uxna9fh8w57stpncu84wjp3yr4l96qpzt6jvk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '7', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '81klBoUXts4r6Wxjl2OZox/eA9uLJmYv3kd4vTfr9I4=', + r_hash: 'b4I5G4VDjj76+6RxsLC+t1B8AIXcMfHX8f8EwTS8dDc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573737971', + settle_date: '0', + payment_request: 'lntb1pwu640npp5d7prjxu9gw8ra7hm53cmpv97kag8cqy9msclr4l3luzvzd9uwsmsdqqcqzpg4udemxp7m9vzjmfuwl34ytnv4zmd7g4lx97830rd82fwfr5h09xjw3088e40vkg0maf6qdrrz4d83p6lfshzqtq376cg0ye6g2uadqgqha8d66', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '8', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'xk0VLM2TywMoejqcB3cpCxJEcSHUj3NIJYWYv44uSwI=', + r_hash: 'Ih+qmSBqwj+bcOVjOkdYlYQDKUBTcnX2L1cASBwKuR4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573738080', + settle_date: '0', + payment_request: 'lntb1pwu64nqpp5yg064xfqdtprlxmsu43n536cjkzqx22q2de8ta302uqys8q2hy0qdqqcqzpgsr3v9u88gpc4df3h5ysfejdplqjyvwwv223jke6pws6rsr2naz4swt54z33a4yqldygcx5c0xak6mj4r63d0az6n4g5rr6tyj3k0s0qpsuasks', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '9', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '37eKO0hdMVrvotjSXomV/5o0XycDVG6xatret6a3WFk=', + r_hash: '65ME15F7DY6LwYy5fhkNI3sS8qle40z6oKUKHs1TTpA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573756057', + settle_date: '0', + payment_request: 'lntb1pwum8yepp5awfsf4u30vxcaz7p3juhuxgdyda39u4ftm35e74q559pan2nf6gqdqqcqzpgnuzlnf44xzs07dfgxgg7tdld6fpd9xjk5te3mh4arfspmuk69mz3vpd2vlmcpvd35wmxumtja552pt9jd6g9nzrpe9d4suv770uhgxqpkh8ngk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '10', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'MRwiCuX/zXkqnLyV2Tp3csbRjM0jxRu6qlKLQgdxR9Q=', + r_hash: 'Gx6skVnYipeHvaZuxzkF97Yx9Lsj0PInPEcXuREAMA0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573756073', + settle_date: '0', + payment_request: 'lntb1pwum89fpp5rv02ey2emz9f0paa5ehvwwg977mrra9my0g0yfeugutmjygqxqxsdqqcqzpg8p05jyqe3em42g4d35kwrwe7d62ddnygq2n26ew8r99tq32ua3whruw6rqycjumldk6yraw000qwkm7afcshy903xsjxvrc8sgewz8gphcgd3v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '11', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'sDz5Qfrxhh+h2+O1bBFtppJ6XM4j8aqT7zoz7nNgMxc=', + r_hash: '1oSW8ma2T1JABkSOGEVdhl5AARJcgxtdTVSnokB0dbc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573756080', + settle_date: '0', + payment_request: 'lntb1pwum89spp566zfdunxke84ysqxgj8ps32ase0yqqgjtjp3kh2d2jn6ysr5wkmsdqqcqzpg2gde02cc4w947tja54xpfs2525xp6wh0vemqxac078cn6d0x8ha3p8lkd5g37mkelfvvq0j4jwugnmhm9jcw0k5g9htyznupdu8temsquxzgth', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '12', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Kot5g/l8cC7Xnm272GRtnncecUOyDxkOyDpkMVyCQIU=', + r_hash: 'jJbapZ7N3EGzlK8uH3fXOypGuxN+/iEyCPhPhWFPRo0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573911894', + settle_date: '0', + payment_request: 'lntb1pwull2kpp53jtd4fv7ehwyrvu54uhp7a7h8v4ydwcn0mlzzvsglp8c2c20g6xsdqqcqzpg70h44eaeyt4m58650hurcvym9lr5cjzws8mts8lv5zcfjfmann6pp3rjppgprd7lkj50fgzx08d8ud758ue2vh53ydhday93a5sknsqp2ufxpq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '13', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'xuRdetsH0Jd/zEhaT5colT0JNmO8FQpenRbn20kXxLI=', + r_hash: '9hPDx82Ly815V6v644hKAArlAYzPdoM5kfRCahh2ZMk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573911950', + settle_date: '0', + payment_request: 'lntb1pwullvwpp57cfu837d309u672h40aw8zz2qq9w2qvveamgxwv373px5xrkvnysdqqcqzpgyk6xxv870n7u0gwyj7lrqnygyxj29rdg03ue7jm452chy3gtt8q9c9kr08a4h2t2sfrwvcf7uhzw6pe0uhdqt37w0yccjdyx63eg5kqqu7cdnr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '14', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '7kLGOUgQPqJxFZMdG6AF5Z+/COgY/UvyLZQ1xngnQ6U=', + r_hash: 'bJQww4fEg2g87Mb+8PhBdr4iGD7tLCjUmnzUh/aU+bc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1573912007', + settle_date: '0', + payment_request: 'lntb1pwullw8pp5dj2rpsu8cjpks08vcml0p7zpw6lzyxp7a5kz34y60n2g0a55lxmsdqqcqzpgnxhxln3wvarl5y9wddxm5x0n6ze5xd302pqaruyn7k9pdcc8d2kn9n758wwrg4j4q6u6lrdfrfnz3z9m0843mcjygh5ldqrlq4e5hzcq23nu4f', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '15', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ilVbs7msCRjm1AOpvNwjIlQKDD4nhSIX2PvDEqSw7Cc=', + r_hash: 'LnnXZ2lLy8PCAzOgFfKYZ3QpKMqdiYZJAfPJpNTWzTY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264131', + settle_date: '0', + payment_request: 'lntb1pwa2h2rpp59euawemff09u8ssrxwsptu5cva6zj2x2nkycvjgp70y6f4xke5mqdqqcqzpgz6vt5jrw8wz4nw6e4p7a0d9540kw3ctqtr24zjyd0je45h54u8dqlp66jl2wdjud7nepla8wt8g8sdz4djx8003t9qlvf3hcl3n8lysp07qc7w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '16', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 't75tUDVKWYqFakuil2qjdpIPz869FysKiIFC52k7e9I=', + r_hash: 'a7b7JcU78IfZK0A1TBLjYl1XFg8g7k4PjJ2Ut/TPBhI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264266', + settle_date: '0', + payment_request: 'lntb1pwa2hw2pp5dwm0kfw980cg0kftgq65cyhrvfw4w9s0yrhyuruvnk2t0ax0qcfqdqqcqzpgt87wnvwxgprl4pjvg60uwq4xhsr6fvavpdarhw7zlrx04yn6gcyqefxcavtsmg8ue0d2d5yq5mf0lht7zwgu5pyfker5l09sdhguq3qq07ghmc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '17', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SElgsoPaEpCiYdnf35Q5NfFrxSS8ldJSxh0IkKpTLvc=', + r_hash: '2Xe3760eBgbEA+lPpgugoVlm8dSKivGGGConapMbKUQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264301', + settle_date: '0', + payment_request: 'lntb1pwa2h0dpp5m9mm0madrcrqd3qra986vzaq59vkduw53290rpsc9gnk4ycm99zqdqqcqzpgfkt6g9w4fj9sn3yc2qrjxyu2c4cgkpvaptq2mx29xnv4dsqerjck847hs4w5mtnyj87njr00g94ra636khq685qqe2559k92fjual5gp9f4g8w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '18', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'RZWL6wSEugmh+1+M8BQNboTHlpb6YN+4axuCKEvOgKQ=', + r_hash: 'IKBv06Wmw0ZMJoLC49Ri+11FqlVc76EIQTDfhwmlreA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264377', + settle_date: '0', + payment_request: 'lntb1pwa2h3epp5yzsxl5a95mp5vnpxstpw84rzldw5t2j4tnh6zzzpxr0cwzd94hsqdqqcqzpgx2c5ka2ggzree877wnq0wcrff7hzxy8c3nrr2x9g2arla0wvw968wyd6zj007rlpg8qcj72ufdt2juwjg2x6l7n6rm9ry300qvfqj0gp5pqmsx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '19', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'bJZShpb0KZ5pb33m6ZSmUJLdsG0vyyl5Obs7CpS9iog=', + r_hash: 'Q80R2eyrj8pm3GTSI5U2pWoC8J6zmWsqz4jScPKqr90=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264546', + settle_date: '0', + payment_request: 'lntb1pwa2hhzpp5g0x3rk0v4w8u5ekuvnfz89fk544q9uy7kwvkk2k03rf8pu424lwsdqqcqzpggmghv28thycjdgahnnz9j9s8zr3l4v3hljjpm3zm3nhpt6kwejp35wjzepgjhj2qlqh8n2tf4unkzmh2dzjtaulrm2zy5fvl954lpycqs9rfx3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '20', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'VWqwfVc7S5v/Qu6PAcwOcWQSl2njlclbybMvoh5Gcqs=', + r_hash: 'QER5W9T4tAKzL1SybgFwhNxtbc9MuSN5JS/DZNP+H58=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264552', + settle_date: '0', + payment_request: 'lntb1pwa2hhgpp5gpz8jk75lz6q9ve02jexuqtssnwx6mw0fjujx7f99lpkf5l7r70sdqqcqzpg68l5glchnwtwn3kcxcmufwmdc3m6xlzyrnplrujyefyghr94cpq8kgpg84lzgvn7heczlr3r67xdf8ru784z0seunm42n5uq93vye8sqmsu6nw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '21', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JXH0u4XR/kctFW1Jmmajf1JWPJ2tiF4xGHnj0q7UOw8=', + r_hash: '1HrB9eN57/jH27k6qLBqikkERKAdeiD71gujftS9/20=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264619', + settle_date: '0', + payment_request: 'lntb1pwa2hetpp563avra0r08hl337mhya23vr23fysg39qr4azp77kpw3ha49alaksdqqcqzpghs9yhtkud7367hguxs5hhc3wwxdjrzh7u43x0p3rgc7hlephrvy5qe8t9gx27rucatla5vfnu476kdypz4qely25efqn7pgurnl0fngpacgwzz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '22', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'uXgTbhBog2172rClRoPIXkiDjzHn9+YJIiT5gGCMYL0=', + r_hash: 'hwBVqmP54HKYInsoTFgLJyjS8JwHUMUzJ1i0d+w5SUM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264654', + settle_date: '0', + payment_request: 'lntb1pwa2h6wpp5suq9t2nrl8s89xpz0v5yckqtyu5d9uyuqagv2ve8tz680mpef9psdqqcqzpgvx73rrn3gg30dqadl6a0qpzhyay240nn6vdcx0jz2tls4q3cp7q4u07ylghz62zd4pxwnqdfjcgphqhncgadgxyrg758emvtvgh8udspqf68cw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '23', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '1sOG6Dn2OYZ938Rt8ZIvOg5Vn1glSx9OzNmA+b+oDos=', + r_hash: '5Ame3EAzNOVdD55h99hefKLsZ6fye7qJ/MMoouzD6xU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264762', + settle_date: '0', + payment_request: 'lntb1pwa2ha6pp5usyeahzqxv6w2hg0nesl0kz70j3wcea87fam4z0ucv529mxrav2sdqqcqzpgsd33s9hdfmm8lpj0jrdq5n04w608l745deah6cm0a3ft8jyw5nw33x74lqxy9r8xpadq0yv2tql4m6l4g3kqe9523r7tavypwelr44cqws08xz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '24', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'FSCUss5JHm6WnsgEkdruintzGT08PCwfFsNA2qLpysY=', + r_hash: 'PvhRQHtDvSqXWUeO9Y998WqaHxhv1MSoJNQZ2UHp81s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264800', + settle_date: '0', + payment_request: 'lntb1pwa2hlqpp58mu9zsrmgw7j496eg780trma794f58ccdl2vf2py6svajs0f7ddsdqqcqzpg7jjezhfdajauzljczqjmywmfkkg9mvfvxz4g4gn8c47e0acftgzxt98xm7wvpz84ml8ja0sg2gfll6a7gqcgu7qmp7s4zu6yvx4j9vcp4fhu6g', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '25', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nWWRkl4LW5wF3TK+Rsm4scJELLRoxX6sDdFw0P12TOo=', + r_hash: 'yiDae6GYzdUOwGslSTj25fzzuakmXf9d/gse3h1CU8Q=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574264954', + settle_date: '0', + payment_request: 'lntb1pwa2cr6pp5egsd57apnrxa2rkqdvj5jw8kuh708wdfyewl7h07pv0du82z20zqdqqcqzpgkpx9828wrkfmf5yy3ek0mhmang9y4tsszg3e7049h5nu53y94w53snamre8n76cn554r8wwutx7xy7tgkmswue7x6g7sfnww5csa2fgqw9mteg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '26', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'HDk9M5qtrnY+05zxZ3pMg0YMrJUbvIYhUQ6lGvKIQj8=', + r_hash: 'zdczwOo92zM6Q5cyIYvee/n3JYHmQlqF4RgVIJaH3XY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265121', + settle_date: '0', + payment_request: 'lntb1pwa2cfppp5ehtn8s828hdnxwjrjuezrz7700ulwfvpuep94p0prq2jp958m4mqdqqcqzpggqycstyne0auzz3zss5f24lp7uak9p6agk2jw5evgqzc0z2e5mc5uvdj3mcjnratlh9e5u35ekqrq96e5pdh77r0lu7csm9dpfsnwxcpd38hgj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '27', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lkYG1MlpQ9Sw6Q0iq34y2tViRhHXAE3naVDMvdUmQNE=', + r_hash: 'QxqkPd+oBT1uzr+FE10BdA/vhgNi7uq7FmtNWrtiS7E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265174', + settle_date: '0', + payment_request: 'lntb1pwa2c2kpp5gvd2g0wl4qzn6mkwh7z3xhgpws87lpsrvthw4wckddx44wmzfwcsdqqcqzpgw87l7v2rfeldrp4paykhdecgens7v9g683tmx2qtssfjmqzvezr5dtymr4cgwd5udhh0wk5jwyqwxk4t2pc8cdnzm3ghk2en7wluz4gqpj00ry', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '28', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'HV30uV5X+0qnXmBN2MAiFp08nn+tjCNkj/EHn+XgBdU=', + r_hash: 'MmNo4gmvbrCyVZgVBAMD761JiL9HZWY60XYg2Aq0sDI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265597', + settle_date: '0', + payment_request: 'lntb1pwa2chapp5xf3k3csf4ahtpvj4nq2sgqcra7k5nz9lgajkvwk3wcsdsz45kqeqdqqcqzpg9umq6jx4uwgzmv2ea3a9404kx9ne8vcj2s04qx5hu596f5m8ecqy00mnjs8gh64rr4cz0yjs8qsx5n67f8wpfzsjegjz7w4a8zax0vsqwews2z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '29', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'GPtoESxiTNhVkuKTAP7pG80pC4FecX+Uv4amReFLN7I=', + r_hash: 'ycwKL8ki7+CaGazc0crvHsaJnb65ckULoTZHWWafOiM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265665', + settle_date: '0', + payment_request: 'lntb1pwa2c6ppp5e8xq5t7fyth7pxse4nwdrjh0rmrgn8d7h9ey2zapxer4je5l8g3sdqqcqzpg0tx5e9znksf0lujk4hl3hs8j5ae2kkazxq5sm9vwhtca8df8tudnh0xp2ptwpfx0peyeyjmcl5fxxa525rmchef32622fxhpeeelypgqky0m67', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '30', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'h3DfaxgK//TuJFA2zIaFq7O3GUzjCfICpzjlv6ZfGO4=', + r_hash: 'tMEBp1T/pmcFvaL/jUx+XHMzwhx4w3cGzv5FQI2Qm94=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265837', + settle_date: '0', + payment_request: 'lntb1pwa2cldpp5knqsrf65l7nxwpda5tlc6nr7t3en8ssu0rphwpkwlez5prvsn00qdqqcqzpgna0jmxz02z3y0dht5js477f2wswdpvmjm3h709j7h4n0t27c405pfct9rzj47xyncj2e8rxh0jtlvvt3vwgyz82z4nszeqygdks55cgqg0zc7n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '31', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PeMFwIn8pQJR+PrPyLj3awEIG77woqF2jHOSemNY9CI=', + r_hash: 'ecdUVgMHToCEgmUso9EFbfJ69sg63l+JsTHt2w0JkSg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574265999', + settle_date: '0', + payment_request: 'lntb1pwa2ey0pp508r4g4srqa8gppyzv5k285g9dhe84akg8t09lzd3x8kakrgfjy5qdqqcqzpgzpvaee5hu2hqtxz3sqhh44epzgvy3tggedu4xea86gdfgu2mznmrx5x0eedpagtrmga0k9fyd3dc9vztk2dnjlfe2tj8wqhklh9z26cptkdyyy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '32', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'YVSoN2avcRe0hJtHndnyHe7KlL8uMhN/diZV7FWfHqs=', + r_hash: 'jf65mJAB0DZaK3mfLSTvY05pnZP1L8ROEctz8wA6oAc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266059', + settle_date: '0', + payment_request: 'lntb1pwa2extpp53hltnxysq8grvk3t0x0j6f80vd8xn8vn75hugns3edelxqp65qrsdqqcqzpg42u95hxfsn73u207xnpk4mes6kcw2puux8h6zvzhnwnhrx3wwly89es7mzstzxl3y5av2uqctq37v90m9r46prg3llq0p6smpsue39cpnzf75n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '33', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'FvPKzxJfN03U0HC1tqvxzwyIH2f2Lpr1hGTYaGAEg4s=', + r_hash: 'BwDntC43CX/y5Py8OG4ao66R/na7vFuLx9wBo/w+TGI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266075', + settle_date: '0', + payment_request: 'lntb1pwa2exmpp5quqw0dpwxuyhluhylj7rsms65whfrlnkhw79hz78msq68lp7f33qdqqcqzpgasdu4p7tcrx9l79ezal5dsgdzkk876tpsytq34qny890qeczj6m8dmq5drf9ljjvek26hzett8cdkcwjm2rm4pftmhhn5kxhrfw82nqq0efgt9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '34', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'aRWscPmi/JKYncM36aWEiEIHqrQafZ+J9AomuYGBlsg=', + r_hash: 'jTqyWlMQdOhRTlCvHpqrFVkUCgf4eZBUtcla529/v1A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266098', + settle_date: '0', + payment_request: 'lntb1pwa2e8jpp535atykjnzp6ws52w2zh3ax4tz4v3gzs8lpueq494e9dwwmmlhagqdqqcqzpgx0kfvlpxq5nve5xfksw37ysv63ptn7rzv79mzp9wf6xrcy9z9mpn49yf9kxmk2pfswsk2hp7gmxcyrvz8g4aqnkj2wnsdyn0dc2hnespa88ygx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '35', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'h5g9gIIS1gnKhUm8O6iuAbBOWI1IMFIIvpo5J/XyawQ=', + r_hash: 'D53HJyXuh2r8W/cy4k6/IMs7ct0HcwO7dFR1gK/gLeo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266136', + settle_date: '0', + payment_request: 'lntb1pwa2egcpp5p7wuwfe9a6rk4lzm7uewyn4lyr9nkukaqaes8wm5236cptlq9h4qdqqcqzpg06ftal7vmljvly3e6rycchydepkn8pmyk9lwaxwysfpxt380clfnwpf60glzvlr5g27cxh6s6l80pgj0xqdk5ja4zk0pgrp4tm0cglgq7rt4ce', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '36', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'X8G1rbU50euZ4wyTh9sxKY6OSMS1AVzmYVMsXnz69W0=', + r_hash: 'Dr8XusRUx6fu4/XudKml9XJiJZC0xpXfQ1UQM761v4I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266231', + settle_date: '0', + payment_request: 'lntb1pwa2ethpp5p6l30wky2nr60mhr7hh8f2d974exyfvsknrfth6r25gr8044h7pqdqqcqzpg4ep6ekek376jypdq6rdy0hzfmq8fx8a2mmw3e828j6k6wyrg3359uv9ymhqga096lpvps0esj255jvhltexw7fxmvxka0rp5wwaet9gqege3pj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '37', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'pxH5AFQivl1G2VkPSNiF5QQvFLTUbndNdQKpNC9nTT0=', + r_hash: 'r7xbC1fTOylYrM6qvqNEGcv58zOuYJfss+KMEzK+sZU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266570', + settle_date: '0', + payment_request: 'lntb1pwa2ek2pp54779kz6h6vajjk9ve64tag6yr89lnuen4esf0m9nu2xpxv47kx2sdqqcqzpglz8258yfj7tg0z4rpjtlxyu40kn6za8xha8fned8qfzpdz353e754ht630jy5pm3dcslczfwh0u3vzkffujl8tjs9p4vk35x35lj2dgpmm89cm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '38', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'H86uD/rQFoSh8rZBqvw/p0kmOYGrR70DbH4RnoJFoaw=', + r_hash: 'ekX0cxe/lol9ppp6HSI4SZjNS/ctgkX+BbozLHna+qc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266914', + settle_date: '0', + payment_request: 'lntb1pwa26pzpp50fzlguchh7tgjldxnfap6g3cfxvv6jlh9kpytls9hgejc7w6l2nsdqqcqzpg3r9v4fyyd82x87yaxxw26pdhpqfp3pxhal35yu3my5a3v3uvlgfnpwrzpk9rkwr4jj27dx9edxjef7rl6n80663cnshrlxk0yq3ffhcpflqqev', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '39', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'tkH7Noog7ZGhUNDesJwv4GzLicML1ZGqRP+9pbR7694=', + r_hash: 'ZsptGOwNI+xfHr6S1IvLR1cAJhrRVn+uLEJhxxnekL0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574266992', + settle_date: '0', + payment_request: 'lntb1pwa26rspp5vm9x6x8vp537chc7h6fdfz7tgatsqfs669t8lt3vgfsuwxw7jz7sdqqcqzpgmv6ej6tsxgsynla6wj6u03h2q8870u0uck5aftt5c4l4g6pzrtu3gzpnd9uyxrjcsuet6x5y2uszzqez6nm6dgsg6p9keh4j9usk6xgpzu530r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '40', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'b4HiigoLWLPrzk5GD61gA3/3zFv8UthhH6Zk4kCLEfo=', + r_hash: 'rgZzeTHO39WTm6kQg1H/YS1kCBomWditbEopYCXkrpg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267034', + settle_date: '0', + payment_request: 'lntb1pwa26y6pp54cr8x7f3em0atyum4yggx50lvykkgzq6yeva3ttvfg5kqf0y46vqdqqcqzpgjygcn7ad5nzft6scfpjx33yshtc0rzn0wu40dtd0d37z5vkvywjzvdahhvta946yde7e2sgjduhjus3652mqq28apjrn9hjgcwjchdqpnnngqp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '41', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'G4q+a5RErlUQ38n+AzjhflVjWKrplNTAiWoWT+vOXXU=', + r_hash: 'XwTTtUOy47CJncXNV95CmW/fk9Ig5KqgbY6ldxpob+g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267074', + settle_date: '0', + payment_request: 'lntb1pwa26xzpp5tuzd8d2rkt3mpzvachx40hjzn9haly7jyrj24grd36jhwxngdl5qdqqcqzpgkh80jes2awzreyekjtc47x5sa9kuns5ykx9z2qstzkd9v7xhrsjhd5xypgk4vvpp9htc6rydhfg9fgln22uuq3glylklu3lnyhp4hwqqgn8f9a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '42', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'kNK8yVsaqOGB69BPD22o4fEICw0P6u9Jlc5jfYQ2seE=', + r_hash: 'Ab5IufbNsbC4uR0ZWBq3pGQ+isFDApOuSVovA2sqWIg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267143', + settle_date: '0', + payment_request: 'lntb1pwa26g8pp5qxly3w0kekcmpw9er5v4sx4h53jrazkpgvpf8tjftghsx6e2tzyqdqqcqzpgcachu2j9vhhlvsur62a99zrx4rfckz36k3s23vu4vje4zv56qtwxh5wty3q2g6tpalpkwplg3m859edf3gggekm0gezl0l203zr9jdgpt8x0xn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '43', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'cj2mRtkQatDdh085DsDvK3ZYlkq+i6Nm9Hu214Rx2q8=', + r_hash: 'o5SXuVn6/5Zqi8MaMswNywlAUOUKfPHI4+TwGcb4eLo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267165', + settle_date: '0', + payment_request: 'lntb1pwa26gapp55w2f0w2eltlev65tcvdr9nqdevy5q589pf70rj8runcpn3hc0zaqdqqcqzpgyklzz437l4eh7xch294pw9rgndn087egenpeutghfdmqr9l6fxeqgcq58qun2mr9vqvyhccn6xqrdmgufmfg92gj39edlw562rwf79cphqnme9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '44', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JwScvoXfMn8LszyopZ5FNOhP0iMnZ/og5TIGsQlYv08=', + r_hash: 'KvIqOYXAfQJD+8x5i8Kbm4lUXEwCK9wQWq9yx8oriSA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267358', + settle_date: '0', + payment_request: 'lntb1pwa26w7pp59tez5wv9cp7syslme3uchs5mnwy4ghzvqg4acyz64aev0j3t3ysqdqqcqzpgdhyl4kq63pz79taqae8h2jz9guscm4wkjmtpmr7wuc4nlfpxkvy4yh6v4crzu6n2pehgaw9ds6uszeh3ceuxghnszvjref2pf8ylxcsp67848g', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '45', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'aRss1lCAw9+67iym3rO8CG/YTsGXflHLsN6JGnoK7mQ=', + r_hash: 'dhTs8qdJWhcn/KE5VXipib1Nqss3rphnD7wDUKoHp6E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267575', + settle_date: '0', + payment_request: 'lntb1pwa264hpp5wc2weu48f9dpwflu5yu4279f3x75m2ktx7hfsec0hsp4p2s857ssdqqcqzpgml2nxn35l2j6zkhp40nxzknwdpelhsqx3nxwn558jjygwhlaeazjhntcq790zv4mnpkkqr25ypm4mhceaewd4aa3qdqxwllx9t7x7hcpwamerl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '46', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DQmYzryvPjpVUPg5IsaV6WaRJRsKiR4aaZlceS18peU=', + r_hash: 'EMGrhdITpEOu6bk3/cstiYNoTN4NuZhNkmcq0Wz8vr4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267644', + settle_date: '0', + payment_request: 'lntb1pwa26hupp5zrq6hpwjzwjy8thfhymlmjed3xpksnx7pkuesnvjvu4dzm8uh6lqdqqcqzpg0qruhq58jse4e5ejzgxe3l4dw2xv5nl2qj5cuala2wh3f4fmnfmngnlgnew5sunqfnq4gep5nwk502ajgnz3j4qq90m9j3smndav9fqqrxdeld', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '47', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'pqKJ5agW4Qvg9OVe93pb4s0zeMZu3cJhZHAsMsgzIs0=', + r_hash: '9wp+pAs88GBqNIAcZxFjkP3qIzqN+F+adQGyKr6T4Nc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267727', + settle_date: '0', + payment_request: 'lntb1pwa2660pp57u98afqt8ncxq635sqwxwytrjr775ge63hu9lxn4qxez405nurtsdqqcqzpggfj2xuextw3sam50u4ylrxnuwtepjt6403uzkk4e72e45zlsd34yfw4amnlpjsqwrv0m5mcs2resnkzhyxety5y8sxa252j4k8sczgsqr8qs5v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '48', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'XhaatgTU6QnglnxdAjuyNKougEIZ8msWD3qAGs9+q6s=', + r_hash: 'G4bfnPsR7v9KtzRgjpj1o+zy1doRtxc/CAaEPVTt2Ak=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267761', + settle_date: '0', + payment_request: 'lntb1pwa26m3pp5rwrdl88mz8h07j4hx3sgax8450k094w6zxm3w0cgq6zr648dmqysdqqcqzpgtrmue4cxr5qzwdza6lx8sluyql2hgp3z8hgnxyh60arm6y6433rj7nszmyc0vv2sldfp0rr95ue7r7cr2asu97vwyq77auv48ffsnngpykx9v4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '49', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '7TSM0B7JvpxsSYN9lYGgFRtqG2aXApwInpAGi7jAzVI=', + r_hash: 'WcSHHO8doLyIPy09FGTHXcsM7Hn9sYm6T+KnfpZxu/I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267838', + settle_date: '0', + payment_request: 'lntb1pwa26a7pp5t8zgw880rkstezpl9573gex8th9semrelkccnwj0u2nha9n3h0eqdqqcqzpgy66kksp0gg23a6jm2z5rhdgf8rn9eajdettq0cmpvvfkz4zhf6hya8nnsqq4rqfs2lsucg407uus8pjyuf34m3r73vzfwwg7rqqwvrqpzzgxdh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '50', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'OVXRe7FrhwnzhXrNiKxtG9dVDIwjEfMEFFqPMWGS1gM=', + r_hash: 'II5Kehs+pVuBK8357AaNG1gVy2UJbcnTVaKFni0ajRM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267867', + settle_date: '0', + payment_request: 'lntb1pwa267mpp5yz8y57sm86j4hqftehu7cp5drdvptjm9p9kun56452zeutg635fsdqqcqzpg08feelulquqld3q9knrwpa3909xe82m3t2l96cpakjy5y3ncrpu80mt7vyzvtmhvvkkltymlt0fcuvg49km6wn9yk5xtst54jtfcksgpmgzzzw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '51', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nH6PItV/ydnZ0lRW/0zbP6Ftfnui7ndOI+KlgslSiw4=', + r_hash: '6vUt28BXGW/8TmTIqWkKsYX8uXzi6jogIXhX4BVCNm8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267933', + settle_date: '0', + payment_request: 'lntb1pwa2mqapp5at6jmk7q2uvkllzwvny2j6g2kxzlewtuut4r5gpp0pt7q92zxehsdqqcqzpgslvp26tp6mdd9q4ze2k0rx5uzpuxqg4lkpe2lqy752s7txhf4edrt95ntvxgvkwdz42j8rhtv0mgkjx4qejrvzcv39vm883tj54r7zgqvve98z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '52', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'zYYPxEHN8sw2diVJAcA5tvlVVHidv1YB3GRjzMN9l8I=', + r_hash: 'rfwasUPJfv1X8bUjTO24kyA0tc08ZCtSsWU5MAU6A+k=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267950', + settle_date: '0', + payment_request: 'lntb1pwa2mpwpp54h7p4v2re9l064l3k535emdcjvsrfdwd83jzk543v5unqpf6q05sdqqcqzpgc0c98vg9k5z2gfjv9dup4exq9738qr86mnspm38rapx27fg4ndlyfx27hh067hf7352d3tj6k086vfck0p6n8ev67vcjez67xd77hpqqedsqqx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '53', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'AmHLvHyVhNhMQ188Y13U+ir3IrtAXYwPdb2a77VQ20M=', + r_hash: 'EAxvFGrja0Z7gKiFZL2fv6kX5hx6zW1GGFnGBTaI3MI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574267985', + settle_date: '0', + payment_request: 'lntb1pwa2mz3pp5zqxx79r2ud45v7uq4zzkf0vlh7530esu0txk63sct8rq2d5gmnpqdqqcqzpgknrj4h2x0wc9vk6xmjrq9c690p6ccqxr6hyw3n8cgfk702rcntw5rmrwc9tc5yklpd8gsktgkcgk9yqtdvgr6gtjjn4sv685ymmkzmcpvzlq70', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '54', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '+xbZmVLISE+Cu5DH6xQ1K+f+HWXIIvJT8SF41tkjuAE=', + r_hash: 'dbcjk2lGSDSQKlxuTjrxyLyQKHrlowgY4f6Ds8+YHNQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268003', + settle_date: '0', + payment_request: 'lntb1pwa2mrrpp5wkmj8ymfgeyrfyp2t3hyuwh3ez7fq2r6uk3ssx8pl6pm8nucrn2qdqqcqzpgq4zyh3m0q9rpq8a4qqmw22jekc5p2rned3t8kpu2yv57euhfrkz45taeac2vmkjukn9pjzqt04nae7gpfun8mj7n5fcs6m2zgvftf3sqpm6yt0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '55', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BEGevBlkQ2uz0a3iOijbhEGM/SM1fhCOq9gdwhXE87c=', + r_hash: 'wnCW1wyJIwK5tn1lL6ph8HEZilaX5rcr4oXzPWq66J8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268071', + settle_date: '0', + payment_request: 'lntb1pwa2m98pp5cfcfd4cv3y3s9wdk04jjl2np7pc3nzjkjlntw2lzshen6646az0sdqqcqzpgxhfgc4e9mxfslndfugca73xr5dlame5pp0jhwxjgqej8u5e5c749cfws72qs4lqcn2wgjx63nz0zlf5zfscad3ql4g7egkl9flqn23spm83sy0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '56', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'R56Pb0oelXuG0iMzPsmXDAICnKUmpJs0wwp7fsfFi20=', + r_hash: 'H0GNMADI1LvSd92Rm1oNPggjUsSCyz2Ow34RfkdNMyk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268108', + settle_date: '0', + payment_request: 'lntb1pwa2mxvpp5raqc6vqqer2th5nhmkgekksd8cyzx5kyst9nmrkr0cghu36dxv5sdqqcqzpgv33a4hzjl4hr4g9rt6pgzhcye4ynh5vxczth8fzpgx57c29ttzw9cmtkjsz87ey7hwlmhdvks5f752h9yxg9n5k57l50sv4rstn37hcpywhs6x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '57', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '3V7ezwG8x0V1I2/zo/Z6iGtziKPBxPUwVMT9VvTXps8=', + r_hash: 'LqUicZE+SP7+E8DW4FmzKwTguc6Wtxl29qQboV07BDQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268286', + settle_date: '0', + payment_request: 'lntb1pwa2mt7pp596jjyuv38ey0alsncrtwqkdn9vzwpwwwj6m3jahk5sd6zhfmqs6qdqqcqzpgcztwgtquhn4mcy4v5n49p7gjw02hr4k2ls5h2qdh9mwx75yh8y49jv37twkdar9z5ltgmjejrkunrys24rj0hu29a27wv6j99te53aqq74nrxx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '58', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'sg1qN5bi9to06/t+/TE8kwq6IrdSvvbyGkn/z/Cfe0I=', + r_hash: 'Nc4lUPP4OOgfggrGKxHW+FJRmnVG8PmwG/Cm7sTXFoU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268566', + settle_date: '0', + payment_request: 'lntb1pwa2m5kpp5xh8z258nlquws8uzptrzkywklpf9rxn4gmc0nvqm7znwa3xhz6zsdqqcqzpgwwluetzz2ydhcfmnxhkhslh5jegna0ydytaj9urmq4sk700h8jsj2qry2uax6au8r0cxysqu5cy8c3ez88v3453yh53fwahenfprr9gpwzn9dv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '59', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'KsNt8u97+ba4Bso+ByhOtu5rxKuklKmX/YKUbtnqJrQ=', + r_hash: 'jBHUfbugzGdl5xhaDtbk+7bpbqalSHu+LkvqsJxrtvc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268589', + settle_date: '0', + payment_request: 'lntb1pwa2m4dpp53sgagldm5rxxwe08rpdqa4hylwmwjm4x54y8h03wf04tp8rtkmmsdqqcqzpgkzlu6cwk2k572jqh7r0nukhq8tdfggde3jflnzfn05c7a9x9tknqyst0qsez393tvrddu30t9jm3kzcr92je5glla9js40u284ae8vsqzma2hg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '60', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QVpHQ88V9NweQkc8vg7VYM4uSaS1mIL6N09Jm8Od04c=', + r_hash: 'rYKwYwbcuvqxw58CgLOKkAuBo4xPYOP11Yf41gmkDV4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268599', + settle_date: '0', + payment_request: 'lntb1pwa2m4hpp54kptqccxmja04vwrnupgpvu2jq9crguvfasw8aw4sludvzdyp40qdqqcqzpgue682tejewqeaqjnrw64z63hk23u03wml6y5ju4fggv5laz2ql3rn3cdh3073ptc6suc2k959jxgtufnyas9f6ypmvcrtc94685ve5sp802g30', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '61', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '/KE9bg7mT8MZFA9KvrFqsaLYM2/GsJ8U7k1TIlVyDJk=', + r_hash: '5cVdyK/leHxM5C0CJanObLZ9yJfbZrhaC2VCj5Lrv7A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268605', + settle_date: '0', + payment_request: 'lntb1pwa2m4app5uhz4mj90u4u8cn8y95pzt2wwdjm8mjyhmdntskstv4pglyhth7cqdqqcqzpgrxgfja3w2raqenys9z8dxrhc64a3uxh8up8ctd7ctvsxx525rppq4s96xu0kwak6kw7f5usfxqz6ypxfc9f8fmm9e832lhz6f3nuw0gp8rhwhh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '62', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'tKIjZdaF9yhWs31UOFb5uWN5vbrOEJqikfqu/dVN338=', + r_hash: 'ycDcZjjdEX6krmy6uv00FDnTpGitgQug2dPKfd9joCU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268622', + settle_date: '0', + payment_request: 'lntb1pwa2mkwpp5e8qdce3cm5ghaf9wdjat4lf5zsua8frg4kqshgxe6098mhmr5qjsdqqcqzpgapqulyqeaw48f28rqe3vcduyjy62829mjl6ts0kcrvn5pnk49nm5eepzaxkm653xjgh0uhuf8ge9kgz6g468e8af7x7kxuftf3u5twgppwqzg6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '63', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'oBTI2H5a5xP5niPHn9cO2QRVjNFWI79PzDFpXhCAtAg=', + r_hash: '9xd08N+jEQEzakggCXzFHaP98/65aXb8vxJCqlRid4s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268638', + settle_date: '0', + payment_request: 'lntb1pwa2mk7pp57uthfuxl5vgszvm2fqsqjlx9rk3lmul7h95hdl9lzfp254rzw79sdqqcqzpg7nv4a3g94eq03uxwpdfxdn08zahe2xlkeu3meja568dmdl0e2krprvrtvjenyrx0wu909zwh4tznsggu5d3w8uhfru9nr7pu4undrzgqptmsz2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '64', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '7eg4oHMc+EhkJYZhZ3GcwYY8F2H7lvgwDnXR/zQHh00=', + r_hash: 'KK1ae9omt7xri0ZIKjXnRKZfaCFAIoFZrbOvY7QXBsY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574268762', + settle_date: '0', + payment_request: 'lntb1pwa2m66pp59zk45776y6mmc6utgeyz5d08gjn976ppgq3gzkddkwhk8dqhqmrqdqqcqzpgl43u7qhumpye0uhpxhxkll7gzfxwml5q5ndcrzx9mzdg2xzjw6pqf6dm4qnrmc68yzscytage2c28qahq73y6nkwlw3a2tspjfpkvdgqlg9zz9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '65', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'bSv+HXyACC9eD+ESCFYgVrj8z7U6jIhJGeUDv3aeITM=', + r_hash: 'qa0Ga0YlEPrjyXA7IzmEXSjd5mxH3k+3+VQRGpxyPFE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269050', + settle_date: '0', + payment_request: 'lntb1pwa2ur6pp54xksv66xy5g04c7fwqajxwvyt55dmenvgl0yldle2sg348rj83gsdqqcqzpgs5pfgp00t6hk2atelqhs29nsz7a9nl09gta0tpsgrcs7vskf9tyql3z49wvamjdhlh78uz27xxrpyelcmc8l487mrwjvduc239y7w4cq8am0ed', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '66', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JiNZK8jfgPoAdR62L1OvuySQag47fDQzx/bjlMj2AY8=', + r_hash: 'cvVo5JLc0XVhp+MZIzfWogBFTb0ZEK+FD59EuTLXA2U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269382', + settle_date: '0', + payment_request: 'lntb1pwa2uwxpp5wt6k3eyjmngh2cd8uvvjxd7k5gqy2ndaryg2lpg0naztjvkhqdjsdqqcqzpgwya9vachzvxpd8l3ygjdskggc6xsu40dummvqm580nezfmqymhdztyl3gas85zvwsa4jah48kyf8u4p9plem6eq3002l889eczlpv3qpwmaqy8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '67', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'hT+SdCF9N0xkFq9nYtiefne1hac1Nd1Xo/Wzhwxrhu0=', + r_hash: 'vBeVmJGt7IkPZ3UMw11pfj70rxbnpWmHY198A1iQ7lA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269478', + settle_date: '0', + payment_request: 'lntb1pwa2u3xpp5hstetxy34hkgjrm8w5xvxhtf0cl0ftcku7jknpmrta7qxkysaegqdqqcqzpgyk9cjykha3uk7y4vprg86ywvvlla4xa40twufepsckf6tnck05k35sfxpjawcz8ggxhczttufgl3cngg0p490pv0sutrku4rxey55ccqtcxkcs', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '68', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'K1+xE3OvVnhxadolLX5EgIL5BGsfFAsH11oaqoW4VpE=', + r_hash: '/X60P+l05k+shqeMEUFSptjoqVgSn9ohje/c20/fFRo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269491', + settle_date: '0', + payment_request: 'lntb1pwa2u3npp5l4ltg0lfwnnyltyx57xpzs2j5mvw322cz20a5gvdalwdkn7lz5dqdqqcqzpggrnhwgmk56ldf47w5j9v040keajnsur8t9g97qeaazewfw6jjvj8aefl8nqwwgnvxupzmne0m6c5f2rk6cnk09s37kng9y2dk82j0ssqx7uv03', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '69', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9L7LQX25biduD3riUcTwoPlCxxd5PbH8xD2qoLhSs78=', + r_hash: 'nvYVUy5TfKmz0dUiCK3Xwi6Q1+GhKHOoyyUGGuqVFuA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269600', + settle_date: '0', + payment_request: 'lntb1pwa2u4qpp5nmmp25ew2d72nv73653q3twhcghfp4lp5y5882xty5rp4654zmsqdqqcqzpgssprrzlxc206tyvrufxetw59x5a35jyd73vqcqxwmtp08y5xnhvju6tnazng94lwa55m8xc6q9pnaeruy634u2ks8hgza57fnt4f9rcplhraqk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '70', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'zf2XcdeChVP3pxGkVfkiBUcdZIjKgSHvtSNrc/r5K3g=', + r_hash: 'g4chCOcdWYKc57vZUq4VhtQvFpcyky38Xm+E5n61bXk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269641', + settle_date: '0', + payment_request: 'lntb1pwa2ukfpp5swrjzz88r4vc9888h0v49ts4sm2z795hx2fjmlz7d7zwvl44d4usdqqcqzpg2up3744mrvu097uxeg4lvf55qd6xk8j8unkx6aun39n4gxz7fwu9dtyjqk8qjt69560ss82jlplzxmvnefgkhv3lng56gj0gpzz3t7cpnm8d6x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '71', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'a6Vo+RDd5IeQJt4gi4oHyeowoikKXj/ULXh+YY/s9QU=', + r_hash: '0FApc+y0BODgrcOn4aTNkbCNL68fYe25/Fw4DfDjOQE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574269656', + settle_date: '0', + payment_request: 'lntb1pwa2ukcpp56pgzjulvkszwpc9dcwn7rfxdjxcg6ta0ras7mw0utsuqmu8r8yqsdqqcqzpgq4p3zzsq9hd6awt8h77asesw3hfqx3n85ntqge5999pwqw73lk2zx8kky5sgm9va3zkwp92azdx8ck99pnysetzxk7mexxctp858qkcqwd6rvu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '72', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '5w/2+wpE7o0r/i5cklyAF7h+b1DCn8gtsNNyQtyCJ1I=', + r_hash: 'DJtU7QFVwNYub3+P27lETgL4l2i4dTl5bQHR7xmfIv8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574272546', + settle_date: '0', + payment_request: 'lntb1pwa2l3zpp5pjd4fmgp2hqdvtn0078ahw2yfcp039mghp6nj7tdq8g77xvlytlsdqqcqzpgga8hcsthpacp2spd36ae4ckd7jvsng0g9fe0zrulql7nxj700xmnqzcpqxd9y5yqe8fdkrya6al650l4cjp5mtwzavym0dtlgmnhnzqpq55g0p', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '73', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SKI8Ayq/v+kpe44ATS/PPtfZjEVJBNpNr5VsdVAju1Q=', + r_hash: '+3gZBQTVsVchCSbwBAc93DOvviUTSJldB+AGra7+mpc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574272816', + settle_date: '0', + payment_request: 'lntb1pwa2lespp5ldupjpgy6kc4wggfymcqgpeamse6l039zdyfjhg8uqr2mth7n2tsdqqcqzpgevjt69p9duf5ufplxldadn78vn22e7zls72ce0h289pqgm90arws3qzjuqghyu33gr3gl8khcxplpz3zxl5s9kqr4nvemul5gk78wqgpksaf3n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '74', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'deFaLrCwLeBhVIkmALdpjQUUt05hUzAoLzrDHgNBkiI=', + r_hash: 'I9yFLPxBObu16P2dXTz3wDUUdNdU35/qNhccNylq0eY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574272835', + settle_date: '0', + payment_request: 'lntb1pwa2l6rpp5y0wg2t8ugyumhd0glkw4608hcq63gaxh2n0el63kzuwrw2t268nqdqqcqzpgr93acfqk0rd2lsrxcjerca304w47nzcf5az2ay7qzhtfdn5lkfj3m0ayflarsg3ss8wajvuw6c254wwe674pz5tjp05jlytzp235uqqpdm8gvp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '75', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'crblWT8hD56rIhPA8IOHecuejoHF0SvFR3Gfh8kFYG4=', + r_hash: 'hphZ3F4hdK1uZMOf8pH5qAlWFZXm6KfrG0GGFI6ELms=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574272891', + settle_date: '0', + payment_request: 'lntb1pwa2lmmpp5s6v9nhz7y9626mnycw0l9y0e4qy4v9v4um5206cmgxrpfr5y9e4sdqqcqzpgtaa36smz0lgrpmj4ahqxe6cutlv4ztrp2qalzm78xs8lkvfj2r6kth2fsn5gmu566vd6r5x65wl0gm3jqtzkvnm0uwh2zyjutxp502gq9audgp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '76', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'vPlO2bYN1Qg743N5mi6paIUv31E02FreUFrB449oKX0=', + r_hash: 'nQfs3gcRyJrnuUTxis+kV/MyUrZ4/7EHvlCjORPXBfQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574272926', + settle_date: '0', + payment_request: 'lntb1pwa2lu7pp5n5r7ehs8z8yf4eaegncc4nay2leny54k0rlmzpa72z3njy7hqh6qdqqcqzpgvpaff68vw897km3dv5c870dzyrz87xlz0849838evj00muy2875r6drplm2nay4srncwk7l5ymlz7tvkmssqhd9wkal8xpdaausljssp37a2dq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '77', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lFbEOR3Bh3VcaigMb3d71fdwjKZ7TZ27LuT3wNpTZhw=', + r_hash: 'MxiHOOJdPczXXfIAI01S60k2Gdprh/PZT7sEFJtqLGo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273264', + settle_date: '0', + payment_request: 'lntb1pwatq8spp5xvvgww8zt57ue46a7gqzxn2jadynvxw6dwrl8k20hvzpfxm2934qdqqcqzpggm4axwszd729qmcyx5lqyjjl8qwymme099xlx07xjvxuqzn04a0pcexkwacu5vt50e52fup4v5296kc3cv8ygukgjjefx2e58urkdzspad497k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '78', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'hV4S5n1RVAd08Mwd1MJN5ByWG9bFHMfG6Hu9O/YUmd4=', + r_hash: 'uWsX5DFXDNa+7z1OY9m13KudOwckUoMGLkZTTcZiDUw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273288', + settle_date: '0', + payment_request: 'lntb1pwatqggpp5h9430ep32uxdd0h0848x8kd4mj4e6wc8y3fgxp3wgef5m3nzp4xqdqqcqzpg7xxx664q9vx5uh9kxzn27sc8yyvkq43935zju7fh5ph90untcch5ysq70q868rez6x85euzyxfxzmuw66yk84ahspc7mp7xm4n86scgq8z8fue', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '79', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Ss2cKLI/PukI5OkmjFs5PVoewSC/CjC6+ATUKbjyUmI=', + r_hash: 'jmEWOH51dwed4RXhDec8I6eHTeQ08WZaLU2eSu+Hs2g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273329', + settle_date: '0', + payment_request: 'lntb1pwatqf3pp53es3vwr7w4ms080pzhssmeeuywncwn0yxnckvk3dfk0y4mu8kd5qdqqcqzpg6yr9ax8j72qqpfff0kcfj6weqcye8ua8rh0fmjhl0s6f6qrms4gxcgjykxfjpjcw5wmmvwq4dxkp0xqe0fukgnzswaaa0njn95wdpygpdpk9dw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '80', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'B5ims8dhFDzhnViFW7yOE30Cxly9iAf+mXT34F8gdl8=', + r_hash: 'faGCdSaT3+kS3LETvJO3Awy1BXgEghlyjDp9o7Sud50=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273507', + settle_date: '0', + payment_request: 'lntb1pwatq0rpp50kscyafxj007jykukyfmeyahqvxt2ptcqjppju5v8f768d9ww7wsdqqcqzpgyw43a8pqqkjc73kw5vewk8mduafzuugr7jl5hs4gm8jkn40j08n53upgkzvqhdq68pe8ysecf0cyl3q02cg5kl6f4mzmwnu9f4qf3qcqq5cphl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '81', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'kozYjnKqMWrkqPZzIBFVE3s6MlY8MM0rTfNHGkpuYJc=', + r_hash: '2ltbhyhUi55SW0/cAiaZ+TvaBmfRNLcWwvv1Q0udHZs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273542', + settle_date: '0', + payment_request: 'lntb1pwatqsxpp5mfd4hpeg2j9eu5jmflwqyf5elyaa5pn86y6tw9kzl065xjuarkdsdqqcqzpgq0z8c4z98eze49eel8dklxaxke0ldk6yg53v036uw0l3f3tsfh7p934sewujgquft6sl9azfsuwqdshcfzsu8qj59efz9evu6585ssgpqvfafv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '82', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'FpxLDj7ulExvv25P3NX4dScy98N8vbNy5UwrEK968mo=', + r_hash: 'lrAyhjTanNCae0FxfJWRvgmnk9f/mHbYk27pSlvYBVE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273584', + settle_date: '0', + payment_request: 'lntb1pwatq3spp5j6cr9p35m2wdpxnmg9che9v3hcy60y7hl7v8dkyndm555k7cq4gsdqqcqzpgdya3e3vgj98j6hslxjd97248qmnly0zq8uuhrsfw0sd42jhgl32krcrrfys6k2gwrj8fkww9tc8y2m4s5flet690256m24xfcrervegq626wf2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '83', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nbgSisFwa92rMSe6JQV6AnThSu43fF6Z7YS3C+Va92A=', + r_hash: 'aAQ1vdFP08QJkL5SjsoGurruW5L5vtrHVyH9I/2NljA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273634', + settle_date: '0', + payment_request: 'lntb1pwatqnzpp5dqzrt0w3flfugzvshefgajsxh2awukujlxld436hy87j8lvdjccqdqqcqzpgrcwusqulhzlhuf36qtangh6jcx2kh679ecxnnrh40mqfhjkle6sy0zd9xcutqq7s3nyc9l9q055agfrl5dj8y55fevnz8fwqmp0l6ccq9vq8wa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '84', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lm5MI3wlnUTjb6060UhLNXHB/gZMMYDl25pWJOir5NI=', + r_hash: '4SbqTxdGBlBjIX/hzPfT4IaycjsAphoI5+H5ddOkD7Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273682', + settle_date: '0', + payment_request: 'lntb1pwatq5jpp5uynw5nchgcr9qcep0lsuea7nuzrtyu3mqznp5z88u8uht5ayp7mqdqqcqzpg7cchynyuv5gw720udk2a62rrds96cku5lk09vht6fspa7m49ry2h47fmqxu8wta2qwfv42hpdtprtuhjlszrvxaswlycugnrlrtpypcqsydks0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '85', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'sqKdZG1IahacHCGjnJCMFNWHJVPI3TZ41BR23Nq1lH8=', + r_hash: '6rpC44G6/1W179vFbvzZ2i1+WJvy01wxbUK+RVWMSGQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273732', + settle_date: '0', + payment_request: 'lntb1pwatqkypp5a2ay9cuphtl4td00m0zkalxemgkhukym7tf4cvtdg2ly24vvfpjqdqqcqzpgrnvyu2sxgsu663h8mq4zquwjctas99gsjpmwc8wcqdfx9sme5phsz6dlv5klqmxrx64x5y6deznu698cxrn7ats8zmjy5wpsaa9783cqsmk2l5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '86', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Cyw6BCz1xR/QoaHI7K2vvHFX6vubWr5SRXEjU0TCOMc=', + r_hash: 'n0G/DknCqAvfs3JWJ5QVq5OCt9SRx/2amxSaUlcbyn4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273869', + settle_date: '0', + payment_request: 'lntb1pwatq6dpp5naqm7rjfc25qhhanwftz09q44wfc9d75j8rlmx5mzjd9y4cmeflqdqqcqzpgd7h2l2ardqpc50fuyp5g7e2crvl2856rljttksxk5emdu65wzdsszdtxr8pjkj78txcnft2zyzyuq27s26t3m364r8m85tw38z4qaqqpmtmdsz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '87', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'GgNpJWFXhVhiArtaqy48KTemtM6bkPlNjhX4KpVXN4w=', + r_hash: 'PKfpy3wXIlqQGNKWwONIcZ6UOFzu8RPaeeFtYLNu5aM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574273982', + settle_date: '0', + payment_request: 'lntb1pwatqa7pp58jn7njmuzu394yqc62tvpc6gwx0fgwzuamc38kneu9kkpvmwuk3sdqqcqzpgdy6twwm0hypesw7a20z4th4m8ddt72xr06y7e6j2a72xsy8rtfcnxum6vuzxkv32rnnpxx45lfdz9tv7ewstj4hle7ch98dr926jqscqt0pz3n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '88', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'IOoOxS66tXWMDTQyVu75uwl8j1wD7QtbUyPTd58yKN4=', + r_hash: '1OiCylL7P7vVdmYCrFc5DBfXPic8zj3lIcR+mRViGfE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574274111', + settle_date: '0', + payment_request: 'lntb1pwatpplpp56n5g9jjjlvlmh4tkvcp2c4eepstaw0388n8rmefpc3lfj9tzr8csdqqcqzpgp5cndnfxf53qfjyt7y669uhgphgq4u8n0wk06zr2zpp9dxlarsf9jn6p3c7uy44fq5jep5l8q94w227ddvtqew4xvuj35rvxy8ue3tsqzmje0v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '89', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'r8vH90r5MUL0bHlRdibD8xx8DHPo7gmPZI79iWy+w1g=', + r_hash: '5mbvEOUYvEpjLexT/8wc6cv3kfJ6ygsTwRTIfs+SOsM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574274212', + settle_date: '0', + payment_request: 'lntb1pwatp9ypp5uenw7y89rz7y5ceda3fllnqua89l0y0j0t9qky7pzny8anuj8tpsdqqcqzpg4vw9wf5j8vfx0sqv42curth8x0k8tnm79xk42d0e6ekqsfcv4g4pfw5wjepl06l9scz2te2l7epml6xt2qvf5qpuj5lhwaurvdelp7qqkdk524', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '90', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nQsUZTDJDdJHK5DVTdZQcRxbUo6/T/1/aY99/kiPgl4=', + r_hash: 'y+45w4vODiujteUfqW8a0LxSgPnfEF19TP1K0xKhNS0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574274258', + settle_date: '0', + payment_request: 'lntb1pwatpxjpp5e0hrnsutec8zhga4u506jmc66z799q8emug96l2vl49dxy4px5ksdqqcqzpg97snmeyhh8c7n7qkz7ugdf6d6lac0tve2hd8n5dw2wjwg3t6fnmjdgc8sln0r8hjaec9v8jq8e0ksu87wugs4yppw5ltfgpkgr9mydqpjp904c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '91', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Hj4eIDHUuU5vE0RiTdbvaFaeEGGojSvplkb8jPNNtBA=', + r_hash: '3xVbvmHaNvJQqHuiSf5nyy+U1tGKmOg39/ANt7MJmjU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574274498', + settle_date: '0', + payment_request: 'lntb1pwatpwzpp5mu24h0npmgm0y59g0w3ynln8evhef4k332vwsdlh7qxm0vcfng6sdqqcqzpgwaetxlj6d0nlamd2u79cvfalt8j27jghzjv5w7dp487un694mldhuw8hr5mnn8r9z32zmr9fmne4dwnnkf7k4nkycge88lef54fn0csqyv0383', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '92', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'RkR9Qtj1AVyyIm8jaI6Wpj0Zvbms8Cit2bbxL84pmZQ=', + r_hash: '0+0dnjWHwS1F5PRHjnsShKytWuKdTDz0YHyu2JV8b7s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574275539', + settle_date: '0', + payment_request: 'lntb1pwatzwnpp560k3m834slqj630y73rcu7cjsjk26khzn4xrearq0jhd39tud7asdqqcqzpgzyrcwmrxqn5cyd53dhf822cwh86a56x5rgavxx6hhyz5dldn90j88remgdg3s4u2qre7v5r3p6gw052w7ewz2ruqgc6v9cwtlq3fnlsps0d0ks', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '93', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'wNv+39eyG2x4IKiJjgNWzUqNYlotgrXhQapEcepE+B4=', + r_hash: 'jnjVMqMEZ1l33ukpYfnIz8RaoN6/7qelB/Vm1IDpLK0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574275572', + settle_date: '0', + payment_request: 'lntb1pwatz05pp53eud2v4rq3n4ja77ay5kr7wgelz94gx7hlh20fg874ndfq8f9jksdqqcqzpgpuw7clvmmsvcpe7tegkyzsh9jarzy795h9jycydpv3hsxr86m6ejfsslyh0a4e5d898ev43g86tyltzsg0majtdgs3d5f2v8rt6d35gp0mq872', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '94', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'mwogxJcZAKy2M8AUmAGPz0p0RJ3XacvWxcz/proOrC4=', + r_hash: '6n7OCW6JHj8V34ksvm9FWv1xcpS/Xtj/kGQTC+hMRbc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574275784', + settle_date: '0', + payment_request: 'lntb1pwatzkgpp5aflvuztw3y0r79wl3yktum69tt7hzu55ha0d3lusvsfsh6zvgkmsdqqcqzpghlyrk45guxqntf25hzt803r5h3kgtwxer4dmamer3njwa6hn5lmzkv875t40vrra8qh768vanwhz4qxujyl8fhklc74442kallz8twqpluyk08', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '95', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '6WWBeH88fipj4pjlIMykfE+K8xU5sktn5dg7aFSh1To=', + r_hash: 'z08a5ozoy5I+ZhrkcxSPPlPb5iT1EEAvHzcozSu4PzI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574275800', + settle_date: '0', + payment_request: 'lntb1pwatzkcpp5ea834e5var9ey0nxrtj8x9y08efahe3y75gyqtclxu5v62ac8ueqdqqcqzpg86ct39st6v8946gug47dhnga8dl42ze9ea8w7qcn53hxrmlswlkhxvau9usqaffhtg4wmz2qt6ysh7nx9gp77n5crruttapv3w2qlsgq4ljdtf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '96', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lUHq6cySBjO5aga9McEeDsVQkb8uRNJQO7FH30GQFUE=', + r_hash: '19PHtfkfUJ0QnxP8gOvWmbHXO6vPhIROIrc+3LTe4rk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574276015', + settle_date: '0', + payment_request: 'lntb1pwatza0pp56lfu0d0eragf6yylz07gp67knxcawwate7zggn3zkuldedx7u2usdqqcqzpgm84yu5y2m58cm96llanlfd4jf8tfrlf7pww0k4e2c8qs3pxlzkf5xlj239asa5fp8wkjzwfd3f8ugg2a7ux3hdw5u86t95uv5pnvhecqvhdxpy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '97', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'q0wMdvuiFyCnpvExjde6C2499ta7bvZxPMzaAp61yUo=', + r_hash: 'a5zGhwpBxlrYuZNSYqHIlrpv8a5D3w7WcqPrb6NpAd0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574295427', + settle_date: '0', + payment_request: 'lntb1pwat4urpp5dwwvdpc2g8r94k9ejdfx9gwgj6axludwg00sa4nj504klgmfq8wsdqqcqzpghc4stnghspqw98xxhntqnwzx3velya6em96af8vve4tj6mh7urc5rn4nvkkshmpvs6pml9qhcpu69un3r2zhtk6cksfmutd28v2avvsp2qt4dh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '98', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'O6z4TqjcnHiGhRNcbDWCLupIU7LzKvnYu3mE324jlpI=', + r_hash: 'M4rWp+kO9KQhnAcIW5ALa1CvvkUEuqWsFytEIbH7Jpc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574301409', + settle_date: '0', + payment_request: 'lntb1pwatmhppp5xw9ddflfpm62ggvuquy9hyqtddg2l0j9qja2ttqh9dzzrv0my6tsdqqcqzpgzp2dvl8jtyvhk6n7z024efggnrnjy9uaak4e6djykd42dhhp788hrj6u7nz07alt9vudtx6nu5veaq5yhx8cy68lly4cnn22edk058qpgvw09y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '99', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'm/zjW6tNkR5+tqvMfAUcql1w+KyNgE58eWWHbVauoBQ=', + r_hash: 'ngxC44vjXaALzAxrSdP3iE3gWNlW72S6IxoVeKCd2SI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574301816', + settle_date: '0', + payment_request: 'lntb1pwaturcpp5ncxy9cutudw6qz7vp345n5lh3px7qkxe2mhkfw3rrg2h3gyamy3qdqqcqzpgmtywzlsn60ed09zx0rr8j77q5xg3mu0d5aqxphryek4v6nyc5n38rztlccefzdxydjrdz9tr4ss8wzdh6sswhdwaxktdza2guszynacp79cya7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '100', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PU5LZZou2zVf/b6NROle/saPG7duiYpldu5a0FvT+3Y=', + r_hash: 'uM/dWJyU92QSWn/1DcOUQ156Hm4CsSgqVFMv3YZ8pPk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302030', + settle_date: '0', + payment_request: 'lntb1pwatu2wpp5hr8a6kyujnmkgyj60l6smsu5gd0858nwq2cjs2j52vhampnu5nusdqqcqzpgfgv8qnder2ket4kfrwnmx6q2yacrzwe296xj2qu0x0rnn3jsar2qh5c8um9ljcv557egac94drue34lssr8ul2qtvp8e7m6jrqu9d7spnhzutx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '101', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '8ysOMyDu1W5UqOZucCtUMhv7rMrbf1dL9dBw9BwRNIs=', + r_hash: 'TYSNXOQ54naRh5iWZqtqJXW4obEMTnD5HpC7AmxaGrU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302047', + settle_date: '0', + payment_request: 'lntb1pwatu2lpp5fkzg6h8y8838dyv8nztxd2m2y46m3gd3p388p7g7jzasymz6r26sdqqcqzpgqlt5dm0kgqk4dy58r3h69m26alvz5d22dquga7nw7hcj625rmdn5fjc9l77x8p68kx5wpz7tpwm677exxylktmjywdz6gew8geam25gpxk0l0y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '102', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JYJXveW6bGvkEt1SubojHuAj+f3HR/tfD/AQs8M26ow=', + r_hash: 'vx53qk5q3GJh8zv3Im1f+Ce6CT7UBx4VnbOGEYo9Qk0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302309', + settle_date: '0', + payment_request: 'lntb1pwatun9pp5hu0802jwdtwxyc0n80mjym2llqnm5zf76sr3u9vakwrprz3agfxsdqqcqzpgdczshyyrazcp2wexnn7e9xg38l5jmjtwhrrd7d365jkwwe43yrek86wm5ekr97dtyj5847vxq2sm686pasd02wk59sza5dgqpksxz0qq26dmx2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '103', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'NMm6fXZAakpDhLnolm4RHHKm6F3FJzPyPSvh5ebrCbs=', + r_hash: 'M5iKwOoaz4GMFD4C1qvFZqU2R1oxa8GGXFtdHNRq/64=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302485', + settle_date: '0', + payment_request: 'lntb1pwatuc4pp5xwvg4s82rt8crrq58cpdd279v6jnv366x94urpjutdw3e4r2l7hqdqqcqzpg7h58ezerc96uxn68azl6e23rju3cpqe2kzfkrwjcneum2ckyqfr8kvhj23utpaxr587vrucy9rmu7drvf28a2m4xhg6ct94znn9hw7gqmv4rkm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '104', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '49GNrx16mFM5w77+iAU0apz+8qh6AASxVfO6wHV6UIo=', + r_hash: 'RcGc3uBfANyOW+F/XwjL04348naZxqVTJpkrWOeN3rI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302489', + settle_date: '0', + payment_request: 'lntb1pwatucepp5ghqeehhqtuqderjmu9l47zxt6wxl3unkn8r225exny443eudm6eqdqqcqzpgw0fpef9mlzl0urgdd38d8sr6dydzxp567cffw3cakl32wz5hd5rhauryadssw6hy35utu725wv5a7tmakp0g5hwyxgx0x6z7vexhanqq5f4ca9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '105', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'J13uRXf+pxDm3VafOv/B2vSct16PN5eL7TpeiwtDCNg=', + r_hash: 'geiXuvTb1t+fWX+V2CzMmAU0O031MM7xKFxYBpRorWk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302521', + settle_date: '0', + payment_request: 'lntb1pwatueepp5s85f0wh5m0tdl86e072astxvnqzngw6d75cvaufgt3vqd9rg445sdqqcqzpg7d9qc7gu6x3fkalav0x8efvr3354v9279zd7a90ekmw6kl8tkj0rfg4gtmhxqala3zjfl8v2sxwl8q42uwval7qyykg8ngxre05qqxsqer0nc6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '106', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'FVdjQODawnbE8jwxUjBLIKPEexkDgYaKv2ib3SpfSw4=', + r_hash: '5lipoKiVv6LX/6HMAF5Z0oYHiXEewAc1jTWOLB/xRKA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302679', + settle_date: '0', + payment_request: 'lntb1pwatu7hpp5uev2ng9gjkl694ll58xqqhje62rq0zt3rmqqwdvdxk8zc8l3gjsqdqqcqzpg8fkgnsustawcls5dgypu6cnh7mx2nfrtw5fhyc53e9vy7pmk0wnkjjgsre47k34hjwsga5phhqqkyqm49ka36su7gqcfl45jdwewtvsqf0laj4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '107', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'S1vhntbFb1gnyftZwd95cjh4K8xM55hc/Jm/vfdY3pU=', + r_hash: 'U+J4fThn/koCIIi8GAzgdJCo7lmX5/jretzgV+yBPm0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302894', + settle_date: '0', + payment_request: 'lntb1pwata9wpp52038slfcvlly5q3q3z7psr8qwjg23mjejlnl36m6mns90myp8eksdqqcqzpgg0635tqrk999dxrraef2ukcy02mkeyhfdst3jntz7ws2m8ezqh0sgu2ty0pd4x8kx9f03m54hl7nlmyqmumrse5u3rw9u97k6jywr5qpmxrtvv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '108', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'LIMzH7/HMIfgsI96o6RT5NtJWF0jlVWVL4X/ESH2q2A=', + r_hash: 'GlUif5cNrZ2apzTatODLAcEqD+WdJUDkCDhqIbKkAn8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574302967', + settle_date: '0', + payment_request: 'lntb1pwata8hpp5rf2jyluhpkkemx48xndtfcxtq8qj5rl9n5j5peqg8p4zrv4yqflsdqqcqzpgx7h9d0wk0t7s0dl4sccl3tyvgpj8m3c60uhk6u4072hhk4qwgguxtp4x92knf09028e5ypsr69tudtq73jmquf8rdsmcl89yteezmncpptr505', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '109', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lGwxMlom2S0+wkpbNuje1PixEkc5VXYQFmyi4z4OtiA=', + r_hash: '8MW8o9ZjPWrZ3MU/0VRhIgvycY6Yw46K5wHTK5K8jG0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574303064', + settle_date: '0', + payment_request: 'lntb1pwata2cpp57rzmeg7kvv7k4kwuc5laz4rpyg9lyuvwnrpcazh8q8fjhy4u33ksdqqcqzpgqhzxarf5f83kznxtty78h6d66yamjehg3zkemn7ev4nnzr7dvydn63579eawtqlxwtqje4a6968h6ww887r7eh3uesnq5hfw7dgdz4gqdtpwq3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '110', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'TL8BObxiB9eQO7e6FTohybaej/hTb2h069MHvGL66RM=', + r_hash: 'qWFEqlM4SHdMIDU2vkojYPdNNMBW9t/HhITh+8tTtR8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574305658', + settle_date: '0', + payment_request: 'lntb1pwatlm6pp549s5f2jn8py8wnpqx5mtuj3rvrm56dxq2mmdl3uysnslhj6nk50sdqqcqzpg2yzgujyq5wcx79q57awjp2xu2vem8ases8dxgsdwqk74rgmg9wg8vtkul8ght6s87pkyrwddkytx0zzu69kvufeu90cwxnk95ma37mqphcg7w3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '111', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'V8lhKRNdP93ymdfFAgTmKuKQqEwHHT0P1fHhyeASQ3Y=', + r_hash: 'JI54DwMlri3VGXCusjmEksCrNrPJHCZA27vqcQn7Gb0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574346614', + settle_date: '0', + payment_request: 'lntb1pwad8mkpp5yj88srcrykhzm4gewzhtywvyjtq2kd4neywzvsxmh048zz0mrx7sdqqcqzpgj0spmdkeg48hyyd3349700ws8d075539xm6244sxtjxp00ru6964nkeatals8utp2zwnln4m72sv95maa48yun3np733z6n39c6496cp7lgux2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '112', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ax3sbrHmQUlsdW9rYenYujacEaXo0mkvtJjHmZ9lFoA=', + r_hash: 'DXu8YfwGqnUAYJVgGQA2CinAqerp1YpeYTk3k8iOg+8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574346668', + settle_date: '0', + payment_request: 'lntb1pwad8avpp5p4amcc0uq6482qrqj4spjqpkpg5up202a82c5hnp8yme8jyws0hsdqqcqzpg9me02l3jnazeu5f36xc6lsz4gl63vnhsn575ftrvj3txtnkm3c2hv3t50stsax0aqqmj76z6njte2336j6us0vllzty70gpujs6s6vgqy4ez7l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '113', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '1E1E/tKsNeAxEho1DcEm9iX9Wtal4NioWCrAUy+eNxo=', + r_hash: 'YCmQ/LHg+sIxu97mdTrvaOT3c/03KI/WtlSdS4LdTL4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574356497', + settle_date: '0', + payment_request: 'lntb1pwad3s3pp5vq5epl93uravyvdmmmn82wh0drj0wulaxu5gl44k2jw5hqkafjlqdqqcqzpgefeh904zkllpdjgxp6sfm0vd4retj5zxwwm58vkcpqautwund0mrzyyypgsl5y9lxcx3ekyw5yxndflhetuqysuw9p0mxd7culjax5spfxlrtd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '114', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '4+mXOmEPtOjmxTNIod8s12zW7EbUKY+fvKRddqfeHC4=', + r_hash: 'tF1ztvY606nyqTNmgbLc093+nwm6VPl6bBlDeRpoLto=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574359311', + settle_date: '0', + payment_request: 'lntb1pwad5g0pp5k3wh8dhk8tf6nu4fxdngrvku60wla8cfhf20j7nvr9phjxng9mdqdqqcqzpg93kp5ddn6k4g2qr37h2me4dmqtggwzqf5fs4l02puk2zwjfn53p8fvh6ktlcshaldx6pz69pp7vj3z98jvwlfgs6su476j59uldz39qqjudl36', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '115', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'npN7v76iROUdfi9+Gn0WloI0pLoG5QOCMqyqvMS9B7w=', + r_hash: 'Htn1SLUDDl97ucpVJbFFm7wZyqw06tY/M13T+Gm+Wfg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574360089', + settle_date: '0', + payment_request: 'lntb1pwad4qepp5rmvl2j94qv8977aeef2jtv29nw7pnj4vxn4dv0enthfls6d7t8uqdqqcqzpgk9dvr60dl003zq0y855s8qd7jemnhvyshxlttmxc6kdahyq0urk3ekk9hqn2wu90crq3f4ngsgp3sgcvlmkm6maeypmtnnx2t4hp36sqs6n8na', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '116', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'FA2/mPaE1ZY8nthRlmFpvitmn7xhS68mr5jE/+yAO/I=', + r_hash: '3nJXxez/2J2+qLgr+AYdD3yY0X+IfqI4HvcRhUDXDSE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574360282', + settle_date: '0', + payment_request: 'lntb1pwad4x6pp5mee9030vllvfm04ghq4lspsapa7f35tl3pl2ywq77ugc2sxhp5ssdqqcqzpg943znq6t0uz2ak4xmy2a4k9udzug90d8n0g8chs84ksuum556dcy7uyg5rx93dvymjs40wlhn7h4vc3nnus3u6hctmxsy7epxz2a5rgp8tsgqf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '117', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '07P7AdUepPK1VlnAV42YsMQz2Z+CRQbuJfdMsQM0Jes=', + r_hash: 'dYNaOBNzQn7LqjG8KEYbX1DOj2VlXOH6+rg+DYe5QfQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574440479', + settle_date: '0', + payment_request: 'lntb1pwasrslpp5wkp45wqnwdp8aja2xx7zs3smtagvarm9v4wwr7h6hqlqmpaeg86qdqqcqzpg6342ey5v2c0n0pesfdjj2grpdmg0lg7m3kt7uvcs9jznvnh7h9q482xzt7fm48twhnsg2vuvfq46kv9nrjrygp4c93hcfegd866wt4cqr505r5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '118', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'tRPVNSUbUCIqaL/5unC6mXBWXPHJTAQ0szEtQ3ufG88=', + r_hash: 'VBtQSU/vyE9QhUgGFbRZaliIUTv80UNeOusK1fClZqU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574536658', + settle_date: '0', + payment_request: 'lntb1pwanpwjpp52sd4qj20alyy75y9fqrptdzedfvgs5fmlng5xh36av9dtu99v6jsdqqcqzpg7w9cxlz94pzvvwp87r9922fnwdyrxp66e330myh7g980m0vxaa6sxxx6qs3ucn7ewwv0q0h37v4dq89em979pw6pqd6x5h3xktdzzpsp6lt6jx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '119', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ObT4j40wvTUVTQy8m1/CziMuteC8pmG5aaQngwV0S9U=', + r_hash: 'zeDW48RrST7BCYegpekb7A+0nUD/gTTY+bM5785P+fc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574602613', + settle_date: '0', + payment_request: 'lntb1pwa4pm4pp5ehsddc7yddynasgfs7s2t6gmas8mf82ql7qnfk8ekvu7lnj0l8msdqqcqzpgs5sytdueltfs3ulsvsrvc53z8uh80922q3gt5z9hjhktm7eqx9xpzm9rs3kqq390l908ruasc8ucsy7r42s767vfp0r9g9uwg3ag86cppkaduk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '120', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '4xAoiCk6R4bJvo8Qp2SgbAGQpt72uDoj/8LgeguYvTg=', + r_hash: 'Bhl6zUfq/zWc90A3aimqzHfek2DR907RAK90LLYZ8hc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574602727', + settle_date: '0', + payment_request: 'lntb1pwa4pl8pp5qcvh4n28atlnt88hgqmk52d2e3maaymq68m5a5gq4a6zedse7gtsdqqcqzpgtqkwvsh5xqjn45ezxw5jtkp5045hgzzxphwjwdsulvf32e850nu426lw2e604tasamfrzccjsxh796mqg5mz9hmqcg7ng3u8f2l0yccpna6f98', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '121', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JSqCqn8PRkgzmQVH0uzjO1o8v57JEolxZpH6x1pt2ro=', + r_hash: 'Ur0MwXRvpPZDO+k9ERFUCtk0JMEktBp77vJ2jQZzVuE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574602764', + settle_date: '0', + payment_request: 'lntb1pwa4zqvpp5227sest5d7j0vsemay73zy25ptvngfxpyj6p57lw7fmg6pnn2mssdqqcqzpgghjhkpkeyfdwrrkv0sdnjhuplnxh4qn8zmetjlt9j593kw7sxlknzwqs9duh0rlmnjpj0f3p7fwnxy3u86yuy8wfvm6mma68mr77njqq6wuvyt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '122', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'XoLtbthsfo0qMLglgW5gvzXsbIHnYviNzUEIqy7KJNw=', + r_hash: 'vbPxjH6SC0cJk0lIBct84Lq5EoLizHEETBSu6xEcBvA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574603081', + settle_date: '0', + payment_request: 'lntb1pwa4z2fpp5hkelrrr7jg95wzvnf9yqtjmuuzatjy5zutx8zpzvzjhwkyguqmcqdqqcqzpg7ewug8t89kjcn0mrs96f78g9yq87769kuywsnd3pfd3wd8n7zgz3zr6aqst4x5s70vyg5mtra3fuh0u89v7akpz3qvmr0qvddf50ekqq3rk7w8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '123', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QjxdavSL/6pMYzd2ZjJIJiFsd7f5AuzPhbaCvDM3fC0=', + r_hash: 'WqDXqMocb38nTStW3WSg9UpdQMaTABVALN9mHSjH2y0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574711235', + settle_date: '0', + payment_request: 'lntb1pwact7rpp5t2sd02x2r3hh7f6d9dtd6e9q74996sxxjvqp2spvmanp62x8mvksdqqcqzpghhrvtesmmdrsyaw6qthgd66k66nqmd7hrawvtpkduk84qm7zge34jq56myn72ylyvcxx3dlufqyj0dr6vhtl5hsw6l9585q7y3537qspxtmxx6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '124', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'CTZ3nat6L6KY6+dFeT6TuOE4iHH5B/d/iP7zpl40zDo=', + r_hash: '981MINSYKwRMPVlloeawumw7U51f9FeQqGqq1vuvlG8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574711254', + settle_date: '0', + payment_request: 'lntb1pwact7kpp57lx5cgx5nq4sgnpat9j6re4shfkrk5uatl690y9gd24dd7a0j3hsdqqcqzpgg43p9r7kkkht7mzxsy45ff86eag7htmrm67kym8sp9dgddmpenjrshu0k478j62msx2kwa8z4ekskp2mhdxut9wnjl83murr95uzkcgphw7xk8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '125', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'q76Kp2ZurdsCeGaS/tPXezVIHkmcqkqnTtyjNgQGslE=', + r_hash: 'Acu4C7nOTSX0nhOlgsRXGNlW/O84zVUTT5fMqKfxr4c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574781090', + settle_date: '0', + payment_request: 'lntb1pwa6s9zpp5q89mszaeeexjtay7zwjc93zhrrv4dl808rx42y60jlx23fl347rsdqqcqzpgfcuqewahdkfr2mndm98mmcznq39wff98hps7t7y38qmqdlzqudqk90wrf94wdz64wakksdn5tmshxr5x8y87c6q2xsqva0k45qlpc8qq04vsrm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '126', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'VsgFh7yCtxekFRmMM5hNymWDBJu7T4dO1+O3pGZWiGg=', + r_hash: 'tbmG4gjFOdEBJx+6JZuaxhZ0GmmA0DyTJzZEglV/o+8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574781106', + settle_date: '0', + payment_request: 'lntb1pwa6s9jpp5kkucdcsgc5uazqf8r7aztxu6cct8gxnfsrgreye8xezgy4tl50hsdqqcqzpgqx8u0456fe5mfarmr3g0qzdnxlcpugpmf3l7cj8csk9e2m9jnx5xdlnswl7ankef7j0ggd8gz9gd80sau306g8f8q9vufh9yuwaevxqqleh5xu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '127', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'YRL8ai+o+d4NPcec4S3zRGHvBkT/y53/Q+K1CoR+D+8=', + r_hash: 'oukmUtbzGsF9PCpSFxFoeWLmXV5hu5AGJPICoQhAuSo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574781237', + settle_date: '0', + payment_request: 'lntb1pwa6sf4pp55t5jv5kk7vdvzlfu9ffpwytg093wvh27vxaeqp3y7gp2zzzqhy4qdqqcqzpg3pxp8m8zt7mh7mfce4sqw7xpq5asawplwvqzpe5ymzne96t37e354xyv32crerxwcmmp3kgwfyd89snjxy2ktgaurvd9qh7m3a5cqacpp0azxl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '128', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'otnKr35G8oOboa8o0IEJDsUcapQRVE8puDIgjbOU6w0=', + r_hash: 'ZxaXhZ0nsMJIsXv2t/5BK/rADHOKfE3a37PzjZ06xvM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1574871139', + settle_date: '0', + payment_request: 'lntb1pwaagrrpp5vutf0pvay7cvyj9300mt0ljp90avqrrn3f7ymkklk0ecm8f6cmesdqqcqzpgnmg9rzqt0pkjs2dfydynrgwujqp3ur83rtg0z4d7502mry57as9jwhuypf9hkr4yxwmz0ww06yeduhurv98vte9j4qhvkjhc0ddpw6spxss4an', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '129', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'TKAzmKz4tEtM78imyLH0ZK6Dqvx0BEnoLkQ+jqX0faU=', + r_hash: 'Ib3q1VsdCEY0t3U1q6j1MzjBgTZPmBw/L786kVzIAeI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575230198', + settle_date: '0', + payment_request: 'lntb1pw7gxhkpp5yx77442mr5yyvd9hw566h284xvuvrqfkf7vpc0e0huafzhxgq83qdqqcqzpg3wxgf5l7axxhswkgku2sc46p0rywxk86v05z759t4eg7pxqg3hj8ektd2pmqmprv2zg9fwsnmgcn2ue5kpdr3l3drfd8ph2vlyj2upcqmcc88c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '130', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'skDo+V9hoz9jvUsBR2oVufSt5atvMDODzrxm07Xy71w=', + r_hash: 'wtlOQZdlQwO5mROfsQYYKOwsO12ffH386srUcgAoNb8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575230212', + settle_date: '0', + payment_request: 'lntb1pw7gxcypp5ctv5usvhv4ps8wvezw0mzpsc9rkzcw6ana78ml82et28yqpgxklsdqqcqzpgxnuncvfc24j3fdhu93wr6ry62v8ydmttxncfqxe8ars8wrfefpg9h9n7cu5lq2hsg40xmm6r8s2nu7y5dfx67wjscejnp4pwkrcg6tqqpdgjrg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '131', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ySuGW6OMnrxOdlYrsrXvWlQE/RWLtEy+8tu4wV9G8hg=', + r_hash: 'iBe4ugims/To92cBJCWtbeYkQ1/gtBV/ZhV8YZbHe3M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575230219', + settle_date: '0', + payment_request: 'lntb1pw7gxctpp53qtm3wsg56elf68hvuqjgfdddhnzgs6luz6p2lmxz47xr9k80desdqqcqzpgfvt2xptjjthwqm3tk0erzew2sms763xdeczdtp59t0jcd06q7445frcvj952wqqr4wh5dfaujv66h3ymhq85fqmwz9q06ky25w5qrmcpvshr8c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '132', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'qssrBr+pvjBn3l9pX/0j3fHrFqXhGDrJt3MyDB4GWyI=', + r_hash: '1OfJ7zZ6/K6e+DocxV/JygTX60gpnS7vS15Va0hjjH8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575232967', + settle_date: '0', + payment_request: 'lntb1pw7gfw8pp56nnunmek0t72a8hc8gwv2h7fegzd066g9xwjam6tte2kkjrr33lsdqqcqzpga02z47ceaju3n9cvkjdgs0x3w02z4p4kmct7rljc3pw9d4wdms4rxczrpge7xqhu9na0dtru2kk3hmjkdrzg49p2lttgxfghglrxtgqpz6pf7u', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '133', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SlVFHVJKyh+c91B/ULZdz5z4TJzRF37LQjModNmXdX4=', + r_hash: 'PcjX1ZHavt2NnHTURvWT6XH1j4Yb/kTgByxdWzdODf4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233038', + settle_date: '0', + payment_request: 'lntb1pw7gfswpp58hyd04v3m2ldmrvuwn2ydavna9cltruxr0lyfcq893w4kd6wphlqdqqcqzpgn7kdgcdgpry3hyf2kwdwvgayknnsg2fg0qa65v737lsjxuh95mvqal6xe2gwju0rx4eu4dnzjaafyuhg7vszv2wvxqdgw9t3qwted0gp5ss6ey', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '134', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BeM4HkGYEX1DUXgXTs7tNWkBQV0eny7JLwrz6nJPcIU=', + r_hash: 'qlGAEUwOMrKzhi+qeaiEVgr+iWRUz5kvMdcJKKwB/50=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233111', + settle_date: '0', + payment_request: 'lntb1pw7gfjhpp54fgcqy2vpcet9vux9748n2yy2c90azty2n8ejte36uyj3tqpl7wsdqqcqzpgzsf0c7qr7sxmhfc0vsqzqqme0a6au6qccwunmz70x3papj6sv8esgcuvl0ku4fs8mxd8ct0yadr2kasdfyd6uqdq8zl93t4j29zjmuqp70ta39', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '135', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'UgYbC0UbSLQSVxTglPmmbJcQ0tHEOqWvRRm8OYrFXJs=', + r_hash: 'adws23clEQuu2KAGVD0YZTWbMrH2+z5OTd6kVP16IJ8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233174', + settle_date: '0', + payment_request: 'lntb1pw7gf5kpp5d8wzekmhy5gshtkc5qr9g0gcv56ekv437manunjdm6j9flt6yz0sdqqcqzpgl4w23uv5r8nyzuwglj6p36275rcan7k2x07xemfvr3jypw8cu3zpjaf90kwxu24mkq7lvjy68c7tereajl636ctgegnztkkf9vf0n7cp5yr5wa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '136', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '/HvP8LzLXi3DQDZUTO7KpqhME0gTxWRIb34AzHpKxKI=', + r_hash: 'EaSsvTdfXpLacjf0ChJtQnU1TD67cwujZrVkRE2XLq4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233227', + settle_date: '0', + payment_request: 'lntb1pw7gfktpp5zxj2e0fhta0f9knjxl6q5yndgf6n2np7hdeshgmxk4jygnvh96hqdqqcqzpgkhslpq0xn8c690u4cgxhd469fwuz2sxh800fx8m6sr604cjcn2pn80n3gjluu5k789v0zn68pzwfqyzuse6dw6h2xaqfmxkruh9je3qp02zhc4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '137', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'L68v2DjIV1gStIjNgdVaZstJpMFT3XO0uWuWFDsnRGg=', + r_hash: 'NFQxznrcgFKg1/I2ckPvVDPBhAcDoxKgh+dEQg2l7vw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233277', + settle_date: '0', + payment_request: 'lntb1pw7gfhapp5x32rrnn6mjq99gxh7gm8ysl02seurpq8qw339gy8uazyyrd9am7qdqqcqzpgxt6p3zcpqt28cgusmcueqyhethu46qealqnjjtk64fmfu43nm0j3n5yxvmjajh3vtwmg0lvjlgq2v22fqrkv2qqe005muc7qsnzjhkgq2xum56', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '138', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BVteN+oJeba6UVLGvI+ijbpyKS845DZ7bMayPQHQz74=', + r_hash: 'KTQ/X1Hnud8PyshOyv2Bx8AGn2WjUpvA4I0ruMmLL0g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233304', + settle_date: '0', + payment_request: 'lntb1pw7gfccpp59y6r7h63u7ua7r72ep8v4lvpclqqd8m95dffhs8q354m3jvt9ayqdqqcqzpgm3fq7hn2entg5ugusfvj60grpnwfj4d9y72q497zxdsmfwtl7jwqvc2k4rz5kymnyxr8cq637s8f2qe0w930exfhkuy4luwngxsja0qpk6l929', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '139', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '4gCihZqfZupEpK6hCAfkvKFvFZuvosYlh/Srss0JKvI=', + r_hash: 'ARjLsMx9OSQwmX46a6jyEMHgeAZTsRkIAci5bq3Wkco=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233327', + settle_date: '0', + payment_request: 'lntb1pw7gfe0pp5qyvvhvxv05ujgvye0caxh28jzrq7q7qx2wc3jzqpezukatwkj89qdqqcqzpgsa33j6gpatgnhj4kakcreslk9t0k0s6tltd3m479tqmjeh5qeuzn8kxw7ff6xn6f442hgskf5uvcvn3gncsln9529td66cvqsczf2vcqf0hywt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '140', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '7zp1kKfoicLrT6DEV0IhagqcPXVncv1LnGGV8dIGigU=', + r_hash: '9IvUH+2sjaZcU9gJTICn+7gkZwx6zQsy9hFie3FKirY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233419', + settle_date: '0', + payment_request: 'lntb1pw7gfutpp57j9ag8ld4jx6vhznmqy5eq98lwuzgecv0txskvhkz938ku2232mqdqqcqzpgelva6h8kmn7txlftvwdj3uj3fjk0gcv6me4zrduqxtwjjh37y8d9sa25s48y03vpmnj6ge8c9qngyvxnm76tqlqsv72ycer8lddvrjqpcqxvyu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '141', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PkTGkNPbW/u2g5bNtj/GIWXx/HEw2FqA8x5lRNezg2k=', + r_hash: 'kSmchAnLKL0BbOZ7TGI7YnEYRC5o0uaWeK1UKZlz90Q=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233457', + settle_date: '0', + payment_request: 'lntb1pw7gfa3pp5jy5eepqfev5t6qtvuea5cc3mvfc3s3pwdrfwd9nc442znxtn7azqdqqcqzpgu6nj9szgkc0eafftladwurddrvqnxj4xrj6vs3x69wg9fnyv38nyen6lk53tse2vwqgumgkx47engjeurc82tmnw3lnu7auavgrm0fsp04n45f', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '142', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9E4KLURyFc2I+yg2Zm07ZPHIx4PqPbh4nV2LLKX8XGo=', + r_hash: 'Rkgl/iE+SQdmDAEXqvEhOg/xzVvhVsmnQqJ2XZPlyo4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233496', + settle_date: '0', + payment_request: 'lntb1pw7gf7cpp5geyztl3p8eyswesvqyt64ufp8g8lrn2mu9tvnf6z5fm9myl9e28qdqqcqzpg66lj2nwy0wyeu3tgd0hg5mnc9xtltzzxxqntte6wnjzjf4v7l4a979gj2pg9zy22j8kqfw57uu0pc0ykvhw5kqm8qs3ts8zvpwyy9mcpwvy23d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '143', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '0BOU5IDX/s0LwQS17gs7Z9tG/2rQwEfdKin6aR7vQq0=', + r_hash: 'C2vWUs3TcxhHmGcvGOqXmXnI0cFKdyXXY0apKnoy3Ck=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233566', + settle_date: '0', + payment_request: 'lntb1pw7g2q7pp5pd4av5kd6de3s3ucvuh3365hn9uu35wpffmjt4mrg65j573jms5sdqqcqzpgfldhlaap9hawaulkelydehyqlv6t62x6x7egygny6zjdzuygpqzqjcfda9wtzg2qfrcnldt46qxk2l5pnz4kgg9u7gdj83sn7rxe36sq0yvnea', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '144', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PJnNgDMDHbY8B2io66UIW6mBw9sR2B6DkyWvoU8NonA=', + r_hash: 'TtAlCKqOqHOBecUmMin/9i0yVyp50u7kMRCQfnIKl6M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233623', + settle_date: '0', + payment_request: 'lntb1pw7g2zhpp5fmgz2z9236588qtec5nry20l7ckny4e208fwaep3zzg8uus2j73sdqqcqzpgcrsl979jz084zw4hcg6l69e98mhstp8j3yst47zrv6eejl4kma24zhqpa5ykz9u2p6yafhrrf0jhkc8ctyegp98qnw9ze0te4m8xkrgqd3ws3l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '145', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '3wcAGFr0ael010TY4uCITEsu+K8vghFF0uHw0mKsCCw=', + r_hash: 'o3c8UfSuJ433LGIbE6CR2MQfkfDiNDkrFbfqpDIUtPA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233640', + settle_date: '0', + payment_request: 'lntb1pw7g2rgpp55dmnc5054cncmaevvgd38gy3mrzply0sug6rj2c4kl42gvs5kncqdqqcqzpgpxauyyhqe0zn3d9r8lnpcmaulvqxskg3v2g6tfa2vwuaqldd9wzrpthfd3kkwtvxdqevzhq05rnxn25h8a8d7yepdle67rf3qugzk5cqweuw05', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '146', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DTG2tMCWnOOGWKy4k73w7R+yt4bFIn6yf3Gw3igpkQg=', + r_hash: 'kc4t7xrAv8k/fr39QqtqiFORd3079dOWzd7yobdBlq8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233679', + settle_date: '0', + payment_request: 'lntb1pw7g2y0pp5j88zmmc6czluj0m7hh7592m23pfezama806a89kdmme2rd6pj6hsdqqcqzpgtyn4kg88mdufdsu9qk7cs2uhf90t4rgglnhrcn9lqg3zhwgk4df8xp9asgpdxnxurapxvs0gtxcw8kmtph6rjmdg63r6r6n3ylvxtwcq0kag7j', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '147', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ZQ/wDoEXkxLoENhBzrKhxhp0S3cix+yeWQ2uglsvTSs=', + r_hash: 'gqnPo9Bra3OQkILWUZJTT/kYAJbt97Qa57WV/QoQMTM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233770', + settle_date: '0', + payment_request: 'lntb1pw7g282pp5s25ulg7sdd4h8yysstt9ryjnflu3sqykahmmgxh8kk2l6zssxyesdqqcqzpg6wfnw47wd98du0x5prdr79lxrjhe9pgpedj58eurlekuqvn5mss5emn9yeprtl79yx03lww442k37u733f3a9xfg0chxnu78rlec5uqqjr60e0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '148', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'EpN/OSPolS4y/UQ+iq0BT8d9x4lr73mgfoJA7LrXtFU=', + r_hash: '0+xbTniNZAX8s5VnM9zpc6M8ydgwMWq3HHoq4sNpQY0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233803', + settle_date: '0', + payment_request: 'lntb1pw7g2gtpp560k9knnc34jqtl9nj4nn8h8fww3nejwcxqck4dcu0g4w9smfgxxsdqqcqzpgr0atfr7908k4d99an49fg9jllatynyhfqkay7at8chjc4gq95j34pf2kdxlj742mcpwwgpc2lpme8r55fecjs30gcstct9swkzgg5tqpkqqjhv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '149', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'N2Zdz2SZ5kWXdNd7CBtX9sqXpv808pW3yk0sjsko/8o=', + r_hash: 'xD9TGg9BjVsMWrmDlxKG/dsUmmhY5lFA2jSZsCtKnGE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233901', + settle_date: '0', + payment_request: 'lntb1pw7g2tdpp5csl4xxs0gxx4krz6hxpewy5xlhd3fxngtrn9zsx6xjvmq262n3ssdqqcqzpgu660jc68fzcnnpdyk0l5lm6nvee56jlwlnpf55fa3zm4meutsr3x3d0yxdgdr8xqxcek2z2m8hnqx8zxmzhe2gq2jtrel70m429p9espke739n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '150', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Wn9Cli84diHq1FqFzqYmkeV3ccC5SfYcQo27fJ8KxCk=', + r_hash: '+IN4XiT21aQQbhh2NLqWR9PQUO/dMp8/bgWxDWT7P5k=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233928', + settle_date: '0', + payment_request: 'lntb1pw7g2vgpp5lzphsh3y7m26gyrwrpmrfw5kglfaq580m5ef70mwqkcs6e8m87vsdqqcqzpgz6le0zh5zhcuxvtuqdq4sprujrhs7pawpd9l9fjzfeenaqca7pjqncpl0tk28jy5zw9kwpyvu2qna6fn8jh9j4ddjv2qk0920h5qywqq25wga4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '151', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DChNfDRiKRfgwv3JZbVsSpt3qhEyU8kxVl5eYUPtsi0=', + r_hash: '06YY9P1eb0fvhcOF/GZLd8LgfAjWiSNwIZ8RJAaFiXY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233970', + settle_date: '0', + payment_request: 'lntb1pw7g2djpp56wnp3a8ateh50mu9cwzlcejtwlpwqlqg66yjxuppnugjgp5939mqdqqcqzpgcmk737rq3fh4nhap9mfpwt5h3rzdlaztsh3dp3ujn5hrwtfh22g3x3gpl7rjjathyarauxxuz4h6ny9xgh5hz6ju4fkh6q4e3gjamwqpksjkxq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '152', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '1+gulp/V+r5i0DLKgD5Epvba6b17M+dUA6VZWGDrVgM=', + r_hash: 'jCBidRQ6Fk+GzFS1RBjd6ErpRBtWUts8J799hBPT5X4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233974', + settle_date: '0', + payment_request: 'lntb1pw7g2dkpp53ssxyag58gtylpkv2j65gxxaap9wj3qm2efdk0p8ha7cgy7nu4lqdqqcqzpgvwtxcjjas9hk7q9y0mss9lnayf7mcpn2695rcnk9n6gs7a4zy3ezum90plf7mshuzdjtc5tu3t7ncqm2xxj2m7v2h4q9hf46vjz604sqlk7gsv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '153', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'TTtpxDy+25sy1MqN9g3W5MCoYQAXczS+KrENIGeQPwE=', + r_hash: 't8RytcAj9STjmfmDN13cO/X3O7qLPqjtG9aLUnShXPc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233979', + settle_date: '0', + payment_request: 'lntb1pw7g2dmpp5klz89dwqy06jfcuelxpnwhwu806lwwa63vl23mgm6694ya9ptnmsdqqcqzpgk2ud3uzpw7j8aacgh7v95wr9r2frvwqda6dvqukdkzwmm9jcrkn8tyc9pfnzzacwrzangtm0ugnsgcpf7hq6ck3mkehga5rr86s04rcq5ngr5g', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '154', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '6zAZLx4/SEBC/mty55hVwc5I3r/GMyBQuUHzk5Hcl7E=', + r_hash: 'Pq++MZZ2OvpRxlbggI41wofPkbE6sjJ7U9X9cIcOVLU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233987', + settle_date: '0', + payment_request: 'lntb1pw7g2wrpp586hmuvvkwca055wx2msgpr34c2rulyd382ery76n6h7hppcw2j6sdqqcqzpg8dvu0h4utdw3dntamyj9ze065pejujx7jhdges0eg4zejjjlz60khensd2p46vyl0kmafffc7m334fewnxq8zd4cfn43mpkqfgh0f8cpy5uvpc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '155', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Q1gra1xFEIGW6+ypJuqJNyCVknKZbj/o+BgH8RFuxBQ=', + r_hash: 'G5/NBNwUqvoTZkgw5EMr8HMeKvLKALXTlFr6PPr5k7Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575233997', + settle_date: '0', + payment_request: 'lntb1pw7g2wdpp5rw0u6pxuzj405ymxfqcwgset7pe3u2hjegqtt5u5ttare7hejwmqdqqcqzpg7ydjxlpuqsynqk6jft4pe5r6dmjgll2rhpwl2ty52acg6vakjqkk8293fuf7j7ypr4u4q2c24vegymnleka5su4ucf6tm53t495gascphh9859', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '156', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'L++yKlyI0QcDn+r4RrhbJyVw5owcenQnZ2l/zL0Ap+Y=', + r_hash: '2E7N+skYl7eJ/UShKVttlLsdKbNQamTDRDSsS35ZUrg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575234624', + settle_date: '0', + payment_request: 'lntb1pw7gtzqpp5mp8vm7kfrztm0z0agjsjjkmdjja362dn2p4xfs6yxjkyklje22uqdqqcqzpgl676hejywr7axwwefl5pwpc4quldr68e4ldydq4rqpk6ddcq677xsq6ua8m5ftpzedxvvk3szrg5z738wlc6cgermeq33904fapkcugq678tmz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '157', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'dOGoZwVzEitQBXQeAt/PcgWdwEpyz66hlbQa5aAjsbQ=', + r_hash: 'oGmiilxqrIUdpEnz+yj2mPDMzu8lM6eayHvXGUSUI9s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575234714', + settle_date: '0', + payment_request: 'lntb1pw7gty6pp55p569zjud2kg28dyf8elk28knrcvenh0y5e60xkg00t3j3y5y0dsdqqcqzpg5cd09vvr8cqhpad6fm5tcu86yhnrmzxh8zatn3qsuqrrs2we8s9suctfncxmsgsqzsv2fxtfs805cz77r3qyrafqkl0rd2nq30zld0spapzy0k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '158', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PJtzNb6FDT//AHTeckqDXP04BFZwhyge4Q4ShPCuYtA=', + r_hash: 'hGbCGojqSO3lovRuSxqDh3sLFAM+F7P0eUg/DN4LXgw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575234909', + settle_date: '0', + payment_request: 'lntb1pw7gt2app5s3nvyx5gafywmedz73hykx5rsaask9qr8ctm8arefqlsehsttcxqdqqcqzpgnnpxtvp575djq3vmsey2wg48avn0ux2tp4kxx33ls0nwy5a340h95r334pg79wy53uk8vadqxfanucpga3r06sgvtjhkjpy7ps2uhwqppk87pk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '159', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'rTay8G/Jeze8XKETfI30iXhUty0p2J/CKXouD8GEtao=', + r_hash: 'I3ehOlTCMmpIdUWPBOhSKK1WrKBDSMJhfrdKnuYH1sE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575234966', + settle_date: '0', + payment_request: 'lntb1pw7gtvkpp5ydm6zwj5cgex5jr4gk8sf6zj9zk4dt9qgdyvyct7ka9faes86mqsdqqcqzpghyjjaelrzrd5x2u8p8c38qkhc03t838h0tyrvsaagvwzkarljf79pqggnux05j0ht079anaf825f9w32mcs9z89l2h9kfmgc6vp9tzgqvrqe7d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '160', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'T7d20s3/EjSal2TH5YaHTW25qnsl38hYBo+BzlZJxqM=', + r_hash: '/dqk5AfbS+5Th6vRgXSm0uNk22Fx/qaXGLkuj6QgMGE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235087', + settle_date: '0', + payment_request: 'lntb1pw7gts0pp5lhd2feq8md97u5u840gcza9x6t3kfkmpw8l2d9cchyhglfpqxpssdqqcqzpgvdlp9wk4hdvdsphtvps53wdml03q2xgvh025vtl4lc5cn68t83c8z2lnecqempwnr27zqyqs3kyxzfsrtrs5yqtdshg85luynwpn68cpx4r4r7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '161', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'e1oplucwNONiJZjH5HSZR10/vgfCJF5gj0Ygp2Nz6yU=', + r_hash: '5/wgA0nlY07oNXRWzhVyRIa3Xmn2+ENPsTBhMroG/js=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235113', + settle_date: '0', + payment_request: 'lntb1pw7gt3fpp5ul7zqq6fu435a6p4w3tvu9tjgjrtwhnf7muyxna3xpsn9wsxlcasdqqcqzpgrfw229rlemwzw63w6fqc76h3274ktjrq000949l0qam4kf5ww20s48q4jf5egrrqkduur82r6wfxenzpnqnmanvavkngwdw48vkt2fcq7p2t8l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '162', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'P623RFchMVZPN/FuvD6pKeyWhd9EAqyZE7hQduM3UCM=', + r_hash: '/CfM5LHPNhyYzcgAxZyD8FlvEWpPr4xLKa4tnmOeEZ0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235148', + settle_date: '0', + payment_request: 'lntb1pw7gtjvpp5lsnuee93eumpexxdeqqvt8yr7pvk7yt2f7hccjef4ckeucu7zxwsdqqcqzpgxj7v5wjjqg393f7h6aqqafhrpantldjvkh4yyt3kna8z87la8zerq9299j7agg6evvu7cjdjd37a7azr4rf37uyggud7e8qysnwkcfspc6mugj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '163', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QSTuMAKh2fH6B84iUc0Ne+A5TrX5GXu4Dvk1KxepsfA=', + r_hash: 'IRE9eIUQt4hwNTRfFaxBRA6Jy2VOzNTwoodDiSABnII=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235164', + settle_date: '0', + payment_request: 'lntb1pw7gtjupp5yygn67y9zzmcsup4x303ttzpgs8gnjm9fmxdfu9zsapcjgqpnjpqdqqcqzpgc59ahvfs87vntf9yt8r04l9zl2w0ahcp5dfgyjds0pqq7h0eupjppkxpcju242dnql9496g0nyhzxl0avzrn624e49nmek9lhuw5hyqqanp39t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '164', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'cDw95XAJmDjvdKqJL1CdD0bg4Prm7ovSis+8S0fYmgk=', + r_hash: '7X9p/gBBknq6caPl7u2JkuzFThV+0bUx0VmGTxn64Tg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235168', + settle_date: '0', + payment_request: 'lntb1pw7gtnqpp5a4lknlsqgxf84wn350j7amvfjtkv2ns40mgm2vw3txry7x06uyuqdqqcqzpg2ed6t7hd49mfdmrqtafr8ph34p4vhpa4u3d2gfw27pth87l08785ghu6d32pxe8ffm2mfzsdj5zqc48yejlxpek0eynph9yzlqflp2sq86h4xm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '165', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'M8XYclf3KG/YgdRmdKonvyXxf63RJXmgKXMvOsJgSxc=', + r_hash: 'gyEqfo6T/jufGMQ5sUAhNNKomuov6Dnf36dOO1REQJE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235204', + settle_date: '0', + payment_request: 'lntb1pw7gt5ypp5svsj5l5wj0lrh8cccsumzsppxnf23xh29l5rnh7l5a8rk4zygzgsdqqcqzpgjv3fakkd37unmyqkzh9gxrwvwx77v79qeaqelkqzgsw4akhlhnqx7h28p2642jaez5tvun54v7f9ectr48slfs93cwcs5kp5tt9l5zgqlmt22e', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '166', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'JqD4OcpFvbeZ+FrKBqYwTEnUDkkRN0hUXiCoJLIG7sM=', + r_hash: '+wAQfo488OACMkq9JLjee3Nr6wbIhD4TskpGPQj8C4Q=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235237', + settle_date: '0', + payment_request: 'lntb1pw7gt49pp5lvqpql5w8ncwqq3jf27jfwx70dekh6cxezzruyajffrr6z8upwzqdqqcqzpgdvq0j35n3ggds7danag5cg2sgnugh3pygutfqa6r03yumln80988ltygmsy67v9slze2gj94v0xurt8fzpa3t9tdqcjk8pp3uhkc0rgqlh6fqu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '167', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'RVOeGvgt2tO6TInhZg5+n8uJW+Kx6OGXuhQd0Oy7+OE=', + r_hash: 'yW2f4yB4TtBc/r1RIhWrKG6Degmm5N73LdHQrd1hi9U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235260', + settle_date: '0', + payment_request: 'lntb1pw7gt4upp5e9kelceq0p8dqh87h4gjy9dt9phgx7sf5mjdaaed68g2mhtp302sdqqcqzpgelap3c4ystdpk77msx29m2faa5zega2t3jacu589scfstcg6y2kyrfapdfm9czqpe8ty2njwrxwn83qtqscaygf9humcuyktzrun5wqpv2yvqv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '168', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'vQvUAyOv9Y95+dE8GtfR2I6xxJQHM6JizM7Ni3T3GLM=', + r_hash: 'PORwdB/XihMZu+xUrlE8WVaJL4T6/GCuMWjeWWoL1Ws=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235281', + settle_date: '0', + payment_request: 'lntb1pw7gtk3pp58nj8qaql679pxxdma322u5fut9tgjtuylt7xpt33dr09j6st644sdqqcqzpgfccsjrdrz2vya8cy85qjk4rp2wxjn7wxqhhsh4a56fhzlj0x7cu3x73duh0clx649rzq6vyazrltyuvlwx0vtcemh7la8gqeah4gspqpjddmlc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '169', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'bYXp5agxyJ6G3bBfSqNeBS+RSMqi+8a9em3E58SUK1U=', + r_hash: 'H8VGFyTMMoAD8QBMx+NCPPE4aAC/8EluyxvL+/Yu9Lk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235357', + settle_date: '0', + payment_request: 'lntb1pw7gtcapp5rlz5v9eyesegqql3qpxv0c6z8ncns6qqhlcyjmktr09lha3w7jusdqqcqzpg4af6en4djp8nxyvwp0qss65ttjt2dusl66qrp8dv2cw5t98xvsfrf8dv0t89uxw2mz3vrsydqqxwptfcc0vuynjhml2fa3zp6jx6ksqpvm9hxa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '170', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QkeD79WkB8iCY0bEZLH/Pfhy0vIDVVXFScKuffFzKOs=', + r_hash: '3gTCoJisppAdFxdz24PlolwBIYFghnZgdidLvdxGY/w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235427', + settle_date: '0', + payment_request: 'lntb1pw7gtmrpp5mczv9gyc4jnfq8ghzaeahql95fwqzgvpvzr8vcrkya9mmhzxv07qdqqcqzpgm4rvf0h3rsrvw9crz5ck7sr6zwj0ap5qec6n7h4akg5fme73jmpku4f4pa4hv9wz8cqfp2ffv3utudqdp839arpzcvm9vgxe7uflt5sqlu4nlz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '171', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'jbWvE3WMlE1lbKJFbYN42+8j7AzRAb8DiGiSah3evBU=', + r_hash: 'riouDg6cKfAIlWOV7OWwZ1spCt+Xwe33cHzrLK2Ho4M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235476', + settle_date: '0', + payment_request: 'lntb1pw7gtu5pp54c4zurswns5lqzy4vw27eedsvadjjzkljlq7mams0n4jetv85wpsdqqcqzpgre3hhr0ge6dga7u9whf5nntmq7q30zk30yr58yl40kkj0sk780p30aa0nmdrhhptzjae9saamt5kr3j73w7amd5we3zkgvwv5ggnkacqqq53lh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '172', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'gKzrkJc5FgUT3N50KLWP5JXSnXraTkK1NvvNYrSru6Q=', + r_hash: 'MLc6jdEGj5BJi+H1sWyd8hAd2p1mh3epFRMQIp3PHMg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235609', + settle_date: '0', + payment_request: 'lntb1pw7gvqepp5xzmn4rw3q68eqjvtu86mzmya7ggpmk5av6rh02g4zvgz98w0rnyqdqqcqzpgwwfq6wn3ms33cmscmzvjnym0024ffzy4pqccj0mn44wr8c96rsnkskea7y6h96mydgzdpnqg2xh3n8yxdgeltkm308z8p93spq392tgp8uxlgg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '173', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '2Gmb2IML1bhU/2woSKrlbsMCWiGgZhvR59voZeVX7l0=', + r_hash: 'wRsWYRTzi7uElrnhjQ5O7nf2zaVp1BkKy7eYePezU2M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235771', + settle_date: '0', + payment_request: 'lntb1pw7gv9mpp5cyd3vcg57w9mhpykh8sc6rjwaemldnd9d82pjzktk7v83aan2d3sdqqcqzpg37e2ury2lmx0fmdyyy4dkk9ca76zslydasqz6825yxfzdv6yye68d2kt5fpkjzgu489a5he4yh7kdlcls03l2ruq2mutrdtfskuphnsqq596ea', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '174', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ZmNooLapNQU7m2/o43M1oFJ/AhdMjyE7SSxgkxWWeQk=', + r_hash: '+No/wlKtIaWM0qUB7QLO4uWwbQW+1HTbCiI/KBeDxzU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235775', + settle_date: '0', + payment_request: 'lntb1pw7gv9lpp5lrdrlsjj45s6trxj55q76qkwutjmqmg9hm28fkc2ygljs9urcu6sdqqcqzpgwv9g8jzr4vxfpxktzfhfumsdejxp37v3at053e2muynu069hutg47aa8c43tr5hfazahtm3twfufrwzuev9ps6vfj5v9z0ja8x6sx2qp98s3nk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '175', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'j+HOjj1buGCqyvru3tuyNQLJAygyj4PH9ESaOBlfvXU=', + r_hash: 'oUS/DDaNZzJZifViOoAOXzIbkobDQdNIFw76lnyiAu4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575235787', + settle_date: '0', + payment_request: 'lntb1pw7gvxtpp559zt7rpk34nnykvf743r4qqwtuephy5xcdqaxjqhpmafvl9zqthqdqqcqzpg0syc4v6xs5sw056y6dr73waw0svue4whgw3s6850vd6pp9q3snkrpq20ysa0dfy2vtp8pk47dhw254y5t8lwgm5mr7367gpkqrncc3cq820pgf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '176', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'iE6v7C0AK7070YCOk7a57woITTeClA83tMORTmlzTOs=', + r_hash: 'eH3ofAqjj3YQCGI7HrESqrdDh+c37sg1Hr3oyKrIvVU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236341', + settle_date: '0', + payment_request: 'lntb1pw7gvh4pp50p77slq25w8hvyqgvga3avgj42m58pl8xlhvsdg7hh5v32kgh42sdqqcqzpg4z7kcgngjnlqhx6sr4s5nxxrnk6n032tjf4dmf85cjq3zt55ckzxcht0qyey3nl05362n6a8wcsxmtfpjmqa9t5xjefamhz88ek8gpgqk7rmp7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '177', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'zP5fDo16UmSBzeISUdiDwnzQoR6znXkub96HtCGeXK4=', + r_hash: '7ixeA0HAXNmlPRlSM8lHnlO1EqSX/7dy69S45JodaFQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236539', + settle_date: '0', + payment_request: 'lntb1pw7gvampp5ack9uq6pcpwdnffar9fr8j28nefm2y4yjllmwuht6juwfxsadp2qdqqcqzpgyy0cmx7adykz4vr3t0cauxchmgc433nxrln2wdzs02mxh8fldth8680sgdzklf7rq3jmlj0d8aqxzsjpc724way6ysvpnc9xmmes8mgqxe6y2k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '178', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'YuB5YuQc/VWAqRZh2rNsCOC5Uh/3JWHE3KvVvw2uXKM=', + r_hash: 'UNNcMGc9c0d/SRDFO40uppRd0hmt4WnbhF/69izzgPc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236622', + settle_date: '0', + payment_request: 'lntb1pw7gdqwpp52rf4cvr884e5wl6fzrznhrfw5629m5se4hsknkuytla0vt8nsrmsdqqcqzpgmvq20n456fhz9p5uc63tsy6v4stssp64kjmzmdz9re5yndtzmuuqm2y8d3lt5zvzws4su4r4taf7c0f2xe4j4dfkhzskz4w4fjeylzspcgly3v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '179', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'yTO2Z+lKnZnVbB3IKUI8LNzDaliRHuZY1mLCHyRkyjM=', + r_hash: 'LuY/QH7JcTrHlq8kDVchzBinK3fROqv5S8cUCfOpJ1w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236686', + settle_date: '0', + payment_request: 'lntb1pw7gdzwpp59mnr7sr7e9cn43uk4ujq64epesv2w2mh6ya2h72tcu2qnuafyawqdqqcqzpgwv5udhpwrzy37g42g824zn4srazt5jp2327wt562dgnk097czt49vkrzudkkulmd89etk8ys8ghlx8qxygvvjgrl602kq2hrn05ucuspqpfxzc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '180', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QVv0UiLpzKMVwTYukr3pvnon02dwWLXPoRd9S7Wpj9w=', + r_hash: 'B8VzxEv8xCXfcXZN0RwCRlF9UiLJQps4AyZrToZ87QQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236727', + settle_date: '0', + payment_request: 'lntb1pw7gdrhpp5qlzh83ztlnzzthm3wexaz8qzgegh653ze9pfkwqrye45apnua5zqdqqcqzpg6kqy073augqxsr0wqme2ruwlff7xngh5lcwaf2paq6rqstgy8kuy0ludgt7vvnuvjxgzrckldtlds9t93238fzwxm9afuxj4fsfj4jqqs8udkp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '181', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '63MZGlklx1uWRVYx1sMR5/rCW8xDMki1V7AsyyjA4F0=', + r_hash: '/E1xVENRfuexqxwAXKEf0BhfAzNPXqBG+IluBJPkUbg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236833', + settle_date: '0', + payment_request: 'lntb1pw7gd8ppp5l3xhz4zr29lw0vdtrsq9eggl6qv97qenfa02q3hc39hqfyly2xuqdqqcqzpgc2y7mtfdp4hpv88z8u98gamse3xae03l87kxj04hsfmsk872qsms44yht8jju2n8k84ml4ar2dlmlj6gguqqz7eykjahdr2qemq4evcpegad58', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '182', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'H+iEZrm14DXIs/TPjalHjLrKc/Ge4iXb7N1rqHv48Kc=', + r_hash: 'SM4+OOUoTHvSxkYhw8ad9lAdx/H3+av9ZGwqxBP3oyc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236865', + settle_date: '0', + payment_request: 'lntb1pw7gdgppp5fr8ruw899px8h5kxgcsu835a7egpm3l37lu6hltyds4vgylh5vnsdqqcqzpgw33amsehr4q8cu7jlvq7g0k0sp4hhxgdprstlzv9czdpxd6ldwn4npd2vhydj0dkmruweg7dn0fhl8k2q02uhnke0re5x4jwgkk2rhcpaz5qme', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '183', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'KZt5QqDQcushG8j+ps359p3tajz4PuVE/4sw2VCxbf0=', + r_hash: 'bc86KQB5xb0YNNt8Mw7mXYTMNO4G6od4bhO6/9Ggz0U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236907', + settle_date: '0', + payment_request: 'lntb1pw7gdftpp5dh8n52gq08zm6xp5md7rxrhxtkzvcd8wqm4gw7rwzwa0l5dqeazsdqqcqzpg98vrlt2m38sgtrs5dxqjzgn6qzq5g0qn7pzs93rdmutvzyet0k4xnpaf4s3fyu83zfgp2s5npht8t32j0tut6w7yt4fr079q54kzsgqqln4z5u', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '184', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'WAZjXJisNZs0urm8fRmaLfqLdoBbFwdr9J1wuCvrDew=', + r_hash: 'O9sCYv+3AD5TCbm6OpyFLkE22khAB17pnQ5u++4UhcI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575236999', + settle_date: '0', + payment_request: 'lntb1pw7gdv8pp580dsychlkuqru5cfhxar48y99eqndkjggqr4a6vapeh0hms5shpqdqqcqzpgslr5qnrcg3zgndjf7lrq7c8sraz8naeh56ytwl5f96zavxj4vddkcg7xrvsfcaaqjd8lar9zftsre3d49kcfmd98lmalvhz0kxr7kecqkvdnwx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '185', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'MccFUIdVpTLPyUEBidWmUz296iP6EhDSv2ofmR++LHM=', + r_hash: 'VbgWtsogeOBFIUQ+RMV8LRq1Gz/QfiviCn8DGoz8MzQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237011', + settle_date: '0', + payment_request: 'lntb1pw7gdvnpp52kupddk2ypuwq3fpgslyf3tu95dt2xel6plzhcs20up34r8uxv6qdqqcqzpgre0v4lpva4585780ljxrvqehys00rlvj9w2qc5tjfu75svl5x4r80p6h36n43qq3p0vgt3pkgh92fj22pc2400hfas7l6try88gga2cpf5znk5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '186', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'oecUoXTzXtRle4avUSJ0FbnXLFNCb2l/IDskGnyZ49Q=', + r_hash: 'cUN8mBEstmXZ8qYOo5XKL/m+rSksF8wYNQzuDgaG+Ts=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237158', + settle_date: '0', + payment_request: 'lntb1pw7gd3xpp5w9phexq39jmxtk0j5c8289w29lumatff9stucxp4pnhqup5xlyasdqqcqzpgprdrk6dg39e978p653x4el528spvp5h9ylrev47d5eck0eynpyf5p00tmrn0dgu0gf9nlx7l8cg4mqtwqpkt40rvhy5nets03ka9w3sq7unhqu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '187', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9OmAVR3WlErpQhRKaGh2/5p/IfEcL0VPQE6HYI7mzCk=', + r_hash: 'W3v98+4E9GArmVCrXeIrglSYRP5AdFcdUPe7uAUrOA0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237441', + settle_date: '0', + payment_request: 'lntb1pw7gd6ppp5tdalmulwqn6xq2ue2z44mc3tsf2fs387gp69w82s77amspft8qxsdqqcqzpgtm3der9s95dx45qzx09ngd7w7uwe3ldq6h4k6a3ce0ddnclncl54anms79cs22skmjjxcedj3mdwn64sls49vmlqfthgk072xwfuemgpdk7729', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '188', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'EMn+WIeOjUR61zZ77DCglbfiEbYrKNjJXU75P8TIL/8=', + r_hash: '0HqduCWPq7ddH8rJHqlPN2OmbzH33q129rXvOVosYTk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237458', + settle_date: '0', + payment_request: 'lntb1pw7gd6jpp56pafmwp9374mwhglety3a220xa36vme37l026ahkkhhnjk3vvyusdqqcqzpghx87y0f9y0lrz0g9v6rnc70uzmczgq2f9j7rztz4lw2e5qzexa7hwy5z9e0zq7j25tjhxt73wkrgax5gdt8tsk6vsewjyq6anjf9j0sqsth90h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '189', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '40RWF+sbh7bumqVnYwAEF9qyMyc4qOyCqW7GwOyhZy4=', + r_hash: '3MMjpeiR1pv2xgHC/+NbS6mhMvHkKLz3v25F0akPQgY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237541', + settle_date: '0', + payment_request: 'lntb1pw7gda9pp5mnpj8f0gj8tfhakxq8p0lc6mfw56zvh3us5teaaldezar2g0ggrqdqqcqzpg0kf5af4mddzhv94pn962ccvgq2xzj7am75ppuclax33zez5dpgwrku02rcq8ep6suaka85j076r04amxn9txg0chr6tyyn5v0mnc5ycqdtgrs5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '190', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QP/ptlMH+yg4P0ko4PD5wOBIOlU2Z5RExodPZydedqY=', + r_hash: '4W55G24tjI93QBl6QEEY1zjQEdv7pdsZ7MCe3pmGxBM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575237758', + settle_date: '0', + payment_request: 'lntb1pw7gwr7pp5u9h8jxmw9kxg7a6qr9ayqsgc6uudqywmlwjakx0vcz0daxvxcsfsdqqcqzpg4wnz8xxrrvjqqt4sryu25k9psyje8pa7u2qmqfkvqrlfa8h9zrenzvh8jvcvcwd0dq3w3yxxlet3yc57w9gengjzuv9fcr9wryasr9sp7a0vgs', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '191', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'TNkDMvsNLtc6ojd+UMmhwJDNF1yolIOBgn8a7JTtfb4=', + r_hash: 'g5POtkTS4j+BGIhZ9a++lT9MnONjksZnx5TSKmmXoB0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575300770', + settle_date: '0', + payment_request: 'lntb1pw72t4zpp5swfuadjy6t3rlqgc3pvltta7j5l5e88rvwfvve78jnfz56vh5qwsdqqcqzpgaqrkxkr9whazzx7vyjyp4r6cn6qm4rrc3m786jqwr9uyng4erdrqx0r9nxmrcazayepu9ljxcglck6q3tr2mz9gnyf6lu877ve658xcpv27ug5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '192', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'y9A4KO4F2N+VHvjhC5UktI7/UpHSxs8U6i9SPCtI31s=', + r_hash: 'ZXVsfWv0m+ySuq4bt4r9QuNGqDePN7PWb//ypmFI+0Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471323', + settle_date: '0', + payment_request: 'lntb1pw70jxmpp5v46kcltt7jd7ey464cdm0zhagt35d2ph3umm84n0lle2vc2gldrqdqqcqzpg8a7syjlhgfljzc2pc73lvtp86v22kfy86anw7zwjft6whf08s47jvwlx9eg68u453ealkgxzg6m3tzhvu6egyz4fllwsnplvurzc42qpj4ye87', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '193', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '/2DwK9LrsUkKgadkct3Rr1oX/fsPWBxDZHDjReUbVCs=', + r_hash: '1N01o1dVW12VnJ9jN2C161AKVR6B45Y0ezw+DZLKTPk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471436', + settle_date: '0', + payment_request: 'lntb1pw70j2vpp56nwntg6h24d4m9vuna3nwc94adgq54g7s83evdrm8slqmyk2fnusdqqcqzpg8a75qh2a5hzl9gjnya3htqzv9nxw69evmgnhhfapcfwgsnhj9rrrpnfq5kyptg4vr3zgndt573suqn5t99ny36q9aythu68n0xustycp3nq5sd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '194', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'XTMmzJ7BqP9c0qtxkr/0pqzz8++qUggQ351pTWdEzQM=', + r_hash: 'Z8pHNZgfNMyBF85LDNQ+lGQFYseU6S6al7RLIXK41I8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471514', + settle_date: '0', + payment_request: 'lntb1pw70jv6pp5vl9ywdvcru6veqghee9se4p7j3jq2ck8jn5jax5hk39jzu4c6j8sdqqcqzpg4jwf6yg546gswghv8vy9c53lwm9wrgjhdkaykrec7j0tewh72xn9sjh8ue6rvp5ct96g9cnquspru7qnn54cx8dpvxu6qvcua0l6rlgqy8eaed', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '195', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Z8KwJffuNjKBqFheypjjS/QsN2EBXcLlcLDcFxg/cl8=', + r_hash: 'n0N0BBFn9TZ9RVM5HjuTWBUUpRQq6SX6ruZEKWiWK3w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471549', + settle_date: '0', + payment_request: 'lntb1pw70jdapp5naphgpq3vl6nvl292vu3uwuntq23ffg59t5jt74wuezzj6yk9d7qdqqcqzpgfesx637hs7fzlx6ruwv4c9pmtfqas6uc4cyhy6ygnwkej4fk30x3ldu9axyyuhedqu2wl9w2jjgjqsn90mampftkn7zs2symnjdqmyqp96yuwt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '196', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '1OjzS972Q92bMwO8DvoX8sFddofAYAo/5KzFUlBOMrs=', + r_hash: '0o1Fm/vgx7X/VNYnt9HKZeN5M4Ec/BjOFOnttGpnV54=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471559', + settle_date: '0', + payment_request: 'lntb1pw70jw8pp562x5txlmurrmtl656cnm05w2vh3hjvuprn7p3ns5a8kmg6n8270qdqqcqzpgdsqm4sv54ur9d8w7s8mvvcsmluyz9lwvmvwngraz9ve7fwt58cpz9wj7kzyxzt3e6zrstpl5yufzhakwl5pn9mhu5vtthfkqcjcmwtqpjn3a63', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '197', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'm0XT8XRPt9Ar/16t1C14e3qfrCHLEs8BJY7ignu/ykk=', + r_hash: 'WHCdcYtKTy7plRywB3ErJQIyhIIidzLo891sTmd+57Q=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471575', + settle_date: '0', + payment_request: 'lntb1pw70jwhpp5tpcf6uvtff8ja6v4rjcqwufty5pr9pyzyfmn968nm4kyuem7u76qdqqcqzpgt7tw79kplk5m0jvypxd9mj4gznsjg49k9rlhxckp8mqv7uxlk5f4ek5sfj60wfwe2x3lhmrutcyn4t7c7kgfyenud8ul54tmtaytfvcqkkgqs0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '198', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'i7d1KIXb+tKb+riH3W6j9HvFsB87auVk6wjpPVHmfTs=', + r_hash: 'gFLHOK8Geo1tapJKB0XbiJZhv8T5TNRyFG4BTemcjdw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471587', + settle_date: '0', + payment_request: 'lntb1pw70j0rpp5spfvww90qeag6mt2jf9qw3wm3ztxr07yl9xdgus5dcq5m6vu3hwqdqqcqzpgtecsdv7u7vk90kuc2plq33d4lecmgfw5gmzg6l747pqy432nyztj9lcwtqlcz9x3thjcf2lht26jugnfvw7t69af2jnzhll9g5g04cqpr4a2zc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '199', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SI6i4xV4U3aejxsOGCAKtWDUaBaufKODPqdSb7QJBZw=', + r_hash: 'vbn5Cze1RenOWxkn7/HqCIF4Ns+2g3jNCpTgjJsDP6c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471608', + settle_date: '0', + payment_request: 'lntb1pw70j0cpp5hkuljzehk4z7nnjmryn7lu02pzqhsdk0k6ph3ng2jnsgexcr87nsdqqcqzpgpyunamslhupwnf7zs5snjzrrxdzkvcjmklngjs7prs2pk3g3prgy0cpctatgq23mcz25rl8d68ylduykjl590caauappclcxhm6kqwcqczdm2w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '200', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ACHOBz+ElzIVpTJXD1SEqtQkAxLD6yBoClkNymFcCWM=', + r_hash: 'VksymrdoEIU8wrC1tMPFdSycQpHjzxYq0eQxdxZKerE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471618', + settle_date: '0', + payment_request: 'lntb1pw70jszpp52e9n9x4hdqgg20xzkz6mfs79w5kfcs53u083v2k3uschw9j202csdqqcqzpgt88djefydfz0uqpfu57qz6dkp7v5fmgtlca7lssspqutyttspcx8y65g6k95ads4vg763csuv5n9pcwzp93fthxkv5y2903dtthuxaqp0e9rju', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '201', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SdJxTmwnmEmWGhXl9keSDD7qPy5/U2DWTso7lsLuIhc=', + r_hash: 'nSCEh7NzVEmVC3FkK/EH1Je4AUH8QtJrc9SrWlmB27M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471692', + settle_date: '0', + payment_request: 'lntb1pw70jjvpp5n5sgfpanwd2yn9gtw9jzhug86jtmsq2pl3pdy6mn6j445kvpmwesdqqcqzpg7v0wzzgz27afmrllsnae3sutt2fcmkxv6h22n0wsvcrnkhz204k3ntgzjyc6w885nd5dp6z3fap3kake6h49pvd9cqqc0p7900et20qpf2l8dm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '202', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DHrrRnedmVQKYMZNvPMz3DQV7txviIWEPkfzNBAO/zA=', + r_hash: '9ywvVf0uMshs9hH0kqnRH7xq2FbEbGKzglDmCqS6EXg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471719', + settle_date: '0', + payment_request: 'lntb1pw70jn8pp57ukz740a9cevsm8kz86f92w3r77x4kzkc3kx9vuz2rnq4f96z9uqdqqcqzpg8rgk5txdwke79un6n9zk7zzruj6rp5gm8fwany9yu9fkuk6jrnv9m93m4jzez24gfq8gwt3fxkn56tat3k9hprrvc9u99zl959qvlssqv28mtp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '203', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '8Ufooslkt1NIxhcQNLhLWmPvEvkJ8CmJA7jkry4+hbE=', + r_hash: '/ELVkLbVqn71Ltu1EegmiQUkCa4X+IICOgdeXjyXkCA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575471855', + settle_date: '0', + payment_request: 'lntb1pw70jh0pp5l3pdty9k6k48aafwmw63r6px3yzjgzdwzlugyq36qa09u0yhjqsqdqqcqzpg4s24lqpypmvc75pgdy3jpzxqn8uw7uxsfq7qvzz4rf0lm6s7hhrxk7vl8hc3sna8qunqm6mqgw264n9tyqwcnkgugscrrkz5zdhwwfcqututya', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '204', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ndA0i2RrA7oNqAuRAFArcm/fU/p/gYSdLBrhKwFBcGo=', + r_hash: 'YQf0JGlGqpFs8u6UPlpnwZMockoKHUw/pBTpCuF0Br4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472338', + settle_date: '0', + payment_request: 'lntb1pw70nxjpp5vyrlgfrfg64fzm8ja62rukn8cxfjsuj2pgw5c0ayzn5s4ct5q6lqdqqcqzpgmxx4mlngl4wf9aj0auced3j4uvxgp9asrhhwhc2m0ujtanl65x4qfaeu5fxxxz9fzk785vyfsvq7j08h6fenqm2rq0ua2rknkqreqdcqt6n3fd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '205', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'rziUlCCVNptLbyJrhGeTNKXq6D3TyQa94hBS7bsjOhk=', + r_hash: 'siVhqHg2hz8Hz17W7iAB4Rdzb2IWQQ10PgGuTbnNzzk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472413', + settle_date: '0', + payment_request: 'lntb1pw70ngapp5kgjkr2rcx6rn7p70tmtwugqpuythxmmzzeqs6ap7qxhymwwdeuusdqqcqzpgz4ny77trl6ung2805djz8zxmyx35krveu8r7l70ms5hktgc64mv3f2kpz20xcyurgnausl5jg5q62nlhwm67cpg4e7qpxg0kn7fqtvgpw78md7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '206', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'SB8VjehkSEbtXTUqEVjVHUBD/iUZjCaXtt/+Qdo05mQ=', + r_hash: 'Y/MWguO10xnh8c1G5WPU2oig3JWF4a51smXTkEhQlqs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472486', + settle_date: '0', + payment_request: 'lntb1pw70ntxpp5v0e3dqhrkhf3nc03e4rw2c75m2y2phy4shs6uadjvhfeqjzsj64sdqqcqzpg28uzyh3l2kwzdt6uqwzljha5fazahm2tvt4xw75mar8mwz2flzwkq7cfnxn6yat3uwwf8y0ulm40ad9wzw724qtzs9vlpcfk0mewhvcpckjfsh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '207', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'TCspJQcM/AVXlCvYhiEcyAiRZ1ZoQRoPdHu9Qt1xCx0=', + r_hash: 'GkyMM8iTWPabYHVbDr57he/hsMgz22QYpYLAjur9mlI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472679', + settle_date: '0', + payment_request: 'lntb1pw70n38pp5rfxgcv7gjdv0dxmqw4dsa0nmshh7rvxgx0dkgx99stqga6hanffqdqqcqzpghkm4gu4dpxhxdamtuwqlk8tzvvuq80yefuxnstmdk7musv6xmqyrg7ql0hxja7dsd7ew9ksqg07ll5psv9u2p3s209xhfkjjgc7xshqp8zhvzw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '208', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'UA+uVyw7XYi2LihFU+JUBjinAI6e+rjcAm6O0OBICPw=', + r_hash: 'tWYgPyltbILgy0eO8pkrN35YqjQObOzvsrv65k4SeJU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472684', + settle_date: '0', + payment_request: 'lntb1pw70n3vpp5k4nzq0efd4kg9cxtg7809xftxal93235pekwemajh0awvnsj0z2sdqqcqzpgxesanzfzjd8g724q0hxuh78rpkwmc75eq2ut8j06apfnzfsqpms56pps3yjkzelws4d5w9ju6ymqnmgjlx55c25fgw2v9cnvapjw2rgqf23u8r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '209', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nogk641EMNOMrfvUwV2oiA5FrlTSlWisV6GEuQNi/bE=', + r_hash: 'zCmf84R7gN5GzCtkc7ZV3VzOB4r8bAcbrMRkU3tYSlU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472693', + settle_date: '0', + payment_request: 'lntb1pw70n34pp5es5eluuy0wqdu3kv9dj88dj4m4wvupu2l3kqwxavc3j9x76cff2sdqqcqzpg0x5dfctp0nrqkzu8xecmkvt85szukkaskha4s5wf2hv0lzgya2t4cfws79mdz828wnknlfthh66g33der6m9xvc6ux2pszz37670cnqp2zvu8z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '210', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Sh7vgFOlK6Y7oDejJwBEsm96soq5yI4VKAGx9P9DVcQ=', + r_hash: 'x+9Ny127Ts0r52HwS55SrzUM7wVbg+HSEvvmWcMkUd8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472716', + settle_date: '0', + payment_request: 'lntb1pw70njvpp5clh5mj6ahd8v62l8v8cyh8jj4u6semc9twp7r5sjl0n9nsey280sdqqcqzpghnu3agrc3alg4kua487cesj6jeswxplr5lzveexk3we9ad68kr0s92v0p7je0r9a2a3det4wf2t8y3a942c4eusedlvuptgf3v7nkycqlnclne', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '211', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'gymhYwO/YYxSLqidfgjITbTHM73LkroLRryihB/s0T0=', + r_hash: 'xCL+5DiiLZuCiQ1h6b9U0lT8ODh+nhTKlruZgswwGwM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575472746', + settle_date: '0', + payment_request: 'lntb1pw70nn2pp5cs30aepc5gkehq5fp4s7n0656f20cwpc060pfj5khwvc9npsrvpsdqqcqzpg48a307q3he9tc4e6nw5tac3dltsuz23ypgxfkx9ax0azzm0yy0zsx3rdyft5cey6wqnuy0lkdp82scl63e4nj6d3cfumthgh4zyxurqqjztvav', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '212', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'ZXBl7E1/glo3xusRaxan9w47U+hepAjvlk+eDry/WIQ=', + r_hash: '3TdswJaZ9sM1L8kityjrjDmUc/wm5ym6/LiBz4nqyO8=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911459', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqprpp5m5mkesykn8mvxdf0ey3tw28t3sueguluymnjnwhuhzqulz02erhsdq8wdmkzuqcqzpgxq97zvuq3wvp8zd5zxx3gp2wv6kughsd2u5gqa0xgf7g63ma9exyz5ms3rpqc97jywn5yja4e0832a4ke95nq4nq2as89dkugvvpr6nk5stzl8cqvfsdvf', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '213', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'p1D8RKBfQ+QQvEuolUVFXsqzJ7+DXgySuKruRCFds/w=', + r_hash: 'wiXIrmjhcvPdwz4u9JiPbNOT69EPUh3/npvf6LoW3rE=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911488', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqzqpp5cgju3tngu9e08hwr8ch0fxy0dnfe8673pafpmlu7n0073wskm6csdq8wdmkzuqcqzpgxq97zvuqpa9yp8f7ccn0skhfmrtf98gl0293zzychg8uus2ydzzgywdjvfsp77msqxdh5nm5hr2vlt5rhfhat3uyaulscv6enwfvwwnhee86haqq77pk6p', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '214', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'YpUVJJtD59Td81mQffFhii/hKZHENzd5DxwDHqbVjzo=', + r_hash: 'koArXw+ODuiaVBrLqUdZRhe8HXfWjzEGdhYW8SNFKzU=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911556', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqyypp5j2qzkhc03c8w3xj5rt96j36egctmc8th668nzpnkzct0zg699v6sdq8wdmkzuqcqzpgxq97zvuq28yxff2usr75uds59ue2egvcu4sfdmdc8eeh7u4qwtc03ntkpafrwfp03l5kwd0s48fvh8g8c35den3rwhqmpfxppvzvl42l8qkeezsqa8hu2e', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '215', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'ahabGwMkupMUtSqdVpnKSiRof+/NW5czcxNnsnxLTiw=', + r_hash: 'RFB2ZiwVvNuxV9oGo90fhx6VG5GnpxDmbdMk85vonkk=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911619', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqxrpp5g3g8ve3vzk7dhv2hmgr28hglsu0f2xu357n3pend6vj08xlgneysdq8wdmkzuqcqzpgxq97zvuqm0l85ld2k9c0vsnm4z8prw89xpx3z9d58vxku6qfxe773c44rqnktvhl70yk5zq4jezpn9pl6vrw853kd42ec7qn3hetdd6uy7vns7cpezylf9', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '216', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'pRRm78NQOrQOHTETrTJ9IW64VJ0mNklxjII0qmGPn8Q=', + r_hash: 'HlLk0n9evusgnaCm7p/SBN27FDXlIbNmlgJvr9YXKa8=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911858', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqdjpp5refwf5nlt6lwkgya5znwa87jqnwmk9p4u5smxe5kqfh6l4sh9xhsdq8wdmkzuqcqzpgxq97zvuq2gz2lmt5kpnfxzdtg7u7hptewlfz2rj68ncgaqm2k6k85uu967x3saz60lyd8x9jjhm64dp738zjv938n5pn5ds67qwg5mfcwlm49scq8w2ajn', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '217', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'MysAOriQVwLy7OBTr1uXZWVrKGnQQ6PowjW3+/9oHuY=', + r_hash: 'f2YtHVqswvRgD2MCd+Z9Bb83+To0AyHwZT/+ikow/5Y=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911900', + settle_date: '0', + payment_request: 'lntb8990n1pw7aqwupp50anz68264np0gcq0vvp80enaqkln07f6xspjrur98llg5j3sl7tqdq8wdmkzuqcqzpgxq97zvuqmlh344l55wpuvfrqwn9lqkrnh062yna0k77xfarmr93m4ngpru2qu427wjy5qss9k9e9v5d2xup5qat6tnpd6gjcejvfmvz9te8t22span6gsm', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '218', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'S1EOWwoXdnnG0R0CMMoUzTOv92DjCBxIjKhLGXdZr+A=', + r_hash: 'vamCHTC1LTX/OdJbZpiOlQhk69RT3Tj0/ICMNtvkPqU=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575911997', + settle_date: '0', + payment_request: 'lntb8990n1pw7aq3app5hk5cy8fsk5kntlee6fdkdxywj5yxf67520wn3a8uszxrdkly86jsdq8wdmkzuqcqzpgxq97zvuq2ncrttd9zlj0khk5rx9sylcq8kdt7pz7yflfv04u7av7xrjjjdek4s3p79qla2s07f8hzlgzwsl6mfv9yckat203n3zjlwez560pthcqdanazq', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '219', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'zqIRZl3/kVKyxU3YGuLq5Mo8l5Hgyekn1zhnRSMU25k=', + r_hash: 'MR6BX8ivJXUoNb6S/T+DkQvdb5Py9KVm531ugAA0fm8=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575914749', + settle_date: '0', + payment_request: 'lntb8990n1pw7ar8app5xy0gzh7g4ujh22p4h6f060urjy9a6mun7t622eh804hgqqp50ehsdq8wdmkzuqcqzpgxq97zvuqtuu9xxytqz023m0zl2gwwsrsprwae3656kqfunyj8j5gd6qtlt5kkvxp6h3ua3wty0fmv6z7eu0puzmac4hyt2fq9klts4pmeshmrxcqdglw77', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '220', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'X3XshHlwez4ct8E7XZRnMFq61AXEEuOoTPMY+K4X+i0=', + r_hash: 'HO+NAYaDZBAackKQHIL4N3tCEL+S92Q4DCr6u9lO06w=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575914820', + settle_date: '0', + payment_request: 'lntb8990n1pw7ar2ypp5rnhc6qvxsdjpqxnjg2gpeqhcxaa5yy9ljtmkgwqv9tathk2w6wkqdq8wdmkzuqcqzpgxq97zvuqdkp6e0adxnz0krq0z9alu8sy87ncvjkyypy6jnpt2895fh86dnznz6lcakdmsk75xadye73z9gc4ksus2x7krqc68n2ky7n44rt3pecpvfdpxc', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '221', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'pMm1ZXBT8lBCKJKxLtaK68+I5s7U6yJa8Vo0guTf0WE=', + r_hash: 'hN7qZs/isz/4QMUAES+XoQrwIIo3okEYRl0UbBa8izA=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575918092', + settle_date: '0', + payment_request: 'lntb8990n1pw7axsvpp5sn0w5ek0u2enl7zqc5qpztuh5y90qgy2x73yzxzxt52xc94u3vcqdq8wdmkzuqcqzpgxq97zvuq9mcstha2tc8namlvup30gm3ngljzmp7ue8eavxq8kfq0h55llcun539p0fpu68442pjvk7qgk636jxy48kw6y9rfvn07yn3gc4fdq3spmlhv0c', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '222', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: 'PciGdmrUxIMBOjDfv0j7jR2XsN2EOMqgxcI/2kxko9c=', + r_hash: '1Hghd/nkgnyhx411MQP8gsrYsrMKF9uQXdTkduAS9tE=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575918373', + settle_date: '0', + payment_request: 'lntb8990n1pw7axe9pp563uzzaleujp8egw8346nzqlust9d3v4npgtahyza6nj8dcqj7mgsdq8wdmkzuqcqzpgxq97zvuqudc3qrnaxynfqvm2jd6awvvjthh76farnrgjpwv9wagwr4gzm0wsjyq3ekjf4e5gmyggq5sk6a7t2u4728fk2chk5x50yntjd73224gq26cu24', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '223', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: 'swap', + r_preimage: '6ra2CXVz7uY/eAiRvPfhqnrFXzXE24ve/HUMUSABmGk=', + r_hash: 'N8WYP8Df6Umms2KlaGwgqiAzLCwcEQnNZBaS+MVwwaQ=', + value: '899', + value_msat: '899000', + settled: false, + creation_date: '1575926719', + settle_date: '0', + payment_request: 'lntb8990n1pw7awalpp5xlzes07qml55nf4nv2jksmpq4gsrxtpvrsgsnntyz6f033tscxjqdq8wdmkzuqcqzpgxq97zvuqnhyc86knlykwpst5x6u4jjejp9hkgq7qs8jzlhvtsnt99sfalmyju6hxpnffwjnvate7e0nz0dc2zmw55dec242rwppcv6vx7f4e8gcqcf0k8x', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '224', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'yB8DnmjejmYIhrlb0ycQN9Z55l/UFpO67stEOSDWDDY=', + r_hash: '46FaYwn3YJrZ8hGZ5MvK1bo1WWMJcPyl+LW4yPHl8Vw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996878', + settle_date: '0', + payment_request: 'lntb1pw7lnwwpp5uws45ccf7asf4k0jzxv7fj726kar2ktrp9c0ef0ckkuv3u0979wqdqqcqzpg2nxt4lah577aq07g0htq7arhnw8whsdkcnjyy2h9tqc87nfxps0pcm3kp5pc0rfdfmsdckxpq36ze9ysgwklgqldcstzanqgcfn96ccqsxcuc7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '225', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'kp3talPHyDIo/qU/dQxUXo1d4M3eR0Nr0R0cO3JnofA=', + r_hash: 'JQ/uuLJmRXdUJ/DI4hWQdsE7TCud5ejEAm5gc1VYLNA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996901', + settle_date: '0', + payment_request: 'lntb1pw7ln09pp5y587aw9jvezhw4p87rywy9vswmqnknptnhj733qzdes8x42c9ngqdqqcqzpgrem5xz0zzqrspljzz63zqmw3f224nkhr8rdqum73jkql63vxcj7xhc5zdnv8jc494s64g4595kex7hqlqq80dkem9ahp9tqmzses30spssqjg4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '226', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9h7H6hWpO5E2n/2YHcOIYWd55AmlYjRKqIG5oRHOb7s=', + r_hash: 'bHz5Hd3hpyX3v9pEGNyHF4dB8wxNFCG3DnqWWU7QHLw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996913', + settle_date: '0', + payment_request: 'lntb1pw7ln03pp5d370j8wauxnjtaalmfzp3hy8z7r5rucvf52zrdcw02t9jnksrj7qdqqcqzpgthel5syfd6w4s9k3rjjzhwaut3jvk79rrputkqnmlnlg2stg6av8dwftyvtzsd8lcpjmcc3x0h2nzutqy808yscms8l4zme2k9fj2acqns2kle', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '227', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nf+uGMsUXdjrOxsmZDxu9y8AcTA++mmXMAmXWYPk0N4=', + r_hash: '3v96h/YqdGNWFllnbNWjdT10ZD+YhEXMlBQZ/7FoJhw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996917', + settle_date: '0', + payment_request: 'lntb1pw7ln04pp5mmlh4plk9f6xx4skt9nke4drw57hgeplnzzytny5zsvllvtgycwqdqqcqzpgza2unuy2tx0mchh4q0cz7unfcpe9k2dn5v3tfu08vutaa0ff0z7qw2cj7ptux9plj53er49jc8mnfx76a4cc9qj82tc6h2ap0t5lvvqq6l5ntw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '228', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'HRqacv33Mxwmg2TnUmPHCixFNUgFp661b3CWLMv5GH4=', + r_hash: '20iNGyTXMX9KHOts7k9YUWBZV3+Dl/SGJ+RhQ74xJsE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996973', + settle_date: '0', + payment_request: 'lntb1pw7ln3dpp5mdyg6xey6uch7jsuadkwun6c29s9j4mlswtlfp38u3s58033ymqsdqqcqzpgynw3zkf503xj9xl0494pyn52e0xw6lgsqg0a9ln85r7g98wplztjppj805rven6zqld4y5erwut4jdfm4gw87q4kzcrrrp7jh0va5zcqflqwkh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '229', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'IHuz+JKT6vrm+D9qIYXqnZdYuwc94xfB1jrb6wf+lVU=', + r_hash: 'iRzT7DBudlASmU9uYGIm26l3Bgz2m+5/rrh0lqRQk14=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1575996982', + settle_date: '0', + payment_request: 'lntb1pw7ln3kpp53ywd8mpsdem9qy5efahxqc3xmw5hwpsv76d7ulawhp6fdfzsjd0qdqqcqzpgz2wy6pcev0m5enwh7aaxr0eshxfld0gzlqaydndw5kjlvum7vn5prwv6zkxfkv0dha3k9pyvk03ttg6p2h7kjkpkap8x6ze8fc5jqeqq2qztz0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '230', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Ov435wSKYF99WXg6YDHyqaWmldqOyV8BkHiCl55d0hw=', + r_hash: 'NJ3lPUgqkl8gDEpibBRED7UWsmdui0S32zWGTmazpkQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576164778', + settle_date: '0', + payment_request: 'lntb1pwlyhd2pp5xjw7202g92f97gqvff3xc9zyp763dvn8d695fd7mxkryue4n5ezqdqqcqzpg84gvc9jw72m98r0ncqlxddqa7nn686pthgzys4439s6ujdk3nqyh69jze83sux2vwj4j8j3vyzvf0vq2xt4mpmje5j5w04499tj4hwcqly43pw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '231', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'wWQiG80ANXxs+SZ+whrOsqTKi23F3Ie+QD8ikbuy7ls=', + r_hash: 'yv5fPKtJH9wqpZLhxNFELYtEUkOawn8o6wYSy2WrKEM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165262', + settle_date: '0', + payment_request: 'lntb1pwlyhuwpp5etl9709tfy0ac249jtsuf52y9k95g5jrntp8728tqcfvkedt9ppsdqqcqzpg88dyvsyev48e5d3vgwh2j7tkhvnqhzxeg0dvdgemgtc9mxqdljxxee8q854muvrtzpy7xn23spq6ahzv9endw2z2n7f7t50qyjrtdwcp2z5nrv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '232', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ct5c8/jaGiuiBtxVEA1tlbyMpaf4RiSjJzwScy8NFMk=', + r_hash: 'SxEeD/nWdQTjhCt9+Rzf51Ncu8oCAxRthD5yJhvFySk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165658', + settle_date: '0', + payment_request: 'lntb1pwlycg6pp5fvg3urle6e6sfcuy9d7lj8xluaf4ew72qgp3gmvy8eezvx79ey5sdqqcqzpgjjgrhpvkg9lfvc26vk6vcmwr5nle2t4d42qfnghupvp6h90mj3tha4wsydns6e0rwcep3ftg57v0r8f9sp7qdarrz4kguemmvauumcspuhldmh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '233', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'auZgop191U/f+lSTIGU1sxu13WgiP4OWdQ9/5KBmYN4=', + r_hash: '/IcAc4XAHnKeBetraVltBeRaFfgnaB1dmLPinh4yr/c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165706', + settle_date: '0', + payment_request: 'lntb1pwlyc22pp5ljrsquu9cq0898s9ad4kjktdqhj9590cya5p6hvck03fu83j4lmsdqqcqzpgels9h8smpn7yx4h5w3dpm7s7cqxetylwyq2pg5edkez5kcrnrfl99c456z8k7zkrg534f00defgfhqxqtn27604us4q9whft0s7074gpff0jre', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '234', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'mkyRjRfGJ3VryzxhUXA4HZifPFlTaSVBPJbvsd5KR64=', + r_hash: 'T92643jPjAaqUi9ni9woYLWRpsiaDE9it8lI5RuQXE8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165731', + settle_date: '0', + payment_request: 'lntb1pwlyctrpp5flwm4cmce7xqd2jj9anchhpgvz6erfkgngxy7c4he9yw2xust38sdqqcqzpg3n89gwgvcaxcn2znyzg98lga5xvzl2x3ujm7al2cl4kk47hz2l7yu899qthptr9w0kv88wr9myg62vnp7rwkxy9kd6e2fv0uzqqdy7qqu8ypqf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '235', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '5rQmXin6jUAFdUR6q+g74fyI6p246flrsdcy4IxRhW8=', + r_hash: 'rwi/RBFbDVktJc7CMYYydwjmj+SZ4Nl+PRQCLV8rydo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165805', + settle_date: '0', + payment_request: 'lntb1pwlycddpp54uyt73q3tvx4jtf9emprrp3jwuywdrlyn8sdjl3azspz6hete8dqdqqcqzpgrm3x4cwja28yvhnxujwnrurv37hptcn38t5rmat72mkxqs9hw9a4wks7ps5hqem0waqzzqdfuq3u0ayttvdfvx08u82u9fm2sdamhhgp79erhp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '236', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'CApFkO/I8r1NrmUIQiL4fY3yqyFfhTe987GGZg1XFM8=', + r_hash: 'z4nN8A1HpcaYjdIypBlXxC4bLHATGXcjmWDxS2vHwsU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165817', + settle_date: '0', + payment_request: 'lntb1pwlycdepp5e7yumuqdg7judxyd6ge2gx2hcshpktrszvvhwguevrc5k678ctzsdqqcqzpgg53jx8mgd5sddzj69pakdzmrlhasryjurh2s97rrthncgl7u9xkqey5vt07hr75g6xgyxydeq9d277ul9u3ns7nw639uwuex8e8935qqt229nd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '237', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'VrXJuNZcBr7teqTf1kovYqGoMnCMIPsfdtY/MruCJJQ=', + r_hash: 'PaK7yDlYaPR5fC2bd8rNqbUH48POCAbA+p0787QWpHA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165914', + settle_date: '0', + payment_request: 'lntb1pwlycs6pp58k3thjpetp50g7tu9kdh0jkd4x6s0c7recyqds86n5al8dqk53cqdqqcqzpghrhyt2jkwyd7gvdjauy6et3peeljh36ly6qagcedceanqhyprd28ym73tapyx5p40qzq6gwysgl6v7ctnc0y0r5a4k4vk33z2xktkuqpmzgxnd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '238', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '1VWdeMEv63cGYX+Ed5s9unHM7MKe14fcq5g28GeBUuY=', + r_hash: 's/91tDpHEbvBJWRbiWIFU3u3EnjskMOa5+JbOvIMFTw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165958', + settle_date: '0', + payment_request: 'lntb1pwlycjxpp5k0lhtdp6gugmhsf9v3dcjcs92damwyncajgv8xh8ufdn4usvz57qdqqcqzpgg9yzkmf2jrdp7faqq9s7479g5pcsh4e96vdgu8yk4pmt0zszn2nhatsk2qzyc2nyuwk86k9upj883kzdwh8a2nfeqwgsuwnlxgv6x3cq77at83', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '239', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'RcfzNud/eX1mz/ooSFzcu2ATddV2n9q+WgFAB35jw+U=', + r_hash: 'DXMlw/noSat9xve+a9FGDTcHRQlEPTXBomkI5v6sCSA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576165976', + settle_date: '0', + payment_request: 'lntb1pwlycjcpp5p4ejtsleapy6klwx77lxh52xp5msw3gfgs7ntsdzdyywdl4vpysqdqqcqzpgr3u8am78edv5zpytnh86cqxdgurkupq6x6ns7cw4z6vvy37ca0sj076e3unwseuzvwpfwhp4dvl0fqjez2e50vvd2xr7reh2tyy8jygqk6t6wy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '240', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'XvP+jm8h/U8Rha136H8ufnOgvket27Oww0FhHfkuVus=', + r_hash: '4Crttw6UmtHhbRG4FXKXqfRp9bt6k/8Mul6P1HBLN7U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576166100', + settle_date: '0', + payment_request: 'lntb1pwlyck5pp5uq4wmdcwjjddrctdzxup2u5h486xnadm02fl7r96t68aguztx76sdqqcqzpgf692z2rj0f99f2e8vfhe4nd2s9jw8y8fyjmtf4szuwfpmarl7j6re49j6s2ppx52dn0a3qp0z3flen9xmxhug2pjnxnc4vv64k5pmkcpsqzk7s', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '241', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'g9X3Rdt+rc11Oek2wRs4T8GIKl8NOS8Gmau5GJf933Y=', + r_hash: 'Z0sbJ5YjZra8cjnjiOc4VudmZrvTqX80W07n9dAFL+0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167111', + settle_date: '0', + payment_request: 'lntb1pwlyek8pp5va93kfukydntd0rj883c3eec2mnkve4m6w5h7dzmfmnlt5q99lksdqqcqzpg82pe5mlwrmw7np6rlh8yw93udwsnvr95dzctx08pq8tqp39vdcgrcchqaawq9q9mf990gp66g6l8h7tkq22x7wrlyz8jszl4kc5y84cpf8cdjt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '242', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'k9iBG8CbEEaD+kFbFh8wdS2q1KUXEAm73mFhIM23wFE=', + r_hash: 'SV1YS1/AUXZR/425HEGeIjGy24trq5L+DuHjPfxiW10=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167162', + settle_date: '0', + payment_request: 'lntb1pwlyeh6pp5f9w4sj6lcpghv50l3ku3csv7ygcm9kutdw4e9lswu83nmlrztdwsdqqcqzpghwt9yw47jlyr7q2lqqtg877grr6yuyd3dl9k7r3l7vs2au7d3lwztvg4d6fp2q8glt5300sfueauzdd68ffhx795ct2as0pjlpmef3cpqpr6j7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '243', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'J4yUuQu7cFGOmoYixoRq0aIMCQWItgRo+jX7waCuVE4=', + r_hash: 'VLurl7xCPz1vuVmzq3DNDzA/Fb3M9vUqvEjY8xhSwdQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167382', + settle_date: '0', + payment_request: 'lntb1pwlye7kpp52ja6h9auggln6maetxe6kuxdpucr79daenm0224ufrv0xxzjc82qdqqcqzpg8n7c44h59pvav77lxa9lk554hhw9uz5mkz63r9l8amwwtpcl08rj3eyakn7f2wqj4578gejr8gn68nkm7c7tlke626dtmedm5rcvdesp62wkva', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '244', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'zGghOZBL2h1qZycH2CdJzMtBUN08FPUXBUOqSqFLIg0=', + r_hash: 'Sn8drrbw0X/9Rtsz1hRhL03c1Z4wbrtRp5styM500rI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167604', + settle_date: '0', + payment_request: 'lntb1pwly695pp5ffl3mt4k7rghll2xmveav9rp9axae4v7xphtk5d8nvku3nn562eqdqqcqzpgrgsnhy53jcy354zsjdwzaeu84dnedmsrcpq6vag8tjca4tmc42my6jg23a0hmgcpw99xfpf4cadjy9gd6v5zetlgjnfj4292ms7gxncqx7505c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '245', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'G7Ase05yFX2Ujn1AMU2yXaA3mlfpuFiV39keXJYrfIg=', + r_hash: 'vnweyjHMa6V8xyloDU9bwS5CCO7lLSOARd7JDAtf3Fk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167660', + settle_date: '0', + payment_request: 'lntb1pwly68vpp5he7paj33e3462lx8995q6n6mcyhyyz8wu5kj8qz9mmyscz6lm3vsdqqcqzpg9d559nesy5jsew30vu78j7j3ef9zmnaksfxaj6dk9jgyyajftqq94g5mphmcsjac3kntgmuqnugq60vn2uds49w4xmdx4h2k0gmgjgsqwk5cjm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '246', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'hESgQBvb/8VdiUgM7UB3TBKewYTjs4QPAqlyMINUJgA=', + r_hash: 'HR7RVhx37hnwSEPfcLF3zjXA5cWrl2bKC5Iumuewveo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167746', + settle_date: '0', + payment_request: 'lntb1pwly62zpp5r50dz4suwlhpnuzgg00hpvthec6upew94wtkdjstjghf4eashh4qdqqcqzpg34xveugpl8l55evg0ghjr58aurzl3vhqp8su0jan92uyht0va2grwwxgwahsefdacqhl0v5zw5x9lyjca7xfetydpmf3ckdhmcq892cparr797', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '247', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '0tP8TJmvUQcG8h0KGhQcRREJEq20+GJk/ZXEycY9rc4=', + r_hash: 'zq0lb57L8E6s2T1zyCd9pQdd/eF/IVA9/W2n4Jjn9pU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167766', + settle_date: '0', + payment_request: 'lntb1pwly62kpp5e6kj2mu7e0cyatxe84eusfma55r4ml0p0us4q00adkn7px88762sdqqcqzpgv69ckj5wqwe3ufu93nve2sq2ctms2zxa2evq60lzsck4fdx68d2qyen4grpnghyx048uf6dax8q6su53ryz9pf6cpvah2mkqmv7gxgcqhvv2ve', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '248', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'lWQ6Z71F9XKVu5ZRnK5B5qRcp5NsgOZAMb6bnIgYaaA=', + r_hash: '62nMo2ZK4neqGnMs1F4FlWX9UlYVnLbhN35ayicdG0g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167780', + settle_date: '0', + payment_request: 'lntb1pwly6typp5ad5uegmxft3802s6wvkdghs9j4jl65jkzkwtdcfh0edv5fcardyqdqqcqzpg9qa2d8gqc6l8g3z3efxpyptp9vpywz2d965lugy07lsp0tuhnarjjdrv0csske5auhjyp0x0zcqck93qllc24tjn96ssapgvua7sdjqq5af592', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '249', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'nnYVcAd7laEke271KKXvFjrvhNqbVZ+T9D+2i/RjA/k=', + r_hash: 'fJKpW9VuQFzG50w37w8GojvVMJvemhQBD/EuBHZCMbY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167792', + settle_date: '0', + payment_request: 'lntb1pwly6tspp50jf2jk74deq9e3h8fsm77rcx5gaa2vymm6dpgqg07yhqgajzxxmqdqqcqzpgcda0gvy3q36fp9qtx7zkjql838k7qdu7wpdg36jpfqsdwdneuxm8gv4qrmw4yxe3f8evetuw0fkhf3ul7wm6xpdlv347je8jswxg00cqu48fng', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '250', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'mU0Lg0+kwzcP4/x1OnBmD8wQXbs2clvwbLiFv86AZwk=', + r_hash: 'xu7RZwS3y30owcs/YPWk540ssfICPZU4cFrSaCUohH8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167809', + settle_date: '0', + payment_request: 'lntb1pwly6vppp5cmhdzecykl9h62xpevlkpadyu7xjev0jqg7e2wrsttfxsffgs3lsdqqcqzpgg3svcd5vj95gzyuuuqtggqt2h4gjsdhjqautj2cgfrnydat6uxcxghef37749g25ey7ktkl7rms9yu3cw367vx5px5yw9vyy4j2gs5gqk7yl06', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '251', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Pm9rWlVNMjuzponAchEljEyFAee+bbjMgGewdDNFBmk=', + r_hash: '1o3AlZdsk2tVay/kXOTt42tdAzgp3SyaDjqpANDylvA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167876', + settle_date: '0', + payment_request: 'lntb1pwly6wypp566xup9vhdjfkk4tt9lj9ee8dud446qec98wjexsw825sp58jjmcqdqqcqzpgn8myzag7gz48jn660g6uukj8mg8pdtgph3rwl90mf2yfk7zcexh9cjc8szp0mkqu2nw5aadxvzv34vxamjey0c6jsqx42y07whkhr7spdclqrq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '252', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'xTMZcodH73uIG0lZqdQX//eRFFlkyZEfBA6BBpkE/k4=', + r_hash: 'ZOcSZ4QAJEuNNQ8BZA8/ekspfMVZDRZ1qjXjIhlxeBo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576167899', + settle_date: '0', + payment_request: 'lntb1pwly6wmpp5vnn3yeuyqqjyhrf4puqkgrel0f9jjlx9tyx3vad2xh3jyxt30qdqdqqcqzpgh2d3jpzmw0zqm7mdhxjmagvdg2fwku5gf9gmy7hkzfgfcxuauamxx8jd2pgej63sxx9nfkk8lhjtew28gwk33unj9pxg39dkxlw5eqsp257xy4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '253', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9xhwzLv8RY3L64L3B6NlD3IjSrTL8pY0B7AmCbo0rdU=', + r_hash: 'if7tOf5UGOQG3piL0zvJisoazyK/t6XavPoeqV218gg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168351', + settle_date: '0', + payment_request: 'lntb1pwly6ulpp538lw6w072svwgpk7nz9axw7f3t9p4nezh7m6tk4ulg02jhd47gyqdqqcqzpg20zs0kqn7x5k0elgjphutprtt4dclq4vmyjf44kzc25s2jnuvma334ymy5des4et06k2sgkhdcgxhzhq69tg2yq65kgzd8h6e050rgqqdktvdx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '254', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BPMT3L5QCo7WFOUOmb9ADlyWhqFdu4mspXdk0ewDi5I=', + r_hash: 'hEX7CxY18NYZazCKBlZ0BDwiA69dxnudkCM+XQIeQeo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168367', + settle_date: '0', + payment_request: 'lntb1pwly6a0pp5s3zlkzckxhcdvxttxz9qv4n5qs7zyqa0thr8h8vsyvl96qs7g84qdqqcqzpgujd33taf8us8np8n0kt3evku4wnh2h3qy6mx5lcz8aza0rhjhpa55eqttvmych8x3vs2vn09pjrsg402aksmwudgsflvsp2x44ngtrgq9fsahm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '255', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '9YCkadoK+6M3OREP0hx8wy/9kH9LfWqFzgtkCM8+eW4=', + r_hash: 'wg7AviiOo5qBmJonyYI+HiisZzDvs0RFnMzu8Ms+9EQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168420', + settle_date: '0', + payment_request: 'lntb1pwly6lypp5cg8vp03g363e4qvcngnunq37rc52ceesa7e5g3vuenh0pje773zqdqqcqzpg2nwgq7e4hs225xkeu4kq2pgzd5n93zu58msmdha0ehfemt43hw63y7uss3p9vcz6wnsdz4wwfv0gax8g8vgcpe8ttlvtkwn92g8kkhcpr8av2x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '256', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'xIC20/C7KIe+OHwm1lcJyhp17u4/pVhg0ZIXBI4ELUw=', + r_hash: 'Y9WLZ2IDq6w5+DF3Z1U5ymd31T22XakxfPcP0HRAMtY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168440', + settle_date: '0', + payment_request: 'lntb1pwly6lcpp5v02ckemzqw46cw0cx9mkw4feefnh04fakew6jvtu7u8aqazqxttqdqqcqzpgt5ezzns8xch6gwcdjq6r86dane8fyy6hzqu6mkkwgqewjlezcerr654rw0nquuw4jkvd4ks79de8ygwewtvj6d33us7rd5gw4xh74dcq7m3ms4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '257', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BJ+XlX1fgVX4cb0EZ882Q90I3WZ3rgBxuTjvF3nxfT0=', + r_hash: 'oqtbFv3HrDPQkCf1J7cOxHLOoscCAZuR18J+9fANEu4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168496', + settle_date: '0', + payment_request: 'lntb1pwlympspp55244k9hac7kr85ysyl6j0dcwc3evagk8qgqehywhcfl0tuqdzthqdqqcqzpgnwhll9ka6mk7lzpasasw2n5q3xff7tnw6y7c4262eruannnfznwr4n0jyzsmxyg67zv73sh0c6e08c77p2uvlvkhu02wdf5pezzzkyqpfak24h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '258', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '+rV9smHBf6Z1fUS97KJMFWrwQkXNjvbbEGsoCE7Cx/s=', + r_hash: 'J4d7ZlZ22WEBeB3CX83a8rMtoKn7YaoQlJnqz+LZPa0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168517', + settle_date: '0', + payment_request: 'lntb1pwlymz9pp5y7rhkejkwmvkzqtcrhp9lnw672ejmg9flds65yy5n84vlcke8kksdqqcqzpg5ae03tx9xulg34nfk3u3w6nvslgdds75hunhw876ckhl2gfs3p4qfmgeswjys7z5pw5e7g2vlp3k2vkdnfe54z6rdlp8mtlcrteaensq97pcvz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '259', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Q/805RACj2+6xFHbUHZjqrA3L1YBt4JZ/7fkUOh8L3Y=', + r_hash: 'OmjqH5SekQaM0bFkrHOLWCeDAfqIP0BgGG+Sgq67U4c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168538', + settle_date: '0', + payment_request: 'lntb1pwlymz6pp58f5w58u5n6gsdrx3k9j2cuuttqncxq063ql5qcqcd7fg9t4m2wrsdqqcqzpgvazrtf2uzke2tnju7yj2g0yuwju3v4ec8fgnrswnfvxp33kr09l58k5hctk6aw4g04vpm6l63lcqc9kqfpa20h3flavtr5jy323050cplkuytr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '260', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '2QgtxOSHNT/nPc0CbBR7u2K8BjcVzsWXWhRKyS0dStI=', + r_hash: 'qPBmcPfUY4Bmcp54Cx9xaF1vuG+gqX1nQhyPxi+tFHQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168636', + settle_date: '0', + payment_request: 'lntb1pwlym9upp54rcxvu8h633cqenjneuqk8m3dpwklwr05z5h6e6zrj8uvtadz36qdqqcqzpgpyc5tkfk6shncpz4sn22r925lgvpv3fxytv3npqlxqnalq0mwzjjujzjxcdp3sjurp668jpa3yp8flz6jkd2cst905gl0t57pqf267qps84dvq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '261', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'liiSw2oeItpSxUIPac2jf8QEgKolipd7IVhcWVjqlqE=', + r_hash: '1OZM9F0c3RQemJYJKiz3DFOMv3ikQbpS9QaznnS4zrg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576168677', + settle_date: '0', + payment_request: 'lntb1pwlym89pp56nnyeazarnw3g85cjcyj5t8hp3fce0mc53qm55h4q6eeua9ce6uqdqqcqzpg8hd09gyjy52lvlt8rzxqtrjz8gy3ts9sg4nr5wd28fjwqvkk5qx839yxu0wur4dswcq35n44x0kuhc8hv97lvkpxf0g0jly3gm3f6cqpx3lw2a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '262', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'BFHIpmu3mJb4Xn8NvN5nsh+MXFfPXb84C84u8FXfPVc=', + r_hash: 'GgtYgjbjVBShOL+a3saMqROfkxCVSLzxolz9zmAuWE8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576254222', + settle_date: '0', + payment_request: 'lntb1pwl8wcwpp5rg943q3kud2pfgfch7dda35v4yfelycsj4yteudztn7uucpwtp8sdqqcqzpgvgu69zszzh4l5fpsn95rxl4egkkvcv07h7m95rt4fdh8v7g2596za86x09a29ftc7nmkahy86zd5tpcum8q7d8nlka96gkyh5w8mdzspsg8g9p', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '263', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'rccGmWgyrFnPPMcXqTYe6xW0/zWQZxCaQLPrm5g9re4=', + r_hash: '4WV4AXgmG8Bwxo8Vb1pPASEnXBkTQ48c4s7/ZV35yd4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576254360', + settle_date: '0', + payment_request: 'lntb1pwl8wucpp5u9jhsqtcycduquxx3u2k7kj0qysjwhqezdpc788zemlk2h0ee80qdqqcqzpgta4ulur7cyzxufgnqqyj4tgkqn5aur236cn7t8dl7v330xjcgy459xndx2y66ydqd29nwhrv7999u3lfr847prm5cpgc8umhj43yttcp9x763s', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '264', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'msDpOmg0PM6GDro49y6RvI+RAYSVpFlBq0v6ZSRrVtI=', + r_hash: 'oxUjTn4eCUqfkkOv+J3tzfwyQbBdvIu4q97GjETV++4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576254409', + settle_date: '0', + payment_request: 'lntb1pwl8w7fpp55v2jxnn7rcy548ujgwhl380deh7rysdstk7ghw9tmmrgc3x4l0hqdqqcqzpgjqsh8pvmyz757mqf020x7pkl7mn29fkda8p2qq06sc7ejt6w8r6zxlz85zy6gqf3cnr7tjuqgux4mwulml9wvp4ke7598rtw2ezvvxspx7uhd3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '265', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'GhiyIAxSwbEUEEKeTJkr8IWnHTgSPlos/gAT2Vb+uo0=', + r_hash: 'Pjv4MCHzVFxz6SrtAxlM9iSsq9k5ZG6P5Fsmh5Y6zz0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576254559', + settle_date: '0', + payment_request: 'lntb1pwl80zlpp58calsvpp7d29culf9tksxx2v7cj2e27e89jxarlytvng0936eu7sdqqcqzpgmtvt4x5d0snnrxp5wz5wpw2l2fwmqaur92kw4ulye80gdcc2fdnqkaw2rflx3krqj957wpm9zdp35nnfewlshgj0y5mmrydmkye92pspwhrrk8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '266', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DqNMszV6claY/A86h4vo0l0KPZaJspD3jW/CVWddc90=', + r_hash: 'iDcTGGZwdq/HKLq+85ljvERVapzyitRTSouWx7g/xsU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576254587', + settle_date: '0', + payment_request: 'lntb1pwl80rmpp53qm3xxrxwpm2l3egh2l08xtrh3z9265u729dg5623wtv0wplcmzsdqqcqzpgg7mcmdhvsltrt2uukyenkyjx85jq6pnqy6y8mjkpgdcff3v4krnqu2j4k7fcdeenktcdx3dk9h0eq6ctsc6pqyje2rwjveghdk49l3cpvj5g3r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '267', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Fg98ge7LUrX0Qm7X440E1ntvqhyrk4WkcMiN2m47zDg=', + r_hash: 'wmc5f5FseudkfZKFm/roagA8YmItihTksH4IzO52yVk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576265137', + settle_date: '0', + payment_request: 'lntb1pwl8ed3pp5cfnnjlu3d3awweraj2zeh7hgdgqrccnz9k9pfe9s0cyvemnke9vsdqqcqzpgpckpaneqfu79mq464p5kgly2e0l73hv67dudws4r43f7psvs3984058kr8hzp2g638ck5j8eslrhndkln7zn7n4yfwjkumn79725rncq8ssvn6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '268', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'i49+qAac0nS84t5bgYUJbCaTnU8tnZ6cBHN6MDrsY90=', + r_hash: 'FuNVS0ha2SSrbQjMdgfwCU2kCAQtzXc8+uOOpTQLxKk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576265256', + settle_date: '0', + payment_request: 'lntb1pwl8e3gpp5zm342j6gttvjf2mdprx8vplsp9x6gzqy9hxhw086uw822dqtcj5sdqqcqzpgqp2smj7xc8jjcdvxc4mdrwcfvfenurpwe85zmcfrla7lrgm3fzksz8mv5fjlkek3x4kzukm73pe8rhrvrm3qrpefngl6nl2f56yfvegpps35zp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '269', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'iFOEYXCWKa+LH6NB3RCSSp97K6DHIHTAx8+e2hOJx+M=', + r_hash: 'm3h5GIrpNSKLSt/w0ez+C4SsDFAsP9hRc/gb6JrIwSA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576265301', + settle_date: '0', + payment_request: 'lntb1pwl8ej4pp5ndu8jxy2ay6j9z62mlcdrm87pwz2crzs9slas5tnlqd73xkgcysqdqqcqzpgphyxkc0r3rl65s445svnngv722xgmwds6y75q3mfsju6t9nyn3nrvz6xm8aqsnrz3xljxn7wspf4w0aau4et9szuqsudqmetc6mu5gqps2etfs', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '270', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'vVIHJ4f4rx25VXpsbmQQR0gBcG0o2/Vw4vrD/dfOuek=', + r_hash: '1gRNRRx9ti5W05f9CH8cDfOZEHlgkCA8IZCBXexgJHE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576329635', + settle_date: '0', + payment_request: 'lntb1pwlfcdrpp56czy63gu0kmzu4knjl7sslcupheejyrevzgzq0ppjzq4mmrqy3csdqqcqzpgzzyn5lyz4nx9ffndm8cwwtvqdg2nvt6spse42sv67nr07cyr4cf8w65wlvem26sl6glrwdpavarv7nwqt8ae76kkglejwtz5qrhdwcqqzn7903', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '271', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '+fC62KtQbAZ4G0ZEHufiSel9QN825T6nQdUPOmVNcCE=', + r_hash: '6Y5b+DeXIt9fXgbmg3jcooMoHk3JZFFIyiAwWxyktts=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576329880', + settle_date: '0', + payment_request: 'lntb1pwlfc5cpp5ax89h7phju3d7h67qmngx7xu52pjs8jde9j9zjx2yqc9k89ykmdsdqqcqzpg6hr8wxy3jsw4xfm9n7f780uadpdn67ffhhx5zv87qdehawmxuuwxcpzv9d2sv6uc20zg6jur205l4c9juhfr0lphgz47wn34hae2e7qpdsuw9t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '272', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'tUSxDzum8/iUha63CbnHrSqK4Z78+FeiZyp9241wD2w=', + r_hash: 'aq1dQ5flwfJ8xsZewz6gEs6hQWwmvV88mJU9GvuCr48=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576329883', + settle_date: '0', + payment_request: 'lntb1pwlfc5mpp5d2k46suhuhqlylxxce0vx04qzt82zstvy67470ycj57347uz478sdqqcqzpg2vqzst6qpw8fl40xyaw8k2uv2uumfl5u87ymrdgwkd0dr8vtx2trsh53qs73vx7qxa5fe6zukl3u73km4ljv3kk9jf0nevuucsxht2cqd0ahkc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '273', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'web2D/ZDI1Wsxm+UzTBnxMRtvICZVhXI4iN5rJAc2bk=', + r_hash: '36QsoDZhXIfESBZu0U721LYx32ZMbOkRXuhegrIyGlY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576329887', + settle_date: '0', + payment_request: 'lntb1pwlfc5lpp5m7jzegpkv9wg03zgzehdznhk6jmrrhmxf3kwjy27ap0g9v3jrftqdqqcqzpghpnr6d20pdfggtd60z3flnn97r2nyyd0nrwmh95sz60kuz988r0zlmevmj8l82s2megua9lmzmxklfsnvxl4t2f89nefpy3a3d4tausp4lc42u', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '274', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'O0OndKnC2dBUyIOp8VWp79jJMJuAD8gDt1vyhAsqrQg=', + r_hash: '8ScLBDUetD42MxDXEVCnDJpZYp4+t6u3aNq1hbCVnzw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576611340', + settle_date: '0', + payment_request: 'lntb1pwljtsvpp57ynskpp4r66rud3nzrt3z598pjd9jc5786m6hdmgm26ctvy4nu7qdqqcqzpg7vuq4vr3zcpsjerg2ut384nqkxjud04f3hen7adxpnk9s56elun5swnvmtahm87fucsqtysdjjva30uhels5g2n075l478xhfj04vfcq2gl3tw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '275', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ymKrXkU1NwSYX7zAusWJSrSZ2eknvnp3bBO8C+OxOpQ=', + r_hash: 'zoZ8y6RQvxoNyvp69owmDwIYu2LPDX9LcSo9SmQek2E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576967070', + settle_date: '0', + payment_request: 'lntb1pwlaxu7pp5e6r8ejay2zl35rw2lfa0drpxpupp3wmzeuxh7jm39g755eq7jdssdqqcqzpgapvqqk4ejplg63xyq6nchxxug8d3h0hp79nfk2memncmacdqd045tsr0pzms8sfq796xz0er9w7dqss96a2pcmtkk6s5prr8x4zf0kqpzqlq5w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '276', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'ZZRcqOWSR0UtbGh8vWZI5d05ADYGJRXTd4wHjJG7rbc=', + r_hash: 'TsrTXWqrogrKqBrd0/wakqcBsrv1i/88lgepOJhF2k8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576967088', + settle_date: '0', + payment_request: 'lntb1pwlaxaspp5fm9dxht24w3q4j4grtwa8lq6j2nsrv4m7k9l70ykq75n3xz9mf8sdqqcqzpgja2p63c8wlg82xffnxhru09wlq8gkqx6s4v5y00kp63gel8279jj2x8u25lwcalm47ut6qlnzq7rp0vggtjpvwl9fmpdpjdd7q2rf5gphvxmw9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '277', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'R/OQ6PrURQS95s17fOKUMmBYQwlsKM7P1K4tNzzYjao=', + r_hash: 'Jpj9EoPegMAYcsxP4iV+QX4DJ+JYBBesJsjZTIrOEhg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576967299', + settle_date: '0', + payment_request: 'lntb1pwla8yrpp5y6v06y5rm6qvqxrje387yft7g9lqxflztqzp0tpxerv5ezkwzgvqdqqcqzpg28q5mp7jqful6vcmsfl5jj77ykv7vcvwxuzweeqqmq9z6vjlsm483lg0ezhtnevvg6gd3wazr82yy489jkt8snfg0339ws0uepv7mlspx4e2pt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '278', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PwuuFqJVCIzfaMNyQCS94KFC4KTiFaZkenwijXzdZrA=', + r_hash: '3gDBwqSNXkwweVwMxSbN9vGheVUU3bApO0SmgcLglXY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576967414', + settle_date: '0', + payment_request: 'lntb1pwla88kpp5mcqvrs4y340ycvretsxv2fkd7mc6z724znwmq2fmgjngrshqj4mqdqqcqzpgr0gkkvyjv3ygawkuvlm9necus9lvmznj4vk7z7c8y4gggcga9k2x3hjqtsm36fw3n6v6qefx94pzarlthxw8h8gkzupfl6w749tleuqpgy40ch', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '279', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '0IjVk2rS935eTXljH96gGWTvby+urQGx8XjgenbI0Bg=', + r_hash: '/d/MJq0HamInpgoswYF1SdODXeMCiAIFJDchjaPLIyk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1576967438', + settle_date: '0', + payment_request: 'lntb1pwla8gwpp5lh0ucf4dqa4xyfaxpgkvrqt4f8fcxh0rq2yqypfyxuscmg7tyv5sdqqcqzpgz2dq764gdz37nj2068vd92lgzhg7dvhe9mwjhr053exew4c0k9855rd4rj49pxg5zm8zc6wrra2wak230wq45d3smyvqmhp2hy3apzgpqrtf7c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '280', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'QKwJdhlN5N4kaGA2iwxN7qXMbFAEornGOFbueOyE0t8=', + r_hash: 'xrJQlTvbPMwQQayi+xrXk6VXqhkCrOBrQlIZjNpOugM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577215513', + settle_date: '0', + payment_request: 'lntb1p0qyesepp5c6e9p9fmmv7vcyzp4j30kxkhjwj402seq2kwq66z2gvcekjwhgpsdqqcqzpg7lexx832thk03jl3xf9tm299prp5p7w97w2azyu0d8awwxk238xrlzjwy5kwj7snhwtcc9lu4jp455z2gnfezutgl4n3y7spsvmqudcqs80mml', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '281', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '5I/Y0k7j5ou+TZh2F34+oYi0oRaCOlj2bTKLEJK/zrE=', + r_hash: '2yYeNzlw0yUb5m/aZ4r3SlfI6hpNzW6CwQ74Fj6u54w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577215754', + settle_date: '0', + payment_request: 'lntb1p0qyec2pp5mvnpudeewrfj2xlxdldx0zhhfftu36s6fhxkaqkppmupv04wu7xqdqqcqzpgrpeww7fq5klsqasz4vvmdjk320qnhrtezkpkazn869hvkf0fmppssmyfy43vzl9k3calza20n5cuhqf5d0mf3943lpsyyvplxzae4eqparv3dn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '282', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'oBcu33Ni0t7WBGWBvD4MnzZiOiUfeq9/53SoInQ8vbY=', + r_hash: 'aIk1G4p1z8KV0CJXTHQFWm8PXPJIq3M6eVuBB4E00zc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577215795', + settle_date: '0', + payment_request: 'lntb1p0qyeenpp5dzyn2xu2wh8u99wsyft5caq9tfhs7h8jfz4hxwnetwqs0qf56vmsdqqcqzpgqxursns34x5e4p70yzzgwlegeu2fvqyq5rzj7c35rj46ukg93z94d8fzpjmd0m75xgw724ysv332lvz6cdfzsdmw6chww25chhz9tvcqgdflwe', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '283', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '0cQNdUs7aoN2CKXzHg5TAcBxe5R1sDZnKlwRzCe3GK0=', + r_hash: '16v8PmCLLwneSv2szZhx3aM7+idke/hF7yfaoCHlfhg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577215806', + settle_date: '0', + payment_request: 'lntb1p0qyee7pp5674lc0nq3vhsnhj2lkkvmxr3mk3nh738v3als300yld2qg090cvqdqqcqzpghwx5qgzndsq0dwnxtzm9jw3t69y2sdr8dvkhg2q5gnwmusgkxypqyhvjavkn260mrf2qmvxn6axs9thuw9j49u32fjtzmsqpswjmz6qqgkeqpg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '284', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'PzqM9igSPLmDhM8xU56z4DFg3o3zbJ9uvAVq2296utg=', + r_hash: 'HSNnW8MuFjIvmNNYAuWgaVb1HF/8au/eBAZmrAce53c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577216318', + settle_date: '0', + payment_request: 'lntb1p0qy6f7pp5r53kwk7r9ctrytuc6dvq9edqd9t028zll34wlhsyqen2cpc7uamsdqqcqzpgy7pz40rrzf8jzrqfzaeptlkxgapackt70yt8h49enrfrnrcc06qrwmlq498vewemyuwjy09n0p5w55m6sp2499waltguylcxu890k9cqqu4036', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '285', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'zuKCmXGQl/GFyrgF+dthM/sbCHJvoWxXDgs/LB+ZcK4=', + r_hash: 'HXeoMllBoOGLuhGW3jfVSRHRmdEqGdGs33Ob8Ym6ipg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577216325', + settle_date: '0', + payment_request: 'lntb1p0qy629pp5r4m6svjegxswrza6zxtdud74fygarxw39gvartxlwwdlrzd632vqdqqcqzpgjjaant49crgfy76nf53xhdxqc76l6j3zspu02gvxq0kgyhdhl0ksk8exrksxl57mlh2nfsuqw4nk0xc9srd3068mqq3gd879g83lfggpv7rw22', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '286', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'Qk5ag3cT3e3VDaVgqhEVFktJIWviMQi2lzX5FxwkHK4=', + r_hash: 'aoZoyNfad9pzbxpry/Nml8Ilhvx2/Gmi632n5Bhi2kI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577293538', + settle_date: '0', + payment_request: 'lntb1p0q89hzpp5d2rx3jxhmfma5um0rf4uhumxjlpztphuwm7xnght0kn7gxrzmfpqdqqcqzpg4cjnu95z7zqtjdztm2cunhrmeuq630cy60ef903eakjkq4cwl9k3s5djpwtjhf563kdml9lf7gqzhz79mdg5xfpf5p2veaqvhlszazgpfc8053', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '287', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'AzNiUCUqdJWgu9Wis0Rt/f9r2172qi/y4/+MvNSQ2Rw=', + r_hash: 'zz3plqKc9OAbdTVzmn508yojjvyg3ZACkxNwWBhWCkk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577293616', + settle_date: '0', + payment_request: 'lntb1p0q89espp5eu77n94znn6wqxm4x4ee5ln57v4z8rhu5rweqq5nzdc9sxzkpfysdqqcqzpgs37y30y42spdd3xwjw3cuysueqf7ty72qr3g33ahffy6lrkms70spruerzf937r95zhm8g827hydc9ms9jrkee6mh4nryt3zfye90sqp9hh955', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '288', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'XXjAuMmlKMDLxd2vtHGcXTqDcOPRUyDYkRhkli9plmY=', + r_hash: 'w2wDhAV27vIbriJjuuLyfPd8Jt6+M/+RgbIwslUS6pQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577301301', + settle_date: '0', + payment_request: 'lntb1p0q8df4pp5cdkq8pq9wmh0yxawyf3m4chj0nmhcfk7hcellyvpkgcty4gja22qdqqcqzpgjdeedmw0qztzqqvzr6nsamegmaalatxa7rm96x4esrdd8l9cuvl83peck35usq07xww048h7f3q94vegxffuxg006vs7ydmw8r79rvcqz3zwun', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '289', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: '3UnTpenm1ov9VIfiOwsTdga+F1vChm1WGKFQLW5JEf8=', + r_hash: 'NHV6n7Md+/Ji82xsbu5hL4vTJbO2xhU+mXDMqaFxY2g=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577301306', + settle_date: '0', + payment_request: 'lntb1p0q8df6pp5x36h48anrhalychnd3kxamnp979axfdnkmrp205ewrx2ngt3vd5qdqqcqzpgf77mmkrchp7dlqrxzs26ddvsqf23jdvdj4x300yxz7xf3gyu95zq0fm4ukchynsl6lpj6ef99f8ls4pdcv9uu2gx729495e0hc2r4ucql2cyle', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '290', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 't51CrjfMxxs3V5RQT0zdXZaTcH4s++VlqFzXvGWiKKQ=', + r_hash: 'l0RvK4VHkjjSFdLsawH1NC14nREEz4saxDgzV06sW5U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577301340', + settle_date: '0', + payment_request: 'lntb1p0q8d2upp5jazx72u9g7fr35s46tkxkq04xskh38g3qn8ckxky8qe4wn4vtw2sdqqcqzpguupcp9kl72cmqfpe26eqnk49mzk7d6rphwjm46aadcs2kczzxv3j47vurnsr57gqqd4kwwnyutsrm0p8tjn06rgvpmp8e6yuslwyfgspcg7g92', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '291', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'VyxEl8HN0TlAM/jr6BhCfOvVqxFA6y4jDQVam/Djl4M=', + r_hash: 'E+HBU2KdUL6Qw2WsPHG4uBD4+sd7thQAVkyI6CdfuaQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577301527', + settle_date: '0', + payment_request: 'lntb1p0q8dshpp5z0suz5mzn4gtayxrvkkrcudchqg037k80wmpgqzkfjywsf6lhxjqdqqcqzpg0m08wwldjax2esc0zcv9t2j9p62j3p83rh2xzedlvg3u3a5h0ns92g5d78esupcgxsuknf45vcy9vg9hrel9f853tje456sp0tcnwsgq99qj0e', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '292', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'pEaIH96IhMOOCYaxdsUCg8TOvWbt+5tM0HT1OOiY504=', + r_hash: 'Lvk8ICeEEpET8ircdC5Nt6N8UQi5GOo+kUG/4Tfze7Q=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577302254', + settle_date: '0', + payment_request: 'lntb1p0q8w8wpp59muncgp8ssffzylj9tw8gtjdk73hc5gghyvw5053gxl7zdln0w6qdqqcqzpg2t4cffy6x60td6k70xnm0dfqscyy5c63zqy9gv0ldtza9zprslyz2gae3mp8u7ukg8uj58k4qg9gqh8452c7vwmz2j4aj0d0h80kslcpd3p7mz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '293', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'OT2On3O2QeDnqIA5Z3HsTUJWS5MYgBoQNRVbXuxJJmw=', + r_hash: 'M1b7pq1tjRu9Wcon3Z3Xh0Vhhbqj2FPWIspE/p8g+G8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577302652', + settle_date: '0', + payment_request: 'lntb1p0q8wnupp5xdt0hf4ddkx3h02eegnam8whsazkrpd650v9843zefz0a8eqlphsdqqcqzpgqx9cvndsegr7yvpgjvesuva3gpnsplja2hdthaxplt80749cvgxh0z93ul8y4c8v9c443pk8w4twt7h864mnfwej9p6jht255zs4n6qqg34gfm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '294', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'DR1VDft5nVujR5yxbdmmTuEoCz0ZSpYwPmF496D+fq4=', + r_hash: 'I3p/o8tKsQ2zT8evdIcqCuTGQX7zFbYeRAd1Kb5qCTI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577303130', + settle_date: '0', + payment_request: 'lntb1p0q80z6pp5yda8lg7tf2csmv60c7hhfpe2ptjvvst77v2mv8jyqa6jn0n2pyeqdqqcqzpgarp3tu9cp6s607qa37k7xyaz5j6y4ef7gaqwjzz73la7nlvcflsslvl77dfy5jpf2d3nhj0zjfystj3trgj8s5peafch6jx9rpjcruqqguyam3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '295', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'vUUb1r9EihB3M67+BF7fmkuFjTTIiFQsPbddR4Q6gD8=', + r_hash: '2tqY8UttQrg3z46aZMBYIMWw1vuuny1vwLzq0nhafJ0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577392166', + settle_date: '0', + payment_request: 'lntb1p0q2xpxpp5mtdf3u2td4ptsd7036dxfszcyrzmp4hm460j6m7qhn4dy7z60jwsdqqcqzpgf3skqearj27z9dtruhftmxmgr6gwdx4t3lan4ncf8rlwfv4jswv882936787tyqxksflypfsunwpv53akg225cjes4n5w88mfsnrapcpm90c8c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '296', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'sPrjdoM+uVCbiSI+5WT3lLoP0O5rcLbrfdG131r+H1s=', + r_hash: 'DRNOA8ZHg5lQw5fF0k7fLQ909lQObtv3G51vcw1OcIo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577392718', + settle_date: '0', + payment_request: 'lntb1p0q2xjwpp5p5f5uq7xg7pej5xrjlzaynkl958hfaj5pehdhacmn4hhxr2wwz9qdqqcqzpgwwxwnp6kamfnc7vlacz0pf5ramfgcm2vqdc0rpdx3cnalsxplxp58df5cqgv7ghsglkxqz5apg0u0tevr5pzyckcm0xqqpv6x99guxsqdx9h9g', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '297', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: {}, + is_keysend: false, + payment_addr: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' + }, + { + memo: '', + r_preimage: 'dZtdT6cSVviKGF4ZQ5fF3JR18RHP/3tfh3bzzU7ySok=', + r_hash: 'x6hf8LAmry6f9B1r0RQL4t2/yTFOlUBemoavAdxxjVs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577638525', + settle_date: '0', + payment_request: 'lntb1p0q3knapp5c759lu9sy6hja8l5r44az9qtutwmljf3f625qh56s6hsrhr334dsdqqcqzpgsp567e8k2vu2n8dqefjt2nh9mqc9tyj82wnlj29lcxln2k4vhleyuqq9qy9qsqhjqpt949l0sgd3w6msadtn4v6xksnqxpdyrza72fyxwdd2rly95k62z5m90t96rlfculaf6mdallhs2smfx8prm87s62af35vw0jl4gqg3aew0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '298', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '17J7KZxUztBlMlqncuwYKskjqdP8lF/g35qtVl/5JwA=' + }, + { + memo: '', + r_preimage: 'c7emoOgSRbVgvfU4qbxRHzZ1kIFiV1zIy+1SIKwGKso=', + r_hash: 'Lng/b0tbGqlyBCOKw8y2HqXm+WxSjJAsSJEeby+aX24=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577638533', + settle_date: '0', + payment_request: 'lntb1p0q3k59pp59eur7m6ttvd2jusyyw9v8n9kr6j7d7tv22xfqtzgjy0x7tu6tahqdqqcqzpgsp50t4tckdrsm0fs76mrn57sdhj7xwgcarhs2g3mtl4qtrqkfvl2acq9qy9qsqsa9unnqckyvqw50tt0w7vj40mezktx662yf5ewxp3rw9kdeu688s49wrleqddz8df74aeprza5vjeflqhdz92lfzv0y5hnkeuegzl9sqq6v43j', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '299', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'euq8WaOG3ph7Wxzp6Dby8ZyMdHeCkR2v9QLGCyWfV3A=' + }, + { + memo: '', + r_preimage: 'SL8He1F9ZFo3bXVvV4+0fVzEW93VidwVtLO1RVFD+rg=', + r_hash: 'uMPbE6goFHb1TTh8C6Cj/AGFHpAQmiGFRss2kX1930I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577638549', + settle_date: '0', + payment_request: 'lntb1p0q3k54pp5hrpakyag9q28da2d8p7qhg9rlsqc285szzdzrp2xevmfzltamapqdqqcqzpgsp5p7yzqke94tyuqletpu80aanp8rg2t9lqq92gu5lrs9ur0u73eveq9qy9qsqqaypz4sl69zkhrzg2e5sv7qq5tfycjg4hfh2k276lmdzdgqxcqm8anagsy4wu05e9vv9tqpjnz9rqw545x83m9j0fywf9jaex5up9vspvwh5qf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '300', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D4ggWyWqycB/Kw8O/vZhONCll+ABVI5T44F4N/PRyzI=' + }, + { + memo: '', + r_preimage: 'y/oVuc0BqfE3u0Nd0I4ZGNRjGwSsXN09bTg6dEOY/U8=', + r_hash: 'vEW30yOFtJCJjzm91MyCJrLPKzvhX/Ebi7wtDu3SeiI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577722784', + settle_date: '0', + payment_request: 'lntb1p0q5gaqpp5h3zm05ersk6fpzv08x7afnyzy6ev72emu90lzxuthsksamwj0g3qdqqcqzpgsp5d2gfdhqyq50jd2xg3eg9k3535643yctd0y0nmvlyz67j65ml9mvq9qy9qsqcrjszx9y6x262xjsfyc8weusld8utdsxhwp2j4y5gunltv0daaa96reg2t4zn7njct9myzxwdlyele4fewg4wd5nv39wc5xckagwa8sqx82ya8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '301', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'apCW3AQFHyaoyI5QW0aRpqsSYW15Hz2z5Ba9LVN/Ltg=' + }, + { + memo: '', + r_preimage: 'cKl656ydAhQss1gM3QMuGPqAzse2mhOifyJrkXmNd58=', + r_hash: 'sM3Ucj1A4TO2eaWdNwFiprKm6P8hhsihA+oMS0AoJK8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577722802', + settle_date: '0', + payment_request: 'lntb1p0q5gajpp5krxagu3agrsn8dne5kwnwqtz56e2d68lyxrv3ggragxykspgyjhsdqqcqzpgsp5t965ghqyvd6auz8q2dymupfhvn20m056pmm3tn85p2lxe4x67f2s9qy9qsqslfsc83hv0drmfqqw06enal2w7cptjfydlfq57cqezxled8wu9nh8uaauy6cpnuycyzag72xyjeerg4l8q4fealfhv40ex3qzcmfsvcqz3m87q', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '302', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WXVEXARjdd4I4FNJvgU3ZNT9vpoO9xXM9Aq+bNTa8lU=' + }, + { + memo: '', + r_preimage: 'K9A22gQuYpf6EtcZu2z1Jm7mh//ferx2BOEq4OJmfYQ=', + r_hash: 'qPmuVx9mZdzjYETEjB9+p+YfmQzdwJ0wfHuYzkCKed0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577722908', + settle_date: '0', + payment_request: 'lntb1p0q5fqupp54ru6u4clvejaecmqgnzgc8m75lnplxgvmhqf6vru0wvvusy208wsdqqcqzpgsp5ma60kavycxt0wvuamrltqc47cfdn2hcky88wfjkfm4tk5t96z4cq9qy9qsqwt2wpfqpqg07yr2g33dqvj3cwlxwv58de90ap08k9tygp9n3kldzea4tk9vx9wgtcvxawjup2um4p66a8k55u5zkvcad9n435zr995gqnyhdr5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '303', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '33T7dYTBlvczndj+sGK+wls1XxYhzuTKyd1Xaiy6FXA=' + }, + { + memo: '', + r_preimage: 'VFoIST9lpWUIuMYZTA/ucSEZygumyXG6W9lQGqXPT3g=', + r_hash: 'lfg0q0fWvjR+3+XXa/jhCt8XSbeae8pqYDpyVVtn2hc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577726957', + settle_date: '0', + payment_request: 'lntb1p0q5vldpp5jhurf26866lrglkluhtkh78ppt03wjdhnfau56nq8fe92km8mgtsdqqcqzpgsp5qqllfe7grl9g96ycg44l2v4q8lkdfrcnr5xg7rw5s3errahxhn4s9qy9qsq5nu73cmnj9lh625llw2qjzcrl72ejdeyetvfyrppnsuxl8e2hey3tvd5mqvcjlnnt6g8a07nguxzkk2590mvqcq009da3qjn7wday0qpsjwesq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '304', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'AD/058gfyoLomEVr9TKgP+zUjxMdDI8N1IRyMfbmvOs=' + }, + { + memo: '', + r_preimage: 'mXoa/3UJqpCMaxySc7cu1cneTxVGQ+qwJvq+0DoURxw=', + r_hash: 'qxjQ4w/mIgXbxP2J3CiDxJeeG87Q4/3QWX5/CA8rCLg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577726989', + settle_date: '0', + payment_request: 'lntb1p0q5dqdpp54vvdpcc0uc3qtk7ylkyac2yrcjteux7w6r3lm5ze0elssretpzuqdqqcqzpgsp5tchsyhm375ujlt3cgk8g2sx4cdsmcrsqtgmt56hpragmz8zu403s9qy9qsq32xh2trlfpjzqrmzzgj3nlfgr8ytjmy2agk2s6csjvzvtzmpqa24h5hj8gv6x588q4dqz8nr8jp6kr5y4eatt6v83p3nd7q7kwmfepsp9p99gu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '305', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Xi8CX3H1OS+uOEWOhUDVw2G8DgBaNrpq4R9RsRxcq+M=' + }, + { + memo: '', + r_preimage: 'L6YA9cOIc6KJYCgnvIj6TM4q26BJXB42CMSia0WP1Jg=', + r_hash: 'PCp9zTGlMMcAevHdWmA3iOlnOI7/bK4ra158luPZQRo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577726993', + settle_date: '0', + payment_request: 'lntb1p0q5dq3pp58s48mnf355cvwqr678w45cph3r5kwwywlak2u2mtte7fdc7egydqdqqcqzpgsp5njjevvxf8vrwk6e0x6r6fyntx7a4825u8ltlrkw04hyrhw5v8xvq9qy9qsqae7m4nmcatzrmphjkrd46ufk3mww7jndpu3aqqcu2q0lm4w5mwekljs23m0x6a87tfkw8jgqgxvgc0pzxqfupu4pndaanpg8lrykuugpsjqxpa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '306', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'nKWWMMk7ButrLzaHpJJrN7tTqpw/1/HZz63IO7qMOZg=' + }, + { + memo: '', + r_preimage: 'WqFd13kQkqsxaQWc4HC7STNneO5h96unAZ0WZ8eKYD8=', + r_hash: 'SkmZogPeUXvZCIgcCXfWec+gOiixsfCKRy07BuKQ90c=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727068', + settle_date: '0', + payment_request: 'lntb1p0q5dzupp5ffyengsrmeghhkgg3qwqja7k0886qw3gkxclpzj895asdc5s7arsdqqcqzpgsp502lu6lx5ds2a2fnyr3xp9phc0klazlc6uqalk38qk2esukkf9xrq9qy9qsqvl2fe694mgxardgl8jcfc9em7gfwx5zay4v6ztv4sjd9up6n5nt8ad6ya3djdz6225r40fc7ccs2elatq95gyvv5zw4d4mk59rrkfmgqnygnsp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '307', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'er/NfNRsFdUmZBxMEob4fb/RfxrgO/tE4LKzDlrJKYY=' + }, + { + memo: '', + r_preimage: 'JJ1QTU93gLaRh/d5qeWzKOl4UONW0KEYwdySPq7tFSU=', + r_hash: '32OKi3O9mfApXuOZFxCibeLUzzizBqKBrv+YwPRY2XM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727107', + settle_date: '0', + payment_request: 'lntb1p0q5dyrpp5ma3c4zmnhkvlq227uwv3wy9zdh3dfneckvr29qdwl7vvpazcm9esdqqcqzpgsp5w04vwlx95d0sl0vxa48vmpsngls7x0506euhjd57m86sr344yzzs9qy9qsqgthcjcvxvk5rfjg3qn49uqvlgythjp4h3n3mfpqz8atn5ltqnc6rgug7e8xk2awsmjzf7d99qrp0lx0cmql66xr7dvdjmujjcygu3hsp0vmgsl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '308', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'c+rHfMWjXw+9hu1OzYYTR+HjPo/WeXk2ntn1Aca1IIU=' + }, + { + memo: '', + r_preimage: 'XWzrVWLKKpDKd9O0426ttYNTKGI98VuQrzMrmc9ZVuA=', + r_hash: '0P9u53umy0tA7LG++2jkv5FaQvP1LX6pFRztQG4jkcM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727137', + settle_date: '0', + payment_request: 'lntb1p0q5d9ppp56rlkaemm5m95ks8vkxl0k68yh7g45shn75kha2g4rnk5qm3rj8psdqqcqzpgsp5au6t8x9t7caedgl4q67kz4eyw69ymk79sv7zscd48w3q9fg8g5mq9qy9qsqtznqglnepyfz3umrufqu2ts2399jur4pm39gkf9nlaz57sa98z8xy7we4du0urw35rnyjx6zakt6qchtm9z5x8wf3eg0ysyqf5pf7ycq0pl6k3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '309', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '7zSzmKv2O5aj9Qa9YVckdopN28WDPChhtTuiAqUHRTY=' + }, + { + memo: '', + r_preimage: 'uVRl0+5BpVcZgZFSiGA2aZTET/ZL7J2q1iyO8w/7cDk=', + r_hash: 'XOkBYaHF1Td4n/xKFZkSlCczUpgMaI0jk4JZVs4Opas=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727184', + settle_date: '0', + payment_request: 'lntb1p0q5dxspp5tn5szcdpch2nw7yll39ptxgjjsnnx55cp35g6gunsfv4dnsw5k4sdqqcqzpgsp5xhgy28shdc9ppvgh8cxf6fsxlelz7tcl2p3mu46p9433tyhgvjas9qy9qsqv7qarf6h8q29umy7wy2s9gwqh4ql3mmfpxnn3x75kpwt0g9scwr474qtlu3mwcd927lmh4eaw3kezcvxjlpe9lvu3a5arnepkqn5qdqp0xn2u8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '310', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NdBFHhduChCxFz4MnSYG/n4vLx9QY75XQS1jFZLoZLs=' + }, + { + memo: '', + r_preimage: 'g6pmURi3y+qAlLqAVMFAhJdQ7OzBqNbbk2DoNjl9BQs=', + r_hash: 'B6Wv2CnrKicE/QN7LixdzIubnGHlw+v+j0NmDYoX1L8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727279', + settle_date: '0', + payment_request: 'lntb1p0q5df0pp5q7j6lkpfav4zwp8aqdajutzaej9eh8rpuhp7hl50gdnqmzsh6jlsdqqcqzpgsp5rcmhghrs665u2cw5k3x6vsxdpceuql57wd47t0k59hhsjpx9wx0q9qy9qsqlc5esa9azuntn7jzw8kjrgmu9p6w2n3jp4yct7vf5htdn8zm5n3nnkrp995smqlvjsmhgwt6sn862pgmcz6pgakhdnc4kc5hk70ye3gplxn4ug', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '311', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Hjd0XHDWqcVh1LRNpkDNDjPAfp5za+W+1C3vCQTFcZ4=' + }, + { + memo: '', + r_preimage: 'Iyv/+A9nkOFTXgIY4e8lED12cuKUbkYbUNCeAYkht9g=', + r_hash: '1k3IeihwCgyIu+HV2McMGcJZ2K8c3KWrC8owCqmvnNk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727297', + settle_date: '0', + payment_request: 'lntb1p0q5d2ppp56exus73gwq9qez9mu82a33cvr8p9nk90rnw2t2ctegcq42d0nnvsdqqcqzpgsp5a097ycrddlfqwwh3csv98r4u406v4sr92fclzzduxfy98ppvpwhq9qy9qsqp56kdyttsw9frfx2n87u7cm2ez77kta6lsd4dtpv8t4x5prp0qys3exrrrjl6lqs4pzwy28vs7gdzcdchd00xul3wpl6zx2m6y8zrtcpd23d2e', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '312', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '68viYG1v0gc68cQYU468q/TKwGVScfEJvDJIU4QsC64=' + }, + { + memo: '', + r_preimage: 'i6ei/RZaRDZvZgZqLqeck7NNw3B4+7B6viBF07GHyHI=', + r_hash: 'WyOX7yXd59olzIKMPr4dze8rhFjabY5axArz/qyB0qg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727325', + settle_date: '0', + payment_request: 'lntb1p0q5d2app5tv3e0me9mhna5fwvs2xra0saehhjhpzcmfkcukkyptelatyp625qdqqcqzpgsp5v2aewm6mxvez4tzf0x3xjfdz3yay4d5dy60eyvd7v4xv36je4qqs9qy9qsqha94zeng8gmmcut9vy9mk7yzmtptt85h4nxmdnhgnmv0s803k4akfjy9xdrwwzeay62xh6ddlvcsr7lpljrrtqsx68sfl5e2flkkfxqpjwerg7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '313', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'YruXb1szMiqsSXmiaSWiiTpKto0mn5IxvmVMyOpZqAE=' + }, + { + memo: '', + r_preimage: 'MUwjVB44QrDSOcgk0UcSQxfiMkJB0En3kAWgFNJPETU=', + r_hash: '0ypipobzk2ppFW8b/kNQPnT5Hg4ZlYgLjkC5zopNT9w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727432', + settle_date: '0', + payment_request: 'lntb1p0q5dwgpp56v4x9f5x7wfk56g4dudlus6s8e60j8swrx2cszuwgzuuazjdflwqdqqcqzpgsp5c42f0ksvnp8wxs8jeer0t4430u304qwt8wwx7r7p8aaty0fcj0cq9qy9qsqyc5e4pperkns3q4cm4j9dt70g3pjcs9498wtey5y8ldyy5n5tl3q792khqfl2e7aqy52t3uxas0t8elasadrx4psqga93c0gjcjf5rqq8q6ug6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '314', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xVSX2gyYTuNA8s5G9daxfyL6gcs7nG8PwT96sj04k/A=' + }, + { + memo: '', + r_preimage: 'tfvFrjlbSYfBq0yTmXFM6lPNEs4lsTrzZqTkiFZaW7s=', + r_hash: 'halr3toxHIGXq5ncrqK9fBLQeRRFDUsZy/96cMoIMko=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727522', + settle_date: '0', + payment_request: 'lntb1p0q5d3zpp5sk5khhk6xywgr9atn8w2ag4a0sfdq7g5g5x5kxwtlaa8pjsgxf9qdqqcqzpgsp5l8u89u325mlds5zeqtq6yud5hjrwu4tu9uyuh62hzdjy2nzzkqyq9qy9qsqewrvg0eh7mrman6g5zl9mhp9xul4mv7my5pah93x6z3mr8rnqqa58r3phjatenjxrtt289hnqa4nah0rf6ewrvy639ynk6xf2xx2e2spahsteg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '315', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+fhy8iqm/thQWQLBonG0vIbuVXwvCcvpVxNkRUxCsAg=' + }, + { + memo: '', + r_preimage: 'O8LCcN0mH76Cxn1O+Iv26qjXnwsFE6CSMBibFgstuFs=', + r_hash: 'OTRw7YihCqbRRuvrc64l94//9ejrCJEIzSuIO+MyH10=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727530', + settle_date: '0', + payment_request: 'lntb1p0q5d32pp58y68pmvg5y92d52xa04h8t39778lla0gavyfzzxd9wyrhcejrawsdqqcqzpgsp5u0q2ne6lyx8gh7qlwdflg59mfe4jr5l3uw7v6qp50twg9vyw305s9qy9qsq6l8f6ef2mr54zs202u3fa3axue7gvx2hhm44pjc7gny535dj4nns67fxjuf7dq8shz0seg0n0p244d3rushzjmh4jc2036h9jkfzsnqpryg335', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '316', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '48Cp518hjov4H3NT9FC7Tmsh0/HjvM0ANHrcgrCOi+k=' + }, + { + memo: '', + r_preimage: 'KLL2TrcMN/8wjENMr0M3he6GTzQ/pCvbxI3LhnB6x2M=', + r_hash: 'nltTqC/1TeHKqnv+09fPtw2/Qwzi5eYQEVcFEn8Bfes=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727584', + settle_date: '0', + payment_request: 'lntb1p0q5dnqpp5ned482p074x7rj4200ld8470kuxm7scvutj7vyq32uz3ylcp0h4sdqqcqzpgsp59x7v6q2a4lqqw3m87svcydf0tq22kpk307ay9es79nlw0mwpgdfq9qy9qsq9n5v4tcyy6f98g5q40wp0a4hjquzcaeqhrf23c8kmsc0hz3mstxn4tv8jstat80lha2t3ktg929efcj20pr9twrxrrrf47ttynp22vcpkt4wy9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '317', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KbzNAV2vwAdHZ/QZgjUvWBSrBtF/ukLmHiz+5+3BQ1I=' + }, + { + memo: '', + r_preimage: '1rzle42lyh+ek0VDtIt5CKwE+HkthyThlLX2XInXnFk=', + r_hash: 'lXoop5pBqvwfTipRLxwhhZQhdVYjvv/e17Ru0uurcgM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727594', + settle_date: '0', + payment_request: 'lntb1p0q5dn2pp5j4az3fu6gx40c86w9fgj78ppsk2zza2kywl0lhkhk3hd96atwgpsdqqcqzpgsp538ws0vnlky28nf29uygy8nc0qtgknrhueqj8dndya4t3zg28nwws9qy9qsq3q7vuhpsp79y6l2sxqar6rv9pyk2v7e67gut7gadpf52shm0krxypsglw8m62s85xtckpa03d3yelclcf7zyxy09k3y9gxytenysg4cpxw6rty', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '318', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'id0Hsn+xFHmlReEQQ88PAtFpjvzIJHbNpO1XESFHm50=' + }, + { + memo: '', + r_preimage: 'pNUlZbowqNjXjoo0ASD38Nxh4R+1LfxuhFB8VscWoVE=', + r_hash: '5lH6BHL9IrekdaGnN9uTWojHA6Vw1EOymtx6Ttsnmck=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727664', + settle_date: '0', + payment_request: 'lntb1p0q5d4spp5uegl5prjl53t0fr45xnn0kunt2yvwqa9wr2y8v56m3ayake8n8ysdqqcqzpgsp5cn4yeu0kkmh3ydth498frkqe2wlpxyuczjn3vmhyyj6lpfzyyjuq9qy9qsqzxvgyxr2htmectfv6vyfehfcpl3g7t2s42e4cgqx2h3y7qsvfdpyqhddzgxyp902wszs5hkqu7ulynfeusknp0k35p682hurfxjrd9qqny8a7q', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '319', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xOpM8fa27xI1d6lOkdgZU74TE5gUpxZu5CS18KREJLg=' + }, + { + memo: '', + r_preimage: 'yQ9mFG3GkU9rfpJj14qlggZ5SNR4Y4OR7ec6s/12IUg=', + r_hash: 'IoJvdytai+YyljKu9nl/GM689bgBciBE4jas9aPqofk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727726', + settle_date: '0', + payment_request: 'lntb1p0q5dhwpp5y2px7aett297vv5kx2h0v7tlrr8teadcq9ezq38zx6k0tgl258usdqqcqzpgsp577u2kwpxagyhsaqwk3cweg3ykd9at4aaz74lyuu5g8nmmdc85dyq9qy9qsqvxfs4uxjyugy8snlyxg7t5cq9fka7t3q9uy3t7zu9xxn8dezqctp6rs9f3h9t4w37s9u54vxeg8uskerwaycq99yexq78gmt22md3kqpq4u9rx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '320', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '97irOCbqCXh0DrRw7KIks0vV170Xq/JzlEHnvbcHo0g=' + }, + { + memo: '', + r_preimage: '07fI7kS1oHV0dDPiLoJ8UOgJzkj3iecE8M2cZeRe4rE=', + r_hash: 'z7z4tgmyzosFJEUWWq6sLYmp0aAz11QcEiJoO0OkqU0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577727773', + settle_date: '0', + payment_request: 'lntb1p0q5dcapp5e7703dsfkt8gkpfyg5t94t4v9ky6n5dqx0t4g8qjyf5rksay49xsdqqcqzpgsp5pylumyyfg00ra5e4aj4ujvhp085l5zxzt8c5famfyeg2lq8pwqzq9qy9qsqzpwr02z24c4r5zkn0gyc4h739swp37ls7urus4le80p4dse84095a9w6e2rwarch77wkpn64ah48f80epv9ldcly27jk3n9ch0902tqpph5443', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '321', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CT/NkIlD3j7TNeyryTLheen6CMJZ8UT3aSZQr4DhcAQ=' + }, + { + memo: '', + r_preimage: 'rI5pZD0OGAVxA2puocPMcduEy5UqoE0KKDKzqkoyJY4=', + r_hash: 'Bex6SELetrmpul1kHrJyP8Cgz/flNgYUNBpLc7gt4/0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728016', + settle_date: '0', + payment_request: 'lntb1p0q5wqspp5qhk85jzzm6mtn2d6t4jpavnj8lq2pnlhu5mqv9p5rf9h8wpdu07sdqqcqzpgsp5d78vrakyd2edwlfy30s93hpjqkv2qq6qyprj859v06nmt8rvd5ws9qy9qsqpgm289s0acnuuett3yjpu6gzhl88vavr80q8gx6xwhtj0zs06q6xn8wymt2a375yf62qmnhtx7s5vl845vdf64ta7jcl0vfgskdptkcqjsekat', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '322', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'b47B9sRqstd9JIvgWNwyBZigA0AgRyPQrH6ntZxsbR0=' + }, + { + memo: '', + r_preimage: 'blJo6oswIJNz0HvMP5iScvIgWAkXNXv5g1JUp41173g=', + r_hash: '0W7imWQucNsrtWP9a+mlQON+V9GJVo9ZEfU0gbrlLmI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728263', + settle_date: '0', + payment_request: 'lntb1p0q5wg8pp569hw9xty9ecdk2a4v07kh6d9gr3hu47339tg7kg3756grwh99e3qdqqcqzpgsp56vhuz6qp2nadjv6jmk8j9h3yfq9nf08e7krts5ezanrlzqgfagjq9qy9qsqhy0z2tn0uu8nujyxwz4vhk0tt2lx8tvcy9l6sccaq4h50vcuc5upk8m5pe3panku0px94s5dmkk00hz0k0xa8r2hvsz068y4aaunc2gpcu5maf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '323', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0y/BaAFU+tkzUt2PIt4kSAs0vPn1hrhTIuzH8QEJ6iQ=' + }, + { + memo: '', + r_preimage: 'nfcTqc2JW5LFzkfQQyXdCCQ+oopWnh3itjBHohJELjs=', + r_hash: 'dLsWTjeapV0E9/nEC3Izh0FICdsnBF8DUodcuYG3CII=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728278', + settle_date: '0', + payment_request: 'lntb1p0q5wgkpp5wja3vn3hn2j46p8hl8zqku3nsaq5szwmyuz97q6jsawtnqdhpzpqdqqcqzpgsp56fzsukxydj2sp5ma5s4jk6jmf0cyds397nx6rzam5zams28mqj3s9qy9qsq4djn8dtsf88q4z7erxf9x09styyfng7pd94gx07nu235g8ha0mh5ss2cw62kk5kk24qpgu22439gy5jqfelwy57glthvxyn28277m8cq8rrmcq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '324', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0kUOWMRslQDTfaQrK2pbS/BGwiX0zaGLu6C7uCj7BKM=' + }, + { + memo: '', + r_preimage: 'RQZEGXljXSSAGmK9MusdMPjBBBmd/sHHH8Wta/eQoh0=', + r_hash: 'cXQ76Xad2rsmSzkp3ZaLTCtdbtgbwq9V/yi2FVEdVbg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728350', + settle_date: '0', + payment_request: 'lntb1p0q5w27pp5w96rh6tknhdtkfjt8y5am95tfs446mkcr0p2740l9zmp25ga2kuqdqqcqzpgsp5wm65mauxas598dya28cva03darf8sm5ys7q0e53v4m8d534gq3aq9qy9qsq3pqwkvp3hx9vj3jvw2ec0ygwfhpppqln9p4fhvvlad446zurq4ezvxjnmsp2qfppypv49m0mf8ku80qg3gl50cte79utwpvka7vre9gqqug9jy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '325', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'dvVN94bsKFO0nVHwzr4t6NJ4boSHgPzSLK7O2kaoBHo=' + }, + { + memo: '', + r_preimage: 'uvjVJcyuVmtZUE7WoMDfZ9NPSpCU1fGR6jRdYiywbYY=', + r_hash: '3jTQA3kJn5pu9c7E/5ozi09nxSKii1o+CUrhwtG/Gg4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728367', + settle_date: '0', + payment_request: 'lntb1p0q5wt0pp5mc6dqqmepx0e5mh4emz0lx3n3d8k03fz529450sfftsu95dlrg8qdqqcqzpgsp52025n374wrzprgdalggzaj3kh4ggx4908l7y9fst5re6h0dtm2uq9qy9qsqrsdjuduht86x93q47je74q8uex5l3dyg5hc3t8eld5fdwxs9gsl4vl40ange0uc68wmfu2eafs4kempzsw0u2yu7vsjdsp9lhlue0aqqxszfsv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '326', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'U9VJx9VwxBGhvfoQLso2vVCDVK8//EKmC6Dzq72r2rg=' + }, + { + memo: '', + r_preimage: 'gmihqI7/QINQGdG6WV4uF1PJELaAkYFCKJmTukEWXcU=', + r_hash: 'iSux2HP20EK943cdmzhx+OB/c5N/x7jfHP7i7KS2go0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728380', + settle_date: '0', + payment_request: 'lntb1p0q5wtupp53y4mrkrn7mgy900rwuwekwr3lrs87uun0lrm3hculm3wef9ks2xsdqqcqzpgsp5pvskgacejhwpu6pxrsl29u66xasnmv7wdpngnu75pllmpp3qxqzs9qy9qsqqa7zxu4slvglexnlmav6s2nes9d5uxtghaceg4nye9xeyprzcrvy9d6sjmd62c3a452hyk4v2em3wpxf8x3qmj05vhu4yp7ls6w772cpkg8dcf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '327', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CyFkdxmV3B5oJhw+ovNaN2E9s85oZonz1A//sIYgMAU=' + }, + { + memo: '', + r_preimage: 'LfQObtMH/KbH3m75rLrPrYldEEbMOrBFxTnyDvDRa7w=', + r_hash: 'jXfxBAd7WLVDGSDRu3fVOZ7xdD4bXNMxdoI7htpiCEk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577728502', + settle_date: '0', + payment_request: 'lntb1p0q5w0kpp534mlzpq80dvt2sceyrgmka748x00zap7rdwdxvtksgacdknzppysdqqcqzpgsp5tw69edk4d55mkgwq2rufh7z7xtdw5saxelhzxjvgwatljjtyvsmq9qy9qsqw7rtjt6ruyhys5qjrajefx9ks4zlpxmk64h68wvweksng37vl2sku4dmh0pfq5qwm5jhvj46fylafx2f9ttya4j9j62z3ee0pqqgjycpq96amt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '328', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'W7RcttVtKbshwFD4m/heMtrqQ6bP7iNJiHdX+UlkZDY=' + }, + { + memo: '', + r_preimage: '75UFXFSGuyLSyqu6aBnoF/oSk3z8U92PU1VcLY3aKPU=', + r_hash: '/FQWcU22LcvQ1ynTUGT+TQdcT1cFXicfQ0VXa6WoQaw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577741337', + settle_date: '0', + payment_request: 'lntb1p0q5mqepp5l32pvu2dkckuh5xh98f4qe87f5r4cn6hq40zw86rg4tkhfdggxkqdqqcqzpgsp529gw58mhmka7wa3fkg6u5xenp9f9txmm30h6l2k04f8sa9vjzdlq9qy9qsqjcve3acmmavts2fmdm6cx6eezhnp6x5tj6h4zj2n0h4lmf0vs4t4apphc4599c50p7z8vxylqm9kla06n0ha0v8nhmj7luzhrx35hhcpw2suea', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '329', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UVDqH3fdu+d2KbI1yhszCVJVm3uL76+qz6pPDpWSE34=' + }, + { + memo: '', + r_preimage: '1cNNqZyxxnZ5R3tuP/C+6/cQgxsqGkKaaju8IR4RNN4=', + r_hash: 'H2/GV8J8MsD2JnyMWIq464KHwNH6+OKmkn6I9rS/P/Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577741489', + settle_date: '0', + payment_request: 'lntb1p0q5m93pp5rahuv47z0sevpa3x0jx93z4cawpg0sx3ltuw9f5j06y0dd9l8lmqdqqcqzpgsp564lnlmt2gy0hxxr9gdc5s9xmvqrgw7kru0ahtwa3ctflzt3469ds9qy9qsqsy2074644cccp7dhu6ems6jqhunm8r0hlw3nx82uyxzssfjngx0pmz4muqua5ml2kxsu3ywdt3pfr3jyzzq4uph02ydmvm76yqk9s3gqqk5d50', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '330', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1X8/7WpBH3MYZUNxSBTbYAaHesPj+3W7scLT8S410Vs=' + }, + { + memo: '', + r_preimage: 'lcXLM6nZW/HDVbB5gJT2E0NjPJuzL4wT3tgQUZkq3Qs=', + r_hash: 'w9zywN9gyUif1ab+c0pzOaaY/yMs4GqmpB16EAHA08I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577752952', + settle_date: '0', + payment_request: 'lntb1p0q4xtcpp5c0w09sxlvry538745ml8xjnn8xnf3ler9nsx4f4yr4apqqwq60pqdqqcqzpgsp59a2a028wpc747yrztnldg32tjle8agvzcekhdv76jdsxcdvgw79q9qy9qsq0r0tcktr3v5edtwz79e4ne0fsngtqh2g6j85j6cj4aqpecv74g5x275hrsmw303jnny3xnzaf70ddflmk3ltgu5tcqfsts0p330cmwqqxapf5k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '331', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'L1XXqO4OPV8QYlz+1EVLl/J+oYLGbXaz2pNgbDWId4o=' + }, + { + memo: '', + r_preimage: 'bmmotWBnplQFyq0ST1ZfS6HK2vRYtrg8zB+TKoIB1Gs=', + r_hash: 'HzscbjjrYvy9Rz6W7tEbEMOdb8dK7U/IQu3/JqDEufE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577818249', + settle_date: '0', + payment_request: 'lntb1p0qhxyfpp5rua3cm3cad30e02886twa5gmzrpe6m78ftk5ljzzahljdgxyh8csdqqcqzpgsp5p9u3myaa8y9x8uz27qk6ernrhfmx72w3whtyd58s2vpl678xh0ds9qy9qsqkw49l4edq2ejg4n8jw4phfqvsaqgeln236ln4camlph8nsttkjrx8p5lpycx50lhue8aj69jpa9qxqa3djde66hrylks9n5jvy6mekgp3e7rel', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '332', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CXkdk705CmPwSvAtrI5junZvKdF11kbQ8FMD/Xjmu9s=' + }, + { + memo: '', + r_preimage: '0jk2IxBioDHWwUQVt35j5sNIivJq7HyPPPBTbCA4C9w=', + r_hash: 'nJauKIgj5mI6eGAwMfYr+sHZACyGXNxYKhm1oQvgVcQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577818397', + settle_date: '0', + payment_request: 'lntb1p0qhxgapp5njt2u2ygy0nxywncvqcrra3tltqajqpvsewdckp2rx66zzlq2hzqdqqcqzpgsp53u2jy8dtzqcfufnl9d9mkf8glrszh2ssx6flcvk6rk2zrwqxjfkq9qy9qsqnm9yz87gj8f3n2m2gpktyggsecq8gl0nhazmacq5qxqm238c86hq9ukmzv5mcyj7rdkddv0k2hs5q5huxl7hj7yga3ky0xksvhg7g0qqswv2we', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '333', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jxUiHasQMJ4mfytLuyTo+OArqhA2k/wy2h2UIbgGkmw=' + }, + { + memo: '', + r_preimage: 'BdPOEZyqk7btC32Nl7PhwMZBn1jOpmhLpJgR9N+2aHI=', + r_hash: 'yngAAugpqERhdWBoNqJ0LQY0Q65ER12IuzoHzdRfScs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577888265', + settle_date: '0', + payment_request: 'lntb1p0qe2sfpp5efuqqqhg9x5ygct4vp5rdgn595rrgsawg3r4mz9m8grum4zlf89sdqqcqzpgsp57lja3kzzcmhsxry77ucdsyd8tcqgk93r05dnd2ff8vas8xzpf59s9qy9qsq5r424u3ukypd5qjp0g3dv9uvcr2v0j4hnzqmqf2fx89gmcwlqc05p240kddy4tfhuxnta8f9jzhfunkc2kvs0haf7t7f9rrymzsgumsq59tlpj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '334', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9+XY2ELG7wMMnvcw2BGnXgCLFiN9GzapKTs7A5hBTQs=' + }, + { + memo: '', + r_preimage: 'P2NvCOuY6PZ1aNpuIYCzwYb42O4vzda/jQglM9jMpRQ=', + r_hash: '7J7WqdLuvK6oEz1SlH1U0p6VOM17Ul9PxTr7tDFOK/s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1577888276', + settle_date: '0', + payment_request: 'lntb1p0qe2s5pp5aj0dd2wja672a2qn84ffgl25620f2wxd0df97n798tamgv2w90asdqqcqzpgsp5n3hv9tgwj3vs45xap7utqpu3cqeu6cyzzzvzmlx49785rd3jk7mq9qy9qsqemlq3fheyt9v8kypcp8lgmtpd2rf6yw7ffx0mlc7gju272zctfn3ye9xqhgphc28pgz5usf4rswhlqwweghd8qy053wun96ptk2dkyqpyvppsc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '335', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'nG7CrQ6UWQrQ3Q+4sAeRwDPNYIIQmC381S+PQbYyt7Y=' + }, + { + memo: '', + r_preimage: 'yWh936dBma/GUkfUb3CH1sqjud2avj/PBDWUEHAs7Vk=', + r_hash: 'GMVCqh/w7vNuOFaI42hH38+WNmfxyOMJBomz0So7kww=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578060582', + settle_date: '0', + payment_request: 'lntb1p0q7jexpp5rrz592sl7rh0xm3c26ywx6z8ml8evdn878ywxzgx3xeaz23mjvxqdqqcqzpgsp587xd5s6ds6u3r5apqutf482wjk300a69g0xkd3673wrtm5kr0erq9qy9qsqcxxvkd92jd3hzcp2yjpupqqhjfadmtnd8c3d4vf46w0v6lp958rkv4g6f2yzegcq3jejs2cvjavzhyv8egzu7lfa6qfvz4hhmsghshsq4s8ku3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '336', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'P4zaQ02GuRHToQcWmp1OlaL390VDzWbHXouGvdLDfkY=' + }, + { + memo: '', + r_preimage: 'jagYVI2JL/ylwz0qoFAQeVQLIPnM1B3m2Pr96hTSh6Q=', + r_hash: 'Au+FSIYJNyB5Kv8XhyBboWmMgG/CZtadlkLhQ5Z7YaQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578164445', + settle_date: '0', + payment_request: 'lntb1p0ppcxapp5qthc2jyxpymjq7f2lutcwgzm595ceqr0cfndd8vkgts589nmvxjqdqqcqzpgsp58j3xv2zfls8aj0hyuy06hhgqzh0zxmn7a95r9s34cegmau8ww70q9qy9qsq9ya8dazt7qwj08p7a2zqn7mt7uz2e2sd37cz2rd9lakxjqqs3d6n2vz2j7kus6w7gvm3fcufnmehu6cvrqe746qu0dhttnsjgqny2vgpvygc5x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '337', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'PKJmKEn8D9k+5OEfq90AFd4jbn7paDLCNcZRvvDud54=' + }, + { + memo: '', + r_preimage: 'Q4NeiWjWHtqwftC1JIKxNXkghbnfjfZx1PvVpol1BIE=', + r_hash: 'eHiEAY1fN+vHmVMvh7y7raU30/PhmlerTSHKjJcquxU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578247151', + settle_date: '0', + payment_request: 'lntb1p0pygl0pp50puggqvdtum7h3ue2vhc009m4kjn05lnuxd9026dy89ge9e2hv2sdqqcqzpgsp56ldqhlmxrkwl27sj700pndzh9zymkyu0q5k8ktguekm2eayfg5nq9qy9qsqu00yyvl7j4qqz2xce0939crwjgxfp0zcd5h6k86jx8sp3079wyxzfkz5dafkujuapru095zps2l5r3m33naw4c9t06sylh9frw26upcqay5jxj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '338', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '19oL/2YdnfV6EvPeGbRXKIm7E48FLHstHM22rPSJRSY=' + }, + { + memo: '', + r_preimage: 'edf5tvaDmJxqnX5PkHq+gu6BBb1lzkeQ5TCvj3lS3Ek=', + r_hash: '3JAQrAOimqbDsEzS4Z5hWU2ef4PIWNEN404sihjS2DA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578249144', + settle_date: '0', + payment_request: 'lntb1p0py2acpp5mjgpptqr52d2dsasfnfwr8npt9xeulurepvdzr0rfckg5xxjmqcqdqqcqzpgsp5sf4gx2j80x9u6zqygzkgwg5xxzq3273vrwvrgm0pw9memk89q2fq9qy9qsqml424x4uznh6t9wyufnkf23nkmqv505k5ah6remnr2pjm6chqtznk8289scklpze3vkj2q8x02gmmned95n3m2ykfkdzy7499ucuq8gqwdflyh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '339', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'gmqDKkd5i80IBECshyKGMIEVeiwbmDRt4XF3ndjlApI=' + }, + { + memo: '', + r_preimage: '/rAbFW66/pTJdDiX45XEnx6WQ/twryT7aXF8SsvU+ro=', + r_hash: '7nU8zbleEK4zRjwk370BLPUg36sIUWFA3hEVnWUQSlg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578249649', + settle_date: '0', + payment_request: 'lntb1p0pytd3pp5ae6nendetcg2uv6x8sjdl0gp9n6jphatppgkzsx7zy2e6egsffvqdqqcqzpgsp5mrkr9qhruhgxcsz2eprayct3pyrw6rw5ehmxdhkj476pxwns4kes9qy9qsq7rgfre6pj3ugqx9gzwj3pyhnmss49933522mvxsgrh60cs736ps585gvhxe3t9ws2lyu03adv2s3ezvjl7fscatlllen6dw3l53hnvcpfmy95l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '340', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2OwyguPl0GxASshH0mFxCQbtDdTN9mbe0q+0EzpwrbM=' + }, + { + memo: '', + r_preimage: 'gYG8bSU6+OyShVGw1tPcnPRQfvwC+qtdERTzfyXnkfM=', + r_hash: 'W4d3qNRhMJm01RuCde3zwhpsEBlxwLGRULrL0z5k7Sw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578249675', + settle_date: '0', + payment_request: 'lntb1p0pytwtpp5twrh02x5vycfndx4rwp8tm0ncgdxcyqew8qtry2sht9ax0nya5kqdqqcqzpgsp57ev350ngtclchje4v8vr6x68kw70ded9tc20gu9qd59zt58nw2dq9qy9qsqen0t2dqtqyu2zgh9596x8dv4cqcg20c25puhattsmzr87sy5ap98v52actqwt79nexd2t3pkmm8l2y25fl6vqfzan2vy9djjdvxdnmcq9xqy5z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '341', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9lkaPmheP4vLNWHYPRtHs7z25aVeFPRwoG0KJdDzcpo=' + }, + { + memo: '', + r_preimage: 'Mwv+YibNRGb8LzbHWEzPYAbLGxWTLtvVCoh8wW9zqDw=', + r_hash: 'hgiqqPqo/1zsEsxavtBUiFxblk3iHx0iMZ7KwwIM49w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578249762', + settle_date: '0', + payment_request: 'lntb1p0pyt3zpp5scy242864rl4emqje3dta5z53pw9h9jdug036g33nm9vxqsvu0wqdqqcqzpgsp50q5xup3wdp6f6088vdr00u29lkh6xshfgm38lzy9h8su0fn2e4tq9qy9qsqa90hh88vq80999akd2e004lycjay9gkckp4dqy3xghk890vt9pr8w0fqpt4jvn8pha57p7lflvfq74d22etalrfezcgddq4xvjflzagp83htkk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '342', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'eChuBi5odJ0852NG9/FF/a+jQulG4n+Ihbnhx6ZqzVY=' + }, + { + memo: '', + r_preimage: 'voDUiFpyi1eieWKWiQEmfTURcKMLLww/Xm56xqVOaf4=', + r_hash: 'wjn+IvWGk9D+iY6BkoKuN++sp07T4Oc0PgBUSBqhVxs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578249772', + settle_date: '0', + payment_request: 'lntb1p0pyt3vpp5cgulugh4s6fapl5f36qe9q4wxlh6ef6w60swwdp7qp2ysx4p2udsdqqcqzpgsp57mn8npvx5zmr93pu3j4n2wpq2djexgna5vx40u3rmd6ufrgn3jxq9qy9qsq64a5t22empyc86mr7dczp2mn5p42uhx96wd5tjh6s8cl38jd06q3jy5wn5tsqcvtltlwlk3tvfae2sr8k27eznnwsuq6j37uqdvzsvqpg84w9f', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '343', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9uZ5hYagtjLEPIyrNTggU2WTIn2jDVfyI9t1xI0TjIw=' + }, + { + memo: '', + r_preimage: 'vJd+7W5REjekKlHPmsJOsge4dJgEKYMPr+lh3PHq2rs=', + r_hash: 'LLNcXbbonMsLzYy6kpMUijwv/g0QDmrBR7V/VYWbx60=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578315991', + settle_date: '0', + payment_request: 'lntb1p0pxvxhpp59je4chdkazwvkz7d3jaf9yc53g7zllsdzq8x4s28k4l4tpvmc7ksdqqcqzpgsp5ys3d5qxfmqxnn3eceqm9nl2qmecpyu3dur86v9x2z9fxp3w9364s9qy9qsqthssyk247ljk44jukzyz8qe39exu6cpaa73l6a0rrh4xnm3y0ml82nku8mtdjd78yf78vxu3g42uafglp6jeetg686rxv7dgxnktqgsqcaxwss', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '344', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JCLaAMnYDTnHOMg2Wf1A3nASci3gz6YUyhFSYMXFjqs=' + }, + { + memo: '', + r_preimage: 'ywTMy+k1e5d5V2OO13GvHAUnbjT5IHgXMWXN/VO4M5E=', + r_hash: 'D961BBk9xObSN7lEtPqbOYEg3d8NsvQ9dbzsRJ/B6oU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578401893', + settle_date: '0', + payment_request: 'lntb1p0pfqr9pp5pl0t2pqe8hzwd53hh9ztf75m8xqjphwlpke0g0t4hnkyf87pa2zsdqqcqzpgsp5kee7jde45z445acn6sekvugdp30r8r7xw2kc9n6wrgwk0pyam4wq9qy9qsqyu5ytlye2q73zg36kwrhd0cg05rvyade930z5eadfxgj368g0hprntxqhtdu0t5l5jdzrdky645tnmhzlgryr7dcqtkg6ucx5a53tzcq0xyapm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '345', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tnPpNzWgq1p3E9QzZnENDF4zj8ZyrYLPThodZ4Sd3Vw=' + }, + { + memo: '', + r_preimage: 'irlfFGYiRzppzbfRYqhAMxhsIg/FMSPY23jVKB1VScY=', + r_hash: 'GjLKGi//hhpAW8Dfvs2Q1uhIDnJfILtbV3on5w5uKoA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578402010', + settle_date: '0', + payment_request: 'lntb1p0pfqx6pp5rgev5x30l7rp5szmcr0manvs6m5ysrnjtustkk6h0gn7wrnw92qqdqqcqzpgsp5hz2a7h9lrusew7akqnrkmqj9nv7cw5ay3h72yutvkygy29tnyulq9qy9qsqmahxzw94cthgv89r2kh88mfwg2mx84hk8aatcfymfd0gtvejnalr72csxqyh4jwete8alyfmt7pcql4df0qqlrs5hvk9g64fzfkf2cqpxqs2g7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '346', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uJXfXL8fIZd7tgTHbYJFmz2HU6SN/KJxbLEQRRVzJz4=' + }, + { + memo: 'my test invoice Jan 7th', + r_preimage: 'n7W+fPWgHy6gF9ltmctoSs9tH0pDioXIektQisrkW8I=', + r_hash: 'Glekmjc+unVCcqf7lc+El+OYsECgv+jwEIudW1k/6Kk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578420047', + settle_date: '0', + payment_request: 'lntb1p0pf360pp5rft6fx3h86a82snj5laetnuyjl3e3vzq5zl73uqs3ww4kkflaz5sdp9d4ujqar9wd6zq6twwehkjcm9yp9xzm3qxa6xscqzpgxqr4rqsp5dc90q8ajspznfjsrnz480fuyvu69ufsj23nta2979dqr04mqynnq9qy9qsqgpmsz2nlkdv26kcfkjg9426ae3n9yqnaxv4zzaa7ydctmdtnnkwqjpxqsvmh32tu4k0nqwxplywz9lvfekhctaffzkf02j27wn4ejycp9nt3s8', + description_hash: null, + expiry: '21600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '347', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bgrwH7KARTTKA5iqd6eEZzReJhJUZr6ovitAN9dgJOY=' + }, + { + memo: 'my test invoice Jan 7th 120 Sats', + r_preimage: 'rZsTQyyqoQQNH20CVXZNEmbSlzkWSYvrJ9MmHd1aKVo=', + r_hash: 'UZ/BJeRLUPJa2cQXJvQZBOOmTpnshYnTOnuCLyBDL6Q=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1578420100', + settle_date: '0', + payment_request: 'lntb1200n1p0pf3uypp52x0uzf0yfdg0ykkecstjdaqeqn36vn5eajzcn5e60wpz7gzr97jqdp5d4ujqar9wd6zq6twwehkjcm9yp9xzm3qxa6xsgp3xgczq5mpw3escqzpgxqyp2xqsp5pthljtqcxp5zv2jp5hpc2y22drpne93fawml54hxq4eus37s0ulq9qy9qsqz9w3kqcf3twq0dfm474zrvfx9llwyj6ngpycjmk0v8uhr4a3ulsxqt295mp6qj97geuz7k9uuvtr9tgkv7q3l9antaq0rn72836tgvgqw9zdx6', + description_hash: null, + expiry: '43200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '348', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Cu/5LBgwaCYqQaXDhRFKaMM8linrt/pW5gVzyEfQfz4=' + }, + { + memo: '', + r_preimage: 'Cuz566HVfDYRFU9Q5/xmUr3voRPMVmRMeq0WlFVHSis=', + r_hash: '0bOwk1BgruSFdXB38aoBDpeSGP2Urjx7MnZJSHSxDCk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578453133', + settle_date: '0', + payment_request: 'lntb1p0p2jydpp56xempy6svzhwfpt4wpmlr2spp6teyx8ajjhrc7ejwey5sa93ps5sdqqcqzpgsp5tryvzw4ccatfahvxjqr8qye5xaqlql2d2lwakjnye2e50t2y8mxs9qy9qsqpr6dmmmv6ys2tsgd22k5cjl2k44jelhd79qjl5s3w788awuqxw6zdh64wwt7q2hpdj93xe9cgs8ank4gq7y75vtn4ldah4rqwrcyhhsqjcusp2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '349', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WMjBOrjHVp7dhpAGcBM0N0HwfU1X3dtKZMqzR61EPs0=' + }, + { + memo: '', + r_preimage: 'cxXUz9WOQcgR7iVkd6dO/fk07GdqK485kPL2bO+Vdzk=', + r_hash: 'VmZeYvAzqrOYXuiKUb3GLVLhblXvJZSyrT9ccNhtjaE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578453589', + settle_date: '0', + payment_request: 'lntb1p0p2jj4pp52en9uchsxw4t8xz7az99r0wx94fwzmj4aujefv4d8aw8pkrd3kssdqqcqzpgsp5xjpn8gxhpkt89q5pzpmt0ma8nkhgcxv7sy6ane5ajrk63nd82tdq9qy9qsqf450x76dgep6zrluzhlpduag2fr6dcm70agh8u03rrl6kqezgdes2kn8ydepcylhuf3jm7ct0zx4px4x42e380mwa5apza4ntc39rssq37f7g8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '350', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NIMzoNcNlnKCgRB2t++nna6MGZ6BNdnmnZDtqM2nUto=' + }, + { + memo: '', + r_preimage: 'feGzDsvKs8bQ+xOpbi5amZqNvsfWzWK4/Arke7+QJ08=', + r_hash: '+qcsDOYGDU6NSRiyHxNnXt4zCUvR4hJAcD5Dh4GDSS0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578485457', + settle_date: '0', + payment_request: 'lntb1p0pt3k3pp5l2njcr8xqcx5ar2frzep7ym8tm0rxz2t683pysrs8epc0qvrfyksdqqcqzpgsp522c6dvrekwdkvqmzhxagte327a06tnpxjec0jegu2sgfk9t9azqq9qy9qsqjkyggz0mkdpn0wqr22wdmqj0xanujuk3pqhvrnt4fhtmuaqy0f6pqvuvren6jedstyday0eur3hkc68fqqfzkqucs4zugda2zm3wlfgq3x8m0a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '351', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UrGmsHmzm2YDYrm6heYq91+lzCaWcPllHFQQmxVl6IA=' + }, + { + memo: '', + r_preimage: 'XZpdL65TWI3Drd8DKpFW2MXTKHHHjLqAPtMSZws7fmw=', + r_hash: 'm5O7db/VtqeW2Bug7z9eQrzsNFTASSJ9WmonqM52gmA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661417', + settle_date: '0', + payment_request: 'lntb1p0psa3fpp5nwfmkadl6km209kcrwsw7067g27wcdz5cpyjyl26dgn63nnksfsqdqqcqzpgsp5hy9205g5wv9zpf3x67q0kag0k557ajr5g3dzdm7hek679dnw92ds9qy9qsqj0lcqjyf7l5hjewv9ruflpptu5ga7dq3fgdctca963r4kawakj44q2vl638z2zpnaq3cz46up5vghksecwlls2q7caz4uunrlwul80qpxp3rr5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '352', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uQqn0RRzCiCmJteA+3UPtSnuyHREWibv18214rZuKps=' + }, + { + memo: '', + r_preimage: 'av3gte+2PVLg6qXU7XlkhEVLu03p51FFxWEJJIPuMm4=', + r_hash: 'o14xbF5To9LiXyMJWdIsEAC+vrkahnkYSbpWJseRv68=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661424', + settle_date: '0', + payment_request: 'lntb1p0psa3spp55d0rzmz72w3a9cjlyvy4n53vzqqta04er2r8jxzfhftzd3u3h7hsdqqcqzpgsp5en55h57xqtnwvq9y7khfsczysp3p34g2kq7dcqx99un4hdpmwd0q9qy9qsqsxjyjasw50p47ttducm3x8ea0uc2ezs6dxny6tr5xevakf6j976x70hzzg0e9g0a56mspjr26zl096jf0kah7nsr6zhnjlk6rf4hz3qp7e2y3y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '353', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zOlL08YC5uYApPWumGBEgGIY1QqwPNwAxS8nW7Q7c14=' + }, + { + memo: '', + r_preimage: '9iS91Ub7sgGPLXTLzotGzQZKiKYdu6SFGdKh1dYTB4w=', + r_hash: 'C8YAc/Fzosb2zGPittxWL8zUVzRde9FV+MQfgDQLSDg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661448', + settle_date: '0', + payment_request: 'lntb1p0psajgpp5p0rqqul3ww3vdakvv03tdhzk9lxdg4e5t4aaz40ccs0cqdqtfquqdqqcqzpgsp5ylnuhtenl9jk5xzf4ujuer4yq8kngjf2d4yat0ru4tljpcchvpes9qy9qsq7aja9eqymgm8uwaay796p9y7l3rt5wt22ra2gl2qpfmnqhg2yxejk6cv30u92lw7c3n5n4c4m7nfr872zs7q62w4gp006mdrrkfua3cqyp2wwa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '354', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'J+fLrzP5ZWoYSa8lzI6kAe00SSptSdW8fKr/IOMXYHM=' + }, + { + memo: '', + r_preimage: 'fGjTHRrlGzIqPYrMdSdcsRV647+4whd1NsomFXUsrgA=', + r_hash: 'WgJdkFMT9qPuXnWX54zz+rW1NY62jxw5o6X0oUUWDPo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661463', + settle_date: '0', + payment_request: 'lntb1p0psajhpp5tgp9myznz0m28mj7wkt70r8nl26m2dvwk683cwdr5h62z3gkpnaqdqqcqzpgsp530d9zgxsfxztqnfdgwr3vm7k2c85uqzjhxzpj026xwhuv57q238q9qy9qsq04jscc5vxdw8enelk8pfgdn8mv38l2pnlmezdh29cyggg7cs5efzmmhqscqyzj3ktch992esv94qlfpt2nf3ywwpqu87w6e4u5nd3tgqealmlg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '355', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'i9pRINBJhLBNLUOHFm/WVg9OAFK5hBk9WjOvxlPAVE4=' + }, + { + memo: '', + r_preimage: '19X4gnNl/4Fz//1PZtSCxwrhjO/PDcaTqo3OVEjY+dE=', + r_hash: 'afA+a9agSfrZLL4SH0Ulc2pltuGJumrhWW2bmy/DK48=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661520', + settle_date: '0', + payment_request: 'lntb1p0psa5spp5d8cru67k5pyl4kfvhcfp73f9wd4xtdhp3xax4c2edkdekt7r9w8sdqqcqzpgsp55zjmpdk7quszfrs9clfp7mfj0fg2naw806j2n8qv50224qxpk5ls9qy9qsq39afwhqcry9rh5jnyjw7kcyykyc5jmrezwqfz7rlvh7rmp5c766rudv3nh02m65pf9y84mkww0qqlkeqjc3d585lem34yyhm0zkk8tgpt7u7vy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '356', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oKWwtt4HICSOBcfSH20yelCp9cd+pKmcDKPUqoDBtT8=' + }, + { + memo: '', + r_preimage: '0uxV1ri1UqtF5HqIKXr3o/CF8MPINyFyhxxG6cdqBOU=', + r_hash: 'ty8dydm0LxxwIzE2SeRiq5YMZIWTnTmvlX/XiQgagTc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661538', + settle_date: '0', + payment_request: 'lntb1p0psa4zpp5kuh3mjweksh3cuprxymynerz4wtqcey9jwwnntu40ltcjzq6symsdqqcqzpgsp55jx5kqz35d3wenlu0pdg96kgcqnwpaj2v9y56np0wmmykufu4nds9qy9qsq32qjnnawstk846cej975pmtm3usuqygcy68qtvqf6ggweve46g48gz9uvh0qy3k7q6mw56gh4nhjymnuaqf9yxrv3w82lce02ypqn3sqf8n8dt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '357', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'pI1LAFGjYuzP/HhagurIwCbg9kphSU1ML3b2S3E8rNs=' + }, + { + memo: '', + r_preimage: 'Y3Ek/cSbalWPBIiSumAZ9AtwKC/ipuEwSRglJQcPMIM=', + r_hash: 'bBM8ppGdDVZE+UOQ9A/Cp7m4o7ef3+oc5lETbhYn878=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661672', + settle_date: '0', + payment_request: 'lntb1p0psaegpp5dsfnef53n5x4v38egwg0gr7z57um3gahnl07588x2yfku9387wlsdqqcqzpgsp59kmuqjlmdaj68er5u4z6k5nk02va6ntd8glpcvdh953la4e5qccs9qy9qsqxlf2z8lr394ejwgjc8aycry499ny2nlhvlhh9k4w0apwvw5agzk46pfpq57lkswmmm06h9zqwavpn45lxqrpmzxhcjxk6em4kxhnxmqpx4e3w5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '358', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LbfAS/tvZaPkdOVFq1J2epndTW06Phwxty0j/tc0BjE=' + }, + { + memo: '', + r_preimage: 'jMDpGcuyyP/JTGHotXHGS34cWkYPbe/vwybkv+Nfsao=', + r_hash: 'dc5tGOzpKikqRYTxTV0PRwQ7dQEJJGG8wzFWcSfeV98=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661804', + settle_date: '0', + payment_request: 'lntb1p0psaavpp5wh8x6x8vay4zj2j9snc56hg0guzrkagppyjxr0xrx9t8zf772l0sdqqcqzpgsp59zgh96lqklqv6pn7e8sf0cd6hachxl7ewacw3kc7et2ekp9ks74s9qy9qsqy0u4k40fmlzt9wj2h6r8yu7qnuyzy55szldgd2nnhm4ssq4t4zzhwsevca66zpn8l84ed4lzs303e9yuyekzdlmj3s24nc530s2qsycpl40lty', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '359', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KJFy6+C3wM0Gfsngl+G6v3Fzf9l3cOjbHsrVmwS2h6s=' + }, + { + memo: '', + r_preimage: 'PM2i0Ql/nTiiy6bcR5G6ZN8yWW2GxRSzetPIgqu8+Mk=', + r_hash: 'Bsuh2gdfHKJgtK8ljZ+It2Hcj3ClFJDwXTYXm0kniko=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661868', + settle_date: '0', + payment_request: 'lntb1p0psalvpp5qm96rks8tuw2yc954ujcm8ugkasaerms552fpuzaxctekjf83f9qdqqcqzpgsp578k45w0us9cmyxmkw5w2jmg5lpf2qgqucywdrc4ucu2pquhxj5rq9qy9qsqk9a7006xzmwhwyuxhjqnvv54e0dtrl895fcl3harr4tz6gqyteu4ush87zftvcw8r9k5jqyv8qc6y4dhsw0qz5796xtwdgls88f5suqq27w287', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '360', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8e1aOfyBcbIbdnUcqW0U+FKgIBzBHNHivMcUEHLmlQY=' + }, + { + memo: '', + r_preimage: 'PWa7XN/4JxGiYg4R9MU/gso/V9v+vpz+zrHr70JLuSw=', + r_hash: 'tfZC9MTBYDjgf3ZmzahdPtCE8GO7nDxl2+OoDqKxm2E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578661975', + settle_date: '0', + payment_request: 'lntb1p0ps7zhpp5khmy9axyc9sr3crlwenvm2za8mggfurrhwwrcewmuw5qag43ndssdqqcqzpgsp5nwnzs08r85wd94j7nnf4zc8mefqa38hlw4w0fgcw9r5kckelwt9q9qy9qsqwwqxr4ztfmtzkqgll496m7x4534zhkkr67gljd4lhweey80nlpjjh8qm67hxdr83jnzj490zg08c469szjwc8fktvr5l9hdw758cxfspgxh09p', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '361', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'm6YoPOM9HNLWXpzTUWD7ykHYnv91XPSjDijpbFs/cso=' + }, + { + memo: '', + r_preimage: '1lTklwOpD7WUtahAUSOOxoqvjJkIKqrIz4ZxUt5AmNY=', + r_hash: 'rF4okWYU+bsm2iQJvRnIl+xQYEgAlfgP+875MXv2h4w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662090', + settle_date: '0', + payment_request: 'lntb1p0ps7x2pp5430z3ytxznumkfk6ysym6xwgjlk9qczgqz2lsrlmemunz7lks7xqdqqcqzpgsp5flpvw6m487qllv78f7wy7aua40sq4k62wf70dajeeu5gdcrwl0js9qy9qsq7rtcq9ahx9ulq0x9wnf7vpall8vye907kxecuvxn797yjqs7dg7plj3ytpt9htt0s6g4tu02zelpneanhkz08fdht4ltkf0f9ndd5zqqlrryav', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '362', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'T8LHa3U/gf+zx0+cT3edq+AK20pyfPb2Wc8ohuBu++U=' + }, + { + memo: '', + r_preimage: 'nHwfrgges9dW7ryOqcdf9XEbEzrTnIsRop9V07S9+as=', + r_hash: 'dAejHNBkdh5JrVUGHePPvPBNB9BzZCX3HP4BZ7CEZqA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662381', + settle_date: '0', + payment_request: 'lntb1p0ps70dpp5wsr6x8xsv3mpujdd25rpmc70hncy6p7swdjztaculcqk0vyyv6sqdqqcqzpgsp5gz5fzudtypxuen6pmaauzukmhj2vkj2n2qzw9patnnp8lf6cldsq9qy9qsqrm22g8gk72xfnqgst2vxtrvpa73n6a3unhhl2dqh657kgcxjzge8kqc56gsj8ryrqccz3e5xyqq8gtc7vjch3qx5lewqz2czzj658gqpj892zv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '363', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'QKiRcasgTczPQd97wXLbvJTLSVNQBOKHq5zCf6dY+2A=' + }, + { + memo: '', + r_preimage: 'MUHggMENDAbC1xj6aVqtC21R4TxOFKC8mjORNs9T+JA=', + r_hash: 'OXcv34neyuUe4ynFh/LkUSll82YpsaERFVuYnjSC43U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662505', + settle_date: '0', + payment_request: 'lntb1p0ps7nfpp589mjlhufmm9w28hr98zc0uhy2y5ktumx9xc6zyg4twvfudyzud6sdqqcqzpgsp5v3xwwvcp0hp7hxtc7sdmjk2mc3ya53m2hzgwm0da7zt4v9g3g06s9qy9qsq3gxj8x6ta2zc9377nl7698qxrc56dpyh3xuraxthvu09k7v5ev4kf4w68unl2f3q6vj5lzl005073dxtqle9cvz2tfw2d3wj5kya3ysqcctf62', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '364', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZEznMwF9w+uZePQbuVlbxEnaR2q4kO29vfCXVhURQ/U=' + }, + { + memo: '', + r_preimage: 'Kc7Uw11RTof9XsD3iPYOk60T+Vxp0GNfloqVTJm7m2E=', + r_hash: 'lSkx/0TA9UayqCdAkrunepljSu/X0E4UrC/KQk2BveE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662613', + settle_date: '0', + payment_request: 'lntb1p0ps7k4pp5j55nrl6ycr65dv4gyaqf9wa802vkxjh06lgyu99v9l9yynvphhssdqqcqzpgsp5d03gav8egkfqzr3687c3r3789nu49y7z2tng4qlv765wa26w24qq9qy9qsq8ajzpqn2fuvjjkf6c2ev2amkt4jf9uuzpupkqujc0ftg67zmq2q36nhmuy490k2mxechaf5uzdtyr5vp9tygj4yqw4ta8pg5zuukclsquygj6w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '365', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'a+KOsPlFkgEOOj+xEcfHLPlSk8JS5oqD7Pao7qtOVUA=' + }, + { + memo: '', + r_preimage: '3UuQwqwvJbx7SlmAQzHgOaV16zQJPmmveiRZyekO7ho=', + r_hash: 'sHE90V9xP+MFmhntLiAIHqwtYYnpdksFFmCiYi2rbKM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662694', + settle_date: '0', + payment_request: 'lntb1p0ps7expp5kpcnm52lwyl7xpv6r8kjugqgr6kz6cvfa9mykpgkvz3xytdtdj3sdqqcqzpgsp59m2q3lj423tm7zjcmdhrzdrhtvl06g97rnetvq5kll0mu0fy2vvs9qy9qsqt2jzegsp7h20pn84dr20ah0wqx9gsghng2pz5plzcfv4a2qgaptx8ju3uvkktgc9l004au7qhct5fsfmwzts5ya743ynhgmcef8naugpc5zq83', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '366', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LtQI/lVUV78KWNtuMTR3Wz79IL4c8rYClv/fvj0kUxk=' + }, + { + memo: '', + r_preimage: 'qGr3Fy2C8WY5K6gti2HFMP7mV8+DqA8qDdPXBNknk3s=', + r_hash: 'QU2EM/oGcohjiqTHMJzMwaq0GBtvst27MV3DfqzSSus=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662760', + settle_date: '0', + payment_request: 'lntb1p0ps7mgpp5g9xcgvl6qeegscu25nrnp8xvcx4tgxqmd7edmwe3thphatxjft4sdqqcqzpgsp5cvu9pgram6w5fp46ypt387yes5arf7n4qzgqy607chzq389v66es9qy9qsqafrhgdga4uzqrpq7mv7szfts7pftv0q45cfcgqfjs828m3h85948zc43zrmckyunjxzhg7dwljfvf49024tg4rnkmltk9srxuvts0tcpkxc9jq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '367', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'wzhQoH3enUSGuiBXE/iZhTo0+nUAkAJp/sXECJys1rM=' + }, + { + memo: '', + r_preimage: 'wDb5WpmrBevAiqjt5U+622sIWTDRpYWxH89TvkvfDEM=', + r_hash: 'nU/HaaPOiRgHcezFa5u7RcHKD7ZiQwNjKpYjME2VKP0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662767', + settle_date: '0', + payment_request: 'lntb1p0ps7m0pp5n48uw6dre6y3spm3anzkhxamghqu5rakvfpsxce2jc3nqnv49r7sdqqcqzpgsp53kx4hwaw64y6g6nvfex8ahd2kfl5rd8dnmqcgag4jwqmdp6m3krs9qy9qsqsxztnprqpg9ga9hfdmxty56nvtht82vua2upxjdzmu24nupa2mzsjyqxyz2qhc80zvk9ntwwupjc0x22d8wggt2k90rhln25yzamfncqr4dcgg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '368', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jY1bu67VSaRqbE5Mft2qsn9BtO2ewYR1FZOBtodbjYc=' + }, + { + memo: '', + r_preimage: 'Q5zOilC6ONYwzOegRCISvBQVZNwI7DsIcEjyZ2z2Jdk=', + r_hash: '3jcH2bFu630AahYODFIpXKAQuSNT64y9AW7Kukx8MCo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578662808', + settle_date: '0', + payment_request: 'lntb1p0ps7ucpp5mcms0kd3dm4h6qr2zc8qc53ftjsppwfr204ce0gpdm9t5nruxq4qdqqcqzpgsp5jtd3vgv74p6f3rn3mqq4dedx0e8jfuwnhrdgfw0m0jdd4eq8reqs9qy9qsqtp8z3pykavtcq2f0n52z0wxgd995wyckychnyx06er08evj0ln2qxe7t82a497zalp0dxhx4mx8203tp7ml2yufmtpssz5xv3u2q74cqjphfns', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '369', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ktsWIZ6odJiOcdgBVuWmfk8k8dO42oS5+3ya2uQHHkE=' + }, + { + memo: '', + r_preimage: '7kobgiWa71NclGSahxfAhnAGjprSryGCqKI5PihCi04=', + r_hash: 'KLTr2ReTXAPP99SJPLaRUNkYWXrD0wLSvBtN+Tb4V7o=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578773428', + settle_date: '0', + payment_request: 'lntb1p0p52a5pp59z6whkghjdwq8nlh6jyned532rv3skt6c0fs954urdxljdhc27aqdqqcqzpgsp5ywdyutfs4gh503l3edh4ck37kkauj0e4mcknw68e9hvzhqjkyzqs9qy9qsqczt0cqsmev9tl0m95qvpj0epwrq65ch888ejt0jycp7dzxnjsngn6rv5dd5shyxznzr7llahyl539pkydpl9q9ua0vjh2tlgapxg6tsp7njnlf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '370', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'I5pOLTCqL0fH8ctvXFo+tbvJPzXeLTdo+S3YK4JWIIE=' + }, + { + memo: '', + r_preimage: 'znEqqOXJmSp5tcWYymL6js57sM0UZOmFkG1W7ezViVI=', + r_hash: 'AzwmMarZK4Dx8hUCbMpjbNY3ib+H70zGdrFHIUX2Hqg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1578773592', + settle_date: '0', + payment_request: 'lntb1p0p5tzcpp5qv7zvvd2my4cpu0jz5pxejnrdntr0zdlslh5e3nkk9rjz30kr65qdqqcqzpgsp5tq4gng64w4xpy57t2xzf2f60tyjmgh5rf2hhtxvamw25m8tzdhwq9qy9qsqse72gl4c2e00rwaewu6wxeyczeyvf0rzfq8jfj7z02sz8h7x8mn89k2mwtzp6zp2z2rsexpnj764wyac4tranxrtle75wstfzsf7zrqpav9u9s', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '371', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WCqJo1V1TBJTy1GElSdPWSW0XoNKr3WZnduVTZ1ibdw=' + }, + { + memo: '', + r_preimage: 'aTM1YmR1eK3/vIxKAG9RdlHazn1pt6NlmKkOCbU5xP4=', + r_hash: 'kXojPtUgT1esJ+piyw3i7INXqs5Bs6SQXe2ewAtj4yc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579099466', + settle_date: '0', + payment_request: 'lntb1p0p7f22pp5j9azx0k4yp840tp8af3vkr0zajp402kwgxe6fyzaak0vqzmruvnsdqqcqzpgsp56cvcr8zceh7z8h2fvfqk4x3zvsfchrldm20d3stde6jt63e5he7q9qy9qsqxcnawnewzqdhvjlfqs3klhdjqx5jk69r98vykvqs5u5vuc7td5y9xahkx83y7uxf473ha0leywmded6s568zvl8cv2lk9rc7ynh0sxcpteyh7d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '372', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1hmBnFjN/CPdSWJBapoiZBOLj+3antjBbc6kvUc0vnw=' + }, + { + memo: '', + r_preimage: 'ChXXAdY6iO03zYRZS2bTZ/wwaC09EsTKAhAemTfhVoM=', + r_hash: '7AZnomQPPbUhUwDAnu+yYvhL2Zah3L9U8HCS6GDqHCg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579101781', + settle_date: '0', + payment_request: 'lntb1p0p7tj4pp5asrx0gnypu7m2g2nqrqfamajvtuyhkvk58wt748swzfwsc82rs5qdqqcqzpgsp57wq2svw6epfss3w98x8u85dggzgw0fmwm3llcetuf8pxaww7hkjs9qy9qsqhjwmsny3htet8ukjcqkgpkqfr3l2dcehva09um8tn29nphn8ykw90zhtrgygvdfqt2dxtgpady5ruxch5p2xuewd483sz5lu0sfxr9gqsqfaq3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '373', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '84CoMdrIUwhFxTmPw9GoQJDnp27cf/xlfEnCbrnevaU=' + }, + { + memo: '', + r_preimage: 'SnTYzicfk3aEeu2fDkQo89Qag77kJqaBYfqYI9yNMGs=', + r_hash: 'NjmzUS+e2+m821U3zTchVf40zMF/Zz/BHpcp3xuWZbk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579131109', + settle_date: '0', + payment_request: 'lntb1p0plg89pp5xcumx5f0nmd7n0xm25mu6dep2hlrfnxp0annlsg7ju5a7xukvkusdqqcqzpgsp5qrgrjcwqztckjlg5alqrgpgghv6np2kphzshy2fjz6s6sas4ve2s9qy9qsqx5xwzta0d662qmq68w2q9csuur7z0juh4n330ryml30v4cme8py5k8wxm56rh0tjlpez94c0ugpp5y3hu6nhmncq3fe7ad0clcs403qqt9salc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '374', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ANA5YcAS8Wl9FO/ANAUIuzUwqsG4oXIpMhahqHYVZlU=' + }, + { + memo: '', + r_preimage: 'AnW/2cuB10Oa0d02UWYd0NHDS9Op24Lv62x9mNDGfqY=', + r_hash: 'rGaDwfb2ZAn+XZHJdqfznbLA2LsXeflXRkZXxzoy2kQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579179977', + settle_date: '0', + payment_request: 'lntb1p0zqh7fpp543ng8s0k7ejqnljaj8yhdflnnkevpk9mzaulj46xgetuww3jmfzqdqqcqzpgsp5ht957vtuc83k5ve72k7e9aqpj897jwf4w5757fzxgtqd7vtvk4ds9qy9qsqkxrcvwd0xdmamxv20vjm5xwnynfvurwact4t5uxtsz6cly3v9fsjza7u5rq7ulfucq8thcw8qrvf3zgjumycf2etdkh24m9njqgj7cqqcaj4ty', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '375', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ustPMXzB42ozPlW9kvQBkcvpOTV1PU8kRkLA3zFstVs=' + }, + { + memo: '', + r_preimage: '0Jd/t/u1ePJ/YUBnyeoMHKNc69HqjZnVEUw2TwKwO28=', + r_hash: 'jBCpDFh91XEuN7l6cKX6TgvFIIvWY5PTZ/82PkkmByM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579267058', + settle_date: '0', + payment_request: 'lntb1p0zrvljpp53sg2jrzc0h2hzt3hh9a8pf06fc9u2gyt6e3e85m8lumrujfxqu3sdqqcqzpgsp5e47l2cnuafdxd5340mzkr94mm6z7w336hc76x8uue33dg2k378js9qy9qsqpedjyrvd758l3pgg9psmrhq09n72ypch8j4n9vmptwp434hppj04k3fjkfd3ctftgu3u334hvp70ft0s08xntjmnwqlsn7lcd84k66sqpkwh7s', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '376', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zX31YnzqWmbSNX7FYZa73oXnRjq+PaMfnMxi1CrR8eU=' + }, + { + memo: '', + r_preimage: 'pekL+/gEF6EHAxuWy31u7LanI4RNqKgYx8lpnoCF0Tc=', + r_hash: 'W6+d65KTQi2gXP1FWmdx/MkOJaDmf9qahH2JGC0NKgs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579624540', + settle_date: '0', + payment_request: 'lntb1p0zw2zupp5twhem6ujjdpzmgzul4z45em3lnysufdquela4x5y0ky3stgd9g9sdqqcqzpgsp56gckfjmcpv2zlt96rkxqg3u4pgxjshyy2y7rug4lmvv53ydj5d8q9qy9qsquzrtme7ceptfek4m372h3r9tjq3mqrxkl98p8hpwvc59zm7pnpw3g8vthjqlcj3jy7jh4782pw7mnsl6kyhzz4932v8g6mvhz0rusgsqsgaxqt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '377', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0jFky3gLFC+suh2MBEeVCg0oXIRRPD4iv9sZSJGyo04=' + }, + { + memo: '', + r_preimage: 'g3G4UbEAFbaVctEiBkAeDK1q4wecvsTJ0Mhb9m5e9Gk=', + r_hash: '771DNvRQ8YA6s0J8kRzuksaihh1/u+mMBFGniDy4ZBY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579742196', + settle_date: '0', + payment_request: 'lntb1p0z3ul5pp5a775xdh52rccqw4ngf7fz88wjtr29psa07a7nrqy2xncs09cvstqdqqcqzpgsp532849kwulf9spd200a9frgvd4y0q3e6qfu8xft7d58zwgvaqutdq9qy9qsqpc7lxvdq8hn9zax5hy477r87tys83grlqfxyakpjy08jmyrlvmts89c9rey2fw9l7axfcgfea59cpht23c9hrd0haas35xgzsps422sp6mf0jc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '378', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'io9S2dz6SwC1T39KkaGNqR4I50BPDmSvzaHE5DOg4to=' + }, + { + memo: '', + r_preimage: 'aEfo/FacX8whyahL+LhMmIHwV2xIsol6vNc3nd19tDQ=', + r_hash: 'Yqholba5Q0LiGnIjnVz9UrAcjo8iDQbJgOL07Pd5N1o=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579742203', + settle_date: '0', + payment_request: 'lntb1p0z3ulmpp5v25x39dkh9p59cs6wg3e6h8a22cper50ygxsdjvqut6weamexadqdqqcqzpgsp5fpm6n49enatjcs59hqqhkmnzwc8x6p7jfw2sthtxzf2d9nqnyt2q9qy9qsqe7xv3a3x0jqw3v4hzwcspxml9e0nqf3xfzeslcehw83hetsx78k5pug8k7wevax3udwj4mx4gq8cm7xpjhwex5vcjql5j4ysdmy4vaqpuc9zmr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '379', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'SHep1LmfVyxChbgBe25idg5tB9JLlQXdZhJU0swTItQ=' + }, + { + memo: '', + r_preimage: '/j4O0sw6ipvGjtPPYUtEIBtQGdSHBy/sYHDMMS63PWQ=', + r_hash: 'nIXQ5DSvNjoTeJ19l+LD7hUPlzNXTd1/o4azjyxWRM8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579742216', + settle_date: '0', + payment_request: 'lntb1p0z3aqgpp5njzapep54umr5ymcn47e0ckrac2sl9en2axa6lars6ec7tzkgn8sdqqcqzpgsp5zj5lc5pm7efvejjqs7n9gs6y3x2n29rv5l2je6zxs6aa5akxcfeq9qy9qsqk74sld8zcvm3nr9s32lcpctz0l5ch7lpacgrwamclxmtpuzp4y243d7yuk67mqc8edmklqcdhzcjlu3q3qe5jj222safyg5nucqpdwsprn5unw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '380', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'FKn8UDv2UszKQIemVENEiZU1FGyn1SzoRoa72nbGwnI=' + }, + { + memo: '', + r_preimage: 'PSUmwcIg/F0HDbRE65KbSoLBXkvHqYzL9/koJDPt8Sg=', + r_hash: 'cJOPPmD5IVrNlTR+H8Xyr0mXvqRuvybPdPz67pWfESQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579743090', + settle_date: '0', + payment_request: 'lntb1p0z3amjpp5wzfc70nqlys44nv4x3lpl30j4aye004yd6ljdnm5lnawa9vlzyjqdqqcqzpgsp5tz92nwpuf3p2put8jvjr4d8tmak93ea6ctf7j8hezzrxwrldukcs9qy9qsqs8uw4xadh32dz82kv7h64sh8y98qayt7m8k56zwq87d235570pp55lryfp0g2amkf4ejrz3ter30yjhyzxhjad2xe9g7hrhjn4q0smcq4wpclj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '381', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WIqpuDxMQqDxZ5MkOrTr32xY57rC0+ke+RCGZw/t5bE=' + }, + { + memo: '', + r_preimage: 'PgW2NoViAT6s9NMnIyFp3h8XDojtefDBCzApok1Vmso=', + r_hash: '17Z8/RtLmlmueA7/GUE1pO23c7kJcFFEwNk7pjzK2zU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579743092', + settle_date: '0', + payment_request: 'lntb1p0z3am5pp567m8elgmfwd9ntncpml3jsf45nkmwuaep9c9z3xqmya6v0x2mv6sdqqcqzpgsp56ya75t0jp3wr0ese57s0stsch28wvns9v6mpzt29kxljqn2wyxnq9qy9qsqd0ey8k0lj0mqfdpfeqw9etuwthqxz3y0anrhj3fn9jwmyuf83gvp8thy08lz0dz88kz7f5ajuxhepv3m9j7uqep04tnlzdg679fqnjsp3c0ynh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '382', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0TvqLfIMXDfmGaeg+C4Yuo7mTgVmthEtRbG/IE1OIaY=' + }, + { + memo: '', + r_preimage: 'vBXnjABEKOCfFh20odfwHHx0F8601hUvjYXdS8ZM/QU=', + r_hash: '1UXKojPZxtUInS8Z6Sy8kvIzLO4Lwr2qsZdxsPioe8A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579743116', + settle_date: '0', + payment_request: 'lntb1p0z3auvpp564zu4g3nm8rd2zya9uv7jt9ujterxt8wp0ptm243jacmp79g00qqdqqcqzpgsp53z7j6p8uu9w7r73cwm0l5e2pq4348ntzwts6jzgf8d3rzx9mly7s9qy9qsqz3sxr2j6h2ax0glte7eaq43924rl0tuyt6a3klesm20vjnsq5drrhgdr83u2fklmv95x9z8q38zmyar0aqmm4zcnng7slpqtnx835ygqfm9aan', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '383', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iL0tBPzhXeH6OHbf+mVBBWNTzWJy4akJCTtiMRi7+T0=' + }, + { + memo: '', + r_preimage: 'rf5Qw7RXv4OsypcerJDpgoQ33/97D6OLjxj2b8JNEG4=', + r_hash: '0R6fIxWGL7rBdCC1sirNC7eayxuNFQHOwlVCNFEnFUc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579743119', + settle_date: '0', + payment_request: 'lntb1p0z3au0pp56y0f7gc4schm4st5yz6my2kdpwme4jcm352srnkz24prg5f8z4rsdqqcqzpgsp59h4aylv5fcyw5jf2840t0a0vsvdp9wvm6dlpun6msy875pnlp9cs9qy9qsqr0f4wlj906m3qk6lj0l5d0sj6dkwz3473x8jcmpletz8cealpcy80myvatqfutgkhzvznhur69h6nwtzqjagmmrkkd7r5d454lefqkspf8c35d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '384', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LevSfZROCOpJKj1et/XsgxoSuZvTfh5PW4EP6gZ/CXE=' + }, + { + memo: '', + r_preimage: 'c3tSVHiMy/cXY9BanF7nk0hjCZRGc9aWUhVH45FfHk0=', + r_hash: 'bL+6eoCz33CbbAqVoIQt45sVNMhqtpoLMbcKi+ga4+I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806184', + settle_date: '0', + payment_request: 'lntb1p0znm0gpp5djlm575qk00hpxmvp226pppduwd32dxgd2mf5ze3ku9gh6q6u03qdqqcqzpgsp52u9wqnst94c8lkja8ar2yj8rn8tryzhaev7edgjnuhlw934kdskq9qy9qsqvhpds82zx4v7fdqthx2cucgt2cs7ug3vxhavvfqaehkgf9mzpwmygrp349whrvcauptf3la3nn2f3y7wdc2jtsj9ee68yrruxng7jkqqyv93n8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '385', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'VwrgTgstcH/aXT9GokjjmdYyCv3LPZaiU+X+4sa2bCw=' + }, + { + memo: '', + r_preimage: 'A9USpxfCtV7obMQ0r1T3HWJxDVjb4V/GxjGcAzu37cs=', + r_hash: 'CE1UK9C6YUjGPvMiRWiG/efs9mbf0qxf72APFIipqwA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806189', + settle_date: '0', + payment_request: 'lntb1p0znm0dpp5ppx4g27shfs533377v3y26yxlhn7eanxmlf2chl0vq83fz9f4vqqdqqcqzpgsp5l0r5mf3ww8lcf0vdxanddlx3clwtx009pxyx7qd49hhcpe76h35s9qy9qsq4u2mctqp92r00v255s2q6cayk2ppg5wuyasafzdezncen4whutq5xx0nmzjl4xzwt9yeq2erl6689utqaksmrqes6he4pne0e2u42csqvyeakf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '386', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+8dNpi5x/4S9jTdm1vzRx9yzPeUJiG8BtS3vgOfavGk=' + }, + { + memo: '', + r_preimage: 'Eb87sdonc7fJ/ZR9+RKGpbiX29pwxSoYxoSEe0e0zV4=', + r_hash: 'peD5ocSxevv0/SHMRo9xlEiaukTsjPUUUDr4Qr/ovIo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806199', + settle_date: '0', + payment_request: 'lntb1p0znm0hpp55hs0ngwyk9a0ha8ay8xydrm3j3yf4wjyajx029zs8tuy90lghj9qdqqcqzpgsp5w8yczstvtddk7kuhcvpxnul55qsltxc0dg6qtpj0tf24tet4w0eq9qy9qsqdlx7rlx7h2eqlktd4m704jgn9gk9szef94qar3v3t5fctcrykpgn2f5jt34x6cqnhpl6jtyv24hv2hv4jfev9txvc26upsvccy7425cpd4d3yl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '387', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ccmBQWxbW29bl8MCafP0oCH1mw9qNAWGT1pVVeV1c/I=' + }, + { + memo: '', + r_preimage: 'UuvzBrChROnr0WwS2iiW9de8rOJoSgIvDK6R+hWhlzs=', + r_hash: 'SmOGXiMfrpCa3x0xJfBzgzFLmRJgghezWWp8hEGf44A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806234', + settle_date: '0', + payment_request: 'lntb1p0znms6pp5ff3cvh3rr7hfpxklr5cjturnsvc5hxgjvzpp0v6edf7ggsvluwqqdqqcqzpgsp506mm0yjrxcsuylrf2censwr6zsp3jey6wcmmd96lyc690hctyqyq9qy9qsqv4dg648n02wwgnya2tfrm7365uff0fjh6lnww5wdrkv7fpymqu2xw3vek66sxck7u8lqjeeqn4t379k2rrjezgw2q747sjwnr4j4ahqpn49r67', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '388', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'fre3kkM2IcJ8aVYzODh6FAMZZJp2N7aXXyY0V98LIAg=' + }, + { + memo: '', + r_preimage: '6Kclq9DY+d/ID9JmK/ga6jZAd4oHVPbaM0t56rVGhT4=', + r_hash: 'FIZmbZH9x4vHd4O+UVaaP9h7RjS4d1nUXkU+5NPNvkI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806239', + settle_date: '0', + payment_request: 'lntb1p0znmslpp5zjrxvmv3lhrch3mhswl9z4568lv8k335hpm4n4z7g5lwf57dhepqdqqcqzpgsp5s6hyn5ejzu8wp850lrjdp3sh0atyl268lp5ut43pgw5kqetxwngs9qy9qsqnjw0dqhegex4fhfpvqhvg0tzht03sn08s6wfpuvy7dyhjm6ufxnhh29ammdgwe9tqjr4m5r7uvpvay7eqvqmrsy7wx9xgacpmvs5hlcpme8em0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '389', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hq5J0zIXDuCej/jk0MYXf1ZPq0f4acXWIUOpYGVmdNE=' + }, + { + memo: '', + r_preimage: 'DNPvij+ZASlAr+wQL4hiRrvfvM4IEZruU6ZdHMAdboo=', + r_hash: 'wMtbnBBZSEVBkNe1fC/MidhO2YiOr65K3SygqF/xqlg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806336', + settle_date: '0', + payment_request: 'lntb1p0znm5qpp5cr94h8qst9yy2svs676hct7v38vyakvg36h6ujka9js2shl34fvqdqqcqzpgsp5gkwetz98dlmthlznwre3rehaarcw4g7p0fv03uqs3n5n3cwvwhjs9qy9qsqxpzj7w3r00hyvgdmnvrrmn2lay7kdjlrxushyha58y7fnstyg2uxuajcwml0fqd5ka0layq5lvmjrxv3spurl6dhy0ajg8yla4846nspst8jzx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '390', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RZ2ViKdv9rv8U3DzEeb96PDqo8F6WPjwEIzpOOHMdeU=' + }, + { + memo: '', + r_preimage: 'XY5f2xg5tq0qi4RhEKKpsuv9eXAoO/UGGT3Ystdi1Oc=', + r_hash: 'aChymgpD71giR9B+u4AzF4awUUfELSQQCKXRkkol6l8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806511', + settle_date: '0', + payment_request: 'lntb1p0znme0pp5dq589xs2g0h4sgj86plthqpnz7rtq528cskjgyqg5hgeyj39af0sdqqcqzpgsp5d3ngtqjumgfmk3a7dw8332wvu628tc63pmlm0dve6qx7uenmt5eq9qy9qsq6pc5rdkfhntmzrsk8pxxpdfqnx0mah584n3s8a0nnj7ekvkcd83saz3q46r6ejau9d3tftf0nhp5z6ncq2ymxcjg6annx2522r9j9pcp4v3czh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '391', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bGaFglzaE7tHvmuPGKnM5pR141EO/7e1mdAN7mZ7XTI=' + }, + { + memo: '', + r_preimage: 'w1BC714ZSmwCvpS38hYxsgZszu9Z05+VsR6IN5ziipo=', + r_hash: 'vEvccCcxC/pW8lPvrvFjzO0Uy6+E/SsjWG86+dwoXtU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806520', + settle_date: '0', + payment_request: 'lntb1p0znmecpp5h39acup8xy9l54hj20h6autrenk3fja0sn7jkg6cdua0nhpgtm2sdqqcqzpgsp5a4rndez82je63djl87vhcxx4scmnfcqs60s962l3fuft55g64sxs9qy9qsqr6hc5r8tnp5c250eg936mmgmmjhxdr0dq3fthrjnpwk8ydp09txys3mqz2khhmxuy46hffm5aqj7mqkdxn3xwsxkxlyt2yz4gxap3fqqzz8uck', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '392', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '7Uc25EdUs6i2Xz+ZfBjVhjc04BDT4F0r8U8SulEarA0=' + }, + { + memo: '', + r_preimage: 'i7ItWriIR0VOBY1jQ+sVX/kAvrrr1GUa+pLFMZ+DEJc=', + r_hash: 'yaLrJ/Ub+WIHBAtVgoIfo5Aht/HNv5H1RbxKDn82YQs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806535', + settle_date: '0', + payment_request: 'lntb1p0znm68pp5ex3wkfl4r0ukypcypd2c9qsl5wgzrdl3eklera29h39qulekvy9sdqqcqzpgsp5hcjc4uuh80yxs6ehxve2v70rz5770cjpj0lezgfncv2ntge7juss9qy9qsq8a3xpzfkllflhvgj3mvqpjseqjnstaka9hnfnmd2sw30we64fngpjhpp78c0gvsdhn09kmmr28ymn06wlklnlspmysz2qpr7t924fvqqqmvgrf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '393', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'viWK85c7yGhrNzMypnnjFT3n4kGT/5EhM8MVNaM+lyE=' + }, + { + memo: '', + r_preimage: 'dhPY0L38zejzdIvHoDA6tcDc16x8NVWyT/yad9U/T+Q=', + r_hash: 'cu3+vYecFdKvk/LqKvW29yLC+FV75ti7MtHhjlsRXOw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579806640', + settle_date: '0', + payment_request: 'lntb1p0znmaspp5wtkla0v8ns2a9tun7t4z4adk7u3v97z400nd3wej68scukc3tnkqdqqcqzpgsp5g6lstngz2t33t46xqwg0z2szqmsmxjvrea68f027nhvapfrq6f8q9qy9qsqt0j6ct76j54whlnkzsd32qqud90yjmgpfte3qyj63msjqvwu8s7xry49psgzzhhddk0umpama4s6uc6gp34r6wsd73q48he6e3cwf3qqfzwslc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '394', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Rr8FzQJS4xXXRgOQ8SoCBuGzSYPPdHS9Xp3Z0KRg0k4=' + }, + { + memo: '', + r_preimage: 'KbQVsc9vcwqGxR3Kfw1z3mVsBXWcJ9DYKV0jtlu1KuI=', + r_hash: 'Obud3GJCzG20GbeBia6cHBz0mb8BtpTQDkBCbcbh+Ng=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579810383', + settle_date: '0', + payment_request: 'lntb1p0znlj0pp58xaemhrzgtxxmdqek7qcnt5ursw0fxdlqxmff5qwgppxm3hplrvqdqqcqzpgsp50zzq3yc5dhfj2g06w7yueeatrl2ssa4jptfz5lnz3mfx4yhctw6q9qy9qsqhk4cy0hhy3nfw0pgnsplgmyf2ac2k3hzwrpw578glj3as0mke4sx6s06llvkukc622rak7cmth3yf7s8m670xyfmzh73954nj9j6jtspfw29xz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '395', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'eIQIkxRt0yUh+neJzOerH9UIdrIK0ip+Yo7SapL4W7Q=' + }, + { + memo: '', + r_preimage: 'd6pmE8zveTDYjsjrJvNscM4SUVdmujaugNFuyNyRqZc=', + r_hash: 'pbBSr3uFXAXw7jyBPOdkokK04Z9SqT3CvRC30EWJxqs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579810386', + settle_date: '0', + payment_request: 'lntb1p0znljjpp55kc99tmms4wqtu8w8jqneemy5fptfcvl225nms4azzmaq3vfc64sdqqcqzpgsp5gcs0u77pzvphk5sapdf055mzmkgyph4y5w67rd6fzltwa2dzes4q9qy9qsqaet70txcxtmzf6juasxv7a6ac8853xhcf083wluttl42unlpe2gxxxvl74d42v58dnjnftvs5emtmk0yzaym5sdqcuuva74kf2pmhyqpau3f5e', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '396', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RiD+e8ETA3tSHQtS+lNi3ZBA3qSjteG3SRfW7qmizCo=' + }, + { + memo: '', + r_preimage: 'HnZ2YvbPcAEkq+7yHEItdpbrFiDTzk87hvdSdKv+i6c=', + r_hash: 'To9o0ZeLpv0YProfuzM5QWmTJBM2fwhr0PyOno5qTxg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579810603', + settle_date: '0', + payment_request: 'lntb1p0znletpp5f68k35vh3wn06xp7hg0mkveeg95exfqnxelss67slj8farn2fuvqdqqcqzpgsp50rmuum2cuc3v9m7rjvzjjsjwwp3u4zu6kdhw9synzr8vkg3jaahs9qy9qsqrcnp3jgzef2deeh99jl5gasvlt9yq58zjwzmrssmwj5fgermke6jk4pfqr2vk5r53nrpv6v6ldhgae6wy2xjm5ww7fw5xreup2fn89qppxkcdy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '397', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ePfObVjmIsLvw5MFKUJOcGPKi5qzbuLAkxDOyyIy728=' + }, + { + memo: '', + r_preimage: '8WA5Dg2LdbYkQh9FftSafXwAZ9pr/G0ZAvgjHToiCxA=', + r_hash: '5MX1cpwuO1RXwL5YcQs9Rj/G3eiRJI1r0BC8FLOaGcs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579810653', + settle_date: '0', + payment_request: 'lntb1p0znl6app5unzl2u5u9ca4g47qhev8zzeagcludh0gjyjg667szz7pfvu6r89sdqqcqzpgsp5ryerwhgvfx9jhnqqersleu4kmvw6y8phzm2htgp9qaec8r5ps83s9qy9qsq6788shv74pa85n4k4gjawx7e9hahgvhktkn4kw8uw8kynfjcmuzzehd373nr4rpmhl9tvgrn3nydt38fs2g857cpea9ga6fgp8npvmgqcf9exf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '398', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'GTI3XQxJiyvMAMjh/PK22x2iHDcW1XWgJQdzg46BgeM=' + }, + { + memo: '', + r_preimage: '0Mphvw+PwYkNqaIBetT1CW6990AmX+vTKezXeNag5ks=', + r_hash: 'qHU/r0/LSzd7wvkHboLupWMmL2HH91VeM3NO6tmISag=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579810657', + settle_date: '0', + payment_request: 'lntb1p0znlmppp54p6nlt60ed9nw77zlyrkaqhw543jvtmpclm42h3nwd8w4kvgfx5qdqqcqzpgsp5lnqyajdp89zrggs6kyeq3krx0v42zngqgqxkxaxe4k8gqk8mdnkq9qy9qsq9qx8p9jr9769w98g989nzfjdt4xasg5nrqhnkasr9llrgy7eywu3qgpy84xn07rf4gfqf88qml3pzusk5cjzf948jc9a5ltljzjyrqcpmmzlsu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '399', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/MBOyaE5RDQiGrEyCNhmeyqhTQBADWN02a2OgFj7bOw=' + }, + { + memo: '', + r_preimage: '3V89C8kN9pvOyOWi2/kH8kDfAQo9jomNLIcdmM7Kygc=', + r_hash: 'Y+15tG6cfdqyMh3GGi6bXtoDmDPe7+5O6n7/q30v8GE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874312', + settle_date: '0', + payment_request: 'lntb1p0z47qgpp5v0khndrwn37a4v3jrhrp5t5mtmdq8xpnmmh7unh20ml6klf07pssdqqcqzpgsp59xaafzvesgc8g922m7vtpvrglh0g37g8x7kx02xld00a35nt56sq9qy9qsqsnw4eekerutuvr3nwltsyp5jk5cls3rlwlmtsrxxzt79wnmhaw59qfj5we8l70uhtxrylm0jsra4wsgmj66tefxhduvc4clvg25mrhspd6dpag', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '400', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KbvUiZmCMHQVSt+YsLBo/d6I+Qc3rGeo32vf2NJrpqA=' + }, + { + memo: '', + r_preimage: 'SDsRSBiDOeyh4NIpIxrBPXEhfGMli4guL9WluHwXWhk=', + r_hash: '7BbSGBWuFbea3uSjy6a5uyBlmtEJB7gdo+NuVCweE4E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874325', + settle_date: '0', + payment_request: 'lntb1p0z47q4pp5astdyxq44c2m0xk7uj3uhf4ehvsxtxk3pyrms8drudh9gtq7zwqsdqqcqzpgsp53cuzqa6gwvxxjdgxu7dt37nukx7wqh9rjk4snjl60h26fcmah6qs9qy9qsq2c6xjjc6tfjkylxky03p3d3v65yww6uuc08mtk9qecy5sjtmw4fjrrudvggdm3vzttcl64ujez23z7nalulf2j2qslpx6j3an8xct4spyntfnz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '401', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jjggd0hzDGk1BueauPp8sbzgXKOVqwnL+n3VpON9voE=' + }, + { + memo: '', + r_preimage: 'dlIktRwS8KyZgWEXrj6abtdB6CjSEt8UxW2XZ8x+ocw=', + r_hash: '71UfxKveqB3HBj4ntgY1s4/9U4eR/rKpQ5/S0EYCMLk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874342', + settle_date: '0', + payment_request: 'lntb1p0z47pxpp5aa23l39tm65pm3cx8cnmvp34kw8l65u8j8lt922rnlfdq3szxzusdqqcqzpgsp5fav64xzsyh8glruxdqywgsxtpnmqdkapu8gep6pcq929va035y9q9qy9qsqktlhdy99sa8dywzv7f02qlyeexhw8ex9y4fk3arympcnxzmq0mwq3clu23e4ps0ura7s2nna9wrxvvc28u3yjy5wx3mzt8psvnh77rcpnx0ku7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '402', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'T1mqmFAlzo+PhmgI5EDLDPYG26Hh0ZDoOAFUVnXxoQo=' + }, + { + memo: '', + r_preimage: 'xMutO3rV/Pf6Rkl7upIBQorTBVZgSyIG1uejJZhtrNs=', + r_hash: 'WYov3RvFKzbKmk1FM0eqo0xNZr3bGGYdg1lDfP6r4pU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874344', + settle_date: '0', + payment_request: 'lntb1p0z47pgpp5tx9zlhgmc54ndj56f4znx3a25dxy6e4amvvxv8vrt9phel4tu22sdqqcqzpgsp5mgrp08xkm2r7h8l7l5nvzx2w2h27yn53aej4ak2jcpryxutx560s9qy9qsq003r8mehue7wup8crln3a6w0nx3gwfpeatvajmqwltjw0yda9t4pwsngw520g8v0j7vg3qwg8gju8tm9gswgqszl7mxq6j7qux6sezcpfk4lf3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '403', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2gYXnNbah+uf/v0mwRlOVdXiTpHuZV7ZUsBGQ3Fmpp8=' + }, + { + memo: '', + r_preimage: 'h4suA23m1pMJuiVYu6S3Py4Y+sHxToz58aKyVaQ4Qso=', + r_hash: 'iI9xjBdJy8EklSvCPPTH6uuhtKou2fZ+oa0Kaw5042U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874505', + settle_date: '0', + payment_request: 'lntb1p0z47xfpp53z8hrrqhf89uzfy490preax8at46rd929mvlvl4p459xkrn5udjsdqqcqzpgsp5ku3ac9kphp5lrcqghwrc4uj3g5yzjaczs7lknmmf0tm9qkrcmkzs9qy9qsql49hc820km5u4hgu8r9szl4nz94vfxhwrk54mysm4y5z6kwdhguz5zlqrssn3y4mz8p8chg24z55a3arapx0wcayd5cx4agaa5vcrvspwkdxcf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '404', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tyPcFsG4afHgCLuHivJRRQgpdwKHv2nvaXr2UFh43YU=' + }, + { + memo: '', + r_preimage: '3Pxdjn2GT12wwovCeZoZKM3sn5hxLeJZCdfVSGiIwrs=', + r_hash: '2rCNSjWSjrBIRBFD0Ds/1x8oceVForHN6C8RZVeadSw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874507', + settle_date: '0', + payment_request: 'lntb1p0z47xtpp5m2cg6j34j28tqjzyz9paqwel6u0jsu09gk3trn0g9ugk24u6w5kqdqqcqzpgsp5l2753kwwc9nj985vntwtl5xv8lswm9lwuf9vmeedcly0rutff99s9qy9qsqmsl3k9envczv053rq4hfwg9qth7lnu9z3refude36r54r3fh2t68zmeffh4z0hur094ehjrwqeshtt4w5vaems7778y3f7kyhcgdhcqp0jnz7v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '405', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+r1I2c7BZyKejJrcv9DMP+Dtl+7iSs3nLcfI8fFpSUs=' + }, + { + memo: '', + r_preimage: '+nFIBGmR+4mHR77MAIOuX4jxPJ+RTPX0QovgsFvn7JI=', + r_hash: 'AE/RnzD8TNsejrrOZ7/4pfUu+SUywIVwsOCpHY88Epk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874643', + settle_date: '0', + payment_request: 'lntb1p0z472npp5qp8ar8esl3xdk85wht8x00lc5h6ja7f9xtqg2u9suz53mreuz2vsdqqcqzpgsp5x0d4l88mesh2xvq7mh85knkrav52d2k4sv4jg0kn47nh5ud9r75q9qy9qsq7smh287znnxj6gg54qychzzfxvg6w0g55smrw3kwvcw20hu564krdzy98ywvwl7aydr2cd824z54quct6a6dugk66yge3r567ljstwgqsqp5qp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '406', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'M9tfnPvMLqMwHt3PS07D6yimqtWDKyQ+06+nenGlH6g=' + }, + { + memo: '', + r_preimage: 'bpSk6KTAX56axBePfWdR/c4vcDSQpSKI3BARP+YRVAo=', + r_hash: 'CytAWHTa9NVA4zEDT0CjaN4FJ+ruinUdIIYtXFOcGw0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874651', + settle_date: '0', + payment_request: 'lntb1p0z472mpp5pv45qkr5mt6d2s8rxyp57s9rdr0q2fl2a69828fqsck4c5uurvxsdqqcqzpgsp55dh9p2m9prm0j07jzu6k4h85txt64prsxu37qwnk4x9k2qn4xa7q9qy9qsqf3p9fcgq3fu9k5zefk6yc908g48hy7srte5rv5y9hl4552lwdh2n0ym645gm3vt7qverkk9x60hywckzgahhy5ctlrvtxqlhqgxda9spczveet', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '407', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'o25Qq2UI9vk/0hc1atz0WZeqhHA3I+A6dqmLZQJ1N3w=' + }, + { + memo: '', + r_preimage: 'VXxUjYfP/2L16kpHkGG6CRrUc31i1y6K+JlI35CXaDs=', + r_hash: '6usRag+4aK0oPXiFT0lL6Bk3gAMlJvFCTavixOO4um8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874706', + settle_date: '0', + payment_request: 'lntb1p0z47vjpp5at43z6s0hp5262pa0zz57j2taqvn0qqry5n0zsjd403vfcachfhsdqqcqzpgsp5ekrc7c4uf4fdegypzc77zxntyhx6u968we4m3fr7pqmlnluysqvq9qy9qsqagef6tf3gd9cpnhhxwnt2jtzsfdr7l8um9nxaw5xxfzh67vk54yzh3rrgdgdqxgy2axtyl8wr0fgrmax468cmjxn6c5de560jedg2agqpwp6z8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '408', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zYePYrxNUtyggRY94RprJc2uF0d2a7ikfgg3+f+EgBg=' + }, + { + memo: '', + r_preimage: 'X97DwWkNewJ75ZazMn1xhFscfA+I+0Pep5WcMHXJd+o=', + r_hash: 'Q1FbDPvoZJ7JieQlpf6vPa7Lh4EzME9HlOSZ+jxVDQk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874708', + settle_date: '0', + payment_request: 'lntb1p0z47v5pp5gdg4kr8mapjfajvfusj6tl408khvhpupxvcy73u5ujvl50z4p5ysdqqcqzpgsp5t92q3en6gr6t3wqnapmn63k22l4hgm3mfagzx48cd2ks734hmx7s9qy9qsq93sef42zc8gra75w9ev5fcwefdux50nf9c9kegemjnhmc9lpsjnjux9zzjyq7etaan8kme4nhy3c5apq3fag2rucrhqzc3x4ewxxhlqqwwzx7n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '409', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WVQI5npA9Li4E+h3PUbKV+t0bjtPUCNU+GqtD0a32b0=' + }, + { + memo: '', + r_preimage: '7PPf76Vgpx1SDIPDx7Nn5nGZtBdHLFfDzsSZPq2Ci/c=', + r_hash: '2DIDnvG7n/De/w5JJ+tLdhUrkMTTaMuqMZXqZHVy5IY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579874787', + settle_date: '0', + payment_request: 'lntb1p0z470rpp5mqeq88h3hw0lphhlpeyj066twc2jhyxy6d5vh233jh4xgatjujrqdqqcqzpgsp5s29zqu62ceqem3r79vpg3npr0nt839pd6scptcevkrkvrpnjzj8s9qy9qsqqz3c25vkvnqa0h4ju7egfuu9qk2rj5paya7typae0598gep9rr6n5pq7gte58dmyu838qanwqejvxwsnvyszfwmysgrzndcewdps0ccp05l4qf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '410', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'googc0rGQZ3EfisCiMwjfNZ4lC3UMBXjLLDswYZyFI8=' + }, + { + memo: '', + r_preimage: 'YK+152gJHZIHWW3FuW0bNFYFhzoNX0BlETavw3AoiLs=', + r_hash: 'gDZ/njOGErBjJOKuFxhXlcMLDM1fEaf88rqeKflcshU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875166', + settle_date: '0', + payment_request: 'lntb1p0z4767pp5sqm8l83nscftqceyu2hpwxzhjhpskrxdtug60l8jh20zn72ukg2sdqqcqzpgsp5ue4s95zdc7cdnp2xh75p75jwzlr3myhv980lk4vxuv9w2fnamnrq9qy9qsqjx85xdlrt6unes02aej69604d99h4secrs3vu0xkjf56s5k6404plkvhsuxx5arkleycsthgap66a2guugtfanl7psnzt7uur3gvw5qprplrum', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '411', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5msC0E3HsNmFRr+oH1JOF8cdkuwp3/tVhuMK5SZ93MY=' + }, + { + memo: '', + r_preimage: 'IwEDVuSodmcU3BP0uZngvU68GlRLhmH5sf9/FPy0At8=', + r_hash: 'sY8BoVJhvnGdyFPCGnZjGj8j7L2Ex4fGqJ6qgVW3YLQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875265', + settle_date: '0', + payment_request: 'lntb1p0z477ppp5kx8srg2jvxl8r8wg20pp5anrrglj8m9asnrc034gn64gz4dhvz6qdqqcqzpgsp5r9xjx5qh7ym6jt8ff3y4aga4k5apymc7977e7dwtatmwp0m9y2xs9qy9qsq3wkheamnn9757k5pwrxq00l5y2ada7hr85djhhq9xfa3wnz8nl0y6u452wn99j0ya4dh6wxv3l3k6p92gjschdgwnrask68sd6xtjdsq802qaz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '412', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'GU0jUBfxN6ks6UxJXqO1tToSbx4vvZ81y+r24L9lIo0=' + }, + { + memo: '', + r_preimage: '70Utj7Et7FOeDSii9e1VK0diAq6paZRVn021JAIfdtk=', + r_hash: '82ifK6PpxbdTV9Dvm/1CEjoQpZOwJKbh7YadL3Rc3hA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875280', + settle_date: '0', + payment_request: 'lntb1p0z477spp57d5f72ara8zmw56h6rhehl2zzgappfvnkqj2dc0ds6wj7azumcgqdqqcqzpgsp5d8zd38z4nkml8xkjz50h8l6uhlujexfzv3vldl6fsl2ly60neyhs9qy9qsq73vlhepfhkxtslhefzmsge9rufjq2shcwkp2raurvmc0d9qn5alnz8kghl5fw9vdfv0k70f9w78ayc66hq9dkw0cs6mkcc96ryz93hgp37fa5x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '413', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'acTYnFWdt/Oa0hUfc/9cv/ksmSJkWfb/SYfV8mnzyS8=' + }, + { + memo: '', + r_preimage: 'b1sKYhqe3DU4EwMLhp94RRHnmd1sUODlA8zeOcWvlag=', + r_hash: 'oBsp11lBVu/oTUeyc4VPlb9WUpDZ3YDUdnYC8Hlb4mw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875424', + settle_date: '0', + payment_request: 'lntb1p0z4lrqpp55qdjn46eg9twl6zdg7e88p20jkl4v55sm8wcp4rkwcp0q72mufkqdqqcqzpgsp5ucdkdlf7wn5nj4wqt8h6ghgk37caw6f0wtawe564c42tpfvsgdss9qy9qsqv0ms487mulpm28j8ycg3rhxgyfn5pzq6ykd9j4zw6mzrnyc8nla924y30cpu92cqcegdrjmfxa4ww7l7mc4wkmqe24qpnc94xmyfuwsqgydkfr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '414', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5htm/T506TlVwFnvpF0Wj7HXaS9y+uzTVcVUsKWQQ2E=' + }, + { + memo: '', + r_preimage: 'wZpyJKhfCEiYiht85VN7GS8Ug3GqUfy5WSf0XoanHF8=', + r_hash: 'isIcFcTj+2A+5XhSa/8y/JdAHf6UJFZtscze+feE2b0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875440', + settle_date: '0', + payment_request: 'lntb1p0z4lrspp53tppc9wyu0akq0h90pfxhlejljt5q807jsj9vmd3en00nauymx7sdqqcqzpgsp55dlv745q4t5ltzgtccx3x0nf2h9wc8nuj3j05sur0rld85ye777q9qy9qsq8x47cms5qf6r9fkp73775ycg83u575tkrcqrapwtsc4er52tw5zy68cpfu200ac87cgy620djjw59ngd63uc8u733fxf9sfn5jqffnsqv4m2z8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '415', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'o37PVoCq6fWJC8YNEz5pVcrsHnyUZPpDg3j+09CZ97w=' + }, + { + memo: '', + r_preimage: 'XFCNr2pLxJxTS6o/a3juL7nSC6i6WiB57EsW+MXeB74=', + r_hash: 'XTHWfcuRnKAsTlvUTb7NhPZebYO1bIeyvovqo8h3g84=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875538', + settle_date: '0', + payment_request: 'lntb1p0z4lxjpp5t5cavlwtjxw2qtzwt02ym0kdsnm9umvrk4kg0v4730428jrhs08qdqqcqzpgsp5cmd4un4kdekerl8zdm3s3mx8mf6ua85xwm7uex704n9kt05rqzaq9qy9qsq2l7tt2dlefmesyck75kwed5qqylkm0dxpc8slnawfsafmrdh9c03fyxf5wn2nets43hsewu70n5yy9sm094ax40ax33n4xulqecj90cpxfa08k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '416', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xtteTrZubZH84m7jCOzH2nXOnoZ2/cybz6zLZb6DALo=' + }, + { + memo: '', + r_preimage: 'GS3thVQQYMsF6DSEAtBhOLL+E+J18ZOW4Q2kE1rKNqw=', + r_hash: 'gbQx0raU/7ZBttnVFBvBUlBb0yUlkPWF5tEtzARhcrA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875580', + settle_date: '0', + payment_request: 'lntb1p0z4l8upp5sx6rr54kjnlmvsdkm823gx7p2fg9h5e9ykg0tp0x6ykucprpw2cqdqqcqzpgsp5yynrxle7zu6z3xt0m660jhn3tmyyjt3863qpf4snf85a2fadhxqq9qy9qsqpr22efqx4njqfkpflw6ucw804qhqu333knvu2acdtrlz0vdmtxwxksvpad00hwa3jak7vhzzfwh2e3usea55r0tatm97c8uy4qm06dgpmqz74h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '417', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ISYzfz4XNCiZb960+V5xXshJLifUQBTWE0np1SetuYA=' + }, + { + memo: '', + r_preimage: 'OVVZo71axbYF8hcwQrUiNyq0p6i0II9BVkAdwnTLqxE=', + r_hash: 'FnkaEsBaIrMPlX1DiOMpBNy5ljMTyAc+/VPywgTsbDU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579875584', + settle_date: '0', + payment_request: 'lntb1p0z4lgqpp5zeu35ykqtg3txru404pc3cefqnwtn93nz0yqw0ha20evyp8vds6sdqqcqzpgsp5kmtmj5tl4npfsv3m36atuhl96jqyl6z0a4hncrgklvnpcjtw53qq9qy9qsq5fx5ler2a03snpxa8jfpa0k9sq38us7cx8hw3qwprhjawd4q4fep6ram00l8dxtvuw040ynfpl54mdfhll6wv5mmz57xmc23ndku74sp6lkn7n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '418', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tte5UX+swpgyO466vl/l1IBP6E/tbzwNFvsmHElupEA=' + }, + { + memo: '', + r_preimage: 'BiIVNlMlq7+d/aDAZ9wVZ+XZzulZYnQotu6XbXV3v+o=', + r_hash: 'OWYhuYya2qsKleAyGNPADSj8bu8QuqjinC2fjTUM/DQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579876469', + settle_date: '0', + payment_request: 'lntb1p0zkqr4pp589nzrwvvntd2kz54uqep357qp550cmh0zza23c5u9k0c6dgvls6qdqqcqzpgsp55fg8zhv42pnhul4dxeseu2fjpv7jqc3yz6qlg3h8d86n5fk2ttzq9qy9qsqtvhaejjzd0vy5jklrwdl7xfesp3je7w6tfaa6kmuaw7vemcpyfkjhpvyagpjje62vyshjkw8d6r9xvq3gcvsvzv0x2ulpc8sxth222sp490eng', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '419', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'olBxXZVQZ35+rTZhnikyCz0gYiQWgfRG52n1OibKWsQ=' + }, + { + memo: '', + r_preimage: 'kTg1aTUdh5oQJooc0YdxYw2n6irovBZfGVBEq7lchwE=', + r_hash: 'wec33ofQpPixvvcxj111rMkfly3HvNLT7z5YPiCHBuo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579876476', + settle_date: '0', + payment_request: 'lntb1p0zkqrupp5c8nn0h586zj03vd77ucc7ht44ny3l9edc77d95l08evrugy8qm4qdqqcqzpgsp50xs004s2zwqev0ruvkdaepfd54f5tgzsz334s5wpa5ptr435egxq9qy9qsq6mkum3z8u7je5zah46mdwqauk7xyrenmgrwpvswcdwx96t6uz8vpjdzp48q062uyep6f63n8daqew5qcvy65pt0hnw3neprks47042sqcucngn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '420', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'eaD31goTgZY8fGWb3IUtpVNFoFAUY1hRwe0CsdY0ygw=' + }, + { + memo: '', + r_preimage: 'JA7OXT0bf3pUMCalVU1FxsHkHEETqrXWof2fY/UOvMk=', + r_hash: '10r1VEr+kLXUD2n+uGsRHsRSgjzhVGImiAwg4McOCvM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579876478', + settle_date: '0', + payment_request: 'lntb1p0zkqr7pp56a9024z2l6gtt4q0d8lts6c3rmz99q3uu92xyf5gpsswp3cwptesdqqcqzpgsp5hwe42fln3mdywp6p2sn30hl5hhplfqecsseh64259vg9vgmvmgvs9qy9qsqae6h77nk040ps03wymag6qlnpvrq4yns4z5yay8l2glr2qh06z2sgjp8pfqj8w06y5yct9zl0j062p94w308fdup87jy9hfymgkrqtgqcwgu3y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '421', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'u7NVJ/OO2kcHQVQnF9/0vcP0gziEM31VVCsQViNs2hk=' + }, + { + memo: '', + r_preimage: 'zdaFi47epD0R5/fs2uUaH7IX20zQA6Vc9H8K1Y4+BVw=', + r_hash: 'EjIdCWv1SGDfDBUutXBDnzWVaJXGehSnRISr+10mE2U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579876660', + settle_date: '0', + payment_request: 'lntb1p0zkqf5pp5zgep6ztt74yxphcvz5ht2uzrnu6e26y4ceapff6ysj4lkhfxzdjsdqqcqzpgsp5w43fuvmk568yyrl8ggs6v9mv7ry7vf8mm5h5cd9us4kuuzcwfz2q9qy9qsqwk3ualtjvadygdfqny3nvyjp07exrqu7fs9n0uxpalslek28gt7zg6fyregyqnq9ar7yg32udyds5nkzpnxxc684ytj09f6d2rt08zcq7dr4gd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '422', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'dWKeM3amjkIP50Ihphds8MnmJPvdL0w0vIVtzgsOSJQ=' + }, + { + memo: '', + r_preimage: 'zE4LrW/YDuGCcRXKNKouf+q5L7zlyrTRJpOU1Akvv58=', + r_hash: '9WUJ11y0Hv3okssiIgepzQKIeJLLNU8wg6TtNDGIRL8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579877057', + settle_date: '0', + payment_request: 'lntb1p0zkqkppp574jsn46uks00m6yjev3zypafe5pgs7yjev657vyr5nkngvvggjlsdqqcqzpgsp5ch2zgpc7dc267agm2tuju40fsgtqz4alrv9enjczvp0tvw89yaws9qy9qsqg9kpsqzyt924g886vyfnv9d0k78ay733frg6z6qwz6jr4mmwp93r0k5nc6lc4l268mfc35fxmea7l6f55mp6rdvdxrw4vxszh33pvcqq02lnke', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '423', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xdQkBx5uFa91G1L5LlXpghYBV78bC5nLAmBetjjlJ10=' + }, + { + memo: '', + r_preimage: 'B5teYlSSmb0ngXWSEEq8EzVfCMb7jX3wqO56ockgp4s=', + r_hash: 'QQ0AULPAvpimr007zR++F4hSlj+oRJmNWJowg7bjo4w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579877063', + settle_date: '0', + payment_request: 'lntb1p0zkqk8pp5gyxsq59nczlf3f40f5au68a7z7y9993l4pzfnr2cngcg8dhr5wxqdqqcqzpgsp5cvrz8u8xe667qz349k2crhzazg6asyk3xjn7aen4axs7nl0n3uks9qy9qsqvjnp2aelmgz7hplqu84t0jc83v33233f4ce0hncp59vcs4cfx6x4n3uqztjjtpwjypr7j0w6ct4jftacls2nsq6evag0qf2dkjhy0ggqysqlun', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '424', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'wwYj8ObOteAKNS2VgdxdEjXYEtE0p+7mdemh6f3zjy0=' + }, + { + memo: '', + r_preimage: 'mPv3gdJwSDUS8Tv6kbUj1IpWg4mkH7qtIbTletcremw=', + r_hash: 'apeVorvujVCdYihMbsRbU9KtStbcim11CHzqxcSsLXQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579877072', + settle_date: '0', + payment_request: 'lntb1p0zkqkspp5d2tetg4ma6x4p8tz9pxxa3zm20f26jkkmj9x6agg0n4vt39v946qdqqcqzpgsp5pjj0grngs4qsyhknjnftwpfxm3ukchq7p9j7lehyqstet3qmtlhs9qy9qsqn29ulvwx9rsfuk56ken6wud689pefjv7t3gs6m8lj7glhwrn8ju9f66ckxj5j8p9tce42yr6u4aetn590eqt3ll8ggjqprqf9de79jqp3l32hx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '425', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'DKT0DmiFQQJe05TStwUm3HlsXB4JZe/m5AQXlcQbX+8=' + }, + { + memo: '', + r_preimage: 'itfsHxmfDCVFOFf/7Jvkd2O36YZ8JMRoU1rbk09biso=', + r_hash: '6pNlBUTJZ3dKpzDzz/lPfGl+7Jn24QqWdpasPMoTZis=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579877076', + settle_date: '0', + payment_request: 'lntb1p0zkqk5pp5a2fk2p2ye9nhwj48xreul720035hamye7mss49nkj6krejsnvc4sdqqcqzpgsp59pdm2ff4vh98a5mt23e8nc4fkm99t8x5hpt6px8zeqh7ykx3wmvq9qy9qsqm4ude7p0l3y56nts2f4rdhvmz5g9fafqws4khezeunurf3tsv3kpyzkvuphcencygvkysfr5nxx64mu2t4754uk5g4g0tw5qduu7vrqpe5ezwh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '426', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KFu1JTVlyn7Ta1RyeeKptspVnNS4V6CY4sgv4ljRdtg=' + }, + { + memo: '', + r_preimage: '4QyjE7sBOxEBOMkyXVDJ+EldWLnl+7b+epX5Aicq2wo=', + r_hash: 'o3s6KzMQEWyuRmeI57My15tlDFt9xalL2qftTN+NtIA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911097', + settle_date: '0', + payment_request: 'lntb1p0zhpaepp55dan52enzqgketjxv7yw0vej67dk2rzm0hz6jj765lk5ehudkjqqdqqcqzpgsp5m2jfr945fakhkkjtnzn7qedwntl5v54qwrwt0rk330wtag73jdus9qy9qsqe0gzx55j4y4x2mn2d5kap8eh929cz8qxhg6462684h8nk9vt8h3y6kxtdpf3ds3s2mxxgynge5h754yhqrydj2q2v89j6eu5dz3qjhgq8xmj2t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '427', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2qSRlrRPbXtaS5in4GWumv9GUqBw3LeO0YvcvqPRk3k=' + }, + { + memo: '', + r_preimage: 'c9YSmgC7jPQMpeFuDImtFry0/eDzl1zHk+AQnE05OI8=', + r_hash: 'ay/S6g6QDuBZt3vqpfIQlHx9aVTFxPFj3aon+ux/YlE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911114', + settle_date: '0', + payment_request: 'lntb1p0zhp72pp5dvha96swjq8wqkdh0042tussj3786625chz0zc7a4gnl4mrlvfgsdqqcqzpgsp5h446e8emcgjjjng2nazk6ah0jfz8xyg7g7jgm9e8thg9z3sla0ns9qy9qsqna57ddxufy3a0zkyyzq283ctt9s0m3aya4xzttqrej3axnsdxymhcrtd8nngzqqaquttghvzjrywt0uqwdyr8pkmw0r3nqp9auga79cp9sus49', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '428', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vWusnzvCJSlNCp9FbXbvkkRzER5HpI2XJ13QUUYf6+c=' + }, + { + memo: '', + r_preimage: 'iBiWhOP9DQM9jQZJhbyLn7E6CoFui4pqoybCzWH9/2M=', + r_hash: 'K2texZ/U3GO3rwCvte0gbcfnN1VzUoNr+lt2hq7fz9s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911118', + settle_date: '0', + payment_request: 'lntb1p0zhp7wpp59d44a3vl6nwx8da0qzhmtmfqdhr7wd64wdfgx6l6tdmgdtkleldsdqqcqzpgsp5pttqaw8ry0f57cclueg8c993glm2pqt50huflhfhj3vh2z686e4q9qy9qsqp2gsx2tfke56f3v0967fpwldq827dn2d367p70q75t059uj853wkqm22ylz9urv8fe00sjms4mdek7n7td07uwgzk8q77klenmr8dtcquejfe7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '429', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CtYOuOMj009jH+ZQfBSxR/aggXR9+J/dN5RZdQtH1mo=' + }, + { + memo: '', + r_preimage: 'iXDYv/4cibAIDy3HG7MuspSvbYymVRP4mPne4eHKAEk=', + r_hash: 'OehT9taJ/tvoxMWYLXDifrwCe1tmlSkTpMbAwU5j7g8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911119', + settle_date: '0', + payment_request: 'lntb1p0zhp70pp588598akk38ldh6xyckvz6u8z067qy76mv62jjyaycmqvznnrac8sdqqcqzpgsp5k56atvn8f5f492u2l2k7r0jhycar5r0lfhnq72u2nkezhduvlkls9qy9qsq9xwxnfuu34euhrpqjgduk0t3eh7sljsyt3estm0t5quak9jz6qkhj2uwt5d3nkzx44syy8za3qen0l302ys2exdgfwdl3g8yr34z9scq0djg7r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '430', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tTXVsmdNE1Krivqt4b5XJjo6Df9N5g8rip2yK7eM/b8=' + }, + { + memo: '', + r_preimage: 'dRJROEBbQJ3tOsFeQPfSdyJCZwSYBG4g8xqTpmqkaPs=', + r_hash: 'alN5Cp5SboDFM1H0104o12OW7+0GRdcwWysm57Gp4tw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911130', + settle_date: '0', + payment_request: 'lntb1p0zhp76pp5dffhjz572fhgp3fn286dwn3g6a3edmldqezawvzm9vnw0vdfutwqdqqcqzpgsp5rw278xs4pr8tujd3w0q9hhgptq3txl64vpa3vkd8yyekzqn7aw0q9qy9qsqdzcvptph9y5uwdlrca6vaddnwj4ctwnz2380ef9p5kzx4e9x9ljparlcenplffq2vu0gmahcuqemvx7d0vrnxet8xqxw0mvjtunwywqpkrlzxk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '431', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'G5XjmhUIzr5JsXPAW90BWCKzf1VgexZZpyEzYQJ+654=' + }, + { + memo: '', + r_preimage: '4lrj718e/vKGG6HuBmw/DkhdP9F7xM35mXAd5bmQwrI=', + r_hash: 'cwX8WyCiVTPlb0K3wDdrUEbSRLn+mbPKl5AFmh8knjw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911132', + settle_date: '0', + payment_request: 'lntb1p0zhp7upp5wvzlckeq5f2n8et0g2muqdmt2prdy39el6vm8j5hjqze58eync7qdqqcqzpgsp5cxtmewz8y4lpe6yuxx0085m40yvxrwpuxcpkn326p4gl2ayyc7vq9qy9qsqc6lwd2j8metx08ytgtyy6sfldurklyfgr3l3x8dkett0sp2wwuvzverhhnhsqeq2havukdzsyzp852l03svwqqgvpyrk5v9ndx5uaesq7awtnq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '432', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'wZe8uEclfhzonDGe89N1eRhhuDw2A2nFWg1R9XSEx5g=' + }, + { + memo: '', + r_preimage: '2OrfgCndEF3FHen/EswlOqvJAAMJKIKtujyO6fOO+LE=', + r_hash: 'b5ZlF2LsNN5ZSPawB/9qRivRF8b+zGKRJNQlAj6vkXo=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911147', + settle_date: '0', + payment_request: 'lntb1p0zhpltpp5d7tx29mzas6duk2g76cq0lm2gc4az97xlmxx9yfy6sjsy040j9aqdqqcqzpgsp572vyg5srnwzywy42h2vll6hch28djgqq3pwd6lw7mtjhhfn6cj3q9qy9qsqgnpdp0ar6pf82d4w540fgrc2xj22t7wczd54txv6wudlq7j9kejntuky2szacl3pdtrfflv7cdxtrl2ksm8ljxmjzggm6ttgekvzrzgp0ry6aq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '433', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8phEUgObhEcSqrqZ/+r4uo7ZIACIXN193trle6Z6xKI=' + }, + { + memo: '', + r_preimage: '5zVi252y6hImu1eKSzhEg3vie0N0NTWVPvH1Q1oAEh4=', + r_hash: 'ZzK+JST+3auIPR/EcqMy0b4VMlLNnxkxaThSlZthOGQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911223', + settle_date: '0', + payment_request: 'lntb1p0zhzphpp5vuetuffylmw6hzparlz89gej6xlp2vjjek03jvtf8pfftxmp8pjqdqqcqzpgsp5tt9j64nxsqawrapu6juktv0hxts8gs3rnmlf9mp7dk6sl8kr0vfq9qy9qsqz33f58ul0u0vvvd7sr9jfd3rvf6uhfvayyg6aahpy3uhmjjmhkk3zyfetcs8ldj4ds2nq0jgj7e9dtaakgw7arttcelnr9j80jkyguqp6tp8p4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '434', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WsstVmaAOuH0PNS5ZbH3MuB0QiOe/pLsPm21D57DexI=' + }, + { + memo: '', + r_preimage: 'hjQlVM5cSucppdpEHzl/baf/e6GuwLtdJOOU610Fxnc=', + r_hash: 'R4yS5VVvTnVMHhkDDRHoBneVR+Es1UUS8WzbrI2A1vY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911258', + settle_date: '0', + payment_request: 'lntb1p0zhzz6pp5g7xf9e24da882nq7ryps6y0gqeme23lp9n252yh3dnd6ervq6mmqdqqcqzpgsp5ecjld3zxxhlyj4pc56ng9ye9km72lmhxu6jlkwp48v3nnyhzdvas9qy9qsqzzm350vjeg5udyl4snhuacxxctny5rtwx42sgh26p775u68csrg8cual4ng3mffx3ghthk7837qetltd2n908zlf08vq3ja9sdkhg8sqsyngmn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '435', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ziX2xEY1/klUOKamgpMltvyv7ubmpfs4NTsjOZLiazs=' + }, + { + memo: '', + r_preimage: 'v0G2qsMgSAtVcZAkKKHNEPjufUUYBt4EpvjDnfxUcEk=', + r_hash: 'zS+hINRhza04WIZzWSGDkJxfMHo6F4tbZ8zMXihsAu0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911311', + settle_date: '0', + payment_request: 'lntb1p0zhzy0pp5e5h6zgx5v8x66wzcsee4jgvrjzw97vr68gtckkm8enx9u2rvqtksdqqcqzpgsp5fhkvtfzak00cqjk4ygm6lztvn37602cvysqtzzpkzx6n24gkskuq9qy9qsqa5ygx3307gny67nu0fu8puk7xsxxjmzzvnk2eyxyxjechjxs9mqzwx68slmjnaf0ygtkl9a2q5gv3qvdfrwvd6tdxgnqzujytn935jcqups6ye', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '436', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'TezFpF2z34BK1SI3r4lsnH2nqwwkALEINhG1NVUWhbg=' + }, + { + memo: '', + r_preimage: 'CGDp9wUgYjvPpTib7nNKdBuydI3ErnkdKq9DbH6nmVg=', + r_hash: 'UAeYK9W8JlITVVLw41DN+k5CE77faQQvJ5+6j6pIxpw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911332', + settle_date: '0', + payment_request: 'lntb1p0zhz9ypp52qres274hsn9yy642tcwx5xdlf8yyya7ma5sgte8n7agl2jgc6wqdqqcqzpgsp52y2qxk865fepep4ney3h8ammrwgurp30a7vf0mkajjv4ldyjg5ps9qy9qsq7spm7lfttsxww0v4p0qauvhmfvqvd9h6jta2udweghwwcqlwul5hufxn22he2rlvtqtrcu7aqk49wqwfjuu2ry3qtx2a4mxu7m5lsdqq0jz5ff', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '437', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'URQDWPqichyGs8kjc/d7G5HBhi/vmJfu3ZSZX7SSRQM=' + }, + { + memo: '', + r_preimage: 'KrTHNhJ+Mpq2TyMRRTVut6z2/AQXHJnLHvXw680Fl58=', + r_hash: '+kgHzKmZDT6qh14fK84060lWwn0NIRj035Rwwdg12O8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911342', + settle_date: '0', + payment_request: 'lntb1p0zhz9wpp5lfyq0n9fnyxna258tc0jhn35ady4dsnap5s33axlj3cvrkp4mrhsdqqcqzpgsp5k077yhafvhstjq9dm05w4u73h8r6exz7mw9zfa55thm407m48pmq9qy9qsqqrfqm9s73fes6937h0gtu6ycfjgcm32z4h8jmddkt5q7tl9r33mks9uvlqtu3mv3fwgykgwz7a2qfmh3cjgp27rjuajjujy6sng0l9spqk6lyn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '438', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 's/3iX6ll4LkArdvo6vPRucesmF7biiT2lF33V/t1OHY=' + }, + { + memo: '', + r_preimage: 'gp0w0c9AL/2Qax43UVTRNQUOzfkTyJkZl7Xbv6U+YUU=', + r_hash: '5W/9Jlalnyy67ExnYnA64TsBmbEFsyWm4fHk9Q9MTlE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911398', + settle_date: '0', + payment_request: 'lntb1p0zhz8xpp5u4hl6fjk5k0jewhvf3nkyup6uyasrxd3qkejtfhp78j02r6vfegsdqqcqzpgsp5tr36w6hz6t29yy67sq4m9vjtyxzwu80t5gxeyhmzj0y3gfw4msvs9qy9qsqupacdu8pkwefk9x76pk4lj8z2ang9s63jg2t87a85g8wrsvl50yr73cnnrtzn0d08t8hez5xgtkcw9mpw0nfpty3s2h2ezfazf7nexqqdqdyf3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '439', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WOOnauLS1FITXoArsrJLIYTuHeuiDZJfYpPJFCXV3Bk=' + }, + { + memo: '', + r_preimage: 'QgRDgv0uhU7e6k68o/jlJThs9GGT4HpVUC2UPgy5I4M=', + r_hash: 'WvsBs5zZOsyMHUYcQEtEghLVwuLUYB45Tn2hz8OqdH4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911411', + settle_date: '0', + payment_request: 'lntb1p0zhz8npp5ttasrvuumyaverqagcwyqj6ysgfdtshz63spuw2w0ksulsa2w3lqdqqcqzpgsp5ufkvwhmyarhcsdas75kz2fk6x3m45y6nuhtuvzf2hf94n6c4jrns9qy9qsqen83ywwkmez7vqlc6rgtewrg6rreak8wqp8q7u5fqr78a3hpch3p9hcepgjny8ep448hgqyu36auxqp5qgaar4tz7k7vm3khpa9fhtqpp4x0uz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '440', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4mzHX2To74g3sPUsJSbaNHdaE1Pl18YJKrpLWesVkOc=' + }, + { + memo: '', + r_preimage: 'IKxO5BiTwD1Rt3VitK/L5Qn8SOk6ZLxVn905iOoWKEQ=', + r_hash: 'fUjXQ+rbMsaWgpAZ9dFHy7l95XyIijfyEq6F5VSx1RM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911425', + settle_date: '0', + payment_request: 'lntb1p0zhzgppp504ydwsl2mvevd95zjqvlt528ewuhmetu3z9r0usj46z7249365fsdqqcqzpgsp52yjjn0z0vs3sa3ux2rtl548pgjmx8rx9ecjlsrwh7vvtp8hcph5q9qy9qsqxeptr6ayzqe03mzkr76aewwqgkt2vp4f5uvymum3q6awapq9xd2593xe2ys2x29p7lul7fpdrh3gangkl8zcw0f23fk246scl4ph8msptdkrvm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '441', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'USUpvE9kIw7HhlDX+lThRLZjjMXOJfgN1/MYsJ74Deg=' + }, + { + memo: '', + r_preimage: '/kZVI2gQd+8JtTP9ufsThSUZJEHwsqvYvFSne0zcO8g=', + r_hash: 'rUAg5d/qfwEZpPiJcq498SgZ4o0TgeDkC/ID/6pdwPI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911452', + settle_date: '0', + payment_request: 'lntb1p0zhzgupp544qzpewlaflszxdylzyh9t3a7y5pnc5dzwq7peqt7gpll2jacreqdqqcqzpgsp5a30vthdv8kudp4nquu576acfqlp4cr3pvdadufhns55aprhp3xrq9qy9qsqqlt0nfv6p28r9qwng5xf5ptazpdfp39lf67k0wae5yxp2s8439cpt7lak57fxmv823ayhqvhvfy6hm04lea0q7uuujg8zzmfehv0pnspmc865c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '442', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '7F7F3aw9uNDWYOcp7XcJB8NcDiFjet4m84Up0I7hiYY=' + }, + { + memo: '', + r_preimage: '0rbJ6/jm/qwlqifkS4n3rgrcXchMg5cI8YZuyc+Aihc=', + r_hash: 'oCaUZXBcst6obMQW7MAOIsfaMQXrfZ3FsHfCdcnDSKQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911485', + settle_date: '0', + payment_request: 'lntb1p0zhzfapp55qnfgetstjeda2rvcstwesqwytra5vg9ad7em3dswlp8tjwrfzjqdqqcqzpgsp5mz9m3f02kpjqc57uu6w7wtkmh52ve2n0cjdgcv7ksvqj2e8n723s9qy9qsqy4e4usd0jq5r56l7lealp0g8cxf0tds68sye9xfmmnjt0nzpv60954trs669ka5n4y6e3adgpksmpkd5ts2f3n79058l00hvv46skcgpuhylx5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '443', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2Iu4peqwZAxT3Oad5y7bvRTMqm/Emowz1oMBJWTz8qM=' + }, + { + memo: '', + r_preimage: 'AUiKJ5lt0NEkBDBXTOfu7agyHv8Gn49AuQF7AvIV/lM=', + r_hash: 'U6hLouP3ilB32+zQNAMIP/PFPZBI2ZFjUeHtkdnewpU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911500', + settle_date: '0', + payment_request: 'lntb1p0zhz2vpp52w5yhghr7799qa7mangrgqcg8leu20vsfrvezc63u8kerkw7c22sdqqcqzpgsp5v8emdakf5p4a9tceclcl4p6yhx7864c3sv5vl88kvyufsww35u3s9qy9qsqn7xfxt3zfqns05gkjsafvpce5fru5ldkg8uv4ys5utyrtgrrg9ey52q3nxyq2v56x2q5xt6fe83fun5c4s539nzjp2z62cwej9lyuvqq23600a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '444', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'YfO29smga9KvGcfx+odEubx9VxGDKM+c9mE4mDnRpyM=' + }, + { + memo: '', + r_preimage: 'VH5TMJpE805xF7mB4JMskJ1Bv2D7wuvMhG9qEOZwlGw=', + r_hash: '4pjNpHyIdv0u6fk5NDoMnZWKifl2wasFDp2DHeQ3iwM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911537', + settle_date: '0', + payment_request: 'lntb1p0zhzt3pp5u2vvmfru3pm06thflyungwsvnk2c4z0ewmq6kpgwnkp3meph3vpsdqqcqzpgsp5xfxap277svrvvsjjjj48nj9lxwdm4khlfr62th44cjd9w06svs9q9qy9qsqsrdgvndk6jajvw7fwamsxhvrsumut2m0xvvqnglgamkvcvtcuwckfrux99tv8jfz2r77t58s74msu668cug3wjdy45m6l7tnffzezcqp8tlqpr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '445', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Mk3Qq96DBsZCUpSqeci/M5u62v9I9KXetcSaVz9QZAo=' + }, + { + memo: '', + r_preimage: 'vIhWbJw4MdlRiQKiOOlttgIgU9D/kZ9LZ9l+DYD210w=', + r_hash: 'CGN/Fvf4TuKfZO/IL5sjpSZ73zNK98AKXQvEXM4e9FI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1579911553', + settle_date: '0', + payment_request: 'lntb1p0zhzvppp5pp3h79hhlp8w98myalyzlxer55n8hhenftmuqzjap0z9ens773fqdqqcqzpgsp5785pw0m206svshrtgxet5vqm86anh2ddzgye7ht8tfdss0p0slyq9qy9qsqz4wyvk3rdvvly8rsnrm0vx69d8h0yr9cxdxrxfhm047sapcygyx8gdq0c50g0ye8sfvgy783ccp6sx3gece2kffy94t77vfx6l0760gqrrga69', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '446', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8egXP2p+oMhca0GyujAbPrs7qa0SCZ9dZ1pbCDwvh8g=' + }, + { + memo: '', + r_preimage: '/Olri7UCXrq/uZEGPowuSSiAC91Sg84aBTXvmTm806o=', + r_hash: 'roHE97sJpVTe8v1kz2Ecf0BOupe+dQ7QsAq9a+nhXr8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580254920', + settle_date: '0', + payment_request: 'lntb1p0rp3kgpp546qufaampxj4fhhjl4jv7cgu0aqyaw5hhe6sa59sp27kh60pt6lsdqqcqzpgsp5er4rghhs262tszwve50xjkcz5kpkvyakmx5hm7xzsrr6tghdayrq9qy9qsqgp3rfcy34a5ppc2yuuffhp5sen4t9zsnxe5wzlhsgmxmgpy25cz4snzm35zkx84ryuuvas63y49ekaaymjqsrm9jm368emgm4jz76pgp8mv3v3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '447', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yOo0XvBWlLgJzM0eaVsCpYNmE7bZqX34woDHpaLt6QY=' + }, + { + memo: '', + r_preimage: 'e7u8Inqjc45pjuzYPHTbV1G82eq5s8ocP5Q3SLz3rkQ=', + r_hash: 'kwVfWxab3L4EucxYVe3aFZmIq6DliZ1XgUG84YQBzaQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255089', + settle_date: '0', + payment_request: 'lntb1p0rp3m3pp5jvz47kckn0wtup9ee3v9tmw6zkvc32aqukye64upgx7wrpqpekjqdqqcqzpgsp5kz7ks5nk6kwdgh7asl7085wf8fjn4ra4drymhu2gncrt28057z6q9qy9qsqhg8s2yzf840vza8d7rvs6vnrqxt20ynyyu8sssc53ckedq56yddxp05kgezccghrhz2n95ehhhkejpe5g9sdggvpm2dl67qykc7w3rgp7vuzkm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '448', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'sL1oUnbVnNRf3Yf889HJOmU6j7VoybvxSJ4GtR308LQ=' + }, + { + memo: '', + r_preimage: 'hJJ7e7h1FKmriphlPGORBGrWSwdVt2eMKrPllRIItpM=', + r_hash: 'cmb91AdXKuaz/YZKdPM6XKCYCpbRNWvzu3U8J8hLQIY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255094', + settle_date: '0', + payment_request: 'lntb1p0rp3mkpp5wfn0m4q82u4wdvlase98fue6tjsfsz5k6y6khuamw57z0jztgzrqdqqcqzpgsp55yynaqzlu609kz5lzpca7gqnj3729x6g7uyhvnzc2mw2khys5uzq9qy9qsqhvu7rksz5ypvkgs0yn39qmgp9gvxq2tmfyakh473l65us6saemq807ya90z9yc3flcjzawfajqkrj2dluykspww6wnaltg6a7sa3txcqufdygd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '449', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oQk+gF/mnlsKnxBx3yATlHyim0j3CXZMWFbcq1yQpwQ=' + }, + { + memo: '', + r_preimage: 'kc4+2gHh6syCVRYkoQ/CCcj0MuruqeZfGLME9SdzEjc=', + r_hash: 'wVpRkPDNP72Wa941o+qICgvH2FaehynIEevqYvYUv0Y=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255842', + settle_date: '0', + payment_request: 'lntb1p0rpjnzpp5c9d9ry8se5lmm9ntmc66865gpg9u0kzkn6rjnjq3a04x9as5harqdqqcqzpgsp5yfmhzfgmvqg9rcwlwvz264cs5j3t9jf9u7lwha7mq7g6p27erufs9qy9qsqk3qmesvar8uhzxqyn4zqvt9h3z5z7xn2uf9w6dz8wd856c889mmh83x20stckp2edp42eawzy839mqr28fquan8em8acdwyn5gptpvqppemj9m', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '450', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'IndxJRtgEFHh33MErVcQpKKyySXnvuv32weRoKvZHxM=' + }, + { + memo: '', + r_preimage: 'XljFQxVtzBvX/UWujoUPSt7lEl02GGvOtlY8JubWkKg=', + r_hash: 'vzEpD860v5Ee8KgidEbg52gT2gGhqurkf24qCeQUn0w=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255952', + settle_date: '0', + payment_request: 'lntb1p0rpjkspp5hucjjr7wkjlez8hs4q38g3hqua5p8ksp5x4w4erldc4qneq5naxqdqqcqzpgsp5kektk4tu4vjk4glz9z4e8xxn2a4ff0gp9krnyej8dut3jn6r3ppq9qy9qsqw2f83utn0vn4fmggjepj6gdaqt6v4ddj0jnvssa97u0ygng05swhunuezcwjvmvmyqk700tsrchuzt8sedwuy6rgrua8v2a9a6nkaygqydh7vk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '451', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tmy7VXyrJWqj4iirk5jTV2qUvQEthzJmR28XGU9DiEI=' + }, + { + memo: '', + r_preimage: '2nKjYSkzu6XoCjikCd4qODGILCPqv58xVSQW+wwNTGQ=', + r_hash: 'BuCwP6uPoWzw96+DB2NpSzQsLP16pRckGF25Ejn4W6E=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255957', + settle_date: '0', + payment_request: 'lntb1p0rpjk4pp5qmstq0at37skeu8h47pswcmffv6zct8a02j3wfqctku3yw0ctwssdqqcqzpgsp50a7cywahdwnssk9jvvw5c0pss9tggufe08mwcfw0xaah3dr7sa5q9qy9qsqtflara3xvzp6yk8a7aquulyhvkwr3mu8wt9v9lqtl47cscacsvfqes72wxsnfta6za55sx2n6gagtaudrnkzur8hkfsenkn4cx349aqqj3n6yz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '452', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'f32CO7drpwhYsmMdTDwwgVaEcTl59uwlzzd7eLR+h2g=' + }, + { + memo: '', + r_preimage: 'PTVspmSRlIM1fSaaeYkoEl5CdRTIocMdGPfvug+y7jY=', + r_hash: 'dugLgaQUhTALYgKr4hU0lug8FzaW1ec18UgLktm+Ehc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580255968', + settle_date: '0', + payment_request: 'lntb1p0rpjhqpp5wm5qhqdyzjznqzmzq247y9f5jm5rc9ekjm27wd03fq9e9kd7zgtsdqqcqzpgsp584tezmxecwahvk8lu4pss92yqqw5qp2q6p2r408dfkn3q43dw45s9qy9qsqlz6ls2eknjpgq9ktsfvfe95wvcquy83ugglqyvau7xt5c6rr70xkq648lptwujdkwet28amt7pfqdjyz84qyvlva3dkzctzwqh0848gqzyyvyc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '453', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'PVeRbNnDu3ZY/+VDCBVEAB1ABUDQVDq87U2nEFYtdWk=' + }, + { + memo: '', + r_preimage: 'DBEbupiAzX8hOHB4TVMr8hFe3nrIvucN2LUHQrkT3wY=', + r_hash: 'LRiCZgGpgSdcipPC05frOYnhcwAf822GkczezDh9PGc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256181', + settle_date: '0', + payment_request: 'lntb1p0rpja4pp595vgyesp4xqjwhy2j0pd89lt8xy7zucqrlekmp53en0vcwra83nsdqqcqzpgsp5lts3xa6twxn7h5knaurv0d8wc3ks8axhek5et6fagy9fkydd2waq9qy9qsqf47k8tpjmyvrtfr4sx706n52hvv4mw7tugf6l6qnz5zua3uwv2uy87ffxky82wkfpddgyhcc3kh8uy8kj4uk498hydwq6v7vfa208cqp93535l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '454', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+uETd0txp+vS0+8Gx7TuxG0D9NfNqZXpPUEKmxGtU7o=' + }, + { + memo: '', + r_preimage: 'RR/sJEu69iBn+OxfaEYIOyNExDWMpf/aZSg82/Gchzc=', + r_hash: 'mpKFRVQogdD7ymwNAu8+lWKaUrKFDcn6Yse5OWgju0o=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256351', + settle_date: '0', + payment_request: 'lntb1p0rpnzlpp5n2fg23259zqap772dsxs9me7j43f554js5xun7nzc7unj6prhd9qdqqcqzpgsp57el8atxulztn2tm6nanspx47d0rd0hmywy3f79jejz986af7wefs9qy9qsq6dre0plrhmfy7x89jx820fmmfeya2wghfetfxkex643ghttvuya40j45uv750wdckyqrz6pgtc9l4aumys7ckwypethams7eursznuqqnuk30t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '455', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9n5+rNz4lzUvep9nAJq+a8bX32RxIp8WWZCKfXU+dlM=' + }, + { + memo: '', + r_preimage: 'E3Kl4GCoIr5e4i7IxqlzveLDBGv6E6uLxa1AhEzGmDE=', + r_hash: 'Vrat+1eApQPEU/gWQyH/0hIOHm2BECppWYbKvRGT1C4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256360', + settle_date: '0', + payment_request: 'lntb1p0rpnrgpp526m2m76hszjs83znlqtyxg0l6gfqu8ndsygz562esm9t6yvn6shqdqqcqzpgsp55y44n4rnzcu6p53u7k8nrt7gptq6mlnk6e976ya88wa0s6xsgrks9qy9qsqnfygc56tkhf6a80a0fzpqn06dkug8d8rqhw0n5xc3fzmfsjg7gzkrcrvmvxun89nvrvw669fjhkvh3h3cv30zm5h6a52tt7jwwl7g3sp2940kc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '456', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oStZ1HMWOaDSPPWPMa/ICsGt/nbWS+0Tpzu6+GjQQO0=' + }, + { + memo: '', + r_preimage: 'wfJtQmOVHxoGJV/Jr2q1yduWzQC2Bo1e5roYjmxCmNI=', + r_hash: 'Aku54Tj/MQ3CAr05/y1m1CFHZbHK0ajy2wjFCQS0x+A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256417', + settle_date: '0', + payment_request: 'lntb1p0rpn9ppp5qf9mncfclucsmsszh5ul7ttx6ss5wed3etg63ukmprzsjp95clsqdqqcqzpgsp5674pu78zld83ghx728r66esuc36u5l9pqtlyeyvvy55eh5mnn3zs9qy9qsq20jcyhty9r9g5jmsdyggu06v4c0zejw6sru0vu5jat7gajtutahzvspuh9tx2p0rp8mhvrt2etk8jgjudee5vg96eyapgz4q3tue9sqq8g2phu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '457', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '16oeeOL7TxRc3lHHrWYcxHXKfKEC/kyRjCUpm9NznEU=' + }, + { + memo: '', + r_preimage: 'st0gFsQKxP5xlzg5f2lMkasRMWUvHa5kp4IxeAm9c0I=', + r_hash: 'ZRxvlZeNgfW1Up6GA3pgAfx3z+obzr+An/p9n5Yh6KA=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256680', + settle_date: '0', + payment_request: 'lntb1p0rpndgpp5v5wxl9vh3kqltd2jn6rqx7nqq8780nl2r08tlqyllf7el93pazsqdqqcqzpgsp50d76avx9jwd0amecl6nuyqm8kqgte20a3zm4u5vshereq6tfuh4s9qy9qsqql3dvkqgt5j764zgtxfv92umpd39yr0mlhs000emu7md764mrp89s8w8ldtvry993supd6vtwrl4pq4pzjav06lveaxeszz3w4c97ycqgcafyq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '458', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'e32usMWTmv7vOP6nwgNnsBC8qf2It15RkL5HkGlp5es=' + }, + { + memo: '', + r_preimage: 'R8oRhAMKJ8kACOLpI4iB/gWb1cmT9dqqBsbuNpbxcdg=', + r_hash: 'fLfD7/PnTgEhDk+zZRT2msavVmmITDiMCtdP2yi9KTY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256687', + settle_date: '0', + payment_request: 'lntb1p0rpnd0pp50jmu8mlnua8qzggwf7ek298kntr274nf3pxr3rq26a8ak29a9ymqdqqcqzpgsp5yk20njs32cjju8vr30fadrzhz09j8vkcaay248nxne4x9rf3kkhq9qy9qsqs2rjhwkmz2jjqh5h8g8zpq4wzxxra2e28t8dkucclww74sjrxzcr50jdasvtrcncgtxqy5swmhy7cqm6ze0e83vdy6l23lk2a5drj3cp3k8nat', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '459', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JZT5yhFWJS4dg4vT1oxXE8sjstjvSKqeZp5qYo0xta4=' + }, + { + memo: '', + r_preimage: 'wq6vW3HxhbClDxoXmtroDN2inKv8HKHN/PgdB84dUFA=', + r_hash: 'FhjCjn4A0W3/AWC/TsLNaB0wXRidig0UaQ42EXg6++U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256711', + settle_date: '0', + payment_request: 'lntb1p0rpnw8pp5zcvv9rn7qrgkmlcpvzl5askddqwnqhgcnk9q69rfpcmpz7p6l0jsdqqcqzpgsp5v5l8xkc4f4hlc0dts4w068rfv8yjsn6t7tgnx3gs2r9w66ffq5ss9qy9qsqzrv4lemqw0wf7vhyrw77vaea5vlk4946a8khnl9y6q494a7qmhwzu48pvqcyg6wyy773pm96ljgqxmludk03xp67w0hqllhjgjcu2ngpv5wne0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '460', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZT5zWxVNb/w9q4Vc/RxpYckoT0vy0TNFEFDK7WkpBSE=' + }, + { + memo: '', + r_preimage: 'nlthDB3FAH245vYWxPCC81xN53LW+NdnLWKUD7ClpA0=', + r_hash: '3Zt9JOKkn5h7s7xp1cWNg/rJBP2xjji9MOlVtHIdNao=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256757', + settle_date: '0', + payment_request: 'lntb1p0rpn04pp5mkdh6f8z5j0es7anh35at3vds0avjp8akx8r30fsa92mgusaxk4qdqqcqzpgsp57er2m6stlzr4j9nkxxkakvtqyd44eamlpe254c3hayxqp90a2wsq9qy9qsqu5lql58mfeft52erk7atwtkgj7nhs0689xtq0lywvrlgqrxxfslyuyug7zth8uzmfrpq08z6j40q8gjsmyyuxgdas0ds9k3e6y5wd7cpqc4y9y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '461', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9kat6gv4h1kWdjGt2zFgI2tc938OVUriN+kMAJX9U6A=' + }, + { + memo: '', + r_preimage: 'TtqQ/v/qqrOTVHCOAunmWoNxXR6cToUH73/BjD2ktcY=', + r_hash: 'QkNbBzxEuCMhFBHtrHvVvOgQ9vUG5E0hyoVJt/u///I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256767', + settle_date: '0', + payment_request: 'lntb1p0rpn0lpp5gfp4kpeugjuzxgg5z8k6c774hn5ppah4qmjy6gw2s4ym07allleqdqqcqzpgsp5kj20scntkdf4fsxwsc7fw7k6krjvz8ramwkn7aq8s2nmrqlwx7mq9qy9qsqdg728lk5mnpej40s66ysvt4zm8dj9w34pyayl3w0pyjx02fka8r4haj6rtqcud0agnlgsrlsqad57chmn83cqrnrkcz40ajrhsg669qp95l2nx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '462', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tJT4YmuzU1TAzoY8l3rasOTBHH3brT90B4KnsYPuN7Y=' + }, + { + memo: '', + r_preimage: 'bMHarBxrfz5+lvh1t/Lr1oInuANKRyyCNncKIZRC37k=', + r_hash: 'aLUxyJEpYp8Qob6JcdXDgZg4NNHnhR2qr5X9aNc9dH8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256940', + settle_date: '0', + payment_request: 'lntb1p0rpn4vpp5dz6nrjy3993f7y9ph6yhr4wrsxvrsdx3u7z3m240jh7k34eaw3lsdqqcqzpgsp5tu07fnsrcs35g33zyj8tx5yln7a2cxqn770azzj6zexld7nmxzqs9qy9qsqjs99cgrl5p53lps3hvmfy4n0j8gxy8tcx9s5rxnjwgqq7s363zp97nuxgfddmfxt7wcghnfrc8mzkj2vydsxvftef9rgwmve85zpd0sp2u8rc0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '463', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Xx/kzgPEI0RGIiSOs1Cfn7qsGBP3n9EKWhZN9vp7MIE=' + }, + { + memo: '', + r_preimage: 'm8vkL1rll5loLMcsPhyougMxr4ZvochJf9cMc44RMAI=', + r_hash: '5yvijepsRkotkRUjrM/fvTyU9U8PsNqUSJM4f8f98fw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256965', + settle_date: '0', + payment_request: 'lntb1p0rpnk9pp5uu479r02d3ry5tv3z536en7lh57ffa20p7cd49zgjvu8l3la787qdqqcqzpgsp5lthmjfac86sdl8qezyru7elf4xfyccdz5xqrjcc0fn5hluslyn4q9qy9qsqy7fyhkd8qaaeht93h7cuvt6kfz20p64uqdhv3fugk8j09dyjq2lyy9f8p3xasapv94cw4wqgelsfara72zt6updehjjz3dadexxt5rsp9xdy20', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '464', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+u+5J7g+oN+cGREHz2fpqZJMYaKhgDljD0zpf/IfJOo=' + }, + { + memo: '', + r_preimage: 'hXDWHFCvRwsXJbYp1UNoJ7s2Fpk0T7n32YNJaaKXjqk=', + r_hash: '7LPk5nEpafAaYlME+j0sla9j/ENZXmaLIuqY83XfnyU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580256977', + settle_date: '0', + payment_request: 'lntb1p0rpnk3pp5aje7fen3995lqxnz2vz050fvjkhk8lzrt90xdzeza2v0xawlnujsdqqcqzpgsp54cl7l5tspdczqc2lxsnv8ulhx3lne84dedv4eykwtd5p0707nggs9qy9qsq0kexyydjez4a9lkeafjg8z4v09g2y0t68mkdvgmj7tfeweexksjz0l23xefpnly5x3wsm93exukunmw8ec8hlhy88yf54xwv28rhl0sqnqk7lc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '465', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rj/v0XALcCBhXzQmw/P3NH88nq3LWVySzltoF/n+mhE=' + }, + { + memo: '', + r_preimage: 'qKkQ+RmmUlqBPas1SkXdlfs+AkFfm6Ui75Bn9EsgOcU=', + r_hash: 'DWqxA4AdM27VN/RvP+s6kngp6qFhSMKeJuc7GtmKns8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580257015', + settle_date: '0', + payment_request: 'lntb1p0rpnhhpp5p44tzquqr5eka4fh73hnl6e6jfuzn64pv9yv983xuua34kv2nm8sdqqcqzpgsp5e4j6c7keuhdfcezzed5jhcnd2hh23mx26gtdkx462ckvqdnqhlhq9qy9qsqvuyarfep4rj6w7agsuq00c8qgv8f52g2wz4hlxautzuv7lv25pe54t5fumdypq5np96vvn5tu2fzlllx5prwrwelg33cg6xw6aq2crqqs7jj6v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '466', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zWWsetnl2pxkQstpK+JtVe6o7MrSFtsaulYswDZgv+4=' + }, + { + memo: '', + r_preimage: 'GDiqvV3uJ3plvvc8OKYY5Aknp+/TSeCpjYvmVPPwJcI=', + r_hash: 'JjWem1iVAKVFub3CrKfYsHdFyyAVw7p88fRAXHo57J4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580257219', + settle_date: '0', + payment_request: 'lntb1p0rpn7rpp5yc6eax6cj5q223dehhp2ef7ckpm5tjeqzhpm5l8373q9c73eaj0qdqqcqzpgsp5ykwtjr6xyse75f77xhp47g7654ca5a4yzsu0agxtfdntrfpjmwss9qy9qsq5uzcw8tkhsw8fcagkldz7hsnufzk20pvumk7swguraydmqdgxx8sjps5r3w2ca0nxcvt5ylk2el2a3m6rm5pf8xxf7d7n8mg6vym6dqq27dguv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '467', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JZy5D0YkM+on3jXDXyPapXHadqQUOP6gy0tmsaQy26E=' + }, + { + memo: '', + r_preimage: 'aZ3awyAaLzQnTlfr8w8gO9mf/lH39DsWbNnSPcnsJDQ=', + r_hash: 'QRzkuVvI8xDM3m3Tal+vr3l3YOyj2CEG5oJh2sqF0k4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580257301', + settle_date: '0', + payment_request: 'lntb1p0rp5q4pp5gywwfw2mere3pnx7dhfk5ha04auhwc8v50vzzphxsfsa4j596f8qdqqcqzpgsp54rs0h5sklmd7p9u4d294j0rzfgv37743r3xa684lzd96h3pvy48s9qy9qsqelrrculkcnt4lhtqhz8cmajjgzedc6fsflrgldmrsrxpcef5rpv9fpn5grr3cl2gu9wwm2zl5kvs3c0yprwgl4qeyw0yvvcf8syxkcqpkt9p5x', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '468', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'qOD70hb+2+CXlWqLWTxiShkferEcTd0evxNLq8QsJU8=' + }, + { + memo: '', + r_preimage: 'QbJOtZ0RjVFZlnf6tTjTVnREG7BNWjeUtFdYkUktoZ0=', + r_hash: 'J3EWoQTWO6OnItJD2XUcDZ7P1XZNGgSvJd5pP9d4B2A=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580257578', + settle_date: '0', + payment_request: 'lntb1p0rp5f2pp5yac3dggy6ca68fez6fpajagupk0vl4tkf5dqfte9me5nl4mcqasqdqqcqzpgsp56x948qk6nw7p5f8zpvjp0j8jlstjcz8gw9mh00kucg0prry3t60s9qy9qsqs5x3kdlff8l75g0ec57yewhy99zu30ywc7pz2kfnwl73kfw9hzen445q60jl546jgs8s832xegq79fjnymgkysm37ept2zy6jhaxrsspwjhudm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '469', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0YtTgtqbvBok4gskF8jy/BcsCOhxd3e+3MIeEYyRXp8=' + }, + { + memo: '', + r_preimage: 'mY6X9LFpUi2FYVXtbtNU0wrLbc5UILIqPjIkLgkqd+Q=', + r_hash: '5897BKcIFZOv3x6OboaO4UAo+F/0yc29pOL0xgaAfS8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580258324', + settle_date: '0', + payment_request: 'lntb1p0rp4q5pp5ul8hkp98pq2e8t7lr68xap5wu9qz37zl7nyum0dyut6vvp5q05hsdqqcqzpgsp5e0eedk4ykjjjga8jrt6vsg02qm6xy2ppankgwmq3anl53qarztcq9qy9qsqw0yw5hr054xztpjypnlce6vvd8005ecv7n4hccvrv8e5kun689sxrgx9ucwq04fn09k67pju5k68fcjydzl9hdqqcak3s5xk8va3qqspex6hgk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '470', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'y/OW2qS0pSR08hr0yCHqBvRiKCHs7IdsEez/SIOjEvA=' + }, + { + memo: '', + r_preimage: 'Uc8ouKhBKkdRVjYihHDQIxnUvSUN4Qe4J4X5IJbySc4=', + r_hash: 'H1OoeEwIRdoa4sG7JjpEwfUGyaTbqdWTsmzLKKMvhGQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580308275', + settle_date: '0', + payment_request: 'lntb1p0rr9enpp5raf6s7zvppza5xhzcxajvwjyc86sdjdymw5atyajdn9j3ge0s3jqdqqcqzpgsp5jgspnc46ygerkmz7kfwx52yq0kfvezkjsaepxd4hk33tgunmfh2s9qy9qsqxrn8wrwd4a0yzep5prwdncdh4rnxdqs2qkc8v6zzjct4kt5kg2mrfhahncdk0k3t97984hn6tgpyxyeqwq98g22992kuhpk9qqhqvpgp25l9gv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '471', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kiAZ4roiMjtsXrJcaiiAfZLMitKHchM2t7RitHJ7TdU=' + }, + { + memo: '', + r_preimage: 'Bag9ZexecpsWecHdSbM72KJ5PGgpnjewT5LKkP/3BXc=', + r_hash: 'te3GUHnuC+/5GBjRfaNCldG7S3DGoEmHHInTToyVCSk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580308709', + settle_date: '0', + payment_request: 'lntb1p0rrx89pp5khkuv5reac97l7gcrrghmg6zjhgmkjmsc6synpcu38f5ary4py5sdqqcqzpgsp55mmq03mxwxflsl5nmrl82la5msfl32s06eym7r4xkneruqx5uedq9qy9qsqklckld729zkl59x4c3z8tmzav062tza93x0xcqvk88dn0n4jznan83qe9kaffh9mwkxmyjlfh70pvhc3ezzn23tq632lnjkdgrgkufsqhs2ry2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '472', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'pvYHx2Zxk/h+k9j+dX+03BP4qg/WSb8OprTyPgDU5lo=' + }, + { + memo: '', + r_preimage: 'cXEkXNxYcu3Y+PUUhI8/K8spzUZrfl1n2GiT1kf8/Sc=', + r_hash: 'xxi4HUDG9E3NJZ1a/yBNZkl/eoWdH3Fi1VgiEcyTBbc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580308982', + settle_date: '0', + payment_request: 'lntb1p0rrx0kpp5cuvts82qcm6ymnf9n4d07gzdveyh7759n50hzck4tq3prnynqkmsdqqcqzpgsp5c40z8wp8sxq5nu4lxw75wglem2k74d7patt6chpz0tgwe8plcwfs9qy9qsqp060hcpfvfjsxqatc94guf2f4lj7mmz2fe3e6syf8902w7sqmxlhar88lva7l2g3zs7dd3whuv56wp5rhpamdqmeutaxm8gltv3wtfsp9tdzdh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '473', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xV4juCeBgUnyvzO9RyP52q3qt8Hq16xcInrQ7Jw/w5M=' + }, + { + memo: '', + r_preimage: 'tCJ33Gw3nRjkHNWaE6r2JUseUVh6ORJXajr6LxVFOEw=', + r_hash: '8oxeGgHbAXK26/FjEDgsuxx1pzXbGcIZUrS1ri9EkOs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580309105', + settle_date: '0', + payment_request: 'lntb1p0rrxn3pp572x9uxspmvqh9dht7933qwpvhvw8tfe4mvvuyx2jkj66ut6yjr4sdqqcqzpgsp5t5xcyl7chn68g4d4kr42r7cr0dg9pe4l9nwufhl0ls7yj04zn5ls9qy9qsqgk2h85vt0zakk89lpz0khl8w2ey2vl2205zfgsdwsqy5qvcherth6mlas2g2f6acwprl2z8hjsl6lh98fseark6wzxg4svmvp3x9t0qpm0d0qj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '474', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'XQ2Cf9i89HRVtbDqofsDe1BQ5r8s3cTf7/w8ST6inT8=' + }, + { + memo: '', + r_preimage: 'dbCqNasDkqc18oYwQFZduCcB6EW20XaGEs0UF3Ejl78=', + r_hash: 'w08hqVWVMZah0yYKM1nlnK/NzBY8bKT2MawuOIhyJmM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580309255', + settle_date: '0', + payment_request: 'lntb1p0rrxc8pp5cd8jr224j5cedgwnyc9rxk09njhumnqk83k2fa334shr3zrjye3sdqqcqzpgsp5a2f5u8cwhq5cw5plutsrdegn8hrd9n3vefdw3zkpzkut0mxp0zgs9qy9qsq7806vserc98d3rur3jf9f2nmnmq840yes8mxqcrcdd6dv88ak9c9fchrdlh66kffm3ekq7znfpk84kj5uu45dnz7dyua5mq8ahm3zaqqf2wvd5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '475', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6pNOHw64KYdQP+LgNuUTPcbSzizKWuiKwRW4t+zBeJE=' + }, + { + memo: 'swap', + r_preimage: 'OXWfzzpPl6CMKm7ml9IaxlYiXTj8Q+iJImFa88UktdM=', + r_hash: 'JvqNBoJnyssqSNqlxkfpUE0sl5sjYvoyXX9IbXeT2/U=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1580323431', + settle_date: '0', + payment_request: 'lntb2496500n1p0rr5n8pp5ymag6p5zvl9vk2jgm2juv3lf2pxje9umyd305vja0ayx6aunm06sdq8wdmkzuqcqzpgxq97zvuqsp5dfwxqjqe646qs963z8fl066hrztmchq42d9yu5uwcqzw8j5wrvqq9qy9qsq020ueehfql39a2sx6rg2dqdndzt78n20vsf4ywz6ul7kqr3mjfardkp8vxnsxt3ch400tw3u05zcr7jv7jl44ucsfdg6frh9j5q7fmspayppfd', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '476', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'alxgSBnVdAgXURHT9+tXGJe8XBVTSk5TjsAE48qOGwA=' + }, + { + memo: 'my test invoice', + r_preimage: 'INpkPbVAAw40Uuj9S2aQWnmJFdIk+GFHeBxQGC1unCk=', + r_hash: 'G5xwURJpeYpmrNHNiRU6Dn6aMFIZQxcLDdhnyotGcaE=', + value: '0', + value_msat: '900', + settled: false, + creation_date: '1580340157', + settle_date: '0', + payment_request: 'lntb9n1p0ryyaapp5rww8q5gjd9uc5e4v68xcj9f6pelf5vzjr9p3wzcdmpnu4z6xwxssdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqy9gcqsp5h9u6mczd48hxpffv4udy5fn0h5rhe7l4qgdaj86t0y3ll0nq5lrq9qy9qsqzwjm0jmktzk5kgapx0uasksrm3hg3hkd0mgakumztvyp9lay6sp98ragf75wku27p3jtg6jzj487yzl2r284l5zuqzyxm3mtmlmua9qpvx53ku', + description_hash: null, + expiry: '172800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '477', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uXmt4E2p7mClLK8aSiZvvQd8+/UCG9kfS3kj/75gp8Y=' + }, + { + memo: 'dfgdfg', + r_preimage: 'VLl5CgBLWvPiPmPZh+bR1UecDPPsTrM35EiSUf7yfUo=', + r_hash: 'RwDdEr1KX5hHaPlNU5VzuFvrbviOBuk5IxzVQ4QHoHU=', + value: '0', + value_msat: '560', + settled: false, + creation_date: '1580340308', + settle_date: '0', + payment_request: 'lntb5600p1p0ry9z5pp5guqd6y4aff0es3mgl9x489tnhpd7kmhc3crwjwfrrn258pq85p6sdq2v3nxwerxvucqzpgxqrp9ssp5gkf4v86ul8f0gshf8cemar9c05hq9a8xh4ppwytnqkfvt6hz3trs9qy9qsqx9nq94qyekmutezx0z7rd9wthhfrqum8zjak4k6vj5dellg93u3z865ehsfeymgye9vu9qxjkrrrm70lz6hf0frxescl0nw74gsxk4sqsrncvp', + description_hash: null, + expiry: '1200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '478', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RZNWH1z50vRC6T4zvoy4fS4C9Oa9QhcRcwWSxeriisc=' + }, + { + memo: '', + r_preimage: 'HK1YFu7wUAvyFbtUf7n/Wdo4/EvGldFdYO96WJ/G5Ic=', + r_hash: 'kLdYCCOT77Xvsqbx/+2Mtr51bRlogjjqV/qt9EATjbE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580347099', + settle_date: '0', + payment_request: 'lntb1p0rytkmpp5jzm4szprj0hmtmaj5mcllmvvk6l82mgedzpr36jhl2klgsqn3kcsdqqcqzpgsp5kj3lsg7046yrzzv4e0ye3m6a09wkrmpz53t0eknnhvxe58w0yq9q9qy9qsqwy656ja35c7t6ms67km9q9t45ae8mdkf6rcycyhddn9vukqhttnxp5k4zzw400a5nqudzp23cgty2xwthvny77dp8savakxxu4qt3xqpkm2hld', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '479', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tKP4I8+uiDEJlcvJmO9deV1h7CKkVvzac7sNmh3PIAo=' + }, + { + memo: '', + r_preimage: 'wBMiL22AN52C8xJ2ipjvsLPsZrxOkDfL46fb4HrKaHo=', + r_hash: '/YThOscb/ODN31rSSgsjK3P7eoeFrYrtEBAZJKkDQL8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580594690', + settle_date: '0', + payment_request: 'lntb1p0rtaszpp5lkzwzwk8r07wpnwlttfy5zer9delk758skkc4mgszqvjf2grgzlsdqqcqzpgsp5pal76gwgx9znmmn9hhlvmxlus4gdm7qlrcjd8vvdty5j3t5eeluq9qy9qsqsa3hw6xlar4eypmxl6spg7yz3j9jvyqjhsyygtcjd7keyuqk0eex6fdrn5d92f6gsyy498m8u3h3ztcx72xwxefahnaqalr3vz9s33sq68sxsf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '480', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D3/tIcgxRT3uZb3+zZv8hVDd+B8eJNOxjVkpKK6Zz/g=' + }, + { + memo: '', + r_preimage: 'xlnQARPqGMym6ao7nnErdR84AIRrM2QwLHACe3EhgnE=', + r_hash: 'B3UwjybxTAI9W5/Ebo+jGgppP+QNA3O4e8zVM4YoGLs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580595055', + settle_date: '0', + payment_request: 'lntb1p0rtam0pp5qa6nprex79xqy02mnlzxararrg9xj0lyp5ph8wrmen2n8p3grzasdqqcqzpgsp5j5v5fyx5kl6zpj2zknu85nahwswscz9h3hf6femgrwjmawx4gg2q9qy9qsqvs3cdlme7stuarv4hea4wvj7knucw720vcjxfjgzk607z6anke5xr4wamww2xurqkahtdam6rjuzlpt4590wqzcj3xp3q0fpjnar8wspg8630h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '481', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lRlEkNS39CDJQrT4ek+3dB0MCLeN06TnaBulvrjVQhQ=' + }, + { + memo: '', + r_preimage: 'zMGEXpfsKRrJPz/93GZsGdrhjASqmCrGWgpDnhfbDPY=', + r_hash: 'NFIFWzpWRcajjAWssNf0KFl6qMCqf67od/jB9tmLyWw=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580595064', + settle_date: '0', + payment_request: 'lntb1p0rtamcpp5x3fq2ke62ezudguvqkktp4l59pvh42xq4fl6a6rhlrqldkvte9kqdqqcqzpgsp5303en46lqqtxax69hd2ypdx70f3mlgxnqd9dep83rwk29xgnqccq9qy9qsqmrv39trjh9ymtq2ljxfnu3w234urjyg7elrmdvzx2ee4dcchm9z4u0n0sucalt76hpeda74uhf58zssvuq86e0w734kf4sm70t0vwvgptvhz8v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '482', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'i+OZ118AFm6bRbtUQLTeemO/oNMDStyE8RusopkTBjA=' + }, + { + memo: '', + r_preimage: 'm6DWEySkf55hbTdhNF9aUmLgdfOOR8/w41sJBxNBTPk=', + r_hash: 'yyh4Rqnt4BaXzbHuX1J3ZkRnPRKOB9DzUDw2yGIWeXM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580595067', + settle_date: '0', + payment_request: 'lntb1p0rtammpp5ev58s34fahspd97dk8h975nhvezxw0gj3crapu6s8smvscsk09esdqqcqzpgsp5r5n0swg9pjshpt88r5er5s07tcwsf7x3uh2kjv63upyd5m3x8qns9qy9qsq4dn8kxxa84899tqxs0a7n56yfj3hvg2fecsne9ms8z4aexmy78u8dmycnc8dpttcj6m3n3fvuc7u6fjktwpqpp5ayd4l2x2gmx68hksqk7jmst', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '483', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HSb4OQUMoXCs5x0yOkH+Xh0E+NHl1WkzUeBI2m4mOCc=' + }, + { + memo: '', + r_preimage: 'pEnWtOOQyIx2TNkGvLj+1BFjRHrK/0+IO9LuOnA1dKU=', + r_hash: 'fhvd94Nxz3OtoN6IAH0T9fSsv6Qx4fPpz6s7IqBip9M=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580745994', + settle_date: '0', + payment_request: 'lntb1p0rs3g2pp50cdamaurw88h8tdqm6yqqlgn7h62e0ayx8sl86w04vaj9grz5lfsdqqcqzpgsp53pw5xfvhhpdgh2h60srxeegxt6ecdappmx4sg4szhgr3jemlrp5s9qy9qsqr2kwmurnrvfj6kzhdll4w5ur0tjuckgdsk2aqkhs83wnrpgc8layje50hvspefes5j75gdvsrzp63g2shqed9q33rxa8dg0nm2usy3qp7p3s0r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '484', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iF1DJZe4Wouq+nwGbOUGXrOG9CHZqwRWAroHGWd/GGk=' + }, + { + memo: '', + r_preimage: 'LdxiShpVVIvkKGpz57eRf39uRwkH6Uwhl0w/5N0jvso=', + r_hash: 'FciL9887mCYbrJo8JLDe1FmbtpaKESx1Er6pDUbdjbs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746195', + settle_date: '0', + payment_request: 'lntb1p0rs3wnpp5zhygha708wvzvxavng7zfvx763vehd5k3ggjcagjh65s63ka3kasdqqcqzpgsp5xt92jqrcanjqcyzg6qzthqjc8wcd9zyp69c9zxk5tg98c5kgpm2q9qy9qsq876p5ure047wdydwxd0usr3a6hewzw0mwzqmvypadplte070d28kmqgmqtnw3wew5w9jx8dkahc0lzmq8rlyaw77njklw8huk4kw8dcp4d52wg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '485', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'MsqpAHjs5AwQSNAEu4JYO7DSiIHRcFEa1FoKfFLIDtQ=' + }, + { + memo: '', + r_preimage: '9BXStEhsm6bCMKjHX4/N5P4kVQ2Scg9yN6IaM/I+VFA=', + r_hash: 'Skb3esNW+eQs64l8xk5wwWzW7jDU9/h+xqF7x1a7pG8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746199', + settle_date: '0', + payment_request: 'lntb1p0rs3whpp5ffr0w7kr2mu7gt8t397vvnnsc9kddm3s6nmlslkx59auw44m53hsdqqcqzpgsp56ur2m9vxugafdfnxdtmkwej2gdncz43dy8hmq8y5gcf58jlkpxwq9qy9qsqzcundkd2wf7da4ujvunz92lw3k34vssewhk9xrp59uqud7t7ulcxqflyxhktlt3t32f58rtl8f5v4yw8jknepphy7m9fareqnsldw9cpg0j3ny', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '486', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1watlYbiOpamZmr3Z2ZKQ2eBVi0h77AclEYTQ8v2CZw=' + }, + { + memo: '', + r_preimage: 'JvVHmw54aIWrtiRHIhrCZUPt2MsVh7RHv178S+9zJHs=', + r_hash: 'ZbDP1KlT9rMEs/J093gZSpP8InHPMDWN3E0wVu4J+AQ=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746273', + settle_date: '0', + payment_request: 'lntb1p0rs33ppp5vkcvl49f20mtxp9n7f60w7qef2flcgn3eucrtrwuf5c9dmsflqzqdqqcqzpgsp5gn8e3u7uv5llx4z2nzluk7pe89yd8lpul4tshrfscg5m2vllhyks9qy9qsqmk79hj5ddp505rde89f25n6qf0aud6valhx0nr5eeg4ms4hmr94kn8mldz9uhzatz9knca7xxqmj0tjxyfahtycjs08xy5zywkngvngq3fl04f', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '487', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RM+Y89xlP/NUSpi/y3g5OUjT/Dz9VwuNMMIptTP/uS0=' + }, + { + memo: '', + r_preimage: 'BdNdRo1Ham9fsEXmW7lT44y4rsx6hqnxZhdEHtBOf3k=', + r_hash: 'O+mXzHolEUr60HYkvMuwKgA3xIv5U6wDTx57ExIDTnc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746585', + settle_date: '0', + payment_request: 'lntb1p0rs36epp5805e0nr6y5g547kswcjtejas9gqr03ytl9f6cq60rea3xysrfemsdqqcqzpgsp5ly0yg62m5xeq9f2xkewgxez5fdedkd6ynlwf78yv4wqv9knmu8pq9qy9qsqeeed7v6g9qhuc68304k7ctder8uc0j5xz068299l35858eryfh3pcflctfmmselvcz0lt46pzera3un5dxvjstnqsmdkrwxtmnzs25sp7fzwwg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '488', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+R5EaVuhsgKlRrZcg2RUS3LbN0Sf3J8cjKuAwtp74cI=' + }, + { + memo: '', + r_preimage: 'AeXaRJ7oSJ2OuE5Lp21Kj+iJcYr1F4rJlrN0V59xZHo=', + r_hash: 'qxnBLEKHGUppjPA0+Ot/5ZhuAHxMhppcFxhhFjkhRbE=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746589', + settle_date: '0', + payment_request: 'lntb1p0rs36app54vvuztzzsuv556vv7q6036mlukvxuqrufjrf5hqhrps3vwfpgkcsdqqcqzpgsp5vugja2vf2pnk5paltgc7tql9kfr7s4qmr42zrpnprkgs9rvvtxxs9qy9qsqq5yle36fp74g2ph6z0tsx9nleekuntdnl04wn7ucsk8e25f7vlzskhefyy5hs4afe3zg0tj9wfa37f0pqexzgq6r6w9t024gesmd77gq4cjrrj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '489', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZxEuqYlQZ2oHv1ox5YPlskfoVBsdVCGGYR2RAo2MWY0=' + }, + { + memo: '', + r_preimage: 'ot62z5Dd/qno9iIXdxEWrg6blNJgCCrxxqdGiZ79Gqg=', + r_hash: 'pTe0haDIQQZXJVkceoJhCQQmi6wN4yauGpJp510lD5s=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746592', + settle_date: '0', + payment_request: 'lntb1p0rs3mqpp555mmfpdqepqsv4e9tyw84qnppyzzdzavph3jdts6jf57whf9p7dsdqqcqzpgsp5m6efganu82fltzeszmqcpdxhx5378r3qqusw7jpwhuga2q23sjzs9qy9qsquaqzdlt5lj0elx9xfuncqlaa4nsvpgfjj04psq5a28vlwfhm2puqnw4fanr9gmmgr8wutja25883zsx835fln7c8kdtnuaxcv7z03dgqmp5672', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '490', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '3rKUdnw6k/WLMBbBgLTXNSPjjiAHIO9ILr8R1QFRhIU=' + }, + { + memo: '', + r_preimage: 'GyUH0RnidxWk+IeaVCn9tm+jWsN5vCQJqDY32yVL50E=', + r_hash: 'RYXPA0RNnIrFykYNjf6p5o0qv+zPjfGkks1GYYHngfI=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746611', + settle_date: '0', + payment_request: 'lntb1p0rs3mnpp5gkzu7q6yfkwg43w2gcxcml4fu6xj40lve7xlrfyje4rxrq08s8eqdqqcqzpgsp5x4qfn0ar3gy9mh9sdlmyafz0vrmntat4nmgts2etkhguavvfzvsq9qy9qsqs634f68rgk5rhruz0gfuvfwk5z0udqqnmu5ucu2arw0dxufu7x844hvqnt2uqfalte4quhjalhduh9wukla20xhqwwfchw2vw8vzhdgqyqus6d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '491', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NUCZv6OKCF3csG/2TqRPYPc19XWe0LgrK7XRzrGJEyA=' + }, + { + memo: '', + r_preimage: 'HjtabMwSUt9T8coVhL6ZAeR5fipzDtqVur40ezoztbA=', + r_hash: 'j9iI5NnLtuSA9l/UCmNTWAiXlJiESrdb9472UlkujR8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746619', + settle_date: '0', + payment_request: 'lntb1p0rs3mmpp53lvg3exeewmwfq8ktl2q5c6ntqyf09ycs39twklh3mm9ykfw350sdqqcqzpgsp5pn58uyefjnl9sfn7p2k4exuyrlsqh9shvx0lz6e4ck99uxjgzlrs9qy9qsqp8zun859nmdt787u8kfnmacqtl6t288m3zhz6pl4e3c0avptyxm8hl865gh7q3t29p22p7r7ws07v0nwk7rs645l8ffwcm6wd62u94sqlwy4e0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '492', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'DOh+EymU/lgmfgqtXJuEH+ALlhdhn/FrNcWKXhpIF8c=' + }, + { + memo: '', + r_preimage: 'CHNN90JxS+ojF5rnCPcEUUN30sFz35qI2tAJQoJmA6Q=', + r_hash: 'wHWmRiB/1U6B8BJut1jYab9lTULOeXWx1NXbnj7qnUU=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746628', + settle_date: '0', + payment_request: 'lntb1p0rs3uypp5cp66v33q0l25aq0szfhtwkxcdxlk2n2zeeuhtvw56hdeu0h2n4zsdqqcqzpgsp5sxw9zc5d95uss6kfl3qu03zunh0l2wm50fhu66mut50vspd6c4qq9qy9qsqzcp57d5rqf4xkgu2tl38d3q7e90l35t6xelw0v7yx6x0pvlr4grqwh6y65xxgk7s636ap9qug884958tl6w7wtxthpp2r8e6ju29klqqfm82vn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '493', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'gZxRYo0tOQhqyfxBx8Rcnd/1O3R6b81rfF0eyAW6xUA=' + }, + { + memo: '', + r_preimage: 'T0jLax+w5+oPyGafGbn0ZdzL+Uo/4wbTiu+ULy+9hEg=', + r_hash: '9XJTK/n6TaNvUag+QgxL0gOoe98VZdamRRnMm3OlWQg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580746961', + settle_date: '0', + payment_request: 'lntb1p0rsjx3pp574e9x2lelfx6xm634qlyyrzt6gp6s77lz4jadfj9r8xfkua9tyyqdqqcqzpgsp5ju3mnynqtsug99chpxgdzalefrws25xp50rxaz3rds53ssuzuxps9qy9qsqksguf7k9txlshkq5a6pt2hh7ldnr3vp4ruwnqtvt7wn5d48swekywj3nufk0fghnz6zwky5qm3p39kq2rdacz37qhh3q2tt73nj42vcq3ls2pn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '494', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lyO5kmBcOIKXFwmQ0Xf5SN0FUMGjxm6KI2wpGEOC4YM=' + }, + { + memo: '', + r_preimage: 'qYZQWqjb8ajIzOXdfoM8k/Fn81AtOn7NCnGHNm1ERBU=', + r_hash: 'hu3oSd0kf1hN27t82ppT54isE17BexgWZiq2f/iPHVc=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580747237', + settle_date: '0', + payment_request: 'lntb1p0rsj09pp5smk7sjway3l4snwmhd7d4xjnu7y2cy67c9a3s9nx92m8l7y0r4tsdqqcqzpgsp5vk298wmsrcwyssy45slazm699clqvrd4ht0ahjp2wl42wwhle8rq9qy9qsqgge0hejgrhmhzr3786nqckfvf0r3hgxps5wyzhdde7hlcu3unpf4lmxrl95dyuv2jhmdnw3esgh328ls2k6zxhazx28s5pexzqe883gp53umty', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '495', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZZRTu3AeHEhAlaQ/0W9FLj4GDbW639vIKnfqpzr/ycY=' + }, + { + memo: '', + r_preimage: 'X0AWWMWolbDvymz0cpJTFuBjf+H68Yt1D8/dPjKY7W4=', + r_hash: 'H4WX6H1NOwKGUIE0yb+B35FeppfaHz5G6Vj4UJEKf54=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580747426', + settle_date: '0', + payment_request: 'lntb1p0rsj4zpp5r7ze06raf5as9pjssy6vn0upm7g4af5hmg0nu3hftru9pyg2070qdqqcqzpgsp5tq6hszd8rjd9h2trtatefmy5y4kxrratfyhfv5yv36pv7pnng49q9qy9qsqsuztgqmryjfnjj4fc5kpzqv2rpnquyzt0yfj82kk4ksl7qppshe8jfqcqjmprglc3mg0w2gk0wf7p9uw2qcux6u284q8yeaq74y75dspzz9ud3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '496', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WDV4CaccmlupY19XlOyUJWxhj6tJLpZQjI6CzwZzRUo=' + }, + { + memo: '', + r_preimage: 'w/hBzuTQYZZ4fe8OeYcmhklSGgtpDUpvcujOQ2n0IoE=', + r_hash: 'CkNxoYXaJZnLO6zQdv+ChbregrToz7fwHxVLcLbYKt8=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1580747684', + settle_date: '0', + payment_request: 'lntb1p0rsjaypp5pfphrgv9mgjenjem4ng8dluzskadaq45ar8m0uqlz49hpdkc9t0sdqqcqzpgsp5wslrvuvmd5rm7n60gnw92gye63aml5rwwzvn70n8muu3u55vx8eq9qy9qsqsr25sch6xtsyx3pldtcda0vj949y7a9l0vj54dcrgdx3xulhrxl95ul39m3fmca3vsx6qz94xwujdht50l8njq7u7ljlcxcfgm29ldqpk3sfh0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '497', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'dD42cZttB79PT0TcVSCZ1Hu/0G5wmT8+Z985HlKMMfI=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'ydV2R+j8tMQyLnkzA9C1qZqqG3JA8Tfj+OCiIJ8bnB0=', + r_hash: 'd0WthdEuKyHPnycid2JIjiC+KTrVXuzwPr6kP1eaRR0=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1580853408', + settle_date: '0', + payment_request: 'lntb10u1p0rn69qpp5waz6mpw39c4jrnulyu38wcjg3cstu2f6640weup7h6jr74u6g5wsdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5k8y7tacsxkj4qjzj8665ggx65a3dmnyhv5gm6zu362n2ke5vmztq9qy9qsqas4k4y8dte9hrpdpp3k3fp56smjctcax5awjqgcx80nqjmg9kju8t2f6czvqzrwmmtx593kvmzywcx7dhgtqx6tmea2gv9qu4l9p7zsp6rlh5j', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '498', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'scnl9xA1pVBIUj61RCDap2LdzJdlEb0LkdKmq2aM2JY=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'lcTvKzWnF2dFtHSCy83etgSKUmUvOfXoXCWutmBGGD0=', + r_hash: 'gKz9dSks+X9Y9u2mwmGogoGVZQc2voAdD5FzQjtvFFY=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1580853610', + settle_date: '0', + payment_request: 'lntb10u1p0rn6t2pp5szk06aff9nuh7k8kaknvycdgs2qe2eg8x6lgq8g0j9e5ywm0z3tqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp59vqa7mywy03fjzwzu8qfsf8f75k0pq8x83euh0sehzee9mp2zjsq9qy9qsq37ky3f09w9lwkyqr7y7tdktvjrhwr9lqeuesjmlfqmhkytj0mf95c6uq9fzxmpcxc0zx3rrfdv63crvnuyfyyd5pkpc2td79umxc5dgqgg328j', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '499', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KwHfbI4j4pkJwuHAmCTp9SzwgOY8c8u+GbizkuwqFKA=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'vUsL1Wyr1o/VdYZoj3kTjjWtyALcko1yyjHg0OTP0Aw=', + r_hash: 'ysKiBMZYp5NlUFTGWVOmcTMCozuNoENVIw6LbMzaiso=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1580853701', + settle_date: '0', + payment_request: 'lntb10u1p0rn6w9pp5etp2ypxxtznexe2s2nr9j5axwyes9gem3ksyx4frp69kenx63t9qdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5mwjajt4se4dc029lhcy4uz7md9879q9ynery3wlpzqel4qn3969s9qy9qsqath4yn3dcmwgrczd6apegctrwq72gp7vwna8lr90vrg3jq7kemmq0qgzauw2kw2x85hfc75ylf07fa44j55l385nerw6rup0ujlqdnsp7mrr7n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '500', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '26XZLrDNW4eov74JXgvbaU/igKSeRki74RAz+oJxLos=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: 'LLyTGybO0+/XkvNPlGISkRzMicCCQ43Pd/TjfhX3UY4=', + r_hash: '76CiUYT225yeE7Ccl9Jnyh/WmWPzNwictFi5FBmPiqk=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1580853749', + settle_date: '0', + payment_request: 'lntb1u1p0rn604pp5a7s2y5vy7mdee8snkzwf05n8eg0adxtr7vms3895tzu3gxv0325sdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5g97ul677v0htuy96x6s47dm2xx5acx20y0m3a3zz7a8mv4unnzls9qy9qsqszf3egpn3k096xgkcnnyvvx7zpe00xrgqvk7ae963xd4w8ql5ev5cx6sjjqmqveathcrlwl8cj0g5m8lqggw09lau2q6xl2ngd8z47sqwl9fxf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '501', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'QX3P695j7r4QujahXzdqMancGU8j9x7EQvdPtleTmL8=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'eNxrgvnYeIeb9ks+f21L5wCGwcg9Y1gZrbcxIi8CYdc=', + r_hash: 'EoLDa+LRjC9Vllxb36Ni6GjQMKh3OMWl7QvAnmfiUp8=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1580857472', + settle_date: '0', + payment_request: 'lntb5u1p0rn7yqpp5z2pvx6lz6xxz74vkt3dalgmzap5dqv9gwuuvtf0dp0qfuelz220sdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5ph7rkvyhhzu7lrzmvtldep7vgrftve87qr726cnx9luue7mgdwrs9qy9qsqhsq7dj5hlln280jlc9ra9ttncal7dtgla3g3nyjtadznrrpdu8fzf72l8zd3vc9pfl0677y88lmr5xf3ml6aswdc09gy98mr68y0tesqnuzdg5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '502', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Dfw7MJe4ue+MW2L+3IfMQNK2ZP4A/K1iZi/5zPtoa4c=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'sJoL5GJWfsxl2FsdmwjCFAUz/7ifgEoUMKnUIiR7jiA=', + r_hash: 'vwyWO3iu40dPMJG7fRiChOC5TBHymb+DV+xRJd1L9G8=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1580857498', + settle_date: '0', + payment_request: 'lntb5u1p0rn7y6pp5huxfvwmc4m35wnesjxah6xyzsnstjnq372vmlq6ha3gjth2t73hsdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5jkdm99vrm74za3p8qqvdadnj9ftt8mt8m0nf8etzla7v2mgntq8q9qy9qsqgqs42jggjk3lcfjfaj0c6f37sldgk4kmvvse89y5g0h6z3nmax8xhrff4hcy52efvdrygpngyjmc2kp862gcln4mxgv0dx5erraw8agqhaj97t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '503', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lZuylYPfqi7EJwAY3rZyKlaz7Wfb5pPlYv98xW0TWA4=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'BScqFoCt1H825jKIxZeeB7xYlmn4wOV/OlXL3lXPyeo=', + r_hash: 'gYRqC6fEt2Yn5CnsfE0Ns6/ZAnI54PAPU5GX8KTTHvQ=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1580857517', + settle_date: '0', + payment_request: 'lntb10u1p0rn79dpp5sxzx5za8cjmkvfly98k8cngdkwhajqnj88s0qr6njxtlpfxnrm6qdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5fdytg48ae5hy87asama5nsk9224r6ekdmhzu7nfye2fs6wwdxy9q9qy9qsq7kh2p2wj5aahezr0qv8d5sucgpn6q8njzhxgw78gypd72xwtnhczkg9wqnmz6td0vunwzuazjg5832qxta3n7uvv0zg08gcr8f40eysp70r2w8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '504', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'S0i0VP3NLkP7sO77ScLFUqo9Zs3dxc9NJMqTDTnNMQo=' + }, + { + memo: 'Local-Rebalance-501-Sats', + r_preimage: 'IiP0RyK/OsGqF2WD9iU+39xcG7LKr0tNaS/ZSh52BRQ=', + r_hash: 'f1rbzuPWybRLHOo7xZoXfrAB09ZAKv/G653ddFgLcRU=', + value: '501', + value_msat: '501000', + settled: false, + creation_date: '1580857821', + settle_date: '0', + payment_request: 'lntb5010n1p0rn7wapp50addhnhr6mymgjcuagautxsh06cqr57kgq40l3htnhwhgkqtwy2sdp8f3hkxctv94fx2cnpd3skucm9956nqvfd2dshguccqzpgxqrrsssp52hnqvc4q27jg0puftr0r24fs30jz23hxdzrv0m94s3ek2tlg3ksq9qy9qsqx87zmyrsca7vzeecvlh00je3kg7s4uqycwcc5qvmw4jkpv0pm5vr7hxyfk9ce92mwly7dy9ny3rykakyghda7uel3pjdakvj0w8cztcpljk0ul', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '505', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'VeYGYqBXpIeHiVjeNVUwi+QlRuZohsfstYRzZS/ojaA=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'L4/f6eP6ZcaQLjmaN09wj1auJOQ5lviYUF2lIqinl0Q=', + r_hash: 'OApAPt3zSXyn1W3XQZ/fA1+V6p29AfrqJ51x1C2dwWo=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1580858472', + settle_date: '0', + payment_request: 'lntb10u1p0rnlrgpp58q9yq0ka7dyhef74dht5r87lqd0et65ah5ql4638n4cagtvac94qdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5apatzugp9jjp2cxvtz9pu965j974xyhrr3r6d78xjl7x7djw9ues9qy9qsqn6c9metg4n3h9v68s7u79gmg08vhc05d7aera0f6p6qelu68q03svplt9dlhttewr2clj0srje7slp4pskk437zyszxcutf578jwpvqpe7xe43', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '506', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6HqxcQEspBVgzFiKHhdUkX1TEuMcR6b45pf8bzZOLzM=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 's6q8Io5HXqvhLP3hErNxYzfkwjE+/g9I1qRzV4bcVuI=', + r_hash: '7al9oLJhbVG3YG42ujc6YId8h8Uy3l/WBexMh1a56MY=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1580858563', + settle_date: '1580858565', + payment_request: 'lntb5u1p0rnlxrpp5ak5hmg9jv9k4rdmqdcmt5de6vzrhep79xt09l4s9a3xgw44earrqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5kxjdj6rxaft4zm373m602cfzgxdk07p5r2d0f6kpwdjxrehlff3s9qy9qsqml8lfgxrwkhfhm60s9e5h3800cgcxnvkcrpky7cs8uedzljpg3uk9ttep3e0x5n34gak938u8jstlxlmc5npynaf5nv7e3s7y92sxycqc2un3r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '507', + settle_index: '1', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '19', + amt_msat: '500000', + accept_height: 1664955, + accept_time: '1580858565', + resolve_time: '1580858565', + expiry_height: 1664998, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'saTZaGbqV1FuPo709WEiQZtn+DQamvTqwXNkYeb/SmM=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: '7baPkI9KyXUCHF0LS+Y0sJUD62wwbkVDEAUsWu7oayc=', + r_hash: '5TzcHgwUus286+mCFJE1AxevOYeenOR5EDyQCq/dmhA=', + value: '100', + value_msat: '100000', + settled: true, + creation_date: '1580860607', + settle_date: '1580860608', + payment_request: 'lntb1u1p0r5p9lpp5u57dc8svzjavm08taxppfyf4qvt67wv8n6wwg7gs8jgq4t7anggqdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5lxh74q9wydm7plspw7t8qrtyr4jknclq2pvjax74l3e9kk45zpjs9qy9qsq587lpf7x9crm57trynr6t8fs5jjvpqcmgdezyf5cu0tvcsngk7t5mgwqlzffe5a5c9pnmf5yflrlk0j22dfuluhqupt2pzwqejluv0qp6fwa62', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '508', + settle_index: '2', + amt_paid: '100000', + amt_paid_sat: '100', + amt_paid_msat: '100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '20', + amt_msat: '100000', + accept_height: 1664959, + accept_time: '1580860608', + resolve_time: '1580860608', + expiry_height: 1665002, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '100000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+a/qgK4jd+D+AXeWcA1kHWVp4+BQWS6b1fxyW1q0EGU=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: 'VKxYxbU3+b5yfhhklzov2JN/Ec9SBBZKGrG9I0wuU28=', + r_hash: 'BVbt5n8JtprAgpeGze0vZ1IjIYzIBqBrs6UhTGcwadk=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1580860677', + settle_date: '0', + payment_request: 'lntb1u1p0r5pg9pp5q4twmenlpxmf4syzj7rvmmf0vafzxgvveqr2q6an55s5ceesd8vsdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5xqxmpqyqm5zayghdqnz0cdvg6fmj9ej7dg0kv4lv7qttclznjq5q9qy9qsqqpe9hks3k32z2w3e2da92ccemvxze4sdkxwgld8k9fqy3rlwrs5he8l7w3mex5j8egjfeqdqk028zugrphy8w5y6f8vpg64q2gf4xgsqu87wu0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '509', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'MA2wgIDdBdIi7QTE/DWI0nci5l5qH2ZX7PAWvHxTkCg=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: '9jWH9ryLEIymKd7KvLMS0h644Mbu/it00HMYps6UbLo=', + r_hash: 'Ae6HlTK0c0INRxVfpu2yIzCj9skCukuRT6AYfpjHTno=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1580861797', + settle_date: '0', + payment_request: 'lntb1u1p0r5zt9pp5q8hg09fjk3e5yr28z406dmdjyvc28akfq2ayhy205qv8axx8feaqdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp584znfgp36ae73xvgyu9fnptc0x739ck55s9ygthkem909zn9takq9qy9qsq78ndkum955tp8g3cu68sfxqa8n0ftl2ey82pfckae87q5eckpr537p64t7jz2h62pujgpm9fjgu0luw07c466qxt24czcnvfgv3708gqx25s4c', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '510', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'PUU0oDHXc+iZiCcKmYV4eb0S4tSkCkQu9s7K8oplX2w=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'Ee2jJW0xiw03jU5DACLiHl1qQ4cfTPqRv9c2bGJKq30=', + r_hash: 'bqAF3Tn67Leg6ovACdzgnO2IXepsw9d6snT5r2l1bGg=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1580862079', + settle_date: '0', + payment_request: 'lntb5u1p0r5znlpp5d6sqthfeltkt0g8230qqnh8qnnkcsh02dnpaw74jwnu676t4d35qdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5dk59aqgxwwm2ss5fp5q24ctzqhjk7zk5a2r8626las7at22hae7q9qy9qsqdr70qxhfcxjxn2c44l46zey29qxcesu2q6249vck3480hxh4qgznzk0hzjzzmytr2xfrwc9axhrpe9z6eu69nt8swwhlnmw6c6dcmeqpkw3r67', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '511', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bahegQZztqhCiQ0AquFiBeVvCtTqhn0rX+w91alX7nw=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: '+cYKf47DBG68IPajJjVw+lYajnf1qWlIr18X0RzoH1I=', + r_hash: 'DuApx/GeBJ74nMnyWIK97R1nK7LA7/JWnmfOfXI7uDk=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1580862211', + settle_date: '0', + payment_request: 'lntb5u1p0r5zcrpp5pmszn3l3nczfa7yue8e93q4aa5wkw2ajcrhly457vl886u3mhqusdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5a77c6tzax7kjcqzwgt3qs7grmc0eacl7sq9qlftd5y65renxn6eq9qy9qsq4ukmfez2s2qpjll35lhj7jexwcweh4hue2zsywxshef2c90p60p379ptcjg79szunyl8hgpcf26z5gh6uj7z57822kr70t7rqjxz86gqfkv0aw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '512', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '772NLF03rSwATkLiCHkD3h+e4/6ACg+lbaE1QeZmnrI=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: '8GsWRYNoj7knJpHT70b/Q/KdUWIaY3iNK9bFpLRUUYU=', + r_hash: 'KWK0oKhFLSq2C7E470PPAKrPj5LFwrPOIJot2yTVrIc=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1580862472', + settle_date: '0', + payment_request: 'lntb5u1p0r5rqgpp5993tfg9gg5kj4dstkyuw7s70qz4vlrujchpt8n3qngkakfx44jrsdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5802gcn8ugj7vcm47e3tke9nnnaj8m0ghtj8jmqdwc8duu6whdj7s9qy9qsqexct6ml6escpnwqsmmk484hryelwp0sysvtvadm4l0wgc98ana9h25jc0q2asgp95x8h26uqjn93udwsqau2xsncv3cymfz2um70hkgpw9w0qm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '513', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'O9SMTPxEvMxuvsxXbJZzn2R9vRdcjy2BrsHbzmnXbL0=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'FrP80+e2iCEEWgFNuekShka0OSs5M5B73GTn8tAR9iw=', + r_hash: 'tVELy70r9+cdXEJrEDPLa0VXq6c8Lrw+RVuqGtA+Ekg=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1580862543', + settle_date: '1580862547', + payment_request: 'lntb10u1p0r5rz0pp5k4gshjaa90m7w82ugf43qv7tddz402a88shtc0j9tw4p45p7zfyqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5pq7nhql8ap4n58ydfhxh5g97kmc985krx3dclt40e6eenz9ulttq9qy9qsqxyesm6g6kqsjw5y9ks5fyt985fxpnyzsy2qc23sll5azcq35x8u43hxrnlxjcy8ymdzgqep3jzswex7wg696thcagvp0k8mhsyhf9psq9gz29l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '514', + settle_index: '3', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '0', + amt_msat: '1000000', + accept_height: 1664961, + accept_time: '1580862547', + resolve_time: '1580862547', + expiry_height: 1665004, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CD07g+foazocjU3NeiC+tvBT0sM0W4+ur86zmYi8+tY=' + }, + { + memo: 'Local-Rebalance-800-Sats', + r_preimage: 'kFlARJXl2cgWNCzEok+7C6gJ7VXXGSBUC7qSG7kE3gI=', + r_hash: 'SgC6uhsqqwHNXyqkGAW1kcwLbjHTYbkSyogdoPawUKI=', + value: '800', + value_msat: '800000', + settled: false, + creation_date: '1580907045', + settle_date: '0', + payment_request: 'lntb8u1p0r4w39pp5fgqt4wsm924srn2l92jpspd4j8xqkm336dsmjyk23qw6pa4s2z3qdp8f3hkxctv94fx2cnpd3skucm995urqvpd2dshguccqzpgxqrrsssp568l59a9c60gcz9jrsz2qma0kjswfxzuzhvj4pcapp52243aektus9qy9qsqx2jftxjx8y87xfpsrnve6nd5cp27f3sy2cmet2ea7krksl2f87mn822ua69ec6077y589qcfsr62kaq6nen50jhhw7dzxzekg8h7fxgpayc9dn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '515', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0f9C9LjT0YEWQ4CUDfX2lByTC4K7JVDjoQ0Uqse5svk=' + }, + { + memo: 'Local-Rebalance-400-Sats', + r_preimage: '9fV/F1TKR7CWVBLAzRsdpXrORiFhsjrpwAVBcKdgCLs=', + r_hash: 'HB6T7nTSwcGG8IwzfSutDv9Q4DtAFe++NF2Upced44E=', + value: '400', + value_msat: '400000', + settled: false, + creation_date: '1580907082', + settle_date: '0', + payment_request: 'lntb4u1p0r4wj2pp5rs0f8mn56tqurphs3seh62adpml4pcpmgq27l035tk22t3uauwqsdp8f3hkxctv94fx2cnpd3skucm9956rqvpd2dshguccqzpgxqrrsssp5ath0pp98fyqhw9dk8dp8j9vgtcs8e8u77grec04gfw28jqtdkwjs9qy9qsqerq3nqphveekkll05u8clvhxvg8tqfuk7vzm65q8l5kjkkrwekjqyy8sq83vq0a6fqtdwv726v50xnks7wr3ds6yckl5v9lvz2le8kgp90u5fr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '516', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6u7whKdJAXcVtjtCeRWIXiB8n57yB5w+qEuUeQFts6U=' + }, + { + memo: 'Local-Rebalance-1100-Sats', + r_preimage: 'ZOLVdLBCUIa5/ulEWZJTLYVE9lA3ZWH7kP+GLN0aYcY=', + r_hash: 'u+LP+TnTY6ZvXf+TWhzo7im56PRFQ40iMlYihbmOTAU=', + value: '1100', + value_msat: '1100000', + settled: true, + creation_date: '1580907117', + settle_date: '1580907120', + payment_request: 'lntb11u1p0r4wndpp5h03vl7fe6d36vm6al7f4588gac5mn685g4pc6g3j2c3gtwvwfszsdpgf3hkxctv94fx2cnpd3skucm995cnzvps94fkzarncqzpgxqrrsssp5xapmydgu2re4f2jz9gdd2wpxe7ja87x6cml0lg2nfhpphdky9a0q9qy9qsqxckaq2jl8hypj7hdjksy4dydwt53kkwugw63nszt9y43thxu00w584jj9xty9yxl90tz43f93vl6nrxa3x5jaul7a4usecs8958ztpqp5ehq5w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '517', + settle_index: '4', + amt_paid: '1100000', + amt_paid_sat: '1100', + amt_paid_msat: '1100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '1', + amt_msat: '1100000', + accept_height: 1665019, + accept_time: '1580907120', + resolve_time: '1580907120', + expiry_height: 1665062, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1100000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'N0OyNRxQ81SqQioa1Tgmz6XT+NrG/v+hU03CG7bEL14=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: '2bgxd2sq0mQsR4X1D+o20MrG89GwBvRocD5ArLcDkSM=', + r_hash: 'yXM3UjW01Lvv2x5Et+gi675ZRmyQJaSqt0n25wheOaQ=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1580907361', + settle_date: '0', + payment_request: 'lntb20u1p0r4wmppp5e9enw534kn2thm7mrezt06pzawl9j3nvjqj6f24hf8mwwzz78xjqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5ypwwrej0qwvcm52403nk6hllxevackze4ewesj79k6c80rplyxss9qy9qsq0y03kljw6w0x7yngw9r749f00egq7ushxatjhvrdfuwyz3g6ggprdp75gq7fzzmuz24zzkadysdvn64rs3ur2fqtcnt4s4zn9qxgmagp9drnxh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '518', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'IFzh5k8DmY3RVXxnbV//NlncWFmuXZhLxbawd4w/IaE=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'iLxGbCVLQlIPPmxGq787AdwXCH+8F2HLLQtxGaZ+Mzc=', + r_hash: 'VCNOb9raLhzLaQhBZdJy92uf+V8dqxEsufu3p8qnDCA=', + value: '2000', + value_msat: '2000000', + settled: true, + creation_date: '1580907380', + settle_date: '1580907383', + payment_request: 'lntb20u1p0r4wm5pp52s35um76mghpejmfppqkt5nj7a4el72lrk43zt9elwm60j48pssqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5uqqzyf974cn02c3r4ucqrfykavuvgew4glntfgmf25k3zaftmpfq9qy9qsqnucp3ug98tvew0wrgvm60k5mzuscm6svhak6ptdepp7eyw93ntay599vjy45e3lt25t700wydq2ygycf4dw088nun6lsa2rf3ce4nvspqkrkp9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '519', + settle_index: '5', + amt_paid: '2000000', + amt_paid_sat: '2000', + amt_paid_msat: '2000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '2', + amt_msat: '2000000', + accept_height: 1665019, + accept_time: '1580907383', + resolve_time: '1580907383', + expiry_height: 1665062, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4AAiJL6uJvViI68wAaSW6zjEZdVH5rSjaVUtEXUr2FI=' + }, + { + memo: 'Local-Rebalance-4000-Sats', + r_preimage: 'M3A0aZCcVK66OT3pBVwgGmmuy1gi5YR1TkwGNHj6HfY=', + r_hash: 'G4ahaBl+LCr/lvg2x+2DwaSBoB3ndWzZCWygBsPoExo=', + value: '4000', + value_msat: '4000000', + settled: true, + creation_date: '1580907507', + settle_date: '1580907511', + payment_request: 'lntb40u1p0r4wlnpp5rwr2z6qe0ckz4luklqmv0mvrcxjgrgqaua6kekgfdjsqdslgzvdqdpgf3hkxctv94fx2cnpd3skucm9956rqvps94fkzarncqzpgxqrrsssp5lznmdq6z55geh8ffe4kf7dqqvhxv6w5m5strlmepqj3mhmxzqwws9qy9qsqu4m9xxuquzvrseclhaje9rrfcd62hfudjdxndw2gln23nmx0tae5lp5r0cwd4uezpgse3efgse6045fwf5w2gaedgf94nj383tuduzgqnrntkt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '520', + settle_index: '6', + amt_paid: '4000000', + amt_paid_sat: '4000', + amt_paid_msat: '4000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '3', + amt_msat: '4000000', + accept_height: 1665020, + accept_time: '1580907511', + resolve_time: '1580907511', + expiry_height: 1665063, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '4000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+Ke2g0KlEZudKc1snzQAZczNOpukFj/vIQSju+zCA50=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'fi6PKUbo6OKk9kIo3gPN3G82/2w/6eMlQiX1TCUd07Y=', + r_hash: 'KarCtQKOzdLPexuD+19ZrYacxeadDYYHK+kUJuKqk4A=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1580907985', + settle_date: '0', + payment_request: 'lntb20u1p0r40w3pp59x4v9dgz3mxa9nmmrwplkh6e4krfe30xn5xcvpetay2zdc42jwqqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5q8laj4luw6k3dex9qsqgwqsnu7255m3tnjlvfvdz69ds6zk2gdqs9qy9qsqkey9ra8j504hufssq9vhul07fysjmslzhkgsq52qqjuqderhf98rce3w4x6gtwddzh4utxnlazm89mc82wfzaj7q9tc48jqh38xsj5cphqphwy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '521', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Af/ZV/x2rRbkxQQAhwIT55VKbiucvsSxotFbDQrKQ0E=' + }, + { + memo: 'Local-Rebalance-8000-Sats', + r_preimage: 'Frfgvpkn/8hfdbeLyRmsC33CqDPAXK1aKgXdyZPACV8=', + r_hash: 'KktU7JG4w32KzhknTBbCgEKnVmVnCizoV/F6ux2NAvk=', + value: '8000', + value_msat: '8000000', + settled: true, + creation_date: '1580909082', + settle_date: '1580909089', + payment_request: 'lntb80u1p0r4ss6pp59f94fmy3hrphmzkwryn5c9kzspp2w4n9vu9ze6zh79atk8vdqtusdpgf3hkxctv94fx2cnpd3skucm995urqvps94fkzarncqzpgxqrrsssp5l45es698dpfwpemn9l6qwgkd04rhz0rs4zffg9av62fdxjz85j2s9qy9qsq46zrctphljum2frlxqptg40gklmc9wuhkkeajf5tg5ufhrxg580pt37fntgppn32z3ws80pq7y0xq9y0a7mmh86kggcw8vd7r0vwdcqpwysg6w', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '522', + settle_index: '7', + amt_paid: '8000000', + amt_paid_sat: '8000', + amt_paid_msat: '8000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '4', + amt_msat: '8000000', + accept_height: 1665021, + accept_time: '1580909089', + resolve_time: '1580909089', + expiry_height: 1665064, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '8000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/WmYaKdoUuDncy/0ByLNfUdxPHCokpQXrNKS00hHpJU=' + }, + { + memo: 'my test invoice', + r_preimage: '9i0UdvJwV8epXNVD9ukUDAfCgTtmoMq3WJBBLCTxuJ4=', + r_hash: 'nc9YoHVb88dVoDVf5mIBTcRb7g6C4RnjlCo3lKlKuUk=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1581039732', + settle_date: '0', + payment_request: 'lntb1p0resr5pp5nh843gr4t0euw4dqx407vcspfhz9hmswsts3ncu59gmef222h9ysdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrrsssp5ra2t2c727mm520hkey070ahp5j6myutmu89snduw6r9wl4w8s5sq9qy9qsqkd4mzwv3unmgr6hj99w5x376lfkg84mw6g79n4qtzy98nhc3j6k3vh4elv3m7t4jyly7gqzejeehr5m7fna3n53sxxg5th3v0g0hstspcrplhs', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '523', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'H1S1Y8r290U+9skf5/bhpLWycXvhywm3jtDK79XHhSA=' + }, + { + memo: 'my test invoice', + r_preimage: 'YN7dvwozeaiWPMcTqWDGAWNfN2f85WHVWkQBZ5U7zRc=', + r_hash: '41DzHFdcvBrcOvaF59cxm2zcoXTwofudQI+UYi9YCik=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581174667', + settle_date: '0', + payment_request: 'lntb1200n1p0ranutpp5udg0x8zhtj7p4hp676z704e3ndkdegt57zslh82q372xyt6cpg5sdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrp9ssp54n450d2yw4a83eldmpfjcwf5rx4zyv7n65uj7ndksmj29ttt040s9qy9qsqv784ew96u9g9chq62u4w9hrvlga0z0takeqec9r87cy67w0j0g4qw943naaje0ku3a9tt7s25pl7krq8sft8zq6hjsgnaap6vvvvgtsq2ua3wc', + description_hash: null, + expiry: '1200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '524', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rOtHtUR1enjn7dhTLDk0GaoiM9PVOS9Ntobkoq1rfV8=' + }, + { + memo: 'my test invoice', + r_preimage: '3difQTOhXrFFD4tgQH1agfWUEkiwHbNbKPjriutd6Pk=', + r_hash: 'OPRxAuE8vgDnGSLT5EnRCzUe7lYDeQysKlrzoDoI13A=', + value: '200', + value_msat: '200000', + settled: false, + creation_date: '1581335519', + settle_date: '0', + payment_request: 'lntb2u1p0yzs7lpp58r68zqhp8jlqpeceytf7gjw3pv63amjkqdusetp2tte6qwsg6acqdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrrsssp5yqq8335j8v932eafvx2j3ynea2gvcyyyhw7mhlk07qp3jehmjyns9qy9qsqu9yejtqa35qgp9xt9ne6a2wp882wxqw6t555379rurvhhyefpjpkm3gvs0k28y2lyccesy6axla8at3ykxn94ncj3ancftwntwrvktcpq7shrk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '525', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'IAB4xpI7CxVnqWGVKJJ56pDMEIS7vbv+z/ADGWb7kSc=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: 'hxTW8v8kmbsfMjEAlG3GDwbImzwzY446TTv4jUKOHv0=', + r_hash: 'vp1MhWSuOrt3sil0ezRqSX5fNJDyF4EPsV/2+EL6kio=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1581444661', + settle_date: '0', + payment_request: 'lntb500u1p0y9m34pp5h6w5epty4catkaaj9968kdr2f9l97dys7gtczra3tlm0ssh6jg4qdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp5y4dwy4nxmnthgssrgrk35msd3h7v7r70qxwkc6w9ualaxn8j59rq9qy9qsq8qvc6gyjtn0d2ewedhd85jjecsj6eg0aed6jtaymr5xsrgcsd3g4cayqfu30890wv6q295zc95tr8xc4nsmqs6utwuwmz08kgvagshsq70wtf7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '526', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JVriVmbc13RCA0DtGm4NjfzPD88BnWxpxed/00zyoUY=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: 'z2C8xfJL+Cn8SrVUigFjNSxUs05ULRKjvE/AF4BCQK8=', + r_hash: 'Vu29fKaqP9J7ELtVm8o8mgeD7prOfrs74BsydFlVf5Q=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1581444884', + settle_date: '0', + payment_request: 'lntb500u1p0y9mc5pp52mkm6l9x4glay7cshd2ehj3ungrc8m56eeltkwlqrve8gk24072qdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp59efa80m4y3up5wxew9hkestmllrf9y4expldlfqq5njhaggfzxtq9qy9qsqx6kzmazzq7tmlcpkmt7lkcsm52grq7ncwfxg6ksh9qa3ctpjzt5x78tmcsa2gw2ghnwwpxl33pfvac3svz76w6ahe2nch903awqqgtgpztgmyc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '527', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LlPTv3UkeBo42XFvbMF7/8aSkrkwft+kAKTlfqEJEZY=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'Q1bX7qGh2TwVaoDWeVaLGmbMUDcuxfMXm62s03O3q9k=', + r_hash: 'u6AX1KUUngeLNRbUtPFbD4EEfkY6I1zdktN+Jl8uNzw=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581444904', + settle_date: '0', + payment_request: 'lntb1200n1p0y9megpp5hwsp0499zj0q0ze4zm2tfu2mp7qsgljx8g34ehvj6dlzvhewxu7qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5lqy7jks78nmpu88cv0afj07v44gdzf3w85tlet5dhfgy36f6atms9qy9qsq2u6nllhswxtwzr23zxxxjv6trxukkf6czuwkyk5qdjrkmnzppaf58zpwzau7zmdtpsl54eve84a48lhan270j03avh3neln8r50sz9cqz2trn5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '528', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+AnpWh489h4c+GP6mT/MrVDRJi49F/yujbpQSOk66vc=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'SCjdeUwuEp0f73tJy6yL0u+7Ch+l3v2r/isrG4oWF6E=', + r_hash: 'g+FXerlovulshIJik2fiosPsZsSuI0t+222N/LMeV54=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445021', + settle_date: '0', + payment_request: 'lntb1200n1p0y9muapp5s0s4w74edzlwjmyysf3fxelz5tp7ceky4c35klkmdkxlevc7270qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5qeanat3wenlqpe7a2ur9qp9njpnjv0jt23zxv62pm8u72e286sdq9qy9qsq9sr5k9qruu0suezadmndz0k5t0tqtgmtraq6hs8j45wzs3g8mz7jj7zc742rhhv2sr8fhcszyqt9mlcj06uleaal5es0z43fsfk5m2cq3udfr6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '529', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Bns+ri7M/gDn3VcGUASzkGcmPktURGZpQdn55WVH1Bo=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'ajvqYFvU1MPPD6zVwOHtEV766HLOm7iRhCcT+oGuc/4=', + r_hash: 'VpN+eQVq4hQi9y8UBJVwOQ3wGJqzLt43L9gIyhgOCa0=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445061', + settle_date: '0', + payment_request: 'lntb1200n1p0y9m79pp526fhu7g9dt3pgghh9u2qf9ts8yxlqxy6kvhdude0mqyv5xqwpxksdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp596vdwc0sgjm990nrnk8kk9m2493j630rjrvvqgmananzgl7k0luq9qy9qsqgcf7jt08y9sg6dx7jylykzuvmwxh8y6ljcemhve8acmfwwss4zhpamqw6u029sd6vynvr8z8xvnup7axy03x9uuagpf3zfj34e858zcqrmzdwn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '530', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LpjXYfBEtlK+Y52PaxdqqWMtReOQ2MAjfZ9mJH/Wf/g=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '0AC7tSfFMAAW8oYF0IicMz+0h+e34ZT9ysPB1+7NtK0=', + r_hash: 'bKyaNWtzxdKRArmI7XVQqbaeBlHmM0Zrz++hgy/aoq4=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445121', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uqppp5djkf5dttw0za9ygzhxyw6a2s4xmfupj3uce5v670a7scxt7652hqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5y6n2nqw46e3n620322j96qrednzw0qywwpp62etlly7lkdv3n7cq9qy9qsq69h2g5mzhwqwtauxmrrmvsfgqk2xk8mduwpwtgr3fk9ueljdqehs38ddxuhlc7pvy024qaj0pv07dekf7yfacp6tnnwqjeeu4lh9n0cpsazymr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '531', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JqapgdXWYz0p8VKkXQB5bMTngI5wQ6Vlf/k9+zWRn7A=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'WaC1GhLxYJ4cCXpNMArY04eOK5Qjn5gs8T8Eeg3zw+E=', + r_hash: 'YqOZd5ZkwI3T270p+smPMHFkcG1td8ewD7R6sasL4uo=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445193', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uzfpp5v23ejaukvnqgm57mh55l4jv0xpckgurdd4mu0vq0k3atr2ctut4qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp57z0ly3ht247t6zxjt9gad4q6wzydzky2mrp35kfrr8m5avdw46us9qy9qsqsgp97k8he8kv5sylj5ezzmtqchndntv2dm4ggftlz3llx0n5jqvx4gdyz435h3hcz42qlsps8ufkj69fhdlkqch2wdm0n6za74hj66cpcsqqja', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '532', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8J/yRutVfL0I0llR1tQacIjRWIrYwxpZIxn3TrGurrk=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'hYjpwEVfowLKo5kYo2S7LF6vSItyeYnpfvmvattRDpY=', + r_hash: 'axI8VSdivEQDg9ZY/ivMEYPNQliWrWjXhKYeopzsgeY=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445282', + settle_date: '0', + payment_request: 'lntb1200n1p0y9u9zpp5dvfrc4f8v27ygqur6ev0u27vzxpu6sjcj6kk34uy5c02988vs8nqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp58gwd3e4320xjyyrnaywcqycuat7qnltrjuj648srxrvxyq43phws9qy9qsqvwnkekvuqgjhvwt3arm7ggk8m6j4v2496fq5qz3t2v8te599rvc5pc54tupufm5erc3efkp7lcxva9d09w46sgzqcyphq3rsswk2hjsqzr2sy9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '533', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'OhzY5rFTzSIQc+kdgBMc6vwJ/WOXJaqeAzDYYgKxDd0=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'DUbSu1eSO8dBhnWM6VDxG7yKmzxhSZHD0jbyeA+nMxI=', + r_hash: 'y/IeNZYeQnYIZ74mc75WoQ3Ni/hGVBSC4VDKG6lv1f4=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445315', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uxrpp5e0epudvkrep8vzr8hcn880jk5yxumzlcge2pfqhp2r9ph2t06hlqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5h3aj3ck8n4uqgl2xeus92sz37ax3kaw7lhq2gk698t3m33wphcxs9qy9qsqm3rpucw0jqhda2e4ssglyztx80vnnca6de9aghaey7c2f44dlyzzkpgxdejaj9nc8duw93ygxhj7hvckq259408qey9ts5a93rthwvcqkynkvv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '534', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vHso4sedeAR9Rs8gVUBR900bdd79wKRbRTrjuMXBvg0=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: 'aTXS2E0zAa0VoHdp0Px3t+QVKsB+TLo+ygMIqqt8HUc=', + r_hash: '9seC2iZR7l8UrsWObcvwDeXiq+8J1pUIPiRN+AWXFcY=', + value: '201', + value_msat: '201000', + settled: false, + creation_date: '1581445542', + settle_date: '0', + payment_request: 'lntb2010n1p0y9udxpp57mrc9k3x28h9799wck8xmjlsphj792l0p8tf2zp7y3xlspvhzhrqdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp584xyerqvrmkujpa8fdmyzwjurpykh5vxe940a7p4akselsw9t2nq9qy9qsqv9j8ftvp974xcr6am2e20wrrkah34us35rhey0dmtn40fjyn5dq94yml9h94c5udc5efpelusd7f3vdrytks07lnp3dd7fglqagh2ggpdqwqln', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '535', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'PUxMjAwe7ckHp0t2QTpcGElr0YbJav74Ne2hn8HFWqY=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'p0YNvcjN7SN9UxxDR0JKITkjE2I9/KRMR6KnTkDqKdE=', + r_hash: 'WHJWgv2dF0nMyGC80ZR36Na76URkKO77Ba8D0vOkzK4=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445601', + settle_date: '0', + payment_request: 'lntb1200n1p0y9u0ppp5tpe9dqhan5t5nnxgvz7dr9rhartth62yvs5wa7c94upa9uayejhqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp54nqf3krhd3va5cux88t5r5kn8y8z6a6nnnp6dwksrwyhdwax67ks9qy9qsq2jt5rrvs8artedvh0myx4z8w9ejcmwtj75778steu3d2rx6sf3p5rsungsjr2p8aeu4pcty0v9ag7muq905n4trp96v9k0p0qy4fnvsqqmq9v7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '536', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rMCY2HdsWdpjhjnXQdLTOQ4td1Ocw6a60BuJdrum160=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'stJ99TUSOssbg1g3DDrIACNtvlAv38owQHpreWoaM7g=', + r_hash: 'BXWAgBBuLUO0MT3GjzpjPGqP6KngL6g4j8eNLna8ciM=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445663', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uslpp5q46cpqqsdck58dp38hrg7wnr834gl69fuqh6swy0c7xjua4uwg3sdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5uhfmxdrde69jj02xqrzw2gy9vlzyec0ctva0wmj2rczku8y023vq9qy9qsqtzx9rdhjfh9vzr7p6shxg2f3424tmr68hvayq2pdckrzqz5fgtjhcg9srpm4a06twp9dv7pf9mcjfrkfg4qx9634xrkjqyl5lcdw5csqczfcyw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '537', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5dOzNG3Oiyk9RgDE5SCFZ8RM4fhbOvduSh4FbhyPVFg=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'vkBRxQhKSqy65kYpA7B33To5vuYptQ+jRxgBIbWrTO4=', + r_hash: 'PJWkm+RTwrx3aX2CIrwNBiwJsQRRlySnDzJRP/Ch9jQ=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581445801', + settle_date: '0', + payment_request: 'lntb1200n1p0y9u4fpp58j26fxly20ptcamf0kpz90qdqckqnvgy2xtjffc0xfgnlu9p7c6qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5q84nnzk0y39zgxn0zdlk3a8vgj4mwxxjrfy7dl8cpu428xhk5fvs9qy9qsqaw0c32hpz26ec2v32ztscszfqyxyta7975yjqphren638vys8d0suur573w2jmt0c357mlxfagrz7qxu93ss9qk0cjltr77tpxgwcucpjg994j', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '538', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Aes5is8kSiQabxN/aPTsRKu3GNIaSeb8+A8qo5r2olk=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: '/s+WwPJinv+R72VmB9aFfcvddTWl5VnoPvegYbTpghA=', + r_hash: 'dbsfkKzYX6Zel00VnNORTeg5X44sLhoIu8E27TrEUDM=', + value: '201', + value_msat: '201000', + settled: false, + creation_date: '1581445916', + settle_date: '0', + payment_request: 'lntb2010n1p0y9ucupp5wka3ly9vmp06vh5hf52ee5u3fh5rjhuw9shp5z9mcymw6wky2qesdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp5pa58jl2rm3xu4l6uvnu9eazpxd4wll4aek46vur9sd5wlc9srsvq9qy9qsqtwej4kwqxfx0zu9cmcsrm8j4ra23d3t4d0maypk34ekrcues235hgjegfkexmx6qj9alvvwgnzkk3ne2plchxmqg84yf0vg6g34pr2qp303dyr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '539', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D2h5fUPcTcr/XGT4XPRBM2rv/r3Nq6ZwZYNo7+CwHBg=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'jTmwO6cYabpHqRhvLT4J8F3unEOt1JKv5bv64n6UljU=', + r_hash: '6YY9DCIQVcVF9cOHMqjsuLm+irntUbXFs/L2Qse0XH8=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446026', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uu2pp5axrr6rpzzp2u2304cwrn928vhzumaz4ea4gmt3dn7tmy93a5t3lsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5qrww0kqj5n8qh6znv8u6qpl6f25c4lgtq6yydpr2seetx8j5uj6s9qy9qsqfemty86yk6nmvt5l2am5leydw6sw0sl7e8a0djtz6z6lgkmrfcj958rvmlxvx4md5x6npm34l5fj92fezrsjmcfrvry6u63faw7sqxsqk4t3qt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '540', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ANzn2BKkzgvoU2H5oAf6SqmK/QsGiEaEaoZysx5U5LU=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'pCKwmTzpCmptGnDsMFXtmfBm4iAqAjPgYVwhHjxdULE=', + r_hash: 'Ad/t/PcsHe1PJgEh8x6yaAEQwI0aiCK0zBTQnNox268=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446062', + settle_date: '0', + payment_request: 'lntb1200n1p0y9uawpp5q807ml8h9sw76nexqyslx84jdqq3psydr2yz9dxvzngfek33mwhsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5m4altxrsn4qxydpm9kcq65jxryef2fk4tzejuczllcvjvzfe3rkq9qy9qsq8wwh24vqjkh8qvr27003cecrvhjjz25zw9nvee855pz4uknk5mcxk5ldwrc5eswdmyytlutduledjw57hxtnqp8zdgppefmj67v2rkcqxp86tu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '541', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '3Xv1mHCdQGI0Oy2wDVJGGTKVJtVYsy5gX/4ZJgk5iOw=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '+AaKvu1hL9G3caLclBYhSv7WIdfy1hBaKMR9/4h5HXw=', + r_hash: 'y4Kj4/cL8w8lVLALP2Tdl/gjauN6J6ArrgYYo+ot350=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446108', + settle_date: '0', + payment_request: 'lntb1200n1p0y9u7upp5ewp28clhp0es7f25kq9n7exajluzx6hr0gn6q2awqcv2863dm7wsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp55ffr3jygy84dkg7uq4ryndlxg68e9mrs04el5eqjeezlq0wgt5es9qy9qsqws8herp2vv7qzvgstg62ungc2wwhz5tjlgyh2ytlyj0yvxr9rvvppgqkq8cssm998wq5x2xq7c3ry0llqjqzd540t2qlhhxdzuky0jgqyzlzeg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '542', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'olI4yIgh6tsj3AVGSbfmRo+S7HB9c/pkEs5F8D3IXTM=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: '2pT3cjrKHTTUyqMyY3ZtH+avb5cRXWF+CBN0jbgW6LE=', + r_hash: '2ILxSAA//bry0EuGpgrODd7aVadH0UWW2HnLGxlLRHc=', + value: '201', + value_msat: '201000', + settled: false, + creation_date: '1581446166', + settle_date: '0', + payment_request: 'lntb2010n1p0y9aqkpp5mzp0zjqq8l7m4uksfwr2vzkwph0d54d8glg5t9kc0893kx2tg3msdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp5yhmmhg9ywqnfmtadtg6ru8j9w8qf5xa0xg97vg0qmtztqvlgftqs9qy9qsq66wmf3na9t5y7e6yyk7zzr20nlm53z7ggvrxfft7vpnfa82sm9gn88dpul6vxmjv4p8w3p4kwmzaj04aaelss39skl6yeav6tutc7agqgltwvk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '543', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Jfe7oKRwJp2vrVo0Ph5FccCaG68yC+Yh4NrEsDPoSsE=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '6biyCqlv1jWWNPdeMNW/B5nLtpi/ALTTzYMe3yh+E8w=', + r_hash: 'hwC5hENGvrg+5aYKosApSyFXKC0feLS6mI2DyLAAS1A=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446207', + settle_date: '0', + payment_request: 'lntb1200n1p0y9aplpp5suqtnpzrg6lts0h95c929spffvs4w2pdrautfw5c3kpu3vqqfdgqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5ryu4kxz9c4sy0r44d80tj50quvmz2ahx3qkk264zq6hp2qm3jj4s9qy9qsqqjr9cktjddv62gq9mr9qh0vss6wq3ev930x3jfy2427vgcym588nz9ztvd9du0hec2clrymqnvmj0cg76vvpfaa3gzxe302zzcgzkjspcwgwez', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '544', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'GTlbGEXFYEeOtWneuVHg4zYlduaILWVqogauFQNxlKs=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '06ZXugqtg4DQ0+Il6lVRqzxv1GK08R/HXJMepBdDTOk=', + r_hash: 'sJRFEvVGLLlb1HufjwzX1g7ZSpf76ELXjwUgrFNdeDE=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446316', + settle_date: '0', + payment_request: 'lntb1200n1p0y9a9vpp5kz2y2yh4gcktjk750w0c7rxh6c8djj5hl05y94u0q5s2c56a0qcsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp57sx49jskcdvh3k5lthgcm9gzlwy2603ugwwust07tlmwffueyqaq9qy9qsq4nnvwt0zuxtnx6q2vyun3phnw3j36s5qcawkaxsgcpzfegdskh0q3gg2tg6f2vw6aphympgl2t4tv50d9x8dam3qdyl9wvwnsgclx6qqwlh82n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '545', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9A1SyhbDWXjan13RjZUC+4itPjxDncgt/l/25KeZIDo=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '3XxZ9U/vjJ84otDLSGSOdyRS3HiJwtKuMVFSC2XSN2c=', + r_hash: 'dLCHRqL0QMEQVNMM3O3mbBprOEwOjJiFkv86iwJZiDw=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446524', + settle_date: '0', + payment_request: 'lntb1200n1p0y9atupp5wjcgw34z73qvzyz56vxdem0xdsdxkwzvp6xf3pvjluagkqje3q7qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp53swavcmy89hu9tw6g7rrt98pm3saundfw9chya5dv9u69xt7c3ds9qy9qsqsy95y24telg3pryully59pt98sju6vltjr9y383t2ql9p5fdcgqxhh53alz7e6r6hnasrn02gj7r3g6yezy8wkwgm5k64k9xy4fa9cgpdvsj6l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '546', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jB3WY2Q5b8Kt2keGNZTh3GHeTalxcXJ2jWF5opl+xFs=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: 'szyssb5dGaFx68dcDWj4UaWObB2tOO3sFAroq8prkG8=', + r_hash: 'AUOhKEG8QsFyh+zfcOL3LaM82LZfrViia8kH8DDXCvw=', + value: '201', + value_msat: '201000', + settled: false, + creation_date: '1581446630', + settle_date: '0', + payment_request: 'lntb2010n1p0y9a0xpp5q9p6z2zph3pvzu58an0hpchh9k3nek9kt7k43gnteyrlqvxhpt7qdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp58fl44vkz4uuvw8f9wrs2p3ff04upulxe675wz0g29ldufa0vhduq9qy9qsqnl0dccjccyc445p9cxuuzsycddddvryfknzderc4fcw9ljmvxjsyshm5syhl59ejvk84ryfl09kw2t8krjvnxvq9mh8er3y20wrlymcqg4jnxs', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '547', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'On9assKvOMcdJXDgoMUpfXgefNnXqOE9Ci/bxPXsu3g=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '11jvwtB385xJAKfUSW7qGlrJpBCYKr+wwoTurBABI7o=', + r_hash: '0oYWoh7f5G0ZZnC97sHslqjJGlxhrQBpTSoMbNx+J+M=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581446809', + settle_date: '0', + payment_request: 'lntb1200n1p0y9a5epp562rpdgs7mljx6xtxwz77as0vj65vjxjuvxksq62d9gxxehr7yl3sdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp55jj4ecps40cqeqlrdy4n6kfrywfnkfk9ngt8ekacuwe707j4t7pq9qy9qsqtt70paaxyrmr6pyh6ef8zcrspyafvpl5f04cjvt0tcdzk0gx2hfq93k4wxczggzxl6vvh68fr2nf9gyxtz4fxqvl8fs88c7w68pdy4qq5gymc7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '548', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'pKVc4DCr8AyD42krPVkjI5M7JsWaFnzbuOOz5/pVX4I=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'PFRqSKqJhUgNZ0FIV4cOEJvrdhScV8TuyxR00iMhp90=', + r_hash: '66LEOhHnZ4j/kgxQkW9zRV8f2vTzlGRfHEtHekC1Ybk=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581447022', + settle_date: '0', + payment_request: 'lntb1200n1p0y9amwpp5aw3vgws3uanc3lujp3gfzmmng403lkh57w2xghcufdrh5s94vxusdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5kumkdz9aqzqkyumhn5pwy0g6w9f9ex3apgac3w7cz6kjmwshdgms9qy9qsqzhgw33th6qhgjc0wrnwnwkqptnd7m0jexlje0przfq5ee8wycjaknwpr2hr04nvcrx2w3xlfumfqxxykfgrfldnq7mf3cswee9mrelcpqzpf8v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '549', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tzdmiL0AgWJzd50C4j0acVJcmj0KO4i72BatLboXajc=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: '4sNKIkzXd8xibIr3C33tE1hyhsXeJj4hQORKut9uscE=', + r_hash: 'WAk29JVlciY6jf4cqgx8GesLsf2svxiq1Fhll6X6dEU=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1581447049', + settle_date: '0', + payment_request: 'lntb500u1p0y9aufpp5tqynday4v4ezvw5dlcw25rrur84shv0a4jl332k5tpje0f06w3zsdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp58qhm76qyqydafdvnak32kzua2fv4p4zu0wlwauf2mgyytgqwf3uq9qy9qsqraq5flvtwxlqlp3za4nj6e4jfxq2lnaun0zyljcup2alsq7ztrehld4txcgl4xc2wp2uzf4zs8l2xqc55r54atayz4wdflaf6jkqs9gp82s4fu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '550', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'OC+/aAQBG9S1k+2iqwudUllQ1Fx7vu7xKtoIRaAOTHg=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'ZdAKwFqgXOcwcJVpOoyRqoZV4ksnLCH2FX8ideHcpGg=', + r_hash: 'HyBdKDKJqyaWqqkScnmIFdPD0VSLfZMHPem06T4tp/U=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581448228', + settle_date: '0', + payment_request: 'lntb160u1p0y9lpypp5rus962pj3x4jd9424yf8y7vgzhfu85253d7expeaax6wj03d5l6sdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5ess7hr2ahd964u92trlmfkgtp7u2zjtnt47u4llheegqydpg37ps9qy9qsqj85z3d7gyycyyhd8rg9qxd9a6rhl4a686xunycqcppfqdj3xsru89td2y52ymh4fy4uneyan2rcywuks8j2u46sqnnfh3ew97lgcfpcpxvkgmw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '551', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zCHrjV27S6rwqlj/tNkLD7ihSXNdfcr/985QAjQoj4M=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'JwLiV02RkegfzGpe/jwW9H9NO1XziBL+DLZZyTQZoNo=', + r_hash: 'QaLds8zptOkCvf0rMTN26VLwFU8PAPZ5WhdpoqRR2yY=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581448693', + settle_date: '0', + payment_request: 'lntb160u1p0y9l04pp5gx3dmv7vax6wjq4al54nzvmka9f0q920puq0v726za569fz3mvnqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5wv2smwxugcvq34fxfj7tawvj7fu2924366hwy0j0c99fgcgkcclq9qy9qsq36c22jeaykwntg8gz4n5jmsdmk970sw2hg754czyz6fk4ujxk29z62xlswxd46r60w27wynlqjnskyy4cwfq6h5gr8e8h2g0ed30yvgpq0crp4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '552', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'cxUNuNxGGAjVJky8vrmS8niiqrHWruI+T8FKlGEWxj4=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'HpEbznPvTB6Z/efpxUUMVZ2L5MbkOixizM6Eh2RMR/8=', + r_hash: '//qq1QJfRZu/Nmw83CxBkN4UgX/AwLqgjttn2n13Kwg=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581448826', + settle_date: '0', + payment_request: 'lntb160u1p0y9ln6pp5lla244gztazeh0ekds7dctzpjr0pfqtlcrqt4gywmdna5lth9vyqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5d5dwsre9jet88nwsryqavf7whx9pfq6zpudx4tav8vwcqtpmstxs9qy9qsqayld6rts8w0uff8c2t79ccdvkgtesseqm7f4pq90kcqgdfwsf29nzehv5rx5q5q663h0vg4k3kvd49watv3qfgp4ku40lz7d4lyne4gqmlmve6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '553', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bRroDyWWVnPN0BkB1ifOuYoUg0IPGmqvrDsdgCw7gs0=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'XDbYvETkIz3aQNuVhlc6x59qEQRbD7jVQ8yvh1rgmYw=', + r_hash: '3Ms9EbnTWT/1aRWH279mp0eMJEv5BxYSAiMZZ16w17g=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581448924', + settle_date: '0', + payment_request: 'lntb160u1p0y9lkupp5mn9n6yde6dvnlatfzkrah0mx5arccfztlyr3vyszyvvkwh4s67uqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5aqnesv0e45wx0r7d4fzm656qlgspa527e7drz2ppe9gxsjnmlyrs9qy9qsqrrnrexs4aq9cm2ukt4zd6mm4u4u06t52epg7lhjee9n9qm67rmwpv908g64v2fdgsd0f5d3stvrdmsxa4kvr5ktejeuqc5v5dtx08scqeq3yg5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '554', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6CeYMfmtHGePzapFvVNA+iAe0V7PmjEoIclQaEp7+Qc=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'kQ/GsvV/rtvzPsd4uYIvoTgH5IH4oVSgissLDLblVuU=', + r_hash: 'KKvUMPnIqnEQJ9NcbOfsIN7+ToNODSPf+JgdSRWJcEw=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581448995', + settle_date: '0', + payment_request: 'lntb160u1p0y9lerpp59z4agv8eez48zyp86dwxeelvyr00un5rfcxj8hlcnqw5j9vfwpxqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5n7xtk22pef9lalza5gkkmzfesw9k7endga6vfrzu3wfgqvmama6q9qy9qsqskjwwpjerkrxs0hguc6eexn73qggm93h5g5rrmgqma6v42etayfqn85vuhyndhwsllnsp9m2fvkcjw374cw24qngd2ekaeey77snfzgqj0luuj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '555', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'n4y7KUHKS/78XaItbYk5g4tvZm1HdMSMXIuSgDN933Q=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: '5ULcHbdsZT4m4ZxjwX4oHRM9QE6PzDBeYqt3UXbCaOU=', + r_hash: 'H5dkZt5T7/DHxWhpuXmZh5Djw15Sdp1OKG/L4UlV3Fo=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581449255', + settle_date: '0', + payment_request: 'lntb160u1p0yxqp8pp5r7tkgek720hlp379dp5mj7ves7gw8s672fmf6n3gdl97zj24m3dqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp53e869muyq88asw30fatzzna07rtmc5wwdm5quzjggs9vdr42gdxq9qy9qsq2lerjyse2lkd8383qdsasah96uy5zhk4dpze6cvv3kvfu734pe5j6qwruu5ylszsnc476x2ecm46et5nmytjru4fr3suea7d5hhjswcp3r7p6h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '556', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jk+i74QBz9g6L09WIU+v8Ne8Uc5u6A4KSEQKxo6qQ0w=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: '6yoTSOd6p4uq8ZwsM9Sx3FxTkxnOEJB4nhDJqIE39NQ=', + r_hash: 'npVF6oXo7ejDwjW6XqYmv1j/H46fue72lL2SJPUp1iw=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581449688', + settle_date: '0', + payment_request: 'lntb160u1p0yxqwcpp5n625t659ark73s7zxka9af3xhav078uwn7u7aa55hkfzfaff6ckqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5l4d97ag6xhndhxfml2cfrspu85ye0rwacr3pswl4v87hvruujm0q9qy9qsqv7zuxnrclqng960q9g20w0gwpqjs25x853clt9ts3vfj9wt5sj7ssvldgj95txpzpsj06x3rjz4rptvcnhf39yhmtjysqndrpupufqgpyt4phl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '557', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/VpfdRo15tuZO/qwkcA8PQmXjd3A4hg79WH9dg+clt4=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'YkOY+6wwSlWE2lJARVNRYJjAEafgeRGxzBQBDTXq+iU=', + r_hash: 'cX//AhccSXBIH1kcp/fjoIYUEKifIQ+duPkzt3v3Dxs=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581449861', + settle_date: '0', + payment_request: 'lntb160u1p0yxq59pp5w9ll7qshr3yhqjqltyw20alr5zrpgy9gnussl8dclyemw7lhpudsdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp54u052kltf2n64nt33rwcfyazwnutrfhurgvrewnkp2rhhxgnewtq9qy9qsqagljksrtwpsrcx7yu879shqv9dljkmdjz8tqu5p6l3alket0s2sjjqu6a8mp9n0c9ta4tkd5wkhf8d4uaks5n79vcflgd4anuhxvwjgp3l2aqp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '558', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rx9FW+tKp6rNcYjdhJOidPixpvwaGDy6dgqHe5kTy5Y=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'ZND1YoV3lKk2l2U0tUB/h0KTu7zq1hvwUkFDpSMRtyk=', + r_hash: 'Ny3MlgkXIxR+ZJapjx5AW7Dkt2mNjgBs04/YxnEbqWo=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581450291', + settle_date: '0', + payment_request: 'lntb160u1p0yxppnpp5xukue9sfzu33glnyj65c78jqtwcwfdmf3k8qqmxn3lvvvugm494qdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5lvmtxped6empa8hwev6mltl7ccmsktuk7pleygkersh650e66sgq9qy9qsqdkzhkwfkv88syqgruxnl793gs5jgfw62exea25c7pj22h9rfuwhpe3v6cgngeapg6l2c5ccgm2frckax6cpa78ay6sc9vl53uct80wsq6vsqgu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '559', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+zazBy3Wdh6e7ss1v6/+xjcLL5bwf5Ii2Rwvqj861BA=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'yr1lmbKkj1iYcPRwGHnPxOPKKCMYyI7PgbfIuxYUiMQ=', + r_hash: 'B5lE83yajZutO5/o92rYUBwQ8y1+rWp8FbpaP6OnWF0=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581450480', + settle_date: '0', + payment_request: 'lntb160u1p0yxp8spp5q7v5fumun2xehtfmnl50w6kc2qwppued06kk5lq4hfdrlga8tpwsdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp5mzgxgtlqja9laaq0mkc4jdu6gla6uunnq3n68rmgadv65ctlufyq9qy9qsq5n5ru4sncdvl743grnhs59ps9dp05axdxjfk2q8udm3zfy7e64rj6jlzqn4p4wmngw3tnasz9v6kw4aej64sg6n3y2m7ahuy54fl8ecqq6q9j7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '560', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2JBkL+CXS/70D92xWTeaR/uucnMEZ6OPaOtZqmF/4kg=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: 'kQxB/6/9EbSBWJ3ZWAFwUfJtWeuNVk0PGXiMV/STW5k=', + r_hash: 'qsLNLY+OK+ffpb77PKeTSx0xsGDdgrCQwTICnuAvOeU=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1581450525', + settle_date: '0', + payment_request: 'lntb150u1p0yxpgapp54tpv6tv03c470ha9hmanefunfvwnrvrqmkptpyxpxgpfacp088jsdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5pan5037xzdkksp4jxgfym3ueym9utxgmem7yfec576hqv5y8hlxq9qy9qsq2pg0y4hm8fkfzxm4jj3wy78vrz8fnxsuk0dxrvmf9435746fs89n4m3t2y8dcz075emk6yhzlnp7h60yta40skd3lzw9m6eakrzcfwcpnhsuq9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '561', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D2dHx8YTbWgGsjISTceZJsvFmRvO/ETnFPauBlCHv8w=' + }, + { + memo: 'Local-Rebalance-16000-Sats', + r_preimage: 'Y3VSfV8xrNdH6ACVQ00Ffo4vdQKRErYXAIu0rBN2J4Q=', + r_hash: 'bAFz2o23ZiBF0MtfVBcg6F17GHhfuxxQMesD5bsdTz4=', + value: '16000', + value_msat: '16000000', + settled: false, + creation_date: '1581451145', + settle_date: '0', + payment_request: 'lntb160u1p0yxpufpp5dsqh8k5dkanzq3wsed04g9eqapwhkxrct7a3c5p3avp7twcafulqdp2f3hkxctv94fx2cnpd3skucm995cnvvpsxqk4xct5wvcqzpgxqrrsssp53dkyykuc3sngdjaq4tt33ftr42x5t08tauz8jphmgg9vessz7n0q9qy9qsq0tlvfvswxcgsm7eynxthzjeju047smlursrnk9gqth27pur04efn9llwv444c22kl4ych3tyv5xmse803n2y6tsskjpc6t85kqxxjucpqhhkuk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '562', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'i2xCW5iMJobLoKrXGKVjqo1FvOvvBHkG+0IKzMIC9N4=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'hk8bf/XkIy3hnmWFro+DY/pJIDtPiqurSS7OvMcH0bU=', + r_hash: '8crUxg1rBV7LEZ+PmHID9HpT1ELoLKGt4nfcVOyGEO8=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581451374', + settle_date: '0', + payment_request: 'lntb1200n1p0yxzrwpp5789df3sddvz4ajc3n78esusr73a984zzaqk2rt0zwlw9fmyxzrhsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5ctwt0u9eu9csd6zh87mk3j7m5xa4uzscf8clxhfujz7rtz6supnq9qy9qsqmd6en6r5pznvc836f9hk0n4amllj7m0s0u4c36mq60vnrah6urezcazre873whsc30luysdgf8cvfne92ez06zcrlc3dt2z45adzkzcp9st925', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '563', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'wty38LnhcQboVz+3aMvbobteChhJ8fNdPJC8NYtQ4GY=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: '5S3ob0jWfDuENVyc2nsEIc9JXsYnuCpPGOIIR7qPoKs=', + r_hash: 'wPajoJkzJ1nitim7X0XNcUZVHvlDTfUxc/pc9vIMyUA=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1581451414', + settle_date: '0', + payment_request: 'lntb5u1p0yxzykpp5crm28gyexvn4nc4k9xa473wdw9r928hegdxl2vtnlfw0dusve9qqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5z8j2ml0l9trj2kejdwfzrwc96te57fhqe4k95wrpnl5tk0n74s2s9qy9qsq0hdrv7rryv7kx4kwnkc2lc8qtjqktmtju97w3m023j4qklwy39n8fp7xmecye9k7n4sdmjrx3hjy9g6896tk9rj6v7s7mkks3nnrsvgpxgkg46', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '564', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'EeSt/f8qxyVbMmuSIbsF0vNPJuDNbFo4YZ/ouz5+rBU=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: '/0CD0wGRoxDv+a3Tyl1aTpka4+JUngYpzFFtfcbfp/k=', + r_hash: 'jNQgcruYwq6qC+sTU3l8tysi0LPHrS4ODL4+kgyr2gg=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581451503', + settle_date: '0', + payment_request: 'lntb50u1p0yxz80pp53n2zqu4mnrp2a2stavf4x7tuku4j959nc7kjursvhclfyr9tmgyqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5zw3g0l6pvrlj2qlfugsmg9yv03tydqe9cjse9pgl8antuha0c8ss9qy9qsqca874f2s7gju58fxj8wgacra4q4q6qkmzk95x0xz70tn3rq0lvyryuz48f5dyn2l3xkp5lm40gcjh4xg0d6wh5parsy3svfc5x0vs2cpl6c4j4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '565', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'E6KH/0Fg/yUD6eIhtBSMfFZGgyXEoZKFHz9mvl+vweE=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'JzQdf683oIEqZ+rjsuMtiTfOP78b4LxzXOs3PCC9zOo=', + r_hash: 'xz+x6C5P97hWIZM+Y8Ug52etJMJIVmiqw5JBPTKxD8o=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1581451569', + settle_date: '0', + payment_request: 'lntb120u1p0yxzf3pp5culmr6pwflmms43pjvlx83fquan66fxzfptx32krjfqn6v43pl9qdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5j63az6a06gndzhsej7kcmt0388kmzu5uw90f0r5dyppfetkwsz4s9qy9qsq2pj7vxcuqsgvxeen2vx5zcdchj6h5hezr72wz56yj0lxst0hqlapw28w5czkmtq9zgjtwpt09ecsc528h2hq83m2sn66gyqls6u36agqzgrqv2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '566', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lqPRa6/SJtFeGZetja3xOe2xcpxxXpeOjSBCnK7OgKs=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'OsO3TUjcxE3+m9ecS6bJ5hcziBbkN13G2SOcJF25t6A=', + r_hash: 'BHosBqYoJce853nbHyOIHJ+SrzSWwASTsyKH3fF/1Aw=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1581451589', + settle_date: '0', + payment_request: 'lntb120u1p0yxz29pp5q3azcp4x9qju008808d37gugrj0e9te5jmqqfyany2ramutl6sxqdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp563wqjrk226zkj84cuztr35khavl6pzdlngxee880kg432lqyhp9q9qy9qsqeh2x7pdp5zcem05rc2ps5t80h3qerasyr5d0sayupyu4p67jeedkurm88vz2wryzuxjjsd0c3y43455mrpsm2prl44slgwtdwg06jlcpnu0slc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '567', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1FwJDspWhWkeuOCWONLX6z+gib+aDZyc77IrFXwEuEo=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'RJvJDTa+B/YM8qxukz5Zlbw5e6CebDgVqewO5gbTmlM=', + r_hash: 'zm5cKlf9OeAB4QUNqVmb6bMFfaeBOcLgFVbQLPKiym4=', + value: '120', + value_msat: '120000', + settled: true, + creation_date: '1581451602', + settle_date: '1581451605', + payment_request: 'lntb1200n1p0yxz2jpp5eeh9c2jhl5u7qq0pq5x6jkvmaxes2ld8syuu9cq42mgzeu4zefhqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5dey5xwyraj0x3usmfzkw2cq7wnaq8e0dukjwamze0prgl3lu9xhs9qy9qsqawjs3r9636kuq734jykmssw5krgls3a5lhwe9ztdwj0mjxfqvssz8hleh5zj30ydxxglc77qr9d7pz3tpk03hjm34uksu2rky4e84tcqlqwwlz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '568', + settle_index: '8', + amt_paid: '120000', + amt_paid_sat: '120', + amt_paid_msat: '120000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '5', + amt_msat: '120000', + accept_height: 1665613, + accept_time: '1581451605', + resolve_time: '1581451605', + expiry_height: 1665656, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '120000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bklDOIPsnmjyG0is5WAedPoD5e3lpO7sWXhGj8f8Ka8=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'vvWje/hShYjDPubD2ZjiHQFm1YwH69ISxd7RHdqGW98=', + r_hash: 'ilmGNu+vXtw/0Bz6UTXp1k9RQhNoJ74MkKlk9im8xd0=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1581451742', + settle_date: '1581451746', + payment_request: 'lntb5u1p0yxzw7pp53fvcvdh04a0dc07srna9zd0f6e84zssndqnmurys49j0v2duchwsdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5fn483s3rtyshvhlgnvam4mknza2lla2ukq8yg0m42w3k96ak5nzq9qy9qsqlv877dgvrqv3apz56r6m42evqhv6slpm4dpex0fz74uf5x004fnxwamu4eyajlx5qujjhwsdpeugq76ce6zcxu85j079rh8ll4q8maqqy7j2x0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '569', + settle_index: '9', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '26', + amt_msat: '500000', + accept_height: 1665613, + accept_time: '1581451746', + resolve_time: '1581451746', + expiry_height: 1665656, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'TOp4wiNZIXZf6Js7uu7TF1X/9VywDkQ/dVOjYuu2pMQ=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'Tq8k3a8AWzZUH9L0LJAdhi2Z5gM6wDLUzBrSKo3Xd9g=', + r_hash: 'dL8BQwmc86op5wP/XG3s067IfhAHFVPCTFkJBolAVuw=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581456909', + settle_date: '0', + payment_request: 'lntb1200n1p0yx8sdpp5wjlszscfnne65208q0l4cm0v6whvslssqu248sjvtyysdz2q2mkqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5gugk3d7wdxstgch2kndjdpg60zh7e6u08ekmwm4z685d72f477ts9qy9qsql7530h6lvkx5nda4dq4cjz74dmkgj4s0fyrhu0p0vh6qjhkzaahs74has0de9433dvw3x6wkth72kdfgdy0tfg3q0gzkyskl0lvnz0sq595tfu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '570', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RxFot85poLRi6rTbJoUaeK/s648+bbduotHo3yk195c=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'V+BOFnevfdULDApUBAIjBNnWjQScC1ozdft4/uoRFRg=', + r_hash: 'DInmfjILjgZhCywOYK2QmOiLvek7s5pIrWFt9bG6JSw=', + value: '120', + value_msat: '120000', + settled: true, + creation_date: '1581456923', + settle_date: '1581456926', + payment_request: 'lntb1200n1p0yx8smpp5pjy7vl3jpw8qvcgt9s8xptvsnr5gh00f8wee5j9dv9kltvd6y5kqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5c43gvzc8vscv9w23r6al4z4ctrgtxzm30kfh9cludyhpkrc962ns9qy9qsq03rhrnckx4xy6shptpyw0r23th5xcam0nu22skw9x5ds5ct63eex88uzdm8gymvrswn6yg3s9vj2khnnwaczam4wfkzcnedseknzsgqpsmrs7y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '571', + settle_index: '10', + amt_paid: '120000', + amt_paid_sat: '120', + amt_paid_msat: '120000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '6', + amt_msat: '120000', + accept_height: 1665618, + accept_time: '1581456926', + resolve_time: '1581456926', + expiry_height: 1665661, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '120000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xWKGCwdkMMK5UR67+oq4WNCzC3F9k3Lj/GkuGw8F0qc=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'xTJOXiP9kMge11Byo8u/LbGLQr7/TtsGfBYAh8T7LHs=', + r_hash: 'ys3PXhoKtAVXY68jXVYd3y4/uOQFQUSCMImkhZgWqIw=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581457016', + settle_date: '0', + payment_request: 'lntb1200n1p0yx8ncpp5etxu7hs6p26q24mr4u3464samuhrlw8yq4q5fq3s3xjgtxqk4zxqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5q4pzsj9q7ze06g45hn2d30sq54a06unja3yvslxsazxjdugk6tsq9qy9qsqgvmps3wjy94frggahs52ny9lwgf95v86lry0cvv8xqh4wjq5s6xkw034ds59pzcwy0hmpt4ux97rcqe9cnjpd9h30xh4d0lw8h5srkcqpa6w6t', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '572', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'BUIoSKDwsv0itLzU2L4ApXr9cnLsSMh80OiNJvEW0uA=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'H7EbFOy/5RD01onseAXtUpEnx5eFgVJd3nTLtv6oS1Y=', + r_hash: 'UUccdavOrC1MUFkY4PZgyxHyEf7rJnVNOgqgS4Cmjzs=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581457168', + settle_date: '0', + payment_request: 'lntb1200n1p0yx8cspp529r3cadte6kz6nzstyvwpanqevglyy07avn82nf6p2syhq9x3uasdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp55rammm7776wdpdvhguwdfjwjxnmjgklpf55gt6mj4sf9fu7dpyyq9qy9qsq54k7f8hk3d7qkz0r9wfylkw64wrntvzvmk7xgwwc38w4pyzkcqdhhq8teyrus0eplvfznk6l8sh454g7hu4pefzdhlw7mg4j2tdcx8qpx74xv6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '573', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oPu97972nNC1l0cc1MnSNPckW+FNKIXrcqwSVPPNCQg=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'MPilbGj7e55yrsLkzAfmIB+8w+L7AcEn16zDXab4KzY=', + r_hash: 'CHmDTWDvfzitF8OSFvT+PEaZJUHI0sWmPb2vL//vCqg=', + value: '120', + value_msat: '120000', + settled: true, + creation_date: '1581457180', + settle_date: '1581457183', + payment_request: 'lntb1200n1p0yx8cupp5ppucxntqaaln3tghcwfpda8783rfjf2perfvtf3ahkhjlll0p25qdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp539pamp3hf50xtj3z8eup8l5hu4k5y0ys33lglm4e6x4uulugn82s9qy9qsqx57h6w85qqhzwwpd7ey4egpugxmpmxua8amxge4ldp5daa0g9ta37ctlnp7lxqnzfe4yrn43wujskgf3eqwv47f0zkvg7qyv3scvh9cp2tjqyu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '574', + settle_index: '11', + amt_paid: '120000', + amt_paid_sat: '120', + amt_paid_msat: '120000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '7', + amt_msat: '120000', + accept_height: 1665618, + accept_time: '1581457183', + resolve_time: '1581457183', + expiry_height: 1665661, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '120000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iUPdhjdNHmXKIj54E/6X5W1CPJCMfo/uudGrzn+ImdU=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: 'gwDiNSdjhWc2lpZ48tJoV59SrRWKHb90Xx8ZGN3tWZE=', + r_hash: 'n9NvK703pnXK91jFw4DnxthQGO2yjf0fPBCmOHLy5Ms=', + value: '201', + value_msat: '201000', + settled: true, + creation_date: '1581457406', + settle_date: '1581457409', + payment_request: 'lntb2010n1p0yx8l7pp5nlfk72aax7n8tjhhtrzu8q88cmv9qx8dk2xl68euzznrsuhjun9sdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp5zqp49fdgz2zw0r887j425rqy64eva4me4l3nxxdmmc7zxxlh9uuq9qy9qsqma25tdjxeeg05fr2fcqx23lqn9khajlj67nygr5fh555arfp9yykwcwpt29pm0ujltpkqmap2fsa6yu4gtpg68tfm679tlylqp589tcpr29xu8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '575', + settle_index: '12', + amt_paid: '201000', + amt_paid_sat: '201', + amt_paid_msat: '201000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '27', + amt_msat: '201000', + accept_height: 1665619, + accept_time: '1581457409', + resolve_time: '1581457409', + expiry_height: 1665662, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '201000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'EANSpagShOeM5/SqqgwE1XLO13mv4zMZu948Ixv3Lzg=' + }, + { + memo: 'Local-Rebalance-201-Sats', + r_preimage: 'Q0JZhQ6RaDD1pzbvUbbQJZo0xi03o94jewDoUqpB99E=', + r_hash: 'DX1wbtwllzaiAX5rmicK9hSTQ6Co3fKhlTGyQNejing=', + value: '201', + value_msat: '201000', + settled: false, + creation_date: '1581457458', + settle_date: '0', + payment_request: 'lntb2010n1p0yxgpjpp5p47hqmkuyktndgsp0e4e5fc27c2fxsaq4rwl9gv4xxeyp4ar3fuqdp8f3hkxctv94fx2cnpd3skucm995erqvfd2dshguccqzpgxqrrsssp5mku0csh3kurylyl80zuu6ltemm3p65v83chrylehxvu078w0qhcs9qy9qsqe88endsnwvmgdy0hvkpmdt4epyez0n8ls8leqlkzldms5uxt2wsstrnxw6dhxsakzrdgvnxghskqrsvmg5xsdjc9y9q6rkue8w8f8uqp42vwt6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '576', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '3bj8QvG3Bk+T53i5zX153uIdUYeOLjJ/NzM4/x3PBfE=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'cUEAt9QsDWdxLg1AStRi4vz01wUt2f0vc8sBgiexcNI=', + r_hash: 'zpk0w/nrHt0lbhcUTKneVWyhyISf2eSf8JrqR9WGxi0=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1581457474', + settle_date: '1581457477', + payment_request: 'lntb5u1p0yxgzzpp5e6vnfsleav0d6ftwzu2ye2w724k2rjyynlv7f8lsnt4y04vxccksdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5t9au9x7l0dx408d69ckkqtm2rxu3h8uxkkhcr0dp0m5g0pg3xxaq9qy9qsqeqgx5ajtscjkc4554k05hdtwkxtfzx44mmx9944r7dg3pyqppcsyv3u7huuyldykh2rjzhwwjckxy7r9pj5taes7hszqf7hny457q6cpkhww62', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '577', + settle_index: '13', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '8', + amt_msat: '500000', + accept_height: 1665619, + accept_time: '1581457477', + resolve_time: '1581457477', + expiry_height: 1665662, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WXvCm997TVedui4tYC9qGbkbn4a1r4G9oX7oh4URMbo=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: '8ZjYIklcL0mIc7ECO625KZW9J8mGvY/2vsdVXAN4onc=', + r_hash: 'p6el06EW5plgXHfQd6eSJWhnaBrPWHmzTVMZX5OrCI0=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1581468463', + settle_date: '0', + payment_request: 'lntb150u1p0yxje0pp557n6t5apzmnfjczuwlg80fujy45xw6q6eav8nv6d2vv4lyatpzxsdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5ggr44e2fasrach3rv3xqex2e8dvkqqgzfmg08zmh9dv7jacjjxjq9qy9qsqxukk7n8lv3z2hazl7jxrl8kynwkzgx40cr72hezwa3p26z4j8xahz5lsl6meufwpdluxsfzf7cp3ydvw6a4g2hxkw9679hgwt0fsmzgpk7j7lk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '578', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Qgda5UnsB9xeI2RMDJlZO1lgAQJO0POLdytZ6XcSkaQ=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: '+mGdNUe4PZrJTjs6NSalZwiXeaRtApKavzYGSMpDcpU=', + r_hash: 'lXz96pqHv0ti7BByGGeBovKKKnx5NB2Ys0kBeyaNovI=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1581468477', + settle_date: '0', + payment_request: 'lntb120u1p0yxjeapp5j470m656s7l5kchvzpepseup5teg52nu0y6pmx9nfyqhkf5d5teqdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5v8rutepquc8fux5zt8vc6azuwqunflqshym5ufjru87648tlg4dq9qy9qsqusshjt3ndksk5f0uqjxzgnwtaz0vx3whlerdkl3u63n53th6z3vr2xdaw0mlxje67072fp2t7w3za8jj04nu9wen2l68wpyqfaghgpsqtd6a8n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '579', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'YcfF5CDmDp4aglnZjXRccDk0/BC5N04mQ+H9qp1/RVo=' + }, + { + memo: 'Local-Rebalance-200-Sats', + r_preimage: 'gYkX4tFyNeWTFY2vF54fdd0FuX4TQpEtN47B/15zfmE=', + r_hash: 'YfSkcwNAoZ9UagVizyi+qHzt66Zno2+hBloNx3J3Vp8=', + value: '200', + value_msat: '200000', + settled: true, + creation_date: '1581468513', + settle_date: '1581468515', + payment_request: 'lntb2u1p0yxjmppp5v862gucrgzse74r2q43v72974p7wm6axv73klggxtgxuwunh260sdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5gg98f4sgs24rc6w0cnwnwvplg75lz74m56nc89ljjz5czpxsxczs9qy9qsq47tlzzpcns23qjqd4d9cv9nmfpw86dxnh8e6xygwgx4mym9n8qt4hkmr7n4f9ssvxrq5h35qu6u6pgw8yq8xfnfd3p9vck2kcqx7lzqp4hg9ea', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '580', + settle_index: '14', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1772357768397389824', + htlc_index: '0', + amt_msat: '200000', + accept_height: 1665630, + accept_time: '1581468515', + resolve_time: '1581468515', + expiry_height: 1665673, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Qgp01giCqjxpz8TdNzA/R6nxerump4OX8pCpgQTQNgU=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: 'nA3jYUSJ6kOY5CXYdiz7yk/mNQrhO9RKNTUC22j8cyc=', + r_hash: 'mGaSFW1UgYLLK1eY0roFteUirEwib7PLn71jvB9W3KI=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1581470994', + settle_date: '0', + payment_request: 'lntb1u1p0yx4gjpp5npnfy9td2jqc9jet27vd9ws9khjj9tzvyfhm8julh43mc86kmj3qdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5lrjcl66qzvacpkky4sw547jrdf3d09ctxlq3c4ushslh6c08nk3s9qy9qsq8va0ndxdl375anssrk0fu32r529yq4cg8y0afw86hn2wcvvnkn83mfers4y3zulr2y2kx8val6x9qphu8kjyd9gv2vflhs7r6l8eajsprfcqzz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '581', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+OWP60ATO4DaxKwdSvpDamLXlws3wRxXkLw/fWHnnaM=' + }, + { + memo: 'Local-Rebalance-1-Sats', + r_preimage: 'BIe/uMrGj1lzp9/Q4BpuEcnixlbDp8LdKYI2B6KIY+M=', + r_hash: 'iDKdbRB7/KaYmURlt3uaL/o/zZ2T0DZvW4Gu0UjrM6E=', + value: '1', + value_msat: '1000', + settled: true, + creation_date: '1581471051', + settle_date: '1581471055', + payment_request: 'lntb10n1p0yx42tpp53qef6mgs0072dxyeg3jmw7u69larlnvaj0grvm6msxhdzj8txwssdpyf3hkxctv94fx2cnpd3skucm995cj65mpw3escqzpgxqrrsssp5rpun8pztp3y38kf2ar74d863gaznqzftutlp9uny8gv38vzz5v7s9qy9qsqzcp4pv27k99mh9rywlp3tcqcl9dche9cc6ezuhdfd43zdrv2wdl9aee43f9ff6nsf8fcvuewvwnkrft2jlhdzw909vx25d9ksqfdnhgq5tq396', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '582', + settle_index: '15', + amt_paid: '1000', + amt_paid_sat: '1', + amt_paid_msat: '1000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '9', + amt_msat: '1000', + accept_height: 1665632, + accept_time: '1581471055', + resolve_time: '1581471055', + expiry_height: 1665675, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'GHkzhEsMSRPZKuj9Vp9RR0UwCSvi/hLyZDoZE7BCoz0=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'j9k5uW9ORqJ7n9W3m4FE/Pj9NXdNYYMKFbW8pqqkkuY=', + r_hash: '1PfUAPBeJYPJWwI6xn3ie6/2F7e5mdO0HFxQmmAH9Bk=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581473742', + settle_date: '0', + payment_request: 'lntb50u1p0yxh7wpp56nmagq8stcjc8j2mqgavvl0z0whlv9ahhxva8dqut3gf5cq87svsdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5m59fk0ynxkdf7gha3ppa8654xwem08alqys82al9fs7v0eunlfks9qy9qsqwnuu6ea5qx252t3jkkdn3nfzqxf3zlxptaczaqfsgae75mffetkhdx5pwwvtfcrqru6wfp9400n0utrpm7vcd0nqnkfpdawdt58lprsql76vsv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '583', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '3QqbPJM1mp8i/YhD0+qVM7O3n78BIHV35Uw8x+eT+m0=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'm27VxmR0MyY0n3j0VwSy9Pxp8JzNxqTtIJlxKki6ngk=', + r_hash: 'iKHf8NqQc5nTZtKv1YducCy9Y25jQ9l0TMuHXKcT6+g=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581473763', + settle_date: '1581473766', + payment_request: 'lntb50u1p0yxhlrpp53zsalux6jpeen5mx62hatpmwwqkt6cmwvdpajazvewr4efcna05qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5a95c00r7c9g6cz2d6py8l449342pvh9nm9g30y7lkvj45wmlmq4s9qy9qsq4ftvkarj787dnpf8nfjz7ykja85wg66apx07s0lkkdnpty6d6rt599e0j06auctwxg2qcmg26tmac6uks2pf4lhzl6jwtg996hszpusqrh87ke', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '584', + settle_index: '16', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '28', + amt_msat: '5000000', + accept_height: 1665635, + accept_time: '1581473766', + resolve_time: '1581473766', + expiry_height: 1665678, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6WmHvH7BUawJTdBIf9aljVQWXLPZUReT37MlWjt/2Cs=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'ff8K/xZAiNfkV77zkJuJMitvqQBBESthzu5Ao2mNBoY=', + r_hash: 'v0qSlkP/2LEe5keXNsqP+/30WplTaW0PvwfgXpcS0Hw=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581473869', + settle_date: '1581473877', + payment_request: 'lntb50u1p0yxczdpp5ha9f99jrllvtz8hxg7tndj50l07lgk5e2d5k6ralqls9a9cj6p7qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5kdq008782vf35ehlmqckwfdstq8zcj6qyd5kn6afzflah2meedts9qy9qsq5mt2d4lu7ljeayswtf9pkatfzqd2wfanjc4h4w95urgkjfvjkkfr37kgjwq2j857rcpuwn5r2mcmgry8gra56luwdj3z4ueg2rhpcqcq9pw4gg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '585', + settle_index: '17', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '10', + amt_msat: '5000000', + accept_height: 1665635, + accept_time: '1581473877', + resolve_time: '1581473877', + expiry_height: 1665678, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 's0D3n8dTExpm/9gxZyWwWA4sS0AjaWnrqRJ/26t5y1c=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: '5Kh3EP6NMhdyq2/fGJDhmVq8FKld8nNSfqbJZm0yHb4=', + r_hash: 'p2kHZkyBpJbaO9+UgWlDpoHFwxUYFEpsgNGaCzsCJkg=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581474534', + settle_date: '0', + payment_request: 'lntb50u1p0yxchxpp55a5swejvsxjfdk3mm72gz62r56qutsc4rq2y5myq6xdqkwczyeyqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5lwhnz2yfgdfux3ay5khmrzpltmzqq9hu4fff978nngmk32g6lhdq9qy9qsqm7323e83y247xyrlrgcxswecx02y8x74p0wpmxfsd50j73w0rkd4aluv0nwp6v92cxm7twyqp3w3s34y4jjlw45udh6y8r79063qh7gp5l8nts', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '586', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+68xKIlDU8NHpKWvsYg/XsQAFvyqUpL485o3aKka/do=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'VjlcZQYJfY7+DaeBoAd1agW+qe/1NR5M2+lRNoCvmMg=', + r_hash: 'EmaSc/OscGKhmVGBk9ijqWGcZBBz67ZYudHtKdQ9U6w=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581474550', + settle_date: '1581474553', + payment_request: 'lntb50u1p0yxchkpp5zfnfyuln43cx9gve2xqe8k9r49seceqsw04mvk9e68kjn4pa2wkqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5e55vr266w4ggsswhlk0es0jty3uzn207xj46yaftclv875k8ukts9qy9qsqy450gz5pnzzgrr4pgrpwxdxeqgelgschx0mjdnw4hjv5872ds4nymdcz4z294zhztx5gfz72tyetkfc0a0nde0h5hr6tr6u7l02cylsqah5rez', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '587', + settle_index: '18', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '11', + amt_msat: '5000000', + accept_height: 1665636, + accept_time: '1581474553', + resolve_time: '1581474553', + expiry_height: 1665679, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zSjBq1p1UIhB1/2fmD5LJHgpqf40q6J1K8fYf1LH5Zc=' + }, + { + memo: 'Local-Rebalance-200-Sats', + r_preimage: 'Wss/PQezeS72Fdy2/+yqwdlR/jZDX+LrKzFa0lncYgA=', + r_hash: 'wIUPpH4LG5YTjdHVLVBEhkWid4veRu+dFwh3NIWMecY=', + value: '200', + value_msat: '200000', + settled: false, + creation_date: '1581474786', + settle_date: '0', + payment_request: 'lntb2u1p0yxclzpp5czzslfr7pvdevyud682j65zysez6yautmerwl8ghppmnfpvv08rqdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5zcsjw4gg3vny8m5t2dqlw0g77mm7zkz805lahg0wajxwmkn0vsaq9qy9qsqzamtykfh9zf7pgleeacktg3pd4k6gmfk6me28xzaw3ku5vgck9f99xhfkcfd6xp3jwqfjxa0udsgwmhrurp0ljt0787232yclhnr44gq93jeau', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '588', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'FiEnVQiLJkPui1NB9z0e9vfhWEd9P9uh7uyM7dpvZDo=' + }, + { + memo: 'Local-Rebalance-200-Sats', + r_preimage: 'V/JCPayyIpaUgMV3zW7n6xTY9kd+SCB5l8yb+qV/igE=', + r_hash: 'GJbpCZWjwIApTbBt5oKpjc18C08NKypCZMSwRC7B09s=', + value: '200', + value_msat: '200000', + settled: false, + creation_date: '1581474836', + settle_date: '0', + payment_request: 'lntb2u1p0yxeq5pp5rztwjzv450qgq22dkpk7dq4f3hxhcz60p54j5snycjcygtkp60dsdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5k2eeu6znjnlvjemmfjcg2yqz727cw7y7rjcyu9s0dj76r5wl4gfs9qy9qsqxx55r2j8dnyx9xxvem93fq54nphwd8ucv9xrre6l0yrv6900p8wj2prxygnn7pfwj06kkamd26nt7yp27dfkseqytsqpdlyexnda8dcpsy66pe', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '589', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'srOeaFOU/slne0ywhRAC8r2HeJ4csE4WD2y9odHfqhM=' + }, + { + memo: 'Local-Rebalance-200-Sats', + r_preimage: '9wD8sYEqaAXD1TbEPF7O0br0A+MNmHoIxG7KIBy/58U=', + r_hash: 'k3/QNE8Ul3QYqNIEayXa/xwcPyT0dbFt3ambUMCY0VY=', + value: '200', + value_msat: '200000', + settled: true, + creation_date: '1581474853', + settle_date: '1581474856', + payment_request: 'lntb2u1p0yxep9pp5jdlaqdz0zjthgx9g6gzxkfw6luwpc0ey736mzmwa4xd4psyc69tqdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp52qu2klmt03qdx3ht5kas90u40ljtszh9xk8vqg05ak6tv9nck70q9qy9qsq9e79w76z0ncd5g7l5sz97wuznc2upprjp90he8k64l4cx6d7er4ywzymuxt0ypynugkywk8d5hs9w0fgdcqhnjcdyf3rrnzm3689s9cqye65tm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '590', + settle_index: '19', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '12', + amt_msat: '200000', + accept_height: 1665636, + accept_time: '1581474856', + resolve_time: '1581474856', + expiry_height: 1665679, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UDirf2t8QNNG66W7Ar+Vf+S4CuU1jsAh9O20thZ4t54=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'c4rQQmXQPAm3ui+qG3z1uj3A/bCv63hG0I7OMiZ89n0=', + r_hash: 'N8H2CVw5D30QXhzrR2DwNtXP59ypIULy5G09kymKabA=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581476862', + settle_date: '0', + payment_request: 'lntb50u1p0yx6l7pp5xlqlvz2u8y8h6yz7rn45wc8sxm2ule7u4ys59uhyd57ex2v2dxcqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5xk8ehz78zawl348r8796vuulrh5s834y2lju659dcl3wmxnhfrmq9qy9qsqyacqusg77hl7w837790jr220s28h58t9ms7rz2w3r2fz6w06n5csv70ktlewxlf9wzdp0dq8xv09w8yx4wkygw8f937vpdgp6z7jp6qq76vzwz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '591', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NY+bi8cXXfjU4z+LpnOfHekDxqRX5c1Qrcfi7Zp3SPY=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'vz/1RUiZJdFj2/x1Ifdmk/VIU3xpAYRDv2TLkD68Iz0=', + r_hash: 'GHvwloYjji2PSdjF8gIqcl8xh4xbhBIHRE9Au46KP/c=', + value: '2000', + value_msat: '2000000', + settled: true, + creation_date: '1581476933', + settle_date: '1581476939', + payment_request: 'lntb20u1p0yxmz9pp5rpalp95xyw8zmr6fmrzlyq32wf0nrpuvtwzpyp6yfaqthr528lmsdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5pn2hmnpnmj9swd07lz4vvfjml3w7new93xx9unugudcsuup2fl3s9qy9qsqhr6wluh7sfvme7fecana9kgpyxxx35acnhn9vrw9mavyvrmk63sn852xlzr5hwexsx9tp0fs0k8qhytq6m8xwxhz3gk3ypd7n7h7z2qqkj34r7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '592', + settle_index: '20', + amt_paid: '2000000', + amt_paid_sat: '2000', + amt_paid_msat: '2000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '13', + amt_msat: '2000000', + accept_height: 1665639, + accept_time: '1581476939', + resolve_time: '1581476939', + expiry_height: 1665682, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'DNV9zDPciwc1/viqxiZb/F3p5cWJjF5PiONxDnAqT+M=' + }, + { + memo: 'Local-Rebalance-20000-Sats', + r_preimage: 'ydOAr17a/6bQ/Py5YaNOKYEB+hd3Y/N88EWwodRKLa4=', + r_hash: 'cnPUVT26aMetwMX15AxxrwLiz4WfJPwQmgru+pjQYPU=', + value: '20000', + value_msat: '20000000', + settled: false, + creation_date: '1581477002', + settle_date: '0', + payment_request: 'lntb200u1p0yxmy2pp5wfeag4fahf5v0twqch67grr34upw9nu9nuj0cyy6pth04xxsvr6sdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5fk6thtep80vqjtgsld04zq6nn2jsdgsex0e2aw5y5jsjugeqzc6q9qy9qsq9krpvkcd527ykj888qsvnx40egpz32ly2dw52vk7l5jx8hc6rd653sn5q7f29wqg07uq3f0fk9gn8e2ajsuctnzjhwg8vwmlswza2zcp8uj3xl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '593', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'TbS7ryE72AktEPtfUQNTmqUGohkz8q66hKShLiMgFjQ=' + }, + { + memo: 'Local-Rebalance-20000-Sats', + r_preimage: 'knhioLU2IOybujtJXcka9wPbMi1Sh9wXM2oyw7NbfwY=', + r_hash: 'rnBX0e4cSiu5zFfKi1merJo6ZqxwKVz5J016x8ZHIhg=', + value: '20000', + value_msat: '20000000', + settled: false, + creation_date: '1581477037', + settle_date: '0', + payment_request: 'lntb200u1p0yxm9dpp54ec9050wr39zhwwv2l9gkkv74jdr5e4vwq54e7f8f4av03j8ygvqdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5nwrgz656p0vmuytlq9q4zkltp8fl9plavs2r5anma6ne8at2r5vs9qy9qsq0hzltnl0t7dzva42h3tsf0nhp5ng62pvz63jkr73cn6w4z8t05j5vh9jcq2za6l2rr6ql0p3plertzeqx53lgft5ul2dvh8sa4pwetcql8wvtt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '594', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'm4aBapoL2b4RfwFBUVvrCdPyh/1kFDp2e+6nk/VqHRk=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'jVBH83gVq+3msFzyZYwkGqvPs6Nw15dSdDHzJTl1Or8=', + r_hash: '8BJZIWn5vY6R6wNlpVQmMftC8bx7YxrYoRQ1LH7q+cg=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581477267', + settle_date: '1581477269', + payment_request: 'lntb50u1p0yxmvnpp57qf9jgtflx7cay0tqdj624pxx8a59udu0d334k9pzs6jclh2l8yqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5dmg0tqfstctzsj6n0mh2zg0fs5t6cgrhfkhgpxuj7c54nnduwvts9qy9qsqsnc3uqku2ccjcgctezjp6qkmn9rphe0vq5ytae9vrk0xp9dcuq4943cermnr9w844s00d33ztk6a8qgek45qyfxupgx6qdagyyahx0sps0s357', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '595', + settle_index: '21', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '14', + amt_msat: '5000000', + accept_height: 1665639, + accept_time: '1581477269', + resolve_time: '1581477269', + expiry_height: 1665682, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'btD1gTBeFihLU37uoSHphResIHdNroCbkvYpWc28cxc=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: 'yA+sMRPHqE2h6cJoJqCl4//NItSPPJkdDg59HXXNtEs=', + r_hash: 'XjfZatbQSgLLbC9sCCWb16vjMeXYObyaBoXvEUetNIM=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1581477552', + settle_date: '0', + payment_request: 'lntb500u1p0yxm4spp5tcmaj6kk6p9q9jmv9akqsfvm6747xv09mqumexsxshh3z3adxjpsdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp5ufzy33pketjpfxu27c3ygp883gv2u4ukgw3td5crlt325sy9pxsq9qy9qsqg85d4dgzza27r57k4lmzs64vewklj0esdm7cgp95mfh3ych4wtqq9t5pcl0vx2d4m5yzn259hm45lklj0c4l3l80qu9a3q2a4cdhelgp0mytqa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '596', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4kRIxDbK5BSbivYiRATnihiuV5ZDorbTA/riqkCFCaA=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'w58OwznXkhhYrHgK0pirfYESGwlhEmRUtyjy1ZuAwow=', + r_hash: 'solxHFouJZfngDmG2Dlu++sGVmow6x49R4GkNf0TaSg=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581477597', + settle_date: '0', + payment_request: 'lntb50u1p0yxmkapp5k2yhz8z69cje0euq8xrdswtwl04sv4n2xr43u028sxjrtlgndy5qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp59tqpcte08c99fynz2tulameqfyvmvw87lefwqr9pldudzevqahes9qy9qsq4qdnt9wnyz9fgwcruy8trd07r9w7pgjrw44907tgrppm3mn7sc6nq3fss2a8r70udedcpwxvq7448nda2rpq650fwhqehrsqh6mkzscpuna3vq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '597', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KsAcLy8+ClSSYlL5/u8gSRm2OP7+UuAMoft40WWA7fM=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: '45rRUb6UNe2mVjbm8dGFl5iV+0tC2BFdvzUUBNJaUHo=', + r_hash: 'jYQOA5bmlIYZV/cPLPQLcCKXEpHerQHUILxAF9rUNUI=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581477647', + settle_date: '0', + payment_request: 'lntb50u1p0yxmc0pp53kzququku62gvx2h7u8jeaqtwq3fwy53m6ksr4pqh3qp0kk5x4pqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5vnex7uqae65fl2edene3rteq26jdjarg7cjd3gm4u9kpdw2cfq2s9qy9qsqmyv8afygdn9zmpfhm457q3h38qxt8ejjn2t7zlsg6dfmq3kfmgj956ph9zvsu9hjudqa0am6u44nd3wzvuamrth9l5c3293zj6pxurgqdtuw84', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '598', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZPJvcB3OqJ+rLczzEa8gVqTZdGj2JNijdeFsFrlYSBU=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'xJHN6fZbj6hncW3Opiylg6YXLsdogck/O+eMLOxZhN0=', + r_hash: 'RpumBvbl3iOdBZU0ZQehxQWNxL+cto/Wytts3IVh7zM=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581477680', + settle_date: '1581477683', + payment_request: 'lntb50u1p0yxmespp5g6d6vphkuh0z88g9j56x2papc5zcm39lnjmgl4k2mdkdeptpauesdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5ar4mvn34dx54xh9cegmvsykpmwggdmw0xuqhjrcu57pptwwf0qqq9qy9qsq8kav3fsatjt5kjyu5gns3am82dttewlqqqj7mzvdn834zkwwfan3g8nmmukwnulvdd4cyd2z2t5px3cpmacsg934l5q9crg86970x4qpf594fa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '599', + settle_index: '22', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '29', + amt_msat: '5000000', + accept_height: 1665640, + accept_time: '1581477683', + resolve_time: '1581477683', + expiry_height: 1665683, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6Ou2TjVpqVNcuMo2yBLB25CG7c83AXkPHKeCFbnJeAA=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: '13AaOzyGfrZNViPEjctXPUlMUGvg5UU/cy/ZwYLjvG4=', + r_hash: 'KD0bOaDorHi/oFLj7TeEdZONmdmZVsZ75pJJhypZE6A=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1581477703', + settle_date: '0', + payment_request: 'lntb20u1p0yxm68pp59q73kwdqazk830aq2t376duywkfcmxwen9tvv7lxjfycw2jezwsqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5z7eewal76sw2vk845d7e6krl4gzdvqs4vpm9dja22ht4fr4rkjes9qy9qsql6zw3s6weclsks7qqdl5cpygwt4v04xlch8y37x8vrvgjq08n233p7v7c0eq5g2evgvtzse92m4vkzs2gr8g9fdc23lustu7cvsv2sqqa9772v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '600', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'F7OXd/7UHKZY9aN9nVh/qgTWAhVgdlbLqlXXVI6jtLM=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'Wxrue9g2GSeBGMhbMtYGxNGUnKWZbF8jh0Ia7xkAOzg=', + r_hash: 'C+6umSQ7bPRUEPR6baplFdmzMFukotcyDuI9zdFOj2A=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1581477710', + settle_date: '0', + payment_request: 'lntb20u1p0yxm6wpp5p0h2axfy8dk0g4qs73axm2n9zhvmxvzm5j3dwvswug7um52w3asqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5wta2pp5rxrlg4sx6rpffg6ltnf5w4q6hgjyuw9x544zfd0ylu9as9qy9qsq8vy395nc2v63skkynarq9c03z6ujlj7j9m0syhl0muhk7x52g8n379k70qzyu20ef3y50plg06u9mfhy828w5wrmxhzz7yncjmqe5wcpj46pfx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '601', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'cvqghoMw/orA2hhSlGvrmmjqg1dEiccU1K1Elryf4Xs=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: '6ZMLwQeLaCDGcFe7HYNQbqY1Ivd49IbUfCreGVus5aA=', + r_hash: 'QprXZCaxQdOBWjWYx5zlQ2S2QjhT+QGXbaEbEOSILkg=', + value: '2000', + value_msat: '2000000', + settled: true, + creation_date: '1581477731', + settle_date: '1581477733', + payment_request: 'lntb20u1p0yxmmrpp5g2ddwepxk9qa8q26xkvv0889gdjtvs3c20usr9md5yd3peyg9eyqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5tvt7gmgr377ad6c7sp6levewh63fp542x699gqmkmrchfqxk6sxq9qy9qsqp73plzrfd7ptpmq4a6g67p4dk846sue4yn0yns5yj5j9pddwzzcnu2xvmf27jf99vv5sran76zt448urpfddx696a0raetypc0t9kdcprgyav8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '602', + settle_index: '23', + amt_paid: '2000000', + amt_paid_sat: '2000', + amt_paid_msat: '2000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '15', + amt_msat: '2000000', + accept_height: 1665640, + accept_time: '1581477733', + resolve_time: '1581477733', + expiry_height: 1665683, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'WxfkbQOPvdbrHoB1/LMuvqKQ0qo2ilQDdtjxdIDW1Aw=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'U/WaymYb5pFEbnezeqynEWXrPhuin3y1Qven1P6rKs0=', + r_hash: 'Oom1EUlY38g+/eeeshghfrz0Zfap3MRQOSbgU5S5qyM=', + value: '2000', + value_msat: '2000000', + settled: true, + creation_date: '1581477816', + settle_date: '1581477819', + payment_request: 'lntb20u1p0yxmacpp582ym2y2ftr0us0hau70tyxpp0670ge0k48wvg5peyms9899e4v3sdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5qht647uhcvzcltnc7f2mc4fck33hyuedeadz2vjcrn7hvalflwvs9qy9qsqr4qh76zsgmwu6hmegljwzxra2ca33kf294vn80edvu7ztv45t6k8k2y6rkdh299gxvs3hhzerfe739dwsm26t30tp6fmrsa3echmqgqqphn3yw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '603', + settle_index: '24', + amt_paid: '2000000', + amt_paid_sat: '2000', + amt_paid_msat: '2000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1772357768397389824', + htlc_index: '1', + amt_msat: '2000000', + accept_height: 1665640, + accept_time: '1581477819', + resolve_time: '1581477819', + expiry_height: 1665683, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Bdeq+5fDBY+uePJVvFU4tGNycy3PWiUyWBz9dnfp+5k=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'zAgwKKq2OPWQniu5Lr+yEZeE+w6iCfx+2auAFYJncd4=', + r_hash: '4dGvwGyNGTxd67o1aoL6oWVBvFaDrzeu4bU1NHi784Y=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1581477836', + settle_date: '0', + payment_request: 'lntb10u1p0yxm7vpp5u8g6lsrv35vnch0thg6k4qh659j5r0zkswhn0thpk56ng79m7wrqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5uahg4wvc7fumnqcmak4xyas7589uyw4y8veunypj3wfsew094ejs9qy9qsqr8dwcrjmqkmxj07yuk58tgzhj6tla3w6z6v86w0whtg0le0a9qg5dvgnl47h523mu4g2ruclhestamwxh0q6w0dl8m5v4hmx7x53tycqg6c59l', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '604', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '526KuZjyebmDG+2qYnYeocvCOqQ7M8mQMouTDLnlrmU=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'tOZgXWdoOwKpi9JPhruTLHFALJqv2/XDGOGxm5vVTKw=', + r_hash: 'YPEBl4m7AoZzph8ypI0VoM7uHnAIQKy8V98FKEKWxRA=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1581477846', + settle_date: '0', + payment_request: 'lntb10u1p0yxm7kpp5vrcsr9ufhvpgvuaxrue2frg45r8wu8nsppq2e0zhmuzjss5kc5gqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp53r520krltxm0yh22gtftu9p46mqrdz82t3q34jm4w5gwv7yp0ueq9qy9qsqj47j8admczj6csq0m77wudflvdhypa4x8wvp9kckd26uapcvqh8xpchyug9gur9emp2k8mamgxk74ytwk6rt662u77qj4l0dmcpupwsqd0z2mg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '605', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iOin2H9ZtvJdSkLSvhQ11sA2iOpcQRrLdXUQ5niBfzI=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'eqBvs+M8b1z7k8c8ihCNy7gpyyzP34cLDrl42TCRIps=', + r_hash: 'f6SBlV2haVt1UJ7sQyBMNF+qKmICQERt28Y1dDfDU+I=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1581477853', + settle_date: '1581477856', + payment_request: 'lntb10u1p0yxm7app507jgr92a5954ka2snmkyxgzvx30652nzqfqygmwmcc6hgd7r203qdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp52capg7yldssaeznmvz0cqa9nagvwv4vtkkzfzplls6t82uek2ccs9qy9qsqrafnhk3756vu6jjqsmd0v4kxx23qs7gr06s4x23h20yxsspdexw9j55mgzwpgrer42kklygx4vzg8xgfpnj9aphpverxkke20ej4e9cqzk29vd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '606', + settle_index: '25', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '30', + amt_msat: '1000000', + accept_height: 1665640, + accept_time: '1581477856', + resolve_time: '1581477856', + expiry_height: 1665683, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'VjoUeJ9sIdyKe2CfgHSz6hjmVYu1hJEH/4aWdXM2VjE=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '4yWqLmw5KddgLq++pLDEeK08f17JN9lbcVrVEjE1SHI=', + r_hash: 't9oHiL7pI32OkbobDeu1OLQvk2PSSGBfjyFpKzdzabI=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581516357', + settle_date: '0', + payment_request: 'lntb1200n1p0ygpj9pp5kldq0z97ay3hmr53hgdsm6a48z6zlymr6fyxqhu0y95jkdmndxeqdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp53p8cafetduq98mkmh2yznqkum3tq93huc9xegyhuymzcunywecgs9qy9qsqfydkx8mknaug3ud6s2hmpjuvrum55t2z6nqls5th6r2lvprzsd99gseurxz7dnyzhda66z8ft04xrmjcmarpatpfs089xwjrje79qjcpr7cl8g', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '607', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iE+OpytvAFPu27qIKYLc3FYCxvzBTZQS/CbFjkyOzhE=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: '9q4UULRnzxAe1Jzui+kfDxd75I5W5JebrsWQugps5fA=', + r_hash: 'OphUYiCmG2xoWlXvko70r+DUhgU2b2rkR2DtZ+nsnCU=', + value: '120', + value_msat: '120000', + settled: true, + creation_date: '1581516480', + settle_date: '1581516483', + payment_request: 'lntb1200n1p0ygpkqpp582v9gc3q5cdkc6z62hhe9rh54lsdfps9xehk4ez8vrkk060vnsjsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5p277mu39ssaey86pvhjftmwsae3u46la44n3la08j4m2kzrux6lq9qy9qsqf80shtuqzxfas73x9dazgep3zj0hhfshnt9smgg602kh0t48rq9qw5tdcu8yd8yjjy3hxgzdt27utp9av28xxkvg7ekcfvncnvcadssp94j6mz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '608', + settle_index: '26', + amt_paid: '120000', + amt_paid_sat: '120', + amt_paid_msat: '120000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '16', + amt_msat: '120000', + accept_height: 1665678, + accept_time: '1581516483', + resolve_time: '1581516483', + expiry_height: 1665721, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '120000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Cr3t8iWEO5IfQWXkle3Q7mPK6/2tZx/155V2qwh8Nr4=' + }, + { + memo: 'Local-Rebalance-120-Sats', + r_preimage: 'RazrHMvAQqyzIiMlxopbv4LSwlgZydfdtXrhWaqHKBk=', + r_hash: 'u6SYyZrcyN5fc59HL5IxnRVQW+5t1c/ppMnk4SouC7c=', + value: '120', + value_msat: '120000', + settled: false, + creation_date: '1581518135', + settle_date: '0', + payment_request: 'lntb1200n1p0ygrfhpp5hwjf3jv6mnyduhmnnarjly33n524qklwdh2ul6dye8jwz23wpwmsdp8f3hkxctv94fx2cnpd3skucm995cnyvpd2dshguccqzpgxqrrsssp5gaars5uvrpekavqfla92y45pq3dyp4xprpvdsgcjzusp55lqryps9qy9qsq2ycq9ugku3a4lyazcq8fs38hlzfaxgnrujgh3jptpd5qxduv49w9rw4wg4lv0ent5zh5ttdzm77xhfxtaccp665t0sk629u3lxtsxkqp2970yl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '609', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'R3o4U4wYc26wCf9KolaBBFpA1MEYWNgjEhcgGlPgGQM=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'wtcSqO/K9LtuAFrx1YeOl+PZCjqvEE3yWAZ9SG3WnzA=', + r_hash: 'MZltVezF8p/e2qhk97kfOyrvZtlbhhqfFx5A2LE5GcI=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1581518155', + settle_date: '0', + payment_request: 'lntb5u1p0ygr2tpp5xxvk640vcheflhk64pj00wgl8v4w7eketwrp48chreqd3vfer8pqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5gnyf38zhumzuvyknkcfujge7tz9vnv2cam74lsj9kclrnevqtvzq9qy9qsqlfg6rxllxl00t8pl9c685x8r94npdlzdhq2mjwrpwuqy7nlc3fuswjm3nh6p3hhh7rkeu045junyh805g7jd62vgcxsxc6uyvcrupwgpc2nslj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '610', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RMiYnFfmxcYS07YTySM+WIrJsVju/V/CRbY+OeWAWwQ=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'sbNy7nEsQLKfM3hQhiR8S/on8pDvWoLcJgNo8oRfzg4=', + r_hash: 'Iku1wF0YewVkKcZSeAFuTArdZ5XdXYbY1c3wIzf2qxQ=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581518178', + settle_date: '1581518181', + payment_request: 'lntb50u1p0ygrtzpp5yf9mtszarpas2epfcef8sqtwfs9d6eu4m4wcdkx4ehczxdlk4v2qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5guwg0zz8yufmg7s6enn7c00lvlmmq7y54wnhr95j8rkxgc5fh5cq9qy9qsqexzva9u4x6a29t4fqe8q7g53sf92w78y2kndf6kglsmw6a05cvc3zj6eykp7tdykea4p3yw5s8fv86qf3v7p2nx26pkn8c2c5gswuqgq9t4fp3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '611', + settle_index: '27', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '17', + amt_msat: '5000000', + accept_height: 1665680, + accept_time: '1581518181', + resolve_time: '1581518181', + expiry_height: 1665723, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RxyHiEcnE7R6Gszn7D3/Z/eweJSrp3GWkjjsZGKJvTA=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'OCd1MZGFQ5CGjIsh8mUWAuvK1uDnah+cgC9XTjcIovQ=', + r_hash: 'Z3wWsJ+4x4gHc9jGSGuTqueH9Ser9ftgr1V39A+l2Xc=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581518296', + settle_date: '0', + payment_request: 'lntb50u1p0ygrwcpp5va7pdvylhrrcspmnmrrys6un4tnc0af8406lkc9024mlgra9m9msdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5qp8j6tq6uq6yk4ux88mdaksfwjmnr308ggerrepq0nf3k6dvk60s9qy9qsqqy8e3998shhk29vhrwpnt6ymu7z3mgkuw676nl9y2mzag0jgs8xnrhm8yeujdct4983r74a72uw2l9ed7hzxyuc7dfs4a25fffsfyjsp7je69u', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '612', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'AE8tLBrgNEtXhjn23toJdLcxxedCMjHkIHzTG2mstp8=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'I5U3MMe68f3IBmFDERDFPg0THqXGPQ/aXaGzSgFgO/8=', + r_hash: 'GUNlpyP++k0xlotEd0yOoRAotRJbciYSNTDR75f3yvo=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1581559748', + settle_date: '0', + payment_request: 'lntb50u1p0yft7ypp5r9pktferlmay6vvk3dz8wnyw5ygz3dgjtdezvy34xrg7l9lhetaqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5l30a5wdhn78spqrxy3y8m8qml05c74ll096qtrmdwtk4nl4uur8s9qy9qsqelxp3s6v7rxy7e5zqc79r48uz663pyg6gg6w3ltk0gpxvctkajyjq264rzvrcljp8xn4cwxz75rc3pjmsjn9a3qt5w9k2wgggg8engcpq6qk2z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '613', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/F/aObefjwCAZiRIfZwb++mPV/95dAWPbXLtWf684M8=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: '1CUQ4UxNuA0OlFiOu0Dgfmn7EzYzv4L+GstCTUIGW6s=', + r_hash: '5VTcNsQu4DH4h946bWnQ4tRnLDn5+rx7ns6arr37dCI=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1581559761', + settle_date: '1581559764', + payment_request: 'lntb50u1p0yft73pp5u42dcdky9msrr7y8mcax66wsut2xwtpel8atc7u7e6d2a00mws3qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp59e62avzal78hu9k2sg4w07pdr0dfmzmjpkjx7crm427up9ewth7s9qy9qsqau8l53hpfd8t94tfafcedfnqkmk58z5060ew2k44ssh300d4m4y4kfy2r3z9r2dz3xmmey8tnp097y2r8t0x6fs3axqtytev2xnx47spj3744r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '614', + settle_index: '28', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '31', + amt_msat: '5000000', + accept_height: 1665735, + accept_time: '1581559764', + resolve_time: '1581559764', + expiry_height: 1665778, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LnSusF3/j34WyoIq5/gtG9qdi3INpG9ge6q9wJcuXf0=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'yO1TZC3ugwMY+f6Nd3Qwm6vdy7vn5v3wolTYlIC/xgg=', + r_hash: 'pBR6sJouDmhNMtWdKjnI/eeXkyvGzlwC937eV6ujlU4=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581604526', + settle_date: '0', + payment_request: 'lntb100u1p0y2h4wpp55s284vy69c8xsnfj6kwj5wwglhne0yetcm89cqhh0m0902arj48qdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5qsgd57rafyx0zesyymksdljgjwxndcdg9c7rw0qqjsckunmpzaxs9qy9qsq6hzt4c3w4phee65ngk3d0yct0fdku47y64ypvu0q22f9ja9f28h3cl9wjrvmsv4cq0jr38urzg525klf2j4k7ea3snaldl7d8ha324cqcprqw0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '615', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'BBDaeH1JDPFmBCbtBv5Ik4024aguPDc8AJQxbk9hF00=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'uInxOn5GoNIdOaRCgKIRoXkylW13TZ14i2lPxxtEFNU=', + r_hash: 'fxz7K7HaIGkDqC8TSHEDpAJgXQDs/gxzQk5rAEVJ4aw=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1581604568', + settle_date: '1581604575', + payment_request: 'lntb100u1p0y2hkcpp50uw0k2a3mgsxjqag9uf5sugr5spxqhgqanlqcu6zfe4sq32fuxkqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5zg5nz7hh5fhpuud0whzsx7s822l2xxjasavh770gcgtnsyu683rq9qy9qsq9w6pax4cfqyjdsk0eamwef7g7ytrv4r5y43a5ca20r05xp35hpa4zvtz9ye0vhd3e2tgy7jnvr9s46yu65f5ly0wluws727arpv4dpgqj976ad', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '616', + settle_index: '29', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '32', + amt_msat: '10000000', + accept_height: 1665795, + accept_time: '1581604575', + resolve_time: '1581604575', + expiry_height: 1665838, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Eikxeveibh5xr3XFA3oHUr6jGl2HWX956MIXOBOaPEY=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'J3zxpP65Onq7FjX3y8mHVCG9GuIgXKvtk68wGBBjRtE=', + r_hash: 'AGrXA3KQSIKryr2EJC/Y2wFrzjshYkw3oxk82UmmMw8=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1581696387', + settle_date: '1581696394', + payment_request: 'lntb100u1p0yd3vrpp5qp4dwqmjjpyg9272hkzzgt7cmvqkhn3my93ycdarry7djjdxxv8sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5r848hf5uqmu99clyu8scsxfk2dg7y3j4w0s89u9smcfxymvdgygq9qy9qsqltnkyfyh3c5k2nd96j22r4fsq6f4lh9x7qdtr55gpgg6hd8v60qsmnfz7fls4adat8n3s92pj7ngawc8q64uarg6z6ssnl6c5jxjfwqqdc0n2h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '617', + settle_index: '30', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '41', + amt_msat: '10000000', + accept_height: 1665871, + accept_time: '1581696394', + resolve_time: '1581696394', + expiry_height: 1665914, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Gep7ppwG+FLj5OHhiBk2U1HiRlVz4HLwsN4SYm2NQRA=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'YtUs5MittiKBQ8XeZFmuzmvEwtNYB4q6ftuYLmUG+CM=', + r_hash: '1OYWCX4mIJjNpxFShhjlhoPhry/aQhPdTG9pk5gRWwg=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581696425', + settle_date: '0', + payment_request: 'lntb100u1p0yd3dfpp56nnpvzt7ycsf3nd8z9fgvx89s6p7rte0mfpp8h2vda5e8xq3tvyqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5n667u04pp5jqyw4v020vh94jlfwh6lymfa6fpwhjlnq9j4735wkq9qy9qsqskzeamuu29gd6w9rn5nrx5vx7ghzttv8zatf3wgsaukysq0glk8jns5usqcxqua7nhf23eg72ad2hw3pg0xzagh8hnpe07n8jspjuycqgyhquk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '618', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'nrXuPqENJAI6rHqey5ay+l19fJtPdJC68vzAWVfRo6w=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'x68653ueP/efwplN8EhPnbI+CfXTvaPwHf/cop3/Ugs=', + r_hash: 'wp0TuZCmDx8lT1KZYzwB2CUV3OxqNAf9GhI0jxfeqnQ=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1581696586', + settle_date: '0', + payment_request: 'lntb20u1p0yd3j2pp5c2w38wvs5c837f2022vkx0qpmqj3th8vdg6q0lg6zg6g79774f6qdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp579ccry5q0enkdemz4fk9sjsqlakusemsfemp0l0re8ulgnu8ezfs9qy9qsqsgefh4jx2g84yynz9pc4z2s7urdetgz5pm8c8pjr6phrteefe5ah4phdnmqmqgt6gdgsyk0343e8zapg5zx9h7xucs3dfv2hcyx6tmgqdn98eq', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '619', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8XGBkoB+Z2bnYqpsWEoA/23IZ3BOdhf948n59E+HyJM=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'hto9CXAJY0/Ri7ma3NAjgh6K34BINucXGS9S/z1U5Lw=', + r_hash: 'S1cGbf5nLX9amtFo6k2IuSSc/YoyigNgtPIOt6We4pk=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581696746', + settle_date: '0', + payment_request: 'lntb100u1p0yd3h2pp5fdtsvm07vukh7k56695w5nvghyjfelv2x29qxc957g8t0fv7u2vsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5gchsp0sd6t629jvwp88w7g2y7e2vlc6e9w82vfx6xenccdy0cc2s9qy9qsqqczvuxdgraz8af3ma6jfwwenmq75wj7k26p6uy65mtklqg3jd0zzjhctsm0qq8fven66zjhe4tzd47tlm50wcwf3kvpaz638kx543vsqda8ue5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '620', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Ri8Avg3S9KLJjgnO7yFE9lTP41krjqYk2jZnjDSPxhU=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'hXsGDG6cyakh0z31/lKiyIMhz+T7aiyACXnK1IAlz7U=', + r_hash: 'kqgufbvY3XcUXKrffNpcWDj/X+QXU0IrU6IHefDUjFg=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581697022', + settle_date: '0', + payment_request: 'lntb100u1p0yd3l7pp5j25zuldmmrwhw9zu4t0hekjutqu07hlyzaf5y26n5grhnux533vqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5kakpmk4a5rt2fskpu8qqde5mhxakl6a2vxvvk6mtt9d8fdld0mpq9qy9qsq6wjavcy4khepg2gvgqd2kewj27eztv6nte646cvc5ersp8trknrhqxg90xpl2e93e4677dckwln4sev73x20kp2e9pgkmct0sglgy8gp0j6mnw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '621', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 't2wd2r2g1qTCweHABuabubtv66phmMtra1ladLftfsI=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'r/ck2bh76pPW0TC0nJEAe7fcXmmFHs7PxFEYWKaTOxE=', + r_hash: 'ydfYm+4JqlaJi/wDh3IeDEait/duq2hJbx4dakXVtuc=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581697219', + settle_date: '0', + payment_request: 'lntb100u1p0ydjxrpp5e8ta3xlwpx49dzvtlspcwus7p3r29dlhd64ksjt0rcwk53w4kmnsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5zap9q62v32kyme4e4ps04q20y3ae0hmktyk230rdte9cts07k9hq9qy9qsq66umepvghx3f5uhdtqf0ftk9rddv8wakmynt4lhn94xl2yahehd8fqewkg7jupaam5nnqd3qazsq40aex0lrnz5m8rwwgxgyw9kan5cphc8hak', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '622', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'F0JQaUyKrE3muahg+oFPJHuX33ZZLKi8bV5LhcH+sW4=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'CqKNyVd/eD2n8Ey64TZY7okRWXTCLA6GnSLt4AppIzA=', + r_hash: 'VWFbA3lOnnsZ3t0YSCvi/YjXtLjI5ER0YP12IYhHfGc=', + value: '10000', + value_msat: '10000000', + settled: false, + creation_date: '1581697384', + settle_date: '0', + payment_request: 'lntb100u1p0ydjtgpp524s4kqmef608kxw7m5vys2lzlkyd0d9cerjygarql4mzrzz803nsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp54zaff2ay7rcj7dhgtev7fveuuvx4tkzt79g798gudt2p9772eetq9qy9qsq7xzpv6m66yr9y5zt3u0xr2x5annansqnl3z9tpe32w8h0gph2j4rta75yk4vnfyctvkl57d96yr0dml8l9u4av9r6paxypdq0cfkrzcpgl7vpn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '623', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'qLqUq6Tw8S826F5Z5LM84w1V2EvxUeKdHGrUEvvKzlY=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'WrZUQkhDis+QCcHE3fXQEosbzMqiLsfYHYzqfuoVlH8=', + r_hash: 'ueJtpl8X5Jd2U0Bjo/4v2pUGZXWXc8WtKKy9GifVFzU=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1581697555', + settle_date: '0', + payment_request: 'lntb120u1p0ydjsnpp5h83xmfjlzljfwajngp368l30m22svet4jaeuttfg4j735f74zu6sdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5jm9dmfr2gdkf4tkwdmxe92mzua4acnxvv4ft33wtv4ll8u3ue0us9qy9qsqe2equpvmd4kx0ph3t2ucnzqqwmw0leespr84sxesnvs66t64tw6spt40763yzseh4wcpc58t3s9mp7grkgzpt294dr87sh9mpxqgrkqq3a3h6n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '624', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lsrdpGpDbJquzm7Nkqti52vcTMxlUrjFy2V/8/I8y/k=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'OXCCoTbs6TYnjBZPS6v2JnDpt/ggY6oiDviRqviOQfE=', + r_hash: 'srPGIZgTgfZh0rvJMfFXFrNgGEt7lko8y6MaF3V5f8I=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1581705538', + settle_date: '0', + payment_request: 'lntb120u1p0yd62zpp5k2euvgvczwqlvcwjh0ynru2hz6ekqxzt0wty50xt5vdpwate0lpqdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5pv6f89m3ezd8xy43zckvpf68m2zve23cdtcevskag6pjah3parwq9qy9qsqwslahf6l7uql8cx7tffg3h2faregqs0n6jtv8x302nqcfetjlrx809ppc3gl6fl8wr264kq6q5hf4k4wr7razv8g4lp3yvc0ysnusaqp3favhj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '625', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CzSTl3HImnMSsRYswKdH2oTMqjhq8ZZC3UaDLt4h6Nw=' + }, + { + memo: 'Local-Rebalance-1200-Sats', + r_preimage: 'HHIE4aQHLqQpg3xPlRCGb7ytS4WKm8VcvsXzs4v1m5s=', + r_hash: 'VpXhkQDZs0dEi690bt8R0UVVHR18xbyqSxrZRlpE/40=', + value: '1200', + value_msat: '1200000', + settled: false, + creation_date: '1582129723', + settle_date: '0', + payment_request: 'lntb12u1p0y6c3mpp52627rygqmxe5w3yt4a6xahc369z428ga0nzme2jtrtv5vkjyl7xsdpgf3hkxctv94fx2cnpd3skucm995cnyvps94fkzarncqzpgxqrrsssp5us6f4u6l34v9k7vnlr284sktp5328yc4vlz5kzly5uyxfl5j5frq9qy9qsqwlhvc6k0d4g33cadwggtryk4krxy5mc2uea22rty5rkk8f8q0hsrnaudyjwpa8vtkcczlwhvv0evnq84dgywzx6td424ya89h359plcpugafw8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '626', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5DSa81+NWFt5k/jUesLLDSKjkxVnxUsL5KcIZP6SokY=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: '+TJFz+XAymQ/g9WNYS6xiMEnV6ugJU84Q/uEuAldQbE=', + r_hash: 'HifMRnbuA9yp8iZWZYNnBl5sIXVUWKZdYPQVm+5Fodk=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1582136235', + settle_date: '0', + payment_request: 'lntb120u1p0y67atpp5rcnuc3nkacpae20jyetxtqm8qe0xcgt423v2vhtq7s2ehmj958vsdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5hezmrszxdr2khyhmxwrl76uy7gsqqpwy6hfsksuqpqssprkd7vuq9qy9qsql35tav3e7esetjrey543ch6npnf4lrrhufqzlcxfnavfgkuact3ztfeh8gfknhslqfm3texnxe2y6yldgcu8c22zutrqe29ywhkyhaqpdgd796', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '627', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vkWxwEZo1WuS+zOH/2uE8iAABcTV0wtDgAghAI7N8zg=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'nTmfsUR9a+4CSb8QTa70Webg0ToNP88uGUJ0EQzM/6U=', + r_hash: '9IR6nm5CH6tJP2vrcEO1jphrOBDl6OlTP5me2G0fIKE=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1582136277', + settle_date: '0', + payment_request: 'lntb120u1p0y6774pp57jz848nwgg06kjfld04hqsa436vxkwqsuh5wj5elnx0dsmglyzssdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5445h5l8jr78v0kclutjsfn42m0k04mxz0rxcqydxfvwadz9sfg3q9qy9qsq9nkmk4hrduq53u5yj6sa8au6mynlse6qfju3wjmmft226z8n5dnq6p5hz535pamstjww8yrgz677yzxfy9te7xetut3heec3krvaghqplnvtxy', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '628', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rWl6fPIfjsfbH+LlBM6q2+z67MJ4zYARpksd1oiwSiI=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'burGa1w2TOJNW1BVWa+L6+Nv4Rsnsk/GrBZRdPci4oQ=', + r_hash: 'OpERajZv4wnMAZl6f0UPNv2keP0mDFYO4sfgLZwMsyI=', + value: '12000', + value_msat: '12000000', + settled: true, + creation_date: '1582136287', + settle_date: '1582136307', + payment_request: 'lntb120u1p0y677lpp582g3z63kdl3snnqpn9a873g0xm76g78aycx9vrhzclszm8qvkv3qdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp5tm2nthqvq22mzjqcyvrw252wmcvwys8fag7hfw56qaxhygjdgyas9qy9qsq33p65hyxsu6s52n9426vqyemsedwcqvd0j9dydk7zg834v2dh294vscjfd4gawvmyuzdev92zlqsw85zwvs098a8f5e04ttt8r68nncpq0yd4d', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '629', + settle_index: '31', + amt_paid: '12000000', + amt_paid_sat: '12000', + amt_paid_msat: '12000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1772357768397455360', + htlc_index: '0', + amt_msat: '12000000', + accept_height: 1666250, + accept_time: '1582136307', + resolve_time: '1582136307', + expiry_height: 1666293, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '12000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'XtU13AwClbFIGCMG5VFO3hjiQOnqPXS6mgdNciJNQTs=' + }, + { + memo: 'swap', + r_preimage: '18+GG6jTSuaejVHhLLuU3wls+C/yEt4rGRJTjMmOobw=', + r_hash: 'LVAku6DdTAf3pK3r9/0nkGxHNCdNBd0ZiiMWB4DrhQ4=', + value: '449450', + value_msat: '449450000', + settled: false, + creation_date: '1582168355', + settle_date: '0', + payment_request: 'lntb4494500n1p0ym7frpp594gzfwaqm4xq0aay4h4l0lf8jpkywdp8f5za6xv2yvtq0q8ts58qdq8wdmkzuqcqzpgxq97zvuqsp5h2wvek0eqre00pva40k6eg6qfmcaaprd88ze3j844mk3m6dcz8fs9qy9qsq92gfpgchpkjrf8vt4t8n2lteex87z2xlmmytgz0cav9k08qdkea8psmhra0x2n8vhy9sdnlxx8734u3wmyzhfq662cagtaad0lmt3usp5uvleh', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '630', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'upzM2fkA8veFnavtrKNATvHehG05xZjI9a7tHem4EdM=' + }, + { + memo: 'swap', + r_preimage: 'GwoNZ6TaqeNuWlERG6q/SYhHRQHHwSfHzhbiLELHsLw=', + r_hash: '+0jKrLZCXQ4FkCBdS/lfsZxp91fysgQr0RHmjuda2d0=', + value: '349550', + value_msat: '349550000', + settled: false, + creation_date: '1582168497', + settle_date: '0', + payment_request: 'lntb3495500n1p0ym7d3pp5ldyv4t9kgfwsupvsypw5h72lkxwxna6h72eqg273z8ngae66m8wsdq8wdmkzuqcqzpgxq97zvuqsp5u7u3m2qdyx8dzeezkujeghkceszyz9w5rsv2gvpa42asrj06v6ws9qy9qsqzhrx9k5wqsz6x6ttg7qlt4vef49eue9vj7q8qmn4g65lmtvuj964v2syvc3rlq9dvwrlugkd3g4euq4jrk48vy28ddeknhnald6xs3qqxe9kqr', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '631', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '57kdqA0hjtFnIrcllF7YzARBFdQcGKQwPaq7Acn6Zp0=' + }, + { + memo: 'Local-Rebalance-12000-Sats', + r_preimage: 'EF6Ll8qYuKxKjYm79C7CGz3U48ThAuY9FO9JuwU3Ra8=', + r_hash: 'yTjdQrAwscnR0ktJDoMY5fSoZmXGSxm0yEPsHZqkX5k=', + value: '12000', + value_msat: '12000000', + settled: false, + creation_date: '1582210937', + settle_date: '0', + payment_request: 'lntb120u1p0ya8mepp5eyud6s4sxzcun5wjfdysaqccuh62sen9ce93ndxgg0kpmx4yt7vsdp2f3hkxctv94fx2cnpd3skucm995cnyvpsxqk4xct5wvcqzpgxqrrsssp58nejcf6q6jsm4lldc7vr9dyzym4qa6e3plldl7ng9vj745haj68s9qy9qsq42krg5vzx389pp5vsdqcaaanj53jzh8s9vhslmftj0k29dtsg5gnx7dyundwg5kxq8dhfcg7n2gnr8q9c83pn24uqzggmm67ulqja4spjh54ht', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '632', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'PPMsJ0DUobr/7ceYMrSCJuoO6zEP/t/6aCsl6tL9lo8=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: '76i5Cez18wxjlf5txHuBPHlVqJKd9Wc9DeaH22Rv3AA=', + r_hash: 't7GlL/dUOsTKnCo02l7wc/ty458TOfIimiva3X5/MoM=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1582213253', + settle_date: '0', + payment_request: 'lntb50u1p0ya2y9pp5k7c62tlh2savfj5u9g6d5hhsw0ah9culzvulyg5690dd6lnlx2psdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqzpusp5njn6qua38azfjxcl2drp60wv2pecftuhjxparf099gkx02t8x4us9qy9qsq5s2qky3nfq9gpq2pw3gz4m840kr5g8t242fm2zjrfcyzevkalckkrteh9flzvwe35qmnnmvpum0suyv8ncp5r0fqphuyc884w4qamnspnqng6r', + description_hash: null, + expiry: '60', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '633', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'nKegc7E/RJkbH1NGHT3MUHOEr5eRg9Gl5SosZ6lnNXk=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'GJaz+Bch4MBm4BrG2iuzCWRBj7xEh/1eNv93esyzjqo=', + r_hash: 'xHiep3gvlo95L5jtjmz0yQkARFF3jlJACtUcPe6NnbQ=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1582213480', + settle_date: '0', + payment_request: 'lntb50u1p0ya2tgpp5c3ufafmc97tg77f0nrkcum85eyysq3z3w789ysq265wrmm5dnk6qdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqzpusp54ju80zqqkfrxkhw7tknn9aw36c09la7kx2rze48etutqwvekq7gs9qy9qsqlyg8lss37ec29vn2cdr2p8cvpqwt95uh8275lcslgpz4cagdrn9hjyw8gktelmf3xydr3p9tednhxnkncxu8sa7cak3krldppdflwgsq5dnm6e', + description_hash: null, + expiry: '60', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '634', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rLh3iACyRmtd3l2nMvXR1h5f99YyhizU+V8WBzM2B5E=' + }, + { + memo: 'Local-Rebalance-6000-Sats', + r_preimage: 'xEKilYpZ5sgj4P0AGw4Y1D/9rfKuk39IeMS4mmJKaXU=', + r_hash: 'ssu/2CgTISWQzV7JWvtvoASCJcfQt0bHDbz1N8fk8OM=', + value: '6000', + value_msat: '6000000', + settled: false, + creation_date: '1582213770', + settle_date: '0', + payment_request: 'lntb60u1p0ya252pp5kt9mlkpgzvsjtyxdtmy447m05qzgyfw86zm5d3cdhn6n03ly7r3sdpgf3hkxctv94fx2cnpd3skucm995mrqvps94fkzarncqzpgxqrrsssp5q9dw997666jwtguzqc7wart8y4kpugfvs8eshtjjjt62ll30kzjs9qy9qsqgr5ue6reh3qxg5psezgtard0eqxnp5w8zelrdyd32avwcqpqpwd9yclpfv7qmp0nzzrnlx9lplz8dcyhkcpp8tzh5yes6xdwrrphnzqpw4rm7k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '635', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'AVril9rWpOWjggY87o1nJWweISyB8wuuUpL0r/4vsKU=' + }, + { + memo: 'Local-Rebalance-6000-Sats', + r_preimage: 'KqkFeC3q+hpRCtgNmo6EL+otgC88UwroymrFXJ92Qt8=', + r_hash: 'M2ABISt84RIj2leyZDeiRMaSIwyJ6KUe3X1MID8vBNA=', + value: '6000', + value_msat: '6000000', + settled: true, + creation_date: '1582213808', + settle_date: '1582215402', + payment_request: 'lntb60u1p0ya24spp5xdsqzgft0ns3yg7627exgdazgnrfygcv385228ka04xzq0e0qngqdpgf3hkxctv94fx2cnpd3skucm995mrqvps94fkzarncqzpgxqrrsssp5shr3t73xfurggfak8cvm4tptg6n8ue0rw3ushc2n0nmzr5rtw40s9qy9qsqpf7pg0925uad0tavkkfx2mkxlm45kvt88y448wtuz7z99xd3q09yz6z5vugjcqhauk8hz6k567tk25p2kw4keg50arykd5q59p6qfxcpk2emm6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '636', + settle_index: '33', + amt_paid: '6000000', + amt_paid_sat: '6000', + amt_paid_msat: '6000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '21', + amt_msat: '6000000', + accept_height: 1666318, + accept_time: '1582215402', + resolve_time: '1582215402', + expiry_height: 1666361, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '6000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hccV+iZPBoQntj4ZuqwrRqZ+ZeN0eQvhU3z2IdBrdV8=' + }, + { + memo: 'Local-Rebalance-6000-Sats', + r_preimage: 'MyBNHfQ1BfrwYjRUfnRafsoWQmHwN2NbzhyR2L2CjNY=', + r_hash: '4eCDwptsT5kejoT7kgm3jFH524832bRn5Ip1FF+JpcQ=', + value: '6000', + value_msat: '6000000', + settled: true, + creation_date: '1582213845', + settle_date: '1582215321', + payment_request: 'lntb60u1p0ya2k4pp5u8sg8s5md38ej85wsnaeyzdh33glnku0xlvmgely3f63ghuf5hzqdpgf3hkxctv94fx2cnpd3skucm995mrqvps94fkzarncqzpgxqrrsssp5w0am5rkpz0qpcx972ynfek2flv59v4mvm6setpl9pjzklph7vq5s9qy9qsq7nadu2fp6zn499plwp8zrvfkxv44u4w66fzhpfa4zcv9ljhr585q7e6k2rq9ehzqyvxx3pqwwlkc3ntrn49rlkg7eq708f2jsu07sfqq6xpjv3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '637', + settle_index: '32', + amt_paid: '6000000', + amt_paid_sat: '6000', + amt_paid_msat: '6000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '20', + amt_msat: '6000000', + accept_height: 1666318, + accept_time: '1582215321', + resolve_time: '1582215321', + expiry_height: 1666361, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '6000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'c/u6DsETwBwYvlEmnNlJ+yhWV2zeoZWH5QyFb4b+YCk=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'F44x24B/M4+4cXiT7Loxk9F87R5w1rc/0+AUPL7TNKc=', + r_hash: 'nf/rbwf7JUxE1gRUz1+IcPHqxl28MsTYLJjzEIFpBIE=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1582215473', + settle_date: '1582215661', + payment_request: 'lntb50u1p0yavf3pp5nhl7kmc8lvj5c3xkq32v7hugwrc743jahsevfkpvnre3pqtfqjqsdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5grx9ete5ttxsc63wqztyrvc9txnncxfr5v03z96h8jkr7eufyvns9qy9qsq4l29x5jg87wshmfcugh2k3s0tcvkqdlepfq9z79utfyul5lan2zklh6hpr8drn0ecgg9upzzt9hv373kshrjtrylpyy5pztevfw5dzgqdwy8x5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '638', + settle_index: '34', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '94', + amt_msat: '5000000', + accept_height: 1666318, + accept_time: '1582215661', + resolve_time: '1582215661', + expiry_height: 1666361, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'QMxcrzRazQxqLgCWQbMFWac8GSOjHxEXVzysP2eJIyc=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'eeBg8zev2QBjJ5/yy1Auy6hUEM3O2Z2VTpDWlt3GVwg=', + r_hash: 'IvcfFSoANyfwg97YtNsw8hq6M5g4IujKTwYqXUritUM=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1582220210', + settle_date: '1582220243', + payment_request: 'lntb50u1p0yasajpp5ytm379f2qqmj0uyrmmvtfkes7gdt5vuc8q3w3jj0qc496jhzk4psdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5htgt6jdgwxlm2y7s2fn08gxer4fnxdka34ftuf3kesn5m8seszdq9qy9qsq994glclw9y36yatdv4ldej6e8mush07er973fu28j2hd0a83hl8kzpuzszsw45qtm9suc5zhrz6sc6lmm7z0rygts0htuwn5vdwwangpvvsn68', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '639', + settle_index: '35', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '22', + amt_msat: '5000000', + accept_height: 1666322, + accept_time: '1582220243', + resolve_time: '1582220243', + expiry_height: 1666365, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'utC9Sahxv7UT0FJm86DZHVMzNt2NUr4mNswnTZ4ZgJo=' + }, + { + memo: 'swap', + r_preimage: 'tXlUrMJcJVSz1jxcjFl6rSRhhc3NLe/LonXMV98g7Dg=', + r_hash: '/SM5U4Hd9JNVW0Wieid+5LnQnRyxe8Dp5FlWVkx46Eo=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1582342366', + settle_date: '0', + payment_request: 'lntb2496500n1p09pgx7pp5l53nj5upmh6fx42mgk385fm7ujuap8guk9aup60yt9t9vnrcap9qdq8wdmkzuqcqzpgxq97zvuqsp5r5dvqcmvcd7z70p3ggndd90tg4mkzp56qm6vq2cr0mazfzy6hqmq9qy9qsqd6268cx9ghvvdtt6f6376rp60nr2qq4zxevt0cl9hnfdkq5h5cj9j2lnx7ljjlntw60vl0ptk047pjfx4sj9k5f82wwydrwrp643mfqpwurvjn', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '640', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HRrAY2zDfC88MUIm1pXrRXdhBpoG9MArA376JIiauDY=' + }, + { + memo: 'Local-Rebalance-2500-Sats', + r_preimage: 'mo2nFWBsfDf8MbIPeqYF6YHlMeoNI0YMrhpj5zOj5Og=', + r_hash: 'vkOaQAqjOqNJKOE8pE0Lg5aQ/TQVRg29Jk7wSCPpJZA=', + value: '2500', + value_msat: '2500000', + settled: true, + creation_date: '1582666634', + settle_date: '1582666637', + payment_request: 'lntb25u1p09tyu2pp5hepe5sq25va2xjfguy72gngtswtfplf5z4rqm0fxfmcysglfykgqdpgf3hkxctv94fx2cnpd3skucm995er2vps94fkzarncqzpgxqrrsssp5ekdd0nw9k9ev0rdwhxx4vlr4k83qk3nfc7qgke7wgsjzpjzjms7q9qy9qsql9drm975sx7l4lkh4838gyv09829sflaykaqs33lx4prx5tf0u5jgk6990h7kmtqx8nc08rh8vajtw5a2h5jx7w8jxg3u63l5yqze6gquh08q7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '641', + settle_index: '36', + amt_paid: '2500000', + amt_paid_sat: '2500', + amt_paid_msat: '2500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '23', + amt_msat: '2500000', + accept_height: 1666716, + accept_time: '1582666637', + resolve_time: '1582666637', + expiry_height: 1666759, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'zZrXzcWxcseNrrmNVnx1seILRmnHgItnzkQkIMhS3Dw=' + }, + { + memo: 'swap', + r_preimage: 'GLiAb7J4UkpTEh0CfXHCvqrOcBNaQ91SR8ccT235uTs=', + r_hash: 'EIvXzN7QfxaGrD25wqpicACW0Yix0SXLjDJEhj9MBpY=', + value: '259640', + value_msat: '259640000', + settled: false, + creation_date: '1582761589', + settle_date: '0', + payment_request: 'lntb2596400n1p09wpn4pp5zz9a0nx76pl3dp4v8kuu92nzwqqfd5vgk8gjtjuvxfzgv06vq6tqdq8wdmkzuqcqzpgxq97zvuqsp5umjhgyzaass3f2tnm4n73t4j9r8z6y442t7sdzxdmxyddvueee3s9qy9qsqy9tmz7ftnhnd2fmrxve2n7qyt7lpm85dmse5jknjzxnkke92sx7hxl6nurr34d5dwefn2xj5yg49w6ccdmxyjgg7t59zf02rfn0v9acp9frm8s', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '642', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5uV0EF3sIRSpc91n6K6yKM4tErVS/QaIzdmI1rOZzmM=' + }, + { + memo: 'Local-Rebalance-1200-Sats', + r_preimage: 'cgAUymBdzYmvA2iQRIZXVm2tu+ISu4e2ps3DRCzErT8=', + r_hash: 'roBsgTnEvyRXUxJ7fDxWrJYF8033/kQ9u7ZH12iXGVA=', + value: '1200', + value_msat: '1200000', + settled: false, + creation_date: '1582821585', + settle_date: '0', + payment_request: 'lntb12u1p090ux3pp546qxeqfecjljg46nzfahc0zk4jtqtu6d7llyg0dmkeraw6yhr9gqdpgf3hkxctv94fx2cnpd3skucm995cnyvps94fkzarncqzpgxqrrsssp5lutwlxmcakszrcpcv6xaxvyhyn8zke5893pertfmz4jlus4ckjkq9qy9qsqxdanyugudk50yy6enrhfrg3alury7nj0vjjmjnae3200vy2qj6y37eue972r54anzumy62c4rzajdt05za5rfcrs3e2cfpjqz33l58gqla8dra', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '643', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/xbvm3jtoCHgOGaN0zCXJM4rZocsQ5GtOxVl/kK4tKw=' + }, + { + memo: 'swap', + r_preimage: 'c9okxeqjAYejl8J4gOHSjjPM1N8vr6VpuQY5Iz1QLaE=', + r_hash: 'EDiduJ5LMz12Dj8X+xSKZtXDSaa5L80w8QMPTs0XzRQ=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1582929960', + settle_date: '0', + payment_request: 'lntb2496500n1p09nxpgpp5zqufmwy7fven6asw8utlk9y2vm2uxjdxhyhu6v83qv85anghe52qdq8wdmkzuqcqzpgxq97zvuqsp5a3898ve9hsez740eq89a4ngdpzzdshaupkzdm2vdfkxacwkmjd9s9qy9qsq9rv0wgh2f4jd4r5m8qp3w2v5ezsfjnrhjayny62wmvuau5akslpz0c222s4vn76a272zm6k3tmqvtyz36wn3ukzzg3kv9vahrfh8rxcpk76xag', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '644', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '7E5TsyW8Mi9V+QHL2s0NCITYX7wNhN2pjU2N3Drbk0s=' + }, + { + memo: 'Local-Rebalance-200000-Sats', + r_preimage: 'XOETNs6G5zm9RfC/5tPVPpVrubh3DvmeR1QCNBF9W9k=', + r_hash: '7EZp2+bbwteX5B+OWoVzPb8a41vh9F2A+1ZkJXGw+i4=', + value: '200000', + value_msat: '200000000', + settled: false, + creation_date: '1583358726', + settle_date: '0', + payment_request: 'lntb2m1p0xqgcxpp5a3rxnklxm0pd09lyr7894ptn8kl34c6mu869mq8m2ejz2udslghqdpvf3hkxctv94fx2cnpd3skucm995erqvpsxqcz65mpw3escqzpgxqrrsssp507cvcwmf84q9833cwawh4fnqhfhk2vq254wzr9tq8hanmrtqzrgq9qy9qsqpu9rjwhw55vs9c0vauhs5qz8zjz2ulwu40l68k0kyelesc0tw3kzpqa7kshzga2q8dlmwfn32uwkcjtw0x9y5taxzw69m8urc2e48xsqhw2s4n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '645', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'f7DMO2k9QFPGOHddeqZgum9lMAqlXCGVYD37PY1gENA=' + }, + { + memo: 'Local-Rebalance-100000-Sats', + r_preimage: '3bSoP9KwsVCUH8om8zJ+iwC/T15tjjh1efppbpEls3o=', + r_hash: 'bU3OePd4B7umx+BQOW+5GImYS7u0sZcxIaZD2PIGIPc=', + value: '100000', + value_msat: '100000000', + settled: true, + creation_date: '1583358813', + settle_date: '1583358815', + payment_request: 'lntb1m1p0xqg6app5d4xuu78h0qrmhfk8upgrjmaerzyesjamkjcewvfp5epa3usxyrmsdpvf3hkxctv94fx2cnpd3skucm995cnqvpsxqcz65mpw3escqzpgxqrrsssp5cuhea5pzva72cc2hxdxdqh5q70vud5ar2xy7el5lxdzwfsqx8lrq9qy9qsq9u4fqal33y2spknkvjq99tcttc32qp3z08z3sl2wxgqm8k8n8zh57w3ajp2v4zkghpr7zl6tutzmvkryx94hy2svud4tnrewceg7saqpr87pdj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '646', + settle_index: '37', + amt_paid: '100000000', + amt_paid_sat: '100000', + amt_paid_msat: '100000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1772357768397455360', + htlc_index: '22', + amt_msat: '100000000', + accept_height: 1667698, + accept_time: '1583358815', + resolve_time: '1583358815', + expiry_height: 1667741, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '100000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xy+e0CJnfKxhVzNM0F6A89nG06NRiez+nzNE5MAGP8Y=' + }, + { + memo: 'Local-Rebalance-100000-Sats', + r_preimage: 'oP0zPIOHvcJ2ipL8rKGlpMhv3Z292LpdfeIhz7lrRMo=', + r_hash: 'Jz/bryyt8Bl74c1BVw84id84t2xk5SUAaUqbM/wKBYg=', + value: '100000', + value_msat: '100000000', + settled: true, + creation_date: '1583358923', + settle_date: '1583358974', + payment_request: 'lntb1m1p0xqg7tpp5yulahtev4hcpj7lpe4q4wrec380n3dmvvnjj2qrff2dn8lq2qkyqdpvf3hkxctv94fx2cnpd3skucm995cnqvpsxqcz65mpw3escqzpgxqrrsssp5tnr0z8aq25qcrtqn55nh36mdqlgukz5mxfd8v77lz2ar09nvdvdq9qy9qsq7c8q5qgk62nx5n6g5w569wcnd83en4x4l7naxcn7tepqatsqachkpytvqmkwuukqujp95td595730pstwn85thnevgrnzzzx4agssmqphjvxtv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '647', + settle_index: '38', + amt_paid: '100000000', + amt_paid_sat: '100000', + amt_paid_msat: '100000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1772357768397455360', + htlc_index: '23', + amt_msat: '100000000', + accept_height: 1667698, + accept_time: '1583358974', + resolve_time: '1583358974', + expiry_height: 1667741, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '100000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'XMbxH6BVAYGsE6UneOttB9HLCpsyWnZ73xK6N5Zsaxo=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: '7LNYmsEWJq+pnx4rCQnk7rYz1Fnq/HmOhiRRXU84lTQ=', + r_hash: 'k08dLu2n7Zr2xQRnh0cBGEBK+7csPz3KQ9r2nGMmHCg=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1583765620', + settle_date: '0', + payment_request: 'lntb500u1p0xvkr5pp5jd836thd5lke4ak9q3ncw3cprpqy47ah9slnmjjrmtmfccexrs5qdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp5shjq505396qed8m26kgnl8gtwyldfdkslqhk0epstcr67kwlm7ns9qy9qsq05geye49s0qavrfe5sp6df6sc3vxv87f9fx55aywn72dqpctqt2zlz9h6pssdkvjthr4guzfanpdjp8vx8p9asm87avnc0uur3xvf6cqzrs4th', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '648', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'heQKPpEugZafatWRP50LcT7UttD4L2fkMF4Hr1nf36c=' + }, + { + memo: 'Local-Rebalance-50000-Sats', + r_preimage: 'eOudtanbR5zqROCltXcCPFvTHub1a227v8P+poalaG8=', + r_hash: 'tOFnTHMTKn8i9/DOn7Mqf2IX0wRMhh2GoXVmUAlIv4M=', + value: '50000', + value_msat: '50000000', + settled: true, + creation_date: '1583779783', + settle_date: '1583779799', + payment_request: 'lntb500u1p0xdr78pp5knskwnrnzv487ghh7r8flve20a3p05cyfjrpmp4pw4n9qz2gh7psdp2f3hkxctv94fx2cnpd3skucm9956nqvpsxqk4xct5wvcqzpgxqrrsssp5uvd43tfdwd77p40renujqt8uar5x3l5wjksm3aps2kqk0735357q9qy9qsqs9hdw3mgsrskmxeryh3mupeqct0wmwmh7q2rdu9frer6k23ep57qlx4ag9l2eme70wf7an946099lr78jfj5d7yj7c9mn6dvd695wxcpd7f4tl', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '649', + settle_index: '39', + amt_paid: '50000000', + amt_paid_sat: '50000', + amt_paid_msat: '50000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '136', + amt_msat: '50000000', + accept_height: 1669405, + accept_time: '1583779799', + resolve_time: '1583779799', + expiry_height: 1669448, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '50000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4xtYrS1zfeDV48z5ICz86Oho/o6Vobj0MFWBZ/o0jTw=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'JRjSYo4nHUXAjxXDo0DJxPXPsiuLv/Yc0vXc9ACv2rc=', + r_hash: '7X/gQ/Gfhwtgd6Gz7rmlH8v3Rh7Zya+TBz63w7UvuJw=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1583857376', + settle_date: '1583857408', + payment_request: 'lntb50u1p0x00hqpp5a4l7qsl3n7rskcrh5xe7awd9rl9lw3s7m8y6lyc886mu8df0hzwqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5jmph6d35gfjefzv58r328xa299dnxawe3ulyh046hud5wmymnz8q9qy9qsqh09p76glphluq6z2h0haw0g884lldkr5em40cmjmdzsprurvxed9me40af727qdwp4e0tdltpmhhcv2mhs6ge8hh2agngcd39rnglqsqgfu20p', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '650', + settle_index: '40', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1797870836207190016', + htlc_index: '0', + amt_msat: '5000000', + accept_height: 1669474, + accept_time: '1583857408', + resolve_time: '1583857408', + expiry_height: 1669517, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lsN9NjRCZZSJlDjio5uqKVszddmPPku+ur8bR2ybmI4=' + }, + { + memo: 'Local-Rebalance-100-Sats', + r_preimage: 'g8wvFRvkVzQCT9iRP8g7VykwzWiPcv31QWWyamxT/zo=', + r_hash: 'smT1M943UN+sc4nyn4mgyMQCNSaAL8SzT0bSM/5lw2Y=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1584202198', + settle_date: '0', + payment_request: 'lntb1u1p0x6qwkpp5kfj02v77xagdltrn38eflzdqerzqydfxsqhufv60gmfr8ln9cdnqdp8f3hkxctv94fx2cnpd3skucm995cnqvpd2dshguccqzpgxqrrsssp5xcc6lqrlw6p8ldm4qjwff96tmzuhh6mgksh77a3kmhms2hx20kqs9qy9qsqe2twvwxytsjdrv8ekd60chewrunxcy7nhj2fgnmhp2hmfzqtjpm3yrtkn23xajayjm8kugxm2sl9sjpzp4vmdmr59asugfuludsa76sqd7jsj7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '651', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NjGvgH92gn+3dQSclJdL2Ll762i0L+92Nt33BVzKfYE=' + }, + { + memo: 'swap', + r_preimage: 'StZwpFYpaDRcv03vF/crZP6KCp0K8CufBioCYA5UQys=', + r_hash: 'iJGOfFj3FBuvJYrJdygE2PmIBkXam7278wqr0qRLLoQ=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1584303109', + settle_date: '0', + payment_request: 'lntb2496500n1p0xarq9pp53zgculzc7u2phte93tyhw2qymrucspj9m2dmmwlnp24a9fzt96zqdq8wdmkzuqcqzpgxq97zvuqsp5v3uwlw8ddtvqcmkdzttm8e5kq6k7p308t28j0mfs4chhql36vuvq9qy9qsq0sqw7sfhzdf90ptt25mvmvuzjgtqjy8nut3h3sp75m85gscllgk5qhapfpe5kqmhdrc9g00uza96d6sd4vfnf4hfytd8az0fkujx3nspw5n22s', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '652', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZHjvuO1q2AxuzRLXs+aWBq3gxedajyftMK4vcH46Zxg=' + }, + { + memo: 'swap', + r_preimage: 'D8ZpNa4+iJdiKFtmETGWa6jKeo/3PnDrCrREhBIfiEo=', + r_hash: 'WERPLmae3Ktt4AlbUUQIwQrALCDwYJ6HOEahRddnjCY=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1584371982', + settle_date: '0', + payment_request: 'lntb2496500n1p0xlxgwpp5tpzy7tnxnmw2km0qp9d4z3qgcy9vqtpq7psfapecg6s5t4m83snqdq8wdmkzuqcqzpgxq97zvuqsp5paqf7l2ehgrwxstwfnstrelr9py0nl4skgz89mak8mc4566a34zs9qy9qsqwq900ksj8ldxfkfckdf87kjqqhgyukvfaymknc2pzdgw83rwvhkr7x9jjvf6sq4h7rpfzqg5vp99dz0rusqkmjzaaw97x50epd2jdrqpgrhmy8', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '653', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D0CffVm6BuNBbkzgsefjKEj5/rCyBHLvtj7xWmtdjUU=' + }, + { + memo: '', + r_preimage: 'TbF8vJ0xgIyggjtrlBXUL/OSWA0TPU2wVmAk4iM85uQ=', + r_hash: 'rtfnZKqQHrHQ1lHbJADdoMfV1hHME40fe8fqLntCstY=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1585583677', + settle_date: '0', + payment_request: 'lntb1p0gy93app54mt7we92jq0tr5xk28djgqxa5rrat4s3esfc68mmcl4zu76zkttqdqqcqzpgxqrrsssp5w6mld0g5g06l3mu354tdt8punk34hxngg9h9tmuy8ze8lz2p982s9qy9qsq5lmz0v8mkcpur6pfxxfxwahz4s3k8huv70v2k6vnsuc56289zq49evd67vdjkc080dyzxgamtaned6tf39mq76x2d5j4ush9dqyxqaqqy8e6zg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '654', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'drf2vRRD9fjvkaVW1Zw8naNbmmhBblXvhDiyf4lBKdU=' + }, + { + memo: 'my own test invoice', + r_preimage: 'krG3o61ujRGWW61kjtNGSNOl7Izl596mB0RR7RPZt4Q=', + r_hash: 'FO/A37xMRfL1ErkzgOE2KqOF9aIwsu9c6aBP7jgp4V4=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1585583704', + settle_date: '0', + payment_request: 'lntb1p0gy9jcpp5znhuphauf3zl9agjhyecpcfk923ctadzxzew7h8f5p87uwpfu90qdqld4ujqmmhdcs8getnwssxjmnkda5kxegcqzpgxqrrsssp5e7kk8ju42uz4es3q7eqyqum35ft8f092yugf49k2aqjh98n8lf7s9qy9qsquukzc7chxqpysuz5szxegflgfetgf2ukzcmrfm4q2khynr4pwqwxyrfll8kvesz7re4vlu8g4pqc6dgru678qy6hrmqr76xuyeaamfgpadv2x9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '655', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'z61jy5VXBVzCIPZAQHNxolZ0vKonEJqWyuglcp5n+n0=' + }, + { + memo: 'my test invoice', + r_preimage: 'Y2u7qFBE/w+a90P35JM1d+/lEHL7cdTyDyE6MWbl8N8=', + r_hash: 'nSY6X5g4RLiy/no9nC185XNTc9sm4VDKyvQ2qLn+rzg=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1585594540', + settle_date: '0', + payment_request: 'lntb1p0gys9vpp5n5nr5huc8pzt3vh70g7ecttuu4e4xu7myms4pjk27sm23w074uuqdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrrsssp5k634wvewnguzx25w26yc9gess5plx4gksesdh5unaq5ps2lxzjuq9qy9qsqkrakedgq63y4pgw22xn8qcjg22awsvs0djqj45mun20j7sj5pe3neu0mtkv9y47czn7eahh7kvkz6y4tt8s6vu5zw6gwqdsg6kaec5sqcq3jj9', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '656', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tqNXMy6aOCMqjlaJgqMwhQPzVRaGYNvTk+goGCvmFLg=' + }, + { + memo: '', + r_preimage: 'amHGYBwBlbiFZCBOB215s0NfvW0/3fwc718p64EgjFM=', + r_hash: 'cYN8oeDTG7itlaJ+YNMxG7wIFq8efE7LHKyCkB7sses=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1586371759', + settle_date: '0', + payment_request: 'lntb1p0gu890pp5wxpheg0q6vdm3tv45flxp5e3rw7qs940re7yajcu4jpfq8hvk84sdqqcqzpgxqrrsssp5p73903tjuuurp20flp7r829f64andm6f4053dyywcvy2ucm2days9qy9qsqg3sk988pwed9atezsetr0en84f3dkpspq99upw6yk3pzfkggd5jss3ys65ecyfxrqadtps372asvtpsuzch50jsa429r5p79vs9t4qgpkqvfg8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '657', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D6JXxXLnODCp6fh8M6ip1Xs270mr6RaQjsMIrmNqb0k=' + }, + { + memo: 'Cinema Tickets 1', + r_preimage: 'Xr9G0Xt875wr2O6w/Wj3NbubRQX+U3BZe10+hgRUbCI=', + r_hash: 'x0Ad3xsa4wy9zwYESgaFjtXUvWrJk/nJVPYeIpZMIJs=', + value: '100000', + value_msat: '100000000', + settled: false, + creation_date: '1586373582', + settle_date: '0', + payment_request: 'lntb1m1p0gug7wpp5caqpmhcmrt3se0w0qczy5p593m2af0t2exflnj257c0z99jvyzdsdq6gd5kuetdvys9g6trddjhgueqxycqzpgxqrrsssp5lqjrgcn0uun98jg5e0kmtd6khqefk3hf5kneajwqpgr8vv922mqs9qy9qsq76e4wfghxfn94phk9whljs94d99ehrj2zghcje23xnd44cftr2zh9d5n366w3zs6v8ts03sh970e5n72365g8tmq7fqa3rp27yse3qgq69hvv8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '658', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+CQ0Ym/nJlPJFMvttbdWuDKbRumlp57JwAoGdjCqVsE=' + }, + { + memo: 'Cinema Ticket 2', + r_preimage: 'bSYB2h/q4Bs7JGWuDfDH3wSB+3EZgLNvNB+XvOv9qI4=', + r_hash: 'zdoYtnhdqlM2nsFTX4x5ZCcwKYKrCNguJcZTn//mlq8=', + value: '200000', + value_msat: '200000000', + settled: false, + creation_date: '1586374145', + settle_date: '0', + payment_request: 'lntb2m1p0gufsppp5ehdp3dnctk49xd57c9f4lrrevsnnq2vz4vydst39cefelllxj6hsdqcgd5kuetdvys9g6trddjhggpjcqzpgxqrrsssp5jhnexty70cwz6q9gazag0krjk46k73c0z72nm5y6fjmt6qpejmcq9qy9qsqasfsj32z8sr20wgdeg6fd88nu49xh799twxkv99g9gk8c20a9v989cstd68aqm6czythkc9lawps7kdkvzg2ysnxqxurcqh55gcfhagq7wpal6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '659', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'leeTLJ5+HC0AqOi6h9hytXVvRw8XlT3Qmky2vQA5lvA=' + }, + { + memo: 'Cinema Ticket 3', + r_preimage: 'YYffOMpwnnkeebN5DfUouO9aFnjBdvbBqZJoA1urgA8=', + r_hash: 'i/Vws+X0U5D0WpilZ2Bvh4v7VNR3/LsUC79z8ASy7LM=', + value: '300000', + value_msat: '300000000', + settled: false, + creation_date: '1586374217', + settle_date: '0', + payment_request: 'lntb3m1p0gufjfpp5306hpvl973fepaz6nzjkwcr0s79lk4x5wl7tk9qthaelqp9jajesdqcgd5kuetdvys9g6trddjhggpncqzpgxqzfvsp5j2vv7h6wpvzy88st0x4226j3p65t8g4znz0lc67nxxxchw5mjtds9qy9qsq78fe7kpjugvqdgp9qn7h8g8a9hrtt0n8pjgl8dh46sn37ma60kvs5qsdkyh836my3sl5sp38v7llud55tzyfhk8nfpuwfy6faxyk6ngpwuehfr', + description_hash: null, + expiry: '300', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '660', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kpjPX04LBEOeC3mqpWpRDqizoqKYn/xr0zGNi7qbkts=' + }, + { + memo: 'Cinema Ticket 4', + r_preimage: 'tvrPjYjfLKLiP9rkYnnDtzP64yCJCd3tQeZwEiN+2G0=', + r_hash: '2xgRDwYTWsWpMwMWVvr0ZrcWytCElUE55EBFwpHCSdw=', + value: '400000', + value_msat: '400000000', + settled: false, + creation_date: '1586374281', + settle_date: '0', + payment_request: 'lntb4m1p0guf5fpp5mvvpzrcxzddvt2fnqvt9d7h5v6m3djkssj25zw0ygpzu9ywzf8wqdqcgd5kuetdvys9g6trddjhggp5cqzpgxqrrsssp5l3cjuavk40hf6rs430pculyq8x0c5xnkrez73hzsapay9pc72fnq9qy9qsqkwt3y2m4e6peyyu35f4wp5wk67vqth503ymqgnc23psgpc7pk8trvnme4tsu7t238x5tt07rn2zw0376yg48vsv35v9q3fka3kxe30gqqczuwe', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '661', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/HEudZar7p0OFYvDjnyAOZ+KGnYeRejcUOh6QoceUmY=' + }, + { + memo: 'Cinema Ticket 5', + r_preimage: 'BMs1COZIf/wjE/1ud9VkQAV9dkcfzKcFBiczQKtWTU8=', + r_hash: 'ApGCP81NlZAADzK9REAyE+zgCOEMurOTfsaKcPZHGkk=', + value: '12345', + value_msat: '12345000', + settled: false, + creation_date: '1586375526', + settle_date: '0', + payment_request: 'lntb123450n1p0gu2mxpp5q2gcy07dfk2eqqq0x275gspjz0kwqz8ppjat8ym7c698paj8rfysdqcgd5kuetdvys9g6trddjhggp4cqzpgxqzpjsp56wcc6vcxtxth6e6qt8gwf0flksht8wszsaulpmw06lav6h0fqtks9qy9qsq8w896a6q9ea9nx0lvhrdngexjtafrqayjjpdwqmz4eht3lg0v659a44fagv44c5utc79wtdy40zdt6xl6k6f3zcv9dcjgvlexhgktrcpfll45v', + description_hash: null, + expiry: '50', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '662', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '07GNMwZZl31nQFnQ5L0/tC6zugKHefDtz9f6zV3pAu0=' + }, + { + memo: 'Cinema Ticket 6', + r_preimage: 'i1Vo+dV+PazoK7sSJx3XMqew+Y4UuL6R5Nxs/O4k6+4=', + r_hash: '4KNUVYCGoTZb3Cw4LdGg0RtxhLFQspOHv8iPqmkbGtg=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1586376422', + settle_date: '0', + payment_request: 'lntb10u1p0guthxpp5uz34g4vqs6snvk7u9suzm5dq6ydhrp932zef8palez8656gmrtvqdqcgd5kuetdvys9g6trddjhggpkcqzpgxqrrsssp55qw7clu5nhjfwprm3dkn94lce5wg35c4wrfrjpsmvhzp7h03unqs9qy9qsqq4ku8vqjxrqujw6h9f7h75qhvuldrxge2z5nx8ksggncly279ew58t22z42yayyt0ysxjs23mdlark3a5s72rxrgfyxsp2s9s7nvzygpekf082', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '663', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oB3sf5Sd5JcEe4ttMtf4zRyI0xVw0jkGG2XEH13x5ME=' + }, + { + memo: 'Cinema Ticket 7', + r_preimage: 'wWqdLsjz8zH1E7MHdXryBfs8CbLgT3+sQPlwouC/8F0=', + r_hash: 'HOGirxtpn6nKJNYS43SmFdCg0CitH7NgHwLjBcV/u8Y=', + value: '700000', + value_msat: '700000000', + settled: false, + creation_date: '1586376729', + settle_date: '0', + payment_request: 'lntb7m1p0guvqepp5rns69tcmdx06nj3y6cfwxa9xzhg2p5pg450mxcqlqt3st3tlh0rqdqcgd5kuetdvys9g6trddjhggphcqzpgxqrrsssp5nhw97adpcy3q29r0mckfy6fp5eehfshsskcdv5ng3w53gms76dhq9qy9qsqa7tavwhce3vdjwx4vlr7f4r62cwfyphe5zzyzaufr8v4ex2fl3rk27cazvemdrw3qe28py96cu6pfzumwtqf7mc4q9m9ekec0cwaahgp8f5pnf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '664', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ndxfdaHBIgUUb94skmkhpnN0wvCFsNZSaIupFG4e024=' + }, + { + memo: 'Cinema Ticket 8', + r_preimage: '2ffio8iA/zEtbvNtWGTRb5/KyqIX/190iuNhvlN+/X4=', + r_hash: 'rDH6m8xvuVgUPQTAd/Rglt6aka3qInIeB3QhZNi1Bm0=', + value: '800000', + value_msat: '800000000', + settled: false, + creation_date: '1586376794', + settle_date: '0', + payment_request: 'lntb8m1p0guvz6pp54scl4x7vd7u4s9paqnq80arqjm0f4yddag38y8s8wsskfk94qeksdqcgd5kuetdvys9g6trddjhggpccqzpgxqypvassp5j8r4lulxh9usvsuml40xu8zmj5jpxfk5qlsq2jndcgdhmegmytks9qy9qsq8muyfp2vw8r3g47hr9x6w4vr6f87nklnp7wcwj928g8frj29y7c4elt3pnzldgwavjh25prd08hzpsutr08tj9xx0m078vaecvlr9wsqp6y3y3', + description_hash: null, + expiry: '46000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '665', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kcdf8+a5eQZDm/1ebhxblSQTJtQH4AVKbcIbfeUbIu0=' + }, + { + memo: 'Cinema Ticket 9', + r_preimage: '0kp5guMraL1JGvLuWdYKCHSy2IvqKjdglhkSCvu6kLE=', + r_hash: '6RT26m6WN/0Z4peaThRHrWgu26Oll2tX7Pw97CtghS4=', + value: '900000', + value_msat: '900000000', + settled: false, + creation_date: '1586376907', + settle_date: '0', + payment_request: 'lntb9m1p0guvxtpp5ay20d6nwjcml6x0zj7dyu9z8445zakar5ktkk4lvls77c2mqs5hqdqcgd5kuetdvys9g6trddjhggpecqzpgxqrpcgsp5lg7eny7zrw6wz88x4p8rwsg58dwpp7nvyrgy8vl8njjgt7vtsf0s9qy9qsq0j9s2zpjxnlc24kfg0747d065a2qqpjkgnssmsn974g9m0j5kmrs5r6f3mt4vm9w9cemf8p2aq33dtwjtxf5ks6jhw63sk4cqk4wd6spq3c32z', + description_hash: null, + expiry: '1800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '666', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+j2Zk8IbtOEc5qhON0EUO1wQ+mwg0EOz55ykhfmLgl8=' + }, + { + memo: '', + r_preimage: 'dPlR23dbV4ZHkP10JaT9WgtN6CsaUdu4JtEIIOLtKtg=', + r_hash: 'Rj49URcIEFQ4ikFWPUYM2A7wZ+UExbDXxPnpFW6TzgM=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1586377968', + settle_date: '0', + payment_request: 'lntb1p0gud8spp5gclr65ghpqg9gwy2g9tr63svmq80qel9qnzmp47yl8532m5necpsdqqcqzpgxqrrsssp5rwp6n355y099pd9c0dntt98m0xsyqp9jz3jgg0jvvclen2auuqzq9qy9qsq2nzc6llz0ndr8quumw85gflrzms9tzy49xvxa5pd92ggnrx6r0fxqqc40xq0lsjg7vc2mchjqu87wkweasxpxfcfjcl02le0wa0jvhgput6n5v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '667', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'G4OpxpQjylC0uHtmtZT7eaBABLIUZIQ+TGY/mau84AQ=' + }, + { + memo: 'my test invoice', + r_preimage: 'C17dqgv0kCWKhO1AYJY/0RUzK6RIur+dLhiAH395uBk=', + r_hash: 'G6CZZpWmizdLzhsqhLJXrB4rbHn+jpw57DtRyugWEyc=', + value: '123456', + value_msat: '123456000', + settled: false, + creation_date: '1586894085', + settle_date: '0', + payment_request: 'lntb1234560n1p0fv9g9pp5rwsfje54569nwj7wrv4gfvjh4s0zkmrel68fcw0v8dgu46qkzvnsdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqypr9qsp56p7lrfj6qkcxhdpvum35pncg5m03uuzv38a3qhv4hpgdyg0geruq9qy9qsq2g9h2383r4c5q5nryk8c09zylnuwu5dk26kgcxeczhtz8738fmc4a2y0la4zu5d9vd7l6gtl59paysnd8774av8349snnvq39x44kdqpvay7aa', + description_hash: null, + expiry: '36000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '668', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0H3xploFsGu0LObjQM8Ipt8ecEyJ+xBdlbhQ0iHoyPg=' + }, + { + memo: 'my test invoice', + r_preimage: 'SWdFJuZMbtTiGSCDhceKUFyxJqL8QaO67g1bNB5bB7U=', + r_hash: 'fHlIfxOH/HrYdb3HjVCkazbDBDes2/KgLrmtPWm2LLE=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1586974284', + settle_date: '0', + payment_request: 'lntb1u1p0fwnjvpp503u5slcnsl784kr4hhrc659ydvmvxpph4ndl9gpwhxkn66dk9jcsdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrrsssp5vf2ltj3sravkcyfw0uhg4vygsmaa36lu729ffu8e2ts8ezgracrs9qy9qsq65jr4208pvh7vkvly84kqepye8a8qwvtf07u0z04wps6paehpljx700grv6rhzm0a5cdpc50hs8a5tfchkkxgpunaatpkfrgwmvm84gp0gm7vx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '669', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'YlX1yjAfWWwRLn8uirCIhvvY6/zyipTw+VLgfIkD7gc=' + }, + { + memo: 'test zero amount', + r_preimage: 'SVSk+pPtY49FQOlAP4a8cn/TXZoP0i1NxazA8bGQbhI=', + r_hash: 'CYtiqMdnmr41/2ilF4GaE5lKyh0WA7oJzCCR4kbU86o=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1587088362', + settle_date: '1587089829', + payment_request: 'lntb1p0fjzl2pp5px9k92x8v7dtud0ldzj30qv6zwv54jsazcpm5zwvyzg7y3k57w4qdq6w3jhxapq0fjhymeqv9kk7atwwscqzpgxqy6tcqsp5sjna7dn0nv6hnfcnaf49wjnch658xckwe65tysrysstanaj7jg6q9qy9qsq4lvmzracw5wsxmfywn3j3gp509z9q7hj9ez0ytnrxfxly2qkyteqzk7a0uk7lk53j0t2wxdvs6mu8g26tvplry3u0dc59v70lnhqg8sqapae8f', + description_hash: null, + expiry: '864000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '670', + settle_index: '41', + amt_paid: '101000', + amt_paid_sat: '101', + amt_paid_msat: '101000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '24', + amt_msat: '101000', + accept_height: 1719436, + accept_time: '1587089829', + resolve_time: '1587089829', + expiry_height: 1719621, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '101000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hKffNm+bNXmnE+pqV0p4vqhzYs7OqLJAZIQX2fZekjQ=' + }, + { + memo: 'test again', + r_preimage: 'pIymnqWRdym6/DNu5O6ZTKZ4QHR5xXAYFRxPVxc9q4A=', + r_hash: 'BiVIBTzly6CmvvqCqNNiyozMDA7q3YEko2yby7uRaJM=', + value: '200', + value_msat: '200000', + settled: true, + creation_date: '1587090141', + settle_date: '1587090157', + payment_request: 'lntb2u1p0fjykapp5qcj5spfuuh96pf47l2p235mze2xvcrqwatwczf9rdjduhwu3dzfsdqsw3jhxapqv9nkz6twcqzpgxqy8ayqsp52p3fmvmlmv52y5juceyvlh0v48y9l4mqlz5rtm4pxs2rraylac2s9qy9qsq73z2fmv9kuzdt9740ffr095mph2vqajt73pa2e5l5tkcfj8y8lnse8gkqfj3ul5ya0mg7y2umaerujtzwey6uwav9965kzuls0tlgeqqeug9sf', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '671', + settle_index: '42', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '25', + amt_msat: '200000', + accept_height: 1719438, + accept_time: '1587090157', + resolve_time: '1587090157', + expiry_height: 1719479, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UGKds3/bKKJSXMZIz93sqchf12D4qDXuoTQUMfSf7hU=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: '45XrPQ7sO3yBcF0JveNFKWE/a2wm3V6erps7ugt0Bcc=', + r_hash: 'pl0isCO2uTONmqClefcxWQDGfZ3Zo9bmI5jrOtxmSlM=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1588536998', + settle_date: '1588537009', + payment_request: 'lntb10u1p027f4xpp55ewj9vprk6un8rv65zjhnae3tyqvvlvamx3ade3rnr4n4hrxfffsdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5553v6z93kfpax6gmr77s2rxsa7cjfruml42xqy527yjmtdf4jnuq9qy9qsqcurfz6400hkk8jnmv8dn8p28svp4rvp4ar7r4dum8xm8jxupr6gpshajj8hqdm8gya69el2hfe2zhrea9y89dnwxjy9msmxwuch0uucqm7uyq4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '672', + settle_index: '43', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '26', + amt_msat: '1000000', + accept_height: 1722816, + accept_time: '1588537009', + resolve_time: '1588537009', + expiry_height: 1722859, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'pSLNCLGyQ9NpGx+9BQzQ77Ekj5v9VGASivEltbU1lPg=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: '3PszV6fn1kDLGaO8BdkfqOOOQAonnfIyu7xm9aPxY7o=', + r_hash: 'yJtPaRQZeX+tQSJVSLXxvNv4SpSVzFMQ742h3ctyZJM=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1588538237', + settle_date: '1588538256', + payment_request: 'lntb10u1p0272mapp5ezd576g5r9uhlt2pyf253d03hndlsj55jhx9xy803ksamjmjvjfsdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5v3g8dqfc3fk2zeu0ehp50szfzstek0fr54eg0pxdp8tpqtlcn2gq9qy9qsq84c38lzjh6r67hs0gpy0xd7jdap3n8m8us32l3rf40yty4jn4aapzr45eq6x8e5474gsvjk0z9ftddgj0jcc6z3nzvzq347hq40c80cqvffwxg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '673', + settle_index: '44', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '27', + amt_msat: '1000000', + accept_height: 1722817, + accept_time: '1588538256', + resolve_time: '1588538256', + expiry_height: 1722860, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZFB2gTiKbKFnj83DR8BJFBebPSOlcoeEzQnWEC/4mpA=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'qahG2+F2PQANXd88zAL4Q9axWNiX4ooRJ4y1FhYVkrQ=', + r_hash: 'eUP4sy2PyFgP8f6pgfo5Otdb8vP8/pasbPlhtLivYaw=', + value: '2000', + value_msat: '2000000', + settled: true, + creation_date: '1588538413', + settle_date: '1588538584', + payment_request: 'lntb20u1p027tpdpp509pl3ved3ly9srl3l65cr73e8tt4huhnlnlfdtrvl9smfw90vxkqdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp59fcnsfqka8tl053shgvjnmhhw0tm9urwhllfnjcqrnepjdv700gq9qy9qsqmn2z09za22azc9ps3ufdr6j6ftycn2usfuaz9ujaxpxac9njca8jclpszujw7w0zq0gyep0867lsk7ezfevckgs3vcf8kjns22c9f5sq6ydz63', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '674', + settle_index: '45', + amt_paid: '2000000', + amt_paid_sat: '2000', + amt_paid_msat: '2000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '28', + amt_msat: '2000000', + accept_height: 1722817, + accept_time: '1588538584', + resolve_time: '1588538584', + expiry_height: 1722860, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'KnE4JBbp1/fSMLoZKe73c9ey8G6//pnLABzyGTWee9A=' + }, + { + memo: 'Local-Rebalance-3000-Sats', + r_preimage: 'P058il4hKf7DG1TXcYXmLBvkXiKTIsy78l13FZR70QI=', + r_hash: '90kwMoVQ6BQrLT3MoxjjAIJBoZNbZn9vn2DZ9YXTfes=', + value: '3000', + value_msat: '3000000', + settled: true, + creation_date: '1588538888', + settle_date: '1588538925', + payment_request: 'lntb30u1p027tsgpp57aynqv592r5pg2ed8hx2xx8rqzpyrgvntdn87mulvrvltpwn0h4sdpgf3hkxctv94fx2cnpd3skucm995enqvps94fkzarncqzpgxqrrsssp55pmvne6wf0y263u34eu3vs9ws8l33lwwkvjwqxuf2nv0k7eectgs9qy9qsq5faz49m2s4r22kzj25llygt3lymj5j97xn2j76v9vlnpev3h96fpwzpmh9d8x0czqnkvwpceszp5atvrs9et7gru6zr3ectm6q90tmqqs75nnp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '675', + settle_index: '46', + amt_paid: '3000000', + amt_paid_sat: '3000', + amt_paid_msat: '3000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '29', + amt_msat: '3000000', + accept_height: 1722818, + accept_time: '1588538925', + resolve_time: '1588538925', + expiry_height: 1722861, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '3000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oHbJ505LyK1Hka55FkCugf8Y/c6zJOAbiVTY+3s5wtE=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'm2sDRInJrK0pblQB37CFMpXU5SvbHkwU+Yufy7s6Wgg=', + r_hash: '5Taw9pM3eCVwy8iLm7LIxHv14jFebahXuOIe035BoVw=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1588539079', + settle_date: '1588539143', + payment_request: 'lntb10u1p027tk8pp5u5mtpa5nxauz2uxtez9ehvkgc3altc33tek6s4acug0dxljp59wqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5kpueuw2tdwyy88af9ecnm0p7puhdudh5jnx8267h40j34c66kwnq9qy9qsqjsecgtykqsw2nwgnaltel4m23w8al2stw6r8glg5hzpq2q6hphc4xd4ygxkqd2xz37mgy3aglsj5k6m2x0zdg6pc986p2t6c3hzux4cphn6l53', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '676', + settle_index: '47', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '30', + amt_msat: '1000000', + accept_height: 1722818, + accept_time: '1588539143', + resolve_time: '1588539143', + expiry_height: 1722861, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'sHmeOUtriEOfqS5xPbw+Dy7eNvSUzHVr16vlGuNas6Y=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: '7GW/kjfqPXMIjDCUKRigFLh0jqxG/0iAacUrhuzUWjU=', + r_hash: '02uoAOtHpy8p4CYJk4wDX+zK/LxnNoQ1a4+ymdr83xg=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1588539522', + settle_date: '0', + payment_request: 'lntb10u1p027vyzpp56d46sq8tg7nj720qycye8rqrtlkv4l9uvumggdtt37efnkhumuvqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5jzfccj8vn8d3gvgqms3kyzg4m3w675xkgf0l4z5xmm0vtcgqsf5q9qy9qsqc3jrv9vvj6ml93xdsxrxz3wpcc3keng7slmre8ne7dye026udccnsykty805ksd8ulyjkc96de3ggzfrcath7kjl4yua05sg8acswzcp6emqjk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '677', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kJOMSOyZ2xQxANwjYgkV3F2vUNZCX/qKht7exeEAgmg=' + }, + { + memo: 'Local-Rebalance-1200-Sats', + r_preimage: 'U+DA95kaxUYAFu1XsNqUMigKO8oUmakjX+1/BrusMvs=', + r_hash: '8+F35mmhYEJU/L9VMXr997XwS0uPgXqrZPrUF8WOZGM=', + value: '1200', + value_msat: '1200000', + settled: false, + creation_date: '1588540033', + settle_date: '0', + payment_request: 'lntb12u1p027v5ppp570sh0enf59syy48uha2nz7ha776lqj6t37qh42mylt2p03vwv33sdpgf3hkxctv94fx2cnpd3skucm995cnyvps94fkzarncqzpgxqrrsssp5u8xkua38839tnn7je0u9kagsf2lz6ma90dvm80pve9f684uata7q9qy9qsq30mzl9y2sm5km6eseh6nh9mgx0vatg6lhf7s5w4d7sz9acn5r958mzk5x6u8a25z223q6t2xcarnec20rpd95rqgzwctj5d5wazfphqpt7lhqa', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '678', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4c1udic8SrnP0sv4W3UQSr4tb6V7WbO8LMlTo9edX3w=' + }, + { + memo: 'Local-Rebalance-200-Sats', + r_preimage: '7SI3x222i9VL3iybeRbOv8tIxzZbHMouUz3cylWTKjM=', + r_hash: 'dTMJo1Ekn9WWLRvvnC+p0uSi1jJpBN+fOwIrvhxakcw=', + value: '200', + value_msat: '200000', + settled: true, + creation_date: '1588540170', + settle_date: '1588540408', + payment_request: 'lntb2u1p027vc2pp5w5esng63yj0at93dr0hectaf6tj2943jdyzdl8emqg4mu8z6j8xqdp8f3hkxctv94fx2cnpd3skucm995erqvpd2dshguccqzpgxqrrsssp5wh4urx73wwzudvg6tjsvcxxjc374t0j2qxctsk7hwtuzk79s00ys9qy9qsqzaufrvy9mk54qps74jewyakw0nxlg4gly2z4kkxxc6f0msehd4pn574dcr42e5ze8u7885nwunc3yfwf53sdvj0p92js38ant4xcrsgph07794', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '679', + settle_index: '48', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '31', + amt_msat: '200000', + accept_height: 1722820, + accept_time: '1588540408', + resolve_time: '1588540408', + expiry_height: 1722863, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'devBm9FzhcaxGlygzBjSxH1VvkoBsLhb13L4K3iwe8k=' + }, + { + memo: 'Local-Rebalance-1100-Sats', + r_preimage: 'pNR2k391OUOjw4nInIy5/csU1MsWZUkQvFvQeFdFwrc=', + r_hash: 'vm2NrSV8s0fa92rwccRXznnQE/k/xuzrrWWyewQ5dMw=', + value: '1100', + value_msat: '1100000', + settled: false, + creation_date: '1588540843', + settle_date: '0', + payment_request: 'lntb11u1p027ddtpp5hekcmtf90je50khhdtc8r3zheeuaqyle8lrwe6advke8kppewnxqdpgf3hkxctv94fx2cnpd3skucm995cnzvps94fkzarncqzpgxqrrsssp5axuafuup0hazmhcmudrr4ctp0kyuv8a0088s50ucxgha0ru2r0uq9qy9qsqz8zcq4m8tznj8k7t2d5ql22s8p2k0jtd672wnwucwzq4w6sjr9cqzmw48mhdh2njf7axttah67d09zf2mqjty4q8t8nzd0906ah96mspu8z4gx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '680', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6bnU84F9+i3fG+NGOuFhfYnGH695zwo/mDIv14+KG/g=' + }, + { + memo: 'Local-Rebalance-233-Sats', + r_preimage: 'Djz/2qYmaHe0p84FHxEMBvXYuud5SBQROIAMw9q5988=', + r_hash: 'pFPNe86s64QLgi+faYZ0ft11LhZxhE7rsGNWtvpsZqI=', + value: '233', + value_msat: '233000', + settled: true, + creation_date: '1588541034', + settle_date: '1588541054', + payment_request: 'lntb2330n1p027dn2pp553fu677w4n4cgzuz970knpn50mwh2tskwxzya6asvdttd7nvv63qdp8f3hkxctv94fx2cnpd3skucm995erxved2dshguccqzpgxqrrsssp50vgxuufwmhkpqn3fyefych9nmleaksgg5cvptumxt8vnx7rm2dtq9qy9qsq5m66sgj96fx0pc495r60rcm8ykmd67gvqmtx09tcktfxjpxq8d5hex3nwxw8ptpvutyf6v82prj8nr4mptvz7h8yc4edea7qzkd0udqq2fagah', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '681', + settle_index: '49', + amt_paid: '233000', + amt_paid_sat: '233', + amt_paid_msat: '233000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '0', + amt_msat: '233000', + accept_height: 1722821, + accept_time: '1588541054', + resolve_time: '1588541054', + expiry_height: 1722864, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '233000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'exBucS7d7BBOKSZSTFyz3/PbQQimGBXzZlnZM3h7U1Y=' + }, + { + memo: 'Local-Rebalance-900-Sats', + r_preimage: 'fUrAKIyiBAq/dWmqO4lAUSA9tipyU/OnqvGXQ46NLiw=', + r_hash: 'EoW5vKy4IFTeS0i08aoH1am9qil12ZGbAsAlX4lkSs8=', + value: '900', + value_msat: '900000', + settled: true, + creation_date: '1588541486', + settle_date: '1588541504', + payment_request: 'lntb9u1p027wpwpp5z2zmn09vhqs9fhjtfz60r2s86k5mm23fwhverxczcqj4lztyft8sdp8f3hkxctv94fx2cnpd3skucm995unqvpd2dshguccqzpgxqrrsssp5efpvcmvy9tsqn3jz0jjwrkcvmnz48hv4sk7eh5ugklyta4x0lz9s9qy9qsqhsywnhdj23th2xdhn3awnlm2qkswxqfempwuze9f770p7ay9yjd8m9y7m0tpy0kju4k3j68q93as5690qvv99d6c6mz2njephj0edfcquk46tt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '682', + settle_index: '50', + amt_paid: '900000', + amt_paid_sat: '900', + amt_paid_msat: '900000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '1', + amt_msat: '900000', + accept_height: 1722821, + accept_time: '1588541504', + resolve_time: '1588541504', + expiry_height: 1722864, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '900000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ykLMbYQq4AnGQnyk4dsM3MVT3ZWFvZvTiLfIvtTP+Is=' + }, + { + memo: 'Local-Rebalance-900-Sats', + r_preimage: 'Ar9mD16eOz0daCnTxnQhSQisXtQMGo2cBg3rhiK2b70=', + r_hash: 'lblRXjxyrVRtaE05E01mrxmxCNRYAf9OmZ4Q/00737Q=', + value: '900', + value_msat: '900000', + settled: false, + creation_date: '1588541560', + settle_date: '0', + payment_request: 'lntb9u1p027wrcpp5jku4zh3uw2k4gmtgf5u3xntx4uvmzzx5tqql7n5encg07nfmm76qdp8f3hkxctv94fx2cnpd3skucm995unqvpd2dshguccqzpgxqrrsssp5jr9yq8yv8arz5k9ztazuf3gnxej4gzm6huk6cmszqe7zh5u7udps9qy9qsqexc0km2lenyvyq4djg88e9zk0y9wehtdex04jpea932732d0esypn4utm6mp2l025vskxggzkh9ql2d2lp0wl7zuyl8xswlehczfnscpa7zff0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '683', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kMpAHIw/RipYol9FxMUTNmVUC3q/LaxuAgZ8K9Oe40M=' + }, + { + memo: 'Local-Rebalance-800-Sats', + r_preimage: 'x8M6ezYovMaS/aB3TOFo32rpza+hVvQ/S1XXIWJkKW0=', + r_hash: 'RM+Sh7YP1PfdgtbdzrxCV26mNNrijD/VvVONCFnbq7M=', + value: '800', + value_msat: '800000', + settled: true, + creation_date: '1588541708', + settle_date: '1588541714', + payment_request: 'lntb8u1p027wgvpp5gn8e9pakpl200hvz6mwua0zz2ah2vdx6u2xrl4da2wxsskwm4wesdp8f3hkxctv94fx2cnpd3skucm995urqvpd2dshguccqzpgxqrrsssp5v7qk66x3ef8svcsx5rfadg8hlypqwmprzatlcldveuzpf05v5e9s9qy9qsqxjl74aeyn2jnj03fyd9fez9mz43zpxgtwcp8qvr6zmsu2c860v5swnvpqrjasn5fmdg5kcnyncyrg0887t52ss9x6nf3a39fvgx3ndgpc5vgpw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '684', + settle_index: '51', + amt_paid: '800000', + amt_paid_sat: '800', + amt_paid_msat: '800000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '2', + amt_msat: '800000', + accept_height: 1722822, + accept_time: '1588541714', + resolve_time: '1588541714', + expiry_height: 1722865, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '800000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Z4FtaNHKTwZiBqDT1qD3+QIHbCMXV/x9rM8EFL6Mpks=' + }, + { + memo: 'Local-Rebalance-700-Sats', + r_preimage: 'HaYwriL48N0FA5+Jv2b2gxldTBzuVjVAlHSR8I8VAgQ=', + r_hash: 'izcj8ic7Izspd0HHivZgr4a6gO+QSAazY8O2h4a56Js=', + value: '700', + value_msat: '700000', + settled: true, + creation_date: '1588541875', + settle_date: '1588541882', + payment_request: 'lntb7u1p027wdnpp53vmj8u388v3nk2thg8rc4anq47rt4q80jpyqdvmrcwmg0p4eazdsdp8f3hkxctv94fx2cnpd3skucm995mnqvpd2dshguccqzpgxqrrsssp56a6yswnusqt0jwk4nxq0c2km45lly4fawpcta22yslgclg75nztq9qy9qsq7xeyqpak06nmjgu08gze906u54ef49mx8y3z7kahjex4eq2gcf6qzywp2frn9w67q249rptf0lyzd3mnfqs7enjhayajvu0jpfsntwgp3yf80k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '685', + settle_index: '52', + amt_paid: '700000', + amt_paid_sat: '700', + amt_paid_msat: '700000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '32', + amt_msat: '700000', + accept_height: 1722822, + accept_time: '1588541882', + resolve_time: '1588541882', + expiry_height: 1722865, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '700000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '13RIOnyAFvk61ZmA/CrbrT/yVT1wcL6pRIfRj6PUmJY=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: 'nYTDy22SQzCxCBwpDfmXGmUSzvdXp8G4FTL0QzX4FBI=', + r_hash: '21n15mWh77DCuYjFNFCXtjfH+MT0Ro4WbvFvMj2TwCo=', + value: '500', + value_msat: '500000', + settled: false, + creation_date: '1588542602', + settle_date: '0', + payment_request: 'lntb5u1p0270y2pp5mdvlten958hmps4e3rzng5yhkcmu07xy73rgu9nw79hny0vncq4qdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5q0nkr5jk7svdrnpwcqvez8gld7jqhm8vefv8ymmxxn8avdfulm4q9qy9qsqdsctheus5u5s79ej0xtpxy9wdw0s0ps2cd7wrcwthraqw4nplunza3my7na5dqncx90f2558luyu9mchnusmr4uz87mmjjjqtyws3tqps0s0dd', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '686', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'A+dh0lb0GNHMLsAZkR0fb6QL7OzKWHJvZjTP1jU8/uo=' + }, + { + memo: 'Local-Rebalance-1000-Sats', + r_preimage: 'YdEmGueRKkgkB338auDrc8IDFXt0J6AXvQ0fBXWdsxY=', + r_hash: 'R9YUPxEmiczeG/Yy4TCISjMMfld1Mydz53LcHnV6xGA=', + value: '1000', + value_msat: '1000000', + settled: false, + creation_date: '1588558089', + settle_date: '0', + payment_request: 'lntb10u1p0277gfpp5gltpg0c3y6yuehsm7cewzvygfgescljhw5ejwul8wtwpuat6c3sqdpgf3hkxctv94fx2cnpd3skucm995cnqvps94fkzarncqzpgxqrrsssp5nk80r4pvdar2t5774wm335uht6lgzwvz6785ae95nahhpucltzfq9qy9qsqal6j6hnpjgy85qwyvwv59mfw3y30aaw4lpn2q4uakryyy43p9qn9exnjmd32trr3hw7svmt4w9zul2h4yak9pn6nfy4560c3t0ld7zqqck4c7z', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '687', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'nY7x1CxvRqXT3qu3GNOXXr6BOYLXj07ktJ9vcPMfWJI=' + }, + { + memo: 'Local-Rebalance-800-Sats', + r_preimage: 'v4x7qhPlFBmS0I2i5X2CWojdZK9oc1F/q3urYcoqcns=', + r_hash: 'YnIGUgs9Ms5qh0dJRpFxkuU7lG39WH04uuhptvMG/1E=', + value: '800', + value_msat: '800000', + settled: true, + creation_date: '1588559566', + settle_date: '1588559587', + payment_request: 'lntb8u1p027lkwpp5vfeqv5st85evu658gay5dyt3jtjnh9rdl4v86w96ap5mducxlagsdp8f3hkxctv94fx2cnpd3skucm995urqvpd2dshguccqzpgxqrrsssp5k5wmd99g22zeh823g06nl87hwcal65ekafyq2ecxjh8usnq4l57s9qy9qsqq2sp30yxe99jsgzvu4mm70d6655dnt4px7s2dc8wwqlps3c9yw9zlh0a3u83nqsya94y6nxeyagyp9pump9psf7wllz77r8h9vre8tgq40jje7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '688', + settle_index: '53', + amt_paid: '800000', + amt_paid_sat: '800', + amt_paid_msat: '800000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '33', + amt_msat: '800000', + accept_height: 1722845, + accept_time: '1588559587', + resolve_time: '1588559587', + expiry_height: 1722888, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '800000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tR22lKhShZudUUP1P5/Xdjv9UzbqSAVnBpXPyEwV/T0=' + }, + { + memo: 'Local-Rebalance-1100-Sats', + r_preimage: 'r/c6yPllE7fbfzswYEcTKnS4Rw9mvxOVxTWgPHTctfo=', + r_hash: 'kPMnBubFmXO0UuII70obJ5BslC5/CSYmcY3e6ojfMws=', + value: '1100', + value_msat: '1100000', + settled: true, + creation_date: '1588559859', + settle_date: '1588560104', + payment_request: 'lntb11u1p027llnpp5jrejwphxckvh8dzjugyw7jsmy7gxe9pw0uyjvfn33h0w4zxlxv9sdpgf3hkxctv94fx2cnpd3skucm995cnzvps94fkzarncqzpgxqrrsssp5jvsdw7hzkg8r4t0kjlfhd86khy8t5edfc9x9aqrtfy5wgf7wy58s9qy9qsqwlw683rcf4ahwrdgseqm93xew79s9gt6e337r77ly5hz0axhav393u2nswnazwmrnrz0yqqpdt9u2jx8uzpnxc5rmzzfkrhna2jxqjgqqg8tda', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '689', + settle_index: '54', + amt_paid: '1100000', + amt_paid_sat: '1100', + amt_paid_msat: '1100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '34', + amt_msat: '1100000', + accept_height: 1722847, + accept_time: '1588560104', + resolve_time: '1588560104', + expiry_height: 1722888, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1100000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kyDXeuKyDjqt9pfTdp9WuQ66ZanBTF6Aa0ko5CfOJQ8=' + }, + { + memo: 'Local-Rebalance-700-Sats', + r_preimage: 'kEFWy1v9Pppvt2mj9TIa3nYvbj8Q2YvQz8DmUdVfP+s=', + r_hash: 'OS99pKAtaxybF6urI7cD63j3Cvb1HfDbF8A3tQOE1MI=', + value: '700', + value_msat: '700000', + settled: false, + creation_date: '1588559921', + settle_date: '0', + payment_request: 'lntb7u1p02lqp3pp58yhhmf9q9443exch4w4j8dcradu0wzhk75wlpkchcqmm2quy6npqdp8f3hkxctv94fx2cnpd3skucm995mnqvpd2dshguccqzpgxqrrsssp55zfhtdwd9l93uyqaflcvummd3926srr7q30peku4lyh4z8x5a73q9qy9qsql4aln3s3573m9v9w4s0nf5f55nunsk0mywfmu66jkxux0hfux7q8g87j9j7n2uxvcwm2zjzr7rdjvg3dex5u6ck5h6jyrvmw2grfnkcpftuxq7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '690', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oJN1tc0vyx4QHU/wzm9tiVWoDH4EXhzblfkvURzU76I=' + }, + { + memo: 'Local-Rebalance-500-Sats', + r_preimage: '/tHMFSVilLX3TNVvtk5x07UIofdgFd5gm7+4c/EroSM=', + r_hash: 'uVWC85aQSEkDdFHDoFQ1JQgYyAdWgrzFWHPcZOvg+i4=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1588560123', + settle_date: '1588560135', + payment_request: 'lntb5u1p02lq8mpp5h92c9uukjpyyjqm528p6q4p4y5yp3jq826pte32cw0wxf6lqlghqdp8f3hkxctv94fx2cnpd3skucm9956nqvpd2dshguccqzpgxqrrsssp5kt4u986284kc79x34mlaqyyuqawkg6ag7qte6nnk6a6u0d6c5chq9qy9qsqdu8n8gzetnucky6uuxdacacwjy9wgw6pj8m8fntd9ncww30mgswp76duz6ul06y9rvenedsxwymuv6kjt9pstl43fjt48f9zqfl6fyqqephcm3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '691', + settle_index: '55', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '35', + amt_msat: '500000', + accept_height: 1722847, + accept_time: '1588560135', + resolve_time: '1588560135', + expiry_height: 1722890, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'suvCn0o9bY8U0a7/0BCcB11ka6jwF51Odtd1x7dYpi4=' + }, + { + memo: 'Local-Rebalance-501-Sats', + r_preimage: 'CpN1J2YWiT1c40blEtDRDNLdAVikmdmF3U0ZZgreopQ=', + r_hash: 'Ix/9zsZYgi1Bf9M6Yq/Lfhxj3JZwBSoHgYHxwcHE/Dg=', + value: '501', + value_msat: '501000', + settled: false, + creation_date: '1588560239', + settle_date: '0', + payment_request: 'lntb5010n1p02lqt0pp5yv0lmnkxtzpz6stl6vax9t7t0cwx8hykwqzj5pups8curswylsuqdp8f3hkxctv94fx2cnpd3skucm9956nqvfd2dshguccqzpgxqrrsssp5ahqjg2qjvx20p8g4v0kf9vrqqegn2e5lua5nmkn9rzch37hvkclq9qy9qsqrk3s4uucnkc730luevuklmdslfj9cqy33905su0d9rruufulh548ky5nuvcdzwfx9t7xh672q8ysnqk0rxdr5q7dq5rcca9sheuyt6spkk0mln', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '692', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '7cEkKBJhlPCdFWPskrBgBlE1Zp/naT3aZRixePrstj4=' + }, + { + memo: 'Local-Rebalance-550-Sats', + r_preimage: 'ob7NpbAbFHkvr1Fm0ShLKAFsqcMYKL+veCRQDzKYidc=', + r_hash: '43yYy7xuzt8Astjd0oIH8MhAkm0wfa5qGaBLGwh1zFI=', + value: '550', + value_msat: '550000', + settled: false, + creation_date: '1588560335', + settle_date: '0', + payment_request: 'lntb5500n1p02lqw0pp5ud7f3jaudm8d7q9jmrwa9qs87ryypyndxp76u6se5p93kzr4e3fqdp8f3hkxctv94fx2cnpd3skucm9956n2vpd2dshguccqzpgxqrrsssp59cw865997quwd8rtlhgaldasjd7cumq35v0a2tjacaqxvnu2zsks9qy9qsqjyumrhldn8uwla4ggxc2dx00gepmsc5y5a9q7gnyzjjqxaa50hfpq6jdedcue5309alwx5fprfsw437uy72u2vds5dhaa8z4wact3wcp335lcp', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '693', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Lhx9UKXwOOaca/3R37ewk32ObBGjH9UuXcdAZk+KFC0=' + }, + { + memo: 'Local-Rebalance-560-Sats', + r_preimage: 'ktHXYiUlF2MAhhZv4ml8DjsRe5gXLmds5fJvULMiPxc=', + r_hash: 'u9Y69pH8mGNWsN94atj/JlvXQkuKkSvjkNDtDVafL2o=', + value: '560', + value_msat: '560000', + settled: false, + creation_date: '1588560414', + settle_date: '0', + payment_request: 'lntb5600n1p02lqs7pp5h0tr4a53ljvxx44smaux4k8lyedawsjt32gjhcus6rks645l9a4qdp8f3hkxctv94fx2cnpd3skucm9956nvvpd2dshguccqzpgxqrrsssp5heju5ajhxf9at9qyw3rnvl9u4jclah6dxs668yc5gyyhgall4rsq9qy9qsqwudae760fzpvlraw6l2jkg2ezqhajs7vg7c6uw6whx62lnhrenj8tv9jy74yesqxy7mgg22n6sq8tt2nqjzxzr35keltcd0hf76ay4sq7602eu', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '694', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vmXKdlcyS9WUBHRHNny8rLH+3000NaOTFEEJdHf/qOA=' + }, + { + memo: 'Local-Rebalance-600-Sats', + r_preimage: 'BwuvkjEt52TdjwBp2Xa88fMJ2gQlUIgyzUyyjl7Daac=', + r_hash: 'VAu1yzpqB9rGEACmpnTFopOucDIj1lgbuxD2Y2eComk=', + value: '600', + value_msat: '600000', + settled: false, + creation_date: '1588560726', + settle_date: '0', + payment_request: 'lntb6u1p02lq6kpp52s9mtje6dgra43ssqzn2vax952f6uupjy0t9sxamzrmxxeuz5f5sdp8f3hkxctv94fx2cnpd3skucm995mrqvpd2dshguccqzpgxqrrsssp5u9s69tq89lfw6uv3lt7qcnttdgp6qqund5dzxylvfzdt8dvn5swq9qy9qsqs5v4tv6v69rrq2xcw0nse5hvteuvrwm7w95f7hmt9e9z2avz6mejmf9qn528djjlqxt7fx6aln3ltfyxmdd7u9kl2uyuj4uvd3smraspt959ls', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '695', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4WGirAcv0u1xkfr8DE1ragOgA5NtGiMT7Eias7WTpBw=' + }, + { + memo: 'Local-Rebalance-650-Sats', + r_preimage: 'WssQR/AGlFGVEL8sGgbLfy6L8iwpZN1UOZZm1NELQxM=', + r_hash: 'ZOYOVmRSFWPQdV2pBsWJ4RFtO48vTaoQvZJLIpu45L0=', + value: '650', + value_msat: '650000', + settled: true, + creation_date: '1588561238', + settle_date: '1588561727', + payment_request: 'lntb6500n1p02lp2kpp5vnnqu4ny2g2k85r4tk5sd3vfuygk6wu09ax65y9ajf9j9xacuj7sdp8f3hkxctv94fx2cnpd3skucm995mr2vpd2dshguccqzpgxqrrsssp5hrly84yk660h0aqwdrgvtngnkpp34m8crrey65fkzrrl00l7t7ds9qy9qsqm3d34p0tuw392a2ahzf2r9fa9g4pvvq0mmnph5jjp0nl4qrqf4csslcr083spjkr8f0crgwpsypl7dxzhm2a9gl0htvl080tfm5s0rcpt25xvv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '696', + settle_index: '56', + amt_paid: '650000', + amt_paid_sat: '650', + amt_paid_msat: '650000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '36', + amt_msat: '650000', + accept_height: 1722849, + accept_time: '1588561727', + resolve_time: '1588561727', + expiry_height: 1722891, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '650000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uP5D1JbWn3f0DmjQxc0TsEMa7PgY8k1RNhDH97/+X5s=' + }, + { + memo: 'Local-Rebalance-900-Sats', + r_preimage: 'YTeEc+e8Ug+TlpJ8D/rl64Hoo3v+/M2RDOPjIDu2fyw=', + r_hash: 'jgPKP5lfVOaYETJ3Px0u0zzbALOrBEroje+8lSg51QU=', + value: '900', + value_msat: '900000', + settled: false, + creation_date: '1588561355', + settle_date: '0', + payment_request: 'lntb9u1p02lpwtpp53cpu50ueta2wdxq3xfmn78fw6v7dkq9n4vzy46yda77f22pe65zsdp8f3hkxctv94fx2cnpd3skucm995unqvpd2dshguccqzpgxqrrsssp5hxpunf8ud6jeja7lacrdj83t37ycg5xaepp32eyx6jj39xntlnss9qy9qsqew2lmfvfmsufuf0ssk30dpvew9nl32evcwl4ctlev4exjjsc6kmz05ptjhn2tw42848sut2jat5p2vfy8wumad0h7nwnxazw4ztp6asq6r7x7r', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '697', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uYPJpPxupZl33+4G2R4rj4mEUN3IQxVkhtSlEppr/OE=' + }, + { + memo: 'Testing Eclair Payments 1', + r_preimage: 'uxLL083UnqBiF/L4cNgo8U7xn7aroj9gl4F9h1DBlLM=', + r_hash: 'FlaXd915hSetvRNejwcXzxPwXDsuuQnIQvsV7J1L7AI=', + value: '100', + value_msat: '100000', + settled: true, + creation_date: '1593033305', + settle_date: '1593635206', + payment_request: 'lntb1u1p008sjepp5zetfwa7a0xzj0tdazd0g7pcheuflqhpm96usnjzzlv27e82taspqdpg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgp3cqzpgxqyjw5qsp52c8mx0qmah0pnsgq4j3rfjr8fwca9sc0gsfv5hckr3xuvaq7g3vs9qy9qsqp3g9068p8lxcfz36kl08fagy53merz2ax5h9tmr3amfswvuv9th4jusuqj9rpedy93zl5cw3g2lxcyxvzlnqug3ww8my6hc6yy4nv7gp57sa0q', + description_hash: null, + expiry: '604800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '698', + settle_index: '59', + amt_paid: '100000', + amt_paid_sat: '100', + amt_paid_msat: '100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '4', + amt_msat: '100000', + accept_height: 1774795, + accept_time: '1593635206', + resolve_time: '1593635206', + expiry_height: 1774836, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Vg+zPBvt3hnBAKyiNMhnS7HSww9EEspfFhxNxnQeRFk=' + }, + { + memo: 'Testing Eclair Payments 2', + r_preimage: 'IWq+p51WwfcaUBl1L0VZQoWllLuCu2yxdeL/XNaPwEI=', + r_hash: 'Sb127p1i0fv9Tl6j/jA/bG1oRQKER/65ZOjdkwJ7DWs=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1593630296', + settle_date: '1593634909', + payment_request: 'lntb5u1p00ehjcpp5fx7hdm5avtglhl2wt63luvpld3kks3gzs3rlawtyarwexqnmp44sdpg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgpjcqzpgxqyjw5qsp5ptvpc82kjnlep0hgy4twwezyx43znt25pdrpeyumpp9awd3f5qzs9qy9qsqwuccgyf7k2zuy77356pw2a6asuf0s2fw0ejs34efyyztuc6m9suj0cfspjwgwjazu42da8panc3vxvefxj4tx52a5v29afq6mza2t2cq8mmfsw', + description_hash: null, + expiry: '604800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '699', + settle_index: '58', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '137', + amt_msat: '500000', + accept_height: 1774795, + accept_time: '1593634909', + resolve_time: '1593634909', + expiry_height: 1774836, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CtgcHVaU/5C+6CVW52RENWIprVQLRhyTmwhL1zYpoAU=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 3 ', + r_preimage: 'dv+cgYMlCqGjcdBv8RBTHeQyYpaolVBYLJxl2AIGJ/w=', + r_hash: 'u08FcLO5+vZxUR72wDglzlyeUraClDvJKkgkZZnxFwA=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1593632106', + settle_date: '1593634407', + payment_request: 'lntb1p00eet2pp5hd8s2u9nh8a0vu23rmmvqwp9eewfu54ks22rhjf2fqjxtx03zuqqdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqveqcqzpgxqy9gcqsp565fye2jp5tdny2le9azgkylcuj8ghc282g5we6ympj5kula2zn0q9qy9qsqyzmupljnqyzlexk6wfh5aqs587c288005ksszuxxz6dyvyl952hqwuvvm0wquy3zjjzcrv95w24jaqh7cpewnmgjnggxwd0azd4qqespj8saqr', + description_hash: null, + expiry: '172800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '700', + settle_index: '57', + amt_paid: '101000', + amt_paid_sat: '101', + amt_paid_msat: '101000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '3', + amt_msat: '101000', + accept_height: 1774793, + accept_time: '1593634407', + resolve_time: '1593634407', + expiry_height: 1774834, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1RJMqkGi2zIr+S9EixP45I6L4UdSKOzomwypbn+qFN4=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 6', + r_preimage: 'TPV9lVE6+q/8VGJzFXBbNI1FQS42QCxa4V5+7Gf+A6g=', + r_hash: 'KF7GiMC7dHZ1q6254o7P1Z/oRjpA4nC7tUTUdjWDdFQ=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1593632700', + settle_date: '1593635479', + payment_request: 'lntb1p00eeaupp59p0vdzxqhd68vadt4ku79rk06k07s336gr38pwa4gn28vdvrw32qdz823jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqdscqzpgxqy06gqsp5k5373y4y69z8wlen2w5raz20pjpe67crvruyhfhw808ajwp4zluq9qy9qsq99axrvm760wjx5js7tt490y5hl8v2cykpfflxm3ggdsx620salnqxp9z570k6rqj834306tfwg2t7lnalqdsatwwsd3gh9seuyqef3qqj9avaq', + description_hash: null, + expiry: '518400', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '701', + settle_index: '60', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '5', + amt_msat: '200000', + accept_height: 1774795, + accept_time: '1593635479', + resolve_time: '1593635479', + expiry_height: 1774836, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tSPokqTRRHd/M1OoPolPDIOdewNg+Eum7jvP2Tg1F/g=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 10', + r_preimage: 'r5RYBMT6gKQ/GGUO7HC3eR2c3KModpkXi7YyiVX3jGc=', + r_hash: 'SyHNgEsJ7wIs8Pj1eNXDrMuTnNjd5juSkLCcd7+UroI=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1593636688', + settle_date: '1593636712', + payment_request: 'lntb10u1p00ea6spp5fvsumqztp8hsyt8slr6h34wr4n9e88xcmhnrhy5skzw800u546pqdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvfscqzpgxqypr9qsp5s7lxvkqww90zsscgkc3c0gs9w5dtdktyt92tharx6u7v77saefeq9qy9qsqkrx8p9cr72ys4ktuywwpzpzgnvp6rc7jc0cc9eztgmyh7dym4mn378t5vyvjlfzhcns4nyuzlkrls8rldjd9338ua2huxzvku77uuwgpgdj02j', + description_hash: null, + expiry: '36000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '702', + settle_index: '61', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '138', + amt_msat: '1000000', + accept_height: 1774797, + accept_time: '1593636712', + resolve_time: '1593636712', + expiry_height: 1774837, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'h75mWA5xXihDCLYjh6IFdRq22WRZVLv0Ztc8z3odynI=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 11', + r_preimage: '20kZTICLlxQ6NHNKDs6lwHoMO1ToPxqcFoCzNpwcKhs=', + r_hash: 'jCnHq9CAY1st4dxH5/eQ3qP+k6qO3+bD4yqE4hkYlIE=', + value: '1100', + value_msat: '1100000', + settled: true, + creation_date: '1593637434', + settle_date: '1593637481', + payment_request: 'lntb11u1p00e736pp53s5u027ssp34kt0pm3r70ausm63laya23m07dslr92zwyxgcjjqsdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvf3cqzpgxqypx4ssp5k3k7tcyhsv3tjecm4fyknsw46djxg4futd9euuugvappnvh96tdq9qy9qsqsx6tgm26eheslnpdjdrs82t6zft4khxngxmqa7349zqc6e49285y22x4z54ujsx73al2rutrgwvgx329zhatf3lfg2tqumukyukq8lgpt98xvu', + description_hash: null, + expiry: '39600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '703', + settle_index: '62', + amt_paid: '1100000', + amt_paid_sat: '1100', + amt_paid_msat: '1100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '6', + amt_msat: '1100000', + accept_height: 1774798, + accept_time: '1593637481', + resolve_time: '1593637481', + expiry_height: 1774839, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'tG3l4JeDIrlnG6pJacHV02RkVTxbS55ziGdCGbLl0to=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 12', + r_preimage: 'qS6qx51C6v/Aaf5R9O39xshkMskAa8lMoIIAFlYC7Pk=', + r_hash: '6xZZGE5q1XJTXa21guB9ipsv2lEih2OI9gRUC+KamP4=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1593637568', + settle_date: '1593638761', + payment_request: 'lntb1p00e7kqpp5avt9jxzwdt2hy56a4k6c9cra32djlkj3y2rk8z8kq32qhc56nrlqdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvfjcqzpgxqyp2xqsp5zhwvksqlp6ksm754e8fgnajm4jwlljypzs70vzrmq8pd9ncajr4s9qy9qsqy4wldyhahc7hqhaz54yfsxvnexa7lta4sqpad4ms26a2t7k809fxyujl0gyq0mvz9ptqyms2xyujhnevqh6n02mf4q30s82pz06f4ssqj3g2ks', + description_hash: null, + expiry: '43200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '704', + settle_index: '63', + amt_paid: '1200000', + amt_paid_sat: '1200', + amt_paid_msat: '1200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '7', + amt_msat: '1200000', + accept_height: 1774802, + accept_time: '1593638761', + resolve_time: '1593638761', + expiry_height: 1774843, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'FdzLQB8OrQ36lcnSifZbrJ3/yIEUPPYIewHC0s8dkOs=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 13', + r_preimage: 'B9tQD+hR7xHbEEpAf3rMUHsuo18m2hG20pld/KhtKZc=', + r_hash: 'pJ2EXbWpCtAUkeFFH9ulezo3pJKGJKPJgSNsOYcjojc=', + value: '130', + value_msat: '130000', + settled: true, + creation_date: '1593639148', + settle_date: '1593639205', + payment_request: 'lntb1300n1p006q8vpp55jwcghd44y9dq9y3u9z3lka90var0fyjscj28jvpydkrnper5gmsdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvfncqzpgxqypdkssp5e2yzsyetrnz9mmcmw7ap6ayqq7dyewt67qhvnqpehs5jtj2h3q4s9qy9qsq4tr3d6sw4cwxgeudm5tht4zm24krvaqpqa29n6q5wh758jgqyphqeyqmls3gmlz6mz7lsdl77x0uqxx0h5dz589r462l38w49nnzmrcprc864g', + description_hash: null, + expiry: '46800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '705', + settle_index: '64', + amt_paid: '130000', + amt_paid_sat: '130', + amt_paid_msat: '130000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '8', + amt_msat: '130000', + accept_height: 1774802, + accept_time: '1593639205', + resolve_time: '1593639205', + expiry_height: 1774843, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yogoEyscxF3vG3e6HXSAB5pMuXrwLsmAObwpJclXiCs=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 14', + r_preimage: 'Jth7LqVgkRRxGnBG5N+4q5DX09qWJqRvztZLZO9OatY=', + r_hash: 'Tp2WBhb9H8nkUDN89Htd36WsMOkl3lEFjpj0eAn7Aug=', + value: '140', + value_msat: '140000', + settled: true, + creation_date: '1593639287', + settle_date: '1593639318', + payment_request: 'lntb1400n1p006qthpp5f6wevpskl50unezsxd70g76am7j6cv8fyh09zpvwnr68sz0mqt5qdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvf5cqzpgxqyp38qsp5xp6lvhprq7ug556kxacv0hp43f8g5epj0uchl3ta7l63x6dr23ms9qy9qsql9kgjt6h0fg2tn6whfnz68fllme69qmqx8lkxa5atwyyyc2qhnq4vdn44nxeutrnlekxsly50lnj6dsy42zwspxwqgqg5xyumramkdsqxumlr5', + description_hash: null, + expiry: '50400', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '706', + settle_index: '65', + amt_paid: '140000', + amt_paid_sat: '140', + amt_paid_msat: '140000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '9', + amt_msat: '140000', + accept_height: 1774802, + accept_time: '1593639318', + resolve_time: '1593639318', + expiry_height: 1774843, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'MHX2XCMHuIpTVjdwx9w1ik6KZDJ/MX/Ffff1E2mjVHc=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 15', + r_preimage: 'VMR+TDXLKWuniwyorCEIvNQqVIz07DP/TFzGEH0dg9o=', + r_hash: 'HJ07J53kvkAhdYeSHyL0E+l1EbhP5460/ohiRN28ywY=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1593639669', + settle_date: '1593639712', + payment_request: 'lntb1p006qh4pp5rjwnkfuaujlyqgt4s7fp7gh5z05h2ydcflncad873p3yfhduevrqdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvf4cqzpgxqyp5hssp5kknr82g7lkv2kglzrfnv9kwua72w6eeeym8shavnstsx0609255q9qy9qsq7vk0mdkurv65z9lttkrvgy74cvml07a8gxpssk9unum8jdrqn6npxmcyh72lk56kj22l2fg4v08ycxw2yhjyjtwq75vtpcmvnsh3fhsq02fcey', + description_hash: null, + expiry: '54000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '707', + settle_index: '66', + amt_paid: '150000', + amt_paid_sat: '150', + amt_paid_msat: '150000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '10', + amt_msat: '150000', + accept_height: 1774803, + accept_time: '1593639712', + resolve_time: '1593639712', + expiry_height: 1774844, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'taYzqR79mKsj4hpmwtnc75TtZzkmzwv1k4LgZ+nlVSg=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 16', + r_preimage: 'qqnGKcK8NW0PK9i3tTlG6p4VsM422lCtKnsSE2zuOLA=', + r_hash: 'UN7YkS0cMXfWRLjbfPXgUhH8VPXUTj9qAVi3vvblnws=', + value: '160', + value_msat: '160000', + settled: true, + creation_date: '1593640638', + settle_date: '1593640678', + payment_request: 'lntb1600n1p006p47pp52r0d3yfdrsch04jyhrdhea0q2gglc484638r76sptzmmaah9nu9sdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvfkcqzpgxq9p2xqqsp54lvha4g2mqtwj5wc9up8y4k65g3q3z9twrsskv6r3805mcvullvs9qy9qsq5amnvzfnluck95yywg56l26cs3ehap4nlxth0sak4qhc3al0u665qg4f350jmzheg8354e5hjps987vhh84mffum8q90w3hffurgcrgpue5ne5', + description_hash: null, + expiry: '1382400', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '708', + settle_index: '67', + amt_paid: '160000', + amt_paid_sat: '160', + amt_paid_msat: '160000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '11', + amt_msat: '160000', + accept_height: 1774805, + accept_time: '1593640678', + resolve_time: '1593640678', + expiry_height: 1774846, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'r9l+1QrYFulR2C8CclbaoiIIiKtw4QszQ4nfTeGc/9k=' + }, + { + memo: 'Testing Eclair Payments with Empty Invoice 17', + r_preimage: 'ACKc/VJ4rmEopDRHVNHvGMaslh3qXw1PwBeLaMx238k=', + r_hash: 'KzwoY375M+MLk2vleHA0zvEOz0LPrU+/ojWmTsWu2po=', + value: '170', + value_msat: '170000', + settled: true, + creation_date: '1593640919', + settle_date: '1593641028', + payment_request: 'lntb1700n1p006p7hpp59v7zscm7lye7xzund0jhsup5emcsan6ze7k5l0azxknya3dwm2dqdzg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgrhd96xsgz9d4c8g7fqf9h8vmmfvdjjqvfhcqzpgxq9pv6vqsp5q2llla3c3pj6u02g3lpdtldmdj2gjuh7f78dqqdfnjarxq57hl4q9qy9qsqe96r0lggywwa43xj5hrzhsmqtse9c642m5pmta24r9pqtx6a0utjuukz4a3jepx2kshf3t365f60klwaav9jrsjjpq4th227nnh4tasql4hhgw', + description_hash: null, + expiry: '1468800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '709', + settle_index: '68', + amt_paid: '2040000', + amt_paid_sat: '2040', + amt_paid_msat: '2040000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '18', + amt_msat: '170000', + accept_height: 1774823, + accept_time: '1593647165', + resolve_time: '1593647165', + expiry_height: 1774864, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1801931332652957696', + htlc_index: '140', + amt_msat: '170000', + accept_height: 1774817, + accept_time: '1593645209', + resolve_time: '1593645209', + expiry_height: 1774858, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '16', + amt_msat: '170000', + accept_height: 1774817, + accept_time: '1593645259', + resolve_time: '1593645259', + expiry_height: 1774858, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1801931332652957696', + htlc_index: '142', + amt_msat: '170000', + accept_height: 1774818, + accept_time: '1593645451', + resolve_time: '1593645451', + expiry_height: 1774859, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '17', + amt_msat: '170000', + accept_height: 1774817, + accept_time: '1593645277', + resolve_time: '1593645277', + expiry_height: 1774858, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '19', + amt_msat: '170000', + accept_height: 1774823, + accept_time: '1593647209', + resolve_time: '1593647209', + expiry_height: 1774864, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '12', + amt_msat: '170000', + accept_height: 1774807, + accept_time: '1593641138', + resolve_time: '1593641138', + expiry_height: 1774848, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '14', + amt_msat: '170000', + accept_height: 1774807, + accept_time: '1593641212', + resolve_time: '1593641212', + expiry_height: 1774848, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '13', + amt_msat: '170000', + accept_height: 1774807, + accept_time: '1593641200', + resolve_time: '1593641200', + expiry_height: 1774848, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1801931332652957696', + htlc_index: '141', + amt_msat: '170000', + accept_height: 1774818, + accept_time: '1593645372', + resolve_time: '1593645372', + expiry_height: 1774859, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1801931332652957696', + htlc_index: '139', + amt_msat: '170000', + accept_height: 1774805, + accept_time: '1593641028', + resolve_time: '1593641028', + expiry_height: 1774846, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + }, + { + chan_id: '1795545369112543232', + htlc_index: '15', + amt_msat: '170000', + accept_height: 1774813, + accept_time: '1593643971', + resolve_time: '1593643971', + expiry_height: 1774854, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '0' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Ar//9jiIZa49SI/C1f27bJSJcv5PjtABqZy6MwKev+o=' + }, + { + memo: 'Testing Eclair Payments 21', + r_preimage: '14BtAYIv232gws3Sp3j9Zj2tLu0Io1mGGZTgj8kL3cI=', + r_hash: 'vRrheAgiQoDaprssiYB9yPILTKUvbZycnOLmin2Z6+s=', + value: '2100', + value_msat: '2100000', + settled: true, + creation_date: '1593913055', + settle_date: '1593913116', + payment_request: 'lntb21u1p0sztklpp5h5dwz7qgyfpgpk4xhvkgnqraereqkn999akee8yuutng5lvea04sdp223jhxarfdenjq3trd3skju3q2pshjmt9de68xgpjxycqzpgxqyjw5qsp5dvnamv90uha0h99uc7hu6dm7shaksjsxhstnsy4l84q78x590knq9qy9qsqetys5z5r8grhppvrftvmun35fgwm5r6p5pm8sffufrdw2s35cgajwyyj39nmf9qkee3mgt6knq9nfwwxz5vxxycsc6akg9r6uerqj7qp5u2alj', + description_hash: null, + expiry: '604800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '710', + settle_index: '69', + amt_paid: '2100000', + amt_paid_sat: '2100', + amt_paid_msat: '2100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '20', + amt_msat: '2100000', + accept_height: 1775378, + accept_time: '1593913116', + resolve_time: '1593913116', + expiry_height: 1775419, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '2100000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ayfdsK/l+vuUvMevzTd+hftoSga8FzgSvz1B45qFfaY=' + }, + { + memo: 'Testing Eclair Payments 22', + r_preimage: '3Pnsy9mY8X3w/jJQ99nh11aDhKsaSqanbQPW9GJZUnM=', + r_hash: 'zkqcADwjpbQLRkonvySvBfnHUz69c4Jaso8wn5lu9no=', + value: '220', + value_msat: '220000', + settled: true, + creation_date: '1593913444', + settle_date: '1593913471', + payment_request: 'lntb2200n1p0szvrypp5ee9fcqpuywjmgz6xfgnm7f90qhuuw5e7h4ecyk4j3ucflxtw7eaqdp223jhxarfdenjq3trd3skju3q2pshjmt9de68xgpjxgcqzpgxqy9gcqsp5f4pj2xwcc4jmadn07rxtxdx66mtnj2zrwt4ayevwtg54x4nyvwvq9qy9qsqs55nuvndl0w3ujrlaqklnfj68v8tpkeaj6865tz275cz84vv75e47ja846gvy5hw05rgm7zvy7dqshjnvfaqt5zh438nl87gdpwh2ygp462h7u', + description_hash: null, + expiry: '172800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '711', + settle_index: '70', + amt_paid: '220000', + amt_paid_sat: '220', + amt_paid_msat: '220000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '24', + amt_msat: '220000', + accept_height: 1775378, + accept_time: '1593913471', + resolve_time: '1593913471', + expiry_height: 1775419, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '220000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'TUMlGdjFZb62b/DMszTa1tc5KENy69JljlopU1ZkY5g=' + }, + { + memo: 'test again', + r_preimage: '84aITegvfco3/nvrv37Hq4vqMuGF8I6jQyPUg5DyoCo=', + r_hash: 'Yh6dANBGrDWH54RSmVqoI18nFE/ModaUUbBe2A40Gb8=', + value: '200', + value_msat: '200000', + settled: true, + creation_date: '1594000341', + settle_date: '1594003201', + payment_request: 'lntb2u1p0s9q74pp5vg0f6qxsg6krtpl8s3ffjk4gyd0jw9z0ejsad9z3kp0dsr35rxlsdqsw3jhxapqv9nkz6twcqzpgxqy8ayqsp5fkepdkxk8nhs27976d592uvc93ng762u5f0hexaqdhwsur7clztq9qy9qsqxzyjajlthy9av8z2t4s6ujvfevauytgmhm0xukld6e6aqhpmsmehqmj52287wfetekjl4klzv4gjsv44wtmncj7sn3akgmpml2q0j0sqeh4sk9', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '712', + settle_index: '71', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '26', + amt_msat: '200000', + accept_height: 1775560, + accept_time: '1594003201', + resolve_time: '1594003201', + expiry_height: 1775601, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'TbIW2NY87wV4vtNoVXGYLGaPaVyiX3yboG3dDg/Y+JY=' + }, + { + memo: 'test again 3', + r_preimage: 'osdU8OAmMpKkES9L1nVkD1rduk3M4XFzzPXVwnzBB8Q=', + r_hash: 'CQuTvgMml/j64zBnNGspja+KQEfAKNIsHHpemRz6EWs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1594003036', + settle_date: '0', + payment_request: 'lntb1p0s9rjupp5py9e80sry6tl37hrxpnng6ef3khc5sz8cq5dytqu0f0fj886z94sdq5w3jhxapqv9nkz6twyqescqzpgxqy23sqsp5umtzks2q7vrsg83vp6k07zkedeyr3ph0n3wny67pv372d0q4aa8q9qy9qsq87cxcf9s3ts2e6n8kcsmzl50karklppgla75448qhhyq7sc8qmdse9aru0ex5xesyjcnw8fr8lmqskjme7nx4vvlylalv2fhwvyfr6qqextce6', + description_hash: null, + expiry: '345600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '713', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '5tYrQUDzBwQeLA6s/wrZbkg4hu+cXTJrwWR8prwV704=' + }, + { + memo: 'my test invoice 30', + r_preimage: 'IszMcrP6Z/vQF8UKMiJdNhLzC/Eus9FoN1K/Y7qQo7w=', + r_hash: '3XYFTtiK4xdy+q66DFPm8X9+JVW7RW/MXtsKSqw1zp8=', + value: '300', + value_msat: '300000', + settled: true, + creation_date: '1594135949', + settle_date: '1594135984', + payment_request: 'lntb3u1p0sf9vdpp5m4mq2nkc3t33wuh646aqc5lx79lhuf24hdzklnz7mv9y4tp4e60sdqad4ujqar9wd6zq6twwehkjcm9yqenqcqzpgxqy8ayqsp53rht2v0rhvlluzj4kzmged9nz4w8nxs5f0qna4pzvmjn4hufagts9qy9qsqfjjrgmqndhfyv84qqewl0lg2n8w3ndpw2s29ktmyf2an747nr54sflgr0zlxuk2pvryxxgp5627nw3lehprpcw26hwu7aenhru3p4wsquqczuf', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '714', + settle_index: '72', + amt_paid: '300000', + amt_paid_sat: '300', + amt_paid_msat: '300000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '27', + amt_msat: '300000', + accept_height: 1775824, + accept_time: '1594135984', + resolve_time: '1594135984', + expiry_height: 1775865, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '300000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iO61MeO7P/4KVbC2jLSzFVx5mhRLwT7UImblOt+J6hc=' + }, + { + memo: 'Testing Eclair Payments 24', + r_preimage: 'T3RDXzDCAchFJFfYBujEk0F/R78ZV5yltMKQQv1QaIM=', + r_hash: 'MKDsO13Qh7DN316YeoJHocOwhirrTywgkUrRbwW/foo=', + value: '240', + value_msat: '240000', + settled: true, + creation_date: '1594144002', + settle_date: '1594144021', + payment_request: 'lntb2400n1p0sfdgzpp5xzswcw6a6zrmpnwlt6v84qj858pmpp32ad8jcgy3ftgk7pdl069qdp223jhxarfdenjq3trd3skju3q2pshjmt9de68xgpjxscqzpgxqy9gcqsp57z3ptprxf38sucwrry4fha9n9ga6zjp30p7lpgcma9hgd0l8q8fs9qy9qsqr4y84xa9j5ll89vmfetqugj9de6ethgx436x40x02a336a20hvynv0rzh4y709svx4slwdd7n6fhsjn53nz96z8m57cwttux7yuku0qpsvzjpl', + description_hash: null, + expiry: '172800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '715', + settle_index: '73', + amt_paid: '240000', + amt_paid_sat: '240', + amt_paid_msat: '240000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1795545369112543232', + htlc_index: '28', + amt_msat: '240000', + accept_height: 1775841, + accept_time: '1594144021', + resolve_time: '1594144021', + expiry_height: 1775882, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '240000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '8KIVhGZMTw5hwxkqm/SzKjuhSDF4ffCjG+luhr/nAdM=' + }, + { + memo: 'Sent to BTC Lightning', + r_preimage: 'oFI3K9T9Ve7gLiwR7j28ziOue2Z6n6iEjJxuV2Yxcrk=', + r_hash: 'B44YurWWPLgsdbjVkTB5nVV2xz6/Eokj0viQki1JoeU=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1594335510', + settle_date: '1594335515', + payment_request: 'lntb100u1p0s0ggkpp5q78p3w44jc7tstr4hr2ezvren42hd3e7hufgjg7jlzgfyt2f58jsdpz2djkuapqw3hjqsj5gvsyc6t8dp6xu6twvucqzpgxqrrsssp5exmte366eclh60p0v57ldgjrauqda0f7v0u74eu3e09zju508mzq9qy9qsq49hjm0ymcwzm0u2mupdt9wl2kc4agkm33qt9nh65xg7j0mccystpv6sjvrgl5xrv3raw762pf70d7dqet0y3wx3rss5a93a7nlh49ucp882eaw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '716', + settle_index: '74', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1801931332652957696', + htlc_index: '143', + amt_msat: '10000000', + accept_height: 1779837, + accept_time: '1594335515', + resolve_time: '1594335515', + expiry_height: 1779880, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yba8x1rOP308L2U99qJD7wDevT5j+ernkcvKKXKPPsQ=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'If9YgClSiI7vc+dA3VZCN+mKiLbwDanXOn9DFQW/cn8=', + r_hash: 'Lv56zgrvuO1R1V3VClhk68DlKWHa0lUlIBZU1qOFQ7o=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1595433013', + settle_date: '1595433015', + payment_request: 'lntb100u1p03scp4pp59ml84ns2a7uw65w4th2s5krya0qw22tpmtf92ffqze2ddgu9gwaqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp56t4xpmkl42v8jqmv0u7vstl27dyxwxk7dhsq4mpyzdeg5gmmdx9q9qy9qsqvp06k2ud24ddwyrwmzsyv6nrp265hr68k3arh64lm2376cf090hxmef95np97n4n9vd4h5s4unazwpru58ev7ny258mv92cp0dukausp4lc9fm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '717', + settle_index: '75', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '37', + amt_msat: '10000000', + accept_height: 1781380, + accept_time: '1595433015', + resolve_time: '1595433015', + expiry_height: 1781423, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0upg7t+qmHkDbH88yC/q80hnGt5t4ArsJBNyiiN7aYo=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: 'zCwqqKDIOQG8qSEZi/9gsMuYfO7vUCa+7Ca5cj4gW6Q=', + r_hash: '0FKBTXA76Ukan6w+/K67p2oRB1/NzJRoThzcF43XY7I=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1595433149', + settle_date: '0', + payment_request: 'lntb150u1p03sc9app56pfgznts8055jx5l4sl0et4m5a4pzp6lehxfg6zwrnwp0rwhvweqdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5u2l43cl67nmhpaafhjg50smqef8g5fpjql4rjscajfspehvwsdxs9qy9qsq5ddnertpdudxtmqnx4x3dcracvv4dxyle9a4jmktkqteup5xt3d32drrwgwsrggk5chpfuwscp2hnafmjrrdlcjeqzjpdc3z9lzu07gqe6s3kg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '718', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4r9Y4/r093D3qbyRR8Ngyk6KJDIH6jlDHZJgHN2Og00=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: '56cTqy3wgHyuVcus73a3iOyTPahnFH9oI2I4sJPWQVI=', + r_hash: 'F1LMEbpsnhTHH2fYl3Y2F9qsP7cHP7+dRrXR7EYtk/s=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1595440657', + settle_date: '0', + payment_request: 'lntb150u1p03sls3pp5zafvcyd6dj0pf3clvlvfwa3kzld2c0ahqulml82xkhg7c33dj0asdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5lryf49mqm0q980vaew095hsk77p4nz5qpyfuqrm50kc4n5wtpvuq9qy9qsqjq3drsvtcq6y79xmva70z2f9mzy94dyq2xgxs509lxx9yvhh5j03n37cuy0rv0n8kpe5jhxwpawhyv9w7j88zclwt6arf26qxm5xzzcqqwaejn', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '719', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+Mial2DbwFO9ncueWl4W94NZioAJE8APdH2xWdHLCzg=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: 'aPCYO/4QOvHtEJDnyFUQ7UmTw5SNLBFMRmfMbjMRjrs=', + r_hash: 'H/GfC9gQjqHkaMr52+yTTFotfb2iwmlOEWBOzwBLoHM=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1595444270', + settle_date: '0', + payment_request: 'lntb150u1p033rpwpp5rlce7z7czz82rergetuahmynf3dz6lda5tpxjns3vp8v7qzt5pesdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5xl5cwkad2as8q3qj7zwzn4nlzhu7t84k8uvevvksxjxlvla0hw5s9qy9qsqr5fwwv68flfn0mfu7tthpcrgqrguxzqup8km8v05x35fx52u7535crktegdegx4r5jmf2rf0dvhgtufras4gjz7e7n27hln7gaws70spv5m8ty', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '720', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'N+mHW61XYHBEEvCcKdZ/FfnlnrY/GZYy0DSN9n+vu6k=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: 'WY9BM25qqE0MswFjxJx+BFyYEOUznlfMJd/aALqg2w4=', + r_hash: 'IQ5AC5dVz3FP4/FqOrwR2vF/QSKJfeFkotwn/g734jg=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1595448085', + settle_date: '0', + payment_request: 'lntb150u1p033xc4pp5yy8yqzuh2h8hznlr794r40q3mtch7sfz3977ze9zmsnlurhhuguqdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp5eyrhfdtv8n69xpfdq3enu6p8a22uzyt4v3cx0xrr4jw9kfs0t3gs9qy9qsqcupj93r3m3u7hechm87hx7vnph05l2rhv0ey2x90g8dcgqrx2cs8cyxwruzmprt65jpd6wewl9pa6mta9xjw93zxcjr8apkdasdd8qcqu2m9d8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '721', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yQd0tWw89FMFLQRzPmgn6pXBEXVkcGeYY6ycWyYPXFE=' + }, + { + memo: 'Local-Rebalance-15000-Sats', + r_preimage: 'i8ZR7rmpaG2oBqrogefy6WEadWszcSXD+5zZZ31rq9o=', + r_hash: 'aoUo8t2RE660BeFiy22RiZGUURIp2BR9qBvoHoCcD10=', + value: '15000', + value_msat: '15000000', + settled: false, + creation_date: '1595453260', + settle_date: '0', + payment_request: 'lntb150u1p033t6vpp5d2zj3ukajyf6adq9u93vkmv33xgeg5gj98vpgldgr05paqyupawsdp2f3hkxctv94fx2cnpd3skucm995cn2vpsxqk4xct5wvcqzpgxqrrsssp50w6u258s7usr0etz3ccntdymz3j0vk2huz0ddyuqxuka293vpg5s9qy9qsqhdylw6wjxv2p67ru8wkddlu9tusq4m2a8ytg3g3sqasc7p6kwttnaqf3aa3yyv7v5cjy7vddeh2l4xrnx74s2pskvgq4vru3wk6z6lsp3vw9ks', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '722', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'e7XFUPD3IDflYo4xNbSbFGT2WVfgntaTgDct1RYsCik=' + }, + { + memo: '', + r_preimage: 'iy0uREoO9DUPDWlIRNMTMBAusLp6S0a9zIoBG5emzFE=', + r_hash: '43+orCFs6I6ZRGXAnzPl3eM8i4Iu/pqckbIHZxTlDww=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1595453383', + settle_date: '0', + payment_request: 'lntb1p033t78pp5udl63tppdn5gax2yvhqf7vl9mh3nezuz9mlf48y3kgrkw989puxqdqqcqzpgxqrrsssp5s0f74vx50pjflwf7nuzsqej0vkl98eurnq6rqpqp77vrrxwnuc7s9qy9qsqmmerlfdq0vvcgf7t5ms58jdsrxt0nqxhaa4j2faz6d2ytsu8ry6kcjn7c4yw8z5d56t7rmwrnt9l2dr6wprgzl6gd4hpde5dxtk8qzcpluxphf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '723', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'g9PqsNR4ZJ+5Pp8FAGZPZb5T54OYNDAEAfeYMZnT5j0=' + }, + { + memo: 'My Invoice created from Modal', + r_preimage: 'lJB/ggIG7e3CpyWx0nXkc2UbOjirtIBcEFnk9IYhgrM=', + r_hash: 'v0XbnbdojUzaf6ZVDp2/6b1N2LGaxRalpMQGXgb/aPg=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1595453435', + settle_date: '0', + payment_request: 'lntb1u1p033tlmpp5hazah8dhdzx5eknl5e2sa8dlax75mk93ntz3dfdycsr9uphldruqdp0f4ujqjtwwehkjcm9yp3hyetpw3jkggrxwfhk6gzddajxzmqcqzpgxqrrsssp5ss7stkhv0t6mn0ehw22etnx94v68meuyp3cz7yndc3ad4vsdcryq9qy9qsq96wuv2kjlh4qk5w8sw9k7crhlh7fqx94mkd75cn25rfrt9v6uyv5yyc5dwqsee60trs6e6ugnh07tgd0hcg2lgtf6cfxmfvsntyp47gq8gnszj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '724', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hD0F2ux69bm/N3KVlczFqzR954QMcC8SbcR62rINwMg=' + }, + { + memo: 'My Invoice created from Modal 2', + r_preimage: 'TIgMGhM6kYpHcA59s9CG6Kw6BdzQuFg0O/pnoGtPpk4=', + r_hash: 'pcsVkU73qVGO8dT+oMh6LmL6xtiEBKTqOGUEdm13hGk=', + value: '200', + value_msat: '200000', + settled: false, + creation_date: '1595453484', + settle_date: '0', + payment_request: 'lntb2u1p033vpvpp55h93ty2w7754rrh36nl2pjr69e3043kcssz2f63cv5z8vmths35sdpjf4ujqjtwwehkjcm9yp3hyetpw3jkggrxwfhk6gzddajxzmpqxgcqzpgxqrrsssp5dymmzk62ahuzau4e9jdw4w8hx452dg6zqwpvt2chv5dqq5tffheq9qy9qsq9ds29hdfg67y2hxgtj7kq5eg5zt22a9pty3l8j7w24us9ah79dczna4tzar3f7tunjhx7xv2dc8lh4w9nfnm62jfw0wwzlpx5dq42tspy4ejr8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '725', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'aTexW0rt+C7yuSya6rj3NWimo0IDgsWrF2UaAFFpTfI=' + }, + { + memo: 'swap', + r_preimage: 'DZ1aGKuu2lfFKGC0QAl5UsL4VJk7iYfPiPqumEISqvY=', + r_hash: 'dVxXvNx26CuzBhD2ezCpVXp8dR6454eDURlOFFDCi3A=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1595875781', + settle_date: '0', + payment_request: 'lntb2496500n1p037gw9pp5w4w900xuwm5zhvcxzrm8kv9f24a8cag7hrnc0q63r98pg5xz3dcqdq8wdmkzuqcqzpgxq97zvuqsp5h0g5gecaukxrdq4nrtg4mj4g78smha9393pmjg4ccucnnck78s3q9qy9qsqxgeevs0j54aaj2w480e6q5kqs86vn7l0rdcl4wzwmjarjjp7fs3kst3kknevywkhppsa649lnwh0rvpjgwrg6tvackz7lvmue7ajjegqh4jxfp', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '726', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'u9FEZx3ljDaCsxrRXcqo8eG79LEsQ7kiuMcxOeLePCI=' + }, + { + memo: 'swap', + r_preimage: 'ZADEFIo5yqc89f1rY1++WEvkF5JClAvbjHkGtrH+C0s=', + r_hash: 'iUNcU6udrH1fbbK4ulnzlv+jOJ423I45pa67XOj5X7k=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1596393059', + settle_date: '0', + payment_request: 'lntb2496500n1p0jwpnrpp539p4c5atnkk86hmdk2ut5k0njml6xwy7xmwguwd946a4e68et7usdq8wdmkzuqcqzpgxq97zvuqsp524l2lf5hzmx2r43r4z7k5e8z709dszfr7636ezlmnlwpl86wemaq9qy9qsqqrr26unhekujlpchhvsg5pmqx0me3fsjw4yw0dtc9uywsnrfhdk5u0c83lxrp3s8c00w7t458hnyaqswd9qsn8m9n8ncvasuus8ltvsptmy2yg', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '727', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'VX6vppcWzKHWI6i9amTi88rYCSP2o6yL+5/cH59Ozvo=' + }, + { + memo: 'swap', + r_preimage: 'sHOfOYcMJKvl+acOIbyK0nyQoCAcHQiElwzzFCR5aYk=', + r_hash: 'uAzPAl4g7b6TPjrA/DOHhvIog9W9u6Q1F68sXpRscRc=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1596394371', + settle_date: '0', + payment_request: 'lntb2496500n1p0jwzurpp5hqxv7qj7yrkmaye78tq0cvu8smez3q74hka6gdgh4uk9a9rvwytsdq8wdmkzuqcqzpgxq97zvuqsp55gvajhkr7v28kpjwvau5xm2y2yh3lvptkz0f9kaxn62scr689dnq9qy9qsquln48h9daa5ywdmux9w72at2f4czmmad8q7t9lz4a9jxnek6p8w9anstv4at5ahdzgrmjt3rphrme8kem53zfasma2sjjywygqqez5qqvg2jyc', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '728', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ohnZXsPzFHsGTmd5Q21EUS8fsCuwnpLbpp6VDA9HK2Y=' + }, + { + memo: 'swap', + r_preimage: 'KKDoJYunQ4fcJW5Mzr5SgNLipVeTG8tCormXAEHkLcQ=', + r_hash: 'tFYjYj0oVoRKa5ygQaJF73DoOyU+xawhi54scvBbf8Q=', + value: '299600', + value_msat: '299600000', + settled: false, + creation_date: '1596394481', + settle_date: '0', + payment_request: 'lntb2996u1p0jwzl3pp5k3tzxc3a9ptggjntnjsyrgj9aacwswe98mz6cgvtnck89uzm0lzqdq8wdmkzuqcqzpgxq97zvuqsp5gd63zh3xahrpuy8znyvzcfu7l3n9zgqkj0wsuz2jkw6nutz9mucq9qy9qsqaru05w74qnzltdrcpraxytdvdg6pfxqm2ea9zqrarcstw0jwuh6sd9sxu94232pp8qjl757as9qk5q2823uvqjwmkddmuc8k582er7cpz74lsc', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '729', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Q3URXibtxh4Q4pkYLCee/GZRIBaT3Q4JUrO1PixF3zA=' + }, + { + memo: 'swap', + r_preimage: 'omh6dB9aIevtL/9VgECrUKl36kg+INrPK6LWDz45YPI=', + r_hash: 'hoPtlTRiWdK2eNWPkXGwkasWsiKAP3nCG7FVVexVKjE=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1596394740', + settle_date: '0', + payment_request: 'lntb2496500n1p0jwr85pp5s6p7m9f5vfva9dnc6k8ezudsjx43dv3zsqlhnssmk924tmz49gcsdq8wdmkzuqcqzpgxq97zvuqsp5hmj6dmxljjcddpvltq0zhzpykrux49ehk6x4mgapeukvvskvve9q9qy9qsqsut60pmwu0qeaayk8tezuchlzn6py444v94hh93jd08mnx283yxhe2fj2r3h7sw22r5cs7cwwjsx3h3w0lntflravyxxtf0avr3zuzgpw82jkj', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '730', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vuWm7N+UsNaFn1geK4gksPhqlze2jV2joc8sxkLMZko=' + }, + { + memo: 'swap', + r_preimage: 'YCYF8dLzJMZZHQCwh9neux4r5LzxZQvkjw2hY3VP5cU=', + r_hash: 'iIwDf4X0Br+Bm/gAfGXotPM2hAif51hXiIL7Cqyj0jo=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1596395910', + settle_date: '0', + payment_request: 'lntb2496500n1p0jwyvxpp53zxqxlu97srtlqvmlqq8ce0gknendpqgnln4s4ugstas4t9r6gaqdq8wdmkzuqcqzpgxq97zvuqsp53n6ps8360f3d0jd3r97hth5pzeap4xhv79vqq0j0ju9t6a8s3kms9qy9qsq5fsa943vc9u2wktkd8t0trgx2q8wtwuuc4fwfyvptue2lpwz2w2xntzhxknu0xjlnv8svzqpln3g6d8ewlt408ahsv3qjzp868zer4cq82mzfw', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '731', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jPQYHjp6YtfJsRl9dd6BFnoamuzxWAA+T5cKvXTwjbc=' + }, + { + memo: 'swap', + r_preimage: '5Nx+NgfUh5dcBaRxk0350e0y6I2EyGiwRNUxklIiVgE=', + r_hash: 'Zvwe7Kivz081NjS+torrUQ28kWKNQokrZBrNuLcdisM=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1596396007', + settle_date: '0', + payment_request: 'lntb2496500n1p0jwy08pp5vm7pam9g4l857dfkxjltdzht2yxmeytz34pgj2myrtxm3dca3tpsdq8wdmkzuqcqzpgxq97zvuqsp542rqvwwnp5hrhxmxzze3lg2rpmkvqyzyeh3z5ultwn2x3jaa6qcq9qy9qsq65v2caf2uz7ap75u8pu6qj5wemjds36swr3ud8t43r5ac53mwjekgcagkjjzqcxdd5056d85tj27gv8lhakg7xswpl0r2sft6q447scqsaet6w', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '732', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'qoYGOdMNLjubZhCzH6FDDuzAEETN4ipz63TUaMu90DA=' + }, + { + memo: 'swap', + r_preimage: 'ieAwmrjPSJ7iopTfFvmlACW66nCGhgGaRbA7O8YKl8M=', + r_hash: '5sbw6hOBkN9EoYHySE09Qio1rEpeF2KOX/OHJZSVl0A=', + value: '349550', + value_msat: '349550000', + settled: false, + creation_date: '1596396035', + settle_date: '0', + payment_request: 'lntb3495500n1p0jwysrpp5umr0p6snsxgd739ps8eysnfagg4rttz2tctk9rjl7wrjt9y4jaqqdq8wdmkzuqcqzpgxq97zvuqsp5r33xcd963s96c45606rfpptd2dfqzdda3xuttd9ge4ns5jrs6ylq9qy9qsq2v9425y3zj49gnww3m27zwr53zz9vmyuslrasj03r37mq4vae93kap9wr4nydkem369u9hdg5ejws93wv0l6aym93dxtkc2sm8pkyucpa56pcm', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '733', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HGJsNLqMC6xWmn6GkIVtU1IBNb2JuLW0qM1nCkhw0T4=' + }, + { + memo: 'my test invoice', + r_preimage: '5M4D7/O0Q9CMdIIsqgeybOz2qU2E/S3HfLU/CQn/4zg=', + r_hash: 'bDjwlJRSGbdIznHnrbBNb70CYU2xhi9BXJ0zMk88GFU=', + value: '1', + value_msat: '1000', + settled: false, + creation_date: '1597182352', + settle_date: '0', + payment_request: 'lntb10n1p0nxyvspp5dsu0p9y52gvmwjxww8n6mvzdd77syc2dkxrz7s2un5enyneurp2sdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqrrsssp5ld7yfm97dwhevlvrfzdp4qyncf75zwm2hvgc3h33l09hdcul5fls9qy9qsqgslnx8mrafcswwy9c0vct7z3x6m3sdrs4ur4dpa3jhzmptfrj4wpv7tspvhz6skf3n086yvgl7h0al4d7alhmg0cvyf20ftra4j3grsp37r06n', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '734', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+3xE7L5rr5Z9g0iaGoCTwn1BO2q7EYjeMfvLduOfon8=' + }, + { + memo: 'Testing invoice with Keysend', + r_preimage: 'qzIg6Ylut6uMzKL+ZAjAg1QyPYAhGfGe5Nrs+d5L4/o=', + r_hash: 'xqwy6TQNnq6h2L7pIHNB50lKG1CbSAqJeDy4Q2UfhCc=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1597705931', + settle_date: '1597707416', + payment_request: 'lntb1p0nkrktpp5c6kr96f5pk02agwchm5jqu6puay55x6sndyq4ztc8juyxeglssnsdpd23jhxarfdenjq6twwehkjcm9ypmkjargyp9k27tnv4hxgcqzpgxqrrsssp5mpgn2tx4c6l2tccl6md86uf0mq8sj76kantr26aqgza009kxej4q9qy9qsqh0kytv85sy9k7jgjw488guexhnxlk46kkhyvmna03d0yvnjr6emp27mpwtxu65lumjqu52xxe2nwxs9dee2rehnde8d7nr9lhhu72dcpq7z37h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '735', + settle_index: '76', + amt_paid: '130000', + amt_paid_sat: '130', + amt_paid_msat: '130000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '40', + amt_msat: '130000', + accept_height: 1807638, + accept_time: '1597707416', + resolve_time: '1597707416', + expiry_height: 1807679, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '130000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '2FE1LNXGvqXjH9bafXEv2A8Je1bs1jVroEC695bGzKo=' + }, + { + memo: 'Testing Eclair MPP 1', + r_preimage: 'amS1ssF55f2Z7WhGdD+yRjFGpkSB6LpmwmMmw/6fhNA=', + r_hash: 'RkapDwQ7//0eirZFvGGgH39yiHkgIeryw06t9/KdeLg=', + value: '5000', + value_msat: '5000000', + settled: true, + creation_date: '1600803834', + settle_date: '1600803864', + payment_request: 'lntb50u1p0k55l6pp5ger2jrcy80ll6852kezmccdqralh9zreyqs74ukrf6kl0u5a0zuqdpq23jhxarfdenjq3trd3skju3qf4g9qgp3cqzpgxqr23ssp55d4g50elv9ragwxgm5e37c632qlswsgdttkkp9da8jge8ryjc6xq9qy9qsqr9sj2rk98k4merue7692lwu8fdys32ap40hknrm6kxxztcy9pfzxnhujvqns2xuhsg9zrldtzkmjy6ry3gcg5drn6vy8e88g5vy0vgsp2cr7ga', + description_hash: null, + expiry: '10800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '736', + settle_index: '77', + amt_paid: '5000000', + amt_paid_sat: '5000', + amt_paid_msat: '5000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '41', + amt_msat: '5000000', + accept_height: 1835580, + accept_time: '1600803864', + resolve_time: '1600803864', + expiry_height: 1835621, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '5000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'o2qKPz9hR9Q4yN0zH2NRUD8HQQ1a7WCVvTyRk4ySxow=' + }, + { + memo: 'Testing Payment', + r_preimage: 'wiZeXovukiRh8UT8yfqKwXCED9ga2UGUmtsNKsQEnTo=', + r_hash: 'Ftysi72Tmv8kglVP5+r/8zwcQeRs0Znqvkl5zEB2fow=', + value: '300000', + value_msat: '300000000', + settled: false, + creation_date: '1600903689', + settle_date: '0', + payment_request: 'lntb3m1p0khksfpp5zmw2ezaajwd07fyz248706hl7v7pcs0ydngen647f9uucsrk06xqdqc23jhxarfdenjq5rp09kk2mn5cqzpgxqrrsssp53lzfuu40wn6yqgwagqwa6rqxezkkjd386c9jnjyrm88l0qtau9lq9qy9qsq6lsktaszu4tc56r9zveyvk3k5wdjxd6gfd3dfy3zs8pzl55a8d0x850e2kyt65svg0gysmxu2txpjd47vz9dhmxhfsq69gd9sd0x94cpgqt4t4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '737', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'j8Secq909EAh3UAd3QwGyK1pNifWCynIg9nP94F94X4=' + }, + { + memo: 'swap', + r_preimage: 'MG5oPYkbrdPphChAfq6iKYl7+XfTXlWPQVomGKyijwE=', + r_hash: '9//0D004VQMvM6iaBjDsgwfClxd50zn7XXOGwYx/9RY=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601049238', + settle_date: '0', + payment_request: 'lntb2496500n1p0kuy5kpp57lllgr6d8p2sxten4zdqvv8vsvru99ch08fnn76awwrvrrrl75tqdq8wdmkzuqcqzpgxq97zvuqsp5y4w0vycrss7e5kvht9tl5s6t5l0unnwx36x20e6xyf2dsfgunfms9qy9qsqenzs90fj078jld0xtvjxjmfvcxnznmrmayx4scr6l9u8puyl53mha6x4nnzdjmptej5t3g0navugcgueycmwdg24q5t3z6hmyfmw64cpe6mpng', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '738', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'JVz2EwOEPZpZl1lX+kNLp9/JzcaOjKfnRiJU2CUcmnc=' + }, + { + memo: 'swap', + r_preimage: 'AcXYdumgSRV46NIXli3L3O1TReNfy9mySp+cHQukCmk=', + r_hash: 'K5n3R1j3EFuNPnIBHaB6k5lx2zTn5/Ef5MV5Cb1H+x8=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601049605', + settle_date: '0', + payment_request: 'lntb2496500n1p0ku9q9pp59wvlw36c7ug9hrf7wgq3mgr6jwvhrke5ulnlz8lyc4usn028lv0sdq8wdmkzuqcqzpgxq97zvuqsp5nqzqm3px6627hpgegjhfd9era7wpa7mykvzqxsxsgpzh2dfegk4s9qy9qsq50l6saxspgl3num6u56cxycjwlj6zv08n754hguuth2kdwyr75l9u92qy84lupj3j74v2m2mx0hcgqukfrmwq5hg6mmagyq2nf090aqpkhefe2', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '739', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'mAQNxCbWleuFGUSulpcj75we+2SzBANA0EBFdTU5Ras=' + }, + { + memo: 'swap', + r_preimage: '/v8fRFLuwJJ4eBgo0k+zCIRSBE5jLU+nzAv+wEa3Qog=', + r_hash: '7wXVKXmmlbLN7pkZtTZyIR5LdfKxNcEcmQ5jknGc7Zo=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601497874', + settle_date: '0', + payment_request: 'lntb2496500n1p0hf6cjpp5auza22te562m9n0wnyvm2dnjyy0yka0jky6uz8yepe3eyuvuakdqdq8wdmkzuqcqzpgxq97zvuqsp5zn86q3cdpdjl48naw8l70z798q3hnwk9483advv54lvudu4j3tps9qy9qsqwx5wl0fmqvvfgyzlmwayazvhpvxagh32wl8qcgnpc967e2sg0u2jf9w8cr075mf0g7rq9xkx3aj94h9yrsyvu2j38v48e8v9hl56v0qp3exfc3', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '740', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'FM+gRw0LZfqefXH/54vFOCN5usWp49axlK/ZxvKyisM=' + }, + { + memo: 'swap', + r_preimage: 'L4qfUJsHqB2TFwcqJpCxLmfAqXhtkvGSw1X8XFeA65o=', + r_hash: 'YUnqe2X4Yz4BUmR9wcwI0W+QXt+A2Q94jylO3bAOynA=', + value: '349550', + value_msat: '349550000', + settled: false, + creation_date: '1601498228', + settle_date: '0', + payment_request: 'lntb3495500n1p0hfmr5pp5v9y757m9lp3nuq2jv37urnqg69heqhklsrvs77y0998dmvqwefcqdq8wdmkzuqcqzpgxq97zvuqsp5ztlcppl9rlgmjrjmsj3uz7r4zy9npn5rgqm2uwhc33enrqfgpjhs9qy9qsqn226ylve8j0hpzwrppnvq5wtm8mgfdljnykf70a30cmssr95nn6pk3649cfyu6wt6w8hca9qz58y80aflvjea40lkmjmfwq2hxpnwygpw6f6e4', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '741', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Ev+Ah+Uf0bkOW4SjwXh1EQswzoNANq46+IxzMYEoDK8=' + }, + { + memo: 'swap', + r_preimage: 'gu94Sqew3pNHFWNompXXiNKVQAR4qNeYOAO0zh6r96c=', + r_hash: 'v48hABhkJiA7ylrg/yOnFqMtEyKZW//V9003lKdm7ME=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601498465', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfmtppp5h78jzqqcvsnzqw72tts07ga8z63j6yezn9dll40hf5meffmxanqsdq8wdmkzuqcqzpgxq97zvuqsp56muh9d9ga7yzrpn8v38kz7e2eqfsff2n380mdzyndam2d7hl8dmq9qy9qsqn7qgcyeh0av2hkvz7fhu8cdlw08pyxxf7vq4upjdzr2yfc03smj4swuxrmvee6ts6gqmvtyudfags3wkss40deqz24l2sz2r99lntdqp72qd90', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '742', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1vlytKjviCGGZ2RPYXsqyBMEpVOJ37aIk292pvr/O3Y=' + }, + { + memo: 'swap', + r_preimage: 'uHz+6sqrX1/iAx1z/pTEORR26EX/VeqGBVDILIKSC8A=', + r_hash: 'I4VBHeubpKcpIbCqnMUcZc9qCjYbf+HBx4i8qn3HcFI=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601498576', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfmwspp5ywz5z80tnwj2w2fpkz4fe3guvh8k5z3krdl7rsw83z725lw8wpfqdq8wdmkzuqcqzpgxq97zvuqsp5a96e2nlnm4zrlkrl2d5y7jsjnldlxkcswey79046dle60y860nyq9qy9qsqye4veuyuhhyhg4avu08m93x32hv3h4xukqyfla59y5ng5szjdrk4k5r4kll2pkgsqgwe76zkxpyde37n2wzhavrs0nrtfw6slfvx8scpfng4x3', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '743', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6XWVT/PdRD/Yf1NoT0oSn9vzWxB2SeK+um/zp5D6fMg=' + }, + { + memo: 'swap', + r_preimage: 'sH4pdNLx3kZgOb636yeys0L0woKl5QLVdf5HGOtsgAY=', + r_hash: 'TONUd6QiAxqL8Fbs+WjuKrxAYfCLBgKggync/YcLpBA=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601498716', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfmjupp5fn34gaayygp34zls2mk0j68w927yqc0s3vrq9gyr98w0mpct5sgqdq8wdmkzuqcqzpgxq97zvuqsp5phmr0azp9xmavgfzhwwjjfn3520k6puyyga9kdjrvmckaympv9aq9qy9qsqx47fzkf88j0wwcxsszyy08709ge85qwdmr0j5kcyu6urg945d7fr4zcn97yvdyzr5swht4ljfh4a9fe2vvd3t54ygsulznk9qk55y0cp67u9pf', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '744', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'DfY39EEpt9YhIrudKSZxop9tB4QiOls2Q2bxbpNhYXo=' + }, + { + memo: 'swap', + r_preimage: 'WHvXQTJU5NSwNFwt3PAZWFAhzBC/3spY7lnPcTS+08g=', + r_hash: 'IhtWV5J4avDBCYhBK+dWER9YDD/4rh8IEI3L8/GbVmM=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601499089', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfm73pp5ygd4v4uj0p40psgf3pqjhe6kzy04srpllzhp7zqs3h9l8uvm2e3sdq8wdmkzuqcqzpgxq97zvuqsp5afy75qfwt2vt3lcm3nujfn4wx4p5s599hen4dr9xxazutmt4d2zq9qy9qsqquezd98ajarfdqwwvusyt6l5juvmvt9ufdzre3gd2cv80kc4hd05yvsr3s3x3p3e6nkz77svlt9za50nw4uvnuxqufvhr7ggwh6we3gpadv2vj', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '745', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6knqAS5amLj/G4z5JM6uNUNIUKW+Z1aMpjdFxe11aoQ=' + }, + { + memo: 'swap', + r_preimage: 'rWI+VMIAWj/Pk1oq7M7Y6AgkTDdByEOdKmAAcb8lVMg=', + r_hash: 'Y80yRunesaWLEzcs68mV/MFBSJYguoxW1w+Dh1wY6u4=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601499134', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfml7pp5v0xny3hfm6c6tzcnxukwhjv4lnq5zjykyzagc4khp7pcwhqcathqdq8wdmkzuqcqzpgxq97zvuqsp59l8e845f6ghugkmf807sqazlujrwzl8udem0y07had08akuqpdvs9qy9qsq7409zh00nutp2f9e6x0fea8znq2ek2xl5kpc3lcyw7v6ylycllpxehwtyj98sh0kvwtl62r28v72qgrvknd3h63ssjhjz9ajyu6scjqq2ekd4p', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '746', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'L8+T1onSL8RbaTv9AHRf5IbhfPxudvI/1+teftuAC1k=' + }, + { + memo: 'swap', + r_preimage: 'Lcv+TGHqeumnQK8qRqUvG7wli0rzzJwNOCXPGU2SYGU=', + r_hash: 'u9PKqTcn5nmU0ILtY55EUNVk9SvFxqqTUFAmNZLNuCQ=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601499214', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfuzwpp5h0fu42fhyln8n9xsstkk88jy2r2kfaftchr24y6s2qnrtykdhqjqdq8wdmkzuqcqzpgxq97zvuqsp56htgdluh3slax3p5kz58q2ev5c6suj06jlgefcxl0tsey4g9tt4s9qy9qsqlxq0ur2dw0fdvta5qk0dhg667x0axddk4q0u9p3gvaqasary9vvx8qpxlwc6yv3jhtsxm6rza3fg05c7ac9yc06edw707qxektuc9dcpgkt7l4', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '747', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1daG/5eMP9NENLCocCsspjUOSfqX0ZTg33rhklUFWus=' + }, + { + memo: 'swap', + r_preimage: '1vbeg0JEGSfueLvQAFI7fgHHvF4wG9fVo5SvLofNAaI=', + r_hash: 'P4SOf0tmY5THmmCTTeNXNZ8riDaieCKBu1tRKE26VNc=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601499498', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfut2pp587zgul6tve3ef3u6vzf5mc6hxk0jhzpk5fuz9qdmtdgjsnd62ntsdq8wdmkzuqcqzpgxq97zvuqsp5rcfwff3f3muzauwup0mvlnywnvr39aw3qpv9x2g42p848x8fvxjq9qy9qsqhgtvz3uvpjqv0jh9lty0cfk2uxgw9eqy2zd43hr86uwe0hw8nrey7jj4jcx0h9yxuec8j37cy902q87cmjux2yc8dncu3ngxrf9knhgqdqd5qe', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '748', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HhLkpimO+C7x3Av2z8yOmwcS9dEAWFMpFVBPU5jpYaQ=' + }, + { + memo: 'swap', + r_preimage: '79dxd4GDgoqZb7qCXUZXDl6D2dx/MDuFHRg+HwEGrsU=', + r_hash: 'oZLGWQ/I5cBJXOPABskNHn0uaPmOa/JWNuL6/8jA9VY=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601500125', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfu7app55xfvvkg0erjuqj2uu0qqdjgdre7ju68e3e4ly43kuta0ljxq74tqdq8wdmkzuqcqzpgxq97zvuqsp5xuk9qn6ylzxrhgc6vcduesnnacztevn7nz79vmxd4wkcjnya44ss9qy9qsqs8es4322mlv07nfpyaamdkztrn7nejl3tchjg6v2cnk5v53k4akzejdrkan9c4uk0flh24ltn86rc7euvz2ut59xwr7dn3cufdpvskspsdplvc', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '749', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NyxQT0T4jDujGmYbzMJz7gS8sn6YvFZszautiUydrWE=' + }, + { + memo: 'swap', + r_preimage: '1XsfHu1dK43Qcy6xtgjAb7sJfzu4fApQx4M6Y+rnCy8=', + r_hash: 'EuamRxNTHaaRnS1OW1Cn7i3SbYtIPXFmH39QbzG0YKo=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601500236', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfazvpp5ztn2v3cn2vw6dyva9489k598ackaymvtfq7hzesl0agx7vd5vz4qdq8wdmkzuqcqzpgxq97zvuqsp52cctm8djnjdfdhgrsmrq2p9eweft50kwefuf9xkzs4fygg2c0qmq9qy9qsq76cde7lcec2fjgztux88jf58tkvl9rkty68qthg8vs5etjcj9xfhxtkr33ja9xah4c35qe4yzxgv08dg7q5chdgmy4wjttv24lkhwacqqj304z', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '750', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'VjC9nbKcmpbdA4bGBQS5dlK6Ps7KeJKawoVSRCFYeDY=' + }, + { + memo: 'swap', + r_preimage: 'jSz4USJSJUy2JGIkz/oaLqHikggsr5k2mf5nHlbqmaQ=', + r_hash: 'zNm3RGOstRPvfdNh300VjubCZo4wn0YRMjD5m8mncRQ=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601500323', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfa9rpp5envmw3rr4j638mma6dsa7ng43mnvye5wxz05vyfjxruehjd8wy2qdq8wdmkzuqcqzpgxq97zvuqsp5prxnhhxn3lwka062cmtr2fgpzwfwwzljeptah03l3ec5negxvvvq9qy9qsqwt3c4mfgq8s0qnyqsa5m4atvkt3xe0vm6wxwncmzhey2zerjk7q5x705pcq5xd5rlhjxe0t2gl0h7fhagqklu05qh8ptny923pc765cqph72f3', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '751', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'CM073NOP3W6/SsbWNSUBE5LnC/LIV9u+P45xSeUGYxg=' + }, + { + memo: 'swap', + r_preimage: '4+6f9RbKqxy+TXWM3NO4w1NfDOLmcU/MW2Lxzb62v5k=', + r_hash: 'eX+uLhe+zpQkmyIBijHLfjIzjEt79qBq0TLz25xTxEc=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601500507', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfa2mpp509l6utshhm8fgfymygqc5vwt0cer8rzt00m2q6k3xteah8znc3rsdq8wdmkzuqcqzpgxq97zvuqsp5js3ywhnz90dujdng3gg06ysqj8vj82s42eydzxf39f5xmx3jqswq9qy9qsqeya6jssw4fjnv9u5apru02qz7m88c63xga36f9p2kyxuh8phwuv98wgr84e4w3rxhtfwerd3luxnmuymfq3cw7r5m2dap4ghy43d58cqhyg9qu', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '752', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'lCJHXmIr28k2aIoQ/RIAkdkjqhVWSNEZMSpobZoyBBw=' + }, + { + memo: 'swap', + r_preimage: 'Lt1aWdcyPdFm5qcZq8UpG1oUsGrNCRZBC+PQvdepXMI=', + r_hash: '2gHCb7qZ+DMmX0qMgngKJw49vwDU80sDofdBj3BT1Vc=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1601500512', + settle_date: '0', + payment_request: 'lntb2496500n1p0hfatqpp5mgquyma6n8urxfjlf2xgy7q2yu8rm0cq6ne5kqap7aqc7uzn64tsdq8wdmkzuqcqzpgxq97zvuqsp5nfpd92gwt9karjp4d9gnfrhq8zypz9gm60ukyh25skus8upxrfvs9qy9qsqsckx5t0dgqge0djumlrasae6e4vzac8jcflqeg7e0etvrl42298jn6v5z965hym6s4vpm5zx3s37m5p5dk5elxfym9lgddqlek85ncgqd5snjt', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '753', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'OPEN', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'mkLSqQ5ZbdHINWlRNI7gOIgRFRvT+WJdVIW5A/AmGlk=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'cUBbvn8nlp10zsyxCcrVSm6qIkC8NHy1aNsc/O6ALK0=', + r_hash: 'WTxJEDjaHuIczZw4o3f97AFV11X1XpHlF6eZfBvY6Ww=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1601500555', + settle_date: '1601500566', + payment_request: 'lntb100u1p0hfavtpp5ty7yjypcmg0wy8xdnsu2xalaasq4t464740fregh57vhcx7ca9kqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5s5qhsty4haqey8hzrkm8x7lf0uhwws2yxtxl2yf0deawuyedgqdq9qy9qsqz0vvdp4at5ukx50yxlc2ugstlypng7mgdhe8lvw68t7gwxzpgcc4jwn6a9xydzxp2sfaj6elfa7h8mgf30nn84ey2mnhf526ez07tlgq46vme8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '754', + settle_index: '78', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '42', + amt_msat: '10000000', + accept_height: 1836901, + accept_time: '1601500566', + resolve_time: '1601500566', + expiry_height: 1836944, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hQF4LJW/QZIe4h22c3vpfy7nQUQyzfURL2567hMtQBo=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: '/2/CJlImPj1cmv1YtlIKHzdWjOXLDo9QoP+Ad++jAN4=', + r_hash: '1AD+z7JSEUl4pZSVxdP2VK7fWfqYFFbu/4Y+Mdtzh+o=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183182', + settle_date: '1602183183', + payment_request: 'lntb100u1p0h7cqwpp56sq0anaj2gg5j799jj2ut5lk2jhd7k06nq29dmhlsclrrkmnsl4qdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp53tm7x97scjf5xew9h4ejem67z5y4knqgd7h062hf8adyshgzg97s9qy9qsqk4rh7sdhrpx5pajq24mgzrdv0h2m73yr4ue8ssgw89swdmpn4fe8cjj4xh7mlewcmcn9nlc04eedr8npdzaul6drgsydz6t8ljyt5zcqk3wtff', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '755', + settle_index: '79', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '44', + amt_msat: '10000000', + accept_height: 1859683, + accept_time: '1602183183', + resolve_time: '1602183183', + expiry_height: 1859725, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ivfjF9DEk0Nlxb1zLO9eFQlbTAhvrv0q6T9aSF0CQX0=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'fVufMGXR6O3onONghAnVqoTGlcj65EkU53mdIrDjxXI=', + r_hash: 'ewb93RDwI4E2H1RyeYP7Sg/s+EQGl3YsDykD8p4mmOU=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183241', + settle_date: '1602183244', + payment_request: 'lntb100u1p0h7czfpp50vr0mhgs7q3czdsl23e8nqlmfg87e7zyq6thvtq09ypl983xnrjsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5354wprhmhfau60yyz8857tzfxm6lttvmpjm0fym6hunshkhhercs9qy9qsqh07yy2ln5lqnazcdy8ctxeg66p6lzyhrsr8f8q9zh6u8ta567n2rk69wqk8rhm0ya276h86vk2ezx5qlr27u4zya0dzzqpnw43x50zqqzzcme7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '756', + settle_index: '80', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '45', + amt_msat: '10000000', + accept_height: 1859683, + accept_time: '1602183244', + resolve_time: '1602183244', + expiry_height: 1859726, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'jSrgjvu6e808hBHPTyxJNvX1rZsMtvSTer8nC9r3yPE=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: '5t1uJTL5dS7DZsxmx+m6/JVnLzsAiY96Aytqp6SWTdE=', + r_hash: 'p9mKJHT0AitpEjJN7qNKxhgD68wzhU/+ZQREMjOVbP8=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183283', + settle_date: '1602183285', + payment_request: 'lntb100u1p0h7crnpp55lvc5fr57spzk6gjxfx7ag62ccvq867vxwz5lln9q3zryvu4dnlsdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5z2ec770qvxcfgldeql3wjjvyghx6feshj8d3hffq3k8m6z3qhtks9qy9qsq2yrg4z63vlj84k0u8q5770cqypzqa8unmuaa3l6y5sjnracr7d5raqtwg58qaek9lnwrvrssauhgtpv4vku6h5ld0jnm3kv0vtqsargpsjm3ay', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '757', + settle_index: '81', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '46', + amt_msat: '10000000', + accept_height: 1859684, + accept_time: '1602183285', + resolve_time: '1602183285', + expiry_height: 1859727, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ErOPeeBhsJR9uQfi6UmERc2k5heR2xulII2PvQoguu0=' + }, + { + memo: 'Local-Rebalance-20000-Sats', + r_preimage: '0/v3ubJxoFe6Mf3nH9GpP/14TD5rgaOQ+hJUffQK7cY=', + r_hash: 'yBoVQQi0ZiVkbm+81ja4ok3NFnc8YhpeJgrtPv/tFQ8=', + value: '20000', + value_msat: '20000000', + settled: true, + creation_date: '1602183354', + settle_date: '1602183356', + payment_request: 'lntb200u1p0h7c96pp5eqdp2sggk3nz2erwd77dvd4c5fxu69nh833p5h3xptknalldz58sdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5jzlqekvj052a5llvw0lwnjh4arf3f5agq3h05m3smfdwykc87jnq9qy9qsq8purnqap6ncc4zvslv87w6wn9wfsusvua0sn2qwu3zqdzc6sfam3rrtcv2l95y65vrlkmu6824ezzwz79lt3lsrccrfhp6sklugsr0gplf9g5u', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '758', + settle_index: '82', + amt_paid: '20000000', + amt_paid_sat: '20000', + amt_paid_msat: '20000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '2021231125829058561', + htlc_index: '1', + amt_msat: '20000000', + accept_height: 1859686, + accept_time: '1602183356', + resolve_time: '1602183356', + expiry_height: 1859729, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '20000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kL4M2ZJ9Fdp/7HP+6cr16NMU06gEbvpuMNpa4lsH9KY=' + }, + { + memo: 'Local-Rebalance-20000-Sats', + r_preimage: 'TsfWV8T0APdSwIBHVe4jYqvnXWm9TwLSYkywyMlztFk=', + r_hash: 'YuixslRG/N7ek0e7E9StUIP1iv55oeOv17TyoWoT7RY=', + value: '20000', + value_msat: '20000000', + settled: true, + creation_date: '1602183463', + settle_date: '1602183465', + payment_request: 'lntb200u1p0h7cf8pp5vt5trvj5gm7dah5ng7a3849d2zpltzh70xs78t7hkne2z6sna5tqdp2f3hkxctv94fx2cnpd3skucm995erqvpsxqk4xct5wvcqzpgxqrrsssp5xjtx9jrezkxf283ksj2satdkwej72e983lrep4qh0kx6aau22hmq9qy9qsq7amzxfcynvganj5cl3e5fnp454rcckjes4gt0lqkw5xxe0dujwksdmd3tvep08a7zwnmu55c8www7l9yklstejsq4zgemncmu34xlqqq2da86v', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '759', + settle_index: '83', + amt_paid: '20000000', + amt_paid_sat: '20000', + amt_paid_msat: '20000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '47', + amt_msat: '20000000', + accept_height: 1859690, + accept_time: '1602183465', + resolve_time: '1602183465', + expiry_height: 1859733, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '20000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NJZiyHkVjJUeNoSVDq22dmXlZKePx5DUF32NrveKVfY=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: '/o5uwu1Kzr8/bLNtEyQ0LJOQACCFm03SqpfmLiAeYXQ=', + r_hash: 'rnxIC3DuMFBqulO9ObMKD3JIxM6Qcur8DS2TxKdPEDU=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183535', + settle_date: '1602183537', + payment_request: 'lntb100u1p0h7ct0pp54e7yszmsacc9q6462w7nnvc2paey33xwjpew4lqd9kfuff60zq6sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5s0ztwtey782s0h2w3hwdj76u6s3q6rpfkrutedrl4t85vs8a8xls9qy9qsqchuem273txqlazq4mvay08qepxm3mkj0yy3trj8c7kns8x05588yv5jhvhns9hgsgtxs95rxjnm9eklz40tzcvjtucs92y0z72vz23gpzcu0tv', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '760', + settle_index: '84', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '48', + amt_msat: '10000000', + accept_height: 1859691, + accept_time: '1602183537', + resolve_time: '1602183537', + expiry_height: 1859734, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'g8S3LyTx1QfdTo3c2Xtc1CINDCmw+Ly0f6rPRkD9Ob8=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'LVZLw3Lt0RnfU2TdTPntE7SXO3PCF4X2Bh47tfI9R0E=', + r_hash: 'C9fwDDgvs5LKQWDJuBiLR0Ldym5cjMJNe3LZhQ0CZjU=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183566', + settle_date: '1602183568', + payment_request: 'lntb100u1p0h7cvwpp5p0tlqrpc97ee9jjpvrymsxytgapdmjnwtjxvyntmwtvc2rgzvc6sdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp594smx9fwamc3t4d8pma58hpcds6ksse40sq4ejwrd6fmstws54tq9qy9qsq0rtcvv5w0xpj66kqmwwewdxruwggxuv32au8hwqkqezmrdcnwx956hngrk2yrveay07m9fl8nwlt6a5dpwlc7la0fykcp3gcz68w7aqqjn8jzx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '761', + settle_index: '85', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '49', + amt_msat: '10000000', + accept_height: 1859692, + accept_time: '1602183568', + resolve_time: '1602183568', + expiry_height: 1859735, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LWGzFS7u8RXVpw77Q9w4bDVoQzV8AVzJw26TuC3QpVY=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: '+kCLdh5b3JJoBSMCRceVp4XZGZfoHDIETs2NIsn6BjI=', + r_hash: 'X/b2/XWJIlniAh+yc1P7IljtaF60vg2rERSFtLTxV/o=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602183588', + settle_date: '1602183607', + payment_request: 'lntb100u1p0h7cdypp5tlm0dlt43y39ncszr7e8x5lmyfvw66z7kjlqm2c3zjzmfd832laqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5637ueyjzcgnjq9ppa476w4net4wa69ttyy858q7rlsgdpsyzudws9qy9qsqye574vvj85dg2lvmx2zadud2832mkgm6mxxkfj8s8rzhpunttcmr2x8hcavgvnwz5hpfw94mxryv9l48e7yc048f4srd3q4tv7vmeagpzq4fmt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '762', + settle_index: '86', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '50', + amt_msat: '10000000', + accept_height: 1859693, + accept_time: '1602183607', + resolve_time: '1602183607', + expiry_height: 1859736, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '1H3MkkLCJyAUIe19p1Z5XV3dFWshD0ODw/wQ0MCC410=' + }, + { + memo: 'Local-Rebalance-5000-Sats', + r_preimage: 'FUiNSk66kU6S11D6yNQ6bvGw5OHS702FHxA2CImUlxI=', + r_hash: '/5rlttq0KkvfplDVVcXOUSyVcrAzlM6odi43ag/XjjA=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1602184030', + settle_date: '0', + payment_request: 'lntb50u1p0h7c67pp5l7dwtdk6ks4yhhax2r24t3ww2ykf2u4sxw2va2rk9cmk5r7h3ccqdpgf3hkxctv94fx2cnpd3skucm9956nqvps94fkzarncqzpgxqrrsssp5lrapep7th584s7c7tz00k06xcjx7lp3k55xjy8tk7e3lntrxft9q9qy9qsquv5uyxr5e6lc40mcdsckmtj4m74xnktg7wqqfnzqa8qvvezpqp64f7rz80z4ktfakhpdwmydleds4trxnurqa7s7ysnz9p2tl4r3chcpcxmydk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '763', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '+Poch8u9D1h7Hlie+z9GxI3vhjalDSIddvZj+axmSso=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: 'h0fo2iJfrc0lSX2eCj8BBAs8fBQV6TbBVUXDxEzjUTI=', + r_hash: 'TWOxbJJXRem7EiD3360dOe9fiP7+jpVPuAZyTJk2UOQ=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602184072', + settle_date: '1602184133', + payment_request: 'lntb100u1p0h7cugpp5f43mzmyj2az7nwcjyrmaltga88h4lz87l68f2nacqeeyexfk2rjqdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5htljnwmctug4t8lej7mh7uhql0nujjs2ew0xhaej0kcfm82xrt2q9qy9qsqwu80zpgtqjtfe4ksa8yzzwexqcc3m8p5ny4cs7yf6tdk7yny8088wf07m76gxdcw7t0xm80af2py93zwwue0kvy7jvx2hjw9cf9gy6spzmfpep', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '764', + settle_index: '87', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '51', + amt_msat: '10000000', + accept_height: 1859711, + accept_time: '1602184133', + resolve_time: '1602184133', + expiry_height: 1859754, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'uv8pu3hfEVWf+Ze3f3Lg++fJSgrLnmv3Mn2wnZ1GGtQ=' + }, + { + memo: 'Local-Rebalance-10000-Sats', + r_preimage: '79WOI8zVvhES3gV/fGbbLZRKu87Gq5ArLc1kibAOGhQ=', + r_hash: 'wVDuHxgorsFyEs1/nIFbPkuWitlu1GiUtxMFrSkEqfw=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1602281795', + settle_date: '1602281797', + payment_request: 'lntb100u1p0cpc2rpp5c9gwu8cc9zhvzusje4leeq2m8e9edzkedm2x399hzvz662gy487qdp2f3hkxctv94fx2cnpd3skucm995cnqvpsxqk4xct5wvcqzpgxqrrsssp5ff7qpny97xkvjplwqum6f4c5hkg7v9w74cer5erv94rqyzy8sfjq9qy9qsq0lz0kys6djz0c9y99nd8zcy7nt8emhaxsws0xrvm9wf5al2ps9q33j92wera2epxwr59t02v99c29e5gp6npw8krcyzmqf37yvldu5gpc46zdg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '765', + settle_index: '88', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '52', + amt_msat: '10000000', + accept_height: 1861120, + accept_time: '1602281797', + resolve_time: '1602281797', + expiry_height: 1861162, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'SnwAzIXxrMkH7gc3pNcUvZHmFd6uMjpkbC1GAgiHgmQ=' + }, + { + memo: 'Local-Rebalance-2000-Sats', + r_preimage: 'GCocvbuBXZDAD6YeZ7gEjsiX14YUUm2zRw87vPrQr5A=', + r_hash: 'ZU678i60sLtKcC9o7gSZTWInJiuTVVhrlWOCIYwnxBk=', + value: '2000', + value_msat: '2000000', + settled: false, + creation_date: '1602281857', + settle_date: '0', + payment_request: 'lntb20u1p0cpcvppp5v48thu3wkjctkjns9a5wupyef43zwf3tjd24s6u4vwpzrrp8csvsdpgf3hkxctv94fx2cnpd3skucm995erqvps94fkzarncqzpgxqrrsssp5p7dqgjhwryfht72hhh0qpfpxttu25rydmncxs6v07tv20yhjh7ds9qy9qsqyl9k5x4vaajetwttl3hmrkrd7eclxv667xsm70a88vgk92mlsvupnl4y2w2gu60htvqthgzvcyfk6z4u8qa2tpkn8kh2n8janx5wmscq0w5t89', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '766', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'D5oESu4ZE3X5V73eAKQmWviqDI3c8Ghpj/LYp5Lyv5s=' + }, + { + memo: 'Local-Rebalance-3000-Sats', + r_preimage: 'BawZ6U+OREJqFh4PD7KWWZoj2b+z//h5lsTG16Kq7h0=', + r_hash: 'j30419At4ujxzxApo2fD9bW83iW3EVsHfzDmqFqTyHg=', + value: '3000', + value_msat: '3000000', + settled: false, + creation_date: '1602282010', + settle_date: '0', + payment_request: 'lntb30u1p0cpcs6pp53a7n347s9h3w3uw0zq56xe7r7k6meh39kug4kpmlxrn2sk5nepuqdpgf3hkxctv94fx2cnpd3skucm995enqvps94fkzarncqzpgxqrrsssp5v53h8r8a5rmnmydqrlyfmj8g0lpfdmfwu4wddw9kzx9hyn2yxc5s9qy9qsqyyqqyyhysmsd3lq857cxs76rllqrr75yn6sqnld0vamatua6mx3r339xt9alzatk8ngdtqu5xvupjnsrtyw4xhuyp0zs4ftj384r2gcpt04dq8', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '767', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'ZSNzjP2g9z2RoB/Incjof8KW7S7lXNa4thGLck1ENik=' + }, + { + memo: 'Local-Rebalance-4000-Sats', + r_preimage: 'Puqk6wC4OBLByuUuTy7Ul5qGMCXzCvw/v7RB7MXRVGo=', + r_hash: 'xzbgJX7nGZDdaTJsHx8bJQ5mSl0dlf+eUDZpRDsYx+Y=', + value: '4000', + value_msat: '4000000', + settled: false, + creation_date: '1602282023', + settle_date: '0', + payment_request: 'lntb40u1p0cpc38pp5cumwqft7uuvephtfxfkp78cmy58xvjjark2ll8jsxe55gwccclnqdpgf3hkxctv94fx2cnpd3skucm9956rqvps94fkzarncqzpgxqrrsssp57uvvr4rran6rl7vqpepx7sf8nmut86rnxg6r8jnmm80jy7ea00cs9qy9qsqkjqfndptydmd326wkmcssv9fkxf6n59uul6pkr6ccct8h6y9l7shh209vcenwhz2ql58ttu3xtktm3f4q39s636np5nfnnxses3e92sp8kgs8a', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '768', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9xjB1GPs9D/5gA5Cb0Ennviz6HMyNDPKe9nfIns9e/E=' + }, + { + memo: 'testing LND Invoice', + r_preimage: 'pOLwmB4ctjy05QPaA45hZ91xiFrYsNNNSIr0+xG2BNc=', + r_hash: 'PJ8AHHqbF2tCzfO4jfC7jU5gqe8ERkanPdoxVStar2s=', + value: '1000', + value_msat: '1000000', + settled: true, + creation_date: '1603222403', + settle_date: '1603223944', + payment_request: 'lntb10u1p0c7wurpp58j0sq8r6nvtkkskd7wugmu9m348xp200q3rydfeamgc422664a4sdqlw3jhxarfdenjqnzwgssyjmnkda5kxegcqzpgxqrrsssp5tals5em0jt4d5f0e2sk93ad0glkdxdhfwla3gvkxuwn2a4cftg9q9qy9qsqdv0z7mzkuds9436xf6txt0m70mvegea8xgrrgwh76syrl5pdqsuqqhttzwtcv884nydsz6hec3h0reqdtfupyany4ht0um69tt9rdhcpxhuxyx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '769', + settle_index: '89', + amt_paid: '1000000', + amt_paid_sat: '1000', + amt_paid_msat: '1000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '53', + amt_msat: '1000000', + accept_height: 1863752, + accept_time: '1603223944', + resolve_time: '1603223944', + expiry_height: 1863793, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '1000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'X38KZ2+S6tol+VQsWPWvR+zTNul3+xQyxuOmrtcJWgo=' + }, + { + memo: 'Sent to BTC Lightning', + r_preimage: '4FIrWPkYp/+WS0ql7cNMSC2TrB8LuWHvYmtNpSpeh0A=', + r_hash: '4oFd0yZwbmdjumcEw72YsukASRMZeq0WKzQ3UAfA+Yw=', + value: '10000', + value_msat: '10000000', + settled: true, + creation_date: '1603415240', + settle_date: '1603415248', + payment_request: 'lntb100u1p0eytxgpp5u2q4m5exwphxwca6vuzv80vckt5sqjgnr9a2693txsm4qp7qlxxqdpz2djkuapqw3hjqsj5gvsyc6t8dp6xu6twvucqzpgxqrrsssp5d6lpgp7wr3ezgxvw9p54pfgqkcegkncut7wqcaxmfefx80hkms8q9qy9qsqmdcejns8sfwfp0tk3t6weg3atg9kf5kvrty2pw8mgj5wq234gjnxcgkplh7endanya7aqxq5nqcryl3hahcaq8wnwumw8plxn6kqesgqn8kmtk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '770', + settle_index: '90', + amt_paid: '10000000', + amt_paid_sat: '10000', + amt_paid_msat: '10000000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '54', + amt_msat: '10000000', + accept_height: 1864133, + accept_time: '1603415248', + resolve_time: '1603415248', + expiry_height: 1864176, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '10000000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'br4UB84cciQZjihpUKUAtjKLTxxfnAx0205SY7723A4=' + }, + { + memo: 'swap', + r_preimage: '0zyMNdCKu9soxBVr8llzoqZJNMTb3sCMtZFgMJxl0ro=', + r_hash: '/24DGffDxcU2RV+iPljC/W5a1o9cYSBiVk64OdfVRHo=', + value: '249650', + value_msat: '249650000', + settled: true, + creation_date: '1605742157', + settle_date: '1605742213', + payment_request: 'lntb2496500n1p0mttjdpp5lahqxx0hc0zu2dj9t73rukxzl4h94450t3sjqcjkf6urn474g3aqdq8wdmkzuqcqzpgxq97zvuqrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp5uphxcthya5z4euqptlg5p7fl5qrysd5nkqf674wwn5k388j4v46s9qy9qsqzdyqzgcgueu8w672rkc886qjjp4l7hmy86z7c8kem2tsvv2q8l032222neem3lvjhecdc6z3wl9pj5vwek0y5hcxpwval29pkld5k5qpq6x3av', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '771', + settle_index: '91', + amt_paid: '249650000', + amt_paid_sat: '249650', + amt_paid_msat: '249650000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '56', + amt_msat: '249650000', + accept_height: 1892705, + accept_time: '1605742213', + resolve_time: '1605742213', + expiry_height: 1892748, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '249650000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4G5sLuTtBVzwAV/RQPk/oAZINpOwE69Vzp0tE55VZXU=' + }, + { + memo: 'loop in probe', + r_preimage: null, + r_hash: '6mPTzQcA+b8NP1zDTCvyebMlkUPWqY03U5Gu23Uizp4=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1605742157', + settle_date: '0', + payment_request: 'lntb2496500n1p0mttjdpp5af3a8ng8qrum7rfltnp5c2lj0xejty2r665c6d6njxhdkafze60qdq4d3hk7upqd9hzqurjda3x2cqzpgxqrrssrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp5zmvshhzfvgemv5uj27w8nwyxarletxwtguf27yygwx2hc28jlr7s9qy9qsqc6ydfs2pamhv0aze2ppjkpvv27mp7swydkrqwvsrp7qs2fuvjk84yrav3awjagfvykd2sck440r9h464j6jf583sdfd06pzqv8s9jegqyk6tnw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '772', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '55', + amt_msat: '249650000', + accept_height: 1892704, + accept_time: '1605742164', + resolve_time: '1605742164', + expiry_height: 1892747, + state: 'CANCELED', + custom_records: {}, + mpp_total_amt_msat: '249650000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'FtkL3EliM7ZTklecebiG6P+VmctHEq8QiHGVfCjy+P0=' + }, + { + memo: 'swap', + r_preimage: 'l5g1N38KO3vT9bN92Mj5c3pSiSTranAutJU1n28HXII=', + r_hash: 'Jc+gLleApBRDxhtJ0h3Vl9AZtj1J0yA7g/uLmwaAh1U=', + value: '249650', + value_msat: '249650000', + settled: true, + creation_date: '1605744525', + settle_date: '1605744581', + payment_request: 'lntb2496500n1p0mtdudpp5yh86qtjhszjpgs7xrdyay8w4jlgpnd3af8fjqwurlw9ekp5qsa2sdq8wdmkzuqcqzpgxq97zvuqrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp5g7eezsfqez7z4uhgula9tpt8d20v3c47aqty6yveyemfsn6x55zq9qy9qsqsy48f05yjdjhuy74z3fl9jqg836zwfy7zlz2a53hf6mjg6c3cvzqagh3a6eqf3n2a39qqfdpecndpszk8mu067xym8wjp2ta9zlcdtcpm6vkds', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '773', + settle_index: '92', + amt_paid: '249650000', + amt_paid_sat: '249650', + amt_paid_msat: '249650000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '58', + amt_msat: '249650000', + accept_height: 1892715, + accept_time: '1605744581', + resolve_time: '1605744581', + expiry_height: 1892758, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '249650000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'R7ORQSDIvCry6Of6VYVnap7I4r7oFk0RmSZ2mE9GpQQ=' + }, + { + memo: 'loop in probe', + r_preimage: null, + r_hash: 'S6E67TAMtPTQVKAokyvuY3NzMMxAwquNMRtoCEW7T3Y=', + value: '249650', + value_msat: '249650000', + settled: false, + creation_date: '1605744525', + settle_date: '0', + payment_request: 'lntb2496500n1p0mtdudpp5fwsn4mfspj60f5z55q5fx2lwvdehxvxvgrp2hrf3rd5qs3dmfamqdq4d3hk7upqd9hzqurjda3x2cqzpgxqrrssrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp5rtlfn9m9t8xfsw43kut5kdpudhyykd0uqcnee4dspkk47xeane0s9qy9qsqmj4r4yaqt7e4wdrkvyu9zwp2mfp3ryzvgy5w4sh07enefvmulstz7szw0deu9zptv8ljgsuyxlnej3a8sczwtyhk4s9jr4fz66dea3qqm7atwj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '774', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '57', + amt_msat: '249650000', + accept_height: 1892714, + accept_time: '1605744527', + resolve_time: '1605744527', + expiry_height: 1892757, + state: 'CANCELED', + custom_records: {}, + mpp_total_amt_msat: '249650000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Gv6Zl2VZzJg6sbcXSzQ8bchLNfwGJ5zVsA2tXxs9nl8=' + }, + { + memo: 'Testing CLT Payment from dashboard', + r_preimage: '3nxNAeFfmiV76poFm9OciSzaWMjMVOT3r9PPkEs2WUY=', + r_hash: '/+DVYc3CWIKDP6+JnEibtSXe4ZetocWTglRWng6+lHw=', + value: '100', + value_msat: '100000', + settled: true, + creation_date: '1608482004', + settle_date: '1608482254', + payment_request: 'lntb1u1p0a7lx5pp5llsd2cwdcfvg9qel47yecjymk5jaacvh4ksutyuz23tfur47j37qdph23jhxarfdenjqs6v2ss9qcted4jkuapqveex7mfqv3shx6rzdashyeqcqzpgxqy8ayqsp5drpuy5r3pcnk9ptpyz7jqygagq2y5r8uy9q8czh6jlf6hqwuam9q9qy9qsqn4zputum6rua207wd7h8pmzzu44k2cxu2fpkaymwyks3kptydhw8ldhlnpz736aavdlpjtkd3a25k06n78lfr03td9wxws4fzwvfu0spvrc7z3', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '775', + settle_index: '93', + amt_paid: '100000', + amt_paid_sat: '100', + amt_paid_msat: '100000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '59', + amt_msat: '100000', + accept_height: 1899011, + accept_time: '1608482254', + resolve_time: '1608482254', + expiry_height: 1899052, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '100000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'aMPCUHEOJ2KFYSC9IBEdQBRKDPwhQHwK+pfTq4Hc7so=' + }, + { + memo: 'Testing CLT Empty Payment from dashboard', + r_preimage: 'qK2l7IPinAF78OQu2xtEQj9xDd08H7NuymBcfVa2gjE=', + r_hash: '/Y4VG1zLOGvZCrKS9PUj2lTKH1NS6ppLqJUfaN2PWNk=', + value: '0', + value_msat: '0', + settled: true, + creation_date: '1608482075', + settle_date: '1608482274', + payment_request: 'lntb1p0a7lgmpp5lk8p2x6uevuxhkg2k2f0fafrmf2v586n2t4f5jagj50k3hv0trvsdzq23jhxarfdenjqs6v2ssy2mtsw3ujq5rp09kk2mn5ypn8ymmdypjxzumgvfhkzunycqzpgxqy8ayqsp5k98ux09krwvtlzcy3fy9fdegqv9lpgf0lg7j6gc2szxvn084lqcs9qy9qsql8szckxcljznveqcsfzf7ehmeavn5q6wv6t3j7a4v3vgqysmup7zemgl6ef79pv3cl7zy7rj9k7jncc7j6xq97xgwq8paj0pu5wduagqgjmdp6', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '776', + settle_index: '94', + amt_paid: '200000', + amt_paid_sat: '200', + amt_paid_msat: '200000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '60', + amt_msat: '200000', + accept_height: 1899011, + accept_time: '1608482274', + resolve_time: '1608482274', + expiry_height: 1899052, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '200000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'sU/DPLYbmL+LBIpIVLcoAwvwoS/6PS0jCoCMybz1+DE=' + }, + { + memo: 'Testing CLT Payment from dashboard', + r_preimage: 'KCmhNQOy4dnLWc7nA5MiQCunQu267mvwbDjsxuw9+Xg=', + r_hash: 'Ky2/lEBr+HypygpU2B1rjuR9H7HQfIOzJRFHgA/8AFM=', + value: '400', + value_msat: '400000', + settled: false, + creation_date: '1608483831', + settle_date: '0', + payment_request: 'lntb4u1p0alqlhpp59vkml9zqd0u8e2w2pf2ds8tt3mj868a36p7g8ve9z9rcqrluqpfsdph23jhxarfdenjqs6v2ss9qcted4jkuapqveex7mfqv3shx6rzdashyeqcqzpgxqy9gcqsp5yzhgumersyd9d5f405e755mtqc4rngneddcja64d4jtqcmd3ercq9qy9qsq03sdppyem5etczkq5ptah5xefnwm60x9zvdrxj3t6ewzl2t5fnqxfad0q7557epdk3gsu4yu84va8f3yge2dcazd6zz4j84d4paephqp5fy4hu', + description_hash: null, + expiry: '172800', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '777', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'IK6ObyOBGlbRNX0z6lNrBio5onlrcS7qrayWDG2xyPA=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'VPDgwHy8S9O4sSKPvoVM5RFJ0YrooO0BP0z2bjlFC80=', + r_hash: '6gEhg1XNevV0HEIoim5bACrhLG5JiHrykfh5htFmbc0=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1609877827', + settle_date: '0', + payment_request: 'lntb1p0lfj2rpp5agqjrq64e4a02aqugg5g5mjmqq4wztrwfxy84u53lpucd5txdhxsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5ydec9rjkrqczsscgplcy7pvaj4lrctwmenmhcx3le09cmgpxyuds9qy9qsq02qwggcmxmj696ndm5g02fsvk04k7ekngys33k224phw4x7cq3xhj6tqjvm8xmt02e8xk6535xzpunmg2n5jwx5r5c7xfp375fzkj3spa3xvst', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '778', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'I3OCjlYYMChDCA/wTwWdlX48LdvM93waP8vLjaAmJxs=' + }, + { + memo: 'Channel Creation from BTC', + r_preimage: null, + r_hash: '+n3pq5d0dpNfuI5ZRWl0SvUTjEK+H/2yZ2d/rleTq/I=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1609877839', + settle_date: '0', + payment_request: 'lntb1p0lfj20pp5lf77n2uhw3mfxhac3ev526t5ft638rzzhc0lmvn8val6u4un40eqdpggd5xzmnwv4kzqsmjv4shg6t0dcsxvun0d5syy4zrcqzpgxqyz57csp5l7sydz4t2vft6pfctuahg0ksnv44w72u28hun3qnmp79sy6fccgs9qy9qsq0pqds25wcqcvjxwnhdf8ey49ue5czhfg6zpdhneaq29nqr98efpjvn73ewa36kcz53rs2axf8jcgkxxn5y44qrcppszjwsr3dh2vf2qqj3zfv8', + description_hash: null, + expiry: '87000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '779', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '/6BGiqtTEr0FOF87dD7QmytXeVxR78nEE9h8WBNJxhE=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'bma2kSsy7ny9sZGR35bcIjE1DVCfJCTDGv9n9Odc6Kw=', + r_hash: 'u/BJF3wBKmfZJAYc8bk/s3pXMomZQXhC55ivzeVAC0g=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1609878274', + settle_date: '0', + payment_request: 'lntb500u1p0lfjczpp5h0cyj9muqy4x0kfyqcw0rwflkda9wv5fn9qhssh8nzhume2qpdyqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5v7r4hhnf8c07ngns4dn2vcj25d4z3ph820m9zzwyypw0hn9p4yws9qy9qsqkfrap55k9nfu6s562lz295c466lmp9m3v37mu34tkgauqxgd7whju9sm4ksvnwsq6jfqm07rgjr59v3vajyygzzrvu7h5pegw7dqqjgpls5uy2', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '780', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Z4db3mk+H+micKtmpmJKo2oohudT9lEJxCBc+8yhqR0=' + }, + { + memo: 'Channel Creation from BTC', + r_preimage: null, + r_hash: 'rCuoWHB8937nvCL+aEQ1HGqiJ6UAJ1BvKNedgPW8SkQ=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1609879175', + settle_date: '0', + payment_request: 'lntb500u1p0lfn58pp54s46skrs0nmhaeauytlxs3p4r342yfa9qqn4qmeg67wcpaduffzqdpggd5xzmnwv4kzqsmjv4shg6t0dcsxvun0d5syy4zrcqzpgxqyz57csp5jzh0emms4gjw86t47n4ncuwu6srqq72awwkdzfu6g5z38yfugz0s9qy9qsqhjl42evtgggdxpduttqkemrruk92w5v76735j7vwu7jvketym6xyhawvykmag7nvst9mdnxa2pgc2sy0me5558m82zqmmvqskdaudfsq6cgkry', + description_hash: null, + expiry: '87000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '781', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'kK7873CqJOPpdfTrPHHc1AYAeV1zrNEnmkUFE5E8QJ8=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'g9BQPw8XJBnPeyLD7bBfLAsHS8nQU9EXQdLTikTKmQI=', + r_hash: '09zbCDVwQjA8XSdcczcSAgHZxwZoBCqKx4pgjxwsi2U=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1609880131', + settle_date: '0', + payment_request: 'lntb1p0lf5jrpp560wdkzp4wpprq0zayaw8xdcjqgqan3cxdqzz4zk83fsg78pv3djsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5mjxf7933qyntkr4rjthu55m2uchrrp404x7dpcsk3y6qf2u7an4q9qy9qsqpvekg7hjdz8u3huta275dufqh2um4xxl7jf4wmahayx0zxyfxpdphrryee4awfr2vlv9l3w4x2glam3ayhmm2mjks2lnlp0evzjm9tgqx0teu4', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '782', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '3IyfFjEBJrsOo5LvylNq5i4xhq+pvNDiFok0BKue7Oo=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'W5puWiHG89SbycZgZLnDTw3QxNfEl6QsYkGlCxtd5SE=', + r_hash: 'Tr7N1ef71UirbuAQdnl1T3GtW7EtmeGF41FHEnxjlCs=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1609880188', + settle_date: '0', + payment_request: 'lntb500u1p0lf5nupp5f6lvm408l02532mwuqg8v7t4fac66ka39kv7rp0r29r3ylrrjs4sdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5vc7rpacgg5hzqrgmg6gq4t35uvgm8zfwq96hwyvl3rcmwath47us9qy9qsqt8jz9wxaahlm98a0dneepwktwv5x2dp46vf80ts5zwtmfv2x4m7xg3u4cps209l95jgc267w7a0hl6w43u3qxe2gpsw76z67ttmqrgspv8x89h', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '783', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'Zjww9whFLiANG0aQCq404xGziS4BdXcRn4jxt3V3r7k=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'M36wBeusinqeTvkxq0Tc4g/2QeIePvJEt6xOuYS5IXs=', + r_hash: '38ussqZrPzjIlLxyVqAqMjHbeNnFjjGwf1O8TAywhKs=', + value: '0', + value_msat: '0', + settled: false, + creation_date: '1609880206', + settle_date: '0', + payment_request: 'lntb1p0lf55wpp5ml96ev4xdvln3jy5h3e9dgp2xgcak7xeck8rrvrl2w7ycr9ssj4sdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5zdvdvzvxz4heqq98knhdaq29xsdnfa6fvr6vu83tnvy66ts48l8s9qy9qsqe2ehkm9pyanttk9efz2h22v8ynzqzv7mr9afw9w0nenglmq673843q54yegeq0salhpzu4mp60mlzw6ygpeg5kkq9wkcpn3yeyjyqwcpfgmkwj', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '784', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'E1jWCYYVb5AAp7Tu3oFFNBs090lg9M4eK5sJrS4VP88=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'zGXFvYwJdsUUxZo5MlhslJ/022/VvF2Rt+0CO6V+mSc=', + r_hash: 'oOvclBrAGIrQeO03cIf9oopiPAqHVcKIGmsV9QfXre0=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1609880212', + settle_date: '0', + payment_request: 'lntb500u1p0lf555pp55r4ae9q6cqvg45rca5mhppla529xy0q2sa2u9zq6dv2l2p7h4hksdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5xjyaqvjug59m0m800p57l0ywuuk825ywezdxk8knykz9sfhn947q9qy9qsqda9jsqtjg9v3rakmvdrhlm2f683u4eh9ujv3kweuruw8vqt8yjd3346c3d77dxqf0q3f552g2j48xnecd2r3k7xn62l2qyez6nfhmfqp03crxz', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '785', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'NInQMlxFC7fs73hp77yO5yx1UI7Immse0yWEWCbzLXw=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'ipXrzoe+/CjYbPOugK5s1koNMvm71RwwD3pUBcHYfa0=', + r_hash: 'acaGW8HzK+I4K67rHK/cZNbyyZc1o2YDcXFipvN6QXM=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1609961742', + settle_date: '0', + payment_request: 'lntb500u1p0lvygwpp5d8rgvk7p7v47ywpt4m43et7uvnt09jvhxk3kvqm3w932dum6g9esdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp568mw50zdj7nzrweztnezfau4t480yafj3l2xr0lg0jqsu487jgqs9qy9qsqplfklensaynstwygmsztd30a4z2munl8jtygyl6gvalf8f0hlayyfmya6nm98jxmgu8zrudhy8pjyv0jg8tnsvey3aycg45r9sk54gsqp06mx6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '786', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '0fbqPE2XpiG7IlzyJPeVXU7ydTKP1GG/6HyBDlT+kgE=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'cEkDf4zEu96ZJZjPh8SC+QzFJbegdZsZaGEuenVZtpM=', + r_hash: 'AEcLVpQvFKq0xTdSyoCxaf6DDFqHx7/u0/PEmnGW234=', + value: '60000', + value_msat: '60000000', + settled: false, + creation_date: '1609962064', + settle_date: '0', + payment_request: 'lntb600u1p0lvyjspp5qprsk4559u224dx9xafv4q93d8lgxrz6slrmlmkn70zf5uvkmdlqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp54xcekvduktryjfvwh3xtzwp926dj29k35hsf2vy02tcaqjnfcwhs9qy9qsq0gtaccpcx709kf85dgy8wywhgptzyw9n6jpw9g2g870znzdmgv44z9rdz3wc7c6mmr33hpgn4n2xkgrwxsqydfyt8cpsj5khxhhsacgqn64ah5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '787', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'qbGbMbyyxkkljrxMsTglVpslFtGl4JUwj1Lx0Eppw68=' + }, + { + memo: 'swap', + r_preimage: 'zLsbs5JLn1nrBDRWwHZ821UbynObqZT3SSpQqWVj6Zg=', + r_hash: 'iLlQ2pb0wWWK/FcE6uC8/tNn8UcpQUdQHBviVAudXFc=', + value: '249954', + value_msat: '249954000', + settled: true, + creation_date: '1610149405', + settle_date: '1610149460', + payment_request: 'lntb2499540n1p0l3msapp53zu4pk5k7nqktzhu2uzw4c9ulmfk0u2899q5w5qur039gzuat3tsdq8wdmkzuqcqzpgxq97zvuqrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp5m7062c6wqasjfea2uc9rfdylanpv7glgxxta53ynhxxnfg8ypl0s9qy9qsq2yct3lsssxj907ffl3776cyhr74x9py5d2p473789rts45fwl7k9mxvk87qegpc3u8t76rw7de3vvcmyt8t0t9zjacspkwhf2vc0wespwrkaay', + description_hash: null, + expiry: '31536000', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '788', + settle_index: '95', + amt_paid: '249954000', + amt_paid_sat: '249954', + amt_paid_msat: '249954000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '62', + amt_msat: '249954000', + accept_height: 1903061, + accept_time: '1610149460', + resolve_time: '1610149460', + expiry_height: 1903104, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '249954000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '35+lY04HYSTnquYKNLSf7MLPI+gxl9pEk7mNNKDkD98=' + }, + { + memo: 'loop in probe', + r_preimage: null, + r_hash: 'JtzimtiH4HyhpFCtRMM1eqnr3xVeYbfx4bGGiZl7HJs=', + value: '249954', + value_msat: '249954000', + settled: false, + creation_date: '1610149405', + settle_date: '0', + payment_request: 'lntb2499540n1p0l3msapp5ymww9xkcsls8egdy2zk5fse40257hhc4tesm0u0pkxrgnxtmrjdsdq4d3hk7upqd9hzqurjda3x2cqzpgxqrrssrzjq2yw6glj4arzen2f0p3pf35vllehggqf6npslhjrmwegxc986qyec8rk3uqqqtgqqqqqqqlgqqqqqqgq9qrzjqwug9hxnpxk67ntx6x4dl0rws4myh4jud0d0qd5fc40340gn75lu28rk3sqqq8cqqqqqqqlgqqqqqqgq9qsp59jyah6qn9h3mzkh6kkprslkp9elchp6e2jueu0ayzd0vxfvulzhs9qy9qsqmxc86s0ww2xlktat8hqlm2s7x7d77k44d6pj3s63gwcp5g2nucqrqpqydg3ys6r47anwuauy0zdy84ur7ld079s8np3303qzy7md2mgpslsqge', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [ + { + hop_hints: [ + { + node_id: '0288ed23f2af462ccd49786214c68cfff3742009d4c30fde43dbb28360a7d0099c', + chan_id: '2050983910479560704', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + }, + { + hop_hints: [ + { + node_id: '03b882dcd309adaf4d66d1aadfbc6e85764bd65c6bdaf03689c55f1abd13f53fc5', + chan_id: '2050980611943759872', + fee_base_msat: 1000, + fee_proportional_millionths: 1, + cltv_expiry_delta: 40 + } + ] + } + ], + private: true, + add_index: '789', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '61', + amt_msat: '249954000', + accept_height: 1903060, + accept_time: '1610149410', + resolve_time: '1610149410', + expiry_height: 1903103, + state: 'CANCELED', + custom_records: {}, + mpp_total_amt_msat: '249954000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'LInb6BMt47Fa+rWCOH7BLn+Lh1lUuZ4/pBNewyWc+K8=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'EQvbuMdsMYD2h5j2Itr+oMp18ipDvdPoRJhnIwBrlnw=', + r_hash: 'GFdt/Tcrxv7NoTuUD19DHrpBO8HzGkkPf/ErY1pbsD0=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610479429', + settle_date: '0', + payment_request: 'lntb50u1p0lma69pp5rptkmlfh90r0andp8w2q7h6rr6ayzw7p7vdyjrml7y4kxkjmkq7sdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp54jez6av5f3qpegrsqj7tdwnq7hvxrf2r9y98t9hg8xhm5vgam6ts9qy9qsqtrq5yndjw0rqvanr958ql2m33uux3lr30ghak2zgwq7egptentxk37zxc0vn6jvpj4s02na7hrt8tpthd4ygkgzmm9szj60x5n2cspspz256hx', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '790', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'rLItdZRMQBygcAS8trpg9dhhpUMpCnWW6DmvujEd3pc=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'tYcnU9gy+73YYdXuC/kZ/FYaN00pgZy75dmRXZmSqs4=', + r_hash: 'rurHDGeIOHvr0soDeRv1CB4MUMdCvRhCLsZcrRKHLBw=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610479526', + settle_date: '0', + payment_request: 'lntb50u1p0lmaaxpp54m4vwrr83qu8h67jegphjxl4pq0qc5x8g273ss3wcew26y589swqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5wagmsfpqhjuqxa35d6rp0n3tc7u4uk2zpx0r7a4kcq0r0k9pexts9qy9qsqfgugxvfqwdfq0xpsdxyy2l5cwgd3l7vave4e9j89exxmzfrhhde9y7jz8akdm72vdkmg4d59crqf7v4hkulc0jerh52eel4ahk4jkygq8c6l7q', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '791', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'd1G4JCC8uAN2NG6GF84rx7leWUIJnj92tsAeN9ihyZc=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'zkS4nAoKKJspBZtTzjJLxDHlIB+DZH++jpnH0RfvAtw=', + r_hash: 't0CZ/QStNHubqtTOTqYLlAe3q0WZwRFO9LsPaUsBHmw=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610479893', + settle_date: '0', + payment_request: 'lntb50u1p0lm7g4pp5kaqfnlgy4568hxa26n8yafstjsrm0269n8q3znh5hv8kjjcprekqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5jw2g0z65k9tsfydypmfmp3ft8kr7qqf9h8vc9v5z4hkpvv7k08kq9qy9qsqng2hphm093utu0rce5x25alxf5yjyq08usz4je78mgj3y782waj3qm677mll4gzm2weywt8p0ml92n825gves02cd9s43nf4xk4mjsspycqaq3', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '792', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'k5SHi1SxVwSRpA7TsMUrPYfgASW52YKygq3sFjPWeew=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'AHUMhpt7eevV5ozzxZ942Kad42IQ2hps4QQvI0cmGiM=', + r_hash: 'Iac4oyChA/WLEXr6nRAhkczxaTXE2R2g92PCq1/RA9w=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610479927', + settle_date: '0', + payment_request: 'lntb50u1p0lm7fhpp5yxnn3geq5ypltzc30taf6yppj8x0z6f4cnv3mg8hv0p2kh73q0wqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5g6e454lmkaedrdhggxlft2lwh6737a7uxuzcedqtzjh7vnzh95ps9qy9qsqxw0nkft0hmkhxd07qfqq5ztteq3wa6n0dr0ug7ce3f0r85r0mu0hhduwjgzq08aqfdgtvqc2get606nr7k35fmzy2evmkkcuqjv26nqqzjedlc', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '793', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'RrNaV/u3ctG26EG+lavuvr0fd9w3BYy0CxSv5kxXLQM=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'BRos99cVUIUOdHanxFGoeF2r4lTtF9qHrjDjx3i1qrI=', + r_hash: 'dYkgp5LfdhHKXw0AXAOVMiRvaNYyrn9APbiFz/5zQDU=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610479985', + settle_date: '0', + payment_request: 'lntb50u1p0lm7t3pp5wkyjpfujmamprjjlp5q9cqu4xgjx76xkx2h87spahzzullnngq6sdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5r4cvscpu06klmwr8cp2zh4r94knw0yaktpv29ly39kpjyjaslrtq9qy9qsq0lx9jfa9k0uapq0j8qxzwmthwqfl00qh9a9fkv9ywner86ahukcjm4ceheja7lyu24as55gxws0pj4fh4u2cjwuw6c62s54pytn8jgqp09uxsm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '794', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HXDIYDx+rf24Z8BUK9Rlrabnk7ZYWKL8kS2DIkuw+NY=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'tmaMmNzeiUQwQLLwBjHFymHB56TjaQb5mdZgGJALbzY=', + r_hash: '/Oe/nBkGNPCSF42nkYCYclc8UAooA7p5opjX96Zpv4Q=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610480062', + settle_date: '0', + payment_request: 'lntb50u1p0lm7d7pp5lnnml8qeqc60pysh3knerqycwftnc5q29qpm57dznrtl0fnfh7zqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp53zytnugjmcj5dk2ysxd98jh7y2tudd62tqcxzz4yz4z84m6cupzq9qy9qsqlh7ej88qtv6acm2gwyvnj8m4cuw4j6xf8gklc25r6x0jqayhddtjtckknx5eya0jtsda4jmrt64y8gdxxkh0hszqv3eupdk0z37djuqpuhq22y', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '795', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'iIi58RLeJUbZRIGaU8r+IpfGt0pYMGEKpBVEeu9Y4EQ=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'T93GPk2RtWOevG6sL1EVB7no1dVaZfwEV/QFcSw7flQ=', + r_hash: 'XQMv2JLMFe1ArOGusCMr91Tmh+7/NzaKjBd6NY/wUXg=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481024', + settle_date: '0', + payment_request: 'lntb50u1p0lmlvqpp5t5pjlkyjes276s9vuxhtqget7a2wdplwlumndz5vzaartrls29uqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5c5jsajjeg6p7dc292tsq9x9uplx86qdsfrc7nt3pmezlxd7wmgws9qy9qsqhpc3skqnhdk3xgc7jefxjgna2js2s79sp60ztvwhx9exqekmm5nkdgr9s98afu2ett6daqfh3zkc5j6cg2g2yhva0nuchz35avxv6zcp7ufrrr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '796', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xSUOyllGg+bhRVLgApi8D8x9AbBI8emuId5F8zfO2h0=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'lJC7eB9BVTpevfSVmbGUuroIW4Dl/rda6PbbJTZ2u6I=', + r_hash: 'q1ycIT8NmNu1hM6/XaNGA1TPg1yXiRJYhK4GL0jt/SY=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481050', + settle_date: '0', + payment_request: 'lntb50u1p0lmlv6pp54dwfcgflpkvdhdvye6l4mg6xqd2vlq6uj7y3ykyy4crz7j8dl5nqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5rwr86ddvqktl9pt6c66qxqknn6336spklpd8zqtapjcy3qhew9js9qy9qsqlpp4czp8v73hvsj7rmw3aj8qrnx6690g6jqgj0jz483l0pjf6r6y07l5njfg3xm7c327nssqj96y3r6h694n7krm5a3htxqxce48hssq4c3pgt', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '797', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'G4Z9NawFl/KFesa0AwLTnqMdQDb4WnEBfQywSIL5cWU=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'gYQcuP7xbMAsQYevnPyE2iDFXBQREUvG6pVWfgGNfVw=', + r_hash: 'Q9M9GaqKCT4lTKsAWiWUeiPQ1VTXuCNF8r1j2s5XO3Q=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481057', + settle_date: '0', + payment_request: 'lntb500u1p0lmldppp5g0fn6xd23gynuf2v4vq95fv50g3ap42567uzx30jh43a4njh8d6qdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5gfpwu99jrelw3wau5wsfvyqhst3edn7vum0xxg96ksg025qxv8gs9qy9qsqj47kzmz8u50pquckkprht8pytgwt30lvvvzqu9ue79z88q4ms6k8gret6d83ax4s4ul33f4u6sh0809y2kz2me8njqmq6sl6d5r3hkgq30qsst', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '798', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'QkLuFLIefui7vKOglhAXguOWz8zm3mMgurQQ9VAGYdE=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'QJEWeXO7Q3q3kLwf1QOF7EvKdEm1ojlV0t7wCJ1WjRw=', + r_hash: 'PQlqPvoycqExV/tSMPp9bl0dUJqSz/VZjZAK3cDMqCI=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481167', + settle_date: '0', + payment_request: 'lntb500u1p0lmls0pp585yk50h6xfe2zv2hldfrp7nadew365y6jt8l2kvdjq9dmsxv4q3qdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp50d69tm63860cey2xzvvuy2slgndcxdtegjnvdt3l4jqm40tfp2dq9qy9qsqgqc0hss3dzevr5xtx2tpfv62qmfgmjhruht8g5ccqt92r2qw065h5qjnqj4wck94ku7amzcl7msvk6canpaxjtypa5xylf0f3zu8p8cqlmcr7p', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '799', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'e3RV71E+n4yRRhMZwiofRNuDNXlEpsauP6yBur1pCpo=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'Ffi/wAdVsNBTciisKApyEtWgLE6fi84OYVvIWKMIY20=', + r_hash: 'M5Ym8s+GMPQIbxfp+y6Dge66ao6grp2mEN9VH540ogU=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481252', + settle_date: '0', + payment_request: 'lntb500u1p0lmlnypp5xwtzduk0scc0gzr0zl5lkt5rs8ht565w5zhfmfssma23l8355gzsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5c5h6wlrays4jjmwmcrg24dwlnrvlsvst0h3u3yyfl7sa8v4n2c3s9qy9qsq3a3p9xj5dtz7ry6k0gqdff2u55zqzdfq74fa7psf40jdrsxdmjpzuf7j8zuaf5qsncqjmnswu0q86aawmk904rtgtzvkegqe2z9mm5gpdm77yr', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '800', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'xS+nfH0kKylt28DQqrXfmNn4Mgt948iQif+h07KzViM=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'nfO30/2y/aJ0TmAcgjqsNKWeK09eLlrXgAxlwyUv20Y=', + r_hash: '1o1w5IE5dFLihCRdeJC88FnczwyGJMip3uB5AWUPOV4=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481273', + settle_date: '0', + payment_request: 'lntb50u1p0lmlnepp566xhpeyp89699c5yy3wh3y9u7pvaencvscjv32w7upuszeg0890qdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5d3fklz0vcf4c8z6h73ltp5dkq90dp9qvu320ssq5w0uav4v3txjq9qy9qsqr06sqanp3q3tu6h38gdynefxpjlnqe8hxzjwgr4kpu8sumsdtgr39gefv63lzd474jwdvs2w3u0gcjygzw32ac6zp08dm836dfp8t8cqwluerm', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '801', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'bFNviezCa4OLV/R+sNG2AV7QlAzkVPhAFHP51lWRWaQ=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'AeLLv1swoXSfxOBdUmPlUs7Pd0w3ksAht1LXaoBfwp8=', + r_hash: 'WdKBuPQUd7jR6Hpd/FwZBmrEP0g+ZIeo621dT7GXG5I=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481280', + settle_date: '0', + payment_request: 'lntb50u1p0lml5qpp5t8fgrw85z3mm350g0fwlchqeqe4vg06g8ejg028td4w5lvvhrwfqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp53d8kegnm4hpged9fq92ngu7vuja3z3z5shrnv75gvry2mvdjqn0s9qy9qsqk99an4d2sjkyfrlgc6j5624xc30kj0rzjdp5x3hhnh3jmtmdl2lxy7ftwf8699ge75q0dhflr44vg6lew4nv9ykrk8yjtyngfvyu7ucp63uex7', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '802', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'i09sonutwoy0qQFVNHPM5LsRRFSFxzZ6iGDIrbGyBN8=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'YXKfW4q3mvwAqnoWvyqWJtn0lE+LetWxDtgjSUO1Vqw=', + r_hash: 'gDG35feryXyqpr0jyytUfpvsBpBfbuyfYqMKiItwGrA=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481281', + settle_date: '0', + payment_request: 'lntb50u1p0lml5ppp5sqcm0e0h40yhe24xh53uk26506d7cp5stahwe8mz5v9g3zmsr2cqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5s6rxlup6n5xu7qtmm9yvzqden0ner46rwl8l7t8q60jm7jwk778s9qy9qsqsegy6er2d2lgynynp05tl7jk8xjhs6z9gj387l3rapq42kxjg0szlsm3e774gjaxm8uesk6eu9gleaspzvgrsq7yj0wuclk9vk8auscqps6egh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '803', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'hoZv8DqdDc8Be9lIwQG5m+eR10N3z/8s4NPlv0nW948=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'HtteM/2iZmJ9H+77lP3dKNW17lPSQ5PojEhkdtnEdfE=', + r_hash: 'vaBQoFl2qn6hHKnojO0VZTUmFOZK8N5+C+OV5DFmtgw=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481287', + settle_date: '0', + payment_request: 'lntb500u1p0lml58pp5hks9pgzew648aggu485gemg4v56jv98xftcdulstuw27gvtxkcxqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5at4yvw60pkdezwyenn0jj70ejjw2nzur5fglprgpeffmx4uunudq9qy9qsq6dehn5zzp6t3uctgj9az269mtd9ztcnkv646gekk00yjetskya78ncchjn4z7a3n2jcg2axhs9uy67743e6tsc80644c3eppcpcjzvgqxzm9dh', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '804', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6upGO08Nm5E4mZzfKXn5lJypi4OiUfCNAcpTs1ecnxo=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'uivRy+JOKRj9+5Ll2cMd6A3OL6WxBVkzP1VR+1Qa1gk=', + r_hash: 'S+L9jvZ3wpeijU7heZIt173aRgTGMTufpzs+2c0sa1M=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481292', + settle_date: '0', + payment_request: 'lntb500u1p0lml5vpp5f030mrhkwlpf0g5dfmshny3d677a53sycccnh8a88vldnnfvddfsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp57sz08dnrllcljeq6886rv4pv3vnw7gwn4nsezpt3d8h5tccekgzq9qy9qsqvu7fv5tvplnmllnep984t9flrrz3teclkerkz66rhh2z6l4wvh8kgystqucauhmazug760ljn3xvf5scznmdwmj905ef2szhapzywpgqm6ajdk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '805', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '9ATztmP/8flkGjn0NlQsiybvIdOs4ZEFcWnvReMZsgQ=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'V9TcAQMlTlnNxMtBhWyJy+Nt61Hg814TqP044eubTO0=', + r_hash: 'ctO1Dj/lOmyJCrUrlafu38I5w5N/9u2AxHTcVWCVV58=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481309', + settle_date: '0', + payment_request: 'lntb500u1p0lml5app5wtfm2r3lu5axezg2k54etflwmlprnsun0lmwmqxywnw92cy4270sdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5rrjk8klhw3jxu5gn8x943fzdtzvxqelxutp5awylf7rcjrulzpfs9qy9qsqq2g6eplsg9sp03t0ez3rcft447sv59jd6kv7nnpexx6drw0nhsfpexdafj4lk7q5j58g2vj0reay9c7e937dpvhv3wgrjr2394r7r5gqzxszej', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '806', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'GOVj2/d0ZG5REzmLWKRNWJhgZ+biw064n0+HiQ+fEFM=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: '4DFw9f6QMNGS2dGmWEsGsvtfw4Vbny8P7P6CG320lxI=', + r_hash: 'As6uezmYz2+OpWmd0sFIPL2RhiBp9ldlWsY7uoSfyuE=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481344', + settle_date: '0', + payment_request: 'lntb50u1p0lmlkqpp5qt82u7eenr8klr49dxwa9s2g8j7erp3qd8m9we26ccam4pyletssdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp54tm8xvvnt7w6r8m7zssh9hc5qd5aj8fgqd30vepm5j2m8eqkmvas9qy9qsqsj84jqwmfc5ap2kj46uknysl92f4f7k72tdcs8np08n9v06hjns4t25wcxhpvfruw3x09f5tu8ah4eajenfahv4ap2wmaa27mdgal5qpua5fft', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '807', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'qvZzMZNfnaGffhQhct8UA2nZHSgDYvZkO6SVs+QW2zs=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'Q6+G12VqV60qfbIFG6TSYbDrM/HmyhqxK4cQg2Lg5hI=', + r_hash: 'whol9BNzhHrXg0v97/iljnBlto2zmNeDNdhVT0TUAXY=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481347', + settle_date: '0', + payment_request: 'lntb50u1p0lmlkrpp5cgdztaqnwwz844urf077l7993ecxtd5dkwvd0qe4mp2573x5q9mqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5n6fgzf3vark70vewwyqtn9zduuztfaqvrmgv8a954cfg42arl4rs9qy9qsq3755gsr2jwv6wz8z9s6z2vd0hrqveg82nxjjaz9uuh7vwvjxuycnjlngnx9ya88urqcqcncu89vufgnlhn6l3cr0aesdcv6edmnrmfqq0pegaf', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '808', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'npKBJizo7eezLnEAuZRN5wS09Awe0MP0tK4Siquj/Uc=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: '3l1gYcdbPcDJR6m4EdJraLRrgGic7T3u989eG+pj584=', + r_hash: 'Ep5adTM+vFKvUJ+IDfOneNFj/jnrliaQFGWTSbEGcls=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481355', + settle_date: '0', + payment_request: 'lntb500u1p0lmlktpp5z2095afn86799t6sn7yqmua80rgk8l3eawtzdyq5vkf5nvgxwfdsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5a2wuqn5mfyat0py85x9syexggp42cp9zsuzptkn9pyhn67atquys9qy9qsq2fxuexf8hcmdwzexm5qk6nmlhw556gvvky0f9nd0drw2k9jlxjt36zzldu0qecln4upqmkww5mr9msglsmpgcx9vaxdxauujrr92tmgq0lx9e6', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '809', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '6p3ATptJOreEh6GLAmTIQGqsBKKHBBXaZQkvPXurBwk=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: '8lHFdTfocO05CHH9k94zXkTDVAPZJsK0o2OVF8HB58w=', + r_hash: 'RaOzj4d6zx5RYsXT2jejl0qXciNo05OQ1eckZCTYJ0c=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481771', + settle_date: '0', + payment_request: 'lntb50u1p0luqrtpp5gk3m8ru80t83u5tzchfa5darja9fwu3rdrfe8yx4uujxgfxcyarsdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5uprv0yqcqrj958ntcc9x2jd72l5s3ghmt9vt4mftq6gu4auseqcq9qy9qsqdkrvzfd6vnrza9appd26ep7fxrkwny0e2wn5prrvzkue3gw5kt7r88g426flmgd2hdpchh2q2qu64wtpucerwsas85dk7znmwnh5vmsp2zswwk', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '810', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: '4EbHkBgA5Foea8YKZUm+V+kIovtZWLrtKwaRyveQyDA=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'VSHWU+z5cE+GBnrOtH4drv8UKP3ZOBu0ZaobjcMsayQ=', + r_hash: '+yXa/bsaXva27eoKApVI5aX3iAFCa9zwI1g4tMg01pA=', + value: '5000', + value_msat: '5000000', + settled: false, + creation_date: '1610481784', + settle_date: '0', + payment_request: 'lntb50u1p0luqrcpp5lvja4ldmrf00ddhdag9q992gukjl0zqpgf4aeuprtqutfjp566gqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5e88uacnse0vn8nxlhyvvdmzxxwh3zvhtp9vlv75vedhd5r52006s9qy9qsqkhrue4wqa7q0x4073hdnuh7jvctqysxpfekmkz2f2dfneax5q3lkypwwxj6snhlrgqfqpdek9pttqd737yvfll3vxzp3593hmcysdsqpej33tg', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '811', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'yc/O4nDL2TPM37kYxuxGM68RMusJWfZ6jMtu2g6Ke/U=' + }, + { + memo: 'Submarine Swap from BTC', + r_preimage: 'wE1OP+uABg1TjDHCK+JmPlFuKVrNY8prwukECTDW8XI=', + r_hash: 'vfYWqa9OAPlLyPZPja4nR/2sR95IwS3uyodiHKDdrr4=', + value: '50000', + value_msat: '50000000', + settled: false, + creation_date: '1610481791', + settle_date: '0', + payment_request: 'lntb500u1p0luqrlpp5hhmpd2d0fcq0jj7g7e8cmt38gl76c377frqjmmk2sa3pegxa46lqdp92d6kymtpwf5kuefq2dmkzupqveex7mfqgf2yxcqzpgsp5f7zrqkkn7sgkw50dhm2y4a4yy8s5wa96cgu65r96xufrwky87tfs9qy9qsqhkd0vxymyulk2hhhqmwk2zlw4zew6q060r4vfl3kqfd68mca5s845x8s4h2n6km6t0zpnwvneh8gkm5l8w4u33uyug6e876h5l49a6qp7yj92k', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '812', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'T4QwWtP0EWdR7b7USvakIeFHdLrCOaoMujcSN1iH8tM=' + }, + { + memo: 'my test invoice', + r_preimage: 'BdK5AF6k/z7tkA91sEkp2w5kBEtgUxdneu1HG2Z2Fvs=', + r_hash: 'OaVl95Ri5M4kOwMmCn4AQtkzSWtROEiW6uwOA0+DR7o=', + value: '100', + value_msat: '100000', + settled: false, + creation_date: '1611260961', + settle_date: '0', + payment_request: 'lntb1u1psqnepppp58xjktau5vtjvufpmqvnq5lsqgtvnxjtt2yuy39h2as8qxnurg7aqdqcd4ujqar9wd6zq6twwehkjcm9cqzpgxqy8ayqsp52zschckylrr8ss2qng98569ep0xjq0yvvlnc8v24lxcykylf7ruq9qy9qsqdd3778cls359zn3upj6nthk5ltvn5y3v8n7afkw2p5sq3sgkgl0yg9ck083ukep0vmh3da26t6u87p8hz2jk9mgeymrqltux3e3sy3cqwep3te', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '813', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'UKGL4sT4xnhBQJoKemi5C80gPIxn54OxVfmwSxPp8Pg=' + }, + { + memo: 'Routing Hint Invoice Test 2', + r_preimage: 'mjTWEv8ks8gC3G0IuDzN0dWowOj0us1sm5oktlWa1mk=', + r_hash: 'rTsdCcWqebhwOEH3w8BwqjSEWoxxZkUd75OKX6WT0Kw=', + value: '50', + value_msat: '50000', + settled: false, + creation_date: '1611262367', + settle_date: '0', + payment_request: 'lntb500n1psqn6vlpp545a36zw94fumsupcg8mu8srs4g6ggk5vw9ny2800jw99lfvn6zkqdpv2fhh2arfdenjqjrfde6zqjtwwehkjcm9yp2x2um5yqeqcqzpgxqy8ayqsp5hnxnn8v88aml0yarm7dy30tefgz6ktd6j5kdqjs69r0v3vzr9aes9qy9qsq2u3ctegkuk8754yzf7em6wutu2qx9ggcvs5v3t8kdzdef5rlwnj8wqwdmgjdtcjfhw7sl27ehn35dfg20ygqg6lk36czp8zkxqxtjlqqdk6h8x', + description_hash: null, + expiry: '259200', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '814', + settle_index: '0', + amt_paid: '0', + amt_paid_sat: '0', + amt_paid_msat: '0', + state: 'CANCELED', + htlcs: [], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 15: { + name: 'payment-addr', + is_required: false, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'vM05nYc/d/eTo9+aSL15SgWrLbqVLNBKGijeyLBDL3M=' + }, + { + memo: 'Testing ngrx effects 5', + r_preimage: 'PXwZIjOx1MmGLg5N85fUbDf0NvzD25R4DBzLvZ1aV2Q=', + r_hash: 'ofqURDHa++4vJZ+0Aak6Ddo2x/VU3L66jtiOQm0osPQ=', + value: '500', + value_msat: '500000', + settled: true, + creation_date: '1623624690', + settle_date: '1623624707', + payment_request: 'lntb5u1psvdzljpp558afg3p3mta7ute9n76qr2f6phdrd3l42nwtaw5wmz8yymfgkr6qdpy23jhxarfdenjqmn8wfuzqetxvejkxarnyq6scqzpgxqrrsssp50u562vs0e7z30ae955regxk87cwx0y9gctqzp7dmsczu60eu02wq9qyyssqdjdz6ujkgvnd0lzg45yrjrk2pus604mdl6dtmlvzx6zeje77s4vqncwgaeef0runpan4et45a0z32r9w36rrxzrhn4eytek05lgjdhgp5nycnw', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '815', + settle_index: '96', + amt_paid: '500000', + amt_paid_sat: '500', + amt_paid_msat: '500000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '63', + amt_msat: '500000', + accept_height: 2004658, + accept_time: '1623624707', + resolve_time: '1623624707', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '500000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'fymlMg/PhRf3JaUHlBrH9hxnkKjCwCD5u4YFzT88epw=' + }, + { + memo: 'Testing Eclair Payments 6', + r_preimage: 'VHkc2Ynk0e8GUS3rLE+v0XqjxdSMewHtxH23jXA9mdQ=', + r_hash: 'kLXuYKWbQGfUZXsrtKoCD2pxvVzBxaeZuMiG1UcDdgg=', + value: '600', + value_msat: '600000', + settled: true, + creation_date: '1623624972', + settle_date: '1623625051', + payment_request: 'lntb6u1psvdrgvpp5jz67uc99ndqx04r90v4mf2szpa48r02uc8z60xdcezrd23crwcyqdpg23jhxarfdenjq3trd3skju3q2pshjmt9de68xgpkcqzpgxqrrsssp559yee5wtrl5chrmf5qp7884cfj2tj42uqc7nlphsfp4vjk8rwhds9qyyssqm4hacj9nwhg90rcd8qzvz9ykt6mhskz4nuevj0tsezgv8pgc3j3rg0qgu66kjw2vfp3wym02nrkv5tgnjpv7dv6x38md37rsr2r8vssquzv5x0', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '816', + settle_index: '98', + amt_paid: '600000', + amt_paid_sat: '600', + amt_paid_msat: '600000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '65', + amt_msat: '600000', + accept_height: 2004658, + accept_time: '1623625051', + resolve_time: '1623625051', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '600000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'oUmc0csf6YuPaaAD4564TJS5VVwGPT+G8EhqyVjjdds=' + }, + { + memo: 'Testing ngrx effects 7', + r_preimage: 'qmqbQcOf9pvCnZeD5Q0LKn6MspSoD9vnXF1lDdybUBU=', + r_hash: 'wAXR4hEqhjk06bSZ8UyCYT9dxS6W4GSLc5MpAelLWrk=', + value: '700', + value_msat: '700000', + settled: true, + creation_date: '1623625020', + settle_date: '1623625037', + payment_request: 'lntb7u1psvdrfupp5cqzarcs392rrjd8fkjvlznyzvyl4m3fwjmsxfzmnjv5sr62tt2usdpy23jhxarfdenjqmn8wfuzqetxvejkxarnyqmscqzpgxqrrsssp5r3h3tk62wanq7s8kehw0u0ttp5ye8qmskpa35cal5k5d3krtxghs9qyyssq8awcu8rssq2kqqpc4pwsdxww3vw96pr4ktttjt4gkpktzqu0djxhcmx6070x3s09ydzmuce5fysmzhcp8t9happfr9najvngkj3xmjcpmed6r5', + description_hash: null, + expiry: '3600', + fallback_addr: '', + cltv_expiry: '40', + route_hints: [], + private: false, + add_index: '817', + settle_index: '97', + amt_paid: '700000', + amt_paid_sat: '700', + amt_paid_msat: '700000', + state: 'SETTLED', + htlcs: [ + { + chan_id: '1830637382236438528', + htlc_index: '64', + amt_msat: '700000', + accept_height: 2004658, + accept_time: '1623625037', + resolve_time: '1623625037', + expiry_height: 2004699, + state: 'SETTLED', + custom_records: {}, + mpp_total_amt_msat: '700000' + } + ], + features: { + 9: { + name: 'tlv-onion', + is_required: false, + is_known: true + }, + 14: { + name: 'payment-addr', + is_required: true, + is_known: true + }, + 17: { + name: 'multi-path-payments', + is_required: false, + is_known: true + } + }, + is_keysend: false, + payment_addr: 'HG8V20p3Zg9A9s3c/j1rDQmTg3Cwexpjv6Wo2NhrMi8=' + } + ], + last_index_offset: '817', + first_index_offset: '1' + } + }, + forwardingHistory: { + forwarding_events: [], + last_offset_index: 0 + } + }, + cl: { + nodeSettings: { + userPersona: 'OPERATOR', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-1', + selCurrencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ], + fiatConversion: true, + lnImplementation: 'LND', + swapServerUrl: 'https://localhost:8081', + boltzServerUrl: 'https://localhost:9003' + }, + information: {}, + fees: {}, + feeRatesPerKB: {}, + feeRatesPerKW: {}, + balance: {}, + localRemoteBalance: { + localBalance: -1, + remoteBalance: -1 + }, + peers: [], + allChannels: [], + payments: [], + forwardingHistory: {}, + invoices: { + invoices: [] + }, + utxos: [] + }, + ecl: { + nodeSettings: { + userPersona: 'OPERATOR', + channelBackupPath: '..\\\\RTL\\\\backup\\\\node-1', + selCurrencyUnit: 'USD', + currencyUnits: [ + 'Sats', + 'BTC', + 'USD' + ], + fiatConversion: true, + lnImplementation: 'LND', + swapServerUrl: 'https://localhost:8081', + boltzServerUrl: 'https://localhost:9003' + }, + information: {}, + fees: {}, + activeChannels: [], + pendingChannels: [], + inactiveChannels: [], + channelsStatus: {}, + channelStats: [], + onchainBalance: { + total: 0, + confirmed: 0, + unconfirmed: 0 + }, + lightningBalance: { + localBalance: -1, + remoteBalance: -1 + }, + peers: [], + payments: {}, + transactions: [], + invoices: [] + } +}; diff --git a/src/app/shared/theme/overlay-container/theme-overlay.ts b/src/app/shared/theme/overlay-container/theme-overlay.ts index f264e406..314e0e3c 100644 --- a/src/app/shared/theme/overlay-container/theme-overlay.ts +++ b/src/app/shared/theme/overlay-container/theme-overlay.ts @@ -3,10 +3,12 @@ import { OverlayContainer } from '@angular/cdk/overlay'; @Injectable() export class ThemeOverlay extends OverlayContainer { + _createContainer(): void { const container = document.createElement('div'); container.classList.add('cdk-overlay-container'); document.getElementById('rtl-container').appendChild(container); this._containerElement = container; } + } diff --git a/src/app/shared/theme/skins/blue.scss b/src/app/shared/theme/skins/blue.scss index dc353b54..b0cc5c35 100644 --- a/src/app/shared/theme/skins/blue.scss +++ b/src/app/shared/theme/skins/blue.scss @@ -9,7 +9,8 @@ $blue-primary: mat.define-palette(mat.$blue-palette, 700, 200, A200); $blue-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $blue-accent-night: mat.define-palette($mat-white, 300, 600, 900); $blue-warn: mat.define-palette($red-warn, 500); +$blue-warn-night: mat.define-palette($red-warn, A700); -$blue-night-theme: create-dark-bright-theme($blue-primary, $blue-accent-night, $blue-warn); +$blue-night-theme: create-dark-bright-theme($blue-primary, $blue-accent-night, $blue-warn-night); $blue-day-theme: mat.define-light-theme($blue-primary, $blue-accent, $blue-warn); diff --git a/src/app/shared/theme/skins/color-swatches/dark-bright-theme.scss b/src/app/shared/theme/skins/color-swatches/dark-bright-theme.scss index af895863..c3502879 100644 --- a/src/app/shared/theme/skins/color-swatches/dark-bright-theme.scss +++ b/src/app/shared/theme/skins/color-swatches/dark-bright-theme.scss @@ -59,6 +59,7 @@ $dark-bright-background: ( disabled-button-toggle: map_get($dark-grey, 300), unselected-chip: map_get($dark-grey, 300), disabled-list-option: map_get($dark-grey, 200), + lightest-background: map_get($dark-grey, 50), ); @function create-dark-bright-theme($primary, $accent, $warn: mat.define-palette(mat.$red-palette)) { diff --git a/src/app/shared/theme/skins/green.scss b/src/app/shared/theme/skins/green.scss index ecab953a..07e65578 100644 --- a/src/app/shared/theme/skins/green.scss +++ b/src/app/shared/theme/skins/green.scss @@ -10,7 +10,8 @@ $green-primary: mat.define-palette($green-primary, 500, 300, A200); $green-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $green-accent-night: mat.define-palette($mat-white, 300, 600, 900); $green-warn: mat.define-palette($red-warn, 500); +$green-warn-night: mat.define-palette($red-warn, A700); -$green-night-theme: create-dark-bright-theme($green-primary, $green-accent-night, $green-warn); +$green-night-theme: create-dark-bright-theme($green-primary, $green-accent-night, $green-warn-night); $green-day-theme: mat.define-light-theme($green-primary, $green-accent, $green-warn); diff --git a/src/app/shared/theme/skins/indigo.scss b/src/app/shared/theme/skins/indigo.scss index 1952ee7e..64fca8c5 100644 --- a/src/app/shared/theme/skins/indigo.scss +++ b/src/app/shared/theme/skins/indigo.scss @@ -9,7 +9,8 @@ $indigo-primary: mat.define-palette(mat.$indigo-palette, 500, 200, A200); $indigo-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $indigo-accent-night: mat.define-palette($mat-white, 300, 600, 900); $indigo-warn: mat.define-palette($red-warn, 500); +$indigo-warn-night: mat.define-palette($red-warn, A700); -$indigo-night-theme: create-dark-bright-theme($indigo-primary, $indigo-accent-night, $indigo-warn); +$indigo-night-theme: create-dark-bright-theme($indigo-primary, $indigo-accent-night, $indigo-warn-night); $indigo-day-theme: mat.define-light-theme($indigo-primary, $indigo-accent, $indigo-warn); diff --git a/src/app/shared/theme/skins/pink.scss b/src/app/shared/theme/skins/pink.scss index edfbe81a..e9a4bb24 100644 --- a/src/app/shared/theme/skins/pink.scss +++ b/src/app/shared/theme/skins/pink.scss @@ -9,7 +9,8 @@ $pink-primary: mat.define-palette(mat.$pink-palette, 500, 300, A200); $pink-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $pink-accent-night: mat.define-palette($mat-white, 300, 600, 900); $pink-warn: mat.define-palette($red-warn, 500); +$pink-warn-night: mat.define-palette($red-warn, A700); -$pink-night-theme: create-dark-bright-theme($pink-primary, $pink-accent-night, $pink-warn); +$pink-night-theme: create-dark-bright-theme($pink-primary, $pink-accent-night, $pink-warn-night); $pink-day-theme: mat.define-light-theme($pink-primary, $pink-accent, $pink-warn); diff --git a/src/app/shared/theme/skins/purple.scss b/src/app/shared/theme/skins/purple.scss index 1f2c6e5d..676f8dc4 100644 --- a/src/app/shared/theme/skins/purple.scss +++ b/src/app/shared/theme/skins/purple.scss @@ -7,10 +7,11 @@ @import '~@angular/material/theming'; $purple-primary: mat.define-palette($purple-primary, 500, 300, A200); -$purple-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); -$purple-accent-night: mat.define-palette($mat-white, 300, 600, 900); -$purple-warn: mat.define-palette($red-warn, 500); +$purple-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); +$purple-accent-night: mat.define-palette($mat-white, 300, 600, 900); +$purple-warn: mat.define-palette($red-warn, 500); +$purple-warn-night: mat.define-palette($red-warn, A700); -$purple-night-theme: create-dark-bright-theme($purple-primary, $purple-accent-night, $purple-warn); +$purple-night-theme: create-dark-bright-theme($purple-primary, $purple-accent-night, $purple-warn-night); $purple-day-theme: mat.define-light-theme($purple-primary, $purple-accent, $purple-warn); diff --git a/src/app/shared/theme/skins/teal.scss b/src/app/shared/theme/skins/teal.scss index 47ca36b4..70e53a08 100644 --- a/src/app/shared/theme/skins/teal.scss +++ b/src/app/shared/theme/skins/teal.scss @@ -9,7 +9,8 @@ $teal-primary: mat.define-palette(mat.$teal-palette, 800, 300, A200); $teal-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $teal-accent-night: mat.define-palette($mat-white, 300, 600, 900); $teal-warn: mat.define-palette($red-warn, 500); +$teal-warn-night: mat.define-palette($red-warn, A700); -$teal-night-theme: create-dark-bright-theme($teal-primary, $teal-accent-night, $teal-warn); +$teal-night-theme: create-dark-bright-theme($teal-primary, $teal-accent-night, $teal-warn-night); $teal-day-theme: mat.define-light-theme($teal-primary, $teal-accent, $teal-warn); diff --git a/src/app/shared/theme/skins/yellow.scss b/src/app/shared/theme/skins/yellow.scss index acacf7c8..bb8dd3e4 100644 --- a/src/app/shared/theme/skins/yellow.scss +++ b/src/app/shared/theme/skins/yellow.scss @@ -10,7 +10,8 @@ $yellow-primary: mat.define-palette($yellow-primary, 500, 300, A200); $yellow-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900); $yellow-accent-night: mat.define-palette($mat-white, 300, 600, 900); $yellow-warn: mat.define-palette($red-warn, 500); +$yellow-warn-night: mat.define-palette($red-warn, A700); -$yellow-night-theme: create-dark-bright-theme($yellow-primary, $yellow-accent-night, $yellow-warn); +$yellow-night-theme: create-dark-bright-theme($yellow-primary, $yellow-accent-night, $yellow-warn-night); $yellow-day-theme: mat.define-light-theme($yellow-primary, $yellow-accent, $yellow-warn); diff --git a/src/app/shared/theme/styles/root.scss b/src/app/shared/theme/styles/root.scss index c9fab4d9..64394e69 100644 --- a/src/app/shared/theme/styles/root.scss +++ b/src/app/shared/theme/styles/root.scss @@ -133,6 +133,9 @@ body { .padding-gap-x { padding: 0 $gap 0 $gap !important; + @include for_screensize(tab-land) { + padding: 0 $gap/2 0 $gap/2 !important; + } @include for_screensize(tab-port) { padding: 0 $gap/2 0 $gap/2 !important; } @@ -143,9 +146,12 @@ body { .padding-gap-large { padding: $gap * 2 !important; - @include for_screensize(tab-port) { + @include for_screensize(tab-land) { padding: $gap !important; } + @include for_screensize(tab-port) { + padding: $gap/2 !important; + } @include for_screensize(phone) { padding: $gap/4 !important; } @@ -153,9 +159,12 @@ body { .padding-gap-x-large { padding: 0 ($gap*2) 0 ($gap*2) !important; - @include for_screensize(tab-port) { + @include for_screensize(tab-land) { padding: 0 $gap 0 $gap !important; } + @include for_screensize(tab-port) { + padding: 0 $gap/2 0 $gap/2 !important; + } @include for_screensize(phone) { padding: 0 $gap/4 0 $gap/4 !important; } @@ -521,6 +530,16 @@ mat-cell:last-of-type, mat-header-cell:last-of-type, mat-footer-cell:last-of-typ } } +.ml-5 { + margin-left: 5rem !important; + @include for_screensize(tab-port) { + margin-left: 2rem !important; + } + @include for_screensize(phone) { + margin-left: 1rem !important; + } +} + .mr-4 { margin-right: 4rem !important; @include for_screensize(tab-port) { @@ -531,6 +550,26 @@ mat-cell:last-of-type, mat-header-cell:last-of-type, mat-footer-cell:last-of-typ } } +.mr-5 { + margin-right: 5rem !important; + @include for_screensize(tab-port) { + margin-right: 2rem !important; + } + @include for_screensize(phone) { + margin-right: 1rem !important; + } +} + +.mr-6 { + margin-right: 6rem !important; + @include for_screensize(tab-port) { + margin-right: 3rem !important; + } + @include for_screensize(phone) { + margin-right: 2rem !important; + } +} + .mx-2 { margin: 0 2rem !important; @include for_screensize(tab-port) { @@ -1268,6 +1307,30 @@ table { width:100%; } +th.mat-header-cell:first-of-type, td.mat-cell:first-of-type, td.mat-footer-cell:first-of-type { + @include for_screensize(tab-land) { + padding-left: $gap*2 !important; + } + @include for_screensize(tab-port) { + padding-left: $gap*1.5 !important; + } + @include for_screensize(phone) { + padding-left: $gap !important; + } +} + +th.mat-header-cell:last-of-type, td.mat-cell:last-of-type, td.mat-footer-cell:last-of-type { + @include for_screensize(tab-land) { + padding-right: $gap*2 !important; + } + @include for_screensize(tab-port) { + padding-right: $gap*1.5 !important; + } + @include for_screensize(phone) { + padding-right: $gap !important; + } +} + .dot { display: inline-flex; width: $dot-size; @@ -1327,7 +1390,7 @@ table { } .mat-vertical-stepper-header { - padding: 1rem !important; + padding: 1rem 1rem 1rem 0.8rem !important; } .ellipsis-child { @@ -1460,6 +1523,10 @@ table { } } +.mat-progress-bar { + min-height: 4px; +} + .dashboard-card-content { text-align: left; } diff --git a/src/app/shared/theme/styles/theme-color.scss b/src/app/shared/theme/styles/theme-color.scss index c3b69620..8015f416 100644 --- a/src/app/shared/theme/styles/theme-color.scss +++ b/src/app/shared/theme/styles/theme-color.scss @@ -146,12 +146,11 @@ & .cc-data-title { font-size: 80%; font-weight: 500; + min-width: 14rem; } & .cc-data-value { font-size: 120%; color: $foreground-secondary-text; - margin-right: 4rem; - min-width: 7rem; } } @@ -252,6 +251,7 @@ .table-actions-select { padding: 0.5rem 1rem; margin: 0.7rem 0; + min-width: 10rem; width: 10rem; float: right; & .mat-select-placeholder { diff --git a/src/app/shared/theme/styles/theme-mode-dark.scss b/src/app/shared/theme/styles/theme-mode-dark.scss index 29c952e5..6ff06897 100644 --- a/src/app/shared/theme/styles/theme-mode-dark.scss +++ b/src/app/shared/theme/styles/theme-mode-dark.scss @@ -49,6 +49,17 @@ } .rtl-snack-bar { max-width: 90vw !important; + font-weight: 700; + } + .rtl-warn-snack-bar { + max-width: 90vw !important; + font-weight: 700; + color: $warn-color; + } + .rtl-accent-snack-bar { + max-width: 90vw !important; + font-weight: 700; + color: $accent-color; } .mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar { background-color: $primary-darker; @@ -76,7 +87,18 @@ cursor: pointer; fill: $primary-darker; } - .mat-tree-node:hover, .mat-nested-tree-node-parent:hover, .mat-select-panel .mat-option:hover, .mat-menu-panel .mat-menu-content .mat-menu-item:hover { + + .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled), + .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover), + .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) { + color: $primary-darker; + } + + .mat-tree-node:hover, .mat-nested-tree-node-parent:hover, .mat-select-panel .mat-option:hover, .mat-menu-panel .mat-menu-content .mat-menu-item:hover, + .mat-autocomplete-panel .mat-option.mat-active, + .mat-autocomplete-panel .mat-option.mat-selected.mat-active, + .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled), + .mat-autocomplete-panel .mat-option:focus:not(.mat-option-disabled) { color: $primary-darker; cursor: pointer; background: $hover-background-dark; @@ -111,6 +133,12 @@ } } } + .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) { + color: $primary-darker; + } + .mat-select-panel { + background-color: mat.get-color-from-palette($background, dialog); + } .mat-tree { background: mat.get-color-from-palette($background, dialog); } @@ -219,6 +247,10 @@ font-size: 120%; } + .mat-slide-toggle-bar, .mat-step-header .mat-step-icon:not(.mat-step-icon-selected) { + background-color: mat.get-color-from-palette($background, lightest-background); + } + .mat-slide-toggle.mat-disabled { opacity: 1; & .mat-slide-toggle-content { diff --git a/src/app/shared/theme/styles/theme-mode-light.scss b/src/app/shared/theme/styles/theme-mode-light.scss index d38f8ffe..43297b06 100644 --- a/src/app/shared/theme/styles/theme-mode-light.scss +++ b/src/app/shared/theme/styles/theme-mode-light.scss @@ -47,6 +47,24 @@ } .rtl-snack-bar { max-width: 90vw !important; + font-weight: 600; + background-color: $background-color; + opacity: 0.9 !important; + color: $primary-color; + } + .rtl-warn-snack-bar { + max-width: 90vw !important; + font-weight: 600; + background-color: $background-color; + opacity: 0.9 !important; + color: $warn-color; + } + .rtl-accent-snack-bar { + max-width: 90vw !important; + font-weight: 600; + background-color: $background-color; + opacity: 0.9 !important; + color: $accent-color; } .mat-tab-label { &.mat-tab-label-active { diff --git a/src/app/store/rtl.actions.ts b/src/app/store/rtl.actions.ts index b0e5c39a..689bf183 100644 --- a/src/app/store/rtl.actions.ts +++ b/src/app/store/rtl.actions.ts @@ -1,15 +1,14 @@ import { Action } from '@ngrx/store'; -import { ErrorPayload } from '../shared/models/errorPayload'; import { DialogConfig } from '../shared/models/alertData'; +import { ApiCallStatusPayload } from '../shared/models/apiCallsPayload'; import { RTLConfiguration, Settings, ConfigSettingsNode, GetInfoRoot, SSO } from '../shared/models/RTLconfig'; import { ServicesEnum } from '../shared/services/consts-enums-functions'; export const VOID = 'VOID'; export const UPDATE_SELECTED_NODE_OPTIONS = 'UPDATE_SELECTED_NODE_OPTIONS'; +export const UPDATE_API_CALL_STATUS_ROOT = 'UPDATE_API_CALL_STATUS_ROOT'; export const RESET_ROOT_STORE = 'RESET_ROOT_STORE'; -export const CLEAR_EFFECT_ERROR_ROOT = 'CLEAR_EFFECT_ERROR_ROOT'; -export const EFFECT_ERROR_ROOT = 'EFFECT_ERROR_ROOT'; export const CLOSE_ALL_DIALOGS = 'CLOSE_ALL_DIALOGS'; export const OPEN_SNACK_BAR = 'OPEN_SNACKBAR'; export const OPEN_SPINNER = 'OPEN_SPINNER'; @@ -42,169 +41,228 @@ export const FETCH_FILE = 'FETCH_FILE'; export const SHOW_FILE = 'SHOW_FILE'; export class VoidAction implements Action { + readonly type = VOID; -} -export class ClearEffectErrorRoot implements Action { - readonly type = CLEAR_EFFECT_ERROR_ROOT; - constructor(public payload: string) {} // payload = errorAction } -export class EffectErrorRoot implements Action { - readonly type = EFFECT_ERROR_ROOT; - constructor(public payload: ErrorPayload) {} +export class UpdateAPICallStatus implements Action { + + readonly type = UPDATE_API_CALL_STATUS_ROOT; + constructor(public payload: ApiCallStatusPayload) { } + } export class CloseAllDialogs implements Action { + readonly type = CLOSE_ALL_DIALOGS; + } export class OpenSnackBar implements Action { + readonly type = OPEN_SNACK_BAR; - constructor(public payload: string | {message: string, duration: number}) {} + constructor(public payload: string | {message: string, duration?: number, type?: string}) {} + } export class OpenSpinner implements Action { + readonly type = OPEN_SPINNER; - constructor(public payload: string) {} // payload = titleMessage + constructor(public payload: string) {} + } export class CloseSpinner implements Action { + readonly type = CLOSE_SPINNER; + constructor(public payload: string) {} + } export class OpenAlert implements Action { + readonly type = OPEN_ALERT; constructor(public payload: DialogConfig) {} + } export class CloseAlert implements Action { + readonly type = CLOSE_ALERT; constructor(public payload: any) {} + } export class OpenConfirmation implements Action { + readonly type = OPEN_CONFIRMATION; constructor(public payload: DialogConfig) {} + } export class CloseConfirmation implements Action { + readonly type = CLOSE_CONFIRMATION; constructor(public payload: boolean) {} + } export class ShowPubkey implements Action { + readonly type = SHOW_PUBKEY; constructor() {} + } export class FetchConfig implements Action { + readonly type = FETCH_CONFIG; - constructor(public payload: string) {} // payload = ln/bitcoin node + constructor(public payload: string) {} // Payload = ln/bitcoin node + } export class ShowConfig implements Action { + readonly type = SHOW_CONFIG; - constructor(public payload: any) {} // payload = Config File + constructor(public payload: any) {} // Payload = Config File + } export class UpdateSelectedNodeOptions implements Action { + readonly type = UPDATE_SELECTED_NODE_OPTIONS; + } export class ResetRootStore implements Action { + readonly type = RESET_ROOT_STORE; constructor(public payload: ConfigSettingsNode) {} + } export class FetchRTLConfig implements Action { + readonly type = FETCH_RTL_CONFIG; + } export class SetRTLConfig implements Action { + readonly type = SET_RTL_CONFIG; constructor(public payload: RTLConfiguration) {} + } export class SaveSettings implements Action { + readonly type = SAVE_SETTINGS; - constructor(public payload: {settings?: Settings, defaultNodeIndex?: number}) {} + constructor(public payload: {uiMessage: string, settings?: Settings, defaultNodeIndex?: number}) {} + } export class TwoFASaveSettings implements Action { + readonly type = TWO_FA_SAVE_SETTINGS; constructor(public payload: {secret2fa: string}) {} + } export class SetSelelectedNode implements Action { + readonly type = SET_SELECTED_NODE; - constructor(public payload: { lnNode: ConfigSettingsNode, isInitialSetup: boolean }) {} + constructor(public payload: { uiMessage: string, lnNode: ConfigSettingsNode, isInitialSetup: boolean }) {} + } export class UpdateServiceSettings implements Action { + readonly type = UPDATE_SERVICE_SETTINGS; - constructor(public payload: { service: ServicesEnum, settings: any }) {} + constructor(public payload: { uiMessage: string, service: ServicesEnum, settings: any }) {} + } export class SetNodeData implements Action { + readonly type = SET_NODE_DATA; constructor(public payload: GetInfoRoot) {} + } export class SaveSSO implements Action { + readonly type = SAVE_SSO; constructor(public payload: SSO) {} + } export class Logout implements Action { + readonly type = LOGOUT; constructor() {} + } export class ResetPassword implements Action { + readonly type = RESET_PASSWORD; constructor(public payload: {currPassword: string, newPassword: string}) {} + } export class ResetPasswordRes implements Action { + readonly type = RESET_PASSWORD_RES; constructor(public payload: {token: string}) {} + } export class IsAuthorized implements Action { + readonly type = IS_AUTHORIZED; - constructor(public payload: string) {} // payload = password + constructor(public payload: string) {} // Payload = password + } export class IsAuthorizedRes implements Action { + readonly type = IS_AUTHORIZED_RES; - constructor(public payload: any) {} // payload = token/error + constructor(public payload: any) {} // Payload = token/error + } export class Login implements Action { + readonly type = LOGIN; constructor(public payload: {password: string, defaultPassword: boolean, twoFAToken?: string}) {} + } export class VerifyTwoFA implements Action { + readonly type = VERIFY_TWO_FA; constructor(public payload: {token: string, authResponse: any}) {} + } export class FetchFile implements Action { + readonly type = FETCH_FILE; constructor(public payload: {channelPoint: string, path?: string}) {} + } export class ShowFile implements Action { + readonly type = SHOW_FILE; constructor(public payload: any) {} + } -export type RTLActions = ClearEffectErrorRoot | EffectErrorRoot | - IsAuthorized | IsAuthorizedRes | Login | VerifyTwoFA | +export type RTLActions = UpdateAPICallStatus | IsAuthorized | IsAuthorizedRes | Login | VerifyTwoFA | VoidAction | CloseAllDialogs | OpenSnackBar | OpenSpinner | CloseSpinner | FetchRTLConfig | SetRTLConfig | SaveSettings | - OpenAlert | CloseAlert | OpenConfirmation | CloseConfirmation | ShowPubkey | FetchConfig | ShowConfig | + OpenAlert | CloseAlert | OpenConfirmation | CloseConfirmation | ShowPubkey | FetchConfig | ShowConfig | UpdateSelectedNodeOptions | ResetRootStore | SetSelelectedNode | SetNodeData | SaveSSO | UpdateServiceSettings | Logout | ResetPassword | ResetPasswordRes | FetchFile | ShowFile; diff --git a/src/app/store/rtl.effects.spec.ts b/src/app/store/rtl.effects.spec.ts new file mode 100644 index 00000000..25076a0c --- /dev/null +++ b/src/app/store/rtl.effects.spec.ts @@ -0,0 +1,149 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { HttpClient } from '@angular/common/http'; +import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { OverlayContainer } from '@angular/cdk/overlay'; +import { MatDialogRef } from '@angular/material/dialog'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import { ReplaySubject, throwError } from 'rxjs'; +import { Store } from '@ngrx/store'; +import { provideMockStore } from '@ngrx/store/testing'; +import { provideMockActions } from '@ngrx/effects/testing'; + +import { SharedModule } from '../shared/shared.module'; +import { mockActionsData, mockResponseData, mockRTLStoreState } from '../shared/test-helpers/test-data'; +import { mockDataService, mockLoggerService, mockSessionService, mockMatDialogRef } from '../shared/test-helpers/mock-services'; +import { ThemeOverlay } from '../shared/theme/overlay-container/theme-overlay'; +import { CommonService } from '../shared/services/common.service'; +import { SessionService } from '../shared/services/session.service'; +import { LoggerService } from '../shared/services/logger.service'; +import { DataService } from '../shared/services/data.service'; +import { ErrorMessageComponent } from '../shared/components/data-modal/error-message/error-message.component'; +import { APICallStatusEnum, UI_MESSAGES } from '../shared/services/consts-enums-functions'; +import { environment } from '../../environments/environment'; + +import { RTLEffects } from './rtl.effects'; +import * as RTLActions from './rtl.actions'; +import * as LNDActions from '../lnd/store/lnd.actions'; +import * as ECLActions from '../eclair/store/ecl.actions'; +import * as CLActions from '../clightning/store/cl.actions'; +import * as fromRTLReducer from './rtl.reducers'; + +describe('RTL Root Effects', () => { + let actions: ReplaySubject; + let effects: RTLEffects; + let mockStore: Store; + let snackBar: MatSnackBar; + let container: any; + let httpClient: HttpClient; + let httpTestingController: HttpTestingController; + + beforeEach(() => { + window.jasmine.DEFAULT_TIMEOUT_INTERVAL = 100000; + TestBed.configureTestingModule({ + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + HttpClientTestingModule + ], + providers: [ + RTLEffects, CommonService, HttpClient, + { provide: SessionService, useClass: mockSessionService }, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: DataService, useClass: mockDataService }, + { provide: OverlayContainer, useClass: ThemeOverlay }, + provideMockStore({ initialState: mockRTLStoreState, selectors: [] }), + provideMockActions(() => actions) + ] + }); + effects = TestBed.inject(RTLEffects); + mockStore = TestBed.inject(Store); + snackBar = TestBed.inject(MatSnackBar); + httpClient = TestBed.inject(HttpClient); + httpTestingController = TestBed.inject(HttpTestingController); + container = document.createElement('div'); + container.id = 'rtl-container'; + document.body.appendChild(container); + }); + + it('should be created', async () => { + expect(effects).toBeTruthy(); + }); + + it('should dispatch set selected node', (done) => { + const storeDispatchSpy = spyOn(mockStore, 'dispatch').and.callThrough(); + actions = new ReplaySubject(1); + const setSelectedNodeAction = { + type: RTLActions.SET_SELECTED_NODE, + payload: { uiMessage: UI_MESSAGES.UPDATE_SELECTED_NODE, lnNode: mockActionsData.setSelectedNode, isInitialSetup: false } + }; + actions.next(setSelectedNodeAction); + const sub = effects.setSelectedNode.subscribe((setSelectedNodeResponse) => { + expect(setSelectedNodeResponse).toEqual({ type: RTLActions.VOID }); + expect(storeDispatchSpy.calls.all()[0].args[0]).toEqual(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_SELECTED_NODE)); + expect(storeDispatchSpy.calls.all()[1].args[0]).toEqual(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.INITIATED })); + expect(storeDispatchSpy.calls.all()[2].args[0]).toEqual(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.COMPLETED })); + expect(storeDispatchSpy.calls.all()[3].args[0]).toEqual(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_SELECTED_NODE)); + expect(storeDispatchSpy.calls.all()[4].args[0]).toEqual(new RTLActions.ResetRootStore(mockActionsData.resetRootStore)); + expect(storeDispatchSpy.calls.all()[5].args[0]).toEqual(new LNDActions.ResetLNDStore(mockActionsData.resetChildrenStores)); + expect(storeDispatchSpy.calls.all()[6].args[0]).toEqual(new CLActions.ResetCLStore(mockActionsData.resetChildrenStores)); + expect(storeDispatchSpy.calls.all()[7].args[0]).toEqual(new ECLActions.ResetECLStore(mockActionsData.resetChildrenStores)); + expect(storeDispatchSpy.calls.all()[8].args[0]).toEqual(new LNDActions.FetchInfo({ loadPage: 'HOME' })); + expect(storeDispatchSpy).toHaveBeenCalledTimes(9); + done(); + setTimeout(() => sub.unsubscribe()); + }); + + const req = httpTestingController.expectOne(environment.CONF_API + '/updateSelNode'); + const expectedResponse = mockResponseData.setSelectedNodeSuccess; + req.flush(expectedResponse); + expect(req.request.method).toEqual('POST'); + expect(req.request.body).toEqual({ selNodeIndex: setSelectedNodeAction.payload.lnNode.index }); + }); + + it('should throw error on dispatch set selected node', (done) => { + const storeDispatchSpy = spyOn(mockStore, 'dispatch').and.callThrough(); + const httpClientSpy = spyOn(httpClient, 'post').and.returnValue(throwError(() => mockResponseData.error)); + actions = new ReplaySubject(1); + const setSelectedNodeAction = { + type: RTLActions.SET_SELECTED_NODE, + payload: { uiMessage: UI_MESSAGES.UPDATE_SELECTED_NODE, lnNode: mockActionsData.setSelectedNode, isInitialSetup: false } + }; + actions.next(setSelectedNodeAction); + const sub = effects.setSelectedNode.subscribe((setSelectedNodeResponse: any) => { + expect(setSelectedNodeResponse).toEqual({ type: RTLActions.VOID }); + expect(storeDispatchSpy.calls.all()[0].args[0]).toEqual(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_SELECTED_NODE)); + expect(storeDispatchSpy.calls.all()[1].args[0]).toEqual(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.INITIATED })); + expect(storeDispatchSpy.calls.all()[2].args[0]).toEqual(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_SELECTED_NODE)); + expect(storeDispatchSpy.calls.all()[3].args[0]).toEqual(new RTLActions.OpenAlert({ data: { type: 'ERROR', alertTitle: 'Update Selected Node Failed!', message: { code: '500', message: 'Request failed.', URL: environment.CONF_API + '/updateSelNode' }, component: ErrorMessageComponent } })); + expect(storeDispatchSpy.calls.all()[4].args[0]).toEqual(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.ERROR, statusCode: '500', message: 'Request failed.', URL: environment.CONF_API + '/updateSelNode' })); + expect(storeDispatchSpy).toHaveBeenCalledTimes(5); + done(); + setTimeout(() => sub.unsubscribe()); + }); + }); + + it('should open snack bar', (done) => { + const snackBarOpenSpy = spyOn(snackBar, 'open').and.callThrough(); + actions = new ReplaySubject(1); + const openSnackBarAction = { + type: RTLActions.OPEN_SNACK_BAR, + payload: 'Testing the snackbar open effect...' + }; + actions.next(openSnackBarAction); + const sub = effects.openSnackBar.subscribe((openSnackBarResponse) => { + expect(openSnackBarResponse).toBeUndefined(); + expect(snackBarOpenSpy).toHaveBeenCalledWith(openSnackBarAction.payload); + expect(snackBarOpenSpy).toHaveBeenCalledTimes(1); + done(); + setTimeout(() => sub.unsubscribe()); + }); + }); + + afterEach(() => { + httpTestingController.verify(); + }); +}); diff --git a/src/app/store/rtl.effects.ts b/src/app/store/rtl.effects.ts index 1a8e3ce0..aa642b81 100644 --- a/src/app/store/rtl.effects.ts +++ b/src/app/store/rtl.effects.ts @@ -3,19 +3,19 @@ import { HttpClient } from '@angular/common/http'; import { Router } from '@angular/router'; import { Store } from '@ngrx/store'; import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { of, Subject, forkJoin } from 'rxjs'; -import { map, mergeMap, catchError, take, withLatestFrom } from 'rxjs/operators'; +import { of, Subject, forkJoin, Observable } from 'rxjs'; +import { map, mergeMap, catchError, take, withLatestFrom, takeUntil } from 'rxjs/operators'; import { MatDialog } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; -import { environment, API_URL } from '../../environments/environment'; +import { environment } from '../../environments/environment'; import { LoggerService } from '../shared/services/logger.service'; import { SessionService } from '../shared/services/session.service'; import { CommonService } from '../shared/services/common.service'; import { DataService } from '../shared/services/data.service'; import { Settings, RTLConfiguration, ConfigSettingsNode } from '../shared/models/RTLconfig'; -import { AuthenticateWith, CURRENCY_UNITS, ScreenSizeEnum } from '../shared/services/consts-enums-functions'; +import { APICallStatusEnum, AuthenticateWith, CURRENCY_UNITS, ScreenSizeEnum, UI_MESSAGES } from '../shared/services/consts-enums-functions'; import { SpinnerDialogComponent } from '../shared/components/data-modal/spinner-dialog/spinner-dialog.component'; import { AlertMessageComponent } from '../shared/components/data-modal/alert-message/alert-message.component'; @@ -31,15 +31,15 @@ import * as fromRTLReducer from './rtl.reducers'; @Injectable() export class RTLEffects implements OnDestroy { + dialogRef: any; - CHILD_API_URL = API_URL + '/lnd'; screenSize = ''; alertWidth = '55%'; confirmWidth = '70%'; private unSubs: Array> = [new Subject(), new Subject()]; constructor( - private actions$: Actions, + private actions: Actions, private httpClient: HttpClient, private store: Store, private logger: LoggerService, @@ -48,490 +48,500 @@ export class RTLEffects implements OnDestroy { private dataService: DataService, public dialog: MatDialog, private snackBar: MatSnackBar, - private router: Router) {} - - closeAllDialogs = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.CLOSE_ALL_DIALOGS), - map((action: RTLActions.CloseAllDialogs) => { - this.dialog.closeAll(); - })), + private router: Router + ) { } + + closeAllDialogs = createEffect( + () => this.actions.pipe( + ofType(RTLActions.CLOSE_ALL_DIALOGS), + map((action: RTLActions.CloseAllDialogs) => { + this.dialog.closeAll(); + })), { dispatch: false } ); - - openSnackBar = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.OPEN_SNACK_BAR), - map((action: RTLActions.OpenSnackBar) => { - if (typeof action.payload === 'string') { - this.snackBar.open(action.payload); - } else { - this.snackBar.open(action.payload.message, '', {duration: action.payload.duration}); - } - })), + + openSnackBar = createEffect( + () => this.actions.pipe( + ofType(RTLActions.OPEN_SNACK_BAR), + map((action: RTLActions.OpenSnackBar) => { + if (typeof action.payload === 'string') { + this.snackBar.open(action.payload); + } else { + if (action.payload.type === 'ERROR') { + this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-warn-snack-bar' }); + } else if (action.payload.type === 'WARN') { + this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-accent-snack-bar' }); + } else { + this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-snack-bar' }); + } + } + })), { dispatch: false } ); - openSpinner = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.OPEN_SPINNER), - map((action: RTLActions.OpenSpinner) => { - this.dialogRef = this.dialog.open(SpinnerDialogComponent, { data: { titleMessage: action.payload}}); - })), + openSpinner = createEffect( + () => this.actions.pipe( + ofType(RTLActions.OPEN_SPINNER), + map((action: RTLActions.OpenSpinner) => { + if (action.payload !== UI_MESSAGES.NO_SPINNER) { + this.dialogRef = this.dialog.open(SpinnerDialogComponent, { data: { titleMessage: action.payload } }); + } + })), { dispatch: false } ); - closeSpinner = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.CLOSE_SPINNER), - map((action: RTLActions.CloseSpinner) => { - if (this.dialogRef && (this.dialogRef.componentInstance && this.dialogRef.componentInstance.data && this.dialogRef.componentInstance.data.titleMessage && this.dialogRef.componentInstance.data.titleMessage.includes('...'))) { this.dialogRef.close(); } - try { - this.dialog.openDialogs.forEach(localDialog => { - if (localDialog.componentInstance && localDialog.componentInstance.data && localDialog.componentInstance.data.titleMessage && localDialog.componentInstance.data.titleMessage.includes('...')) { - localDialog.close(); + closeSpinner = createEffect( + () => this.actions.pipe( + ofType(RTLActions.CLOSE_SPINNER), + map((action: RTLActions.CloseSpinner) => { + if (action.payload !== UI_MESSAGES.NO_SPINNER) { + try { + if (this.dialogRef && (this.dialogRef.componentInstance && this.dialogRef.componentInstance.data && this.dialogRef.componentInstance.data.titleMessage && this.dialogRef.componentInstance.data.titleMessage === action.payload)) { + this.dialogRef.close(); + } else { + this.dialog.openDialogs.forEach((localDialog) => { + if (localDialog.componentInstance && localDialog.componentInstance.data && localDialog.componentInstance.data.titleMessage && localDialog.componentInstance.data.titleMessage === action.payload) { + localDialog.close(); + } + }); + } + } catch (err) { + this.logger.error(err); } - }); - } catch (err) { - this.logger.error(err); - } - })), + } + })), { dispatch: false } ); - openAlert = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.OPEN_ALERT), - map((action: RTLActions.OpenAlert) => { - action.payload.width = this.alertWidth; - if(action.payload.data.component) { - this.dialogRef = this.dialog.open(action.payload.data.component, action.payload); - } else { - this.dialogRef = this.dialog.open(AlertMessageComponent, action.payload); - } - })), + openAlert = createEffect( + () => this.actions.pipe( + ofType(RTLActions.OPEN_ALERT), + map((action: RTLActions.OpenAlert) => { + action.payload.width = this.alertWidth; + if (action.payload.data.component) { + this.dialogRef = this.dialog.open(action.payload.data.component, action.payload); + } else { + this.dialogRef = this.dialog.open(AlertMessageComponent, action.payload); + } + })), { dispatch: false } ); - closeAlert = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.CLOSE_ALERT), - map((action: RTLActions.CloseAlert) => { - if (this.dialogRef) { this.dialogRef.close(); } - return action.payload; - })), + closeAlert = createEffect( + () => this.actions.pipe( + ofType(RTLActions.CLOSE_ALERT), + map((action: RTLActions.CloseAlert) => { + if (this.dialogRef) { + this.dialogRef.close(); + } + return action.payload; + })), { dispatch: false } ); - openConfirm = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.OPEN_CONFIRMATION), - map((action: RTLActions.OpenConfirmation) => { - action.payload.width = this.confirmWidth; - this.dialogRef = this.dialog.open(ConfirmationMessageComponent, action.payload); - })), + openConfirm = createEffect( + () => this.actions.pipe( + ofType(RTLActions.OPEN_CONFIRMATION), + map((action: RTLActions.OpenConfirmation) => { + action.payload.width = this.confirmWidth; + this.dialogRef = this.dialog.open(ConfirmationMessageComponent, action.payload); + })), { dispatch: false } ); - closeConfirm = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.CLOSE_CONFIRMATION), - take(1), - map((action: RTLActions.CloseConfirmation) => { - if (this.dialogRef) { this.dialogRef.close(); } - this.logger.info(action.payload); - return action.payload; - })), + closeConfirm = createEffect( + () => this.actions.pipe( + ofType(RTLActions.CLOSE_CONFIRMATION), + take(1), + map((action: RTLActions.CloseConfirmation) => { + if (this.dialogRef) { + this.dialogRef.close(); + } + this.logger.info(action.payload); + return action.payload; + })), { dispatch: false } ); - showNodePubkey = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SHOW_PUBKEY), - withLatestFrom(this.store.select('root')), - mergeMap(([action, rootData]: [RTLActions.ShowPubkey, fromRTLReducer.RootState]) => { - if (!this.sessionService.getItem('token') || !rootData.nodeData.identity_pubkey) { - this.snackBar.open('Node Pubkey does not exist.'); - } else { - this.store.dispatch(new RTLActions.OpenAlert({width: '70%', data: { - information: rootData.nodeData, - component: ShowPubkeyComponent - }})); - } - return of({type: RTLActions.VOID}); - })) + showNodePubkey = createEffect( + () => this.actions.pipe( + ofType(RTLActions.SHOW_PUBKEY), + withLatestFrom(this.store.select('root')), + mergeMap(([action, rootData]: [RTLActions.ShowPubkey, fromRTLReducer.RootState]) => { + if (!this.sessionService.getItem('token') || !rootData.nodeData.identity_pubkey) { + this.snackBar.open('Node Pubkey does not exist.'); + } else { + this.store.dispatch(new RTLActions.OpenAlert({ + width: '70%', data: { + information: rootData.nodeData, + component: ShowPubkeyComponent + } + })); + } + return of({ type: RTLActions.VOID }); + })) ); - appConfigFetch = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.FETCH_RTL_CONFIG), - mergeMap((action: RTLActions.FetchRTLConfig) => { - this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) { - this.alertWidth = '95%'; - this.confirmWidth = '95%'; - } else if(this.screenSize === ScreenSizeEnum.MD) { - this.alertWidth = '80%'; - this.confirmWidth = '80%'; - } else { - this.alertWidth = '55%'; - this.confirmWidth = '60%'; - } - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('FetchRTLConfig')); - return this.httpClient.get(environment.CONF_API + '/rtlconf'); - }), - map((rtlConfig: RTLConfiguration) => { - this.logger.info(rtlConfig); - let searchNode: ConfigSettingsNode; - rtlConfig.nodes.forEach(node => { - node.settings.currencyUnits = [...CURRENCY_UNITS, node.settings.currencyUnit]; - if(+node.index === rtlConfig.selectedNodeIndex) { searchNode = node; } - }); - if(searchNode) { - this.store.dispatch(new RTLActions.SetSelelectedNode({lnNode: searchNode, isInitialSetup: true})) - return { - type: RTLActions.SET_RTL_CONFIG, - payload: rtlConfig - }; - } else { - return { - type: RTLActions.VOID + appConfigFetch = createEffect( + () => this.actions.pipe( + ofType(RTLActions.FETCH_RTL_CONFIG), + mergeMap((action: RTLActions.FetchRTLConfig) => { + this.screenSize = this.commonService.getScreenSize(); + if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) { + this.alertWidth = '95%'; + this.confirmWidth = '95%'; + } else if (this.screenSize === ScreenSizeEnum.MD) { + this.alertWidth = '80%'; + this.confirmWidth = '80%'; + } else { + this.alertWidth = '55%'; + this.confirmWidth = '60%'; } - } - }, - catchError((err) => { - this.handleErrorWithoutAlert('FetchRTLConfig', err); - return of({type: RTLActions.VOID}); - }))) + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.GET_RTL_CONFIG)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'FetchRTLConfig', status: APICallStatusEnum.INITIATED })); + if (this.sessionService.getItem('token')) { + return this.httpClient.get(environment.CONF_API + '/rtlconf'); + } else { + return this.httpClient.get(environment.CONF_API + '/rtlconfinit'); + } + }), + map((rtlConfig: RTLConfiguration) => { + this.logger.info(rtlConfig); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.GET_RTL_CONFIG)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'FetchRTLConfig', status: APICallStatusEnum.COMPLETED })); + let searchNode: ConfigSettingsNode; + rtlConfig.nodes.forEach((node) => { + node.settings.currencyUnits = [...CURRENCY_UNITS, node.settings.currencyUnit]; + if (+node.index === rtlConfig.selectedNodeIndex) { + searchNode = node; + } + }); + if (searchNode) { + this.store.dispatch(new RTLActions.SetSelelectedNode({ uiMessage: UI_MESSAGES.NO_SPINNER, lnNode: searchNode, isInitialSetup: true })); + return { + type: RTLActions.SET_RTL_CONFIG, + payload: rtlConfig + }; + } else { + return { + type: RTLActions.VOID + }; + } + }), + catchError((err) => { + this.handleErrorWithoutAlert('FetchRTLConfig', UI_MESSAGES.GET_RTL_CONFIG, err); + return of({ type: RTLActions.VOID }); + })) ); - settingSave = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SAVE_SETTINGS), - mergeMap((action: RTLActions.SaveSettings) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('UpdateSettings')); - if(action.payload.settings && action.payload.defaultNodeIndex) { - let settingsRes = this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings }); - let defaultNodeRes = this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex }); - return forkJoin([settingsRes, defaultNodeRes]); - } else if(action.payload.settings && !action.payload.defaultNodeIndex) { - return this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings }); - } else if(!action.payload.settings && action.payload.defaultNodeIndex) { - return this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex }); - } - return of({type: RTLActions.VOID}); - }), - map((updateStatus: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.info(updateStatus); - return { - type: RTLActions.OPEN_SNACK_BAR, - payload: (!updateStatus.length) ? updateStatus.message + '.' : updateStatus[0].message + '.' - }; - }, - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'UpdateSettings', code: (!err.length) ? err.status : err[0].status, message: (!err.length) ? err.error.error : err[0].error.error })); - this.handleErrorWithAlert('ERROR', 'Update Settings Failed!', environment.CONF_API, (!err.length) ? err : err[0]); - return of({type: RTLActions.VOID}); - }))) + settingSave = createEffect( + () => this.actions.pipe( + ofType(RTLActions.SAVE_SETTINGS), + mergeMap((action: RTLActions.SaveSettings) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSettings', status: APICallStatusEnum.INITIATED })); + let updateSettingReq = new Observable(); + if (action.payload.settings && action.payload.defaultNodeIndex) { + const settingsRes = this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings }); + const defaultNodeRes = this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex }); + updateSettingReq = forkJoin([settingsRes, defaultNodeRes]); + } else if (action.payload.settings && !action.payload.defaultNodeIndex) { + updateSettingReq = this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings }); + } else if (!action.payload.settings && action.payload.defaultNodeIndex) { + updateSettingReq = this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex }); + } + return updateSettingReq.pipe(map((updateStatus: any) => { + this.logger.info(updateStatus); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSettings', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + return { + type: RTLActions.OPEN_SNACK_BAR, + payload: (!updateStatus.length) ? updateStatus.message + '.' : updateStatus[0].message + '.' + }; + }), + catchError((err) => { + this.handleErrorWithAlert('UpdateSettings', action.payload.uiMessage, 'Update Settings Failed!', environment.CONF_API, (!err.length) ? err : err[0]); + return of({ type: RTLActions.VOID }); + })); + })) ); - updateServicesettings = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.UPDATE_SERVICE_SETTINGS), - mergeMap((action: RTLActions.UpdateServiceSettings) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('UpdateServiceSettings')); - return this.httpClient.post(environment.CONF_API + '/updateServiceSettings', action.payload); - }), - map((updateStatus: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.info(updateStatus); - return { - type: RTLActions.OPEN_SNACK_BAR, - payload: updateStatus.message + '.' - }; - }, - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'UpdateServiceSettings', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Update Service Settings Failed!', environment.CONF_API, err); - return of({type: RTLActions.VOID}); - }))) + updateServicesettings = createEffect( + () => this.actions.pipe( + ofType(RTLActions.UPDATE_SERVICE_SETTINGS), + mergeMap((action: RTLActions.UpdateServiceSettings) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateServiceSettings', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.CONF_API + '/updateServiceSettings', action.payload).pipe( + map((updateStatus: any) => { + this.logger.info(updateStatus); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateServiceSettings', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + return { + type: RTLActions.OPEN_SNACK_BAR, + payload: updateStatus.message + '.' + }; + }), + catchError((err) => { + this.handleErrorWithAlert('UpdateServiceSettings', action.payload.uiMessage, 'Update Service Settings Failed!', environment.CONF_API, err); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); - ssoSave = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SAVE_SSO), - mergeMap((action: RTLActions.SaveSSO) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('UpdateSSO')); - return this.httpClient.post(environment.CONF_API + '/updateSSO', { SSO: action.payload }); - }), - map((updateStatus: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.info(updateStatus); - return { - type: RTLActions.OPEN_SNACK_BAR, - payload:updateStatus.message + '.' - }; - }, - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'UpdateSSO', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Update SSO Failed!', environment.CONF_API, err); - return of({type: RTLActions.VOID}); - }))) + twoFASettingSave = createEffect( + () => this.actions.pipe( + ofType(RTLActions.TWO_FA_SAVE_SETTINGS), + mergeMap((action: RTLActions.TwoFASaveSettings) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.UPDATE_UI_SETTINGS)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'Update2FASettings', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.CONF_API + '/update2FA', { secret2fa: action.payload.secret2fa }); + }), + map((updateStatus: any) => { + this.logger.info(updateStatus); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'Update2FASettings', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.UPDATE_UI_SETTINGS)); + return { type: RTLActions.VOID }; + }), + catchError((err) => { + this.handleErrorWithAlert('Update2FASettings', UI_MESSAGES.UPDATE_UI_SETTINGS, 'Update 2FA Settings Failed!', environment.CONF_API, err); + return of({ type: RTLActions.VOID }); + })) ); - twoFASettingSave = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.TWO_FA_SAVE_SETTINGS), - mergeMap((action: RTLActions.TwoFASaveSettings) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('Update2FASettings')); - return this.httpClient.post(environment.CONF_API + '/update2FA', { secret2fa: action.payload.secret2fa }); - }), - map((updateStatus: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.logger.info(updateStatus); - return { type: RTLActions.VOID }; - }, - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'Update2FASettings', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Update 2FA Settings Failed!', environment.CONF_API, err); - return of({type: RTLActions.VOID}); - }))) + configFetch = createEffect( + () => this.actions.pipe( + ofType(RTLActions.FETCH_CONFIG), + mergeMap((action: RTLActions.FetchConfig) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.OPEN_CONFIG_FILE)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'fetchConfig', status: APICallStatusEnum.INITIATED })); + return this.httpClient.get(environment.CONF_API + '/config/' + action.payload). + pipe(map((configFile: any) => { + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'fetchConfig', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.OPEN_CONFIG_FILE)); + return { + type: RTLActions.SHOW_CONFIG, + payload: configFile + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('fetchConfig', UI_MESSAGES.OPEN_CONFIG_FILE, 'Fetch Config Failed!', environment.CONF_API + '/config/' + action.payload, err); + return of({ type: RTLActions.VOID }); + })); + })) ); - configFetch = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.FETCH_CONFIG), - mergeMap((action: RTLActions.FetchConfig) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('fetchConfig')); - return this.httpClient.get(environment.CONF_API + '/config/' + action.payload) - .pipe( - map((configFile: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); + showLnConfig = createEffect( + () => this.actions.pipe( + ofType(RTLActions.SHOW_CONFIG), + map((action: RTLActions.ShowConfig) => action.payload)), + { dispatch: false } + ); + + isAuthorized = createEffect( + () => this.actions.pipe( + ofType(RTLActions.IS_AUTHORIZED), + withLatestFrom(this.store.select('root')), + mergeMap(([action, store]: [RTLActions.IsAuthorized, any]) => { + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'IsAuthorized', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.AUTHENTICATE_API, { + authenticateWith: (!action.payload || action.payload.trim() === '') ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD, + authenticationValue: (!action.payload || action.payload.trim() === '') ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload + }).pipe(map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'IsAuthorized', status: APICallStatusEnum.COMPLETED })); + this.logger.info('Successfully Authorized!'); return { - type: RTLActions.SHOW_CONFIG, - payload: configFile + type: RTLActions.IS_AUTHORIZED_RES, + payload: postRes }; }), - catchError((err: any) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'fetchConfig', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', 'Fetch Config Failed!', environment.CONF_API + '/config/' + action.payload, err); - return of({type: RTLActions.VOID}); - } - )); - })) - ); - - showLnConfig = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SHOW_CONFIG), - map((action: RTLActions.ShowConfig) => { - return action.payload; - })), - { dispatch: false } + catchError((err) => { + this.handleErrorWithAlert('IsAuthorized', UI_MESSAGES.NO_SPINNER, 'Authorization Failed', environment.AUTHENTICATE_API, err); + return of({ + type: RTLActions.IS_AUTHORIZED_RES, + payload: 'ERROR' + }); + })); + })) ); - isAuthorized = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.IS_AUTHORIZED), - withLatestFrom(this.store.select('root')), - mergeMap(([action, store]: [RTLActions.IsAuthorized, any]) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('IsAuthorized')); - return this.httpClient.post(environment.AUTHENTICATE_API, { - authenticateWith: (!action.payload || action.payload.trim() === '') ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD, - authenticationValue: (!action.payload || action.payload.trim() === '') ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload - }) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.logger.info('Successfully Authorized!'); - return { - type: RTLActions.IS_AUTHORIZED_RES, - payload: postRes - }; - }), - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'IsAuthorized', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Authorization Failed', environment.AUTHENTICATE_API, err); - return of({ - type: RTLActions.IS_AUTHORIZED_RES, - payload: 'ERROR' - }); - })); - })) - ); - - isAuthorizedRes = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.IS_AUTHORIZED_RES), - map((action: RTLActions.IsAuthorizedRes) => { - return action.payload; - })), + isAuthorizedRes = createEffect( + () => this.actions.pipe( + ofType(RTLActions.IS_AUTHORIZED_RES), + map((action: RTLActions.IsAuthorizedRes) => action.payload)), { dispatch: false } ); - authLogin = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.LOGIN), - withLatestFrom(this.store.select('root')), - mergeMap(([action, rootStore]: [RTLActions.Login, fromRTLReducer.RootState]) => { - this.store.dispatch(new LNDActions.ClearEffectError('FetchInfo')); - this.store.dispatch(new CLActions.ClearEffectError('FetchInfo')); - this.store.dispatch(new ECLActions.ClearEffectError('FetchInfo')); - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('Login')); - return this.httpClient.post(environment.AUTHENTICATE_API, { - authenticateWith: (!action.payload.password) ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD, - authenticationValue: (!action.payload.password) ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload.password, - twoFAToken: (action.payload.twoFAToken) ? action.payload.twoFAToken : '', - }) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.setLoggedInDetails(action.payload.defaultPassword, postRes, rootStore); - }), - catchError((err) => { - this.logger.info('Redirecting to Login Error Page'); - this.handleErrorWithoutAlert('ERROR', err); - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'Login', code: err.status, message: err.error.error })); - if (+rootStore.appConfig.sso.rtlSSO) { - this.router.navigate(['/error'], { state: { errorCode: '406', errorMessage: err.error && err.error.error ? err.error.error : 'Single Sign On Failed!' }}); - } else { - this.router.navigate(['./login']); - } - return of({type: RTLActions.VOID}); - }) - ); - })), + authLogin = createEffect( + () => this.actions.pipe( + ofType(RTLActions.LOGIN), + withLatestFrom(this.store.select('root')), + mergeMap(([action, rootStore]: [RTLActions.Login, fromRTLReducer.RootState]) => { + this.store.dispatch(new LNDActions.ResetLNDStore({})); + this.store.dispatch(new CLActions.ResetCLStore({})); + this.store.dispatch(new ECLActions.ResetECLStore({})); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'Login', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.AUTHENTICATE_API, { + authenticateWith: (!action.payload.password) ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD, + authenticationValue: (!action.payload.password) ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload.password, + twoFAToken: (action.payload.twoFAToken) ? action.payload.twoFAToken : '' + }).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'Login', status: APICallStatusEnum.COMPLETED })); + this.setLoggedInDetails(action.payload.defaultPassword, postRes, rootStore); + }), + catchError((err) => { + this.logger.info('Redirecting to Login Error Page'); + if (err.status === 0 && err.statusText && err.statusText === 'Unknown Error') { + err.status = '400'; + err.error.error = 'Origin Not Allowed'; + } + this.handleErrorWithoutAlert('Login', UI_MESSAGES.NO_SPINNER, err); + if (+rootStore.appConfig.sso.rtlSSO) { + this.router.navigate(['/error'], { state: { errorCode: '406', errorMessage: err.error && err.error.error ? err.error.error : 'Single Sign On Failed!' } }); + } else { + this.router.navigate(['./login']); + } + return of({ type: RTLActions.VOID }); + })); + })), { dispatch: false } ); - - tokenVerify = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.VERIFY_TWO_FA), - withLatestFrom(this.store.select('root')), - mergeMap(([action, rootStore]: [RTLActions.VerifyTwoFA, fromRTLReducer.RootState]) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('VerifyToken')); - return this.httpClient.post(environment.AUTHENTICATE_API + '/token', {authentication2FA: action.payload.token}) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.logger.info('Token Successfully Verified!'); - this.setLoggedInDetails(false, action.payload.authResponse, rootStore); - }), - catchError((err) => { - this.handleErrorWithAlert('ERROR', 'Authorization Failed!', environment.AUTHENTICATE_API + '/token', err); - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'VerifyToken', code: err.status, message: err.error.error })); - return of({type: RTLActions.VOID}); - }) - ); - })), + + tokenVerify = createEffect( + () => this.actions.pipe( + ofType(RTLActions.VERIFY_TWO_FA), + withLatestFrom(this.store.select('root')), + mergeMap(([action, rootStore]: [RTLActions.VerifyTwoFA, fromRTLReducer.RootState]) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.VERIFY_TOKEN)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'VerifyToken', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.AUTHENTICATE_API + '/token', { authentication2FA: action.payload.token }). + pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.VERIFY_TOKEN)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'VerifyToken', status: APICallStatusEnum.COMPLETED })); + this.logger.info('Token Successfully Verified!'); + this.setLoggedInDetails(false, action.payload.authResponse, rootStore); + }), + catchError((err) => { + this.handleErrorWithAlert('VerifyToken', UI_MESSAGES.VERIFY_TOKEN, 'Authorization Failed!', environment.AUTHENTICATE_API + '/token', err); + return of({ type: RTLActions.VOID }); + }) + ); + })), { dispatch: false } ); - - logOut = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.LOGOUT), - withLatestFrom(this.store.select('root')), - mergeMap(([action, store]) => { - if (+store.appConfig.sso.rtlSSO) { - window.location.href = store.appConfig.sso.logoutRedirectLink; - } else { - this.router.navigate(['./login']); - } - this.sessionService.clearAll(); - this.store.dispatch(new RTLActions.SetNodeData({})); - this.logger.warn('LOGGED OUT'); - return of(); - })), + + logOut = createEffect( + () => this.actions.pipe( + ofType(RTLActions.LOGOUT), + withLatestFrom(this.store.select('root')), + mergeMap(([action, store]) => { + if (+store.appConfig.sso.rtlSSO) { + window.location.href = store.appConfig.sso.logoutRedirectLink; + } else { + this.router.navigate(['./login']); + } + this.sessionService.clearAll(); + this.store.dispatch(new RTLActions.SetNodeData({})); + this.logger.warn('LOGGED OUT'); + return of(); + })), { dispatch: false } ); - resetPassword = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.RESET_PASSWORD), - withLatestFrom(this.store.select('root')), - mergeMap(([action, rootStore]: [RTLActions.ResetPassword, fromRTLReducer.RootState]) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('ResetPassword')); - return this.httpClient.post(environment.AUTHENTICATE_API + '/reset', {currPassword: action.payload.currPassword, newPassword: action.payload.newPassword}) - .pipe(map((postRes: any) => { - this.logger.info(postRes); - this.sessionService.setItem('defaultPassword', false); - this.logger.info('Password Reset Successful!'); - this.store.dispatch(new RTLActions.OpenSnackBar('Password Reset Successful!')); - this.SetToken(postRes.token); - return { - type: RTLActions.RESET_PASSWORD_RES, - payload: postRes.token - }; - }), - catchError((err) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'ResetPassword', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Password Reset Failed!', environment.AUTHENTICATE_API + '/reset', err); - return of({type: RTLActions.VOID}); - })); - })) + resetPassword = createEffect( + () => this.actions.pipe(takeUntil(this.unSubs[1]), + ofType(RTLActions.RESET_PASSWORD), + withLatestFrom(this.store.select('root')), + mergeMap(([action, rootStore]: [RTLActions.ResetPassword, fromRTLReducer.RootState]) => { + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'ResetPassword', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.AUTHENTICATE_API + '/reset', { currPassword: action.payload.currPassword, newPassword: action.payload.newPassword }).pipe( + takeUntil(this.unSubs[0]), + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'ResetPassword', status: APICallStatusEnum.COMPLETED })); + this.sessionService.setItem('defaultPassword', false); + this.logger.info('Password Reset Successful!'); + this.store.dispatch(new RTLActions.OpenSnackBar('Password Reset Successful!')); + this.SetToken(postRes.token); + return { + type: RTLActions.RESET_PASSWORD_RES, + payload: postRes.token + }; + }), + catchError((err) => { + this.handleErrorWithAlert('ResetPassword', UI_MESSAGES.NO_SPINNER, 'Password Reset Failed!', environment.AUTHENTICATE_API + '/reset', err); + return of({ type: RTLActions.VOID }); + })); + })) ); - setSelectedNode = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SET_SELECTED_NODE), - mergeMap((action: RTLActions.SetSelelectedNode) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('UpdateSelNode')); - return this.httpClient.post(environment.CONF_API + '/updateSelNode', { selNodeIndex: action.payload.lnNode.index }) - .pipe( - map((postRes: any) => { - this.logger.info(postRes); - this.store.dispatch(new RTLActions.CloseSpinner()); - this.initializeNode(action.payload.lnNode, action.payload.isInitialSetup); - return { type: RTLActions.VOID }; - }), - catchError((err: any) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'UpdateSelNode', code: err.status, message: err.error.message })); - this.handleErrorWithAlert('ERROR', 'Update Selected Node Failed!', environment.CONF_API + '/updateSelNode', err); - return of({type: RTLActions.VOID}); - }) - ); - })) + setSelectedNode = createEffect( + () => this.actions.pipe( + ofType(RTLActions.SET_SELECTED_NODE), + mergeMap((action: RTLActions.SetSelelectedNode) => { + this.store.dispatch(new RTLActions.OpenSpinner(action.payload.uiMessage)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.INITIATED })); + return this.httpClient.post(environment.CONF_API + '/updateSelNode', { selNodeIndex: action.payload.lnNode.index }).pipe( + map((postRes: any) => { + this.logger.info(postRes); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'UpdateSelNode', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(action.payload.uiMessage)); + this.initializeNode(action.payload.lnNode, action.payload.isInitialSetup); + return { type: RTLActions.VOID }; + }), + catchError((err: any) => { + if (err.status === 0 && err.statusText && err.statusText === 'Unknown Error') { + err.status = '400'; + err.error.message = 'Origin Not Allowed'; + } + this.handleErrorWithAlert('UpdateSelNode', action.payload.uiMessage, 'Update Selected Node Failed!', environment.CONF_API + '/updateSelNode', err); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); - fetchFile = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.FETCH_FILE), - mergeMap((action: RTLActions.FetchFile) => { - this.store.dispatch(new RTLActions.ClearEffectErrorRoot('fetchFile')); - let query = '?channel=' + action.payload.channelPoint + (action.payload.path ? '&path=' + action.payload.path : ''); - return this.httpClient.get(environment.CONF_API + '/file' + query) - .pipe( - map((fetchedFile: any) => { - this.store.dispatch(new RTLActions.CloseSpinner()); - return { - type: RTLActions.SHOW_FILE, - payload: fetchedFile - }; - }), - catchError((err: any) => { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'fetchFile', code: err.status, message: err.error.error })); - this.handleErrorWithAlert('ERROR', err.error.message, environment.CONF_API + '/file' + query, {status: err.error.error.errno, error: err.error.error.code}); - return of({type: RTLActions.VOID}); - } - )); - })) + fetchFile = createEffect( + () => this.actions.pipe( + ofType(RTLActions.FETCH_FILE), + mergeMap((action: RTLActions.FetchFile) => { + this.store.dispatch(new RTLActions.OpenSpinner(UI_MESSAGES.DOWNLOAD_BACKUP_FILE)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'fetchFile', status: APICallStatusEnum.INITIATED })); + const query = '?channel=' + action.payload.channelPoint + (action.payload.path ? '&path=' + action.payload.path : ''); + return this.httpClient.get(environment.CONF_API + '/file' + query).pipe( + map((fetchedFile: any) => { + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: 'fetchFile', status: APICallStatusEnum.COMPLETED })); + this.store.dispatch(new RTLActions.CloseSpinner(UI_MESSAGES.DOWNLOAD_BACKUP_FILE)); + return { + type: RTLActions.SHOW_FILE, + payload: fetchedFile + }; + }), + catchError((err: any) => { + this.handleErrorWithAlert('fetchFile', UI_MESSAGES.DOWNLOAD_BACKUP_FILE, 'Download Backup File Failed!', environment.CONF_API + '/file' + query, { status: this.commonService.extractErrorNumber(err), error: { error: this.commonService.extractErrorCode(err) } }); + return of({ type: RTLActions.VOID }); + }) + ); + })) ); - - showFile = createEffect(() => - this.actions$.pipe( - ofType(RTLActions.SHOW_FILE), - map((action: RTLActions.ShowFile) => { - return action.payload; - })), + showFile = createEffect( + () => this.actions.pipe( + ofType(RTLActions.SHOW_FILE), + map((action: RTLActions.ShowFile) => action.payload)), { dispatch: false } ); initializeNode(node: any, isInitialSetup: boolean) { const landingPage = isInitialSetup ? '' : 'HOME'; let selNode = {}; - if(node.settings.fiatConversion && node.settings.currencyUnit) { + if (node.settings.fiatConversion && node.settings.currencyUnit) { selNode = { userPersona: node.settings.userPersona, channelBackupPath: node.settings.channelBackupPath, selCurrencyUnit: node.settings.currencyUnit, currencyUnits: [...CURRENCY_UNITS, node.settings.currencyUnit], fiatConversion: node.settings.fiatConversion, lnImplementation: node.lnImplementation, swapServerUrl: node.settings.swapServerUrl, boltzServerUrl: node.settings.boltzServerUrl }; } else { selNode = { userPersona: node.settings.userPersona, channelBackupPath: node.settings.channelBackupPath, selCurrencyUnit: node.settings.currencyUnit, currencyUnits: CURRENCY_UNITS, fiatConversion: node.settings.fiatConversion, lnImplementation: node.lnImplementation, swapServerUrl: node.settings.swapServerUrl, boltzServerUrl: node.settings.boltzServerUrl }; @@ -543,29 +553,26 @@ export class RTLEffects implements OnDestroy { this.store.dispatch(new LNDActions.ResetLNDStore(selNode)); this.store.dispatch(new CLActions.ResetCLStore(selNode)); this.store.dispatch(new ECLActions.ResetECLStore(selNode)); - if(this.sessionService.getItem('token')) { + if (this.sessionService.getItem('token')) { node.lnImplementation = node.lnImplementation.toUpperCase(); this.dataService.setChildAPIUrl(node.lnImplementation); switch (node.lnImplementation) { case 'CLT': - this.CHILD_API_URL = API_URL + '/cl'; - this.store.dispatch(new CLActions.FetchInfo({loadPage: landingPage})); + this.store.dispatch(new CLActions.FetchInfo({ loadPage: landingPage })); break; case 'ECL': - this.CHILD_API_URL = API_URL + '/ecl'; - this.store.dispatch(new ECLActions.FetchInfo({loadPage: landingPage})); + this.store.dispatch(new ECLActions.FetchInfo({ loadPage: landingPage })); break; - + default: - this.CHILD_API_URL = API_URL + '/lnd'; - this.store.dispatch(new LNDActions.FetchInfo({loadPage: landingPage})); + this.store.dispatch(new LNDActions.FetchInfo({ loadPage: landingPage })); break; } } } - - SetToken(token: string) { + + SetToken(token: string) { if (token) { this.sessionService.setItem('lndUnlocked', 'true'); this.sessionService.setItem('token', token); @@ -578,50 +585,53 @@ export class RTLEffects implements OnDestroy { setLoggedInDetails(defaultPassword: boolean, postRes: any, rootStore: any) { this.logger.info('Successfully Authorized!'); this.SetToken(postRes.token); + this.store.dispatch(new RTLActions.FetchRTLConfig()); rootStore.selNode.settings.currencyUnits = [...CURRENCY_UNITS, rootStore.selNode.settings.currencyUnit]; this.sessionService.setItem('defaultPassword', defaultPassword); if (defaultPassword) { this.sessionService.setItem('defaultPassword', 'true'); this.store.dispatch(new RTLActions.OpenSnackBar('Reset your password.')); this.router.navigate(['/settings/auth']); - } else { - this.store.dispatch(new RTLActions.SetSelelectedNode({lnNode: rootStore.selNode, isInitialSetup: true})); } } - handleErrorWithoutAlert(actionName: string, err: { status: number, error: any }) { + handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) { this.logger.error('ERROR IN: ' + actionName + '\n' + JSON.stringify(err)); - if (err.status === 401) { + if (err.status === 401 && actionName !== 'Login') { this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.CloseAllDialogs()); this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.EffectErrorRoot({ action: actionName, code: err.status.toString(), message: err.error.error })); + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.commonService.extractErrorMessage(err) })); } } - handleErrorWithAlert(alertType: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { + handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) { this.logger.error(err); - if (err.status === 401) { + if (err.status === 401 && actionName !== 'Login') { this.logger.info('Redirecting to Login'); this.store.dispatch(new RTLActions.CloseAllDialogs()); this.store.dispatch(new RTLActions.Logout()); this.store.dispatch(new RTLActions.OpenSnackBar('Authentication Failed. Redirecting to Login.')); } else { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({data: { - type: alertType, + this.store.dispatch(new RTLActions.CloseSpinner(uiMessage)); + const errMsg = this.commonService.extractErrorMessage(err); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: 'ERROR', alertTitle: alertTitle, - message: { code: err.status ? err.status : 'Unknown Error', message: (err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error : (err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error : (err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error : (err.error.error && typeof err.error.error === 'string') ? err.error.error : typeof err.error === 'string' ? err.error : 'Unknown Error', URL: errURL }, + message: { code: err.status ? err.status : 'Unknown Error', message: errMsg, URL: errURL }, component: ErrorMessageComponent } })); + this.store.dispatch(new RTLActions.UpdateAPICallStatus({ action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL })); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/store/rtl.reducers.spec.ts b/src/app/store/rtl.reducers.spec.ts new file mode 100644 index 00000000..ef8021a8 --- /dev/null +++ b/src/app/store/rtl.reducers.spec.ts @@ -0,0 +1,28 @@ +import { mockActionsData } from '../shared/test-helpers/test-data'; +import { UI_MESSAGES } from '../shared/services/consts-enums-functions'; + +import * as fromRTLReducer from './rtl.reducers'; +import * as RTLActions from './rtl.actions'; + +describe('RTL reducer', () => { + describe('default action', () => { + it('should return initial state', () => { + const { initRootState } = fromRTLReducer; + const newState = fromRTLReducer.RootReducer(initRootState, { type: 'VOID' }); + expect(newState).toEqual(initRootState); + }); + }); + + describe('Action SetSelectedNode', () => { + it('should set selected node', () => { + const { initRootState } = fromRTLReducer; + const SetSelectedNodeAction = new RTLActions.SetSelelectedNode({ uiMessage: UI_MESSAGES.NO_SPINNER, lnNode: mockActionsData.setSelectedNode, isInitialSetup: false }); + const newState = fromRTLReducer.RootReducer(initRootState, SetSelectedNodeAction); + + expect(newState.selNode.settings.themeMode).toBe('NIGHT'); + expect(newState.selNode.settings.themeColor).toBe('TEAL'); + expect(newState.selNode.settings.userPersona).toBe('MERCHANT'); + expect(newState.selNode.lnImplementation).toEqual('LND'); + }); + }); +}); diff --git a/src/app/store/rtl.reducers.ts b/src/app/store/rtl.reducers.ts index c1c27503..a8cb4484 100644 --- a/src/app/store/rtl.reducers.ts +++ b/src/app/store/rtl.reducers.ts @@ -1,5 +1,7 @@ import { ActionReducerMap } from '@ngrx/store'; -import { ErrorPayload } from '../shared/models/errorPayload'; + +import { ApiCallsListRoot } from '../shared/models/apiCallsPayload'; +import { APICallStatusEnum } from '../shared/services/consts-enums-functions'; import { RTLConfiguration, ConfigSettingsNode, GetInfoRoot } from '../shared/models/RTLconfig'; import * as fromECL from '../eclair/store/ecl.reducers'; @@ -8,46 +10,42 @@ import * as fromLND from '../lnd/store/lnd.reducers'; import * as RTLActions from './rtl.actions'; export interface RootState { - effectErrorsRoot: ErrorPayload[]; + apisCallStatus: ApiCallsListRoot; selNode: ConfigSettingsNode; appConfig: RTLConfiguration; nodeData: GetInfoRoot; } const initNodeSettings = { userPersona: 'OPERATOR', themeMode: 'DAY', themeColor: 'PURPLE', channelBackupPath: '', selCurrencyUnit: 'USD', fiatConversion: false, currencyUnits: ['Sats', 'BTC', 'USD'], bitcoindConfigPath: '' }; -const initNodeAuthentication = { configPath: '', swapMacaroonPath: '', boltzMacaroonPath: '', }; +const initNodeAuthentication = { configPath: '', swapMacaroonPath: '', boltzMacaroonPath: '' }; -const initRootState: RootState = { - effectErrorsRoot: [], - selNode: {settings: initNodeSettings, authentication: initNodeAuthentication, lnImplementation: 'LND'}, +export const initRootState: RootState = { + apisCallStatus: { Login: { status: APICallStatusEnum.UN_INITIATED }, IsAuthorized: { status: APICallStatusEnum.UN_INITIATED } }, + selNode: { settings: initNodeSettings, authentication: initNodeAuthentication, lnImplementation: 'LND' }, appConfig: { defaultNodeIndex: -1, selectedNodeIndex: -1, sso: { rtlSSO: 0, logoutRedirectLink: '' }, enable2FA: false, - nodes: [{ settings: initNodeSettings, authentication: initNodeAuthentication}] + nodes: [{ settings: initNodeSettings, authentication: initNodeAuthentication }] }, nodeData: {} }; export function RootReducer(state = initRootState, action: RTLActions.RTLActions) { switch (action.type) { - case RTLActions.CLEAR_EFFECT_ERROR_ROOT: - const clearedEffectErrors = [...state.effectErrorsRoot]; - const removeEffectIdx = state.effectErrorsRoot.findIndex(err => { - return err.action === action.payload; - }); - if (removeEffectIdx > -1) { - clearedEffectErrors.splice(removeEffectIdx, 1); - } - return { - ...state, - effectErrorsRoot: clearedEffectErrors + case RTLActions.UPDATE_API_CALL_STATUS_ROOT: + const updatedApisCallStatus = state.apisCallStatus; + updatedApisCallStatus[action.payload.action] = { + status: action.payload.status, + statusCode: action.payload.statusCode, + message: action.payload.message, + URL: action.payload.URL, + filePath: action.payload.filePath }; - case RTLActions.EFFECT_ERROR_ROOT: return { ...state, - effectErrorsRoot: [...state.effectErrorsRoot, action.payload] + apisCallStatus: updatedApisCallStatus }; case RTLActions.RESET_ROOT_STORE: return { @@ -73,7 +71,6 @@ export function RootReducer(state = initRootState, action: RTLActions.RTLActions default: return state; } - } export interface RTLState { diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index ee4cdab2..d1e601f5 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -15,8 +15,8 @@ export const environment = { GETINFO_API: '/getinfo', WALLET_API: '/wallet', NETWORK_API: '/network', - NEW_ADDRESS_API : '/newaddress', - TRANSACTIONS_API : '/transactions', + NEW_ADDRESS_API: '/newaddress', + TRANSACTIONS_API: '/transactions', PAYREQUEST_API: '/payreq', PAYMENTS_API: '/payments', INVOICES_API: '/invoices', diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 4f9b698e..1f1ba6ad 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -15,8 +15,8 @@ export const environment = { GETINFO_API: '/getinfo', WALLET_API: '/wallet', NETWORK_API: '/network', - NEW_ADDRESS_API : '/newaddress', - TRANSACTIONS_API : '/transactions', + NEW_ADDRESS_API: '/newaddress', + TRANSACTIONS_API: '/transactions', PAYREQUEST_API: '/payreq', PAYMENTS_API: '/payments', INVOICES_API: '/invoices', diff --git a/src/environments/version.ts b/src/environments/version.ts index 55c269f6..30973ff7 100644 --- a/src/environments/version.ts +++ b/src/environments/version.ts @@ -1 +1 @@ -export const VERSION = '0.11.0-beta'; \ No newline at end of file +export const VERSION = '0.11.1-beta'; diff --git a/src/index.html b/src/index.html index edba680a..4f62ca56 100644 --- a/src/index.html +++ b/src/index.html @@ -4,14 +4,14 @@ RTL - - - - - - - - + + + + + + + + diff --git a/src/karma.conf.js b/src/karma.conf.js index cc14859f..c8d51b05 100644 --- a/src/karma.conf.js +++ b/src/karma.conf.js @@ -1,6 +1,3 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - module.exports = function (config) { config.set({ basePath: '', @@ -14,18 +11,18 @@ module.exports = function (config) { ], client: { jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` + timeoutInterval: 500 }, - clearContext: false // leave Jasmine Spec Runner output visible in browser + clearContext: false }, + files: [ + { pattern: '../node_modules/@angular/material/prebuilt-themes/indigo-pink.css', watched: true, included: true, served: true } + ], jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces + suppressAll: true }, coverageReporter: { - dir: require('path').join(__dirname, './coverage/RTL'), + dir: require('path').join(__dirname, '../coverage/RTL'), subdir: '.', reporters: [ { type: 'html' }, @@ -38,7 +35,7 @@ module.exports = function (config) { logLevel: config.LOG_INFO, autoWatch: true, browsers: ['Chrome'], - singleRun: false, + singleRun: true, restartOnFileChange: true }); }; diff --git a/src/main.ts b/src/main.ts index 864f4b4c..263bbf1b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-console */ import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; @@ -8,4 +9,5 @@ if (environment.production) { enableProdMode(); } -platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.log(err)); +platformBrowserDynamic().bootstrapModule(AppModule). + catch((err) => console.log(err)); diff --git a/src/polyfills.ts b/src/polyfills.ts index 51345741..1e379bab 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -14,19 +14,19 @@ * Learn more in https://angular.io/guide/browser-support */ -/*************************************************************************************************** +/** ************************************************************************************************* * BROWSER POLYFILLS */ /** IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. +// Import 'classlist.js'; // Run `npm install --save classlist.js`. /** * Web Animations `@angular/platform-browser/animations` * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. +// Import 'web-animations-js'; // Run `npm install --save web-animations-js`. /** * By default, zone.js will patch all possible macroTask and DomEvents @@ -52,14 +52,15 @@ * */ -/*************************************************************************************************** +/** ************************************************************************************************* * Zone JS is required by default for Angular itself. */ -import 'zone.js'; // Included with Angular CLI. +import 'zone.js'; -/*************************************************************************************************** +/** ************************************************************************************************* * APPLICATION IMPORTS */ -(window as any).global = window; -global.Buffer = global.Buffer || require('buffer').Buffer || []; +window.global = window; +window.global.Buffer = window.global.Buffer || require('buffer').Buffer; + diff --git a/src/prebuild.js b/src/prebuild.js index eb2e40cc..d6e5abde 100644 --- a/src/prebuild.js +++ b/src/prebuild.js @@ -1,12 +1,26 @@ const path = require('path'); const fs = require('fs'); +const os = require('os'); + const appVersion = require('../package.json').version; const versionFilePath = path.join(__dirname + '/environments/version.ts'); -const versionStr = `export const VERSION = '${appVersion}';`; -fs.writeFile(versionFilePath, versionStr, { flat: 'w' }, function (err) { - if (err) { - return console.error(err); - } - console.log(`Updating application version ${appVersion}`); - console.log(`${'Writing version module to '}${versionFilePath}\n`); -}); +const versionStr = 'export const VERSION = \'' + appVersion + '\';' + os.EOL; + +fs.writeFileSync(versionFilePath, versionStr, 'utf-8'); +console.log('\n\n============================================='); +console.log('Updating application version to ' + appVersion + '.'); +console.log('============================================='); + +const commonFilePath = path.join(__dirname, "..", "routes", "common.js"); +const commonFileData = fs.readFileSync(commonFilePath, 'utf-8'); +const commonFileLined = commonFileData.split(os.EOL); +const foundDataLine = commonFileLined.find(lineItem => lineItem.includes('common.read_dummy_data =') || lineItem.includes('common.read_dummy_data=')); +const foundDataLineIndex = commonFileLined.findIndex(lineItem => lineItem.includes('common.read_dummy_data =') || lineItem.includes('common.read_dummy_data=')); + +if (foundDataLine.includes('true')) { + commonFileLined[foundDataLineIndex] = 'common.read_dummy_data = false;'; + fs.writeFileSync(commonFilePath, commonFileLined.join(os.EOL), 'utf-8'); + console.log('\n=============================================================================================='); + console.log('WARNING: COMMON.JS HAS BEEN REWRITTEN TO UNSET THE DUMMY DATA FLAG. PLEASE RE-CHECK THE FILE.'); + console.log('==============================================================================================\n'); +} diff --git a/src/test.ts b/src/test.ts index a6f15af3..d61858aa 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,20 +1,16 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - +/* eslint-disable capitalized-comments */ import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; +import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; declare const require: any; - -// First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting() ); -// Then we find all the tests. + const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. +// const context = require.context('./app/lnd/transactions/send-payment-modal', true, /\.spec\.ts$/); +// const context = require.context('./app/store', true, /\.spec\.ts$/); + context.keys().map(context); diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json index c6b87132..b9bbfd6a 100644 --- a/src/tsconfig.spec.json +++ b/src/tsconfig.spec.json @@ -2,10 +2,13 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "baseUrl": "./", "outDir": "../out-tsc/spec", - "types": [ - "jasmine" - ] + "types": ["jasmine", "node"], + "paths": { + "crypto": ["../node_modules/crypto-browserify"], + "stream": ["../node_modules/stream-browserify"] + } }, "files": [ "./test.ts", diff --git a/tslint.json b/tslint.json deleted file mode 100644 index 277c8eba..00000000 --- a/tslint.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "extends": "tslint:recommended", - "rulesDirectory": [ - "codelyzer" - ], - "rules": { - "align": { - "options": [ - "parameters", - "statements" - ] - }, - "array-type": false, - "arrow-return-shorthand": true, - "curly": true, - "deprecation": { - "severity": "warning" - }, - "eofline": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": { - "options": [ - "spaces" - ] - }, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-empty": false, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "quotemark": [ - true, - "single" - ], - "semicolon": { - "options": [ - "always" - ] - }, - "space-before-function-paren": { - "options": { - "anonymous": "never", - "asyncArrow": "always", - "constructor": "never", - "method": "never", - "named": "never" - } - }, - "typedef": [ - true, - "call-signature" - ], - "typedef-whitespace": { - "options": [ - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }, - { - "call-signature": "onespace", - "index-signature": "onespace", - "parameter": "onespace", - "property-declaration": "onespace", - "variable-declaration": "onespace" - } - ] - }, - "variable-name": { - "options": [ - "ban-keywords", - "check-format", - "allow-pascal-case" - ] - }, - "whitespace": { - "options": [ - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type", - "check-typecast" - ] - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true, - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ] - } -}
Creation Date @@ -66,10 +66,11 @@ -

No payments available.

+

No payment available.

+

Getting payments...

+

{{errorMessage}}

diff --git a/src/app/lnd/transactions/payments/lightning-payments.component.ts b/src/app/lnd/transactions/payments/lightning-payments.component.ts index 61d7e64e..a4d5d4c0 100644 --- a/src/app/lnd/transactions/payments/lightning-payments.component.ts +++ b/src/app/lnd/transactions/payments/lightning-payments.component.ts @@ -5,18 +5,20 @@ import { takeUntil, take } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faHistory } from '@fortawesome/free-solid-svg-icons'; -import { MatPaginatorIntl } from '@angular/material/paginator'; +import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { GetInfo, Payment, PayRequest, PaymentHTLC, Peer, Hop } from '../../../shared/models/lndModels'; -import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES } from '../../../shared/services/consts-enums-functions'; +import { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, APICallStatusEnum, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { LoggerService } from '../../../shared/services/logger.service'; import { CommonService } from '../../../shared/services/common.service'; import { DataService } from '../../../shared/services/data.service'; +import { ApiCallsListLND } from '../../../shared/models/apiCallsPayload'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { LightningSendPaymentsComponent } from '../send-payment-modal/send-payment.component'; import { newlyAddedRowAnimation } from '../../../shared/animation/row-animation'; + import { LNDEffects } from '../../store/lnd.effects'; import { RTLEffects } from '../../../store/rtl.effects'; import * as LNDActions from '../../store/lnd.actions'; @@ -30,17 +32,18 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; animations: [newlyAddedRowAnimation], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Payments') } - ] + ] }) export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDestroy { - @Input() calledFrom = 'transactions'; // transactions/home - @ViewChild('sendPaymentForm', { static: false }) form; //static should be false due to ngIf on form element - @ViewChild(MatSort, {static: false}) sort: MatSort|undefined; + + @Input() calledFrom = 'transactions'; // Transactions/home + @ViewChild('sendPaymentForm', { static: false }) form; // Static should be false due to ngIf on form element + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; public faHistory = faHistory; public newlyAddedPayment = ''; public flgAnimate = true; public selNode: SelNodeChild = {}; - public flgLoading: Array = [true]; public information: GetInfo = {}; public peers: Peer[] = []; public payments: any; @@ -58,19 +61,22 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest public pageSizeOptions = PAGE_SIZE_OPTIONS; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public errorMessage = ''; + public apisCallStatus: ApiCallsListLND = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private commonService: CommonService, private dataService: DataService, private store: Store, private rtlEffects: RTLEffects, private lndEffects: LNDEffects, private decimalPipe: DecimalPipe, private datePipe: DatePipe) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'fee', 'actions']; this.htlcColumns = ['groupTotal', 'groupFee', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'fee', 'value', 'hops', 'actions']; this.htlcColumns = ['groupTotal', 'groupFee', 'groupValue', 'groupHops', 'groupAction']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['creation_date', 'fee', 'value', 'hops', 'actions']; this.htlcColumns = ['groupTotal', 'groupFee', 'groupValue', 'groupHops', 'groupAction']; @@ -82,30 +88,31 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest } ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrors.forEach(effectsErr => { - if (effectsErr.action === 'FetchPayments') { - this.flgLoading[0] = 'error'; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.errorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.FetchPayments.status === APICallStatusEnum.ERROR) { + this.errorMessage = (typeof (this.apisCallStatus.FetchPayments.message) === 'object') ? JSON.stringify(this.apisCallStatus.FetchPayments.message) : this.apisCallStatus.FetchPayments.message; } + this.information = rtlStore.information; + this.selNode = rtlStore.nodeSettings; + this.peers = rtlStore.peers; + this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.payments && rtlStore.payments.payments.length > 0) ? rtlStore.payments.payments : []; + this.totalPayments = rtlStore.allLightningTransactions.paymentsAll && rtlStore.allLightningTransactions.paymentsAll.payments && rtlStore.allLightningTransactions.paymentsAll.payments.length ? rtlStore.allLightningTransactions.paymentsAll.payments.length : 0; + this.firstOffset = +rtlStore.payments.first_index_offset; + this.lastOffset = +rtlStore.payments.last_index_offset; + if (this.paymentJSONArr && this.paymentJSONArr.length > 0 && this.sort && this.paginator) { + this.loadPaymentsTable(this.paymentJSONArr); + } else if (this.paymentJSONArr && this.paymentJSONArr.length === 0) { + this.payments = new MatTableDataSource([]); + } + setTimeout(() => { + this.flgAnimate = false; + }, 3000); + this.logger.info(rtlStore); }); - this.information = rtlStore.information; - this.selNode = rtlStore.nodeSettings; - this.peers = rtlStore.peers; - this.paymentJSONArr = (rtlStore.payments && rtlStore.payments.payments && rtlStore.payments.payments.length > 0) ? rtlStore.payments.payments : []; - this.totalPayments = rtlStore.allLightningTransactions.paymentsAll && rtlStore.allLightningTransactions.paymentsAll.payments && rtlStore.allLightningTransactions.paymentsAll.payments.length ? rtlStore.allLightningTransactions.paymentsAll.payments.length : 0; - this.firstOffset = +rtlStore.payments.first_index_offset; - this.lastOffset = +rtlStore.payments.last_index_offset; - if (this.paymentJSONArr && this.paymentJSONArr.length > 0) { - this.loadPaymentsTable(this.paymentJSONArr); - } - setTimeout(() => { this.flgAnimate = false; }, 3000); - if (this.flgLoading[0] !== 'error') { - this.flgLoading[0] = ( this.paymentJSONArr) ? false : true; - } - this.logger.info(rtlStore); - }); } ngAfterViewInit() { @@ -114,27 +121,28 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest } } - onSendPayment():boolean|void { - if(!this.paymentRequest) { return true; } - if ( this.paymentDecoded.timestamp) { + onSendPayment(): boolean | void { + if (!this.paymentRequest) { + return true; + } + if (this.paymentDecoded.timestamp) { this.sendPayment(); } else { - this.dataService.decodePayment(this.paymentRequest, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.timestamp) { - if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { - this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); + this.dataService.decodePayment(this.paymentRequest, false). + pipe(take(1)).subscribe((decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.timestamp) { + if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { + this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); + } else { + this.paymentDecoded.num_satoshis = '0'; + } + this.sendPayment(); } else { - this.paymentDecoded.num_satoshis = '0'; + this.resetData(); } - this.sendPayment(); - } else { - this.resetData(); - } - }); + }); } - } sendPayment() { @@ -143,17 +151,18 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); } - if (!this.paymentDecoded.num_satoshis || this.paymentDecoded.num_satoshis === '' || this.paymentDecoded.num_satoshis === '0') { - const reorderedPaymentDecoded = [ - [{key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100}], - [{key: 'destination', value: this.paymentDecoded.destination, title: 'Destination', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME}, - {key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'cltv_expiry', value: this.paymentDecoded.cltv_expiry, title: 'CLTV Expiry', width: 30}] - ]; - const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { + if (!this.paymentDecoded.num_satoshis || this.paymentDecoded.num_satoshis === '' || this.paymentDecoded.num_satoshis === '0') { + const reorderedPaymentDecoded = [ + [{ key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100 }], + [{ key: 'destination', value: this.paymentDecoded.destination, title: 'Destination', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 40, type: DataTypeEnum.DATE_TIME }, + { key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'cltv_expiry', value: this.paymentDecoded.cltv_expiry, title: 'CLTV Expiry', width: 30 }] + ]; + const titleMsg = 'It is a zero amount invoice. Enter the amount (Sats) to pay.'; + this.store.dispatch(new RTLActions.OpenConfirmation({ + data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Enter Amount and Confirm Send Payment', titleMessage: titleMsg, @@ -162,78 +171,85 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest yesBtnText: 'Send Payment', flgShowInput: true, getInputs: [ - {placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30} + { placeholder: 'Amount (Sats)', inputType: DataTypeEnum.NUMBER.toLowerCase(), inputValue: '', width: 30 } ] - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { + } + })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { if (confirmRes) { this.paymentDecoded.num_satoshis = confirmRes[0].inputValue; - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new LNDActions.SendPayment({paymentReq: this.paymentRequest, paymentAmount: confirmRes[0].inputValue, fromDialog: false})); + this.store.dispatch(new LNDActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, paymentReq: this.paymentRequest, paymentAmount: confirmRes[0].inputValue, fromDialog: false })); this.resetData(); } }); } else { const reorderedPaymentDecoded = [ - [{key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100}], - [{key: 'destination', value: this.paymentDecoded.destination, title: 'Destination', width: 100}], - [{key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100}], - [{key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'num_satoshis', value: this.paymentDecoded.num_satoshis, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'cltv_expiry', value: this.paymentDecoded.cltv_expiry, title: 'CLTV Expiry', width: 50}] + [{ key: 'payment_hash', value: this.paymentDecoded.payment_hash, title: 'Payment Hash', width: 100 }], + [{ key: 'destination', value: this.paymentDecoded.destination, title: 'Destination', width: 100 }], + [{ key: 'description', value: this.paymentDecoded.description, title: 'Description', width: 100 }], + [{ key: 'timestamp', value: this.paymentDecoded.timestamp, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'num_satoshis', value: this.paymentDecoded.num_satoshis, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'expiry', value: this.paymentDecoded.expiry, title: 'Expiry', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'cltv_expiry', value: this.paymentDecoded.cltv_expiry, title: 'CLTV Expiry', width: 50 }] ]; - this.store.dispatch(new RTLActions.OpenConfirmation({ data: { - type: AlertTypeEnum.CONFIRM, - alertTitle: 'Confirm Send Payment', - noBtnText: 'Cancel', - yesBtnText: 'Send Payment', - message: reorderedPaymentDecoded - }})); - this.rtlEffects.closeConfirm - .pipe(take(1)) - .subscribe(confirmRes => { - if (confirmRes) { - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - this.store.dispatch(new LNDActions.SendPayment({paymentReq: this.paymentRequest, fromDialog: false})); - this.resetData(); + this.store.dispatch(new RTLActions.OpenConfirmation({ + data: { + type: AlertTypeEnum.CONFIRM, + alertTitle: 'Confirm Send Payment', + noBtnText: 'Cancel', + yesBtnText: 'Send Payment', + message: reorderedPaymentDecoded } - }); + })); + this.rtlEffects.closeConfirm. + pipe(take(1)). + subscribe((confirmRes) => { + if (confirmRes) { + this.store.dispatch(new LNDActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, paymentReq: this.paymentRequest, fromDialog: false })); + this.resetData(); + } + }); } } openSendPaymentModal() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - component: LightningSendPaymentsComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + component: LightningSendPaymentsComponent + } + })); } onPaymentRequestEntry(event: any) { this.paymentRequest = event; this.paymentDecodedHint = ''; - if(this.paymentRequest && this.paymentRequest.length > 100) { - this.dataService.decodePayment(this.paymentRequest, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { - this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); - } - if(this.paymentDecoded.num_satoshis) { - this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - if(this.selNode.fiatConversion) { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis ? this.paymentDecoded.num_satoshis : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + if (this.paymentRequest && this.paymentRequest.length > 100) { + this.dataService.decodePayment(this.paymentRequest, false). + pipe(take(1)).subscribe((decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { + this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); + } + if (this.paymentDecoded.num_satoshis) { + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ + next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis ? this.paymentDecoded.num_satoshis : 0) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + this.paymentDecoded.description; + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis ? this.paymentDecoded.num_satoshis : 0) + ' Sats | Memo: ' + this.paymentDecoded.description + '. Unable to convert currency.'; + } + }); } else { this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis ? this.paymentDecoded.num_satoshis : 0) + ' Sats | Memo: ' + this.paymentDecoded.description; } - }); - } else { - this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; - } - }); + } else { + this.paymentDecodedHint = 'Zero Amount Invoice | Memo: ' + this.paymentDecoded.description; + } + }); } } @@ -255,12 +271,12 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest index_offset = 0; page_size = event.length - (event.pageIndex * event.pageSize); } - this.store.dispatch(new LNDActions.FetchPayments({max_payments: page_size, index_offset: index_offset, reversed: reverse})); + this.store.dispatch(new LNDActions.FetchPayments({ max_payments: page_size, index_offset: index_offset, reversed: reverse })); } is_group(index: number, payment: Payment) { return payment.htlcs && payment.htlcs.length > 1; - } + } resetData() { this.paymentDecoded = {}; @@ -269,17 +285,17 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest } getHopDetails(hops: Hop[]) { - let self = this; - return hops.reduce(function (accumulator, currentHop) { - let peerFound = self.peers.find(peer => peer.pub_key === currentHop.pub_key); + const self = this; + return hops.reduce((accumulator, currentHop) => { + const peerFound = self.peers.find((peer) => peer.pub_key === currentHop.pub_key); if (peerFound && peerFound.alias) { accumulator.push('
Channel: ' + peerFound.alias.padEnd(20) + '			Amount (Sats): ' + self.decimalPipe.transform(currentHop.amt_to_forward) + '
'); } else { - self.dataService.getAliasesFromPubkeys(currentHop.pub_key, false) - .pipe(takeUntil(self.unSubs[1])) - .subscribe((res: any) => { - accumulator.push('
Channel: ' + (res.node && res.node.alias ? res.node.alias.padEnd(20) : (currentHop.pub_key.substring(0, 17) + '...')) + '			Amount (Sats): ' + self.decimalPipe.transform(currentHop.amt_to_forward) + '
'); - }); + self.dataService.getAliasesFromPubkeys(currentHop.pub_key, false). + pipe(takeUntil(self.unSubs[1])). + subscribe((res: any) => { + accumulator.push('
Channel: ' + (res.node && res.node.alias ? res.node.alias.padEnd(20) : (currentHop.pub_key.substring(0, 17) + '...')) + '			Amount (Sats): ' + self.decimalPipe.transform(currentHop.amt_to_forward) + '
'); + }); } return accumulator; }, []); @@ -287,12 +303,14 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest onHTLCClick(selHtlc: PaymentHTLC, selPayment: Payment) { if (selPayment.payment_request && selPayment.payment_request.trim() !== '') { - this.dataService.decodePayment(selPayment.payment_request, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.showHTLCView(selHtlc, selPayment, decodedPayment); - }, (error) => { - this.showHTLCView(selHtlc, selPayment, null); - }); + this.dataService.decodePayment(selPayment.payment_request, false). + pipe(take(1)).subscribe({ + next: (decodedPayment: PayRequest) => { + this.showHTLCView(selHtlc, selPayment, decodedPayment); + }, error: (error) => { + this.showHTLCView(selHtlc, selPayment, null); + } + }); } else { this.showHTLCView(selHtlc, selPayment, null); } @@ -300,36 +318,38 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest showHTLCView(selHtlc: PaymentHTLC, selPayment: Payment, decodedPayment?: PayRequest) { const reorderedHTLC = [ - [{key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'preimage', value: selHtlc.preimage, title: 'Preimage', width: 100, type: DataTypeEnum.STRING}], - [{key: 'payment_request', value: selPayment.payment_request, title: 'Payment Request', width: 100, type: DataTypeEnum.STRING}], - [{key: 'status', value: selHtlc.status, title: 'Status', width: 33, type: DataTypeEnum.STRING}, - {key: 'attempt_time_ns', value: +selHtlc.attempt_time_ns / 1000000000, title: 'Attempt Time', width: 33, type: DataTypeEnum.DATE_TIME}, - {key: 'resolve_time_ns', value: +selHtlc.resolve_time_ns / 1000000000, title: 'Resolve Time', width: 34, type: DataTypeEnum.DATE_TIME}], - [{key: 'total_amt', value: selHtlc.route.total_amt, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'total_fees', value: selHtlc.route.total_fees, title: 'Fee (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'total_time_lock', value: selHtlc.route.total_time_lock, title: 'Total Time Lock', width: 34, type: DataTypeEnum.NUMBER}], - [{key: 'hops', value: this.getHopDetails(selHtlc.route.hops), title: 'Hops', width: 100, type: DataTypeEnum.ARRAY}] + [{ key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'preimage', value: selHtlc.preimage, title: 'Preimage', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'payment_request', value: selPayment.payment_request, title: 'Payment Request', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'status', value: selHtlc.status, title: 'Status', width: 33, type: DataTypeEnum.STRING }, + { key: 'attempt_time_ns', value: +selHtlc.attempt_time_ns / 1000000000, title: 'Attempt Time', width: 33, type: DataTypeEnum.DATE_TIME }, + { key: 'resolve_time_ns', value: +selHtlc.resolve_time_ns / 1000000000, title: 'Resolve Time', width: 34, type: DataTypeEnum.DATE_TIME }], + [{ key: 'total_amt', value: selHtlc.route.total_amt, title: 'Amount (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'total_fees', value: selHtlc.route.total_fees, title: 'Fee (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'total_time_lock', value: selHtlc.route.total_time_lock, title: 'Total Time Lock', width: 34, type: DataTypeEnum.NUMBER }], + [{ key: 'hops', value: this.getHopDetails(selHtlc.route.hops), title: 'Hops', width: 100, type: DataTypeEnum.ARRAY }] ]; if (decodedPayment && decodedPayment.description && decodedPayment.description !== '') { - reorderedHTLC.splice(3, 0, [{key: 'description', value: decodedPayment.description, title: 'Description', width: 100, type: DataTypeEnum.STRING}]); + reorderedHTLC.splice(3, 0, [{ key: 'description', value: decodedPayment.description, title: 'Description', width: 100, type: DataTypeEnum.STRING }]); } - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'HTLC Information', - message: reorderedHTLC, - scrollable: selHtlc.route && selHtlc.route.hops && selHtlc.route.hops.length > 1 - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'HTLC Information', + message: reorderedHTLC, + scrollable: selHtlc.route && selHtlc.route.hops && selHtlc.route.hops.length > 1 + } + })); } onPaymentClick(selPayment: Payment) { if (selPayment.htlcs && selPayment.htlcs[0] && selPayment.htlcs[0].route && selPayment.htlcs[0].route.hops && selPayment.htlcs[0].route.hops.length > 0) { - let nodePubkeys = selPayment.htlcs[0].route.hops.reduce((pubkeys, hop) => { return pubkeys === '' ? hop.pub_key : pubkeys + ',' + hop.pub_key }, ''); - this.dataService.getAliasesFromPubkeys(nodePubkeys, true) - .pipe(takeUntil(this.unSubs[3])) - .subscribe((nodes: any) => { - this.showPaymentView(selPayment, nodes.reduce((pathAliases, node) => { return pathAliases === '' ? node : pathAliases + '\n' + node }, '')); - }); + const nodePubkeys = selPayment.htlcs[0].route.hops.reduce((pubkeys, hop) => (pubkeys === '' ? hop.pub_key : pubkeys + ',' + hop.pub_key), ''); + this.dataService.getAliasesFromPubkeys(nodePubkeys, true). + pipe(takeUntil(this.unSubs[3])). + subscribe((nodes: any) => { + this.showPaymentView(selPayment, nodes.reduce((pathAliases, node) => (pathAliases === '' ? node : pathAliases + '\n' + node), '')); + }); } else { this.showPaymentView(selPayment, ''); } @@ -337,35 +357,37 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest showPaymentView(selPayment: Payment, pathAliases: string) { const reorderedPayment = [ - [{key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING}], - [{key: 'payment_preimage', value: selPayment.payment_preimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING}], - [{key: 'payment_request', value: selPayment.payment_request, title: 'Payment Request', width: 100, type: DataTypeEnum.STRING}], - [{key: 'status', value: selPayment.status, title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'creation_date', value: selPayment.creation_date, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME}], - [{key: 'value_msat', value: selPayment.value_msat, title: 'Value (mSats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'fee_msat', value: selPayment.fee_msat, title: 'Fee (mSats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'path', value: pathAliases, title: 'Path', width: 100, type: DataTypeEnum.STRING}] + [{ key: 'payment_hash', value: selPayment.payment_hash, title: 'Payment Hash', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'payment_preimage', value: selPayment.payment_preimage, title: 'Payment Preimage', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'payment_request', value: selPayment.payment_request, title: 'Payment Request', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'status', value: selPayment.status, title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'creation_date', value: selPayment.creation_date, title: 'Creation Date', width: 50, type: DataTypeEnum.DATE_TIME }], + [{ key: 'value_msat', value: selPayment.value_msat, title: 'Value (mSats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'fee_msat', value: selPayment.fee_msat, title: 'Fee (mSats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'path', value: pathAliases, title: 'Path', width: 100, type: DataTypeEnum.STRING }] ]; if (selPayment.payment_request && selPayment.payment_request.trim() !== '') { - this.dataService.decodePayment(selPayment.payment_request, false) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - if (decodedPayment && decodedPayment.description && decodedPayment.description !== '') { - reorderedPayment.splice(3, 0, [{key: 'description', value: decodedPayment.description, title: 'Description', width: 100, type: DataTypeEnum.STRING}]); - } - this.openPaymentAlert(reorderedPayment, (selPayment.htlcs && selPayment.htlcs[0] && selPayment.htlcs[0].route && selPayment.htlcs[0].route.hops && selPayment.htlcs[0].route.hops.length > 1)); - }); + this.dataService.decodePayment(selPayment.payment_request, false). + pipe(take(1)).subscribe((decodedPayment: PayRequest) => { + if (decodedPayment && decodedPayment.description && decodedPayment.description !== '') { + reorderedPayment.splice(3, 0, [{ key: 'description', value: decodedPayment.description, title: 'Description', width: 100, type: DataTypeEnum.STRING }]); + } + this.openPaymentAlert(reorderedPayment, (selPayment.htlcs && selPayment.htlcs[0] && selPayment.htlcs[0].route && selPayment.htlcs[0].route.hops && selPayment.htlcs[0].route.hops.length > 1)); + }); } else { this.openPaymentAlert(reorderedPayment, false); } } openPaymentAlert(data: any, shouldScroll: boolean) { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: 'Payment Information', - message: data, - scrollable: shouldScroll - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: 'Payment Information', + message: data, + scrollable: shouldScroll + } + })); } applyFilter(selFilter: any) { @@ -377,46 +399,46 @@ export class LightningPaymentsComponent implements OnInit, AfterViewInit, OnDest this.payments.sortingDataAccessor = (data: any, sortHeaderId: string) => { switch (sortHeaderId) { case 'hops': - return (data.htlcs.length && data.htlcs[0] && data.htlcs[0].route && data.htlcs[0].route.hops && data.htlcs[0].route.hops.length ) ? data.htlcs[0].route.hops.length : 0; + return (data.htlcs.length && data.htlcs[0] && data.htlcs[0].route && data.htlcs[0].route.hops && data.htlcs[0].route.hops.length) ? data.htlcs[0].route.hops.length : 0; - default: + default: return (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; } - } + }; this.payments.sort = this.sort; this.payments.filterPredicate = (payment: Payment, fltr: string) => { - const newPayment = ((payment.creation_date) ? this.datePipe.transform(new Date(payment.creation_date*1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(payment).toLowerCase(); - return newPayment.includes(fltr); + const newPayment = ((payment.creation_date) ? this.datePipe.transform(new Date(payment.creation_date * 1000), 'dd/MMM/YYYY HH:mm').toLowerCase() : '') + JSON.stringify(payment).toLowerCase(); + return newPayment.includes(fltr); }; } onDownloadCSV() { - if(this.payments.data && this.payments.data.length > 0) { - let paymentsDataCopy = JSON.parse(JSON.stringify(this.payments.data)); - let paymentRequests = paymentsDataCopy.reduce((paymentReqs, payment) => { + if (this.payments.data && this.payments.data.length > 0) { + const paymentsDataCopy = JSON.parse(JSON.stringify(this.payments.data)); + const paymentRequests = paymentsDataCopy.reduce((paymentReqs, payment) => { if (payment.payment_request && payment.payment_request.trim() !== '') { paymentReqs = (paymentReqs === '') ? payment.payment_request : paymentReqs + ',' + payment.payment_request; } return paymentReqs; }, ''); - this.dataService.decodePayments(paymentRequests) - .pipe(takeUntil(this.unSubs[4])) - .subscribe((decodedPayments: PayRequest[]) => { - let increament = 0; - decodedPayments.forEach((decodedPayment, idx) => { - while (paymentsDataCopy[idx + increament].payment_hash !== decodedPayment.payment_hash) { - increament = increament + 1; - } - paymentsDataCopy[idx + increament].description = decodedPayment.description; + this.dataService.decodePayments(paymentRequests). + pipe(takeUntil(this.unSubs[4])). + subscribe((decodedPayments: PayRequest[]) => { + let increament = 0; + decodedPayments.forEach((decodedPayment, idx) => { + while (paymentsDataCopy[idx + increament].payment_hash !== decodedPayment.payment_hash) { + increament = increament + 1; + } + paymentsDataCopy[idx + increament].description = decodedPayment.description; + }); + const flattenedPayments = paymentsDataCopy.reduce((acc, curr) => acc.concat(curr), []); + this.commonService.downloadFile(flattenedPayments, 'Payments'); }); - let flattenedPayments = paymentsDataCopy.reduce((acc, curr) => acc.concat(curr), []); - this.commonService.downloadFile(flattenedPayments, 'Payments'); - }); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/transactions/query-routes/query-routes.component.html b/src/app/lnd/transactions/query-routes/query-routes.component.html index ee6dc330..0b659bf6 100644 --- a/src/app/lnd/transactions/query-routes/query-routes.component.html +++ b/src/app/lnd/transactions/query-routes/query-routes.component.html @@ -17,7 +17,7 @@ -
+
Transaction Route diff --git a/src/app/lnd/transactions/query-routes/query-routes.component.spec.ts b/src/app/lnd/transactions/query-routes/query-routes.component.spec.ts index f0863e48..a1f73de6 100644 --- a/src/app/lnd/transactions/query-routes/query-routes.component.spec.ts +++ b/src/app/lnd/transactions/query-routes/query-routes.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; import { QueryRoutesComponent } from './query-routes.component'; +import { mockDataService, mockLoggerService, mockLNDEffects } from '../../../shared/test-helpers/mock-services'; +import { LNDEffects } from '../../store/lnd.effects'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; describe('QueryRoutesComponent', () => { let component: QueryRoutesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ QueryRoutesComponent ] - }) - .compileComponents(); + declarations: [QueryRoutesComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: LNDEffects, useClass: mockLNDEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('QueryRoutesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/transactions/query-routes/query-routes.component.ts b/src/app/lnd/transactions/query-routes/query-routes.component.ts index 49b73d68..41f18e55 100644 --- a/src/app/lnd/transactions/query-routes/query-routes.component.ts +++ b/src/app/lnd/transactions/query-routes/query-routes.component.ts @@ -3,13 +3,13 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faRoute, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; - import { CommonService } from '../../../shared/services/common.service'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; -import { Hop } from '../../../shared/models/lndModels'; +import { Hop } from '../../../shared/models/lndModels'; import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum } from '../../../shared/services/consts-enums-functions'; + import { LNDEffects } from '../../store/lnd.effects'; import * as LNDActions from '../../store/lnd.actions'; import * as RTLActions from '../../../store/rtl.actions'; @@ -21,6 +21,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./query-routes.component.scss'] }) export class QueryRoutesComponent implements OnInit, OnDestroy { + @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; public destinationPubkey = ''; public amount = null; @@ -36,13 +37,13 @@ export class QueryRoutesComponent implements OnInit, OnDestroy { constructor(private store: Store, private lndEffects: LNDEffects, private commonService: CommonService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['pubkey_alias', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['hop_sequence', 'pubkey_alias', 'fee_msat', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['hop_sequence', 'pubkey_alias', 'chan_capacity', 'amt_to_forward_msat', 'fee_msat', 'actions']; } else { @@ -52,27 +53,29 @@ export class QueryRoutesComponent implements OnInit, OnDestroy { } ngOnInit() { - this.lndEffects.setQueryRoutes - .pipe(takeUntil(this.unSubs[1])) - .subscribe(queryRoute => { - this.qrHops = new MatTableDataSource([]); - this.qrHops.data = []; - if ( queryRoute.routes && queryRoute.routes[0].hops) { - this.flgLoading[0] = false; - this.qrHops = new MatTableDataSource([...queryRoute.routes[0].hops]); - this.qrHops.data = queryRoute.routes[0].hops; - } else { - this.flgLoading[0] = 'error'; - } - this.qrHops.sort = this.sort; - this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; - }); + this.lndEffects.setQueryRoutes. + pipe(takeUntil(this.unSubs[1])). + subscribe((queryRoute) => { + this.qrHops = new MatTableDataSource([]); + if (queryRoute.routes && queryRoute.routes[0].hops) { + this.flgLoading[0] = false; + this.qrHops = new MatTableDataSource([...queryRoute.routes[0].hops]); + this.qrHops.data = queryRoute.routes[0].hops; + } else { + this.flgLoading[0] = 'error'; + } + this.qrHops.sort = this.sort; + this.qrHops.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); + }); } - onQueryRoutes():boolean|void { - if(!this.destinationPubkey || !this.amount) { return true; } + onQueryRoutes(): boolean|void { + if (!this.destinationPubkey || !this.amount) { + return true; + } + this.qrHops = new MatTableDataSource([]); this.flgLoading[0] = true; - this.store.dispatch(new LNDActions.GetQueryRoutes({destPubkey: this.destinationPubkey, amount: this.amount})); + this.store.dispatch(new LNDActions.GetQueryRoutes({ destPubkey: this.destinationPubkey, amount: this.amount })); } resetData() { @@ -83,24 +86,24 @@ export class QueryRoutesComponent implements OnInit, OnDestroy { onHopClick(selHop: Hop, event: any) { const reorderedHop = [ - [{key: 'hop_sequence', value: selHop.hop_sequence, title: 'Sequence', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'amt_to_forward', value: selHop.amt_to_forward, title: 'Amount To Forward (Sats)', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'fee_msat', value: selHop.fee_msat, title: 'Fee (mSats)', width: 40, type: DataTypeEnum.NUMBER}], - [{key: 'pubkey_alias', value: selHop.pubkey_alias, title: 'Peer Alias', width: 30, type: DataTypeEnum.STRING}, - {key: 'pub_key', value: selHop.pub_key, title: 'Peer Pubkey', width: 70, type: DataTypeEnum.STRING}], - [{key: 'expiry', value: selHop.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER}, - {key: 'chan_id', value: selHop.chan_id, title: 'Channel ID', width: 30, type: DataTypeEnum.STRING}, - {key: 'chan_capacity', value: selHop.chan_capacity, title: 'Channel Capacity', width: 40, type: DataTypeEnum.NUMBER}], + [{ key: 'hop_sequence', value: selHop.hop_sequence, title: 'Sequence', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'amt_to_forward', value: selHop.amt_to_forward, title: 'Amount To Forward (Sats)', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'fee_msat', value: selHop.fee_msat, title: 'Fee (mSats)', width: 40, type: DataTypeEnum.NUMBER }], + [{ key: 'pubkey_alias', value: selHop.pubkey_alias, title: 'Peer Alias', width: 30, type: DataTypeEnum.STRING }, + { key: 'pub_key', value: selHop.pub_key, title: 'Peer Pubkey', width: 70, type: DataTypeEnum.STRING }], + [{ key: 'expiry', value: selHop.expiry, title: 'Expiry', width: 30, type: DataTypeEnum.NUMBER }, + { key: 'chan_id', value: selHop.chan_id, title: 'Channel ID', width: 30, type: DataTypeEnum.STRING }, + { key: 'chan_capacity', value: selHop.chan_capacity, title: 'Channel Capacity', width: 40, type: DataTypeEnum.NUMBER }] ]; this.store.dispatch(new RTLActions.OpenAlert({ data: { type: AlertTypeEnum.INFORMATION, alertTitle: 'Route Information', message: reorderedHop - }})); + } })); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/transactions/send-payment-modal/send-payment.component.html b/src/app/lnd/transactions/send-payment-modal/send-payment.component.html index 91804a65..66d58aa6 100644 --- a/src/app/lnd/transactions/send-payment-modal/send-payment.component.html +++ b/src/app/lnd/transactions/send-payment-modal/send-payment.component.html @@ -19,7 +19,7 @@ It is a zero amount invoice, enter amount to be paid. Payment amount is required. - + {{advancedTitle}} @@ -38,11 +38,11 @@ {{selFeeLimitType.placeholder}} is required. - - - {{activeChannel.remote_alias || activeChannel.chan_id}} - - + + + {{activeChannel.remote_alias || activeChannel.chan_id}} + + Channel not found in the list.
diff --git a/src/app/lnd/transactions/send-payment-modal/send-payment.component.spec.ts b/src/app/lnd/transactions/send-payment-modal/send-payment.component.spec.ts new file mode 100644 index 00000000..31037d7f --- /dev/null +++ b/src/app/lnd/transactions/send-payment-modal/send-payment.component.spec.ts @@ -0,0 +1,222 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { of } from 'rxjs'; +import { Store, StoreModule } from '@ngrx/store'; + +import { CommonService } from '../../../shared/services/common.service'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LightningSendPaymentsComponent } from './send-payment.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockMatDialogRef, mockRTLEffects } from '../../../shared/test-helpers/mock-services'; +import { LoggerService } from '../../../shared/services/logger.service'; +import { SharedModule } from '../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../shared/services/data.service'; +import { MatDialogRef } from '@angular/material/dialog'; +import { EffectsModule } from '@ngrx/effects'; +import { FEE_LIMIT_TYPES, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; +import { mockRTLStoreState } from '../../../shared/test-helpers/test-data'; + +import * as RTLActions from '../../../store/rtl.actions'; +import * as fromRTLReducer from '../../../store/rtl.reducers'; +import * as LNDActions from '../../store/lnd.actions'; + +describe('LightningSendPaymentsComponent', () => { + let component: LightningSendPaymentsComponent; + let fixture: ComponentFixture; + let commonService: CommonService; + let store: Store; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LightningSendPaymentsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LightningSendPaymentsComponent); + component = fixture.componentInstance; + commonService = fixture.debugElement.injector.get(CommonService); + store = fixture.debugElement.injector.get(Store); + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + it('should get lnd store value on ngOnInit', () => { + const storeSpy = spyOn(store, 'select').and.returnValue(of(mockRTLStoreState.lnd)); + component.ngOnInit(); + expect(component.selNode.lnImplementation).toBe('LND'); + expect(storeSpy).toHaveBeenCalledTimes(1); + }); + + it('should send payment buttons work as expected', () => { + const storeSpy = spyOn(store, 'dispatch').and.callThrough(); + component.zeroAmtInvoice = true; + component.paymentAmount = 600; + component.paymentRequest = 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3'; + component.paymentDecoded = { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', timestamp: '1623624612', expiry: '3600', + description: 'Testing ngrx Effects 4', description_hash: '', fallback_addr: '', cltv_expiry: '10', route_hints: [{ hop_hints: [{ node_id: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', chan_id: '2166413939696009216', fee_base_msat: 1000, fee_proportional_millionths: 1, cltv_expiry_delta: 40 }] }], + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', num_msat: '400000', features: { 9: { name: 'tlv-onion', is_required: false, is_known: true }, 15: { name: 'payment-addr', is_required: false, is_known: true }, 17: { name: 'multi-path-payments', is_required: false, is_known: true } } + }; + const sendButton = fixture.debugElement.nativeElement.querySelector('.mat-flat-button'); + sendButton.click(); + const expectedSendPaymentPayload = { + uiMessage: UI_MESSAGES.SEND_PAYMENT, outgoingChannel: null, feeLimitType: { id: 'none', name: 'No Fee Limit' }, feeLimit: null, fromDialog: true, + paymentReq: 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3' + }; + expect(storeSpy.calls.all()[0].args[0]).toEqual(new LNDActions.SendPayment(expectedSendPaymentPayload)); + expect(storeSpy).toHaveBeenCalledTimes(1); + }); + + it('should reset the component', () => { + component.resetData(); + expect(component.paymentDecoded).toEqual({}); + expect(component.paymentRequest).toEqual(''); + expect(component.selectedChannelCtrl.value).toBe(null); + expect(component.filteredMinAmtActvChannels).toEqual(component.activeChannels); + expect(component.feeLimit).toBe(null); + expect(component.selFeeLimitType).toEqual(FEE_LIMIT_TYPES[0]); + expect(component.advancedTitle).toEqual('Advanced Options'); + expect(component.zeroAmtInvoice).toEqual(false); + expect(component.paymentReq.control.errors).toBe(null); + expect(component.paymentError).toEqual(''); + expect(component.paymentDecodedHint).toEqual(''); + }); + + it('should update title on advanced panel toggle', () => { + component.onAdvancedPanelToggle(true, false); + expect(component.advancedTitle).toContain('Advanced Options | '); + component.onAdvancedPanelToggle(false, false); + expect(component.advancedTitle).toContain('Advanced Options'); + }); + + it('should clear the payment decoded amount on amount change', () => { + component.paymentDecoded.num_satoshis = '400'; + component.onAmountChange({}); + expect(component.paymentDecoded.num_satoshis).toBeFalsy(); + }); + + it('should return from decode payment when pay request length is less than hundred ', () => { + component.onPaymentRequestEntry('lntb4u1psvdzaypp55'); + expect(component.paymentDecodedHint).toEqual(''); + }); + + it('should decode payment when pay request is for the zero amount invoice', () => { + component.zeroAmtInvoice = false; + component.paymentDecoded = {}; + component.paymentRequest = 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk'; + component.onPaymentRequestEntry(component.paymentRequest); + fixture.detectChanges(); + expect(component.zeroAmtInvoice).toBe(true); + expect(component.paymentDecodedHint).toEqual('Memo: Testing Empty Invoice for LND 3'); + expect(component.filteredMinAmtActvChannels).toEqual(component.activeChannels); + }); + + it('should NOT send payment when pay request is for zero amount invoice AND amount is not specified', () => { + spyOn(component, 'sendPayment').and.callThrough(); + component.onPaymentRequestEntry('lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk'); + expect(component.zeroAmtInvoice).toBe(true); + expect(component.paymentDecodedHint).toEqual('Memo: Testing Empty Invoice for LND 3'); + expect(component.filteredMinAmtActvChannels).toEqual(component.activeChannels); + expect(component.paymentAmount).toBeNull(); + component.onSendPayment(); + expect(component.sendPayment).not.toHaveBeenCalled(); + component.paymentAmount = 100; + component.onSendPayment(); + expect(component.sendPayment).toHaveBeenCalled(); + }); + + it('should decode payment when pay request changed and fiat conversion is true', () => { + component.selNode.fiatConversion = true; + component.selNode.currencyUnits[2] = 'USD'; + component.onPaymentRequestEntry('lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3'); + expect(component.paymentDecodedHint).toEqual('Sending: 400 Sats (USD 0.13) | Memo: Testing ngrx Effects 4'); + }); + + it('should decode payment when pay request changed and fiat conversion is false', () => { + component.selNode.fiatConversion = false; + component.onPaymentRequestEntry('lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3'); + expect(component.paymentDecodedHint).toEqual('Sending: 400 Sats | Memo: Testing ngrx Effects 4'); + }); + + it('should throw an error from decode payment when pay request is not found', () => { + component.onPaymentRequestEntry('p555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp3434dsfdsf'); + expect(component.paymentDecodedHint).toEqual('ERROR: Request Failed!'); + }); + + it('should convert Sats to USD by calling convertCurrency method from CommonService', () => { + commonService.convertCurrency(200000, 'Sats', 'OTHER', 'USD', true).subscribe((data) => { + expect(data.OTHER).toBe(66.87764); + }); + }); + + it('should send the payment when the payment is decoded', () => { + spyOn(component, 'sendPayment').and.callThrough(); + component.zeroAmtInvoice = true; + component.paymentAmount = 600; + component.paymentRequest = 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3'; + component.paymentDecoded = { + destination: '031844beb16bf8dd8c7bc30588b8c37b36e62b71c6e812e9b6d976c0a57e151be2', payment_hash: 'a53968453af7ab6fc58d229a91bdf23d7c121963067f06cf02e1a7b581852c07', timestamp: '1623624612', expiry: '3600', + description: 'Testing ngrx Effects 4', description_hash: '', fallback_addr: '', cltv_expiry: '10', route_hints: [{ hop_hints: [{ node_id: '028ec70462207b57e3d4d9332d9e0aee676c92d89b7c9fb0850fc2a24814d4d83c', chan_id: '2166413939696009216', fee_base_msat: 1000, fee_proportional_millionths: 1, cltv_expiry_delta: 40 }] }], + payment_addr: 'NIXNBEqCTmqw89joe0m71Z9MrkkBcF1t1ri+9BZehKw=', num_msat: '400000', features: { 9: { name: 'tlv-onion', is_required: false, is_known: true }, 15: { name: 'payment-addr', is_required: false, is_known: true }, 17: { name: 'multi-path-payments', is_required: false, is_known: true } } + }; + component.onSendPayment(); + expect(component.paymentDecoded.num_satoshis).toEqual('400'); + expect(component.zeroAmtInvoice).toBe(false); + expect(component.sendPayment).toHaveBeenCalledTimes(1); + }); + + it('should decode the payment when send payment clicked but payment is not decoded yet', () => { + const onPaymentRequestEntrySpy = spyOn(component, 'onPaymentRequestEntry').and.callThrough(); + component.zeroAmtInvoice = true; + component.paymentAmount = 600; + component.paymentRequest = 'lntb4u1psvdzaypp555uks3f6774kl3vdy2dfr00j847pyxtrqelsdnczuxnmtqv99srsdpy23jhxarfdenjqmn8wfuzq3txvejkxarnyq6qcqp2sp5xjzu6pz2sf8x4v8nmr58kjdm6k05etjfq9c96mwkhzl0g9j7sjkqrzjq28vwprzypa40c75myejm8s2aenkeykcnd7flvy9plp2yjq56nvrc8ss5cqqqzgqqqqqqqlgqqqqqqgq9q9qy9qsqpt6u4rwfrck3tmpn54kdxjx3xdch62t5wype2f44mmlar07y749xt9elhfhf6dnlfk2tjwg3qpy8njh6remphfcc0630aq38j0s3hrgpv4eel3'; + component.paymentDecoded = {}; + component.onSendPayment(); + expect(component.paymentDecoded.num_satoshis).toEqual('400'); + expect(component.zeroAmtInvoice).toBe(false); + expect(onPaymentRequestEntrySpy).toHaveBeenCalledTimes(1); + }); + + it('should decode the zero amount payment when send payment clicked but payment is not decoded yet', () => { + const onPaymentRequestEntrySpy = spyOn(component, 'onPaymentRequestEntry').and.callThrough(); + component.zeroAmtInvoice = false; + component.paymentRequest = 'lntb1ps8neg8pp5u897fhxxzg068jzt59tgqe458jt7srjtd6k93x4t9ts3hqdkd2nsdpj23jhxarfdenjq3tdwp68jgzfdemx76trv5sxvmmjypxyu3pqxvxqyd9uqcqp2sp5feg8wftf3fasmp2fe86kehyqfat2xcrjvunare7rrn28yjdrw8yqrzjq2m42d94jc8fxjzq675cmhr7fpjg0vr6238xutxp9p78yeaucwjfjxgpcuqqqxsqqyqqqqlgqqqqqqgq9q9qy9qsqwf6a4w9uqthm3aslwt03ucqt03e8j2atxrmt022d5kaw65cmqc3pnghz5xmsh2tlz9syhaulrxtwmvh3gdx9j33gec6yrycwh2g05qgqdnftgk'; + component.paymentDecoded = {}; + component.onSendPayment(); + fixture.detectChanges(); + expect(component.zeroAmtInvoice).toBe(true); + expect(component.filteredMinAmtActvChannels).toEqual(component.activeChannels); + expect(onPaymentRequestEntrySpy).toHaveBeenCalledTimes(1); + }); + + it('should complete subscriptions on ngOnDestroy', () => { + const spy = spyOn(component['unSubs'][1], 'complete'); + component.ngOnDestroy(); + expect(spy).toHaveBeenCalledTimes(1); + }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); +}); diff --git a/src/app/lnd/transactions/send-payment-modal/send-payment.component.ts b/src/app/lnd/transactions/send-payment-modal/send-payment.component.ts index 4bcfd795..d00c2611 100644 --- a/src/app/lnd/transactions/send-payment-modal/send-payment.component.ts +++ b/src/app/lnd/transactions/send-payment-modal/send-payment.component.ts @@ -1,8 +1,8 @@ import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; -import { NgModel } from '@angular/forms'; +import { FormControl, NgModel } from '@angular/forms'; import { DecimalPipe } from '@angular/common'; import { Subject } from 'rxjs'; -import { take, takeUntil, filter } from 'rxjs/operators'; +import { take, takeUntil, filter, startWith, map, subscribeOn } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { Actions } from '@ngrx/effects'; import { MatDialogRef } from '@angular/material/dialog'; @@ -10,21 +10,21 @@ import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { SelNodeChild } from '../../../shared/models/RTLconfig'; import { PayRequest, Channel } from '../../../shared/models/lndModels'; -import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES } from '../../../shared/services/consts-enums-functions'; +import { APICallStatusEnum, CurrencyUnitEnum, CURRENCY_UNIT_FORMATS, FEE_LIMIT_TYPES, UI_MESSAGES } from '../../../shared/services/consts-enums-functions'; import { CommonService } from '../../../shared/services/common.service'; import { LoggerService } from '../../../shared/services/logger.service'; import { DataService } from '../../../shared/services/data.service'; import * as LNDActions from '../../store/lnd.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ selector: 'rtl-lightning-send-payments', templateUrl: './send-payment.component.html', - styleUrls: ['./send-payment.component.scss'], + styleUrls: ['./send-payment.component.scss'] }) export class LightningSendPaymentsComponent implements OnInit, OnDestroy { + @ViewChild('paymentReq', { static: false }) paymentReq: NgModel; public faExclamationTriangle = faExclamationTriangle; public selNode: SelNodeChild = {}; @@ -34,80 +34,96 @@ export class LightningSendPaymentsComponent implements OnInit, OnDestroy { public paymentRequest = ''; public paymentDecodedHint = ''; public showAdvanced = false; - public selActiveChannel: Channel = {}; public activeChannels = []; - public filteredMinAmtActvChannels = []; + public filteredMinAmtActvChannels: Channel[] = []; + public selectedChannelCtrl = new FormControl(); public feeLimit = null; public selFeeLimitType = FEE_LIMIT_TYPES[0]; public feeLimitTypes = FEE_LIMIT_TYPES; public advancedTitle = 'Advanced Options'; public paymentError = ''; - private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; + private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(public dialogRef: MatDialogRef, private store: Store, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions$: Actions, private dataService: DataService) {} + constructor(public dialogRef: MatDialogRef, private store: Store, private logger: LoggerService, private commonService: CommonService, private decimalPipe: DecimalPipe, private actions: Actions, private dataService: DataService) {} ngOnInit() { - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.nodeSettings; - this.activeChannels = rtlStore.allChannels.filter(channel => channel.active); - this.filteredMinAmtActvChannels = this.activeChannels; - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[1]), - filter(action => action.type === LNDActions.EFFECT_ERROR_LND || action.type === LNDActions.SEND_PAYMENT_STATUS_LND)) - .subscribe((action: LNDActions.EffectError | LNDActions.SendPaymentStatus) => { - if (action.type === LNDActions.SEND_PAYMENT_STATUS_LND) { - this.dialogRef.close(); - } - if (action.type === LNDActions.EFFECT_ERROR_LND) { - if (action.payload.action === 'SendPayment') { - delete this.paymentDecoded.num_satoshis; + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.nodeSettings; + this.activeChannels = rtlStore.allChannels.filter((channel) => channel.active); + this.filteredMinAmtActvChannels = this.activeChannels; + if (this.filteredMinAmtActvChannels.length && this.filteredMinAmtActvChannels.length > 0) { + this.selectedChannelCtrl.enable(); + } else { + this.selectedChannelCtrl.disable(); + } + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[1]), + filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.SEND_PAYMENT_STATUS_LND)). + subscribe((action: LNDActions.UpdateAPICallStatus | LNDActions.SendPaymentStatus) => { + if (action.type === LNDActions.SEND_PAYMENT_STATUS_LND) { + this.dialogRef.close(); + } + if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SendPayment') { + delete this.paymentDecoded.num_satoshis; this.paymentError = action.payload.message; } - } + }); + let x = ''; + let y = ''; + this.activeChannels = this.activeChannels.sort((c1: Channel, c2: Channel) => { + x = c1.remote_alias ? c1.remote_alias.toLowerCase() : c1.chan_id ? c1.chan_id.toLowerCase() : ''; + y = c2.remote_alias ? c2.remote_alias.toLowerCase() : c2.chan_id ? c2.chan_id.toLowerCase() : ''; + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }); + this.selectedChannelCtrl.valueChanges.pipe(takeUntil(this.unSubs[2])). + subscribe((channel) => { + if (typeof channel === 'string') { + this.filteredMinAmtActvChannels = this.filterChannels(); + } + }); + } + + private filterChannels(): Channel[] { + return this.activeChannels.filter((channel) => { + const alias = channel.remote_alias ? channel.remote_alias.toLowerCase() : channel.chan_id ? channel.chan_id.toLowerCase() : ''; + return alias.indexOf(this.selectedChannelCtrl.value ? this.selectedChannelCtrl.value.toLowerCase() : '') === 0 && channel.local_balance >= +(this.paymentDecoded.num_satoshis ? this.paymentDecoded.num_satoshis : 0); }); } - onSendPayment():boolean|void { - if(!this.paymentRequest) { return true; } - if ( this.paymentDecoded.timestamp) { + displayFn(channel: Channel): string { + return (channel && channel.remote_alias) ? channel.remote_alias : (channel && channel.chan_id) ? channel.chan_id : ''; + } + + onSelectedChannelChanged() { + if (this.selectedChannelCtrl.value && this.selectedChannelCtrl.value.length > 0 && typeof this.selectedChannelCtrl.value === 'string') { + const foundChannels = this.activeChannels.filter((channel) => { + const alias = channel.remote_alias ? channel.remote_alias.toLowerCase() : channel.chan_id ? channel.chan_id.toLowerCase() : ''; + return alias.length === this.selectedChannelCtrl.value.length && alias.indexOf(this.selectedChannelCtrl.value ? this.selectedChannelCtrl.value.toLowerCase() : '') === 0; + }); + if (foundChannels && foundChannels.length > 0) { + this.selectedChannelCtrl.setValue(foundChannels[0]); + this.selectedChannelCtrl.setErrors(null); + } else { + this.selectedChannelCtrl.setErrors({ notfound: true }); + } + } + } + + onSendPayment(): boolean|void { + if (this.selectedChannelCtrl.value && typeof this.selectedChannelCtrl.value === 'string') { + this.onSelectedChannelChanged(); + } + if (!this.paymentRequest || (this.zeroAmtInvoice && (!this.paymentAmount || this.paymentAmount <= 0)) || typeof this.selectedChannelCtrl.value === 'string') { + return true; + } + if (this.paymentDecoded.timestamp) { this.sendPayment(); } else { - this.paymentAmount = null; - this.paymentError = ''; - this.paymentDecodedHint = ''; - this.paymentReq.control.setErrors(null); - this.dataService.decodePayment(this.paymentRequest, true) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.selActiveChannel = {}; - this.paymentDecoded = decodedPayment; - if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { - this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); - } - if(this.paymentDecoded.num_satoshis && this.paymentDecoded.num_satoshis !== '' && this.paymentDecoded.num_satoshis !== '0') { - this.zeroAmtInvoice = false; - this.filteredMinAmtActvChannels = this.activeChannels.filter(actvChannel => actvChannel.local_balance >= this.paymentDecoded.num_satoshis); - if(this.selNode.fiatConversion) { - this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); - }); - } else { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); - } - } else { - this.zeroAmtInvoice = true; - this.filteredMinAmtActvChannels = this.activeChannels; - this.paymentDecodedHint = 'Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); - } - }, err => { - this.logger.error(err); - this.paymentDecodedHint = 'ERROR: ' + err.message; - this.paymentReq.control.setErrors({'decodeError': true}); - }); + this.onPaymentRequestEntry(this.paymentRequest); } } @@ -115,14 +131,13 @@ export class LightningSendPaymentsComponent implements OnInit, OnDestroy { if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); } - this.store.dispatch(new RTLActions.OpenSpinner('Sending Payment...')); - if (!this.paymentDecoded.num_satoshis || this.paymentDecoded.num_satoshis === '' || this.paymentDecoded.num_satoshis === '0') { + if (!this.paymentDecoded.num_satoshis || this.paymentDecoded.num_satoshis === '' || this.paymentDecoded.num_satoshis === '0') { this.zeroAmtInvoice = true; this.paymentDecoded.num_satoshis = this.paymentAmount; - this.store.dispatch(new LNDActions.SendPayment({paymentReq: this.paymentRequest, paymentAmount:this.paymentAmount, outgoingChannel: this.selActiveChannel, feeLimitType: this.selFeeLimitType, feeLimit: this.feeLimit, fromDialog: true})); + this.store.dispatch(new LNDActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, paymentReq: this.paymentRequest, paymentAmount: this.paymentAmount, outgoingChannel: this.selectedChannelCtrl.value, feeLimitType: { id: this.selFeeLimitType.id, name: this.selFeeLimitType.name }, feeLimit: this.feeLimit, fromDialog: true })); } else { this.zeroAmtInvoice = false; - this.store.dispatch(new LNDActions.SendPayment({paymentReq: this.paymentRequest, outgoingChannel: this.selActiveChannel, feeLimitType: this.selFeeLimitType, feeLimit: this.feeLimit, fromDialog: true})); + this.store.dispatch(new LNDActions.SendPayment({ uiMessage: UI_MESSAGES.SEND_PAYMENT, paymentReq: this.paymentRequest, outgoingChannel: this.selectedChannelCtrl.value, feeLimitType: { id: this.selFeeLimitType.id, name: this.selFeeLimitType.name }, feeLimit: this.feeLimit, fromDialog: true })); } } @@ -136,44 +151,58 @@ export class LightningSendPaymentsComponent implements OnInit, OnDestroy { this.paymentError = ''; this.paymentDecodedHint = ''; this.zeroAmtInvoice = false; - if(this.paymentRequest && this.paymentRequest.length > 100) { + if (this.paymentRequest && this.paymentRequest.length > 100) { this.paymentReq.control.setErrors(null); this.zeroAmtInvoice = false; - this.dataService.decodePayment(this.paymentRequest, true) - .pipe(take(1)).subscribe((decodedPayment: PayRequest) => { - this.paymentDecoded = decodedPayment; - this.selActiveChannel = {}; - if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { - this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); - } - if(this.paymentDecoded.num_satoshis && this.paymentDecoded.num_satoshis !== '' && this.paymentDecoded.num_satoshis !== '0') { - this.zeroAmtInvoice = false; - this.filteredMinAmtActvChannels = this.activeChannels.filter(actvChannel => actvChannel.local_balance >= this.paymentDecoded.num_satoshis); - if(this.selNode.fiatConversion) { - this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis, CurrencyUnitEnum.SATS, this.selNode.currencyUnits[2], this.selNode.fiatConversion) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(data => { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats (' + data.symbol + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); - }); + this.dataService.decodePayment(this.paymentRequest, true). + pipe(take(1)).subscribe({ next: (decodedPayment: PayRequest) => { + this.paymentDecoded = decodedPayment; + this.selectedChannelCtrl.setValue(null); + this.onAdvancedPanelToggle(true, true); + if (this.paymentDecoded.num_msat && !this.paymentDecoded.num_satoshis) { + this.paymentDecoded.num_satoshis = (+this.paymentDecoded.num_msat / 1000).toString(); + } + if (this.paymentDecoded.num_satoshis && this.paymentDecoded.num_satoshis !== '' && this.paymentDecoded.num_satoshis !== '0') { + this.filteredMinAmtActvChannels = this.filterChannels(); + if (this.filteredMinAmtActvChannels.length && this.filteredMinAmtActvChannels.length > 0) { + this.selectedChannelCtrl.enable(); + } else { + this.selectedChannelCtrl.disable(); + } + this.zeroAmtInvoice = false; + if (this.selNode.fiatConversion) { + this.commonService.convertCurrency(+this.paymentDecoded.num_satoshis, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.selNode.currencyUnits[2], this.selNode.fiatConversion). + pipe(takeUntil(this.unSubs[4])). + subscribe({ next: (data) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats (' + data.symbol + ' ' + this.decimalPipe.transform((data.OTHER ? data.OTHER : 0), CURRENCY_UNIT_FORMATS.OTHER) + ') | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); + }, error: (error) => { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None') + '. Unable to convert currency.'; + } }); + } else { + this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); + } } else { - this.paymentDecodedHint = 'Sending: ' + this.decimalPipe.transform(this.paymentDecoded.num_satoshis) + ' Sats | Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); + this.zeroAmtInvoice = true; + this.filteredMinAmtActvChannels = this.activeChannels; + if (this.filteredMinAmtActvChannels.length && this.filteredMinAmtActvChannels.length > 0) { + this.selectedChannelCtrl.enable(); + } else { + this.selectedChannelCtrl.disable(); + } + this.paymentDecodedHint = 'Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); } - } else { - this.zeroAmtInvoice = true; - this.filteredMinAmtActvChannels = this.activeChannels; - this.paymentDecodedHint = 'Memo: ' + (this.paymentDecoded.description ? this.paymentDecoded.description : 'None'); - } - }, err => { - this.logger.error(err); - this.paymentDecodedHint = 'ERROR: ' + err.message; - this.paymentReq.control.setErrors({'decodeError': true}); - }); + }, error: (err) => { + this.logger.error(err); + this.paymentDecodedHint = 'ERROR: ' + err.message; + this.paymentReq.control.setErrors({ decodeError: true }); + } }); } } - onAdvancedPanelToggle(isClosed: boolean) { - if (isClosed) { - this.advancedTitle = 'Advanced Options | ' + this.selFeeLimitType.name + (this.selFeeLimitType.id === 'none' ? '' : (': ' + this.feeLimit)) + ((this.selActiveChannel.remote_alias || this.selActiveChannel.chan_id) ? ' | First Outgoing Channel: ' + (this.selActiveChannel.remote_alias ? this.selActiveChannel.remote_alias : this.selActiveChannel.chan_id) : ''); + onAdvancedPanelToggle(isClosed: boolean, isReset: boolean) { + if (isClosed && !isReset) { + const alias = (this.selectedChannelCtrl.value && this.selectedChannelCtrl.value.remote_alias) ? this.selectedChannelCtrl.value.remote_alias : (this.selectedChannelCtrl.value && this.selectedChannelCtrl.value.chan_id) ? this.selectedChannelCtrl.value.chan_id : ''; + this.advancedTitle = 'Advanced Options | ' + this.selFeeLimitType.name + (this.selFeeLimitType.id === 'none' ? '' : (': ' + this.feeLimit)) + ((alias !== '') ? ' | First Outgoing Channel: ' + alias : ''); } else { this.advancedTitle = 'Advanced Options'; } @@ -182,8 +211,13 @@ export class LightningSendPaymentsComponent implements OnInit, OnDestroy { resetData() { this.paymentDecoded = {}; this.paymentRequest = ''; - this.selActiveChannel = null; + this.selectedChannelCtrl.setValue(null); this.filteredMinAmtActvChannels = this.activeChannels; + if (this.filteredMinAmtActvChannels.length && this.filteredMinAmtActvChannels.length > 0) { + this.selectedChannelCtrl.enable(); + } else { + this.selectedChannelCtrl.disable(); + } this.feeLimit = null; this.selFeeLimitType = FEE_LIMIT_TYPES[0]; this.advancedTitle = 'Advanced Options'; @@ -194,7 +228,7 @@ export class LightningSendPaymentsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/lnd/transactions/transactions.component.spec.ts b/src/app/lnd/transactions/transactions.component.spec.ts index b7cf5cf6..a1e07caa 100644 --- a/src/app/lnd/transactions/transactions.component.spec.ts +++ b/src/app/lnd/transactions/transactions.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../store/rtl.reducers'; +import { LoggerService } from '../../shared/services/logger.service'; import { TransactionsComponent } from './transactions.component'; +import { SharedModule } from '../../shared/shared.module'; +import { mockDataService, mockLoggerService } from '../../shared/test-helpers/mock-services'; +import { CommonService } from '../../shared/services/common.service'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../shared/services/data.service'; describe('TransactionsComponent', () => { let component: TransactionsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ TransactionsComponent ] - }) - .compileComponents(); + declarations: [TransactionsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('TransactionsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/transactions/transactions.component.ts b/src/app/lnd/transactions/transactions.component.ts index 2ed2f068..c7c96e67 100644 --- a/src/app/lnd/transactions/transactions.component.ts +++ b/src/app/lnd/transactions/transactions.component.ts @@ -15,41 +15,43 @@ import * as fromRTLReducer from '../../store/rtl.reducers'; styleUrls: ['./transactions.component.scss'] }) export class TransactionsComponent implements OnInit, OnDestroy { + faExchangeAlt = faExchangeAlt; faChartPie = faChartPie; currencyUnits = []; - balances = [{title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive'}]; - public links = [{link: 'payments', name: 'Payments'}, {link: 'invoices', name: 'Invoices'}, {link: 'queryroutes', name: 'Query Routes'}]; + balances = [{ title: 'Local Capacity', dataValue: 0, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: 0, tooltip: 'Amount you can receive' }]; + public links = [{ link: 'payments', name: 'Payments' }, { link: 'invoices', name: 'Invoices' }, { link: 'queryroutes', name: 'Query Routes' }]; public activeLink = this.links[0].link; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private router: Router) {} ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.currencyUnits = rtlStore.nodeSettings.currencyUnits; - if(rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { - this.balances = [{title: 'Local Capacity', dataValue: rtlStore.totalLocalBalance, tooltip: 'Amount you can send'}, {title: 'Remote Capacity', dataValue: rtlStore.totalRemoteBalance, tooltip: 'Amount you can receive'}]; - } else { - this.balances = [{title: 'Outbound Capacity', dataValue: rtlStore.totalLocalBalance, tooltip: 'Amount you can send'}, {title: 'Inbound Capacity', dataValue: rtlStore.totalRemoteBalance, tooltip: 'Amount you can receive'}]; - } - this.logger.info(rtlStore); - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.currencyUnits = rtlStore.nodeSettings.currencyUnits; + if (rtlStore.nodeSettings.userPersona === UserPersonaEnum.OPERATOR) { + this.balances = [{ title: 'Local Capacity', dataValue: rtlStore.totalLocalBalance, tooltip: 'Amount you can send' }, { title: 'Remote Capacity', dataValue: rtlStore.totalRemoteBalance, tooltip: 'Amount you can receive' }]; + } else { + this.balances = [{ title: 'Outbound Capacity', dataValue: rtlStore.totalLocalBalance, tooltip: 'Amount you can send' }, { title: 'Inbound Capacity', dataValue: rtlStore.totalRemoteBalance, tooltip: 'Amount you can receive' }]; + } + this.logger.info(rtlStore); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/lnd/wallet/initialize/initialize.component.html b/src/app/lnd/wallet/initialize/initialize.component.html index 6aee5651..2976a05a 100644 --- a/src/app/lnd/wallet/initialize/initialize.component.html +++ b/src/app/lnd/wallet/initialize/initialize.component.html @@ -59,7 +59,7 @@
Existing Passphrase - + Enter Passphrase Passphrase is required. diff --git a/src/app/lnd/wallet/initialize/initialize.component.spec.ts b/src/app/lnd/wallet/initialize/initialize.component.spec.ts index 5a94d316..a00a929c 100644 --- a/src/app/lnd/wallet/initialize/initialize.component.spec.ts +++ b/src/app/lnd/wallet/initialize/initialize.component.spec.ts @@ -1,16 +1,33 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { mockLNDEffects } from '../../../shared/test-helpers/mock-services'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { LNDEffects } from '../../store/lnd.effects'; import { InitializeWalletComponent } from './initialize.component'; describe('InitializeWalletComponent', () => { let component: InitializeWalletComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ InitializeWalletComponent ] - }) - .compileComponents(); + declarations: [InitializeWalletComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LNDEffects, useClass: mockLNDEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +39,8 @@ describe('InitializeWalletComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/wallet/initialize/initialize.component.ts b/src/app/lnd/wallet/initialize/initialize.component.ts index 9a4c6e75..dafd0029 100644 --- a/src/app/lnd/wallet/initialize/initialize.component.ts +++ b/src/app/lnd/wallet/initialize/initialize.component.ts @@ -15,12 +15,12 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; export const matchedPasswords: ValidatorFn = (control: FormGroup): ValidationErrors | null => { const initWalletPassword = control.get('initWalletPassword'); const initWalletConfirmPassword = control.get('initWalletConfirmPassword'); - return initWalletPassword && initWalletConfirmPassword && initWalletPassword.value !== initWalletConfirmPassword.value ? { 'unmatchedPasswords': true } : null; + return initWalletPassword && initWalletConfirmPassword && initWalletPassword.value !== initWalletConfirmPassword.value ? { unmatchedPasswords: true } : null; }; export const cipherSeedLength: ValidatorFn = (control: FormGroup): ValidationErrors | null => { const cipherArr = control.value ? control.value.toString().trim().split(',') : []; - return cipherArr && cipherArr.length !== 24 ? { 'invalidCipher': true } : null; + return cipherArr && cipherArr.length !== 24 ? { invalidCipher: true } : null; }; @Component({ @@ -28,10 +28,11 @@ export const cipherSeedLength: ValidatorFn = (control: FormGroup): ValidationErr templateUrl: './initialize.component.html', styleUrls: ['./initialize.component.scss'], providers: [{ - provide: STEPPER_GLOBAL_OPTIONS, useValue: {displayDefaultIndicatorType: false} + provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }] }) export class InitializeWalletComponent implements OnInit, OnDestroy { + @ViewChild(MatStepper, { static: false }) stepper: MatStepper; public insecureLND = false; public genSeedResponse = []; @@ -43,23 +44,23 @@ export class InitializeWalletComponent implements OnInit, OnDestroy { warnRes = false; private unsubs = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private formBuilder: FormBuilder, private lndEffects: LNDEffects, private router: Router) {} + constructor(private store: Store, private formBuilder: FormBuilder, private lndEffects: LNDEffects) {} ngOnInit() { this.passwordFormGroup = this.formBuilder.group({ initWalletPassword: ['', [Validators.required, Validators.minLength(8)]], initWalletConfirmPassword: ['', [Validators.required, Validators.minLength(8)]] - }, {validators: matchedPasswords}); + }, { validators: matchedPasswords }); this.cipherFormGroup = this.formBuilder.group({ existingCipher: [false], - cipherSeed: [{value: '', disabled: true}, [cipherSeedLength]] + cipherSeed: [{ value: '', disabled: true }, [cipherSeedLength]] }); this.passphraseFormGroup = this.formBuilder.group({ enterPassphrase: [false], - passphrase: [{value: '', disabled: true}] + passphrase: [{ value: '', disabled: true }] }); - this.cipherFormGroup.controls.existingCipher.valueChanges.pipe(takeUntil(this.unsubs[0])).subscribe(checked => { + this.cipherFormGroup.controls.existingCipher.valueChanges.pipe(takeUntil(this.unsubs[0])).subscribe((checked) => { if (checked) { this.cipherFormGroup.controls.cipherSeed.setValue(''); this.cipherFormGroup.controls.cipherSeed.enable(); @@ -69,7 +70,7 @@ export class InitializeWalletComponent implements OnInit, OnDestroy { } }); - this.passphraseFormGroup.controls.enterPassphrase.valueChanges.pipe(takeUntil(this.unsubs[1])).subscribe(checked => { + this.passphraseFormGroup.controls.enterPassphrase.valueChanges.pipe(takeUntil(this.unsubs[1])).subscribe((checked) => { if (checked) { this.passphraseFormGroup.controls.passphrase.setValue(''); this.passphraseFormGroup.controls.passphrase.enable(); @@ -81,35 +82,35 @@ export class InitializeWalletComponent implements OnInit, OnDestroy { this.insecureLND = !window.location.protocol.includes('https:'); - this.lndEffects.initWalletRes - .pipe(takeUntil(this.unsubs[2])) - .subscribe(initWalletResponse => { - this.initWalletResponse = initWalletResponse; - }); - - this.lndEffects.genSeedResponse - .pipe(takeUntil(this.unsubs[3])) - .subscribe(genSeedRes => { - this.genSeedResponse = genSeedRes; - if (this.passphraseFormGroup.controls.enterPassphrase.value) { - this.store.dispatch(new LNDActions.InitWallet({ - pwd: window.btoa(this.passwordFormGroup.controls.initWalletPassword.value), - cipher: this.genSeedResponse, - passphrase: window.btoa(this.passphraseFormGroup.controls.passphrase.value) - })); - } else { - this.store.dispatch(new LNDActions.InitWallet({ - pwd: window.btoa(this.passwordFormGroup.controls.initWalletPassword.value), - cipher: this.genSeedResponse - })); - } - }); - + this.lndEffects.initWalletRes. + pipe(takeUntil(this.unsubs[2])). + subscribe((initWalletResponse) => { + this.initWalletResponse = initWalletResponse; + }); + + this.lndEffects.genSeedResponse. + pipe(takeUntil(this.unsubs[3])). + subscribe((genSeedRes) => { + this.genSeedResponse = genSeedRes; + if (this.passphraseFormGroup.controls.enterPassphrase.value) { + this.store.dispatch(new LNDActions.InitWallet({ + pwd: window.btoa(this.passwordFormGroup.controls.initWalletPassword.value), + cipher: this.genSeedResponse, + passphrase: window.btoa(this.passphraseFormGroup.controls.passphrase.value) + })); + } else { + this.store.dispatch(new LNDActions.InitWallet({ + pwd: window.btoa(this.passwordFormGroup.controls.initWalletPassword.value), + cipher: this.genSeedResponse + })); + } + }); } - onInitWallet():boolean|void { - if (this.passwordFormGroup.invalid || this.cipherFormGroup.invalid || this.passphraseFormGroup.invalid) { return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Initializing...')); + onInitWallet(): boolean|void { + if (this.passwordFormGroup.invalid || this.cipherFormGroup.invalid || this.passphraseFormGroup.invalid) { + return true; + } if (this.cipherFormGroup.controls.existingCipher.value) { const cipherArr = this.cipherFormGroup.controls.cipherSeed.value.toString().trim().split(','); if (this.passphraseFormGroup.controls.enterPassphrase.value) { @@ -136,7 +137,7 @@ export class InitializeWalletComponent implements OnInit, OnDestroy { onGoToHome() { setTimeout(() => { this.store.dispatch(new RTLActions.UpdateSelectedNodeOptions()); - this.store.dispatch(new LNDActions.FetchInfo({loadPage:'HOME'})); + this.store.dispatch(new LNDActions.FetchInfo({ loadPage: 'HOME' })); }, 1000 * 1); } @@ -146,7 +147,7 @@ export class InitializeWalletComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unsubs.forEach(unsub => { + this.unsubs.forEach((unsub) => { unsub.next(null); unsub.complete(); }); diff --git a/src/app/lnd/wallet/unlock/unlock.component.spec.ts b/src/app/lnd/wallet/unlock/unlock.component.spec.ts index 780e7081..723b53d4 100644 --- a/src/app/lnd/wallet/unlock/unlock.component.spec.ts +++ b/src/app/lnd/wallet/unlock/unlock.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; +import { SharedModule } from '../../../shared/shared.module'; +import { RTLReducer } from '../../../store/rtl.reducers'; import { UnlockWalletComponent } from './unlock.component'; describe('UnlockWalletComponent', () => { let component: UnlockWalletComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ UnlockWalletComponent ] - }) - .compileComponents(); + declarations: [UnlockWalletComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('UnlockWalletComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/lnd/wallet/unlock/unlock.component.ts b/src/app/lnd/wallet/unlock/unlock.component.ts index d90327c0..202421d9 100644 --- a/src/app/lnd/wallet/unlock/unlock.component.ts +++ b/src/app/lnd/wallet/unlock/unlock.component.ts @@ -2,7 +2,6 @@ import { Component, OnInit } from '@angular/core'; import { Store } from '@ngrx/store'; import * as LNDActions from '../../store/lnd.actions'; -import * as RTLActions from '../../../store/rtl.actions'; import * as fromRTLReducer from '../../../store/rtl.reducers'; @Component({ @@ -11,6 +10,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./unlock.component.scss'] }) export class UnlockWalletComponent implements OnInit { + walletPassword = ''; constructor(private store: Store) {} @@ -19,10 +19,11 @@ export class UnlockWalletComponent implements OnInit { this.walletPassword = ''; } - onUnlockWallet():boolean|void { - if(!this.walletPassword) { return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Unlocking...')); - this.store.dispatch(new LNDActions.UnlockWallet({pwd: window.btoa(this.walletPassword)})); + onUnlockWallet(): boolean|void { + if (!this.walletPassword) { + return true; + } + this.store.dispatch(new LNDActions.UnlockWallet({ pwd: window.btoa(this.walletPassword) })); } resetData() { diff --git a/src/app/lnd/wallet/wallet.component.ts b/src/app/lnd/wallet/wallet.component.ts index f4d84f1c..05e7cf99 100644 --- a/src/app/lnd/wallet/wallet.component.ts +++ b/src/app/lnd/wallet/wallet.component.ts @@ -8,6 +8,7 @@ import { faWallet } from '@fortawesome/free-solid-svg-icons'; styleUrls: ['./wallet.component.scss'] }) export class WalletComponent { + public faWallet = faWallet; constructor() {} diff --git a/src/app/shared/animation/opacity-animation.ts b/src/app/shared/animation/opacity-animation.ts index 1f168540..720cb884 100644 --- a/src/app/shared/animation/opacity-animation.ts +++ b/src/app/shared/animation/opacity-animation.ts @@ -14,13 +14,13 @@ export const opacityAnimation = [ export const fadeIn = [ trigger('fadeIn', [ - transition('void => *', []), // when the item is created - transition('* => void', []), // when the item is removed - transition('* => *', [ // when the item is changed - animate(800, keyframes([ // animate for 800 ms - style ({ opacity: 0, transform: 'translateY(100%)' }), - style ({ opacity: 1, transform: 'translateY(0%)' }), - ])), - ]), + transition('void => *', []), // When the item is created + transition('* => void', []), // When the item is removed + transition('* => *', [ // When the item is changed + animate(800, keyframes([ // Animate for 800 ms + style({ opacity: 0, transform: 'translateY(100%)' }), + style({ opacity: 1, transform: 'translateY(0%)' }) + ])) + ]) ]) ]; diff --git a/src/app/shared/animation/route-animation.ts b/src/app/shared/animation/route-animation.ts index 3e8e8e67..075d3d5b 100644 --- a/src/app/shared/animation/route-animation.ts +++ b/src/app/shared/animation/route-animation.ts @@ -1,6 +1,6 @@ import { transition, trigger, query, style, animate, group } from '@angular/animations'; -export const routeAnimation = trigger('routeAnimation', [ +export const routeAnimation = trigger('routeAnimation', [ transition('* => *', [ query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }), group([ @@ -11,7 +11,7 @@ export const routeAnimation = trigger('routeAnimation', [ query(':leave', [ style({ transform: 'translateX(0%)' }), animate('1000ms ease-in-out', style({ transform: 'translateX(-100%)' })) - ], { optional: true }), + ], { optional: true }) ]) ]) ]); diff --git a/src/app/shared/animation/row-animation.ts b/src/app/shared/animation/row-animation.ts index 8b3a1174..f7c1bf05 100644 --- a/src/app/shared/animation/row-animation.ts +++ b/src/app/shared/animation/row-animation.ts @@ -3,7 +3,7 @@ import { trigger, state, animate, transition, style } from '@angular/animations' export const newlyAddedRowAnimation = [ trigger('newlyAddedRowAnimation', [ state('notAdded, void', style({ transform: 'translateX(0%)' })), - state('added', style({ transform: 'translateX(100%)'})), + state('added', style({ transform: 'translateX(100%)' })), transition('added <=> notAdded', animate('1000ms ease-out')), transition('added <=> void', animate('0ms ease-out')) ]) diff --git a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.html b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.html index 219d1910..db0fb805 100644 --- a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.html +++ b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.html @@ -1,12 +1,15 @@ -
-
+
+
{{value.title}}
{{value.dataValue | number}} {{value[currencyUnitEnum.BTC] | number:currencyUnitFormats.BTC}} - {{value[currencyUnitEnum.OTHER] | number:currencyUnitFormats.OTHER}} + {{value[currencyUnitEnum.OTHER] | number:currencyUnitFormats.OTHER}}
+
+
{{conversionErrorMsg}}
+
\ No newline at end of file diff --git a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.spec.ts b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.spec.ts index 8593b2a5..ad1fbc37 100644 --- a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.spec.ts +++ b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.spec.ts @@ -1,34 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; -import { CurrencyUnitConverterComponent } from './currency-unit-converter.component'; -import { CommonService } from '../../services/common.service'; -import { Store, StoreModule } from '@ngrx/store'; -import * as fromRTLReducer from '../../../store/rtl.reducers'; import { RTLReducer } from '../../../store/rtl.reducers'; +import { CommonService } from '../../../shared/services/common.service'; + +import { CurrencyUnitConverterComponent } from './currency-unit-converter.component'; +import { mockDataService, mockLoggerService } from '../../test-helpers/mock-services'; +import { SharedModule } from '../../shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../services/data.service'; describe('CurrencyUnitConverterComponent', () => { let component: CurrencyUnitConverterComponent; let fixture: ComponentFixture; - const mockCommonService = jasmine.createSpyObj("CommonService",["getScreenSize","setScreenSize", -"sortDescByKey","camelCase","titleCase","convertCurrency","convertWithoutFiat","convertWithFiat", -"convertTime","convertTimestampToDate","downloadFile","convertToCSV"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CurrencyUnitConverterComponent ], - providers: [ - { provide: CommonService, useValue: mockCommonService } - ], - imports:[ + declarations: [CurrencyUnitConverterComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, StoreModule.forRoot(RTLReducer, { runtimeChecks: { strictStateImmutability: false, strictActionImmutability: false } }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } ] - }) - .compileComponents(); + }). + compileComponents(); })); beforeEach(() => { @@ -40,4 +44,8 @@ describe('CurrencyUnitConverterComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.ts b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.ts index 81b9c4c7..75e52056 100644 --- a/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.ts +++ b/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.ts @@ -1,6 +1,6 @@ import { Component, Input, OnInit, OnChanges, OnDestroy } from '@angular/core'; import { Subject } from 'rxjs'; -import { takeUntil, takeLast, first } from 'rxjs/operators'; +import { takeUntil, first } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { CurrencyUnitEnum, CURRENCY_UNIT_FORMATS } from '../../services/consts-enums-functions'; @@ -14,64 +14,69 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./currency-unit-converter.component.scss'] }) export class CurrencyUnitConverterComponent implements OnInit, OnChanges, OnDestroy { + @Input() values = []; public currencyUnitEnum = CurrencyUnitEnum; public currencyUnitFormats = CURRENCY_UNIT_FORMATS; public currencyUnits = []; public fiatConversion = false; - private unSubs = [new Subject(), new Subject()]; - // private _values: Array; - // get values(): Array { return this._values; } - // @Input() set values(data: Array) { - // this._values = data; - // if(this.currencyUnits.length > 1 && this._values[0].dataValue >= 0) { - // this.getCurrencyValues(this._values); - // } - // } + public conversionErrorMsg = ''; + private unSubs = [new Subject(), new Subject(), new Subject()]; - constructor(public commonService: CommonService, private store: Store) {} + constructor(public commonService: CommonService, private store: Store) { } ngOnInit() { - this.store.select('root') - .pipe(first()) - .subscribe((rtlStore) => { - this.fiatConversion = rtlStore.selNode.settings.fiatConversion; - this.currencyUnits = rtlStore.selNode.settings.currencyUnits; - if(!this.fiatConversion) { - this.currencyUnits.splice(2, 1); - } - if(this.currencyUnits.length > 1 && this.values[0].dataValue >= 0) { - this.getCurrencyValues(this.values); - } - }); + this.store.select('root'). + pipe(first()). + subscribe((rtlStore) => { + this.fiatConversion = rtlStore.selNode.settings.fiatConversion; + this.currencyUnits = rtlStore.selNode.settings.currencyUnits; + if (!this.fiatConversion) { + this.currencyUnits.splice(2, 1); + } + if (this.currencyUnits.length > 1 && this.values[0] && this.values[0].dataValue >= 0) { + this.getCurrencyValues(this.values); + } + }); } ngOnChanges() { - if(this.currencyUnits.length > 1 && this.values[0].dataValue >= 0) { + if (this.currencyUnits.length > 1 && this.values[0] && this.values[0].dataValue >= 0) { this.getCurrencyValues(this.values); } } getCurrencyValues(values) { - values.forEach(value => { - if(value.dataValue > 0) { - this.commonService.convertCurrency(value.dataValue, CurrencyUnitEnum.SATS, this.currencyUnits[2], this.fiatConversion) - .pipe(takeUntil(this.unSubs[1])) - .subscribe(data => { - value[CurrencyUnitEnum.BTC] = data.BTC; - value[CurrencyUnitEnum.OTHER] = data.OTHER; - }); + values.forEach((value) => { + if (value.dataValue > 0) { + this.commonService.convertCurrency(value.dataValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.BTC, '', true). + pipe(takeUntil(this.unSubs[1])). + subscribe((data) => { + value[CurrencyUnitEnum.BTC] = data.BTC; + }); + this.commonService.convertCurrency(value.dataValue, CurrencyUnitEnum.SATS, CurrencyUnitEnum.OTHER, this.currencyUnits[2], this.fiatConversion). + pipe(takeUntil(this.unSubs[2])). + subscribe({ + next: (data) => { + value[CurrencyUnitEnum.OTHER] = data.OTHER; + }, error: (err) => { + this.conversionErrorMsg = 'Conversion Error: ' + err; + } + }); } else { value[CurrencyUnitEnum.BTC] = value.dataValue; - value[CurrencyUnitEnum.OTHER] = value.dataValue; + if (this.conversionErrorMsg === '') { + value[CurrencyUnitEnum.OTHER] = value.dataValue; + } } }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/data-modal/alert-message/alert-message.component.ts b/src/app/shared/components/data-modal/alert-message/alert-message.component.ts index 3442a85d..066fd937 100644 --- a/src/app/shared/components/data-modal/alert-message/alert-message.component.ts +++ b/src/app/shared/components/data-modal/alert-message/alert-message.component.ts @@ -13,15 +13,16 @@ import { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, LoopStateEnum } from '../. styleUrls: ['./alert-message.component.scss'] }) export class AlertMessageComponent implements OnInit, AfterViewChecked, OnDestroy { + private scrollContainer: ElementRef; @ViewChild('scrollContainer') set container(containerContent: ElementRef) { - if(containerContent) { + if (containerContent) { this.scrollContainer = containerContent; if (this.scrollContainer && this.scrollContainer.nativeElement) { - this.unlistenEnd = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-end', (event) => { + this.unlistenEnd = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-end', (event) => { this.scrollDirection = 'UP'; }); - this.unlistenStart = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-start', (event) => { + this.unlistenStart = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-start', (event) => { this.scrollDirection = 'DOWN'; }); } @@ -31,7 +32,7 @@ export class AlertMessageComponent implements OnInit, AfterViewChecked, OnDestro private unlistenEnd: () => void; public LoopStateEnum = LoopStateEnum; public showQRField = ''; - public showQRName = ''; + public showQRName = ''; public showCopyName = ''; public showCopyField = ''; public errorMessage = ''; @@ -84,7 +85,12 @@ export class AlertMessageComponent implements OnInit, AfterViewChecked, OnDestro } ngOnDestroy() { - if (this.unlistenStart) { this.unlistenStart(); } - if (this.unlistenEnd) { this.unlistenEnd(); } + if (this.unlistenStart) { + this.unlistenStart(); + } + if (this.unlistenEnd) { + this.unlistenEnd(); + } } + } diff --git a/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.ts b/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.ts index 9b683132..f7ffd2ed 100644 --- a/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.ts +++ b/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.ts @@ -16,6 +16,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./confirmation-message.component.scss'] }) export class ConfirmationMessageComponent implements OnInit { + public faInfoCircle = faInfoCircle; public faExclamationTriangle = faExclamationTriangle; public informationMessage = ''; @@ -26,10 +27,12 @@ export class ConfirmationMessageComponent implements OnInit { public flgShowInput = false; public alertTypeEnum = AlertTypeEnum; public dataTypeEnum = DataTypeEnum; - public getInputs: Array = [{placeholder: '', inputType: 'text', inputValue: '', hintText: '', hintFunction: null}]; + public getInputs: Array = [{ placeholder: '', inputType: 'text', inputValue: '', hintText: '', hintFunction: null }]; - constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ConfirmationData, private logger: LoggerService, - private store: Store) { } + constructor( + public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ConfirmationData, private logger: LoggerService, + private store: Store + ) { } ngOnInit() { this.informationMessage = this.data.informationMessage; @@ -46,8 +49,11 @@ export class ConfirmationMessageComponent implements OnInit { } } - onClose(dialogRes: any):boolean|void { - if (dialogRes && this.getInputs && this.getInputs.some(input => !input.inputValue)) { return true; } + onClose(dialogRes: any): boolean | void { + if (dialogRes && this.getInputs && this.getInputs.some((input) => !input.inputValue)) { + return true; + } this.store.dispatch(new RTLActions.CloseConfirmation(dialogRes)); } + } diff --git a/src/app/shared/components/data-modal/error-message/error-message.component.ts b/src/app/shared/components/data-modal/error-message/error-message.component.ts index a28afc6e..76de00a9 100644 --- a/src/app/shared/components/data-modal/error-message/error-message.component.ts +++ b/src/app/shared/components/data-modal/error-message/error-message.component.ts @@ -10,12 +10,13 @@ import { ErrorData } from '../../../models/alertData'; styleUrls: ['./error-message.component.scss'] }) export class ErrorMessageComponent implements OnInit { + public errorMessage = ''; constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ErrorData, private logger: LoggerService) { } ngOnInit() { - this.errorMessage = (typeof(this.data.message.message) === 'object') ? JSON.stringify(this.data.message.message) : this.data.message.message; + this.errorMessage = (typeof (this.data.message.message) === 'object') ? JSON.stringify(this.data.message.message) : this.data.message.message; if (!this.data.message && !this.data.titleMessage && !this.data.message) { this.data.titleMessage = 'Please Check Server Connection'; } @@ -25,4 +26,5 @@ export class ErrorMessageComponent implements OnInit { onClose() { this.dialogRef.close(false); } + } diff --git a/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.spec.ts b/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.spec.ts index 7cd9832f..a94e5754 100644 --- a/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.spec.ts +++ b/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.spec.ts @@ -1,16 +1,36 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { mockMatDialogRef } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../shared.module'; import { LoginTokenComponent } from './login-2fa-token.component'; describe('LoginTokenComponent', () => { let component: LoginTokenComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoginTokenComponent ] - }) - .compileComponents(); + declarations: [LoginTokenComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: {} } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +42,8 @@ describe('LoginTokenComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.ts b/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.ts index f2c8390a..dd274f2a 100644 --- a/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.ts +++ b/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.ts @@ -12,6 +12,7 @@ import * as RTLActions from '../../../../store/rtl.actions'; styleUrls: ['./login-2fa-token.component.scss'] }) export class LoginTokenComponent { + public faUserClock = faUserClock; public token = ''; @@ -21,10 +22,12 @@ export class LoginTokenComponent { this.dialogRef.close(null); } - onVerifyToken():boolean|void { - if (!this.token) { return true; } + onVerifyToken(): boolean | void { + if (!this.token) { + return true; + } this.dialogRef.close(); - this.store.dispatch(new RTLActions.CloseAlert({twoFAToken: this.token})); + this.store.dispatch(new RTLActions.CloseAlert({ twoFAToken: this.token })); } } diff --git a/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.spec.ts b/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.spec.ts index 1dc3789f..06e5589f 100644 --- a/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.spec.ts +++ b/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../services/common.service'; +import { LoggerService } from '../../../services/logger.service'; import { OnChainGeneratedAddressComponent } from './on-chain-generated-address.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../shared.module'; +import { DataService } from '../../../services/data.service'; describe('OnChainGeneratedAddressComponent', () => { let component: OnChainGeneratedAddressComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ OnChainGeneratedAddressComponent ] - }) - .compileComponents(); + declarations: [OnChainGeneratedAddressComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { alertTitle: '', address: 'test', addressType: 'test' } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('OnChainGeneratedAddressComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.ts b/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.ts index 8d46a969..ccae103a 100644 --- a/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.ts +++ b/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.ts @@ -14,6 +14,7 @@ import { ScreenSizeEnum } from '../../../services/consts-enums-functions'; styleUrls: ['./on-chain-generated-address.component.scss'] }) export class OnChainGeneratedAddressComponent implements OnInit { + public faReceipt = faReceipt; public address = ''; public addressType = ''; @@ -37,4 +38,5 @@ export class OnChainGeneratedAddressComponent implements OnInit { this.snackBar.open('Generated address copied.'); this.logger.info('Copied Text: ' + payload); } + } diff --git a/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.spec.ts b/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.spec.ts index 2ba8323b..43b92c03 100644 --- a/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.spec.ts +++ b/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.spec.ts @@ -1,16 +1,31 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; + +import { CommonService } from '../../../services/common.service'; +import { LoggerService } from '../../../services/logger.service'; import { ShowPubkeyComponent } from './show-pubkey.component'; +import { mockDataService, mockLoggerService, mockMatDialogRef } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../shared.module'; +import { DataService } from '../../../services/data.service'; describe('ShowPubkeyComponent', () => { let component: ShowPubkeyComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ShowPubkeyComponent ] - }) - .compileComponents(); + declarations: [ShowPubkeyComponent], + imports: [SharedModule], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { information: { identity_pubkey: 'test' } } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +37,8 @@ describe('ShowPubkeyComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.ts b/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.ts index 5c83924a..4a71440a 100644 --- a/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.ts +++ b/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.ts @@ -15,9 +15,10 @@ import { ScreenSizeEnum } from '../../../services/consts-enums-functions'; styleUrls: ['./show-pubkey.component.scss'] }) export class ShowPubkeyComponent implements OnInit { + public faReceipt = faReceipt; public information: GetInfoRoot; - public infoTypes = [{infoID: 0, infoKey: 'node pubkey', infoName: 'Node pubkey'}]; + public infoTypes = [{ infoID: 0, infoKey: 'node pubkey', infoName: 'Node pubkey' }]; public selInfoType = this.infoTypes[0]; public qrWidth = 210; public screenSize = ''; @@ -29,10 +30,10 @@ export class ShowPubkeyComponent implements OnInit { this.information = this.data.information; if (this.information.uris) { if (this.information.uris.length === 1) { - this.infoTypes.push({infoID: 1, infoKey: 'node URI', infoName: 'Node URI'}); + this.infoTypes.push({ infoID: 1, infoKey: 'node URI', infoName: 'Node URI' }); } else if (this.information.uris.length > 1) { this.information.uris.forEach((uri, idx) => { - this.infoTypes.push({infoID: (idx + 1), infoKey: 'node URI ' + (idx + 1), infoName: 'Node URI ' + (idx + 1)}); + this.infoTypes.push({ infoID: (idx + 1), infoKey: 'node URI ' + (idx + 1), infoName: 'Node URI ' + (idx + 1) }); }); } } diff --git a/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.spec.ts b/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.spec.ts index 1fc3b84e..008fdc6a 100644 --- a/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.spec.ts +++ b/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../../store/rtl.reducers'; import { TwoFactorAuthComponent } from './two-factor-auth.component'; +import { SharedModule } from '../../../shared.module'; +import { mockMatDialogRef, mockRTLEffects } from '../../../test-helpers/mock-services'; +import { RTLEffects } from '../../../../store/rtl.effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('TwoFactorAuthComponent', () => { let component: TwoFactorAuthComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ TwoFactorAuthComponent ] - }) - .compileComponents(); + declarations: [TwoFactorAuthComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { appConfig: {} } }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('TwoFactorAuthComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.ts b/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.ts index 9a973128..5f830bb8 100644 --- a/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.ts +++ b/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.ts @@ -5,7 +5,7 @@ import { take } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { faInfoCircle, faCopy, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; import { authenticator } from 'otplib'; import * as sha256 from 'sha256'; @@ -23,13 +23,14 @@ import * as RTLActions from '../../../../store/rtl.actions'; styleUrls: ['./two-factor-auth.component.scss'] }) export class TwoFactorAuthComponent implements OnInit, OnDestroy { - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faExclamationTriangle = faExclamationTriangle; public faCopy = faCopy; public faInfoCircle = faInfoCircle; public flgValidated = false; public isTokenValid = true; - public otpauth: string; + public otpauth = ''; public appConfig: RTLConfiguration; public flgEditable = true; public showDisableStepper = false; @@ -42,10 +43,10 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { password: ['', [Validators.required]] }); secretFormGroup: FormGroup = this.formBuilder.group({ - secret: [{value: '', disabled: true}, Validators.required] + secret: [{ value: '', disabled: true }, Validators.required] }); tokenFormGroup: FormGroup = this.formBuilder.group({ - token: ['', Validators.required] + token: ['', Validators.required] }); disableFormGroup: FormGroup = this.formBuilder.group({}); unSubs: Array> = [new Subject(), new Subject()]; @@ -55,53 +56,55 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { ngOnInit() { this.appConfig = this.data.appConfig; this.showDisableStepper = !!this.appConfig.enable2FA; - this.secretFormGroup = this.formBuilder.group({ - secret: [{value: !this.appConfig.enable2FA ? this.generateSecret() : '', disabled: true}, Validators.required] + this.secretFormGroup = this.formBuilder.group({ + secret: [{ value: !this.appConfig.enable2FA ? this.generateSecret() : '', disabled: true }, Validators.required] }); } generateSecret() { - let secret2fa = authenticator.generateSecret(); + const secret2fa = authenticator.generateSecret(); this.otpauth = authenticator.keyuri('', 'Ride The Lightning (RTL)', secret2fa); return secret2fa; } - onAuthenticate():boolean|void { - if (!this.passwordFormGroup.controls.password.value) { return true; } + onAuthenticate(): boolean|void { + if (!this.passwordFormGroup.controls.password.value) { + return true; + } this.flgValidated = false; this.store.dispatch(new RTLActions.IsAuthorized(sha256(this.passwordFormGroup.controls.password.value))); - this.rtlEffects.isAuthorizedRes - .pipe(take(1)) - .subscribe(authRes => { - if (authRes !== 'ERROR') { - this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); - this.stepper.next(); - } else { - this.dialogRef.close(); - this.snackBar.open('Unauthorized User. Logging out from RTL.'); - } - }); + this.rtlEffects.isAuthorizedRes. + pipe(take(1)). + subscribe((authRes) => { + if (authRes !== 'ERROR') { + this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value); + this.stepper.next(); + } else { + this.dialogRef.close(); + this.snackBar.open('Unauthorized User. Logging out from RTL.'); + } + }); } onCopySecret(payload: string) { this.snackBar.open('Secret code ' + this.secretFormGroup.controls.secret.value + ' copied.'); } - onVerifyToken():boolean|void { + onVerifyToken(): boolean|void { if (this.appConfig.enable2FA) { - this.store.dispatch(new RTLActions.OpenSpinner('Updating Settings...')); - this.store.dispatch(new RTLActions.TwoFASaveSettings({secret2fa: ''})); + this.store.dispatch(new RTLActions.TwoFASaveSettings({ secret2fa: '' })); this.generateSecret(); this.isTokenValid = true; } else { - if (!this.tokenFormGroup.controls.token.value) { return true; } + if (!this.tokenFormGroup.controls.token.value) { + return true; + } this.isTokenValid = authenticator.check(this.tokenFormGroup.controls.token.value, this.secretFormGroup.controls.secret.value); if (!this.isTokenValid) { this.tokenFormGroup.controls.token.setErrors({ notValid: true }); return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Updating Settings...')); - this.store.dispatch(new RTLActions.TwoFASaveSettings({secret2fa: this.secretFormGroup.controls.secret.value})); + this.store.dispatch(new RTLActions.TwoFASaveSettings({ secret2fa: this.secretFormGroup.controls.secret.value })); this.tokenFormGroup.controls.token.setValue(''); } this.flgValidated = true; @@ -113,7 +116,7 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { case 0: this.passwordFormLabel = 'Authenticate with your RTL password'; break; - + case 1: this.passwordFormLabel = 'User authenticated successfully'; break; @@ -130,11 +133,11 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { if (event.selectedIndex === 0) { this.passwordFormGroup.controls.hiddenPassword.setValue(''); } - } + } } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/error/error.component.html b/src/app/shared/components/error/error.component.html index 30e23471..31a83154 100644 --- a/src/app/shared/components/error/error.component.html +++ b/src/app/shared/components/error/error.component.html @@ -1,5 +1,5 @@
- + diff --git a/src/app/shared/components/error/error.component.ts b/src/app/shared/components/error/error.component.ts index 579127b3..1e28a52a 100644 --- a/src/app/shared/components/error/error.component.ts +++ b/src/app/shared/components/error/error.component.ts @@ -10,18 +10,21 @@ import { faTimes } from '@fortawesome/free-solid-svg-icons'; templateUrl: './error.component.html' }) export class ErrorComponent implements OnInit { - error = {errorCode: '', errorMessage: ''}; + + error = { errorCode: '', errorMessage: '' }; public faTimes = faTimes; private unsubs: Array> = [new Subject(), new Subject()]; constructor(private activatedRoute: ActivatedRoute, private router: Router) { } ngOnInit() { - this.activatedRoute.paramMap - .pipe(takeUntil(this.unsubs[0])) - .subscribe(data => { - this.error = window.history.state; - }); + this.router.routeReuseStrategy.shouldReuseRoute = () => false; + this.router.onSameUrlNavigation = 'reload'; + this.activatedRoute.paramMap. + pipe(takeUntil(this.unsubs[0])). + subscribe((data) => { + this.error = window.history.state; + }); } goToHelp(): void { diff --git a/src/app/shared/components/help/help.component.ts b/src/app/shared/components/help/help.component.ts index e9cb965a..b34cc3c5 100644 --- a/src/app/shared/components/help/help.component.ts +++ b/src/app/shared/components/help/help.component.ts @@ -15,6 +15,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; styleUrls: ['./help.component.scss'] }) export class HelpComponent implements OnInit, OnDestroy { + public helpTopics: Array = []; public faQuestion = faQuestion; public selNode: ConfigSettingsNode; @@ -27,7 +28,7 @@ export class HelpComponent implements OnInit, OnDestroy { question: 'Getting started', answer: 'Funding your node is the first step to get started.\n' + 'Go to the "On-chain" page of the app:\n' + - '1. Generate a new address on the "Recieve" tab.\n'+ + '1. Generate a new address on the "Recieve" tab.\n' + '2. Send funds to the address.\n' + '3. Wait for the balance to be confirmed on-chain before proceeding further.\n' + '3. Connecting with network peers and opening channels is next.\n', @@ -41,8 +42,8 @@ export class HelpComponent implements OnInit, OnDestroy { 'Go to "Peer/Channels" page under the "Lightning" menu :\n' + '1. Get the peer pubkey and host address in the pubkey@ip:port format.\n' + '2. On the "Peers" enter the peer address and connect.\n' + - '3. Once the peer is connected, you can open channel with the peer.\n'+ - '4. A variety of actions can be performed on the connected peers page for each peer:\n'+ + '3. Once the peer is connected, you can open channel with the peer.\n' + + '4. A variety of actions can be performed on the connected peers page for each peer:\n' + ' a. View Info - View the peer details.\n' + ' b. Open Channel - Open channel with the peer.\n' + ' c. Disconnect - Disconnect from the peer.\n', @@ -67,7 +68,7 @@ export class HelpComponent implements OnInit, OnDestroy { lnImplementation: 'ALL' })); this.helpTopics.push(new HelpTopic({ - question: 'Channel Management', + question: 'Channel Management', answer: 'Channel maintenance and balance score.\n' + 'Go to "Peer/Channels" page under the "Lightning" menu:\n' + '1. A variety of actions can be perfomed on the open channels under the "Open" tab, with the "Actions" button:\n' + @@ -90,7 +91,7 @@ export class HelpComponent implements OnInit, OnDestroy { 'Payments tab is for making payments via your node\n' + ' 1. Input a non-expired lightning invoice (Bolt11 format) in the "Payment request" field and click on "Send Payment" to send.\n' + ' 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\n' + - ' 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n', + ' 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n', link: 'transactions', linkCaption: 'Transactions page', lnImplementation: 'ALL' @@ -102,16 +103,16 @@ export class HelpComponent implements OnInit, OnDestroy { 'Invoices tab is for receiving payments on your node.\n' + ' 1. Memo - Description you want to provide on the invoice.\n' + ' 2. Expiry - The time period, after which the invoice will be invalid.\n' + - ' 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n', + ' 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n', link: 'transactions', linkCaption: 'Transactions page', lnImplementation: 'ALL' })); this.helpTopics.push(new HelpTopic({ - question: 'Lightning Transactions - Query Route', + question: 'Lightning Transactions - Query Route', answer: 'Querying Payment Routes.\n' + 'Go to the "Transactions" page under the "Lightning" menu :\n' + - 'Query Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n'+ + 'Query Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n' + ' 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\n' + ' 2. Amount - Amount in Sats, which you want to send to the node.\n', link: 'transactions', @@ -122,9 +123,9 @@ export class HelpComponent implements OnInit, OnDestroy { question: 'Channel Backups', answer: 'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\n' + 'Backup folder location can be customized in the RTL config file with the channelBackupPath field.\n' + - 'RTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\n'+ - 'You can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\n'+ - 'You can also backup each channel individually and verify them.\n'+ + 'RTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\n' + + 'You can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\n' + + 'You can also backup each channel individually and verify them.\n' + '** Keep taking backups of your channels regularly and store them in redundant locations **.\n', link: 'backup', linkCaption: 'Channel Backups', @@ -134,39 +135,39 @@ export class HelpComponent implements OnInit, OnDestroy { question: 'Channel Restore', answer: 'Channel Restore is used to recover funds from the channel backup files in case of node failures.\n' + 'Follow the below steps to perform fund restoration.\n\n' + - 'Prerequisite:\n'+ - '1. The node has been restored with the LND recovery seed.\n'+ - '2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\n'+ - 'Recovery:\n'+ - '1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n'+ - '2. Place the channel backup file in the restore folder.\n'+ - '3. Go to the "Restore" tab under the "Backup" page of RTL.\n'+ - '4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n'+ - '5. Click on the Restore icon on the grid to restore the funds.\n'+ - '6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n'+ - '7. Restore function will force close the channels and recover the funds from them.\n'+ - '8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n'+ - '9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n'+ + 'Prerequisite:\n' + + '1. The node has been restored with the LND recovery seed.\n' + + '2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\n' + + 'Recovery:\n' + + '1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n' + + '2. Place the channel backup file in the restore folder.\n' + + '3. Go to the "Restore" tab under the "Backup" page of RTL.\n' + + '4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n' + + '5. Click on the Restore icon on the grid to restore the funds.\n' + + '6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n' + + '7. Restore function will force close the channels and recover the funds from them.\n' + + '8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n' + + '9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n' + '10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\n', link: 'backup', linkCaption: 'Channel Backups', - lnImplementation: 'LND' + lnImplementation: 'LND' })); - this.helpTopics.push(new HelpTopic({ - question: 'Forwarding History', - answer: 'Transactions routed by the node.\n' + - 'Go to "Routing" page under the "Lightning" menu :\n' + - 'Transactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n', - link: 'routing', - linkCaption: 'Forwarding History', - lnImplementation: 'ALL' + this.helpTopics.push(new HelpTopic({ + question: 'Forwarding History', + answer: 'Transactions routed by the node.\n' + + 'Go to "Routing" page under the "Lightning" menu :\n' + + 'Transactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n', + link: 'routing', + linkCaption: 'Forwarding History', + lnImplementation: 'ALL' })); this.helpTopics.push(new HelpTopic({ - question: 'Graph Lookup', + question: 'Graph Lookup', answer: 'Querying your node graph for network node and channel information.\n' + 'Go to "Graph Lookup" page under the "Lightning" menu :\n' + - 'Each node maintains a network graph for the information on all the nodes and channels on the network.\n'+ - 'You can lookup information on nodes and channels from your graph:\n'+ + 'Each node maintains a network graph for the information on all the nodes and channels on the network.\n' + + 'You can lookup information on nodes and channels from your graph:\n' + ' 1. Node Lookup - Enter the pubkey to perform the lookup.\n' + ' 2. Channel Lookup - Enter the short channel ID to perform the lookup.\n', link: 'lookups', @@ -174,50 +175,52 @@ export class HelpComponent implements OnInit, OnDestroy { lnImplementation: 'ALL' })); this.helpTopics.push(new HelpTopic({ - question: 'Settings', + question: 'Settings', answer: 'RTL Offers certain customizations on the UI to personalize your experience on the app\n' + 'Go to "Settings" page to access the customization options.\n' + - 'Node Layout Options\n'+ + 'Node Layout Options\n' + ' 1. User Persona - Two options are available to change the dashboard based on the persona.\n' + - ' 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n'+ - ' 3. Default Node - If you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\n'+ + ' 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n' + + ' 3. Default Node - If you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\n' + 'Other Customizations include day and night mode and a choice of color themes to select from.\n', lnImplementation: 'ALL' })); } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe(rtlStore => { - this.selNode = rtlStore.selNode; - switch (this.selNode.lnImplementation.toUpperCase()) { - case 'CLT': - this.LNPLink = '/cl/'; - break; - - case 'ECL': - this.LNPLink = '/ecl/'; - break; + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.selNode; + switch (this.selNode.lnImplementation.toUpperCase()) { + case 'CLT': + this.LNPLink = '/cl/'; + break; - default: - this.LNPLink = '/lnd/'; - break; - } - }); - this.sessionService.watchSession() - .pipe(takeUntil(this.unSubs[1])) - .subscribe(session => { - this.flgLoggedIn = (session.token) ? true : false; - }); - if (this.sessionService.getItem('token')) { this.flgLoggedIn = true; } + case 'ECL': + this.LNPLink = '/ecl/'; + break; + + default: + this.LNPLink = '/lnd/'; + break; + } + }); + this.sessionService.watchSession(). + pipe(takeUntil(this.unSubs[1])). + subscribe((session) => { + this.flgLoggedIn = !!session.token; + }); + if (this.sessionService.getItem('token')) { + this.flgLoggedIn = true; + } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); - } + } } diff --git a/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.spec.ts b/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.spec.ts index 7fb22590..205f2765 100644 --- a/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.spec.ts +++ b/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.spec.ts @@ -1,34 +1,25 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { LoggerService } from '../../services/logger.service'; +import { SharedModule } from '../../shared.module'; import { HorizontalScrollerComponent } from './horizontal-scroller.component'; -import { CommonService } from '../../services/common.service'; -import { Store, StoreModule } from '@ngrx/store'; -import * as fromRTLReducer from '../../../store/rtl.reducers'; -import { RTLReducer } from '../../../store/rtl.reducers'; describe('HorizontalScrollerComponent', () => { let component: HorizontalScrollerComponent; let fixture: ComponentFixture; - const mockCommonService = jasmine.createSpyObj("CommonService",["getScreenSize","setScreenSize", -"sortDescByKey","camelCase","titleCase","convertCurrency","convertWithoutFiat","convertWithFiat", -"convertTime","convertTimestampToDate","downloadFile","convertToCSV"]); - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ HorizontalScrollerComponent ], - providers: [ - { provide: CommonService, useValue: mockCommonService } + declarations: [HorizontalScrollerComponent], + imports: [ + BrowserAnimationsModule, + SharedModule ], - imports:[ - StoreModule.forRoot(RTLReducer, { - runtimeChecks: { - strictStateImmutability: false, - strictActionImmutability: false - } - }) - ] - }) - .compileComponents(); + providers: [LoggerService] + }). + compileComponents(); })); beforeEach(() => { @@ -40,4 +31,8 @@ describe('HorizontalScrollerComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.ts b/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.ts index 818186f0..b0ff1100 100644 --- a/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.ts +++ b/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.ts @@ -11,6 +11,7 @@ import { LoggerService } from '../../services/logger.service'; animations: [sliderAnimation] }) export class HorizontalScrollerComponent { + @ViewChild('monthlyDatepicker') monthlyDatepicker; @ViewChild('yearlyDatepicker') yearlyDatepicker; public scrollRanges = SCROLL_RANGES; @@ -22,9 +23,9 @@ export class HorizontalScrollerComponent { public disableNext = true; public animationDirection = ''; public selectedValue = this.last; - @Output() stepChanged = new EventEmitter<{selDate:Date, selScrollRange:string}>(); - - constructor(private logger: LoggerService) {} + @Output() readonly stepChanged = new EventEmitter<{ selDate: Date, selScrollRange: string }>(); + + constructor(private logger: LoggerService) { } onRangeChanged(event: any) { this.selScrollRange = event.value; @@ -50,10 +51,10 @@ export class HorizontalScrollerComponent { this.animationDirection = 'backward'; if (this.selectedValue !== this.first) { this.selectedValue = this.first; - this.stepChanged.emit({selDate: this.selectedValue, selScrollRange: this.selScrollRange}); + this.stepChanged.emit({ selDate: this.selectedValue, selScrollRange: this.selScrollRange }); } break; - + case 'PREVIOUS': if (this.selScrollRange === SCROLL_RANGES[1]) { this.selectedValue = new Date(this.selectedValue.getFullYear() - 1, 0, 1, 0, 0, 0); @@ -61,28 +62,28 @@ export class HorizontalScrollerComponent { this.selectedValue = new Date(this.selectedValue.getFullYear(), this.selectedValue.getMonth() - 1, 1, 0, 0, 0); } this.animationDirection = 'backward'; - this.stepChanged.emit({selDate: this.selectedValue, selScrollRange: this.selScrollRange}); + this.stepChanged.emit({ selDate: this.selectedValue, selScrollRange: this.selScrollRange }); break; case 'NEXT': if (this.selScrollRange === SCROLL_RANGES[1]) { this.selectedValue = new Date(this.selectedValue.getFullYear() + 1, 0, 1, 0, 0, 0); } else { - this.selectedValue = new Date(this.selectedValue.getFullYear(), this.selectedValue.getMonth() + 1 , 1, 0, 0, 0); + this.selectedValue = new Date(this.selectedValue.getFullYear(), this.selectedValue.getMonth() + 1, 1, 0, 0, 0); } this.animationDirection = 'forward'; - this.stepChanged.emit({selDate: this.selectedValue, selScrollRange: this.selScrollRange}); + this.stepChanged.emit({ selDate: this.selectedValue, selScrollRange: this.selScrollRange }); break; case 'LAST': this.animationDirection = 'forward'; this.selectedValue = this.last; - this.stepChanged.emit({selDate: this.selectedValue, selScrollRange: this.selScrollRange}); + this.stepChanged.emit({ selDate: this.selectedValue, selScrollRange: this.selScrollRange }); break; default: this.animationDirection = ''; - this.stepChanged.emit({selDate: this.selectedValue, selScrollRange: this.selScrollRange}); + this.stepChanged.emit({ selDate: this.selectedValue, selScrollRange: this.selScrollRange }); break; } this.disablePrev = (this.selScrollRange === SCROLL_RANGES[1]) ? this.selectedValue.getFullYear() <= this.first.getFullYear() : (this.selectedValue.getFullYear() <= this.first.getFullYear() && this.selectedValue.getMonth() <= this.first.getMonth()); @@ -95,9 +96,9 @@ export class HorizontalScrollerComponent { } @HostListener('click', ['$event']) onChartMouseUp(e) { - if(e.srcElement.name === 'monthlyDate') { + if (e.srcElement.name === 'monthlyDate') { this.monthlyDatepicker.open(); - } else if(e.srcElement.name === 'yearlyDate') { + } else if (e.srcElement.name === 'yearlyDate') { this.yearlyDatepicker.open(); } } diff --git a/src/app/shared/components/login/login.component.ts b/src/app/shared/components/login/login.component.ts index d01c8f4c..b8268e1f 100644 --- a/src/app/shared/components/login/login.component.ts +++ b/src/app/shared/components/login/login.component.ts @@ -7,13 +7,14 @@ import { faUnlockAlt } from '@fortawesome/free-solid-svg-icons'; import { LoginTokenComponent } from '../data-modal/login-2fa-token/login-2fa-token.component'; import { ConfigSettingsNode, RTLConfiguration } from '../../models/RTLconfig'; -import { PASSWORD_BLACKLIST, ScreenSizeEnum } from '../../services/consts-enums-functions'; +import { APICallStatusEnum, PASSWORD_BLACKLIST, ScreenSizeEnum } from '../../services/consts-enums-functions'; import { CommonService } from '../../services/common.service'; import { LoggerService } from '../../services/logger.service'; import { RTLEffects } from '../../../store/rtl.effects'; import * as fromRTLReducer from '../../../store/rtl.reducers'; import * as RTLActions from '../../../store/rtl.actions'; +import { ApiCallsListRoot } from '../../models/apiCallsPayload'; @Component({ selector: 'rtl-login', @@ -21,6 +22,7 @@ import * as RTLActions from '../../../store/rtl.actions'; styleUrls: ['./login.component.scss'] }) export class LoginComponent implements OnInit, OnDestroy { + public faUnlockAlt = faUnlockAlt; public selNode: ConfigSettingsNode; public appConfig: RTLConfiguration; @@ -28,47 +30,57 @@ export class LoginComponent implements OnInit, OnDestroy { public rtlSSO = 0; public rtlCookiePath = ''; public accessKey = ''; - public loginErrorMessage = ''; public flgShow = false; public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; + public loginErrorMessage = ''; + public apisCallStatus: ApiCallsListRoot = null; + public apiCallStatusEnum = APICallStatusEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { } ngOnInit() { this.screenSize = this.commonService.getScreenSize(); - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - rtlStore.effectErrorsRoot.forEach(effectsErr => { - if (effectsErr.action === 'Login' || effectsErr.action === 'IsAuthorized') { - this.loginErrorMessage = this.loginErrorMessage + effectsErr.message + ' '; + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.loginErrorMessage = ''; + this.apisCallStatus = rtlStore.apisCallStatus; + if (rtlStore.apisCallStatus.Login.status === APICallStatusEnum.ERROR) { + this.loginErrorMessage = this.loginErrorMessage + ((typeof (this.apisCallStatus.Login.message) === 'object') ? JSON.stringify(this.apisCallStatus.Login.message) : this.apisCallStatus.Login.message); + this.logger.error(this.apisCallStatus.Login.message); + } + if (rtlStore.apisCallStatus.IsAuthorized.status === APICallStatusEnum.ERROR) { + this.loginErrorMessage = this.loginErrorMessage + ((typeof (this.apisCallStatus.IsAuthorized.message) === 'object') ? JSON.stringify(this.apisCallStatus.IsAuthorized.message) : this.apisCallStatus.IsAuthorized.message); + this.logger.error(this.apisCallStatus.IsAuthorized.message); } - this.logger.error(effectsErr); + this.selNode = rtlStore.selNode; + this.appConfig = rtlStore.appConfig; + this.logger.info(rtlStore); }); - this.selNode = rtlStore.selNode; - this.appConfig = rtlStore.appConfig; - this.logger.info(rtlStore); - }); } - onLogin():boolean|void { - if(!this.password) { return true; } + onLogin(): boolean | void { + if (!this.password) { + return true; + } this.loginErrorMessage = ''; if (this.appConfig.enable2FA) { - this.store.dispatch(new RTLActions.OpenAlert({ maxWidth: '35rem', data: { - component: LoginTokenComponent - }})); - this.rtlEffects.closeAlert - .pipe(take(1)) - .subscribe(alertRes => { - if (alertRes) { - this.store.dispatch(new RTLActions.Login({password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase()), twoFAToken: alertRes.twoFAToken})); + this.store.dispatch(new RTLActions.OpenAlert({ + maxWidth: '35rem', data: { + component: LoginTokenComponent } - }); + })); + this.rtlEffects.closeAlert. + pipe(take(1)). + subscribe((alertRes) => { + if (alertRes) { + this.store.dispatch(new RTLActions.Login({ password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase()), twoFAToken: alertRes.twoFAToken })); + } + }); } else { - this.store.dispatch(new RTLActions.Login({password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase())})); + this.store.dispatch(new RTLActions.Login({ password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase()) })); } } @@ -79,7 +91,7 @@ export class LoginComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/navigation/side-navigation/side-navigation.component.spec.ts b/src/app/shared/components/navigation/side-navigation/side-navigation.component.spec.ts index 660c9832..b2101d00 100644 --- a/src/app/shared/components/navigation/side-navigation/side-navigation.component.spec.ts +++ b/src/app/shared/components/navigation/side-navigation/side-navigation.component.spec.ts @@ -1,16 +1,43 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { SessionService } from '../../../../shared/services/session.service'; import { SideNavigationComponent } from './side-navigation.component'; +import { mockCLEffects, mockDataService, mockLoggerService, mockECLEffects, mockLNDEffects, mockRTLEffects } from '../../../test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { RTLEffects } from '../../../../store/rtl.effects'; +import { SharedModule } from '../../../shared.module'; +import { DataService } from '../../../services/data.service'; describe('SideNavigationComponent', () => { let component: SideNavigationComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SideNavigationComponent ] - }) - .compileComponents(); + declarations: [SideNavigationComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, SessionService, + { provide: DataService, useClass: mockDataService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +49,8 @@ describe('SideNavigationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/navigation/side-navigation/side-navigation.component.ts b/src/app/shared/components/navigation/side-navigation/side-navigation.component.ts index 6702e7c6..48afa345 100644 --- a/src/app/shared/components/navigation/side-navigation/side-navigation.component.ts +++ b/src/app/shared/components/navigation/side-navigation/side-navigation.component.ts @@ -18,7 +18,7 @@ import { MenuChildNode, MENU_DATA } from '../../../models/navMenu'; import { RTLEffects } from '../../../../store/rtl.effects'; import * as RTLActions from '../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../store/rtl.reducers'; -import { AlertTypeEnum, UserPersonaEnum } from '../../../services/consts-enums-functions'; +import { AlertTypeEnum, UI_MESSAGES, UserPersonaEnum } from '../../../services/consts-enums-functions'; import { CommonService } from '../../../services/common.service'; @Component({ @@ -27,8 +27,9 @@ import { CommonService } from '../../../services/common.service'; styleUrls: ['./side-navigation.component.scss'] }) export class SideNavigationComponent implements OnInit, OnDestroy { + @ViewChild(MatTree, { static: false }) tree: any; - @Output() ChildNavClicked = new EventEmitter(); + @Output() readonly ChildNavClicked = new EventEmitter(); faEject = faEject; faEye = faEye; public appConfig: RTLConfiguration; @@ -38,22 +39,22 @@ export class SideNavigationComponent implements OnInit, OnDestroy { public information: GetInfoRoot = {}; public informationChain: GetInfoChain = {}; public flgLoading = true; - public logoutNode = [{id: 200, parentId: 0, name: 'Logout', iconType: 'FA', icon: faEject}]; - public showDataNodes = [{id: 1000, parentId: 0, name: 'Public Key', iconType: 'FA', icon: faEye}]; + public logoutNode = [{ id: 200, parentId: 0, name: 'Logout', iconType: 'FA', icon: faEject }]; + public showDataNodes = [{ id: 1000, parentId: 0, name: 'Public Key', iconType: 'FA', icon: faEye }]; public showLogout = false; public numPendingChannels = 0; public smallScreen = false; public childRootRoute = ''; public userPersonaEnum = UserPersonaEnum; private unSubs = [new Subject(), new Subject(), new Subject(), new Subject()]; - treeControlNested = new NestedTreeControl(node => node.children); - treeControlLogout = new NestedTreeControl(node => node.children); - treeControlShowData = new NestedTreeControl(node => node.children); + treeControlNested = new NestedTreeControl((node) => node.children); + treeControlLogout = new NestedTreeControl((node) => node.children); + treeControlShowData = new NestedTreeControl((node) => node.children); navMenus = new MatTreeNestedDataSource(); navMenusLogout = new MatTreeNestedDataSource(); navMenusShowData = new MatTreeNestedDataSource(); - constructor(private logger: LoggerService, private commonService: CommonService, private sessionService: SessionService, private store: Store, private actions$: Actions, private rtlEffects: RTLEffects) { + constructor(private logger: LoggerService, private commonService: CommonService, private sessionService: SessionService, private store: Store, private actions: Actions, private rtlEffects: RTLEffects) { this.version = environment.VERSION; if (MENU_DATA.LNDChildren[MENU_DATA.LNDChildren.length - 1].id === 200) { MENU_DATA.LNDChildren.pop(); @@ -64,67 +65,70 @@ export class SideNavigationComponent implements OnInit, OnDestroy { } ngOnInit() { - let token = this.sessionService.getItem('token'); - this.showLogout = token ? true : false; - this.flgLoading = token ? true : false; - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe(rtlStore => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - this.settings = this.selNode.settings; - this.information = rtlStore.nodeData; - if ( this.information.identity_pubkey) { - if ( this.information.chains && typeof this.information.chains[0] === 'string') { - this.informationChain.chain = this.information.chains[0].toString(); - this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet'; - } else if (typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) { - const getInfoChain = this.information.chains[0]; - this.informationChain.chain = getInfoChain.chain; - this.informationChain.network = getInfoChain.network; + const token = this.sessionService.getItem('token'); + this.showLogout = !!token; + this.flgLoading = !!token; + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + this.settings = this.selNode.settings; + this.information = rtlStore.nodeData; + if (this.information.identity_pubkey) { + if (this.information.chains && typeof this.information.chains[0] === 'string') { + this.informationChain.chain = this.information.chains[0].toString(); + this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet'; + } else if (typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) { + const getInfoChain = this.information.chains[0]; + this.informationChain.chain = getInfoChain.chain; + this.informationChain.network = getInfoChain.network; + } + } else { + this.informationChain.chain = ''; + this.informationChain.network = ''; } - } else { - this.informationChain.chain = ''; - this.informationChain.network = ''; - } - this.flgLoading = ( this.information.identity_pubkey) ? false : true; - if (window.innerWidth <= 414) { - this.smallScreen = true; - } - if(this.settings.lnServerUrl) { - this.filterSideMenuNodes(); - } - this.logger.info(rtlStore); - }); - this.sessionService.watchSession() - .pipe(takeUntil(this.unSubs[1])) - .subscribe(session => { - this.showLogout = session.token ? true : false; - this.flgLoading = session.token ? true : false; - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === RTLActions.LOGOUT)) - .subscribe((action: RTLActions.Logout) => { - this.showLogout = false; - }); + this.flgLoading = !(this.information.identity_pubkey); + if (window.innerWidth <= 414) { + this.smallScreen = true; + } + if (this.selNode && this.selNode.lnImplementation) { + this.filterSideMenuNodes(); + } + this.logger.info(rtlStore); + }); + this.sessionService.watchSession(). + pipe(takeUntil(this.unSubs[1])). + subscribe((session) => { + this.showLogout = !!session.token; + this.flgLoading = !!session.token; + }); + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === RTLActions.LOGOUT)). + subscribe((action: RTLActions.Logout) => { + this.showLogout = false; + }); } - hasChild = (_: number, node: MenuChildNode) => !!node.children && node.children.length > 0; + hasChild = (_: number, node: MenuChildNode) => !!node.children && node.children.length > 0; onClick(node: MenuChildNode) { if (node.name === 'Logout') { this.store.dispatch(new RTLActions.OpenConfirmation({ - data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.showLogout = false; - this.store.dispatch(new RTLActions.Logout()); + data: { + type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout' } - }); + })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.showLogout = false; + this.store.dispatch(new RTLActions.Logout()); + } + }); } this.ChildNavClicked.emit(node); } @@ -132,37 +136,31 @@ export class SideNavigationComponent implements OnInit, OnDestroy { onChildNavClicked(node) { this.ChildNavClicked.emit(node); } - + filterSideMenuNodes() { - if(this.selNode && this.selNode.lnImplementation) { - switch (this.selNode.lnImplementation.toUpperCase()) { - case 'CLT': - this.loadCLTMenu(); - break; - - case 'ECL': - this.loadECLMenu(); - break; - - default: - this.loadLNDMenu(); - break; - } - } else { - this.loadLNDMenu(); + switch (this.selNode.lnImplementation.toUpperCase()) { + case 'CLT': + this.loadCLTMenu(); + break; + + case 'ECL': + this.loadECLMenu(); + break; + + default: + this.loadLNDMenu(); + break; } - } + } loadLNDMenu() { let clonedMenu = []; clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.LNDChildren)); - this.navMenus.data = clonedMenu.filter(navMenuData => { - if(navMenuData.children && navMenuData.children.length) { - navMenuData.children = navMenuData.children.filter(navMenuChild => { - return ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings.userPersona) && navMenuChild.link !== '/services/loop' && navMenuChild.link !== '/services/boltz') - || (navMenuChild.link === '/services/loop' && this.settings.swapServerUrl && this.settings.swapServerUrl.trim() !== '') - || (navMenuChild.link === '/services/boltz' && this.settings.boltzServerUrl && this.settings.boltzServerUrl.trim() !== ''); - }); + this.navMenus.data = clonedMenu.filter((navMenuData) => { + if (navMenuData.children && navMenuData.children.length) { + navMenuData.children = navMenuData.children.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings.userPersona) && navMenuChild.link !== '/services/loop' && navMenuChild.link !== '/services/boltz') || + (navMenuChild.link === '/services/loop' && this.settings.swapServerUrl && this.settings.swapServerUrl.trim() !== '') || + (navMenuChild.link === '/services/boltz' && this.settings.boltzServerUrl && this.settings.boltzServerUrl.trim() !== '')); return navMenuData.children.length > 0; } return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings.userPersona; @@ -172,12 +170,10 @@ export class SideNavigationComponent implements OnInit, OnDestroy { loadCLTMenu() { let clonedMenu = []; clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.CLChildren)); - this.navMenus.data = clonedMenu.filter(navMenuData => { - if(navMenuData.children && navMenuData.children.length) { - navMenuData.children = navMenuData.children.filter(navMenuChild => { - return ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings.userPersona) && navMenuChild.link !== '/cl/messages') - || (navMenuChild.link === '/cl/messages' && this.information.api_version && this.commonService.isVersionCompatible(this.information.api_version, '0.2.2')); - }); + this.navMenus.data = clonedMenu.filter((navMenuData) => { + if (navMenuData.children && navMenuData.children.length) { + navMenuData.children = navMenuData.children.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings.userPersona) && navMenuChild.link !== '/cl/messages') || + (navMenuChild.link === '/cl/messages' && this.information.api_version && this.commonService.isVersionCompatible(this.information.api_version, '0.2.2'))); } return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings.userPersona; }); @@ -194,13 +190,12 @@ export class SideNavigationComponent implements OnInit, OnDestroy { onNodeSelectionChange(selNodeValue: ConfigSettingsNode) { this.selNode = selNodeValue; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Selected Node...')); - this.store.dispatch(new RTLActions.SetSelelectedNode({ lnNode: selNodeValue, isInitialSetup: false })); + this.store.dispatch(new RTLActions.SetSelelectedNode({ uiMessage: UI_MESSAGES.UPDATE_SELECTED_NODE, lnNode: selNodeValue, isInitialSetup: false })); this.ChildNavClicked.emit('selectNode'); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/navigation/top-menu/top-menu.component.spec.ts b/src/app/shared/components/navigation/top-menu/top-menu.component.spec.ts index 999b9093..a95627fe 100644 --- a/src/app/shared/components/navigation/top-menu/top-menu.component.spec.ts +++ b/src/app/shared/components/navigation/top-menu/top-menu.component.spec.ts @@ -1,16 +1,41 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { SessionService } from '../../../../shared/services/session.service'; import { TopMenuComponent } from './top-menu.component'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockLoggerService, mockRTLEffects } from '../../../test-helpers/mock-services'; +import { RTLEffects } from '../../../../store/rtl.effects'; +import { EffectsModule } from '@ngrx/effects'; +import { SharedModule } from '../../../shared.module'; describe('TopMenuComponent', () => { let component: TopMenuComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ TopMenuComponent ] - }) - .compileComponents(); + declarations: [TopMenuComponent], + imports: [ + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + SessionService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: RTLEffects, useClass: mockRTLEffects } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +47,8 @@ describe('TopMenuComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/navigation/top-menu/top-menu.component.ts b/src/app/shared/components/navigation/top-menu/top-menu.component.ts index 738612b0..01569c82 100644 --- a/src/app/shared/components/navigation/top-menu/top-menu.component.ts +++ b/src/app/shared/components/navigation/top-menu/top-menu.component.ts @@ -23,6 +23,7 @@ import * as RTLActions from '../../../../store/rtl.actions'; encapsulation: ViewEncapsulation.None }) export class TopMenuComponent implements OnInit, OnDestroy { + public selNode: ConfigSettingsNode; public faUserCog = faUserCog; public faCodeBranch = faCodeBranch; @@ -36,63 +37,65 @@ export class TopMenuComponent implements OnInit, OnDestroy { public showLogout = false; private unSubs = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private sessionService: SessionService, private store: Store, private rtlEffects: RTLEffects, private actions$: Actions) { + constructor(private logger: LoggerService, private sessionService: SessionService, private store: Store, private rtlEffects: RTLEffects, private actions: Actions) { this.version = environment.VERSION; } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.selNode = rtlStore.selNode; - this.information = rtlStore.nodeData; - this.flgLoading = ( this.information.identity_pubkey) ? false : true; - if ( this.information.identity_pubkey) { - if ( this.information.chains && typeof this.information.chains[0] === 'string') { - this.informationChain.chain = this.information.chains[0].toString(); - this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet'; - } else if (typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) { - const getInfoChain = this.information.chains[0]; - this.informationChain.chain = getInfoChain.chain; - this.informationChain.network = getInfoChain.network; + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.selNode = rtlStore.selNode; + this.information = rtlStore.nodeData; + this.flgLoading = !(this.information.identity_pubkey); + if (this.information.identity_pubkey) { + if (this.information.chains && typeof this.information.chains[0] === 'string') { + this.informationChain.chain = this.information.chains[0].toString(); + this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet'; + } else if (typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) { + const getInfoChain = this.information.chains[0]; + this.informationChain.chain = getInfoChain.chain; + this.informationChain.network = getInfoChain.network; + } + } else { + this.informationChain.chain = ''; + this.informationChain.network = ''; } - } else { - this.informationChain.chain = ''; - this.informationChain.network = ''; - } - this.logger.info(rtlStore); - }); - this.sessionService.watchSession() - .pipe(takeUntil(this.unSubs[1])) - .subscribe(session => { - this.showLogout = session.token ? true : false; - this.flgLoading = session.token ? true : false; - }); - this.actions$ - .pipe( - takeUntil(this.unSubs[2]), - filter((action) => action.type === RTLActions.LOGOUT) - ).subscribe(() => { - this.showLogout = false; - }); + this.logger.info(rtlStore); + }); + this.sessionService.watchSession(). + pipe(takeUntil(this.unSubs[1])). + subscribe((session) => { + this.showLogout = !!session.token; + this.flgLoading = !!session.token; + }); + this.actions. + pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === RTLActions.LOGOUT) + ).subscribe(() => { + this.showLogout = false; + }); } onClick() { this.store.dispatch(new RTLActions.OpenConfirmation({ - data: { type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout' - }})); - this.rtlEffects.closeConfirm - .pipe(takeUntil(this.unSubs[3])) - .subscribe(confirmRes => { - if (confirmRes) { - this.showLogout = false; - this.store.dispatch(new RTLActions.Logout()); + data: { + type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout' } - }); + })); + this.rtlEffects.closeConfirm. + pipe(takeUntil(this.unSubs[3])). + subscribe((confirmRes) => { + if (confirmRes) { + this.showLogout = false; + this.store.dispatch(new RTLActions.Logout()); + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/node-config/lnp-config/lnp-config.component.ts b/src/app/shared/components/node-config/lnp-config/lnp-config.component.ts index 0d2f4eb0..0f3279c8 100644 --- a/src/app/shared/components/node-config/lnp-config/lnp-config.component.ts +++ b/src/app/shared/components/node-config/lnp-config/lnp-config.component.ts @@ -15,41 +15,42 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./lnp-config.component.scss'] }) export class LNPConfigComponent implements OnInit, OnDestroy { + public selectedNodeType = ''; public configData = ''; public fileFormat = 'INI'; public faCog = faCog; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) {} + constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) { } ngOnInit() { this.selectedNodeType = (this.router.url.includes('bconfig')) ? 'bitcoind' : 'ln'; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.selectedNodeType = (value.urlAfterRedirects.includes('bconfig')) ? 'bitcoind' : 'ln'; - }); - this.store.dispatch(new RTLActions.OpenSpinner('Opening Config File...')); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.selectedNodeType = (value.urlAfterRedirects.includes('bconfig')) ? 'bitcoind' : 'ln'; + }); this.store.dispatch(new RTLActions.FetchConfig(this.selectedNodeType)); - this.rtlEffects.showLnConfig - .pipe(takeUntil(this.unSubs[1])) - .subscribe((config: any) => { - const configFile = config.data; - this.fileFormat = config.format; - if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) { - this.configData = configFile.split('\n'); - } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') { - this.configData = configFile; - } else { - this.configData = ''; - } - }); + this.rtlEffects.showLnConfig. + pipe(takeUntil(this.unSubs[1])). + subscribe((config: any) => { + const configFile = config.data; + this.fileFormat = config.format; + if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) { + this.configData = configFile.split('\n'); + } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') { + this.configData = configFile; + } else { + this.configData = ''; + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/node-config/node-config.component.spec.ts b/src/app/shared/components/node-config/node-config.component.spec.ts index e340300d..2a90a3fe 100644 --- a/src/app/shared/components/node-config/node-config.component.spec.ts +++ b/src/app/shared/components/node-config/node-config.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { SharedModule } from '../../shared.module'; import { NodeConfigComponent } from './node-config.component'; describe('NodeConfigComponent', () => { let component: NodeConfigComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NodeConfigComponent ] - }) - .compileComponents(); + declarations: [NodeConfigComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('NodeConfigComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/node-config/node-config.component.ts b/src/app/shared/components/node-config/node-config.component.ts index ee40d8d2..34a021df 100644 --- a/src/app/shared/components/node-config/node-config.component.ts +++ b/src/app/shared/components/node-config/node-config.component.ts @@ -13,55 +13,57 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; templateUrl: './node-config.component.html', styleUrls: ['./node-config.component.scss'] }) -export class NodeConfigComponent implements OnInit, OnDestroy{ +export class NodeConfigComponent implements OnInit, OnDestroy { + public faTools = faTools; public showLnConfig = false; public selNode: ConfigSettingsNode; public appConfig: RTLConfiguration; public lnImplementationStr = ''; - public links = [{link: 'node', name: 'Node'}, {link: 'services', name: 'Services'}, {link: 'lnconfig', name: this.lnImplementationStr}]; + public links = [{ link: 'node', name: 'Node' }, { link: 'services', name: 'Services' }, { link: 'lnconfig', name: this.lnImplementationStr }]; public activeLink = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private router: Router) {} + constructor(private store: Store, private router: Router) { } ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('root').pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.showLnConfig = false; - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - switch (this.selNode.lnImplementation.toUpperCase()) { - case 'CLT': - this.lnImplementationStr = 'C-Lightning Config'; - break; - - case 'ECL': - this.lnImplementationStr = 'Eclair Config'; - break; + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('root').pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.showLnConfig = false; + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + switch (this.selNode.lnImplementation.toUpperCase()) { + case 'CLT': + this.lnImplementationStr = 'C-Lightning Config'; + break; - default: - this.lnImplementationStr = 'LND Config'; - break; - } - if (this.selNode.authentication && this.selNode.authentication.configPath && this.selNode.authentication.configPath.trim() !== '') { - this.links[2].name = this.lnImplementationStr; - this.showLnConfig = true; - } - }); + case 'ECL': + this.lnImplementationStr = 'Eclair Config'; + break; + + default: + this.lnImplementationStr = 'LND Config'; + break; + } + if (this.selNode.authentication && this.selNode.authentication.configPath && this.selNode.authentication.configPath.trim() !== '') { + this.links[2].name = this.lnImplementationStr; + this.showLnConfig = true; + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/node-config/node-settings/node-settings.component.spec.ts b/src/app/shared/components/node-config/node-settings/node-settings.component.spec.ts index c448c6e2..da842e51 100644 --- a/src/app/shared/components/node-config/node-settings/node-settings.component.spec.ts +++ b/src/app/shared/components/node-config/node-settings/node-settings.component.spec.ts @@ -1,16 +1,40 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { CommonService } from '../../../../shared/services/common.service'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { NodeSettingsComponent } from './node-settings.component'; +import { mockDataService, mockLoggerService } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../services/data.service'; describe('NodeSettingsComponent', () => { let component: NodeSettingsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NodeSettingsComponent ] - }) - .compileComponents(); + declarations: [NodeSettingsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +46,8 @@ describe('NodeSettingsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/node-config/node-settings/node-settings.component.ts b/src/app/shared/components/node-config/node-settings/node-settings.component.ts index 0f4f93af..be91d569 100644 --- a/src/app/shared/components/node-config/node-settings/node-settings.component.ts +++ b/src/app/shared/components/node-config/node-settings/node-settings.component.ts @@ -4,7 +4,7 @@ import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faMoneyBillAlt, faPaintBrush, faInfoCircle, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; -import { CURRENCY_UNITS, UserPersonaEnum, ScreenSizeEnum, FIAT_CURRENCY_UNITS, NODE_SETTINGS } from '../../../services/consts-enums-functions'; +import { CURRENCY_UNITS, UserPersonaEnum, ScreenSizeEnum, FIAT_CURRENCY_UNITS, NODE_SETTINGS, UI_MESSAGES } from '../../../services/consts-enums-functions'; import { ConfigSettingsNode, Settings, RTLConfiguration, GetInfoRoot } from '../../../models/RTLconfig'; import { LoggerService } from '../../../services/logger.service'; import { CommonService } from '../../../services/common.service'; @@ -21,6 +21,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./node-settings.component.scss'] }) export class NodeSettingsComponent implements OnInit, OnDestroy { + public faExclamationTriangle = faExclamationTriangle; public faMoneyBillAlt = faMoneyBillAlt; public faPaintBrush = faPaintBrush; @@ -47,29 +48,34 @@ export class NodeSettingsComponent implements OnInit, OnDestroy { } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - this.selectedThemeMode = this.themeModes.find(themeMode => this.selNode.settings.themeMode === themeMode.id); - this.selectedThemeColor = this.selNode.settings.themeColor; - this.information = rtlStore.nodeData; - this.smallerCurrencyUnit = ( this.information && this.information.smaller_currency_unit) ? this.information.smaller_currency_unit : 'Sats'; - this.currencyUnit = ( this.information && this.information.currency_unit) ? this.information.currency_unit : 'BTC'; - if(!this.selNode.settings.fiatConversion) { - this.selNode.settings.currencyUnit = null; - } - this.previousSettings = JSON.parse(JSON.stringify(this.selNode.settings)); - this.logger.info(rtlStore); - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + this.selectedThemeMode = this.themeModes.find((themeMode) => this.selNode.settings.themeMode === themeMode.id); + this.selectedThemeColor = this.selNode.settings.themeColor; + this.information = rtlStore.nodeData; + if (!this.selNode.settings.fiatConversion) { + this.selNode.settings.currencyUnit = null; + } + this.previousSettings = JSON.parse(JSON.stringify(this.selNode.settings)); + this.logger.info(rtlStore); + }); } onCurrencyChange(event: any) { this.selNode.settings.currencyUnits = [...CURRENCY_UNITS, event.value]; - this.store.dispatch(new LNDActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new CLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new ECLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); + this.store.dispatch(new LNDActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, + lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); + this.store.dispatch(new CLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); + this.store.dispatch(new ECLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); } toggleSettings(toggleField: string, event?: any) { @@ -85,25 +91,32 @@ export class NodeSettingsComponent implements OnInit, OnDestroy { this.selNode.settings.themeMode = this.selectedThemeMode.id; } - onUpdateSettings():boolean|void { - if(this.selNode.settings.fiatConversion && !this.selNode.settings.currencyUnit) { return true; } + onUpdateSettings(): boolean | void { + if (this.selNode.settings.fiatConversion && !this.selNode.settings.currencyUnit) { + return true; + } this.logger.info(this.selNode.settings); - this.store.dispatch(new RTLActions.OpenSpinner('Updating Node Settings...')); - this.store.dispatch(new RTLActions.SaveSettings({settings: this.selNode.settings})); - this.store.dispatch(new LNDActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new CLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new ECLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); + this.store.dispatch(new RTLActions.SaveSettings({ uiMessage: UI_MESSAGES.UPDATE_NODE_SETTINGS, settings: this.selNode.settings })); + this.store.dispatch(new LNDActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); + this.store.dispatch(new CLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); + this.store.dispatch(new ECLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); } onResetSettings() { this.selNode.settings = this.previousSettings; - this.selectedThemeMode = this.themeModes.find(themeMode => themeMode.id === this.previousSettings.themeMode); + this.selectedThemeMode = this.themeModes.find((themeMode) => themeMode.id === this.previousSettings.themeMode); this.selectedThemeColor = this.previousSettings.themeColor; - this.store.dispatch(new RTLActions.SetSelelectedNode({ lnNode: this.selNode, isInitialSetup: true })); - } + this.store.dispatch(new RTLActions.SetSelelectedNode({ uiMessage: UI_MESSAGES.NO_SPINNER, lnNode: this.selNode, isInitialSetup: true })); + } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.ts b/src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.ts index c3ebb7ed..087a9035 100644 --- a/src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.ts +++ b/src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.ts @@ -3,7 +3,7 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { ServicesEnum } from '../../../../services/consts-enums-functions'; +import { ServicesEnum, UI_MESSAGES } from '../../../../services/consts-enums-functions'; import { ConfigSettingsNode, RTLConfiguration } from '../../../../models/RTLconfig'; import { LoggerService } from '../../../../services/logger.service'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; @@ -20,6 +20,7 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./boltz-service-settings.component.scss'] }) export class BoltzServiceSettingsComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public faInfoCircle = faInfoCircle; public appConfig: RTLConfiguration; @@ -30,20 +31,20 @@ export class BoltzServiceSettingsComponent implements OnInit, OnDestroy { public macaroonPath = ''; unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store) {} + constructor(private logger: LoggerService, private store: Store) { } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - this.enableBoltz = rtlStore.selNode.settings.boltzServerUrl && rtlStore.selNode.settings.boltzServerUrl.trim() !== ''; - this.serverUrl = this.selNode.settings.boltzServerUrl; - this.macaroonPath = this.selNode.authentication.boltzMacaroonPath; - this.previousSelNode = JSON.parse(JSON.stringify(this.selNode)); - this.logger.info(rtlStore); - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + this.enableBoltz = rtlStore.selNode.settings.boltzServerUrl && rtlStore.selNode.settings.boltzServerUrl.trim() !== ''; + this.serverUrl = this.selNode.settings.boltzServerUrl; + this.macaroonPath = this.selNode.authentication.boltzMacaroonPath; + this.previousSelNode = JSON.parse(JSON.stringify(this.selNode)); + this.logger.info(rtlStore); + }); } onEnableServiceChanged(event) { @@ -54,25 +55,32 @@ export class BoltzServiceSettingsComponent implements OnInit, OnDestroy { } } - onUpdateService():boolean|void { - if(this.serverUrl && this.serverUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) { - this.form.controls.srvrUrl.setErrors({invalid: true}); + onUpdateService(): boolean | void { + if (this.serverUrl && this.serverUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) { + this.form.controls.srvrUrl.setErrors({ invalid: true }); } - if(this.enableBoltz && - (!this.serverUrl || - this.serverUrl.trim() === '' || - !this.serverUrl.includes('https://') || - !this.macaroonPath || + if (this.enableBoltz && + (!this.serverUrl || + this.serverUrl.trim() === '' || + !this.serverUrl.includes('https://') || + !this.macaroonPath || this.macaroonPath.trim() === '') - ) { return true; } + ) { + return true; + } this.logger.info(this.selNode); this.selNode.settings.boltzServerUrl = this.serverUrl; this.selNode.authentication.boltzMacaroonPath = this.macaroonPath; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Boltz Service Settings...')); - this.store.dispatch(new RTLActions.UpdateServiceSettings({service: ServicesEnum.BOLTZ, settings: { enable: this.enableBoltz, serverUrl: this.serverUrl, macaroonPath: this.macaroonPath }})); - this.store.dispatch(new LNDActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl})); - this.store.dispatch(new CLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl})); - this.store.dispatch(new ECLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl})); + this.store.dispatch(new RTLActions.UpdateServiceSettings({ uiMessage: UI_MESSAGES.UPDATE_BOLTZ_SETTINGS, service: ServicesEnum.BOLTZ, settings: { enable: this.enableBoltz, serverUrl: this.serverUrl, macaroonPath: this.macaroonPath } })); + this.store.dispatch(new LNDActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl + })); + this.store.dispatch(new CLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl + })); + this.store.dispatch(new ECLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl + })); } onReset() { @@ -83,7 +91,7 @@ export class BoltzServiceSettingsComponent implements OnInit, OnDestroy { } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.ts b/src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.ts index 74482378..eb581bb0 100644 --- a/src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.ts +++ b/src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.ts @@ -3,7 +3,7 @@ import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { ServicesEnum } from '../../../../services/consts-enums-functions'; +import { ServicesEnum, UI_MESSAGES } from '../../../../services/consts-enums-functions'; import { ConfigSettingsNode, RTLConfiguration } from '../../../../models/RTLconfig'; import { LoggerService } from '../../../../services/logger.service'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; @@ -20,6 +20,7 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./loop-service-settings.component.scss'] }) export class LoopServiceSettingsComponent implements OnInit, OnDestroy { + @ViewChild('form', { static: true }) form: any; public faInfoCircle = faInfoCircle; public appConfig: RTLConfiguration; @@ -28,18 +29,18 @@ export class LoopServiceSettingsComponent implements OnInit, OnDestroy { public enableLoop = false; unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store) {} + constructor(private logger: LoggerService, private store: Store) { } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - this.enableLoop = rtlStore.selNode.settings.swapServerUrl && rtlStore.selNode.settings.swapServerUrl.trim() !== ''; - this.previousSelNode = JSON.parse(JSON.stringify(this.selNode)); - this.logger.info(rtlStore); - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + this.enableLoop = rtlStore.selNode.settings.swapServerUrl && rtlStore.selNode.settings.swapServerUrl.trim() !== ''; + this.previousSelNode = JSON.parse(JSON.stringify(this.selNode)); + this.logger.info(rtlStore); + }); } onEnableServiceChanged(event) { @@ -50,26 +51,33 @@ export class LoopServiceSettingsComponent implements OnInit, OnDestroy { } } - onUpdateService():boolean|void { - if(this.selNode.settings.swapServerUrl && this.selNode.settings.swapServerUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) { - this.form.controls.srvrUrl.setErrors({invalid: true}); + onUpdateService(): boolean | void { + if (this.selNode.settings.swapServerUrl && this.selNode.settings.swapServerUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) { + this.form.controls.srvrUrl.setErrors({ invalid: true }); + } + if (this.enableLoop && (!this.selNode.settings.swapServerUrl || this.selNode.settings.swapServerUrl.trim() === '' || !this.selNode.authentication.swapMacaroonPath || this.selNode.authentication.swapMacaroonPath.trim() === '')) { + return true; } - if(this.enableLoop && (!this.selNode.settings.swapServerUrl || this.selNode.settings.swapServerUrl.trim() === '' || !this.selNode.authentication.swapMacaroonPath || this.selNode.authentication.swapMacaroonPath.trim() === '')) { return true; } this.logger.info(this.selNode); - this.store.dispatch(new RTLActions.OpenSpinner('Updating Loop Service Settings...')); - this.store.dispatch(new RTLActions.UpdateServiceSettings({service: ServicesEnum.LOOP, settings: { enable: this.enableLoop, serverUrl: this.selNode.settings.swapServerUrl, macaroonPath: this.selNode.authentication.swapMacaroonPath }})); - this.store.dispatch(new LNDActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new CLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); - this.store.dispatch(new ECLActions.SetChildNodeSettings({userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl})); + this.store.dispatch(new RTLActions.UpdateServiceSettings({ uiMessage: UI_MESSAGES.UPDATE_LOOP_SETTINGS, service: ServicesEnum.LOOP, settings: { enable: this.enableLoop, serverUrl: this.selNode.settings.swapServerUrl, macaroonPath: this.selNode.authentication.swapMacaroonPath } })); + this.store.dispatch(new LNDActions.SetChildNodeSettings( + { userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl } + )); + this.store.dispatch(new CLActions.SetChildNodeSettings( + { userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl } + )); + this.store.dispatch(new ECLActions.SetChildNodeSettings({ + userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl + })); } onReset() { this.selNode = JSON.parse(JSON.stringify(this.previousSelNode)); this.enableLoop = this.selNode.settings.swapServerUrl && this.selNode.settings.swapServerUrl.trim() !== ''; - } + } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/node-config/services-settings/services-settings.component.spec.ts b/src/app/shared/components/node-config/services-settings/services-settings.component.spec.ts index b827fed0..dc705639 100644 --- a/src/app/shared/components/node-config/services-settings/services-settings.component.spec.ts +++ b/src/app/shared/components/node-config/services-settings/services-settings.component.spec.ts @@ -1,16 +1,32 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { SharedModule } from '../../../shared.module'; +import { BoltzServiceSettingsComponent } from './boltz-service-settings/boltz-service-settings.component'; +import { LoopServiceSettingsComponent } from './loop-service-settings/loop-service-settings.component'; import { ServicesSettingsComponent } from './services-settings.component'; describe('ServicesSettingsComponent', () => { let component: ServicesSettingsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ServicesSettingsComponent ] - }) - .compileComponents(); + declarations: [ServicesSettingsComponent, LoopServiceSettingsComponent, BoltzServiceSettingsComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +38,8 @@ describe('ServicesSettingsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/node-config/services-settings/services-settings.component.ts b/src/app/shared/components/node-config/services-settings/services-settings.component.ts index 7b0dce64..7a972bd5 100644 --- a/src/app/shared/components/node-config/services-settings/services-settings.component.ts +++ b/src/app/shared/components/node-config/services-settings/services-settings.component.ts @@ -15,32 +15,33 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./services-settings.component.scss'] }) export class ServicesSettingsComponent implements OnInit, OnDestroy { + public faLayerGroup = faLayerGroup; public selNode: ConfigSettingsNode; public appConfig: RTLConfiguration; - public links = [{link: 'loop', name: 'Loop'}, {link: 'boltz', name: 'Boltz'}]; + public links = [{ link: 'loop', name: 'Loop' }, { link: 'boltz', name: 'Boltz' }]; public activeLink = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private router: Router) {} + constructor(private store: Store, private router: Router) { } ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('root').pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('root').pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/not-found/not-found.component.ts b/src/app/shared/components/not-found/not-found.component.ts index b51f9540..798896b2 100644 --- a/src/app/shared/components/not-found/not-found.component.ts +++ b/src/app/shared/components/not-found/not-found.component.ts @@ -7,8 +7,9 @@ import { faTimes } from '@fortawesome/free-solid-svg-icons'; templateUrl: './not-found.component.html' }) export class NotFoundComponent { + public faTimes = faTimes; - + constructor(public router: Router) {} goToHelp(): void { diff --git a/src/app/shared/components/services/boltz/boltz-root.component.spec.ts b/src/app/shared/components/services/boltz/boltz-root.component.spec.ts index a20c2b3f..0670d20c 100644 --- a/src/app/shared/components/services/boltz/boltz-root.component.spec.ts +++ b/src/app/shared/components/services/boltz/boltz-root.component.spec.ts @@ -1,4 +1,14 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { BoltzService } from '../../../services/boltz.service'; +import { CommonService } from '../../../services/common.service'; +import { DataService } from '../../../services/data.service'; +import { mockBoltzService, mockDataService, mockLoggerService } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../shared.module'; import { BoltzRootComponent } from './boltz-root.component'; @@ -6,11 +16,27 @@ describe('BoltzRootComponent', () => { let component: BoltzRootComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ BoltzRootComponent ] - }) - .compileComponents(); + declarations: [BoltzRootComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: BoltzService, useClass: mockBoltzService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('BoltzRootComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/boltz-root.component.ts b/src/app/shared/components/services/boltz/boltz-root.component.ts index b6551c83..ab88179f 100644 --- a/src/app/shared/components/services/boltz/boltz-root.component.ts +++ b/src/app/shared/components/services/boltz/boltz-root.component.ts @@ -4,7 +4,7 @@ import { Subject } from 'rxjs'; import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; -import { SwapTypeEnum } from '../../../services/consts-enums-functions'; +import { SwapTypeEnum, UI_MESSAGES } from '../../../services/consts-enums-functions'; import { SwapModalComponent } from './swap-modal/swap-modal.component'; import { ReverseSwap, Swap, ListSwaps } from '../../../models/boltzModels'; import { BoltzService } from '../../../services/boltz.service'; @@ -18,43 +18,46 @@ import * as RTLActions from '../../../../store/rtl.actions'; styleUrls: ['./boltz-root.component.scss'] }) export class BoltzRootComponent implements OnInit, OnDestroy { + public swapTypeEnum = SwapTypeEnum; public selectedSwapType: SwapTypeEnum = SwapTypeEnum.SWAP_OUT; public swaps: ListSwaps = {}; public swapsData: Swap[] | ReverseSwap[] = []; public emptyTableMessage = 'No swap data available.'; public flgLoading: Array = [true]; - public links = [{link: 'swapout', name: 'Swap Out'}, {link: 'swapin', name: 'Swap In'}]; + public links = [{ link: 'swapout', name: 'Swap Out' }, { link: 'swapin', name: 'Swap In' }]; public activeTab = this.links[0]; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private router: Router, private store: Store, private boltzService: BoltzService) {} + constructor(private router: Router, private store: Store, private boltzService: BoltzService) { } ngOnInit() { this.boltzService.listSwaps(); - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeTab = linkFound ? linkFound : this.links[0]; - this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeTab = linkFound ? linkFound : this.links[0]; - this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT - }); - this.boltzService.swapsChanged - .pipe(takeUntil(this.unSubs[1])) - .subscribe((swaps: ListSwaps) => { - this.swaps = swaps; - this.swapsData = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? swaps.swaps : swaps.reverseSwaps; - this.flgLoading[0] = false; - }, (err) => { - this.flgLoading[0] = 'error'; - this.emptyTableMessage = err.message ? err.message : 'No swap ' + ((this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'in' : 'out') + ' available.'; - }); + this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT; + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeTab = linkFound ? linkFound : this.links[0]; + this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT; + }); + this.boltzService.swapsChanged. + pipe(takeUntil(this.unSubs[1])). + subscribe({ + next: (swaps: ListSwaps) => { + this.swaps = swaps; + this.swapsData = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? swaps.swaps : swaps.reverseSwaps; + this.flgLoading[0] = false; + }, error: (err) => { + this.flgLoading[0] = 'error'; + this.emptyTableMessage = err.message ? err.message : 'No swap ' + ((this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'in' : 'out') + ' available.'; + } + }); } onSelectedIndexChange(activeTab: any) { - if(activeTab.link === 'swapin') { + if (activeTab.link === 'swapin') { this.selectedSwapType = SwapTypeEnum.SWAP_IN; this.swapsData = this.swaps.swaps; } else { @@ -64,24 +67,24 @@ export class BoltzRootComponent implements OnInit, OnDestroy { } onSwap(direction: SwapTypeEnum) { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Service Info...')); - this.boltzService.serviceInfo() - .pipe(takeUntil(this.unSubs[2])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({data: { - serviceInfo: response, - direction: direction, - component: SwapModalComponent - }})); - }); + this.boltzService.serviceInfo(). + pipe(takeUntil(this.unSubs[2])). + subscribe((response) => { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + serviceInfo: response, + direction: direction, + component: SwapModalComponent + } + })); + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } - + } diff --git a/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.spec.ts b/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.spec.ts index bcc6c4ec..3f5e2aca 100644 --- a/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.spec.ts +++ b/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.spec.ts @@ -1,16 +1,38 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { SharedModule } from '../../../../shared.module'; +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../services/common.service'; +import { DataService } from '../../../../services/data.service'; import { SwapInInfoGraphicsComponent } from './info-graphics.component'; +import { mockDataService, mockLoggerService } from '../../../../test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('SwapInInfoGraphicsComponent', () => { let component: SwapInInfoGraphicsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapInInfoGraphicsComponent ] - }) - .compileComponents(); + declarations: [SwapInInfoGraphicsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +44,8 @@ describe('SwapInInfoGraphicsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.ts b/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.ts index 5d13697c..7de4e151 100644 --- a/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.ts +++ b/src/app/shared/components/services/boltz/swap-in-info-graphics/info-graphics.component.ts @@ -8,30 +8,32 @@ import { CommonService } from '../../../../services/common.service'; selector: 'rtl-boltz-swapin-info-graphics', templateUrl: './info-graphics.component.html', styleUrls: ['./info-graphics.component.scss'], - animations: [sliderAnimation] + animations: [sliderAnimation] }) export class SwapInInfoGraphicsComponent implements OnInit { + @Input() animationDirection = 'forward'; @Input() stepNumber = 1; - @Output() stepNumberChange = new EventEmitter(); + @Output() readonly stepNumberChange = new EventEmitter(); public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; constructor(private commonService: CommonService) {} ngOnInit() { - this.screenSize = this.commonService.getScreenSize(); + this.screenSize = this.commonService.getScreenSize(); } onSwipe(event: any) { - if(event.direction === 2 && this.stepNumber < 5) { + if (event.direction === 2 && this.stepNumber < 5) { this.stepNumber++; this.animationDirection = 'forward'; this.stepNumberChange.emit(this.stepNumber); - } else if(event.direction === 4 && this.stepNumber > 1) { + } else if (event.direction === 4 && this.stepNumber > 1) { this.stepNumber--; this.animationDirection = 'backward'; this.stepNumberChange.emit(this.stepNumber); } } + } diff --git a/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.spec.ts b/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.spec.ts index 85414749..401bbe98 100644 --- a/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.spec.ts +++ b/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { BoltzService } from '../../../../../shared/services/boltz.service'; import { SwapModalComponent } from './swap-modal.component'; +import { SharedModule } from '../../../../shared.module'; +import { mockBoltzService, mockDataService, mockLoggerService, mockMatDialogRef } from '../../../../test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../services/data.service'; describe('SwapModalComponent', () => { let component: SwapModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapModalComponent ] - }) - .compileComponents(); + declarations: [SwapModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: BoltzService, useClass: mockBoltzService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {}, serviceInfo: { fees: { percentage: 2, miner: { normal: 2, reverse: 2 } }, limits: { minimal: 10000, maximal: 50000000 } }, direction: 'SWAP_IN' } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('SwapModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.ts b/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.ts index 77d55ee4..12caa748 100644 --- a/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.ts +++ b/src/app/shared/components/services/boltz/swap-modal/swap-modal.component.ts @@ -5,7 +5,7 @@ import { DecimalPipe } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { Store } from '@ngrx/store'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; @@ -16,7 +16,6 @@ import { SwapAlert } from '../../../../models/alertData'; import { BoltzService } from '../../../../services/boltz.service'; import { LoggerService } from '../../../../services/logger.service'; import { CommonService } from '../../../../services/common.service'; -import { Channel } from '../../../../models/lndModels'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; @@ -27,13 +26,14 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; animations: [opacityAnimation] }) export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faInfoCircle = faInfoCircle; - public serviceInfo: ServiceInfo = {fees: {'percentage': null, 'miner': {'normal': null, 'reverse': null}}, 'limits': {'minimal': 10000, 'maximal': 50000000 }}; + public serviceInfo: ServiceInfo = { fees: { percentage: null, miner: { normal: null, reverse: null } }, limits: { minimal: 10000, maximal: 50000000 } }; public swapTypeEnum = SwapTypeEnum; public direction = SwapTypeEnum.SWAP_OUT; public swapDirectionCaption = 'Swap out'; - public swapStatus: CreateSwapResponse | CreateReverseSwapResponse | { error: any }= null; + public swapStatus: CreateSwapResponse | CreateReverseSwapResponse | { error: any } = null; public inputFormLabel = 'Amount to swap out'; public addressFormLabel = 'Withdrawal Address'; public flgShowInfo = false; @@ -44,7 +44,7 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { public flgEditable = true; inputFormGroup: FormGroup; addressFormGroup: FormGroup; - statusFormGroup: FormGroup; + statusFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: SwapAlert, private store: Store, private boltzService: BoltzService, private formBuilder: FormBuilder, private decimalPipe: DecimalPipe, private logger: LoggerService, private router: Router, private commonService: CommonService) { } @@ -54,12 +54,13 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { this.serviceInfo = this.data.serviceInfo; this.direction = this.data.direction; this.swapDirectionCaption = this.direction === SwapTypeEnum.SWAP_OUT ? 'Swap Out' : 'Swap in'; - this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption; + this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption; this.inputFormGroup = this.formBuilder.group({ - amount: [this.serviceInfo.limits.minimal, [Validators.required, Validators.min(this.serviceInfo.limits.minimal), Validators.max(this.serviceInfo.limits.maximal)]]}); + amount: [this.serviceInfo.limits.minimal, [Validators.required, Validators.min(this.serviceInfo.limits.minimal), Validators.max(this.serviceInfo.limits.maximal)]] + }); this.addressFormGroup = this.formBuilder.group({ addressType: ['local', [Validators.required]], - address: [{value: '', disabled: true}] + address: [{ value: '', disabled: true }] }); this.statusFormGroup = this.formBuilder.group({}); this.onFormValueChanges(); @@ -67,14 +68,14 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { ngAfterViewInit() { if (this.direction === SwapTypeEnum.SWAP_OUT) { - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.setErrors({ Invalid: true }); } } onFormValueChanges() { if (this.direction === SwapTypeEnum.SWAP_OUT) { - this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[2])).subscribe(changedValues => { - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[2])).subscribe((changedValues) => { + this.addressFormGroup.setErrors({ Invalid: true }); }); } } @@ -90,37 +91,47 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { this.addressFormGroup.controls.address.disable(); this.addressFormGroup.controls.address.setValue(''); } - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.setErrors({ Invalid: true }); } - onSwap():boolean|void { - if(!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < +this.serviceInfo.limits.minimal || this.inputFormGroup.controls.amount.value > +this.serviceInfo.limits.maximal || (this.direction === SwapTypeEnum.SWAP_OUT && this.addressFormGroup.controls.addressType.value === 'external' && (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) { return true; } + onSwap(): boolean | void { + if (!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < +this.serviceInfo.limits.minimal || this.inputFormGroup.controls.amount.value > +this.serviceInfo.limits.maximal || + (this.direction === SwapTypeEnum.SWAP_OUT && this.addressFormGroup.controls.addressType.value === 'external' && + (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) { + return true; + } this.flgEditable = false; this.stepper.selected.stepControl.setErrors(null); this.stepper.next(); if (this.direction === SwapTypeEnum.SWAP_IN) { - this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe(takeUntil(this.unSubs[3])) - .subscribe((swapStatus: CreateSwapResponse) => { - this.swapStatus = swapStatus; - this.boltzService.listSwaps(); - this.flgEditable = true; - }, (err) => { - this.swapStatus = { error: (err.error && err.error.error) ? err.error.error : err.error ? err.error : err }; - this.flgEditable = true; - this.logger.error(err); - }); + this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe(takeUntil(this.unSubs[3])). + subscribe({ + next: (swapStatus: CreateSwapResponse) => { + this.swapStatus = swapStatus; + this.boltzService.listSwaps(); + this.flgEditable = true; + }, + error: (err) => { + this.swapStatus = { error: err }; + this.flgEditable = true; + this.logger.error(err); + } + }); } else { - let destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : ''; - this.boltzService.swapOut(this.inputFormGroup.controls.amount.value, destAddress).pipe(takeUntil(this.unSubs[4])) - .subscribe((swapStatus: CreateReverseSwapResponse) => { - this.swapStatus = swapStatus; - this.boltzService.listSwaps(); - this.flgEditable = true; - }, (err) => { - this.swapStatus = { error: (err.error && err.error.error) ? err.error.error : err.error ? err.error : err }; - this.flgEditable = true; - this.logger.error(err); - }); + const destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : ''; + this.boltzService.swapOut(this.inputFormGroup.controls.amount.value, destAddress).pipe(takeUntil(this.unSubs[4])). + subscribe({ + next: (swapStatus: CreateReverseSwapResponse) => { + this.swapStatus = swapStatus; + this.boltzService.listSwaps(); + this.flgEditable = true; + }, + error: (err) => { + this.swapStatus = { error: err }; + this.flgEditable = true; + this.logger.error(err); + } + }); } } @@ -130,7 +141,7 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption; this.addressFormLabel = 'Withdrawal Address'; break; - + case 1: if (this.inputFormGroup.controls.amount.value) { if (this.direction === SwapTypeEnum.SWAP_IN) { @@ -146,10 +157,12 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { default: this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption; - this.addressFormLabel = 'Withdrawal Address'; + this.addressFormLabel = 'Withdrawal Address'; break; } - if (event.selectedIndex < event.previouslySelectedIndex) { event.selectedStep.stepControl.setErrors({'Invalid': true}); } + if (event.selectedIndex < event.previouslySelectedIndex) { + event.selectedStep.stepControl.setErrors({ Invalid: true }); + } } onClose() { @@ -177,14 +190,14 @@ export class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy { onRestart() { this.stepper.reset(); this.flgEditable = true; - this.inputFormGroup.reset({amount: this.serviceInfo.limits.minimal}); + this.inputFormGroup.reset({ amount: this.serviceInfo.limits.minimal }); this.statusFormGroup.reset(); - this.addressFormGroup.reset({addressType: 'local', address: ''}); + this.addressFormGroup.reset({ addressType: 'local', address: '' }); this.addressFormGroup.controls.address.disable(); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.spec.ts b/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.spec.ts index 93f4cb9d..9bdcf0b8 100644 --- a/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.spec.ts +++ b/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.spec.ts @@ -1,4 +1,10 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { CommonService } from '../../../../../shared/services/common.service'; +import { DataService } from '../../../../services/data.service'; +import { mockDataService, mockLoggerService } from '../../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared.module'; import { SwapOutInfoGraphicsComponent } from './info-graphics.component'; @@ -6,11 +12,19 @@ describe('SwapOutInfoGraphicsComponent', () => { let component: SwapOutInfoGraphicsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapOutInfoGraphicsComponent ] - }) - .compileComponents(); + declarations: [SwapOutInfoGraphicsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('SwapOutInfoGraphicsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.ts b/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.ts index aeca60fa..d8fc90d4 100644 --- a/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.ts +++ b/src/app/shared/components/services/boltz/swap-out-info-graphics/info-graphics.component.ts @@ -8,12 +8,13 @@ import { CommonService } from '../../../../services/common.service'; selector: 'rtl-boltz-swapout-info-graphics', templateUrl: './info-graphics.component.html', styleUrls: ['./info-graphics.component.scss'], - animations: [sliderAnimation] + animations: [sliderAnimation] }) export class SwapOutInfoGraphicsComponent implements OnInit { + @Input() animationDirection = 'forward'; @Input() stepNumber = 1; - @Output() stepNumberChange = new EventEmitter(); + @Output() readonly stepNumberChange = new EventEmitter(); public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; @@ -24,14 +25,15 @@ export class SwapOutInfoGraphicsComponent implements OnInit { } onSwipe(event: any) { - if(event.direction === 2 && this.stepNumber < 5) { + if (event.direction === 2 && this.stepNumber < 5) { this.stepNumber++; this.animationDirection = 'forward'; this.stepNumberChange.emit(this.stepNumber); - } else if(event.direction === 4 && this.stepNumber > 1) { + } else if (event.direction === 4 && this.stepNumber > 1) { this.stepNumber--; this.animationDirection = 'backward'; this.stepNumberChange.emit(this.stepNumber); } } + } diff --git a/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.spec.ts b/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.spec.ts index 14b7624a..fc69dad2 100644 --- a/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.spec.ts +++ b/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SharedModule } from '../../../../shared.module'; import { SwapServiceInfoComponent } from './swap-service-info.component'; @@ -6,11 +8,15 @@ describe('SwapServiceInfoComponent', () => { let component: SwapServiceInfoComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapServiceInfoComponent ] - }) - .compileComponents(); + declarations: [SwapServiceInfoComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +28,8 @@ describe('SwapServiceInfoComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.ts b/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.ts index 182d9148..17d0112b 100644 --- a/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.ts +++ b/src/app/shared/components/services/boltz/swap-service-info/swap-service-info.component.ts @@ -8,6 +8,7 @@ import { ServiceInfo } from '../../../../models/boltzModels'; styleUrls: ['./swap-service-info.component.scss'] }) export class SwapServiceInfoComponent { + @Input() serviceInfo: ServiceInfo = {}; @Input() direction = SwapTypeEnum.SWAP_OUT; public swapTypeEnum = SwapTypeEnum; diff --git a/src/app/shared/components/services/boltz/swap-status/swap-status.component.html b/src/app/shared/components/services/boltz/swap-status/swap-status.component.html index 4786eb01..dcc53a0c 100644 --- a/src/app/shared/components/services/boltz/swap-status/swap-status.component.html +++ b/src/app/shared/components/services/boltz/swap-status/swap-status.component.html @@ -1,7 +1,7 @@ - +
{{'Error: ' + ((swapStatus.error && swapStatus.error.message) ? swapStatus.error.message : 'Unknown')}} + class="foreground-secondary-text">{{swapStatus?.error ? swapStatus?.error : 'Unknown Error.'}}
diff --git a/src/app/shared/components/services/boltz/swap-status/swap-status.component.spec.ts b/src/app/shared/components/services/boltz/swap-status/swap-status.component.spec.ts index ca7b3e69..35ad4e60 100644 --- a/src/app/shared/components/services/boltz/swap-status/swap-status.component.spec.ts +++ b/src/app/shared/components/services/boltz/swap-status/swap-status.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../../shared.module'; import { SwapStatusComponent } from './swap-status.component'; @@ -6,11 +7,12 @@ describe('SwapStatusComponent', () => { let component: SwapStatusComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapStatusComponent ] - }) - .compileComponents(); + declarations: [SwapStatusComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('SwapStatusComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swap-status/swap-status.component.ts b/src/app/shared/components/services/boltz/swap-status/swap-status.component.ts index 9b62721b..25a1b1ab 100644 --- a/src/app/shared/components/services/boltz/swap-status/swap-status.component.ts +++ b/src/app/shared/components/services/boltz/swap-status/swap-status.component.ts @@ -8,6 +8,7 @@ import { SwapTypeEnum } from '../../../../services/consts-enums-functions'; styleUrls: ['./swap-status.component.scss'] }) export class SwapStatusComponent { + @Input() swapStatus: any = null; @Input() direction = SwapTypeEnum.SWAP_OUT; public swapTypeEnum = SwapTypeEnum; diff --git a/src/app/shared/components/services/boltz/swaps/swaps.component.spec.ts b/src/app/shared/components/services/boltz/swaps/swaps.component.spec.ts index 688eefb1..9343d83e 100644 --- a/src/app/shared/components/services/boltz/swaps/swaps.component.spec.ts +++ b/src/app/shared/components/services/boltz/swaps/swaps.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { BoltzService } from '../../../../../shared/services/boltz.service'; import { BoltzSwapsComponent } from './swaps.component'; +import { mockBoltzService, mockDataService, mockLoggerService } from '../../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../services/data.service'; describe('BoltzSwapsComponent', () => { let component: BoltzSwapsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ BoltzSwapsComponent ] - }) - .compileComponents(); + declarations: [BoltzSwapsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: BoltzService, useClass: mockBoltzService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('BoltzSwapsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/boltz/swaps/swaps.component.ts b/src/app/shared/components/services/boltz/swaps/swaps.component.ts index 2ecedac1..646476d1 100644 --- a/src/app/shared/components/services/boltz/swaps/swaps.component.ts +++ b/src/app/shared/components/services/boltz/swaps/swaps.component.ts @@ -22,15 +22,16 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./swaps.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Swaps') } - ] + ] }) export class BoltzSwapsComponent implements AfterViewInit, OnChanges, OnDestroy { + @Input() selectedSwapType: SwapTypeEnum = SwapTypeEnum.SWAP_OUT; @Input() swapsData: Swap[] | ReverseSwap[] = []; @Input() flgLoading: Array = [true]; @Input() emptyTableMessage = 'No swaps available.'; - @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; public swapStateEnum = SwapStateEnum; public faHistory = faHistory; public swapCaption = 'Swap Out'; @@ -63,27 +64,27 @@ export class BoltzSwapsComponent implements AfterViewInit, OnChanges, OnDestroy } setTableColumns() { - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? - ['status', 'id', 'expectedAmount', 'actions'] : ['status', 'id', 'onchainAmount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + ['status', 'id', 'expectedAmount', 'actions'] : ['status', 'id', 'onchainAmount', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? - ['status', 'id', 'expectedAmount', 'actions'] : ['status', 'id', 'onchainAmount', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + ['status', 'id', 'expectedAmount', 'actions'] : ['status', 'id', 'onchainAmount', 'actions']; + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? - ['status', 'id', 'expectedAmount', 'timeoutBlockHeight', 'actions'] : - ['status', 'id', 'onchainAmount', 'timeoutBlockHeight', 'actions']; + ['status', 'id', 'expectedAmount', 'timeoutBlockHeight', 'actions'] : + ['status', 'id', 'onchainAmount', 'timeoutBlockHeight', 'actions']; } else { this.flgSticky = true; this.displayedColumns = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? - ['status', 'id', 'lockupAddress', 'expectedAmount', 'timeoutBlockHeight', 'actions'] : - ['status', 'id', 'claimAddress', 'onchainAmount', 'timeoutBlockHeight', 'actions']; + ['status', 'id', 'lockupAddress', 'expectedAmount', 'timeoutBlockHeight', 'actions'] : + ['status', 'id', 'claimAddress', 'onchainAmount', 'timeoutBlockHeight', 'actions']; } } - + applyFilter(selFilter: any) { if (this.listSwaps) { this.listSwaps.filter = selFilter.value.trim().toLowerCase(); @@ -91,49 +92,53 @@ export class BoltzSwapsComponent implements AfterViewInit, OnChanges, OnDestroy } onSwapClick(selSwap: Swap | ReverseSwap, event: any) { - this.boltzService.swapInfo(selSwap.id).pipe(takeUntil(this.unSubs[1])) - .subscribe((fetchedSwap: any) => { - fetchedSwap = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? fetchedSwap.swap : fetchedSwap.reverseSwap; - const reorderedSwap = [ - [{key: 'status', value: SwapStateEnum[fetchedSwap.status], title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'id', value: fetchedSwap.id, title: 'ID', width: 50, type: DataTypeEnum.STRING}], - [{key: 'amount', value: fetchedSwap.onchainAmount ? fetchedSwap.onchainAmount : fetchedSwap.expectedAmount ? fetchedSwap.expectedAmount : 0, title: fetchedSwap.onchainAmount ? 'Onchain Amount (Sats)' : fetchedSwap.expectedAmount ? 'Expected Amount (Sats)' : 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}, - {key: 'timeoutBlockHeight', value: fetchedSwap.timeoutBlockHeight, title: 'Timeout Block Height', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'address', value: fetchedSwap.claimAddress ? fetchedSwap.claimAddress : fetchedSwap.lockupAddress ? fetchedSwap.lockupAddress : '', title: fetchedSwap.claimAddress ? 'Claim Address' : fetchedSwap.lockupAddress ? 'Lockup Address' : 'Address', width: 100, type: DataTypeEnum.STRING}], - [{key: 'invoice', value: fetchedSwap.invoice, title: 'Invoice', width: 100, type: DataTypeEnum.STRING}], - [{key: 'privateKey', value: fetchedSwap.privateKey, title: 'Private Key', width: 100, type: DataTypeEnum.STRING}], - [{key: 'preimage', value: fetchedSwap.preimage, title: 'Preimage', width: 100, type: DataTypeEnum.STRING}], - [{key: 'redeemScript', value: fetchedSwap.redeemScript, title: 'Redeem Script', width: 100, type: DataTypeEnum.STRING}], - [{key: 'lockupTransactionId', value: fetchedSwap.lockupTransactionId, title: 'Lockup Transaction ID', width: 50, type: DataTypeEnum.STRING}, - {key: 'transactionId', value: fetchedSwap.claimTransactionId ? fetchedSwap.claimTransactionId : fetchedSwap.refundTransactionId ? fetchedSwap.refundTransactionId : '', title: fetchedSwap.claimTransactionId ? 'Claim Transaction ID' : fetchedSwap.refundTransactionId ? 'Refund Transaction ID' : 'Transaction ID', width: 50, type: DataTypeEnum.STRING}] - ]; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: this.swapCaption + ' Status', - message: reorderedSwap, - openedBy: 'SWAP' - }})); - }); + this.boltzService.swapInfo(selSwap.id).pipe(takeUntil(this.unSubs[1])). + subscribe((fetchedSwap: any) => { + fetchedSwap = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? fetchedSwap.swap : fetchedSwap.reverseSwap; + const reorderedSwap = [ + [{ key: 'status', value: SwapStateEnum[fetchedSwap.status], title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'id', value: fetchedSwap.id, title: 'ID', width: 50, type: DataTypeEnum.STRING }], + [{ key: 'amount', value: fetchedSwap.onchainAmount ? fetchedSwap.onchainAmount : fetchedSwap.expectedAmount ? fetchedSwap.expectedAmount : 0, title: fetchedSwap.onchainAmount ? 'Onchain Amount (Sats)' : fetchedSwap.expectedAmount ? 'Expected Amount (Sats)' : 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }, + { key: 'timeoutBlockHeight', value: fetchedSwap.timeoutBlockHeight, title: 'Timeout Block Height', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'address', value: fetchedSwap.claimAddress ? fetchedSwap.claimAddress : fetchedSwap.lockupAddress ? fetchedSwap.lockupAddress : '', title: fetchedSwap.claimAddress ? 'Claim Address' : fetchedSwap.lockupAddress ? 'Lockup Address' : 'Address', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'invoice', value: fetchedSwap.invoice, title: 'Invoice', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'privateKey', value: fetchedSwap.privateKey, title: 'Private Key', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'preimage', value: fetchedSwap.preimage, title: 'Preimage', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'redeemScript', value: fetchedSwap.redeemScript, title: 'Redeem Script', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'lockupTransactionId', value: fetchedSwap.lockupTransactionId, title: 'Lockup Transaction ID', width: 50, type: DataTypeEnum.STRING }, + { key: 'transactionId', value: fetchedSwap.claimTransactionId ? fetchedSwap.claimTransactionId : fetchedSwap.refundTransactionId ? fetchedSwap.refundTransactionId : '', title: fetchedSwap.claimTransactionId ? 'Claim Transaction ID' : fetchedSwap.refundTransactionId ? 'Refund Transaction ID' : 'Transaction ID', width: 50, type: DataTypeEnum.STRING }] + ]; + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: this.swapCaption + ' Status', + message: reorderedSwap, + openedBy: 'SWAP' + } + })); + }); } loadSwapsTable(swaps) { this.listSwaps = swaps ? new MatTableDataSource([...swaps]) : new MatTableDataSource([]); this.listSwaps.sort = this.sort; - this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.listSwaps.filterPredicate = (swap: Swap, fltr: string) => JSON.stringify(swap).toLowerCase().includes(fltr); - if (this.paginator) { this.paginator.firstPage(); } + if (this.paginator) { + this.paginator.firstPage(); + } this.listSwaps.paginator = this.paginator; this.logger.info(this.listSwaps); } onDownloadCSV() { - if(this.listSwaps.data && this.listSwaps.data.length > 0) { + if (this.listSwaps.data && this.listSwaps.data.length > 0) { this.commonService.downloadFile(this.listSwaps.data, (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'Swap in' : 'Swap out'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.spec.ts b/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.spec.ts index aceec52e..c02687c5 100644 --- a/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.spec.ts +++ b/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.spec.ts @@ -1,4 +1,10 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { CommonService } from '../../../../services/common.service'; +import { DataService } from '../../../../services/data.service'; +import { mockDataService, mockLoggerService } from '../../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared.module'; import { LoopInInfoGraphicsComponent } from './info-graphics.component'; @@ -6,11 +12,19 @@ describe('LoopInInfoGraphicsComponent', () => { let component: LoopInInfoGraphicsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopInInfoGraphicsComponent ] - }) - .compileComponents(); + declarations: [LoopInInfoGraphicsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('LoopInInfoGraphicsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.ts b/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.ts index 8f6f6317..abf65dab 100644 --- a/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.ts +++ b/src/app/shared/components/services/loop/loop-in-info-graphics/info-graphics.component.ts @@ -8,30 +8,32 @@ import { CommonService } from '../../../../services/common.service'; selector: 'rtl-loop-in-info-graphics', templateUrl: './info-graphics.component.html', styleUrls: ['./info-graphics.component.scss'], - animations: [sliderAnimation] + animations: [sliderAnimation] }) export class LoopInInfoGraphicsComponent implements OnInit { + @Input() animationDirection = 'forward'; @Input() stepNumber = 1; - @Output() stepNumberChange = new EventEmitter(); + @Output() readonly stepNumberChange = new EventEmitter(); public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; constructor(private commonService: CommonService) {} ngOnInit() { - this.screenSize = this.commonService.getScreenSize(); + this.screenSize = this.commonService.getScreenSize(); } onSwipe(event: any) { - if(event.direction === 2 && this.stepNumber < 5) { + if (event.direction === 2 && this.stepNumber < 5) { this.stepNumber++; this.animationDirection = 'forward'; this.stepNumberChange.emit(this.stepNumber); - } else if(event.direction === 4 && this.stepNumber > 1) { + } else if (event.direction === 4 && this.stepNumber > 1) { this.stepNumber--; this.animationDirection = 'backward'; this.stepNumberChange.emit(this.stepNumber); } } + } diff --git a/src/app/shared/components/services/loop/loop-modal/loop-modal.component.spec.ts b/src/app/shared/components/services/loop/loop-modal/loop-modal.component.spec.ts index e1902cdf..89817d88 100644 --- a/src/app/shared/components/services/loop/loop-modal/loop-modal.component.spec.ts +++ b/src/app/shared/components/services/loop/loop-modal/loop-modal.component.spec.ts @@ -1,16 +1,47 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { LoopService } from '../../../../../shared/services/loop.service'; import { LoopModalComponent } from './loop-modal.component'; +import { SharedModule } from '../../../../shared.module'; +import { mockDataService, mockLoggerService, mockLoopService, mockMatDialogRef } from '../../../../test-helpers/mock-services'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../services/data.service'; describe('LoopModalComponent', () => { let component: LoopModalComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopModalComponent ] - }) - .compileComponents(); + declarations: [LoopModalComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: LoopService, useClass: mockLoopService }, + { provide: MatDialogRef, useClass: mockMatDialogRef }, + { provide: MAT_DIALOG_DATA, useValue: { channel: {}, minQuote: {}, maxQuote: {}, direction: '' } } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +53,8 @@ describe('LoopModalComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop-modal/loop-modal.component.ts b/src/app/shared/components/services/loop/loop-modal/loop-modal.component.ts index d7b2442c..8d9e84fb 100644 --- a/src/app/shared/components/services/loop/loop-modal/loop-modal.component.ts +++ b/src/app/shared/components/services/loop/loop-modal/loop-modal.component.ts @@ -5,7 +5,7 @@ import { DecimalPipe } from '@angular/common'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { MatVerticalStepper } from '@angular/material/stepper'; +import { MatStepper } from '@angular/material/stepper'; import { Store } from '@ngrx/store'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; @@ -18,8 +18,6 @@ import { LoggerService } from '../../../../services/logger.service'; import { CommonService } from '../../../../services/common.service'; import { Channel } from '../../../../models/lndModels'; -import * as LNDActions from '../../../../../lnd/store/lnd.actions'; -import * as RTLActions from '../../../../../store/rtl.actions'; import * as fromRTLReducer from '../../../../../store/rtl.reducers'; @Component({ @@ -29,7 +27,8 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; animations: [opacityAnimation] }) export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { - @ViewChild('stepper', { static: false }) stepper: MatVerticalStepper; + + @ViewChild('stepper', { static: false }) stepper: MatStepper; public faInfoCircle = faInfoCircle; public quote: LoopQuote; public channel: Channel; @@ -53,7 +52,7 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { inputFormGroup: FormGroup; quoteFormGroup: FormGroup; addressFormGroup: FormGroup; - statusFormGroup: FormGroup; + statusFormGroup: FormGroup; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()]; constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: LoopAlert, private store: Store, private loopService: LoopService, private formBuilder: FormBuilder, private decimalPipe: DecimalPipe, private logger: LoggerService, private router: Router, private commonService: CommonService) { } @@ -65,7 +64,7 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { this.maxQuote = this.data.maxQuote ? this.data.maxQuote : {}; this.direction = this.data.direction; this.loopDirectionCaption = this.direction === LoopTypeEnum.LOOP_IN ? 'Loop in' : 'Loop out'; - this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption; + this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption; this.inputFormGroup = this.formBuilder.group({ amount: [this.minQuote.amount, [Validators.required, Validators.min(this.minQuote.amount), Validators.max(this.maxQuote.amount)]], sweepConfTarget: [6, [Validators.required, Validators.min(1)]], @@ -75,31 +74,31 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { this.quoteFormGroup = this.formBuilder.group({}); this.addressFormGroup = this.formBuilder.group({ addressType: ['local', [Validators.required]], - address: [{value: '', disabled: true}] + address: [{ value: '', disabled: true }] }); this.statusFormGroup = this.formBuilder.group({}); this.onFormValueChanges(); - this.store.select('lnd') - .pipe(takeUntil(this.unSubs[6])) - .subscribe((rtlStore) => { - this.localBalanceToCompare = (this.channel) ? +this.channel.local_balance : +rtlStore.totalLocalBalance; - }); + this.store.select('lnd'). + pipe(takeUntil(this.unSubs[6])). + subscribe((rtlStore) => { + this.localBalanceToCompare = (this.channel) ? +this.channel.local_balance : +rtlStore.totalLocalBalance; + }); } ngAfterViewInit() { - this.inputFormGroup.setErrors({'Invalid': true}); + this.inputFormGroup.setErrors({ Invalid: true }); if (this.direction === LoopTypeEnum.LOOP_OUT) { - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.setErrors({ Invalid: true }); } } onFormValueChanges() { - this.inputFormGroup.valueChanges.pipe(takeUntil(this.unSubs[4])).subscribe(changedValues => { - this.inputFormGroup.setErrors({'Invalid': true}); + this.inputFormGroup.valueChanges.pipe(takeUntil(this.unSubs[4])).subscribe((changedValues) => { + this.inputFormGroup.setErrors({ Invalid: true }); }); if (this.direction === LoopTypeEnum.LOOP_OUT) { - this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[5])).subscribe(changedValues => { - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[5])).subscribe((changedValues) => { + this.addressFormGroup.setErrors({ Invalid: true }); }); } } @@ -115,7 +114,7 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { this.addressFormGroup.controls.address.disable(); this.addressFormGroup.controls.address.setValue(''); } - this.addressFormGroup.setErrors({'Invalid': true}); + this.addressFormGroup.setErrors({ Invalid: true }); } onValidateAmount() { @@ -124,59 +123,68 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { } } - onLoop():boolean|void { - if(!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < this.minQuote.amount || this.inputFormGroup.controls.amount.value > this.maxQuote.amount || !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2 || (this.direction === LoopTypeEnum.LOOP_OUT && (!this.inputFormGroup.controls.routingFeePercent.value || this.inputFormGroup.controls.routingFeePercent.value < 0)) || (this.direction === LoopTypeEnum.LOOP_OUT && this.addressFormGroup.controls.addressType.value === 'external' && (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) { return true; } + onLoop(): boolean | void { + if (!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < this.minQuote.amount || this.inputFormGroup.controls.amount.value > (this.maxQuote.amount) || + !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2 || + (this.direction === LoopTypeEnum.LOOP_OUT && (!this.inputFormGroup.controls.routingFeePercent.value || this.inputFormGroup.controls.routingFeePercent.value < 0)) || + (this.direction === LoopTypeEnum.LOOP_OUT && this.addressFormGroup.controls.addressType.value === 'external' && + (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) { + return true; + } this.flgEditable = false; this.stepper.selected.stepControl.setErrors(null); this.stepper.next(); if (this.direction === LoopTypeEnum.LOOP_IN) { - this.loopService.loopIn(this.inputFormGroup.controls.amount.value, +this.quote.swap_fee_sat, +this.quote.htlc_publish_fee_sat, '', true).pipe(takeUntil(this.unSubs[0])) - .subscribe((loopStatus: any) => { - this.loopStatus = loopStatus; - this.loopService.listSwaps(); - this.flgEditable = true; - }, (err) => { - this.loopStatus = { error: err.error.error ? err.error.error : err.error ? err.error : err }; - this.flgEditable = true; - this.logger.error(err); - }); + this.loopService.loopIn(this.inputFormGroup.controls.amount.value, +this.quote.swap_fee_sat, +this.quote.htlc_publish_fee_sat, '', true).pipe(takeUntil(this.unSubs[0])). + subscribe({ + next: (loopStatus: any) => { + this.loopStatus = loopStatus; + this.loopService.listSwaps(); + this.flgEditable = true; + }, error: (err) => { + this.loopStatus = { error: err }; + this.flgEditable = true; + this.logger.error(err); + } + }); } else { - let swapRoutingFee = Math.ceil(this.inputFormGroup.controls.amount.value * (this.inputFormGroup.controls.routingFeePercent.value / 100)); - let destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : ''; - let swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000); - this.loopService.loopOut(this.inputFormGroup.controls.amount.value, (this.channel && this.channel.chan_id ? this.channel.chan_id : ''), this.inputFormGroup.controls.sweepConfTarget.value, swapRoutingFee, +this.quote.htlc_sweep_fee_sat, this.prepayRoutingFee, +this.quote.prepay_amt_sat, +this.quote.swap_fee_sat, swapPublicationDeadline, destAddress).pipe(takeUntil(this.unSubs[1])) - .subscribe((loopStatus: any) => { - this.loopStatus = loopStatus; - this.loopService.listSwaps(); - this.flgEditable = true; - }, (err) => { - this.loopStatus = { error: err.error.error ? err.error.error : err.error ? err.error : err }; - this.flgEditable = true; - this.logger.error(err); - }); + const swapRoutingFee = Math.ceil(this.inputFormGroup.controls.amount.value * (this.inputFormGroup.controls.routingFeePercent.value / 100)); + const destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : ''; + const swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000); + this.loopService.loopOut(this.inputFormGroup.controls.amount.value, (this.channel && this.channel.chan_id ? this.channel.chan_id : ''), this.inputFormGroup.controls.sweepConfTarget.value, swapRoutingFee, +this.quote.htlc_sweep_fee_sat, this.prepayRoutingFee, +this.quote.prepay_amt_sat, +this.quote.swap_fee_sat, swapPublicationDeadline, destAddress).pipe(takeUntil(this.unSubs[1])). + subscribe({ + next: (loopStatus: any) => { + this.loopStatus = loopStatus; + this.loopService.listSwaps(); + this.flgEditable = true; + }, error: (err) => { + this.loopStatus = { error: err }; + this.flgEditable = true; + this.logger.error(err); + } + }); } } - onEstimateQuote():boolean|void { - if(!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < this.minQuote.amount || this.inputFormGroup.controls.amount.value > this.maxQuote.amount || !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2) { return true; } - this.store.dispatch(new RTLActions.OpenSpinner('Getting Quotes...')); - let swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000); - if(this.direction === LoopTypeEnum.LOOP_IN) { - this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.quote = response; - this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2; - }); + onEstimateQuote(): boolean | void { + if (!this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.amount.value < this.minQuote.amount || this.inputFormGroup.controls.amount.value > (this.maxQuote.amount) || !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2) { + return true; + } + const swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000); + if (this.direction === LoopTypeEnum.LOOP_IN) { + this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline). + pipe(takeUntil(this.unSubs[2])). + subscribe((response) => { + this.quote = response; + this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2; + }); } else { - this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.quote = response; - this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2; - }); + this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline). + pipe(takeUntil(this.unSubs[3])). + subscribe((response) => { + this.quote = response; + this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2; + }); } this.stepper.selected.stepControl.setErrors(null); this.stepper.next(); @@ -189,13 +197,17 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { this.quoteFormLabel = 'Confirm Quote'; this.addressFormLabel = 'Withdrawal Address'; break; - + case 1: if (this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.sweepConfTarget.value) { if (this.direction === LoopTypeEnum.LOOP_IN) { this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6); } else { - this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Percentage: ' + (this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : '2') + ' | Fast: ' + (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled'); + this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Percentage: ' + + (this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : '2') + ' | Fast: ' + + (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled'); } } else { this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption; @@ -209,7 +221,10 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { if (this.direction === LoopTypeEnum.LOOP_IN) { this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6); } else { - this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Fast: ' + (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled'); + this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' + + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' + + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Fast: ' + + (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled'); } } else { this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption; @@ -229,12 +244,12 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { default: this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption; this.quoteFormLabel = 'Confirm Quote'; - this.addressFormLabel = 'Withdrawal Address'; + this.addressFormLabel = 'Withdrawal Address'; break; } - if ((this.direction === LoopTypeEnum.LOOP_OUT && event.selectedIndex !== 1 && event.selectedIndex < event.previouslySelectedIndex) - || (this.direction === LoopTypeEnum.LOOP_IN && event.selectedIndex < event.previouslySelectedIndex)) { - event.selectedStep.stepControl.setErrors({'Invalid': true}); + if ((this.direction === LoopTypeEnum.LOOP_OUT && event.selectedIndex !== 1 && event.selectedIndex < event.previouslySelectedIndex) || + (this.direction === LoopTypeEnum.LOOP_IN && event.selectedIndex < event.previouslySelectedIndex)) { + event.selectedStep.stepControl.setErrors({ Invalid: true }); } } @@ -271,12 +286,12 @@ export class LoopModalComponent implements OnInit, AfterViewInit, OnDestroy { this.inputFormGroup.reset({ amount: this.minQuote.amount, sweepConfTarget: 6, routingFeePercent: 2, fast: false }); this.quoteFormGroup.reset(); this.statusFormGroup.reset(); - this.addressFormGroup.reset({addressType: 'local', address: ''}); + this.addressFormGroup.reset({ addressType: 'local', address: '' }); this.addressFormGroup.controls.address.disable(); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.spec.ts b/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.spec.ts index b9c14d06..a248337d 100644 --- a/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.spec.ts +++ b/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.spec.ts @@ -1,4 +1,10 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { CommonService } from '../../../../../shared/services/common.service'; +import { DataService } from '../../../../services/data.service'; +import { mockDataService, mockLoggerService } from '../../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared.module'; import { LoopOutInfoGraphicsComponent } from './info-graphics.component'; @@ -6,11 +12,19 @@ describe('LoopOutInfoGraphicsComponent', () => { let component: LoopOutInfoGraphicsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopOutInfoGraphicsComponent ] - }) - .compileComponents(); + declarations: [LoopOutInfoGraphicsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('LoopOutInfoGraphicsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.ts b/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.ts index ad4dda1f..ddf04608 100644 --- a/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.ts +++ b/src/app/shared/components/services/loop/loop-out-info-graphics/info-graphics.component.ts @@ -8,12 +8,13 @@ import { CommonService } from '../../../../services/common.service'; selector: 'rtl-loop-out-info-graphics', templateUrl: './info-graphics.component.html', styleUrls: ['./info-graphics.component.scss'], - animations: [sliderAnimation] + animations: [sliderAnimation] }) export class LoopOutInfoGraphicsComponent implements OnInit { + @Input() animationDirection = 'forward'; @Input() stepNumber = 1; - @Output() stepNumberChange = new EventEmitter(); + @Output() readonly stepNumberChange = new EventEmitter(); public screenSize = ''; public screenSizeEnum = ScreenSizeEnum; @@ -24,14 +25,15 @@ export class LoopOutInfoGraphicsComponent implements OnInit { } onSwipe(event: any) { - if(event.direction === 2 && this.stepNumber < 5) { + if (event.direction === 2 && this.stepNumber < 5) { this.stepNumber++; this.animationDirection = 'forward'; this.stepNumberChange.emit(this.stepNumber); - } else if(event.direction === 4 && this.stepNumber > 1) { + } else if (event.direction === 4 && this.stepNumber > 1) { this.stepNumber--; this.animationDirection = 'backward'; this.stepNumberChange.emit(this.stepNumber); } } + } diff --git a/src/app/shared/components/services/loop/loop-quote/loop-quote.component.spec.ts b/src/app/shared/components/services/loop/loop-quote/loop-quote.component.spec.ts index f7fe1522..5f74a481 100644 --- a/src/app/shared/components/services/loop/loop-quote/loop-quote.component.spec.ts +++ b/src/app/shared/components/services/loop/loop-quote/loop-quote.component.spec.ts @@ -1,4 +1,6 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SharedModule } from '../../../../shared.module'; import { LoopQuoteComponent } from './loop-quote.component'; @@ -6,11 +8,15 @@ describe('LoopQuoteComponent', () => { let component: LoopQuoteComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopQuoteComponent ] - }) - .compileComponents(); + declarations: [LoopQuoteComponent], + imports: [ + BrowserAnimationsModule, + SharedModule + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +28,8 @@ describe('LoopQuoteComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop-quote/loop-quote.component.ts b/src/app/shared/components/services/loop/loop-quote/loop-quote.component.ts index d3d8aadd..67c0b926 100644 --- a/src/app/shared/components/services/loop/loop-quote/loop-quote.component.ts +++ b/src/app/shared/components/services/loop/loop-quote/loop-quote.component.ts @@ -7,16 +7,19 @@ import { LoopQuote } from '../../../../models/loopModels'; styleUrls: ['./loop-quote.component.scss'] }) export class LoopQuoteComponent implements OnInit { + @Input() quote: LoopQuote = {}; @Input() termCaption = ''; @Input() showPanel = true; @Input() panelExpanded = false; public flgShowPanel = false; - constructor() {} + constructor() { } ngOnInit() { - setTimeout(() => { this.flgShowPanel = true; }, 1200); + setTimeout(() => { + this.flgShowPanel = true; + }, 1200); } } diff --git a/src/app/shared/components/services/loop/loop-status/loop-status.component.html b/src/app/shared/components/services/loop/loop-status/loop-status.component.html index 70252307..98bb91cc 100644 --- a/src/app/shared/components/services/loop/loop-status/loop-status.component.html +++ b/src/app/shared/components/services/loop/loop-status/loop-status.component.html @@ -1,7 +1,7 @@
{{'Error: ' + (loopStatus?.error?.error?.error?.error ? loopStatus.error.error.error.error : loopStatus?.error?.error?.error ? loopStatus.error.error.error : loopStatus?.error?.error ? loopStatus.error.error : loopStatus?.error ? loopStatus.error : 'Unknown')}} + class="foreground-secondary-text">{{loopStatus?.error ? loopStatus?.error : 'Unknown Error.'}}
diff --git a/src/app/shared/components/services/loop/loop-status/loop-status.component.spec.ts b/src/app/shared/components/services/loop/loop-status/loop-status.component.spec.ts index d778e638..0c9ab9ae 100644 --- a/src/app/shared/components/services/loop/loop-status/loop-status.component.spec.ts +++ b/src/app/shared/components/services/loop/loop-status/loop-status.component.spec.ts @@ -1,4 +1,5 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { SharedModule } from '../../../../shared.module'; import { LoopStatusComponent } from './loop-status.component'; @@ -6,11 +7,12 @@ describe('LoopStatusComponent', () => { let component: LoopStatusComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopStatusComponent ] - }) - .compileComponents(); + declarations: [LoopStatusComponent], + imports: [SharedModule] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +24,8 @@ describe('LoopStatusComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop-status/loop-status.component.ts b/src/app/shared/components/services/loop/loop-status/loop-status.component.ts index 6ed1c8df..3d3d8de9 100644 --- a/src/app/shared/components/services/loop/loop-status/loop-status.component.ts +++ b/src/app/shared/components/services/loop/loop-status/loop-status.component.ts @@ -7,6 +7,7 @@ import { LoopStatus } from '../../../../models/loopModels'; styleUrls: ['./loop-status.component.scss'] }) export class LoopStatusComponent { + @Input() loopStatus: LoopStatus; constructor() {} diff --git a/src/app/shared/components/services/loop/loop.component.spec.ts b/src/app/shared/components/services/loop/loop.component.spec.ts index b81143ec..cd7d8408 100644 --- a/src/app/shared/components/services/loop/loop.component.spec.ts +++ b/src/app/shared/components/services/loop/loop.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoopService } from '../../../../shared/services/loop.service'; import { LoopComponent } from './loop.component'; +import { SharedModule } from '../../../shared.module'; +import { mockDataService, mockLoggerService, mockLoopService } from '../../../test-helpers/mock-services'; +import { CommonService } from '../../../services/common.service'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../services/data.service'; describe('LoopComponent', () => { let component: LoopComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ LoopComponent ] - }) - .compileComponents(); + declarations: [LoopComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: DataService, useClass: mockDataService }, + { provide: LoopService, useClass: mockLoopService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('LoopComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/loop.component.ts b/src/app/shared/components/services/loop/loop.component.ts index a810ba4e..05778f55 100644 --- a/src/app/shared/components/services/loop/loop.component.ts +++ b/src/app/shared/components/services/loop/loop.component.ts @@ -5,7 +5,7 @@ import { takeUntil, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faInfinity } from '@fortawesome/free-solid-svg-icons'; -import { LoopTypeEnum } from '../../../services/consts-enums-functions'; +import { LoopTypeEnum, UI_MESSAGES } from '../../../services/consts-enums-functions'; import { LoopModalComponent } from './loop-modal/loop-modal.component'; import { LoopQuote, LoopSwapStatus } from '../../../models/loopModels'; import { LoopService } from '../../../services/loop.service'; @@ -19,6 +19,7 @@ import * as RTLActions from '../../../../store/rtl.actions'; styleUrls: ['./loop.component.scss'] }) export class LoopComponent implements OnInit, OnDestroy { + public faInfinity = faInfinity; private targetConf = 2; public inAmount = 250000; @@ -28,76 +29,78 @@ export class LoopComponent implements OnInit, OnDestroy { public storedSwaps: LoopSwapStatus[] = []; public filteredSwaps: LoopSwapStatus[] = []; public emptyTableMessage = 'No swap data available.'; - public flgLoading: Array = [true]; - public links = [{link: 'loopout', name: 'Loop Out'}, {link: 'loopin', name: 'Loop In'}]; + public flgLoading: Array = [true]; + public links = [{ link: 'loopout', name: 'Loop Out' }, { link: 'loopin', name: 'Loop In' }]; public activeTab = this.links[0]; private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()]; - constructor(private router: Router, private loopService: LoopService, private store: Store) {} + constructor(private router: Router, private loopService: LoopService, private store: Store) { } ngOnInit() { this.loopService.listSwaps(); - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeTab = linkFound ? linkFound : this.links[0]; - this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeTab = linkFound ? linkFound : this.links[0]; - this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT - }); - this.loopService.swapsChanged - .pipe(takeUntil(this.unSubs[1])) - .subscribe((swaps: LoopSwapStatus[]) => { - this.flgLoading[0] = false; - this.storedSwaps = swaps; - this.filteredSwaps = this.storedSwaps.filter(swap => swap.type === this.selectedSwapType); - }, (err) => { - this.flgLoading[0] = 'error'; - this.emptyTableMessage = err.message ? err.message : 'No loop ' + ((this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'in' : 'out') + ' available.'; - }); - + this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT; + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeTab = linkFound ? linkFound : this.links[0]; + this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT; + }); + this.loopService.swapsChanged. + pipe(takeUntil(this.unSubs[1])). + subscribe({ + next: (swaps: LoopSwapStatus[]) => { + this.flgLoading[0] = false; + this.storedSwaps = swaps; + this.filteredSwaps = this.storedSwaps.filter((swap) => swap.type === this.selectedSwapType); + }, error: (err) => { + this.flgLoading[0] = 'error'; + this.emptyTableMessage = err.message ? err.message : 'No loop ' + ((this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'in' : 'out') + ' available.'; + } + }); } onSelectedIndexChange(activeTab: any) { this.selectedSwapType = (activeTab.link === 'loopin') ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT; - this.filteredSwaps = this.storedSwaps.filter(swap => swap.type === this.selectedSwapType); + this.filteredSwaps = this.storedSwaps.filter((swap) => swap.type === this.selectedSwapType); } onLoop(direction: LoopTypeEnum) { - this.store.dispatch(new RTLActions.OpenSpinner('Getting Terms and Quotes...')); - if(direction === LoopTypeEnum.LOOP_IN) { - this.loopService.getLoopInTermsAndQuotes(this.targetConf) - .pipe(takeUntil(this.unSubs[2])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({data: { - minQuote: response[0], - maxQuote: response[1], - direction: direction, - component: LoopModalComponent - }})); - }); + if (direction === LoopTypeEnum.LOOP_IN) { + this.loopService.getLoopInTermsAndQuotes(this.targetConf). + pipe(takeUntil(this.unSubs[2])). + subscribe((response) => { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + minQuote: response[0], + maxQuote: response[1], + direction: direction, + component: LoopModalComponent + } + })); + }); } else { - this.loopService.getLoopOutTermsAndQuotes(this.targetConf) - .pipe(takeUntil(this.unSubs[3])) - .subscribe(response => { - this.store.dispatch(new RTLActions.CloseSpinner()); - this.store.dispatch(new RTLActions.OpenAlert({data: { - minQuote: response[0], - maxQuote: response[1], - direction: direction, - component: LoopModalComponent - }})); - }); + this.loopService.getLoopOutTermsAndQuotes(this.targetConf). + pipe(takeUntil(this.unSubs[3])). + subscribe((response) => { + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + minQuote: response[0], + maxQuote: response[1], + direction: direction, + component: LoopModalComponent + } + })); + }); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } - + } diff --git a/src/app/shared/components/services/loop/swaps/swaps.component.spec.ts b/src/app/shared/components/services/loop/swaps/swaps.component.spec.ts index 60f5211f..7e537436 100644 --- a/src/app/shared/components/services/loop/swaps/swaps.component.spec.ts +++ b/src/app/shared/components/services/loop/swaps/swaps.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../../store/rtl.reducers'; +import { CommonService } from '../../../../../shared/services/common.service'; +import { LoggerService } from '../../../../../shared/services/logger.service'; +import { LoopService } from '../../../../../shared/services/loop.service'; import { SwapsComponent } from './swaps.component'; +import { mockDataService, mockLoggerService, mockLoopService } from '../../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { DataService } from '../../../../services/data.service'; describe('SwapsComponent', () => { let component: SwapsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SwapsComponent ] - }) - .compileComponents(); + declarations: [SwapsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + CommonService, + { provide: LoggerService, useClass: mockLoggerService }, + { provide: DataService, useClass: mockDataService }, + { provide: LoopService, useClass: mockLoopService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('SwapsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/loop/swaps/swaps.component.ts b/src/app/shared/components/services/loop/swaps/swaps.component.ts index e3f025d9..6f33930d 100644 --- a/src/app/shared/components/services/loop/swaps/swaps.component.ts +++ b/src/app/shared/components/services/loop/swaps/swaps.component.ts @@ -23,15 +23,16 @@ import * as fromRTLReducer from '../../../../../store/rtl.reducers'; styleUrls: ['./swaps.component.scss'], providers: [ { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Swaps') } - ] + ] }) export class SwapsComponent implements AfterViewInit, OnChanges, OnDestroy { + @Input() selectedSwapType: LoopTypeEnum = LoopTypeEnum.LOOP_OUT; @Input() swapsData: LoopSwapStatus[] = []; @Input() flgLoading: Array = [true]; @Input() emptyTableMessage = 'No swaps available.'; - @ViewChild(MatSort, { static: false }) sort: MatSort|undefined; - @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined; + @ViewChild(MatSort, { static: false }) sort: MatSort | undefined; + @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined; public LoopStateEnum = LoopStateEnum; public faHistory = faHistory; public swapCaption = 'Loop Out'; @@ -44,15 +45,15 @@ export class SwapsComponent implements AfterViewInit, OnChanges, OnDestroy { public screenSizeEnum = ScreenSizeEnum; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions$: Actions, private loopService: LoopService) { + constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private loopService: LoopService) { this.screenSize = this.commonService.getScreenSize(); - if(this.screenSize === ScreenSizeEnum.XS) { + if (this.screenSize === ScreenSizeEnum.XS) { this.flgSticky = false; this.displayedColumns = ['state', 'amt', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.SM) { + } else if (this.screenSize === ScreenSizeEnum.SM) { this.flgSticky = false; this.displayedColumns = ['state', 'amt', 'actions']; - } else if(this.screenSize === ScreenSizeEnum.MD) { + } else if (this.screenSize === ScreenSizeEnum.MD) { this.flgSticky = false; this.displayedColumns = ['state', 'initiation_time', 'amt', 'actions']; } else { @@ -71,51 +72,53 @@ export class SwapsComponent implements AfterViewInit, OnChanges, OnDestroy { this.swapCaption = (this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'Loop In' : 'Loop Out'; this.loadSwapsTable(this.swapsData); } - + applyFilter(selFilter: any) { this.listSwaps.filter = selFilter.value.trim().toLowerCase(); } onSwapClick(selSwap: LoopSwapStatus, event: any) { - this.loopService.getSwap(selSwap.id_bytes.replace(/\//g, '_').replace(/\+/g, '-')).pipe(takeUntil(this.unSubs[2])) - .subscribe((fetchedSwap: LoopSwapStatus) => { - const reorderedSwap = [ - [{key: 'state', value: LoopStateEnum[fetchedSwap.state], title: 'Status', width: 50, type: DataTypeEnum.STRING}, - {key: 'amt', value: fetchedSwap.amt, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER}], - [{key: 'initiation_time', value: fetchedSwap.initiation_time/1000000000, title: 'Initiation Time', width: 50, type: DataTypeEnum.DATE_TIME}, - {key: 'last_update_time', value: fetchedSwap.last_update_time/1000000000, title: 'Last Update Time', width: 50, type: DataTypeEnum.DATE_TIME}], - [{key: 'cost_server', value: fetchedSwap.cost_server, title: 'Server Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'cost_offchain', value: fetchedSwap.cost_offchain, title: 'Offchain Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER}, - {key: 'cost_onchain', value: fetchedSwap.cost_onchain, title: 'Onchain Cost (Sats)', width: 34, type: DataTypeEnum.NUMBER}], - [{key: 'id_bytes', value: fetchedSwap.id_bytes, title: 'ID', width: 100, type: DataTypeEnum.STRING}], - [{key: 'htlc_address', value: fetchedSwap.htlc_address, title: 'HTLC Address', width: 100, type: DataTypeEnum.STRING}] - ]; - this.store.dispatch(new RTLActions.OpenAlert({ data: { - type: AlertTypeEnum.INFORMATION, - alertTitle: this.swapCaption + ' Status', - message: reorderedSwap, - openedBy: 'SWAP' - }})); - }); + this.loopService.getSwap(selSwap.id_bytes.replace(/\//g, '_').replace(/\+/g, '-')).pipe(takeUntil(this.unSubs[2])). + subscribe((fetchedSwap: LoopSwapStatus) => { + const reorderedSwap = [ + [{ key: 'state', value: LoopStateEnum[fetchedSwap.state], title: 'Status', width: 50, type: DataTypeEnum.STRING }, + { key: 'amt', value: fetchedSwap.amt, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }], + [{ key: 'initiation_time', value: fetchedSwap.initiation_time / 1000000000, title: 'Initiation Time', width: 50, type: DataTypeEnum.DATE_TIME }, + { key: 'last_update_time', value: fetchedSwap.last_update_time / 1000000000, title: 'Last Update Time', width: 50, type: DataTypeEnum.DATE_TIME }], + [{ key: 'cost_server', value: fetchedSwap.cost_server, title: 'Server Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'cost_offchain', value: fetchedSwap.cost_offchain, title: 'Offchain Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER }, + { key: 'cost_onchain', value: fetchedSwap.cost_onchain, title: 'Onchain Cost (Sats)', width: 34, type: DataTypeEnum.NUMBER }], + [{ key: 'id_bytes', value: fetchedSwap.id_bytes, title: 'ID', width: 100, type: DataTypeEnum.STRING }], + [{ key: 'htlc_address', value: fetchedSwap.htlc_address, title: 'HTLC Address', width: 100, type: DataTypeEnum.STRING }] + ]; + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + type: AlertTypeEnum.INFORMATION, + alertTitle: this.swapCaption + ' Status', + message: reorderedSwap, + openedBy: 'SWAP' + } + })); + }); } loadSwapsTable(swaps) { this.listSwaps = new MatTableDataSource([...swaps]); this.listSwaps.sort = this.sort; - this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => (data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null; + this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null); this.listSwaps.filterPredicate = (swap: LoopSwapStatus, fltr: string) => JSON.stringify(swap).toLowerCase().includes(fltr); this.listSwaps.paginator = this.paginator; this.logger.info(this.listSwaps); } onDownloadCSV() { - if(this.listSwaps.data && this.listSwaps.data.length > 0) { + if (this.listSwaps.data && this.listSwaps.data.length > 0) { this.commonService.downloadFile(this.listSwaps.data, (this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'Loop in' : 'Loop out'); } } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); diff --git a/src/app/shared/components/services/services.component.spec.ts b/src/app/shared/components/services/services.component.spec.ts index 2e76b9f9..e4b73e3f 100644 --- a/src/app/shared/components/services/services.component.spec.ts +++ b/src/app/shared/components/services/services.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { SharedModule } from '../../shared.module'; import { ServicesComponent } from './services.component'; describe('ServicesComponent', () => { let component: ServicesComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ServicesComponent ] - }) - .compileComponents(); + declarations: [ServicesComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('ServicesComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/services/services.component.ts b/src/app/shared/components/services/services.component.ts index f957db82..f10faf9d 100644 --- a/src/app/shared/components/services/services.component.ts +++ b/src/app/shared/components/services/services.component.ts @@ -13,60 +13,62 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; templateUrl: './services.component.html', styleUrls: ['./services.component.scss'] }) -export class ServicesComponent implements OnInit, OnDestroy{ +export class ServicesComponent implements OnInit, OnDestroy { + public faLayerGroup = faLayerGroup; public showLnConfig = false; public showBitcoind = false; public selNode: ConfigSettingsNode; public appConfig: RTLConfiguration; public lnImplementationStr = ''; - public links = [{link: 'layout', name: 'Layout'}, {link: 'auth', name: 'Authentication'}, {link: 'lnconfig', name: this.lnImplementationStr}, {link: 'bconfig', name: 'BitcoinD Config'}]; + public links = [{ link: 'layout', name: 'Layout' }, { link: 'auth', name: 'Authentication' }, { link: 'lnconfig', name: this.lnImplementationStr }, { link: 'bconfig', name: 'BitcoinD Config' }]; public activeLink = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private router: Router) {} + constructor(private store: Store, private router: Router) { } ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('root').pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.showLnConfig = false; - this.showBitcoind = false; - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - switch (this.selNode.lnImplementation.toUpperCase()) { - case 'CLT': - this.lnImplementationStr = 'C-Lightning Config'; - break; - - case 'ECL': - this.lnImplementationStr = 'Eclair Config'; - break; + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('root').pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.showLnConfig = false; + this.showBitcoind = false; + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + switch (this.selNode.lnImplementation.toUpperCase()) { + case 'CLT': + this.lnImplementationStr = 'C-Lightning Config'; + break; - default: - this.lnImplementationStr = 'LND Config'; - break; - } - if (this.selNode.authentication && this.selNode.authentication.configPath && this.selNode.authentication.configPath.trim() !== '') { - this.links[2].name = this.lnImplementationStr; - this.showLnConfig = true; - } - if (this.selNode.settings && this.selNode.settings.bitcoindConfigPath && this.selNode.settings.bitcoindConfigPath.trim() !== '') { - this.showBitcoind = true; - } - }); + case 'ECL': + this.lnImplementationStr = 'Eclair Config'; + break; + + default: + this.lnImplementationStr = 'LND Config'; + break; + } + if (this.selNode.authentication && this.selNode.authentication.configPath && this.selNode.authentication.configPath.trim() !== '') { + this.links[2].name = this.lnImplementationStr; + this.showLnConfig = true; + } + if (this.selNode.settings && this.selNode.settings.bitcoindConfigPath && this.selNode.settings.bitcoindConfigPath.trim() !== '') { + this.showBitcoind = true; + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/settings/app-settings/app-settings.component.html b/src/app/shared/components/settings/app-settings/app-settings.component.html index 26cc6bf4..bc3a6d03 100644 --- a/src/app/shared/components/settings/app-settings/app-settings.component.html +++ b/src/app/shared/components/settings/app-settings/app-settings.component.html @@ -1,5 +1,5 @@
-
+
Default Node @@ -7,7 +7,7 @@
- The setting will apply after RTL server restart. + The setting will apply after RTL server restarts.
diff --git a/src/app/shared/components/settings/app-settings/app-settings.component.spec.ts b/src/app/shared/components/settings/app-settings/app-settings.component.spec.ts index e79a94c2..3ae142e2 100644 --- a/src/app/shared/components/settings/app-settings/app-settings.component.spec.ts +++ b/src/app/shared/components/settings/app-settings/app-settings.component.spec.ts @@ -1,16 +1,35 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; import { AppSettingsComponent } from './app-settings.component'; +import { mockLoggerService } from '../../../test-helpers/mock-services'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('AppSettingsComponent', () => { let component: AppSettingsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ AppSettingsComponent ] - }) - .compileComponents(); + declarations: [AppSettingsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ], + providers: [ + { provide: LoggerService, useClass: mockLoggerService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +41,8 @@ describe('AppSettingsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/settings/app-settings/app-settings.component.ts b/src/app/shared/components/settings/app-settings/app-settings.component.ts index ac0935b0..6ab5a512 100644 --- a/src/app/shared/components/settings/app-settings/app-settings.component.ts +++ b/src/app/shared/components/settings/app-settings/app-settings.component.ts @@ -4,6 +4,7 @@ import { takeUntil } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { faWindowRestore, faPlus, faInfoCircle } from '@fortawesome/free-solid-svg-icons'; +import { UI_MESSAGES } from '../../../services/consts-enums-functions'; import { ConfigSettingsNode, RTLConfiguration } from '../../../models/RTLconfig'; import { LoggerService } from '../../../services/logger.service'; @@ -16,6 +17,7 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./app-settings.component.scss'] }) export class AppSettingsComponent implements OnInit, OnDestroy { + public faInfoCircle = faInfoCircle; public faWindowRestore = faWindowRestore; public faPlus = faPlus; @@ -24,35 +26,34 @@ export class AppSettingsComponent implements OnInit, OnDestroy { public previousDefaultNode = 0; unSubs: Array> = [new Subject(), new Subject()]; - constructor(private logger: LoggerService, private store: Store) {} + constructor(private logger: LoggerService, private store: Store) { } ngOnInit() { - this.store.select('root') - .pipe(takeUntil(this.unSubs[0])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.previousDefaultNode = this.appConfig.defaultNodeIndex; - this.selNode = rtlStore.selNode; - this.logger.info(rtlStore); - }); + this.store.select('root'). + pipe(takeUntil(this.unSubs[0])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.previousDefaultNode = this.appConfig.defaultNodeIndex; + this.selNode = rtlStore.selNode; + this.logger.info(rtlStore); + }); } onAddNewNode() { - console.warn('ADD NEW NODE'); + this.logger.warn('ADD NEW NODE'); } - onUpdateSettings():boolean|void { - let defaultNodeIndex = (this.appConfig.defaultNodeIndex) ? this.appConfig.defaultNodeIndex : +this.appConfig.nodes[0].index; - this.store.dispatch(new RTLActions.OpenSpinner('Updating Defaule Node Settings...')); - this.store.dispatch(new RTLActions.SaveSettings({defaultNodeIndex: defaultNodeIndex})); + onUpdateSettings(): boolean | void { + const defaultNodeIndex = (this.appConfig.defaultNodeIndex) ? this.appConfig.defaultNodeIndex : +this.appConfig.nodes[0].index; + this.store.dispatch(new RTLActions.SaveSettings({ uiMessage: UI_MESSAGES.UPDATE_DEFAULT_NODE_SETTING, defaultNodeIndex: defaultNodeIndex })); } onResetSettings() { this.appConfig.defaultNodeIndex = this.previousDefaultNode; - } + } ngOnDestroy() { - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/settings/auth-settings/auth-settings.component.spec.ts b/src/app/shared/components/settings/auth-settings/auth-settings.component.spec.ts index dccdba75..91124f0c 100644 --- a/src/app/shared/components/settings/auth-settings/auth-settings.component.spec.ts +++ b/src/app/shared/components/settings/auth-settings/auth-settings.component.spec.ts @@ -1,16 +1,42 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; + +import { RTLReducer } from '../../../../store/rtl.reducers'; +import { LoggerService } from '../../../../shared/services/logger.service'; +import { SessionService } from '../../../../shared/services/session.service'; import { AuthSettingsComponent } from './auth-settings.component'; +import { SharedModule } from '../../../shared.module'; +import { mockCLEffects, mockECLEffects, mockLNDEffects, mockRTLEffects, mockLoggerService } from '../../../test-helpers/mock-services'; +import { EffectsModule } from '@ngrx/effects'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('AuthSettingsComponent', () => { let component: AuthSettingsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ AuthSettingsComponent ] - }) - .compileComponents(); + declarations: [AuthSettingsComponent], + imports: [ + BrowserAnimationsModule, + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }), + EffectsModule.forRoot([mockRTLEffects, mockLNDEffects, mockCLEffects, mockECLEffects]) + ], + providers: [ + SessionService, + { provide: LoggerService, useClass: mockLoggerService } + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +48,8 @@ describe('AuthSettingsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/settings/auth-settings/auth-settings.component.ts b/src/app/shared/components/settings/auth-settings/auth-settings.component.ts index 53e02f49..758d9830 100644 --- a/src/app/shared/components/settings/auth-settings/auth-settings.component.ts +++ b/src/app/shared/components/settings/auth-settings/auth-settings.component.ts @@ -9,7 +9,7 @@ import * as sha256 from 'sha256'; import { TwoFactorAuthComponent } from '../../data-modal/two-factor-auth/two-factor-auth.component'; import { RTLConfiguration, ConfigSettingsNode } from '../../../models/RTLconfig'; -import { PASSWORD_BLACKLIST } from '../../../services/consts-enums-functions'; +import { PASSWORD_BLACKLIST, UI_MESSAGES } from '../../../services/consts-enums-functions'; import { SessionService } from '../../../services/session.service'; import { LoggerService } from '../../../services/logger.service'; @@ -22,6 +22,7 @@ import * as RTLActions from '../../../../store/rtl.actions'; styleUrls: ['./auth-settings.component.scss'] }) export class AuthSettingsComponent implements OnInit, OnDestroy { + @ViewChild('authForm', { static: true }) form: any; public faInfoCircle = faInfoCircle; public faUserLock = faUserLock; @@ -37,58 +38,61 @@ export class AuthSettingsComponent implements OnInit, OnDestroy { public selNode: ConfigSettingsNode; unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private logger: LoggerService, private actions$: Actions, private router: Router, private sessionService: SessionService) {} + constructor(private store: Store, private logger: LoggerService, private actions: Actions, private router: Router, private sessionService: SessionService) { } ngOnInit() { this.initializeNodeData = this.sessionService.getItem('defaultPassword') === 'true'; - this.store.select('root') - .pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - this.logger.info(rtlStore); - }); - this.actions$.pipe(takeUntil(this.unSubs[2]), - filter((action) => action.type === RTLActions.RESET_PASSWORD_RES)) - .subscribe((action: (RTLActions.ResetPasswordRes)) => { - if (PASSWORD_BLACKLIST.includes(this.currPassword.toLowerCase())) { // To redirect after initial password reset is done - switch (this.selNode.lnImplementation.toUpperCase()) { - case 'CLT': - this.router.navigate(['/cl/home']); - break; - - case 'ECL': - this.router.navigate(['/ecl/home']); - break; + this.store.select('root'). + pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + this.logger.info(rtlStore); + }); + this.actions.pipe( + takeUntil(this.unSubs[2]), + filter((action) => action.type === RTLActions.RESET_PASSWORD_RES)). + subscribe((action: (RTLActions.ResetPasswordRes)) => { + if (PASSWORD_BLACKLIST.includes(this.currPassword.toLowerCase())) { // To redirect after initial password reset is done + switch (this.selNode.lnImplementation.toUpperCase()) { + case 'CLT': + this.router.navigate(['/cl/home']); + break; - default: - this.router.navigate(['/lnd/home']); - break; + case 'ECL': + this.router.navigate(['/ecl/home']); + break; + + default: + this.router.navigate(['/lnd/home']); + break; + } } - } - this.form.resetForm(); - }); + this.form.resetForm(); + }); } - onChangePassword():boolean|void { - if(!this.currPassword || !this.newPassword || !this.confirmPassword || this.currPassword === this.newPassword || this.newPassword !== this.confirmPassword || PASSWORD_BLACKLIST.includes(this.newPassword.toLowerCase())) { return true; } - this.store.dispatch(new RTLActions.ResetPassword({currPassword: sha256(this.currPassword), newPassword: sha256(this.newPassword)})); + onChangePassword(): boolean | void { + if (!this.currPassword || !this.newPassword || !this.confirmPassword || this.currPassword === this.newPassword || this.newPassword !== this.confirmPassword || PASSWORD_BLACKLIST.includes(this.newPassword.toLowerCase())) { + return true; + } + this.store.dispatch(new RTLActions.ResetPassword({ currPassword: sha256(this.currPassword), newPassword: sha256(this.newPassword) })); } matchOldAndNewPasswords(): boolean { let invalid = false; - if(this.form.controls.newpassword) { + if (this.form.controls.newpassword) { if (!this.newPassword) { - this.form.controls.newpassword.setErrors({invalid: true}); + this.form.controls.newpassword.setErrors({ invalid: true }); this.errorMsg = 'New password is required.'; invalid = true; } else if (this.currPassword !== '' && this.newPassword !== '' && this.currPassword === this.newPassword) { - this.form.controls.newpassword.setErrors({invalid: true}); + this.form.controls.newpassword.setErrors({ invalid: true }); this.errorMsg = 'Old and New password cannot be same.'; invalid = true; } else if (PASSWORD_BLACKLIST.includes(this.newPassword.toLowerCase())) { - this.form.controls.newpassword.setErrors({invalid: true}); - this.errorMsg = PASSWORD_BLACKLIST.reduce((totalList, currentPass, i) => (i < (PASSWORD_BLACKLIST.length - 1)) ? (totalList + currentPass + '" / "') : (totalList + currentPass + '".'), 'Password cannot be "'); + this.form.controls.newpassword.setErrors({ invalid: true }); + this.errorMsg = PASSWORD_BLACKLIST.reduce((totalList, currentPass, i) => ((i < (PASSWORD_BLACKLIST.length - 1)) ? (totalList + currentPass + '" / "') : (totalList + currentPass + '".')), 'Password cannot be "'); invalid = true; } else { this.form.controls.newpassword.setErrors(null); @@ -103,11 +107,11 @@ export class AuthSettingsComponent implements OnInit, OnDestroy { let invalid = false; if (this.form.controls.confirmpassword) { if (!this.confirmPassword) { - this.form.controls.confirmpassword.setErrors({invalid: true}); + this.form.controls.confirmpassword.setErrors({ invalid: true }); this.errorConfirmMsg = 'Confirm password is required.'; invalid = true; } else if (this.newPassword !== '' && this.confirmPassword !== '' && this.newPassword !== this.confirmPassword) { - this.form.controls.confirmpassword.setErrors({invalid: true}); + this.form.controls.confirmpassword.setErrors({ invalid: true }); this.errorConfirmMsg = 'New and confirm passwords do not match.'; invalid = true; } else { @@ -120,21 +124,23 @@ export class AuthSettingsComponent implements OnInit, OnDestroy { } on2FAuth() { - this.store.dispatch(new RTLActions.OpenAlert({ data: { - appConfig: this.appConfig, - component: TwoFactorAuthComponent - }})); + this.store.dispatch(new RTLActions.OpenAlert({ + data: { + appConfig: this.appConfig, + component: TwoFactorAuthComponent + } + })); } onResetPassword() { this.form.resetForm(); - } + } ngOnDestroy() { - if(this.initializeNodeData) { - this.store.dispatch(new RTLActions.SetSelelectedNode({lnNode: this.selNode, isInitialSetup: true})); + if (this.initializeNodeData) { + this.store.dispatch(new RTLActions.SetSelelectedNode({ uiMessage: UI_MESSAGES.NO_SPINNER, lnNode: this.selNode, isInitialSetup: true })); } - this.unSubs.forEach(unsub => { + this.unSubs.forEach((unsub) => { unsub.next(); unsub.complete(); }); diff --git a/src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.ts b/src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.ts index fcf787e7..b03d011e 100644 --- a/src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.ts +++ b/src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.ts @@ -15,41 +15,42 @@ import * as fromRTLReducer from '../../../../store/rtl.reducers'; styleUrls: ['./bitcoin-config.component.scss'] }) export class BitcoinConfigComponent implements OnInit, OnDestroy { + public selectedNodeType = ''; public configData = ''; public fileFormat = 'INI'; public faCog = faCog; private unSubs: Array> = [new Subject(), new Subject()]; - constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) {} + constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) { } ngOnInit() { this.selectedNodeType = (this.router.url.includes('bconfig')) ? 'bitcoind' : 'ln'; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - this.selectedNodeType = (value.urlAfterRedirects.includes('bconfig')) ? 'bitcoind' : 'ln'; - }); - this.store.dispatch(new RTLActions.OpenSpinner('Opening Config File...')); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + this.selectedNodeType = (value.urlAfterRedirects.includes('bconfig')) ? 'bitcoind' : 'ln'; + }); this.store.dispatch(new RTLActions.FetchConfig(this.selectedNodeType)); - this.rtlEffects.showLnConfig - .pipe(takeUntil(this.unSubs[1])) - .subscribe((config: any) => { - const configFile = config.data; - this.fileFormat = config.format; - if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) { - this.configData = configFile.split('\n'); - } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') { - this.configData = configFile; - } else { - this.configData = ''; - } - }); + this.rtlEffects.showLnConfig. + pipe(takeUntil(this.unSubs[1])). + subscribe((config: any) => { + const configFile = config.data; + this.fileFormat = config.format; + if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) { + this.configData = configFile.split('\n'); + } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') { + this.configData = configFile; + } else { + this.configData = ''; + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/settings/settings.component.html b/src/app/shared/components/settings/settings.component.html index 79277512..2928deda 100644 --- a/src/app/shared/components/settings/settings.component.html +++ b/src/app/shared/components/settings/settings.component.html @@ -7,7 +7,7 @@
diff --git a/src/app/shared/components/settings/settings.component.spec.ts b/src/app/shared/components/settings/settings.component.spec.ts index 91588f35..b67d9a58 100644 --- a/src/app/shared/components/settings/settings.component.spec.ts +++ b/src/app/shared/components/settings/settings.component.spec.ts @@ -1,16 +1,30 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { RTLReducer } from '../../../store/rtl.reducers'; +import { SharedModule } from '../../shared.module'; import { SettingsComponent } from './settings.component'; describe('SettingsComponent', () => { let component: SettingsComponent; let fixture: ComponentFixture; - beforeEach(async(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SettingsComponent ] - }) - .compileComponents(); + declarations: [SettingsComponent], + imports: [ + SharedModule, + RouterTestingModule, + StoreModule.forRoot(RTLReducer, { + runtimeChecks: { + strictStateImmutability: false, + strictActionImmutability: false + } + }) + ] + }). + compileComponents(); })); beforeEach(() => { @@ -22,4 +36,8 @@ describe('SettingsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + afterEach(() => { + TestBed.resetTestingModule(); + }); }); diff --git a/src/app/shared/components/settings/settings.component.ts b/src/app/shared/components/settings/settings.component.ts index 00b9bd18..421f5472 100644 --- a/src/app/shared/components/settings/settings.component.ts +++ b/src/app/shared/components/settings/settings.component.ts @@ -13,40 +13,42 @@ import * as fromRTLReducer from '../../../store/rtl.reducers'; templateUrl: './settings.component.html', styleUrls: ['./settings.component.scss'] }) -export class SettingsComponent implements OnInit, OnDestroy{ +export class SettingsComponent implements OnInit, OnDestroy { + public faUserCog = faUserCog; public showBitcoind = false; public selNode: ConfigSettingsNode; public appConfig: RTLConfiguration; - public links = [{link: 'app', name: 'Application'}, {link: 'auth', name: 'Authentication'}, {link: 'bconfig', name: 'BitcoinD Config'}]; + public links = [{ link: 'app', name: 'Application' }, { link: 'auth', name: 'Authentication' }, { link: 'bconfig', name: 'BitcoinD Config' }]; public activeLink = ''; private unSubs: Array> = [new Subject(), new Subject(), new Subject()]; - constructor(private store: Store, private router: Router) {} + constructor(private store: Store, private router: Router) { } ngOnInit() { - let linkFound = this.links.find(link => this.router.url.includes(link.link)); + const linkFound = this.links.find((link) => this.router.url.includes(link.link)); this.activeLink = linkFound ? linkFound.link : this.links[0].link; - this.router.events.pipe(takeUntil(this.unSubs[0]), filter(e => e instanceof ResolveEnd)) - .subscribe((value: ResolveEnd) => { - let linkFound = this.links.find(link => value.urlAfterRedirects.includes(link.link)); - this.activeLink = linkFound ? linkFound.link : this.links[0].link; - }); - this.store.select('root').pipe(takeUntil(this.unSubs[1])) - .subscribe((rtlStore) => { - this.showBitcoind = false; - this.appConfig = rtlStore.appConfig; - this.selNode = rtlStore.selNode; - if (this.selNode.settings && this.selNode.settings.bitcoindConfigPath && this.selNode.settings.bitcoindConfigPath.trim() !== '') { - this.showBitcoind = true; - } - }); + this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)). + subscribe((value: ResolveEnd) => { + const linkFound = this.links.find((link) => value.urlAfterRedirects.includes(link.link)); + this.activeLink = linkFound ? linkFound.link : this.links[0].link; + }); + this.store.select('root').pipe(takeUntil(this.unSubs[1])). + subscribe((rtlStore) => { + this.showBitcoind = false; + this.appConfig = rtlStore.appConfig; + this.selNode = rtlStore.selNode; + if (this.selNode.settings && this.selNode.settings.bitcoindConfigPath && this.selNode.settings.bitcoindConfigPath.trim() !== '') { + this.showBitcoind = true; + } + }); } ngOnDestroy() { - this.unSubs.forEach(completeSub => { + this.unSubs.forEach((completeSub) => { completeSub.next(null); completeSub.complete(); }); } + } diff --git a/src/app/shared/components/transactions-report-table/transactions-report-table.component.html b/src/app/shared/components/transactions-report-table/transactions-report-table.component.html index 99b7a97d..17fd2b5b 100644 --- a/src/app/shared/components/transactions-report-table/transactions-report-table.component.html +++ b/src/app/shared/components/transactions-report-table/transactions-report-table.component.html @@ -44,7 +44,7 @@
-

No transactions available.

+

No transaction available.